SharePoint Server 2010
See Also

Published: May 12, 2010

Explore these links to find out more about implementing Microsoft SharePoint Server 2010.

Microsoft SharePoint Server 2010 is the business collaboration platform for the enterprise. Use SharePoint Server 2010 to connect people with colleagues and information; manage and govern enterprise content; balance user experience with policy and process; and help users find the content, information, and people they need with enterprise search.

SharePoint logo

Newly Published Content

See the following pages for new or updated content about SharePoint Server 2010:

  • Newly published content for SharePoint Server 2010

SharePoint logo

Documentation

The TechNet library contains articles that describe how to plan for, deploy, and use all the features of SharePoint Server 2010.

  • Newly published content for SharePoint Server 2010

  • Roadmap to SharePoint Server 2010 content

  • Downloadable content for SharePoint Server 2010

  • Product evaluation for SharePoint Server 2010

  • Getting started with SharePoint Server 2010

  • Planning and architecture for SharePoint Server 2010

  • Development for SharePoint Server 2010

  • Deployment for SharePoint Server 2010

  • Operations for SharePoint Server 2010

  • Security and protection for SharePoint Server 2010

  • Troubleshooting (SharePoint Server 2010)

  • Technical reference for SharePoint Server 2010

  • Video demos and training for SharePoint Server 2010

  • Scenarios and solutions (SharePoint Server 2010)

Related products:

  • Groove Server 2010

  • Project Server 2010

  • Office 2010 Resource Kit

  • Office Web Apps (Installed on SharePoint 2010 Products)

  • Search Server 2010

  • FAST Search Server 2010 for SharePoint

  • SharePoint Online Administration Guide in Office 365 Beta for enterprises

  • Duet Enterprise for Microsoft SharePoint and SAP

Legacy content:

  • Microsoft Office SharePoint Server 2007

  • Microsoft Office SharePoint Portal Server 2003

TechNet logo

TechNet TechCenter

Visit the following site to access videos, community sites, documentation, and more.

  • Microsoft SharePoint Server 2010

Learn

Getting Started

TechNet documentation includes the following articles about the new features in SharePoint Server 2010 and SharePoint Server 2010:

  • Getting Started with SharePoint Server 2010 for IT Pros

Code

Downloads & Scripts

Access the following pages for both downloadable content and Windows PowerShell scripts:

  • Downloadable content for SharePoint Server 2010

  • Script Repository: Windows PowerShell for SharePoint 2010 Products

Blogs

Blogs

Check out the latest posts from the SharePoint Products documentation teams.

  • To the SharePoint

  • Get the Point

Forums

Forums & Newsgroups

Got questions? Talk to your peers, MVPs, and the SharePoint product teams.

  • General Questions and Answers

  • SharePoint 2010 - Setup, Upgrade, Administration and Operation

Videos, Webcasts

Videos

Watch subject matter experts and TechNet writers walk through tasks and dynamically explain SharePoint-related concepts.

  • Video demos and training for SharePoint Server 2010

Stay Connected

Keep connected with the latest happenings with SharePoint Server 2010.

  • Follow us on Twitter

  • RSS feed for SharePoint Server 2010

Chat

Provide Feedback

Provide feedback about the documentation for SharePoint Server 2010 depending on the TechNet view, as follows:

  • Classic View. Use the Click to Rate and Give Feedback link at the top of the article in the TechNet Library. This delivers your feedback directly to the documentation team.

  • Lightweight View. Click the Feedback link at the bottom of the page. This delivers your feedback directly to the documentation team.

  • Scriptfree View. Click the Feedback link at the top of the article in the TechNet Library. This enables you to provide feedback about the scriptfree view to a forum.

To suggest content or request more documentation (or report an error), please contact us at ITSPDOCS@microsoft.com.

See Also

Other Resources

SharePoint Developer Center (MSDN)
SharePoint Server (Office)


Newly published content for SharePoint Server 2010

This article contains a list of new and updated content for Microsoft SharePoint Server 2010. It is updated regularly.

In this article:

August 19, 2013 | May 27, 2013 | March18, 2013 | February 4, 2013 | January 21, 2013 | October 29, 2012 | October 1, 2012 | September 10, 2012 | September 3, 2012 | August 20, 2012 | August 6, 2012 | June 11, 2012 June 4, 2012 | May 28, 2012 | May 21, 2012 | May 7, 2012 | May 1, 2012 | April 23, 2012 | April 16, 2012 | April 2, 2012 | March 26, 2012 | March 12, 2012 | March 5, 2012 | February 27, 2012 | February 13, 2012 | February 6, 2012 | January 30, 2012 | January 16, 2012 | January 9, 2012 | January 2, 2012 | December 12, 2011 | December 5, 2011 | November 28, 2011 | November 14, 2011 | October 31, 2011 | October 24, 2011 | October 17, 2011 | October 10, 2011 | September 26, 2011 | September 12, 2011 | September 5, 2011 | August 22, 2011 | August 8, 2011 | July 25, 2011 | July 11, 2011 | July 4, 2011 | June 27, 2011 │ June 13, 2011 │ June 6, 2011 │ May 30, 2011 │ May 23, 2011 │ May 9, 2011 │ May 2, 2011 │ April 25, 2011 │ April 18, 2011 │ April 11, 2011 │ April 4, 2011 │ March 28, 2011 │ March 21, 2011 │ March 14, 2011 | March 7, 2011 │ February 28, 2011 │ February 21, 2011 │ February 14, 2011 │ February 7, 2011 │ January 31, 2011 │ January 24, 2011 │ January 17, 2011 │ January 10, 2011 │ January 3, 2011 │

Published the week of August 19, 2013

Updated article

Plan browser support (SharePoint Server 2010) Updated the statement about Firefox support.

Published the week of May 27, 2013

New article

Published intranets in SharePoint Server 2010 Learn about the tasks you should perform to plan, develop, deploy, operate, and use a published intranet site based on SharePoint Server 2010.

Published the week of March 18, 2013

New article

Deploy the Yammer Web Part (SharePoint Server 2010) In Microsoft SharePoint Server 2010, you can deploy a Yammer Web Part to a SharePoint site. This Web Part adds a real-time social layer to SharePoint that drives user engagement and enhances SharePoint social capabilities.

Published the week of February 4, 2013

Updated article

Plan for crawling and federation (SharePoint Server 2010)Removed text that incorrectly stated that you must do a full crawl after you make security changes on a file share.

Published the week of January 21, 2013

Updated article

Configure authentication using a SAML security token (SharePoint Server 2010) Added "Enable token replay protection" section and procedure.

Perform post-upgrade steps for an in-place upgrade (SharePoint Server 2010) Added note about specifying a valid password for the content access account.

Published the week of October 29, 2012

Updated articles

Plan browser support (SharePoint Foundation 2010) and Plan browser support (SharePoint Server 2010) Added information about support for Windows 8 and Internet Explorer 10.

Published the week of October 1, 2012

New article

Case Study: King Abdullah University of Science and Technology and host-named site collections (SharePoint Server 2010) While none of the SharePoint 2010 design samples currently incorporate the use of host-named site collections, King Abdullah University of Science and Technology (KAUST) provides a compelling business case for their use.

Published the week of September 10, 2012

Updated article

Upgrade from a trial version of SharePoint Server 2010 Added caution note that if you want to upgrade from a Standard trial version to an Enterprise licensed version, you must first upgrade to an Enterprise trial version.

Published the week of September 3, 2012

New article

Deploy on Windows Azure virtual machines Provides an overview of Windows Azure and the benefits of using a hosted virtualization solution.

Published the week of August 20, 2012

Updated article

Content type and workflow planning (SharePoint Server 2010) Added links to newly-published white paper about changing core content types.

Published the week of August 6, 2012

New article

Implementing Persistent Cookies in SharePoint 2010 Products (white paper) Describes best practices and scenario requirements for implementing persistent cookies or session cookies within your organization when using Microsoft SharePoint 2010 Products.

Published the week of June 11, 2012

New article

Support and licensing for Windows Azure (SharePoint Server 2010) Describes required information about deploying SharePoint 2010 Products on Windows Azure.

Published the week of June 4, 2012

Updated article

Language packs (SharePoint Server 2010) Added language packs for Azeri (Latin), Bosnian (Latin), Indonesian, Irish - Ireland, Macedonian (FYROM), Malay (Malaysia), Serbian (Cyrillic), Vietnamese, and Welsh.

Published the week of May 28, 2012

Updated article

The Security Token Service is not available (SharePoint Server 2010) Added a new resolution: Install the missing assemblies into the global assembly cache manually.

Published the week of May 21, 2012

Updated article

Configure profile synchronization (SharePoint Server 2010) Added the "Disable timer jobs" section.

Plan browser support (SharePoint Server 2010) Added mobile browser support matrix.

Published the week of May 7, 2012

Updated article

Multiple servers for a three-tier farm (SharePoint Server 2010) Added a link to the test lab guide (TLG) available for SharePoint Server 2010.

Published the week of May 1, 2012

New article

Enterprise Search: The View from the Crawl Space Describes the purpose of the new column and links to the first article in the series.

Updated article

Plan browser support (SharePoint Server 2010) Added Windows XP to the list of supported operating systems for Internet Explorer.

Published the week of April 23, 2012

New article

People Search relevance is not optimized when the Active Directory has errors in the manager reporting structure (SharePoint Server 2010) Describes how to resolve the SharePoint Health Analyzer event by specifying company leaders.

Updated article

Manage thesaurus files (SharePoint Server 2010) Revised the path of thesaurus files.

Published the week of April 16, 2012

Updated articles

Add-SPProfileLeader Revised information about the start address to crawl to make the changes take effect.

Configure People Picker (SharePoint Server 2010) Updated information about restricting People Picker to search only users within a particular organizational unit (OU). Only a single site user directory path can be set at a time for a site collection.

Configuring Kerberos authentication: Step-by-step configuration (SharePoint Server 2010) Added a discussion of the advantages and disadvantages of a least-privilege model, and described the service identity of the Claims to Windows Token Service.

Identity delegation for PerformancePoint Services (SharePoint Server 2010) Corrected errors in the "step-by-step configuration" instructions, and added clarifying information about C2WTS to the "Configure and Start the Claims to Windows Token Service on PerformancePoint Services Servers" section.

Manage metadata properties for search (SharePoint Server 2010) Added links to the Crawled properties reference and the Enterprise search technical reference.

Plan variations (SharePoint Server 2010) and Variations overview (SharePoint Server 2010) Added information about how many variation labels are supported.

Published the week of April 2, 2012

New article

Case study: Blatchington Mill School (SharePoint Server 2010) Learn how the Blatchington Mill School used Microsoft SharePoint Server 2010 to give parents access to data about their children, including attendance, homework, behavior, progress, and assessments. The article describes the overall technical solution and describes the functional design that was implemented to provide the required level of reporting.

Updated articles

Databases require upgrade or not supported (SharePoint Server 2010) and Databases running in compatibility range, upgrade recommended (SharePoint Server 2010) Updated the Resolution to: Upgrade databases to SQL Server 2008 R2.

Plan browser support (SharePoint Server 2010) Updated the browser support matrix.

Published the week of March 26, 2012

New article

Configure and manage SQL Server availability groups for SharePoint Server Describes how to implement high availability by using AlwaysOn Availability Groups in SQL Server 2012.

Published the week of March 12, 2012

New article

Configure SharePoint Server 2010 as a single server with Microsoft SQL Server Provides step-by-step procedures to configure Microsoft SharePoint Server 2010 on a single server that is also running Microsoft SQL Server 2008 R2 in the Base Configuration test lab.

Test Lab Guides for SharePoint Server 2010 Provides links to the published Test Lab Guides (TLGs) for SharePoint Server 2010.

Updated articles

Implementing Claims-Based Authentication with SharePoint Server 2010 (whitepaper) and Plan for claims-based authentication or classic-mode authentication (SharePoint Server 2010) Updated to point out that Microsoft FAST Search Server 2010 for SharePoint document preview does not work with SharePoint Server 2010 claims-based Web applications.

Viewing reports and scorecards on Apple iPad devices (SharePoint Server 2010) Updated with a video that shows how to navigate a dashboard by using an Apple iPad device.

Published the week of March 5, 2012

New article

Scale test report for very large scale document repositories (SharePoint Server 2010) Describes the results of testing to establish requirements for scaling up and scaling out document archive repositories on SharePoint Server to a large storage capacity.

Published the week of February 27, 2012

Updated articles

Critical state of this rule indicates that the Word Automation Services is not running when it should be running (SharePoint Server 2010) Added more resolutions.

Kerberos configuration known issues (SharePoint Server 2010) Corrected the description of the AuthPersistNonNTLM attribute to indicate that False enables multiple authentications for the same connections.

Multilingual user interface overview (SharePoint Server 2010) Added section about the Refinement Panel Web Part.

Published the week of February 13, 2012

New article

Add Visio Services reports to a PerformancePoint dashboard Describes the two methods for adding Visio Services reports to dashboards.

Updated article

Timer job reference (SharePoint Server 2010) Added text indicating that timer job schedules may change when SharePoint Server service packs or cumulative updates are installed.

Published the week of February 6, 2012

New articles

Changing SQL Reporting Services from Native mode to Integrated mode in a BI test environment Describes how to change to Integrated mode so that you can use SQL Server Reporting Services features in SharePoint Server.

Configure Access Services for a BI test environment Describes how to deploy the Access Services service application on the SharePoint Server 2010 farm.

Configure Report Builder 3.0 for use in SharePoint BI test environment Describes how to manually enable Reporting Services content types for use with the Business Intelligence Center.

Overview of testing and deploying a dashboard by using Dashboard Designer Describes steps for testing and deploying a dashboard.

Updated articles

Plan authentication methods (SharePoint Server 2010) Clarified why you would choose to implement each of the supported authentication methods and authentication modes.

Security and protection for SharePoint Server 2010 Updated to include information about Federal Information Security Management Act (FISMA) certification.

Published the week of January 30, 2012

New article

Upgrade reference (SharePoint Server 2010) Describes how to find IDs for default templates, features, and content types in Microsoft Office SharePoint Server 2007 and Windows SharePoint Services 3.0 so that you can identify them in your environment before you upgrade.

Published the week of January 16, 2012

New article

Understanding the Logging Database (SharePoint Server 2010) Describes the Microsoft SharePoint 2010 Products logging database, how to view monitoring information, and how to export monitoring information into Microsoft Excel.

Updated articles

Update alerts by using Windows PowerShell (SharePoint Server 2010) Revised the procedure by adding a step for dot sourcing to run the script.

User Profile Replication Engine overview (SharePoint Server 2010) Added a note that the User Profile service application Social Tagging database does not support log-shipping.

Published the week of January 9, 2012

New article

Understanding the Logging Database (SharePoint Server 2010) Describes the Microsoft SharePoint 2010 Products logging database, how to view monitoring information, and how to export monitoring information into Microsoft Excel.

Updated articles

Create and configure a new Search service application (SharePoint Server 2010) and Create a Search Center site (SharePoint Server 2010) Added videos that demonstrate the procedures.

Viewing reports and scorecards on Apple iPad devices (SharePoint Server 2010) Added more details about viewing content on iPad devices.

Published the week of January 2, 2012

New articles

Assemble and publish a Balanced Scorecard by using Dashboard Designer Describes how to create and assemble a dashboard page for a Balanced Scorecard.

Create a Balanced Scorecard by using Dashboard Designer Describes how to create a Balanced Scorecard.

Create and configure a strategy map as part of a Balanced Scorecard that you create by using Dashboard Designer Describes how to create a strategy map report to use in a Balanced Scorecard.

Create a scorecard for a Balanced Scorecard by using Dashboard Designer Describes how to create a scorecard to use in a Balanced Scorecard.

Methods of listing Access Services applications Describes an easy method of listing all Access Services service applications that are available.

Plan for claims-based authentication or classic-mode authentication (SharePoint Server 2010) Provides guidance to help you choose claims-based authentication or classic-mode authentication when you create a SharePoint Server 2010 Web application.

Viewing reports and scorecards on Apple iPad devices (SharePoint Server 2010) Added information about how slicers work in Excel Services reports.

Published the week of December 12, 2011

New articles

Methods of listing Access Services applications Describes an easy method of listing all Access Services service applications that are available.

Plan for claims-based authentication or classic-mode authentication (SharePoint Server 2010) Provides guidance to help you decide whether to use claims-based authentication or classic-mode authentication when you create a SharePoint Server 2010 Web application.

The PerformancePoint site template does not display after it has been customized Describes potential issues that can arise when users modify the PerformancePoint site template and provides a workaround to resolve these issues.

Viewing reports and scorecards on Apple iPad devices (SharePoint Server 2010) Describes how users can view business intelligence content, including PerformancePoint Services, Excel Services, and Reporting Services reports on Apple iPad devices.

Updated articles

Configure extranet access for PerformancePoint Services 2010 (white paper) Added notes about how PerformancePoint Dashboard Designer has not been tested to run in extranet environments that include Forefront Threat Management Gateway.

Create and configure a new Search service application (SharePoint Server 2010) Added link to a video that demonstrates how to create and configure a Search service application.

Create a Search Center site (SharePoint Server 2010) Added link to a video that demonstrates how to create a Basic Search Center site.

Import PerformancePoint Dashboard 2010 content from a SharePoint Server 2010 server, site, or list Clarified required permissions.

Plan authentication methods (SharePoint Server 2010) Updated to clarify that you have to set network load balancing to single affinity when using claims-based authentication.

Troubleshoot User Profile Synchronization Service start issues (SharePoint Server 2010) Added a procedure that shows how to create a User Profile service application by using Windows PowerShell if UAC is enabled on the server.

Published the week of December 5, 2011

New articles

Some content databases are growing too large (SharePoint Server 2010) Describes how to resolve the SharePoint Health Analyzer event by editing the rule definition to prevent new sites from being added to the databases, and then moving some site collections to other databases.

Trial period for this product is about to expire (SharePoint Server 2010) Describes how to resolve the SharePoint Health Analyzer event by purchasing the product.

Updated articles

Back up search in SharePoint Server 2010 Added the procedure for backing up the Search service application databases with SQL Server tools.

Restore search in SharePoint Server 2010 Added the procedure for restoring the Search service application databases with SQL Server tools.

Published the week of November 28, 2011

New articles

Create a Search Center site (SharePoint Server 2010) Describes how to create a Search Center site that users can use to initiate search queries.

Deploy people search Describes prerequisites for people search and how to deploy people search in SharePoint Server 2010.

Updated articles

Best practices for My Sites (SharePoint Server 2010) Updated guidance for deploying My Sites in geographically-distributed environments.

Configure the Secure Store Service (SharePoint Server 2010) Added a video demonstrating how target applications are used in Secure Store.

Create and configure a new Search service application (SharePoint Server 2010) Added more comprehensive guidance about how to create and configure a Search service application.

Use Visio Services with complex data queries Added videos to demonstrate the procedures.

Published the week of November 14, 2011

New articles

Database has large amounts of unused space (SharePoint Server 2010) Describes how to resolve the SharePoint Health Analyzer event by shrinking the database.

Databases exist on servers running SharePoint Foundation (SharePoint Server 2010) Describes how to resolve the SharePoint Health Analyzer event by moving the databases to a separate server.

Databases require upgrade or not supported (SharePoint Server 2010) Describes how to resolve the SharePoint Health Analyzer event by installing software updates.

Databases running in compatibility range, upgrade recommended (SharePoint Server 2010) Describes how to resolve the SharePoint Health Analyzer event by installing software updates.

Databases used by SharePoint have outdated index statistics (SharePoint Server 2010) Describes how to resolve the SharePoint Health Analyzer event by editing the rule definition so that the configuration is automatically repaired.

Databases within this farm are set to read only and will fail to upgrade unless it is set to a read-write state (SharePoint Server 2010) Describes how to resolve the SharePoint Health Analyzer event by setting the databases to read-write.

Drives used for SQL databases are running out of free space (SharePoint Server 2010) Describes how to resolve the SharePoint Health Analyzer event by freeing disk space on the database server computer or decreasing the number of days to store log files.

One or more servers is not responding (SharePoint Server 2010) Describes how to resolve the SharePoint Health Analyzer event by connecting the server to the network, restarting the SharePoint 2010 Timer service (SPTimerV4), or removing the server record from the SharePoint topology.

The Application Discovery and Load Balancer Service is not running in this farm (SharePoint Server 2010) Describes how to resolve the SharePoint Health Analyzer event by starting the Application Discovery and Load Balancer service on at least one server in the farm.

The local machine is not joined to a SharePoint server farm (SharePoint Server 2010) Describes how to resolve the SharePoint Health Analyzer event by creating a new farm or adding this computer to an existing SharePoint farm.

The Security Token Service is not available (SharePoint Server 2010) Describes how to resolve the SharePoint Health Analyzer event by restarting the Security Token Service application pool.

The timer service failed to recycle (SharePoint Server 2010) Describes how to resolve the SharePoint Health Analyzer event by changing the schedule for the Timer Service Recycle job so that it does not conflict with other long-running timer jobs.

Web Analytics: Monitors the health of the Data Analyzer Light component (SharePoint Server 2010) Describes how to resolve the SharePoint Health Analyzer event by adding more staging databases for the Web Analytics service to balance the load.

Web Analytics: Monitors the health of the Logging Extractor component (SharePoint Server 2010) Describes how to resolve the SharePoint Health Analyzer event by adding more staging databases for the Web Analytics service to balance the load.

Web Analytics: Monitors the health of the User Behavior Analyzer component (SharePoint Server 2010) Describes how to resolve the SharePoint Health Analyzer event by adding more staging databases for the Web Analytics service to balance the load.

Web Analytics: Verify that there is a data processing service started when there is a web service started (SharePoint Server 2010) Describes how to resolve the SharePoint Health Analyzer event by starting the Web Analytics Data Processing service on any server in the farm.

Web.config files are not identical on all machines in the farm (SharePoint Server 2010) Describes how to resolve the SharePoint Health Analyzer event by making the Web.config files identical on all front-end Web servers in the farm.

Updated article

User Profile Replication Engine overview (SharePoint Server 2010) Added that the account should have Manage Social Data permission for social information replication.

Published the week of October 31, 2011

New articles

Manage crawl load (SharePoint Server 2010) Describes how to configure the search system to help prevent or resolve performance issues in which a SharePoint farm is accessed at the same time by users and the crawler.

Plan security hardening for extranet environments (SharePoint Server 2010) Details the hardening requirements for an extranet environment in which a SharePoint Server 2010 server farm is placed inside a perimeter network and content is available from the Internet or from the corporate network.

Updated articles

Create a detailed design and system specifications for a virtual farm (SharePoint Server 2010) Updated with statement of support for live migration in a virtual farm.

Database types and descriptions (SharePoint Server 2010) Corrected support for mirroring the social tagging database in a farm. Mirroring is supported.

Search the enterprise from Windows 7 (SharePoint Server 2010) Added a link to a video that shows how to search SharePoint sites from Windows 7.

Published the week of October 24, 2011

New article

Scale test report for very large scale document repositories Provides details about results of a test lab that was run at Microsoft to show large scale SharePoint Server 2010 content databases.

Store and manage business intelligence content in a central location Describes how to create and use a Business Intelligence Center site to store and centrally manage business intelligence content.

Use Visio Services with complex data queries Describes how to use complex data queries with Visio Services by using SQL Server views.

Updated articles

Configure Excel Services data refresh by using the unattended service account (SharePoint Server 2010) Added a video demonstration showing the procedures covered in the article.

Connect a filter to a report or a scorecard by using Dashboard Designer Added a link to information about how to configure cascading filters, a capability that is available in SharePoint Server 2010 SP1.

Downloadable content for SharePoint Server 2010 Added eReader formats available for these downloadable books: "Business continuity management for SharePoint Server 2010," Remote BLOB storage for SharePoint Server 2010," and "Technical reference for SharePoint Server 2010."

Use Visio Services with Secure Store Added video demonstrations showing the procedures in the article.

Published the week of October 17, 2011

New articles

Configure Information Rights Management (SharePoint Server 2010) Describes how to configure Information Rights Management (IRM) in SharePoint Server 2010 and how to implement a Windows Rights Management Services (RMS) server.

Configure policy settings on user profile properties and personal and social features (SharePoint Server 2010) Describes how to use Central Administration in SharePoint Server 2010 to configure user profile policy settings and personal and social features policy settings.

Plan Information Rights Management (SharePoint Server 2010) Describes how to use Information Rights Management (IRM) to enable content creators to control and protect their documents, and also describes how SharePoint Server permissions relate to IRM permissions.

Updated articles

Back up a farm in SharePoint Server 2010 Corrected guidance about backing up the farm where a User Profile Synchronization Service exists.

Configure the Secure Store Service (SharePoint Server 2010) Added a video demonstration covering the steps necessary to create a Secure Store service application.

Configure the unattended service account for PerformancePoint Services and Create a PerformancePoint Services service application (SharePoint Server 2010) Added a video demonstration of the procedures.

Downloadable content for SharePoint Server 2010 Added eReader formats available for these downloadable books: "Governance guide for Microsoft SharePoint Server 2010," "Upgrading to Microsoft SharePoint Server 2010," "Deployment guide for Microsoft SharePoint Server 2010," and "Profile synchronization guide for Microsoft SharePoint Server 2010."

Install and configure RBS (SharePoint Server 2010) Corrected the msiexec syntax for installing the RBS client library on all additional Web and application servers.

Published the week of October 10, 2011

New articles

Configure Excel Services data refresh by using embedded data connections (SharePoint Server 2010) Describes how to configure data refresh in Excel Services by using Secure Store and embedded data connections.

Configure Excel Services data refresh by using the unattended service account (SharePoint Server 2010) Describes how to configure the unattended service account in Excel Services.

Deploying SharePoint Server 2010 updates on mission critical sites Provides an end-to-end approach to deploying and testing a software update on a mission-critical SharePoint Server 2010 farm.

Updated articles

Use Excel Services with Secure Store (SharePoint Server 2010) Updated to separate the Secure Store scenarios into individual articles.

Database types and descriptions (SharePoint Server 2010) and Plan for disaster recovery (SharePoint Server 2010) Updated to correct information about log shipping support for the social tagging database.

Excel Services overview (SharePoint Server 2010) Updated to include additional information about features available in Excel Services.

Published the week of September 26, 2011

New articles

Critical state of this rule indicates that the Word Automation Services is not running when it should be running (SharePoint Server 2010) Describes how to resolve the SharePoint Health Analyzer event by enabling the Word Automation Services timer job.

Implementing Claims-Based Authentication with SharePoint Server 2010 (whitepaper) Describes how SharePoint Server 2010 administrators can use claims-based authentication to control user access to internal SharePoint Server 2010 Web application resources, and also external resources.

The settings for Word Automation Services are not within the recommended limits (SharePoint Server 2010) Describes how to resolve the SharePoint Health Analyzer event by changing the settings for Word Automation Services.

Use Visio Services with Secure Store Describes how to use Visio Services with credentials stored in Secure Store to refresh data-connected Web drawings published to SharePoint Server 2010.

Variations design considerations (SharePoint Server 2010) Describes design considerations for planning a variations infrastructure within a publishing environment, and makes recommendations about how to approach common scenarios.

Verify each User Profile Service Application has an associated Managed Metadata Service Connection (SharePoint Server 2010) Describes how to resolve the SharePoint Health Analyzer event by editing the connections for the User Profile service application.

Verify each User Profile Service Application has an associated Search Service Connection (SharePoint Server 2010) Describes how to resolve the SharePoint Health Analyzer event by editing the group of connections for the User Profile service application.

Verify that the critical User Profile Application and User Profile Proxy Application timer jobs are available and have not been mistakenly deleted (SharePoint Server 2010) Describes how to resolve the SharePoint Health Analyzer event by editing the rule definition so that the configuration is automatically repaired.

Web Analytics: Verify that the Site Inventory Usage Collection timer job is enabled for all the Web applications serviced by the Web Analytics service application (SharePoint Server 2010) Describes how to resolve the SharePoint Health Analyzer event by changing the settings of the Microsoft SharePoint Foundation Site Inventory Usage Collection timer job.

Updated articles

Timer job reference (SharePoint Server 2010) Changed the default for the User Profile Service - User Profile Language Synchronization Job from 1 minute to daily.

Upgrade paths from Search Server 2008 or Search Server 2008 Express Added descriptions of supported and unsupported upgrade paths.

Published the week of September 12, 2011

New article

Best practices for capacity management for SharePoint Server 2010 Provides information about capacity and performance best practices for SharePoint Server 2010.

Updated articles

Automatic update setting inconsistent across farm servers (SharePoint Foundation 2010) Added permissions information.

New-SPPerformancePointServiceApplication Added the following parameters: DatabaseFailoverServer, DatabaseName, DatabaseServer, DatabaseSQLAuthenticationCredential.

Set-SPPerformancePointServiceApplication Added the following parameters: DatabaseFailoverServer, DatabaseName, DatabaseServer, DatabaseSQLAuthenticationCredential.

Published the week of September 5, 2011

New articles

Alternate access URLs have not been configured (SharePoint Server 2010) Describes how to resolve the SharePoint Health Analyzer event by changing the default zone URL.

Best practices for search in SharePoint Server 2010 Describes best practices for configuring and maintaining search in SharePoint Server 2010.

Designing pages for quicker downloads (SharePoint Server 2010) Describes how to reduce the page-load time of a SharePoint site for WAN environments.

Estimate performance and capacity requirements for large scale document repositories in SharePoint Server 2010 Contains guidance about performance and capacity planning for large-scale document management solutions. The article focuses on the performance characteristics of document libraries as size increases and on throughput of high volume operations, such as policy update and retention.

Plan for administrative and service accounts (SharePoint Server 2010) Describes the accounts that you must plan for and describes the deployment scenarios that affect account requirements for SharePoint 2010 Products.

Product / patch installation or server upgrade required (SharePoint Server 2010) Describes how to resolve the SharePoint Health Analyzer event by deploying updates or upgrading.

Web.config file has incorrect settings for the requestFiltering element (SharePoint Server 2010) Describes how to resolve the SharePoint Health Analyzer event by changing the requestFiltering settings in the Web.config file.

Updated articles

Configure the Secure Store Service (SharePoint Server 2010) Added detailed steps for configuring the service application.

Configure the unattended service account for PerformancePoint Services Added information about data access requirements.

Create a PerformancePoint Services service application (SharePoint Server 2010) Added procedures for registering an application pool account.

How to configure AD FS v 2.0 in SharePoint Server 2010 Added link to a video that illustrates how to configure Active Directory Federation Services version 2.0 (AD FS) in Microsoft SharePoint Server 2010.

Maintain profile synchronization (SharePoint Server 2010) Added information about turning off the incremental synchronization timer job when you reset the synchronization database.

Plan browser support (SharePoint Server 2010) Added a list of supported mobile browsers and a change to the guidance for Safari 4.04 on non-Windows operating systems.

Technical diagrams (SharePoint Server 2010) Added a link to the Excel Services data refresh flowchart.

Video demos and training for SharePoint Server 2010 Added "Configure SharePoint Server 2010 with AD FS trusted claims" video.

Published the week of August 22, 2011

New articles

Add-SPProfileLeader Describes a cmdlet that adds a company leader. This cmdlet was introduced in Microsoft SharePoint Server 2010 with Service Pack 1 (SP1) and Microsoft SharePoint Foundation 2010 with Service Pack 1 (SP1).

Application pools recycle when memory limits are exceeded (SharePoint Server 2010) Describes how to change the application pool recycling settings in Internet Information Services (IIS).

Automating Microsoft SharePoint 2010 with Windows PowerShell 2.0 (book excerpt) Focuses on how to automate SharePoint 2010 Products with specific emphasis on deployment and configuration.

Connect a PerformancePoint scorecard item to a SQL Server Reporting Services report Describes how to connect a PerformancePoint scorecard KPI to a SQL Server Reporting Services report.

Connect a PerformancePoint scorecard item to an Excel Services report Describes how to connect a PerformancePoint scorecard KPI to an Excel Services report.

Connect a PerformancePoint scorecard KPI to a report using Display Condition Describes how to connect PerformancePoint scorecard KPIs to reports by using Display Condition.

Get-SPProfileLeader Describes a cmdlet that returns the current company leaders. This cmdlet was introduced in Microsoft SharePoint Server 2010 with Service Pack 1 (SP1) and Microsoft SharePoint Foundation 2010 with Service Pack 1 (SP1),

Microsoft IT implements a custom claims provider (case study) Describes how Microsoft IT used Microsoft SharePoint Server 2010 and Microsoft FAST Search Server 2010 for SharePoint to design and implement a claims-based security model for an internal human resources portal.

Move-SPSocialComments Describes a cmdlet that moves social comments from one page to another page. This cmdlet was introduced in Microsoft SharePoint Server 2010 with Service Pack 1 (SP1) and Microsoft SharePoint Foundation 2010 with Service Pack 1 (SP1).

PerformancePoint Services for Project Server 2010 (white paper) Describes how a Business Intelligence Center in Project Web Access can take advantage of PerformancePoint Services to publish robust, interactive dashboards.

PerformancePoint Services SuperFlows Provides information about downloadable SuperFlows, which are self-contained guides that resemble Help files.

Remove-SPProfileLeader Describes a cmdlet that removes a company leader. This cmdlet was introduced in Microsoft SharePoint Server 2010 with Service Pack 1 (SP1) and Microsoft SharePoint Foundation 2010 with Service Pack 1 (SP1).

Updated articles

Configure a SharePoint Server 2010 farm for business intelligence by using NTLM Added a video about the architecture for NTLM authentication.

Excel Services data refresh flowchart Updated to include steps for user-initiated data refresh and trusted data provider validation.

My Sites overview (SharePoint Server 2010) Added information about security trimming in the newsfeed, how profile property policies set by an administrator affect privacy settings available to users, and what kind of memberships appear on users' profiles.

Plan, design, and implement a PerformancePoint dashboard Added information about how to create and configure advanced PerformancePoint dashboards.

User Profile service cmdlets (SharePoint Server 2010) Updated to include the Add-SPProfileLeader, Get-SPProfileLeader, Remove-SPProfileLeader, and Move-SPSocialComments cmdlets that were introduced in Microsoft SharePoint Server 2010 with Service Pack 1 (SP1) and Microsoft SharePoint Foundation 2010 with Service Pack 1 (SP1).

Published the week of August 8, 2011

New articles

Accounts used by application pools or service identities are in the local machine Administrators group (SharePoint Server 2010) Describes how to resolve the SharePoint Health Analyzer event by changing the user account to a predefined account, or to a domain user account that is not a member of the Administrators group.

Analyze data from SQL Server Analysis Services by using Excel Describes how to create PivotTable and PivotChart reports to analyze data imported from Microsoft SQL Server 2008 Analysis Services.

Best practices for people and profiles (SharePoint Server 2010) Describes the typical characteristics and best practices for working with user profiles in SharePoint Server 2010.

Maintain, edit, and update PerformancePoint dashboards Describes how to maintain, edit, and update dashboards by using Dashboard Designer or edit mode in SharePoint Server.

Plan administrative tasks in a least-privilege environment (SharePoint Server 2010) Describes how to configure and maintain a Microsoft SharePoint Server 2010 environment by using least-privilege administration.

Restore pre-SP1 backups to an SP1 farm (SharePoint Server 2010) Provides information and procedures for restoring a backup that you made before the farm was upgraded to SP1 to the farm after it is upgraded to SP1.

Verify that the Activity Feed Timer Job is enabled (SharePoint Server 2010) Describes how to resolve the SharePoint Health Analyzer rule by enabling the Activity Feed timer job.

Updated articles

Configure a Business Intelligence Center for a test environment Added a step to specify the Web site address for a Business Intelligence Center.

Configure the unattended service account for PerformancePoint Services Added a video that discusses the architecture for using the Secure Store Service when configuring security for SharePoint Server 2010 service applications.

Plan for backup and recovery in SharePoint Server 2010 Added a note about restoring a backup that you made before the farm was upgraded to SP1 to the farm after it is upgraded to SP1.

Plan, design, and implement a PerformancePoint dashboard Added links to articles and information about maintaining, editing, and updating dashboard content.

Prepare to back up and recover (SharePoint Server 2010), Recover content from an unattached content database (SharePoint Server 2010), Restore a site collection in SharePoint Server 2010, and Restore-SPSite Added a note about restoring a backup that you made before the farm was upgraded to SP1 to the farm after it is upgraded to SP1.

Set-SPProfileServiceApplicationSecurity Updated the Type parameter with correct values.

Published the week of July 25, 2011

New articles

Enable URL filtering for Web Analytics (SharePoint Server 2010) Describes how to enable and configure URL filtering for Web Analytics, and provides information about how the SharePoint Server 2010 hotfix package (wasrvwfe-x-none.msp) adds URL filtering functionality to the Web Analytics service application, allowing farm administrators to specify the site collections that will be processed by Web Analytics.

Excel Services data refresh flowchart Shows the sequence of actions performed when Excel Services refreshes data in a data-connected Microsoft Excel workbook that is being rendered by Excel Services. You can use this flowchart to troubleshoot data connection errors.

Overview of security features in SharePoint Server 2010 Explains the security features that are available in SharePoint Server 2010.

Updated articles

Configure profile synchronization (SharePoint Server 2010) Updated with new required steps that you have to perform when you start profile synchronization for the first time.

Create a PowerPivot data connection (PerformancePoint Services) Added a video walkthrough of the procedures.

Downloadable content for SharePoint Server 2010 Added new downloadable book: "Profile synchronization guide for Microsoft SharePoint Server 2010."

Governance overview (SharePoint Server 2010) Added a section that gives examples of customizations and the potential risks to the environment.

Maintain profile synchronization (SharePoint Server 2010) Updated with new required steps that you have to perform when you start profile synchronization for the first time.

New-SPUser Changed one of the values of the Permission Level parameter from Full to Full Control.

Plan for backup and recovery in SharePoint Server 2010 Corrected the upper size limit for performing a site collection backup from 85 GB to 100 GB.

Plan for disaster recovery (SharePoint Server 2010) Corrected information about the Application Registry service application.

Set up My Sites (SharePoint Server 2010) Updated the procedure for setting up My Sites to include information about the new security trimming options, newsfeed, and secondary My Site owner settings that are introduced in SharePoint Server 2010 with Service Pack 1 (SP1).

Set-SPProfileServiceApplication Added the UseOnlyPreferredDomainControllers parameter.

Published the week of July 11, 2011

New articles

Best practices for content deployment (SharePoint Server 2010) Describes best practices for using content deployment.

Best practices for publishing sites (SharePoint Server 2010) Describes best practices for publishing sites.

Best practices for SQL Server 2008 in a SharePoint Server 2010 farm Provides best practice guidance for deploying and operating SQL Server 2008 in a SharePoint Server 2010 farm.

Database attach upgrade videos (SharePoint Server 2010) Names the new videos available that show the database-attach upgrade process.

Updated articles with new videos

These articles now include a video walkthrough of the procedures:

  • Add a virtual machine to the virtual domain in a BI test environment

  • Configure a Business Intelligence Center for a test environment

  • Configure Secure Store Service for a BI test environment

  • Configure the Visio Services unattended service account in a BI test environment

  • Configure Visio Services data access by using Secure Store in a BI test environment

  • Configure Visio Services for a BI test environment

  • Install and configure SharePoint Server 2010 for a BI test environment

  • Set up a domain controller for a BI test environment

  • Set up accounts for a BI test environment

  • Set up SQL Server for a BI test environment

Updated articles

Back up a site collection in SharePoint Server 2010 Removed warning about UseSqlSnapshot parameter. This warning is not valid for Service Pack 1 and newer releases.

Configure Basic authentication for a claims-based Web application (SharePoint Server 2010), Configure Basic authentication for a classic-mode Web application (SharePoint Server 2010), Configure Digest authentication for a claims-based Web application (SharePoint Server 2010), and Configure Digest authentication for a classic-mode Web application (SharePoint Server 2010) Updated the IIS configuration procedure.

Overview of RBS (SharePoint Server 2010) Added a note about the 200GB limit for RBS-enabled content databases.

Plan for RBS (SharePoint Server 2010) Updated to note that if a remote BLOB storage provider is in use, and does not include support for database snapshots, the database snapshot option cannot be used with site collection backup or content deployment. Aslo removed the "Alternatives to using RBS" section.

SharePoint Server 2010 capacity management: Software boundaries and limits Added updated information about limits to site collections ("Web application limits" section), content database sizes ("Content database limits" section), site collection sizes ("Site collection limits" section), and SharePoint entities ("SharePoint Web Analytics service limits" section).

Published the week of July 4, 2011

New articles

Managing Multi-Terabyte Content Databases with SharePoint 2010 (white paper) Provides guidance and procedures for administering content databases in three size ranges: up to 200 gigabytes (GB), 200 GB-4 terabytes (TB), and larger than 4 TB.

Scale out collaboration sites (SharePoint Server 2010) Provides guidance and procedures for scaling out collaboration sites that are larger than 200 GB when you are using Remote BLOB Storage.

Updated articles

Attach databases and upgrade to SharePoint Server 2010 Updated with steps to set read-only databases back to read-write.

Checklist for database attach upgrade (SharePoint Server 2010) Updated with steps to set read-only databases back to read-write.

Perform a database attach upgrade to SharePoint Server 2010 Added database attach videos.

Storage and SQL Server capacity planning and configuration (SharePoint Server 2010) Revised to match new content database size limits and RBS guidance.

Published the week of June 27, 2011

New Resource Center

New Resource Center: Best Practices for SharePoint Server 2010 To avoid common pitfalls and keep your Microsoft SharePoint Server 2010 environment available and performing well, follow these best practices based on real-world experience from Microsoft Consulting Services and the product team.

New articles for SharePoint Server 2010 SP1

Service Pack 1 (SP1) for SharePoint Server 2010 (white paper) Describes the features that are included in SharePoint Server 2010 Service Pack 1 (SP1), and provides guidelines to help ensure your solutions work with current and future releases of SharePoint Server 2010.

Restore a deleted site in SharePoint Server 2010, Restore a deleted site collection in SharePoint Server 2010, Get-SPDeletedSite, Remove-SPDeletedSite, and Restore-SPDeletedSite These articles describe functionality available in SharePoint Server 2010 SP1 to enable an administrator to restore a deleted site or site collection.

Configure cascading filters by using Dashboard Designer (SharePoint Server 2010 SP1) Describes how to configure cascading filters for PerformancePoint Services dashboards.

Associate a failover database server for PerformancePoint Services Describes the steps to make sure that a PerformancePoint Services service application is configured to provide availability by using SQL Server mirroring.

Updated articles for SharePoint Server 2010 SP1

Move-SPSite Updated to document the RbsProviderMapping parameter, which was added in SharePoint Server 2010 SP1.

New articles

Claims-based authentication with Microsoft UAG 2010 (SharePoint Server 2010) Describes how to authenticate users from a partner organization through a server that is running Microsoft Forefront Unified Access Gateway (UAG) to a server that is running SharePoint Server 2010.

Optimizing BLOB caching for WAN environments (SharePoint Server 2010) Describes how to use BLOB caching in SharePoint Server 2010 for WAN environments.

Allow or prevent Contributors ability to edit scriptable Web Parts (SharePoint Server 2010) Describes how to allow Contributors to edit scriptable Web Parts.

Best practices for My Sites (SharePoint Server 2010) Describes typical characteristics of, and best practices for, My Sites in SharePoint Server 2010.

Contribute permission level overview (SharePoint Server 2010) Explains the tasks that users who have the Contribute permission level can complete.

Remote BLOB Storage in SharePoint Server 2010 (video) Explains the basic concepts of Remote BLOB Storage (RBS) in SharePoint Server 2010.

Updated articles

Schedule profile synchronization (SharePoint Server 2010) Clarified how to set the interval in which the system can run the profile synchronization timer job.

Downloadable content for SharePoint Server 2010 Added eReader formats available for the downloadable book, Getting started with SharePoint Server 2010.

White paper: SharePoint 2010 for hosters (SharePoint Server 2010) Updated to specify that Microsoft Project Server 2010 is not compatible with multi-tenant environments.

Published the week of June 13, 2011

New articles

Best practices for virtualization (SharePoint Server 2010) Provides best practice guidance for deploying and operating Microsoft SharePoint Server 2010 in a virtual environment.

Configure a synchronization connection to a SQL Server database in SharePoint Server 2010 (video) Shows how to import user profile information from a business system. This video demonstrates creating external content types from data in SQL Server tables, creating synchronization connections, and mapping user profile properties.

Grant Active Directory Domain Services permissions for profile synchronization (SharePoint Server 2010) Provides supplementary procedural information for Active Directory Domain Services (AD DS) administrators. Use this article with Plan for profile synchronization (SharePoint Server 2010).

Recover content from an unattached content database (SharePoint Server 2010) Provides information about how you can restore or copy content — such as sites, site collections, lists, or document libraries — from a content database without having to attach the content database to the farm.

Office Web Apps troubleshooting (Installed on SharePoint 2010 Products) Provides troubleshooting information for resolving common problems that you might encounter when you attempt to install, use, or uninstall Microsoft Office Web Apps.

Updated articles

Plan for Kerberos authentication (SharePoint Server 2010) Added guidance for planning SharePoint Server 2010 deployments that require Kerberos authentication for security, client identity delegation, and low network traffic.

Plan for backup and recovery in SharePoint Server 2010 Corrected information about Data Protection Manager. You cannot use Data Protection Manager to back up or restore Remote Blog Store (RBS) by using the FILESTREAM provider.

Stsadm to Windows PowerShell mapping (SharePoint Server 2010) Added the Profilechangelog Stsadm operation.

Timer job reference (SharePoint Server 2010) Corrected how often the User Profile Service - Activity Feed Cleanup Job is performed.

Deployment overview (SharePoint Server 2010) Updated with clarification about support for single label domain names in a SharePoint environment.

Published the week of June 6, 2011

New articles

Configure resource points for sandboxed solutions (SharePoint Server 2010) Describes how to use Windows PowerShell to configure resource points to restrict the resources consumed by sandboxed solutions.

Configure sandboxed solutions service tiers (SharePoint Server 2010) Describes how to improve the performance, security, and reliability of your sandboxed solutions by configuring tiers for the sandboxed solutions service.

Estimate performance and capacity requirements for Microsoft Business Connectivity Services in SharePoint Server 2010 Provides performance and planning guidance for, and discusses the impact of using, Microsoft Business Connectivity Services in SharePoint Server 2010.

Updated articles

Plan sandboxed solutions (SharePoint Server 2010) Added a section about how to plan sandboxed solutions service tiers, and updated information about planning resource usage quotas for sandboxed solutions.

Sandboxed solutions overview (SharePoint Server 2010) Added descriptions of tiers, quotas, and resource points, and added an illustration of tiers within the sandboxed solutions service.

Install and configure RBS (SharePoint Server 2010) Revised BLOB store provisioning syntax, revised RBS installation syntax, added details to procedures, and reorganized the article.

Overview of RBS (SharePoint Server 2010) Added information about the RBS components.

Plan for RBS (SharePoint Server 2010) Added information about the limits of RBS.

Published the week of May 30, 2011

New articles

Best practices for team collaboration sites (SharePoint Server 2010) Describes best practices for hosting collaboration sites in a SharePoint Server 2010 environment.

Use custom extensions with PerformancePoint Services (SharePoint Server 2010) Contains scenarios that describe how to use custom extensions to add new features and functionality to PerformancePoint Services in Microsoft SharePoint Server 2010. This section includes the following articles:

  • Create a baseline PerformancePoint dashboard to use with custom extensions scenarios

  • Apply custom scorecard transforms to a PerformancePoint dashboard

Updated articles

Create an Excel Services data connection (PerformancePoint Services) Added a video, "Create an Excel Services data source connection in PerformancePoint Services in SharePoint."

Remove URLs from search results (SharePoint Server 2010) Added information about a video that demonstrates two ways to immediately remove items from search results.

Plan for profile synchronization (SharePoint Server 2010) Extensively rewritten to include instructions on how to use related planning worksheets.

Plan user profiles (SharePoint Server 2010) Extensively rewritten to include planning guidance for user profile properties and instructions on how to use related planning worksheets.

Published the week of May 23, 2011

New resource center

Operations and Manageability for SharePoint Server 2010 Find resources to learn about operations and manageability in SharePoint Server 2010 in two areas: server and farms, and services and solutions.

New articles

Designing large lists and maximizing list performance (SharePoint Server 2010) Provides guidance on the performance of large document libraries and lists in SharePoint Server 2010.

Best practices for extranet environments (SharePoint Server 2010) Describes planning and design recommendations for extranet environments in which users outside the internal network are given access to sites.

Configuring a BI infrastructure: Hands-on labs Provides a series of hands-on labs that use a virtual machine infrastructure to walk you through the process of setting up business intelligence service applications in a SharePoint Server 2010 farm:

  • Create a baseline environment for a BI test environment

  • Configure Excel Services for a BI test environment

  • Configure Visio Services for a BI test environment

  • Configure PerformancePoint Services for a BI test environment

Demo: Excel Services and Secure Store: Authentication using an ODC file Provides an animated demonstration that shows how Excel Services authenticates with an external data source through an Office Data Connection (ODC) file.

Perform a search-first migration (SharePoint Server 2010) Provides an introduction and overview of how to plan a search-first migration, which allows an organization to take advantage of end-user enterprise search capabilities without performing a complete upgrade to SharePoint Server 2010. This section includes the following articles:

  • Introduction to search-first migration (SharePoint Server 2010)

  • Plan a SharePoint Server 2010 farm for search-first migration (SharePoint Server 2010)

  • Plan to configure the SharePoint Server 2010 farm for search-first migration (SharePoint Server 2010)

  • Configure the SharePoint Server 2010 farm for search-first migration (SharePoint Server 2010)

  • Configure the SharePoint Server 2007 farm for search-first migration (SharePoint Server 2010)

  • Migrate search settings for search-first migration (SharePoint Server 2010)

  • Train end users to use the search-first environment (SharePoint Server 2010)

Unattended Service Account Application ID is not specified or value is invalid value Provides information about this SharePoint Health Analyzer rule. The article describes the cause and includes a procedure that helps to ensure that Unattended Service Account Application ID settings are configured correctly.

Updated articles

Create an Excel Workbook data connection (PerformancePoint Services) Added a video, "Create an Excel Workbook data source connection in PerformancePoint Services in SharePoint."

Create a SharePoint List data connection (PerformancePoint Services) Added a video, "Create a SharePoint List data source connection in PerformancePoint Services in SharePoint."

Resume upgrade (SharePoint Server 2010) Clarified a parameter for the passphrase for resuming an in-place upgrade.

Manage crawl rules (SharePoint Server 2010) Added prescriptive examples for creating crawl rules in SharePoint Server 2010.

Manage site collection storage limits (SharePoint Server 2010) Added steps to configure settings for sandboxed solutions.

Connect a filter to a report or a scorecard by using Dashboard Designer Added guidance on configuring filter connections by using the Connection dialog box.

Published the week of May 9, 2011

New articles

Best practices for operational excellence (SharePoint Server 2010) Describes the top configuration best practices for a SharePoint environment, including front-end Web server configuration, database configuration, servicing, and patching.

Plan keywords, synonyms, and Best Bets (SharePoint Server 2010) Describes how to help users obtain more relevant search results by planning for keywords, synonyms, and Best Bets in SharePoint Server 2010.

Crawled properties reference (SharePoint Server 2010) Tabulates the crawled properties that are available by default in a SharePoint Server 2010 Search service application.

Manage deletion of index items (SharePoint Server 2010) Describes how to manage four deletion policies to specify how many times, and for how long, an item will be retried in consecutive crawls.

StorSimple RBS performance in SharePoint Server 2010 (white paper) Explains the Remote BLOB Storage (RBS) feature and analyzes how its performance affects key attributes of a SharePoint farm, such as database size, database backup size, transaction response times, and backup and restore times.

Database maintenance for SharePoint 2010 Products Provides information and guidelines for how to maintain the databases that host data and configurations for Microsoft SharePoint 2010 Products.

Overview of PerformancePoint data connections Describes the different kinds of data sources that you can use in PerformancePoint Dashboard Designer. This article includes a video.

Connect a PerformancePoint scorecard item to an analytic chart or grid Describes how to use Dashboard Designer to connect a scorecard item to an analytic chart or grid.

Updated articles

Managed metadata overview (SharePoint Server 2010) Clarified which terms are used as hints in the enterprise keyword control.

SharePoint Diagnostic Studio 2010 (SPDiag 3.0) (SharePoint Server 2010) Added information about how to use SPDiag 3.0 to create and import projects, filter and collect data, generate graphs and reports, and export data to a file.

Sites and site collections overview (SharePoint Server 2010) Clarified guidance for how to choose a search template.

Maintain RBS (SharePoint Server 2010) Revised the "Running the RBS Maintainer section."

Create a Reporting Services report by using Dashboard Designer Updated server address information in the "SharePoint Integrated mode" section to include Trusted Account authentication guidance.

Create a Time Intelligence filter by using Dashboard Designer Added configuration examples to the "Connect a Time Intelligence Connection Formula filter" section.

Published the week of May 2, 2011

New articles

Manage query suggestions (SharePoint Server 2010) Describes how query suggestions work, how to configure the Web Parts that display query suggestions, and how to manually create query suggestions by using Windows PowerShell.

Add or delete personalization site links on My Sites (SharePoint Server 2010) Describes how to use personalization site links to customize the top link bar on My Sites.

Create a data source inventory for PerformancePoint dashboard authors Explains how to create a data source inventory to list and track the various data sources that an organization might use with PerformancePoint Services in Microsoft SharePoint Server 2010.

Make custom master pages available to deployment settings Provides an overview of applying a master page to published dashboards in PerformancePoint Services, which is the best way to align the dashboard with a site's appearance or brand.

Updated article

Design sample: Corporate deployment (SharePoint Server 2010) Updated with information about coordinating URLs with alternate access mappings and DNS.

Published the week of April 25, 2011

New articles

SharePoint Diagnostic Studio 2010 (SPDiag 3.0) (SharePoint Server 2010) Provides information about Microsoft SharePoint Diagnostic Studio 2010 (SPDiag version 3.0), which simplifies and standardizes troubleshooting of SharePoint 2010 Products and provides a unified view of collected data.

Regional settings (SharePoint Server 2010) Lists the regional settings for SharePoint Server 2010: locale, time zone, sort order, calendar, and currency.

Plan metadata properties for search (SharePoint Server 2010) Describes how to plan metadata properties (including crawled properties and managed properties) in SharePoint Server 2010.

Use macros to automate tasks in Web objects in applications published to Access Services (SharePoint Server 2010) Describes how to properly configure Microsoft Access 2010 macros for Web databases.

Updated articles

Installing the SharePoint 2010 Administration Toolkit (SharePoint Server 2010) and SharePoint 2010 Administration Toolkit (SharePoint Server 2010) Updated for the release of SharePoint 2010 Administration Toolkit version 2.0.

Plan for RBS (SharePoint Server 2010) Updated with information about alternatives to Remote BLOB Storage (RBS) and the costs and benefits of using RBS.

Overview of RBS (SharePoint Server 2010) Updated with additional information about RBS providers.

Published the week of April 18, 2011

New article

Building Windows Phone 7 applications with SharePoint 2010 Products and Unified Access Gateway (UAG) (white paper) Contains information for administrators and developers to understand how to develop and configure Windows Phone 7 applications to work with SharePoint 2010 Products and Microsoft Forefront Unified Gateway Access (UAG).

Published the week of April 11, 2011

New article

Estimate performance and capacity requirements for Visio Services in SharePoint Server 2010 Provides guidance about capacity management and performance requirements for Visio Services in Microsoft SharePoint Server 2010.

Updated article

Services architecture planning (SharePoint Server 2010) Updated to indicate that the User Profile service application is not supported in WAN environments. The User Profile Replication Engine (UPRE) is recommended instead.

Published the week of April 4, 2011

New article

Profile synchronization overview (SharePoint Server 2010) Describes profile synchronization in Microsoft SharePoint Server 2010. It covers such concepts as synchronization connections, property mappings, exclusion filters, and full versus incremental synchronization.

Updated articles

Manage audiences (SharePoint Server 2010) Information and examples have been added to the following articles in this section:

  • Add, edit, or delete an audience (SharePoint Server 2010)

  • Add, edit, or delete an audience rule (SharePoint Server 2010)

  • Schedule audience compilation (SharePoint Server 2010)

Audience and content targeting planning (SharePoint Server 2010) Added a link to the related planning worksheet and reorganized the topic.

Use Excel Services with Secure Store (SharePoint Server 2010) Explains how to use the Secure Store Service with and without the unattended service account for Excel Services in SharePoint. This article also describes how to create the target application for each scenario.

Excel Services overview (SharePoint Server 2010) Added information about Excel Services availability in SharePoint Server 2010 Enterprise, and also explained the functional differences between Excel Services and Microsoft Excel Web App.

Plan browser support (SharePoint Server 2010) Added information about support for Internet Explorer 9.

Published the week of March 28, 2011

New articles

Plan search scopes (SharePoint Server 2010) Describes how to plan search scopes to help users narrow search results in SharePoint Server 2010.

Configure a service application by using a Windows PowerShell script (SharePoint Server 2010) Describes how to configure a service application by using a Windows PowerShell script instead of using the SharePoint Products Configuration Wizard.

Health monitoring cmdlets (SharePoint Server 2010) Describes the health monitoring Windows PowerShell cmdlets introduced in the February 2011 Cumulative Update.

Configure aggregation settings for a PerformancePoint KPI Describes how to configure a PerformancePoint Services KPI that uses Analysis Services data to use a specific aggregation setting.

Define custom properties for a PerformancePoint KPI Describes how to add custom properties to PerformancePoint KPIs to extend their functionality.

Use a custom MDX query for a PerformancePoint KPI Describes how to use a custom MDX query to extend a PerformancePoint KPI.

Updated articles

Hardware and software requirements (SharePoint Server 2010) Added Windows Server 2008 R2 Service Pack 1 (SP1) to the list of minimum requirements.

Add trend indicators to a PerformancePoint KPI Removed Time Intelligence formulas. Trend indicators automatically compare current target values to previous actual values.

Published the week of March 21, 2011

New articles

Estimate performance and capacity requirements for SharePoint Server 2010 Search Discusses capacity planning for different deployments of SharePoint Server 2010 search, including small, medium, and large SharePoint Server farms.

User Profile Service troubleshooting Contains tips for solving problems that you may encounter when you use the User Profile Service.

Coordinating Access Services actions with SharePoint permission levels (SharePoint Server 2010) Describes which SharePoint Server 2010 permissions are required for Access Services actions.

Mobile device troubleshooting (SharePoint Server 2010) Contains information for troubleshooting mobile device issues.

My Sites troubleshooting Provides troubleshooting information for resolving common problems that you might encounter when you attempt to configure and use My Sites.

Updated articles

Back up a User Profile Service application (SharePoint Server 2010) Revised the SQL Server tools backup procedure to specify the server and directory in which the encryption key is located.

Capacity requirements for the Web Analytics Shared Service in SharePoint Server 2010 Added information about disk storage requirements and clarified capacity guidelines.

Create an Analysis Services data connection (PerformancePoint Services) Added a video that shows the step-by-step process of how to create a data connection to an SQL Server Analysis Services data source.

Harden SQL Server for SharePoint environments (SharePoint Server 2010) Updated with information about Windows Firewall with Advanced Security.

Maintain profile synchronization (SharePoint Server 2010) Added a time-out setting section and updated some Windows PowerShell commands.

Published the week of March 14, 2011

New articles

Dashboard Designer does not open or launch correctly Contains troubleshooting tips for solving common problems that you might encounter when you attempt to open and use PerformancePoint Dashboard Designer.

Provide training materials to PerformancePoint dashboard users Provides links to Help content and training materials that dashboard authors can use to train dashboard consumers.

SharePoint workspace administration (SharePoint Server 2010) Provides procedural guidance for IT pros who are deploying SharePoint Workspace for end users.

SharePoint workspace planning (SharePoint 2010) Provides planning guidance for IT pros who are considering the benefits of deploying SharePoint Workspace for end users.

Track and analyze sales by using a PerformancePoint dashboard (SharePoint Server 2010) Provides information about how to create and use a sales dashboard that includes a variety of reports.

Updated articles

Move site collections between databases (SharePoint Server 2010) Added a note about the implications of auditing data during the site collection move.

Review supported and unsupported upgrade paths (SharePoint Server 2010) Clarified that upgrading from Microsoft Office SharePoint Server 2007 Enterprise Edition to Microsoft SharePoint Server 2010 Standard Edition is not a supported path for either in-place or database attach upgrade.

Published the week of March 7, 2011

New articles

Configure Client Certificate Authentication (SharePoint Server 2010) Describes how to configure client certificate authentication for SharePoint Server 2010.

Estimate capacity and performance for enterprise managed metadata in SharePoint Server 2010 Summarizes the testing of and provides recommendations related to sizing and performance optimization of the managed metadata service in SharePoint Server 2010.

Business Intelligence Competency Center (BICC) - encoding and Unicode considerations (white paper) Describes best practices and standards for encoding and using Unicode in Business Intelligence Competency Centers.

Book excerpt: Collaboration Meets Business Intelligence Excerpts the recently published McGraw-Hill book Building Integrated Business Intelligence Solutions with SQL Server 2008 R2 & Office 2010. Chapter 2, "Collaboration Meets Business Intelligence," provides an overview of Microsoft BI tools.

Updated articles

Configure profile synchronization using a Lightweight Directory Interchange Format (LDIF) file (SharePoint Server 2010) Added information about where to save the LDIF file and corrected the "Create an import mapping from a new LDIF MA profile property to a new metaverse profile property" procedure.

SharePoint 2010 Products administration by using Windows PowerShell Added a section about scripts and execution policies.

Add-SPShellAdmin Updated to advise that this cmdlet is intended only for use with a database that uses Windows authentication.

Add trend indicators to a PerformancePoint KPI Added additional examples of formulas to use and other details about trend indicators.

Virtualization support and licensing (SharePoint Server 2010) Updated to clarify support and licencing requirements for virtualized farm servers.

Published the week of February 28, 2011

New articles

Plan people search (SharePoint Server 2010) Describes how to plan for people search in Microsoft SharePoint Server 2010, including prerequisites, search scopes for people search, and planning customizations to the Search Center for people search.

Deploy a client tool for taking SharePoint content offline (video) Shows how to deploy Microsoft SharePoint Workspace 2010 to client computers so that end users can synchronize offline work with SharePoint sites.

Updated articles

Plan for disaster recovery (SharePoint Server 2010) Updated to clarify that asynchronous mirroring or log shipping is not supported for the Business Data Connectivity database.

Delete a site collection (SharePoint Server 2010) Added a note about deleting site collections that contain Microsoft Project Web App sites.

Use Excel Services with Secure Store (SharePoint Server 2010) Updated in response to recent customer feedback to clarify details of the configuration process.

Information management policy planning (SharePoint Server 2010) Changed "expiration policy" to "retention policy," and added a description.

Published the week of February 21, 2011

New articles

Plan for mobile devices (SharePoint Server 2010) Describes the features that enable users to work with content in SharePoint Server by using their mobile devices. It also summarizes important questions to consider when you deploy these features.

Extend a PerformancePoint KPI Provides information about KPIs in PerformancePoint Services in Microsoft SharePoint Server 2010. The articles in this section include:

  • Add multiple target or actual values to a PerformancePoint KPI

  • Add calculated metrics to a PerformancePoint KPI

  • Add a dimension filter to a PerformancePoint KPI

  • Add a Time Intelligence filter to a PerformancePoint KPI

  • Add trend indicators to a PerformancePoint KPI

Extend PerformancePoint dashboards by using Time Intelligence Describes how to extend dashboards in PerformancePoint Services by using Time Intelligence.

Excel Services reports are displayed with extra scrollbars in a PerformancePoint dashboard Describes how to remove extra scroll bars from an Excel Services in SharePoint report that is displayed in a PerformancePoint Services Web Part.

Updated articles

SharePoint Server 2010 capacity management: Software boundaries and limits and Capacity requirements for the Web Analytics Shared Service in SharePoint Server 2010 Added information about disk size requirements and how to turn off the SharePoint Web Analytics service when topologies exceed capacity planning guidance.

Remove URLs from search results (SharePoint Server 2010) Added best practices and a procedure for removing URLs from search results.

Plan for My Sites (SharePoint Server 2010) Updated content for planning a My Sites deployment.

My Sites overview (SharePoint Server 2010) Updated to better explain the end-user functionality of My Sites and the benefits of deploying My Sites in an organization.

Set up My Sites (SharePoint Server 2010) Updated with prerequisites and end-to-end procedures for deploying My Sites.

Published the week of February 14, 2011

New article

Review and track workbooks on a PowerPivot Gallery by using SharePoint approval workflows Explains how to use SharePoint Approval workflows to track all new PowerPivot workbooks that are saved to the PowerPivot Gallery.

Published the week of February 7, 2011

Highlighted blog post

Managing crawl deletion policies for SharePoint Server 2010 This blog post describes crawl deletion policies that allow users to specify when index items are deleted.

New articles

Configure a profile synchronization connection in SharePoint Server 2010 (video) Shows how to create a profile synchronization connection and a synchronization filter, and how to map profile properties.

Microsoft SharePoint Server 2010 social environment: Lab study Provides guidance on performance and capacity planning for a My Site and social computing portal based on Microsoft SharePoint Server 2010.

Perform a search-first migration (SharePoint Server 2010) Provides an introduction and overview of search-first migration, which allows an organization to take advantage of end-user enterprise search capabilities without performing a complete upgrade to SharePoint Server 2010.

Updated articles

Manage federated locations (SharePoint Server 2010) Added a video that demonstrates how to import federated locations.

Plan sandboxed solutions (SharePoint Server 2010) Changed Resources per Point and Absolute Limit for InvocationCount resource from <TBD> to 100.

Published the week of January 31, 2011

New articles

People Picker and claims provider planning (SharePoint Server 2010) Describes the People Picker control and how it works, its relationship to authentication and claims providers, and includes considerations for planning for People Picker. This section includes the following articles:

  • People Picker overview (SharePoint Server 2010)

  • Custom claims providers for People Picker (SharePoint Server 2010)

Configure People Picker (SharePoint Server 2010) and Peoplepicker-peopleeditoronlyresolvewithinsitecollection: Stsadm property (SharePoint Server 2010) Describe how to configure the People Picker control to filter and restrict the results that are displayed when a user searches for a user, group, or claim.

Application Registry Service administration (SharePoint Server 2010) Provides information about turning off the Application Registry Service for better performance.

Use Project Server with PerformancePoint Services (SharePoint Server 2010) Outlines how to configure PerformancePoint Services in Microsoft SharePoint Server 2010 for use with Microsoft Project Server 2010 in business intelligence scenarios.

Updated article

Document library planning (SharePoint Server 2010) Added a note warning that sites that contain slide libraries with folders cannot be imported or exported.

Published the week of January 24, 2011

New articles

Configure Basic authentication for a classic-mode Web application (SharePoint Server 2010) Describes how to configure Basic authentication for a SharePoint Server 2010 classic-mode Web application.

Understanding business intelligence planning solutions and scenarios (SharePoint Server 2010) Contains direction and samples for developing a BI solution that includes planning, budgeting, and forecasting capabilities for Finance, HR, and other departments in an organization.

Published the week of January 17, 2011

New articles

Configure Basic authentication for a claims-based Web application (SharePoint Server 2010) Describes how to configure Basic authentication for a SharePoint Server 2010 claims-based Web application.

Configure Digest authentication for a claims-based Web application (SharePoint Server 2010) Describes how to configure Digest authentication for a SharePoint Server 2010 claims-based Web application.

Configure Digest authentication for a classic-mode Web application (SharePoint Server 2010) Describes how to configure Digest authentication for a SharePoint Server 2010 classic-mode Web application.

Using SharePoint lists as data sources with Excel Services (SharePoint Server 2010) Describes the solutions that are available for consuming SharePoint lists with Excel Services in Microsoft SharePoint Server 2010. Natively, Excel Services cannot consume SharePoint lists as data sources.

Back up a User Profile Service application (SharePoint Server 2010) Provides information about backing up the User Profile Service service application by using Windows PowerShell, Central Administration, or SQL Server tools.

Change properties for the Search Box Web Part (SharePoint Server 2010) Describes the search settings that you can specify for a site collection and how to configure properties for Search Box Web Parts that will appear on pages in the site collection.

Change properties for the Search Paging Web Part (SharePoint Server 2010) Describes how to change the way pages of search results are displayed by modifying Search Paging Web Part properties.

Estimate performance and capacity requirements for InfoPath Forms Services in SharePoint Server 2010 Contains guidance about capacity management and performance requirements for InfoPath Forms Services in Microsoft SharePoint Server 2010.

Overview of ProClarity Server reports displayed in PerformancePoint Web Parts Provides an overview of ProClarity Server reports.

Overview of Reporting Services reports displayed in PerformancePoint Web Parts Provides an overview of Reporting Services reports.

Overview of the PerformancePoint Decomposition Tree Provides an overview of the PerformancePoint Decomposition Tree, a view that is new in PerformancePoint Services in Microsoft SharePoint Server 2010.

Updated articles

Configure external access for mobile devices (SharePoint Server 2010) Updated information about how to configure Forefront Unified Access Gateway to support SharePoint Workspace Mobile.

Configure mobile views (SharePoint Server 2010) Added procedures for changing the redirect behavior of a mobile browser or adding a supported mobile device by modifying the compat.browser file.

Content Management Interoperability Services (CMIS) connector overview (SharePoint Server 2010) Added handling information in case an error appears when logging on to the repository, and clarified that the CMIS connector supports only the SOAP WSDL.

Track project resource usage by using a dashboard built on Excel Services, PerformancePoint Services, and Project Server Revised procedures for PerformancePoint data source creation and Excel workbook creation.

Install a software update (SharePoint Server 2010) Adjusted steps and diagrams for in-place update processes.

Manage metadata properties for search (SharePoint Server 2010) Added four videos.

Restore a Web application in SharePoint Server 2010 Added content about object cache user account settings and updated SQL Server procedures.

Storage and SQL Server capacity planning and configuration (SharePoint Server 2010) Added content about User Profile Service service application databases.

Published the week of January 10, 2011

New articles

Manage Search Centers (SharePoint Server 2010) Provides resources to help you modify or customize the components of a Search Center in SharePoint Server 2010.

Change what appears in the Refinement Panel Web Part (SharePoint Server 2010) Describes how to use options that are available for the Refinement Panel Web Part.

Change how search results appear in the Search Core Results Web Part (SharePoint Server 2010) Describes how to use options that are available for the Search Core Results Web Part.

Microsoft Press: Using Windows PowerShell to Perform and Automate Farm Administrative Tasks Provides an excerpt from "Microsoft SharePoint 2010 Administrator's Companion" that explores the SharePoint 2010 Management Shell and how to use Windows PowerShell to accomplish some basic administrative tasks.

Track project resource usage by using a dashboard built on Excel Services, PerformancePoint Services, and Project Server Provides instructions about how to create a basic dashboard that contains a PerformancePoint Services in SharePoint scorecard and an Excel Services report.

Updated article

Multilingual user interface overview (SharePoint Server 2010) Updated the limitations section with information about shared components and site templates that are not enabled for the multilingual user interface.

Published the week of January 3, 2011

New home page

Duet Enterprise for Microsoft SharePoint and SAP Find resources to help you learn about and deploy Duet Enterprise for Microsoft SharePoint and SAP.

New downloadable planning guides

Four new downloadable books provide comprehensive planning information:

  • Planning for sites and solutions, Part 1

  • Planning for sites and solutions, Part 2

  • Planning for server farms and environments

  • Capacity planning

New article

Choose the right business intelligence technology to suit your style (white paper) Discusses how to identify which style of BI you are doing and the tools that best fit each style.

Updated articles

Managed metadata input file format (SharePoint Server 2010) and Plan to import managed metadata (SharePoint Server 2010) Added a statement about not importing synonyms.

Change History

Date | Description
May 28, 2013 | One new article for the week of May 27.
January 21, 2010 | Initial publication


Roadmap to SharePoint Server 2010 content

This article describes the content available for IT professionals to assist you when you are planning, deploying, administering, and troubleshooting SharePoint Server 2010.

For SharePoint Server 2010 developer content, see the SharePoint Developer Center (http://go.microsoft.com/fwlink/p/?LinkId=159918).

Content resources

The SharePoint Server 2010 TechCenter (http://go.microsoft.com/fwlink/p/?LinkID=178512) is your primary gateway to in-depth technical information about SharePoint Server 2010. Through the TechCenter, you can access the following:

  • SharePoint Server 2010 Resource Centers (http://go.microsoft.com/fwlink/p/?LinkId=188958) Resource centers provide specific links to more information specific to a particular feature of SharePoint Server 2010. You can find resource centers for features such as installation and deployment, Business Connectivity Services, enterprise content management, and enterprise search, to name a few.

  • SharePoint Server 2010 Downloads (http://go.microsoft.com/fwlink/p/?LinkId=188959) Go to this page to download service packs, add-ins, tools, and trial software to help you optimize your SharePoint Server organization.

  • SharePoint Server 2010 library The library contains the most up-to-date IT pro content. This content is reviewed and approved by the SharePoint Server product team and will evolve over the life cycle of SharePoint Server 2010. Also make sure that you check out Newly published content for SharePoint Server 2010 in the library. This article contains a list of new or updated library content and is also available as an RSS feed (http://go.microsoft.com/fwlink/p/?LinkId=188960). It is updated whenever a new article is published or an existing article is updated.

  • SharePoint Server 2010 support (http://go.microsoft.com/fwlink/p/?LinkId=188961) Locate support and troubleshooting resources for SharePoint Server. You can search the Microsoft Knowledge Base, TechNet, or blogs for additional help.

Offline resources

If you are working offline and need access to library articles, the following option is available to you:

  • SharePoint Server 2010 Technical Library in Compiled Help format (http://go.microsoft.com/fwlink/p/?LinkId=188962) This downloadable .chm file is updated monthly and includes all articles published to the library as of the .chm file's release date.

Additional resources

The following visual resources supplement the library articles and can assist you when you plan your projects:

  • Video demos and training for SharePoint Server 2010 This article contains a list of SharePoint Server video demos intended for IT professionals.

  • Technical diagrams (SharePoint Server 2010) These poster-size models provide a visual representation of recommended solutions and correspond to various articles in the library. You can modify these models by using Microsoft Office Visio 2007 to reflect your plans for SharePoint Server and how it will fit into your own environment.

Community resources

You can use the community resources to learn more about SharePoint Server 2010 and to foster discussion, ask questions, and exchange ideas about your experiences with SharePoint Server 2010:

  • Microsoft SharePoint Team Blog (http://go.microsoft.com/fwlink/p/?LinkID=82560) This is the official blog of the SharePoint product group. It includes articles written by members of the product team, and product announcements and updates.

  • To The SharePoint (http://go.microsoft.com/fwlink/p/?LinkId=188956) This is the IT pro documentation team blog. This blog includes documentation highlights and announcements for SharePoint Server 2010.

  • SharePoint 2010 forums (http://go.microsoft.com/fwlink/p/?LinkId=188957) The forum provides a place for users and SharePoint Server product team members to discuss the product.


Downloadable content for SharePoint Server 2010

The content in this technical library is augmented by content available for download. You can download a copy of the entire Microsoft SharePoint Server 2010 TechNet library as a compiled help (.chm) file, or review the following table for a list of downloadable books, posters, and white papers. Some of the downloadable books in this list are also available for sale from Amazon.com.

Content Description

Technical diagrams (SharePoint Server 2010)

Poster-sized illustrations of Microsoft SharePoint Server 2010 architecture and concepts.

Downloadable book: Getting started with SharePoint Server 2010 (http://go.microsoft.com/fwlink/p/?LinkId=191146)

Getting Started with SharePoint Server 2010 from Amazon.com (http://go.microsoft.com/fwlink/p/?LinkId=229246)

Downloadable and printable content that contains information about the capabilities of and requirements for SharePoint Server 2010. (Available in .doc, .pdf, or .xps file formats, and also in .epub or .mobi file formats for eReader devices.)

Downloadable books: four planning guides

  • Planning for sites and solutions, Part 1 (http://go.microsoft.com/fwlink/p/?LinkId=196150)

  • Planning for sites and solutions, Part 2 http://go.microsoft.com/fwlink/p/?LinkID=208024

  • Planning for server farms and environments (http://go.microsoft.com/fwlink/p/?LinkId=189513)

  • Capacity planning (http://go.microsoft.com/fwlink/p/?LinkId=208221)

Four planning books from Amazon.com:

  • Planning guide for sites and solutions, Part 1 (http://go.microsoft.com/fwlink/p/?LinkId=229248)

  • Planning guide for sites and solutions, Part 2 (http://go.microsoft.com/fwlink/p/?LinkId=229249)

  • Planning for server farms and environments (http://go.microsoft.com/fwlink/p/?LinkId=229250)

  • Capacity planning (http://go.microsoft.com/fwlink/p/?LinkId=229251)

Downloadable and printable content that contains information about how to plan a deployment of SharePoint Server 2010. (Available in .doc, .pdf, or .xps file formats.)

Downloadable book: Governance guide for Microsoft SharePoint Server 2010 (http://go.microsoft.com/fwlink/p/?LinkId=214994)

Downloadable and printable content that contains information about how to determine the aspects of a deployment to govern and the governance techniques to use for SharePoint Server 2010. (Available in .doc, .pdf, or .xps file formats, and also in .epub or .mobi file formats for eReader devices.)

Downloadable book: Business continuity management for SharePoint Server 2010 (http://go.microsoft.com/fwlink/p/?LinkId=203470)

Business continuity management for SharePoint Server 2010 from Amazon.com (http://go.microsoft.com/fwlink/p/?LinkId=229255)

Downloadable and printable content that contains information about how to plan business continuity management (back up and restore, disaster recovery) for SharePoint Server 2010. (Available in .doc, .pdf, or .xps file formats, and also in .epub or .mobi file formats for eReader devices.)

Downloadable book: Upgrading to SharePoint Server 2010 (http://go.microsoft.com/fwlink/p/?LinkId=196221)

Upgrading to SharePoint Server 2010 from Amazon.com (http://go.microsoft.com/fwlink/p/?LinkId=229266)

Downloadable and printable content that contains information about how to upgrade to SharePoint Server 2010. (Available in .doc, .pdf, or .xps file formats, and also in .epub or .mobi file formats for eReader devices.)

Downloadable book: Deployment guide for SharePoint Server 2010 (http://go.microsoft.com/fwlink/p/?LinkId=196222)

Deployment guide for SharePoint Server 2010 from Amazon.com (http://go.microsoft.com/fwlink/p/?LinkId=229263)

Downloadable and printable content that contains information about how to deploy SharePoint Server 2010. (Available in .doc, .pdf, or .xps file formats, and also in .epub or .mobi file formats for eReader devices.)

Downloadable books: two operations guides

  • Operations guide for servers and server farms for SharePoint Server 2010 (http://go.microsoft.com/fwlink/p/?LinkId=196154)

  • Operations guide for sites and solutions for SharePoint Server 2010 (http://go.microsoft.com/fwlink/p/?LinkId=212589)

Operations guide for servers and server farms for SharePoint Server 2010 from Amazon.com (http://go.microsoft.com/fwlink/p/?LinkId=229264)

Downloadable and printable content that contains information about how to operate and maintain servers, server farms, sites, and solutions in SharePoint Server 2010. (Available in .doc, .pdf, or .xps file formats.)

Downloadable book: Remote BLOB storage for SharePoint Server 2010 (http://go.microsoft.com/fwlink/p/?LinkId=203469)

Remote BLOB storage for SharePoint Server 2010 from Amazon.com (http://go.microsoft.com/fwlink/p/?LinkId=229262)

Downloadable and printable content that contains information about how to use Remote BLOB Storage (RBS) to optimize database storage resources in SharePoint Server 2010. (Available in .doc, .pdf, or .xps file formats, and also in .epub or .mobi file formats for eReader devices.)

Downloadable book: Profile synchronization guide for SharePoint Server 2010 (http://go.microsoft.com/fwlink/p/?LinkId=225035)

Downloadable and printable content that contains information about how to plan and configure profile synchronization in SharePoint Server 2010. (Available in .doc, .pdf, or .xps file formats, and also in .epub or .mobi file formats for eReader devices.)

Downloadable book: Technical reference for SharePoint Server 2010 (http://go.microsoft.com/fwlink/p/?LinkId=196155)

Technical reference for SharePoint Server 2010 from Amazon.com (http://go.microsoft.com/fwlink/p/?LinkId=229265)

Downloadable and printable content that contains information about the SharePoint Server 2010 provider for Windows PowerShell and other helpful reference information about general settings, security, and tools. (Available in .doc, .pdf, or .xps file formats, and also in .epub or .mobi file formats for eReader devices.)

Business Intelligence Competency Center (BICC) - encoding and Unicode considerations (white paper)

Describes best practices and standards for encoding and using Unicode in BICCs.

Evaluation guide for SharePoint Server 2010 (white paper)

Discussion of capabilities of SharePoint Server 2010 for a technical audience.

Using AAM URL redirection as part of the upgrade process (SharePoint Server 2010) (white paper)

Describes the planning activities that you need to successfully deploy and use the alternate access mapping (AAM) URL redirection feature in SharePoint Server 2010 to help mitigate downtime during a server computer or server farm upgrade.

SharePoint 2010 Virtualization Guidance and Recommendations (white paper)

Provides overview guidance and recommendations for deploying Microsoft SharePoint Server 2010 in a virtual environment.

Implementing Claims-Based Authentication with SharePoint Server 2010 (whitepaper)

Describes how SharePoint Server 2010 administrators can use claims-based authentication to control user access to internal SharePoint Server 2010 Web application resources, and also external resources.

Technical library in compiled Help format

The entire technical library for SharePoint Server 2010 on TechNet is available in a compiled Help (CHM) version.


Product evaluation for SharePoint Server 2010

This section provides information that helps IT professionals provide a business case for choosing Microsoft SharePoint Server 2010. It contains an overview of product features, product comparison information, system requirements, product evaluation kit, news and reviews, case studies, information on how to buy, virtual labs, and product roadmap.

In this section:

  • What's new in SharePoint Server 2010

  • Evaluation guide for SharePoint Server 2010 (white paper)

  • Changes from Office SharePoint Server 2007 to SharePoint Server 2010

  • Business Productivity at Its Best: Microsoft Office 2010 and SharePoint Server 2010 Better Together (white paper)

  • Windows Server 2008 R2 and SharePoint Server 2010: Better Together (white paper)

  • SQL Server 2008 R2 and SharePoint 2010 Products: Better Together (white paper) (SharePoint Server 2010)

  • What's new for Excel Services (SharePoint Server 2010)

  • What's new in enterprise search (SharePoint Server 2010)

  • What's new for PerformancePoint Services (SharePoint Server 2010)

  • What's new for Access Services in SharePoint Server 2010

  • Hardware and software requirements (SharePoint Server 2010)

  • Plan browser support (SharePoint Server 2010)

  • Overview of security features in SharePoint Server 2010

  • Test Lab Guides for SharePoint Server 2010


What's new in SharePoint Server 2010
See Also

Microsoft SharePoint Server 2010 is the business collaboration platform for the enterprise and the Web. Organizations can use the platform to connect and empower people, and facilitate collaboration among colleagues, partners, and customers. To see what's new in SharePoint Server 2010, review the following:

  • Evaluation guide for SharePoint Server 2010 (white paper) This white paper describes the improvements and new additions to the SharePoint Server 2010 platform that are particularly compelling for IT pros.

  • Product evaluation for SharePoint Server 2010 This section contains an overview of product features, product comparison information, system requirements, a product evaluation kit, news and reviews, case studies, information about how to buy, virtual labs, and a product roadmap.

  • What's New in Microsoft SharePoint Server 2010 (http://go.microsoft.com/fwlink/p/?LinkId=187359) The TechNet Resource Center page points to articles and other resources to introduce you to new features such as Windows PowerShell, the new command-line interface and scripting language; health monitoring, an integrated health analysis tool (SharePoint Maintenance Manager) that enables SharePoint to automatically check for potential configuration, performance, and usage problems; and sandboxed solutions, a restricted execution environment that enables programs to access only certain resources and keep problems that occur in the sandbox from affecting the rest of the server environment.

  • Microsoft SharePoint 2010 home page (http://go.microsoft.com/fwlink/p/?LinkID=187360) This site gives an overview of SharePoint Server 2010 and includes videos that demonstrate key features that can improve productivity, provide flexible deployment, and create a scalable, unified infrastructure.

See Also

Other Resources

Resource Center: What's New in Microsoft SharePoint Server 2010


Evaluation guide for SharePoint Server 2010 (white paper)
See Also

This evaluation guide describes improvements and new features of Microsoft SharePoint Server 2010. This information helps executives and IT Pros evaluate buying decisions.

This guide describes some of the most compelling improvements and new additions to the SharePoint Server 2010 platform for IT pros. With this evaluation guide, the IT pro will be able to properly evaluate these new features and readily describe their capabilities to their colleagues, clients, and business partners.

The ultimate goal of this guide is to aid the reader in performing a thorough and effective evaluation of SharePoint Server 2010. It is also intended to be helpful for anyone who is interested in learning more about SharePoint Server 2010.

Download this guide as a Microsoft Word document (.docx).

Microsoft SharePoint Server 2010 Evaluation Guide (http://go.microsoft.com/fwlink/p/?LinkId=167123)

See Also

Other Resources

Resource Center: What's New in Microsoft SharePoint Server 2010
Resource Center: What's New in SharePoint Foundation 2010


Changes from Office SharePoint Server 2007 to SharePoint Server 2010

This article describes the features that have been deprecated or removed from Microsoft Office SharePoint Server 2007 to Microsoft SharePoint Server 2010. Deprecated features are shipped in SharePoint Server 2010 for compatibility with previous product versions. These features will be removed in subsequent versions.

In this article:

  • Deprecated features

  • Features removed from SharePoint Server 2010

Deprecated features

The following features are shipped with SharePoint Server 2010 but will be removed from subsequent versions.

Stsadm command-line tool

Description: The Stsadm command-line tool has been deprecated.

Reason for change: The Stsadm command-line tool will be superseded by Windows PowerShell 2.0.

Migration path: The Stsadm command-line tool is included to support compatibility with previous product versions. You should use Windows PowerShell 2.0 when performing command-line administrative tasks.

Site Directory feature

Description: The Site Directory provides a list of links to all sites within a site collection.

Reason for change: This functionality will be replaced by the social features of the User Profile service.

Migration path: Use the Tags and Notes feature to search on any tag that has been entered into the system and see the sites associated with it, as well as other tags and notes that are associated with that site. For a more structured approach to lists of links, every site collection comes with the ability to create lists of links, and workflows so that editorial control can be defined. A script or timer job can create and update a custom links list, or you can staple a feature to the Create Site Collection page in Central Administration.

Scorecard export to Reporting Services

Description: SharePoint Server 2010 no longer supports exporting a scorecard to SQL Server Reporting Services.

Reason for change: This functionality had a low adoption rate.

Business Data Catalog

Description: In Office SharePoint Server 2007, external data was integrated into solutions by using the Business Data Catalog, which was a shared service in the context of the Shared Service Provider framework.

Reason for change: In SharePoint Server 2010, external data is integrated into solutions using the new Business Data Connectivity service, which no longer runs in the context of the Shared Service Provider framework and instead fits into the new shared services framework of SharePoint Server 2010.

Migration path: The Business Data Connectivity service object model is not backward compatible with the object model used in the Business Data Catalog. To support the upward compatibility of Office SharePoint Server 2007 Business Data Catalog solutions with SharePoint Server 2010, an additional service, the Application Registry Service, is available in SharePoint Server 2010 that supports the object model used in the Business Data Catalog. We recommend that new solution development not be done on the Application Registry Service, which is provided only to guarantee upward compatibility of 2007 Microsoft Office system solutions.

Features removed from SharePoint Server 2010

The following features and functionality are no longer available in SharePoint Server 2010.

32-bit operating systems

Description: SharePoint Server 2010 requires a 64-bit operating system. Running SharePoint Server 2010 on 32-bit operating systems is no longer supported.

Reason for change: SharePoint Server 2010 has numerous features that benefit from the performance provided by 64-bit operating systems.

Migration path: Install SharePoint Server 2010 on 64-bit operating systems.

Side-by-side installation

Description: The ability to perform side-by-side installation of Office SharePoint Server 2007 and SharePoint Server 2010 on the same server is being removed. This change is related to the removal of support for Gradual upgrade.

Reason for change: Compatibility and performance issues prevent side-by-side installation.

Migration path: Perform upgrade-in-place installation on the same hardware, or perform database attach to a new farm. Use new hardware if both Office SharePoint Server 2007 and SharePoint Server 2010 versions of a farm must exist at the same time.

For more information, see Perform a database attach upgrade to SharePoint Server 2010.

Gradual upgrade

Description: Support for the gradual upgrade feature is being removed as part of the removal of Side-by-side installation.

Reason for change: Compatibility and performance issues prevent side-by-side installation.

Migration path: Use the read-only database capability of Office SharePoint Server 2007 with the database attach upgrade capability of SharePoint Server 2010 to minimize downtime.

For more information, see Using AAM URL redirection as part of the upgrade process (SharePoint Server 2010) (white paper).

For long upgrade periods where you must maintain both Office SharePoint Server 2007 and SharePoint Server 2010 versions of a farm, you can use the alternate access mapping (AAM) URL redirection capability provided in SharePoint Server 2010. Upgrades that use AAM URL redirection are performed by using database attach upgrade command-line operations instead of timer job-based events that are scheduled from the user interface (UI).

For more information, see Using AAM URL redirection as part of the upgrade process (SharePoint Server 2010) (white paper).

Office Web Components

Description: SharePoint Server 2010 no longer supports Office Web Components (OWC). The PivotChart, PivotTable, and Trend Chart report types are no longer available as options in the SharePoint Dashboard Designer.

Reason for change: This is a 2007 Microsoft Office system feature that is now replaced by the features available in Excel Services in Microsoft SharePoint Server 2010 in SharePoint Server 2010.

Migration path: In SharePoint Server 2010, use Excel Services instead of Office Web Components.

Web discussions

Description: Web discussions enable users to add comments about documents and pages without modifying their actual content. SharePoint Server 2010 does not support Web discussions.

Reason for change: This feature was deprecated in Office SharePoint Server 2007 because of its low adoption rate. The feature has now been removed from the product.

Migration path: The Note Board feature in SharePoint Server 2010 now provides this functionality.

SQL Server 2000 data sources

Description: SQL Server 2000 data sources are no longer supported in SharePoint Server 2010.

Reason for change: SQL Server 2000 does not fully support many of the newer data features available in SharePoint Server 2010.

Migration path: Use data sources that are on Microsoft SQL Server 2005 or Microsoft SQL Server 2008.

ODBC data sources

Description: ODBC data sources are no longer supported in SharePoint Server 2010.

Reason for change: Newer and more versatile database connection options have replaced the functionality of ODBC.

Migration path: ODBC is no longer listed as an option for connecting to a data source. Use another data connection type.

Version 3 themes

Description: A theme is a set of colors, fonts, and decorative elements that enable you to quickly change the appearance of a site. The functionality provided in the version 3 themes is not available in the newly designed version 4 themes.

Reason for change: Version 4 themes are redesigned to simplify the process of generating themes. The new architecture is not compatible with the architecture of version 3 themes.

Migration path: Version 3 themes are still supported if the UI mode is kept at version 3. Version 3 themes are not supported in version 4 UI mode.

Storage Management page

Description: The Storage Management (storman.aspx) page is now removed from the Central Administration Web site.

Reason for change: This feature can cause dramatic performance issues in a SharePoint farm. Site administrators who use this feature were often unaware of the performance slowdown that it was imposing on users.

Migration path: Site administrators can no longer use this feature.

Web bot software agents

Description: A Web bot software agent is a dynamic object on a Web page that is evaluated when the page is saved or, in some cases, when the page is opened in a Web browser. Search crawlers and indexers are examples of Web bots. Developers can no longer use Web bot entry points and users cannot add Web bots to SharePoint Server 2010 sites.

Reason for change: This functionality is replaced by Web Parts.

Migration path: Use Web Parts instead of Web bots.

E-mail enabled groups and Microsoft SharePoint Directory Management service (DMS)

Description: The Microsoft SharePoint Directory Management service (DMS) connects SharePoint sites to an organization's user directory to provide enhanced e-mail features. If a SharePoint farm is using DMS, users cannot enable SharePoint groups to use e-mail.

Reason for change: The type of authentication used in DMS is being replaced with claims authentication.

Migration path: This feature is not available in SharePoint Server 2010. Use claims authentication instead.

For more information, see Plan authentication methods (SharePoint Server 2010).

Permissions for sub-webs

Description: When you assign a permission level to a parent site, that permission level is inherited by all sub-webs of the parent site by default. In Office SharePoint Server 2007, if you wanted a sub-web to have different permissions from its parent, you could edit the inherited permission level definition at the sub-web scope. The result was that you would have two permission levels with the same name but different permissions, depending on their scope. For example, suppose you assigned the Design permission level to a parent site, but you want to change the permissions on a sub-web so that users will not be able to apply style sheets to pages in that sub-web. In Office SharePoint Server 2007, you could edit the Design permission level on the sub-web itself, remove the Apply Style Sheets permission, and save the permission level as Design. It would not be possible, just by looking at permission levels, to determine that the sub-web actually had a different set of permissions than its parent site.

Migration path: In SharePoint Server 2010, if you want to give different permissions to a sub-web, you must assign a separate permission level to the sub-web. Site collections that are upgraded from Office SharePoint Server 2007 and have these unique permission level structures will continue to work. However, the user interface in SharePoint Server 2010 does not have a way to edit an inherited permission level at the sub-web scope, so you cannot change them or create new permission level definitions of this type. If you have a specific business need for continuing to use the Office SharePoint Server 2007 process, use the SharePoint Server 2010 object model.

Shared Services Provider (SSP)

Description: Shared Services Providers (SSPs) do not exist in SharePoint Server 2010.

Reason for change: Service applications replace this functionality.

Migration path: Use service applications for many of the features that were supported and configured in SSPs.

Internationalized domain names

Description: Although Microsoft Office SharePoint Server 2007 supported internationalized domain names (IDNs), SharePoint Server 2010 does not.

Reason for change: Support of internationalized domain names (IDNs) has been deprecated.

Migration path: If you currently use IDNs with Office SharePoint Server 2007 and you plan to upgrade or migrate to SharePoint Server 2010, you must stop using IDNs, delete all IDN settings, and then set up an environment that does not use IDN before doing so.

Site directory template

Description: This site template is not available as an option in SharePoint Server 2010.

Reason for change: The functionality provided in this template is now replaced by Enterprise Content Management (ECM) solutions.

Migration path: Use the social tagging features in SharePoint Server 2010 to get much of the functionality provided by the site directory template. For more information, see Social tagging overview (SharePoint Server 2010) and Privacy and security implications of social tagging (SharePoint Server 2010).

News portal template

Description: This site template is not available as an option in SharePoint Server 2010.

Reason for change: The functionality provided in this template is now replaced by Enterprise Content Management (ECM) solutions.

Migration path: This template can still be accessed and used programmatically by developers. It is also still available as options in the UI if the SharePoint Server 2010 farm is upgraded from Microsoft Office SharePoint Server 2007. Use the publishing sites template to replace this template.

Collaboration portal template

Description: This site template is not available as an option in SharePoint Server 2010.

Reason for change: The functionality provided in this template is now replaced by Enterprise Content Management (ECM) solutions.

Migration path: This template can still be accessed and used programmatically by developers. It is also still available in the UI if the SharePoint Server 2010 farm is upgraded from Office SharePoint Server 2007. Use the publishing sites template to replace this template.


Windows Server 2008 R2 and SharePoint Server 2010: Better Together (white paper)
See Also

Published: August 5, 2010

This white paper describes the benefits of deploying Microsoft SharePoint Server 2010 on the Windows Server 2008 R2 Enterprise operating system and scenarios to which the features of Windows Server 2008 R2 Enterprise can be applied.

Download this white paper as a .docx file (http://go.microsoft.com/fwlink/p/?LinkId=199051).

Download this white paper as a PDF file (http://go.microsoft.com/fwlink/p/?LinkId=199052).

Download this white paper as an XPS file (http://go.microsoft.com/fwlink/p/?LinkId=199053).

See Also

Concepts

Business Productivity at Its Best: Microsoft Office 2010 and SharePoint Server 2010 Better Together (white paper)
SQL Server 2008 R2 and SharePoint 2010 Products: Better Together (white paper) (SharePoint Server 2010)
Hardware and software requirements (SharePoint Server 2010)


SQL Server 2008 R2 and SharePoint 2010 Products: Better Together (white paper) (SharePoint Server 2010)
See Also

Choosing an edition of Microsoft SQL Server 2008 R2 is an important step when planning a Microsoft SharePoint Server 2010 deployment. This paper describes the benefits of deploying on SQL Server 2008 R2 Enterprise Edition and scenarios in which its features can be applied.

Download this white paper as a Word document (.docx) (http://go.microsoft.com/fwlink/p/?LinkID=187264).

See Also

Other Resources

Resource Center: SQL Server and SharePoint Server 2010 Databases


Business Productivity at Its Best: Microsoft Office 2010 and SharePoint Server 2010 Better Together (white paper)

This white paper shows how Microsoft Office 2010 and Microsoft SharePoint 2010 Products contribute to the powerful architectural design of the Microsoft Business Productivity Infrastructure (BPI). It provides an overview of Office and SharePoint features working together in past versions, and focuses on the integration features of the Office 2010 experience with SharePoint 2010 Products.

Download this white paper as a PDF file: Business Productivity at Its Best (http://go.microsoft.com/fwlink/p/?LinkId=209803)


What's new for Excel Services (SharePoint Server 2010)
See Also

Published: May 8, 2010

Excel Services in Microsoft SharePoint Server 2010 is designed to help you analyze business data and increase business intelligence. Excel Services is a Microsoft SharePoint Server 2010 shared service that you can use to publish Microsoft Excel client workbooks on SharePoint Server. The published workbooks are available throughout your organization for knowledge workers to use. Any published workbook can be managed and secured according to your organizational needs and then shared throughout.

With business intelligence, you can store data that represents your organization's key business processes, organize that data in a useful manner, and present that data as meaningful information. Knowledge workers can act on that information to increase productivity and to provide feedback that improves underlying business processes.

New Excel Services features

Excel Services introduces many new features for the IT professional user. Several of these new features originate in SharePoint Server but directly affect all of the shared services. New shared features and the exclusive features that are added when you deploy Excel Services are discussed in this section.

  • Unattended Service Account Excel Services provides a low privilege unattended service account for customers to use as a single "get data" type of account. Excel Services relies on the Secure Store Service to store the encrypted unattended account. The unattended service account credentials are stored or cached as needed per session or connection so that when a workbook is loaded that contains a data connection for the unattended service account this account is called from Secure Store and used. Secure Store is available regardless of which authentication option you choose for the farm.

  • Manage Service Applications The SharePoint Central Administration Web site contains a link to the Manage Service Applications page, which lists all of the services the user has rights to administer. Essentially, all available services for a particular user or role are collected on the Manage Service Applications page. Each service has its own administration page, for example Manage Excel Services.

  • Windows PowerShell Windows PowerShell can perform a complete Excel Services deployment, and also the unattended installation and deployment of Microsoft SharePoint 2010 Products. Administrators who need to look up Trusted File Locations and user-defined functions are now able to do this by using a single Windows PowerShell cmdlet. Stsadm commands are no longer supported for Excel Services.

  • Trusted File Locations Trusted file locations are now provided by default; no administrator action typically is needed. However, if Universal Naming Convention (UNC) types of trusted folders or locations are used with Excel Services, the administrator must create new trusted file locations for these.

  • Delegate Services Permissions SharePoint Server contains a new shared service infrastructure that allows the farm administrator to delegate permissions to manage services to users.

  • Slicer feature A slicer is a new type of data filter in Microsoft Excel 2010 that is interactive, flexible in design and layout, and easy to create. Slicers enable users to select one or more items in a group and view the aggregate values of those groups in any reports that are connected to those slicers. For example, suppose that you have a Time slicer that lists months. Users can select one or more months, and any PivotTable reports and PivotChart reports that are connected to that slicer will update automatically to display information for the months that were selected. In Excel Services, slicers appear and function exactly like they do in the Excel client. Now suppose that you also have a Products slicer that lists product categories. Users can select one or more of those product categories—separate from or together with the Time slicer—and any reports connected to that slicer will update automatically to display information for those product categories.

    Slicers are manual filters that do not include advanced filtering capabilities, such as label, date, value, and top-10 types of filtering. Users can connect slicers to multiple PivotTables in Excel. That way, a single slicer can act as a common, shared filter so selections made by using the slicer are automatically propagated to all PivotTables that are connected to it. Additionally, slicers can be formatted by applying styles in Excel.

    Slicers can also serve as parameters to consume inputs from other Web Parts, such as filters.

New Excel Services custom applications

Custom applications are created by using user-defined functions and these functions remain available for Excel Services. Excel Services APIs will work with Excel Services and there are also a few new APIs. User-define functions are common functions that extend the calculation and data-import capabilities of Excel. See the Microsoft MSDN library article, Excel Services User-Defined Functions for more information. There are now two additional methods that are available to build custom applications:

  • REST API The REST API is a client server software architecture/protocol that defines entities and how to access them. This API uses hyperlinks and is stateless. REST lets the user access entities (ranges, charts) in workbooks using Excel Services through the HTTP protocol and also provides a method for users to set values in these ranges, including single cells.

    The REST API is based on the Representational State Transfer services that are based on two requirements:

    1. Addressing scheme used to locate networked resources

    2. Methodology for returning representations of these resources

  • JSOM or ECMAScript (JScript or JavaScript object model) ECMAScript enables syndication, mash-ups, automation of Excel Services, and the extension of Excel Services by third parties. It also provides a subset of Microsoft Excel Web Access functionality that lets an administrator or developer insert JavaScript code on a Web page to affect range navigation, cell values, and other grid operations. The ECMAScript mirrors the Excel Services Web services API functionality. However, it is not a proxy for this API.

See Also

Concepts

Excel Services overview (SharePoint Server 2010)
Excel Services administration (SharePoint Server 2010)
Plan the Secure Store Service (SharePoint Server 2010)

Other Resources

Resource Center: What's New in Microsoft SharePoint Server 2010 (http://go.microsoft.com/fwlink/p/?LinkId=220220)
Resource Center: Business Intelligence in SharePoint Server 2010 (http://go.microsoft.com/fwlink/p/?LinkId=258640)


What's new in enterprise search (SharePoint Server 2010)
See Also

Microsoft SharePoint Server 2010 offers all of the enterprise search features and functionality that are in Microsoft Office SharePoint Server 2007 and provides many new enterprise search capabilities. This article summarizes the new enterprise search features and functionality in SharePoint Server 2010. With these new capabilities, search administrators can configure an optimal, secure search infrastructure that enables end users to find information in the enterprise quickly and efficiently.

In this article:

  • New features and functionality for end users

  • New features and functionality for administrators

New features and functionality for end users

For end users, SharePoint Server 2010 provides each of the following:

  • New search query capabilities

  • Improvements for search results

New search query capabilities

SharePoint Server 2010 enables end users to create and run more effective search queries. It also enables users to search the enterprise from the Windows 7 desktop.

  • Boolean query syntax for free-text queries and for property queries

    SharePoint Server 2010 supports use of the Boolean operators AND, OR, and NOT in search queries. For example, a user can execute a query such as the following:

    ("SharePoint Search" OR "Live Search") AND (title:"Keyword Syntax" OR title:"Query Syntax")

  • Prefix matching for search keywords and document properties

    Search queries can use the * character as a wildcard at the end of a text string. For example, the search query "micro*" would find documents that contain "Microsoft" or "microchip," and the query "author:bi*" would find documents that contain "Bill" or "Bing." Therefore, the query "micro* author:bi*" would find documents that contain both "Microsoft" and "Bill Gates."

  • Suggestions while typing search queries

    As a user types keywords in the Search box, the Search Center provides suggestions to help complete the query. These suggestions are based on past queries from other users.

  • Suggestions after users run queries

    The Search Center provides improved "did you mean" suggestions in case keywords in a search query appear not to be what the user intended. In addition, when the search system returns results for a query, the Search Center provides suggestions for related searches.

  • Federated search connectors for searching the enterprise from Windows 7

    After SharePoint Server 2010 returns results for a search query, a Windows 7 user can create a federated search connector shortcut for that search scope in Windows Explorer. This enables the user to search that scope at any time from Windows 7. The search results and associated metadata are displayed in Windows Explorer, where the user can take advantage of Windows features such as file preview and drag-and-drop. For any given search query, the search results that are displayed in Windows 7 are exactly the same as those that are displayed in the Search Core Results Web Part when the search is conducted directly in SharePoint Server 2010.

Improvements for search results

SharePoint Server 2010 provides many improvements for getting and viewing search results.

  • Refinement panel

    The search results page includes a refinement panel, which provides a summary of search results and enables users to quickly browse and understand the results. For example, for a particular search query, the summary in the refinement panel might show that there are many Web pages in the search results and many documents by a particular author. A summary might also indicate that there are primarily Microsoft Word documents in the top 50 search results, followed by a particular number of Microsoft Excel documents.

    The refinement panel also enables users to filter results — for example by kind of content (document, spreadsheet, presentation, Web page, and so on), content location (such as SharePoint sites), content author, or date last modified. A user can also filter by category based on managed properties and enterprise content management (ECM) taxonomy nodes that an administrator configures.

  • People search

    People search enables users to find other people in the organization not only by name, but also by many other categories, such as department, job title, projects, expertise, and location.

    • Improved relevance in people search results

      Results relevance for people search is improved, especially for searches on names and expertise.

    • Self search

      To test the people search feature, users sometimes search for themselves. The search system recognizes this as a "self search" and displays related metadata. The metadata can include information such as the number of times the My Site profile was viewed and the terms that other people typed that returned the user's name. This can encourage users to add information to their profile pages to help other users when they search. As users update their My Site profiles, other users can more easily find them in subsequent searches. This increases productivity by helping to connect people who have common business interests and responsibilities.

    • Phonetic name matching and nickname matching

      Users can search for a person in the organization by name without knowing the exact spelling of the name. For example, the search query "John Steal" could yield "John Steele" in the search results; results for the search query "Jeff" include names that contain "Geoff." In addition, nickname matching makes it possible for a search query for "Bill" to yield results that include "William."

  • Enhancements for relevance of search results

    SharePoint Server 2010 provides improvements to increase the relevance and usefulness of search results, such as the following:

    • Ranking based on search results history

      If a document in a search results set was visited from a search results page much more often than other documents, the document is promoted in the ranking of search results.

    • Relevance based on inferred metadata

      Following a crawl, document metadata is parsed as part of the indexing process. In some cases, the search system can also infer metadata from the content of a document. This can be helpful when a document's explicit metadata is missing or incorrect. For example, the template of a Microsoft PowerPoint document might not specify an author, but the search system might infer the author from a phrase in the document such as "By John Doe."

New features and functionality for administrators

SharePoint Server 2010 includes new ways for administrators to help provide the most benefits for end users who are searching for information.

Improved administrative interface

SharePoint Server 2010 has the new Central Administration interface that was first available for organizations that deployed Office SharePoint Server 2007 and then installed the Infrastructure Update for Microsoft Office Servers. This new interface centralizes the location for performing administrative tasks. With SharePoint Server 2010, administrators have an interface that provides the following advantages:

  • A single starting point for all farm-wide administration tasks, including search administration. The most common search tasks are highlighted.

  • A central location where farm administrators and search administrators can monitor server status and activity.

Farm Configuration Wizard

The Farm Configuration Wizard runs automatically after a Server Farm installation finishes. This wizard helps simplify deployment of small farms. It provides the option to automate much of the initial configuration process with default settings. For example, when you use the Farm Configuration Wizard to deploy the first server in a farm, the wizard automatically creates a fully functional search system on that server, which includes:

  • A search topology that can support an index of up to 100 million crawled documents.

  • A Search Center from which users can issue queries. This Search Center is created automatically if the person installing the product selects this option in the wizard.

The search system can crawl local SharePoint sites (sites in the server farm) immediately after the Farm Configuration Wizard finishes running.

Search service administration independent of other shared services

In Microsoft Office SharePoint Server 2007, the Office SharePoint Server Search service was bundled with other shared services (such as Excel Calculation Services) in the Shared Services Provider (SSP). In that architecture, you could not create a new Search service without creating a new SSP. In contrast, in SharePoint Server 2010, you can create and manage Search service applications independently of one another and independently of other service applications.

Expanded support for automating administrative tasks

You can automate many search administration tasks by using Windows PowerShell 2.0 scripts. For example, you can use Windows PowerShell 2.0 scripts to manage content sources and search system topology.

Increased performance, capacity, and reliability

SharePoint Server provides many new ways to configure and optimize a search solution for better performance, capacity, and reliability.

Scalability for increased crawling capability

You can increase the number of crawl components to do the following:

  • Increase crawl frequency and volume, which helps the search system to provide more comprehensive and up-to-date results.

  • Increase performance by distributing the crawl load.

  • Provide redundancy if a particular server fails.

Index partitioning enables subsecond latency over an index that contains up to 100 million items, depending on the item sizes and types and other factors.

Scalability for increased throughput and reduced latency

You can increase the number of query components to do the following:

  • Increase query throughput — that is, increase the number of queries that the search system can handle at a time.

  • Reduce query latency — that is, reduce the amount of time it takes to retrieve search results.

  • Provide failover capability for query components.

Topology management during normal operations

You can tune the existing search topology during regular farm operations while search functionality remains available to users. For example, during usual operations, you can deploy additional index partitions and query components to accommodate changing conditions.

Operations management

SharePoint Server 2010 provides new capabilities for monitoring farm operations and customizing reports.

Health and performance monitoring

Health and performance monitoring features enable an administrator to monitor search operations in the farm. This can be especially helpful for monitoring crawl status and query performance.

SharePoint Server 2010 includes a health analysis tool that you can use to automatically check for potential configuration, performance, and usage problems. Search administrators can configure specific health reporting jobs to do the following:

  • Run on a predefined schedule.

  • Alert an administrator when problems are found.

  • Formulate reports that can be used for performance monitoring, capacity planning, and troubleshooting.

Report customization

You can customize reports that help you analyze search system operations and tune the search system to provide the best results for search queries. For example, reports can include information about what terms are used most frequently in queries or how many queries are issued during certain time periods. Information about peak query times can help you decide about server farm topology and about best times to crawl.

Searches of diverse content by crawling or federating

SharePoint Server 2010 can search content in repositories other than SharePoint sites by crawling or federating. For example, the search system can do the following:

  • Crawl content in repositories such as file shares, Exchange public folders, and Lotus Notes.

  • Use federation for access to search results that are gathered by other crawlers or search engines. An administrator might federate search results from www.bing.com or from a geographically distributed internal location, for example.

See Also

Other Resources

Resource Center: What's New in Microsoft SharePoint Server 2010
Resource Center: Enterprise Search in SharePoint Server 2010


SharePoint Server 2010 enterprise search evaluation guide (white paper)
See Also

The overall goal of this guide is to help technical decision makers, IT professionals, and developers perform a thorough and effective evaluation of the search features provided by Microsoft SharePoint Server 2010. This guide includes the following:

  • Descriptions of the new and improved enterprise search features and technologies provided by SharePoint Server 2010.

  • Details about the indexing and query architecture implemented by SharePoint Server 2010.

  • Tours and walkthroughs of the main search features provided by SharePoint Server 2010.

To download the guide in the format that you want, click the following links:

  • SharePoint Server 2010 Enterprise Search Evaluation Guide (Microsoft Office Word) (http://go.microsoft.com/fwlink/p/?LinkId=189431)

  • SharePoint Server 2010 Enterprise Search Evaluation Guide (PDF) (http://go.microsoft.com/fwlink/p/?LinkId=189432)

  • SharePoint Server 2010 Enterprise Search Evaluation Guide (XPS) (http://go.microsoft.com/fwlink/p/?LinkId=189433)

See Also

Other Resources

Resource Center: Enterprise Search in SharePoint Server 2010


What's new for PerformancePoint Services (SharePoint Server 2010)
See Also

Published: May 8, 2010

PerformancePoint Services in Microsoft SharePoint Server 2010 is a performance management service that you can use to monitor and analyze your business. By providing flexible, easy-to-use tools for building dashboards, scorecards, reports, and key performance indicators (KPIs), PerformancePoint Services can help everyone across an organization make informed business decisions that align with companywide objectives and strategy. Scorecards, dashboards, and KPIs help drive accountability. Integrated analytics help employees move quickly from monitoring information to analyzing it and, when appropriate, sharing it throughout the organization.

Prior to the addition of PerformancePoint Services to SharePoint Server 2010, Microsoft Office PerformancePoint Server 2007 functioned as a standalone server. Now PerformancePoint functionality is available as an integrated part of the SharePoint Server Enterprise license, as is the case with Excel Services in Microsoft SharePoint Server 2010. The popular features of earlier versions of PerformancePoint Services are preserved along with numerous enhancements and additional functionality.

What's new

PerformancePoint Services includes many new and updated features and functionality. For convenience, this document separates these updates into the following two categories:

  • Platform integration with SharePoint Products and Technologies

  • New PerformancePoint Services features

Platform integration with SharePoint Products and Technologies

PerformancePoint Services builds on the platform of SharePoint 2010 Products, providing customers with a more robust deployment, scalability, and performance model. The previous version was built directly on Microsoft Internet Information Services (IIS) and used a Microsoft SQL Server database. PerformancePoint Services is a SharePoint Server service application and uses its own database, separate from SharePoint Server content or configuration databases, to store annotations and comments in a scorecard and other temporary objects. Objects such as dashboards, scorecards, and KPIs are stored in the SharePoint Server content database. These architectural changes enable PerformancePoint Services to take advantage of SharePoint Server 2010 enterprise features.

Physical architecture

For information about the physical architecture, see the diagram in Overview of PerformancePoint Services architecture (SharePoint Server 2010), which shows the PerformancePoint Services architecture for farm deployment that utilizes three servers.

PerformancePoint Services as a service application

In SharePoint Server 2010, services are no longer contained within a Shared Service Provider (SSP). Instead, the infrastructure for hosting services is integrated with Microsoft SharePoint Foundation and the configuration of service offerings is much more flexible. The service application framework is a common service model that provides the following benefits:

  • A consistent management experience and shared infrastructure for all services that plug into it. As one of those services, PerformancePoint Services can provide the ability to perform bulk security operations for service applications in a farm deployment from the SharePoint Central Administration Web site.

  • Backup and recovery benefits include restoring a site collection, entire site content, or list content back to a previous version or point in time.

  • Services are installed by default; there is no SSP setup.

  • Sites can be configured to use only the services that are needed rather than the entire list of services.

  • Deploying services across sites and farms is more flexible. Similar to previous versions, a single set of services can be shared by all Web sites in a farm.

SharePoint Server 2010 as the repository

PerformancePoint Services stores data sources and dashboards in document libraries and other dashboard content in lists. The PerformancePoint Services database stores annotations and comments in a scorecard and other temporary objects. In addition, PerformancePoint Services data security and management is enhanced by the following features:

  • High availability (after you install SharePoint Server Service Pack 1)

  • Failover and up-time strategies

  • Backup and restore strategies

  • Disaster-recovery strategies

  • Multi-tenancy support for list content

  • Enterprise-level, single-security model

  • Authentication and authorization schemes

  • Trusted locations

  • Familiar interface for storing and consuming data

Changes to the security model

PerformancePoint Services uses SharePoint Server 2010 to manage user credentials and to secure access to dashboard content and its underlying data sources. The new and changed features of the PerformancePoint Services security model are described in the following list:

  • User authentication is handled by SharePoint Server 2010. Authentication of PerformancePoint Services users is validated by the SharePoint Server 2010 authentication provider.

  • Trusted locations are used to limit access to PerformancePoint Services content types to specific sites.

  • PerformancePoint Services uses the SharePoint Server 2010 security model to set permissions on dashboard content. These permissions provide a level of security that is equivalent to that found in Microsoft Office PerformancePoint Server 2007, but permissions in SharePoint Server 2010 do not map directly to PerformancePoint Monitoring Server 2007 roles and permissions.

New PerformancePoint Services features

PerformancePoint Services now can utilize SharePoint Server scalability, collaboration, backup and recovery, and disaster recovery capabilities. Dashboards and dashboard items are stored and secured within SharePoint lists and libraries, providing you with a single security and repository framework. The following section provides a summary of feature enhancements.

New features and enhancements

The following is an overview of features and enhancements to PerformancePoint Services in Microsoft SharePoint Server 2010.

  • With PerformancePoint Services, functioning as a service in SharePoint Server, dashboards and dashboard items are stored and secured within SharePoint lists and libraries, providing you with a single security and repository framework. The new architecture also takes advantage of SharePoint Server scalability, collaboration, backup and recovery, and disaster recovery capabilities. You also can include and link PerformancePoint Services Web Parts with other SharePoint Server Web Parts on the same page. The new architecture also streamlines security models that simplify access to report data.

  • The Decomposition Tree is a new visualization report type available in PerformancePoint Services. You can use it to quickly and visually break down higher-level data values from a multi-dimensional data set to understand the driving forces behind those values. The Decomposition Tree is available in scorecards and analytic reports and ultimately in dashboards.

  • You can access more detailed business information with improved scorecards. Scorecards have been enhanced to make it easy for you to drill down and quickly access more detailed information. PerformancePoint scorecards also offer more flexible layout options, dynamic hierarchies, and calculated KPI features. Using this enhanced functionality, you can now create custom metrics that use multiple data sources. You can also sort, filter, and view variances between actual and target values to help you identify concerns or risks.

  • Better Time Intelligence filtering capabilities that you can use to create and use dynamic time filters that are always up to date. Other improved filters improve the ability for dashboard users to quickly focus in on information that is most relevant.

  • Ability to include and link PerformancePoint Services Web Parts together with other PerformancePoint Services Web parts on the same page.

  • Easier to author and publish dashboard items by using Dashboard Designer.

  • SQL Server Analysis Services 2008 R2 support.

  • Increased support for accessibility compliance in individual reports and scorecards.

  • The KPI Details report is a new report type that displays contextually relevant information about KPIs, metrics, rows, columns, and cells within a scorecard. The KPI Details report works as a Web part that links to a scorecard or individual KPI to show relevant metadata to the end user in SharePoint Server. This Web part can be added to PerformancePoint dashboards or any SharePoint Server page.

  • Create analytics reports to better understand underlying business forces behind the results. Analytic reports have been enhanced to support value filtering, new chart types, and server-based conditional formatting.

Retired features

PerformancePoint Services no longer supports Trend Charts, PivotTable reports, PivotChart reports, ODBC data sources, Analysis Services 2000, and 32-bit server architecture.

Conclusion

By becoming more tightly integrated with SharePoint Server 2010, PerformancePoint Services takes advantage of many enterprise-level SharePoint Server 2010 features. This change in architecture results in many changes and enhancements to PerformancePoint Services.

Getting started

PerformancePoint Services is deployed as a service application in SharePoint Server. Once you have deployed your SharePoint Server farm, you can configure PerformancePoint Services.

For information about planning your PerformancePoint Services deployment, see Plan for PerformancePoint Services (SharePoint Server 2010).

For information about configuring PerformancePoint Services, see Configure PerformancePoint Services.

For information about creating dashboards, see Getting Started: PerformancePoint Dashboard Designer (http://go.microsoft.com/fwlink/p/?LinkId=227259) and Create a basic PerformancePoint dashboard (http://go.microsoft.com/fwlink/p/?LinkId=227262).

See Also

Concepts

PerformancePoint Services SuperFlows

Other Resources

Resource Center: What's New in Microsoft SharePoint Server 2010
Resource Center: Business Intelligence in SharePoint Server 2010


What's new for Access Services in SharePoint Server 2010
See Also

Access Services is a service application of Microsoft SharePoint Server 2010 that allows users to edit, update, and create linked Microsoft Access 2010 databases that can be viewed and manipulated by using an internet browser, the Access client, or a linked HTML page.

IT professionals and end users can use Access Services to allow the use of Access applications inside a Web browser, to publish and share information across teams, and to create and modify applications where no Access client is available.

Access Services allows you to create, edit, and save Access databases in the following ways:

  • By allowing instantiation of a Microsoft SharePoint Server database on any computer that can connect to and has permission to use Access Services on a networked computer running SharePoint Server.

  • By allowing the creation, publishing, and sharing of a SharePoint Server Web database from any computer that can connect to and has permission to publish to a computer that is running SharePoint Server and that has Access 2010 installed.

  • By allowing the download, modification, and republishing of modified data in an Access Web application from any computer that has Access 2010 installed and can connect to a computer running SharePoint Server.

See Also

Other Resources

Resource Center: What's New in Microsoft SharePoint Server 2010


Hardware and software requirements (SharePoint Server 2010)
See Also

This article lists the minimum hardware and software requirements to install and run Microsoft SharePoint Server 2010.

Important:

If you contact Microsoft technical support about a production system that does not meet the minimum hardware specifications described in this document, support will be limited until the system is upgraded to the minimum requirements.

In this article:

  • Overview

  • Hardware requirements—Web servers, application servers, and single server installations

  • Hardware requirements—Database servers

  • Software requirements

  • Access to applicable software

Overview

Microsoft SharePoint Server 2010 provides for a number of installation scenarios. Currently, these installations include single server with built-in database installations and single-server or multiple-server farm installations.

product logo for Microsoft Project If you plan on installing Microsoft Project Server 2010 with SharePoint Server 2010, see Hardware and software requirements (Project Server 2010). Especially note the supported Web browsers for Project Web App users.

Hardware requirements—Web servers, application servers, and single server installations

The requirements in the following table apply both to installations on a single server with a built-in database and to servers running SharePoint Server 2010 in a multiple server farm installation.

Component Minimum requirement

Processor

64-bit, four cores

RAM

  • 4 GB for developer or evaluation use

  • 8 GB for production use in a single server or multiple server farm

Hard disk

80 GB for system drive

You must have sufficient space for the base installation and sufficient space for diagnostics such as logging, debugging, creating memory dumps, and so on. For production use, you also need additional free disk space for day-to-day operations. Maintain twice as much free space as you have RAM for production environments. For more information, see Capacity management and sizing for SharePoint Server 2010.

Hardware requirements—Database servers

The requirements in the following table apply to database servers in production environments with multiple servers in the farm.

Note:

Our definitions of small and medium deployments are those described in the "Reference Architectures" section in Capacity management and sizing for SharePoint Server 2010.

Component Minimum requirement

Processor

  • 64-bit, four cores for small deployments

  • 64-bit, eight cores for medium deployments

RAM

  • 8 GB for small deployments

  • 16 GB for medium deployments

For large deployments, see the "Estimate memory requirements" section in Storage and SQL Server capacity planning and configuration (SharePoint Server 2010).

Note:

These values are higher than those recommended as the minimum values for SQL Server because of the distribution of data required for a SharePoint Products 2010 environment. For more information about SQL Server system requirements, see Hardware and Software Requirements for Installing SQL Server 2008 (http://go.microsoft.com/fwlink/p/?LinkId=129377).

Hard disk

80 GB for system drive

Hard disk space is dependent on the size of your SharePoint content. For information about estimating the size of content and other databases for your deployment, see Storage and SQL Server capacity planning and configuration (SharePoint Server 2010).

Software requirements

The requirements in the following tables apply to single server with built-in database installations and server farm installations that include a single server and multiple servers in the farm.

Important:

SharePoint Server 2010 does not support single label domain names. For more information, see Information about configuring Windows for domains with single-label DNS names.

The Microsoft SharePoint Products Preparation Tool — which you access from the SharePoint Server 2010 Start page — can assist you in the installation of the software prerequisites for SharePoint Server 2010. Ensure that you have an Internet connection, because some of these prerequisites are installed from the Internet. For more information, see Deploy a single server with SQL Server (SharePoint Server 2010), Deploy a single server with a built-in database (SharePoint Server 2010), and Multiple servers for a three-tier farm (SharePoint Server 2010).

Minimum requirements

Environment Minimum requirement

Database server in a farm

One of the following:

  • The 64-bit edition of Microsoft SQL Server 2012.

    Important:

    In order to use Microsoft SQL Server 2012, you must also be running SharePoint Server 2010 SP1 or a later version of SharePoint Server 2010.

  • The 64-bit edition of Microsoft SQL Server 2008 R2.

  • The 64-bit edition of Microsoft SQL Server 2008 with Service Pack 1 (SP1) and Cumulative Update 2. From the Cumulative update package 2 for SQL Server 2008 Service Pack 1 (http://go.microsoft.com/fwlink/p/?LinkId=165962) page, click the View and request hotfix downloads link and follow the instructions. On the Hotfix Request page, download the SQL_Server_2008_SP1_Cumulative_Update_2 file. When you install Microsoft SQL Server 2008 SP1 on Windows Server 2008 R2, you might receive a compatibility warning. You can disregard this warning and continue with your installation.

    Note:

    We do not recommend that you use CU3 or CU4, but instead CU2, CU5, or a later CU than CU5. For more information, see Cumulative update package 5 for SQL Server 2008 (http://go.microsoft.com/fwlink/p/?LinkId=196928). Download the SQL_Server_2008_RTM_CU5_SNAC file.

  • The 64-bit edition of Microsoft SQL Server 2005 with Service Pack 3 (SP3). From the Cumulative update package 3 for SQL Server 2005 Service Pack 3 (http://go.microsoft.com/fwlink/p/?LinkId=165748) page, click the View and request hotfix downloads link and follow the instructions. On the Hotfix Request page, download the SQL_Server_2005_SP3_Cumulative_Update_3 file.

For more information about choosing a version of SQL Server, see SQL Server 2008 R2 and SharePoint 2010 Products: Better Together (white paper) (SharePoint Server 2010).

Single server with built-in database

  • The 64-bit edition of Windows Server 2008 Standard, Enterprise, Data Center, or Web Server with SP2; the 64-bit edition of Windows Server 2008 R2 Standard, Enterprise, Data Center, or Web Server; or the 64-bit edition of Windows Server 2008 R2 Service Pack 1 (SP1) Standard, Enterprise, Data Center, or Web Server. If you are running Windows Server 2008 without SP2, the Microsoft SharePoint Products Preparation Tool installs Windows Server 2008 SP2 automatically.

    Note:

    You must download an update for Windows Server 2008 and Windows Server 2008 R2 before you run Setup. The update is a hotfix for the .NET Framework 3.5 SP1 that is installed by the Preparation tool. It provides a method to support token authentication without transport security or message encryption in WCF. For more information and links, see the "Access to Applicable Software" section later in this article.

  • KB979917 - QFE for Sharepoint issues - Perf Counter fix & User Impersonation (http://go.microsoft.com/fwlink/p/?LinkId=192577)

    • For Windows Server 2008 SP2, download the Windows6.0-KB979917-x64.msu (Vista) file.

    • For Windows Server 2008 R2, download the Windows6.1-KB979917-x64.msu (Win7) file.

    For information, see the related KB article Two issues occur when you deploy an ASP.NET 2.0-based application on a server that is running IIS 7.0 or IIS 7.5 in Integrated mode (http://go.microsoft.com/fwlink/p/?LinkId=192578).

The preparation tool installs the following prerequisites:

  • Web Server (IIS) role

  • Application Server role

  • Microsoft .NET Framework version 3.5 SP1

  • SQL Server 2008 Express with SP1

  • Microsoft Sync Framework Runtime v1.0 (x64)

  • Microsoft Filter Pack 2.0

  • Microsoft Chart Controls for the Microsoft .NET Framework 3.5

  • Windows PowerShell 2.0

  • SQL Server 2008 Native Client

  • Microsoft SQL Server 2008 Analysis Services ADOMD.NET

  • ADO.NET Data Services Update for .NET Framework 3.5 SP1

  • A hotfix for the .NET Framework 3.5 SP1 that provides a method to support token authentication without transport security or message encryption in WCF.

  • Windows Identity Foundation (WIF)

    Note:

    If you have Microsoft "Geneva" Framework installed, you must uninstall it before you install the Windows Identity Foundation (WIF).

Front-end Web servers and application servers in a farm

  • The 64-bit edition of Windows Server 2008 Standard, Enterprise, Data Center, or Web Server with SP2; the 64-bit edition of Windows Server 2008 R2 Standard, Enterprise, Data Center, or Web Server; or the 64-bit edition of Windows Server 2008 R2 Service Pack 1 (SP1) Standard, Enterprise, Data Center, or Web Server. If you are running Windows Server 2008 with SP1, the Microsoft SharePoint Products Preparation Tool installs Windows Server 2008 SP2 automatically.

    Note:

    You must download an update for Windows Server 2008 and Windows Server 2008 R2 before you run Setup. The update is a hotfix for the .NET Framework 3.5 SP1 that is installed by the Preparation tool. It provides a method to support token authentication without transport security or message encryption in WCF. For more information and links, see the "Access to Applicable Software" section.

  • KB979917 - QFE for Sharepoint issues - Perf Counter fix & User Impersonation (http://go.microsoft.com/fwlink/p/?LinkId=192577)

    • For Windows Server 2008 SP2, download the Windows6.0-KB979917-x64.msu (Vista) file.

    • For Windows Server 2008 R2, download the Windows6.1-KB979917-x64.msu (Win7) file.

    For information, see the related KB article Two issues occur when you deploy an ASP.NET 2.0-based application on a server that is running IIS 7.0 or IIS 7.5 in Integrated mode (http://go.microsoft.com/fwlink/p/?LinkId=192578).

The preparation tool installs the following prerequisites:

  • Web Server (IIS) role

  • Application Server role

  • Microsoft .NET Framework version 3.5 SP1

  • Microsoft Sync Framework Runtime v1.0 (x64)

  • Microsoft Filter Pack 2.0

  • Microsoft Chart Controls for the Microsoft .NET Framework 3.5

  • Windows PowerShell 2.0

  • SQL Server 2008 Native Client

  • Microsoft SQL Server 2008 Analysis Services ADOMD.NET

  • ADO.NET Data Services Update for .NET Framework 3.5 SP1

  • A hotfix for the .NET Framework 3.5 SP1 that provides a method to support token authentication without transport security or message encryption in WCF.

  • Windows Identity Foundation (WIF)

    Note:

    If you have Microsoft "Geneva" Framework installed, you must uninstall it before you install the Windows Identity Foundation (WIF).

Client computer

  • A supported browser. For more information, see Plan browser support (SharePoint Server 2010).

Optional software

Environment Optional software

Single server with built-in database and front-end Web servers and application servers in a farm

  • Microsoft SQL Server 2008 R2 to work with PowerPivot workbooks. For more information, see Microsoft SQL Server 2008 R2 (http://go.microsoft.com/fwlink/p/?LinkID=179611).

  • Windows 7 or Windows Vista. For more information, see Setting Up the Development Environment for SharePoint Server (http://go.microsoft.com/fwlink/p/?LinkID=164557).

  • SQL Server Remote BLOB Store installation package from the Feature Pack for Microsoft SQL Server 2008 R2. For the download, go to the Download Center (http://go.microsoft.com/fwlink/p/?LinkID=177388).

The preparation tool installs the following optional software:

  • Microsoft SQL Server 2008 R2 Reporting Services Add-in for Microsoft SharePoint Technologies 2010 (SSRS) to use Access Services for SharePoint Server 2010. For the download, go to the Download Center (http://go.microsoft.com/fwlink/p/?LinkID=192588).

  • Microsoft Server Speech Platform to make phonetic name matching work correctly for SharePoint Search 2010.

Client computer

  • Microsoft Office 2010 client. For more information, see Microsoft Office 2010 (http://go.microsoft.com/fwlink/p/?LinkId=195843).

  • Microsoft Silverlight 3.

Access to applicable software

To install Windows Server 2008, Microsoft SQL Server, or SharePoint Server, you can go to the Web sites listed in this section. You can install most software prerequisites through the SharePoint Server Start page. The software prerequisites are also available from Web sites listed in this section. The Web Server (IIS) role and the Application Server role can be enabled manually in Server Manager.

In scenarios where installing prerequisites directly from the Internet is not possible or not feasible, you can install the prerequisites from a network share. For more information, see Install prerequisites from a network share (SharePoint Server 2010).

  • SharePoint Server 2010 Standard Trial (http://go.microsoft.com/fwlink/p/?LinkId=197413)

  • SharePoint Server 2010 Enterprise Trial (http://go.microsoft.com/fwlink/p/?LinkId=197414)

  • 2010 Server Language Packs for SharePoint Server 2010, Project Server 2010, Search Server 2010, and Office Web Apps 2010 (http://go.microsoft.com/fwlink/p/?LinkId=197415)

  • Windows Server 2008 R2 and SharePoint Server 2010: Better Together (white paper)

  • Business Productivity at Its Best: Microsoft Office 2010 and SharePoint Server 2010 Better Together (white paper)

  • Windows Server 2008 (http://go.microsoft.com/fwlink/p/?LinkId=197426)

  • Windows Server 2008 R2 (http://go.microsoft.com/fwlink/p/?LinkId=197428)

  • Windows Server 2008 R2 SP1 (http://go.microsoft.com/fwlink/p/?LinkId=214566)

  • SQL Server 2008 R2 (http://go.microsoft.com/fwlink/p/?LinkId=197429)

  • SQL Server 2008 (http://go.microsoft.com/fwlink/p/?LinkID=179611)

  • SQL Server 2005 (http://go.microsoft.com/fwlink/p/?LinkId=197431)

  • Microsoft SQL Server 2008 SP1 (http://go.microsoft.com/fwlink/p/?LinkId=166490)

  • Cumulative update package 2 for SQL Server 2008 Service Pack 1 (http://go.microsoft.com/fwlink/p/?LinkId=165962)

  • Cumulative update package 5 for SQL Server 2008 (http://go.microsoft.com/fwlink/p/?LinkId=197434). Download the SQL_Server_2008_RTM_CU5_SNAC file.

  • Microsoft SQL Server 2005 SP3 (http://go.microsoft.com/fwlink/p/?LinkId=166496)

  • Cumulative update package 3 for SQL Server 2005 Service Pack 3 (http://go.microsoft.com/fwlink/p/?LinkId=165748)

  • Microsoft Windows Server 2008 SP2 (http://go.microsoft.com/fwlink/p/?LinkId=166500)

  • Windows Server 2008 with SP 2 FIX: A hotfix that provides a method to support the token authentication without transport security or message encryption in WCF is available for the .NET Framework 3.5 SP1 (http://go.microsoft.com/fwlink/p/?LinkID=160770)

  • Windows Server 2008 R2 FIX: A hotfix that provides a method to support the token authentication without transport security or message encryption in WCF is available for the .NET Framework 3.5 SP1 (http://go.microsoft.com/fwlink/p/?LinkID=166231)

  • Microsoft .NET Framework 3.5 Service Pack 1 (http://go.microsoft.com/fwlink/p/?LinkId=131037)

  • Microsoft SQL Server 2008 Express Edition Service Pack 1 (http://go.microsoft.com/fwlink/p/?LinkId=166503)

  • Windows Identity Foundation for Windows Server 2008 (http://go.microsoft.com/fwlink/p/?LinkID=160381)

  • Windows Identity Foundation for Windows Server 2008 R2 (http://go.microsoft.com/fwlink/p/?LinkID=166363)

  • Microsoft Sync Framework v1.0 (http://go.microsoft.com/fwlink/p/?LinkID=141237)

  • Microsoft Office 2010 Filter Packs (http://go.microsoft.com/fwlink/p/?LinkId=191851)

  • Microsoft Chart Controls for Microsoft .NET Framework 3.5 (http://go.microsoft.com/fwlink/p/?LinkID=141512)

  • Windows PowerShell 2.0 (http://go.microsoft.com/fwlink/p/?LinkId=161023)

  • Microsoft SQL Server 2008 Native Client (http://go.microsoft.com/fwlink/p/?LinkId=166505)

  • Microsoft SQL Server 2008 Analysis Services ADOMD.NET (http://go.microsoft.com/fwlink/p/?linkid=160390)

  • KB979917 - QFE for Sharepoint issues - Perf Counter fix & User Impersonation (http://go.microsoft.com/fwlink/p/?LinkId=192577)

    • For Windows Server 2008 SP2, download the Windows6.0-KB979917-x64.msu (Vista) file.

    • For Windows Server 2008 R2, download the Windows6.1-KB979917-x64.msu (Win7) file.

  • ADO.NET Data Services Update for .NET Framework 3.5 SP1 (http://go.microsoft.com/fwlink/p/?LinkId=163519) for Windows Server 2008 SP2

  • ADO.NET Data Services Update for .NET Framework 3.5 SP1 (http://go.microsoft.com/fwlink/p/?LinkId=163524) for Windows Server 2008 R2 or Windows 7

  • Microsoft Silverlight 3 (http://go.microsoft.com/fwlink/p/?LinkId=166506)

  • Microsoft Office 2010 (http://go.microsoft.com/fwlink/p/?LinkID=195843)

  • SQL Server 2008 R2 Reporting Services Add-in for Microsoft SharePoint Technologies 2010 (http://go.microsoft.com/fwlink/p/?LinkId=192588)

  • SQL Server Remote BLOB Store installation package from the Feature Pack for Microsoft SQL Server 2008 R2. For the download, go to the Download Center (http://go.microsoft.com/fwlink/p/?LinkID=177388).

  • Microsoft Server Speech Platform (http://go.microsoft.com/fwlink/p/?LinkID=179612)

  • Speech recognition language for English (http://go.microsoft.com/fwlink/p/?LinkID=179613)

  • Speech recognition language for Spanish (http://go.microsoft.com/fwlink/p/?LinkID=179614)

  • Speech recognition language for German (http://go.microsoft.com/fwlink/p/?LinkID=179615)

  • Speech recognition language for French (http://go.microsoft.com/fwlink/p/?LinkID=179616)

  • Speech recognition language for Japanese (http://go.microsoft.com/fwlink/p/?LinkID=179617)

  • Speech recognition language for Chinese (http://go.microsoft.com/fwlink/p/?LinkID=179618)

  • Office Communicator 2007 R2 (http://go.microsoft.com/fwlink/p/?LinkId=196930)

  • Microsoft SharePoint Designer 2010 (32-bit) (http://go.microsoft.com/fwlink/p/?LinkId=196931)

  • Microsoft SharePoint Designer 2010 (64-bit) (http://go.microsoft.com/fwlink/p/?LinkId=196932)

See Also

Other Resources

Resource Center: Capacity Management for SharePoint Server 2010
Resource Center: Enterprise Search in SharePoint Server 2010


Plan browser support (SharePoint Server 2010)

Updated: August 20, 2013

Microsoft SharePoint Server 2010 supports several commonly used Web browsers. This article describes different levels of Web browser support, browser compatibility for published sites, and how ActiveX controls affect features.

In this article:

  • About planning browser support

  • Key planning phase of browser support

  • Browser support matrix

  • Browser details

  • ActiveX controls

  • Browser compatibility for publishing sites

  • Mobile browser support

About planning browser support

SharePoint Server 2010 supports several commonly used Web browsers. However, certain Web browsers might cause some SharePoint Server 2010 functionality to be downgraded, limited, or available only through alternative steps. In some cases, functionality might be unavailable for noncritical administrative tasks.

As part of planning your deployment of SharePoint Server 2010, we recommend that you review the browsers used in your organization to ensure optimal performance with SharePoint Server 2010.

If you are upgrading from SharePoint Portal Server 2003 to SharePoint Server 2010, additional considerations for browser support exist. For information, see Upgrade from SharePoint Portal Server 2003 to SharePoint Server 2010.

Key planning phase of browser support

Browser support is an important part of your SharePoint Server 2010 implementation. Before you install SharePoint Server 2010, ensure that you know which browsers SharePoint Server 2010 supports. The information in this article describes browser support in the following sections:

  • Browser support matrix

  • Browser details

  • Browser compatibility for publishing sites

Browser support matrix

The following table summarizes the support levels of commonly used Web browsers.

Browser | Supported | Supported with limitations | Not supported
Internet Explorer 10 | 32-bit | 64-bit |
Internet Explorer 9 | 32-bit | 64-bit |
Internet Explorer 8 | 32-bit | 64-bit |
Internet Explorer 7 | 32-bit | 64-bit |
Internet Explorer 6 |  |  | X
Google Chrome (latest publically released version) | X |  |
Mozilla Firefox (latest publically released version) | X |  |
Apple Safari (latest publically released version) |  | X |

Browser details

You should review the details of the Web browser that you have or plan to use in your organization to ensure that the Web browser works with SharePoint Server 2010 and according to your business needs.

Internet Explorer versions

The product group makes every effort to validate that SharePoint functionality works correctly with released versions of Internet Explorer. Customers who want a more deeply validated browser interaction experience should strongly consider Internet Explorer.

Internet Explorer 10

The following operating system support Internet Explorer 10:

  • Windows 8

  • Windows 7

Internet Explorer 8 and Internet Explorer 9

The following operating systems support Internet Explorer 8 and Internet Explorer 9:

  • Windows Server 2008 R2

  • Windows Server 2008

  • Windows Server 2003

  • Windows 7

  • Windows Vista

  • Windows XP

Note:

Windows XP is in extended support until April 8, 2014. For more information about the support lifecycle, see Windows lifecycle

Internet Explorer 7

Internet Explorer 7 is supported on the following operating systems:

  • Windows Server 2008

  • Windows Server 2003

  • Windows Vista

  • Windows XP

Note:

Windows XP is in extended support until April 8, 2014. For more information about the support lifecycle, see Windows lifecycle

Internet Explorer 6

SharePoint Server 2010 does not support Internet Explorer 6.

If you use publishing sites, see Browser compatibility for publishing sites later in this article.

Other browsers

Google Chrome (latest publicly released version)

The following operating systems support Google Chrome:

  • Windows 8

  • Windows Server 2008 R2

  • Windows Server 2008

  • Windows Server 2003

  • Windows 7

  • Windows Vista

  • Windows XP

Note:

Windows XP is in extended support until April 8, 2014. For more information about the support lifecycle, see Windows lifecycle

Mozilla Firefox (latest released version plus immediate previous version)

For example, if the latest released version is 10, then version 9 is also supported.

The following operating systems support Mozilla Firefox:

  • Windows 8

  • Windows Server 2008 R2

  • Windows Server 2008

  • Windows Server 2003

  • Windows 7

  • Windows Vista

  • Windows XP

Note:

Windows XP is in extended support until April 8, 2014. For more information about the support lifecycle, see Windows lifecycle

Apple Safari (latest publicly released version)

The following operating systems support Safari:

  • Windows 8

  • Mac OSX (Snow Leopard and Lion)

  • Windows 7

  • Windows Vista

  • Windows XP

Note:

Windows XP is in extended support until April 8, 2014. For more information about the support lifecycle, see Windows lifecycle

ActiveX controls

Some functionality in SharePoint Server 2010 requires the use of ActiveX controls. This produces limitations on browsers which do not support ActiveX. Currently only 32-bit versions of Internet Explorer support this functionality. All other browsers have the following limitations.

Feature Limitation

Connect to Outlook, Connect to Office, and Sync to SharePoint Workspace

Works with an ActiveX control and the stssync:// protocol. Therefore, functionality may be limited without an ActiveX control, such as the one that is included in Microsoft Office 2010. The feature also requires an application that is compatible with the stssync:// protocol, such as Microsoft Outlook.

Datasheet view

Microsoft Office 2010 does not provide a 64-bit version of this control.

Edit in Microsoft Office application

Microsoft Office 2010 does not provide a 64-bit version of this control.

File upload and copy

Microsoft Office 2010 does not provide a 64-bit version of this control.

Microsoft InfoPath 2010 integration

Microsoft Office 2010 does not provide a 64-bit version of this control.

Microsoft PowerPoint 2010 Picture Library integration

Requires a 64-bit ActiveX control, such as the one that is delivered in Microsoft Office 2010. Users can use the following workarounds when no control is installed:

  • If you want to upload multiple pictures in a picture library, you have to upload one picture at a time by using Upload.aspx.

  • If you want to edit a picture in a picture library, you have to download the picture, edit it, and then upload the picture to the picture library.

  • If you want to download more than one picture from a picture library, you have to download one picture at a time by clicking the picture link.

Microsoft Visio 2010 diagram creation

Microsoft Office 2010 does not provide a 64-bit version of this control.

New Document

Microsoft Office 2010 does not provide a 64-bit version of this control.

Although the New Document command may not work, you can use the Upload Document functionality. If you install and configure Office Web Applications on the server, the New Document command works, and you can create an Office document in your browser.

Send To

Microsoft Office 2010 does not provide a 64-bit version of this control.

Without the control, you cannot send files from one SharePoint farm to another SharePoint farm. However, you can still send files from one site to another site.

Signing forms (InfoPath Form Services)

Microsoft Office 2010 does not provide a 64-bit version of this control.

Spreadsheet and database integration

Microsoft Office 2010 does not provide a 64-bit version of this control. Users can use the following workarounds when no control is installed:

  • If you want to edit a document, you have to download the document, edit it, and then save it back to the server.

  • In a list that requires a document to be checked out for editing, you have to use the Edit menu to check out the document, edit it, and then check it in by using the Edit menu.

  • Export to spreadsheet. You can export a SharePoint list as a spreadsheet by clicking Export to Spreadsheet on the List tab on the ribbon.

Slide library and PowerPoint 2010 integration

Microsoft Office 2010 does not provide a 64-bit version of this control. Users can use the following workarounds when no control is installed:

  • Delete a slide. You can delete a slide by first clicking the slide, and then clicking Delete Slide. Repeat for each slide.

For Microsoft Office 2010 (64-bit), only the following controls work with 64-bit browsers:

  • ppslax.dll - Slide library and PowerPoint 2010 integration

  • name.dll - Presence information

Browser compatibility for publishing sites

For publishing sites, the Web Content Management features built into SharePoint Server 2010 provide a deep level of control over the markup and styling of the reader experience. Page designers can use these features to help ensure that the pages they design are compatible with additional browsers, including Internet Explorer 6, for viewing content. However, page designers are responsible for creating pages that are compatible with the browsers that they want to support.

A standards-based browser, such as Internet Explorer 9 or Mozilla Firefox, is required to author content.

Mobile browser support

The following table summarizes the support levels of commonly used mobile browsers

Mobile device operating system | Minimum operating system Version | Browser
Windows Phone | 7.0 | Internet Explorer
Apple iOS | 4.0 | Safari
Google Android | 2.1 | Android Browser
Research in Motion (RIM) Blackberry | 4.0 | Blackberry Browser
Nokia Symbian | 3 | Nokia Browser

Change History

Date | Description
August 20, 2013 | Updated the statement about Firefox support.
May 12, 2010 | Initial publication


IP support (SharePoint Server 2010)
See Also

This article explains the support for Internet Protocol Version 4 (IPv4) and Internet Protocol Version 6 (IPv6) in Microsoft SharePoint 2010 Products.

SharePoint 2010 Products support the following environments:

  • IPv4-only

  • Mixed IPv4 and IPv6

  • IPv6-only

In a SharePoint environment, "mixed" can be defined as one of the following likely scenarios:

  • Both IPv4 and IPv6 protocols are running.

  • Some of your client computers are using only IPv4 and some of them are using both IPv4 and IPv6.

  • Your client computers are using only IPv4, but the computer running Microsoft SQL Server is using both IPv4 and IPv6.

By default, the IPv6 protocol and the IPv4 protocol are both installed and enabled in Windows Vista, Windows Server 2008, Windows 7, and Windows Server 2008 R2. When both IPv4 and IPv6 are enabled, IPv6 is preferred over IPv4 when using names and Domain Name System (DNS) name query responses contain both types of addresses. Additionally, you can remove the IPv4 protocol so that the computer runs only IPv6.

To determine what versions are being used on your network, you can use the IPConfig.exe tool. If the display of the ipconfig command at a Command Prompt contains rows named "IPv6 Address" or "Temporary IPv6 Address," you have IPv6 in your environment. If all of your IPv6 addresses begin with "fe80" and correspond to rows named "Link-Local IPv6 Address," you do not have IPv6 in your environment. For additional information, see IPConfig (http://go.microsoft.com/fwlink/p/?LinkId=122336&clcid=0x409).

The following list shows other important considerations regarding IPv6:

  • For any computer that is authenticated by using a domain controller and is only running IPv6 within a SharePoint 2010 Products environment, the domain controller must be running Windows Server 2008 or Windows Server 2008 R2. Ensure that you use the correct service pack and any additional software prerequisites. For more information, see Hardware and software requirements (SharePoint Server 2010).

  • All versions of Microsoft SQL Server supported for SharePoint 2010 Products also support IPv6. For more information about IPv6 support for SQL Server 2008, see Connecting Using IPv6 (http://go.microsoft.com/fwlink/p/?LinkId=183115). For more information about IPv6 support for SQL Server 2005, see Connecting Using IPv6 (http://go.microsoft.com/fwlink/p/?LinkId=183118).

  • In SharePoint 2010 Products, when using IPv6 protocol, all end-user Uniform Resource Locators (URLs) must be based on DNS names with AAAA (quad-A) records. A DNS AAAA record resolves a DNS name to an IPv6 address. Browsing to SharePoint URLs that use IPv6 literal addresses is not supported. An example of a literal address URL is http://[2001:db8:85a3:8d3:1319:8a2e:370:7344]. However, SharePoint 2010 Products support entering IPv6 literal addresses for certain farm administration functionality, such as entering the server name when creating or attaching databases. For server names that use a literal address format, you must enclose the literal address within square brackets. For more information about AAAA records, see Adding a Resource Record to a Forward Lookup Zone (http://go.microsoft.com/fwlink/p/?LinkId=181956).

For additional information about IPv6 in Microsoft products, see the IPv6 TechCenter (http://go.microsoft.com/fwlink/p/?LinkId=71543&clcid=0x409).

See Also

Other Resources

IPv6 Survival Guide in the TechNet Wiki


Overview of security features in SharePoint Server 2010

Published: July 29, 2011

This article contains a brief overview of the security features and improvements that are included in Microsoft SharePoint Server 2010. These include the following:

  • Authentication modes

  • Automatic password change and managed accounts

  • Effective Permissions

  • Secure Store service

  • Migrating security settings

  • Browser file handling setting

  • Sandboxed solutions

  • Limited access permission level

  • Access control in SharePoint Designer

Authentication modes

SharePoint Server 2010 support two modes of authentication: Claims-based and Classic mode.

Claims-based authentication

Claims-based authentication is built on Windows Identity Foundation (WIF), which is a set of the .NET Framework classes that are used to implement claims-based identity.

For additional information about claims-based authentication, see Plan authentication methods (SharePoint Server 2010)

Classic mode authentication

This mode of authentication uses Windows authentication and SharePoint Server 2010 treats all user accounts as Active Directory Domain Services (AD DS) accounts. Internet Information Services (IIS) provides three built-in forms of authentication: Integrated Windows authentication, Digest authentication, and Basic authentication.

For additional information about classic mode authentication, see Plan authentication methods (SharePoint Server 2010)

Automatic password change and managed accounts

The automatic password change feature enables you to update and deploy passwords without having to perform manual password update tasks across multiple accounts, services, and Web applications. In earlier SharePoint versions, to change a farm password, you would have to locate each server in the farm and manually change the password. However in SharePoint Server 2010, a service account is mapped to a managed account from which all password updates are controlled.

Benefits of using a managed account are as follows:

  • Passwords of managed accounts can be updated from a single location and changes can be distributed to all servers in the farm that use that managed account.

  • Password changes can be scheduled to automatically occur, either according to a schedule, or based on the password expiry policy set in AD DS.

  • Managed accounts generate very long, cryptographically random passwords for all accounts.

Note:

The generated password is at least 32 characters in length, with a mix of alphanumeric in both cases and special characters, and is created by using built-in core .NET Framework password generation routines.

For additional information about automatic password change, see Plan automatic password change (SharePoint Server 2010) and Configure automatic password change (SharePoint Server 2010)

Effective Permissions

In previous SharePoint versions, administrators used the Permission Reporting tool in the SharePoint Administration Toolkit version 4.0 to determine the effective permission of a specific user and how the user gets the permission on a particular object. However, in SharePoint Server 2010, administrators can use the Check Permissions functionality to check effective permissions. It determines a user or group's permissions on all site collection resources. An administrator can also find a user's directly assigned permissions and the permissions assigned to any groups to which the user belongs. You can check permissions for a user or group on the Site Permissions page.

For additional information about site permissions, see Plan site permissions (SharePoint Server 2010)

Secure Store service

The Secure Store Service replaces the Microsoft Office SharePoint Server 2007 Single Sign On feature. Secure Store Service provides storage and mapping of credentials such as account names and passwords. It enables you to securely store data that provides credentials that are required to connect to external systems and to associate those credentials to a specific identity or group of identities.

For organizations that are migrating from Microsoft SharePoint Server 2007 to Microsoft SharePoint Server 2010, see How other services are affected by upgrade (SharePoint Server 2010)

For additional information about Secure Store service, see Plan the Secure Store Service (SharePoint Server 2010) and Configure the Secure Store Service (SharePoint Server 2010)

Migrating security settings

For organizations that have migrated from Office SharePoint Server 2007 to SharePoint Server 2010 the following articles are available to help in the migration process:

  • Migrate from forms-based authentication to claims-based authentication (SharePoint Server 2010)

  • Migrate from classic-mode to claims-based authentication (SharePoint Server 2010)

Browser file handling setting

In SharePoint Products 2010, the method to download security header information to a client's Web browser is restrictive. The default setting is Strict which will not allow certain file types to run (for example, Adobe Flash or Adobe Portable Document Format (PDF) files).

For additional information about browser file handling, see Configure settings for a Web application (SharePoint Server 2010) or Microsoft.SharePoint.Administration.SPWebApplication.BrowserFileHandling

Sandboxed solutions

Sandboxed solutions in SharePoint Products 2010 let code run in a restricted execution environment. For additional information about sandboxed solution, see Sandboxed solutions overview (SharePoint Server 2010)

Limited access permission level

This permission level is used to give groups access to a specific list, library, folder, document, or item, without giving them access to the whole site. For additional information about the limited access permission level, see Determine permission levels and groups (SharePoint Server 2010) . For a graphical representation of the limited access permission level, download Best practices for using fine-grained permissions (white paper) (SharePoint Server 2010)

Access control in SharePoint Designer

Built-in support controls who in an organization can use SharePoint Designer 2010 and how they can use it. For information about how to delegate access control in SharePoint Designer 2010, see Control where and how people use SharePoint Designer 2010 (http://go.microsoft.com/fwlink/p/?LinkId=224715) and Changes in SharePoint Designer 2010


Test Lab Guides for SharePoint Server 2010
See Also

Published: March 13, 2012

Test Lab Guides (TLGs) (http://go.microsoft.com/fwlink/p/?LinkId=202817) allow you to experience the configuration and functionality of a Microsoft technology or product in a standardized test lab environment. TLGs are designed to be reusable, extensible, and stackable to build out complex scenarios and solutions that more closely align with what you need to do during your evaluation phase.

The following TLGs for Microsoft SharePoint Server 2010 are available:

  • Configure SharePoint Server 2010 as a single server with Microsoft SQL Server

  • Configure SharePoint Server 2010 in a Three-Tier Farm

See Also

Other Resources

Test Lab Guides (http://go.microsoft.com/fwlink/p/?LinkId=202817)


Configure SharePoint Server 2010 as a single server with Microsoft SQL Server
See Also

Published: March 13, 2012

This white paper describes how to install and configure Microsoft SharePoint Server 2010 on a single server with Microsoft SQL Server 2008 R2 using the computers in the Base Configuration test lab. This paper is the Test Lab Guide (http://go.microsoft.com/fwlink/p/?LinkId=202817) version of the procedures described in Deploy a single server with SQL Server (SharePoint Server 2010).

This white paper contains instructions for the following:

  1. Configuring the Base Configuration test lab.

  2. Installing SQL Server 2008 R2 on the APP1 server.

  3. Installing SharePoint Server 2010 prerequisites on APP1.

  4. Installing SharePoint Server 2010 on APP1.

  5. Demonstrating the facilities of the default team site on APP1.

Download the white paper

Test Lab Guide: Configure SharePoint Server 2010 as a Single Server with Microsoft SQL Server (http://go.microsoft.com/fwlink/p/?LinkId=246051)

See Also

Concepts

Deploy a single server with SQL Server (SharePoint Server 2010)

Other Resources

Test Lab Guides


Configure SharePoint Server 2010 in a Three-Tier Farm
See Also

This white paper describes how to install and configure Microsoft SharePoint Server 2010 on multiple servers with Microsoft SQL Server 2008 R2 using the computers in the Base Configuration test lab. This paper is the Test Lab Guide (http://go.microsoft.com/fwlink/p/?LinkId=202817) version of the procedures described in Multiple servers for a three-tier farm (SharePoint Server 2010).

This white paper contains instructions for the following:

  1. Configuring the Base Configuration test lab.

  2. Installing and configuring a new server named SQL1.

  3. Installing SQL Server 2008 R2 on the SQL1 server.

  4. Installing SharePoint Server 2010 on the APP1 server.

  5. Installing and configuring a new server named WFE1.

  6. Installing SharePoint Server 2010 on WFE1.

  7. Demonstrating the facilities of the default Contoso team site on WFE1.

Download the white paper

Test Lab Guide: Configure SharePoint Server 2010 in a Three-Tier Farm (http://go.microsoft.com/fwlink/?LinkId=254299)

See Also

Concepts

Multiple servers for a three-tier farm (SharePoint Server 2010)

Other Resources

Test Lab Guides


Getting started with SharePoint Server 2010

This book provides basic information about the capabilities of and requirements for Microsoft SharePoint Server 2010. The audience for this book includes IT pros, solution architects, and technical decision makers who are just starting to learn about SharePoint Server 2010 and want a quick introduction plus installation steps.

This Getting Started guide for SharePoint Server 2010 covers what's new in SharePoint Server 2010, provides references to evaluation content, and includes some end-to-end deployment scenarios to get you started quickly with an evaluation environment for SharePoint Server 2010.

The content in this book is a copy of selected content in the SharePoint Server 2010 (http://go.microsoft.com/fwlink/p/?LinkId=189041) technical library as of the publication date. For the most current content, see the technical library on the Web. Click the following link to open a Microsoft Word .doc file that you can download to your computer and print: Downloadable book: Getting started with SharePoint Server 2010 (http://go.microsoft.com/fwlink/p/?LinkId=191146). The size of this document is approximately 0.5 MB.

For additional information to help you plan and deploy SharePoint Server 2010, see the articles in the Planning and architecture for SharePoint Server 2010 (http://go.microsoft.com/fwlink/p/?LinkId=189170) section in this library and the Getting Started with SharePoint resource center (http://go.microsoft.com/fwlink/p/?LinkId=189042).


Getting started with enterprise search in SharePoint 2010 Products
See Also

Summary: Learn how to get started matching the features and capabilities in Microsoft SharePoint 2010 products with the search requirements of your organization or enterprise.

Applies to: Microsoft SharePoint Foundation 2010, Microsoft Search Server 2010 Express, Microsoft Search Server 2010, Microsoft SharePoint Server 2010, Microsoft FAST Search Server 2010 for SharePoint

Contents

  • Introduction

  • Capabilities Comparison

  • Feature Comparison

  • First Steps

  • Evaluation Guides and Further Reading

Introduction

Search connects people to the information that they must have to do their jobs. General productivity search solutions increase employee efficiency by connecting a broad set of people to a broad set of information. High-value search applications drive measurable returns on investment (ROI) by helping a specific set of people extract the most from a specific set of information. Until now, organizations have had to purchase multiple products to address both scenarios; no single search solution delivered the correct functionality at the correct price, which forced organizations to incur the following additional costs:

  • Software costs — for example, licenses, support, and maintenance costs for separate products.

  • Headcount costs — for example, dedicated positions required to design, deploy, and manage different search solutions.

  • Opportunity costs — for example, mediocre general productivity search and limited deployment of high-value search applications.

When you assess the enterprise search offerings from Microsoft, review the capabilities of the various products and match them to the needs of your organization. You will find a broad set of enterprise search capabilities that are based on SharePoint 2010 Products and that serve the enterprise as growth, maturity, and changing business needs redefine your organizational enterprise search requirements.

SharePoint Foundation 2010 and Search Server 2010 Express are free to use on licensed Windows servers. They are entry-level products that crawl and index content. They also have a user interface that you can use to execute queries against the catalog of crawled content.

SharePoint Server 2010 and Search Server 2010 have improved scalability, and options to index content from many different sources. They include the configurability, manageability, and reporting features that your organization requires. SharePoint Server 2010 has a great platform that you can use to create general productivity search applications.

FAST Search Server 2010 for SharePoint is new, and it delivers the power of FAST with the simplicity and total cost of ownership (TCO) benefits that are typically associated with Microsoft products. FAST Search Server 2010 for SharePoint delivers the best general productivity search on the market and makes it easy and economical to build high-value search applications. FAST Search Server 2010 for SharePoint further improves the crawling, content processing, user interface, and scale of SharePoint Server 2010.

Capabilities Comparison

The following table compares general enterprise search capabilities that were in Office SharePoint Server 2007 with the features that are in SharePoint Server 2010 and FAST Search Server 2010 for SharePoint.

Note:

The table uses the following values:

  • X = available in 2007

  • O = available in 2010

  • † = improved in 2010

Features and Capabilities Office SharePoint Server 2007 SharePoint Server 2010 FAST Search Server 2010 for SharePoint

People and expertise search

Capture knowledge not found in documents by searching for people and expertise using SharePoint products.

X

O†

O†

SharePoint 2010 connector framework

Securely connect to content in SharePoint sites and from sources across your enterprise.

Use the Business Data Catalog to easily create your own connectors that work exactly like those available out of the box.

X

O†

O†

100m content volume with sub-second query response time

Meet the scale and performance needs of your entire organization or the specialized needs of individual departments.

X

O†

O†

Search from Windows 7 & Windows Mobile

Search beyond the search center. Conduct searches from the Windows 7 desktop and on your Windows mobile device.

X

O†

O†

Taxonomy tag integration

Bring the power of taxonomy into search. Tag metadata is shown in results, and users can refine by taxonomy-based tags.

O

O

Metadata-driven refinement panel

With the new refinement panel in SharePoint Server 2010 and FAST Search Server 2010 for SharePoint, users can narrow the results of their searches and navigate to the correct content faster.

O

O

Relevance improves with social behavior

The click-through behavior of similar search queries affects the rank that documents receive.

The more users click a certain item, the higher its ranking for related queries.

O

O

Phonetic and nickname search

Confidently search for a person's name as it sounds - without worrying about the exact spelling.

O

O

Contextual search

Tailor different results and refinement options, depending on the profile of the user or audience.

O

Thumbnails and previews

Thumbnails and previews make the results of a search query visual, which enable users to recognize the correct content quickly.

O

> 500m content volume with sub-second query response time

Scale to extremes with FAST Search Server 2010 for SharePoint while maintaining sub-second query response times.

O

Advanced content processing with advanced linguistics

Extract and create metadata latent in documents to improve search results, sorting capabilities, and the refinement panel.

O

Search-driven applications

Meet all the search application needs you have across your business.

Common examples include 360° Customer Insight, Research and Development Innovation Portal, and Product Support.

O

Business Intelligence Indexing Connector

Crawl Microsoft Excel 2010 workbooks and Reporting Services Reports with improved results, descriptions, thumbnails, and refiners.

Discover your business intelligence (BI) assets quickly and easily, navigate not only the document, but also the data behind the scenes, and access the information that you need quickly and easily.

O

Feature Comparison

Use the following table to make quick comparisons of the enterprise search features that each SharePoint product provides.

Note:

The table uses the following values:

  • * Specifies NTLM environments

  • ** Specifies FAST Search Server 2010 for SharePoint provides enhanced capabilities in these areas

  • *** Specifies a subset of the supported languages

Feature | SharePoint Foundation 2010 | Search Server 2010 Express | Search Server 2010 | SharePoint Server 2010 | FAST Search Server 2010 for SharePoint
Basic site search | Y | Y | Y | Y | Y
Best Bets |  | Y | Y | Y | Y
Visual Best Bets |  |  |  |  | Y
Similar Results |  |  |  |  | Y
Duplicate Results | Y | Y | Y | Y | Y
Search Scopes |  | Y | Y | Y | Y
RSS Feeds for Search Results | Y | Y | Y | Y | Y
Alerts for Search Results | Y* | Y* | Y* | Y* |
Advanced Search Page |  | Y | Y | Y | Y
Search Enhancement based on User Contexts |  |  |  |  | Y
Crawled and Managed Properties |  | Y | Y | Y | Y**
Entity Extraction |  |  |  |  | Y
Query Federation |  | Y | Y | Y | Y
Query Suggestions |  | Y | Y | Y | Y
Sort Results on Managed Properties or Rank Profiles |  |  |  |  | Y
Relevancy Tuning by Document or Site Promotions |  | Y | Y | Y | Y**
Shallow Results Refinement |  | Y | Y | Y | Y
Deep Results Refinement |  |  |  |  | Y
Document Preview |  |  |  |  | Y
Windows 7 Federation |  | Y | Y | Y | Y
People Search |  |  |  | Y | Y
Phonetic Name Search*** |  |  |  | Y | Y
Nickname Search*** |  |  |  | Y | Y
Self Search |  |  |  | Y | Y
Social Search |  |  |  | Y | Y
Taxonomy Integration |  |  |  | Y | Y
Multi-Tenant Hosting |  |  |  | Y |
Rich Web Indexing Support |  |  |  |  | Y
Note:

For details about a specific feature, review the evaluation guides for the products.

First Steps

There are some general tasks that you must perform when you evaluate search products or implement enterprise search solutions that meet your organization's requirements. Use the following sections to get started.

Identify your content

Before you take any action, identify the content in your organization that you want to index. Content from SharePoint sites is automatically included in all of the SharePoint search products, but you can also index content from file shares, Microsoft Exchange public folders, external Web sites, Lotus Notes databases, and your line-of-business applications.

You can also use SharePoint Designer 2010 or Visual Studio 2010 to create Business Data Catalog applications that enable custom databases, Web services, and other custom solutions to be indexed.

Note:

SharePoint Foundation 2010 can index content in SharePoint sites only. All other enterprise search products from Microsoft can index content in the content repositories mentioned earlier by using the connector framework.

FAST Search Server 2010 for SharePoint also has improved capabilities that enable you to index business intelligence data. You can obtain the Business Intelligence Indexing Connector to provide better search and analysis for business intelligence assets.

Crawl your content

The next step is to crawl the content in the content repositories that you identified. You can implement both full and incremental crawl schedules to ensure that indexed data is as fresh as possible.

The new index partitioning capabilities in Search Server 2010, SharePoint Server 2010, and FAST Search Server 2010 for SharePoint enable you to balance the indexing load (and query load) across dedicated servers that provide search for large amounts of content.

Scale your search infrastructure

One of the design goals for Search Server 2010 and SharePoint Server 2010 is to provide sub-second query response times for up to 100 million indexed documents. FAST Search Server 2010 for SharePoint provides sub-second query response times for more than 1 billion indexed documents. To achieve sub-second query response times for your organization, you might have to scale out your server farm to include multiple query servers. Additionally, to make sure that that indexed data is as fresh as possible when you index many documents, you might have to include multiple crawl components. The highly componentized architecture of the enterprise search products enables you to do that. For example, you can implement multiple crawl components to meet crawling demands, and you can include multiple query components to balance the query processing load at search time.

Customize the user search experience

Optionally, you can provide a customized user interface that information workers can use to search for information and manipulate results in the most efficient way for your business. The Enterprise Search Center for SharePoint Server 2010 and the FAST Search Center are highly customizable, and do not require developer effort. For example, you can create search scopes, change properties of search Web Parts, apply XSLT styles, and apply themes to search centers with minimal effort by using the Web browser or by using SharePoint Designer 2010.

If you want to further customize the search experience, developers can create a completely customized user interface by creating new Web Parts that inherit functionality from the existing Search Web Parts. Also, the search API is completely open. Therefore, developers can create new paradigms and ways of working with search — for example, by creating new Web Parts or even Silverlight applications that run searches and then render results.

Customize the content processing pipeline

One of the key differentiators between FAST Search Server 2010 for SharePoint and other search products is the ease with which you can customize content processing at indexing time. FAST Search Server 2010 for SharePoint enables you to create your own metadata extractors to use in the content processing pipeline. This enables you to define how managed properties are populated from crawled content, and you can then use that metadata in deep refiners. That is, you can include these organization-specific vocabularies in the metadata refinement panel that enables you to provide search solutions in the terms and language of your business.

Evaluation Guides and Further Reading

For more information about enterprise search and SharePoint Products and Technologies, see the following:

  • Microsoft Enterprise Search Center

  • TechNet Enterprise Search Technical Center

  • Microsoft Enterprise Search Blog

  • Microsoft SharePoint Server 2010 Search TechCenter

  • Microsoft SharePoint Server 2010 Enterprise Search Evaluation Guide

  • Enterprise search administration (SharePoint Server 2010)

  • Manage search topology (SharePoint Server 2010)

  • Microsoft FAST Search Server 2010 for SharePoint TechCenter

  • Microsoft FAST Search Server 2010 for SharePoint Evaluation Guide

  • FAST Search Server 2010 for SharePoint in the TechNet library

See Also

Other Resources

Resource Center: Architecture Design for SharePoint Server 2010
Resource Center: Enterprise Search in SharePoint Server 2010


Planning and architecture for SharePoint Server 2010

IT pros can use the content in the planning and architecture guides to develop conceptual, logical, and physical designs for configuring Microsoft SharePoint Server 2010 features, servers, and topologies. This section also provides recommendations for system designs based on customer scenarios and includes information to help IT pros design a highly reliable, consistently available, and scalable system.

Downloadable resources

  • Technical diagrams

  • Planning worksheets for SharePoint Server 2010

  • Video demos and training for SharePoint Server 2010

  • Downloadable planning guides:

    • Planning for sites and solutions, Part 1 Subjects include site security, governance, and enterprise content management.

    • Planning for sites and solutions, Part 2 Subjects include business intelligence, site creation, web content management, and enterprise search.

    • Planning for server farms and environments Subjects include system requirements, authentication, and business continuity management.

    • Capacity planning Subjects include sizing, performance testing, software boundaries, and capacity case studies.

Planning articles

Site and solution planning Server and farm environment planning

  • Fundamental site components

  • Security for sites and content

  • Governance

  • Social computing and collaboration

  • Enterprise content management

  • Web content management

  • Managed metadata

  • Business intelligence

  • Business data and processes

  • Access Services

  • Quota management

  • System requirements

  • Services architecture

  • Logical architecture

  • Authentication

  • Security hardening

  • Business continuity management

  • Performance and capacity management

  • Virtualization


Technical diagrams (SharePoint Server 2010)

Many of these resources are visual representations of recommended solutions. They include poster-sized documents available in formats including Microsoft Office Visio 2007 or Microsoft Visio 2010 files (.vsd), PDF files, and XPS files. You might need extra software to view these files. See the following table for information about opening these files.

File type Software

.vsd

Office Visio 2007, Microsoft Visio 2010, or the free Visio viewer (http://go.microsoft.com/fwlink/p/?LinkId=118761)

If you use the Visio viewer, right-click the VSD link, click Save Target As, save the file to your computer, and then open the file from your computer.

.pdf

Any PDF viewer, such as Adobe Reader (http://go.microsoft.com/fwlink/p/?LinkId=134751)

.xps

Windows 7, Windows Vista, Windows XP with .NET Framework 3.0, or XPS Essentials Pack (http://go.microsoft.com/fwlink/p/?LinkId=134750)

Models

Models are 34-by-44-inch posters that detail a specific technical area. These models are intended to be used with corresponding articles on TechNet. These models are created by using Office Visio 2007. You can modify the Visio files to illustrate how you plan to incorporate Microsoft SharePoint 2010 Products in your own environment.

Title Description

Design Sample: Corporate Portal with Classic Authentication

Design sample: Portal with classic auth

Visio (http://go.microsoft.com/fwlink/p/?LinkId=196969)

PDF (http://go.microsoft.com/fwlink/p/?LinkId=196970)

XPS (http://go.microsoft.com/fwlink/p/?LinkId=196971)

Design Sample: Corporate Portal with Claims-based Authentication

Design sample: Portal with claims-based auth

Visio (http://go.microsoft.com/fwlink/p/?LinkId=196972)

PDF (http://go.microsoft.com/fwlink/p/?LinkId=196973)

XPS (http://go.microsoft.com/fwlink/p/?LinkId=196974)

Illustrate a typical corporate deployment, with the most common types of sites represented. The two samples differ only in the mode of authentication that is implemented.

Use these design samples with the following article: Design sample: Corporate deployment (SharePoint Server 2010)

SharePoint 2010 Products Deployment

SharePoint 2010 Products Deployment

Visio (http://go.microsoft.com/fwlink/p/?LinkId=183024)

PDF (http://go.microsoft.com/fwlink/p/?LinkId=183025)

XPS (http://go.microsoft.com/fwlink/p/?LinkId=183026)

Presents such deployment-related information as the different deployment stages and environments, plus a flowchart that illustrates the steps for installing and configuring SharePoint 2010 Products.

Services in SharePoint 2010 Products

Services in SharePoint - 1 of 2

Visio (http://go.microsoft.com/fwlink/p/?LinkID=167090)

PDF (http://go.microsoft.com/fwlink/p/?LinkID=167092)

XPS (http://go.microsoft.com/fwlink/p/?LinkID=167091)

Describes and illustrates the services architecture, including common ways to deploy services in your overall solution design.

Use this diagram with the following articles:

  • Services architecture planning (SharePoint Foundation 2010)

  • Services architecture planning (SharePoint Server 2010)

Cross-farm Services in SharePoint 2010 Products

Services in SharePoint - 2 of 2

Visio (http://go.microsoft.com/fwlink/p/?LinkID=167093)

PDF (http://go.microsoft.com/fwlink/p/?LinkID=167095)

XPS (http://go.microsoft.com/fwlink/p/?LinkID=167094)

Illustrates how to deploy services across farms to provide centralized administration of services.

Use this diagram with the following articles:

  • Services architecture planning (SharePoint Foundation 2010)

  • Services architecture planning (SharePoint Server 2010)

Topologies for SharePoint Server 2010

Visio (http://go.microsoft.com/fwlink/p/?LinkID=167087)

PDF (http://go.microsoft.com/fwlink/p/?LinkID=167089)

XPS (http://go.microsoft.com/fwlink/p/?LinkID=167088)

Describes common ways to build and scale farm topologies, including planning which servers to start services on.

Extranet Topologies for SharePoint 2010 Products

Extranet topologies for SharePoint 2010 Products

Visio (http://go.microsoft.com/fwlink/p/?LinkId=187987)

PDF (http://go.microsoft.com/fwlink/p/?LinkId=187988)

XPS (http://go.microsoft.com/fwlink/p/?LinkId=187986)

Illustrates the specific extranet topologies that have been tested with SharePoint 2010 Products. Provides a comparison of ISA Server, Forefront TMG, Forefront UAG when used as a firewall or gateway product with SharePoint 2010 Products.

Hosting Environments in SharePoint 2010 Products

Visio (http://go.microsoft.com/fwlink/p/?LinkID=167084)

PDF (http://go.microsoft.com/fwlink/p/?LinkID=167086)

XPS (http://go.microsoft.com/fwlink/p/?LinkID=167085)

Summarizes the support for hosting environments and illustrates common hosting architectures.

For more information on designing and deploying hosting environments, see the following: White paper: SharePoint 2010 for hosters (SharePoint Server 2010).

Search Technologies for SharePoint 2010 Products

Search Technologies - 1 of 4

Visio (http://go.microsoft.com/fwlink/p/?LinkID=167731)

PDF (http://go.microsoft.com/fwlink/p/?LinkID=167733)

XPS (http://go.microsoft.com/fwlink/p/?LinkID=167732)

Compares and contrasts the search technologies that work with SharePoint Products 2010:

  • SharePoint Foundation 2010

  • Search Server 2010 Express

  • Search Server 2010

  • SharePoint Server 2010

  • FAST Search Server 2010 for SharePoint

Search Environment Planning for Microsoft SharePoint Server 2010

Search Technologies - 2 of 4

Visio (http://go.microsoft.com/fwlink/p/?LinkID=167734)

PDF (http://go.microsoft.com/fwlink/p/?LinkID=167736)

XPS (http://go.microsoft.com/fwlink/p/?LinkID=167735)

Walks through primary architecture design decisions for search environments.

Search Architectures for Microsoft SharePoint Server 2010

Search Technologies - 3 of 4

Visio (http://go.microsoft.com/fwlink/p/?LinkID=167737)

PDF (http://go.microsoft.com/fwlink/p/?LinkID=167739)

XPS (http://go.microsoft.com/fwlink/p/?LinkID=167738)

Details the physical and logical architecture components that make up a search system and illustrates common search architectures.

Design Search Architectures for Microsoft SharePoint Server 2010

Search Technologies - 4 of 4

Visio (http://go.microsoft.com/fwlink/p/?LinkID=167740)

PDF (http://go.microsoft.com/fwlink/p/?LinkID=167742)

XPS (http://go.microsoft.com/fwlink/p/?LinkID=167741)

Walks through the initial design steps to determine a basic design for a SharePoint Server 2010 search architecture.

Global Solutions for SharePoint 2010 Products

Global Deployment Model Thumbnail

Visio (http://go.microsoft.com/fwlink/p/?LinkId=206424)

PDF (http://go.microsoft.com/fwlink/p/?LinkId=206429)

XPS (http://go.microsoft.com/fwlink/p/?LinkId=206432)

Illustrates supported architectures for deploying Microsoft SharePoint 2010 Products geographically. For more information, see Global deployment of multiple farms (SharePoint Server 2010).

Business Connectivity Services Model

Business Connectivity Services Model

Visio (http://go.microsoft.com/fwlink/p/?LinkId=165565)

PDF (http://go.microsoft.com/fwlink/p/?LinkID=165566)

XPS (http://go.microsoft.com/fwlink/p/?LinkId=165571)

Microsoft Business Connectivity Services are a set of services and features in Microsoft SharePoint Server 2010 and Microsoft SharePoint Foundation 2010 that support integrating data from external systems into solutions based on Microsoft SharePoint Server and Microsoft SharePoint Foundation. This model poster describes the architecture of Microsoft Business Connectivity Services in SharePoint Server 2010 and provides information about how to create solutions that are based on the service.

Use this model with the following article: Business Connectivity Services overview (SharePoint Server 2010)

Content Deployment in SharePoint Server 2010

Visio (http://go.microsoft.com/fwlink/p/?LinkID=179391&clcid=0x409)

PDF (http://go.microsoft.com/fwlink/p/?LinkID=179523&clcid=0x409)

XPS (http://go.microsoft.com/fwlink/p/?LinkID=179524&clcid=0x409)

Describes the content deployment feature in SharePoint Server 2010. It includes information about the following:

  • Overview of content deployment

  • Description of content deployment paths and jobs

  • When to use content deployment

  • Alternatives to content deployment

  • Illustrates common content deployment farm topologies

  • Illustrates and explains the overall content deployment process

Microsoft SharePoint Server 2010 Upgrade Planning

Visio (http://go.microsoft.com/fwlink/p/?LinkId=167098)

PDF (http://go.microsoft.com/fwlink/p/?LinkId=167099)

XPS (http://go.microsoft.com/fwlink/p/?LinkId=167100)

Covers planning for an upgrade from Microsoft Office SharePoint Server 2007 to SharePoint Server 2010. It includes information about the following:

  • Upgrade requirements: Hardware, operating system, and database

  • Upgrade process: specific steps to follow before, during, and after the upgrade

Use this model with the following article: Upgrading to SharePoint Server 2010

Microsoft SharePoint Server 2010 Upgrade Approaches

Visio (http://go.microsoft.com/fwlink/p/?LinkId=167101)

PDF (http://go.microsoft.com/fwlink/p/?LinkId=167102)

XPS (http://go.microsoft.com/fwlink/p/?LinkId=167103)

Helps you understand the in-place, database attach, and hybrid approaches to upgrading from Office SharePoint Server 2007 to SharePoint Server 2010.

  • See the farm topologies before, during, and after upgrade

  • Compare the advantages of each type of upgrade approach

Use this model with the following articles:

  • Determine upgrade approach (SharePoint Server 2010)

  • Upgrade process overview (SharePoint Server 2010)

Microsoft SharePoint Server 2010 — Test Your Upgrade Process

Test your upgrade

Visio (http://go.microsoft.com/fwlink/p/?LinkId=167104)

PDF (http://go.microsoft.com/fwlink/p/?LinkId=167105)

XPS (http://go.microsoft.com/fwlink/p/?LinkId=167106)

Explains the methodology for testing the upgrade process before upgrading from Office SharePoint Server 2007 to SharePoint Server 2010.

  • Understand the goals for testing your upgrade process: customizations, hardware, timing, planning

  • See specific steps to follow for testing your upgrade process

Use this model with the following article: Use a trial upgrade to find potential issues (SharePoint Server 2010)

Microsoft SharePoint Server 2010 — Services Upgrade

Visio (http://go.microsoft.com/fwlink/p/?LinkId=167107)

PDF (http://go.microsoft.com/fwlink/p/?LinkId=167108)

XPS (http://go.microsoft.com/fwlink/p/?LinkId=167109)

Covers upgrading services from Office SharePoint Server 2007 to SharePoint Server 2010.

  • Considerations for specific services: Personalization, Search, InfoPath Forms, Excel, Business Data Catalog, Single Sign-on

  • In-place upgrade with services

  • Database attach upgrade with services

Microsoft SharePoint Server 2010 — Upgrading Parent and Child Farms

Visio diagram: upgrading parent and child farms

Visio (http://go.microsoft.com/fwlink/p/?LinkId=190984)

PDF (http://go.microsoft.com/fwlink/p/?LinkId=190985)

XPS (http://go.microsoft.com/fwlink/p/?LinkId=190986)

Covers the process for and considerations to keep in mind when you upgrade farms that share services (parent and child farms).

Getting started with business intelligence in SharePoint Server 2010

Business Intelligence tools poster

Visio (http://go.microsoft.com/fwlink/p/?LinkId=167409)

PDF (http://go.microsoft.com/fwlink/p/?LinkId=167170)

XPS (http://go.microsoft.com/fwlink/p/?LinkId=167171)

Covers an overview of business intelligence in SharePoint Server and provides you with the following information.

  • An overview of each business intelligence service and when you might use the service.

  • Architecture for application of the business intelligence services and how they work together in a topology.

  • A list of possible data sources for each business intelligence service.

Databases That Support SharePoint 2010 Products

Databases that support SharePoint 2010 Products

Visio (http://go.microsoft.com/fwlink/p/?LinkId=187970)

PDF (http://go.microsoft.com/fwlink/p/?LinkId=187969)

XPS (http://go.microsoft.com/fwlink/p/?LinkId=187971)

Describes the Microsoft SQL Server databases on which SharePoint Server 2010 runs.

SharePoint 2010 Products: Virtualization Process

SharePoint 2010 Products: Virtualization Process

Visio (http://go.microsoft.com/fwlink/p/?LinkId=195021)

PDF (http://go.microsoft.com/fwlink/p/?LinkId=195022)

XPS (http://go.microsoft.com/fwlink/p/?LinkId=195023)

Provides guidance related to virtualization and the various stages of deployment, as well as requirements and examples.

Use this diagram with the articles in the following chapters:

  • Virtualization planning (SharePoint Foundation 2010)

  • Virtualization planning for on-premise or hosted technologies (SharePoint Server 2010)

Governance for SharePoint Server 2010

Governance model for SharePoint Server 2010

Visio (http://go.microsoft.com/fwlink/p/?LinkId=200532)

PDF (http://go.microsoft.com/fwlink/p/?LinkId=200533)

XPS (http://go.microsoft.com/fwlink/p/?LinkId=200534)

Illustrates how to develop a governance plan that includes IT governance, information management governance, and application management governance.

Use this diagram with the following articles:

  • Governance overview (SharePoint Server 2010)

  • Governance features (SharePoint Server 2010)

Duet Enterprise for Microsoft SharePoint and SAP Poster

Thumbnail of Duet model

Visio (http://go.microsoft.com/fwlink/p/?LinkID=208107&clcid=0x409)

PDF (http://go.microsoft.com/fwlink/p/?LinkID=208108&clcid=0x409)

XPS (http://go.microsoft.com/fwlink/p/?LinkId=208109&clcid=0x409)

Illustrates Duet Enterprise architecture for both the SAP and Microsoft environments, with detailed explanations of each area.

Excel Services data refresh flowchart

Thumbnail of diagram

Visio (http://go.microsoft.com/fwlink/p/?LinkId=225016)

PDF (http://go.microsoft.com/fwlink/p/?LinkId=225015)

Shows the sequence of actions performed by Excel Services in Microsoft SharePoint Server 2010 when it refreshes data in a data-connected Microsoft Excel workbook that is being rendered by Excel Services.

Use this flowchart to better understand how Excel Services refreshes data or to troubleshoot data connection errors from Excel Services.

Tips for printing posters

If you have a plotter, you can print these posters in their full size. If you don't have plotter, use the following steps to print on smaller paper.

Print posters on smaller paper

  1. Open the poster in Visio.

  2. On the File menu, click Page Setup.

  3. On the Print Setup tab, in the Printer paper section, select the size of paper you want to print on.

  4. On the Print Setup tab, in the Print zoom section, click Fit to, and then enter 1 sheet across by 1 sheet down.

  5. On the Page Size tab, click Size to fit drawing contents, and then click OK.

  6. On the File menu, click Print.

If you want to create posters that use the same symbols as these posters, you can download Visio stencils for posters (http://www.microsoft.com/downloads/en/details.aspx?FamilyID=88e03d22-8f42-4c9d-94ef-d8e48322d677).


Plan for sites and solutions (SharePoint Server 2010)
See Also

This section contains articles that will help you plan your Microsoft SharePoint Server 2010 site and solution components. To read this content offline, download Planning for sites and solutions, Part1 (fundamental site planning through enterprise content management) and Planning for sites and solutions, Part 2 (Web content management through enterprise search).

  • Fundamental site planning (SharePoint Server 2010)

    The articles in this section will guide you in planning sites that use SharePoint Server 2010 features.

  • Security planning for sites and content (SharePoint Server 2010)

    The articles in this section will help you plan permissions that control access to your sites and content.

  • Site and solution governance (SharePoint Server 2010)

    The articles in this section will help you plan how to set up your environment to host IT services and sandboxed solutions, and how to define the most appropriate information architecture for your business needs.

    • Sandboxed solutions planning (SharePoint Server 2010)

      The articles in this section will help you plan sandboxed solutions that run in restricted execution environments within your enterprise.

    • Governance overview (SharePoint Server 2010)

      Introduces governance as an essential part of a successful Microsoft SharePoint Server 2010 deployment and explains why both information architecture and IT services are key components of a governance plan.

  • Plan for social computing and collaboration (SharePoint Server 2010)

    The articles in this section will guide you in planning solutions that implement social computing and collaboration capabilities in your enterprise.

  • Enterprise content management planning (SharePoint Server 2010)

    The articles in this section cover conceptual information about document management, records management, and managing digital assets.

    • Document management planning (SharePoint Server 2010)

      The articles in this section will help you plan document management solutions for your organization.

    • Records management planning (SharePoint Server 2010)

      The articles in this section describe records management in SharePoint Server 2010 and provide guidelines for planning your records management solution.

    • Plan digital asset libraries (SharePoint Server 2010)

      The articles in this section will guide you in planning solutions for sites that include digital assets such as video, audio, and images.

  • Plan Web content management (SharePoint Server 2010)

    The articles in this section will guide you in planning Web content management sites by using SharePoint Server 2010 features.

  • Plan managed metadata (SharePoint Server 2010)

    The articles in this section explain key concepts about managed metadata and provide guidance about how to use managed metadata in your SharePoint solution.

  • Business intelligence planning (SharePoint Server 2010)

    The articles in this section will guide you in planning Business Intelligence solutions on your enterprise data.

    • Business intelligence basics (SharePoint Server 2010)

      The articles in this section provide basic overview information about business intelligence capabilities in SharePoint Server 2010.

    • Plan for PerformancePoint Services (SharePoint Server 2010)

      The articles in this section help you plan your implementation of PerformancePoint Services and BI Dashboards.

    • Excel Services overview (SharePoint Server 2010)

      The articles in this section help you plan your implementation of Excel Services in your enterprise environment.

    • Plan for Visio Services (SharePoint Server 2010)

      The articles in this section help you plan your implementation of Visio Services.

  • Business data and processes planning (SharePoint Server 2010)

    The articles in this section will guide you in planning solutions that implement business processes on your enterprise's data.

    • Plan for Business Connectivity Services (SharePoint Server 2010)

      The articles in this section will help you plan solutions that connect your enterprise's external data to information workers who use SharePoint Web sites and Office 2010 applications.

    • Plan InfoPath Forms Services (SharePoint Server 2010)

      The articles in this section will help you plan solutions that use InfoPath forms to collect, customize, and validate business data used by workers to improve key business processes.

    • Plan workflows (SharePoint Server 2010)

      The articles in this section will help you plan and implement business processes in your SharePoint solutions.

  • Access Services planning (SharePoint Server 2010)

    The articles in this section help you plan your implementation of Access Services.

  • Plan site creation and maintenance (SharePoint Server 2010)

    The articles in this section contain guidance about how to create, maintain, and delete sites, and how to determine settings for quota templates and recycle bins.

  • Plan e-mail integration (SharePoint Server 2010)

    The articles in this section explain how to implement incoming e-mail and features that rely on outgoing e-mail.

  • Enterprise search planning (SharePoint Server 2010)

    The articles in this section describe the process for planning an enterprise search solution, including how to analyze the current environment, determine the search team, and plan the search topology, crawling and federation, people search, and end-user search experience.

  • Plan for mobile devices (SharePoint Server 2010)

    This article describes the features that enable users to work with SharePoint Server 2010 by using their mobile devices. It summarizes important questions to consider when you deploy these features.

  • SharePoint workspace planning (SharePoint 2010)

    This article provides planning guidance for IT pros who are considering the benefits of deploying SharePoint Workspace for end users.

See Also

Concepts

Plan for server farms and environments (SharePoint Server 2010)


Fundamental site planning (SharePoint Server 2010)

This section provides information that helps IT pros plan sites that use Microsoft SharePoint Server 2010 features.

The effectiveness of a site or a group of sites depends on many factors, but one of the most important factors is the ability to predictably locate the site and the content that you need within the site. The structure of a site or a group of sites and the navigation inside and among sites are important for helping users find and share information and work together.

In this section:

  • Sites and site collections overview (SharePoint Server 2010) describes site collections and sites, and it contains information about the site templates that are used to create sites in SharePoint Server 2010.

  • Plan sites and site collections (SharePoint Server 2010) describes the process and important considerations for planning SharePoint Server 2010 sites and site collections.

  • Site navigation overview (SharePoint Server 2010) provides an overview of the types of navigation that are available in a site.

  • Plan site navigation (SharePoint Server 2010) helps you design the navigation for your site.

  • Themes overview (SharePoint Server 2010) provides an overview of themes and how they work.

  • Plan for using themes (SharePoint Server 2010) discusses how to plan for using themes across your sites, and it includes important steps to plan how to use themes for your sites.

  • Plan for multilingual sites (SharePoint Server 2010) discusses how to plan for multilingual SharePoint Server 2010 sites.

  • Multilingual user interface overview (SharePoint Server 2010) describes the multilingual user interface in SharePoint Server 2010.

  • Plan for the multilingual user interface (SharePoint Server 2010) describes how to plan for using the multilingual user interface in your SharePoint Server 2010 site solution.


Sites and site collections overview (SharePoint Server 2010)
See Also

A Microsoft SharePoint Server 2010 site collection is a hierarchical site structure that is made up of one top-level site and any sites below it. This article describes site collections and sites and contains information about the site templates that are used to create sites in SharePoint Server 2010.

In this article:

  • Site collections overview

  • Sites overview

  • Site templates included in SharePoint Server 2010

Site collections overview

The sites in a site collection have shared administration settings, common navigation, and other common features and elements. Each site collection contains a top-level site and (usually) one or more sites below it in a hierarchical structure.

You must group your site's content and features into a site collection. This provides the following benefits:

  • For site designers, a site collection's galleries and libraries (such as the master page gallery or the site collection images library) provide a means for creating a unified, branded user experience across all sites in the site collection.

  • For site collection administrators, a site collection provides a unified mechanism and scope for administration. For example, security, policies, and features can be managed for a whole site collection; Site Collection Web Analytics Reports, audit log reports, and other data can help administrators track site collection security and performance.

  • For farm administrators, site collections provide scalability for growth based on how much content is stored. Because each site collection can use a unique content database, administrators can easily move them to separate servers.

  • For site authors, a site collection's shared site columns, content types, Web Parts, authoring resources, workflows, and other features provide a consistent authoring environment.

  • For site users, a site collection's unified navigation, branding, and search tools provide a unified Web site experience.

The following list includes some examples of solutions that benefit from being implemented as site collections:

  • Team site A site collection to support authoring and collaboration tasks for people in your organization who are working together to produce content useful for your organizational goals. Often, this kind of site includes collaborative content that is not published but only used internally, and content intended for publication to an outside audience.

  • Publishing site A site collection configured to let site members view, author, and interact with the site's content. Publishing sites are often implemented as two site collections — a production site collection and an authoring site collection. The production site collection is the published site that the content audience uses. The authoring site collection is a mirror of the production site, and it is used by the authoring team to create and view site content and test site features. SharePoint Server 2010 includes a content deployment feature that copies content from an authoring site collection to a production site collection. For information about content deployment, see Content deployment overview (SharePoint Server 2010)

Sites overview

A site collection consists of a top-level site and one or more sites below it. Each top-level site and any sites below it in the site structure are based on a site template and can have other unique settings and unique content. Partition your site collection content into separate sites to obtain finer control of the appearance, content, and features of the various pages in your site collection. The following list includes site features that you can configure uniquely:

  • Templates You can make each site have a unique template. For more information, see Site templates included in SharePoint Server 2010.

  • Language If language packs have been installed on the Web server, you can select a language-specific site template when you create a new site. Text that appears on the site is displayed in the site template's language. For more information, see Deploy language packs (SharePoint Server 2010).

  • Security You can define unique user groups and permissions for each site. For more information, see SharePoint 2010 Governance Planning (white paper).

  • Navigation You can fine-tune your site's navigation experience by configuring unique navigation links in each part of your site's hierarchy. Site navigation reflects the relationships among the sites in a site collection. Therefore, planning navigation and planning sites structures are closely related activities. For more information, see Site navigation overview (SharePoint Server 2010).

  • Web pages You can make each site have a unique welcome page and other pages. For more information, see Plan Web pages (SharePoint Server 2010).

  • Site layouts You can make unique layouts or master pages available in a site. For more information, see Plan Web pages (SharePoint Server 2010).

  • Themes You can change colors and fonts on a site. For more information, see Plan for using themes (SharePoint Server 2010).

  • Regional settings You can change the regional settings, such as locale, time zone, sort order, time format and calendar type. For more information, see Regional settings (SharePoint Server 2010).

  • Search You can make each site have unique search settings. For example, you can specify that a particular site never appears in search results. For more information, see Enterprise search planning (SharePoint Server 2010)

  • Content types You can make each site have unique content types and site columns. For more information, see Content type and workflow planning (SharePoint Server 2010).

  • Workflows You can make each site have unique workflows. For more information, see Plan workflows (SharePoint Server 2010).

Site templates included in SharePoint Server 2010

The following section contains information about the site templates that are included in SharePoint Server 2010. Although you can use a site template with its default configuration, you can also change the site's default settings by using the site administration pages, and then saving the site as a new template. In addition, you can modify a template's design and features by using Microsoft SharePoint Designer 2010 or Microsoft Visual Studio 2010.

The following table lists every site template, describes the purpose of each, and indicates whether the template is available at the site collection level, site level, or both. The category that is used to group the templates might be different, depending on the level at which a site is created.

Template Purpose Category in Site Collection Category in Site

<Select template later>

An empty site for which you can select a template later.

Custom

N/A

Assets Web Database

An assets database to keep track of assets, including asset details and owners.

N/A

Web Databases

Basic Meeting Workspace

A site on which you can plan, organize, and capture the results of a meeting. It provides lists for managing the agenda, meeting attendees, and documents.

Meetings

Meetings

Basic Search Center

A site that provides basic search functionality. The site includes pages for search results and advanced searches. Use this template if you do not require people search or publishing features; if you do require these features, we recommend that you use Enterprise Search Center.

Note:

Search Centers should be separate site collections because they search for information across a company portal or division. If you create a Search Center as a sub-site, you might have to create some workarounds for a full customization. For more information, see Customizing the Search Center.

Enterprise

Search

Blank Meeting Workspace

A blank meeting site that you can customize based on your requirements.

Meetings

Meetings

Blank Site

A blank site that you can customize based on your requirements.

Collaboration

Blank & Custom

Blog

A site on which a person or team can post ideas, observations, and expertise that site visitors can comment on.

Collaboration

Content

Business Intelligence Center

A site for presenting business intelligence data. It provides document libraries for storing documents, images, data connections, and dashboard Web Parts. It also provides lists for linking content from PerformancePoint Services in Microsoft SharePoint Server 2010.

Enterprise

N/A

Charitable Contributions Web Database

A database to track information about fundraising campaigns including donations made by contributors, campaign-related events, and pending tasks.

N/A

Web Databases

Contacts Web Database

A contacts database to manage information about people that your team works with, such as customers and partners.

N/A

Web Databases

Decision Meeting Workspace

A site on which you can track status or make decisions at meetings. It provides lists to create tasks, store documents, and record decisions.

Meetings

Meetings

Document Center

A site on which you can centrally manage documents in your enterprise.

Enterprise

Content

Document Workspace

A site on which colleagues can work together on a document. It provides a document library for storing the primary document and supporting files, a tasks list for assigning to-do items, and a links list to point to resources that are related to the document.

Collaboration

Collaboration, Content

Enterprise Search Center

A site that provides the search functionality. The welcome page includes a search box that has two tabs: one for general searches and another for searches for information about people. You can add and customize tabs to focus on other search scopes or result types.

Note:

Search Centers should be separate site collections because they search for information across a company portal or division. If you create a Search Center as a sub-site, you might have to create some workarounds for a full customization. For more information, see Customizing the Search Center.

Enterprise

Search

Enterprise Wiki

A site on which you can publish knowledge that you capture and want to share across the enterprise. It provides an easy content editing experience in a single location for co-authoring content, for discussions, and for managing projects.

Publishing

Content

FAST Search Center

A site for delivering the FAST search experience. The welcome page includes a search box with two tabs: one for general searches and another for searches for information about people. You can add and customize tabs to focus on other search scopes or result types. A refinement option provides a count of each query refiner. This template also provides document preview that shows thumbnails of Microsoft Word 2010 and Microsoft PowerPoint 2010 documents. We recommend that you use FAST Search Center if you have the FAST Search Server 2010 for SharePoint SKU.

Note:

Search Centers should be separate site collections because they search for information across a company portal or division. If you create a Search Center as a sub-site, you might have to create some workarounds for a full customization. For more information, see Customizing the Search Center.

Enterprise

Search

Group Work Site

This template provides a groupware solution that teams can use to create, organize, and share information. It includes the Group Calendar, Circulation, Phone-Call Memo, document library and other basic lists.

Collaboration

Collaboration

Issues Web Database

An issues database to manage a set of issues or problems. You can assign, prioritize, and follow the progress of issues from start to finish.

N/A

Web Databases

Multipage Meeting Workspace

A site on which you can plan a meeting and capture decisions and other results from the meeting. It provides lists for managing the agenda and meeting attendees. It also provides two blank pages that you can customize based on your requirements.

Meetings

Meetings

My Site Host

A site that hosts personal sites (My Sites) and the public People Profile page. This template has to be provisioned only once per User Profile Service Application.

This template is available only at the site collection level.

Enterprise

N/A

Personalization Site

A site for delivering personalized views, data, and navigation from this site collection to My Sites. It includes Web Parts that are specific to personalization and navigation that is optimized for My Sites.

This template is available only at the site level.

N/A

Blank & Custom

Projects Web Database

A project tracking database to track multiple projects, and assign tasks to different people.

N/A

Web Databases

Publishing Portal

A starter site hierarchy that you can use for an Internet site or a large intranet portal. You can use distinctive branding to customize this site. It includes a home page, a sample press releases site, a Search Center, and a logon page. Typically, this site has many more readers than contributors, and it is used to publish the Web pages by using approval workflows.

This site enables content approval workflows, by default, for a more formal and controlled publishing process. It also restricts the rights of anonymous users so that they can see only content pages, and they cannot see SharePoint Server 2010 application pages.

This template is available only at the site collection level.

Publishing

N/A

Publishing Site

A blank site for expanding your Web site and quickly publishing Web pages. Contributors can work on draft versions of pages and publish them to make them visible to readers. This site includes document and image libraries for storing Web publishing assets.

N/A

Content

Publishing Site with Workflow

A site for publishing Web pages on a schedule by using approval workflows. It includes document and image libraries for storing Web publishing assets. By default, only sites that have this template can be created under this site.

This template is available only at the site level when the Publishing Portal template is used to create the top-level site.

N/A

Content

Records Center

A site that is designed for records management. Records managers can configure the routing table to direct incoming files to specific locations. The site also enables you to manage whether records can be deleted or modified after they are added to the repository.

Enterprise

Data

Social Meeting Workspace

A site on which you can plan social occasions. It provides lists for tracking attendees, providing directions, and storing pictures of the event.

Meetings

Meetings

Team Site

A site on which a team can organize, author, and share information. It provides a document library, and lists for managing announcements, calendar items, tasks, and discussions.

Collaboration

Collaboration

Visio Process Repository

A site on which teams can view, share, and store Visio process diagrams. It provides a versioned document library for storing process diagrams, and lists for managing announcements, tasks, and review discussions.

Collaboration

Content

Some Microsoft Office SharePoint Server 2007 site templates, such as the site directory, news, and collaboration portal templates, are not available as an option in SharePoint Server 2010. These templates can still be accessed and used programmatically by developers. These templates are also still available as options in the UI if the SharePoint Server 2010 farm is upgraded from Office SharePoint Server 2007. Otherwise, use the social tagging features in SharePoint Server 2010 to get much of the functionality provided in these templates.

See Also

Concepts

Plan sites and site collections (SharePoint Server 2010)
Site navigation overview (SharePoint Server 2010)
Plan site navigation (SharePoint Server 2010)

Other Resources

Resource Center: Enterprise Content Management in SharePoint Server 2010


Plan sites and site collections (SharePoint Server 2010)
See Also

Microsoft SharePoint Server 2010 sites are made up of a site collection, which is a hierarchical structure that includes one top-level site and any sites below it. This article describes the process and important considerations for planning SharePoint Server 2010 sites and site collections, and it recommends a method for recording your site structure decisions. For information about sites and site collections, and the site templates that are used to create sites in SharePoint Server 2010, see Sites and site collections overview (SharePoint Server 2010).

In this article:

  • About planning sites and site collections

  • Determine types of sites

  • Determine site collections

  • Site planning data worksheet

About planning sites and site collections

In general, you plan your sites and site collections in the following order:

  • Determine the number and types of top-level sites and any sites below them in the hierarchy that are needed.

  • Determine the number and types of site collections into which the sites will be organized.

Determine types of sites

The first step in planning a solution that is based on SharePoint Server 2010 is to determine the types of sites your organization and its customers need. Determining the types of sites affects later planning decisions, such as where the sites will be implemented in your server topology, what features to plan for each site, how processes that span multiple sites are implemented, and how information is made available across one or more sites. This section contains information about how to plan different kinds of sites.

Plan sites by organizational hierarchy

Plan the basic sites that you need based on the scale and structure of your organization. Each of these sites can contain information that is needed for a project or division within your larger organization, and each will link to collaboration sites that are relevant to that project or division. Some sites for larger divisions or projects will also aggregate information that is found on all the smaller sites that are devoted to smaller divisions or projects.

Use the following guidelines when you plan sites that are based on your organizational structure:

Divisional or team sites Plan to create one site for a small organization or one site for every division or project of 50-100 people in a medium to large organization. In large organizations, there might be several levels of sites, with each site focusing on the content that is created and managed at its level of the organization.

You can design a site for members of your organization to collaborate on content related to your business or organizational goals. These can be self-contained or they can work with other sites as part of a publishing process. Often, these sites will have a mixture of collaborative content that is used internally and content that is intended for publication to an audience.

Rollup sites A rollup site contains general cross-organization content. It makes it possible for users across divisions to find information, experts, and access to organization-wide processes. It often contains sites that are related to the overall organizational information architecture and that are usually mapped to the structure of the divisional or project sites. For each organization, plan to create a centralized rollup site that uses an aggregated view of all related sites.

Plan application sites

An application site organizes team processes and provides mechanisms for running them. Application sites often include digital dashboards and other features to view and manipulate data that is related to the site's purpose. The information that is presented in an application site usually comes from diverse sources, such as databases or other SharePoint sites.

For example, the human resources organization in an organization could design an application site to provide employees with:

  • Access to general information, such as employee handbooks and career opportunities.

  • Ways to do common tasks, such as submitting timecards and expense reports.

  • Dashboards to view personalized information, such as an employee's salary and benefits history.

As another example, the internal technical support group in an organization could design a Help Desk application site to provide technical support to members of the organization. Features of the application site could include the following:

  • Access to a knowledge base of past support incidents and best-practices documentation.

  • Ways to do common tasks, such as starting a support incident or reviewing the status of an ongoing incident.

  • Integration with communications features that support online meetings and discussions.

  • Personalized views of data. For example, support managers could view dashboards that provide views of their team members' productivity and customer satisfaction ratings. Support engineers could view their current unresolved incidents.

Plan Internet presence sites

Internet presence sites are customer-facing sites. They are usually branded and are characterized by consistent stylistic elements, such as colors, fonts, and logos in addition to structural elements such as navigation features and the structure of site pages. Although the appearance of an Internet presence site is tightly controlled, the content of the site can be dynamic and can frequently change.

For example, a corporate Internet presence site communicates important company information to customers, partners, investors, and potential employees. This includes descriptions of products and services, company news, annual reports, public filings, and job openings. As another example, an online news Internet site provides frequently updated information, together with interactive features such as stock tickers and blogs.

Because an Internet presence site represents your organization to an external audience, you might stage and test the site and then publish it — either based on a schedule or as needed — to its public "production" location. A staging site is a mirror of the authoring site that you use to test content before it is published to the production site. By using a staging site, you help ensure that published content meets strict standards. Staging sites also make it possible for content authors to work on servers that are located on your company's intranet while Internet users are using production servers in your perimeter network. A built-in content deployment feature makes it easy to move content from the authoring server to the staging server and then to the production server. For more information about content deployment, see Content deployment overview (SharePoint Server 2010).

Plan publishing sites

By using a publishing site, authors can create and modify content in the form of Web pages and documents, and they can use an approval process to make the content available to users who have the appropriate levels of viewing permissions. The publishing process involves creating content and then submitting it for approval. After content is approved, it is made available, or published, to the Web site for readers. This publishing occurs according to either a default schedule or a customized schedule, based on the needs of the project. Publishing sites can be used as intranet, extranet, or Internet sites, depending on the audience.

For example, you might use a publishing site for an Internet-facing site that publishes press releases. The public relations team creates press releases, uses the publishing workflow to approve new content, and specifies when it should be made available to consumers. As another example, you might use a publishing site for a corporate intranet site, where company news is made available to employees. Page authors can specify the target audience for their content, which makes the content viewable by only the members of the designated groups.

Like Internet presence sites, you can also use the built-in content deployment feature to move content from a staging site to a production site. The production site might be an Internet-facing site, or it might be another intranet site within your organization, depending on the size of your organization and the complexity of your publishing needs.

Plan other sites

You can plan to make it possible for site users to create additional sites. For example, you can plan to give a My Site to each team member who uses a site. A My Site is a team site that is based on Microsoft SharePoint Foundation 2010 and has public and private views. You can also make it possible for team members to create other sites, such as Document Workspace sites, when they collaborate on documents and other projects. Similarly, you can give users of an Internet site access to collaboration sites as part of a Web-based service. For example, you can give them permissions to create Meeting Workspace sites and participate in online meetings as part of their experience of using your site.

For information about the kinds of sites you can create, see Sites and site collections overview (SharePoint Server 2010).

Determine site collections

After you determine what types of sites your solution requires, the next step is to plan how these sites are implemented across site collections. A site collection is a hierarchical set of sites that can be managed together. Sites in a site collection have common features, such as shared permissions, galleries for templates, content types, and Web Parts, and they often share a common navigation. A site is often implemented as a site collection with the top-level site as the home page of the site collection.

In general, when you plan a solution that is based on SharePoint Server 2010, put the following kinds of sites in separate site collections:

  • Internet sites (staging)

  • Internet sites (production)

  • All team sites related to a divisional site or Internet site

  • Document Center sites

  • Records Center sites

All sites in a site collection are stored together in the same SQL database. This can potentially affect site and server performance, depending on how your site collections and sites are structured, and depending on the purpose of the sites. Be aware of the following limits when you plan how to allocate your content across one or more site collections:

  • Keep extremely active sites in separate site collections. For example, a knowledge base site on the Internet that allows anonymous browsing could generate lots of database activity. If other sites use the same database, their performance could be affected. By putting the knowledge base site in a separate site collection with its own database, you can make resources available for other sites that no longer have to compete with it for database resources.

  • Because all content in a site collection is stored in the same content database, the performance of database operations — such as backing up and restoring content — will depend on the amount of content across the site collection; the size of the database; the speed of the servers hosting the database; and other factors. Depending on the amount of content and the configuration of the database, you might have to divide a site collection into multiple site collections to meet service-level agreements for backing up and restoring, throughput, or other requirements. It is beyond the scope of this article to provide prescriptive guidance about how to manage the size and performance of databases.

  • Creating too many sites below a top-level site in a site collection might affect performance and usability. Limit the number of sites of any top-level site to a maximum of 2,000.

  • If you plan to use content deployment to move content between an authoring site collection and a production site collection, the site collections must be either in separate Web applications, or they must use separate content databases within the same Web application. For information about content deployment, see Content deployment overview (SharePoint Server 2010).

Site planning data worksheet

Download an Excel version of the Site planning data worksheet(http://go.microsoft.com/fwlink/p/?LinkID=167837&clcid=0x409). Use this worksheet to record your site structure.

See Also

Concepts

Sites and site collections overview (SharePoint Server 2010)
Site navigation overview (SharePoint Server 2010)
Plan site navigation (SharePoint Server 2010)

Other Resources

Resource Center: Enterprise Content Management in SharePoint Server 2010


Site navigation overview (SharePoint Server 2010)
See Also

Site navigation provides the primary interface for site users to move around on the sites and pages on your site. Microsoft SharePoint Server 2010 includes a set of customizable and extensible navigation features that help orient users of your site so they can move around on its sites and pages. This article describes the navigation controls that are available in SharePoint Server 2010. It does not explain how to add navigation controls to Web pages, how to configure navigation controls, or how to create custom navigation controls.

In this article:

  • Navigation controls overview

  • Navigation controls on master pages

    • Top link bar navigation

    • Quick Launch navigation

    • Breadcrumb navigation

    • Tree view navigation

    • Metadata navigation

  • Navigation controls on page layouts

    • Summary Links

    • Table of Contents

    • Content Query

  • Navigation Web Parts

Navigation controls overview

Navigation controls can be displayed on master pages, page layouts, and—by using Web Part zones—directly in a page's content.

SharePoint Server 2010 bases its navigation model on the hierarchical structure of the site collection. By using the navigation features, you can link to the following:

  • Sites below the current site

  • A site's peer sites

  • Sites higher in the site structure

  • Web pages in a site

Additionally, you can create links to arbitrary locations, such as to an external Web site.

Navigation links in SharePoint Server 2010 are security-sensitive. If a site user does not have permissions to a SharePoint Server 2010 site or page that is linked from the site navigation, the user cannot see the link. Other content which has had links manually added to the navigation are still visible to users. Also, pages, sites, and links that are manually added to navigation can be configured to be available only to members of a particular audience. Users who are not members of that audience cannot see links to sites and pages that are targeted to that audience.

SharePoint Server 2010 navigation is based on the ASP.NET features in the .NET Framework version 3.5, which you can use to customize the following:

  • The site map provider.

  • The data source, which anchors and filters the structure that is provided by the site map provider.

  • The menus, which control the visual appearance of the navigation elements and how deep a hierarchy to display.

Navigation controls on master pages

A master page defines the outer frame of the Web pages in a site. Master pages contain the elements that you want all pages in your site to share, such as branding information; common commands, such as Search; and navigation elements that you want to be available throughout the site. This includes top link bar navigation, and Quick Launch navigation.

Master pages also provide the menu style of the navigation controls. You can configure master-page menu style by using Microsoft SharePoint Designer 2010 or Microsoft Visual Studio 2010.

Top link bar navigation

The top link bar is a navigation menu which typically links to the sites that are one level below the current site in a site hierarchy. It is common for the top link bar to appear at the top of each page in a site. By default, all sites that are one level below the current site are added to the top link bar, and each site has its own unique top link bar for navigation. Site administrators can customize the navigation for a specific site by removing a site from the top link bar. They can also configure the top link bar so that only the home page link is shown and no other sites in the site hierarchy are displayed.

Site administrators can choose to inherit the top link bar from the parent site. This approach allows users to switch from one site to another from anywhere within the site collection, by allowing the top link bar to stay the same in all the sites in the site collection. For example, an Internet site that is used to market an organization's products could have a site for each line of its products. By displaying each product's site in the top link bar of each site, site designers can make it possible for users to easily switch from one site to another without having to return to the site home page.

Other top link bar configuration features include the following:

  • Linking to the Web pages of all the top-level sites.

  • Linking to specified external sites.

  • Linking to specified sites or pages that are anywhere in the site.

  • Organizing links under headings.

  • Manually sorting the items on the top link bar.

  • Restricting the maximum number of items to show at the global navigation level.

All top link bar features, such as linking to external, can be defined uniquely for each site.

By using SharePoint Designer 2010 or Visual Studio 2010, you can additionally customize the appearance and functionality of the top link bar. For example, you can do the following:

  • Customize the cascading style sheets to change the appearance of the top link bar.

  • Modify the data source, for example to decrease the number of sites that are displayed in the top link bar.

  • Modify the menu style of the navigation. For example, you can select submenus or specify how many levels of the site hierarchy to display in the navigation.

Quick Launch navigation

The Quick Launch navigation typically highlights the important content in the current site, such as lists and libraries. It is common for Quick Launch navigation to appear on the left of each page in a site.

Quick Launch navigation configuration features include the following:

  • Linking to sites that are on the same level of the site hierarchy as the current site.

  • Linking to specific external sites or to pages in the current site.

  • Organizing links under headings.

  • Manually sorting the items in the Quick Launch navigation.

  • Restricting the maximum number of items to show at the Quick Launch navigation level.

Just as you customize the top link bar, you can also customize the appearance and functionality of Quick Launch navigation by using SharePoint Designer 2010 or Visual Studio 2010.

Breadcrumb navigation

Breadcrumb navigation displays a dynamically generated set of links at the top of Web pages, to show users their current position in the site hierarchy. By using SharePoint Designer 2010 or Visual Studio 2010, you can configure the breadcrumb navigation control. For example, you can specify a custom navigation provider, and you can remove breadcrumb navigation from a page layout.

Tree view navigation

Tree view navigation displays site content, such as lists, libraries, and sites that are below the current site, in a hierarchical structure. It is common for tree view navigation to appear on the left of each page in a site.

By default, tree view navigation is turned off. Site administrators can add tree view navigation to a site by using the Tree View page. To enable tree view, in Site Actions click Site Settings, in the Look and Feel area, click Tree view, and then select the Enable Tree View check box.

Metadata navigation

Metadata navigation displays metadata about library and list content in tree view navigation, and makes it possible for users to filter library or list content based on specified fields. Site administrators can configure metadata navigation by using the Metadata Navigation Settings page for a list or library to configure the navigation hierarchies and key filters that are available to users. Metadata navigation is displayed only when a user views the list or library for which metadata navigation has been configured.

Navigation controls on page layouts

A page layout defines a layout for a Web page by providing Microsoft ASP.NET controls in which the contents of pages are displayed. You can add navigation controls to a page layout to support navigation links in Web pages by using SharePoint Designer 2010 or Visual Studio 2010.

When a navigation control is inserted on a page layout, Web pages that use that page layout display the control together with the content of the page. For example, you can define a page layout that includes a Summary Links navigation control so that a set of links to relevant pages and sites always appears when a page is displayed. For more information, see Summary Links.

SharePoint Server 2010 includes the following navigation controls that can be added to page layouts:

  • Summary Links

  • Table of Contents

  • Content Query

Summary Links

You can use the Summary Links control to add a set of links to a page. You can control the appearance, organization, and presentation of the links that you add to a Summary Link control.

You can add a Summary Link control to a page layout in three ways:

  • You can add the control directly to the page layout and configure the links. When you do this, any page that uses the page layout displays the links.

  • You can add the control as a field control on the page layout. When you do this, you can choose to configure the links, and you can also choose to allow authors to modify the links and add new ones.

  • You can add the control as a Web Part to a Web Part zone. When you do this, authors can modify the links, add new ones, and delete the Summary Link control.

For example, in a site in which you publish topics from a technical support knowledge base, you can add a Summary Link control to the page layouts that are used for articles, to provide links to related sites that contain relevant information, and you can give authors the ability to add links to content that is related to a particular page's content.

Table of Contents

You can use the Table of Contents control to add a table of contents of all or part of your site to a page layout so that top link bar and Quick Launch navigation is included in the master pages of the site. When you add a Table of Contents control to a page layout, you specify which part of your site collection the control should display, how the links are presented, and how they are organized.

You can add a Table of Contents control to a page layout in two ways:

  • You can add the control directly to the page layout and configure it. When you do this, any page that uses the page layout displays the table of contents.

  • You can add the control as a Web Part to a Web Part zone. When you do this, authors can modify the scope of the Table of Contents control.

For example, if you are presenting a set of articles in an online news site, you can add a Table of Contents control directly to the layout of the article pages so that users can switch from one article to another from any article page.

Content Query

You can use a Content Query control to link to pages or other items that are displayed based on a query that you design. For example, if you are presenting articles in an online news site, you could add a Content Query control to the Welcome Page layout of your site so that new articles are highlighted on that page. You can build complex queries by using the Content Query control. For example, you can specify which sites in your site collection to query, which lists to use, and what audience to target. You can also filter queries that are based on items in a library or list.

You can add a Content Query control to a page layout in two ways:

  • You can add the control directly to the page layout and configure it. When you do this, any page that uses the page layout displays the results of the query.

  • You can add the control as a Web Part to a Web Part zone. When you do this, authors can modify the query or delete the Content Query control.

Navigation Web Parts

A Web Part is a control that authors can insert into a Web Part zone on a page and configure. The Summary Links, Table of Contents, and Content Query controls each have Web Part counterparts that page authors can insert into Web Part zones on pages. The Web Parts have the same configuration features and the same functionality as their related controls, but they can be configured when the writer inserts them on the page instead of when the site designer inserts them on the layout of the page. To make navigation Web Parts available for page authors to insert on a page, you can include one or more Web Part zones on a page layout, or you can include a Rich Text Editor control on a page, which will allow users to add Web Parts directly to the Rich Text Editor Web part.

The following navigation Web parts are available only for non-Publishing sites:

  • Categories Displays categories from the Site Directory.

  • Site Aggregator Displays sites of your choice.

  • Site in Category Displays sites from the Site Directory within a specific category.

  • Tag Cloud Displays the most popular subjects being tagged inside your organization.

The following navigation Web parts are available only on Publishing sites:

  • Summary Links Allows authors to create links that can be grouped and styled.

  • Table of Contents Displays the navigation hierarchy of your site.

If you make it possible for authors to insert navigation Web Parts on pages, you reduce the control that you have over your site's navigation because authors can then control part of the navigation experience of site users. This might be appropriate in a loosely controlled environment, such as a collaboration site in an organization, where individual authors have to be able to point users to content that is related to the author's work. It is less appropriate in a more tightly controlled environment, such as an Internet presence site, in which the navigation experience is planned and implemented in a consistent, controlled way by the designers and planners of the site.

Note:

If you want to include Web Part zones on page layouts but prevent authors from inserting navigation Web Parts into these zones, you can change the permissions that are required to use navigation Web Parts in the Web Parts gallery of your site to make those Web Parts unavailable to authors based on their permission level.

See Also

Concepts

Plan site navigation (SharePoint Server 2010)
Sites and site collections overview (SharePoint Server 2010)
Plan sites and site collections (SharePoint Server 2010)

Other Resources

Resource Center: Enterprise Content Management in SharePoint Server 2010


Plan site navigation (SharePoint Server 2010)
See Also

Site navigation provides the primary interface for site users to move around the sites and pages in your site. Microsoft SharePoint Server 2010 includes a set of navigation features that can be customized and extended to help orient the users of your site so they can move around its sites and pages. This article contains general guidance about how to plan site navigation for your SharePoint Server 2010 sites. This article does not describe the types of navigation controls that are available in SharePoint Server 2010, nor does it explain how to add navigation controls to Web pages, how to configure navigation controls, or how to create custom navigation controls. For information about site navigation controls, see Site navigation overview (SharePoint Server 2010) and Navigation Controls.

In this article:

  • About planning navigation

  • Plan the user experience

  • Plan navigation on pages

  • Site planning data worksheet

About planning navigation

Navigation planning includes planning the user experience that you want to create in your site and deciding whether authors will be able to insert navigation elements directly onto their pages.

Pages in sites that are based on SharePoint Server 2010 are composed of three elements: master pages, page layouts, and page content. When you plan your site's navigation, you can make decisions about all these elements:

  • You configure global (top link bar) navigation elements and site-level (Quick Launch) navigation elements on master pages.

  • You can add navigation elements that provide tables of contents, dynamic access to content based on a query, or authored links to page layouts.

  • You can allow page content to contain tables of contents, dynamic access to content based on a query, or authored links. Be aware that if you allow authors to add navigation elements to page content, site designers will have less control of a site's navigation experience.

  • You can use breadcrumbs to display a set of links that show the site hierarchy, starting from the current page up to the top-level site.

Plan the user experience

Your navigation decisions are closely related to your decisions about the structure of sites in your site hierarchy. For each site in your site hierarchy, you can choose to have it inherit the top link bar or the Quick Launch navigation from its parent site, or you can plan unique settings.

The decisions that you make about your site's navigation reflect its unique purpose and structure. When you plan navigation, consider the tradeoff between having too many navigation links, which could make your site confusing, and having too few, which could make it difficult for site users to locate important information. Also remember the following:

  • Inheriting the parent site's navigation can place the current site in a larger context. In an intranet site, this inheritance can help information workers use the other sites in the site collection to complete their tasks. If site users do not have to use other sites to complete their tasks, consider defining a unique top link bar at the site so that site users are not distracted by irrelevant navigation links. For example, records managers who are using a Records Center site might not have to go outside the Records Center to accomplish their tasks and so would not benefit from a set of inherited top link bar navigation links.

  • Displaying peer sites on the Quick Launch navigation can imply that the peer sites have a purpose that is similar to that of the current site. For example, in an Internet site that markets a set of products, peer sites on the Quick Launch navigation can help site users find descriptions of related products and services. However, if site users are unlikely to want to visit peer sites, consider not displaying them in the current navigation. For example, a university's Internet site that has sites for each graduate school could omit peer links from the current navigation of each parent site because students who are interested in a particular graduate school, such as Business Administration, are unlikely to want to visit sites related to other graduate schools, such as Nursing.

Plan navigation on pages

If you are using the publishing feature, you can add navigation controls to page layouts. You can also add Web Part zones to page layouts and give authors the ability to add navigation Web Parts to these zones. As with other page element planning decisions, you should plan navigation on pages based on how much control you want to have over the page-viewing experience:

  • To tightly control site navigation, you can put navigation controls directly on page layouts and eliminate Web Part zones from page layouts, or restrict the use of navigation Web Parts in those zones. For example, in a corporate Internet presence site that has millions of site users, you might decide to restrict authors from inserting navigation controls.

  • You can provide a more varied site navigation by putting Web Part zones on page layouts, and by giving authors the ability to insert navigation Web Parts onto their pages. For example, in an intranet site in which authors and site users are part of the same workgroup, you might decide to give authors the ability to control the navigation experience of their content by adding navigation Web Parts to their pages. For more information, see Plan Web pages (SharePoint Server 2010).

Site planning data worksheet

Download an Excel version of the Site planning data worksheet (http://go.microsoft.com/fwlink/p/?LinkID=167837&clcid=0x409). Use this worksheet to help record your decisions about site navigation.

See Also

Concepts

Site navigation overview (SharePoint Server 2010)
Sites and site collections overview (SharePoint Server 2010)
Plan sites and site collections (SharePoint Server 2010)

Other Resources

Resource Center: Enterprise Content Management in SharePoint Server 2010


Themes overview (SharePoint Server 2010)
See Also

Themes provide a quick and easy way to apply colors and fonts to sites in Microsoft SharePoint Server 2010. When a theme is applied to a site, the color of most page elements — such as background images, text, and hyperlinks — changes. The fonts used for some page elements, such as titles, also change. Themes can be used with the standard SharePoint Server 2010 site templates, or with custom master pages, and then themes can be created that site owners can apply to their sites.

This article includes an overview of themes and how they work. This article does not describe how to create custom themes by using Microsoft Office 2010 applications, or how to upload and manage themes in a theme library. It also does not discuss how to plan for the overall branding of sites by using master pages or cascading style sheets. For more information, see Web Content Management and Branding.

In this article:

  • About using themes

  • Ways to use themes

About using themes

Themes enable lightweight branding of a SharePoint Server 2010 site by allowing a site owner or a user with designer rights to make changes to the colors and fonts of user interface elements of a site. Themes are applied and customized directly in the user interface, and do not require knowledge of cascading style sheets or master pages.

An advantage of using themes is that developer resources are not needed for site owners and users with designer rights to make basic changes to a site. Themes are a simple method of branding a site; they do not affect the layout of a site.

By default, a theme is only applied to the site for which a specific theme is selected. If the site is a publishing site — or if the publishing feature was enabled for a site — when configuring the theme for a site, you can choose to either inherit the theme from the parent site or specify a theme that will be used by the site and all sites that inherit from it. When an alternate theme is selected and applied to a site, you can choose to apply the theme only to that site, or to that site and all sites below it in the site hierarchy. This will override any unique themes that those sites may have applied.

Note:

Themes in SharePoint Server 2010 have been redesigned to simplify the process of generating themes. Themes created in Microsoft Office SharePoint Server 2007 are not compatible with SharePoint Server 2010. If you are upgrading from Office SharePoint Server 2007 to SharePoint Server 2010, you can use Visual Upgrade to continue to use sites in the old user interface. However, we recommend that you use the new user interface in SharePoint Server 2010 to create themes and apply them to your sites.

Ways to use themes

There are three ways to use themes on a site:

  • Use a preinstalled theme.

  • Modify a preinstalled theme.

  • Upload a custom theme to the theme library.

Using a preinstalled theme

SharePoint Server 2010 comes with preinstalled themes, including the default SharePoint theme. When a new site is created, it will use the default SharePoint theme. If you want the site to use the theme of the parent site, configure the theme to inherit from the parent site.

Modifying a preinstalled theme

When a preinstalled theme is modified, a new theme called Custom is created automatically after the theme changes have been applied. There can only be one Custom theme for a site. SharePoint Server 2010 does not provide a way to save themes within the user interface. If you modify a preinstalled theme, apply the changes (thereby creating a new theme called Custom), and then modify a second preinstalled theme, the second preinstalled theme becomes the Custom theme when the settings are applied. To have multiple custom themes, you must create and upload your own custom themes to the theme gallery for the site collection.

Uploading your own custom themes to the theme gallery

You can create custom themes by modifying styles in an Office 2010 application, such as Microsoft PowerPoint 2010, and saving the theme. This creates a .thmx file that you can upload to the theme gallery for a site collection. Customized themes in the theme gallery are available to all sites in that site collection. For more information about themes in Office 2010 applications, see What is a theme? (http://go.microsoft.com/fwlink/p/?LinkId=214620). For information about how to create and upload themes to SharePoint Server 2010, see Working with SharePoint 2010 Themes (http://go.microsoft.com/fwlink/p/?LinkId=214625).

See Also

Concepts

Plan for using themes (SharePoint Server 2010)

Other Resources

Resource Center: Enterprise Content Management in SharePoint Server 2010


Plan for using themes (SharePoint Server 2010)
See Also

Themes provide a quick and easy way to apply colors and fonts to sites in Microsoft SharePoint Server 2010. When a theme is applied to a site, the color of most page elements — such as background images, text, and hyperlinks — changes. The fonts used for some page elements, such as titles, also change. Themes can be used with the standard SharePoint Server 2010 site templates, or with custom master pages, and then themes can be created that site owners can apply to their sites. For more information, see Themes overview (SharePoint Server 2010).

This article discusses how to plan for using themes across your SharePoint Server 2010 sites, and includes key steps in planning to use themes for your sites. This article does not describe how to create custom themes by using Microsoft Office 2010 applications, or how to upload and manage themes in a theme library. It also does not discuss how to plan for the overall branding of sites by using master pages or cascading style sheets. For more information, see Web Content Management and Branding.

Before reading this article, be sure to read the article Plan sites and site collections (SharePoint Server 2010).

In this article:

  • About planning for using themes

  • Decide whether to use themes

  • Determine how many themes are needed

  • Decide who makes the themes

  • Site planning data worksheet

About planning for using themes

There are three primary decisions to make as you plan to use themes:

  • Decide whether to use themes.

  • If you are going to use themes, determine how many themes are needed.

  • Decide who will make the custom themes.

The remainder of this article will explain these decisions and describe additional planning considerations.

Decide whether to use themes

The first step to planning for using themes is to decide whether themes are the appropriate option for your scenario. Other options for customizing a site include using an alternate .css file and creating custom master pages. These options require the skills of either a designer or a developer to implement, and so they may not be appropriate for your scenario.

To decide whether to use themes, determine how much change to the existing look and feel is needed for your sites, and then choose the option that most closely fits what you want to do. You can use a combination of one or more of these options, depending on the customization that you want to do for your sites. The following table describes different levels of customization and recommends the option best suited for each level.

To | Use this
Allow site owners to change colors and fonts | Themes
Make changes to other design elements such as font size and spacing | Cascading style sheets
Completely change the page structure and design | Master Pages

If you decide to use themes, continue reading the rest of this article.

Determine how many themes are needed

After deciding to use themes, you must determine how many themes are needed for your sites. Consider whether the themes that are installed with SharePoint Server 2010 are sufficient for your purposes, or if you will have to create custom themes to be used across sites. If you will be creating custom themes, you must also determine how many themes will be needed and decide which sites will use which themes.

Use the site planning data worksheet to record which sites should use a theme, and to determine how many unique themes are needed.

Decide who makes the themes

If you will be using custom themes, you must determine who will be responsible for creating the *.thmx files. Because custom themes are created in an Office 2010 application such as PowerPoint, you do not need a graphic designer to make a theme; however, you may want to include a graphic designer during the planning phase to provide guidance on color values and font styles that will be used in the themes.

You must also decide who will be responsible for uploading the themes to the theme gallery. Will the person who creates the themes also be responsible for uploading the *.thmx files to the theme gallery, or will they save the theme files to a directory for a site collection administrator to upload? A user must have either administrator or designer privileges for the site collection that contains the theme gallery in order to upload *.thmx files to the gallery. For more information about themes in Office 2010 applications, see What is a theme? (http://go.microsoft.com/fwlink/p/?LinkID=214620). For information about how to create and upload themes to SharePoint Server 2010, see Working with SharePoint 2010 Themes (http://go.microsoft.com/fwlink/p/?LinkID=214625).

Site planning data worksheet

Download a Microsoft Excel version of the Site planning data worksheet (http://go.microsoft.com/fwlink/p/?LinkID=167837&clcid=0x409). Use this worksheet to help record your decisions about themes.

See Also

Concepts

Themes overview (SharePoint Server 2010)
Sites and site collections overview (SharePoint Server 2010)
Plan sites and site collections (SharePoint Server 2010)

Other Resources

Resource Center: Enterprise Content Management in SharePoint Server 2010


Plan for multilingual sites (SharePoint Server 2010)
See Also

Microsoft SharePoint Server 2010 has several features that enable you to support users in different regions or users who speak different languages. You can use these features to create Web sites in different languages and configure site variation settings that make it easy to track site updates and changes across several duplicate sites.

This article discusses how to plan for multilingual SharePoint Server 2010 sites. This article does not describe how to create multilingual sites or how to install language packs. For information about creating multilingual sites, see Create sites in different languages from the default language. For information about language packs, see Deploy language packs (SharePoint Server 2010).

In this article:

  • About planning multilingual sites

  • Determine language and locale requirements

  • Determine whether to use site variations

  • Determine language pack requirements

  • Determine requirements for word breakers and stemmers

About planning multilingual sites

If your organization has to support users in different regions or users who speak different languages, you must determine what your multilingual requirements are and plan for multilingual site deployment when you plan your overall site structure and navigation.

To determine your multilingual requirements, you must:

  • Determine the languages and locales that you have to support.

  • Determine whether you want to use the site variations feature.

To plan for multilingual site deployment, you must determine which language features and components to install or configure on your servers. These can include:

  • Language packs.

  • Word breaker support.

Note:

Although Microsoft Office SharePoint Server 2007 supported internationalized domain names (IDNs), SharePoint Server 2010 does not. If you currently use IDNs with Office SharePoint Server 2007 and you plan to upgrade or migrate to SharePoint Server 2010, you must stop using IDNs, delete any IDN settings, and set up a non-IDN environment before you upgrade or migrate to SharePoint Server 2010.

Determine language and locale requirements

You might have to create sites in multiple languages for any of the following reasons:

  • You want to provide Web site content to users in different regions.

  • You are required by government regulation or organizational policy to provide Web site content in more than one language.

Be sure to consult all potential site owners when you determine your language requirements, and be sure to list all languages that you might have to support in the future. It is easier to install language support during initial deployment instead of waiting to install language support when your servers are running in a full production environment. After a site has been created for a specific language, the default language of the site cannot be changed. However, a user who is logged on to the site can use the multilingual user interface to select an alternative language in which to display the site. This changes the way the site user interface is displayed to the user, but it does not change the site content. For example, if the site was provisioned in French, and the Spanish language pack has also been installed on the server, a site user can change the language to Spanish so that when they view the site, the user interface will be in Spanish. This changes the user interface for that user only and does not affect how the site is displayed to other users. Also, any content that was created in French will still be displayed in French. For more information about the multilingual user interface, see Multilingual user interface overview (SharePoint Server 2010).

Note:

If a user changes their personal site settings to display the site in an alternative language, some site elements, such as column names, might still be displayed in the default site language.

Do not assume that you have to create a Web site or a site collection in multiple languages only because a document library contains documents in multiple languages. A document library can contain documents in multiple languages without requiring you to create Web sites or site collections in multiple languages. For example, the document library for an English site collection can contain documents that are written in French and documents that are written in Japanese. For publishing sites, content can be created in any language. You do not have to create a Web site in specific language in order to display pages that contain content in other languages.

When you are planning multilingual sites, you should also consider what locales are necessary to support your sites. Locale is a regional setting that specifies the way numbers, dates and times are displayed on a site. However, locale does not change the language in which the site is displayed. For example, selecting the Thai locale changes the default sort order of list items and uses the Buddhist calendar instead of the default calendar. The locale is a setting that is configured independently of the language specified when a site is created, but unlike the language, the locale can be changed at any time. For more information about translation of the user interface, see Determine language pack requirements.

Determine whether to use site variations

The SharePoint Server 2010 variations feature enables site administrators to make the same information available to specific audiences across different sites by maintaining customizable copies of the content from the source variation in each target variation. A variation consists of a set of labels that is used to create a set of sites in a site collection. For example, if you want four language variations of your site, you must create four labels, one for each language. The variations feature will create four sites, one for each label. The site administrator selects one label to be the source label. The corresponding source site is where most of the new content enters the system. The remaining labels are the target labels, which the variations feature creates as target sites. For a multilingual site, you might want to use the primary language of your organization as the source label. There can be only one source label, and after the source label has been specified, it cannot be changed. For more information about variations, see Variations overview (SharePoint Server 2010).

To ensure seamless synchronization, when a change is made to a page within the source site, you can configure the variations feature so that the updated page is copied either manually or automatically to the target sites. The change can be as minor as correcting a spelling error or as major as a complete rewrite of the content. The copy appears as a new draft item on the target site; it does not replace the existing content. The content owner on the target site makes the decision to accept the change as is, translate the change, or ignore the change. The same applies if a user on the source site creates a new site below the source site or publishes a new page. Site administrators can decide to create a variation's corresponding site and pages either automatically or manually.

When you plan for multilingual sites, consider whether you have to create content that will be shared across sites, but must be modified to meet regional requirements or translated to meet language requirements. For more information, see Plan variations (SharePoint Server 2010).

Determine language pack requirements

Based on the language requirements of your Web site, determine the language packs that have to be installed on your front-end Web servers. Language packs enable you to create sites and site collections in multiple languages without requiring separate installations of SharePoint Server 2010. Language packs are installed on the front-end Web servers in your server farm and contain language-specific site templates. When you create a site or a site collection that is based on a language-specific site template, the user interface text that appears on the site or the site collection is displayed in the language of the specified site template. For example, when you decide to create a site in French, the toolbars, navigation bars, lists, and column headings for that site will appear in French. Likewise, if you decide to create a site in Arabic, the toolbars, navigation bars, lists, and column headings for that site will appear in Arabic, and the default left-to-right orientation of the site changes to a right-to-left orientation to properly display Arabic text.

If your site will have users who cannot work in the default language that you plan to use for the site, you should also install language packs that will enable users to work in their chosen language by using the multilingual user interface. If you do not provide support for additional languages, users might find it difficult to use site features in their non-native language. Language packs provide language-specific translation of user interface elements such as the following:

  • Ribbon elements

  • List and site column headers

  • Site settings interface

  • Templates for new lists, document libraries, and sites

  • Managed metadata tagging.

  • Relevant search indexing of content that is not in the default language of the site.

Note:

Language packs provide translation only of the user interface. They do not translate content that is created and displayed in content pages or Web Parts.

The list of available languages that you can use to create a site or site collection, and which users can select in the multilingual user interface, is generated by the language packs that are installed on the front-end Web servers of your server farm. By default, sites and site collections are created in the language in which SharePoint Server 2010 was installed. For example, if you install the Spanish version of SharePoint Server 2010, the default language for sites, site collections, and Web pages is Spanish. If you have to create sites, site collections, or Web pages in a language other than the default SharePoint Server 2010 language, you must first install the language pack for that other language on the front-end Web servers before you can select another language in which to create a site. For example, if you are running the French version of SharePoint Server 2010 and you want to create sites in French, English, and Spanish, then you must install the English and Spanish language packs on the front-end Web servers before you can create the English and Spanish sites.

Language packs for SharePoint Server 2010 are not bundled or grouped into multilingual installation packages: you must install a specific language pack for each language that you want to support. Also, language packs must be installed on every front-end Web server in the server farm to ensure that each Web server can render content in the specified language. For information about what language packs are available, see Language packs (SharePoint Server 2010). For information about how to deploy language packs, see Deploy language packs (SharePoint Server 2010).

Even though you specify a language for a site, some user interface elements such as error messages, notifications, or dialog boxes might not appear in the language that you choose. This is because SharePoint Server 2010 relies on several supporting technologies — such as the .NET Framework, Microsoft Windows Workflow Foundation, ASP.NET, and Microsoft SQL Server — and some of these supporting technologies are localized into only a limited number of languages. If a user interface element is generated by one of the supporting technologies, and if the supporting technology is not localized into the language that the site administrator specified for the site, the user interface element appears in English.

In addition, some text might originate from the original installation language, which can create a mixed-language experience. This type of mixed-language experience is typically seen only by content creators or site administrators and is not seen by site users.

Note:

Error logs that SharePoint Server 2010 stores on the server are always in English.

For more information about installing language packs, see Deploy language packs (SharePoint Server 2010).

Determine requirements for word breakers and stemmers

Word breakers and stemmers are components that are part of the indexing and querying processes. A word breaker is a component that is used to break strings of text into individual words during the indexing and querying processes. A stemmer is a component that finds the root word of a term and can also generate variations of that term. The rules for word breaking and stemming differ for different languages, and you can specify different rules for different languages. Word breakers for each language enable the resulting terms to be more accurate for that language. Where there is a word breaker for a language family, but not for a specific sub-language, the major language is used. For example, the French word breaker is used to handle text that is French Canadian. If no word breaker is available for a particular language, the neutral word breaker is used. With the neutral word breaker, words are broken at neutral characters such as spaces and punctuation marks.

If you install any language packs or supplemental language support, we recommend that you install the appropriate word breaker and stemmer for each of the languages that you have to support. Word breakers and stemmers must be installed on all servers that are running the Search service. For a list of the languages for which SharePoint Server 2010 provides word breakers and stemmers, see Languages for word breakers and stemmers (SharePoint Server 2010).

See Also

Concepts

Multilingual term sets (SharePoint Server 2010)
Multilingual user interface overview (SharePoint Server 2010)
Plan for the multilingual user interface (SharePoint Server 2010)


Multilingual user interface overview (SharePoint Server 2010)
See Also

Published: July 8, 2010

This article discusses the new multilingual user interface feature in Microsoft SharePoint Server 2010. When language packs were installed on the server in Microsoft Office SharePoint Server 2007 and you created a site collection or site, you could also select the language in which to display the site user interface. However, after the language for the user interface of a site was set, it could not be changed. The multilingual user interface feature introduces the concept of secondary, or preferred, languages. This feature is used to display the site user interface in a secondary language that the user prefers rather than the default, primary language that was selected when the site was created.

This article does not describe how to deploy the language packs that are required to use the multilingual user interface or how to configure site settings to enable users to set their preferred language. It also does not discuss how to plan for using the multilingual user interface in your site solution. For information about how to let individual users change the primary language that is used to display their site's user interface, see Make multiple languages available for your site's user interface on Office.com. For information about how to plan to use the multilingual user interface, see Plan for the multilingual user interface (SharePoint Server 2010).

In this article:

  • Use and benefits of the multilingual user interface

  • How the multilingual user interface works

  • What is supported by the multilingual user interface

  • Adding and modifying application content

  • Exporting and importing translated content

  • Using the multilingual user interface with managed metadata

  • Limitations of the multilingual user interface

Use and benefits of the multilingual user interface

The multilingual user interface enables users to collaborate in a single site by using the secondary language that they prefer, regardless of which primary language was selected when the site was created. When you create a new site and language packs have been installed on the server, you can specify the primary language for the site. The site will use that primary language to display the site user interface, such as site navigation and administrative pages. If you want site users to be able to view the site user interface in a secondary language, you can specify which languages are available to users by using the Language Settings page. A user who is logged on to the site can use the Select Display Language option on the user menu to select a secondary language in which to display the site user interface. After the user selects a language, all sites within that domain name are displayed in the user's preferred language. However, this does not change the default, primary language of the site. Other users who view the site still see the site user interface displayed in the primary language. The site user interface is changed only for those users who have selected a different, secondary language in which to display the site.

By using the multilingual user interface, team members can work on documents and projects in a shared, primary language, while they view the site and perform tasks in their preferred language. In addition to team collaboration, the multilingual user interface enables farm and site administrators to perform administrative tasks in their preferred language. For example, farm administrators can configure the Central Administration Web site so that the administrative links and instructions are displayed in their preferred language.

Note:

The multilingual user interface only displays site user interface elements in another language. It does not perform translation or display content such as documents or list items in another language. SharePoint Server 2010 provides three methods that you can use to translate certain application content, such as list or library titles and descriptions: by using the user interface, by exporting and importing translations for a site, and by using the object model.

In addition to letting users configure the language in which a site is displayed, the multilingual user interface also enables users to change new and existing application content — such as list or library titles and descriptions — and it enables users to have those changes be reflected in the user interface for other users of other languages. For example, a team member who uses English as the preferred language creates a new document library named "Team Reports." Another team member, who has the preferred language set to German, logs on to the site and changes the library title to "Mannschaftsberichte." The next time that a user who has the preferred language set to German logs on to the site, the name of the document library is displayed as "Mannschaftsberichte." However, a user who has the preferred language set to English still sees the document library name displayed as "Team Reports."

How the multilingual user interface works

By default, when a new site is created, it is created in the default, primary language of the SharePoint Server 2010 installation on the server. A farm administrator must install language packs on the server before sites can be created in languages other than the default, primary language. For more information, see Deploy language packs (SharePoint Server 2010).

After language packs have been installed on the server, the Language Settings link is added to the Site Settings page. Site administrators use the Language Settings page to specify which secondary languages the site will support. After the site administrator has enabled secondary languages for a site, users can log on to the site and use the Select Display Language option on the user menu to change the language that is displayed when they browse to any page in the site collection. When a user changes the display language of a page, the new display language becomes the user's preferred language for the whole site collection.

SharePoint Server 2010 selects the language in which to display pages of a site collection by using the first rule that applies from the following list:

  1. Does the user have a preferred language for this site collection on this computer? If so, use the user's preferred language.

  2. Is the language preference that is specified in the Web browser one of the supported languages for the page? If so, use the preferred language of the browser.

  3. Otherwise, use the default, primary language for the site collection.

SharePoint Server 2010 provides three methods that you can use to modify certain application content, such as list or library titles and descriptions: by using the user interface, by exporting and importing translations for a site, and by using the SPUserResource class in the Microsoft.SharePoint namespace. Not all user interface elements can be changed directly in the user interface. For example, user actions and commands can be changed only by using the SPUserResource class. For more information, see SPUserResource class.

What is supported by the multilingual user interface

When a user views a site in a secondary, preferred language, certain elements of the user interface are displayed in the preferred language. Generally speaking, most user interface elements can be displayed in the secondary, preferred language, but user-created content cannot be. The following list includes examples of items that are supported by the multilingual user interface:

  • Settings pages, such as those in the _layouts and the _admin virtual directories.

  • Help.

  • Application content, such as menus, controls, site actions, site title and description, list or library titles and descriptions, top link bar links, Quick Launch links, local breadcrumbs, site and list content types, and site and list columns.

  • Developer content, such as features, and solutions.

However, not all user interface elements are displayed in the secondary, preferred language. The following list includes examples of items that are not supported by the multilingual user interface:

  • Web Parts (except those that are linked to lists or libraries).

  • Global breadcrumbs.

  • User created content, such as list item data, documents and Web pages in libraries, custom permissions levels, groups, views, and Web Parts.

Although most site templates are supported by the multilingual user interface, the following site templates are not supported:

  • The Blog template.

  • Any of the meeting workspace templates.

  • Any of the Web database templates.

For more detailed information about the user interface elements that are not supported by the multilingual user interface feature, see Limitations of the multilingual user interface, later in this article.

Adding and modifying application content

A user can add or modify application content, such as list titles or column names and descriptions, in one of two ways: by adding or modifying content in the primary language or by adding or modifying content in one or more secondary languages.

When a user views a site by using the primary language of the site, any new application content that is created is displayed in the primary language, even when the site is viewed in a secondary language. For example, if the primary language for a site is English, when a user views the site in the primary language and creates a new document library called "Team Documents," the library title is still displayed as "Team Documents" when a user views the site in any secondary language.

When a user views a site by using a secondary language, any new application content that the user creates is displayed in that language even when the site is viewed in the primary language or in any other secondary language. For example, if the primary language for a site is English, and a user views the site in German and adds a document library called "Mannschaftsdokumente," the library title is displayed as "Mannschaftsdokumente" even when the site is viewed in English. To translate application content such as a document library title into the primary language or into other secondary languages, the user must first configure the user preferences to display the site in the language for which he or she wants to make the change, and then make the change to the user interface.

The Language Settings page contains an Overwrite Translations option that affects how changes to existing application content are made to other languages for the site. If the Overwrite Translations option is enabled, any changes that are made to the user interface in the primary language overwrite any changes that have been made to those same user interface elements in secondary languages.

By default, when a user views a site by using the primary language of the site, any changes that are made to existing application content are changed for the primary language only. The strings that are associated with specific application content in the secondary languages remain unchanged. However, if the Overwrite Translations option is enabled, the strings that are associated with that application content for every language are replaced with the new primary language string. For example, if the primary language for a site is English and a user changes the title of the "Shared Documents" library to "Team Documents," by default, the title is changed only for the primary language of the site. However, if the Overwrite Translations option is enabled, the title is changed to "Team Documents" for every secondary language, and it must be retranslated.

When a site is displayed in a user's secondary, preferred language, any changes that are made to existing application content are changed for that language only. The strings that are associated with specific application content in the primary language and other secondary languages remain unchanged. To translate application content such as a document library title into the primary language or into other secondary languages, the user must change the user preferences to display the site in the primary or secondary language and then make the change to the user interface.

Exporting and importing translated content

The multilingual user interface feature lets you export and import application content for bulk translation. Instead of translating application content one item at a time, you can export the strings for any new or modified application content in the primary language or in one of the secondary languages. To export content, you use the Export Translations link on the Site Settings page. When you export application content for a secondary language, you can decide to export all content or only content that has not been translated.

When the application content is exported, it is saved as a .resx file, which can be opened by using a text editor or any third-party tool that can open resource files. For more information, see Resources in .Resx File Format. After the resource strings have been translated, you use the Import Translations link on the Site Settings page to import the .resx file.

Using the multilingual user interface with managed metadata

You can create multilingual managed metadata for use with a SharePoint Server 2010 solution. By using the Term Store Management Tool, you can create a term set and associate multiple labels, one for each language that you want to support, with each term in the set. When a user reconfigures the preferred language for a site, the terms are displayed by using the labels that correspond to the preferred language. For more information about how to use multilingual managed metadata with a site, see Multilingual term sets (SharePoint Server 2010).

Limitations of the multilingual user interface

As mentioned previously, some user interface elements are not MUI-enabled — that is, they are not supported by the multilingual user interface. This section describes additional limitations that apply when you use the multilingual user interface with shared components and site templates.

Shared components

Shared components — such as Web Parts, lists, and permissions — appear across all site templates. Their functionality is centrally defined, and their behavior is consistent regardless of the site template in which they appear.

Web Parts

The titles and descriptions are MUI-enabled only for list-based Web Parts. For example, the title and description for Web Parts that display list and library data, such as Announcements and Shared Documents, are displayed in a user's preferred language. By contrast, the title and description for other Web Parts, such as the Content Editor and the Content Query Web Parts, are displayed only in the primary site language. The following properties and features of non-list-based Web Parts are not MUI-enabled. They are always displayed in the language in which they were created.

  • Titles This includes default Web Part titles and any titles that the user edited after the site was created.

  • Descriptions This includes default Web Part descriptions and any descriptions that the user edited after the site was created

  • Custom properties Any custom Web Part properties that are created or edited by the user remain in the language in which they were created.

  • Import error message The default value of this error message is always displayed in the primary site language. If a user has created a custom error message, that error message is always displayed in the language in which it was created.

Lists

List views and list items are not MUI-enabled. These user interface elements will continue to display the values that were entered when they were created, regardless of the preferred language selected by the user.

Links to list titles in the Quick Launch and the top link bar menu will continue to display the values that were entered when the lists were created. Although the Quick Launch and the top link bar menu are MUI-enabled, the list titles that they display are independent of the actual list titles. To work around this issue, the user must edit the list title for the Quick Launch and the top link bar menu. For information about how to edit the Quick Launch link item, see Edit, move, or delete a Quick Launch link (http://go.microsoft.com/fwlink/p/?LinkId=208207) in "Configure the Quick Launch for site navigation" on Office.com. For information about how to edit the top link bar, see Add, edit or remove a link from the top link bar (http://go.microsoft.com/fwlink/p/?LinkId=208208) in "Configure the top link bar for site navigation" on Office.com.

Permissions

The following properties and features of permissions are not MUI-enabled; they are always displayed in the primary site language or the language in which they were created:

  • Permission group names These include default permission group names and any custom permission groups that were created by a user.

  • Permission level names and descriptions These include default permissions levels and any custom permission levels that were created or changed by a user.

  • User information User information such as About Me, Title, and Department.

Site templates

This section describes the limitations of the multilingual user interface for site templates in SharePoint Server 2010. The majority of these limitations are caused by the limitations of their shared site components such as Web Parts, lists, and permissions. The following multilingual user interface limitations apply to specific templates, because of their specialized nature or custom layout.

My Site

The following My Site properties and features are not MUI-enabled, and are always displayed in the primary site language:

  1. Web Parts Web Part titles, descriptions, custom properties, and import error messages.

  2. User-generated content List items, discussions, notes, comments, documents, and HTML content.

Blogs

The Blog site template includes many Web Parts and user-generated content, which are not MUI-enabled. If additional display languages are enabled on the Blog site settings page, an error message will be displayed.

Meeting sites

Meeting site templates include many Web Parts and user-generated content, which are not MUI-enabled. If additional display languages are enabled on the site settings page for any meeting site template, an error message will be displayed.

Search

The Search site uses features in addition to the Search Web Part and Search Site Templates. Many of the Search site limitations are not actually related to multilingual user interface features, but are architectural designs that affect the user interface. The following limitations are a mix of multilingual user interface and architectural limitations for Search sites:

  • Search Search indexes content in the primary language of the SharePoint Server installation. Even if content is provided in secondary languages, that content is only searchable by using the primary language of the site. For example, if your secondary, preferred language is German, but the primary language for the site is English, a search for "Freigegebene Dokumente" returns no results. However, a search for "Shared Documents" does return results.

  • Search Web Part properties Title, description and custom properties are not MUI-enabled. The default search prompt for the search box will be displayed in a different language when the user changes their secondary, preferred language. However, if this prompt is customized, its customized value will be displayed for all languages.

  • Refinement Panel Web Part The Refinement Panel Web Part is not MUI-enabled. Term store labels that are displayed in the Refinement Panel Web Part are always displayed in the primary language of the site. For example, if your secondary, preferred language is Italian, but the primary language for the site is English, and you have a document that uses term store labels that contain values for both languages, the Refinement Panel Web Part will display only the English label.

Web databases

Only the Options menu and the Open Menu are MUI-enabled for Web database sites. Database section tabs correspond to different views for the database, and the labels for these tabs are always displayed in the primary site language. Database content is user-generated content and will always be displayed in the language in which it was originally created.

See Also

Concepts

Plan for the multilingual user interface (SharePoint Server 2010)
Plan for multilingual sites (SharePoint Server 2010)


Plan for the multilingual user interface (SharePoint Server 2010)
See Also

Published: July 8, 2010

The new multilingual user interface feature in Microsoft SharePoint Server 2010 introduces the concept of a secondary language that the user can select. This feature displays the site user interface in a secondary language that the user selects and that is different from the primary language that was chosen when the site was created.

This article describes how to plan for using the multilingual user interface in your SharePoint Server 2010 site solution. This article does not describe how to deploy the language packs that are required to use the multilingual user interface or how to configure site settings to enable users to set their preferred language. For information about how to let individual users change the language that is used to display their site's user interface, see Make multiple languages available for your site's user interface. For more information about the multilingual user interface, see Multilingual user interface overview (SharePoint Server 2010).

In this article:

  • Determine language requirements for your sites

  • Plan for translating content

  • Plan for installing service packs

Determine language requirements for your sites

Before you can use the multilingual user interface in your SharePoint sites, the farm administrator must deploy language packs to the server so that they are available for use on sites. Decide which language packs are needed and when they will be deployed to the server. Site administrators must configure the language settings for individual sites to make specific languages available to site users. You should decide which languages are needed for each site and plan to have the site administrators enable specific languages for the sites they manage. For information about planning multilingual sites, see Plan for multilingual sites (SharePoint Server 2010). For information about deploying language packs, see Deploy language packs (SharePoint Server 2010).

Plan for translating content

If you will enable the multilingual user interface on your site to provide users a way to collaborate while they are using their preferred language, you must decide whether using the default multilingual user interface will be sufficient or whether application content will have to be translated. If you have application content that has to be translated, you should consider the following questions:

  • How will new and existing application content be translated? Will individual team members translate application content directly in the user interface as it becomes necessary, or will you export resource files in the languages that are needed for the site and have them all translated at once? If users create new application content in a secondary language, you must plan for who will translate that content into the primary language of the site and for the other secondary languages. If you plan to create complex pages, such as new menu pages, or develop custom solutions, such as features that create lists, you must plan to use the object model to provide translations in secondary languages.

  • Who will translate the application content? Will the translation of resource files be done by someone within your organization, or will you need to have a third-party translate them for you?

  • How will updates to the application content be handled? Will changes to the user interface be translated as changes are made, or will changes be made on a periodic schedule? This might depend on the size and scale of the sites and the content that is included.

  • How should translation overwrites be handled? Do you want changes in the primary language to overwrite string values in secondary languages? If so, then you must enable the Overwrite Translations option on the Language Settings page.

  • What column names must be changed? What column names must be translated, and for which languages? Will the column names be at the list level or at the site level?

Plan for installing service packs

If language packs are updated as part of a service pack release for SharePoint, you must update the language packs on the server when the service pack is installed. You should plan to coordinate with the farm administrator to monitor the release of service packs and any associated language packs so that you are aware of updated language packs that need to be installed for your users.

See Also

Concepts

Multilingual user interface overview (SharePoint Server 2010)
Plan for multilingual sites (SharePoint Server 2010)


Security planning for sites and content (SharePoint Server 2010)

Some of the sites in your enterprise probably contain content that should not be available to all users. For example, proprietary technical information should be accessible only on a need-to-know basis. An intranet portal for employee benefits should be available only to full-time employees, whereas the home page of an Internet Web site is accessible by anonymous clients.

Permissions control access to your sites and site content. You can manage permissions by using Microsoft SharePoint Server 2010 groups, which control membership, and fine-grained permissions, which help to secure content at the item and document level. This section describes permissions for sites and site content and provides considerations for choosing permissions.

In this section:

  • Plan site permissions (SharePoint Server 2010)

    Helps you understand how permissions are assigned and helps you choose the appropriate permissions to use in your site collection or subsite.

  • Determine permission levels and groups (SharePoint Server 2010)

    Reviews the available permission levels and groups, and helps you determine whether you need additional permission levels or groups.

  • Choose security groups (SharePoint Server 2010)

    Helps you determine which Microsoft Windows security groups and user accounts to use to grant access to sites, decide whether to use the Authenticated Users group, and decide whether to allow anonymous access.

  • Choose administrators and owners for the administration hierarchy (SharePoint Server 2010)

    Defines the levels of administration from the server level to the subsite level and helps you choose administrators for each level.

  • Best practices for using fine-grained permissions (white paper) (SharePoint Server 2010)

    Provides guidance about how to use fine-grained permissions in Microsoft SharePoint 2010 Products.

  • Contribute permission level overview (SharePoint Server 2010)

    Provides information about the Contribute permission level and the tasks that you can complete if you have these permissions.

Security Note:

SharePoint Server 2010 does not currently comply with Federal Information Processing Standard (FIPS) 140-2 - Security Requirements for Cryptographic Modules. FIPS 140-2 defines security standards which the United States and Canadian governments use to validate security levels for products that implement cryptography.

For more information about FIPS 140-2, see the following references:

  • FIPS 140 Evaluation

  • FIPS Publications


Plan site permissions (SharePoint Server 2010)
See Also

This article helps you plan access control at the site collection, site, subsite, and site content (list or library, folder, item or document) levels. This article also describes the concepts about permission inheritance and fine-grained permissions.

This article does not address planning the security of your entire server or server farm. For more information about planning other aspects of security, such as authentication methods and authentication modes, see Plan authentication methods (SharePoint Server 2010).

In this article:

  • About site permissions

  • About permission inheritance

  • Plan for site permissions

  • Plan for permission inheritance

  • Worksheet

Introduction

You can control access to site and site content by assigning permissions to users or groups for a specific site or site content at the following levels within a site collection:

  • Site

  • Library or list

  • Folder

  • Document or item

Before developing your plan for site and content access, you should consider the following questions:

  • To what granularity do you want to control permissions for the site or site content? For example, you might want to control access at the site level, or you might need more restrictive security settings for a specific list, folder, or item.

  • How do you want to categorize and manage your users by using SharePoint groups? Groups do not have any permission until they are assigned a permission level for a specific site or for specific site content. When you assign permission levels to SharePoint groups at the site collection level, by default, all sites and site content inherit those permission levels.

For more information about using groups to help manage permissions, see Choose security groups (SharePoint Server 2010).

About site permissions

You should understand the following concepts before designing your permissions plan.

  • Permissions Permissions grant a user the ability to perform specific actions. For example, the View Items permission allows a user to view items in a list or folder, but not to add or remove items. Permissions can be granted to individual users at site or site content levels.

    For information about available permissions, see User permissions and permission levels (SharePoint Server 2010).

  • Fine-grained permissions Fine-grained permissions are unique permissions on securable objects that are at a lower level in a site hierarchy, such as permissions on a list or library, folder, or item or document. Fine-grained permissions allow for greater granularity and customization of user permissions in a site collection.

  • Permission level Permission levels are collections of permissions that allow users to perform a set of related tasks. For example, the Read permission level includes the View Items, Open Items, View Pages, and View Versions permissions (among others), all of which are needed to view pages, documents, and items in a SharePoint site. Permissions can be included in more than one permission level.

    Permission levels are defined at the site collection level and can be customized by any user or group whose permission level includes the Manage Permissions permission. For more information about customizing permission levels, see Configure custom permissions (SharePoint Server 2010).

    The default permission levels are Limited Access, Read, Contribute, Design, and Full Control. For information about default permission levels and the permissions included in each level, see User permissions and permission levels (SharePoint Server 2010).

  • SharePoint group A SharePoint group is a group of users that are defined at site collection level for easy management of permissions. Each SharePoint group is assigned a default permission level. For example, the default SharePoint groups are Owners, Visitors, and Members, with Full Control, Read, and Contribute as their default permission levels respectively. Anyone with Full Control permission can create custom groups.

  • User A user can be a person with a user account from any authentication provider supported by the Web application. We recommend that you assign permissions to groups rather than users, although you can directly grant individual users permissions to a site or specific content. Because it is inefficient to maintain individual user accounts, you should assign permissions on a per-user basis only as an exception.

  • Securable object A securable object is a site, list, library, folder, document, or item for which permissions levels can be assigned to users or groups. By default, all lists and libraries within a site inherit permissions from the site. You can use list-level, folder-level, and item-level permissions to further control which users can view or interact with site content. You must first break the permission inheritance before you change or assign permissions for that securable object. You can resume inheriting permissions from the parent list or site at any time.

You can assign a user or group permissions for a specific securable object. Individual users or groups can have different permissions for different securable objects. The following diagram illustrates the relationships among permissions, users and groups, and securable objects.

Specific permission levels

About permission inheritance

Permissions on securable objects within a site are inherited from the parent object by default. You can break inheritance and use fine-grained permissions — unique permissions on the list or library, folder, or item or document level — to gain more control of the actions users can take on your site. For more information about the best practices for using fine-grained permissions, see Best practices for using fine-grained permissions

Stopping inheriting permissions copies the groups, users, and permission levels from the parent object to the child object, and then breaks the inheritance. When permission inheritance is broken, all permissions are explicit and any changes to parent object do not affect the child object. If you restore inherited permissions, the child object will inherit its users, groups, and permission levels from the parent again, and you will lose any users, groups, or permission levels that were unique to the child object.

For ease of management, use permission inheritance wherever possible.

Tip:

If you choose to break inheritance and use fine-grained permissions, you should use groups to avoid having to track individual users. Because people move in and out of teams and change responsibilities frequently, tracking those changes and updating the permissions for uniquely secured objects would be time-consuming and error-prone.

Plan for site permissions

When you create permissions, you must balance the ease of administration and performance against the need to control access to individual items. If you use fine-grained permissions extensively, you will spend more time managing the permissions, and users may experience slower performance when they try to access site content.

Use the following guidelines to plan site permissions:

  1. Follow the principle of least privilege: Users should have only the permission levels or individual permissions they need to perform their assigned tasks.

  2. Use standard groups (such as Members, Visitors, and Owners) and control permissions at the site level.

    • Make most users members of the Members or Visitors groups. By default, users in the Members group can contribute to the site by adding or removing items or documents, but cannot change the structure, site settings, or appearance of the site. The Visitors group has read-only access to the site, which means that they can see pages and items, and open items and documents, but cannot add or remove pages, items, or documents.

    • Limit the number of people in the Owners group. Only those users you trust to change the structure, settings, or appearance of the site should be in the Owners group.

  3. Use permission levels rather than assign individual permissions.

Note:

  1. You can create additional SharePoint groups and permission levels if you need more control over the actions that your users can take. For example, if you do not want the Read permission level on a specific subsite to include the Create Alerts permission, break the inheritance and customize the Read permission level for that subsite.

  2. Microsoft SharePoint Foundation 2010 and SharePoint Server 2010 use Check Permissions to determine a user or group's permissions on all resources within a site collection. You can now find both the user's directly assigned permissions and the permissions assigned to any groups of which the user is a member by checking permissions for a specific site or site content.

Plan for permission inheritance

It is much easier to manage permissions when there is a clear hierarchy of permissions and inherited permissions. It becomes more difficult when some lists within a site have fine-grained permissions applied, and when some sites have subsites with unique permissions and others with inherited permissions. As much as possible, arrange sites and subsites, and lists and libraries so they can share most permissions. Separate sensitive data into their own lists, libraries, or subsites.

For example, it's much easier to manage a site that has permission inheritance as described in the following table.

Securable object | Description | Unique or inherited permissions
SiteA | Group home page | Unique
SiteA/SubsiteA | Sensitive group | Unique
SiteA/SubsiteA/ListA | Sensitive data | Unique
SiteA/SubsiteA/LibraryA | Sensitive documents | Unique
SiteA/SubsiteB | Group shared project information | Inherited
SiteA/SubsiteB/ListB | Non-sensitive data | Inherited
SiteA/SubsiteB/LibraryB | Non-sensitive documents | Inherited

However, it is not as easy to manage a site that has permission inheritance as shown in the following table.

Securable object | Description | Unique or inherited permissions
SiteA | Group home page | Unique
SiteA/SubsiteA | Sensitive group | Unique
SiteA/SubsiteA/ListA | Non-sensitive data | Unique, but same permissions as SiteA
SiteA/SubsiteA/LibraryA | Non-sensitive documents, but with one or two sensitive documents | Inherited, with unique permissions at the document level
SiteA/SubsiteB | Group shared project information | Inherited
SiteA/SubsiteB/ListB | Non-sensitive data, but with one or two sensitive items | Inherited, with unique permissions at the item level
SiteA/SubsiteB/LibraryB | Non-sensitive documents, but with a special folder containing sensitive documents | Inherited, with unique permissions at the folder and document level

Worksheet

Use the following worksheet to fill in your site hierarchy, and then list the permissions needed at each level of the hierarchy and any permission inheritance.

  • Site and content security worksheet (http://go.microsoft.com/fwlink/p/?LinkID=213970&clcid=0x409)

See Also

Other Resources

Resource Center: Security and Authentication for SharePoint Server 2010


Determine permission levels and groups (SharePoint Server 2010)

A SharePoint group is a set of users that can be managed together. A permission level is a set of permissions that can be assigned to a specific group for a specific securable object. SharePoint groups and permission levels are defined at the site collection level and are inherited from the parent object by default. This article describes default groups and permission levels and helps you decide whether to use them as they are, customize them, or create different groups and permission levels.

In this article:

  • Review available default groups

  • Review available permission levels

  • Determine whether you need custom permission levels or groups

  • Worksheet

The most important decision about your site and content security in Microsoft SharePoint Server 2010 is how to group your users and which permission levels to assign.

Review available default groups

SharePoint groups enable you to manage sets of users instead of individual users. These groups can contain many individual users, or they can include the contents of any corporate identity system, including Active Directory Domain Services (AD DS), LDAPv3-based directories, application-specific databases and new user-centric identity models, such as Windows Live ID. SharePoint groups do not confer specific rights to the site; they are a way to designate a set of users. You can organize yours users into any number of groups, depending on the size and complexity of your organization or Web site. SharePoint groups cannot be nested.

The following table displays default groups that are created for team sites in SharePoint Server 2010. Each default group is assigned a default permission level.

Group name | Default permission level | Description
Visitors | Read | Use this group to grant people Read permissions to the SharePoint site.
Members | Contribute | Use this group to grant people Contribute permissions to the SharePoint site.
Owners | Full Control | Use this group to grant people Full Control permissions to the SharePoint site.

If you use a site template other than the team site template, you will see a different list of default SharePoint groups. For example, the following table shows the additional groups provided by a publishing site template.

Group name Default permission level Description

Restricted Readers

Restricted Read to the site, plus Limited Access to specific lists

Members of this group can view pages and documents, but cannot view historical versions or review user rights information.

Style Resource Readers

Read to the Master Page Gallery and Restricted Read to the Style Library.

Members of this group are given Read permission to the Master Page Gallery and Restricted Read permission to the Style Library. By default, all authenticated users are a member of this group.

Note:

Do not remove all authenticated users from this group. Because Master Page Gallery and Style Library are shared across all sites in the site collection and must be accessible to all users of all sites. If you remove all authenticated users from the group, anyone with this permission level on a subsite will not be able to render the site. SharePoint will not automatically add or remove users of subsites to or from this group as needed.

Quick Deploy Users

Contribute to the Quick Deploy Items library, plus Limited Access to the rest of the site

Members of this group can schedule Quick Deploy jobs.

Approvers

Approve, plus Limited Access

Members of this group can edit and approve pages, list items, and documents.

Hierarchy Managers

Manage Hierarchy, plus Limited Access

Members of this group can create sites, lists, list items, and documents.

Note:

The Limited Access permission level is used to give groups access to a specific list, library, folder, document, or item, without giving them access to the entire site. Do not remove this permission level from the groups listed above. If this permission level is removed, the groups might not be able to navigate through the site to get the specific items with which they need to interact.

Make most users members of the Visitors or Members groups. By default, users in the Members group can contribute to the site by adding or removing items or documents, but cannot change the structure, site settings, or appearance of the site. The Visitors group has read-only access to the site, which means that they can see pages and items, and open items and documents, but cannot add or remove pages, items, or documents.

If the default groups do not map to the exact user groups in your organization, you can create custom groups. For more information about how to determine whether you need additional groups, see Determine whether you need custom permission levels or groups.

Besides the above SharePoint groups, there are also administrator groups for higher-level administration tasks. They are Windows administrators, SharePoint farm administrators, and site collection administrators.

For more information, see Choose administrators and owners for the administration hierarchy (SharePoint Server 2010).

Review available permission levels

The ability to view, change, or manage a site is determined by the permission level that you assign to a user or group. This permission level controls all permissions for the site and the child objects that inherit the site's permissions. Without the appropriate permission levels, your users might be unable to perform their tasks, or they might be able to perform tasks that you did not want them to perform.

By default, the following permission levels are available:

  • Limited Access Includes permissions that enable users to view specific lists, document libraries, list items, folders, or documents, without giving access to all the elements of a site. You cannot edit this permission level directly.

    Note:

    If this permission level is removed, group members might be unable to navigate the site to access items, even if they have the correct permissions for an item within the site.

  • Read Includes permissions that enable users to view items on the site pages.

  • Contribute Includes permissions that enable users to add or change items on the site pages or in lists and document libraries.

  • Design Includes permissions that enable users to change the layout of site pages by using the browser or Microsoft SharePoint Designer 2010.

  • Full Control Includes all permissions.

For more information about permissions that are included in the default permission levels, see User permissions and permission levels (SharePoint Server 2010).

The following additional permission levels are provided with the publishing template by default:

  • View Only Includes permissions that enable users to view pages, list items, and documents.

  • Approve Includes permissions to edit and approve pages, list items, and documents.

  • Manage Hierarchy Includes permissions to sites and edit pages, list items, and documents.

  • Restricted Read Includes permissions to view pages and documents, but not historical versions or user rights information.

Determine whether you need custom permission levels or groups

The default groups and permission levels provide a general framework for permissions, covering many different organization types and roles within those organizations. However, they might not map exactly to how your users are organized or to the variety of tasks that your users perform on your sites. If the default groups and permission levels do not suit your organization, you can create custom groups, change the permissions included in specific permission levels, or create custom permission levels.

Do you need custom groups?

The decision to create custom groups is fairly straightforward and has little effect on your site's security. You should create custom groups instead of using the default groups if either of the following situations applies:

  • You have more (or fewer) user roles within your organization than are apparent in the default groups. For example, if in addition to Approvers, Designers, and Hierarchy Managers, you have a set of people who are tasked with publishing content to the site, you might want to create a Publishers group.

  • There are well-known names for unique roles within your organization that perform very different tasks in the sites. For example, if you are creating a public site to sell your organization's products, you might want to create a Customers group that replaces Visitors or Viewers.

  • You want to preserve a one-to-one relationship between Windows security groups and the SharePoint groups. For example, if your organization has a security group called Web Site Managers, you might want to use that name as a group name for easy identification when managing the site.

  • You prefer other group names.

Do you need custom permission levels?

The decision to customize permission levels is less straightforward than the decision to customize SharePoint groups. If you customize the permissions assigned to a permission level, you must keep track of that change, verify that it works for all groups and sites affected by the change, and ensure that the change does not negatively affect your security or your server capacity or performance.

For example, if you customize the Contribute permission level to include the Create Subsites permission that is typically part of the Full Control permission level, members of the Contributors group can create and own subsites, and can potentially invite malicious users to their subsites or post unapproved content. If you customize the Read permission level to include the View Usage Data permission that is typically part of the Full Control permission level, all members of the Visitors group can see usage data, which might cause performance issues.

You should customize the default permission levels if either of the following situations applies:

  • A default permission level includes all permissions except one that your users need to do their jobs, and you want to add that permission.

  • A default permission level includes a permission that your users do not need.

    Note:

    Do not customize the default permission levels if your organization has security or other concerns about a specific permission that is part of the permission level. If you want to make that permission unavailable for all users assigned to the permission level or levels that include that permission, turn off the permission for all Web applications in your server farm, rather than change all of the permission levels. To manage permissions for a Web application, see Manage permissions for a Web application (SharePoint Server 2010).

If you need to make several changes to a permission level, create a custom permission level that includes all of the permissions you need.

You might want to create additional permission levels if either of the following conditions applies:

  • You want to exclude several permissions from a specific permission level.

  • You want to define a unique set of permissions for a new permission level.

To create a permission level, you can create a permission level and then select the permissions that you want to include.

For more information about how to configure custom permissions, see Configure custom permissions (SharePoint Server 2010).

Note:

Some permissions depend on other permissions. If you clear a permission that another permission depends on, the other permission is also cleared.

Worksheet

Use the following worksheet to determine permission levels and groups to use:

  • Custom permission levels and groups worksheet (http://go.microsoft.com/fwlink/p/?LinkID=213969&clcid=0x409)


Choose security groups (SharePoint Server 2010)

This article describes the security and distribution groups that comprise the Active Directory® Domain Services (ADDS). This article also provides recommendations for using those groups to organize the users of your SharePoint sites.

In this article:

  • Decide whether to add security groups

  • Determine which security groups to use for granting access to sites

  • Decide whether to allow access for all authenticated users

  • Decide whether to allow access for anonymous users

  • Worksheet

Introduction

Managing users of SharePoint sites is easier if you assign permission levels to groups rather than to individual users. SharePoint group is a set of individual users and can also include Active Directory groups. In Active Directory Domain Services (ADDS), the following groups are commonly used to organize users:

  • Distribution group A group that is used only for e-mail distribution and that is not security-enabled. Distribution groups cannot be listed in discretionary access control lists (DACLs), which are used to define permissions on resources and objects.

  • Security group A group that can be listed in DACLs. A security group can also be used as an e-mail entity.

You can use security groups to control permissions for your site by adding security groups to SharePoint groups and granting permissions to the SharePoint groups. You cannot add distribution groups to SharePoint groups, but you can expand a distribution group and add the individual members to a SharePoint group. If you use this method, you must manually keep the SharePoint group synchronized with the distribution group. If you use security groups, you do not need to manage the individual users in the SharePoint application. Because you included the security group instead of the individual members of the group, ADDS manages the users for you.

Note:

For ease of security management, the following items are not recommended in managing Active Directory groups.

  • Assign permission levels directly to Active Directory groups.

  • Adding security groups that contain nested security groups, contacts, or distribution lists.

Decide whether to add security groups

Adding security groups to SharePoint groups provides centralized management of groups and security. The security group is the only place where you manage individual users. Once you add the security group to a SharePoint group, you do not have to manage security group members in that SharePoint group. If a user is removed from the security group, the user will be automatically removed from the SharePoint group.

However, using security groups in SharePoint sites does not provide full visibility of what is happening. For example, when a security group is added to a SharePoint group for a specific site, the site will not appear in the users' My Sites. The User Information List will not show individual users until they have contributed to the site. In addition, security groups with deep nested structure might break SharePoint sites.

Considering the previous advantages and disadvantages, here are the recommendations:

  • For intranet sites that are broadly accessed by your users, use security groups because you do not care about the individual users who accessed the intranet site home page.

  • For collaboration sites that are accessed by a small group of users, add users directly to SharePoint groups. In this case, there is more of a need to know who is a member so the group members know each other's e-mail addresses and how to contact each other.

Determine which security groups to use for granting access to sites

Each organization sets up its security groups differently. For easier permission management, security groups should be:

  • Large and stable enough that you are not continually adding additional security groups to your SharePoint sites.

  • Small enough that you can assign appropriate permissions.

For example, a security group called "all users in building 2" is probably not small enough to assign permissions, unless all users in building 2 have the same job function, such as accounts receivable clerks. This is rarely the case, so you should look for a smaller, more specific set of users, such as "Accounts Receivable".

Decide whether to allow access for all authenticated users

If you want all users within your domain to be able to view content on your site, consider granting access to all authenticated users (the Domain Users Windows security group). This special group allows all members of your domain to access a Web site (at the permission level you choose), without your having to enable anonymous access.

Decide whether to allow access for anonymous users

You can enable anonymous access to allow users to view pages anonymously. Most Internet Web sites allow anonymous viewing of a site, but might ask for authentication when someone wants to edit the site or buy an item on a shopping site. Anonymous access is disabled by default and must be granted at the Web application level at the time that the Web application is created.

If anonymous access is allowed for the Web application, site administrators can decide whether to grant anonymous access to a site or any of the content on that site.

Anonymous access relies on the anonymous user account on the Web server. This account is created and maintained by Microsoft Internet Information Services (IIS), not by your SharePoint site. By default in IIS, the anonymous user account is IUSR. When you enable anonymous access, you are in effect granting that account access to the SharePoint site. Allowing access to a site, or to lists and libraries, grants the View Items permission to the anonymous user account. Even with the View Items permission, however, there are restrictions to what anonymous users can do. Anonymous users cannot:

  • Open sites for editing in Microsoft Office SharePoint Designer.

  • View sites in My Network Places.

  • Upload or edit documents in document libraries, including wiki libraries.

    Important:

    To improve security for sites, lists, or libraries, do not enable anonymous access. Enabling anonymous access allows users to contribute to lists, discussions, and surveys, which will possibly use up server disk space and other resources. Anonymous access also allows anonymous users to discover site information, including user e-mail addresses and any content posted to lists, and libraries, and discussions.

Permission policies provide a centralized way to configure and manage a set of permissions that applies to only a subset of users or groups in a Web application. You can manage permission policy for anonymous users by enabling or disabling anonymous access for a Web application. If you enable anonymous access for a Web application, site administrators can then grant or deny anonymous access at the site collection, site, or item level. If anonymous access is disabled for a Web application, no sites within that Web application can be accessed by anonymous users.

  • None No policy. This is the default option. No additional permission restrictions or additions are applied to site anonymous users.

  • Deny Write Anonymous users cannot write content, even if the site administrator specifically attempts to grant the anonymous user account that permission.

  • Deny All Anonymous users cannot have any access, even if site administrators specifically attempt to grant the anonymous user account access to their sites.

For more information about permission policies, see Manage permission policies for a Web application (SharePoint Server 2010).

Worksheet

Use the following worksheet to list the security groups that you will use and the permission levels that the groups will need at each level of your site hierarchy.

  • Site and content security worksheet (http://go.microsoft.com/fwlink/p/?LinkID=213970&clcid=0x409)


Choose administrators and owners for the administration hierarchy (SharePoint Server 2010)

This article describes the administrator roles that correspond to the Microsoft SharePoint Server 2010 server and site hierarchy. Many people can be involved in managing SharePoint Server 2010. Administration of Microsoft SharePoint Server occurs at the following levels:

  • Windows server or SharePoint server farm

  • Shared services

  • Web application

  • Sites

  • Document library or list

  • Individual items

In this article:

  • Levels of administration

  • Worksheet

Levels of administration

Most levels of the server and site hierarchy have a corresponding administration group. The administration groups who have administrative permissions at different levels are described in the following list:

  • Windows server or server farm level

    • Farm Administrators group Members of the Farm Administrators group have Full Control permissions to and responsibility for all servers in the server farm. Members can perform all administrative tasks in Central Administration for the server or server farm. They can assign administrators to manage service applications, which are instances of shared services. This group does not have access to individual sites or their content.

    • Windows Administrators group Members of the Windows Administrators group on the local server can perform all farm administrator actions. Administrators on the local server can perform additional tasks, such as installing new products or applications, deploying Web Parts and new features to the global assembly cache, creating new Web applications and new Internet Information Services (IIS) Web sites, and starting services. Like farm administrators, members of this group on the local server have no access to site content, by default.

      Note:

      Farm administrators and members of the local Administrators group can take ownership of specific site collections if necessary. For example, if a site administrator leaves the organization and a new administrator must be added, the farm administrator or a member of the local Administrators group can take ownership of the site collection to make the change. To take ownership, they can add themselves as the site collection administrator on the Application Management page.

  • Shared services level

    • Service application administrators These administrators are designated by the farm administrator. They can configure settings for a specific service application within a farm. However, these administrators cannot create service applications, access any other service applications in the farm, or perform any farm-level operations, including topology changes. For example, the service application administrator for a Search service application in a farm can configure settings for that Search service application only.

    • Feature administrators A feature administrator is associated with a specific feature or features of a service application. These administrators can manage a subset of service application settings, but not the entire service application. For example, a Feature administrator might manage the Audiences feature of the User Profile service application.

  • Web application level

    • The Web application level does not have a unique administrator group, but farm administrators have control over the Web applications within their scope. Members of the Farm Administrators group and members of the Administrators group on the local server can define a policy to grant individual users permissions at the Web application level. For more information about policy, see "Policy for Web applications" in the Logical architecture components (SharePoint Server 2010) article.

  • Site level

    • Site collection administrators These administrators have the Full Control permission level on all Web sites within a site collection. They have Full Control access to all site content in that site collection, even if they do not have explicit permissions on that site. They can audit all site content and receive any administrative alert. A primary and a secondary site collection administrator can be specified during the creation of a site collection.

    • Site owners By default, members of the Owners group for a site have the Full Control permission level on that site. They can perform administrative tasks on the site, and on any list or library within that site. They receive e-mail notifications for events, such as the pending automatic deletion of inactive sites and requests for site access.

Worksheet

Use the following worksheet to choose administrators and owners for the administration hierarchy:

  • Administrators and owners worksheet (http://go.microsoft.com/fwlink/p/?LinkID=213968&clcid=0x409)


Best practices for using fine-grained permissions (white paper) (SharePoint Server 2010)

Published: September 16, 2010

This white paper describes best practices for fine-grained permissions (FGP) and how to use them within your organization when implementing Microsoft SharePoint Server 2010.

Download the white paper from the following link: http://go.microsoft.com/fwlink/p/?LinkId=201596


Contribute permission level overview (SharePoint Server 2010)
See Also

Published: June 28, 2011

Permissions for the Contribute permission level in Microsoft Office SharePoint Server 2007 and Microsoft SharePoint Server 2010 are the same. However, the Contribute permission level in SharePoint Server 2010 allows users to complete a more limited set of tasks.

For example, the default Contribute permissions in Office SharePoint Server 2007 allow users to edit scriptable Web files and Web Parts. Although the permissions are identical in SharePoint Server 2010, users who have the default Contribute permissions cannot edit scriptable Web files and Web Parts. The ability to edit scriptable Web files and Web Parts in SharePoint Server 2010 requires the Add and Customize Pages permission. The absence of this permission in the default Contribute permission level of SharePoint Server 2010 prevents users from editing scriptable Web files and Web Parts. Despite the absence of the same permission in the default Contribute permission level of Office SharePoint Server 2007, users who have the default Contribute permissions in Office SharePoint Server 2007 can edit scriptable Web files and Web Parts.

This article describes the Contribute permission level in SharePoint Server 2010 and does not explain how to enable users with the Contribute permission level to edit scriptable Web Parts. For more information about, see Allow or prevent Contributors ability to edit scriptable Web Parts (SharePoint Server 2010).

In this article:

  • About updating Web files

  • About editing Web Parts

About updating Web files

Web files are a set of special files that provide a full range of customization of a Web page. These files can contain scripts (such as JavaScript) that can call Web services and interoperate with data on a site. Web files are stored as a modifiable list based on their file extensions. The default list of file extensions is as follows:

  • .ascx

  • .aspx

  • .asmx

  • .master

  • .jar

  • .swf

  • .xap

  • .xsf

  • .xsn

Note:

A member of the Farm Administrators group can use Windows PowerShell cmdlets to modify the above list.

Although users with the default Contribute permission level in Office SharePoint Server 2007 can complete the following tasks, users with the default Contribute permission level in SharePoint 2010 Products cannot complete these tasks:

  • Update the content of a Web file

  • Move a Web file

  • Upload a Web file

  • Rename a Web file

  • Publish, migrate, import and export a Web file

Note:

In SharePoint 2010 Products, a user must have the Add and Customize Pages permission to complete the above tasks.

Users with the default Contribute permission level in Office SharePoint Server 2007 and SharePoint 2010 Products can complete the following tasks:

  • Check in, check out, or revert a Web file

  • Revert a version from version history for a Web file

  • Delete a Web file

  • Recycle a deleted Web file

About editing Web Parts

Users who have the default Contribute permission level in Office SharePoint Server 2007 can add or edit Web Parts that developers have marked as unsafe for editing. However, users who have the default Contribute permission level in SharePoint 2010 Products cannot add or edit the same Web Parts.

Note:

To add or edit Web Parts that developers have marked as unsafe for editing, users in SharePoint 2010 Products must have the Add and Customize Pages permission.

The following Web Parts are marked as safe for editing by default and can be added or edited by users who have the default Contribute permission level:

  • Basic Chart Web Part

  • Image Web part

  • Page Viewer Web Part

  • Picture Slideshow Web Part

  • Relevant Documents Web Part

  • Site Users Web Part

  • Title Bar Web Part

  • User Tasks Web Part

A member of the Farm Administrators group can update permissions to allow users with the default Contribute permission level to add or edit Web Parts that are marked as unsafe for editing. For more information, see Allow or prevent Contributors ability to edit scriptable Web Parts (SharePoint Server 2010).

See Also

Concepts

Allow or prevent Contributors ability to edit scriptable Web Parts (SharePoint Server 2010)


Site and solution governance (SharePoint Server 2010)

This section provides information about governing sites and solutions for both production and sandboxed Microsoft SharePoint Server 2010 environments.

Governance is the set of policies, roles, responsibilities, and processes that guide, direct, and control how an organization's business divisions and IT teams cooperate to achieve business goals.

Sandboxed solutions restrict access to network and local resources to provide greater security and stability. You can use sandboxed solutions for load balancing solutions, for solutions that have not been fully tested, and for deploying user solutions in a hosted environment. Sandboxed solutions run in a separate worker thread so that they cannot access resources that belong to other solutions, and they have limited access to local and network resources.

In this section:

  • Governance overview (SharePoint Server 2010)

    This article introduces governance as an essential part of a successful SharePoint Server 2010 deployment and explains the various components of an enterprise governance plan.

  • Governance features (SharePoint Server 2010)

    This article reviews a set of SharePoint Server 2010 features that an organization can use to help govern an IT service, information management, and information architecture.

  • Establishing and governing a SharePoint service (SharePoint Server 2010)

    Learn about key factors in governing a SharePoint service and what to include in a service-level agreement.

  • Implementing and governing information architecture (SharePoint Server 2010)

    Learn how to plan an effective information architecture to ensure that your solution meets your business needs.

  • Sandboxed solutions planning (SharePoint Server 2010)

    This article explains how to plan to use sandboxed solutions in a SharePoint environment.

  • SharePoint Development and Governance Using COBIT 4.1: A Practical Approach (book excerpt)

    These book excerpts are from "SharePoint Deployment and Governance Using COBIT® 4.1: A Practical Approach."

  • SharePoint 2010 Governance Planning (white paper)

    This white paper focuses on the "front end" of the SharePoint environment - the business aspect of governance - the areas that effect business users. It uses a fictitious company to provide guidance for the necessary governance planning and implementation of SharePoint Server 2010.

  • Implementing Governance in SharePoint 2010 (white paper)

    This white paper focuses on the "back end" of SharePoint governance - the technical implementation. It provides high-level guidance on the many configuration options that SharePoint Server 2010 provides to enable you to manage the environment for the benefit of all.


Governance overview (SharePoint Server 2010)
See Also

This article introduces governance as an essential part of a successful Microsoft SharePoint Server 2010 deployment and explains why both information architecture and IT services are key components of a governance plan.

The articles in this section emphasize the need for governance of SharePoint Server 2010 deployments. These articles also provide general guidance and examples of the Microsoft SharePoint Server activities and processes your organization should consider governing.

In this article:

  • About governance

  • What should be governed?

  • Who should determine governance policies?

  • How should governance be implemented?

  • Governance and customization

About governance

Governance is the set of policies, roles, responsibilities, and processes that guide, direct, and control how an organization's business divisions and IT teams cooperate to achieve business goals. A comprehensive governance plan can benefit your organization by:

  • Streamlining the deployment of products and technologies, such as SharePoint Server 2010.

  • Helping protect your enterprise from security threats or noncompliance liability.

  • Helping ensure the best return on your investment in technologies, for example, by enforcing best practices in content management or information architecture.

What should be governed?

Every organization has unique needs and goals that influence its approach to governance. For example, larger organizations will probably require more — and more detailed — governance than smaller organizations.

A successful SharePoint Server 2010 deployment requires the following elements:

  • Information architecture

    The goal of information architecture is to create a system that helps users collect, store, retrieve, and use the information that is needed to achieve business objectives. A Web site's information architecture determines how the information in that site — its Web pages, documents, lists, and data — is organized and presented to the site's users.

    A comprehensive assessment of your organization's information architecture can help you identify potential inefficiencies, such as the following:

    • Inconsistent use of metadata that can make it difficult to search for and compare related data or content.

    • Poorly designed and managed storage of content that can result in multiple versions of documents with no way to identify the authoritative version.

    • Poorly catalogued and managed storage of data that can cause decision-makers to find and rely on the wrong data.

    • Poorly designed navigation or poorly presented information that can make it difficult to find important sites and information.

  • IT Service hosting SharePoint Server

    SharePoint Server 2010 includes many new features that should be addressed by a comprehensive governance plan. Some of these features are as follows:

    • A new service application architecture, built into Microsoft SharePoint Foundation 2010, that replaces the SSP model.

    • Backup and restore improvements.

    • Multitenancy, which creates a true hosting environment and makes it possible to share service resources across customers (tenants) while partitioning data based on site subscriptions.

    • Managed accounts that automate password changes.

    • Windows PowerShell, the new command-line interface and scripting language that was designed specifically for system administrators.

    Unless you have a governance plan, the rapid and uncontrolled growth of individually managed Web servers running SharePoint Server can have unanticipated results. These include the following:

    • Isolated servers hosting a loosely organized group of sites that do not have a common search index, navigation, or security scheme. If you want to support self-service site creation, you should have a plan that covers content disposition and site archival.

    • Servers hosting applications that are not secure, which may compromise the integrity of your content.

    • Requests for technical support for local servers that are running SharePoint Server without the support team's knowledge.

    • Critical activities, such as regulatory compliance, that may be administered inconsistently across servers.

    • Regular maintenance activities, such as backing up and restoring data or installing product updates, that may not be performed correctly because of poor training or inconsistent server configuration.

    • Changes in site ownership that raise questions about content ownership or cause sites to be locked.

    As the use of SharePoint Server 2010 increases in your enterprise, your IT department should implement a set of well-governed hosting services that makes SharePoint Server 2010 available and establishes control over its use and configuration.

For effective and manageable SharePoint Server 2010 solutions, your organization should consider governing one or more of the following additional areas:

  • Customization policy

    SharePoint Server 2010 includes customizable features and capabilities that span multiple product areas, such as business intelligence, forms, workflow, and content management. Customization introduces risks to the stability, maintenance, and security of the SharePoint Server 2010 environment. To support customization while controlling its scope, you should develop a customization policy that addresses the following considerations:

    • Approved customization tools. For example, you should decide whether to allow the use of Microsoft SharePoint Designer 2010 and specify which site elements can be customized, and by whom.

    • Ways to manage source code, such as a source control system, and standards for documenting the code.

    • Development standards, such as coding best practices.

    • Testing and verification standards.

    • Required packaging and installation methods. You should control the use of sandboxing, which enables site owners to host custom solutions in a partially trusted context so they do not affect the rest of your SharePoint implementation.

    • The kinds of customizations supported. For example, you might want to allow the use of Web parts to integrate Microsoft Silverlight 3 applications together with SharePoint sites.

      For more information about kinds of customizations and their potential risks, see Governance and customization. For more information about processes for managing customizations, see the white paper SharePoint Products and Technologies customization policy (http://go.microsoft.com/fwlink/p/?linkid=92311).

  • Branding

    If you are designing an information architecture and a set of sites for use across an enterprise, consider including branding in your governance plan. A formal set of branding policies helps ensure that sites consistently use enterprise imagery, fonts, themes, and other design elements. For example, in SharePoint Server 2010, you can import a Microsoft PowerPoint 2010 theme directly into a SharePoint site, which automatically applies the theme to all subsites.

  • Training

    Although SharePoint Server 2010 has an intuitive, Web-based interface and includes online help, using and especially administering sites based on SharePoint Server 2010 can be a challenge for some users. Additionally, the set of governance policies your IT and business divisions implement may require explanation. By training your user community appropriately, you can increase satisfaction with your implementation of SharePoint Server 2010 and reduce support costs.

Who should determine governance policies?

A successful deployment of SharePoint Server 2010 requires ongoing communication and partnership among business managers, IT professionals, and information workers. When you create a governance committee, you should include representatives from as many of the following groups and roles as possible:

Note:

Your organization might not have an equivalent role, or might use a different title.

  • Executive stakeholders: Key executives should define the overall goals of the governance committee, provide it with authority, and periodically evaluate the success of the implemented practices and policies.

  • Financial stakeholders: Financial officers should ensure that governance rules and processes help increase the return on the enterprise's investment in SharePoint products and technologies.

  • IT leaders: IT leaders must help develop their service offerings and determine how to achieve their IT responsibilities (for example, improving security and maintaining reliability) while they support the features required by the business teams.

  • Business division leaders: Business leaders represent the teams that do the primary work of the enterprise and drive the architectural and functional requirements of the SharePoint Server 2010 deployment. They must work with information architects to determine the enterprise's information architecture and organizational taxonomy standards. Business leaders must also work with IT leaders to create service-level agreements and other support policies.

  • Information architects or taxonomists: Members of these groups have extensive experience in planning and designing information systems and taxonomies. Based on their analysis of the information needs of the audience, they develop plans that support organizational objectives and define site architecture and navigation.

  • Compliance officers: Governance includes making sure that an enterprise meets its regulatory and legal requirements and manages its corporate knowledge. If your enterprise has roles that are responsible for compliance or legal oversight, include representatives from those disciplines in your governance committee.

  • Development leaders: Leaders in your software development organization should help determine which customization tools are approved, how to verify code security, and other code-related best practices.

  • Information workers: The members of your organization who do the day-to-day work should help ensure that the SharePoint Server 2010 services and information architecture meet their needs.

  • Trainers: Instructional experts should be responsible for developing a training plan and conducting all appropriate training and education.

How should governance be implemented?

An effective governance plan anticipates the needs and goals of your organization's business divisions and IT teams. Because every enterprise is unique, you must determine the best way to implement a governance plan that is tailored to your environment.

Consider the following suggested stages of a governance implementation for your organization:

  1. Determine initial principles and goals.

    The governance committee should develop a governance vision, policies, and standards that can be measured to track compliance and to quantify the benefit to the enterprise. For example, the plan should identify service delivery requirements for both technical and business aspects of the SharePoint Server 2010 deployment.

  2. Classify the business information/content.

    Organize your information according to an existing taxonomy, or create a custom taxonomy that includes all content required to support your business solution. After your information is organized, design an information architecture to manage your enterprise content. Then, determine the most appropriate IT services to support the information architecture.

  3. Develop an education strategy.

    The human element is, after the governance plan itself, the most important ingredient in the success or failure of a SharePoint Server 2010 deployment. A comprehensive training plan should show how to use SharePoint Server 2010 according to the standards and practices that you are implementing and explain why those standards and practices are important. The plan should cover the kinds of training required for specific user groups and describe appropriate training tools. For example, your IT department might maintain a frequently asked questions (FAQ) page about its SharePoint Server 2010 service offerings, or your business division might provide online training that shows how to set up and use a new document management process.

  4. Develop an ongoing plan.

    Successful governance is an iterative process. The governance committee should meet regularly to consider incorporating new requirements in the governance plan, reevaluate and adjust governance principles, or resolve conflicts among business divisions for IT resources. The committee should provide regular reports to its executive sponsors to promote accountability and to help enforce compliance across the enterprise. Consider that, although this process seems complicated, its goals are to increase the return on your investment in SharePoint Server 2010, take full advantage of the usefulness of your SharePoint Server 2010 solution, and improve the productivity of your enterprise.

Governance and customization

The highly customizable design of SharePoint products enables you to provide the look, behavior, or functionality that meets your business needs. Customizations can introduce risk to your environment, whether that risk is to the environment's performance, availability, or supportability. Conversely, a "no customizations" policy severely restricts your organization's ability to take advantage of the SharePoint platform.

All customizations are not the same. You must decide carefully which kinds of customizations to allow in your environment. Account for the kind of customization and the skill level of the people doing the customizations so that you can ensure the performance, availability, and supportability that you must have for your environment. Your governance policy should balance a level of acceptable risk against the business needs for your organization.

What is considered a customization? All of the following are considered kinds of customizations in SharePoint products:

  • Configuration - using the SharePoint user interface or SharePoint Designer to configure SharePoint products.

  • Branding - changing logos, styles, colors, master pages and page layouts, and so on to create a custom look for your SharePoint sites.

  • Custom code - using developer tools to add or change functionality in SharePoint products or to interact with other applications. Risk can vary depending on kind of functionality and level of trust (full trust or sandboxed solution).

Some customizations have very little risk or impact on your environment. Others have the potential for much higher risk and impact. The following table provides examples of different kinds of customizations, the risk level associated with that kind of customization, and potential issues that you might face if you allow that kind of customization.

Risk level Types of customizations and examples Considerations/Impact

Unsupported/High

Unsupported customizations such as direct changes to the database schema or modifying files on the file system.

  • Will not be supported through Microsoft Customer Support.

  • Will be unable to upgrade.

Do not allow.

Moderate

Creating applications that interact with or redirect actions in key pipelines, such as events, claims, and so on.

  • Potential for service outage or performance issues.

  • Might require rework at upgrade.

Moderate to low

Using a custom Web Part outside a sandbox environment, creating custom actions such as adding a menu item, or creating a custom site provisioning process.

  • Short or long term performance issues or page errors.

  • Might require rework at upgrade.

Low

Using solutions in a sandbox environment.

Short term performance issues; should be able to restrict via resource throttling and quotas.

Very low to no risk

Using functionality within the product or configurations, such as associating a workflow with a list or using an instance of a built in Web Part.

Minor configuration or page errors that would have to be addressed.

Note:

For more information about customizations and upgrade, see Considerations for specific customizations.

Also, when you think through the customizations to allow in your environment, consider carefully whether a particular customization is necessary. If it recreates functionality that exists in the product (such as creating a Web Part that does the same thing as the Content Editor Web Part or the Content by Query Web Part), then that might be unnecessary work. Consider first whether the standard functionality can do what you want.

See Also

Other Resources

Resource Center: Governance in SharePoint Server 2010 (http://go.microsoft.com/fwlink/p/?LinkId=220213)


Governance features (SharePoint Server 2010)
See Also

Microsoft SharePoint Server 2010 includes features that an organization can use to help govern a SharePoint Server 2010 IT service, an enterprise's information management, or an enterprise's information architecture. Links to related articles can help you plan and use each feature.

Note:

Governance is the set of policies, roles, responsibilities, and processes that guide, direct, and control how an organization's business divisions and IT teams cooperate to achieve business goals. For information, see Governance overview (SharePoint Server 2010).

In this article:

  • Managing SharePoint installation in an enterprise

  • IT service features

  • Information management

  • Information architecture features

Managing SharePoint installation in an enterprise

Because SharePoint deployments are managed at the farm level, a single SharePoint deployment has no information about other SharePoint deployments that might exist in the same enterprise. Administrators need this information to manage and control all deployments in the enterprise. For example, administrators need to know whether a deployment was configured according to organizational requirements, or how many unauthorized deployments exist in the enterprise. Microsoft SharePoint 2010 Products provides the following ways to lock down, track, and even block random installations of SharePoint Server

  • The following Group Policy object disables the installation of SharePoint Server and related products:

    HKLM\Software\Policies\Microsoft\Shared Tools\Web Server Extensions\14.0\ SharePoint\DWORD DisableInstall

    To block installation, set DWORD DisableInstall=00000001.

    When this registry key is set, users who try to install SharePoint Server receive the following error message: SharePoint installation is blocked in your organization. Please contact your network administrator for more details.

  • An Active Directory Domain Services (AD DS) Marker identifies the SharePoint servers in an organization. By default, the marker contains the URL for the topology service application.

For more information about setting the group policy object and the AD DS marker, see Track or block SharePoint Server 2010 installations.

IT service features

A SharePoint service is an IT service that offers hosted sites and portals based on SharePoint Server. An IT service can include the following components:

  • Sites and portals at a scope, such as site collection, Web application, or server farm

  • Backup and restoration

  • Content storage

  • Support for customizations

  • Security

  • Services levels that are based on speed or availability

This section describes features in SharePoint Server 2010 that are useful in maintaining and governing a SharePoint Server service.

Site templates

Site templates are a set of customizations that are applied to a site definition. By using a site template, a SharePoint Server service can promote consistent branding, site structure, and layout in the sites that users create. You can create customized site templates for provisioning sites and use them instead of the templates that are included in SharePoint Server as part of a SharePoint Server service.

For more information, see Working with site templates and definitions (http://go.microsoft.com/fwlink/p/?LinkID=184756).

Quotas

A quota specifies limits to the amount of storage that a site collection can use. This process prevents users from adding content when the limit is reached. For more information, see Plan quota management (SharePoint Server 2010).

Locks

Locks prevent users from either adding content to a site collection or using the site collection. For example, you can lock a site that violates a usage policy or exceeds a quota. For more information, see Lock or unlock site collections (SharePoint Server 2010).

Workflows

Workflows are programs that implement business processes for users of a SharePoint Server site. They are associated with items in the site, such as documents, forms, or list items. Workflows have many applications as part of an IT service. For example, you can use a workflow to provision a new site, track a support issue, or take action when a site collection's quota is exceeded. For more information, see Plan workflows (SharePoint Server 2010).

Features

A feature, which is a container for various defined extensions for SharePoint Server 2010 and SharePoint Foundation 2010, is composed of a set of XML files that are deployed to Web servers. You can deploy a feature as a part of a site definition or a solution package, and you can individually activate a feature.

A site administrator can transform a SharePoint site's functionality by toggling a feature on or off in the user interface. Features make it easier to activate or deactivate functionality in the course of a deployment, and help administrators to easily transform the template or definition of a site. Features can be hidden, which prevents site users from manually deactivating them.

When you implement new site functionality as features, you make it easier for administrators to control sites and enforce a governance plan. A technique named feature stapling enables you to attach a feature to all new instances of sites that use a given site definition without modifying the site definition. This lets you control the features that users of your service can access. For more information, see Using Features (http://go.microsoft.com/fwlink/p/?LinkID=183450.

Self-service site creation

You can enable users to create their own site collections by using the Self-Service Site Creation feature. A key decision in governing self-service site creation is to determine the level of service that supports self-service site creation. By default, this permission is enabled in SharePoint Server 2010 for all authenticated users.

For more information, see Turn on or turn off self-service site creation (SharePoint Server 2010).

Web application permissions and policies

Permissions for a Web application are comprehensive settings that apply to all users and groups for all site collections within a Web application. You can control user actions by enabling or disabling the associated permission on the Web application. For example, if you do not want users to be able to add pages to a Web site, you can disable the Add and Customize Pages permission that is one of the site-related permissions. After you disable a specific permission for a Web application, the permission cannot be granted to any user of a site on the Web application. You can control access to a specific URL or zone. You can also specify the level of access that you want for anonymous users. For more information, see Manage permissions for a Web application (SharePoint Server 2010).

Permission policies provide a centralized way to configure and manage a set of permissions that applies to only a subset of users or groups in a Web application. For example, you might want to create a permission policy level for users of a site collection who will be allowed to add items to a list, edit items in a list, delete items from a list, open a list, view items, view lists, or view pages. However, you might want to prevent the same users from creating or deleting lists, which would require the Manage Lists permission. For more information, see Manage permission policies for a Web application (SharePoint Server 2010).

SharePoint Designer

You can manage how Microsoft SharePoint Designer 2010 is used in an organization at either the Web application level or the site collection level. You can control the following types of access to SharePoint Designer 2010:

  • Enable or disable SharePoint Designer 2010 use for an entire application or site collection.

    If you want to ensure that all designers and owners within a specific site collection can use SharePoint Designer 2010, enable this setting at the site collection level.

  • Enable or disable the ability to detach pages from the site definition.

    If you want to preserve the branding for all sites in a site collection, you should not allow users to make changes that would result in detaching the page from the site definition.

  • Enable or disable master pages and page layouts in SharePoint Designer 2010.

    If you do not want users to see the master pages and page layouts for a site, you should disable this setting.

  • Enable or disable the site URL structure and its contents.

    If you do not want users to view and edit any file on the site, you should disable this setting.

Sandboxing

A sandbox is a restricted execution environment that enables programs to access only certain resources, and that keeps problems that occur in the sandbox from affecting the rest of the server environment. Solutions that you deploy in a sandbox are called sandboxed solutions. Code Access Security (CAS) limits the operations that these solutions can perform.

A member of the Farm Administrators group must implement the sandboxed environment before any sandboxed solutions can be uploaded. Site collection administrators can upload and activate sandboxed solutions. If the solution does not contain an assembly, a user who has full control at the root of the site collection can also activate the solution.

You can increase isolation by using remote load balancing and by running the sandboxing service on only specific servers. In a production environment, we recommend that you use remote load balancing and dedicate a separate server to running sandboxed solutions. Only members of the Farm Administrators group can block sandboxed solutions, configure load balancing, and reset exceeded quotas.

For more information, see Plan sandboxed solutions (SharePoint Server 2010).

Site collection auto-deletion

Automatic deletion helps to control the number of unused Web sites on a server without requiring any administrative intervention and without any backup mechanism. By default, site confirmation is automatically enabled. Automatic site deletion can be set at the server and server farm level or at the Web application level.

Policies for user profiles and My Sites

Policies are sets of rules that administrators of the User Profile service assign to users or groups. These rules enable administrators to specify user profile properties that control both the site content that users can see and how users can interact with that content.

By default, most user profile properties are visible to everyone, but sensitive information can be configured to have limited visibility. Policies that are less restrictive allow more users to view public profiles more frequently, which affects how often you must update user profiles and compile audiences. In organizations that have many users, frequent updating could affect performance and capacity planning. For more information, see About property policies in the "Plan user profiles" article.

By default, all authenticated users can create a My Site. We recommend that you use security groups to manage permissions for My Sites. My Sites features store or use personally identifiable information. Before you deploy My Sites, make sure that you have planned how to control the behavior of these features — or turn off the features — to help protect the security of this information.

By default, all authenticated users can add ratings and social tags to documents, to other SharePoint Server items, and to other items, such as external Web pages and blog posts. Users can also leave impromptu notes on profile pages of a My Site or any SharePoint Server page. You can use one or more security groups to grant the Use Social Features permission to a subset of users in an organization.

By default, all authenticated users can edit their profiles, add or edit colleagues, and add or edit memberships. You can use one or more security groups to grant the User Personal Features permission to a subset of users in an organization.

Although e-mail analysis can be enabled for all users in Outlook or just for specific groups by using group policy, users can opt out of this feature. If e-mail analysis is disabled for all users, individual users can still opt in.

Information management

Information management in SharePoint Server 2010 comprises organizing, retrieving, acquiring, and maintaining information.

This section describes SharePoint Server 2010 features that are useful for managing documents, records, and digital assets, and for planning eDiscovery.

Document management

Document management controls the lifecycle of documents in an organization — how they are created, reviewed, and published, and how they are ultimately disposed of or retained. It includes policies that implement auditing, document retention, labeling, and barcodes (to ensure that printed content can be correlated with corresponding electronic versions). Policies can be implemented to help an organization comply with legally mandated requirements, such as the need to retain records. For more information, see Information management policy planning (SharePoint Server 2010).

An organization that uses the Microsoft Office system client applications and SharePoint Server 2010 can enforce policies both on the server and in the client applications.

Content approval

The content approval process gives site members who have approver permissions control of the publication of content. An owner of a document library can enable content approval for a document library or Web pages library and can optionally associate a workflow with the library to run the approval process.

Use content approval to formalize and control the process of making content available to an audience. For example, an enterprise that publishes content might require a legal review and approval before publishing the content.

For more information, see Versioning, content approval, and check-out planning (SharePoint Server 2010).

Versioning

Versioning is the method by which successive iterations of a document are numbered and saved in SharePoint Server. As a governance tool, versioning prevents users with read permissions from viewing drafts of documents.

For more information, see Versioning, content approval, and check-out planning (SharePoint Server 2010).

Records management

Records management is the process by which an organization determines the types of information that should be considered records, how records should be managed while they are active, and for how long each type of record should be retained. Records management includes the performance of records-related tasks such as disposing of expired records, or locating and protecting records that are related to external events such as lawsuits.

Records management enables you to do the following:

  • Use a records archive to manage records or manage records in-place.

  • Create workflows to move documents to a records archive.

  • Determine whether you will manage e-mail within SharePoint Server or within an e-mail application.

  • Determine how to translate social content such as blogs, wikis, or My Sites into records.

For more information, see Records management planning (SharePoint Server 2010).

Digital asset library

The digital asset library feature in SharePoint Server 2010 provides a specialized repository for storing and managing digital assets, for example, images, audio files, or video files. A centralized repository for managing digital assets enables an organization to exert tighter control over brand-sensitive content, and helps to ensure that only approved assets for products are made available to the appropriate users. For more information, see Versioning, content approval, and check-out planning (SharePoint Server 2010).

eDiscovery

Electronic discovery, or eDiscovery, is the process of locating and producing electronic information to support events such as litigation, audits, or investigations. If you use Microsoft SharePoint Server 2010 to manage any electronic information, you should consider eDiscovery when you plan your SharePoint Server solution. Auditing, expiration policies, and search considerations should be part of your planning process, which should be completed before the need to use eDiscovery arises.

We recommend that you enable the auditing policy in all site collections that contain active document libraries. You should also consider implementing an expiration policy to delete documents automatically when they are no longer needed. For more information, see Planning for eDiscovery (SharePoint Server 2010).

Information management policies

An information management policy is a set of rules for a type of content, or for a location where content is stored. Each rule in a policy is a policy feature. For example, an information management policy feature could specify how long a type of content should be retained, or it could provide document auditing. Information management policies enable you to control who can access organizational information, what they can do with it, and how long the information should be retained. You can associate a policy with a list, document library, or content type.

When you configure an information management policy, you can optionally write a policy statement that is displayed in Microsoft Office 2010 client programs to inform document authors about the policies that are enforced on a document. This is a recommended best practice.

SharePoint Server 2010 includes the following information management policy features:

  • The Auditing policy feature logs events and operations that are performed on documents and list items. You can configure Auditing to log events such as editing documents, viewing them, or changing a document's permissions level.

  • The Expiration policy feature helps dispose of content in a consistent way that can be tracked and managed. For example, the policy can delete a document, or define a workflow task to have SharePoint Server route the document for permission to destroy it.

  • The Labeling policy feature specifies a label to associate with a type of document or list item. Labels are searchable text areas that SharePoint Server generates based on metadata properties and formatting that you specify.

  • The Barcode policy feature enables you to track a physical copy of a document. You create a unique identifier value for a document and then insert a barcode image of that value in the document. By default, barcodes are compliant with the common Code 39 standard (ANSI/AIM BC1-1995, Code 39), and you can use the object model of the policies to plug in other barcode providers.

Information management policy reports help you monitor how consistently your organization uses policies. Because information management policies are often implemented to help an organization comply with regulations, frequent monitoring of policy usage can help you ensure that an organization is compliant. For more general information about information management policies, see Information management policy planning (SharePoint Server 2010).

Information architecture features

Information architecture in SharePoint Server 2010 is the organization of information in an enterprise — its documents, lists, Web sites, and Web pages — to maximize the information's usability and manageability.

A portal Web site's information architecture determines how the information in that site — its subsites, Web pages, documents, lists, and data — is organized and presented. An enterprise can increase the return on its portal investment by creating a governance body that develops and enforces information architecture standards and policies. A well-governed architecture makes information in the enterprise easy to find, share, and use.

This section describes SharePoint Server 2010 features that govern the usage of an enterprise's information architecture.

Content types

Content types enable enterprises to organize, manage, and handle content in a consistent way. They define the attributes of a type of list item, document, or folder. Each content type can specify metadata properties to associate with items of its type, available workflows, templates, and information management policies. Use content types to encourage consistent information management policies, metadata requirements, and other policies. To govern content types, consider associating event receivers and workflows with the forms that are used to modify the content types.

For more information, see Content type and workflow planning (SharePoint Server 2010).

Site Content and Structure page

The Site Content and Structure page in the top-level site of a site collection manages the content and structure of a SharePoint site collection. Because site navigation in SharePoint Server is based by default on the hierarchy of sites and subsites, this feature can also be used to configure site navigation. When porting a Web site to SharePoint Server 2010, you can use the Site Content and Structure page to restructure the site to match your enterprise's needs.

Information rights management

Information Rights Management (IRM) enables content creators to control and protect their documents. The contents of documents that use IRM are encrypted and supplied with an issuance license that imposes restrictions on users.

SharePoint Server 2010 supports IRM for documents that are stored in document libraries. File formats of documents that can use IRM in SharePoint Server 2010 include the following:

  • Microsoft InfoPath

  • Microsoft Word

  • Microsoft Excel

  • Microsoft PowerPoint

  • Word Open XML

  • Excel Open XML

  • PowerPoint Open XML

To add other file types, an administrator must install protectors — programs that control the encryption and decryption of documents that use rights management — for each new type of file.

Blocked file types

You can restrict files from being uploaded or downloaded to a server by basing the restriction on their file name extension. For example, you can block files that have the .exe extension, because such files can be run on a client computer and may contain malicious software.

By default, many file types are blocked, including file types treated as executable by Windows Explorer. For a complete list of the default blocked file types, see Manage blocked file types (SharePoint Server 2010).

Web content management (publishing sites)

In most content deployment scenarios, the source site collection, from which content is being deployed, is in a server farm that is separate from the destination site collection. Typically, the destination server farm (the "production" farm) has stricter security to minimize the actions that can be performed in the production environment. It is not expected that authoring will be done on the production server, because changes to content on the production server might be overwritten by a content deployment job. In most content deployment scenarios, the source server farm and the production server farm are in independent AD DS domains. For information about content deployment topologies, see Design content deployment topology (SharePoint Server 2010).

Content deployment is a one-way process: content is deployed from a source site collection to a destination site collection. The content deployment feature does not support synchronization from source to destination and back again. Creating new content or changing existing content on the destination site collection can cause content deployment jobs to fail. Because of this, you should consider restricting permissions on the destination site collection so that users cannot make changes directly to content that is stored within that site collection.

Permissions to content on the destination server farm will usually differ from permissions to content on the source server farm. In many publishing solutions, the destination server farm authenticates users by using a different AD DS domain than the one used in an authoring or staging environment, and there might not be a trust relationship between the two domains. For more information, see Content deployment overview (SharePoint Server 2010).

Taxonomy and managed metadata

Managed metadata is a hierarchical collection of centrally managed terms that you can define and then use as attributes for items in Microsoft SharePoint Server 2010. A user's role determines how the user can work with managed metadata.

Users can see only global term sets and term sets that are local to the user's site collection. Local term sets are created within the context of a site collection. Global term sets are created outside the context of a site collection. If there are term sets that some users should be unable to view, assign these term sets to separate groups. For more information, see Plan to share terminology and content types (SharePoint Server 2010).

An organization's governance policies can affect how you design managed metadata services and connections. For example, a formal process for managing terms and term sets will affect how you set connection parameters. If every document that is created must have a certain set of attributes, you will probably want to have a content type hub in at least one service. Familiarize yourself with an organization's governance plan before you determine the managed metadata services and connections. For more information, see Managed metadata service application overview (SharePoint Server 2010).

See Also

Concepts

Governance overview (SharePoint Server 2010)

Other Resources

Resource Center: Governance in SharePoint Server 2010


Establishing and governing a SharePoint service (SharePoint Server 2010)
See Also

Published: October 14, 2010

A successful Microsoft SharePoint Server 2010 deployment relies on an enterprise's ability to govern the service and ensure that the service meets the business needs of the customers in a secure, manageable, and cost-effective way. This article describes typical elements of an IT service that hosts SharePoint Server 2010, suggests key success factors in governing an SharePoint Server service, and provides an example of a three-tiered SharePoint service.

  • What is a SharePoint service?

  • Elements of a successful service

  • What to govern in a SharePoint service

  • Creating multiple services

  • Service-level agreements

What is a SharePoint service?

A SharePoint service is an IT service that offers hosted sites based on Microsoft SharePoint 2010 Products. Among the things that a service provides are the following:

  • Sites at a scope, such as site collection, Web application, or server farm

  • Backup and recovery

  • Content storage

  • Support for customizations

  • Security

  • Service levels that are based on speed and availability

Elements of a successful service

As you envision and implement your SharePoint Server service, consider the following elements that can contribute to the success of the governing effort:

  • Form and use a governing group

    Your IT service that supports SharePoint Server should be governed by a group that includes executive stakeholders, business division leaders, influential information workers, IT managers, and IT technical specialists, among others. The goal of the governing group should be to oversee the service. In this capacity, the governing group defines the initial offerings of the service, defines the service's ongoing policies, and meets regularly to evaluate success.

  • Communicate about the services

    The governance policies that you develop must be publicized to your enterprise. Maintain a Web site that describes the set of services.

  • Encourage use of the service

    Discourage or block users from deploying their own servers. Instead, encourage them to use the service. Isolated servers may not be configured in accordance with IT security policy and the enterprise's regulatory requirements. Furthermore, users who deploy their own servers may fail to properly back up their servers or fail to keep servers up-to date with software patches and updates. Finally, content on servers that are not governed by the service may not be crawled by the enterprise's indexing service, which may create isolated pockets of content.

  • Create multiple services

    You should offer a set of services that support SharePoint Server. For example, one service could provide thousands of sites for collaboration and another could support very large, mission-critical sites, such as enterprise intranet sites. A set of SharePoint Server services enables you to apply unique governance rules and policies at various levels of service so that you can vary the cost that you assess to organizations based on their level of service. Lastly, a tiered service enables you to phase in services in a manageable way.

What to govern in a SharePoint service

As you design IT services that support SharePoint Server, a governing group should determine the limits and policies to control the services. If you choose to use the multi-tenancy features in SharePoint Server for hosting services, you can enable an IT group to delegate common administrative tasks for a set of sites to the business unit owners. This allows an IT group to focus its attention on the service itself. For more information about multi-tenancy, see Hosted environments (SharePoint Server 2010).

Determine limits and policies for the following elements of services:

  • Quota templates

    A quota template consists of values that specify how much data can be stored in a site collection. The value also indicates the limit that triggers an e-mail alert to the site collection administrator. You can associate quotas with sites that are offered at various service levels to govern the growth of SharePoint Server in an enterprise. Note that you can set separate quotas for sandboxed solutions.

  • Maximum upload size

    At the Web application level, you can set limits on the maximum size of uploaded files. All sites within the host Web application use the same limit.

  • Site lifecycle management

    You can govern how sites are created, the size of sites, and their longevity by using self-service site management and site-use confirmation and deletion. You can also set expiration and access policies to control the lifecycle of content in sites.

    Self-service site provisioning enables users to create their own top-level Web sites by visiting an IT-hosted page and supplying data about the site's intended use. The site can then be provisioned based on a custom workflow. For various levels of service, you can govern the size of such sites and control their longevity.

  • Customization policy

    A primary benefit of using sites that are based on SharePoint Server is the ability of site owners to customize them. For example, site owners might change a site's appearance or provide new functionality, such as a custom Web Part or workflow. Carefully consider the type and amount of customization that is allowed and supported at each level of service because some types of customizations are global to the server farm.

    Consider using sandboxed solutions to limit the impact of customizations in a farm. For example, services that allow self-service site creation may include thousands of sites that share a single Web application. In this instance, you could limit customizations to only those sites that are supported by the user interface, such as adding Web Parts to pages. If you use sandboxed solutions, the customizations apply only to that site collection. In a service that provides virtual or physical isolation of the server farm, such as for an enterprise intranet site, you might allow a large range of customizations, such as custom event handlers and workflows.

    At the Web application level, there is also the ability to control whether SharePoint Designer can be used to modify sites in that Web application. For more information, see Configure settings for a Web application (SharePoint Server 2010).

    For a full discussion of the range of customizations that SharePoint Server 2010 supports and the risks and benefits of supporting each type of customization at various levels of service, see the white paper SharePoint Products and Technologies customization policy (http://go.microsoft.com/fwlink/p/?linkid=92311). Although this content is specifically written about Microsoft Office SharePoint Server 2007, much of the information applies to SharePoint Server 2010. For more information about sandboxed solutions, see Sandboxed solutions planning (SharePoint Server 2010).

  • Asset classification

    You can develop and implement a classification system for sites and content supported by a service that identifies the impact and value of the information to an organization. For example, metadata can classify content as having high, moderate, or low business impact or value.

    • Impact is related to exposure and content: if the content were distributed externally, would it hurt your business? Or would it expose personally-identifiable information about users or customers? If so, that's high business impact content.

    • Value is related to availability: if the content were unavailable, could it impact the enterprise's day-to-day business? If so, that's high value content.

    Each classification would then cause other behaviors - for example you could require that high business impact content be transferred only in encrypted form, or you could require that an approval process be run on medium impact content before it can be published on a public-facing Web site. Perhaps high business impact content should be hosted on a service that provides more restrictive policy and aggressive disaster recovery processes.

  • Lifecycle management

    A service should provide lifecycle guidelines or tools for active sites and unused sites. For lower service levels, you could, for example, implement a mechanism that lets only site owners create sites that last six months before the user would have to extend the request for the site. Also, you can implement a tool that looks for sites that have not been used for a specified period of time and deletes them. Lifecycle management also means integrating a service with the records management tools and processes in place in an organization. For more information, see Records management planning (SharePoint Server 2010).

  • Branding and navigation

    Consistent branding with a corporate style guide makes for more cohesive-looking sites and easier development. Master pages and templates help create the visual brand of a site. Store approved master pages in site galleries so that site designers use them consistently. A consistent design helps users confirm that they are in the right place when they look at the site. Define the parts of the template that can and cannot be changed by site owners. Allow room for sub-branding of individual team or project brands.

    Consistent navigation is also key to ensure that users do not become lost as they navigate the services looking for content.

  • Data protection

    Features that provide data protection include backup and recovery. You can vary the level of data protection based on the service levels that you provide. Higher levels may require charges to the site owner. For each level of service, plan the frequency at which you will back up sites and the response time you will guarantee for restoring sites. For more information, see Plan for backup and recovery in SharePoint Server 2010 and the Business Continuity Management Resource Center (http://go.microsoft.com/fwlink/p/?LinkID=199235).

  • Security, infrastructure, and Web application policies

    Maintain the infrastructure and monitor access to the infrastructure and content to make sure that you have a stable and secure environment. Use Web application policies to allow or deny access to the content in accordance with compliance rules or business needs. Keep the infrastructure current with software updates to make sure that you have the latest improvements and fixes.

  • Training

    A well-trained user community provides benefits to IT. It reduces support calls, encourages adoption, helps ensure proper use of SharePoint Server, and helps users understand their responsibilities when using the SharePoint Server service. For each level of service, consider an appropriate level of training requiring as a requirement. Even for a basic service, users with site administration permission will have access to many features that affect the functionality of the site. Online training, such as tutorials, for these users can help them take the best advantage of their site.

    Training for a user community is available at SharePoint 2010 Resources for End Users (http://go.microsoft.com/fwlink/p/?LinkID=199542)

Creating multiple services

Users of an enterprise's SharePoint Server service require sites that meet a range of purposes:

  • Short-lived, single-purpose workspaces for planning events and managing meetings and projects

  • Team sites for general collaboration

  • Divisional portals for large workgroups to manage their business processes

  • Enterprise intranet sites to broadcast information and supply services to the entire organization

Consider dividing a SharePoint Server service into a set of services that meets the range of needs in an enterprise. Each user of a particular service would get the same level of support and would be charged a similar cost. As more complex or costly solutions are needed, you could add new services to support them. One benefit of this approach is that you can introduce one service at a time, which eases the burden on your IT staff. Work with executive stakeholders, business division leaders, and IT managers to determine the requirements of each level of service and the order in which services are introduced.

The following table illustrates a sample approach to creating a tiered set of services. In this example, three service levels are offered. Note that provided values are not recommendations but are supplied as samples:

Sample approach to a set of services

 | Basic Service | Advanced Service | Premium Service
Description | A server farm that is used to host tens of thousands of customer site collections. It is intended to support short-lived sites along with small team sites. | A server farm that is designed to host a small number of portal sites. It is applicable to customers with some requirements for server-side customizations that will not interfere with other sites that are hosted on the same servers. | A server farm dedicated to hosting a large, highly customized or highly critical site. The topology is scalable depending on the agreed upon hosting requirements between the customer and the hosting team.
Example | Collaboration site to plan an event | Division portal including integration with line-of-business data and custom workflows | Enterprise intranet site that includes large-scale integration with multiple back-end systems
Scope | Site collection | Web application | Server farm with multiple Web applications
Customizations | Only customizations available in the user interface are supported. | Some server-side customizations, such as custom site templates, are supported. All customizations are tested and reviewed before being accepted for deployment. Alternatively, customizations are allowed only as sandboxed solutions. | Extensive customizations are permitted. All customizations are tested and reviewed before being accepted for deployment. Alternatively, customizations are allowed only as sandboxed solutions.
Cost to user | None to minimal | Moderate | High
Self-service provisioning? | Yes | No | No
Content storage limits | 500 MB | 2 GB | Unlimited
Backup frequency | Twice weekly | Daily | Daily
Backups maintained for | 14 days | 30 days | 60 days

Service-level agreements

Establish service-level agreements for each service level. A service-level agreement should include the following items at a minimum:

  • The length of time and approvals that are necessary to create a site.

    What's the process to create a site? Who's involved?

  • Information about the costs for the service to users or departments.

    Who gets charged, and for what?

  • Operational-level agreements that specify the teams that perform operations and the frequency.

    Which team applies updates? Which team performs backups? How frequently do these occur?

  • Policies about problem resolution through a help desk.

    When a user gets stuck, who do they call? What's the escalation path?

  • Negotiated performance targets for the first load of a site, subsequent loads, and performance at remote locations.

  • Recovery, load balancing, and failover strategies.

  • Customization policies for the service.

  • Storage limits for content and sites.

  • Multi-language support.

    Which languages will be installed and supported?

See Also

Concepts

Track or block SharePoint Server 2010 installations

Other Resources

Governance in SharePoint Server 2010 (http://go.microsoft.com/fwlink/p/?LinkID=200590)
SharePoint - Sample Service Level Agreement (SLA) - "From the Field" blog (http://go.microsoft.com/fwlink/p/?LinkId=203973)
Sample template: SharePoint Products and Technologies governance plan (http://go.microsoft.com/fwlink/p/?LinkID=162169)
Resource Center: Governance in SharePoint Server 2010
Resource Center: Operations and Manageability for SharePoint Server 2010


Implementing and governing information architecture (SharePoint Server 2010)
See Also

Published: October 14, 2010

By planning and governing an enterprise's information architecture, you help ensure that solutions that are based on Microsoft SharePoint Server 2010 will meet organizational needs. An effective information architecture makes it easy for users of solutions to find and store information and improves the quality of that information and its ease of access. This article includes the following guidance:

  • Introduces the concept of information architecture

  • Recommends how to govern a SharePoint Server information architecture

  • Points to available resources to help an organization's information architects plan and implement an information architecture in SharePoint Server 2010

  • Presents a case study that illustrates the benefit of effective information architecture to promote collaboration across an enterprise

In this article:

  • What is information architecture?

  • Governing information architecture

  • Resources for planning information architecture

  • Case study: Governing information architecture to eliminate content chaos

What is information architecture?

Information architecture in SharePoint Server is the organization of information in an enterprise — its documents, lists, Web sites, and Web pages — to maximize the information's usability and manageability. The following factors contribute to the successful implementation of information architecture:

  • How easy it is to find information

  • How information is stored and retrieved

  • How users navigate to information

  • How redundant or overlapping information is

  • What metadata is available for each type of information

  • What templates are used for creating information

  • How well the information architecture is governed

  • How My Sites fit into the information architecture

The goals and implementation of information architecture will vary depending on the type of solution you are creating. For example:

  • If you are designing the information architecture of an enterprise's intranet portal site, you might focus on the following considerations:

    • How metadata will be used to characterize the site's content

    • The organization of content in sites and document libraries

    • The availability of that content in portal sites

    • The templates to use for creating content

    Note that search is a critical feature for users of intranet sites.

  • When you design the information architecture of an Internet presence Web site, you might focus on the following considerations:

    • How the site is organized into a hierarchy of sub-sites and Web pages

    • How the hierarchy is exposed in the site's navigation features

    • How easy it is to search for content on the site

Information architecture decisions may also affect the flow of information. For example, in an intranet portal site, information may initially be drafted in sites that are not available to most members of an organization. To make that information discoverable, useful, and actionable across the organization, the information architecture design could include methods and guidelines for exposing information in locations that are available to all users.

Depending on the size of an organization, you should consider including an information architect who is responsible for designing and implementing solutions based on SharePoint Server on your team. Information architects have expertise in structuring information in large Web environments such as intranet portal sites.

Governing information architecture

Information architecture in an enterprise should be governed in order to ensure the following conditions:

  • Information in an organization is manageable by an organization's information technology (IT) team by specifying how that information architecture is implemented and maintained.

  • Information architecture meets the regulatory requirements, privacy needs, and security goals of the enterprise.

  • Information architecture meets an organization's business goals. Remember that a poorly designed and governed information architecture can subtract from an organization's effectiveness. Well designed and governed information architecture can multiply that organization's effectiveness.

Governing content

When you create a plan that governs content in an environment, consider the following best practices:

  • Use workflows and approval for document centers and site pages - wherever official documentation is stored.

  • Use version history and version control to maintain a history and master document.

  • Use content types with auditing and expiration for document libraries to manage document lifecycle.

  • Use site-use confirmation and deletion to manage site collection lifecycles.

  • Identify important corporate assets and sites that contain personally identifiable information - be sure that they are properly secured and audited.

  • Integrate the information architecture with the environment's search strategy. Take advantage of enterprise search features like:

    • Best Bets

    • People search

    • Content sources

    • Connectors for external content

    • Authoritative pages

    • Keywords

    • Scopes

    • Thesauruses

    • Taxonomy and ratings

Important:

Governance doesn't work without user adoption and compliance. End-user training and education, in addition to good content and search, is the key to user adoption.

As you create a governance plan, determine the rules or policies that you need to have in place for the following types of items:

  • Pages

  • Lists

  • Documents

  • Records

  • Rich media

  • Wikis

  • Blogs

  • Anonymous comments

  • Anonymous access

  • Terms and term sets

  • External data

When you think about content, consider the balance between the following factors and determine which of these factors is the highest priority for each type of content:

  • Availability Content needs to be available when users need it, and users need to know where and how they can get to it.

  • Redundancy Exposing a single copy of content in multiple places rather than duplicating the content reduces redundancy and provides one version of the truth.

  • Access Consider who has access to the content. If it should be secure, is it?

Map the preferred content lifecycle. What steps need to happen when a list item, document, or page is created, updated, or deleted? For best results, start with what you want to use long term rather than a temporary solution.

As part of a governance plan, determine who does what. For example, who creates sites, who controls keywords in Search, or who manages the metadata and ensures that the metadata is applied correctly?

Much of this should be explained by the document and records management plans but also consider the storage costs for the content. Understand the capacity planning limits for documents and items, and keep performance and scale in mind.

Important:

A governance team should identify a process for periodically reviewing the site to ensure that it complies with a governance plan.

Governing information access

Another aspect of information management is who has access to content - how are you making the content available internally and externally and to whom? Be sure to consider access to content when you design a solution and sites. This overlaps with IT Governance as you consider the entire environment. Ask the following questions:

  • Permissions and Audiences

    • How do I structure permissions in a site?

    • How do I target content to specific audiences?

  • Access

    • How do I make this content accessible to internal users?

    • How do I make this content accessible to external users?

The governance team

Governance of the information architecture requires the participation of all groups that have a stake in its success. A governance team should include the following primary members:

  • Information architects or taxonomists

    If possible, include a professional information architect in the planning team and have that person participate in the governance team.

  • Compliance officers

    You also need to include compliance officers or others who are responsible for ensuring that legal or compliance requirements are met.

  • Influential information workers

    Include influential information workers to ensure that the processes and structure the team sets up will be usable.

  • IT technical specialists and IT managers

    Representatives of the IT organization should be included.

  • Business division leaders

    Because the ultimate purpose of information architecture is to meet the needs of the business, it is essential that representatives of the enterprise's business units have a primary role in this governance team.

  • Executive stakeholders

    The executive stakeholder is a key participant in the governance team. Although this person may not attend all sessions of the governance team, inclusion of this role is essential so that the governance team is kept accountable to its mission. Furthermore, the executive sponsor helps to ensure that benchmarks are used that help mark the progress of the ongoing effort of governing information architecture.

Along with these primary stakeholders, depending on the type of enterprise, you may decide to include other participants, such as the following:

  • Development leaders

  • Trainers

  • IT managers

  • Financial stakeholders

The best way to run the information architecture governance team will be based on the culture and methodologies of an enterprise. However, here are some general guidelines:

  • Meet regularly and allow enough time, especially in early sessions, to consider every issue.

  • Exemplify good information architecture practices in deliberations. For example, you might use a well-designed collaboration site to record deliberations and maintain artifacts.

  • Report to the wider organization (and gather requirements across the organization) by using a Web site and online surveys.

  • Maintain a set of milestones and a shared calendar.

  • Consider piloting information architecture practices in some divisions of the organization and using that experience to incrementally improve the information architecture practices across the wider organization.

Resources for planning information architecture

The following table presents resources that are available to help information architects plan the information architecture of your SharePoint Server solution:

Information architecture resources

To plan … See …

The structure of sites and subsites

  • Plan sites and site collections (SharePoint Server 2010)

Document libraries

  • Identify users and analyze document usage (SharePoint Server 2010)

  • Document library planning (SharePoint Server 2010)

  • Enterprise content storage planning (SharePoint Server 2010)

Navigation

  • Plan site navigation (SharePoint Server 2010)

Metadata

  • Plan managed metadata (SharePoint Server 2010)

  • Content type and workflow planning (SharePoint Server 2010)

Content expiration

  • Information management policy planning (SharePoint Server 2010)

Records management

  • Records management planning (SharePoint Server 2010)

Moving content

  • Plan content deployment (SharePoint Server 2010)

  • Plan workflows (SharePoint Server 2010)

Templates

  • Working with site templates and definitions (http://go.microsoft.com/fwlink/p/?LinkID=119099)

Content approval

  • Versioning, content approval, and check-out planning (SharePoint Server 2010)

  • Plan content approval and scheduling (SharePoint Server 2010)

Information management policies

  • Information management policy planning (SharePoint Server 2010)

Social computing

  • Plan for social computing and collaboration (SharePoint Server 2010)

  • Privacy and security implications of social tagging (SharePoint Server 2010)

Case study: Governing information architecture to eliminate content chaos

Fabrikam, Inc. is a world-wide manufacturer and exporter of automobile parts such as fuel and water pumps, shock absorbers, brake pads, and various engine parts. The company has 13,000 employees world-wide and more than fifty manufacturing plants across multiple geographical divisions. Fabrikam's IT organization owns deployment, operations, and support of information technologies such as e-mail, file management, and Internet technology, along with development of information technology solutions, such as the corporate Web site.

Content at Fabrikam had historically been stored in shared file directories which were distributed across local file servers at the various locations of the company. This contributed to a chaotic content situation. Mass duplication of key content made it difficult to determine the "official" version of a file. Content metadata taxonomy was very limited, based on what the file system could support. Because divisions of the corporation created unique, custom templates for common documents such as work orders, sales proposals, or human resource documents, it was difficult to compare documents side by side across divisions.

As the inadequacies of their information architecture based on file shares became more evident, managers at Fabrikam mandated adoption of new, portal-based technologies. They did this to accomplish several goals:

  • Modernize their information architecture

  • Move content from file shares to libraries in portal sites

  • Provide central access to content and applications such as expense report submissions

  • Provide a home page for central communications to Fabrikam employees

The next step in the evolution of Fabrikam's information architecture had begun.

The following diagram illustrates the initial architecture of the Fabrikam portal. A corporate portal at the top of the architecture provided a central location from which to broadcast general corporate information. At the next level, a few sites provided shared resources to the organization, such as human resources, legal services, and financial services.

Below the shared resources level in the Fabrikam architecture were divisional portals for the various regional offices of Fabrikam. Initially, North America, Europe, and East Asia were piloted. Gradually other divisional portals were added: Australia, Africa, and South America. Each divisional portal contained repositories for its policies, product designs, research and development, and customer data.

Less effective information architecture

The result of the change from collaboration that is based on file shares to collaboration that is based on portals was disappointing to the sponsors of the portal effort and to the Fabrikam work force. "Content chaos" had not been alleviated. It had just moved from file shares to portal sites.

Because key functions at Fabrikam, such as materials purchasing, customer relationships, parts design and specification, and even some human resources processes occurred at the divisional level, each division had developed local content to support these functions. Policy statements, parts blueprints and specifications, personnel documents, documents related to customer relationships, and similar content was created and managed locally. Templates and metadata for these documents diverged across divisional portals. As metadata became more specific to each division it became more difficult to search for content from one division to another. When a document was found across divisions, it was often copied to another division's portal to make it more accessible. This process made it increasingly difficult to find the "official" version of a document as duplicates proliferated. Also, some documents in divisional portals were secured in such a way that employees of other divisions could not view them. Although this was appropriate when a document was being drafted, there was no guideline for when and how a document should be made viewable across the enterprise.

To address the growing discontent with the portal, the company formed a strategy team was formed, which was comprised of managers from across the various Fabrikam divisions, core IT team members, and portal architects. The team had the following tasks:

  • Evaluate the current state of the SharePoint Server portal deployment.

  • Recommend necessary changes to the portal.

  • Determine how to measure improvement over time.

The team that developed the portal strategy concluded that the current portal taxonomy's "divisional" organization was the root to the problem. Each division was duplicating processes and hoarding content without taking advantage of the expertise and best practices developed in peer divisions. This contributed to poor collaboration, wasted resources, and content chaos. Their insight was to move towards a more "operational" organization for the enterprise portal. Shared resources such as information technology and finance were currently exposed in the portal taxonomy above (and visible to) all divisions. The team that developed the portal strategy concluded that other operational disciplines, such as customer relationships, vendor relationships, plant configuration, and research and design should be moved from divisional silos to the same level as the shared resources in the site's hierarchy. Instead of the content's location, metadata would associate information with the various divisions.

The following illustration is the revised architecture of the Fabrikam portal:

More effective information architecture

Reorganizing the Fabrikam portal in this way had the additional benefit of forcing collaboration across parts of the enterprise that had similar responsibilities but were not accustomed to working together on standards and processes. For example, storing design files in a central repository forced the various divisions to standardize on a tool for designing automobile parts. This change saved money and reduced training time. Also, best practices in design were made available for engineers to view across the enterprise and to use as a basis for new design projects.

Here is a summary of the benefits of the redesigned portal architecture:

  • Provides central access to information.

  • Reduces duplication of content.

  • Makes the official version of each item of content evident.

  • Standardizes metadata.

  • Standardizes templates.

  • Fosters collaboration and sharing of best practices.

The redesign and reimplementation of the portal was just the start. The team that developed the portal strategy received executive sponsorship to become a governance team for the portal. As a result, the group represented the needs of portal users by developing policies and standards. This helped ensure accountability across the organization and provided a forum for evaluating and evolving the portal — both to improve portal features but also to help maximize the return on the enterprise's investment in the SharePoint Server technology. The governance body oversaw the following elements:

  • Metadata standards

  • Template standards

  • Guidelines for when information needed to be made available across the enterprise

  • Compliance with corporate and governmental regulations

  • Training standards

  • Branding standards for content

Fabrikam started seeing a large return on its portal investment. A year into the project, the strategy team did an inventory of content and found that out of 500,000 documents, only 230 were duplicates. The company identified millions of dollars in savings due to the centralization of efforts. And a survey of employees showed a large increase in satisfaction with the portal. Collaboration was healthy at Fabrikam.

See Also

Concepts

Site and solution governance (SharePoint Server 2010)
Governance overview (SharePoint Server 2010)
Plan information architecture for Web content management (SharePoint Server 2010)

Other Resources

Resource Center: Governance in SharePoint Server 2010


SharePoint Development and Governance Using COBIT 4.1: A Practical Approach (book excerpt)

Published: June 17, 2010

The following is an excerpt from the book "SharePoint® Deployment and Governance Using COBIT® 4.1: A Practical Approach," which can be purchased at www.isaca.org book store.

ISACA®

With more than 86,000 constituents in more than 160 countries, ISACA (www.isaca.org) is a leading global provider of knowledge, certifications, community, advocacy and education on information systems (IS) assurance and security, enterprise governance of IT, and IT-related risk and compliance. Founded in 1969, ISACA sponsors international conferences, publishes the ISACA® Journal, and develops international IS auditing and control standards. It also administers the globally respected Certified Information Systems Auditor™ (CISA®), Certified Information Security Manager® (CISM®), Certified in the Governance of Enterprise IT® (CGEIT® ) and Certified in Risk and Information Systems ControlTM (CRISCTM) designations.

ISACA offers the Business Model for Information Security (BMIS) and the IT Assurance Framework (ITAF). It also developed and maintains the CobiT®, Val IT™ and Risk IT frameworks, which help IT professionals and enterprise leaders fulfill their IT governance responsibilities and deliver value to the business.

Disclaimer

The opinions and views expressed in SharePoint® Deployment and Governance Using CobiT®: A Practical Approach are solely those of the authors of this publication as a practical application and implementation of CobiT 4.1 principles and best practices. The opinions and views of the authors do not necessarily reflect those of ISACA. ISACA does not guarantee or warrant the accuracy, adequacy, completeness or suitability of the content of this publication. ISACA accepts no responsibility or liability for damages incurred as a result of the content contained herein.

Reservation of Rights

© 2010 ISACA. All rights reserved. No part of this publication may be used, copied, reproduced, modified, distributed, displayed, stored in a retrieval system or transmitted in any form by any means (electronic, mechanical, photocopying, recording or otherwise) without the prior written authorization of ISACA. Reproduction and use of all or portions of this publication are solely permitted for academic, internal and noncommercial use and for consulting/advisory engagements, and must include full attribution of the material's source. No other right or permission is granted with respect to this work. This text uses the following ISACA publications with permission:

  • ISACA, CobiT® 4.1, USA, ©1996, 1998, 2000, 2005, 2007. All rights reserved.

  • ISACA, CobiT® Security BaselineTM, 2nd Edition, USA, 2007. All rights reserved.

  • ISACA, CobiT® Control Practices: Guidance to Achieve Control Objectives for Successful IT Governance, 2nd Edition, USA, 2007. All rights reserved.

  • ISACA, CobiT® QuickstartTM, 2nd Edition, USA, 2007. All rights reserved.

Cover photograph used by permission of Dylan Chennault and Nicole Chennault

ISACA

3701 Algonquin Road, Suite 1010

Rolling Meadows, IL 60008 USA

Phone: +1.847.253.1545

Fax: +1.847.253.1443

E-mail: info@isaca.org

Web site: www.isaca.org

ISBN 978-1-60420-117-8

SharePoint® Deployment and Governance Using CobiT® 4.1: A Practical Approach

Printed in the United States of America

ISACA®, IT Governance Institute® and CobiT® are registered trademarks of ISACA, and CobiT Online™ and CobiT Quickstart™ are ISACA trademarks. CGEIT® is a trademark/service mark of ISACA. The mark has been applied for or registered in countries throughout the world.

Authors

Dave Chennault, CISA, MCP—Dave is a Microsoft Certified Professional Business Process Automation Specialist with 25 years of experience as a software developer and architect. He is also an MCTS in Microsoft Office SharePoint Server 2007, configuration and Windows SharePoint Services 3.0, configuration. He recently led a multimillion-dollar SharePoint consulting practice for one of the top 25 Microsoft National System Integrators before founding a new corporation (www.skylitesystems.com) focused on building software applications for SharePoint 2010 in the cloud. Dave was a senior manager at Deloitte Consulting and a manager at Coopers & Lybrand and Grant Thornton—specializing in building and leading software development engagements for large, multinational corporations in the US and Europe. He has led large software development initiatives for federal, state and local governments in the US and worked on the Space Station project for McDonnell Douglas as a senior software developer. Dave received his MBA from the Marshall School of Business at the University of Southern California and has a double undergraduate degree in economics/mathematics and communication studies from the University of California at Santa Barbara. Dave can be reached at info@skylitesystems.com.

Chuck Strain, CISA, MCSE, MCTS—Chuck is a Microsoft Certified Technology Specialist in SharePoint administration. He has specialized in IT management and governance consulting for over 25 years, working with many Fortune 500 customers in the continental US, as well as in Hawaii and Mexico. He has been involved in numerous SharePoint development projects domestically and internationally. He holds a Bachelor of Science degree in information technology from Western Governors University. Chuck can be reached at info@skylitesystems.com.


Introduction (SharePoint Development and Governance Using COBIT 4.1)

Published: June 17, 2010

The following is an excerpt from the book "SharePoint® Deployment and Governance Using COBIT® 4.1: A Practical Approach", which can be purchased at www.isaca.org book store.

1. Introduction

When Microsoft® started developing the third version of SharePoint®, it is doubtful that it realized the global impact it would have on business. That effort eventually became known as SharePoint 2007 and has become a Microsoft "big bet" and one of the most successful software products ever developed.

SharePoint 2007 reached US $1 billion in sales and more than 100 million users in just 18 months. This runaway success caught everyone, including Microsoft, by surprise. Those reading this book are probably part of this ever-growing user base. With the release of SharePoint 2010 and their cloud-based offering of SharePoint called Business Productivity Online Suite (BPOS), Microsoft delivers additional functionality that will open new possibilities to use SharePoint as an application development platform that will push enterprises to adopt SharePoint for applications and wider adoption both in house and as a hosted solution.

So why has this happened? Why has SharePoint become such a smash hit? We believe that SharePoint is a runaway success because it is the best, most cost-effective platform for helping people work more efficiently and productively, regardless of their location, time zone or brand of computer. A browser and a connection to a SharePoint server is all that is needed to get started. Many users have realized an investment payback measured in weeks; not many other investments can boast that kind of return.

SharePoint is like a Swiss army knife, loaded with functionality and possibilities. A partial list of SharePoint's "out-of-the-box" capabilities includes:

  • Document management—Manages files with versioning and check-in, check-out capabilities

  • Collaboration—A web site for every topic imaginable, allowing users to securely manage lists of related information called Web Parts

  • Enterprise search—Enables searches across SharePoint, file shares, Exchange Server public folders and external databases

  • Content management—Supports development of professional and scalable public-facing web sites. A look at www.hawaiianairlines.com will give an idea of what can be done with content management built into SharePoint 2007.

  • Forms and workflow management—Replaces paper forms, manual processes and the e-mail "paper" chase with automated electronic forms, digital signatures and complex workflow capabilities

  • Business intelligence—Enables creation of electronic dashboards, including Excel running on the server, allowing simplified monitoring of key performance indicators

  • Deep e-mail integration—Enables notification to key staff if files are modified, new data are posted or a workflow task is assigned

SharePoint delivers all of these capabilities in a web-based, flexible platform at a fraction of the cost that specialized vendors would charge for any one of these items. With the extensibility from a rich variety of add-on products and the flexibility of the .NET platform and Visual Studio® (meaning there is an army of software developers with required experience in place), it is easy to understand why SharePoint has had such a meteoric rise in sales and adoption.

The SharePoint Effect

Although SharePoint has been widely embraced by businesses, its launch has often been accompanied by a wave of frustration and false starts as enterprises struggle toward its deployment and use. We believe these challenges may result from a lack of governance.

We often see "worst practices" and unpredictable results when SharePoint is unleashed on an enterprise without setting up proper governance policies. We call this the "SharePoint effect," which is often characterized by some or all of the following:

  • Runaway growth as SharePoint users hijack control, creating high-profile sites, adding content accessible to hundreds or thousands of users, and setting permissions and rights without enterprise planning, strategy or support

  • Never-ending streams of enhancement requests that go unanswered

  • Lack of clarity on who is storing what in SharePoint

  • Inability to track or audit who has accessed items stored in SharePoint lists and document libraries

  • Inability to gain consensus from the business on goals and priorities for SharePoint

  • Irrelevant or outdated content

  • Lack of document life-cycle policies, including mandated archiving and destruction requirements

Shared Services and the SharePoint Effect

Many enterprises have mistakenly launched SharePoint as a shared service, allowing the business to use it as it sees fit, without proper governance or controls. These deployments usually go viral and growth occurs "underground," out of sight from the staff responsible for keeping SharePoint running. This approach is usually accompanied by unpredictable spikes in growth and use that outpaces any planning that may have been done prior to deployment.

When the SharePoint effect is at full force, the following can be expected:

  • Team sites spring up across the enterprise and operate independently, without any central direction or guidance

  • Stale content litters "ghost towns"—sites that were once thriving areas for groups, now suddenly abandoned

  • Steep declines in performance and supportability

  • Support calls to IT for unknown third-party tools installed by end users

Some reading this are probably smiling through gritted teeth, having lived through these experiences firsthand. The combination of uncontrolled growth, lack of shared vision and the ad hoc adoption of third-party tools usually causes SharePoint deployments to underperform and miss expectations.

SharePoint Governance

Simply stated, SharePoint governance is a framework of guidelines to create processes and controls that avoid or limit the impact of risks encountered when deploying SharePoint. As SharePoint expands and becomes increasingly pervasive and important to the enterprise, the need to govern it (meaning, control it and manage the risks associated with it) increases dramatically. Some of risks encountered without proper governance include:

  • Increased security threats—SharePoint allows the user to add and publish content easily. This content is indexed, allowing users to search on most of the content that SharePoint manages, including the text within files stored anywhere in the farm (Microsoft Office® SharePoint server). The increased risk that arises from being able to post any file or content and then search on any word in any posting, document or file managed in SharePoint can be easily imagined. Pulling corporate data into key performance indicators compounds the risk, as does audience growth to include users outside of the enterprise.

  • Wasted resources—Improperly deployed or managed SharePoint sites can reduce response time, increase support costs, outpace support team capabilities and waste employee time.

  • Silos of information—SharePoint can be used to build new silos of information and decrease collaboration and information sharing if not used properly. Just posting content into SharePoint does not ensure collaboration. We have witnessed how SharePoint can become its own maze of silos and a nest of sites and hidden content. When looking for information, we have often heard, "It is posted in SharePoint," and have had to wander through sites to find the information we were seeking.

  • Catastrophic business failure—As SharePoint grows in importance to the enterprise, improper back-up and business resumption planning can be catastrophic to the business in the event of a loss of SharePoint availability.

We believe that a properly governed SharePoint deployment can be one of the best IT investments an enterprise can make. We also believe that an improperly governed deployment can represent one of its greatest risks.Enterprises that have deployed or are planning on deploying SharePoint will likely be faced with some or all of the following issues and expectations:

  • The enterprise expects SharePoint will support and transform organizational practices and methodologies.

  • SharePoint will become pervasive within the enterprise and the reliance upon internal or third-party resources to provide, maintain and ensure the viability of it will become mission-critical.

  • The costs of IT resources within the enterprise, as well as intangible costs, will rise due to growing dependence upon SharePoint and increasing end-user demands.

This SharePoint governance framework will help manage these expectations while continuing to deliver value to the business.

Reason for the Guide

We have been watching the SharePoint market mature and it is dismaying to observe the lack of comprehensive governance guidelines. All of the SharePoint governance efforts that we have reviewed have been ad hoc and loosely structured around organically developed best practices. Universally, the existing frameworks have been aimed at the IT team rather than the business. These frameworks have been posted in various blogs around the web. Our SharePoint customers have reviewed many of these and have consistently been disappointed because of their lack of breadth or use of a standards-based framework.

We have attended professional associations and trade shows for IT auditors expecting to find a standards-based SharePoint governance framework and have been astounded by the lack of attention and recognition of the importance of SharePoint. We have never found a SharePoint governance framework that would satisfy IT auditors and let business lead.

Even worse, while some IT audit professionals are vaguely aware of SharePoint, few realize the depth of its market penetration and number of business users who rely upon it. Many of the most important assets of these enterprises are stored within SharePoint and it is critically important to establish world-class governance standards for SharePoint and to adhere to these standards quickly.

Borrowing from a software development perspective and an auditor's sensibility, we created this framework as a practical bridge between the world of IT audit and control and the world of SharePoint development, deployment and management. We represent both sides of this coin and have blended years of real-world SharePoint deployment experience with auditing best practices and international standards to build the practical governance framework presented within this text.

Guiding SharePoint Governance Axiom

This governance framework is based upon the following guiding principles:

  • SharePoint requires controls and repeatable processes to ensure its orderly deployment, operation and maintenance.

  • A team of senior business and technical users is required to set policies, procedures and guide the ongoing deployment.

  • Management reviews should be built into governance policies and procedures.

  • Business needs should lead technical decisions, not the other way around.

  • IT resources, including staff and systems, should be leveraged and integrated into SharePoint.

  • The framework should be built upon internationally recognized governance standards.

  • The framework should be applicable at any stage of deployment or maintenance.

Based upon the goals stated previously, the following axiom was created to guide the development of this governance framework:

A world-class SharePoint governance framework is a comprehensive set of activities, policies and processes that leverages industry-standard methods and best practices to respond to the needs of the internal enterprise, while satisfying requirements of external regulatory and compliance initiatives. World-class SharePoint governance ensures that the enterprise is getting the most from its IT investment, while demonstrating to the world that management has taken the proper steps to ensure the integrity, confidentiality and availability of its information resources. The governance framework should be easy to understand, follow and implement.

After an exhaustive review of existing governance standards and the goals stated previously, CobiT 4.1 was selected as the foundation for the governance framework.

What Is CobiT?

CobiT is an internationally accepted standard for the governance of information and related software management systems. It offers a framework to govern planning, deployment, control and maintenance of IT systems and applications and ensures that industry-standard best practices and methodologies are applied to meet the needs of business enterprise. The initial release of CobiT was created by the ISACA under the Information Systems Audit and Control Foundation® (ISACF®) in 1996 as an IT process and control framework that linked to general business requirements and system controls. The IT Governance Institute, which was founded by ISACA in 1998, released CobiT® 3rd Edition in 2000, CobiT® 4.0 in 2005 and CobiT® 4.1 in 2007. A series of CobiT mapping papers, produced by ISACA, includes mappings to ITIL, ISO, COSO, PMBOK and many other standardized frameworks widely accepted in the IT community throughout the world.

CobiT 4.1 defines a set of principles, called domains, that are used to guide governance of information and related software management systems. There is a chronological order from Plan and Organise to Monitor and Evaluate; however, the framework supports iterative looping back to any domain at any time. CobiT consists of the following four domains:

  • Plan and Organise

  • Acquire and Implement

  • Deliver and Support

  • Monitor and Evaluate

A diagram showing the relationship among the domains is in figure 1.

Drilling deeper, CobiT 4.1 defines 34 IT processes, which are divided among the four domains. Processes are high-level directives that form the goals for each domain. For example, the Plan and Organise phase includes ten IT processes:

  • PO1 Define a strategic IT plan.

  • PO2 Define the information architecture.

  • PO3 Determine technological direction.

  • PO4 Define the IT processes, organisation and relationships.

  • PO5 Manage the IT investment.

  • PO6 Communicate management aims and direction.

  • PO7 Manage IT human resources.

  • PO8 Manage quality.

  • PO9 Assess and manage IT risks.

  • PO10 Manage projects.

To recap, CobiT is organized into domains, IT processes and control objectives that have been developed to help business lead and IT manage the risks associated with an information management initiative. A comprehensive list of CobiT processes mapped against the governance methodology in this publication can be found in appendix E.

Why COBIT?

As certified IT auditors and SharePoint deployment specialists, we have learned what businesses want and need from a governance framework for SharePoint in "the real world." The CobiT control framework fulfills these needs by:

  • Aligning IT and business objectives

  • Defining control objectives that management can use

  • Identifying major IT resources and how to best utilize them

  • Using generally accepted industry-standard process models to organize IT activities

  • Ensuring that performance is defined and measured within an enterprise

The Benefits of Governance Using COBIT

CobiT was selected because of the benefits it delivers to the enterprise. These benefits include:

  • Leveraging an internationally accepted IT governance framework that is regularly reviewed and updated by a wide array of business, operational, audit and security experts

  • Better alignment of needs and IT capabilities

  • Better interaction and communication between IT and business using CobiT guidelines so that IT understands business objectives and business understands what IT does

  • Better results during audits since CobiT is accepted by third parties

  • Better definition of ownership and responsibilities since these are based upon a process orientation

  • Involving all stakeholders on the "same page" referencing a common defining framework

Advantages of the CobiT Framework

The advantages realized from CobiT adoption include:

  • Deriving maximum value and optimal support from the IT investment

  • Leveraging resources to their best and highest use

  • Ensuring that IT risks are managed, monitored and controlled

  • Providing a universally recognizable framework for both internal and external IT system auditors

  • Reducing effort and disruption of IT audits since processes and procedures governing SharePoint are presented to the auditors in a manner and form that they can understand and readily recognize as compliant

The CobiT framework is applicable regardless of the size of the enterprise or the complexity of the SharePoint initiative. When applying CobiT to the control and governance of SharePoint, the focus of the initiative assumes a perspective of monitoring and performance that addresses requirements for the entire enterprise, not just the IT domain. CobiT ensures that IT and management are aligned and risks are managed. Using CobiT as the fundamental framework for the initiative encourages and supports a culture of continuous improvement, fostering sustainable processes and methodologies.Sustainable processes and methodologies fostered by CobiT include:

  • Integrating IT and enterprise governance

  • Ensuring enterprise-based accountability for IT initiatives

  • Defining and maintaining complementary relationships among organizational structures

  • Drafting and clearly communicating policies, standards and processes for IT governance and control

  • Effecting cultural change (commitment at all levels in the enterprise—from the board to the "shop floor")

  • Defining and promoting a process and culture of continuous improvement

  • Developing and implementing optimum monitoring and reporting structures

Mindbites and a Preview

Throughout the text, we have included insights called mindbites (rather than "soundbites") that tie conceptually similar guiding principles to actual experiences with SharePoint deployments undertaken without the benefit of SharePoint governance or certain real-world experiences that illustrate a concept. These insights examine why the application of good governance merits attention across many contexts.

The upcoming chapters explore the need for governance at a deeper level and describe how CobiT can be used to develop a practical framework that will generate greater return on investment, wider adoption and decreased risks. Finally, prescriptive advice will be provided on how to apply governance to SharePoint deployment.

This text will guide you from early planning through production deployment of SharePoint 2007 and SharePoint 2010, on premises or in the cloud, using CobiT 4.1 in a practical way. Differences between SharePoint 2007 and SharePoint 2010 are highlighted, as appropriate, and a final chapter explores how to apply these governance controls and objectives for a cloud-based SharePoint 2010 deployment. We hope you find this guide useful and practical and welcome any comments via e-mail atinfo@skylitesystems.com.


COBIT and SharePoint

Published: June 17, 2010

The following is an excerpt from the book "SharePoint® Deployment and Governance Using COBIT® 4.1: A Practical Approach," which can be purchased at www.isaca.org book store.

Having completed nearly 50 SharePoint deployments, it is clear to us that SharePoint is much more than a simple replacement for a file share. We have witnessed firsthand how successful deployments enable a fundamental shift in the way people work together and improve productivity. We have also seen deployments fail and be abandoned, becoming "shelfware" littered with ghost towns of content. This governance framework was developed to make sure an enterprise's SharePoint deployment is widely adopted and impacts the business in a meaningful way while reducing deployment and operational risks.

Author's Mindbite—SharePoint is like cable TV

It took me a while to understand why people are drawn to SharePoint. It came to me during a question and answer session at a presentation on SharePoint capabilities I was doing for a group of users. A senior IT manager from a local hospital told me they had SharePoint 2007 and were looking to deploy it. Immediately I started talking about how great SharePoint could be for patient records, medical imaging and forms automation.

He stopped me midsentence and said, "We have systems for all of that and, frankly, they work just fine. What we are looking for is a way for departments to communicate better throughout the hospital."I suddenly realized that SharePoint is a new kind of medium that allows people to broadcast and interact with channels of information.

SharePoint is like cable TV. Every channel is a different group of people who work together on initiatives within and between departmental groups. There can even be channels that are specific to an idea or group of people. It is the ultimate interactive TV except that it is a PC and runs over an IP network. Yes, it could be a great way to automate forms and share medical records, but at the root of it all, it is a great tool that allows people to work together more productively.

As "SharePointers" already know, SharePoint lets administrators and developers snap in or activate prebuilt Web Parts and features to quickly build pages with complex containers. These containers usually hold lists of things. These lists can be files, contacts, links to web sites, FAQs and so on. It also lets the user build pages (templates) that allow users to add content without requiring HTML or coding. These capabilities include a self-service model that lets users add sites, pages or content if they have the proper permissions.

Every initiative, product, team, department or user can have its own page or web site. Because of this capability, the growth of SharePoint is usually explosive and exponential in terms of size and complexity as users and capabilities are quickly added to the system. Each group has its own galaxy of needs and requirements to solve business problems using SharePoint. The wave of recognition by the business that SharePoint is a new tool and a new way to solve many common business problems is the catalyst for the SharePoint effect described previously.

The "White Space"—Another Uncomfortable Truth

While Microsoft has sold over 100 million seats of SharePoint, we estimate that only half of those seats have been deployed. The difference between what has been sold and what has been deployed is sometimes called the "white space." This white space represents the licenses that are sitting unused. We believe most of these are in corporate environments. So why are so many seats of SharePoint going unused?

We believe the white space is a result of IT deploying SharePoint using a shared services model with little or no governance. Time and time again, we have been called in to consult after ill-defined SharePoint solutions, built by business units or IT on shared service SharePoint farms, have been released to an unprepared or untrained user community. Alternatively, we have seen SharePoint deployments become viral and overwhelm all planned support capabilities. In either scenario, returns are usually less than expected, stopping or curtailing planned rollouts because the promise of SharePoint has not been met. Proper governance will close the white space in the enterprise. The remainder of this text offers a governance framework that will ensure that expectations are met and the SharePoint investment maximized.

The Need for Governance

We believe that a well-enforced governance framework is critical for the successful deployment and operation of SharePoint. We will explore the case for governance and let the readers examine our reasoning.

Let us start with the case for governance by looking at the alternatives. One could let SharePoint roll out without any control. Staff could deploy as they see fit based upon their ability to develop applications and muster resources. Inevitably, the system can easily become a tangled mess with inconsistent branding, poor navigation and little or no security and control. Let us examine a real-world metaphor.

If it helps, users can consider themselves the zoning commissioners for "SharePointland." The framework presented in this text provides a prescriptive approach to ensure that the SharePoint community thrives and grows.

Author's Mindbite—Where else do we see governance?

I was struggling to come up with a real-world example of uncontrolled growth and it hit me: zoning laws for a community.

Imagine that there were no zoning laws. Contractors and builders could develop new projects as they wished. Chemical plants could be placed next to school yards. Twenty small houses could be crammed into a small area with sewers and electrical systems that could safely support only four or five homes. Zoning laws exist to make sure buildings are built within the limits of the infrastructure. Safety, noise and the proper mix of industrial and residential buildings are considered.

World-class SharePoint governance delivers many of the same benefits of zoning laws. Proper governance should create a stable and valuable set of processes and procedures that allow for growth in a controlled and productive fashion while limiting the exposure or effects of risk to the enterprise. It should utilize resources in the most productive way possible and it should prevent the oversaturation of critical infrastructure so that support and performance do not degrade.

If it helps, users can consider themselves the zoning commissioners for "SharePointland." The framework presented in this text provides a prescriptive approach to ensure that the SharePoint community thrives and grows.

Faltering First Steps

Our early attempts to apply CobiT to SharePoint governance, out-of-the-box, proved impractical. The CobiT principles were on target, but the order prescribed by following the CobiT framework, verbatim from Plan and Organise through Monitor and Evaluate, did not fit the chronological needs of a SharePoint deployment. These early attempts taught us that we needed to segregate CobiT principles into phases that mirrored natural rhythms found in a SharePoint deployment or enhancement life cycle.

Methodology

Having seen firsthand how SharePoint is planned, deployed and maintained, we created a governance framework to parallel these efforts. The result is a practical and prescriptive model of how governance is applied within the SharePoint domain, using the CobiT framework. This guide is a direct result of lessons learned during SharePoint deployments and applying them in real-world SharePoint 2007 implementations. It represents the first known attempt to map CobiT in a practical way to the governance of SharePoint.

Our governance framework is broken into six phases (figure 3). The key point is that CobiT has been adopted at the process level. The governance framework presented in this text places all of the processes from CobiT 4.1 into one of the appropriate phases of the software development life cycle (SDLC) for the deployment, operation and enhancement of SharePoint. Once the CobiT 4.1 process is mapped within one of the six phases, specific control objectives that relate to SharePoint deployment or operation are prescribed to satisfy the essence of the control objectives defined in CobiT for that CobiT process.

For example, the scope phase of the governance methodology contains the following CobiT processes:

  • PO1 Define a strategic IT plan.

  • PO2 Define the information architecture.

A narrative explaining the risk of not conforming to the guideline is also included in each process description. A definition of the mitigation of the risk is offered, followed by a detailed discussion of a prescriptive approach to mitigation/compensation to meet the goals of that activity or process.

An example will prove helpful. In the example in figure 4, PO2 is a process of the CobiT Plan and Organise domain prescribed within the scope phase. Note how the essence of the control objectives has been mapped into SharePoint controls and activities. Also note the highlighting of the risks of not adopting these controls and activities and how these risks can be mitigated or compensated.

Notice that the prescribed control objectives capture the essence of relevant CobiT 4.1 control objectives within a SharePoint context rather than an explicit one-to-one mapping. These are identified by a letter designation that is unique to this application, so as not to confuse the reader with the CobiT control objectives, which are designated numerically. Conversely, note also that we map explicitly to every CobiT 4.1 process since we believe all of the processes prescribed by CobiT 4.1 are relevant and should be met to properly govern SharePoint.

The savvy CobiT reader will note that while we have included verbatim every CobiT process within our methodology, we have taken liberties at the CobiT 4.1 control objective level and prescribed activities that capture the essence of the control objectives in a way that makes sense in a SharePoint context. Note also that most, but not all, control objectives are captured within the methodology. Indeed, in many cases, we include additional activities and tasks that are specific to SharePoint deployment and governance. An explicit mapping between CobiT 4.1 at the process level and our framework is included in appendix E.

Finally, we have not listed every conceivable activity or task that could be prescribed to meet CobiT 4.1 processes and control objectives. The control objectives we have listed for each CobiT 4.1 process are general in nature and form a good place to start the governance of SharePoint and to mitigate or compensate for its risks. When reviewing this text, think of this framework as a starting point that can be added to based upon the needs of the enterprise.

It is not expected that all of the processes and tasks prescribed for every phase will be satisfied before moving to the next. This is a goal-oriented framework similar to Total Quality Management (TQM), which sets horizons for each phase. Some of the objectives may seem to be continually just out of reach, and that is fine. Think of them as goals: some are attainable while others may be guideposts to lead the way.

Mitigation and Compensation

Throughout the governance framework, we continuously note the risks of not adopting or following the prescribed control objectives outlined for each process. Mitigating or compensating controls form an approach used by an enterprise to meet regulatory, statutory or business requirements. Controls specify the method chosen to address a risk associated with a process such as PO2 Define the information architecture. These controls can be applied as part of a mitigating or a compensating strategy. Risk mitigation means performing tasks or activities (controls) that will reduce the likelihood or impact of risk associated with a process, while risk compensation involves tasks or activities that tend to circumvent or avoid risk.

The control objectives specified in this framework for each CobiT 4.1 process are designed to meet mitigating or compensating goals and are exactly what IT auditors will look for when reviewing a SharePoint environment. Indeed, the majority of this book is focused on defining the proper control objectives to mitigate or compensate for risks associated with SharePoint deployment or enhancements. This text will also help in meeting regulatory requirements such as the US Sarbanes-Oxley Act (SOX) or the US Health Insurance Portability and Accountability Act (HIPAA).

Let us explore these concepts in greater detail, using driving to the store as a way to demonstrate the concepts in everyday terms. The driver of a car assumes a certain level of risk: "I might get in an accident on the way to the store." A mitigating activity to reduce the impact (literally, in this case) of the risk associated with driving a car (and subsequently being involved in an accident), might include purchasing a Humvee. If the driver is involved in a collision, the chances of harm resulting are greatly reduced (mitigated) by driving a semiarmored 7,000-pound vehicle. A compensating activity to the perceived risk of driving to the store might be simply to walk instead. Thus, a modification in behavior, or process, compensates for the perceived risk of injury while driving, by avoiding the activity altogether.

Compliance Considerations

There are many regulatory and statutory requirements for enterprises engaged in business. If a company undergoes regular compliance audits—SOX, HIPAA, Payment Card Industry (PCI) Data Security Standards or others—adherence to the framework in this publication, and by extension, the CobiT framework in general, will meet many of the compliance objectives and requirements for the operation and maintenance of SharePoint. Auditors will quickly understand the framework described in this text and ascertain what, if any, steps are needed to remediate compliance concerns.

Description of Phases

Let us take a deeper look at how the governance framework is organized. The governance framework is based upon an iterative life cycle approach. The framework begins with identifying controls and processes that should be put in place to define what the business needs and what functionality should be included for the SharePoint launch. It progresses through a series of phases, preparing for the deployment and operation of SharePoint before it is launched. The framework continues with prescriptive advice for deployment, system operations and monitoring. Following this, we review the subset of activities that should be considered when undertaking an enhancement rather than an initial SharePoint launch. Note that this governance framework is equally valid on a fresh install or on an existing SharePoint deployment. The following describes the goals of each phase of the framework:

  • Scope—This phase is centered on defining the processes, people and activities required to set the scope of the SharePoint deployment. Goals include creating a steering committee, creating processes and procedures to gather a wide range of requirements, and then carving these requirements into a manageable scope.

  • Plan for launch—This phase is focused on developing the processes and procedures to successfully launch SharePoint. It identifies the skill requirements, assesses the readiness of the team, identifies any staffing or skill set shortcomings and develops a plan to address these issues. Service levels are agreed upon and the hardware and software requirements are identified and reviewed. Finally, content review processes are identified, retention schedules are defined and a cost allocation model to pay for usage is developed.

  • Prepare for operations—This phase defines the processes and procedures to support and operate SharePoint once it is launched. Note: this phase is completed before SharePoint is launched. Operational processes and procedures—including training the developers, reviewing software and hardware sourcing agreements, and determining how users are authenticated—are established. This phase also includes developing policies and procedures for backup, incident reporting and support, handling of change requests, and management of third-party services. Operational plans are developed and reviewed, tools to manage SharePoint are selected, monitoring practices for SharePoint are developed and ways to measure service level agreements are reviewed. Finally, policies are developed to monitor and evaluate internal controls, data sources, error logs and data integrity.

  • Launch—As the name suggests, this is the phase when SharePoint or an enhancement to SharePoint is launched. All of the activities from the scope, planning for launch and prepare for operations phases are put to the test. This phase is focused on creating the policies and procedures for managing support desk incidents, ensuring compliance with external requirements and accrediting how content is migrated, including the quality of the data once they have been migrated into SharePoint. The phase also establishes how the results of the data migration are communicated to the business and technical communities. Finally, processes surrounding the test plan are reviewed with regard to how changes are promoted between the development, test and production environments.

  • Operate—SharePoint adoption can be explosive. This phase is focused on developing processes and procedures to manage the tactical, day-to-day aspects of SharePoint. It includes acquiring and configuring tools to monitor the farm performance and system usage and then configuring them to ensure that SharePoint is responsive to users and meets their needs. Policies and procedures are developed for hardware and software enhancements and tuning, defining capacity planning thresholds, and reviewing procurement methods for additional software and hardware enhancements to ensure that they are acquired in a timely fashion. Administrative guidelines and policies for indexing, content storage and developing backup strategies are also developed in this phase. The operate phase includes developing storage and usage projections and monitoring them to ensure that the system can support expected responsiveness and load. This phase also includes creating policies and procedures to monitor growth projections against actual growth and recommend adjustments as needed. Training is also evaluated to ensure that staff has the background needed to manage the farm. Problem resolution policies and procedures are reviewed and modified as necessary to ensure timely response to user support issues.Additional activities in this phase include setting up policies and procedures to monitor expected vs. actual investments in SharePoint, maintaining documentation on the hardware and software configuration, and conducting operational infrastructure reviews ensuring the system architecture is up to date with the actual system as it exists. Finally, this phase includes a reexamination of governance policies to ensure that they are responsive to business needs.

  • Enhance—The enhance phase covers upgrades and changes to functionality or capabilities of SharePoint after it has gone live. The enhance phase processes and control objectives follow a subset of activities, policies and procedures from every phase described previously as necessary to ensure that SharePoint can change and improve as business needs dictate.

Framework Risks/Concerns

With any plan or framework comes risk. The items listed below highlight the most obvious risks that must be addressed in preparing and implementing this framework: • Inadequate executive sponsorship and direction• Unwillingness of IT to align or support business needs• Inability of the governing body to make decisions• Failure of internal staff or third parties to follow the policies and procedures set by the governing body• Information technology staff's lack of discipline to follow policies and procedures• Deployment of SharePoint widely across the enterprise and current user resistance to governance because the risks or costs of the current ungoverned approach are not understood• The business's demand for service levels that are not possible within the allocated budget or technology• The business's demand for system features and functionality that are not possible within the allocated budget or technologyAll of these should be addressed head-on. These are obstacles that can pop up at any time and in any phase of the SharePoint initiative.

Scorecard

This framework was built to be practical. Each task or activity contains a description of what the item or activity means in the context of a SharePoint deployment and others suggest compensating or mitigating controls. Many tasks or activities include a table with sample entries. A mitigating or compensating control and the corresponding table should be completed for each task or activity so a record can be given to auditors and staff for reference as needed. Progress can be tracked using the worksheet in appendix D as the mitigating or compensating processes and procedures needed for a successful deployment are built. This chart is handy for highlighting areas that need attention and improvement.

Note:

This framework is exhaustive in scope and breadth and it is not expected that anyone will satisfy every activity listed in every phase of the framework. Users should review all the suggested activities, and then complete as many in each phase as is practical for their situation. Also, it is not necessary to accomplish every step in a preceding phase to move into the next. Ultimately, the specific needs and constraints of the enterprise should determine when to move forward.

Tools

A framework is not very useful without the tools to implement the prescriptive guidance. A list of tools can be found in appendix B. These tools are useful to gather the data or add the compensating or mitigating controls called for in the governance framework. Each governance activity is shown on the left side of the table and a cell is selected in the column headed by a tool if it can be used to help compensate or mitigate the risk associated with the task or the activity.

SharePoint Already Deployed?

This framework can be used even if SharePoint has already been deployed. It is never too late to start governing SharePoint. Those working in an already deployed environment should begin by completing activities in the scope phase and continue through the framework from left to right. Issues should be remediated as policies are set and communication undertaken with users, often explaining the benefits they will derive from these governance efforts. Users can be invited to participate on the governance steering committee and their input actively sought. Appendix A includes a description of concrete steps to take to get started with this framework in the already deployed environment.

The Road Ahead

The remainder of the book consists of a chapter for each phase of the framework, including a list of the activities and sample tables to use to record progress. We have included a chapter on the governance of a cloud-based SharePoint deployment. Finally, the book concludes with appendices containing practical advice on how the governance framework can be applied to the deployment of SharePoint, including advice on how to get started governing your SharePoint farm.


SharePoint Governance--Scope Phase

Published: June 17, 2010

The following is an excerpt from the book "SharePoint® Deployment and Governance Using COBIT® 4.1: A Practical Approach," which can be purchased at www.isaca.org book store.

The scope phase is highlighted in figure 5.

Guiding principle: Do not "build it and they will come."

Too often, we have seen technical teams offer a SharePoint "solution" without identifying what business problems it will solve. This is usually done under the guise of providing a shared service model. Do not deploy a SharePoint solution that only needs to find a problem to be successful.

Warning:

It is critical to involve representatives from functional areas of the organization during the scope phase or risk chaos when SharePoint is hijacked by users to solve the real problems and needs that were missed because they were excluded from participating in the governance process.

Overview

A SharePoint deployment should be focused on solving real, concrete problems, improving productivity or enabling new ways to help the business thrive. To ensure this, the scope phase of this SharePoint governance framework starts with establishing a steering committee of business and technology leaders who can set broad goals for the SharePoint deployment.

Once formed, the steering committee solicits communication and reviews feedback from the business to define the business goals and objectives that will be met by the SharePoint deployment and the business units that will participate in the rollout. Next, key business and technical resources are identified. The scope phase concludes by setting the initial information architecture and site map of SharePoint.

Key activities in the scope phase include:

  • Creating a steering committee led by the business and enabled by technologists

  • Identifying key strategic objectives the business will attain by deploying SharePoint

  • Identifying business units and champions to guide deployment

  • Aligning objectives and goals with SharePoint capabilities

  • Setting priorities

  • Developing a preliminary information architecture, including a site map

The remainder of this chapter explores how CobiT® processes can be applied to the SharePoint governance during the scope phase. This section includes key activities and deliverables that should be completed during the scope phase of this SharePoint governance framework.

PO1 Define a Strategic IT Plan

The effort begins with creating a steering committee to define what is planned to accomplish and prioritizing objectives. Our recommended implementation of the PO1 Define a strategic IT plan activities is shown in figure 6.

PO1.A Create a steering committee to guide deployment—Scoping should begin with the creation of a steering committee. This team will provide overall strategic guidance for the SharePoint deployment. Business, technology and geographically diverse representation on the team is ideal. Membership should be temporary and voluntary. Tactical direction of IT is included within the membership. (Note: Each SharePoint site will have its own local administrator, typically the site administrator, who will manage SharePoint locally and escalate issues up to the steering committee as necessary.) Sample agendas for the first three meetings of the steering committees can be found in appendix A.

Steering Committee—Some Thoughts

The steering committee should be thought of as the command-and-control center of the SharePoint initiative. Some of the tasks listed in this governance guide are quite technical and specific to SharePoint while others are more general in nature. The steering committee should appoint subcommittees to assume responsibility for many of the technical aspects of the SharePoint deployment and operation. It is unrealistic to think that members of the steering committee will be able to manage all aspects of the guidelines presented. Governing SharePoint will take a considerable effort. In the end, the steering committee will be responsible for the successful deployment and operation, but it will need to delegate and trust specialists to succeed.

Author's Mindbite—The steering committee is like launch control.

Most readers have watched a National Aeronautics and Space Administration (NASA) rocket launch. Each system is managed by a group and, as launch approaches, a series of preflight activities is followed with each group reporting to the launch director. The scene a few moments before launch sounds something like, "Electrical?" "Electrical ready for launch." "Propulsion?" "Propulsion ready for launch." "Guidance?" "Guidance ready for launch." and so on.

It is much the same for a SharePoint launch and operation. All business and information technology teams should coordinate their efforts with the steering committee as preparation for launch and operation occurs. All of the players involved perform a choreographed set of steps outlined in this text under the steering committee's guidance. These steps ensure that preparations are complete and SharePoint is operating as planned to meet the objectives and goals set forth by the business.

Steering Committee—Leadership

The steering committee members will not individually complete every activity in this guideline. However, just like the mission team at NASA, the steering committee is responsible for setting the SharePoint deployment goals and ensuring that all systems are "go" to meet them.The steering committee should have a strong leader who can break deadlocks and provide direction when discussions become tense or emotional. We call this style of leadership a "benevolent dictatorship." Discussion should be animated and forthcoming, but a strong leader is needed to resolve disagreements and keep the committee on task.

Steering Committee—Mission Statement

The following is a suggested mission statement for the steering committee:

The steering committee will provide a unified, centrally governed approach to the SharePoint environment. This team has the overriding authority for all architectural, design and development decisions, including all policies and procedures created for the SharePoint environment. It will strongly influence foundational and framework-related issues, as well as decisions regarding security and retention considerations for the deployment.

Steering Committee—Scope

The following areas will be considered by the steering committee for inclusion in the governance plan:

  • Internal/external users, internal/external data sources and inputs/outputs

  • Personal, team, departmental, divisional, corporate, global considerations

  • Parent/child corporations, subsidiaries and affiliates

  • Technologies, processes, logistics and finances

  • Document retention policies

  • Cultural, political, religious, social, economic, and gender forces and influences

  • Security and access control of the SharePoint environment, both internal and external

  • Legal and cultural issues concerning content of the SharePoint system to address information rights management, copyright and other legal issues, privacy issues, and offensive or inflammatory material

Suggested Steering—Committee Team

The table in figure 7 lists an example of a steering committee for a public agency.

Steering Committee—Communication

A communication plan from the steering committee to the enterprise as a whole is an important responsibility of the team. The steering committee should maintain a web site with minutes, announcements, membership, instructions on how to join, calendar, forms to report bugs and issues, forms to request enhancements and new initiatives, and instructions on how to get support. The web site should include information on usage policies and restrictions. Additional activities will speak to this point in greater detail throughout this publication.

PO1.B Identify strategic goals—Once the steering committee has been formed, scoping begins with the identification of big goals that guide SharePoint deployment across the enterprise. Examples include:

  • Better communication

  • Document management

  • Improved compliance

  • Improved auditing capabilities

While these examples include broad enterprise goals, we have also seen SharePoint launched to address a specific problem within a department. The activities defined in this governance framework are equally important for focused outcomes and should also be followed, as shown in figure 8.

The scope of the SharePoint deployment may grow quickly once users in other areas learn how it is being used. If this happens, it is advisable to review and follow the steps outlined in the enhancement phase of this publication.

PO1.C Identify business units participating in the project—The business units that seek to be included in the deployment must be reviewed and screened for inclusion by the steering committee, as shown in figure 9. Business units can be nominated by the steering committee or may apply to the steering committee directly.

PO1.D Identify strategic needs and map to SharePoint functionality—High-level strategic needs should be collected via use case scenarios for each request. Each use case should be identified with a unique ID tag for simplified tracking. These use cases should be reviewed by technical staff to determine whether the business needs can be met with the technical capability of SharePoint.

A list of items that appear to be difficult or costly should be noted for each use case. A report of findings should be presented to the steering committee and a subcommittee should be created to evaluate the technical reviews.

Finally, a summary of findings and recommendations should be made to the entire steering committee for each use case. The steering committee should then create a list of functionality for each department that is considered in scope, as shown in figure 10.

PO1.E Identify key business owners for each initiative—Each business initiative approved by the steering committee will have a business owner associated with it. This business owner will assist with requirements development, champion the initiative with the steering committee and help with the deployment as needed, as shown in figure 11.

PO1.F Set priorities—Each business initiative will be ranked by the steering committee and set within the queue of work. The steering committee will be responsible for maintaining and monitoring a master schedule showing initiatives that have been approved and reviewing the initiatives on at least a quarterly basis. Key considerations when setting priorities include:

  • Level of effort

  • Dependencies on other SharePoint initiatives in process

  • Infrastructure requirements

  • Third-party product dependency

  • Staff availability

  • Business readiness

  • Training availability

PO2 Define the Information Architecture

Once the initial scope of the business needs has been identified, the information architecture should be defined. The information architecture includes the type of site (including the degree of exposure to the rest of the SharePoint system, as well as security requirements), owners, roles and publishing life-cycle requirements, as shown in figure 12.

PO2.A Identify scope and site types in deployment—Once the scope of initiatives has been defined for the current phase, a site map should be developed that identifies each site and its relationship to the entire farm. The site map is a critical step in defining the functionality and scope of the SharePoint initiative. This effort should be managed by the steering committee. The site map will be consulted regularly as requests for enhancements and changes are made.Governance should be tightly controlled in areas where there is substantial public exposure in terms of readership (whether internal or external) or potential litigation issues. In areas with limited readership or public exposure, governance may be less controlled and allow for a more decentralized empowerment of end users. Farm administrators will generally defer to direction from the business for features and content-related issues. A typical site map is illustrated in figure 13.

Sites are generally classified using two dimensions: exposure and functionality. Exposure is defined as how manyusers can see the site, while functionality includes what can be done with the site. Site exposure (who can see it)dictates many of the requirements.

Sites generally fall into one of the following broad categories:

  • Public landing page—These are pages that anchor entry into SharePoint. All content is generally public and accessible to all users on the site. This means great care must be taken to produce policies and procedures that govern who can post content and how content is posted. Content on this site has the highest need for controls around review and approval prior to publication. An inappropriate content posting at this level will produce the greatest risk to the enterprise and the greatest impact to the business. Each SharePoint farm typically has only one landing page, although there could be many if the farm serves multiple populations (a public Internet site and an intranet site on the same farm, for example). Access to site management and content editing and posting should be extremely limited, and regular auditing and approval of access and content posting are critical.

  • Public product line, location or divisional site—These are pages that are public anchors for product lines, locations or divisions. These are also very public sites and therefore have a very high requirement for control, review and approval of content prior to publication. There are usually many of these per farm.

  • Public departmental, topic or product sites—These are public sites that are focused on specific departments or products. While control is still very important, fewer people will see these pages than either the landing or product line pages. It is likely that many users may make these "favorites" in their browsers so these sites also have a very high need for control, review and approval prior to content publication. There are usually many of these per farm.

  • Private departmental, topic or product private sites—These are sites that have a limited number of named users or workgroups of users who can access the site. Control is less important in these sites since the audience that can see the content is much more limited than the audience for public sites. There is a medium level of control required for these sites.

  • Wikis and blogs (web logs)—SharePoint 2010 includes rich capabilities for sites built around wikis and blogs. The audience for this type of site varies widely from sites targeted at small groups of users to sites that are available to the enterprise as a whole. Conceptually, these sites facilitate bidirectional knowledge sharing and the aggregation of additional information around a particular topic. Active participation using threaded discussions and content submission directly to the site is likely to be easy to do and highly encouraged.

  • Private project sites—These are very private sites, with access limited to a few users working on a specific project or initiative. These are "workbench" areas that are rarely seen by anyone outside the immediate group working within the site. Since access is typically very limited, control is usually relaxed, with light supervision and virtually no need to approve content posting. Nearly everyone with access to these sites should be able to add content as needed.

  • MySites—MySites are usually used for social networking or resource skills inventories. Although there is a temptation to have relaxed controls, these sites should be reviewed regularly and a formal content publishing policy and review cycle are probably worth considering since these sites are readily available to a wide audience. MySites require medium review and secure editing capability.

Author's Mindbite—Content control and Janet Jackson?

The 2004 US football Super Bowl halftime show with Justin Timberlake and Janet Jackson was seen by millions and discussed by even more. This halftime show included Janet's infamous "wardrobe malfunction," which was broadcast live to millions of viewers and caused great debate and 200,000 complaints to the Federal Communcations Commission (FCC). The CBS television network was fined US $550,000 and the MTV television network was banned from ever producing another Super Bowl halftime show. This relates to the amount of control placed on the content posted on the most public sites. The more people who see the site, the greater the exposure to risk and sanctions when inappropriate content—a wardrobe malfunction—is posted.

PO2.B Identify owners—All sites must have at least one owner who can edit and update content and, in some cases, the structure of the site. Site owners should be centrally managed and cataloged for security reasons. A site inventory grid is shown in figure 14.Typical site owners of each type of site include the following:

  • Public landing page—Farm administrators and selected marketing and communications staff

  • Public divisional farm—Selected marketing and divisional staff

  • Public department and topic sites—Selected department staff

  • Private department sites—Selected department staff

  • Private project—Selected project staff

PO2.C Identify roles—Roles are closely aligned with permissions in SharePoint. Users should be associated with roles for each site they can access. Tools should be employed to allow centralized monitoring and maintenance of users and roles by site. Typical roles of users include the following:

  • Farm administrator—Responsible for configuration, administration and maintenance of the farm

  • Site owners—Typically can add or delete any content and layout as well as assign security for a site

  • Contributor—Can usually add, update or delete content but not change the functionality or the layout

  • Reader—Has read-only access to a page or site

A site role grid is shown in figure 15.

Typical permissions can be set at the following levels:

  • Farm

  • Site or page

  • Web Part (list)

  • List item (or file)

This means that files can be excluded or "filtered" at the document level so certain users cannot see them. Permissions are also honored by the search service, such that search returns can be filtered as well. Roles can have permissions set at a very granular level. It is imperative that a tool be employed to manage, set and revoke permissions at the global level from the SharePoint central administration console. A list of recommended tools to automate creating lists of users for each role for each site can be found in appendix B.

PO2.D Develop a process for site requests, approval and creation with auditing, including content types and permissions—A process should be created, and supporting documentation developed, for requesting, approving, and creating or decommissioning sites. The process should also include a description of required content types, required permissions and SharePoint groups required to support the site. The process should start with a request from a user, which should be routed to the proposed site owner. The application should be reviewed, with approval or rejection determined by the steering committee.

SharePoint 2010 delivers new capabilities that should be considered during the site request or modification process:

  • The ability to add data validation rules for properties at the item level and list level. For example, rules can be built that disallow an end date that precedes a start date. Properties can now be specified to be unique as well. These rules should be captured during this activity.

  • Content types are now available at the farm, not just at the site collection level. Content types that are managed at the farm level can be extended at the site collection level by inheriting from the farm-level content type. The use of content types that inherit at the farm level should be encouraged to promote simplified searching and an additional value to the business.

  • Users can now set unique document IDs that follow a document wherever it is stored in SharePoint document libraries. The use of unique IDs should be used to avoid broken hyperlinks if a document is moved.

  • Users can now designate that a file stored in SharePoint is an official file that can be locked and any changes to the file disallowed. This practice should be considered if SharePoint is acting as a system of record for files.

  • SharePoint 2010 can now support up to 50 million items per list. This added capability can have performance consequences related to search capabilities. Any sites with large lists should be carefully planned. Items to include in planning are what properties can be searched upon and how many results are to be returned in the query result set. An additional option is the ability to throttle the system to allow large result sets to be available only during certain time periods of the day. These decisions need to be considered in conjunction with the business and clearly communicated to the user community or the help desk will become flooded with assistance calls, inquiring why the search is not returning expected results.

Not all sites will require approval by the steering committee. Generally, the less controlled the site, the lower the need for formal review and approval. Simple, private team sites will generally not require approval to create or decommission. The creation and tracking of auditing entries showing who approved each process and when it was approved are important for regulators to assess compliance control. These logs should be maintained and reviewed regularly.

Tools are available to automate the request, creation and deletion of sites via a workflow. Sharepoint Designer offers power capabilities to create sites and set permissions. Additional third-party tools to facilitate site creation via a workflow can be found in appendix B. A sample workflow built by Nintex® Workflow 2007 is included in figure 16.


SharePoint in the Cloud (SharePoint Development and Governance Using COBIT 4.1)

Published: June 17, 2010

The following is an excerpt from the book, "SharePoint® Deployment and Governance Using COBIT® 4.1: A Practical Approach," which can be purchased at www.isaca.org book store.

Cloud computing is one of the hottest trends in information technology today. Heavyweights like IBM, Google and Microsoft are early to the game, slugging it out with one another to attract customers and capture a lucrative market characterized by nearly limitless scalability, high availability and a financial model that allows enterprises to categorize cash outlays as an expense rather than a capital expense. The ubiquitous high-speed connectivity, the proven reliability of the Internet and strong financial incentives are forcing organizations to not ask "if" but "when" they will move at least some of their infrastructure and applications to the cloud.

Microsoft is making a "big bet" on the cloud. They have built large data centers and bundled sets of applications optimized for delivery via the cloud. Offerings include familiar office tools such as Excel® and Word® with Windows Live®, SQL Server® with AzureTM, and communication and collaboration tools with BPOS. BPOS is particularly interesting because it contains cloud-based instant messaging, e-mail and calendar functions, web conferencing and SharePoint. BPOS is shaping up to be the next "killer app" from Microsoft.

Microsoft's BPOS is not the only collaboration suite in the cloud. GoogleTM has launched Google Sites and Google Apps along with GmailTM and IBM® has launched LotusLiveTM. The Google and IBM products show promise, but they both are a few generations behind BPOS in terms of capability and market share momentum.A cloud-based or hosted SharePoint deployment presents unique governance challenges. We have faced these challenges first-hand and this chapter will provide guidance, tips, techniques and lessons we have learned on how to govern the full life cycle of the deployment and/or migration to SharePoint in the cloud and realize the maximum benefit for your enterprise.

Why Is SharePoint So Important to Enterprises Considering the Cloud?

Early adopters believed they would realize their biggest benefit by moving e-mail and instant messaging to the cloud. In practice, we have found that organizations are actually realizing their greatest benefits by leveraging SharePoint and similar collaboration tools hosted in the cloud to replace expensive in-house legacy applications or software applications as a service (SAAS) offerings. Leveraging SharePoint along with messaging and e-mail in the cloud offers a significantly higher return than only using the cloud for e-mail and instant messaging.

SharePoint's impact was suspected, but has now been confirmed by our first-hand experience assisting large enterprises in moving thousands of users to BPOS. It is important to note that we are not suggesting that old technology be replaced. We see SharePoint directly replacing state-of-the-art applications for pennies on the dollar. Examples include replacement of in-house business intelligence (KPIs), reporting engines and state-of-the-art hosted customer relationship management (CRM) solutions.

The availability of SharePoint in the cloud represents a point of inflection in technology and strategic differentiation for enterprises. It enables a new wave of innovation for the automation of manual and e-mail-centric processes and replacement of legacy applications without capital outlays to procure additional infrastructure to support these initiatives. We strongly recommend the following to all readers of this book:

Enterprises can realize significant cost savings and strategic advantage when using SharePoint in the cloud. Every organization interested in using SharePoint should examine hosting SharePoint in the cloud and evaluate it as a long-term strategy rather than deploying or maintaining SharePoint in-house.


SharePoint 2010 Governance Planning (white paper)
See Also

Published: July 22, 2010

Microsoft SharePoint Server 2010 provides a large number of capabilities that empower business users. For example, SharePoint Server 2010 enables users to collaborate with one another, tag and rate content, self-publish, and even develop their own solutions. With this amount of power in hand, users (and the organizations they work for) can benefit greatly from having clear guidance. In short, they can benefit from having a Governance Plan.

This white paper focuses on what we call the "front end" of the SharePoint environment - the business aspect of governance - the areas that effect business users. This white paper uses a fictitious company named Contoso to provide guidance for the necessary governance planning and implementation of SharePoint Server 2010.

Download the white paper:

  • SharePoint 2010 Governance Planning (Microsoft Word version) (http://go.microsoft.com/fwlink/p/?LinkId=197150).

  • SharePoint 2010 Governance Planning (PDF version) (http://go.microsoft.com/fwlink/p/?LinkId=197174).

See Also

Other Resources

Resource Center: Governance in SharePoint Server 2010


Implementing Governance in SharePoint 2010 (white paper)
See Also

Published: September 9, 2010

Microsoft SharePoint Server 2010 provides a rich set of capabilities that empower business users. These new capabilities require clear guidance to both underscore their benefits and realize their potential while maintaining a level of consistency and control within an organization.

This document focuses on the "back end" of SharePoint Governance - the technical implementation. It provides high-level guidance about the many configuration options that SharePoint Server 2010 provides to enable you to manage the environment for the benefit of all. For more information about the "front end" of SharePoint Governance - the business aspect, refer to the following whitepaper: SharePoint 2010 Governance Planning (white paper).

Download the white paper:

  • Implementing Governance in SharePoint 2010 (Microsoft Word version)

  • Implementing Governance in SharePoint 2010 (PDF version)

  • Implementing Governance in SharePoint 2010 (XPS version)

See Also

Other Resources

Resource Center: Governance in SharePoint Server 2010
Resource Center: Operations and Manageability for SharePoint Server 2010


Sandboxed solutions planning (SharePoint Server 2010)
See Also

Sandboxed solutions restrict access to network and local resources to provide greater security and stability. You can use sandboxed solutions for load balancing solutions, for solutions that have not been fully tested, and for deploying user solutions in a hosted environment. Sandboxed solutions run in a separate worker thread so that they cannot access resources that belong to other solutions, and they have limited access to local and network resources.

In this section

  • Sandboxed solutions overview (SharePoint Server 2010)

  • Plan sandboxed solutions (SharePoint Server 2010)

See Also

Other Resources

Resource Center: Governance in SharePoint Server 2010


Sandboxed solutions overview (SharePoint Server 2010)
See Also

A Microsoft SharePoint Server 2010 solution is a deployable, reusable package that can contain features, site definitions, and other functionality. Solutions can be enabled or disabled individually. You can deploy a solution directly onto your SharePoint Server farm, or you can deploy the solution into a sandbox. A sandbox is a restricted execution environment that enables programs to access only certain resources, and that keeps problems that occur in the sandbox from affecting the rest of the server environment. Solutions that you deploy into a sandbox, which are known as sandboxed solutions, cannot use certain computer and network resources, and cannot access content outside the site collection they are deployed in. For more information about solutions, see Solutions Overview (http://go.microsoft.com/fwlink/p/?LinkID=156638).

Because sandboxed solutions cannot affect the whole server farm, they do not have to be deployed by a farm administrator. Sandboxed solutions can be deployed by a site collection administrator or, in certain situations, by a user who has the Full Control permission level at the root of the site collection. However, only a farm administrator can configure sandboxed solutions-related settings such as load balancing, tiers, quotas and resource points, and only a farm administrator can promote a sandboxed solution to run directly on the farm, outside the sandboxed environment.

This article introduces the concepts that are related to sandboxed solutions, describes the uses and benefits of sandboxed solutions, explains the differences between sandboxed solutions and solutions that are deployed on the farm, summarizes how sandboxed solutions are deployed, describes the sandboxed solution service, explains resource points and quotas, and describes the tasks associated with administering sandboxed solutions. This article does not contain detailed procedures about how to configure sandboxed solutions or to deploy sandboxed solutions. For information about how to perform specific tasks that are related to sandboxed solutions, see Sandboxed solutions administration (SharePoint Server 2010) and Installing, Uninstalling, and Upgrading Sandboxed Solutions (http://go.microsoft.com/fwlink/p/?LinkId=220252).

In this article:

  • Use and benefits of sandboxed solutions

  • Understanding sandboxed solutions

  • Deploying sandboxed solutions

  • Understanding the sandboxed solutions service

  • Understanding quotas and resource points

  • Administering sandboxed solutions

Use and benefits of sandboxed solutions

There are two common scenarios where it is appropriate to use sandboxed solutions:

  • When an organization wants to run code for employees on a production SharePoint Server site, and that code has not been rigorously reviewed and tested.

  • When a hoster wants to let the owners of hosted SharePoint Server sites upload and run custom code.

The main benefits of using sandboxed solutions are as follows:

  • Sandboxed solutions can be added to a production SharePoint Server environment without the risk of affecting processes outside the sandbox.

  • Site collection administrators can deploy sandboxed solutions. This frees farm administrators from this task.

  • Scalability and flexibility are increased because sandboxes run in a separate process that can be restricted by quotas, and their effect on the farm can be monitored.

  • A solution does not have to be modified or recompiled if it is moved from a sandbox to running directly on the farm.

Understanding sandboxed solutions

Solutions are packaged as .wsp files that can contain features, site definitions, Web Parts, and assemblies. There are two kinds of solutions: farm and sandboxed. Farm solutions are deployed on front-end Web servers by a farm administrator, have full access to the server object model, and are not subject to any usage limits. By comparison, sandboxed solutions can be deployed by a site collection administrator — or by a user who has the Full Control permission level at the root of the site collection — into the solution gallery for a site collection. Sandboxed solutions have limited access to the server object model and run in a security restricted context that provides isolation and monitoring of the sandboxed solution's code. Farm administrators can enable or disable sandboxed solutions and set usage limits to protect servers in the farm from malicious code. For more information about solutions, see Building Blocks: Solutions (http://go.microsoft.com/fwlink/p/?LinkId=220253).

What sandboxed solutions cannot do

A SharePoint Server solution must contain the configuration file that is named manifest.xml, and may also contain additional configuration files and assemblies. If the solution will run in a sandbox, the assembly and configuration files are limited in what they can do.

The following list identifies the most common things that an assembly that will run in a sandbox cannot do:

  • Connect to resources that are not located on the local farm.

  • Access a database.

  • Change the threading model.

  • Call unmanaged code.

  • Write to disk.

  • Access resources in a different site collection.

For more information about what a sandboxed solution can and cannot do, see What Can Be Implemented in a Sandboxed Solution (http://go.microsoft.com/fwlink/p/?LinkId=220254) and Restrictions on Sandboxed Solutions (http://go.microsoft.com/fwlink/p/?LinkId=220255).

Understanding load balancing for sandboxed solutions

SharePoint Server provides two load-balancing schemes that are used to determine which server to run a sandboxed solution on. Farm administrators can select one of the following load-balancing schemes to apply to sandboxed solutions across the farm:

  • Local load balancing The sandboxed solution runs on the same server that received the request.

  • Remote load balancing The server that the sandboxed solution runs on is selected based on solution affinity, and the sandboxed solution is run on a server where it is already loaded and has already been run. This saves time in servicing the request for the solution.

Regardless of which load-balancing scheme that you select, the sandboxed solutions service must be running on each server on which you want to run sandboxed solutions.

Note:

The sandboxed solutions service has different names, depending on where you access the service. In the SharePoint Central Administration Web site, the service is called the Microsoft SharePoint Foundation Sandboxed Code Service. In the Services console on the server, the service is called SharePoint User Code Host service. To avoid confusion, this article refers to the service as the "sandboxed solutions service."

You can increase the isolation of sandboxed solutions by using remote load balancing and by running the sandboxed solutions service only on specific servers. In a production environment, we recommend that you use remote load balancing and dedicate a separate server to running sandboxed solutions. For information about how to decide which load-balancing scheme to use, see Plan to load balance sandboxed solution code in Plan sandboxed solutions (SharePoint Server 2010).

Comparison of sandboxed and farm solutions

The following table compares aspects of solutions that run in a farm to solutions that run in a sandbox.

Aspect | Farm | Sandbox
Deployment process | Add the solution, and then deploy it to the farm. | Upload the solution to a site collection, and then activate it in the site collection.
Who can deploy | Farm administrator. | If the solution contains an assembly, only a site collection administrator can deploy it. If the solution does not contain an assembly, a user who has the Full Control permission level at the root of the site collection can deploy it.
Data access | Unrestricted. | The solution can only access content from the site collection in which it was deployed.
Process the solution runs in | Unrestricted IIS worker process, or whichever process the solution is deployed into. | Separate worker process that has restricted permissions.
Code access security | The solution developer can set the code access security policy when packaging the solution. | Restricted.
Monitoring | Not monitored. | Monitored, and limited by quotas set by the farm administrator.
Load balancing | Varies, based on the kind of solution. | Configurable separately from non-sandboxed solutions.
Solution functionality | Unrestricted. | Restricted, as described in What sandboxed solutions cannot do, earlier in this article.

Although sandboxed solutions are restricted in what code they can and cannot use, and what data that they can and cannot access, you can create a special kind of operation that runs in a full trust process and can be called from a sandboxed solution. This is known as a full-trust proxy. For more information about full-trust proxies, see Sandboxed Solutions in Partnership with Full-Trust Proxies (http://go.microsoft.com/fwlink/p/?LinkId=220256), and Chapter 4: Sandboxed Solutions (http://go.microsoft.com/fwlink/p/?LinkID=219528).

Deploying sandboxed solutions

Any page in a SharePoint Server site can contain components that run in a sandbox in addition to components that run directly on the farm. The components that are deployed to the farm run in the Internet Information Services (IIS) worker process. The components that are deployed to the sandbox run in a sandboxed process.

The following list identifies components that you might deploy in a sandbox:

  • Web Parts

  • Event receivers

  • Feature receivers

  • Custom Microsoft SharePoint Designer workflow activities

  • Microsoft InfoPath business logic

The following steps describe the tasks that are required to prepare for and deploy sandboxed solutions:

  1. A farm administrator performs the following tasks one time only:

    • Enables sandboxed solutions and starts the sandboxed solutions service on each server that will run sandboxed solutions. For information about how to enable the sandboxed solutions service, see Enable sandboxed solutions on the farm (SharePoint Server 2010).

    • Determines which load-balancing scheme to use. The load-balancing scheme applies to all sandboxed solutions in all site collections on the farm. For information about how to select a load-balancing scheme, see Configure load balancing for sandboxed solutions (SharePoint Server 2010).

    • Sets resource quotas that the combination of all sandboxed solutions in a site collection cannot exceed. For information about how to set resource quotas, see Configure resource points for sandboxed solutions (SharePoint Server 2010).

  2. A site collection administrator or a user who has the Full Control permission level at the root of the site collection uploads a solution to the site collection's solution gallery. For information about how to upload a solution to a solution gallery, see Installing, Uninstalling, and Upgrading Sandboxed Solutions (http://go.microsoft.com/fwlink/p/?LinkID=220252).

  3. A site collection administrator activates the solution. If the solution does not contain an assembly, a user who has the Full Control permission level at the root of the site collection can also activate the solution. Validation tools run against the solution. If the solution fails validation, it is not activated. For information about how to validate and activate a sandboxed solution, see Installing, Uninstalling, and Upgrading Sandboxed Solutions (http://go.microsoft.com/fwlink/p/?LinkID=220252).

Site collection administrators can monitor the resources that sandboxed solutions use and can deactivate sandboxed solutions in the site collection. If, after a sandboxed solution is deployed, it starts to use too many resources or causes problems in the sandboxed environment, a farm administrator can block a sandboxed solution from running on the farm. Optionally, a farm administrator can also remove the requirement that a sandboxed solution be run in a sandbox by reinstalling the solution as a farm solution. If the requirement to run in a sandbox is removed, when the solution next runs in any site collection in the farm, it will no longer run in a sandboxed environment. For information about how to block a sandboxed solution, see Block or unblock a sandboxed solution (SharePoint Server 2010). For information about how to install a farm solution, see Deploy solution packages (SharePoint Server 2010).

Understanding the sandboxed solutions service

The sandboxed solutions service manages the execution of sandboxed solutions throughout a farm. Two processes run within the sandboxed solution service: the worker process and the proxy process. Each sandboxed solution runs inside an application domain in the worker process. The worker process manages the sandboxed solutions by throttling the resources accessed by each solution and by stopping processes that take too long to execute. Each worker process is paired with a proxy process that handles calls to the SharePoint object model. For a detailed explanation of how the sandboxed solutions service works, see "How Does the Sandbox Execution Model Work?" in Sandboxed Solutions (http://go.microsoft.com/fwlink/p/?LinkId=220257).

Understanding tiers

Based on the average number of resources per request that sandboxed solutions use, they can be grouped into tiers within the sandboxed solutions service. As shown in the following illustration, a tier in the sandboxed solutions service contains one or more worker processes in which sandboxed solutions run. Each sandboxed solution runs in its own application domain, which is reused when the solution is invoked.

Tiers in the sandboxed solutions service

By default, all sandboxed solutions run in the sandboxed solutions service in one tier, which contains a single worker process. By default, that worker process can run up to 10 application domains. A farm administrator can configure additional tiers and worker processes within the sandboxed solutions service to separate sandboxed solutions for performance, security, and reliability. If a sandboxed solution in a particular worker process uses too many resources, that solution causes all the sandboxed solutions within that worker process to stop. Because sandboxed solutions are monitored for how much resources they use, they are automatically separated into additional tiers based on their resource usage from the previous day. Therefore, creating additional worker processes and tiers helps isolate sandboxed solutions and protects well-behaved solutions from poorly behaved solutions by forcing the poorly behaved solutions to run in different tiers.

Farm administrators can set the following properties for each tier:

  • ResourceMaxValue This property is a number that determines which sandboxed solutions will run in the tier. The default is 0, and it must be set to a larger value or the tier is never used.

  • MaximumWorkerProcesses This property represents the maximum number of worker processes that can run in the tier. The default is 1. Setting this property to more than 1 will cause an additional worker process to be created on the server that is handling the request.

  • MaximumAppDomainsPerProcess This property represents the maximum number of app domains that can run in a worker process in the tier. The default is 10.

  • MaximumConnectionsPerProcess This property represents the maximum number of allowed connections from the sandboxed solutions service to a worker process in the tier. The default is 1.

  • PriorityPerProcess This property represents the priority that the operating system has assigned to the worker processes in the tier.

For more information about tiers, see Using Execution Tiers to Protect Well-Behavied Sandboxed Solutions (http://go.microsoft.com/fwlink/p/?LinkId=220258) and Sandbox Tiers (http://go.microsoft.com/fwlink/p/?LinkId=217145). For information about how to configure tiers, see Configure sandboxed solutions service tiers (SharePoint Server 2010).

Understanding quotas and resource points

Sandboxed solutions are monitored for resource usage based on default quotas, which are monitored per site collection. When you set quotas for your site collections, you help prevent any sandboxed solution from using too many system resources. If one or more sandboxed solutions exceeds the quota that was set for the site collection, all sandboxed solutions in that site collection will automatically be stopped until the Solution Daily Resource Usage Update timer job runs, which typically occurs each night.

Quotas are managed through the SharePoint Central Administration Web site as a single number that controls the aggregate total of the resource points allowed per day for all sandboxed solutions in a site collection. Farm administrators can create a quota template that can be applied to any site collection in the farm. For information about how to plan quotas, see Plan quota management (SharePoint Server 2010). For information about how to create quota templates, see Create, edit, and delete quota templates (SharePoint Server 2010). For information about how to set the maximum resource quota for a specific site collection, see Change the storage limits for a site collection in Manage site collection storage limits (SharePoint Server 2010).

To restrict the resources that your sandboxed solutions consume, you define resource points. Resource points correspond to specific levels of resource usage that you can define for up to 15 resource measures (that is, system resources that you want to monitor), and are accrued for the whole site collection as sandboxed solutions run. When you view the resource measures inside a quota, you see the number of resources per point; these are the number of times that a particular resource can be used until a single resource point is accrued. For each resource measure, farm administrators can configure the following properties:

  • MinimumThreshold The minimum level of resource usage that must be reached before it is aggregated into the running total for the site collection quota.

  • AbosoluteLimit The maximum level of resource usage within a single request that can occur before the worker process is stopped.

  • ResourcesPerPoint The quantity or level of a specific resource that equals one resource point and is counted toward the total quota for the site collection.

When the resource usage reaches the limit specified by the ResourcesPerPoint property, the site collection accrues a resource point. If the cumulative number of resource points exceeds the quota for a site collection, all sandboxed solutions in the site collection will be disabled for the rest of the day.

The default resource point limits will probably be satisfactory for most scenarios. However, you can adjust individual resource point limits to allow increased limits where they are suitable. For more information about how to adjust individual resource point limits, see Configure resource points for sandboxed solutions (SharePoint Server 2010).

Farm administrators can fine-tune the resource point distribution by using Windows PowerShell in a script to configure the individual resource point distribution within the sandboxed solution quota for a site collection. For a list of the individual resource measures and the minimum threshold, absolute limit, and resources per point for each resource measure, see Resource Usage Limits on Sandboxed Solutions in SharePoint 2010(http://go.microsoft.com/fwlink/p/?LinkId=217149). For information about how to configure the settings for specific resource measures, see Configure resource points for sandboxed solutions (SharePoint Server 2010).

Note:

If you determine that a sandboxed solution is consistently misusing server resources, you can block that solution until the developer can correct the situation. For more information about how to block and unblock sandboxed solutions, see Block or unblock a sandboxed solution (SharePoint Server 2010).

Administering sandboxed solutions

As a farm administrator, you can do the following to administer sandboxed solutions and the sandboxed solutions service:

  • Enable the sandboxed solutions service on servers in the farm.

  • Change the load-balancing scheme for a farm.

  • Block or unblock a sandboxed solution on a farm.

  • Configure quotas for site collections on a farm.

  • Configure quota templates on a farm.

  • Use Windows PowerShell to do the following:

    • Display the quota settings for a site collection.

    • Display and configure resource points for specific resource measures.

    • Display and configure tiers for the sandboxed solutions service.

For more information about how to administer sandboxed solutions and the sandboxed solutions service, see Sandboxed solutions administration (SharePoint Server 2010).

Site collection administrators can do the following to administer sandboxed solutions:

  • Upload sandboxed solutions to the Solutions gallery in a site collection. For more information, see Installing, Uninstalling, and Upgrading Sandboxed Solutions in SharePoint 2010 (http://go.microsoft.com/fwlink/p/?LinkId=220252).

  • Monitor the resource points used by individual sandboxed solutions. For more information, see "Using Site Collection Tools" in Chapter 4: Sandboxed Solutions (http://go.microsoft.com/fwlink/p/?LinkID=219528).

See Also

Concepts

Sandboxed solutions planning (SharePoint Server 2010)
Sandboxed solutions administration (SharePoint Server 2010)

Other Resources

Sandboxed Solutions Resource Center
Sandboxed solutions architecture (http://go.microsoft.com/fwlink/p/?LinkId=177368)
Sandboxed Solutions in SharePoint 2010
Installing, Uninstalling, and Upgrading Sandboxed Solutions in SharePoint 2010
Resource Center: What's New in Microsoft SharePoint Server 2010


Plan sandboxed solutions (SharePoint Server 2010)
See Also

Sandboxed solutions in Microsoft SharePoint Server 2010 restrict access to network and local resources to provide greater security and stability. You can use sandboxed solutions for load balancing solutions, for solutions that have not been fully tested, and to deploy user solutions in a hosted environment. Sandboxed solutions run in a separate worker process so that they cannot access resources that belong to other solutions, and they have limited access to local and network resources.

When you plan sandboxed solutions, decide first whether to use sandboxed solutions at all. You should determine whether your primary consideration is performance or security. A farm that uses sandboxed solutions generates more worker and proxy processes than a farm that does not use sandboxed solutions. Using sandboxed solutions provides more process isolation, which improves the security of your farm.

For more information about sandboxed solutions, see Sandboxed solutions overview (SharePoint Server 2010) and Sandboxed Solutions (http://go.microsoft.com/fwlink/p/?LinkId=220257).

In this article:

  • Determine when to use sandboxed solutions

  • Plan to load balance sandboxed solution code

  • Determine where to deploy sandboxed solutions

  • Determine who can deploy sandboxed solutions

  • Determine which site collections will run sandboxed solutions by using quotas

  • Plan resource usage quotas for sandboxed solutions

  • Plan sandboxed solutions service tiers

  • Plan sandboxed solutions governance

Determine when to use sandboxed solutions

Using sandboxed solutions is appropriate in scenarios where you want to load balance solutions across multiple servers, or where you want to provide the ability to run code that has not been fully tested or that your organization does not support. Sandboxed solutions can play a valuable part of a scaled deployment path for developers in your organization, from their test environment to a sandboxed solution in the production environment. Sandboxed solutions can later be changed to full trust status by a farm administrator when the solution is shown to be safe for full deployment.

It is especially appropriate to use sandboxed solutions in the following scenarios:

  • When you want to load balance solutions between multiple SharePoint Server servers.

  • When an organization wants to run code for employees on a production SharePoint Server site, and that code has not been rigorously code-reviewed and tested.

  • When an Internet hosting provider wants to let the owners of hosted SharePoint Server sites upload and run custom code.

When you use sandboxed solutions, you must start the sandboxed solutions service on each server on which you want to run the sandboxed solutions.

Plan to load balance sandboxed solution code

You can select one of two load balancing schemes for sandboxed solutions. Based on the load balancing scheme, Microsoft SharePoint Server 2010 determines which server to run the solution on. In local load balancing, the solution runs on the same server that received the request. If you select remote load balancing, the server that the solution runs on is selected based on solution affinity, and the sandboxed solution is run on a server where it is already loaded and has already been run. This saves time in servicing the request for the solution. In both cases, each server that will host sandboxed solutions must be running the sandboxed solutions service.

Your load balancing choice determines the model that is used by the whole SharePoint Server farm. You cannot use a mixture of local and remote load balancing, but instead you must decide to implement one or the other. When you are deciding which mode to implement consider the following:

  • Local mode requires less administration, but its scalability is limited by the resources of the local server.

  • Remote mode is more scalable than local mode. However, it requires administrative tasks to be performed on more servers.

You obtain better performance by using the remote load balancing model in a SharePoint Server farm where there are multiple servers on which to run sandboxed solutions. If you are using sandboxed solutions as part of a development process, and you want to keep them restricted to the server from which they are called, use the local mode load balancing.

For more information, see Sandboxed solutions overview (SharePoint Server 2010).

Determine where to deploy sandboxed solutions

Sandboxed solutions are deployed at the root of a site collection. Anyone who is a site collection administrator can deploy a sandboxed solution. When it is deployed in a site collection, the sandboxed solution can be used anywhere in that site collection.

You can decide to run sandboxed solutions only on certain servers in your SharePoint Server farm or on all servers. To enable sandboxed solutions on a server, you must enable the sandboxed solutions service. This service must be enabled on every server on which you want to run sandboxed solutions.

Determine who can deploy sandboxed solutions

When you plan for the user roles that are involved in deploying sandboxed solutions, you must determine who will be authorized to deploy the solutions and who will be authorized to administer the solutions. Members of the site collection administrators group can deploy sandboxed solutions.

You must be a member of the farm administrators group to perform administrative tasks such as enabling or disabling the sandboxed solutions service, blocking or unblocking a solution, and adjusting or resetting quotas and quota templates.

Note:

It is not enough to be a site collection owner: To deploy and activate a sandboxed solution, you must be a site collection administrator for the site collection where you are deploying the sandboxed solution.

Because farm administrators can change sandboxed solutions to fully trusted solutions that can be deployed anywhere on the farm, you should make sure that you limit the membership of the farm administrators group to appropriate users. The same consideration applies to adding users to the site collection administrators group if there is any concern over the security of the sandboxed solutions that are being deployed.

Determine which site collections will run sandboxed solutions by using quotas

Sandboxed solutions can be enabled or disabled on specific site collections by adjusting their quotas. If you set the quota for sandboxed solutions to 0 on a specific site collection, sandboxed solutions will not run on that site collection. In this manner you can fine-tune the use of sandboxed solutions in your farm.

To plan where you want to deploy sandboxed solutions, you should consider the following:

  • Which servers will run the sandboxed solutions service.

  • Which site collections will be able to run sandboxed solutions.

If you enable sandboxed solutions on some site collections, you should disable them on the remaining site collections by setting the quotas on those site collections to 0.

Plan resource usage quotas for sandboxed solutions

Sandboxed solutions are monitored for resource usage based on default quotas, which are monitored per site collection. If a sandboxed solution exceeds the cumulative total of the resource points, all sandboxed solutions in that site collection are disabled for the rest of the day. This helps administrators know when a particular sandboxed solution is making too many demands on shared resources or —in some cases — when a site collection that contains a resource-intensive sandboxed solution requires an increased quota.

Resource points are accrued for a whole site collection as sandboxed solutions run. When you view the resource measures in a quota you see the number of resources per point; these are the number of times that a particular resource can be used until a single resource point is accrued. When the resource usage reaches the limit that is specified by the ResourcePerPoint property, the site collection accrues a resource point. If the cumulative number of resource points exceeds the quota for a site collection, all sandboxed solutions in the site collection will be disabled for the rest of the day.

The default resource point limits are satisfactory for most scenarios. However, you can adjust individual resource point limits to permit increased limits where they are suitable. For more information about how to adjust individual resource point limits, see Configure resource points for sandboxed solutions (SharePoint Server 2010).

When you plan quotas for sandboxed solution, you should consider the following questions:

  • Will you adjust resources per point for any of the resource measure categories?

    You can define the resource limits for all sandboxed solutions. In some scenarios it might make sense to limit a particular resource that is more sensitive to misuse or over-consumption of resources, such as CPU cycles on a server where the processor is already taxed. You can adjust resource limits to restrict sandboxed solutions that might overuse resources. You should examine the list of resources that are monitored by the sandboxed solutions quotas and determine whether you have to make adjustments.

  • Will you adjust absolute limits for any of the resource categories?

    An absolute limit is the highest or lowest limit that a resource usage per request can reach before the request is stopped. If a particular resource category is overused and reaches the absolute limit, the sandboxed solution will be stopped. You should evaluate the resource categories to determine whether any of them require adjustment to an increased or lower absolute limit.

For a list of the individual resource measures and the minimum threshold, absolute limit, and resources per point for each resource, see Resource Usage Limits on Sandboxed Solutions in SharePoint 2010 (http://go.microsoft.com/fwlink/p/?LinkId=217149). For information about how to configure the absolute limit and the resources per point for specific resource measures, see Configure resource points for sandboxed solutions (SharePoint Server 2010).

Plan sandboxed solutions service tiers

Based on the average number of resources that sandboxed solutions use, they can be grouped into tiers in the sandboxed solutions service. A tier in the sandboxed solutions service contains one or more worker processes in which sandboxed solutions run. Each sandboxed solution runs in its own application domain, which is reused when the solution is invoked. By default, all solutions run in the sandboxed solutions service in one tier. You can configure additional tiers and worker processes within the sandboxed solutions service to separate solutions for performance, security, and reliability. Sandboxed solutions automatically separate into additional tiers based on their resource usage. For more information about tiers, see Sandboxed solutions overview (SharePoint Server 2010) and Sandbox Tiers (http://go.microsoft.com/fwlink/p/?LinkId=217145).

You can configure as many tiers as necessary, and as many worker processes, connections, and application domains as you want. However, creating too many tiers adversely affects the performance of your SharePoint Server server. When you plan to configure the sandboxed solutions service, you should consider the following questions:

  • How many tiers are you going to create?

    Configuring multiple tiers enables you to separate "well-behaved" sandboxed solutions from "poorly behaved" sandboxed solutions, which frequently crash or use lots of resources. By running sandboxed solutions in separate tiers, you reduce the effect that poorly behaved sandboxed solutions have on well-behaved sandboxed solutions. This helps make the system more stable and responsive. In general, you should not have to have more than two or three tiers to achieve separation of sandboxed solutions.

  • For each tier, how many worker processes are you going to set?

    The largest number of sandboxed solutions that run at the same time in a particular tier can be calculated by using the following formula:

    Number of work processes in the tier × maximum connections per process = largest number of concurrently running sandboxed solutions in a single tier

    By configuring tiers to run more worker processes, you can run more sandboxed solutions concurrently in the farm. Adding more worker processes can increase throughput on a given server, but only up to a certain point. Because the overhead of additional worker processes can reduce the overall throughput of a server, you should configure fewer than 20 worker processes across all tiers on a single server.

  • How many connections per process must you have?

    The maximum number of connections per process should always be less than or equal to the number of application domains per process. If two sandboxed solutions are running in the same process at the same time and one of them crashes, the other will also crash. The larger the number of maximum connections per process, the larger the number of sandboxed solutions that can run in the same process at the same time, which makes it more likely that a sandboxed solution that crashes will affect other running requests. It is typically better to have smaller numbers of connections per process in tiers in which the ResourceMaxValue property is higher, where the sandboxed solutions are typically less reliable. More reliable sandboxed solutions run in tiers where the ResourceMaxValue property is lower. In general, you should increase the number of connections per process to increase throughput, which will reduce the effect caused by other sandboxed solutions that might crash in the same process.

  • How many application domains per process must you have?

    Only one sandboxed solution can run in each application domain at any time. Therefore, application domains represent the number of sandboxed solutions that can be loaded at the same time. You should plan to configure at least as many application domains as the number of connections per process.

For information about how to configure the tiers, see Configure sandboxed solutions service tiers (SharePoint Server 2010).

Plan sandboxed solutions governance

As long as you are still planning for sandboxed solutions, you should consider your processes for governance issues. This includes the following:

  • At what point will the farm administrator block or unblock a sandboxed solution? Identifying the administrative policy for blocking and unblocking sandboxed solutions can help eliminate confusion.

  • At what point will you transfer a sandboxed solution to the global catalog as a full trust solution? This decision applies to solution code that is developed by your organization's developers. You should establish a policy for determining what level of testing is required for a sandboxed solution to be considered ready for production use in your organization.

  • When you plan for who can deploy sandboxed solutions, will you decide to add people to the site collection administrators group or establish a procedure for a limited number of site collection administrators to deploy sandboxed solutions on behalf of their users? Depending on the security concerns in your organization, you can decide to add people directly to the site collection administrators group instead of requiring them to ask permission to deploy the sandboxed solution.

See Also

Concepts

Sandboxed solutions overview (SharePoint Server 2010)
Sandboxed solutions administration (SharePoint Server 2010)

Other Resources

Sandboxed Solutions Resource Center
Sandboxed solutions architecture (http://go.microsoft.com/fwlink/p/?LinkId=177368)
Sandboxed Solutions in SharePoint 2010
Installing, Uninstalling, and Upgrading Sandboxed Solutions in SharePoint 2010


Plan for social computing and collaboration (SharePoint Server 2010)
See Also

Microsoft SharePoint Server 2010 implements features that make enterprise social computing and collaboration easier. Social networking tools such as My Sites and social content technologies such as blogs, wikis, and really simple syndication (RSS), are examples of social computing features. These features enable users to easily capture and share the knowledge and expertise that is needed to do their work. This sharing of information encourages collaboration, improves innovation, and targets relevant content to the people who have to see it. You can adapt content to each user while enabling administrators to set policies to protect privacy.

The social computing and collaboration features in SharePoint Server 2010 are built upon a database of properties that integrates information about people from many kinds of business applications and directory services.

Good understanding and planning of social computing and collaboration features is very important for creating effective Microsoft SharePoint Server solutions.

In this section:

  • User Profile service overview

  • Plan user profiles

  • Profile synchronization overview

  • Plan for profile synchronization

  • Plan My Sites overview

  • Plan for My Sites

  • Plan for audiences and content targeting

  • Social tagging overview

  • Privacy and security implications of social tagging

  • Enterprise Wikis overview

  • Enterprise Wiki planning

  • Collaboration site planning

User Profile service overview

The User Profile service is a service application in SharePoint Server that can be consumed across multiple sites and farms. The User Profile service provides a central location for configuring and managing the following personalization settings:

  • User profile properties

  • Audiences

  • Profile synchronization settings

  • Organization browsing and management settings

  • My Site settings

For more information, see User Profile service application overview (SharePoint Server 2010).

Plan user profiles

The User Profile service integrates user information from various sources into user profiles that are the basis for powerful personalization features. In addition to planning connections to the User Profile service, planning for people and user profiles includes profile synchronization and planning group policies. You can also use profiles to turn off a feature. For example, profiles can help you prevent information about colleagues from appearing automatically in the colleagues section of profile pages.

For more information, see Plan user profiles (SharePoint Server 2010).

Profile synchronization overview

Profile synchronization in SharePoint Server 2010 deals with the following concepts:

  • Synchronization connections

  • Property mappings

  • Exclusion filters

  • Full and incremental synchronization

For more information, see Profile synchronization overview (SharePoint Server 2010).

Plan for profile synchronization

If you plan to use social computing features, such as My Sites or People Search, in Microsoft SharePoint Server 2010, you will likely want to integrate profile information that you have stored in a directory service such as Active Directory Domain Service (AD DS) or a business system, such as SAP or Siebel, with SharePoint Server 2010. By using profile synchronization in SharePoint Server 2010, you can do exactly that.

For more information, see Plan for profile synchronization (SharePoint Server 2010).

Plan for audiences and content targeting

Use audiences to group the users in an organization so that you can target information to relevant users. From the Manage Audiences page for the User Profile service in SharePoint Server, you can create and manage audiences and use them to target content in all of the site collections that use that shared service. You can also use SharePoint groups to target content to specific Web parts.

For more information, see Audience and content targeting planning (SharePoint Server 2010).

Plan My Sites overview

My Sites are special SharePoint sites that contain profile information about a user, links to content created by a user and stored in SharePoint databases, and information about the people, interests, and activities a user is tracking. My Sites have three distinct views:

  • A My Networks page that shows the people, interests, and activities that a user is tracking.

  • A My Content page that lists shared and personal documents, shared pictures, and libraries, lists, discussion boards, and surveys that a user owns.

  • A My Profile page that shows personal profile information.

For more information, see My Sites overview (SharePoint Server 2010).

Plan for My Sites

To effectively plan for My Sites, you must determine the following:

  • A logical architecture design to deploy My Sites in a server farm

  • Users who you want to have a My Sites and the appropriate permissions for those users

  • The user profile information that you want to synchronize with directory services or business systems

  • The My Site features that you want to enable

  • The policies that will be applied for viewing user profile information in the public profile

For more information, see Plan for My Sites (SharePoint Server 2010).

Social tagging overview

Social tagging helps users categorize information in ways that are meaningful to them. Social tagging can improve the quality of search results by filtering against specific tags, and it can also connect individuals who want to share information with other users who have like interests.

For more information, see Social tagging overview (SharePoint Server 2010).

Privacy and security implications of social tagging

Social tagging is a subset of a more comprehensive social media strategy that an enterprise can develop. Microsoft SharePoint Server 2010 includes the following social tagging features:

  • Social tags, which allow users to save items of interest, organize all information for a project, and connect to others who share their interests.

  • The Note Board, which allows comments to be tracked in a central location.

  • Ratings, which allow users to assess the value of content against a scale, for example, one through five stars.

  • Bookmarklets, which enable users to add tags and notes to pages that are outside of the SharePoint environment, for example, Web sites that are external to an enterprise, and then have those tags and notes appear on the Tags and Notes tab of their My Site.

This article contains information to help you plan for using the social tagging features of SharePoint Server 2010 in your enterprise, and includes key steps to follow in the planning process.

For more information, see Privacy and security implications of social tagging (SharePoint Server 2010).

Enterprise Wikis overview

An Enterprise Wiki is a publishing site for sharing and updating large volumes of information across an enterprise. If an organization needs a large, centralized knowledge repository that is designed to both store and share information on an enterprise-wide scale, consider using an Enterprise Wiki.

For more information, see Enterprise Wikis overview (SharePoint Server 2010).

Enterprise Wiki planning

An Enterprise Wiki is a large-scale knowledge repository designed to both store and share information in an enterprise. You can use an Enterprise Wiki to share and update information on a larger scale than a wiki, library, or team site. Planning for an Enterprise Wiki includes the things to consider when you are determining if an Enterprise Wiki is the best solution for your organization, the preparation steps for setting up an Enterprise Wiki, and planning access to the Enterprise Wiki.

For more information, see Enterprise wiki planning (SharePoint Server 2010).

Collaboration site planning

Collaboration sites are SharePoint sites that teams or groups of users can use to share information or collaborate on projects. You can associate these sites with a particular portal site collection or make them part of a publishing site collection. Collaboration sites can also be stand-alone sites. Planning for collaboration sites explains how to define specific and additional paths, and how to determine the number of collaboration sites that are needed in your organization.

For more information, see Collaboration site planning (SharePoint Server 2010).

See Also

Concepts

Plan managed metadata (SharePoint Server 2010)
Security and permissions (SharePoint Server 2010)
User Profile Service administration (SharePoint Server 2010)


User Profile service application overview (SharePoint Server 2010)
See Also

The User Profile service application stores information about users in a central location. Social computing features use this information to facilitate productive interactions which enable users to collaborate efficiently. In order to provision My Sites, enable social computing features such as social tagging and newsfeeds, and create and distribute profiles across multiple sites and farms, you must enable the User Profile service application.

In this article:

  • Uses and benefits of the User Profile service application

  • Architecture

  • Related service applications

Uses and benefits of the User Profile service application

The User Profile service application in Microsoft SharePoint Server 2010 provides a central location where service administrators configure and manage the following features:

  • User profiles - contain detailed information about individuals in an organization. A user profile organizes and displays all of the properties related to each user together with social tags, documents and other items related to that user.

  • Organization profiles - contain detailed information about an organization such as teams, divisions, and so on.

  • Profile synchronization - provides a reliable way to synchronize groups and user profile information that is stored in the SharePoint Server 2010 profile store with information that is stored in directory services across the enterprise.

  • Audiences - enables organizations to target content to users based on their job or task, as defined by their membership in a SharePoint Server group or distribution list, by the organizational reporting structure, or by the public properties in their user profiles.

  • My Site Host - a dedicated site for hosting My Sites. A My Site Host is needed in order to deploy the social features of SharePoint Server.

  • My Site - a personal site that gives users in your organization a central location to manage and store documents, links, and colleagues.

  • Social tags and notes - enables users to add social tags to documents, to other SharePoint Server items, and to other items, such as external Web pages and blog posts. Users can also leave impromptu notes on profile pages of a My Site or any SharePoint Server page. Administrators can delete all tags for employees when they leave the company or remove a tag they do not want.

These features make it possible for users in an organization to share information and to stay informed about what is happening within the organization. Social tags, for example, enable users to tag and track the information they are most interested in. Users can be alerted when people they work with author new blog posts or when there is a change in organizational metadata.

Like other service applications in SharePoint Server 2010, farm administrators can delegate the management of all or part of the User Profile service application to one or more service application administrators. This enables the User Profile service application to be managed by the appropriate business group. One administrator can manage all areas of the User Profile service application or areas can be isolated and managed by different administrators who might not need to know about the existence of other areas of the service application. For example, one administrator can manage My Sites while a different administrator manages social tags and notes. The User Profile service application can be restricted and available only to certain departments or sets of sites based on business need, security restrictions, and budgets. For more information, see Assign or remove administrators to a service application (SharePoint Server 2010) and Logical architecture components (SharePoint Server 2010).

Architecture

When you create a User Profile service application, SharePoint Server creates three databases for storing user profile information and associated data:

  • Profile database - used to store user profile information.

  • Synchronization database - used to store configuration and staging information for synchronizing profile data from external sources such as the Active Directory Domain Services (AD DS).

  • Social tagging database - used to store social tags and notes created by users. Each social tag and note is associated with a profile ID.

Each of these databases can be accessed by My Sites, Team Sites, and other SharePoint sites by using the User Profile service application. This provides a dynamic, personalized experience for the users in an organization. For more information about these databases, see Databases used by SharePoint 2010 Products.

Note:

Microsoft recommends that you install the June 2011 cumulative update refresh or later. Without this update, the User Profile service application databases cannot be restored. For more information about updates, see the Updates for SharePoint 2010 Products resource center (http://go.microsoft.com/fwlink/p/?LinkID=220218).

Related service applications

The User Profile service application relies on other service applications to implement the full range of social computing features in SharePoint Server. These related service applications include the following:

  • Managed Metadata Service - makes it possible to use managed metadata and share content types across site collections and Web applications. For more information, see Managed metadata service application overview (SharePoint Server 2010)

  • Search Service application - needed to enable the People Search feature. For more information, see Plan people search (SharePoint Server 2010).

  • Business Connectivity Services - makes it possible to populate the properties of existing user profiles from a business system during profile synchronization. For more information, see Profile synchronization overview (SharePoint Server 2010) and Business Connectivity Services overview (SharePoint Server 2010).

See Also

Concepts

Plan for social computing and collaboration (SharePoint Server 2010)
User Profile Service administration (SharePoint Server 2010)

Other Resources

Resource Center: Architecture Design for SharePoint Server 2010
Resource Center: What's New in Microsoft SharePoint Server 2010
Resource Center: Social Computing in SharePoint Server 2010


Plan user profiles (SharePoint Server 2010)
See Also

This article describes the Microsoft SharePoint Server 2010 user profiles feature and gives guidance on planning user profiles.

In this article:

  • What are user profiles?

  • About user profile properties

  • About property policies

  • Planning user profiles

Note:

Profile synchronization is the process of synchronizing data from directory services and business systems with user profiles. Along with understanding the concepts and activities described in this article, you should read the related article Profile synchronization overview (SharePoint Server 2010).

What are user profiles?

A user profile is a collection of properties that describes a single user, along with the policies and other settings associated with each property. The user that a profile describes is represented by a unique identifier in the profile, and the remaining properties provide information about that user, such as the user's phone numbers, manager, office number, job title, and so forth. The set of user profiles for a SharePoint deployment are stored in the profiles database associated with a User Profile Service application.

User profiles help identify connections between users in an enterprise, such as their common managers, workgroups, group membership, and common Web sites. They can also contain critical information about a user, such as the products the user works on, the user's interests or areas of expertise, and the user's place in the organization's structure. By exposing this information in features such as My Sites, user profiles provide the basis for enterprise social networking in SharePoint Server. Some of the enterprise social networking features that user profiles support are:

  • My Sites

  • Profile pages

  • People searching

  • Organizational charts

  • Expertise search

  • Social tagging

  • Audiences

As shown in the following illustration, user profiles can be composed of properties that are imported from a directory service, imported from business systems, and supplied by users.

Composition of SharePoint Server user profiles

For example, a directory service could supply essential information needed across the organization, such as users' account names, work telephone numbers, titles, and work e-mail addresses. Business systems could supply business-related critical information, such as the customer accounts or product lines managed by each team member. Users could supply supplemental information about themselves, such as their areas of expertise or hobbies.

New user profiles are created in the following ways:

  • If an authenticated user does not have a user profile, a new one is created using properties taken from the appropriate directory service when that user initially accesses his or her My Site.

  • One or more new user profiles can be created using profile synchronization. For details, see Plan for profile synchronization (SharePoint Server 2010).

  • A custom solution can be developed to create user profiles. For more information, see How to: Create User Profiles and Organization Profiles.

Note:

User profiles are distinct from SharePoint Server user accounts and exist in their own data store. User accounts provide security and access rights to objects in SharePoint Server. User profiles are used to organize information about users and about the relationships among users. Updating a user's profile has no effect on that user's user account.

About user profile properties

A user profile is composed of a set of user properties. Each user property provides an item of information related to a user. User property values can come from directory services, business systems, or user input. You can configure some properties so that they can be exported to a directory service. Many of the decisions you make in planning user profiles are about which user properties to include and how their values are set.

A rich set of data types is available for user properties. For a list of the supported data types and their definitions, see PropertyDataType Fields.

User profiles include a set of default user profile properties. Many of these properties are included because they are used by SharePoint Server social networking or personalization features, and a subset of the properties are mapped automatically to their corresponding directory service attributes after you run profile synchronization. For a list of default user properties, see Default user profile properties (SharePoint Server 2010).

SharePoint Server includes a managed metadata feature. Managed metadata is a hierarchical collection of centrally managed terms that you can define and then use as attributes for items in SharePoint Server. A set of managed terms is a term set. You can associate a term set with an editable user profile property. By doing this, you can govern the values associated with that property and make it easier for users to enter appropriate values for it. For example, by associating a term set that defines the job titles in an enterprise, you can help promote consistent use of those titles in user profiles. For information on planning managed metadata, see Plan managed metadata (SharePoint Server 2010).

About property policies

As described above, user profiles are used in many SharePoint Server 2010 social networking features. You can set policies on each user property in a user profile to help govern how the information in that property can be used. You can specify:

  • Whether or not a property is included in user profiles

  • Whether or not it is required

  • Whether or not users can change the default privacy setting of a property

  • Who the property is visible to, based on their role in the organization

The following table describes each policy setting option.

Policy setting option Description

Enabled or Disabled

You can configure a property to be available for use in features that incorporate it, or you can disable the use of that property.

Required

You can specify that a property must contain information.

Optional

You can specify that a property is not required to have a value. Each user can provide values for the property or leave the property empty.

Default privacy setting

This determines who can see information for a property, as follows:

  • Everyone: Every user who has viewer or higher permissions to a site can see the relevant information.

    Note:

    Only properties that have a privacy setting of Everyone will be used by search.

  • My colleagues: Every user in the user's My Colleagues list can see the information for this user.

  • My team: Every colleague in the user's immediate team, a subset of the My Colleagues list, can see the information.

  • My manager: Only the user and the user's immediate manager can see the information.

  • Only Me: Only the user can see the information.

Note:

User Profile service administrators can always view the information in a user profile regardless of its default privacy setting.

Users Can Override

When this option is selected, users can change the property's default privacy setting. When this option is not selected, only administrators of the User Profile Service can change default privacy settings.

Replicable

The property's value will be replicated to user information lists in other sites when its value changes. For a property to be replicable, its default privacy setting must be set to Everyone and the User can override policy must not be selected.

Along with setting policies on each user profile property, you can set similar policies on some SharePoint Server features that provide profile-related information in lists, Web parts, or Web sites. The personalization feature settings that you can set policies on include:

  • The display of SharePoint site memberships

  • The display of distribution list memberships

  • The display of colleagues on My Sites

  • Auto-population of colleagues based on organizational hierarchy

  • The display of colleague recommendations

  • The display of links on My Sites

  • Other sites pinned to My Sites

For example, if the display of distribution list memberships is enabled with a privacy setting of "My Team," then only members of a user's team will be able to view which distribution lists that user belongs to.

The following considerations can help you determine which policies are appropriate for your organization:

  • Which properties should be required? Some properties are required by default and can be configured so that they cannot be overridden or changed by users. In most organizations, these properties are key ways to enable collaboration and develop relationships across the organization. SharePoint Server 2010 also uses many of them to enable other features, such as colleagues and audiences. For more information, see Audience and content targeting planning (SharePoint Server 2010) and Default user profile properties (SharePoint Server 2010).

  • Which properties should be visible to everyone? By default, most properties are visible to everyone, but sensitive information can be configured to have limited visibility. For example, a company that has many employees in the field might decide that mobile phone information is important for everyone to see. Other organizations might choose to keep all non-work telephone numbers private.

  • Which properties policies can be changed by users? Some property policies have settings that can be changed by users. For example, some users might not want automatic population of colleague lists. Other users might want to change the default visibility setting for a property.

When planning the policy setting for a property or personalization feature, consider the factors shown in the following table.

Condition Disable the property Make the property optional Make the property required

The property is used by key user features.

X

The property is associated with key business data for applications in the Microsoft Business Connectivity Services.

X

The property is used when you create audiences.

X

User Profile Service administrators expect consistent and meaningful values for the property.

X

The property will rarely be used.

X

The property will distract from more important properties.

Note:

You can change the display settings for properties to hide them.

X

You decide to provide default values for properties, but want users to be able to change or remove those values.

X

When you plan the default visibility settings for properties, consider the factors shown in the following table.

Condition Action

You want to use the property in search so that users can be found by searches for the property.

Set the default access policy to Everyone.

Note:

Only properties that have a privacy setting of Everyone will be used by search.

The property is useful across workgroups and other divisions in your organization and does not contain sensitive information.

Make the property visible to everyone.

The property is mostly useful for collaboration inside an immediate workgroup or with a specific group of individually selected colleagues.

Make the property visible only to colleagues.

The property is of a private or sensitive nature.

Note:

What is considered private information can vary from organization to organization.

Make the property visible only to the immediate manager, or in some cases, only the individual user.

Planning user profiles

This section provides guidance to help in planning user profiles. It is recommended that your planning tasks are done in the following order:

  1. Identify stakeholders

  2. Identify how the profile information will be used

  3. Identify directory services and business systems

  4. Determine which properties to include

  5. Determine property details

  6. Determine personalization settings policies

  7. Plan for capacity

Some sections below refer to the User Profile Properties Planning worksheet (http://go.microsoft.com/fwlink/p/?LinkId=202832). Use this workbook to record your user profile properties configuration decisions along with personalization feature settings. The workbook also has a place to record contact information for the profiles stakeholders in your enterprise and for members of the governing body that oversees profile properties decisions.

Identify stakeholders

User profiles are part of an enterprise's information architecture and must meet the needs of workgroups that depend on the profile information. Decisions about which properties to include in profiles should be based on input from stakeholders representing the workgroups that use My Sites and other social computing features.

Decisions about user profiles must strike a balance between meeting the social computing needs of the organization and its security, privacy, and regulatory responsibilities. Therefore, decisions about which information to expose in user profiles and which properties to include should be made with the participation of executive sponsors, legal advisors, and human resources team members. This helps to ensure that the use of profile information is compliant with enterprise policies and legal requirements. If your solution spans multiple locales, it is a recommended practice to include represents from the various locales in making these decisions.

Use the Stakeholders tab on the User Profile Properties Planning worksheet to record the contact information for the members of your profiles stakeholders.

Identify how profile information will be used

How user profile information is intended to be used in your SharePoint solution is the key determinant in planning user profile properties. Your functional specifications and architectural documents should provide this information and should help guide you in designing effective user profiles to meet your users' needs. As with any SharePoint Server solution, it is recommended that you develop your solutions using standard best practices such as functional specifications, software development and configuration management tools, pilot projects, and other standard techniques. Your development team's functional specification, architecture diagrams, and other artifacts will be key resources in determining requirements for user profile properties.

Identify directory services and business systems

User profiles contain data from directory services and business systems. Directory services can supply the members of your user community and provide data about those users. Additional user information can be imported from business systems such as external databases or Web services. The particular directory services and business systems to use depend on your enterprise's environment.

For more information about integrating user profiles with directory services and business systems, see Plan for profile synchronization (SharePoint Server 2010). That article includes information on planning directory service and business system integration and includes a Connection Planning worksheet in which you should list the directory services and business systems required by your solution.

Determine which properties to include

Review the article Default user profile properties (SharePoint Server 2010). Those properties that are mapped by default support basic SharePoint Server social computing and personalization features.

Also, determine which additional custom properties to include based on your social computing solution goals, your solution's functional requirements, and the data available from directory services and business systems.

In the Property column of the User Profile Properties Planning worksheet, list each property to include. Information about filling in the rest of the worksheet is provided in the following section.

Determine property details

Use the User Profile Properties Planning worksheet to record the set of properties to include in user profiles, as shown in the following table.

Property Information to provide

Source

Indicate the source for the property: a directory service, business system, or "user input" for a write-in field. For business systems, it is recommended that you enter the particular business system, such as "HR system".

Type

Indicate the property's type. A list of the supported data types and their definitions is available at PropertyDataType Fields.

Description

Define the property and describe its intended use.

Enable

Indicate if this property should be enabled. Enabling a property makes it available for use in features such as My Sites. Disabled properties are only visible to administrators of the User Profile service.

Require

Indicate if the property is required to have a value.

Editable

Indicate if users can edit this property's value.

Term set

If this is an editable property, you can optionally supply the name of a term set containing acceptable values for the property.

Default privacy setting

Indicate who can see information for the property: everyone, colleagues, team members, manager, or only the user.

Privacy setting override

Indicate if users can change the property's default privacy setting.

Display options

Indicate if this property's value should appear in the following places:

  • On My Profile pages

  • On the page on which users edit their profile information

  • On a user's newsfeed, when the property value changes

Replication

Indicate if the property can be configured to be replicated to user information lists on other sites when a user changes its value. This requires that the property's default privacy setting is Everyone and that users cannot override the property's default privacy setting.

Search-related attributes

There are two search-related attributes:

  • Alias to user name: Indicate if the property's value should be treated as an equivalent to the user's name for searching.

  • Index: Indicate if the value of this property should be indexed for searching.

For tips on designing user profiles that are searchable, see Build a My Site profile to help people find you.

Connection attributes

There are three connection-related attributes: Connection name, Direction, and Attribute name. For descriptions, see Plan for profile synchronization (SharePoint Server 2010).

Determine personalization settings policies

Along with setting policies on each user profile property in the User Profile service application, you can set similar policies on SharePoint Server features that provide profile-related information in lists, Web parts, or Web sites. You do this on the Manage Policies page of the User Profile service application.

Use the Personalization tab of the User Profile Properties Planning worksheet to record the set of policies related to personalization features. You can set policies to give users the capabilities show in the following table.

Feature | Information to provide
SharePoint site memberships | Enable this capability if users' SharePoint site memberships should be displayed in My Sites, lists, and Web parts.
Distribution list memberships | Enable this capability if distribution list memberships should be displayed in My Sites, lists, and Web parts.
Colleagues | Enable this capability if users' colleagues should be displayed in My Sites.
Auto-population of colleagues from organizations | Indicates if the user's colleagues list should be auto-populated based on organizational hierarchy.
Display colleagues recommendations | Indicates if the list of colleague recommendations (based on email usage and other factors) should be displayed in My Sites, lists, and Web parts.
Display links on My Sites | Enable this capability if links to users' frequently visited Web sites should be displayed in My Sites.
Display other sites pinned to My Sites | Indicates if the sites that users have pinned to their My Sites can be viewed by other users.

You can enable or disable personalization features, and you can configure privacy settings on them. In the User Profile Properties Planning worksheet, record your privacy policy preferences for each personalization features, as shown in the following table.

Setting | Information to provide
Enable | Indicate if this personalization feature should be enabled. Enabling a capability makes it available for use in features such as My Sites.
Default privacy setting | Indicate who can see information provided by the feature: everyone, colleagues, team members, manager, or only the user.
Privacy setting override | Indicate if users can change the feature's default privacy setting.

Plan for capacity

The number and types of properties in your user profiles can affect your system's performance during profile synchronization and other operations. It is beyond the scope of this article to provide guidance about how to plan user profile properties with capacity and performance in mind. The white paper "Capacity Planning for Microsoft SharePoint 2010 My Sites and Social Computing features (MySitesSocialComputingCapacityPlanningDoc.docx)," available from the Microsoft Download Center, uses test data to describe the performance and capacity impact of a range of choices in configuring user profiles and other social computing features in SharePoint Server. Read this white paper to help determine the best way to design your user profile properties to achieve your performance and capacity planning goals.

See Also

Concepts

Plan for social computing and collaboration (SharePoint Server 2010)
Configure a profile synchronization connection in SharePoint Server 2010 (video)
Configure a synchronization connection to a SQL Server database in SharePoint Server 2010 (video)

Other Resources

User profile properties and profile synchronization planning worksheets
Understanding Forefront Identity Manager 2010
Resource Center: Enterprise Collaboration in SharePoint Server 2010
Resource Center: Social Computing in SharePoint Server 2010


Profile synchronization overview (SharePoint Server 2010)
See Also

Published: April 7, 2011

This article describes profile synchronization, also referred to as "profile sync," in Microsoft SharePoint Server 2010.

A user profile is a collection of properties that describes a SharePoint user. Features such as My Sites and People Search use user profiles to provide a rich, personalized experience for the users in your organization. You can create user profiles by importing data from directory services, such as Active Directory Domain Services (AD DS). You can augment user profiles by importing data from business systems, such as SAP or Microsoft SQL Server. If users update their profiles in Microsoft SharePoint Server 2010, you can write the modified data back to directory services. The process of importing profile data from external systems and writing data back to these systems is called profile synchronization.

When you synchronize user profiles, you can also synchronize groups. Synchronizing groups gives SharePoint Server 2010 information about which users are members of which group.

In this article:

  • Synchronization components

  • Importing profiles from a directory service

  • Importing properties from a business system

  • Exporting properties to a directory service

  • Creating user profiles without synchronizing

  • Synchronizing groups

  • Types of synchronization

  • Supported directory services

Synchronization components

The following figure shows the components that are involved in synchronizing profiles in SharePoint Server 2010. Shaded boxes represent external systems. The SharePoint Server components are described in the paragraphs that follow the figure.

Profile synchronization components

Note:

Throughout this topic, the phrase "business system" is used to mean an external system that is not a directory service. SAP, Siebel, SQL Server, and custom applications are all examples of business systems.

Your solution must have a User Profile service application to use any of the social computing features in SharePoint Server 2010. When you create the User Profile service application, you can specify the synchronization server (also known as the profile synchronization instance), which is the computer that will be used to synchronize profile information. Creating the User Profile service application creates several databases, such as the profile database.

The User Profile Synchronization service is the core of the synchronization architecture in SharePoint Server 2010. When you start the User Profile Synchronization service on the synchronization server, SharePoint Server 2010 provisions a version of Microsoft Forefront Identity Manager (FIM) to participate in synchronization. A User Profile service application can only have one User Profile Synchronization service. A User Profile Synchronization service is associated with connections and mappings.

A connection is a way to access profile data in an external system. A User Profile Synchronization service can have multiple connections, and each external system requires its own connection. Connections can be divided into two types: connections to directory services, and connections to business systems.

When you create a connection to a directory service, you specify which containers in the directory service contain the information that you want to synchronize. You can also create a filter to exclude users and groups that you do not want to import. For example, you could synchronize with the Users container in AD DS, but filter out users whose accounts are disabled.

When you create a connection to a business system, you specify the external content type that represents the information from the business system.

Mappings define how SharePoint user profile properties relate to data in external systems. A mapping for a particular user profile property consists of three things:

  • The connection that identifies the external system.

  • The attribute from the external system that the user profile property is related to.

  • The direction of the mapping, which can be either "import" for a property that receives its value from the external attribute, or "export" for an external attribute whose value is provided by the SharePoint user profile property.

Importing profiles from a directory service

You can create new profiles and import profile properties by synchronizing with a directory service. When you synchronize with a directory service, SharePoint Server 2010 does the following:

  • Creates a user profile for each new user in the directory service containers that are being synchronized, and fills in the properties of each new profile with data from the directory service.

  • Deletes the profile of any user that was removed from the directory service.

  • For properties that are being imported, updates the property in the SharePoint user profile if the corresponding value in the directory service has changed.

If you synchronize with multiple directory services, each directory service must provide unique users. You cannot synchronize a single user profile with multiple directory services.

Note:

Active Directory resource and logon forests present the only case in which you can synchronize the same users with two directory services. The connection to the logon forest provides the users. The connection to the resource forest merely augments the properties of existing profiles, similarly to a connection to a business system.

Importing properties from a business system

You can populate the properties of existing user profiles from a business system. You cannot create new user profiles in this manner, and you cannot write data back to a business system.

To import data from a business system, you must first create an external content type to bring the data from the business system into SharePoint Server 2010. Then you can synchronize user profiles with the external content type. For more information about external content types, see Business Connectivity Services overview (SharePoint Server 2010).

There must be some information that is shared by the external content type and a user profile. SharePoint Server 2010 uses this shared information to match an instance of the external content type to the correct user profile during synchronization. When you define the external content type, you specify that the field to match against is the identifier for the external content type. You specify which user profile property to match against when you create a synchronization connection to a business system. For example, if the business system contains an employee's email address, birth date, and office location, you could specify the email address as the identifier of the external content type, and create a connection that matches against the WorkEmail profile property. For each user profile, SharePoint Server 2010 would synchronize information from the instance of the external content type whose email address matched the WorkEmail property of the user profile.

Exporting properties to a directory service

Once user profiles exist, you can let users modify the values of certain profile properties. You can configure these properties so that data that is changed in SharePoint Server 2010 will be written back to a directory service. Each property can be either imported or exported. You cannot both import and export the same property. You can only export data about a user to the directory service from which the user was imported. You cannot create new user accounts in the directory service by exporting user profile information.

Creating user profiles without synchronizing

You can create a custom solution that uses the SharePoint object model to create user profiles. If your solution does not use profile synchronization, you can remove the profile synchronization features from the SharePoint user interface by selecting the Enable External Identity Manager option on the Configure Synchronization Settings page of Central Administration.

Synchronizing groups

If you synchronize groups in addition to users, SharePoint Server 2010 imports information about the groups that exist in the directory service containers that you are synchronizing with, as well as about which SharePoint Server 2010 users are members of these groups. Each time that you synchronize, SharePoint Server 2010 updates the group and membership information. Groups do not have profiles, and you cannot manipulate them by using SharePoint Server. You must manage groups and their membership in the directory service itself. Within SharePoint Server, groups are only used to create audiences (see Audience and content targeting planning (SharePoint Server 2010)) and to display which memberships a visitor has in common with the person whose My Site the person is visiting (see My Sites overview (SharePoint Server 2010)).

Types of synchronization

You can perform two kinds of synchronization: full and incremental. Full synchronization can take a long time—for directories that contain hundreds of thousands of users, it could take several days. Incremental synchronization only synchronizes data that has changed in the external system or SharePoint Server 2010, and is more efficient. You must perform a full synchronization the first time that you synchronize. After that, you can use incremental synchronization unless one of the following conditions is true:

  • A mapped property has changed. For example, you mapped a new property, or added or changed a mapping associated with a property.

  • You changed the containers that a connection uses to synchronize with a directory service.

  • You changed or added a filter.

  • An external content type that you are synchronizing with has changed.

  • You added or deleted a connection.

You can configure a timer job to run an incremental synchronization on a set schedule, ranging from every few minutes through monthly. You can also start either a full synchronization or an incremental synchronization manually.

Supported directory services

With SharePoint Server 2010 you can create connections to the following directory services:

  • Active Directory Domain Services (AD DS) 2003 SP2 and AD DS 2008

  • Sun Java System Directory Server version 5.2

  • Novell eDirectory version 8.7.3

  • IBM Tivoli version 5.2

You can use any of these directory services to synchronize users. Synchronizing groups is only supported for AD DS.

All of these directory services support full synchronization. All except Novell eDirectory support incremental synchronization.

You can also import data from other Lightweight Directory Access Protocol (LDAP) providers by using a Lightweight Directory Interchange Format (LDIF) file. For more information about how to import LDIF data, see Configure profile synchronization using a Lightweight Directory Interchange Format (LDIF) file (SharePoint Server 2010).

See Also

Concepts

Plan for social computing and collaboration (SharePoint Server 2010)
Plan for profile synchronization (SharePoint Server 2010)
Plan user profiles (SharePoint Server 2010)
Audience and content targeting planning (SharePoint Server 2010)
My Sites overview (SharePoint Server 2010)
Configure profile synchronization using a Lightweight Directory Interchange Format (LDIF) file (SharePoint Server 2010)
User Profile Service administration (SharePoint Server 2010)
Business Connectivity Services overview (SharePoint Server 2010)


Plan for profile synchronization (SharePoint Server 2010)
See Also

This article provides guidance to help you plan how to implement profile synchronization in Microsoft SharePoint Server 2010. Profile synchronization (also known as "profile sync") allows you to create user profiles by importing information from other systems that are used in your organization. Before you read this article you should understand the concepts introduced in the article Profile synchronization overview (SharePoint Server 2010).

This article will explain:

  • How to get the information that you will need to configure profile synchronization.

  • Who you will need to work with to gather the necessary information.

  • The external content types that will have to be created, if any.

As you go through this article, you can fill out Worksheets to record your decisions. When you have finished this article and completed the worksheets, you will have the information that you need to configure profile synchronization by using Central Administration. You can either give the completed worksheets to the profile synchronization administrator, or you can use them to do the configuration yourself. If you will need external content types to represent information from external business systems, you will have specified the requirements for these external content types. You can give the specifications to the developer who will create the external content types.

This article will not describe how to implement your plan. That information is covered in the article Configure profile synchronization (SharePoint Server 2010).

Before you work through the planning tasks in this article, you should already:

  • Know which users you want to have profiles in SharePoint Server.

  • Know what properties a user profile will have, and have filled out the User Profile Properties Planning worksheet as explained in the article Plan user profiles (SharePoint Server 2010).

  • Understand general concepts about directory services.

In this article:

  • About planning for profile synchronization

  • Plan synchronization connections

  • Identify property mappings

  • Synchronizing groups

  • Plan for the synchronization server

  • Plan the synchronization schedule

  • Plan account permissions

  • Next steps

  • Worksheets

About planning for profile synchronization

As the first step towards planning for profile synchronization, you will identify synchronization connections, and gather information that you will need when you create the connection. If you will need any external content types, you will document the requirements for those external content types, provide the requirements to a developer, and receive the details that you will use to specify a synchronization connection to the business system.

Next, you will figure out how to map user profile properties to information in the external systems so that they can be synchronized.

Finally, you will answer more straightforward questions such as whether you will synchronize groups, which server you will use to run the synchronization service, and how often you will synchronize profile information.

Plan synchronization connections

Each property in a user's profile can come from an external system. There are two types of external systems: directory services and business systems. Throughout this article, the phrase business system is used to mean an external system that is not a directory service. SAP, Siebel, SQL Server, and custom applications are all examples of business systems.

Note:

For a list of supported directory services, see the Supported directory services section in the "Profile synchronization overview" article.

In SharePoint Server, a synchronization connection is a means to get user profile information from an external system. To import profiles from one of the supported directory services, you create a synchronization connection to the directory service. To import additional profile properties from a business system, you create an external content type to bring the data from the business system into SharePoint Server, and then create a synchronization connection to the external content type. The following sections explain how to gather the information that you will need about each synchronization connection.

Note:

To import profiles from an unsupported directory service, you can import a Lightweight Directory Interchange Format (LDIF) file. To create user profiles in any other manner, you must write a custom program. See Configure profile synchronization using a Lightweight Directory Interchange Format (LDIF) file (SharePoint Server 2010) for more information about how to import an LDIF file.

Connections to directory services

Each user that you want to have a profile in SharePoint Server must have an identity in a directory service. (If users are not represented in a directory service, you cannot synchronize user profiles.) Identify which directory services contain information about these users. Unless you are able to access the directory service yourself, you should also identify an administrator of the directory service. You will need this person's help to gather some of the information that will be needed to create synchronization connections.

The Connection Planning worksheet (http://go.microsoft.com/fwlink/p/?LinkId=202832) contains templates for the information that you need to gather for each type of connection. Each template is in a separate tab that is labeled with the name of the directory service provider it applies to. Create a new tab for each directory service that you identified. Copy the template for the type of directory service into the new tab. Then fill in the information on each new tab according to the following table.

Row name in worksheet Applies to connection type Instructions

Synchronization connection name

All

Choose a name that will help you remember which directory service this is a connection to.

Connection type

All

The type of directory service that this is a connection to.

This information is already filled in on each tab.

Forest

AD DS

The name of the directory service forest.

Domain controller

AD DS

The name of the preferred domain controller. You only need to identify the domain controller if there are multiple domain controllers in the forest and you want to synchronize with a specific domain controller.

Authentication provider type

All

The type of authentication SharePoint Server should use to connect to the directory service. This is one of the following:

  • Windows authentication

  • Forms-based authentication

  • Claims-based authentication

The systems architect should be able to provide this information.

Authentication provider

All

If forms-based authentication or claims-based authentication will be used, fill in the name of the trusted provider. The systems architect should be able to provide this information. An authentication provider is not needed for Windows authentication.

Synchronization account

All

The account, including the domain, that will be used to connect to the directory service. It is likely that the directory service administrator will create a new account to be used for synchronization.

Note:

The permissions that the synchronization account must have are described in the Plan account permissions section of this topic.

Synchronization account password

All

The password for the synchronization account.

Security Note:

You will need to know the password for the synchronization account, but we recommend that you do not record the password in the worksheet.

Connection port

All

The port that will be used to connect to the directory service.

Use SSL?

AD DS

Whether to use an SSL-secured connection to connect to the directory service. SSL is only supported for connections to AD DS.

Directory service server

Tivoli, Sun, eDirectory

The name of the directory service server.

Username attribute

Tivoli, Sun, eDirectory

The name of the attribute in the directory service that serves as the unique identifier for each profile. In most cases, the default username attribute of "uid" is correct.

Containers

All

The names of the directory service containers, also known as organizational units (OU), that contain the profiles to synchronize.

Filter for users

All

See the detailed instructions in the section About exclusion filters.

Filter for groups

All

See the section Synchronizing groups.

About exclusion filters

SharePoint Server will synchronize all of the profiles from the containers that you identify unless you choose to exclude profiles by using a filter. For example, you might create a filter to exclude users whose accounts are disabled.

A filter consists of a set of clauses and the connector to use to join the clauses. Each clause has three parts:

  • Attribute: The directory service attribute to compare.

  • Value: The value to compare the attribute to.

  • Operator: The type of comparison. For more information about which operators are available for each Active Directory Domain Services (AD DS) data type, see Connection filter data types and operators (SharePoint Server 2010).

There are two ways to join the clauses of an exclusion filter:

  • All apply (AND): An account matches the filter if all of the clauses apply.

  • Any apply (OR): An account matches the filter if any clause applies.

You cannot mix ANDs and ORs within a filter.

For example, assume that temporary employees in your organization are given Active Directory accounts that begin with "T-". You want to synchronize profiles for all permanent (non-temporary) users whose accounts are not disabled. You could create a filter that uses the clauses in the following table.

Attribute | Operator | Value
sAMAccountName | starts with | T-
userAccountControl | bit on equals | 2

The filter would join the clauses by using Any apply (OR).

Note:

In AD DS, userAccountControl is a bitmask that represents several useful aspects about the status of the user account. For a list of some of the more frequently-used filters that you can create by using the userAccountControl attribute, see http://go.microsoft.com/fwlink/p/?LinkId=217163.

You cannot create a filter that is based on membership in a directory service group, such as a distribution list. For alternatives to importing users based on group membership, see http://go.microsoft.com/fwlink/p/?LinkId=220892.

Connections to business systems

To import properties from a business system, you will need an external content type that brings the property value from the external system into SharePoint Server 2010. This article does not cover how to create an external content type. That task is usually done by a developer. This article describes what data you must gather and give to the developer, and tell you what to do with the information that you receive. For developer information, see How to: Create External Content Types.

You can use the External Content Type Planning worksheet (http://go.microsoft.com/fwlink/p/?LinkId=202832) to specify the external content types to be created. Go through the User Profile Properties Planning worksheet that you completed when you read the article Plan user profiles (SharePoint Server 2010). In the External Content Type Planning worksheet, create one row for each user profile property that comes from a business system. Fill in the first three columns of each row according to the instructions in the following table.

Column in worksheet | Instructions
Business system | A name of your choosing that identifies the business system that contains the property.
Item | The data in the business system that corresponds to the property. Be as specific as possible. For example, if the business system is a database, provide the name of the table and column, if known.
Possible identifiers | A list of the user profile properties that could uniquely identify a user.

After you have filled in the first three columns of each row, give the worksheet to the external content type developer. The developer should perform the following tasks, and then return the worksheet:

  • Create external content types to provide the external system data that is described in the worksheet.

  • Choose an appropriate identifier for each external content type.

  • If user profiles will have a one-to-one relationship with items of the external content type, create a specific finder method. An external content type that contains a user's birthdate is an example of a one-to-one relationship. Each user profile will match one item of the external content type.

  • If user profiles will have a one-to-many relationship with items of the external content type, create a finder method and a comparison filter. An external content type that contains the license plate of a vehicle the user owns is an example of a one-to-many relationship. A user might own multiple vehicles, so each user profile might match more than one item of the external content type.

  • Update the worksheet to describe the external content types that were created.

The Connection Planning worksheet (http://go.microsoft.com/fwlink/p/?LinkId=202832) contains a tab for a connection to a business system. When you receive the information back from the external content type developer, group together all user profile properties that share the same external content type. Create a new tab in the Connection Planning worksheet for each external content type, and copy the information from the Business systems tab to each new tab. Fill in the information on each tab that you created according to the instructions in the following table.

Row in worksheet | Instructions
Synchronization connection name | Choose a name that will help you remember which business system this is a connection to.
Connection type | "Business data connectivity" This information is already filled in.
Business data connectivity entity | The name of the external content type.
One-to-one or one-to-many mapping | The number of items of the external content type that might match a given user profile. Enter "one-to-one" or "one-to-many" as appropriate.
Profile property to match against | The name of the user profile property that corresponds to the external content type's identifier.
Comparison filter | The name of the comparison filter. A filter is only required for one-to-many mappings.

Identify property mappings

To indicate that a user profile property comes from an external system, you map the property to a specific attribute of the external system. Certain user profile properties are mapped by default. For a list of the default mappings for each type of directory service, see Default user profile property mappings (SharePoint Server 2010). You can only map a profile property to an attribute whose data type is compatible with the data type of the property. For example, you cannot map the SPS-HireDate user profile property to the homePhone Active Directory attribute because SPS-HireDate is a date and homePhone is a Unicode string. For a list of which user profile property data types are compatible with which AD DS data types, see User profile property data types (SharePoint Server 2010).

When you synchronize profile information, in addition to importing profile properties from external systems, you can also write data back to a directory service. You cannot write data back to a business system. To indicate that SharePoint Server should export a user profile property, you map the property, and set the direction of the mapping to Export. Each property can only be mapped in one direction. You cannot both import and export the same user profile property. The data that is exported overwrites any values that might already be present in the directory service. This is true for multivalued properties as well—the exported value is not appended to the existing values, it overwrites them.

Examine the User Profile Properties Planning worksheet that you completed as you read the Plan user profiles (SharePoint Server 2010) topic. For each row (property) whose value will be imported from an external system, fill in the final three columns according to the instructions in the following table.

Row in worksheet Instructions

Direction

"Import", indicating that the property will be imported into SharePoint Server.

Synchronization connection

The name of the synchronization connection through which this property will be provided.

Attribute

The name of the external system element that will provide the value of the user profile property.

If the synchronization connection is to a directory service, this is the name of the directory service attribute.

If the synchronization connection is to a business system, this is the name of the column in the external content type.

Note:

You cannot use a connection to a business system to map a binary property to a property that implements the Stream accessor method.

For each row (property) whose value will be exported to a directory service, fill in the final three columns according to the instructions in the following table.

Row in worksheet | Instructions
Direction | "Export", indicating that the property will be exported from SharePoint Server to a directory service.
Synchronization connection | The name of the synchronization connection through which this property will be exported. This can only be a connection to a directory service.
Attribute | The name of the directory service attribute whose value should be updated with the value of the user profile property.

Synchronizing groups

By default, SharePoint Server synchronizes groups, such as distribution lists, when it synchronizes user profiles. You can turn off this functionality from the Configure Synchronization Settings page of Central Administration. Synchronizing groups is only supported for AD DS.

If you synchronize groups in addition to users, SharePoint Server imports information about the groups as well as about which users are members of the groups. Synchronizing a group does not create a profile for the group, and does not cause any additional user profiles to be created. In SharePoint Server, groups are only used to create audiences and to display which memberships a visitor has in common with the person whose My Site the person is visiting.

If you decide to synchronize groups, SharePoint Server will import information about all of the groups that exist in the directory service containers that you are synchronizing unless you choose to exclude groups by using a filter. The filter for excluding groups is different than the filter for excluding users, although both follow the same format.

Return to the Connection Planning worksheet and fill in the Filter for groups cell.

Plan for the synchronization server

In addition to determining the synchronization connections and identifying the property mappings, you also have to plan for the more straightforward aspects of synchronizing profiles. The first of these is identifying the synchronization server.

You can only run one instance of the User Profile Synchronization service on a farm. The computer on which the User Profile Synchronization service runs is called the synchronization server. You specify the synchronization server when you create the User Profile service application. SharePoint Server provisions a version of Microsoft Forefront Identity Manager (FIM) on this computer to participate in synchronization.

When SharePoint Server synchronizes profiles, it makes heavy use of the network to communicate between the synchronization server and the domain controllers. Choosing a synchronization server that is physically close to the domain controllers will reduce the time it takes to synchronize.

Plan the synchronization schedule

The first time that you synchronize profile information between SharePoint Server and external systems, you must run a full synchronization. After that, you should configure the User Profile Incremental Synchronization timer job to perform an incremental synchronization on a recurring schedule. You can configure the timer job to run every few minutes, hourly, daily, weekly, or monthly. With the hourly, daily, weekly, and monthly options, you specify when you want the timer job to start.

The more often the synchronization timer job runs, the fewer changes there will be to synchronize, and therefore the quicker the job will finish. The default frequency is daily. We recommend that you schedule synchronization to start at a time when the network is lightly utilized.

For instructions about how to configure the User Profile Incremental Synchronization timer job, see Schedule profile synchronization (SharePoint Server 2010).

Plan account permissions

In the Connection Planning worksheet, you provided the name of a synchronization account for each directory service. These synchronization accounts must be granted specific permissions so that the synchronization service can obtain the information it needs from the directory service. The following sections identify which permissions are needed for each type of directory service. Work with the administrator of the directory service to grant the accounts the appropriate permissions.

Active Directory Domain Services (AD DS)

The synchronization account for a connection to Active Directory Domain Services (AD DS) must have the following permissions:

  • It must have Replicate Directory Changes permission on the domain that you will synchronize with. For more information, see the Grant Replicate Directory Changes permission on a domain section of the "Grant Active Directory Domain Services permissions for profile synchronization" procedural reference article.

    Note:

    The Replicate Directory Changes permission allows an account to query for the changes in the directory. This permission does not allow an account to make any changes in the directory.

  • If the domain controller is running Windows Server 2003, the synchronization account must be a member of the Pre-Windows 2000 Compatible Access built-in group. For more information, see the Add an account to the Pre-Windows 2000 Compatible Access group section of the "Grant Active Directory Domain Services permissions for profile synchronization" procedural reference article.

  • If the NetBIOS name of the domain differs from the fully qualified domain name, the synchronization account must have Replicate Directory Changes permission on the cn=configuration container. For example, if the NetBIOS domain name is contoso and the fully qualified domain name is contoso-corp.com, you must grant Replicate Directory Changes permission on the cn=configuration container. For more information, see the Grant Replicate Directory Changes permission on the cn=configuration container section of the "Grant Active Directory Domain Services permissions for profile synchronization" procedural reference article.

  • If you will export property values from SharePoint Server to AD DS, the synchronization account must have Create Child Objects (this object and all descendants) and Write All Properties (this object and all descendants) permissions on the organizational unit (OU) that you are synchronizing with. For more information, see the Grant Create Child Objects and Write permission section of the "Grant Active Directory Domain Services permissions for profile synchronization" procedural reference article.

Novell eDirectory version 8.7.3

The synchronization account for a connection to Novell eDirectory must have the following permissions:

  • Entry Rights: Browse rights for the specified tree.

  • All Attributes Rights: Read, Write, and Compare rights for the specified tree.

Sun Java System Directory Server version 5.2

The synchronization account for a connection to a Sun Java System Directory Server must have the following permissions:

  • Read, Write, Compare, and Search permissions to the RootDSE.

  • To perform incremental synchronization, the synchronization account must also have Read, Compare, and Search permissions to the change log (cn=changelog). If the change log does not exist, you must create it before synchronizing.

IBM Tivoli version 5.2

The synchronization account for a connection to IBM Tivoli must have the following permission:

  • The synchronization account must be a member of an administrative group.

The farm account

The User Profile Synchronization service runs under the farm account. The farm account requires specific permissions in order to configure profile synchronization. A person with administrator rights on the synchronization server can grant these permissions.

  • The account must be a member of the Administrators group on the synchronization server. You can remove this permission after you have configured the User Profile Synchronization service.

  • The account must be able to log on locally to the synchronization server.

    Note:

    The farm account is not the same as the farm administrator account. To determine the farm account, from Central Administration, click Configure service accounts, and then click Farm account.

If you will synchronize user profiles with a business system by using an external content type, the farm account must also have permission to execute operations on the external content type. A farm administrator can use the procedure "Set permissions on an external content type" to give the farm account Execute permission on each external content type that you will synchronize with.

Next steps

To implement your profile synchronization plan, follow the instructions in the article Configure profile synchronization (SharePoint Server 2010). After you have configured profile synchronization and synchronized profile information for the first time, implement your synchronization schedule by following the procedure described in the article Schedule profile synchronization (SharePoint Server 2010).

Worksheets

Download the connection planning worksheet, the external content type planning worksheet, and the user profile planning worksheet from the following source: http://go.microsoft.com/fwlink/p/?LinkId=202832.

See Also

Concepts

Plan for social computing and collaboration (SharePoint Server 2010)
Profile synchronization overview (SharePoint Server 2010)
Plan user profiles (SharePoint Server 2010)
Configure profile synchronization (SharePoint Server 2010)
User Profile Service administration (SharePoint Server 2010)
User Profile service application overview (SharePoint Server 2010)
Grant Active Directory Domain Services permissions for profile synchronization (SharePoint Server 2010)

Other Resources

Resource Center: Enterprise Collaboration in SharePoint Server 2010
Resource Center: Social Computing in SharePoint Server 2010


My Sites overview (SharePoint Server 2010)
See Also

This article provides an overview of My Sites end-user functionality and benefits for consideration by enterprise business decision makers or SharePoint administrators. It does not discuss the architecture of My Sites or information about planning and configuring My Sites.

If you are a SharePoint administrator who is responsible for configuring My Sites in your organization, use this topic together with Plan for My Sites (SharePoint Server 2010) to understand and plan for My Sites. You can then use the procedural topics located under Manage My Sites settings (SharePoint Server 2010) to set up My Sites and configure settings. For more information about the end-user functionality of My Sites and how to use My Sites, see the SharePoint Server Communities Productivity Center and Getting started with your My Site.

Uses and benefits of My Sites

In Microsoft SharePoint Server 2010, a My Site is a personal site for individual users in an organization. Although an organization can customize My Sites, by default they are organized into My Newsfeed, My Content, and My Profile sections as described in this article.

My Sites give users rich social networking and collaboration features, which enable users to explore and share interests, projects, business relationships, content, and other data with people in the organization.

My Sites enable users to easily share information about themselves and their work. This sharing of information encourages collaboration, builds and promotes information about expertise, and targets relevant content to the people who want to see it. Once My Sites are deployed, a user can access his or her My Site by clicking his or her user name in the top, right corner of an intranet SharePoint Server page and then clicking My Site.

My Newsfeed

My Newsfeed is the default page when a user accesses his or her My Site. This section displays the What's New page, which provides a feed of recent activities related to a user's specified colleagues and interests. Users can customize their newsfeeds by adding or removing colleagues they are interested in, specifying interests, and configuring the kind of activities they want to follow, such as when a colleague tags information with a shared interest.

When a colleague generates an activity — such as by tagging or writing a note on a Web page, or rating a document — an activity is created with a link to the affected content. These activities are security trimmed, which means that a user can only see activities with links to which they have permission. Security trimming relies on a Search Service Application, which records the permissions that users have to view crawled items. For more information, see Privacy and security implications of social tagging (SharePoint Server 2010).

My Content

My Content is a Web Part page that displays content a user has stored in the My Site. By default, the My Content page displays a left navigation pane with links to the user's document libraries and picture libraries. The Web Part page contains Shared Documents, Personal Documents, and Recent Blog Posts Web Parts.

A user can customize the My Content page by adding or removing Web Parts in zones on the page. For example, a user might want to add a Web Part for RSS feeds or to display documents from other SharePoint sites where he or she is a member.

My Profile

The My Profile section displays the user's profile page to other people in the organization. Although the My Newsfeed and My Content sections are available only to the user, the My Profile section is what that user and other people in the organization see when they access the user's My Site.

SharePoint Server 2010 provides user profile policies that specify how profile information is displayed and how it can be used. Although there are recommended default policies for features and properties exposed in user profiles and personal sites, you can configure custom policies to meet specific needs of the organization. For example, you can configure a property to be more or less visible by default, and allow users to override default settings for properties that you want to give them control over. You configure these policies for the User Profile service in Central Administration. For more information, see About property policies in the Plan user profiles (SharePoint Server 2010) article.

Users can change privacy settings for their individual profile properties that you allow them to override in the profile policy. Users configure these settings from their profiles on their My Sites. The privacy settings are assigned to the following privacy groups (listed in order from most restrictive to least restrictive: Only Me, My Manager, My Team, My Colleagues, Everyone. For example, a user might decide to display more information, such as a personal phone number, with members of his or her team than with other people in the organization. A user can use the View My Profile as seen by list to view their profile as it appears for members of the groups they assign their colleagues to. This helps a user determine whether they are comfortable with the information that is displayed.

The top half of the page displays the user's profile data, such as their picture, title, group, telephone number, interests, and so on. The bottom half of the page is divided among the tabs described in the following table.

Tab Description

Overview

Displays general information about the user in the following areas:

  • The Ask Me About area highlights the user's areas of expertise.

  • The Recent Activities area displays the user's recent activities, such as colleagues they have added, new memberships, and so on.

  • The Note Board area contains a text box to post notes for the user and view notes that are left for the user.

  • The My Organization Chart displays the user's location in the organization.

  • The In Common with You area displays pertinent information that you have in common with the user's whose profile you are viewing, such as shared managers or memberships.

Organization

Displays an organization chart. The chart shows the user's position the organization among management, peers, and direct reports. You can select other people from the chart to view their profiles.

Content

Displays the user's shared content. For example, the viewer might see documents, pictures, lists, or blog entries that the user has chosen to share on his or her My Site.

Tags and Notes

Contains a list of a user's tags and notes related to his or her social tagging activities. For more information, see Social tagging overview (SharePoint Server 2010).

Like the My Newsfeed section, the tag and note activities in the Tags and Notes area are security trimmed. However, because the Tags and Notes tab is visible to users and visitors, security trimming affects the owner of the My Site in addition to visitors. On a user's profile on the Tags and Notes tab, the user can see all activities but visitors see only activities related to items they have permission to see. For more information about security trimming and the effects it has on the areas in My Sites, see Privacy and security implications of social tagging (SharePoint Server 2010).

The activities displayed can be filtered by selecting the kind of activity that a user wants to see, such as by tags or by notes, or filtered by tags from the user's tag cloud. The tag cloud consists of tags the user has used on content, such as documents or other sites.

Colleagues

Displays colleagues that a user has added to their My Site. When a user adds colleagues to his or her My Site, he or she can specify whether to add the colleague to a group and who to display the colleague to. Users' newsfeeds contain activities of colleagues they have added to their My Sites. This helps users discover information that might be pertinent to them based on relationships they have with other people in the organization.

Memberships

Displays the user's memberships in distribution lists (DLs) and SharePoint sites where the user is added to the Members group. DL membership information is obtained from the Active Directory directory service, and SharePoint site membership information is obtained by pulling membership information from the SharePoint site.

The user cannot join groups from this tab; they can only see their membership information. However, like the Colleagues tab, the user can specify who they want to display the membership to.

For more information, see Review available default groups in the Determine permission levels and groups (SharePoint Server 2010) article and How to: Create Memberships (http://go.microsoft.com/fwlink/p/?LinkId=226299).

See Also

Concepts

Plan for social computing and collaboration (SharePoint Server 2010)
Plan for My Sites (SharePoint Server 2010)
Set up My Sites (SharePoint Server 2010)

Other Resources

Resource Center: Enterprise Collaboration in SharePoint Server 2010


Plan for My Sites (SharePoint Server 2010)
See Also

In Microsoft SharePoint Server 2010, a My Site is a personal site for a user in an organization. Although a My Site appears as a single site to a user, the My Sites architecture in SharePoint Server consists of a Web application, a My Site host site collection, an individual site collection, and several SharePoint service applications and features. Except for the individual site collection, all other parts of this infrastructure are configured once and shared among all the users who are part of the My Sites deployment.

This article contains information about My Sites architecture, related services, and other considerations when planning to deploy My Sites. Before you use this article to plan for My Sites, make sure that you understand the end-user capabilities and concepts of My Sites described in My Sites overview (SharePoint Server 2010). Then use this article to understand and plan for My Sites. After you understand the overview and planning concepts, use the procedures in Set up My Sites (SharePoint Server 2010) to set up My Sites in your environment.

In this article:

  • My Sites architecture

  • Related service applications

  • Planning for jobs and schedules

  • Planning for geographically distributed deployments

  • Planning for the multilingual user interface

  • Planning for storage requirements

  • Planning for file types

My Sites architecture

The My Sites architecture consists of a Web application that hosts My Sites, a My Site host site collection, and individual site collections for users.

Each user's My Site contains two site collections: the My Site host site collection and the user's individual site collection. Although you can use an existing Web application to host these site collections, we recommend that you use a dedicated Web application to improve performance and manageability.

When you create the My Site host site collection and users create their individual site collections, the data is maintained in one or more content databases that are associated with the Web application that hosts My Sites. Like other Web applications in SharePoint Server, you can add content databases to this Web application if you must have multiple databases for storage. For more information, see Planning for storage requirements.

The My Site host site collection and the configuration that enables individual My Sites site collections to be created are required before users can create My Sites. For more information, see Set up My Sites (SharePoint Server 2010).

The My Site host site collection and individual site collections are described more fully in the following sections.

My Site host site collection

The My Site host site collection is a special site collection that hosts the My Newsfeed and My Profile sections of all users' My Sites. The site collection's site template must be the My Site Host site template, available from the Enterprise tab of the Create Site Collection page. The My Site Host site template can be used only once per User Profile service application, which is discussed later in this article.

My Sites require that a site collection exist at the Web application root (which appears as / in the user interface). Without this, you will receive a message that indicates that there is no site collection at the root when you try to enable self-service site creation for the Web application. Because we recommend that you use a dedicated Web application to host My Sites, you should use the root path for the My Site host collection unless you have a specific requirement to create the site collection deeper in the uniform resource locator (URL) path.

If you create the My Site host deeper in the path, it must be under an explicit inclusion managed path. Additionally, you must create a separate site collection at the Web application root, although this site collection can be empty and created without a template. For more information about managed paths, see Define managed paths (SharePoint Server 2010).

The URL for a My Site host site collection is shared by all users of the same User Profile service application. The URL for My Newsfeed is http://hostname/default.aspx, and the URL for My Profile is http://hostname/person.aspx where hostname is the address of the site collection. For example, if you configure your My Site host site collection at http://my.contoso.com/, users access their newsfeeds and profiles at http://my.contoso.com/default.aspx and http://my.consoto.com/person.aspx respectively.

Although these URLs are the same for all users of a User Profile service application, the information displayed for each user is different. SharePoint Server determines the information to display based on the user's logon account. The information is targeted to that specific user and is provided by the SharePoint service applications referred to in this article.

When a visitor views another user's My Site, the visitor can see only the user's profile page. This URL is http://hostname/person.aspx?accountname=account where hostname is the address of the site collection and account is the user name (and, if it is configured, the user's domain name). For example, http://my.contoso.com/person.aspx?accountname=sidney.

Individual site collections

A user's individual site collection hosts the My Content section of his or her individual My Site. An individual site collection is created the first time that a user clicks the My Content link in his or her My Site. This ability to create an individual site collection requires the following configuration in SharePoint Server:

  • The Web application that hosts My Sites has a wildcard inclusion managed path, such as sites or personal. This is the path under which the individual site collections will be created when users click the My Content link for the first time. For more information about managed paths, see Define managed paths (SharePoint Server 2010).

  • The My Site Settings for the User Profile Service application are configured to use the URL of the My Site host site collection and the wildcard inclusion managed path for individual site collections.

  • The Web application is enabled for self-service site creation. This functionality enables the individual site collections to be created under the specified wildcard inclusion managed path. The self-service site creation feature has special security considerations for cross-site scripting. This strengthens the recommendation to host My Sites in a dedicated Web application to isolate any scripts running in a My Site from affecting other sites in your environment. For more information about cross-site scripting vulnerabilities with Web applications enabled for self-service site creation, see Additional information about the Self-Service Site Creation feature in Office SharePoint Server 2010 (http://go.microsoft.com/fwlink/p/?LinkId=211701).

  • Users must have Create Personal Site permissions to create a My Site. By default, this permission is enabled for all authenticated users. For more information, see the Plan users and user permissions section under User Profile service application.

The URL to a user's My Content section of a My Site is in the format of http://hostname/wildcard_path/account/default.aspx where hostname is address of the My Site host site collection, wildcard_path is the wildcard managed path configured for the Web application, and account is the account of the user logged on. For example, if you configure your My Site host site collection at http://my.contoso.com/ and configure the wildcard managed path to be personal, users access their content at http://my.contoso.com/personal/account/default.aspx.

With the account part of the URL, when you set up My Sites, you have three options to specify how to name an individual user's site collection, as shown in the following table.

Option | Description
User name (do not resolve conflicts) | By using this option, the My Site name is the user name of the account. This is not a user's display name. For example, if a user's friendly name is Sidney Higa and the user's account is sidney, the site collection is named sidney. Only choose the first option if you are sure that all user names in your organization are unique. Otherwise users will encounter conflicts when they provision their My Sites. If a conflict occurs, the first user who creates a My Site with a user name is successful. However, the next user who tries to use the same user name cannot create a My Site.
User name (resolve conflicts by using domain_username) | By using this option, the first user who has a duplicate user name will have a My Site created by using their user name only, and a second user who has that same user name will have a My Site created by using both their domain name and user name. For example, the first user will have their My Site created under http://my.contoso.com/personal/sidney.default.aspx while the second user will have their My Site created under http://my.contoso.com/personal/CONTOSO_sidney/default.aspx. Choose this option when it is possible for a user name to exist multiple times in an organization, such as when you have multiple domains. Because a user name is guaranteed to be unique only within its own directory source, this option prevents two users who have the same user name but different domains from encountering issues when they create their My Sites.
Domain and user name (will not have conflicts) | By using this option, all My Site names are created by using both the domain name and user name. For example, http://my.contoso.com/personal/CONTOSO_sidney/default.aspx. Choose this option when you want My Sites to be consistently named with the domain name and user name, regardless of whether conflicts with user names exist or not.

Related service applications

My Sites rely on several SharePoint service applications and their related databases. These related service applications are discussed in this section, although you should also refer to the linked articles to fully plan and implement them to support My Sites in your enterprise.

User Profile service application

The User Profile service application stores information about users in a profile database, a social database, and a synchronization database. Information can include a profile picture, the organization the user belongs to, colleagues, and pointers to tags and notes created by the user. SharePoint Server uses this information to personalize the data displayed on the My Profile page of a user's My Site. Additionally, the User Profile service application enables social computing features, such as social tagging and newsfeeds for My Sites, which affects the My Profile and My Newsfeed sections of a user's My Site.

The User Profile service application is required for My Sites. For more information, see User Profile service application overview (SharePoint Server 2010).

Plan for profile synchronization

Although configuring the User Profile service application is required for My Sites, synchronizing profiles between SharePoint Server 2010 and directory services or business applications is optional but highly recommended. Profile synchronization provides rich functionality for My Sites by enabling the User Profile service application to collect information about users in an organization from directory services and business applications. As a result, consistent and timely information is always available on a user's My Site. Information about users can also be synchronized across the deployment among all site collections that use the same User Profile service application. User information can also be used by personalization features to increase the value of collaboration and relationships in an organization.

For more information, see Plan for profile synchronization (SharePoint Server 2010).

Plan policies and privacy

SharePoint Server 2010 provides a default set of policies that you can configure to make the appropriate information available to meet the needs of an organization. You can also create and deploy custom policy features to meet specific needs. When planning for My Sites, you should define which information is needed for key business processes in an organization and which information might be unsuitable for sharing across an organization. Between these extremes is the information that should be shared only among some users. In the case of information that might be unsuitable for sharing across an organization, you must create policies to address these specific situations. For more information about policy planning, see About property policies in the "Plan user profiles" article.

Additionally, My Site features might store or use personally identifiable information. When planning to deploy My Sites, make sure that you carefully plan how to control the behavior of these features — or turn off the features — to help protect the privacy of this information. These decisions are affected by several factors, including corporate privacy practices, and regional or national privacy laws. For more information, see Managing privacy (SharePoint Server 2010).

Plan users and user permissions

When planning for My Sites, determine who is allowed to create My Sites and which features are available to My Sites users.

The following table shows permissions that are available to users and groups on the Manage User Profile Service page of the User Profile service application.

Permission | Description
Create Personal Site | Users with the Create Personal Site permission can create My Sites.
Use Personal Features | Users with the Use Personal Features permission can edit their profiles, add or edit colleagues, and add or edit memberships.
Use Social Features | Users with the Use Social Features permission can add ratings, and social tags and notes to SharePoint Server items, such as documents or blogs, and to external Web pages.

By default, all authenticated users are granted all these permissions, but you can configure specific permissions depending on your needs. For example, you might allow only full-time employees to create My Sites, instead of all workers in your organization. As a best practice, simplify administration by granting permissions to security groups instead of specific users.

Managed Metadata service application

The Managed Metadata service application enables Web applications to store and access keywords from a managed metadata term database. For My Sites, this functionality is required for users to specify keywords as their areas of expertise in the Ask Me About section and to use keywords for social tagging by using the Tags and Notes and I Like It features on the My Profile page of a My Site.

A Managed Metadata service application is highly recommended for My Sites. It must be configured as the default keyword term store for the Web application. For more information about managed metadata service applications, see Managed metadata service application overview (SharePoint Server 2010).

Search service application

Although not required for My Sites, the SharePoint Server Search service application is highly recommended to enable users to search from their My Sites for people in the organization based on names or areas of expertise. This search functionality is part of enterprise search planning and configuration.

Although this section describes people and expertise search for My Sites, for more information about enterprise search, see Enterprise search planning (SharePoint Server 2010).

Note:

If you are using FAST Search Server 2010 for SharePoint, the behavior described in this section will be different. Tags are stored in the social database related to the User Profile service application. However, FAST Search Server 2010 for SharePoint does not index the social database, which prevents relevance benefits for documents that have been tagged by users. Additionally, FAST Search Server 2010 for SharePoint disables SharePoint Server from aggregating and displaying tagging results, which prevents users from searching based on social tags. To work around these issues, you can develop custom code to populate managed properties in FAST Search Server 2010 for SharePoint for each term that is used in social tagging. For more information, see FAST Search Server 2010 for SharePoint.

People search

When a user searches for people, results contain links to the public profiles of users and links to contact them by e-mail or messaging programs. When planning for My Sites, you might want to consider supplementing the default people search scope, and supplementing the Search Center tab with customized search scopes and tabs for more specific groups of users.

If the administrator of the User Profile service application differs from the administrator of the Search service application, the User Profile service application administrator should review the information architecture and site hierarchy to determine the key business concepts that might relate to specific groups of users for whom other users might search across sites. Then the User Profile service application administrator can work with the Search service application administrator to develop search scopes and people search tabs for those specific groups. User Profile service application administrators can also use their knowledge of the user profiles they manage to determine other useful groups of users, and to create additional specific search scopes and search tabs for those groups.

Site collection administrators can also create site-level search scopes for users who are members of their site collections.

People search planning also feeds back into user profile planning. Initial planning might reveal people or groups of users whom you want to make it easier to find. However, additional user profile properties might have to be created to allow for those users to be found easily. For more information about planning user profiles, see Plan user profiles (SharePoint Server 2010).

Expertise search

When planning My Sites, you should determine whether you want to enable users to locate colleagues within the organization based on the colleagues' expertise. People search and expertise tagging help users locate people inside an organization who have identified themselves as having significant experience with a particular subject. Users in your organization can add terms to their profile that describe areas in which they have experience. These terms are used by people search when a user searches for someone in the organization who has experience in a particular area.

If e-mail analysis is enabled, users can also find people by using e-mail analysis in Outlook 2010. Colleague suggestions are imported from Outlook if you are using Microsoft Office Outlook 2007 e-mail. If you are using Microsoft Outlook 2010, SharePoint Server analyzes sent e-mail messages and then makes colleague and keyword suggestions based on this analysis. Users can then see these suggestions when they edit their profiles.

Although you can enable e-mail analysis for all users in Outlook or only for specific groups by using Group Policy, users can opt out of this feature. If e-mail analysis is disabled for all users, individual users can still opt in. For more information about e-mail analysis, see Enable SharePoint Server 2010 Colleague in Outlook 2010.

Planning for jobs and schedules

The timer jobs in the following table are related to My Sites functionality.

Services | Jobs
Microsoft SharePoint Foundation Web Application | My Site Cleanup Job
Microsoft SharePoint Foundation Timer | User Profile service application name - User Profile to SharePoint Full Synchronization User Profile service application name - User Profile to SharePoint Quick Synchronization
User Profile Service | User Profile service application name - Activity Feed Job User Profile service application name - Activity Feed Cleanup Job User Profile service application name - My Site Suggestions Email Job

You can enable or disable these jobs, and configure their schedules to meet the needs of your organization. These jobs are located in Central Administration, under Monitoring, in Review job definitions section. In the View list, select Service and then, from the Service menu, select Change Service to select different services and view the related timer jobs.

For more information about these jobs, see Timer job reference (SharePoint Server 2010).

Planning for geographically distributed deployments

When planning for My Sites, you must consider the location of the users in the organization and the number of farms or User Profile service applications that will host My Sites. If you have more than one farm or User Profile service application, you will likely have to configure trusted My Site host locations and the User Profile Replication Engine.

Trusted My Site host locations

The Trusted My Site Host Locations feature prevents a user from creating more than one My Site in an organization with multiple User Profile service applications.

For example, in a server farm deployment that spans geographic regions, you might have separate User Profile service applications for each region or regional server farms in the environment. By default, a user can create a different My Site in each User Profile service application or server farm, which could cause unwanted results from both an administration perspective and a user perspective. When you have multiple My Sites for an individual user in an organization, server resource needs increase. Additionally, users might not understand or want multiple My Sites.

To prevent individual users from creating multiple My Sites, configure trusted My Site host locations. When specified, users are redirected to the single My Site host location that is intended for their accounts regardless of where they are browsing when they attempt to create or access their My Sites. This feature ensures that each user can create only one My Site in an organization.

Configuring trusted My Site host locations is optional. For more information about configuring trusted My Site host locations, see Add or delete a trusted My Site host location (SharePoint Server 2010).

User Profile Replication Engine

The User Profile Replication Engine replicates user profiles and social data, such as social tags, notes, and ratings, between User Profile service applications. This is important in geographically dispersed deployments, as user profile data and social data are isolated in domains. As a result, personalization features, such as profiles and People Search, might return inaccurate results inside a domain. The User Profile Replication Engine maintains consistent user profile data and social data throughout the enterprise.

Configuring the User Profile Replication Engine is optional. It is a separate download as part of the SharePoint 2010 Administration Toolkit. For more information, see User Profile Replication Engine overview (SharePoint Server 2010).

Planning for the multilingual user interface

When enabled, users can use the multilingual user interface feature for their My Sites. This feature is used to display the site's user interface in a secondary language that the user prefers instead of the default, primary language that was selected when the site was created. By default, when a new site is created, it is created in the default, primary language of the SharePoint Server 2010 installation on the server. A farm administrator must install language packs on the server before sites can be created in languages other than the default, primary language.

For My Sites, the multilingual user interface feature is controlled by the Language Options setting when you configure My Site settings. The languages that are available to users correspond to the language packs installed in the server farm. For more information about the multilingual user interface and its effect on My Sites, see Multilingual user interface overview (SharePoint Server 2010) and Plan for multilingual sites (SharePoint Server 2010). For more information about language packs, see Deploy language packs (SharePoint Server 2010).

Planning for storage requirements

Because My Site users can edit their profiles, generate activities, upload and download documents, and so on, plan carefully for the storage and capacity needs of your environment. Take into consideration the content databases for My Sites and the databases for the related services of My Sites. For more information, see Storage and SQL Server capacity planning and configuration (SharePoint Server 2010).

Additionally, SharePoint Server includes a default Personal Site quota template, which has a storage limit of 100 MB and no user limit. This quota template is used for each user's individual site collection in their My Site. If the default settings for this template do not meet your needs, you can edit it.

Configuring quota templates is optional, but recommended. For more information, see Manage site collection storage limits (SharePoint Server 2010).

Planning for file types

Like other Web applications in SharePoint Server, you can configure the file types that users are able to upload to or download from the Web application that hosts My Sites. This is useful if you want to prevent users from uploading or downloading file types that can be large, such as media file types, or file types that can be run on the client computer, such as executable files.

By default, SharePoint Server blocks certain file types. However, you can configure My Sites to allow these file types, or add other file types to block depending on the needs in your organization. For more information about managing file types, see Manage blocked file types (SharePoint Server 2010).

See Also

Concepts

Set up My Sites (SharePoint Server 2010)
Plan for social computing and collaboration (SharePoint Server 2010)

Other Resources

Resource Center: Enterprise Collaboration in SharePoint Server 2010


Audience and content targeting planning (SharePoint Server 2010)

Published: June 24, 2010

Audiences are part of a User Profile service application that enables organizations to target content to users based on their job or task. Audiences can be defined by one or a combination of the following items:

  • Membership in a distribution list

  • Membership in a Windows security group

  • Location in organizational reporting structure

  • By public properties in user profiles

You can also target content by using SharePoint groups to target content in Web Parts.

This article describes the architecture of audiences and content targeting, and key decisions to make when planning the use of audiences for an organization. This article does not explain how to plan user profiles or how to plan security for sites and content. For more information, see Plan user profiles (SharePoint Server 2010) and Security planning for sites and content (SharePoint Server 2010).

Security Note:

Do not use audiences as a substitute for configuring permissions for SharePoint users and groups. For more information, see Security planning for sites and content (SharePoint Server 2010).

In this article:

  • Prerequisites

  • What are audiences?

  • Planning for audiences

  • Planning for content targeting

  • Example: Configuring audiences for a personalization site

  • Worksheet

Prerequisites

Administrators should plan audiences as part of the user profile management system. Before you plan audiences, you should already have completed the following plans:

  • Plan for Windows security. For more information, see Choose security groups (SharePoint Server 2010).

  • Plan for user profiles and distribution lists. For more information, see Plan user profiles (SharePoint Server 2010).

  • Plan for sites and site collections. For more information, see Plan sites and site collections (SharePoint Server 2010).

  • Plan SharePoint groups. For more information, see Determine permission levels and groups (SharePoint Server 2010).

What are audiences?

Microsoft SharePoint Server 2010 supports two kinds of audiences:

  • Global audiences Global audiences are defined by properties in a User Profile service application. Global audiences include audiences that are defined by relationships (reporting structures), as well as other properties.

  • Windows security groups and distribution lists The Windows security groups that are available when you are creating audiences are those that are imported when user profiles synchronized with the User Profile service application.

    The distribution lists that are available when you are creating audiences are those that are imported when user profiles are imported into the User Profile service application.

    For more information about including security groups and distribution lists in the User Profile Service application, see Plan user profiles (SharePoint Server 2010).

Note:

Although SharePoint groups can be used with Web Parts to target content, they cannot be used to define audiences.

An audience is defined by a collection of one or more audience rules and by whether all or only one of the audience rules must be met when evaluating membership. An audience rule can be based on membership in a Windows security group, membership in a distribution list, position in an organizational hierarchy, or by a user profile property. To define each audience rule, you must select an operand, operator, and value. An example of an audience rule based on membership in a Windows security group is as follows:

Element | Value
Operand | User
Operator | Member of
Value | Sales

Once an audience has been defined, it must be compiled on a regular basis because the underlying user profile properties and membership in directory services and groups can frequently change. An administrator schedules the timer job that controls when audiences are compiled.

Planning for audiences

When planning audiences during initial deployment, the goal should be to find the smallest possible set of key audiences based on the following criteria:

  • An evaluation of the organization's content needs

  • The information architecture of the site and site collections

  • The users who are associated with each site collection

We recommend that you follow this process for planning audiences in an initial deployment:

  1. Record the central purpose for each site collection and site.

    In general, each site collection has a focused set of business processes that are associated with specific groups of users.

  2. Determine the smallest number of audiences that can enable you to target content as needed.

    You may want to start by identifying requirements in the existing environment. For example, existing working teams, cross-group projects, key business processes, and site structure may include groups of users that can be translated to audiences.

  3. Record all existing distribution lists and existing SharePoint groups, and map them to your audience needs.

  4. Identify additional audiences that must be defined.

    You may be able to create the audiences that you want from distribution lists, and Windows security groups. However, it is common to require additional audiences that are defined by user profile properties.

    Planning audiences may also help you find gaps in plans for user profiles and distribution groups. To support a specific audience, you may find that you need to add more profile properties or distribution groups.

  5. Identify additional SharePoint groups that must be defined.

    As you determine which Web Parts will target audiences or SharePoint groups, you may find gaps in plans for SharePoint groups. To support a specific target, you may find that you need more SharePoint groups.

By the end of the audience planning process, you should have a list of audiences that meet the needs of the groups of users who are using each site collection.

Planning for content targeting

In order to use audiences to target content, the User Profile service administrators and site administrators must decide which site elements will be used in each site. User Profile service administrators and site administrators should work closely together to ensure that they are providing a consistent experience for audiences across sites and site collections.

Once defined, audiences can be used to target content in the following ways:

  • For Microsoft Office 2010 client applications, a User Profile service administrator can define the links that display in the SharePoint locations, and set the audiences that each link is visible to.

  • On My Sites, a User Profile service administrator can set audiences for the My Site navigation links that appear on the top bar.

  • For My Site scenarios in which users must have access to one or more additional My Site host locations, a User Profile service administrator can manage a list of Trusted My Site host locations, and then target each trusted location to the audiences that need to view it.

    In an environment with multiple My Site host locations, audiences also determine in which trusted My Site host location a My Site is created.

  • In an environment in which a User Profile service application and audiences are configured, site administrators can use Web Parts to target content by audience.

  • Site administrators can use SharePoint groups to target content to Web Parts both in environments that are running a User Profile service application, and in environments that are not running a User Profile service application.

Targeting Office client application links

User Profile service administrators control the links that display in the SharePoint list in Office client applications when you are opening or saving files, and set the audiences that each link is visible to. By default, the same links to Office 2010 client applications appear for all users of the User Profile service application. Links become much more useful when they are targeted to audiences.

Examples of links that can be published to client applications include the following:

  • Sites, including team sites, portal sites, and project workspaces.

  • Data connection libraries.

  • Document libraries or document repositories.

Targeting personalization site links (My Site navigation links)

The links that are displayed on My Site pages in the top navigation bar (personalization site links) can be targeted to specific audiences. User Profile service administrators control the links displayed on the My Site navigation bar, and set the audiences that each link is visible to. In many cases, a link might be relevant for one group in an organization but not for everyone.

Targeting Trusted My Site host locations

In some scenarios, such as a global deployment with geographically distributed shared services, some users can have access to one or more My Site host locations. User Profile service administrators for each service application manage a list of Trusted My Site host locations, and then target each location to the audiences of users who have to view those locations. In an environment with multiple My Site host locations, audiences also determine in which trusted My Site host location a My Site is created for a specific user.

Because trusted My Site host locations are processed in priority order within the list, users see the personalized information that is most relevant for the My Site that they are viewing. Additionally, personalization information is available even if individual service applications are unavailable. Deployments that have only one User Profile service application do not need this feature.

For more information, see Plan for My Sites (SharePoint Server 2010).

Target Web Parts

Any Web Part can be targeted to a specific set of audiences by adding those audiences to the Target Audiences box in the Advanced section of the Web Parts tool pane.

Note:

Although SharePoint groups cannot be used to define audiences, they can be selected as audiences in the Target Audiences box.

Web Parts that are frequently used with audiences to target content include the Content By Query Web Part. The Content By Query Web Part can target content in the following ways:

  • Group results by audience.

  • Display list items from multiple hierarchical levels.

  • Display list items to specific audiences.

Another group of Web Parts that are frequently used with audiences are filters. Filters can be connected to other Web Parts so that they only display results based on certain properties, such as audience. Filters are often connected to business data Web Parts to enable users to target business data based on audience.

Example: Configuring audiences for a personalization site

Several users who report to the same manager use a site that provides a personalized view of key business data. To make site more available, a User Profile service administrator first defined an audience based on the User operand and the Reports Under operator. The administrator then created a personalization site link for the group that uses the site. As the site becomes more widely used, the User Profile service administrator makes the following changes, first verifying that membership in the audience is set to satisfy any (not all) of the rules:

  • When another group starts to use the site, a second audience rule is added based on the User operand and a different Reports Under value.

  • Users from a distribution list also begin to use the personalization site. To accommodate them, another new audience rule that is based on the User operand, the Member of operator, and the value for a distribution list that contains these additional users is added.

  • Later, the manager of a branch office requests that his staff be granted access to the personalization site. The administrator creates a new audience rule with the Property operand, by using the Office property.

  • Finally, the administrator is asked to grant access to the personalization site to all financial analysts. The administrator creates another audience rule, based on the Title property.

Worksheet

Download an Excel version of the SharePoint Products 2010 Audience and content targeting worksheet (http://go.microsoft.com/fwlink/p/?LinkId=214814). Use this worksheet to plan for audience and content targeting.


Social tagging overview (SharePoint Server 2010)
See Also

A tag is a word or phrase that identifies an individual piece of information according to a set of attributes or criteria. Tags make it easy to find and share information about a specific subject or task.

Social tagging helps users categorize information in ways that are meaningful to them. Social tagging can improve the quality of search results by filtering against specific tags, and it can also connect individuals who want to share information with other users who have like interests.

This article describes the social tagging features in Microsoft SharePoint Server 2010. This article does not describe how to configure social tagging features. It also does not discuss how to implement social tagging features as part of an overall social media strategy for an enterprise. For more information, see Privacy and security implications of social tagging (SharePoint Server 2010).

In this article:

  • About using social tagging features

  • Social tagging features

  • Use and benefits of social tagging

  • Impacts of social tagging

About using social tagging features

Social tagging features help users to share information and to retrieve relevant, high-quality content more efficiently. Such sharing encourages collaboration and brings users into contact with subject matter experts who can provide information and assistance. Enterprises can also use the social tagging features of SharePoint Server 2010 to ensure compliance with industry or government regulations or to prepare for an audit or e-Discovery. For more information, see Planning for eDiscovery (SharePoint Server 2010).

Social tagging features

SharePoint Server 2010 contains the following social tagging features:

  • Social tags, which enable users to save items of interest, organize all information for a project, and connect to others who share their interests.

  • The Note Board, which enables users to add comments about Web pages, documents, and library items to be tracked in a central location.

  • Ratings, which are social tags that allow users to assess the value of content against a scale, for example, one through five stars.

  • Bookmarklets, which enable users to add tags and notes to pages that are outside a SharePoint environment. For example, if users add tags to a page on an Internet Web site, those tags and notes can appear on the Tags and Notes tab of their My Site.

Social tags, the Note Board, and ratings are controlled by the Use Social Features permission of the User Profile service.

Social tags

Social tags are user-generated words or phrases that describe pieces of information. They are not part of a formal taxonomy, such as the enterprise keywords in the term store associated with a Managed Metadata service application in SharePoint Server, or the International Statistical Classification of Diseases and Related Health Problems (ICD) codes used in medicine to represent specific diagnoses. Users create social tags based on their subjective experience with a specific piece of information.

Social tags consist of a user identity, an item URL, and the tag itself. Social tags are stored in the social tagging database that is part of the User Profile service. By default, all authenticated users can add social tags to documents and other SharePoint items. Anyone with the Manage Social Data permission can delete a tag.

Tag clouds provide an aggregate view of the tags that a group of users have applied to a single piece of information. SharePoint Server 2010 includes a tag cloud Web Part that appears by default on a My Site. Administrators and users can filter the tag cloud to display tags that are used by the owner of the My Site, specific groups, or everyone who can view the My Site. The display can also be filtered based on date and language. Frequently used tags are displayed in large, bold text, whereas tags that are less often used appear in smaller text. Each tag can display an associated number that indicates how many times the tag was applied.

Note Board

The Note Board is a Web Part that enables users to make impromptu comments on any SharePoint Server 2010 site. Users can also make Note Board comments on the My Profile pages of others or on their own page. Anonymous users cannot add notes.

The Note Board helps users express thoughts in their immediate context rather than having to move to e-mail, instant messaging, or phone. For example, users can make comments about a Web page while they are viewing the page. Other users can then see the comment and a link to the Web page, which they can visit if they are interested in the subject. This immediacy helps My Sites and My Profile pages become centralized places to manage public conversations.

Ratings

A rating in SharePoint Server 2010 is an assessment or classification of content on a scale according to how well the content meets specific criteria. Ratings show an average score that can range from 1 to 100, and a popup window that displays additional information about the score. Users can rate items in a SharePoint list, document library, and individual Web pages. Users do not require write permission on an item in order to rate it.

Each rating consists of a user identity, an item URL, and the rating itself. A rating also contains the date and time when the rating was applied. Ratings are stored in a table in the same database that stores social tags.

By default, ratings support is enabled across a farm. However, to use ratings in a specific site collection, ratings must first be enabled for that site collection. Ratings can be enabled on any site template if support for ratings is enabled on the farm. By default, the Ratings feature is on for the Publishing Portal site template.

Bookmarklets

A bookmarklet is a JavaScript control that users can save as a bookmark in their browsers. Bookmarklets enable users in a SharePoint environment to tag, write notes about, and rate items on Web sites outside the SharePoint environment—for example, Internet Web sites—and then share those tags, notes, and ratings with their team and colleagues.

Note:

Although tags themselves are always public, you can choose to prevent others from seeing that you have tagged a specific item. Notes are always public.

When a user tags an external Web site, the http://my/_layouts page within the user profile of the user opens. All tags and notes entered on that page will then appear on both the Tags and Notes tab of the user's My Site and the user's profile page, where the user's team and colleagues can see them.

A bookmarklet consists of a user identity, a word or phrase, and a URL for the content being tagged. Users can make bookmarklets on the Tags and Notes tab of their own Profile page private; they can also delete a bookmarklet.

Use and benefits of social tagging

Social tagging has benefits for both business and IT organizations in an enterprise.

Business benefits

The social tagging features of SharePoint Server 2010 help businesses to improve collaboration and to improve the discoverability of business information.

Improve collaboration to encourage innovation

User profiles enable users to identify themselves and find experts. Note Board comments can identify a group of users who are interested in a specific topic. Suggestions for a user's My Colleagues list can be derived from these social connections.

Improve the discoverability of business information

Social tagging features can help increase the visibility of high-quality content and identify the latest version of content. For example, a My Site feed can notify a user when a Web page is tagged with a tag that the user has included in his or her user profile. These features can also integrate with business intelligence applications to connect users with enterprise data that they need to do their jobs without having to leave their SharePoint environments.

IT benefits

The social tagging features of SharePoint Server 2010 give IT organizations the following capabilities:

  1. Set policies that control group activities while allowing users to manage some settings themselves, which can reduce the need for IT to be involved in the day-to-day management of some social tagging activities.

  2. Grant a limited set of read-only permissions to anonymous users, to restrict their access to selected site collections.

  3. Plan ahead of time to use the scalable architecture of SharePoint Server 2010 to enable gradual rollouts and add capacity when the number of users increases.

  4. Manage social tagging features at the level of Central Administration, a site collection, or a site. IT administrators can assign a user to be the administrator for a site collection or a site and give the designated administrator the Manage Social Data permission for that scope. This distribution of administrative responsibilities helps IT use resources more efficiently.

  5. Use social computing functionality to relieve IT staff of some support activities. For example, a hosted Enterprise wiki can encourage users to share tips and tricks, or an RSS feed can send support updates.

  6. Integrate new tools with existing applications to maintain a consistent user experience, which can encourage adoption and minimize training costs.

Impacts of social tagging

Although social tagging offers many benefits, there are accompanying risks. The security of content and the privacy of users are primary concerns in any implementation of social tagging. Performance and capacity issues are also critical to the long-term success of the implementation.

Security and privacy

Unless appropriate safeguards are in place, it is possible to violate a user's privacy or to expose content that should be kept secure. SharePoint Server 2010 enables administrators to set policies that help to protect privacy while allowing users some discretion in their use of social features. For more information, see About property policies in the "Plan user profiles" article. SharePoint Server 2010 also enables administrators to safeguard sensitive content. For example, an administrator can add a site URL to a list of excluded sites to prevent the site and any sub-sites from being tagged.

Users must understand the security and privacy implications of social tagging features. For example, they must understand that when someone tags a site or document, the title and URL of that site or document is broadcast to anyone who lists that user as a colleague on their My Site and to anyone who has that tag as an interest in their user profile. For more information, see Privacy and security implications of social tagging (SharePoint Server 2010).

Performance and capacity

Performance and capacity issues can discourage users from participating in social tagging activities. Although individual tags, ratings, bookmarklets, and comments require very little storage space, in the aggregate they will affect the size of the profile database, the term store, and the social tag database. Given the rapid increase in adoption of social tagging, any implementation must be able to scale out to accommodate large numbers of new users.

See Also

Concepts

Plan for social computing and collaboration (SharePoint Server 2010)
Plan for My Sites (SharePoint Server 2010)


Privacy and security implications of social tagging (SharePoint Server 2010)
See Also

Social tagging helps people communicate and share information. By definition, communicating and sharing information can affect privacy (if personal information is shared) and security (if confidential information is shared). Social tagging in Microsoft SharePoint Server 2010 provides features that you can use to manage the effects on privacy and security.

In this article:

  • How social tagging information is hidden

  • How social tagging information is displayed

  • What information is still exposed

  • Recommendations

How social tagging information is hidden

Three features of SharePoint Server 2010 help protect privacy and security:

  • Private tags

  • The ratings control

  • Security trimming

Private tags

A user who adds a tag to a Web page can indicate that the tag is private. Other people cannot see the fact that the tag was added to the Web page. Other people do not see the tag in the user's tag cloud, unless the user who added the tag also applied the same tag to another Web page without making the tag private.

Ratings control

The ratings control only displays the aggregate rating that an item has received. It does not display which users rated the item or what individual ratings were provided.

Security trimming

Adding a tag, a note, or a rating to a Web page creates an activity. Before SharePoint Server displays an activity, it uses a component called the security trimmer to determine whether the current user has permission to view the Web page that the activity applies to. If the user is not permitted to view the Web page, SharePoint Server does not display the activity.

As the search service crawls Web pages, it records the permissions that are required to view each Web page. The security trimmer uses this information to determine whether a given user has permission to view a specific Web page. If the security trimmer has insufficient information to determine whether a user has permission to view a Web page, it errs on the side of caution and reports that the user does not have permission to view the Web page. As a result, if the search service has not crawled a Web page, activities that relate to that Web page will not be displayed.

Note:

There is one exception: when you view your own My Profile page, all of your activities are displayed. See How social tagging information is displayed for an explanation of why this happens.

How social tagging information is displayed

There are three ways in which a user can see social tagging information:

  • On a user's My Profile page

  • As the result of following a tag or a colleague

  • On Web pages in the SharePoint Server farm

Each of these ways is described in the following sections.

My Profile pages

Every user who is known to the User Profile Service has a My Profile page, which shows information about the user. When you view someone else's My Profile page, the content that you see is security trimmed. The content that you see on your own My Profile page is not security trimmed.

The Tags and Notes tab of a user's My Profile page contains a tag cloud that consists of the tags that the user has added to Web pages. Everyone can view the tag cloud. The tag cloud that you see on your own My Profile page contains both public and private tags. The tag cloud that you see on someone else's My Profile page contains only public tags.

When you select a tag in the tag cloud, activities that are associated with the tag are displayed in the Activities section. If you are viewing someone else's My Profile page, the activities are security trimmed. Therefore, you could see a tag that did not appear to have any activities associated with it.

The Overview tab of a user's My Profile page contains a section titled Recent Activities. As its name implies, this section contains a list of the user's recent social tagging activities. The list is security trimmed, unless you are viewing your own My Profile page.

The Overview tab of a user's My Profile page also contains a Note Board. Notes that people have added to the user's My Profile page are displayed here. All notes are public.

Following

You can express your interest in knowing when a specific tag is used by following the tag. When you follow a tag, you are notified every time someone adds the tag to a Web page. These notifications are security trimmed so that if someone adds the tag to a page that you do not have permission to view, you are not notified of that activity. The fact that you are following a tag is public; people can view a list of everyone who is following a tag from the tag's Tag Profile page.

You can express interest in knowing about the social tagging activity of someone else by adding the person as a colleague. When you make someone your colleague, you are notified every time the person adds a tag, a note, or a rating to a Web page. The information is security trimmed so that you only see activities that are related to Web pages that you have permission to view.

Note:

The security trimmer removes ratings that are applied to list items. It does not remove ratings that are applied to other items, such as documents and Web pages.

Web pages

When you add a tag or a note to a Web page within the SharePoint Server farm, you can see the tags and notes that other users have added to the Web page. You can see all notes, but you can only see public tags.

What information is still exposed

Tags themselves - the words or phrases that have been applied to Web pages - are stored in a term store. (For more information about term stores, see Managed metadata overview (SharePoint Server 2010).) Both public and private tags are stored in the term store. The term store does not identify the person who created the tag or the Web page that the tag was applied to.

Recommendations

Although SharePoint Server 2010 provides features that help protect privacy and security when social tagging is used, you should take additional actions to benefit the most.

  • Educate users about which aspects of their social tagging activity are public and which are private. Train users to mark tags as private when they do not want other users to see that they have applied a tag to a Web page.

  • Carefully evaluate all custom code before you deploy it. A custom application can access social tagging data by using the SharePoint Server 2010 social tagging object model, or directly from the database. An application can access the same social tagging data that would be available to the account it runs under. If the application runs under an account that has database administrator permissions or under an account that is a User Profile Service administrator and has Manage Social Metadata permission, the application can access all social tagging information, such as private tags, without security trimming. Ensure that custom applications only present information that meets your organization's privacy and security standards.

  • Consider a custom security trimmer. If SharePoint Server's security trimmer has insufficient information to determine whether a user has permission to view a Web page, it errs on the side of caution and reports that the user does not have permission. One result of this behavior is that tags, notes, and ratings that are added to external Web sites are always trimmed. If this behavior is not appropriate for your situation, consider implementing a custom security trimmer. For a sample custom security trimmer, see ISocialSecurityTrimmer Interface (http://go.microsoft.com/fwlink/p/?LinkId=188524&clcid=0x409).

  • When the permissions that are required to access a Web site change, have the search service crawl the Web site again. The security trimmer will not recognize the new permission requirements until the site is crawled again.

See Also

Concepts

Social tagging overview (SharePoint Server 2010)
Managing privacy (SharePoint Server 2010)
Plan user profiles (SharePoint Server 2010)

Other Resources

Tagging (http://go.microsoft.com/fwlink/p/?LinkId=188521)


Enterprise Wikis overview (SharePoint Server 2010)
See Also

An Enterprise Wiki is a publishing site for sharing and updating large volumes of information across an enterprise. If an organization needs a large, centralized knowledge repository that is designed to both store and share information on an enterprise-wide scale, consider using an Enterprise Wiki.

This article compares Enterprise Wiki sites to Team Sites. This article does not provide information about how to plan or how to set up an Enterprise Wiki. For more information, see Enterprise wiki planning (SharePoint Server 2010) and Create an Enterprise wiki (SharePoint Server 2010).

In this article:

Comparison of Enterprise Wikis with Team Sites

Uses and benefits of Enterprise Wikis

Limitations of Enterprise Wikis

Example: Fabrikam Enterprise Wiki

Comparison of Enterprise Wikis with Team Sites

The Team Site template provides a flexible way to create content. This template includes a cross-browser Rich Text editor and in-line auto-completion. The Team Site template enables collaboration across teams within an organization or across organizations. Team Sites address two key concerns for anyone responsible for ensuring the integrity of an organization's content.

  • Editorial control Administrators of a Team Site, or anyone with Full Control permissions on a Team Site, can allow a subset of users to edit entries and allow all users to read the entries.

  • Version control Users can view previous versions of an entry and see when and by whom changes were made. If the changes were incorrect or inappropriate, the entry could be rolled back to an earlier version.

In SharePoint Server 2010, the Team Site template home page is a wiki page. The Enterprise Wiki template uses the publishing features of SharePoint Server 2010 to add page ratings, managed metadata, and customization capabilities. Integration with Microsoft SharePoint Designer 2010 makes it easy to modify the display of content by changing page layouts and implement consistent branding by changing master pages. For more information, see Sites and site collections overview (SharePoint Server 2010).

The following table suggests several criteria to consider when choosing between a Team Site template and an Enterprise Wiki template. For more information, see Enterprise wiki planning (SharePoint Server 2010).

If you want to: | Use this site template:
Encourage one-to-many communication | Team Site
Encourage many-to-many communication | Enterprise Wiki
Offer a structured exchange of information | Team Site
Enable a collaborative exchange of information | Enterprise Wiki
Insert images or files in a page | Team Site or Enterprise Wiki
Mark pages for easier reference by tagging them with enterprise keywords | Enterprise Wiki

Uses and benefits of Enterprise Wikis

Enterprise wikis help organizations collect, organize, and distribute information. Enterprise wikis often become repositories for an organization's unstated knowledge, which otherwise might not be stored anywhere. Enterprise wikis can encourage informal learning and sharing tips with other users, which can reduce the need for formal training or continuous IT support.

Limitations of Enterprise Wikis

Because an Enterprise wiki can generate a high level of network traffic, you might find it necessary to configure a single site collection and a single, dedicated Microsoft SQL Server database. If the Microsoft SQL Server database is shared, users might experience slower performance. For more information, see Enterprise wiki planning (SharePoint Server 2010).

Enterprise Wiki pages cannot be converted or migrated to pages on a Team Site without using custom code. Because Enterprise Wikis are used with the publishing feature in SharePoint Server 2010, there are significant differences between an Enterprise Wiki site and a Team Site.

Example: Fabrikam Enterprise Wiki

Fabrikam Corporation maintains a company-wide Enterprise Wiki where employees can find and contribute the latest, most comprehensive information about corporate activities, benefits, and services. The Enterprise Wiki enables employees to use social tags and notes to help other employees find content. For example, an employee in the Human Resources organization posts a page about tax-law changes that may affect some employees who have minor dependents. The employee tags the page with several keywords, including "tax", "dependents", "minors", and "deductions". At tax time, an employee in the Sales organization searches on the keywords "dependents" and "deductions" and retrieves the page that was posted by the employee in the Human Resources organization.

See Also

Other Resources

Resource Center: What's New in Microsoft SharePoint Server 2010
Resource Center: Enterprise Collaboration in SharePoint Server 2010


Enterprise wiki planning (SharePoint Server 2010)
See Also

An Enterprise Wiki is a publishing site for sharing and updating large volumes of information across an enterprise. If an organization needs a large, centralized knowledge repository that is designed to both store and share information on an enterprise scale, consider using an Enterprise Wiki. For more information, see Enterprise Wikis overview (SharePoint Server 2010).

Enterprise Wikis use the Enterprise Wiki site template, which is built on the Microsoft SharePoint Server 2010 publishing infrastructure. This infrastructure provides various ways to control content. For example, you can assign permissions or use a workflow to establish an approval process.

This article contains information to help you plan an Enterprise Wiki solution for your organization.

In this article:

  • About planning an Enterprise Wiki

  • Decide whether to use an Enterprise Wiki

  • Evaluate prerequisites

  • Choose a location for hosting an Enterprise Wiki

About planning an Enterprise Wiki

Before you implement an Enterprise Wiki, you must determine whether it is the most appropriate solution for the organization. An Enterprise Wiki is a good solution when a business need requires multiple users to contribute to a knowledge repository. However, if you need a way to set up one-to-many communication about a project or area of interest, you should use a Team Site.

Warning:

Enterprise Wiki pages cannot be converted or migrated to pages on a Team Site without using custom code. Enterprise Wikis are used with the publishing feature in SharePoint Server 2010, so there are significant differences between an Enterprise Wiki site and a Team Site.

This article does not discuss how to plan a Team Site. To learn more about how to plan a Team Site, see Collaboration site planning (SharePoint Server 2010)).

Follow this sequence of steps to plan an Enterprise Wiki.

Decide whether to use an Enterprise Wiki

Representatives from several groups in an organization should be involved in the decision to implement an Enterprise Wiki. Ideally, you should have participants from IT, information architecture, the business unit requesting the Enterprise Wiki, and Human Resources. (Your organization might have different names for these roles, or one person might assume more than one role.) The group should consider the following questions during its decision-making process:

  • What purpose will the Enterprise Wiki serve? An Enterprise Wiki should have a clear purpose. For example, it might address a specific business goal or it might be a centralized body of knowledge about a specific topic, process, or business problem. The goal is to provide a space where members of a virtual community can create, change, or remove content, which might include content that previous authors created. For example, you might want to use an Enterprise Wiki to enable employees to contribute content to Tips and Tricks pages about the business applications that an organization uses. However, if you determine that that you must have a more structured way to exchange knowledge, and that most communication will be one-to-many instead of the more free-form wiki behavior, you should consider using either a team site with Web Edit or a blog.

  • How many users should be allowed to contribute? Several factors will influence this decision. Will you be able to support increasing growth and a need for increased network and server capacity? Should you determine key contributors from each business area who will become the primary contributors? Are there legal considerations about who can contribute?

  • How can we control who has access to the Enterprise Wiki? In theory, all members of an organization can be granted access to contribute, edit, and update content in an Enterprise Wiki for the organization. If you have to separate information by group, consider using either a team site with Web Edit or a blog.

  • How much control should be implemented over the content? Unlike blogs, which are designed for a more structured knowledge exchange, a wiki encourages informal contributions. However, an organization might have guidelines or requirements for handling specific kinds of content or content about a specific subject. You should also consider how to address inappropriate or inaccurate entries.

The following table compares the features of an Enterprise Wiki with those of a Team Site.

If you want to: | Use this site template:
Encourage one-to-many communication | Team Site
Encourage many-t0-many communication | Enterprise Wiki
Offer a structured way to exchange information | Team Site
Enable a collaborative exchange of information | Enterprise Wiki
Allow the use of social tags and notes | Enterprise Wiki
Control versions of documents | Team Site or Enterprise Wiki
Retain editorial control | Team Site or Enterprise Wiki
Allow pages to be rated | Enterprise wiki
Include site content in search results | Team Site or Enterprise Wiki
Mark pages for easier reference by tagging them with enterprise keywords | Enterprise Wiki
Use page layouts to provide structured page types | Enterprise Wiki

If you decide to implement an Enterprise Wiki in an organization, continue with Evaluate prerequisites.

Evaluate prerequisites

You must complete the following tasks before you can create an Enterprise Wiki.

  • Create a Managed Metadata service application to provide storage for social tags and notes. For more information, see Managed metadata service application overview (SharePoint Server 2010).

  • Create a User Profile Service Application if you plan to use the Enterprise Wiki with My Sites. For more information, see User Profile service application overview (SharePoint Server 2010).

  • To manage the site collection where the Enterprise Wiki is located, you must have at least site collection administrator permissions.

Choose a location for hosting an Enterprise Wiki

Because Enterprise Wikis can grow quickly, the location that you select for hosting must be able to handle increased performance and capacity requirements. For example, although an Enterprise Wiki generally contains pages with low storage requirements, it is typically edited by a greater percentage of users than is common for Team Sites.

Multiple Enterprise Wikis that are built on multiple site collections cannot communicate with one another. They cannot share features such as in-line auto-completion, lists, and custom searching because these features cannot span multiple Enterprise Wiki instances. You should use multiple site collections only if you determine that multiple Team Sites are a more suitable solution for an organization, given size, location, and access considerations. However, you can create an Enterprise Wiki as a subsite of another site.

This step completes the planning process. The next task is setting up the Enterprise Wiki. For more information, see Create an Enterprise wiki (SharePoint Server 2010).

See Also

Concepts

User Profile service application overview (SharePoint Server 2010)
Managed metadata service application overview (SharePoint Server 2010)

Other Resources

Resource Center: Enterprise Collaboration in SharePoint Server 2010


Collaboration site planning (SharePoint Server 2010)
See Also

With Microsoft SharePoint Server 2010, you can support collaboration sites in your environment. Collaboration sites store information that individuals and groups can collectively author, share, and revise. These sites do not need to be associated with a particular portal site collection or part of a publishing site collection. They can be stand-alone sites that are available for teams or groups of users who need to collaborate on projects or share information. For example, a team at an engineering firm might want a collaboration site to discuss current project status, assign tasks, or arrange group lunches, without publishing this internal information to the corporate intranet.

Collaboration sites can be made available for searching from your portal or publishing site so that information from these sites is not lost to your organization. However, for easier data recovery and maintenance, collaboration sites should be hosted either on a separate Web application or in separate content databases in the same Web application as your portal or publishing site.

You can create these collaboration sites for your users, or you can allow the users to create these sites on their own.

For more information on enterprise-wide wikis, see Enterprise wiki planning (SharePoint Server 2010).

In this article:

  • Determine number of collaboration sites

  • Specific paths

  • Additional paths

Determine number of collaboration sites

Estimate approximately how many collaboration sites to expect in your environment, and how many such sites that you are willing to support. If you require users to request a collaboration site, you can control how many are created. If you let users create their own collaboration sites, you will have many of these sites in your environment.

Specific paths

You can use specific paths in Microsoft SharePoint Server 2010 to contain the SharePoint site collections, similar to the way that folders contain files or documents in the file system. By default, when you create a Web application, two paths are made available for you:

  • Root path (/) This is an explicit inclusion that can contain one site collection. For example, if you want a URL to appear as http://company_name/default.aspx, you would create the site collection at this root path.

  • Sites path (/sites) This is a general path that can contain many site collections. For example, when you use the /sites path, the URL for a site named Site_A would be similar to http://server_name/sites/Site_A/default.aspx.

    Note:

    The name of the /sites path varies depending on the specific language that was used during installation.

Additional paths

You can also create additional paths. This enables you to group site collections. Then, when you create a site collection, you can choose from the following alternatives:

  • Create the site collection at the root of the Web application (if no site collection has already been created there).

  • Create the site collection under the /sites path.

  • Create the site collection under any additional paths that have been made available for that Web application.

In general, the /sites path should be sufficient for most installations. However, consider using other paths for the following situations:

  • You have a complex installation and expect to have many site collections, and you want to group similar sites together.

    For example, you could use /personal for individual user sites and /team for group collaboration sites, instead of using /sites for all.

  • You want to be able to add a filter to your firewall or router to constrain a specific namespace to internal access only.

    For example, you could expose the /team path for external collaboration, but not /personal.

Integration with Microsoft SharePoint Workspace 2010

Microsoft SharePoint Workspace 2010 provides a rich client for Microsoft SharePoint Server 2010, which enables real-time synchronization of desktop content with SharePoint documents and lists. Microsoft SharePoint Workspace 2010 also provides options for creating ad hoc Groove collaboration workspaces and shared folder workspaces. Information can be easily synchronized both online and offline with a designated SharePoint site or with external partners and offsite team members via shared workspaces. Microsoft SharePoint Workspace 2010 is installed automatically with enterprise versions of Microsoft Office 2010 or it can be installed separately from Microsoft Download Center (http://go.microsoft.com/fwlink/p/?LinkID=48516).

For more information, see Plan for SharePoint Workspace 2010.

See Also

Other Resources

Resource Center: Enterprise Collaboration in SharePoint Server 2010


Enterprise content management planning (SharePoint Server 2010)

Enterprise Content Management (ECM) in Microsoft SharePoint Server 2010 includes the management of documents, records, and digital assets.

In this section:

  • Document management planning (SharePoint Server 2010)

    SharePoint Server 2010 includes document management features that you can use to control the life cycle of documents in your organization — how they are created, reviewed, and published, and how they are ultimately disposed of or retained. The articles in this section will guide you in planning the document management features of your solution.

  • Records management planning (SharePoint Server 2010)

    The articles in this section describe records management in SharePoint Server 2010 and provide guidelines for planning your records management solution.

  • Digital asset library planning (SharePoint Server 2010)

    SharePoint Server 2010 provides content types that are designed specifically for audio and video assets and that support the storage and playback of these assets in Web Parts and Web Parts pages. Use the articles in this section to guide you in planning a digital asset library based on SharePoint Server 2010.


Document management planning (SharePoint Server 2010)
See Also

These articles will guide you in planning the document management features of your solution that is based on Microsoft SharePoint Server.

SharePoint Server includes document management features that you can use to control the life cycle of documents in your organization — how they are created, reviewed, and published, and how they are ultimately disposed of or retained.

The articles in this chapter include the following:

  • Document management overview (SharePoint Server 2010) includes an introduction to document management in the enterprise and a description of the document management planning process that is recommended in this planning guide.

  • Identify users and analyze document usage (SharePoint Server 2010) describes how to create a document management planning team. It also provides guidance on how to determine the kinds of documents used in your enterprise and how to analyze the stages in the life cycle of these documents.

  • Metadata-based routing and storage overview (SharePoint Server 2010) provides information to help solution planners and designers use the Content Organizer feature to implement metadata-based routing and storage as part of a comprehensive document management solution.

  • Metadata-based routing and storage planning (SharePoint Server 2010) contains information to help IT Pros plan how to use the Content Organizer to route and store content based on metadata.

  • Metadata navigation overview (SharePoint Server 2010) provides information to help solution planners and designers use the Metadata Navigation and Filtering feature to locate content in document libraries.

  • Document library planning (SharePoint Server 2010) describes how to use document libraries to organize documents in your enterprise.

  • Enterprise content storage planning (SharePoint Server 2010) contains information to help solution planners and designers plan enterprise content management solutions, from small scale to large scale.

  • Document Sets planning (SharePoint Server 2010) describes how to use document sets to organize a collection of documents as a single project or work product.

  • Content type and workflow planning (SharePoint Server 2010) describes how to plan content types, which are the SharePoint Server mechanism to define and share the attributes of documents, list items, and folders. This article also describes how to use the SharePoint Server workflow feature to design document-related processes.

  • Information management policy planning (SharePoint Server 2010) describes how to plan enterprise-wide policies that will help your organization comply with regulatory and legal obligations, in addition to best practices such as document audits and suitable document retention.

  • Versioning, content approval, and check-out planning (SharePoint Server 2010) describes how to plan content governance by using versioning, check-in and check-out, and approval for publishing content.

  • Co-authoring overview (SharePoint Server 2010) describes the feature and provides administrators an understanding of the settings that can be used to manage co-authoring.

  • Plan Information Rights Management (SharePoint Server 2010) describes Information Rights Management (IRM) and how SharePoint Server permissions relate to IRM permissions.

See Also

Other Resources

Resource Center: Governance in SharePoint Server 2010
Resource Center: Enterprise Content Management in SharePoint Server 2010


Document management overview (SharePoint Server 2010)
See Also

This article provides a high-level description of the various elements of a document management solution that is based on Microsoft SharePoint Server 2010.

In this article:

  • The elements of a document management system

  • The planning process

Document management controls the life cycle of documents in your organization — how they are created, reviewed, and published, and how they are ultimately disposed of or retained. Although the term "management" implies that information is controlled from the top of the organization, an effective document management system should reflect the culture of the organization that uses it. The tools that you use for document management should be flexible enough to enable you to tightly control a document's life cycle, if that fits your enterprise's culture and goals, but also to let you implement a more loosely structured system, if that better suits your enterprise.

The elements of a document management system

An effective document management solution specifies the following:

  • What kinds of documents and other content can be created in an organization.

  • What template to use for each kind of document.

  • What metadata to provide for each kind of document.

  • Where to store a document at each stage of its life cycle.

  • How to control access to a document at each stage of its life cycle.

  • How to move documents within the organization as team members contribute to the documents' creation, review, approval, publication, and disposition.

  • What policies to apply to documents so that document-related actions are audited, documents are retained or disposed of appropriately, and content that is important to the organization is protected.

  • Whether a document has to be converted from one format to another as it moves through the stages of its life cycle.

  • How to handle documents as corporate records, which must be retained according to legal requirements and corporate guidelines.

SharePoint Server 2010 includes features that implement all these aspects of document management. To ensure that information workers can easily take advantage of these capabilities without having to depart from their day-to-day operations and familiar tools, applications in the Microsoft Office system — such as Microsoft Outlook and Microsoft Word — also include features that support each stage in a document's life cycle.

The planning process

The document management planning process consists of the following major steps:

  1. Identify document management roles Ensure that your plans incorporate the feedback of your organization's key stakeholders, you have the best team to implement the solution, and you know who will participate in document management processes.

  2. Analyze document usage After you identify who works on documents, determine the kinds of documents they work on and how they use them. For more information, see Identify users and analyze document usage (SharePoint Server 2010).

  3. Plan the organization of documents You can organize documents in site collections, sites, and libraries. SharePoint Server 2010 offers a range of features to help organize and store documents, from specialized sites such as the Records Repository to loosely structured document libraries for quick document creation and collaboration. Within a library, you can further organize content into folders and subfolders. For more information, see Document library planning (SharePoint Server 2010) and Enterprise content storage planning (SharePoint Server 2010).

  4. Plan how content moves between locations It might be necessary to move or copy a document from one site or library to another at different stages of its life cycle. For example, the publishing process might include moving a document from a staging site to a public Internet site. For more information, see "Plan the flow of content" in Document library planning (SharePoint Server 2010).

  5. Plan content types Use content types to organize information about documents, such as metadata, document templates, policies, and workflow processes. This is an important step to help you organize your documents and enforce consistency across your organization. For more information, see Content type and workflow planning (SharePoint Server 2010).

  6. Plan workflows When you plan workflows for your organization, you can control and track how documents move from one team member to another as each participant collaborates in a document's life cycle. SharePoint Server 2010 includes workflows for common team tasks such as reviewing and approving documents. SharePoint Server 2010 also supports creating and installing custom workflows. For more information, see Content type and workflow planning (SharePoint Server 2010).

  7. Plan content control You can plan the appropriate degree of control based on content type or storage location. For example, you might require that documents in a particular library be checked out before they can be edited. For more information, see Versioning, content approval, and check-out planning (SharePoint Server 2010).

  8. Plan policies For each content type, plan information management policies to ensure that documents are properly audited, retained, labeled, and otherwise handled according to your organization's institutional and legal requirements. SharePoint Server 2010 includes policies that implement auditing, document retention, labeling, and bar codes (to ensure that printed content can be correlated with corresponding electronic versions). For more information, see Information management policy planning (SharePoint Server 2010).

See Also

Other Resources

Resource Center: Enterprise Content Management in SharePoint Server 2010


Identify users and analyze document usage (SharePoint Server 2010)
See Also

The first step to plan your document management solution is to identify users and analyze how documents are used. This article provides guidance to identify users and analyze document usage for your solution that is based on Microsoft SharePoint Server 2010.

In this article:

  • Identify users

  • Analyze document usage

  • Worksheets

Before reading this article, you should understand the document management planning process described in Document management overview (SharePoint Server 2010).

Identify users

To identify the stakeholders and participants in your document management solution, you can use a survey to collect this information. For example, your survey might contain the following questions:

  • Who in your organization creates documents?

  • What kinds of documents do they create?

  • What role does the user of the document have?

    • Who reviews documents?

    • Who edits documents?

    • Who uses documents?

    • Who approves the publication of documents?

    • Who designs Web sites used for hosting documents?

    • Who sets guidelines and policies for managing documents?

    • Who manages records in your organization?

    • Who deploys and maintains the servers on which documents are stored?

Identifying content stakeholders can help you ensure that your document management solution is comprehensive and that you design sites and document libraries that suit your enterprise's content needs and processes.

Analyze document usage

After you identify your content stakeholders, collect information from them that will help you analyze how documents are used in your organization. This is an important part of the planning process because the analysis helps you determine the following:

  • How document libraries should be structured.

  • Which site templates to use.

  • How many sites you will need.

  • Which information management policies to apply to the sites.

  • Which physical server topology you will need to implement your solution.

The information to collect includes:

  • Document type, such as equity research note, employee performance review, internal memo, or product specification.

  • The purpose of each document type, such as "provides customers with recommendations about equities along with supporting data."

  • The author of each document type (it is helpful to list the role of the author — such as "financial analyst or "product manager" — rather than individual names).

  • The users of each document type, such as "customers" or "team members."

  • The format of the document. If the document has to be converted from one format to another at any point in its life cycle, record that information.

  • Other roles that apply to the document's life cycle, such as "technical reviewer" or "copy editor."

  • Location of the document, such as "client computer," "Web server," or "file server." Note that this question could have multiple answers, for example when a document is authored on a client computer and then published to a Web server.

The following are examples of information that might be collected and recorded in the worksheet from two different organizations in an enterprise.

Type Purpose Author User Role Format Other Roles Location

Equity research note

Gives premium customers of a financial service guidance on whether to buy or sell one or more stocks

Financial analyst

Customer

DOCX (for authoring); PDF (for publishing)

Reviewer (technical); reviewer (legal); approver; copy editor; records manager; site administrator

  • Authoring site

  • Testing site

  • Records repository

Analysis The separate authoring and publishing formats require a format conversion. The large number of reviewers requires one or more workflows (business processes implemented on the server). The three sites (authoring, testing, and records repository) require mechanisms for moving the content from one site to another. The need to manage the content in place or move the content to a corporate records repository and the regulatory implications of publishing equities advice require corporate policies and best practices, such as content auditing and retention.

Note:

For more information, see Designing for in-place records management (SharePoint Server 2010).

Type Purpose Author User Role Format Other Roles Location

Employee performance review

Evaluates the performance of an employee — including self-evaluation and manager's evaluation

Information worker; manager

Managers; human resources specialists

.DOC

Reviewer (human resources); reviewer (legal); approver (upper manager); records manager

  • Client computer

  • E-mail server (as attachment)

  • Corporate Web server

  • Corporate records repository

Analysis Two authors and multiple reviewers require one or more workflows. The document is handled by many different people, then resides in a corporate Web server (presumably highly secured) and is managed in place or moved to a records repository. The sensitive nature of this content requires Information Rights Management (IRM) on the desktops and servers, in addition to corporate policies and best practices (such as auditing) that protect the employee's privacy and the enterprise's legal standing.

Worksheets

Use the following worksheets to record the information discussed in this article:

  • Document management participants worksheet (http://go.microsoft.com/fwlink/p/?LinkId=165871)

  • Analyze document usage worksheet for SharePoint Server 2010 (http://go.microsoft.com/fwlink/p/?LinkId=165873)

See Also

Other Resources

Resource Center: Enterprise Content Management in SharePoint Server 2010


Metadata-based routing and storage overview (SharePoint Server 2010)
See Also

Metadata-based routing and storage can use the Content Organizer Feature in Microsoft SharePoint Server 2010 as part of a document management solution.

This article provides an overview of metadata-based routing and storing and helps solution planners and designers understand how to use the Content Organizer Feature in Microsoft SharePoint Server 2010 to plan a comprehensive document management solution.

In this article:

  • About metadata-based routing and storage

  • Content Organizer Settings

  • Content Organizer Rules

About metadata-based routing and storage

SharePoint Server 2010 introduces metadata routing and storage by using Content Organizer. Content Organizer builds upon document routing features that were introduced in the Records Center site template in SharePoint 2007.

With Content Organizer, new site level features make it easier for administrators and users to classify, route, and store content by using rules based on metadata. After the site administrator activates the Content Organizer Feature and configures settings and rules, instead of directly uploading a document to a library or folder, users can then save, route, and thereby apply rules to a document, by using one of the following methods:

  • Upload a document to a Drop-off library. A Drop off library is created in every site in which the Content Organizer Feature is been activated.

  • Use Save as from Word, Excel, and PowerPoint client applications.

  • Use Send To from other SharePoint sites.

  • Use the Web service object model.

  • Use an E-mail drop-off zone. By using Exchange, documents can be e-mailed to the site, where metadata then must be applied before being routed by rules.

  • Submit to a Record Center site as part of a document's life cycle or expiration. For example, as part of a workflow or retention policy.

Once a document is uploaded, based on the document's metadata, Content Organizer can route the document to a specified folder or automatically create a new folder. For example,

  • A new folder can be created as a child of the target folder, because the target folder of the routing rule grew too large.

  • Folders are created for each new value in a field (must be a required field for the content type). For example, if you have taxonomy with 100 terms, folders can be created automatically for each of those 100 terms, each folder being created the first time Content Organizer evaluates a document that has a particular tag.

New folders will inherit settings from the parent folder. New folders can then also have additional rules that define additional parameters such as permissions, default metadata, retention policies, and workflows that the documents in them will inherit. For example;

  • By tagging a document with "Corporate Affairs", the document is routed to a folder that has more restricted permissions than other documents in different folders in the library. This lets metadata to effectively apply permissions to a document in SharePoint.

  • By tagging a document with "Accounting", the document is routed to a folder where it is subject to a retention policy insuring the document is saved.

  • By tagging a document with "Human Resources", the document is then routed to a folder where any number of additional metadata tags is applied. This can reduce the need for users to apply lots of metadata tags reducing time that is spent tagging and potential errors when tagging.

By tagging content with metadata and by using Content Organizer settings and rules, in combination, you can effectively determine, route, store, and apply additional content parameters to any document in your organization.

Content Organizer Settings

Site administrators can configure Content Organizer settings that will determine how content uploaded to the site is routed. These settings apply to all content routed using Content Organizer. Content Organizer includes the following settings:

  • Redirect Users to the Drop Off Library If enabled, this setting specifies that users are redirected to the Drop Off Library when uploading content in a site that has one or more content organizer rules applied. If this setting is disabled, users can bypass using the content organizer and upload files directly to a library or folder. This setting applies only when uploading a document by using the document library page or by using a client application.

  • Sending to Another Site If enabled, rules can be created to redirect uploads in the current site to be sent to another site that also has the Content Organizer Feature activated.

  • Folder Partitioning If enabled, subfolders will be created when a specified number of items in a folder is exceeded.

  • Duplicate Submissions This option specifies whether to use SharePoint versioning or append unique characters to the end of duplicate file names if a document is uploaded that has the same name as a document that is already in the destination library.

  • Rule Managers This setting specifies users or groups that can create rules and respond to and manage uploaded content that do not match any rule.

  • Submission Points This non-configurable setting provides Web service and URL, and an E-mail address that you can use to set up other sites or e-mail messaging to send content to the site. When creating a new Send To location in Central Administration, this is the service URL that you specify as the destination for files submitted to the Send-To location. Send To locations must be configured before they can appear as a submission point.

Content Organizer Rules

Rule managers can create rules. A rule determines whether the rule should be applied to the incoming document, and then performs actions specified in the rule. Rule options include the following:

  • Rule Name The name of the rule.

  • Rule Status and Priority Specifies this rules priority on a scale of 1 to 9 if more than one rule is applied. You can also specify that this rule is inactive and will not be applied to any incoming content.

  • Submission's Content Type Specifies the content type group such as Document Content Types, Publishing Content Types, and so on. Based on the content group type group, you can additionally select a content type for the rule. If a content type in your organization uses a different name, you can specify an alternative name.

  • Conditions Applies additional property-based filters for the rule to process.

  • Target Location Specifies where to put content that matches the rule.

  • Submission Points Where the item that has met all the criteria above will be saved. If you checked the Sending to Another Site option in the Content Organizer settings, you will see a drop-down box that has a list of other locations outside the current site to which a document can be routed.

Activating the Content Organizer Feature for a site

In order to use Content Organizer in a site, the Content Organizer Feature must be activated. Once activated for a site, Content Organizer Settings and Content Organizer Rules will appear under Site Administration on the Site Settings page.

Note:

When creating a site by using the Record Center site template, Content Organizer is activated by default.

To activate the Content Organizer Feature for a site

  1. On the Site Settings page, under Site Action, click Manage site features.

  2. On the Features page, for Content Organizer, click Activate.

After the Content Organizer Feature is activated, you can create metadata based rules to move submitted content to a library or folder.

See Also

Concepts

Metadata navigation overview (SharePoint Server 2010)

Other Resources

Resource Center: Managed Metadata and Taxonomy in SharePoint Server 2010


Metadata-based routing and storage planning (SharePoint Server 2010)
See Also

Published: June 10, 2010

This article contains information to help IT Pros plan how to route and store content based on metadata using the Content Organizer Feature in Microsoft SharePoint Server 2010. For more general information about content routing and storage based on metadata, see Metadata-based routing and storage overview (SharePoint Server 2010).

In this article:

  • Planning for metadata-based routing and storage

  • Determine how content is submitted

  • Plan content organizer settings

  • Plan content organizer rules

  • Plan target location properties

Planning for metadata-based routing and storage

One of the challenges facing users in many organizations is determining where a document that they have authored should go when it is saved. Even more challenging is how to apply additional properties or actions that should be performed on the document, such as more metadata tags, permissions, policies, and workflows.

SharePoint Server 2010 introduces the Content Organizer Feature. Once the Content Organizer Feature is activated for a site, the Content Organizer can be used to sort and then send content into different containers (sites, libraries, and folders) based on metadata. Those containers, or target locations, can have per-location settings on them that define additional properties that the content in them will inherit, such as additional metadata, permissions, policies, and workflows.

Using a content organizer, as few as one or two documents or collections of documents can be uploaded to the site. The content organizer settings and rules can then specify that those content items will be subjected to the rules and sent to a target location accordingly. Each site can use an individual instance of a content organizer, enabling you to create a network routing and storing content throughout multiple sites.

Although tagging content with metadata and using the content organizer can simplify how documents are routed and stored in your organization, it is very important that you take careful steps in planning how it can best serve your organization's needs. By using good planning and implementation, you can be more certain your content management solution best uses the SharePoint infrastructure while maximizing both system and user performance.

This article is provided with links to the Content Organizer settings worksheet and the Content Organizer rule worksheet available on Microsoft Download Center. Use the worksheets in combination with this article when planning how to configure settings and rules that will apply to content organized using a content organizer.

Download worksheets

  • Content Organizer settings worksheet(http://go.microsoft.com/fwlink/p/?LinkId=189018&clcid=0x409)

  • Content Organizer rule worksheet(http://go.microsoft.com/fwlink/p/?LinkId=189019&clcid=0x409)

Determine how content is submitted

How users submit content that will be organized using a content organizer will be an important factor in developing your content routing and storage solution. After a site administrator activates the Content Organizer Feature for a site and configures settings and rules, users can upload and have their documents automatically routed and sent to the correct location by using one of the following methods:

  • Upload content to a Drop-Off Library. A drop-Off library is created in every site in which the Content Organizer Feature is activated.

  • Use Save as from Word, Excel, and PowerPoint client applications.

  • Use Send To from other SharePoint sites manually or as part of a workflow, or as part of document's life cycle or expiration.

  • Use the web service object model.

  • Use an E-mail drop-off zone. By using Exchange, content items can be e-mailed to the site.

Worksheet action: On the Content Organizer settings worksheet, record how content will be uploaded or submitted to the site.

Plan drop-off libraries

Plan content organizer settings

It is important for site administrators to carefully plan how the content organizer settings for their site will affect their overall metadata-based routing and storage solution. It is also important to test various configurations before you implement your solution live on a site. Information provided in this section is meant to help you determine and record how the content organizer settings in your site can be an effective part of your metadata-based content routing and storage solution.

The Content Organizer settings worksheet is provided to help you in planning settings for a site. Fill out a separate Content Organizer settings worksheet for each site that will have the Content Organizer Feature activated.

Content redirection

With the Redirect Users to the Drop Off Library setting, you can specify whether users are redirected to the drop-off library. If this setting is checked (default), then all uploads are automatically sent to their target location that is specified by the rules or are put in the drop-off library if no rules apply. If not selected, users can bypass rules and the drop-off library and upload documents to another library or folder.

A drop-off library is created in each site that has the Content Organizer Feature activated. By default, when content is submitted, the rules are applied to the document and it is then sent to its target location. If no rules apply, the item is then put in the drop-off library and an e-mail notification is sent to the rule managers. Rule managers can then apply additional metadata to those items to match a rule and allow the document to be sent to its target location. The drop-off library uses a timer job that specifies when to process items in the library. If a rule manager applies additional metadata to an item in the drop-off library, the rule will be applied and the item sent to its target location when the timer job is next run.

When a document is uploaded, the document properties window for the drop-off library is displayed. Then metadata properties can be selected and the submission process completed. After submitted, the content organizer rules are applied to send the document to its target location. The user is then shown a URL for the item. The URL includes a permalink created from the Document ID Feature, so that the URL that was provided will always link to the item even if it is moved again. If no rules are applied, the document is then put in the drop-off library and rule managers can be notified by e-mail.

A well designed metadata-based routing and storage solution uses content organizer rules to send to its intended target location every document that is submitted to a drop-off library. The drop-off library should then only include items submitted that did not match any rule. Documents that remain in the library enable rule managers to identify those that do not match any rule, and to then create a rule or require additional metadata tags that will apply.

When redirecting users to a drop-off library, it is important for those users to be aware of the specific drop-off library's purpose, and what they will see in the properties window will reflect the content types that are defined in the site gallery, and not necessarily those content types in the library they may be working in.

Worksheet action: On the Content Organizer settings worksheet, record whether users are redirected to the Drop-Off library.

Sending to another site

If this setting is checked, rules can be created that route uploads to the current site to be sent to another site that also has the Content Organizer Feature activated. When creating a new rule, in the rule configuration page, a drop-down list displays all the destination locations items can be sent to. In order to add a new destination that is not already included in the list, you must add the site configuration information by using the Configure Send To Connections page in Central Administration.

The list of document and record centers is maintained on a per web application basis. For example, if you have a Web site on port 80 and you want to add a new destination document library in a web application that is on port 81, you would add the URL to the library's Official File web service to the list of Send To Connections for the web application on port 80. The web service URL is entered in the URL-to-router edit box and takes the form http://myserver/mysubsite/_vti_bin/OfficialFile.asmx. You cannot add sites that do not have the Content Organizer feature activated.

Worksheet action: On the Content Organizer settings worksheet, record whether you will allow rules to specify another site as a target location.

Folder partitioning

In SharePoint Server 2010, there is no limit on the number of items a folder can contain. There is however a practical limit on the number of items a list view can display when viewing the contents of a folder: known as the List View Threshold, and by default, it is 5000 items. By using a content organizer, you can specify what happens when a folder exceeds a maximum specified number of items, effectively becoming too large to be useful in standard list views.

Using the Folder Partitioning setting in Content Organizer Settings, you can specify that subfolders should be created when the target location becomes too large. By default, this setting specifies to create new folders when the target location exceeds 2500 items. Each subfolder will inherit the properties of the target location which it was derived from. So, if for example, you have a folder named "Resumes" that has special permissions that are required to view and edit items in it, subfolders created from the Resumes folder will inherit those same permissions requirements.

It is important to be aware of your site or library's overall folder structure. The main purpose of folders is to organize content to match the expected functionality of the site or library. The Folder Partitioning setting should be considered carefully as part of an overall folder structure or even after a folder structure is established.

Worksheet action: On the Content Organizer settings worksheet, record whether to create subfolders when the number of items in the target location is exceeded, and the format of the folder name subfolders should be created by using folder partitioning.

Duplicate submissions

In any large organization there is always the possibility more than one document that has the same name and metadata is submitted to a site. By default, the content organizer will use SharePoint versioning to differentiate items with the same name if versioning is enabled in the document library. In Content Organizer Settings, you have two options for duplicate submissions. First, and by default, is to use SharePoint versioning. To use SharePoint versioning, versioning must be enabled for the document library. For more information about how to plan versioning, see Versioning, content approval, and check-out planning (SharePoint Server 2010). The second option is to specify that the Content Organizer will append unique characters to the end of the duplicate file names. If versioning is not enabled for a target library, the Content Organizer will append unique characters to duplicate submissions regardless of the setting selected. It is important to remember that the unique characters appended to the file name may not identify the item in any particular way. This could prevent users from correctly identifying the document that they want if there are too many documents that have the same name, but unique characters added to the name do not provide any meaningful form of identification.

Worksheet action: On the Content Organizer settings worksheet, record whether you want to use SharePoint versioning (default) or to append unique characters to the end of duplicate file names.

Preserve context

When this setting is checked, for documents that include original audit logs and properties are retained and stored with it. This can be important when you want to retain all of the historical information about the document, such as a document sent to a Record Center site. When the context is preserved, users can click on Compliance Details from the View Properties page of an item.

Note:

Preserving context will affect storage. Audit data can quickly compound and occupy large amounts of space in a content database, especially if view auditing was turned on. For more information about how audit data may affect storage capacity, see Storage and SQL capacity planning and configuration.

Worksheet action: On the Content Organizer settings worksheet, record whether you want to save the original audit log and properties for documents submitted to this site.

Rule managers

You can specify users who can create and edit rules. Rule managers must have Manage Web Site permissions in order to create and edit rules. Rule managers must be familiar with your metadata term sets and terms in order to create rules that most effectively implement your metadata based routing and storage solution. It is also important for rule managers to determine the broader implications of rules they create, for example, it is important that all rule managers in your organization determine the correct action when a folder becomes too full.

In most cases, the person creating the rule will serve as the rule manager, however, in some circumstances, such as when you are creating a series of new rules, you may want to specify other rule managers that will be responsible for making sure the rule is meeting the goals originally intended. If you specify that rule managers are to be e-mailed when submissions do not match a rule, or when content was left in the drop-off library, you may want to specify several rule managers in-case the original rule manager is not available. Rule managers have permissions to edit all items in the drop-off library in order to enter missing or incorrect metadata necessary for a document to match a rule.

Worksheet action: On the Content Organizer settings worksheet, record users or groups that will act as rule managers for the site.

Plan content organizer rules

Content organizer rules are the heart of routing and storing content based on metadata. It is the conditions in the rules that determine whether the rule should be applied to an item, and then, if all conditions in the rule are true, the target location specifies where to send the item.

When creating rules, there are some important things to consider. For example, it might be best to create common rules; to create and send to a unique folder for every unique value of a particular metadata column. Create rules that address all possible submissions. You can do so by creating as few as one simple rule that applies to a particular content type, or by creating many rules that send in any number of complex ways. If the drop-off library contains many items that do not match any of the rules, it is important to verify those items to determine why no rules are being applied. This can occur if rules do not reflect the metadata properties available to users when tagging a document.

Information provided in this section is meant to help you plan rules that will be an effective part of your metadata-based routing and storage solution. The Content Organizer rule worksheet is provided to help in planning rules. Fill out a separate worksheet for each new rule that you plan to create.

Determine rule name

The rule name is used in site Content and File Plan reports. Determine a rule naming convention to make particular rules in reports and the Content Organizer Rules list more identifiable. If possible, the rule name should state the objective of the rule, the kinds of documents organized by the rule, and/or provide some distinction of the conditions of the rule.

Worksheet action: On the Content Organizer rule worksheet, record the rule name.

Determine rule status and priority

When creating a rule, you can specify if the rule is active or inactive. If a rule is active, you can specify a priority from 1, being the highest priority, to 9, being the lowest priority. If there is more than one rule that match the conditions, the rule with the highest priority will be applied first.

Worksheet action: On the Content Organizer rule worksheet, record the rule priority.

Determine content type

A rule must define at least one metadata property; the content type. From the content type, you can then select additional properties that will be used in the conditions for the rule. If a content type has an alternative name or alias in another site, you can specify it here. The content type groups available are those currently in the site collection or current site. When a document matches a rule by content type alias, the document will be organized by the content type of the rule, and not by the content type alias. Types available are those only for the selected content type group.

You can create a rule that will apply to documents of an unknown content type by selecting This content type has alternate names in other sites and typing * in Add alternate name.

Available content type groups and types (default)

Business Intelligence | Content Organizer | Digital Asset | Document | Document Set | Page Layout | Publishing | Special | Custom
Report | E-mail Submission | Audio | Basic Page | Document Set | Article Page | Page | Unknown Document Type |
Web Page Part with Status List |  | Image | Document |  | Redirect Page | Page Layout |  |
 |  | Rich Media Asset | Dublin Core Columns |  | Welcome Page | Publishing Master Page |  |
 |  | Video | Form |  |  |  |  |
 |  |  | Link to a Document |  |  |  |  |
 |  |  | List View Style |  |  |  |  |
 |  |  | Master Page |  |  |  |  |
 |  |  | Picture |  |  |  |  |
 |  |  | Web Part Page |  |  |  |  |
 |  |  | Wiki Page |  |  |  |  |

You can also create a rule that will apply to a custom content type that was derived from a default content type (in the table above) as the parent content type.

Worksheet action: On the Content Organizer rule worksheet, record the content type group, type, and alternate names in other sites.

Plan conditions

Rules are applied on property-based conditions. You can define up to 6 conditions in a single rule. All of the conditions must be true for the rule to be applied and the item sent to its target location. The properties that are available to be used in a condition are those associated with the content type. Because you must specify at least a content type, there will be at least one condition. When you specify a content type, but do not define any additional property-based conditions, the rule will organize all items based only on the content type.

When defining a condition, for the condition to be true, a value must be the product of a property and an operator. You cannot specify wildcards as a value for a condition. If a value does not match the condition, the rule will not be applied and the item will remain in the drop-off library.

Worksheet action: Use the Content Organizer Rule page to determine the properties available for the selected content type, and then on the Content Organizer rule worksheet, record conditions for the rule.

Plan the target location

Each rule must specify a target location where the items that match the rule will be sent. A target location can be another site, library, or folder. A rule can also specify that a new folder is created in the target location for each unique value of a particular property. When specifying another library, that library must include the content type specified in the rule.

You can specify a format for new folder names. By default, a new folder naming format is "%1 - %2", where %1 is replaced with the name of the property and %2 is replaced with the value of the property. For example, if you used the Report Status property and received a new item where the Report Status value is "Complete", it would create a folder named "Report Status - Complete". If there are many unique properties and many new folders will be created, make sure that you specify a format for the folder names that will make sense to users in your organization.

When choosing to create new folders for each unique property, it is important to consider how many items may populate each new folder. Consider creating folders based on a unique property when such grouping of items makes sense. Creating a new folder for each unique property when there may be hundreds or even thousands of unique properties may create a confusing and unnecessary number of folders that may be difficult to navigate in standard list views.

Worksheet action: On the Content Organizer rule worksheet, record the target location and whether a new folder is automatically created for each unique value of a property, and the format of the new folder name.

Plan target location properties

Once a content item is sent to its target location, new properties and settings that apply to all items in that location can be applied. For example, all items in a "Human Resources" library can have restricted view permissions. If you specify that new subfolders are created from the target location, those folders will inherit the properties of the parent target location. Additional properties and settings can be specified at the site level, in Site Settings, and at the library level, in Library Settings.

Additional properties

  • Permissions By routing content to a target location based on metadata, you can specify a target location with unique permissions, effectively using metadata to apply permissions.

  • Versioning By routing content to a target location based on metadata, that target location can specify a particular document version history (versioning).

  • Metadata By routing content to a target location based on metadata, that target location can apply additional metadata and enterprise keywords.

  • Retention and content type policies By routing content to a target location based on metadata, content in that target location can be subject to a retention policy, assuring that the content is saved.

  • Workflows By routing content to a target location based on metadata, content in that target location can be subject to workflows.

Worksheet action: On the Content Organizer rule worksheet, record additional properties that will be applied at the target location.

See Also

Concepts

Plan managed metadata (SharePoint Server 2010)
Metadata-based routing and storage overview (SharePoint Server 2010)
Metadata navigation overview (SharePoint Server 2010)


Metadata navigation overview (SharePoint Server 2010)
See Also

The Metadata Navigation and Filtering Feature in Microsoft SharePoint Server 2010 can help users filter and find content.

This article contains information to help solution planners and designers understand how the Metadata Navigation and Filtering Feature in Microsoft SharePoint Server 2010 can be used as part of a comprehensive document management solution.

In this article:

  • About metadata navigation in SharePoint Server 2010

  • Metadata navigation user controls

  • List owner controls

  • Automatic indexing

  • Indexed Queries

  • Fallback queries

About metadata navigation in SharePoint Server 2010

Metadata Navigation and Filtering is a new feature in SharePoint Server 2010 that enables users to filter and find content in document libraries by using metadata. The Metadata Navigation and Filtering Feature includes the following:

  • A simple user interface Metadata navigation builds upon the SharePoint Tree view hierarchy control and combines it with a new Key Filters control providing users a powerful tool in finding content based on metadata.

  • List owner controls By configuring metadata navigation settings, list owners can promote fields on a list as key navigation fields. Users viewing those lists can then further filter the current list view to show only items with the desired values in those fields.

  • Automatic indexing This optional process can create list indices automatically depending on the fields promoted as navigational fields for the list. Automatic indexing can improve query results and improve performance.

For information about how to enable the Metadata Navigation and Filtering Feature, see "Enable Metadata Navigation and Filtering" in the article Configure metadata navigation for a list or library (http://go.microsoft.com/fwlink/p/?LinkId=229369).

Metadata navigation user controls

Metadata navigation builds on list view navigation features already in SharePoint. List views without metadata navigation configured provide a simple hierarchical view and work well when searching for content through its physical structure, for example sites, libraries, and folders. However, those list views are blocked when trying to navigate through many items, or by the list view threshold when browsing folders that contain more than five thousand items.

Note:

By default, the list view threshold is 5000 items. Administrators can change the list view threshold by using Windows PowerShell.

Metadata navigation expands the capabilities of list views and combines it with a Key Filters control making it easier for users to find content by filtering a view of documents to a subset based on one or more navigation filters.

Metadata navigation includes the following user controls:

  • Navigation hierarchies Use and expand the capabilities of list views to navigate hierarchies of folders, content types, choice fields, or managed metadata term sets. This allows users to use list views to filter on a metadata hierarchy just like navigating folders.

    When selecting an item in a hierarchy for a managed metadata column, all items will be shown that are tagged with the specified term or any of its descendant terms for the field associated with that hierarchy. Users can then select the item again to filter only on that particular term and not include the descendant child terms.

    Navigation hierarchies work together with filters specified in the list view definition and filters specified in the columns in the list view Web Part.

  • Key Filters This control appears below the site hierarchy control and can consist of several fields such as date, choice, content type, single and multi-value fields, currency, yes / no, and user fields. Any number of key filters can be applied in combination with a selected navigation hierarchy.

    Key filters can be specified for a much larger range of column types and consist of a blank field that matches the kind of column it represents. Users can then type text into the field to filter on that column. For example, you can add the modified by column as a key filter and then type a user display name or username alias and resolve to get results where modified by matches the user entered. Any number of key filters can be used at the same time and they can also be used in combination with a navigation hierarchy.

    Managed metadata key filter fields enable entering multiple terms by typing and selecting from the suggestions displayed. A specially handled managed metadata field that is named All Tags can also be used, which matches the input terms against field values for an item in any of the managed metadata fields in the list schema. If the user is in the root folder of the list then applying key filters will query over all of the items from any of the folders in the list.

List owner controls

Once the Metadata Navigation and Filtering Feature is enabled for a site, list or library owners can configure settings on the Metadata Navigation Settings page available from the list or Document Library Settings page. Owners can specify navigation hierarchy and key filter fields and specify whether columns are automatically indexed.

Automatic indexing

On the Metadata Navigation Settings page for a list or library, with the Configure automatic column indexing for this list setting, list owners can specify whether indices are automatically created on the list to match selected navigation hierarchy and key filter fields. If this setting is enabled (default), when the metadata navigation settings page is saved, the following occurs:

  • Single column indices will be created on all supported navigation hierarchy fields.

  • Single column indices will be created on all supported key filter fields, except for the Content Type field and Choice fields

  • Compound indices will be created on all supported combinations of navigation hierarchies and key filters.

When indices are created automatically, queries are allowed for lists that have more items than the list view threshold. In some cases, you may have to disable this setting and configure custom indices. For example, if a combination of single column and compound indices exceeds 20, Automatic Indexing must be disabled.

Indexed Queries

When the Metadata Navigation and Filtering Feature is enabled for a site, built-in optimization will select the best index to work every time that a list view is loaded. Each time that a user loads a list view, refreshes a list view by applying a new filter, clearing a filter, or by applying a sort on a field, query optimization determines the best way in which to query the database without view throttling.

Fallback queries

If metadata navigation determines that the current user request cannot be expressed as an indexed query that is selective, it will construct and perform a fallback query. A fallback query is a modified version of the original user query that queries against only a part of the list instead of the complete list. Fallback queries are intended to show the user a partial set of results that can be useful, even when the original query could not be run because of list view throttling. In addition, fallback queries can serve as a warning to list owners that the data distribution in the list is skewed and certain queries that users are running cannot return a full set of results, which means that users may be blocked from accessing content that they need. Fallback queries occasionally will return 0 results if no items in the part of the list scanned by the query contain results that match the original user query.

Since the results of a fallback query are only a partial set of the items that the user is requesting, the user is prompted via an on-screen message that only a partial set of results is being shown and that the user must apply additional filters in order to view a complete set. Every time that a user specifies an additional filter, this is another opportunity for the query engine to find a selective filter/index combination that does not exceed the list view threshold that result in a throttling exception.

See Also

Concepts

Metadata-based routing and storage overview (SharePoint Server 2010)

Other Resources

Resource Center: Managed Metadata and Taxonomy in SharePoint Server 2010


Document library planning (SharePoint Server 2010)
See Also

This article describes how to plan document libraries in your Microsoft SharePoint Server document management solution.

In this article:

  • Determine library type

  • Plan the flow of content

  • Promoting document libraries from Office client applications

Document libraries are collections of files on SharePoint Server 2010 that you share with other site users. Most document management features are delivered through document libraries. As part of document management planning, you should determine the kind of document libraries that best fit your organization's needs. If you plan document libraries for multiple sites, you might have to plan the flow of content from one site to another. If you plan to use document libraries as storage locations, you can customize the Microsoft Office Professional 2010Open dialog box and the Save dialog box to ensure that documents are stored in the preferred location.

Before reading this article, you should understand the document management process described in Document management overview (SharePoint Server 2010).

Determine library type

When you identify which document libraries best match your organization's needs, you might also determine that you need multiple sites or site collections. For example, if you are authoring content for publication to external customers, you might need one site in which to author and review content and a separate site, perhaps in a separate SharePoint Server 2010 installation, in which to publish your content.

When you plan document libraries for multiple sites, you might also have to plan how content flows from one site to another — by manual processes, workflows, or custom solutions. For more information, see Plan the flow of content, later in this article.

The following table lists typical uses of document libraries.

Library Purpose

Library in a team site

Collaboration; easy sharing of content among peers; content control, such as versioning; SharePoint Server 2010 search.

Library in a portal area

Content that is intended for a wider audience in the organization; similar to a library in a team site, but typically implemented by using a stricter review and approval process.

Library in a Document Center site

A large-scale library useful as an enterprise knowledge base or historical archive; includes features to help users navigate, search, and manage lots of documents in a deep hierarchy by using a set of specialized Web Parts.

Library in a Records Repository

Specialized records management; each library corresponds to a record type, such as contract, that the organization must retain for legal compliance purposes; libraries retain documents, metadata, and associated audits and are meant to be read-only.

Library in an Internet site (HTML)

Content in Web pages to incorporate into an Internet or intranet Web site; SharePoint Server 2010 supports editing Web pages directly and manages the underlying document libraries for each page automatically.

Library in an Internet site (hybrid)

Content available for downloading from a Web site; you can present content from document libraries on an Internet site.

Slide library

Support for sharing, managing, and reusing Microsoft PowerPoint slides.

Note:

Do not create folders in a slide library if you know that content from this site will be deployed to another farm or site collection by using content deployment. Sites that contain slide libraries with folders cannot be imported or exported.

The following example shows how to use the analysis that you completed in the Analyze document usage section in Analyze document usage to help you plan document library organization for your enterprise. In this example, Contoso Ltd. delivers content to clients based on market research. The content is created primarily by consultants who operate remotely. This is performed in a cycle in which the following steps occur:

  1. A partner evaluates engagement ideas and requests for proposals.

  2. After a contract is established, a project manager assembles a team of consultants and creates an engagement-specific working site in which the results of the research are recorded and the project is completed.

  3. When the project is finished, the deliverable documents are published to a secured Internet site, where customers have access to them.

  4. The team writes best practices documents and case studies based on the project.

  5. Knowledge managers collect, organize, and archive the best practices and other documents.

  6. Deliverables, contracts, and other documents are retained as corporate records.

  7. By using the content maintained by the knowledge managers, partners evaluate opportunities and create new proposals.

The following table shows a document usage analysis for this scenario:

Documents | Purpose | Author | Users | Format
Engagement ideas and requests | Develop new customer engagements | Project leader | Sales manager; project leader | .docx
Proposals | Describe a proposed customer engagement | Project leader | Project managers; project team members; customers | .docx
Contracts | Commit to a consulting engagement | Lawyer | Project leader; project manager; sales manager; customers | .docx
Research results and project deliverable drafts | Generate documents related to the customer engagement | Project leader; project contributor; consultant | Editors; technical reviewers | .docx and other types
Deliverable documents | Generate final deliverables, probably converted from .docx format | Project leader | Customers | .pdf
Best practices and case study documents | Capture organizational knowledge | Project contributor; consultant; knowledge manager | All team members | Various types
Corporate records | Retain some content, such as contracts, as corporate records | All | Corporate records managers; corporate lawyers | All

This document usage analysis suggests the following requirements:

  • Project leaders need libraries in team sites for storing engagement ideas, engagement requests, and proposal drafts.

  • Lawyers need libraries in a portal or on a centralized document management site for storing contract templates and active contracts.

  • Project leaders and contributors need libraries in team sites for authoring research results, deliverables, and case studies.

  • Customers need libraries in an Internet site for viewing final deliverables.

  • All members of the enterprise need access to a Document Center site for viewing best practices and case study documents.

  • Corporate records managers and lawyers need access to an enterprise Records Repository to maintain corporate records.

The following figure shows how these libraries might be distributed. The sites are hosted in three site collections: an Internet site collection for customer access, an extranet site collection for remote authoring by team members, and an intranet site collection for secure maintenance of the records management site.

Distribution of libraries across sites

Plan the flow of content

Content in a document management solution is often dynamic, moving from one site to another as needed to meet users' needs. When you plan document libraries, therefore, you often plan the flow of content from one library or site to another. SharePoint Server includes the following ways to move content, either manually or dynamically:

  • You can create custom workflows that copy or move content from one site or library to another. A workflow guides a document through a business process and assigns tasks to participants when their role in the document's life cycle becomes active. A workflow can be designed to move a document from one site or library to another. For information about how to plan workflows, see Content type and workflow planning (SharePoint Server 2010) and Plan workflows (SharePoint Server 2010).

  • Authors can copy a document to a library in any site in which they have authoring permissions. The relationship between the source and the destination document is maintained so that the copy can be refreshed as needed.

  • Web pages and whole Web sites can be staged and published from one site to another, either manually or automatically based on a schedule.

  • Content can be sent to the records management site by using the SharePoint Server 2010 user interface, by using a workflow, or by using a custom solution that is based on the SharePoint Server object model.

  • By using Web Folders or Network Places, an author can manually copy or move the content of a document library from one library or site to another.

Returning to the example, the following figure shows how to apply some of these content flow techniques. Note that the Staged Internet site has been added to the Authoring portal site.

How content flows from one library to another

  • By using publishing features, an author can publish Web pages to the Internet site.

  • By using the Copy command, an author can copy documents to the Document Center site.

  • By using a custom workflow, an author can copy documents to document libraries on the Internet site.

  • By using the Send to Records Repository command, an author can send contracts to the enterprise Records Repository.

Promoting document libraries from Office client applications

You can customize the Microsoft Office Professional 2010Open dialog box and the Save dialog box to encourage organization members to use document libraries as storage locations. By adding sites to the My Places bar next to the Open dialog box and the Save dialog box, you can provide single-click access to the locations where users should store their documents. This makes it possible for team members to interact with the document libraries when they use Save from Office Professional 2010 client applications, instead of having to go directly to the server to upload their documents.

To promote using sites in the Open dialog box and the Save dialog box, you can publish them by using a Web service. This service provides a list of sites targeted to specific users based on their roles or the sites that they are members of. A Office Professional 2010 client application can automatically discover this Web service through the user's My SharePoint Sites. Other server products can also implement this Web service and provide the location of the service to the Office client application. After the Web service is configured, Office Professional 2010 adds an entry to the My Places bar and populates it with the locations that are defined by the Web service. For more information about the Published Links Web service, see Published Links Web service (http://go.microsoft.com/fwlink/p/?LinkId=208402).

Or, administrators can set registry keys to add specific sites to the My Places bar in the Office Open dialog box and the Save dialog box. Registry keys are deployed by using Group Policy and an Active Directory directory service template that is provided in the Office 2010 Resource Kit.

You can limit the locations that organization members can save content to by using the Office Save dialog box. For example, you can restrict the ability to save files to desktops and force users to save content in a document library. In Office Professional 2010, you can control where users are allowed to browse to save their documents. This guides users to save in approved locations. Note that this does not guarantee that users will not save files to their local computers or other unapproved locations. There are many ways to move files onto a computer, and motivated people can work around most restrictions. However, by limiting access to these locations through the Office Save dialog box, you can significantly reduce the number of team members who use these unapproved locations.

To restrict the locations available in the Office Save dialog box, use Group Policy to set the appropriate registry keys to enable this setting and define the approved local, network, or server locations. When this setting is enabled, any location not defined in this manner — including standard links to the Desktop and My Network Places folders — will be removed from the My Places bar.

The list of approved locations can be limited to one or more Office applications. For example, an administrator can restrict save locations in Microsoft Access while allowing other Office applications to save anywhere.

See Also

Concepts

Content type and workflow planning (SharePoint Server 2010)
Plan workflows (SharePoint Server 2010)
Information management policy planning (SharePoint Server 2010)


Enterprise content storage planning (SharePoint Server 2010)

Published: June 10, 2010

This article describes how to plan an enterprise content storage solution that uses Microsoft SharePoint Server 2010. Although the examples in this article are primarily relevant for solutions that are based on SharePoint Server 2010, the prescriptive guidance information that is provided here applies to both SharePoint Server 2010 and SharePoint Foundation 2010 unless noted otherwise.

Information and guidance in this topic is meant to serve as an introduction to enterprise content storage concepts. Certain information in this topic is derived from other more detailed documents about performance and capacity testing performed at Microsoft and from other articles providing detailed guidance about particular concepts. We strongly recommended that you use all these resources when planning your enterprise content storage solution. For more information and links, see Additional resources later in this article.

In this article:

  • Understanding enterprise content storage

  • Typical large-scale content management scenarios

  • Storage levels: content storage benefits and considerations

  • Routing and storing enterprise content based on metadata

  • Navigating and filtering enterprise content by using metadata

  • List views

  • Additional resources

Understanding enterprise content storage

A document management solution is about much more than only providing a location for documents. A complete enterprise-level document management solution addresses document storage at multiple levels, including storage within site collections, sites, libraries, and folders. It also enables companies to efficiently and effectively manage their growing volumes of enterprise documents and ensure that versions of documents from each stage of their life cycle can be retained for reference or legal reasons.

SharePoint Server 2010 supports high-capacity document storage. A document library can contain millions of documents. However, depending on how the content is used, the performance of sites that contain many documents can decrease. The prescriptive guidance provided in this article can help you design large-scale content management solutions that scale out to the requirements of your enterprise while providing the users of your solution with a high-performance environment in which to create and use documents.

Decisions you make about the capacities of site collections, sites, and libraries should allow for not only the physical storage constraints of your environment but also the content usage and viewing patterns of users. For example, if users view or query a set of documents in a document library that contains thousands of documents, performance can decrease if the site is not configured correctly. Or if a service-level agreement requires that content be backed up two times a day, the service might not perform satisfactorily if the set of content is too large.

Typical large-scale content management scenarios

Typically, large-scale content management scenarios are variants of one of the following scenarios:

  • Large-scale authoring environment

  • Large-scale content archive

  • Extremely large-scale content archive

The scenario descriptions provided here are intended to clarify what we mean by large-scale solutions and to provide high-level examples that hopefully reflect your content management goals. Of course, these descriptions do not include all aspects of a particular scenario. There are dozens, even hundreds, of unique aspects of a particular scenario that are beyond the scope of this article.

Large-scale authoring environment

In a large-scale authoring environment, for example, a site can contain a library in which users edit 50,000 or more documents across 500 or more folders. Versioning is enabled, and typically multiple versions of each document exist. Documents are checked in and out frequently, and workflows are used to control their life cycles. A typical database for this kind of site contains approximately 150 gigabytes (GB) of data. Library settings can be used to limit the number of versions saved, reducing database consumption. (Note that each version of a document is stored separately in the database.) Typically, in a large-scale authoring environment, 80 percent of site users are authors who have access to major and minor versions of documents, whereas 20 percent of site users have read-only permissions and can only view major versions of the content.

A large-scale authoring environment site can be based on the SharePoint Server 2010 Document Center site template, which includes a single, large document library that is optimized for large-scale authoring.

Large-scale content archive

A large-scale content archive is a document repository in which users either view documents or upload new documents. Little or no authoring occurs in the site. There are two primary large-scale content archive scenarios: knowledge base and records management.

In a knowledge base site, there is only a single version of most documents, so that the site can scale out to easily hold millions of documents (recommended maximum of 30,000,000 documents). The content is typically stored in a single database as large as 1 terabyte. In a typical scenario, such as an enterprise's technical support center, 10,000 users might access the content, primarily to read it. A subset of users (three or four thousand) might upload new content to the site. A knowledge base site can be based on the Document Center site template.

Another kind of large-scale content archive is a records center, based on the Records Center site template. Using the Records Center site template is recommended for sites that contain one million or more documents. This site template contains features that you can use to manage the retention and disposition of records (documents that serve as evidence of activities or transactions performed by the organization and that must be retained for some time period). Similar to a knowledge base site, a records center contains a single version of each document and could typically hold millions of documents. Many more users submit content to a records center than view or read it.

Extremely large-scale content archive

An extremely large-scale content archive can be used as a reference library or content repository. To provide scale beyond that of a large-scale content archive, a very large-scale content archive might contain 50,000,000 or more documents distributed across multiple site collections. Content in each site collection may be stored as BLOB (Binary Large Object) data in multiple content databases or by using Remote BLOB Storage (RBS). Remote BLOB Storage enables data to be stored outside SQL Server enabling less expensive storage options and reducing content database size. SharePoint Search or FAST Search for SharePoint is used to find content across multiple site collections.

Storage levels: content storage benefits and considerations

Site collections

A site collection is a set of web sites that has the same owner and shares administration settings. Each site collection contains a top-level Web site and can contain one or more subsites. A site collection usually has a shared navigation structure.

The sites in a site collection are usually interrelated by purpose. To maximize your solution's usability, store all related data and content in a single site collection. Benefits of doing this include the following:

  • Content types and columns managed in a site collection can be shared across sites in the site collection. The managed metadata service can be used to syndicate content types and column definitions across multiple site collections.

  • Information management policies managed in the site collection can be made available to content in all sites in the site collection.

  • Search can be used across content in multiple site collections.

  • Some views list documents from multiple sites in a single site collection (for example, a view enumerating all tasks assigned to a user across a site collection). Also, developers can create cross-site database queries in a site collection, but cross-site queries are not supported across multiple site collections.

  • Content quotas and other quotas can only be managed at the site-collection level.

Consider the following limits when planning how to allocate your content across one or more site collections:

  • All sites in a site collection share the same back-end resources. In particular, all content in a site collection must be stored in the same content database. Because of this, the performance of database operations— such as backing up and restoring content — will depend on the amount of content across the site collection, the size of the database, the speed of the servers hosting the database, and other factors. Depending on the amount of content and the configuration of the database, you might have to segment a site collection into multiple site collections to meet service-level agreements for backing up and restoring, throughput, or other requirements. It is beyond the scope of this article to provide prescriptive guidance about how to manage the size and performance of databases.

  • Particularly, keep very active sites in separate site collections. For example, a knowledge base site on the Internet that enables anonymous browsing could generate lots of database activity. If other sites use the same database, their performance could be affected. By putting the knowledge base site in a separate site collection with its own database, you can free resources for other sites that no longer have to compete with it for database resources.

Note:

SharePoint Foundation and SharePoint Server 2010 include several features that reduce the need to have the IT department restore content. The Recycle Bin and the Site Collection Recycle Bin provide a double safety mechanism for restoring unintentionally deleted items. Document versioning also provides a safety net of sorts: if a document is lost, at least its previous version will be available. To better ensure the availability of previous versions, an administrator can remove an author's Delete Versions permission; this can help guarantee that previous versions of content are available without having to restore them from the database.

Sites

A web site is the primary way to organize related content in SharePoint Server 2010 and SharePoint Foundation.

Storing content in the same site has the following benefits:

  • It is easier to create pages that display views of multiple libraries and lists when they are in the same site.

  • You can use the Document Center site template to create a site that is optimized for creating and using many documents.

  • The site navigation user interface is optimized to make it easy to find and locate libraries within the same site.

  • You can define a set of content types and site columns for use in a site.

Libraries

Storing content in the same library provides the following benefits:

  • It is easier for users to add new documents or find existing documents in a single library.

  • Many document management settings— such as permissions, content versioning, and approval— are applied at the library level.

  • Views created by using the user interface are bound to a particular library.

  • Information management policies, such as content auditing and retention settings, can be applied to a library. For certain libraries, only retention policies can be used.

Think about the following limits when you plan how to organize content into the same library:

  • Settings such as required checkouts or versioning are specified at the document library level. If you want to specify different settings for other documents, you must put those documents in a different library with the necessary particular settings.

  • Views that contain columns that are used only on one content type may not be useful because no metadata value will be displayed for items of other content types.

  • View performance is limited when the number of items viewed exceeds the list view threshold of 5,000 items (default). In addition, queries are prevented when they exceed the list view threshold. Organize content in the library into folders that contain 5,000 or fewer items, or create views that take advantage of metadata navigation and indexed columns to return sets of 5,000 or fewer items.

Folders

A folder is a named subdivision of the content in a library similar to folders in a file system. The main purpose of folders is to logically organize content to match the expected functionality of the library. For example, if a library is intended to provide product specifications, the set of folders in the library could be named for each feature area in the product or for each team member who writes product specifications.

When you divide content across multiple folders— each of which contains 5,000 (list view threshold default) or fewer items— views on the folders can perform well. Note that to take advantage of this, views available within folders must be configured to only show items inside the folders (this feature is available in the default view-creation interface). Note also that if folders contain 5,000 or fewer items, views in the folders do not have to be filtered by using indexed columns. For folders that contain more than 5,000 items, you can improve performance using metadata navigation and/or indexed columns and then filter the views to return less than 5,000 items.

Consider creating folders as part of a content routing and storage solution that is based on metadata. By using Content Organizer, you can configure settings that automatically create folders when a target folder becomes too large or to automatically create folders for each value of a metadata property. For more information, see Routing and storing enterprise content based on metadata later in this article.

Routing and storing enterprise content based on metadata

SharePoint Server 2010 introduces metadata routing and storage by using Content Organizer. By using Content Organizer, new site level features make it easier for administrators and users to classify, route, and store content by using rules based on metadata.

Based on a document's metadata, Content Organizer can route a document to a specified folder or automatically create a new folder. Folders can be created as a child of the target folder because the number of items in the target folder exceeds a specified limit, or new folders can be created for each new value in a field. New folders will inherit settings from the parent folder. New folders can then also have additional rules that define additional parameters such as permissions, additional metadata, retention policies, and workflows that the documents in them will inherit.

For more information, see Metadata-based routing and storage overview (SharePoint Server 2010).

Navigating and filtering enterprise content by using metadata

Metadata Navigation and Filtering is a new feature in SharePoint Server 2010 that enables users to filter and find content by using metadata. The Metadata Navigation and Filtering feature includes a simple user interface that builds upon the SharePoint Tree view hierarchy control and combines it with a new Key Filters control providing users a powerful tool in finding content based on metadata.

List owners can configure metadata navigation settings that promote fields on a list as key navigation fields. Users viewing those lists can then additionally filter the current list view to show only items with the desired values in those fields.

Automatic indexing features can create list indexes automatically depending on the fields promoted as navigational fields for the list. Automatic indexing can improve query results and improve performance.

For more information about how you can integrate metadata navigation into your enterprise content storage solution, see Metadata navigation overview (SharePoint Server 2010).

List views

At the heart of every enterprise content management solution is the ability for users to easily search for and find the content they are looking for. When moving through a library or folder, tree views and list views provide a simple interface for users to visually navigate through content storage taxonomy. At the same time, when a library or folder contains too many items, the ability for the list to query and quickly display results can require considerable system resources. SharePoint Server 2010 can maximize list view performance while minimizing system resource consumption by using Resource Throttling. Resource Throttling properties are set for a web application in General Settings in Central Administration and affect resources allocated to querying and displaying lists within that web application.

Configuring your storage in ways so that when you view the contents of a library or folder the list view threshold is not exceeded prevents resource throttling and maximizes list view performance.

Resource Throttling includes the following properties that relate to list view performance:

Property | Description | Default value
List View Threshold | The maximum number of list or library items that a database operation, such as a query, can process at one time, outside the daily time window set by the administrator during which queries are unrestricted. We recommend that this property setting not be changed. | 5000
Object Model Override | Specifies that users granted special permission can override the List View Threshold programmatically for particular queries. | Yes
List View Threshold for Auditors and Administrators | The maximum number of list or library items that a database operation, such as a query, can process at one time when it is done by an auditor or administrator with appropriate permissions. This setting works together with Allow Object Model Override. | 20,000
List View Lookup Threshold | The maximum number of joins allowed per query, such as those based on lookup, Person/Group, or workflow status columns. If the query uses more than eight joins, the operation is blocked. This does not apply to single item operations. When using the maximal view via the OM (by not specifying any view fields), SharePoint will return up to the first eight lookups. We recommend that this property setting not be changed. | 8
Daily Time Window for Large Queries | A time period in which large queries can be executed. Time period should be set outside regular working hours because large queries may cause too much server load. | Disabled

Additional resources

In addition to the information in this article, the following resources can help you understand and plan an enterprise content storage solution.

  • SharePoint Server 2010 capacity management: Software boundaries and limits: This article provides information to help you understand the tested performance and capacity limits of Microsoft SharePoint Server 2010.

  • Departmental collaboration environment technical case study (SharePoint Server 2010): This article describes an actual SharePoint Server 2010 environment at Microsoft. Use this document to compare to your planned workload and usage characteristics.

  • Designing large lists and maximizing list performance (SharePoint Server 2010): This article provides guidance on performance of large document libraries and lists in SharePoint Server 2010.

  • Metadata-based routing and storage overview (SharePoint Server 2010): This article contains information to help solution planners and designers understand how metadata-based routing and storage using the Content Organizer feature in Microsoft SharePoint Server 2010 can be used as part of a comprehensive document management solution.

  • Metadata navigation overview (SharePoint Server 2010): This article contains information to help solution planners and designers understand how the Metadata Navigation and Filtering feature in Microsoft SharePoint Server 2010 can be used as part of a comprehensive document management solution.

  • Document library planning (SharePoint Server 2010): This article describes how to plan document libraries and integrate libraries into a Microsoft SharePoint Server 2010 document management solution.

  • Plan managed metadata (SharePoint Server 2010): Articles in this section explain key concepts about managed metadata in SharePoint Server 2010. Additional articles provide guidance about how to identify managed metadata for your solution, and how to determine the services and connections that you must have to implement your solution.


Document Sets planning (SharePoint Server 2010)
See Also

This article describes Documents Sets and provides guidance on how you can integrate them with your Microsoft SharePoint Server 2010 document management solution.

In this article:

  • About documents sets

  • Administering Document Sets

  • Planning Document Set content types

  • Worksheets

About documents sets

Document Sets is a new feature in SharePoint Server 2010 that enables an organization to manage a single deliverable, or work product, which can include multiple documents or files. A Document Set is a special kind of folder that combines unique Document Set attributes, the attributes and behavior of folders and documents, and provides a user interface (UI), metadata, and object model elements to help manage all aspects of the work product.

For teams and users in many organizations, a set of documents, or a work product, is needed to better manage a project or deliverable. For example, a legal team might need to collect, create, and manage various documents, photos, and audio files that are related to a particular case. Or, a sales team might need to compile documents from various sources to create and manage a request for proposal (RFP) for a potential client. Documents Sets provide those teams and users with the ability to manage those sets of documents as a single collection, deliverable, or work product. Document Set owners can then create a custom Welcome Page that can display the items included and important information about the work product.

In SharePoint Server 2010, organizations that want to create and manage Document Sets consistently can configure a Document Set content type for each work product they typically create. A Document Set content type can then define approved content types, attributes, default items, columns, workflows, and policies. Additional customized Document Set content types can then be created from the parent content type, each inheriting properties and settings from the parent Document Set content type. After a content type is added to a library, users can then create a Document Set that will inherit the attributes of the Document Set content type by using the New command. A Document Set content type provides additional settings that enable you to specify allowed content types, default content, shared columns, Welcome Page columns, and default Welcome Page view.

For more information about content types, see Content type and workflow planning (SharePoint Server 2010).

For more information about how to create and manage Document Sets in SharePoint Server 2010, see Document Sets in SharePoint Server 2010 Help. (http://go.microsoft.com/fwlink/?LinkId=186368&clcid=0x409).

Administering Document Sets

Document Sets in SharePoint Server 2010 share many of the same attributes and properties as folders. However there are some important considerations you should be aware of when planning a Document Set solution.

  • There is no limit on the number of documents that can exist in a Document Set. However, display load times may be limited by the list view threshold which by default is set at 5,000 items. Folders are not allowed in document sets, and metadata navigation cannot be used in a Document Set. Therefore, it is important to consider the possibility of exceeding list view thresholds and navigation design concerns when you determine how many items should exist in a Document Set. In addition, when you use the Send to feature with a Document Set, the sum for all documents in a Document Set cannot be larger than 50MB. For a collection or work product with a very large number of items, a folder structure in a document library may be a better solution.

  • There is no limit on the number of Document Sets that can exist in a document library. However, the number of Document Sets that can appear in lists will be limited by the list view threshold.

  • When using shared metadata, if there are more than 10 items in a Document Set, metadata updates will be run by a timer job every 15 minutes.

  • When using Document Set routing, Document Sets that are sent to a content organizer will remain in the drop-off library and be moved to the appropriate location by the content organizer processing timer job, which by default runs daily.

In order to use Document Sets in a site collection, the Document Sets Feature must be enabled.

To enable Document Sets Feature for a site collection

  1. On the Site Settings page, under Site Collection Administration, click Site collection features.

  2. On the Features page, for Document Sets, click Activate.

After the Document Set Feature is enabled, you can create Document Set content types.

Planning Document Set content types

You can plan Document Set content types for your solution by using the Analyze document usage worksheet, which you can complete by using the article Identify users and analyze document usage (SharePoint Server 2010). You can then use the Content type worksheet (http://go.microsoft.com/fwlink/?LinkId=165878&clcid=0x409) worksheet to record your decisions about each new Document Set content type that you will use in your solution.

To plan Document Set content types by using the Content type worksheet.

  1. Enter Document Set in the Content Type field of the Content type worksheet.

  2. Enter the site URL at which the new Document Set content type will be defined. Note that the content types are available in the site in which they are defined and in all sites below that site.

  3. Determine the parent content type Enter the parent Document Set content type in the Parent Content Type field of the Content type worksheet. This will be either a core Document Set content type or a custom Document Set content type that you have already planned.

  4. Determine Document Set settings Determine and then specify the following Document Set settings in the Content type worksheet:

    1. Determine allowed content types Specify the default content types that will be allowed in this Document Set content type.

    2. Determine default content If the Document Set content type that you are creating will be configured to automatically create default content when you create a new instance of a Document Set, you can add files to the Document Set manually. Only files of the allowed content types for the Document Set can be added.

    3. Determine shared columns Specify whether column values for the Document Set should be automatically synchronized to all documents that are contained in the set.

    4. Determine Welcome Page columns Specify which columns should be shown on the Welcome Page for each Document Set.

    5. Determine the Welcome Page view Specify the view to display the contents of the Document Set on the Welcome Page.

  5. Determine the columns and column order In the Plan Columns table of the Content type worksheet:

    1. Enter each column that is inherited from the parent content type. In the New? column, type No for each entry.

    2. For each additional column, enter the name of a predefined column or of a column that you will create. Enter the names of the additional columns, their types, and indicate whether they are new.

  6. In the Plan Template section of the worksheet, type None.

  7. Determine the workflows If there is an available workflow that is relevant to the Document Set content type, you can optionally associate it with the content type. The workflow can then be initiated on any list item of that content type. For a full discussion of workflow planning, see Plan workflows. After reviewing workflows and determining which workflows are available, enter each workflow to associate with the content type in the Plan Workflows table of the Content type worksheet. If the workflow is not inherited from the parent content type, enter that information in the New? column.

  8. Determine the policy A policy is a set of rules for a kind of content; policy features provide the details of each rule, such as whether items of the content type can be printed or which actions on the item should be audited. You can apply a policy to any custom content type. Note that you cannot apply a policy to a core content type. For more information about policy planning, see Information management policy planning (SharePoint Server 2010). After reviewing policies and determining which policy features and policy templates are available, in the Plan a Policy section of the Content type worksheet, do the following:

    1. If the parent content type has policy settings, they will apply unchanged in the new content type. This ensures that policies, after they are set, are enforced in all relevant content types. If the current content type is inheriting its policy settings from its parent type, in the Plan a Policy section of the Content type worksheet, answer Yes to the question, "Is the policy defined in the parent content type?."

    2. If the current content type is inheriting a policy based on the parent content type, in the Record the Policy Name field of the Plan a Policy section, type the name of the policy template. Similarly, if the current content type does not inherit a policy and you want to apply a policy template, in the Record the Policy Name field of the Plan a Policy section, type the name of the policy template.

    3. If the current content type is inheriting one or more individual policy features from the parent content type, enter each policy feature in the Feature table in the Plan a Policy section of the worksheet. Conversely, if the current content type does not inherit a policy and you want to associate policy features with the current content type, enter those policy features in the Feature table. Note that you cannot associate both individual policy features and a policy by name to a content type.

Worksheets

Use the following worksheets to record the information that is discussed in this article:

  • Content type worksheet (http://go.microsoft.com/fwlink/?LinkId=165878&clcid=0x409)

  • Analyze document usage worksheet (http://go.microsoft.com/fwlink/?LinkID=165873&clcid=0x409)

See Also

Concepts

Content type and workflow planning (SharePoint Server 2010)


Content type and workflow planning (SharePoint Server 2010)
See Also

A content type is a reusable collection of metadata (columns), workflow, behavior, and other settings for a category of items or documents in a Microsoft SharePoint Server 2010 list or document library. Content types enable you to manage the settings for a category of information in a centralized, reusable way. A workflow lets you attach a business process to items in SharePoint Server 2010. This article describes content types and workflows and provides guidance about how to plan to integrate them into your SharePoint Server 2010 document management solution.

In this article:

  • Content type overview

  • Plan document content types

  • Plan information management policies

  • Plan list content types

  • Plan workflows

  • Worksheet

Before you use the Content type and workflow planning (http://go.microsoft.com/fwlink/p/?LinkID=165878) worksheet included with this article to plan your content types and workflows, ensure that you have read Identify users and analyze document usage (SharePoint Server 2010) and completed the "Analyze document usage" and the "Document participants" worksheets associated with that article.

Content type overview

A content type defines the attributes of a list item, a document, or a folder. Each content type can specify the following:

  • Properties to associate with items of its type.

  • Metadata to associate with items of its type.

  • Workflows that can be started from items of its type.

  • Information management policies to associate with items of its type.

  • Document templates (for document content types).

  • Custom features.

You can associate a content type with a list or library. When you do this, you are specifying that the list or library can contain items of that content type and that the New command in that list or library will let users create new items of that type.

Note:

You can also associate properties, workflows, policies, and templates directly with a list or library. However, doing this can limit these associations to the list or library and is not reusable across your solution. In SharePoint Server 2010, site-level workflows can be associated with multiple lists or libraries.

Document libraries and lists can contain multiple content types. For example, a library can contain both the documents and the graphics related to a project. When a list or library contains multiple content types, the following apply:

  • By default, the New command in that list or library lets users select from all available content types when they create a new item. Content type owners can configure the New command to display only certain content types.

  • The columns associated with all available content types are displayed.

You can define custom content types in a site's content type gallery. A custom content type must be derived, directly or indirectly, from a core content type such as Document or Item. After it is defined in a site, a custom content type is available in that site and in all sites below that site. To make a content type most widely available throughout a site collection, define it in the content type gallery of the top-level site. You can also create a custom content type in a content type hub that is defined in a managed metadata service instance. When it is created in a content type hub, the content type will be available to other site collections that are part of Web applications associated with that managed metadata service instance.

For example, if your organization uses a particular contract template, in the content type gallery of the top-level site in a site collection, you can create a content type that defines the metadata for that contract, the contract's template, workflows required to review and complete the contract, policies that enforce auditing of actions related to the contract, a retention period for the contract, and labels to insert in printed versions of the contract. Then, any document library in your site collection to which you associate the Contract content type will include all these features and will enable authors to create new contracts based on the template.

In sites that are based on SharePoint Server 2010, each default list item or library item, — such as Contact, Task, or Document, — has a corresponding core content type in the site's content type gallery. When you plan content types, you can use these core content type definitions as starting points and base new content types on existing ones as needed. Or, you can use core content types.

Content types are organized into a hierarchy that lets one content type inherit its characteristics from another content type. This inheritance enables classes of documents to share characteristics across an organization, and it enables teams to customize these characteristics for particular sites or lists.

For example, all customer-deliverable documents in an enterprise might require a set of metadata, such as account number, project number, and project manager. By creating a top-level Customer Deliverable content type from which all other customer-deliverable document types inherit, you ensure that required information, such as account numbers and project numbers, will be associated with all variants of customer-deliverable documents in your organization. Note that if the content type owner adds another required column to the top-level Customer Deliverable content type, the content type owner can propagate the changes to all content types that inherit from it, which will add the new column to all customer deliverable documents.

Properties integration with the Office 2010 release

In the Microsoft Office system, when a user edits a document from a SharePoint Server 2010 document management server, a Document Information Panel is shown at the top of the document. The Document Information Panel displays an editable form of the document's properties on the server.

SharePoint Server 2010 makes it easy to customize the property form for a content type. When you configure a content type, you can start Microsoft InfoPath 2010, which generates a default property form that is based on the properties of the content type. The default form includes the same controls, layout, and schema that InfoPath 2010 would use if no custom form were defined. You can then customize and deploy the form as you would any other InfoPath 2010 form. For example, you can add your company logo, fonts, and color scheme to a form; connect it to a custom data source; add conditional logic; and design form features that are available to users based on their roles.

Along with editing properties in the Document Information Panel, authors who use Microsoft Word 2010 can insert properties that are defined on the server into their documents. For example, if the document properties include a project manager name, this name can be inserted into the title page, the footer, or anywhere else the name is used in the document. If a new project manager is assigned to a project, the Project Manager property can be updated on the document management server. This updated project manager name will be reflected in every instance of this property that was inserted into a document.

Using metadata with content types

Metadata is information about a document that is used to categorize and classify your content. Metadata is associated with a content type as a column. Metadata can provide contextual information about your document by associating it with an author, subject, audience, language, and so on Unlike properties, metadata are stored as columns and can be indexed and searched on by the SharePoint Search engine.

Metadata added at the site collection level can be associated with content types. By using metadata with content types, all later content types can inherit some or all of their metadata from the parent content type at the site collection level. Additional metadata can then be added at a lower level, such as an individual document.

Column templates

Each item of metadata that is associated with a content type is a column, which is a location in a list to store information. Lists or libraries are often displayed graphically as columns of information. However, depending on the view associated with the list, the columns can appear in other forms, such as days in a calendar display. In forms associated with a list or library, columns are displayed as fields.

You can define columns for use in multiple content types. To do this, create them in a Column Templates gallery. There is a Column Templates gallery in each site in a site collection. As with content types, columns defined in the Column Templates gallery of a site are available in that site and in all sites below it.

Folder content types

Folder content types define the metadata that is associated with a folder in a list or library. When you apply a folder content type to a list or library, the New command in that list or library will include the folder content type, which makes it possible for users create folders of that type.

You can define views in a list or library that are available only in folders of a particular content type. This is useful when you want a folder to contain a particular kind of document and you want views in that folder to only display columns that are relevant to the document type that is contained in that folder.

By using the SharePoint Server object model, you can customize the New command for a folder content type so that when a user creates a new folder of that type, the folder is prepopulated with multiple files and documents based on templates that are stored on the server. This is useful, for example, for implementing a compound document type that requires multiple files to contribute to a single deliverable document.

Document sets is a new feature in SharePoint Server 2010 that lets you use Microsoft Office 2010 to manage deliverables that span multiple documents. Document sets are special kinds of folders that are used to manage a single deliverable, or work product, which can include multiple documents in multiple locations. You create document sets by using extensible templates that are provided with SharePoint Server 2010. You can also customize Document Set templates to represent the work products that are relevant to your organization. Document sets also include version control, which lets you capture the state of the complete document set at various points in its life cycle. For more information about document sets, see Document Sets planning (SharePoint Server 2010).

Plan document content types

The first stage in planning document content types is to review each document type that is listed in your Analyze document usage (http://go.microsoft.com/fwlink/p/?LinkId=165873) worksheet to determine whether an existing content type will work for that kind of document. Each document content type should inherit its settings directly from the core Document content type or from a content type that is descended from the Document content type. This ensures that the basic columns for your document types, such as Title and Created By, are present and that you can associate a template with the content type. If a core content type (such as Document) is sufficient, enter the content type name in the Content Type column of the "Analyze document usage" worksheet.

For information about changing the core content types, download the white paper "Guidance for editing pre-defined content types and site columns" (http://go.microsoft.com/fwlink/p/?LinkId=260922.

Plan information management policies

An information management policy is a set of rules for a kind of content and is made up of policy features that provide the details of each rule, such as whether items of the content type can be printed or which actions on the item should be audited. You can apply a policy to any custom content type. However, you cannot apply a policy to a core content type. For more information about information management policy planning, see Information management policy planning (SharePoint Server 2010). After reviewing policies and determining which policy features and policy templates are available, use the Content type and workflow planning (http://go.microsoft.com/fwlink/p/?LinkId=165878) worksheet to record information about what policies to associate with document content types, list content types, and document sets content types.

Plan list content types

The elements of a list content type include the columns of metadata that are associated with the content type and workflows that can run on items of that content type. Use a list content type to define a kind of list item that is unique to your solution. For example, in a customer call center solution, in which support professionals investigate and resolve customers' technical issues, a list content type could be used to standardize the data for each support incident and to track the incident by using a workflow.

For information about changing the core content types, download the white paper "Guidance for editing pre-defined content types and site columns" (http://go.microsoft.com/fwlink/p/?LinkId=260922.

Plan workflows

Workflows implement business processes on documents, Web pages, forms, and list items inSharePoint Server 2010. They can be associated with libraries, lists, or content types.

In document management, use workflows to route documents from person to person so that they can each complete their document management tasks, such as reviewing documents, approving their publication, or managing their disposition. Also, use custom workflows to move documents from one site or library to another. For example, you can design a workflow to copy a document from one site to another when the document is scheduled to be archived.

SharePoint Server 2010 includes workflows that address the following document management needs:

  • Collect Feedback Sends a document for review.

  • Approval Sends a document for approval, often as a prerequisite to publishing it.

  • Disposition Manages document expiration and disposition.

  • Collect Signatures Routes a document for signatures.

  • Translation Management Manages the translation of a document into one or more languages.

  • Three-state Manages business processes that require organizations to track the status of an issue or item through three different states (phases).

Associate a workflow with a content type when you want to make that workflow available whenever that content type is being used. For example, a purchase order content type could require approval by a manager before the transaction can be completed. To ensure that the approval workflow is always available when a purchase order is initiated, create a Purchase Order content type and associate the approval workflow with it. Then add the Purchase Order content type to any document libraries in which purchase orders will be stored.

To plan workflows for your document management solution, analyze each document content type that you plan to implement and identify the business processes that have to be available to run on content of that type. Then identify the workflows you will have to make available for that content.

The following is a sample table that analyzes workflows for a contract content type.

Contract Process | Contract Workflow | New?
Review drafts. | Collect feedback | No
Get approval from the manager and the legal counsel. | Approval | No
Resolve open issues. | Issue tracking | No
Get signatures. | Collect signatures | No

For more information, see Plan workflows (SharePoint Server 2010).

Worksheet

Use the following worksheet to record the information discussed in this article:

  • Content type and workflow planning worksheet for SharePoint Server 2010 (http://go.microsoft.com/fwlink/p/?LinkId=165878)

See Also

Concepts

Identify users and analyze document usage (SharePoint Server 2010)
Plan workflows (SharePoint Server 2010)
Workflow deployment process (SharePoint Server 2010)

Other Resources

Resource Center: Enterprise Content Management in SharePoint Server 2010


Information management policy planning (SharePoint Server 2010)
See Also

This article describes how you can plan and integrate information management policies with your Microsoft SharePoint Server 2010 document management solution.

In this article:

  • Information management policies and policy features

  • Information management policy reporting

  • Information management policy integration with Office system applications

  • Policy features available in SharePoint Server 2010

  • Plan document policies

Information management policies and policy features

An information management policy is a set of rules for a type of content. Each rule in a policy is a policy feature. For example, an information management policy feature could specify how long a type of content should be retained, or it could provide document auditing. Information management policies enable you to control who can access your organizational information, what they can do with it, and how long the information should be retained.

Note:

In this article, the term policy refers to information management policy unless otherwise specified.

Policies can be implemented to help an organization comply with legally mandated requirements, such as the need to retain records. For example, a Human Resources policy, used in an organization to ensure that employee records are handled in compliance with legally recommended guidelines, could include the following policy features:

  • Auditing, to record the editing and viewing history of each employee-related document.

  • Retention, to ensure that work-in-progress content is not kept for an unnecessarily long time.

  • Labels, to ensure that physical copies of each document are properly identifiable.

  • Print restrictions, to ensure that sensitive employee-related documents are printed only on secure printers. Note that this is an example of a custom policy feature that must be implemented by using the Microsoft SharePoint Server 2010 object model or obtained from a third-party software vendor.

Policy features are implemented as programs that run on SharePoint Server 2010. They can be enabled and configured by a server administrator and, when they are enabled, they can be used by site administrators to define policies. SharePoint Server 2010 includes policy features to help you manage your content. By using the SharePoint Server 2010 object model, you can design and install custom policy features that meet unique enterprise needs.

A policy feature might use one or more policy resources, which are programs that provide some functionality to a policy feature. For example, a policy resource for a Barcode Generation policy feature could provide the unique bar code value. You can develop custom policy resources and install them to support policy features.

When your organization uses the Microsoft Office system client applications together with SharePoint Server 2010, policies are enforced both on the server and in the client applications. This is done transparently; policy features that apply to a document are described in a policy statement that is associated with the document, and policy-aware applications prevent users from doing tasks that violate the document's policy.

To implement a policy, associate it with content types, libraries, or lists in sites.

Note:

In the Site Content Type Gallery, you can apply a policy to any custom content type, but you cannot apply a policy directly to a core content type.

You can associate a policy with a library, list, or content type in the following ways:

  • Associate policy features with a Site Collection policy, and then associate that policy with a content type or with a list or library. The top-level site of a site collection includes a Site Collection Policies gallery where administrators of the top-level site can create new policies. After creating a Site Collection policy, you can export it so that administrators of other site collections can import it into their Site Collection Policies galleries. This lets you standardize policies across your organization.

    When a Site Collection policy is associated with a content type and that content type is associated with a list or library, the owner of the list or library cannot modify the Site Collection policy in the list or library. This ensures that policies that are assigned to a content type are enforced at each level of the site hierarchy.

  • Associate a set of policy features directly with a content type, and then add that content type to one or more lists or libraries. To ensure that a policy that is created by using this method will be used in the whole site collection, associate it with a content type in the Site Content Type gallery of the top-level site collection. Then every item of that content type in the site collection, and every item of a content type that inherits from the original content type, will have the policy. When you use this method of associating a policy with a content type, it is harder to reuse the policy in other site collections, because policies created by using this method cannot be exported.

    Note:

    To more tightly control which policies are being used in a site collection, site collection administrators can disable the ability to set policy features directly on a content type. When setting policy features on a content type is restricted, content type designers can only associate policies from the Site Collection Policies gallery with content types.

  • Associate a set of policy features directly with a list or library. You can only use this method if the list or library does not support multiple content types. This method of creating a policy is only useful for a narrowly defined policy that applies to a single list or library.

    Note:

    To more tightly control which policies are being used in a site collection, site collection administrators can disable the ability to set policy features directly on a library. When setting policy features on a library is restricted, content type designers can only associate policies from the Site Collection Policies gallery with libraries.

Information management policy reporting

To track how policies are being used in each Web application in your solution, you can configure information management policy usage reporting by using SharePoint Central Administration. Information management policy reports help you monitor how well your organization uses policies. Because policies are often implemented to help an organization comply with particular regulations, frequent monitoring of policy usage can help you ensure that your organization is compliant.

SharePoint Server 2010 includes a default policy report template in XML-spreadsheet format, or you can create a custom report template based on the same schema. You can specify a schedule for policy reporting, and you can generate reports manually.

A policy report is generated for each site collection in a Web application. For each list and library, a report records the following:

  • The number of items that use each policy.

  • A summary of each policy that is being used — whether it is based on a Site Collection policy or configured in a content type. The summary includes the policy description together with a description of each policy feature.

Information management policy integration with Office system applications

SharePoint Server 2010 information management policies are exposed in the Office system client applications. When you configure an information management policy on the server, you can write a policy statement that informs information workers about the policies that are enforced on documents. For example, the policy statement might indicate that a document will be deleted after a certain time or that it contains sensitive information that should not be communicated outside the company. The statement might even provide a contact name if the information worker needs more information about the policy.

The policies that are included in SharePoint Server 2010 are exposed to information workers through features of the Office system client applications. For example, when a label is defined as part of a policy, users can insert labels into documents from the Insert menu of most the Office system client applications. If a label is required, users are prompted when they are saving documents in which a label has not been inserted. Similarly, users will be able to insert bar codes from client applications if that policy feature is part of the document's policy.

Custom policy features can also be integrated in the Office system client applications. However, you must implement policy-specific behaviors that you want to be available from the Office system client applications, and you must give users a way to install these behaviors on their client computers via mechanisms such as add-ins to make them available from the Office system client applications. For example, if you implement a custom policy feature that restricts the printers that can be used to print a content type, you must provide a custom add-in for Microsoft Office client applications to enforce the restriction from these applications.

Policy features available in SharePoint Server 2010

This section describes the policy features that are included in SharePoint Server 2010.

  • Retention The Retention policy feature lets you define retention stages, with an action that happens at the end of each stage. For example, you could define a two-stage retention policy on all documents in a specific library that deletes all previous versions of the document one year after the document is created, and declares the document to be a record five years after the document is created.

    The actions that can occur at the end of a stage include the following:

    • Moving the item to the Recycle Bin

    • Permanently deleting the item

    • Transferring the item to another location

    • Starting a workflow

    • Skipping to the next stage

    • Declaring the item to be a record

    • Deleting all previous drafts of the item

    • Deleting all previous versions of the item

  • Auditing The Auditing policy feature logs events and operations that are performed on documents and list items. You can configure Auditing to log events such as the following:

    • Editing a document or item

    • Viewing a document or item

    • Checking a document in or out

    • Changing the permissions for a document or item

    • Deleting a document or item

  • Labeling The Labeling policy feature specifies a label to associate with a type of document or list item. Labels are searchable text areas that SharePoint Server 2010 generates based on properties and formatting that you specify. For example, in a law firm, a document related to a legal matter could include a label that contains the clients' names, the case number, and the attorney assigned to the matter. Labels are especially useful in printed versions of documents as a way to display document properties in printed copy. Along with using labels for documents, you can associate a label with a list item and include that label in views of the list.

  • Barcode The Barcode policy feature enables you to track physical copies of a document by creating a unique identifier value for a document and inserting a bar code image of that value in the document. By default, bar codes are compliant with the common Code 39 standard (ANSI/AIM BC1-1995, Code 39), and you can plug in other bar code providers by using the policies object model.

Plan document policies

When you plan your solution's policies, first determine organization-wide policy needs, and then design Site Collection policies to meet those needs and distribute those policies for inclusion in the Site Collection Policy galleries of all relevant site collections. This might require planning custom policy features. Note that, if your policy requires custom policy features and resources, those features and resources must be installed and enabled on all server farms on which your solution is used.

A typical example of an organization-wide policy is one that is designed to promote best practices in auditing and retaining product specifications across the divisions of an organization. A single Site Collection policy is designed to be applied to all product specifications so that they are consistently audited and retained. After defining the Site Collection policy and testing it, it is exported and then imported to Site Collection Policy galleries of other site collections in which product specifications are stored. It is then associated with all product specification content types in the various site collections to impose the policy on all product specifications.

Worksheet

Use the following worksheet with this article to help plan your information management policies:

  • Policy worksheet (http://go.microsoft.com/fwlink/p/?LinkId=165883)

See Also

Other Resources

Resource Center: Enterprise Content Management in SharePoint Server 2010


Versioning, content approval, and check-out planning (SharePoint Server 2010)

This article describes how to plan to use versioning, content approval, and check-out in Microsoft SharePoint Server 2010 to control document versions throughout their life cycle.

In this article:

  • About versioning, content approval, and check-outs

  • Plan versioning

  • Plan content approval

  • Plan check-out and check-in

Before reading this article, you should understand the document management planning process described in Document management overview (SharePoint Server 2010).

About versioning, content approval, and check-outs

SharePoint Server 2010 includes the following features that can help you control documents in a document library:

  • Versioning is the method by which successive iterations of a document are numbered and saved.

  • Content approval is the method by which site members who have approver permissions control the publication of content.

  • Check-out and Check-in are the methods by which users can better control when a new version of a document is created and also comment on changes that they made when they check a document in.

You configure settings for the content control features discussed in this article in document libraries. To share these settings across libraries in your solution, you can create document library templates that include your content control settings. This ensures that new libraries will reflect your content control decisions.

Plan versioning

The default versioning control for a document library depends on the site collection template. However, you can configure versioning control for a document library depending on your particular requirements. Each document library can have a different versioning control that best suits the kind of documents in the library. SharePoint Server 2010 has three versioning options:

  • No versioning Specifies that no previous versions of documents are saved. When versioning is not being used, previous versions of documents are not retrievable, and document history is also not retained because comments that accompany each iteration of a document are not saved. Use this option on document libraries that contain unimportant content or content that will never change.

  • Create major versions Specifies that numbered versions of documents are be retained by using a simple versioning scheme (such as 1, 2, 3). To control the effect on storage space, you can specify how many previous versions to keep, counting back from the current version.

    In major versioning, every time a new version of a document is saved, all users who have permissions to the document library will be able to view the content. Use this option when you do not want to differentiate between draft versions of documents and published versions. For example, in a document library that is used by a workgroup in an organization, major versioning is a good choice if everyone on the team must be able to view all iterations of each document.

  • Create major and minor (draft) versions Specifies that numbered versions of documents are retained by using a major and minor versioning scheme (such as 1.0, 1.1, 1.2, 2.0, 2.1). Versions ending in .0 are major versions and versions ending with non-zero extensions are minor versions. Previous major and minor versions of documents are saved together with current versions. To control the effect on storage space, you can specify how many previous major versions to keep, counting back from the current version. You can also specify how many major versions being kept should include their respective minor versions. For example, if you specify that minor versions should be kept for two major versions and the current major version is 4.0, then all minor versions starting at 3.1 will be kept.

    In major and minor versioning, any user who has read permissions can view major versions of documents. You can specify which users can also view minor versions. Typically, we recommend that you grant permissions to view and work with minor versions to the users who can edit items, and restrict users who have read permissions to viewing only major versions.

    Use major and minor versioning when you want to differentiate between published content that can be viewed by an audience and draft content that is not yet ready for publication. For example, on a human resources Web site that describes organizational benefits, use major and minor versioning to restrict employees' access to benefits descriptions while the descriptions are being revised.

Note:

Regardless of the versioning control that you choose, it is important to remember that each version of a document stores a complete copy of the document in SQL Server and to consider what effect this might have on storage space. If you use co-authoring, see Co-authoring overview (SharePoint Server 2010).

Plan content approval

Use content approval to formalize and control the process of making content available to an audience. For example, an enterprise that publishes content as one of its products or services might require a legal review and approval before publishing the content. Content publishing can also be scheduled depending on the document state. For more information, see Plan content approval and scheduling (SharePoint Server 2010).

A document draft awaiting content approval is in the Pending state. When an approver reviews the document and approves the content, it becomes available for viewing by users who have read permissions. A document library owner can enable content approval for a document library and, optionally, can associate a workflow with the library to run the approval process.

The way that documents are submitted for approval varies depending on the versioning settings in the document library:

  • No versioning If versioning is not being used and changes to a document are saved, the document's state becomes Pending. SharePoint Server 2010 keeps the previous version of the document so that users with read permissions can still view it. After the pending changes have been approved, the new version of the document is made available for viewing by users who have read permissions and the previous version is not retained.

    If versioning is not being used and a new document is uploaded to the document library, it is added to the library in the Pending state and is not viewable by users who have read permissions until it is approved.

  • Create major versions If major versioning is being used and changes to a document are saved, the document's state becomes Pending and the previous major version of the document is made available for viewing by users who have read permissions. After changes to the document are approved, a new major version of the document is created and made available to users who have read permissions, and the previous major version is saved to the document's history list.

    If major versioning is being used and a new document is uploaded to the document library, it is added to the library in the Pending state and is not viewable by users who have read permissions until it is approved as version 1.

  • Create major and minor (draft) versions If major and minor versioning is being used and changes to a document are saved, the author has the choice of saving a new minor version of the document as a draft or creating a new major version, which changes the document's state to Pending. After the changes to the document are approved, a new major version of the document is created and made available to users who have read permissions. In major and minor versioning, both major and minor versions of documents are kept in a document's history list.

    If major and minor versioning is being used and a new document is uploaded to the document library, it can be added to the library either in the Draft state as version 0.1 or the author can immediately request approval, in which case the document's state becomes Pending.

Plan check-out and check-in

You can require that users check out documents from a document library before they edit the documents. The benefits of requiring check-out and check-in include the following:

  • Better control of when document versions are created. When a document is checked out, the author can save the document without checking it in. Other users of the document library will be unable to see these changes, and a new version is not created. A new version (visible to other users) is only created when an author checks in a document. This gives the author more flexibility and control.

  • Better capture of metadata. When a document is checked in, the author can write comments that describe the changes that were made to the document. This creates an ongoing historical record of the changes that were made to the document.

If your solution requires that users check in and check out documents to edit them, you can use features in Microsoft Office 2010 client applications that support these actions. Users can check out documents, undo check-outs, and check in documents from Office 2010 client applications.

When a document is checked out, it is saved in the user's My Documents folder in a subfolder named "SharePoint Drafts." This folder is displayed in Office 2010 client applications. While the document is checked out, the user can only save edits to this local folder. When the user is ready to check the document in, the document is saved back to the original server location.

From Office 2010 client applications, users can also choose to leave checked-out documents on the server by changing content editing options.

Note:

You should not check out a document when you use the co-authoring functionality. For more information, see Co-authoring overview (SharePoint Server 2010).


Co-authoring overview (SharePoint Server 2010)
See Also

Published: May 29, 2010

In today's highly connected work environment, documents created by multiple authors, editors, and stakeholders are becoming the rule, instead of the exception. Organizations look to the communication and collaboration capabilities of Microsoft SharePoint Server 2010 to help them foster communication and collaboration between end-users while reducing administration required to support it. Microsoft Office 2010 continues this trend with co-authoring functionality for Microsoft PowerPoint 2010, Microsoft Word 2010, and Microsoft OneNote 2010 documents on SharePoint Server 2010.

Co-authoring removes barriers to server-based document collaboration and helps organizations to reduce the overhead associated with traditional document sharing through attachments. Co-authoring simplifies collaboration by enabling multiple users to work productively on the same document without intruding on one another's work or locking one another out. This functionality requires no additional server setup and is the default state for documents stored in SharePoint Server 2010. Co-authoring functionality is managed by using the same tools and technologies that are already used to manage SharePoint, helping to minimize the impact on administrators.

In this article:

  • Co-authoring functionality in SharePoint Server 2010

  • Understanding the end-user experience

  • Important considerations

  • OneNote Notebooks

  • Software Version Requirements

  • Co-Authoring in a mixed Office environment

  • Performance and scalability

Co-authoring functionality in SharePoint Server 2010

In traditional collaboration, documents are shared via e-mail attachments. Tracking versions and edits from multiple authors is difficult and time-consuming for users. E-mail systems have to contend with storing multiple copies of the same document, not to mention increased network traffic as documents are sent repeatedly.

The use of SharePoint to store documents for collaboration has reduced these problems by providing consistent access to up-to-date versions of documents, the ability to track previous versions, and centralized management. Storing a single document, instead of many attachments, also reduces network and storage overhead.

But this solution hasn't been perfect. When one author has a document open, other authors cannot work on it. If someone forgets to close a document or check it in, other users may be locked out indefinitely, a situation that often requires a call to the IT department to resolve the problem.

Co-authoring in SharePoint Server 2010 addresses these issues by making it possible for multiple users to work on a document, at any time, without interfering with each other's changes. This approach streamlines many common document-collaboration scenarios. For example:

  • Two or more authors are working on different parts of a composite document. While one author works on his section of the document, another author can work on hers, without either interrupting their work.

  • Several authors are working on a composite slide show. Each author can add slides to the presentation and edit them, instead of working in isolation and trying to merge several documents and make them consistent all at the same time.

  • A document is sent out to several experts and stakeholders, each of whom has some edits or additions. No user's edits are lost, because they are all working on a central, server-stored document.

Understanding the end-user experience

Co-authoring is easy to use from the end user's point of view. When a user wants to work on a document in Word 2010, PowerPoint 2010, or OneNote 2010, he or she merely opens it from SharePoint Server, as usual. If another user already has the document open, both users are able to edit the document at the same time; access to the document is not blocked and no error appears

In Word 2010 and PowerPoint 2010, saving to a document notifies other users viewing the document that there are new edits. Those users can refresh their view immediately to see those changes or continue their work and refresh later to see the latest edits. The authors can also see one another's work, and everyone knows who is working on the document. SharePoint Server 2010 versioning and tracking tools protect the document so that authors can roll back unwanted changes. When Office Communication Server is available, users can see the online status of fellow co-authors and initiate instant messaging conversations without leaving the document.

With OneNote 2010, shared notebooks enable users to share notes seamlessly. When a user edits a page of the notebook, those edits are automatically synchronized with other users of that notebook to ensure everybody has a complete set of notes. Edits made by multiple users on the same page appear automatically, enabling near real-time collaboration. Versioning and other shared features in OneNote make it possible for users to roll back edits, show what edits are new, and determine who made a specific edit.

The Excel 2010 client application does not support co-authoring workbooks in SharePoint Server 2010. However, the Excel client application does support non-real-time co-authoring workbooks stored locally or on network (UNC) paths by using the Shared Workbook feature. Co-authoring workbooks in SharePoint is supported by using the Microsoft Excel Web App, included with Office Web Apps. Office Web Apps is available to users through Windows Live and to business customers with Microsoft Office 2010 volume licensing and document management solutions based on Microsoft SharePoint 2010 Products. For more information, see Office Web Apps (Installed on SharePoint 2010 Products).

Important considerations

There are several factors that administrators will want to consider when planning how to use co-authoring in their environment.

Co-authoring functionality in SharePoint is designed to be easy to set up and requires minimal effort to manage. However there are several things to consider when you set up and manage co-authoring:

  • Permissions - For multiple users to be able to edit the same document, users need edit permissions for the document library where that document is stored. The simplest way to ensure this is to give all users access to the SharePoint site where documents are stored. In cases in which only a subset of users should have permission to co-author documents in a particular library, SharePoint permissions can be used to manage access.

  • Versioning - SharePoint Server versioning keeps track of changes to documents while they are being edited, and even stores previous versions for reference. By default, this feature is turned off in SharePoint Server 2010. SharePoint Server 2010 supports two kinds of versioning, major and minor. It is best that minor versioning not be turned on for document libraries used for co-authoring in OneNote, as this may interfere with the synchronization and versioning capabilities that are part of the product. This limitation only applies to minor versioning; major versioning may be used with OneNote.

  • Number of versions - The number of document versions retained affects storage requirements on the server. This number can be tuned in the document library settings to limit the number of versions retained. OneNote notebooks that are frequently updated may result in many versions being stored on the server. To avoid using unnecessary disk space, we recommend that an administrator set the maximum number of versions retained to a reasonable number on document libraries used to store OneNote notebooks.

  • Versioning period - The versioning period determines how often SharePoint Server will create a new version of a Word or PowerPoint document that is being co-authored. Setting this period to a low value will capture versions more often, for more detailed version tracking, but may require more server storage. The versioning period does not impact OneNote notebooks. This value can be altered by adjusting the coAuthoringVersionPeriod property on the server. For more information about adjusting this setting, see Configure the co-authoring versioning period (SharePoint Server 2010).

  • Check out - When a user checks out a document for editing, this locks the document for editing to only that user, which prevents co-authoring. Require Check Out should not be enabled in document libraries where co-authoring will be used. By default, Require Check Out is not enabled in SharePoint Server 2010. Users should not check out documents manually when co-authoring is being used.

OneNote Notebooks

Unlike Microsoft Word and Microsoft PowerPoint, Microsoft OneNote stores version information within the file itself. For this reason, administrators should follow these recommended practices when storing OneNote notebooks in a SharePoint Server document library:

  • Do not enable minor versioning. By default, minor versioning is not enabled in SharePoint Server 2010.

  • If major versioning is enabled, set a reasonable maximum number of versions to store. By default, major versioning is not enabled in SharePoint Server 2010.

Software Version Requirements

For users to co-author documents by using Office 2010, those documents must be stored in SharePoint Server 2010 or SharePoint Foundation 2010. To take advantage of the co-authoring functionality, users must have Word 2010, PowerPoint 2010, or OneNote 2010.

Note:

The co-authoring functionality in Office 2010 can also be used without SharePoint Server 2010 or SharePoint Foundation 2010 if users have Windows Live SkyDrive accounts. Using co-authoring without SharePoint Server 2010 or SharePoint Foundation 2010 is not covered in this article.

Co-Authoring in a mixed Office environment

Some organizations may want to use co-authoring in an environment where users have different versions of Office.

Mixed environment that has Microsoft Office PowerPoint and Word 2007

Users of earlier versions of PowerPoint and Word can share and edit documents stored in SharePoint Server 2010 exactly as with previous versions of SharePoint. However, they cannot use co-authoring to work on them at the same time. To collaborate best in PowerPoint and Word, we recommend that all users work with Office 2010. Users of Office PowerPoint and Word 2007 will not experience any significant difference between their current experience and their user experience on Office 2010. For instance, if Office 2007 users open a document stored in Office 2010 that is currently being edited by another user, they will see a message that the document is being used and will be unable to edit it. If no other user is editing the document, Office 2007 users will be able to open it as usual. When an Office 2007 user opens a document, this creates a lock on the document and prevents users of Office 2010 from using co-authoring to edit the document. This behavior matches earlier versions of SharePoint.

Mixed environment that has Microsoft Office OneNote 2007

OneNote 2010 is backward compatible with the Office OneNote 2007 file format and supports co-authoring with OneNote 2007 users. In mixed environments, notebooks must be saved in the OneNote 2007 file format for OneNote 2007 and OneNote 2010 users to work on it together. By upgrading to the OneNote 2010 file format, however, users gain several key features, including compatibility with the Microsoft OneNote Web App that allows users without any version of OneNote installed to edit and co-author notebooks.

OneNote 2010 includes the ability to upgrade OneNote 2007 files to OneNote 2010 files at any time, providing an easy upgrade path for organizations that are moving from a mixed environment to a unified environment on Office 2010.

Performance and scalability

SharePoint Server 2010 and Office 2010 applications have been designed to minimize the performance and scalability impact associated with co-authoring in your environment. Office clients do not send or download co-authoring information from the server until more than one author is editing. When a single user is editing a document, the performance impact resembles that of previous versions of SharePoint Server.

Office clients are configured to reduce server impact by reducing the frequency of synchronization actions related to co-authoring when the server is under heavy load, or when a user is not actively editing the document, further helping to reduce overall performance impact.

See Also

Concepts

Co-authoring administration (SharePoint Server 2010)


Plan Information Rights Management (SharePoint Server 2010)
See Also

Published: October 18, 2011

Information Rights Management (IRM) enables content creators to control and protect their documents. The contents of rights-managed documents are encrypted and supplied with a publishing license that imposes restrictions on users. These restrictions vary depending on the level of users' permissions. Typical restrictions include making a document read-only, disabling copying of text, not allowing users to save a copy of the document, or preventing users from printing the document. Client applications that read IRM-supported file types use the issuance license inside an IRM-managed document to enforce the restrictions on users who access the document.

In this article:

  • About IRM in SharePoint Server 2010

  • IRM permissions in SharePoint Server 2010

About IRM in SharePoint Server 2010

Microsoft SharePoint Server 2010 supports using IRM on documents that are stored in document libraries. Documents that can be rights-managed in SharePoint Server 2010 include Microsoft InfoPath forms, Microsoft Word, Microsoft Excel, and Microsoft PowerPoint file formats, in addition to Word, Excel, and PowerPoint Open XML file formats, and XPS (XML Paper Specification) documents. To add other file types, an administrator must install protectors — programs that control the encryption and decryption of rights-managed documents — for each new type of file.

By using IRM in SharePoint Server 2010, you can control at the site collection level the actions that users can take on documents when the documents are opened from libraries in SharePoint Server 2010. This is in contrast to IRM applied to documents that are stored on client computers, where the owner of a document can choose which rights to assign to each user of the document. Use IRM on document libraries to control sensitive content that is stored on the server. For example, if you are making a document library available to preview upcoming products to other teams within your enterprise, you could use IRM to prevent the teams from publishing the content to audiences outside your organization.

When IRM is enabled on a document library and a document in an IRM-supported format is downloaded from the server to a client application, SharePoint Server 2010 encrypts the document and adds an issuance license. When the document is uploaded back to the server, SharePoint Server 2010 decrypts the file and stores it in the library in a form that is not encrypted. By only encrypting documents when they are downloaded and decrypting them when they are uploaded, SharePoint Server 2010 enables features such as search and indexing to operate as usual on the files in the IRM-protected document library.

To use IRM with SAML authentication, you must install the June 2011 cumulative update for SharePoint Server 2010 or a more recent update. For more information about SharePoint Server 2010 updates, see the Updates resource center (http://go.microsoft.com/fwlink/p/?LinkID=220218).

For more information about IRM as it is implemented by Rights Management Services (RMS), see RMS FAQ (http://go.microsoft.com/fwlink/p/?LinkId=230459).

IRM permissions in SharePoint Server 2010

The IRM permissions that are applied to a document when users download it from a document library are based on each user's permissions to the content in the SharePoint Server 2010 security settings. The following table describes how SharePoint Server 2010 permissions are converted to IRM permissions.

SharePoint Server 2010 permissions | IRM permissions
Manage Permissions, Manage Web | Full control, as defined by the client. This generally allows a user to read, edit, copy, save, and modify or remove the permissions of rights-managed content.
Edit List Items, Manage List, Add and Customize Pages | Edit, copy, and save permissions. You can optionally enable users who have these permissions to print documents from the document library.
View List Item | Read permissions. A user can read the document, but cannot copy or update its content. You can optionally enable users who have view list item permissions to print documents from the document library.
Other | No other permissions map to IRM permissions.

See Also

Concepts

Configure Information Rights Management (SharePoint Server 2010)


Records management planning (SharePoint Server 2010)
See Also

A record is a document or other electronic or physical entity in an organization that serves as evidence of an activity or transaction performed by the organization and that requires retention for some time period. Records management is the process by which an organization:

  • Determines what kinds of information should be considered records.

  • Determines how active documents that will become records should be handled while they are being used, and determines how they should be collected after they are declared to be records.

  • Determines in what manner and for how long each record type should be retained to meet legal, business, or regulatory requirements.

  • Researches and implements technological solutions and business processes to help ensure that the organization complies with its records management obligations in a cost-effective and non-intrusive way.

  • Performs records-related tasks such as disposing of expired records, or locating and protecting records related to external events such as lawsuits.

The articles in this section describe records management in Microsoft SharePoint Server 2010 and provide guidelines for planning your records management solution. In this section:

  • Records management overview (SharePoint Server 2010)

    This article describes records management and summarizes planning for records management.

  • Create a file plan to manage records in SharePoint Server 2010

    This article describes the contents of a file plan and summarizes how to create a file plan for your organization.

  • Plan how records are collected (SharePoint Server 2010)

    This article reviews techniques that you can use to declare active documents to be records.

  • Physical records planning (SharePoint Server 2010)

    This article describes how to plan to use SharePoint Server to manage physical records.

  • Planning for eDiscovery (SharePoint Server 2010)

    This article describes how SharePoint Server supports eDiscovery.

  • Using a records archive versus managing records in place (SharePoint Server 2010)

    This article describes the differences between managing records in a records archive and managing records in place.

  • Designing for in-place records management (SharePoint Server 2010)

    This article describes how you can manage records in the same SharePoint Server library as active documents, and presents a process for determining how you will manage records in place.

  • Choose an e-mail and messaging records management strategy (SharePoint Server 2010)

    This article contains an overview and comparison of the records management functionality available in Exchange Server 2010 and SharePoint Server 2010 to help you choose a management solution for messages if your organization uses both products.

See Also

Other Resources

Resource Center: Governance in SharePoint Server 2010


Records management overview (SharePoint Server 2010)
See Also

In this article:

  • Elements of a records management system

  • Overview of records management planning

Elements of a records management system

A record is a document or other electronic or physical entity in an organization that serves as evidence of an activity or transaction performed by the organization and that requires retention for some time period. Records management is the process by which an organization:

  • Determines what kinds of information should be considered records.

  • Determines how active documents that will become records should be handled while they are being used, and determines how they should be collected after they are declared to be records.

  • Determines in what manner and for how long each record type should be retained to meet legal, business, or regulatory requirements.

  • Researches and implements technological solutions and business processes to help ensure that the organization complies with its records management obligations in a cost-effective and non-intrusive way.

  • Performs records-related tasks such as disposing of expired records or locating and protecting records that are related to external events such as lawsuits.

Determining which documents and other physical or electronic items in your organization are records is the responsibility of corporate compliance officers, records managers, and lawyers. By carefully categorizing all enterprise content in your organization, these people can help you ensure that documents are retained for the appropriate period of time. A well-designed records management system helps protect an organization legally, helps the organization demonstrate compliance with regulatory obligations, and increases organizational efficiency by promoting the disposition of out-of-date items that are not records.

Elements of a records management system

A records management system includes the following elements:

  • A content analysis that describes and categorizes content in the enterprise that can become records, that provides source locations, and that describes how the content will move to the records management application.

  • A file plan that indicates, for each kind of record in the enterprise, where they should be retained as records, the policies that apply to them, how long they must be retained, how they should be disposed of, and who is responsible for managing them.

  • A compliance requirements document that defines the rules that the organization's IT systems must follow to ensure compliance and the methods that are used to ensure the participation of enterprise team members.

  • A method for collecting records that are no longer active from all record sources, such as collaboration servers, file servers, and e-mail systems.

  • A method for auditing records while they are active.

  • A method for capturing records' metadata and audit histories and for maintaining them.

  • A process for holding records (suspending their disposition) when events such as litigations occur.

  • A system for monitoring and reporting on the handling of records to ensure that employees are filing, accessing, and managing them according to defined policies and processes.

Microsoft SharePoint Server 2010 includes features that can help organizations implement integrated records management systems and processes.

Overview of records management planning

This topic describes the planning steps that you should take to help ensure that the records management system that you implement based on SharePoint Server 2010 will achieve your organization's records management goals. The following is a preview of the records management planning process:

  1. Identify records management roles Successful records management requires specialized roles, including the following:

    • Records managers and compliance officers to categorize the records in the organization and to run the records management process.

    • IT personnel to implement the systems that efficiently support records management.

    • Content managers to find where organizational information is kept and to ensure that their teams follow records management practices.

  2. Analyze organizational content Before creating a file plan, records managers and content managers survey document usage in the organization to determine which documents and other items can become records.

  3. Develop a file plan After you have analyzed your organizational content and determined retention schedules, fill in the rest of the file plan. File plans differ from organization to organization, but generally they describe the kinds of items the enterprise acknowledges to be records, indicate where they are stored, describe their retention periods, and provide other information, such as who is responsible for managing them and which broader category of records they belong to.

  4. Develop retention schedules For each record type, determine when it is no longer active (being used), how long it should be retained after that, and how it should ultimately be disposed of.

  5. Evaluate and improve document management practices Make sure that required policies are being applied in document repositories. For example, ensure that content is being appropriately audited so that suitable audits are retained together with records.

  6. Design the records management solution Determine whether to create a records archive, to manage records in place, or to use a combination of the two approaches. Based on your file plan, design the record archive, or determine how to use existing sites to contain records. Define content types, libraries, policies, and, when it is required, metadata that determines the location to route a document to.

  7. Plan how content becomes records If you are using SharePoint Server 2010 for both active document management and records management, you can create custom workflows to move documents to a records archive. If you are using either SharePoint Server 2010 or an external document management system, you can plan and develop interfaces that move content from those systems to the records archive, or that declare a document to be a record but do not move the document. You also create a training plan to teach users how to create and work with records.

  8. Plan e-mail integration Determine whether you will manage e-mail records within SharePoint Server 2010, or whether you will manage e-mail records within the e-mail application itself.

  9. Plan compliance for social content If your organization uses social media such as blogs, wikis, or My Sites, determine how this content will become records.

  10. Plan compliance reporting and documentation To verify that your organization is performing its required records management practices, and to communicate these practices, you should document your records management plans and processes. If your enterprise becomes engaged in records-related litigation, you might have to produce these records management guidelines, implementation plans, and metrics on effectiveness.

See Also

Concepts

Create a file plan to manage records in SharePoint Server 2010
Plan how records are collected (SharePoint Server 2010)

Other Resources

Resource Center: Records Management in SharePoint Server 2010


Create a file plan to manage records in SharePoint Server 2010
See Also

The file plan is the primary records management planning document in SharePoint Server 2010. Although file plans can differ across organizations, they typically:

  • Describe the kinds of items the organization acknowledges to be records.

  • Describe what broader category of records the items belong to.

  • Indicate where records are stored.

  • Describe retention periods for records.

  • Delineate who is responsible for managing the various kinds of records.

This article describes the contents of a file plan and summarizes how to create a file plan for your organization. The article also directs you to a worksheet in which you can record the file plan.

In this article:

  • Identify kinds of records

  • Complete the file plan

  • Worksheet

Identify kinds of records

Determining which active documents in your organization might be declarable as records requires the collaboration of records managers, lawyers, compliance officers, and content managers. Note that, even if your enterprise is not in a highly regulated industry, there are general laws that might obligate your enterprise to keep records. Along with general business laws, you must evaluate legal requirements that are specific to your enterprise.

It is beyond the scope of this article to provide more than general information about how to determine what is a record in your organization. Most likely, your enterprise is already doing some form of records management and has filled most of the records management roles that you need, and you might already have a taxonomy of records.

Generally, to determine what are records in your organization:

  1. Understand your enterprise's legal obligations and business needs.

  2. In a collaborative effort across the divisions of your organization, analyze how active documents are used.

  3. Develop a list of the kinds of documents that should become records. For example, you might determine that the following should be retained as records:

    • Contracts to rent corporate space.

    • Documents related to employees' benefits.

    • Documents related to product research and development.

  4. Categorize the records. Records in the same category often have the same retention periods and might require similar treatment in other ways.

Record the information that you collected. You can use the worksheet mentioned in the section Worksheet for this purpose. Record the kind of record, the category that records of this kind belong to, and a brief description of the kind of record.

The following is a sample worksheet:

Kind of record | Record category | Description
Benefit plans, insurance plans, pension plans | Employee Benefit Descriptions | Descriptions of all employee benefit plans.
Payroll timesheets, supplementary payroll information | Payroll Records | Summaries of hours worked, overtime, and salary paid.
Vendor invoices | Invoices | Records of goods or services purchased from vendors.
Product surveys, questionnaires, training manuals, training videos | Training Materials | Provides internal or external training.
Shipping forms, shipping reports | Shipping Records | Documents the shipment of materials.
Press releases, newspaper articles | Press Releases | Public relations information about products and services.
Emergency contact sheets, medical plan enrollment forms, resumes, benefits status reports | Personnel Records | Records of individuals' employment histories and related personnel actions.

Complete the file plan

After you determine which documents should be retained as records and after you create a set of record categories, complete your file plan by providing additional information about each kind of record. Indicate the following:

  • How long each kind of record should be retained.

  • How records should be disposed of when the retention period expires.

  • Who is the primary records manager for records of this kind.

  • What kind of media are records of this kind stored in.

The following is a completed sample file plan:

Records | Description | Media | Record category | Retention | Disposition | Contact
401k plans | Description of employee benefit plan. | Web pages | Employee Benefit Plans | X years | None | Kathi Flood
Insurance plans | Description of employee insurance plan. | Print | Employee Benefit Plans | X years | None | Reshma Patel
Pension plans | Description of employee pension plan. | Print | Employee Benefit Plans | X years | None | Reshma Patel
Payroll timesheets | Summaries of hours worked, overtime, and salaries paid. | Electronic documents | Payroll Records | X years | Destroy | Reshma Patel
Supplementary payroll information | Summaries of sick time, vacation time, and other non-salary payroll items. | Electronic documents | Payroll Records | X years | Destroy | Reshma Patel
Vendor invoices | Records of goods or services purchased from vendors. | Print | Invoices | X years | Destroy | Eric Lang
Product surveys | Customer satisfaction survey. | Web pages | Survey Materials | X years | Archive | Molly Dempsey
Questionnaires | Questionnaire to determine customer demographics. | Print | Survey Materials | X years | Archive | Molly Dempsey
Training manuals | Hard-copy training content. | Print | Training Materials | X years | Destroy | Molly Dempsey
Training videos | Video training content. | Video | Training Materials | X years | Destroy | Molly Dempsey
Shipping forms | Configuration of materials shipments | Print | Shipping Materials | X years | Destroy | Eric Lang
Shipping reports | Documentation of the shipment of materials. | Electronic spreadsheets | Shipping Materials | X years | Destroy | Eric Lang
Press releases | Releases about products and services. | Electronic documents | Public Relations Information | X years | Archive | Molly Dempsey
Newspaper articles | News about products and services. | Print | Public Relations Information | X years | Archive | Molly Dempsey
Emergency contact sheets | Employee information. | Electronic documents | Personnel Records | X years | Destroy | Reshma Patel
Medical plan enrollment forms | Employees' sign-up forms for health plans. | Electronic documents | Personnel Records | X years | Destroy | Reshma Patel
Resumes | Resumes received. | Mixed | Personnel Records | X years | Destroy | Reshma Patel
Note:

The example earlier in this section is a sample. It is not a recommendation of any particular file plan settings. To reinforce that this is an example and not a recommendation of any records management policy, no retention periods are supplied.

Worksheet

You can use the following worksheet with this article to help plan your deployment:

  • Record categories worksheet http://go.microsoft.com/fwlink/p/?LinkID=179987&clcid=0x409

See Also

Other Resources

Resource Center: Records Management in SharePoint Server 2010


Plan how records are collected (SharePoint Server 2010)
See Also

After you develop a file plan and design your records management solution in SharePoint Server 2010, plan how active documents in your organization - electronic and hard copy - will become records. This article reviews techniques that you can use to declare active documents to be records and suggests one way to plan how items in your file plan will become records.

In this article:

  • Techniques for converting active documents to records

  • Completing your plan

Techniques for converting active documents to records

You can use the following techniques convert active documents to records:

  • Manually declaring a document to be a record by using a Web site based on Microsoft SharePoint Server.

  • Defining a policy that declares a document to be a record or sends a document to a Records Center site at a specified time.

  • Creating a workflow that sends a document to a Records Center site.

  • Using a custom solution that is based on the SharePoint Server object model.

Creating records manually

If in-place records management is enabled for a document library, users can explicitly declare a document in the library to be a record by editing the document's compliance details. When the site collection administrator enables in-place records management, the site collection administrator specifies who should be able to declare and undeclare records, and whether users should be able to edit or delete documents after they become records.

If a connection to a Records Center site was created, users can manually send documents to the Records Center site by using the Send to command. When a farm administrator configures a connection to the Records Center site, this command becomes available on all active documents. Depending on how the connection is configured, documents can be either copied to the Records Center site, moved to the Records Center site, or moved to the Records Center site with a link to the document maintained. For more information about creating a connection to a Records Center site, see Manage a connection to a document repository or a records center (SharePoint Server 2010).

Although manually sending records to the Records Center site is not a practical large-scale solution, you can use it to supplement other methods of creating records.

Defining a policy

A retention policy specifies actions to take on documents at certain points in time. Policy actions occur automatically; users do not need to start the action.

Two policy actions relate specifically to managing records: transferring a document to another location, and declaring a document to be a record. If a connection to a Records Center site exists, you can create a policy that sends documents to a Records Center site. The policy also specifies whether to copy the document to the Records Center site, move it, or move it and leave a link in the document library. If in-place records management is enabled for the site, you can create a policy that declares a document to be a record. You can also use the SharePoint Server object model to create a custom action.

A retention policy can have multiple stages. For example, you could create a retention policy that deletes all previous versions of a document one year after the document was last modified, and transfers the document to a Records Center site five years after the document was last modified.

If in-place records management is enabled for a site, the site can contain both active documents and records. In this case, you can specify different retention policies for active documents and records. For example, you could create a policy that declares an active document to be a record two years after the document was created, and create a second policy that deletes a record seven years after it was declared to be a record.

For more information about defining information management policies, see Office.com (http://go.microsoft.com/fwlink/p/?LinkId=191521&clcid=0x409).

Creating a workflow

When you use Microsoft Office SharePoint Designer to create a workflow, you can add an action to send an item to a repository. By using this action, you can create workflows that send documents to a Records Center site. You can also include other actions in the workflow. For example, you could create a workflow that sends an e-mail message to a document's author requesting approval, and then sends the document to a Records Center site. You could combine policies and workflows by creating a retention policy that runs the new workflow one year after a document is created.

You can also use the SharePoint Server object model to create a custom workflow that copies files to the Records Center site. A workflow that sends files to the Records Center site can be integrated into your document management system as part of a workflow that guides a document through its life cycle. For document types that have a predictable life cycle, such as expense reports, you could implement a workflow that guides the document through its various stages and, as a final step, sends a copy of the document to the Records Center site. The workflow could be triggered by creating a new document.

Using a custom solution

You can develop custom solutions that use objects in the Microsoft.Office.RecordsManagement.OfficialFileWSProxy namespace to send content from other data sources to the Records Center site. For more information about how to implement custom solutions using the SharePoint Server 2010 object model, see the SharePoint Server 2010Software Development Kit (http://go.microsoft.com/fwlink/p/?LinkID=166117&clcid=0x409).

Completing your plan

After you develop the file plan and review the methods for moving content into the Records Center site, complete your file plan by determining how to send each kind of record to the Records Center site. The things to consider include the following:

  • Is compliance enforced or voluntary?

  • Can you depend on the cooperation of users in your organization to comply with records management processes? In general, avoid manual processes. However, where they are needed, create suitable training and monitoring to ensure team compliance.

  • Will content be stored on SharePoint Server 2010 document management servers?

  • Are you maintaining physical content? Managing active physical content, such as hard copy or CD-ROM, and sending it to a records vault for retention (together with tracking the record in a Records Center site) requires unique planning not described in this topic. For example, if no electronic version of a paper document exists, you might have to track the item by using a list that has associated policies and workflows. For a full discussion of strategies and techniques for tracking a physical record, both while it is active and after it is sent to the Records Center site, see the article Physical records planning (SharePoint Server 2010).

The following table shows how some records in a sample file plan will move to a Records Center site:

Documents | Description | Media | Source location | Becomes a record...
Benefit plan | Description of employee benefit plan. | Web pages | SharePoint Server 2010 document library | Using a custom workflow associated with expiration policy
Insurance plan | Description of employee insurance plan. | Print | Physical document associated with list item in SharePoint Server 2010 | By sending to a physical vault and creating a list item in the Records Center site to track (using a barcode)
Payroll timesheets | Summaries of hours worked, overtime, and salaries paid. | Electronic documents | Payroll records server not based on SharePoint Server 2010 | Using a custom program
Product development files | Specifications of products and associated documents. | Electronic documents | SharePoint Server 2010 document library | Using custom workflow associated with expiration policy and manually by using Send to command

See Also

Concepts

Manage a connection to a document repository or a records center (SharePoint Server 2010)
Create a file plan to manage records in SharePoint Server 2010
Physical records planning (SharePoint Server 2010)

Other Resources

Resource Center: Records Management in SharePoint Server 2010


Physical records planning (SharePoint Server 2010)
See Also

In SharePoint Server 2010, you can manage physical and electronic records in the same records archive. However, you manage them in different ways. Electronic records can be stored directly in Microsoft SharePoint Server. Physical records must be stored outside SharePoint Server, for example in boxes in a warehouse. To manage physical records in SharePoint Server, you create a list item, relate the list item to the physical item, and manage the list item.

This article describes how to plan to use SharePoint Server to manage physical records. It does not contain the specific procedures to implement your plan. Before you perform the activities that are described in this topic, you should have already created a file plan. For more information about file plans, see Create a file plan to manage records in SharePoint Server 2010.

In this article:

  • Identify record types

  • Identify properties of each record type

  • Organize content types

  • Organize the records archive

  • Worksheet

Identify record types

Your file plan should identify the kinds of physical items that your organization considers to be records. If this is not the case, update the file plan to include physical records. For each kind of physical record in the file plan, indicate what kind of media that the records will be. For example, signed legal agreements might be paper records; engineering models might be large-format blueprints.

For more information about file plans, see Create a file plan to manage records in SharePoint Server 2010.

Identify properties of each record type

All records of the same type should have the same properties. The properties of physical records that you should consider in this planning step include the following:

  • Attributes (which will become columns in SharePoint Server)

  • Processes (which will become workflows in SharePoint Server)

  • Information management policies

  • Forms

For each type of record, identify the attributes that you want to capture for records of this type. These attributes will be columns of the SharePoint Server content type that represents this kind of record. Information that you would use to categorize records might be an attribute. Data that people search for might also be an attribute. Other attributes of physical records tie the record in SharePoint Server, represented by an item in a list, to the physical object that is stored in a physical location. The location and some way to identify the physical object are probably attributes that you will want to capture.

As with electronic records, you probably want to apply certain policies to physical records. All records are likely to have an expiration policy and an auditing policy. Physical records in particular might have a policy that requires a barcode. An image of the barcode that is attached to the physical object could be associated with the list item that represented the physical record. A labeling policy could require that each physical object be labeled with the same attributes that are associated with the list item that represents the physical object. For each kind of physical record, indicate whether the expiration, auditing, barcode, and label policies are required. Also note any additional policies that are required.

A physical record in SharePoint Server (an item in a list) is only a placeholder for the actual record; it is not the physical object itself. Therefore, it is likely that you will add processes to keep the physical items synchronized with actions that are taken on the list items. These processes correspond to SharePoint Server workflows. Identify the processes that should be associated with each type of record. Common processes for physical records include the following:

  • Disposing of the physical record when the list item that represents the record has expired.

  • Moving the physical object to a storage location when a new item is added to the list.

  • Retrieving the physical object.

Are there any forms that should be associated with records of this type? You might need a form for each process that you identified. Or you might use a form to provide access to the inventory of physical records.

Use the Physical records tab of the worksheet in the Worksheet section to record the information that you identified about each type of physical record. Do not fill in the content type for the type of record yet.

Organize content types

The simplest way to associate content types with physical records is to have one content type for each type of physical record. However, if multiple types of physical records share the same columns, workflows, information management policies, and forms, you can use one content type to represent all of the similar types of physical records.

Organize the content types. Consider creating one content type from which all other content types for physical records will descend. This parent content type would be derived from the Item content type. To the parent content type, add any properties (columns, information management policies, workflows, and forms) that are common to the content types for all physical records.

There are two ways to organize the content types after you have created the parent content type.

  1. Create a flat structure in which each content type that represents a type of physical records is a child of the parent content type that you created previously.

  2. Create a hierarchy, descending from the parent content type, based on the similarities between the properties of the content types.

On the Content Types tab of the worksheet, identify each content type that represents a type of physical record. For each content type, note its parent content type. In the Columns column, enter the name of every column that is defined at the level of the content type. Do not enter the names of columns that are inherited from other content types. In the Workflows column, enter the name of every workflow that is defined at the level of the content type. In the Information Management Policies column, enter the name of every information management policy that is defined at the level of the content type. In the Forms column, enter the name of every form that is defined at the level of the content type.

Organize the records archive

It is common to use separate archives for physical records and electronic records. However, you can decide to have a list or lists of items that represent physical records interspersed with the document libraries that contain electronic records.

After you have decided which records archive to store physical records in, determine how you will organize the lists within the records archive. You can create folders within lists, and use the folders to create a deeper organizational structure for physical records. As you determine which lists to create, be aware that metadata navigation and workflows can both be applied to lists.

Some ideas for organizing lists and folders include the following:

  • By record type

  • In the same manner that the physical objects are organized. (For example, a folder could represent a box, and the items in the folder could represent the objects in the box.)

  • By using a business-related organizational scheme, such as by project or by division

  • By year

Because physical records will not be moved to the records archive by using the Send to option, you cannot use the content organizer with physical records. Instead, the records manager who creates the physical record must put the record in the correct folder in the correct list.

In the Lists and folders tab of the worksheet, enter the URL of each list that you identified. For each list, in the Content Types column, determine the content types that will be allowed within the list. Use the Folder Level 1, Folder Level 2, Folder Level 3, and Folder Level 4 columns to record the hierarchy of folders and sub-folders in the list. Add more columns if you will nest folders deeper than four levels.

Worksheet

You can use the following worksheet to help plan how you will manage physical records:

Physical records planning worksheet http://go.microsoft.com/fwlink/p/?LinkID=179986&clcid=0x409

See Also

Plan content types

Concepts

Create a file plan to manage records in SharePoint Server 2010

Other Resources

Resource Center: Records Management in SharePoint Server 2010


Planning for eDiscovery (SharePoint Server 2010)
See Also

Electronic discovery, or eDiscovery, is locating and producing electronic information to support events such as litigation, audits, or investigations. If you use Microsoft SharePoint Server 2010 to manage any electronic information, you should consider eDiscovery when you plan your SharePoint Server solution. Auditing, expiration policies, and search are considerations that you should evaluate. Your planning decisions in these areas should be completed in advance of the possibility of any need arising for using eDiscovery.

In this section:

  • How SharePoint Server 2010 supports eDiscovery

  • Auditing

  • Expiration

  • Search

How SharePoint Server 2010 supports eDiscovery

There are two parts to eDiscovery in SharePoint Server: finding relevant documents, and restricting what users can do with the documents after they have been identified.

A hold is a set of documents that might be produced as part of an eDiscovery request. Within SharePoint Server, you enable or disable the Hold and eDiscovery feature at the level of an individual site. This feature is enabled by default in a Records Center site, and is disabled by default in all other kinds of sites. The Hold and eDiscovery feature enables you to create and manage holds, to add items to a hold, and to use search to discover content and copy the content to another location, or lock the content down so that it cannot be modified or deleted.

When you perform an eDiscovery search, you can do one of two things. You can copy all documents that are retrieved to a content organizer, that routes documents to their correct location based on the documents' metadata. Or you can leave the documents in place, but lock them down. Locking down a document prevents users from modifying or deleting the document.

To support eDiscovery in SharePoint Server, you enable the Hold and eDiscovery feature in every site collection in which relevant information might exist. Then you configure the search service to crawl the sites for which eDiscovery is enabled.

When circumstances occur that require your organization to produce relevant documents, an eDiscovery process can be initiated. A records manager, an attorney, or another individual may take the following actions to produce the required documents.

  1. Create a hold to contain the relevant documents.

  2. Initiate an eDiscovery search for relevant documents.

    The eDiscovery search runs at a time that is controlled by the Search and Process timer job. By default this is 10:30 PM every day. Search results are added to the hold automatically.

  3. Review the items in the hold and create additional eDiscovery searches.

  4. Locate documents manually, and add them to the hold.

  5. Run reports against the hold.

    Hold reports are run at a time that is controlled by the Hold Processing and Reporting timer job. By default this is 11:30 PM every day.

  6. Review the documents in the hold and remove irrelevant documents.

  7. Identify specific documents in the hold for which more information is needed, and review the audit log for these documents.

  8. Deliver all documents that are associated with the hold.

Auditing

When you send a document to a content organizer, the document's version history is erased. To keep a history of who changed a document and when each change was made, you will need an audit log. We recommend that you enable the auditing policy in all site collections that contain active document libraries. For more information about the auditing policy, see Governance overview (SharePoint Server 2010).

Expiration

Any information that an organization stores is subject to discovery. In addition, electronic documents consume disk space. Consider implementing an expiration policy to delete documents automatically when they are no longer needed. For more information about the expiration policy, see Governance overview (SharePoint Server 2010).

Search

When an organization has to produce documents in a litigation scenario, it must often produce them quickly or pay a fine. Make sure that Search is configured correctly before the first time that you have to use eDiscovery. In particular, ensure that Search is configured to crawl all sites in which you may have to discover content.

Search engines are usually optimized to return only a few highly relevant results. In eDiscovery, the goal of search is to return all results that match a query, not just the few most relevant results. Search in SharePoint Server 2010 was improved to better meet the needs of eDiscovery.

To help protect against common malicious attacks, SharePoint Server 2010 searches that run for more than a specific time are stopped. If your eDiscovery search might run for a long time, consider the following options:

  • Create a more tightly scoped search. If you are searching for documents related to a potential partnership with Contoso, Ltd., for example, consider searching for documents that contain the word "Contoso" and that were created in a specific date range, instead of only searching for the word "Contoso".

  • Run multiple, narrower searches. For example, assume that you are searching for documents related to recruiting a new CEO from Fabrikam, Inc. Instead of doing one search for "Fabrikam (CEO, "Anders Riis", recruit)", do three separate searches for "Fabrikam CEO", "Fabrikam "Anders Riis"", and "Fabrikam recruit".

See Also

Other Resources

Resource Center: Records Management in SharePoint Server 2010


Using a records archive versus managing records in place (SharePoint Server 2010)
See Also

Prior to Microsoft SharePoint Server 2010, you managed records by creating a Records Center site to serve as an archive, then copying documents to the archive when they became records. Whether a document was a record or not was determined by whether it lived in the records archive or elsewhere.

In Microsoft SharePoint Server 2010 you can manage records in an archive, or you can manage records in the same document repository as active documents. With the Microsoft SharePoint Server 2010 in-place approach, when you declare that a document has become a record, the record remains in place, but Microsoft SharePoint Server 2010 now manages it as a record. For example, a document might get a different retention policy when it is declared to be a record, or users might not be able to edit it.

A hybrid approach is also possible. For example, you could keep records in place with active documents for two years, and then move records to a records archive when a project is complete.

As you think about whether to manage records in a separate records center or in the same collaboration site in which the documents were created, consider the following questions:

  • Is the governance of the collaboration site appropriate for managing records? Is your industry subject to regulatory requirements that mandate records be separated from active documents? Should the administrator of a collaboration site be trusted to manage a site that contains records? You might want to store records in a site that uses more restricted access than the collaboration site, or in a site that is backed up on a different schedule.

  • How long will the collaboration site be in use? If records will have to be kept for longer than the project is ongoing, choosing an in-place records management strategy means that you will have to maintain the collaboration site even after it is no longer used.

  • Will the project members need frequent access to the documents after the documents have become records? If you use an in-place approach, project members can access documents in the same manner regardless of whether the documents are active or are records.

  • Are records managers in your organization responsible for only records, or are they responsible for all information, regardless of whether it is active or a record? If records managers are responsible only for official records, having a separate records center might be easier for them.

The following table describes differences between what you can do with records in a record center and with records that are managed in-place in a collaboration site. The differences are presented from the point of view of both records managers and employees collaborating on a project team.

Differences between a records archive and in-place records

Factor | Records archive | In-place records
Managing record retention | The content organizer automatically puts new records in the correct folder in the archive's file plan, based on metadata. | There may be different policies for records and active documents based on the current content type or location.
Restrict which users can view records | Yes. The archive specifies the permissions for the record. | No. Permissions do not change when a document becomes a record. However, you can restrict which users can edit and delete records.
Ease of locating records (for records managers) | Easier. All records are in one location. | Harder. Records are spread across multiple collaboration sites.
Maintain all document versions as records | The user must explicitly send each version of a document to the archive. | Automatic, assuming versioning is turned on.
Ease of locating information (for team collaborators) | Harder, although a link to the document can be added to the collaboration site when the document becomes a record. | Easier.
Clutter of collaboration site | Collaboration site contains only active documents. | Collaboration site contains active and inactive documents (records), although you can create views to display only records.
Ability to audit records | Yes. | Dependent on audit policy of the collaboration site.
Scope of eDiscovery | Active documents and records are searched separately. | The same eDiscovery search includes records and active documents.
Administrative security | A records manager can manage the records archive. | Collaboration site administrators have permission to manage records and active documents.

The following table describes differences between the two records management approaches that might affect how you manage IT resources.

Resource differences between a records archive and in-place records

Factor | Records archive | In-place records
Number of sites to manage | More sites; that is, there is a separate archive in addition to collaboration sites. | Fewer sites.
Scalability | Relieves database size pressure on collaboration sites. | Maximum site collection size reached sooner.
Ease of management | Separate site or farm for records. | No additional site provisioning work beyond what is already needed for the sites that have active documents.
Storage | Can store records on different storage medium. | Active documents and records stored together.

See Also

Other Resources

Resource Center: What's New in Microsoft SharePoint Server 2010
Resource Center: Enterprise Content Management in SharePoint Server 2010
Resource Center: Records Management in SharePoint Server 2010


Designing for in-place records management (SharePoint Server 2010)
See Also

In Microsoft SharePoint Server 2010 you can manage records in an archive, or you can use in-place records management, managing records in the same document repository as active documents. By using in-place records management, when you declare that a document is a record, it remains in the same location, but SharePoint Server 2010 now manages it as a record.

By using in-place records management in SharePoint Server 2010, you can:

  • Decide what actions will cause an active document to become a record. For example, a user could select an option to declare a document to be a record; a workflow could run after a specific event and turn an active document into a record; or you could define a retention policy that turns an active document into a record after a certain time.

  • Restrict who can perform records-related operations. For example, you could specify that any user can declare a document to be a record, but only records managers can edit or delete a record.

  • Restrict what actions users can perform on records. For example, you might prevent users from deleting records, or from both editing and deleting them.

  • Specify a retention policy for active documents, and a different retention policy for records.

For more information about deciding whether to use in-place records management or a records archive, see Using a records archive versus managing records in place (SharePoint Server 2010).

This article describes how to make the planning decisions that are required before you can implement in-place records management. It does not explain how to implement the decisions that you make. Before working through the steps in this article, you should already have created a file plan. For more information about file plans, see Create a file plan to manage records in SharePoint Server 2010.

If you are using in-place records management, it is assumed that you are also using SharePoint Server for another purpose, such as team collaboration sites. (If this is not true, consider using a records archive.) Therefore, you should already know the content types and folder hierarchy that your existing solution uses, or be defining these in parallel with designing your records management solution if your other SharePoint Server solution is being developed at the same time.

In this article:

  • Overview of in-place records management planning

  • Folders or content types?

  • Defining content types

  • Organizing folders for in-place records management

  • General records management planning tasks

  • Worksheets

Overview of in-place records management planning

You can set up retention policies for records based either on content types or on the folder in which a document is stored. Whether to organize records by content type or by location is the primary decision that you must make when you plan for in-place records management. After you have determined how to organize records, you design either the content types or the folder hierarchy. Then you define other aspects of records management, such as auditing policies. Finally, you decide what can be done with a document after it is declared to be a record.

If your solution will use both in-place records management and a records archive, you do not have to plan both aspects at the same time. For example, if you base your in-place records management plan on content types, you do not have to organize records in the archive based on content types.

Folders or content types?

You can define retention policies based on an item's content type or based on the folder in which an item is located. For any given library, you must select one or the other; you cannot base retention policies on a combination of content types and folders within the same library. Your choice will greatly affect how you set up the site and how users use the site. It is usually simpler to base retention policies on content types, if this works in your situation.

Consider the kinds of records that you identified in your file plan. Use the following heuristics to determine whether to organize based on content types or on location. Follow the first heuristic that applies to your situation.

  • Do all records of the same record type have the same retention policy? If so, organize based on content types.

  • Do most record types consist of records with the same retention policy? Is the case of a record type having records of different retention policies rare? If so, can you easily and logically create subtypes so that the same retention policy applies to every record of the subtype? If so, organize based on content types.

    For example, if non-disclosure agreements (NDAs) are retained for five years; leases are retained for 10 years; and partnership agreements are retained for 15 years but you classified them all as legal agreements, not all legal agreements have the same retention period. But if you subdivided legal agreements into three separate kinds of legal agreement records - NDAs, leases, and partnership agreements - then all records of the same type would have the same retention period.

  • Will all records have common attributes, or metadata, that determine the retention policy? If so, organize based on location.

    For example, if every record will have a "customer" attribute, and records for government customers have a different retention policy than records for corporate customers, then organize based on location.

  • Does your organization already have a folder structure that users are familiar with? Does the same retention policy apply to all records in a folder? Can you rely on users to store documents in the correct place in the folder structure? If all these are true, organize based on location.

If none of the previous heuristics applies, an in-place records management implementation is probably not a natural fit for your situation. Reconsider whether using a records archive will work. If you use an in-place approach, you have two options. The first option is to create additional content types whose only purpose is to differentiate items with different retention periods. The second option is organize items within folders as much as possible, and then to use sub-folders to hold items with different retention periods. Either of these options is likely to be confusing to users.

If your organization already uses SharePoint to manage documents and you are now starting to use the Records Management functionality, content types and a folder structure already exist. If neither of these map well to retention policies, you will either have to convert some items to new content types or move some items to new folders.

Defining content types

For each kind of record in your file plan, determine the content type or content types that records of this kind could be. You can enter this information on the records and content types tab of the In-place records planning worksheet.

Now consider each content type. If documents of the content type might become records, note the retention policy that applies to records of the content type. You can use the content types and retention tab of the worksheet for this purpose. If your solution will use a records archive in addition to in-place records management, only note the part of the retention policy that applies to the record before it moves to the records archive. When an item is sent to a records archive, the item's policies are erased, and the item is given the policies that are specified within the records archive.

If the previous task resulted in a content type having more than one retention policy, you will have to split the content type. Find a logical way of splitting the content type into multiple sub-types so that each sub-type can have a single retention policy. Update your mapping of records to content types to reflect the new content types.

Organizing folders for in-place records management

You will probably organize folders differently depending on whether users will determine where they want to store documents or whether you will use the Content Organizer to route documents to the correct location. These options are described in the following sections.

Option 1: Users decide where they want to store documents

If users will decide in which folder to store their documents, the folder hierarchy must make it easy for them to place documents in the correct location. Start with the folder structure that your current SharePoint Server solution uses, or the folder structure that you are designing for the other parts of your SharePoint Server solution. For each folder that might contain records, determine the kinds of records that might be in the folder. Use the record types and your file plan to determine the retention policies that could apply to items in the folder. You can enter this information on the folders and retention tab of the worksheet.

If the previous task resulted in a folder having more than one retention policy, you will have to create subfolders. For each folder that could contain items with different retention policies, create a sub-folder for each retention policy. Since users will determine where they want to store documents, there must be an easy way to explain to users what to put in each sub-folder. If there is not, consider forbidding users from choosing where they want to store documents and using the Content Organizer instead. Update your mapping of record types to folders to reflect the new sub-folders.

If you have an existing SharePoint Server solution, you will probably have to move some existing documents to put them in the folders that have the appropriate retention policies.

Determine how you will train users to place documents in the correct location and whether you will audit where documents are put. The successful application of retention policies depends on records being stored in the correct folder.

Option 2: Use the Content Organizer to determine where to store documents

If you will use the Content Organizer to route documents to the correct folder, it is less important that the folder hierarchy be easy for users to navigate. You can hide the folder structure from the users, and create views that they can use to navigate. Because the Content Organizer routes documents based on their metadata, a unique combination of metadata must apply to each folder that will contain documents.

Examine your file plan and determine which combination of attributes corresponds to each retention policy. It is okay if different combinations of metadata have the same retention policy. However, each unique combination of metadata can only correspond to one retention policy. If this is not the case, determine additional metadata to differentiate between retention policies. You can enter this information in the first two columns of the metadata and folders tab of the In-place records planning worksheet.

Next, identify a folder to correspond to each set of metadata. Enter the name of the folder in the third column of the metadata and folders tab of the worksheet. You will need this information when you create the rules that the Content Organizer uses to route documents to the correct location. You will also have to enable the content organizer to force all uploaded and new documents to go through the drop-off library.

If you have an existing SharePoint Server solution, you probably will have to move some existing documents to put them in the folders that have the appropriate retention policies.

Determine how you will train users to apply the appropriate metadata to documents. The successful application of retention policies depends on all documents having the correct metadata.

General records management planning tasks

Once you plan how to structure content for in-place records management, most of the remaining planning tasks resemble those that you would perform for a records archive. Consider the following records management decisions.

How a document will become be a record There are several ways that a document can become a record:

  • You can define a retention policy on active documents that automatically makes an active document a record after a certain time.

  • You can create a workflow that makes an active document a record, and cause the workflow to be triggered by specific events.

  • A user can manually declare a document to be a record.

  • You can configure a library so that every document that is placed in the library is converted to a record.

How will active documents become records in your solution? If a document should become a record a fixed time period after it is created or modified, using a retention policy is a good solution. For example, you can specify that six months after the last time that a document is modified, the document becomes a record. Users will not have to take any action to make documents become records; this will occur automatically.

If there is no standard time when documents become records in your organization, there are two possibilities. If you can specify the rules under which a document becomes a record, you can create a workflow that evaluates a given document against the rules, and declares the document to be a record when it is suitable. You can then create a retention policy that starts the workflow periodically. However, if only users of a document know when a document should become a record, you should provide a manual way for a user to declare a document to be a record.

Who can declare and undeclare records You can specify that anyone can declare documents to be records, that only administrators can declare documents to be records, or that only policy actions can declare documents to be records. If you select "only policy actions," then users cannot manually declare a document to be a record. Documents can be converted to records only by a rule in a retention policy.

The same options are available for defining who can un-declare a record as for defining who can declare a document to be a record.

What actions can users take on records You can restrict the actions that users can take on records without restricting what users can do to active documents in the same library. The three levels of restriction that you can set are as follows:

  • No restriction. Users can perform the same actions on records that they can perform on active documents.

  • Block delete. Records can be edited, but they cannot be deleted.

  • Block edit and delete. Records cannot be edited or deleted.

Retention policies Your retention policies should already have been defined in the file plan.

Auditing The same auditing policies apply to both records and active documents. Determine which actions that users might perform on a document that you want to track. You can define the auditing policy either at the folder level or by content types. Defining auditing policies based on content types usually results in fewer unnecessary events being logged.

Note:

All policies are removed when a record is sent to the records archive. Therefore, if you are using a multi-stage retention policy that includes sending a record to an archive after a certain time, the archive's retention policies will apply after the record is in the archive.

Workflows Will you use workflows to track any actions that are specific to records management? If so, determine what the workflows will be, and which type of items they will be applied to. For example, you could have a workflow requests approval from a records manager when a user tries to declare an item to be a record.

Worksheets

You can use the following worksheet with this article to help plan for in-place records management:

  • In-place records planning worksheet http://go.microsoft.com/fwlink/p/?LinkId=185011&clcid=0x409

See Also

Concepts

Using a records archive versus managing records in place (SharePoint Server 2010)

Other Resources

Resource Center: Records Management in SharePoint Server 2010


Choose an e-mail and messaging records management strategy (SharePoint Server 2010)
See Also

Published: November 11, 2010

Use the information in this article to plan a solution for managing messages as records in your organization, specifically when your organization uses both Microsoft SharePoint Server 2010 and Microsoft Exchange Server 2010.

Messages are content that users send from messaging applications such as Outlook. Message types include e-mails, meetings, tasks, notes, journals, contacts, instant messages, voice mails, faxes, posts, and RSS feed items. Like other kinds of content, messages often contain important information and they are a key consideration in an overall records management implementation.

This article contains an overview and comparison of the records management functionality available in Exchange Server 2010 and SharePoint Server 2010 to help you choose a management solution for messages if your organization uses both products. If you use a product other than Exchange Server 2010, you can still use this article to understand the advantages of using SharePoint Server 2010 to manage messages as records, and compare these capabilities with your product to make a choice. It does not contain general information about records management or in-depth information about records management approaches for either product, nor does it provide the specific procedures to implement a solution.

Before you choose a records management solution for messages, complete your file plan and determine what kind of messages to keep as records. For more information, see Records management overview (SharePoint Server 2010) and Create a file plan to manage records in SharePoint Server 2010.

In this article:

  • Understand approaches to records management in Exchange Server 2010 and SharePoint Server 2010

  • Considerations for choosing a records management solution for messages

Understand approaches to records management in Exchange Server 2010 and SharePoint Server 2010

Both Exchange Server 2010 and SharePoint Server 2010 provide records management capabilities that are specific to the types of content that each product is optimized for. Use the information in this section as an overview of the functionality in each product, and follow the links for more in-depth information.

Exchange Server 2010 messaging records management

Messaging records management (MRM) is the records management technology in Exchange Server 2010. In MRM, there are the following two approaches to managing messages as records:

  • Retention tags: An administrator creates retention tags and links those tags to a retention policy. The administrator also configures a default retention policy that applies to untagged messages. Users can tag their messages and folders, and use rules to apply retention policies that define how messages are handled as records. This is a user-centric approach that enables end-users to tag and store content based on their individual needs. For more information, see Understanding Retention Tags and Retention Policies (http://go.microsoft.com/fwlink/p/?LinkID=195435).

  • Managed folders: An administrator creates managed folders and links them to a managed folder mailbox policy. Users can then organize their messages in those managed folders to apply the desired policy. This is an administrator-centric approach that enables the organization to define specific rules for classifying content that end-users must follow. For more information, see Understanding Managed Folders (http://go.microsoft.com/fwlink/p/?LinkId=205098).

For more information about Exchange Server 2010 MRM, see Understanding Messaging Records Management (http://go.microsoft.com/fwlink/p/?LinkId=205099).

SharePoint Server 2010 records management

You can use SharePoint Server 2010 to manage broad types of content, including messages, as records. In SharePoint Server 2010, there are two approaches to managing records: in a records archive or in place with other content. Whether you use the records archive, an in-place approach, or a hybrid approach for messages depends on your overall records management strategy and implementation. For more information about how to determine which approach to use, see Using a records archive versus managing records in place (SharePoint Server 2010).

To manage message records in SharePoint Server, you have to move or copy messages from Exchange Server to SharePoint Server. There are third-party solutions available that provide this functionality.

Note:

When you create a Records Center in SharePoint Server 2010, the E-mail Integration with Content Organizer feature is included only for legacy Exchange Server 2007 deployments that support journaling mail to SharePoint Server. Exchange Server 2010 no longer supports this functionality. Directly sending mail to the content organizer is not supported.

Considerations for choosing a records management solution for messages

The main advantage of SharePoint Server 2010 records management over Exchange Server 2010 messaging records management is that the SharePoint Server enables broad records management of content while Exchange Server is specific to messaging records management. Additionally, by using SharePoint Server, you can use other rich SharePoint Server functionality such as collaboration and document management for messages.

If you must have a message archive solution that provides retention management for messages in your organization, Exchange functionality might be all that you need. However, if you have additional needs for your messages, SharePoint Server can provide useful functionality for your messages in addition to other content. Consider SharePoint Server in the following situations:

  • You prefer to manage messages in context with other content for completeness or to use collaboration, metadata, workflow, and search capabilities.

  • You must manage message records together with other content records as part of a centrally-managed file plan that defines metadata, workflow, and sophisticated retention requirements.

Review the considerations in the following table to determine whether Exchange Server 2010 MRM or SharePoint Server 2010 records management fits the needs of your organization. If you use a product other than Exchange Server 2010, you can still use the information about SharePoint Server 2010 to compare considerations with your product.

Consideration | Exchange Server 2010 | SharePoint Server 2010
Content management needs | Message records do not require SharePoint Server 2010 functionality in your organization. | It is important that users in your organization be able to use SharePoint Server 2010 features such as content types, multistage retention policies, and workflows with content that originates as messages.
Purpose for managing messages as records | You want or have to manage message records separately from other content in your organization. | You want or have to manage message records together with other kinds of content in your organization, especially when message context is related to other content that is maintained as records.
Scope of retention policy | Retention policies in your organization apply widely across message types. | You have sophisticated retention policies that are driven by advanced metadata models defined in SharePoint Server and cannot be replicated in Exchange Server 2010.
Isolation | Messages do not have to be managed with other content by information workers. | Messages can be managed together with other content by information workers in SharePoint Server.
Scope of holds | Legal holds for messages can be managed separately from other kinds of content. | Legal holds apply to all content types in the same manner.

See Also

Concepts

Records management overview (SharePoint Server 2010)
Create a file plan to manage records in SharePoint Server 2010

Other Resources

Messaging Policy and Compliance (http://go.microsoft.com/fwlink/p/?LinkID=196071)


Digital asset library planning (SharePoint Server 2010)
See Also

Microsoft SharePoint Server 2010 provides an asset library, which lets you store and manage digital assets such as images, audio, video, and other reusable content fragments from many applications. Content types that are designed specifically for audio and video assets support the storage and playback of those assets in Web Parts and Web Parts pages, and the Microsoft Silverlight 3 player is integrated with the user interface to enhance the media playback experience for end users. Use the articles in this chapter to guide you in planning the management of digital assets in a solution based on SharePoint Server 2010.

The articles in this chapter include the following:

  • Managing digital assets overview (SharePoint Server 2010) describes managing digital assets, details the users of a digital asset library, outlines key functionality for managing digital assets in SharePoint Server 2010, and summarizes potential scenarios for managing digital assets.

  • Plan for asset libraries covers the planning process for managing digital assets. This process includes steps for planning for asset libraries and describes tasks associated with planning various aspects of a digital asset solution, such as storage and performance, permissions and security, metadata and Search, Web Parts, views and filters, and client support.

  • Digital asset library topology and architecture (SharePoint Server 2010) discusses logical architecture and topology decisions that are related to deploying digital asset libraries

See Also

Other Resources

Resource Center: Governance in SharePoint Server 2010


Managing digital assets overview (SharePoint Server 2010)
See Also

This article describes digital assets (also referred to as rich media) and defines key terms used in relation to managing digital assets in Microsoft SharePoint Server 2010. It also explains aspects of managing digital assets by using the assets library in SharePoint Server 2010, describes the primary users of an asset library, and outlines common scenarios for using the asset library in SharePoint Server 2010.

For more information about how to plan a solution for managing digital assets, see Plan digital asset libraries (SharePoint Server 2010).

Increasing numbers of office workers create or reuse images and other rich media assets as part of their daily tasks. Often, however, no common repository exists at the departmental or enterprise level that is optimized for storing these assets. A common repository lets users easily discover and reuse rich media assets that others have already created. The asset library in SharePoint Server 2010 can save an organization time and other resources by providing a specialized repository for storing and managing digital assets. Users no longer have to look for assets in multiple locations over the network, or re-create assets from scratch. By using a centralized repository for managing digital assets, the organization also exerts tighter control over brand-sensitive content and can ensure that only approved assets for products are made available to the appropriate users.

In this article:

  • About managing digital assets

  • Users of an asset library

  • Managing digital assets in SharePoint Server 2010

  • Scenarios for using the asset library

About managing digital assets

A digital asset is an image, audio, or video file, or other reusable rich content fragment that an organization uses in applications across the enterprise. The asset library in SharePoint Server 2010 enables users to easily create, discover and reuse existing digital assets within the organization.

In SharePoint Server 2010 you use an asset library to store and share digital assets with users. The asset library is a SharePoint Server 2010 library template that is customized to use content types designed specifically for storing and cataloging rich media assets.

An effective solution for managing digital assets specifies:

  • The metadata to provide for each kind of asset.

  • The amount of storage space that is needed for the assets, and the performance issues to consider for serving the assets to users.

  • Where to store assets at each stage of the life cycle of an asset.

  • How to control access to an asset at each stage of its life cycle.

  • How to move assets within the organization as team members contribute to creation, review, approval, publication, and disposition of assets.

  • The policies to apply to assets so that asset-related actions are audited, assets are retained or disposed of correctly, and assets important to the organization are protected.

  • How assets are treated as corporate records, which must be retained according to requirements and corporate guidelines.

For information about how to plan a digital asset solution by using SharePoint Server 2010, see Plan digital asset libraries (SharePoint Server 2010).

Users of an asset library

Users of an asset library in SharePoint Server 2010 generally fall into one of three categories:

  • Asset creators This group includes people who create individual assets, such as graphic artists, video producers, or marketing copywriters, and who submit assets to the asset library. For example, a graphic artist might create a product logo in multiple resolutions and sizes, and in both color and black and white, and then upload all versions of the logo to the asset library for use by other members of a product marketing team.

  • Asset managers This group includes people who manage the assets in the library. They are in charge of the end-to-end workflow from the time that an asset is first submitted, through publication, to the time when an asset expires. They are also in charge of managing and organizing assets in the library. For example, an asset manager might take multiple versions of a product logo and categorize them appropriately in the library, and add important metadata such as keywords, and set a date after which the asset cannot be used.

  • Asset consumers This group includes people who have to find and use assets from the library to create other work products. For example, Web designers can use a product logo from the asset library when they create marketing pages for product Web sites.

Depending on the scenario, there can be crossover between these groups of users. For example, users who have permission to upload assets to the library may also have permission to categorize and manage the assets they submit to the archive. Asset creators can also be asset consumers if they look for and use assets that are added to other work products, which in turn are uploaded as separate assets. For example, a video producer might use a product logo while making a marketing video for a product, and then upload the video to the library as a separate asset.

Managing digital assets in SharePoint Server 2010

SharePoint Server 2010 provides a library template called Asset Library that is customized to use new image, audio, and video content types designed specifically for storing and cataloging rich media assets. These new content types use new column types such as Preview, Picture Size, Date Picture Taken, and Length (seconds) that contribute to the metadata for a particular asset. The asset library also has a preview mode that displays a thumbnail and some of this metadata when you hover the pointer over an asset. Enterprise keywords can be assigned to assets to make them more easily found through search queries. Keywords can be assigned by asset creators when a new asset is uploaded, or can be added later by an asset manager. Users can rate assets, a capability that provides additional metadata for assets. The metadata can then be used when assets are displayed in a Web Part. For example, if you have a library of training videos that users have viewed and rated, you can use a Web Part to display the top-rated videos on a Web page.

Asset creators and managers work directly in the asset library to upload, categorize and manage assets. Asset consumers can browse the library to find assets for inserting into projects in other applications. Consumers can browse an asset library from Microsoft Office applications and insert an asset into the open application, such as Microsoft Word or Microsoft PowerPoint.

There are four ways to display digital assets to users in SharePoint Server 2010:

  • Allow users to browse the asset library.

  • Insert a Web Part into a Web page on a team site.

  • Use the video field control on a publishing page on a publishing site.

  • Use the Content Query Web Part.

The specific methods that you use to display asset to users of your asset library will vary depending on who the users are, how they have to use assets from the library, and which methods for displaying assets are most appropriate for an asset library scenario.

In addition to the features that are part of the asset library, you can take advantage of SharePoint Server features such as workflows, routing, rules, and policies. These features help manage the assets as they come into the asset library, track the progress of assets, automate publication of assets on approval, and set the expiration for assets.

Scenarios for using the asset library

The asset library can be added to any SharePoint Server 2010 site collection or site, and can be used to provide digital assets to users in many scenarios. The following table describes possible scenarios in which you might use a digital asset library.

Scenario | Description
Corporate brand library | Uses the asset library to store branded corporate assets such as logos, artwork, and other digital assets, and uses moderate-to-heavy workflows and policies to manage the content. Creative teams can submit digital assets to the asset library where they are reviewed and published. Content stewards manage and edit the digital assets to ensure that they have been correctly tagged and organized. Information worker consumers and extranet partners who have to access to official, authorized corporate logos or brand assets use the library to find the content they need.
Divisional portal | Uses the asset library as a repository for images and rich media files for a single portal site. In this scenario, any contributor or designer can upload logos and images to the library for other people to view and use. The content is generally managed as needed by contributors, and uses minimal workflow or policy for its addition to and management in the library. For example, the divisional portal library might have multiple contributors but only a few approvers. Authors and Web designers of the site use content in the library by viewing, downloading, and inserting it into their work products, such as documents or presentations.
Team site | Similar to a divisional portal but smaller. Uses the asset library as a repository for images and rich media for a single team site. In this scenario, any team member can upload assets to the library for other team members to view and use. The content is managed as needed by contributors, and uses very little workflow or policy for its addition to and management in the library. Team members use content in the library by viewing, downloading, and inserting it into their work products, such as documents or presentations.
Corporate archive | Uses the asset library strictly as an archive that catalogs pictures, video, documents, and other assets that have historical value to an organization. Users can submit current and past items, which are collected, scanned, organized, and tagged by curators who manage the library so that other users can browse, search, and view archived content.
Divisional media sharing site | Uses the asset library to store audio and video files. In this scenario, anyone can contribute to the library, and there is little or no management of items in the library. Ratings are enabled for the library, and are combined with social tagging of assets to drive the structure and presentation of assets within the library.

See Also

Concepts

Plan digital asset libraries (SharePoint Server 2010)

Other Resources

Resource Center: What's New in Microsoft SharePoint Server 2010
Resource Center: Enterprise Content Management in SharePoint Server 2010


Plan digital asset libraries (SharePoint Server 2010)
See Also

This article describes the tasks involved in planning a digital asset library solution in Microsoft SharePoint Server 2010.

The SharePoint Server 2010 asset library, which is a kind of document library, is a collection of media files — such as image, audio, and video files — that are shared with other site users. This article first summarizes the asset library, and tells how to plan for it. Next, the article describes additional tasks associated with planning various aspects of managing digital assets in an enterprise.

For information about managing digital assets, see Managing digital assets overview (SharePoint Server 2010).

In this article:

  • Asset library overview

  • Plan for asset libraries

  • Plan for permissions and security

  • Plan for storage and performance

  • Plan for metadata and Search

  • Plan for Web Parts and Web pages

  • Plan for client support

Asset library overview

Asset libraries are collections of media files — such as image, audio, and video files — on SharePoint Server 2010 that you share with other site users. As part of planning for managing digital assets, you must determine the asset library that best fits the needs of the organization. Because the asset library is nothing more than a SharePoint Server library with specialized content types for digital assets, you use many of the same methods to plan a digital asset solution as you use to plan a document management solution.

You can use an asset library in two ways:

  • As a general document library for digital assets at the team level This can be as simple as a place to store images, audio, and video files for use by your team. You might give everyone on the team permissions to upload, organize and manage assets, or you might restrict the task of organizing and managing assets to a small subset of people on your team.

    Note:

    SharePoint Server 2010 does not support live streaming of audio or video content.

  • As a centralized repository for digital assets for the organization In this situation, you use content approval and workflow for all assets that are added to the library, and you might have people with different roles who are responsible for separate stages of the approval process. For example, graphic designers and audio/video producers could upload assets to the library. But a content manager could be responsible for triaging incoming assets and approving them for publication, in addition to assigning additional metadata to the assets.

Plan for asset libraries

The process of planning the asset libraries for your digital asset solution consists of the following major steps:

  1. Identify roles for managing digital assets

  2. Analyze asset usage

  3. Plan organization of asset libraries

  4. Plan content types

  5. Plan content governance for digital assets

  6. Plan workflows

  7. Plan policies

  8. Other uses for an asset library

Identify roles for managing digital assets

As with planning a document library, the first step in planning a digital asset library is to determine the participants and stakeholders for your solution. This will help you answer questions such as who creates digital assets in your organization, what kinds of assets do they create, who manages the assets, and who maintains the servers on which the assets are stored? For more information and for a worksheet to record the data that you collect, see Identify users and analyze document usage (SharePoint Server 2010).

Analyze asset usage

After you identify who works on assets, determine the kinds of assets they work on, and how the assets will be used. This analysis will help you determine important information such as how to structure the asset libraries, how many libraries you will require, which content types to use for the assets, and which information management policies to apply to the asset libraries. Because the size of most digital assets will be much larger than standard documents, you must also plan for storage capacity. For more information and for a worksheet to record the data that you collect, see Identify users and analyze document usage (SharePoint Server 2010).

Plan organization of asset libraries

As you plan the asset libraries, you must make decisions about the libraries specifically, where to create them, how they must be used, how many are needed, and how to organize them. You use the same methods for planning asset libraries as for planning document libraries. This section describes special considerations for planning asset libraries:

  • Determine how many asset libraries are needed

  • Decide where you want to create the asset library

  • Choose a fixed or collaborative library

  • Decide how to organize the asset library

Determine how many asset libraries are needed This determination, as in the earlier analysis and planning steps, also depends on how the asset library will be used. For example, if you have individual teams that must use asset libraries for collaboration, and who must use content governance such as versioning while they work on assets, you can create an asset library for each team site that needs one. You can then let the teams manage their own assets. If you want the asset library to serve as a large-scale centralized repository for use by many teams, you might create a single asset library and adjust the permissions to restrict those who use, manage, and search the library. For more information, see Document library planning (SharePoint Server 2010).

Note:

If you enable the disk-based cache for a Web application, every site collection within that Web application will use the cache. If you do not have to have the disk-based cache for most the sites, consider putting in a separate Web application only those site collections containing an asset library that requires the disk-based cache.

Decide where to create the asset library Where you create the asset library depends on how you plan to use it. For a general asset library that will be used at the team level, you might create the asset library at the site level. For a centralized repository, you might create the asset library at the site collection level. If the asset library will be used with a Web publishing site, place the library in the same site collection as the publishing site so that asset files that are used by publishing pages are available to the publishing site. Use your asset analysis to determine who creates and uses assets, and how those assets are used. This will help you decide where asset libraries are needed in the enterprise.

Choose a fixed or collaborative library Depending on your scenario, the asset library will be either primarily a fixed library, where completed assets are checked in and the library is read-only, or it will be a collaborative environment, where versioning is enabled for the library, and users who have appropriate permissions are able to both read and write to existing assets.

Decide how to organize the asset library You can plan to store all assets in the root of the asset library, and use custom views to display assets to library users based on certain criteria. You can also use folders to hold assets based on criteria that you specify. For example, you might put all videos in one folder and audio files in another, or you might create folders based on products and put all assets related to a particular product into each folder. Refer to your asset analysis to determine the most common scenarios for how assets are used in your organization.

Plan content types

The content types included in an asset library are image, audio, and video. You can either use these content types or create your own custom content types that are derived from them, depending on the classification needs of your organization. For example, you might create two separate content types for posters and product logos, and derive the base characteristics for those new content types from the image content type. This arrangement would let you associate separate properties for the two new content types, specify different workflows, or set different information management policies based on the content types. For more information, see Content type and workflow planning (SharePoint Server 2010).

Plan content governance for digital assets

You plan the appropriate degree of control for each content type and storage location for digital assets. For example, if the asset library is a collaborative solution, you can use versioning to store successive iterations of assets in the library, and can require users to check assets in and out before working on assets. You can also specify an approval process by which assets must be approved before they can be made available to an audience. For more information, see Versioning, content approval, and check-out planning (SharePoint Server 2010).

Plan workflows

You use workflows to perform management tasks on assets in the asset library as you do with documents in a document management library. Important questions include the following: Do assets have to be reviewed and approved before they can be used by asset consumers? Who is responsible for managing the expiration of assets? Are assets retained or deleted after expiration? For more information, see Content type and workflow planning (SharePoint Server 2010).

Plan policies

For each content type to be used in your asset library, you must to plan the information management policies that determine how assets are audited, retained, and labeled. For more information, see Information management policy planning (SharePoint Server 2010).

Important:

SharePoint Server 2010 does not automatically apply Information Rights Management (IRM) protection to audio or video content that is stored in a SharePoint Server 2010 asset library. Additionally, when audio or video assets stored in SharePoint Server 2010 are viewed by a user, copies of those assets might be stored in the user's local browser cache. The SharePoint Server 2010 media player supports playing IRM-protected audio and video formats where the DRM protection was applied by an external IRM provider that is supported by Microsoft Silverlight 3 or subsequent versions. For more information, see Digital Rights Management (DRM) (http://go.microsoft.com/fwlink/p/?LinkId=154933).

Other uses for an asset library

The following table lists additional uses for an asset library in SharePoint Server 2010.

Feature Description

Podcasts

With the new audio and video content types that are included with asset libraries, the library RSS feed can be used for podcasting. Users can take the URL for the library RSS feed and enter it into their podcast application to receive updates for when new audio and video files are added to the asset library. For more information about how to upload audio and video files, see Set up a library to store image, audio, or video files.

Suggested Content Browser Locations

When using a publishing site, the URL for an asset library in a separate site can be added to the Suggested Content Browser Locations list for the publishing site. This will enable content creators to access the asset library when they insert assets into Web pages within SharePoint Server 2010, or within Microsoft Office 2010 suite applications, such as Microsoft Word.

Content Organizer

When using an asset library as a centralized repository, consider using the Content Organizer feature to automate the routing of assets that are uploaded to the library by users. When the Content Organizer feature is started in Site Settings, a new library called Drop Off Library is automatically created. This allows for the creation of rules for how assets added to this library are routed to other libraries, such as the asset library. For example, you can direct all audio assets into one folder of the asset library, whereas all video assets are stored in another folder.

An advantage to using the Content Organizer is that certain metadata fields can be required to receive user input when new assets are added. This helps control where different types of assets are put, and reduces the work that would otherwise be performed by content managers who are responsible for administering the asset library and managing the assets it contains.

Published links

Administrators can add links to SharePoint sites and lists from client applications in the Microsoft Office 2010 suites such as Word, Microsoft Excel, and Microsoft PowerPoint. These links appear on the My SharePoint Sites tab of the Open, Save, and Save As dialog boxes when you open and save documents from these applications. Users can manually add links to their published link lists by browsing to a library and clicking Connect to Office. For more information, see Add or delete links to Office client applications (SharePoint Server 2010).

Plan for permissions and security

Planning for permissions and security in an asset library is the same as planning for permissions and security in a document library. For information about the available default groups, permission levels, and when to use custom groups or levels, see Determine permission levels and groups (SharePoint Server 2010).

Plan for storage and performance

Because an asset library is a specialized kind of document library, determining storage requirements for digital assets will resemble determining storage requirements for documents. The primary difference is that asset libraries contain fewer assets than document libraries contain. But the assets in an asset library are larger than those in a document library. When you plan for storage, analyze the content to determine the number of assets that will be stored in the asset library, and the average size of those assets. For example, if you have 50,000 assets and the average file size is 10 megabytes (MB), you must have a minimum 500 gigabytes (GB) of storage on the database server. If you will be using the disk-based binary large object (BLOB) cache, you must also make sure that the front-end Web server has sufficient disk space available in which to store the cached files.

Depending on the type of digital asset files that will be stored in your asset library, you should enable the disk-based BLOB cache and Bit Rate Throttling in order to provide better performance for users. It is usually a good idea to enable the disk-based BLOB cache. When the BLOB cache is enabled, it stores specified file types on the front-end Web server to reduce the load put on the database server when those files are requested and served to users.

If you will be using the asset library to serve audio and video files to users, we recommend that you always enable the BLOB cache, and that you enable Bit Rate Throttling on the server. Bit Rate Throttling controls the rate at which audio and video files are downloaded to the client so that overall performance on the site is not affected. Bit Rate Throttling also allows for progressive downloading and viewing of these assets by users. For more information about the disk-based cache, see Plan for caching and performance (SharePoint Server 2010). For information about how to enable and configure Bit Rate Throttling, see Bit Rate Throttling Readme (http://go.microsoft.com/fwlink/p/?LinkId=154962).

Plan for metadata and Search

The addition of metadata that helps describe the type and content of a digital asset greatly improves the discoverability of content in an asset library. When you plan an asset library, remember that rich media files are not automatically searchable because they do not contain text that a search engine can index. The metadata that is used to describe digital assets can include information such as the title, description, author, copyright, and enterprise keywords that provide additional details about the asset. Some metadata, such as the size and dimensions of an image, is entered automatically when the asset is uploaded to the asset library. Other metadata, such as a text description of an image, is added manually either by the asset creator when the asset is uploaded, or by the library manager during triage of incoming assets or performance of administrative tasks, such as the addition of keywords or approval status to library assets.

Plan for Web Parts and Web pages

SharePoint Server 2010 has many Web Parts and field controls that have been added or updated to take advantage of the new content types that are included as part of an asset library. Web Parts are added to Web zones in Web Part pages by content owners, whereas field controls are added to publishing pages by site developers and designers. For more information about Web Parts and field controls, see Understanding Field Controls and Web Parts in SharePoint Server 2007 Publishing Sites. Examples of Web Parts and field controls that are used to display digital assets include the following:

  • Media Web Part and field control Used to display embedded video in a Web page.

  • Image Web Part and field control Used to display images on a Web page.

  • Content by query Web Part Used to display items from all sites in a site collection, a selected site or subsite, or a specific list or library. The query can be configured to return a list of items based on list and content types, and can be filtered and targeted to a specific audience.

When you design Web pages for sites, consider which fields to expose to users in Web pages and Web Parts to help users find the assets they need. You can customize the information that is displayed when a user lets the pointer pause on an asset in the asset library by editing the Thumbnail view in the Library Settings page.

Plan for client support

If you want enterprise users to be able to take advantage of the rich media experience offered in SharePoint Server 2010, install Silverlight 3 or subsequent versions on all client computers that will access your Web sites. You must plan how and when Silverlight 3 is installed. For example, will all users access the asset library, and must they all have the Silverlight 3 player installed? Will the organization require a managed deployment of the Silverlight 3 client to all desktops, or will you let users install the client on an as-needed basis? For more information about Silverlight 3, see Silverlight Overview (http://go.microsoft.com/fwlink/p/?LinkId=154002).

Note:

When a user who does not have Silverlight 3 installed on a computer tries to play an audio or video asset, that asset opens with whatever media application is set as the default player on the computer.

See Also

Concepts

Managing digital assets overview (SharePoint Server 2010)

Other Resources

Resource Center: What's New in Microsoft SharePoint Server 2010
Resource Center: Enterprise Content Management in SharePoint Server 2010


Digital asset library topology and architecture (SharePoint Server 2010)
See Also

This article discusses logical architecture and topology decisions that are related to deploying digital asset libraries. For information about managing digital assets, see Managing digital assets overview (SharePoint Server 2010).

The Microsoft SharePoint Server 2010 asset library, which is a kind of document library, is a collection of media files — such as image, audio, and video files — that are shared with other site users. Because the asset library is nothing more than a SharePoint Server library with specialized content types for digital assets, the overall architecture and topology is minimally affected. The factors that can potentially influence logical architecture and topology decisions include the following:

  • The placement of digital asset libraries in the overall site structure.

  • The relationship between digital asset libraries and content databases in the logical architecture.

  • Optimizing a server farm with a binary large object (BLOB) cache or with Bit Rate Throttling.

  • Scaling out a server farm with dedicated databases or server hardware for digital assets, if it is necessary, to accommodate a large volume of digital assets.

In this article:

  • Logical architecture for managing digital assets

  • Components of a digital asset library topology

  • Typical digital asset library topology

  • Scaling topologies for digital asset libraries

Logical architecture for managing digital assets

The core element of managing digital assets in SharePoint Server 2010 is the asset library. You can add the asset library to any site, at any level within your solution. However, if you will be storing a large total volume of data, such as thousands to tens of thousands of files in an asset library, or audio or video files that in total require hundreds of gigabytes of storage space, you must carefully plan for the location in which the asset library is created and in which assets will be stored.

For example, if you have a collaboration site in which multiple individual teams each have their own sites but have to use a shared set of media, you might create an asset library at the top-level site to store the assets that will be used by the individual teams. In this scenario, the content database is shared by all sites within the site collection, so the quantity and size of the files that are stored in the asset library might be significantly smaller than in the previous example.

The following figure shows an example of the logical architecture for when an asset library is put at the root of a site collection and shares a content database that has other sites in the site collection.

Single site collection

As another example, for a large corporate training site which will contain training videos used by internal employees, you might place the asset library in the top-level site of a site collection that uses its own content database, and that has no other sites under it in the site hierarchy. By doing this, you can ensure that there is sufficient storage space for the files that will be uploaded to the asset library. This also lets you plan for future expansion, because the content database is already isolated by itself, and does not share content with any other sites in your solution.

The following figure shows an example of the logical architecture for when an asset library is put in a separate site collection with a content database that is separate from the rest of the sites:

Two separate site collections

The following table summarizes these two approaches. Note that you can implement a combination of these two approaches.

Area Single site collection Separate site collection

Description

A digital asset library is contained within the same site collection as other content. Multiple digital asset libraries can be created within the site structure.

A separate site collection is deployed to host a digital asset library.

Usage

Teams can add digital asset libraries to their team sites or use the library contained at the top-level site.

Teams add and use media files from the centrally managed digital asset library.

Note:

When using a publishing site, the URL for an asset library in a separate site can be added to the Suggested Content Browser Locations list for the publishing site. This will enable content creators to access the asset library when they insert assets into Web pages within SharePoint Server 2010, or within Microsoft Office 2010 suite applications, such as Microsoft Word.

Management

Teams manage their own libraries. Media files are managed in the same manner as all other content in the site collection.

Because media files reside in a separate database, this content can be managed separately and according to a different service level agreement.

Performance and capacity

A large total volume of media files can affect the overall performance of sites. If site collections approach or exceed database size limits, it is more difficult to scale out the overall server farm.

Because media files reside in a separate database, the database can be scaled out to dedicated hardware, if it is necessary, to reduce the performance effect this contact has on the rest of the server farm.

When you plan to incorporate the management of digital assets into your solution, you should carefully consider the quantity and size of the files that will be stored and also how they will be used. This will help you design your site architecture when you determine where the asset library should be located.

Components of a digital asset library topology

Digital asset library topologies use the same elements as any standard SharePoint topology, such as Web servers, application servers, and database servers. Components that are specific to managing digital assets are put in certain locations within the topology, but they do not change the overall structure of the topology. The following are components about which you must make configuration decisions for your digital asset library topology:

  • BLOB cache The disk-based BLOB cache controls the caching for binary large objects (BLOBs), such as frequently used image, audio, and video files, and other files that are used to display Web pages, such as .css and .js files. The BLOB cache should always be enabled if your solution will include asset libraries, and is enabled on every front-end Web server in a server farm.

  • Bit Rate Throttling Bit Rate Throttling is an Internet Information Services (IIS) 7.0 extension that meters the download speeds of media file types and data between a server and a client computer. Bit Rate Throttling can be enabled on every front-end Web server in a server farm, and it should always be enabled if your solution will include audio or video files in asset libraries. For more information, see Bit Rate Throttling (http://go.microsoft.com/fwlink/p/?LinkId=155151).

  • Maximum file upload size The maximum upload file size is a setting that is used by the SharePoint Server 2010 Web application that specifies the maximum size of a file that a user can upload to the server. The maximum file upload size is configured for every Web application on the server that hosts Central Administration, and should be adjusted to accommodate the size of files that will be uploaded to asset libraries.

For more information, see Plan for caching and performance (SharePoint Server 2010).

If your digital asset library solution will be used to store a very large amount of content, you should consider using Remote Blob Storage (RBS) to move the storage of large binary data (BLOBs) from Microsoft SQL Server 2008 to an external storage solution. RBS is not a feature of SharePoint Server 2010 or Internet Information Services (IIS) 7.0. For more information, see Overview of RBS (SharePoint Server 2010).

Typical digital asset library topology

This section shows components that can affect the overall server farm topology.

Digital asset libraries work well with any server farm topology that is supported by SharePoint Server 2010. The server farm can be a single server, a small server farm, or a large server farm.

When you decide to deploy BLOB cache or Bit Rate Throttling, you must deploy them to Web servers:

  • BLOB cache is enabled in IIS 7.0 and stored on every front-end Web server.

  • If Bit Rate Throttling is used, it must be installed and configured in IIS 7.0 on every front-end Web server.

Additionally, the server that hosts the Central Administration Web site is used to configure the maximum file upload size for each Web application it contains.

Note:

Depending on the size of your server farm and the kind of solution that you are implementing, you might have additional servers that are designated for specific roles, such as Search databases, or query and index servers.

The following illustration shows a typical three-tier server farm topology with components added for a digital asset library topology:

Basic farm topology for digital asset management

Callout | Element
1 | Front-end Web servers, each with their own BLOB cache and Bit Rate Throttling enabled (if applicable).
2 | Application server that runs Central Administration. The maximum file upload size is specified for each Web application in Central Administration.
3 | Database servers that contain one or more content databases.

Scaling topologies for digital asset libraries

When planning and scaling a solution that includes digital asset libraries, the two main factors that you must consider are capacity planning and performance. Because video and audio files can be much larger than images or other kinds of files, you will potentially reach storage capacity more quickly with them than you would without them. And depending on the number of users who must access these files at any time, the rate at which requests for the files are made to the server and then sent to the client browser will affect network performance.

For example, if you plan to use an asset library for storing training videos, you must consider the average size of each video, and the estimated total number of videos that will be needed for your organization. You must also consider the number of users who will view the videos, and which videos are likely to be requested most frequently.

For each main component in a digital asset library topology, consider the following issues:

  • Database storage Is there sufficient storage capacity on the content database servers for all the files that users will upload? It is important to understand the average size of the files and the number of files that you expect the users will upload to the server.

  • BLOB Cache storage Is there sufficient storage capacity on the front-end Web servers for the files that will be cached?

  • Remote BLOB storage (RBS) If you will have large volumes of content, you should consider using RBS to move storage of BLOBs out of the content database and into an external storage solution. For more information, see Overview of RBS (SharePoint Server 2010).

The logical architecture of your digital asset library plan will influence options for scaling out a server farm. If a digital asset library is contained in a dedicated site collection, you can easily move the database to a dedicated server, if it is necessary, to improve capacity and performance.

See Also

Concepts

Plan digital asset libraries (SharePoint Server 2010)
Managing digital assets overview (SharePoint Server 2010)
Plan for caching and performance (SharePoint Server 2010)

Other Resources

Resource Center: Enterprise Content Management in SharePoint Server 2010


Plan Web content management (SharePoint Server 2010)
See Also

This section provides information that helps IT pros plan publishing sites by using Microsoft SharePoint Server 2010 features.

In this section:

  • Publishing features overview (SharePoint Server 2010) describes the features that become available when publishing is enabled at the site collection and site levels for a nonpublishing site. This article also describes any dependencies between features, and it lists changes to the user interface that occur when publishing is enabled.

  • Plan Web pages (SharePoint Server 2010) first introduces the elements of Web pages: master pages, page layouts, content pages, style sheets, Web Parts, Web Part zones, and server field controls. Next, this article provides guidance about how to plan each element of the Web pages in your publishing site.

  • Plan Web page authoring (SharePoint Server 2010) describes the steps that are involved in planning how Web pages are authored.

  • Plan content approval and scheduling (SharePoint Server 2010) contains general guidance about how to plan content approval and scheduling for use with SharePoint Server 2010 publishing sites.

  • Plan for caching and performance (SharePoint Server 2010) provides information about how and when to use the BLOB cache, and it lists key considerations for planning to use it. This article also describes performance considerations for when to use Bit Rate Throttling, and it describes the limitations of upload file size restrictions.

  • Plan for large Pages libraries (SharePoint Server 2010) describes the use of large Pages libraries in SharePoint Server 2010 publishing sites. Also, this article provides information to help you determine whether to use large Pages libraries with your publishing solution and information about how to plan for them.

  • Content deployment overview (SharePoint Server 2010) provides an overview of the content deployment feature, describes how it works, and lists important considerations for using content deployment with your publishing solution.

  • Plan content deployment (SharePoint Server 2010) discusses how to plan for using content deployment with your publishing solution.

  • Design content deployment topology (SharePoint Server 2010) describes elements of topologies designed for content deployment and illustrates typical content deployment topologies.

  • Variations overview (SharePoint Server 2010) provides an overview of the variations feature. It describes the elements of the variations feature, provides an overview of site and page creation for variation sites, lists some of the limitations of variations, and describes scenarios for using variations in SharePoint Server 2010

  • Plan variations (SharePoint Server 2010) provides information about important items that you should consider when you are using variations in publishing sites, and it describes the tasks that are involved in planning a solution that uses variations in SharePoint Server 2010.

  • Variations design considerations (SharePoint Server 2010) provides design considerations for planning a variations infrastructure within a publishing environment, and makes recommendations about how to approach common scenarios.

  • Plan information architecture for Web content management (SharePoint Server 2010) provides general recommendations for planning the information architecture for a Web content management solution.

See Also

Other Resources

Resource Center: Governance in SharePoint Server 2010


Publishing features overview (SharePoint Server 2010)
See Also

Publishing is the authoring and deploying of branded artifacts, content, custom assemblies, and configuration files across a Microsoft SharePoint Server 2010 farm. Publishing in SharePoint Server 2010 consists of two separate features. The SharePoint Server Publishing Infrastructure feature provides publishing functionality at the site collection level, and the SharePoint Server Publishing feature provides publishing functionality at the site level. The subset of features and functionality of each feature supports the goal of publishing as part of a Web content management solution.

This article only describes the features that become available when publishing is enabled at the site collection and site levels for a nonpublishing site. This article also describes any dependencies between features, and it lists changes to the user interface that occur when publishing is enabled. However, this article does not explain how to enable the publishing features, how to plan publishing sites, or how to convert nonpublishing sites to publishing sites.

Important:

Before you enable the publishing infrastructure and publishing features for a nonpublishing site, you should read this article to understand the specific publishing features that you want to use and to determine whether it is worth enabling the complete publishing infrastructure to get the benefit of only certain publishing features.

In this article:

  • About publishing sites

  • About publishing features

  • SharePoint Server Publishing Infrastructure features

  • SharePoint Server Publishing features

  • Other publishing features

About publishing sites

The Publishing Portal site collection template and the Enterprise Wiki site collection template are the only two SharePoint Server 2010 site collection templates that are preconfigured to use the publishing features. Creating a site collection by using one of these two site collection templates automatically enables the publishing features for those site collections. By default, if the Publishing Portal site template is used, only the Publishing Site with Workflow site template and Enterprise Wiki site template are available to use to create a site within the site collection. A site collection administrator can enable other site templates for use within the site collection by using the Page Layout and Site Template Settings page.

Nonpublishing sites are all the other site templates that are available in SharePoint Server 2010, such as the Team Site and Document Workspace template. You can enable the SharePoint Server Publishing Infrastructure feature at the site collection level, and then enable the SharePoint Server Publishing feature for the root site of the site collection and any sites below it in the site hierarchy. This enables all the publishing features that you typically get when you create a site by using a publishing site template, in addition to the standard features of the nonpublishing site. For a complete list of the site templates available in SharePoint Server 2010, see Sites and site collections overview (SharePoint Server 2010).

About publishing features

The SharePoint Server Publishing Infrastructure feature provides publishing functionality at the site collection level, and the SharePoint Server Publishing feature provides publishing functionality at the site level. The subset of features contained in each of these primary features is collectively known as "publishing features." Publishing features are all the features that are part of a preconfigured publishing site or that are added when publishing is enabled at the site collection and site level. When publishing is enabled, all publishing features are automatically enabled. You cannot select individual publishing features, such as variations, to be enabled separately without enabling other publishing features. All publishing features are either active or inactive. However, even though you can decide to enable the publishing features, you do not have to use them all.

SharePoint Server Publishing Infrastructure features

This section describes the publishing features that are enabled when the SharePoint Server Publishing Infrastructure feature is enabled on a nonpublishing site collection.

Site templates

A site template is a predefined site configuration that determines, for example, the lists, files, Web Parts, Features, or settings with which to provision a new SharePoint site. When you enable the SharePoint Server Publishing Infrastructure feature, the following publishing site templates are added and are available to use when a new site is created:

  • Publishing Site

  • Publishing Site with Workflow

  • Enterprise Wiki

For more information about the site templates that are available in SharePoint Server 2010, see Sites and site collections overview (SharePoint Server 2010) and Site templates and definitions.

Groups and permission levels

SharePoint groups enable you to manage sets of users instead of individual users. The ability to view, configure, or manage a site is determined by the permission level that you assign to a user or group. When you create a site collection by using a nonpublishing site template, SharePoint Server 2010 automatically creates a standard set of groups and permission levels. When you enable the SharePoint Server Publishing Infrastructure feature, other groups and permission levels are added to the site collection. These groups and permission levels enable you to assign users to specific publishing-related roles. For example, only users who have the Approve permission, or who are in the Approvers group can edit and approve pages, list items and documents for publishing.

The following groups are added to the site collection:

  • Approvers

  • Designers

  • Hierarchy Managers

  • Quick Deploy Users

  • Restricted Readers

  • Style Resource Readers

The following permission levels are added to the site collection:

  • Approve

  • Manage Hierarchy

  • Restricted Read

By default, sites that are created below the site collection use the groups and permission levels from the parent site. For more information about groups and permission levels, see Determine permission levels and groups (SharePoint Server 2010).

Site settings

When you enable the SharePoint Server Publishing Infrastructure feature, the following changes are made to the Site Settings page:

  • In the Site Administration section, the following links are added at both the site collection and the site level:

    • Content and structure

    • Content and structure logs

    • Searchable columns

  • In the Look and Feel section, the Quick launch and Top link bar links are removed, and the Navigation link is added at both the site collection and the site level.

  • In the Site Collection Administration section, the following links are added at the site collection level only:

    • Site collection navigation

    • Variations

    • Variation labels

    • Variation logs

    • Translatable columns

    • Suggested content browser locations

Navigation

In addition to the changes that are made to navigation links on the Site Settings page, the following navigation changes are made when you enable the SharePoint Server Publishing Infrastructure feature:

  • The top link bar is replaced with the global navigation menu.

  • Default settings for the global navigation menu and the Quick Launch menu are specified.

For more information about navigation, see Site navigation overview (SharePoint Server 2010).

Theme changes

Themes provide a quick and easy way to apply colors and fonts to sites in SharePoint Server 2010. Each site can apply a theme directly to itself. When you enable the SharePoint Server Publishing Infrastructure feature, the Inherit Theme and Apply Theme sections are added to the Site Theme page. These options allow a site administrator to specify whether a site should inherit the theme from the parent site or should use its own theme. These themes also allow the site administrator to specify whether to apply the selected theme only to the current site or to the current site and all sites below it in the site hierarchy. For more information about themes, see Themes overview (SharePoint Server 2010).

Master pages and page layouts

Master pages and page layouts dictate the overall behavior and appearance (look and feel) of a SharePoint site. Master pages contain controls that are shared across multiple page layouts, such as navigation, search, or language-preference for multilingual sites. Page layouts contain field controls and Web Parts. The top-level site for a site collection that is hosted on SharePoint Server 2010 has a special document library called the Master Page Gallery library. All page layouts and master pages are stored in this document library. When you enable the SharePoint Server Publishing Infrastructure feature, the following files and folders are added to the Master Page Gallery library:

  • New master pages and page layouts, such as article pages and a Wiki page that is used by publishing sites, are added.

  • A new folder is created in the Master Page Gallery library, and is named based on the language that was used for the SharePoint Server 2010 installation. For example, if the English version was installed, the folder name is en-us. This folder contains a folder named Preview Images, which contains the thumbnail preview images of the Publishing page layouts.

    Note:

    If other language packs have been installed, each language will have its own folder that contains a Preview Images folder in the Master Page Gallery library.

  • A new folder named Editing Menu is created in the Master Page Gallery library, and it contains XML files that can be used to customize the page editing menus. For information about how to customize the page editing menus, see How to: Customize Page Editing Toolbar Components.

For more information about master pages and page layouts, see Page Layouts and Master Pages.

Images and style sheets

When you enable the SharePoint Server Publishing Infrastructure feature, the following items are added to the Style Library:

  • Cascading style sheets for default styles and styles that can be customized.

  • Images for user interface elements, such as bullets and arrows.

  • Alternate preview images for the media player.

  • XSL style sheets for applying styles to data-driven Web Parts such as Summary Links, Content Query and Table of Contents.

For information about how to customize styles, see How to: Customize Styles.

Document libraries and lists

Different document libraries and lists are created for a site collection, depending on the site template that is used to create the site collection. When you enable the SharePoint Server Publishing Infrastructure feature, the following document libraries and lists are added to the root site of site collection:

  • Content and Structure Reports This list is used to customize the queries that are appear in the View list in the Site Content and Structure tool.

  • Reusable Content This list contains HTML or text content that can be inserted into Web pages.

  • Site Collection Documents This library stores documents that are used throughout the site collection.

  • Site Collection Images This library stores images that are used throughout the site collection.

Content types

A content type defines the columns of a list item, a document, or a folder. When you enable the SharePoint Server Publishing Infrastructure feature, SharePoint Server 2010 adds, at the site collection level and at the list and library level, more content types that are used by sites within the site collection.

At the site collection level, publishing content types such as Page and Page Layout, and page layout content types such as Article Page and Enterprise Wiki Page are added. Two additional content types, Reusable HTML and Reusable Text, are added specifically for the Reusable Content list.

For more information about content types, see Content type and workflow planning (SharePoint Server 2010).

Columns

Metadata is information about a document that is used to categorize and classify your content. Each item of metadata that is associated with a content type is a column, which is a location in a list to store information. When you enable the SharePoint Server Publishing Infrastructure feature, the following columns are added:

  • New page layout columns such as Byline and Page Content, and Publishing columns such as Article Date, Scheduling Start Date and Scheduling End Date are added at the site collection level. A custom Wiki Categories column that uses managed metadata for Wiki pages is also added at the site collection level.

  • New columns for the Reusable Content list and the Content and Structure Reports list are added.

For more information about columns, see Content type and workflow planning (SharePoint Server 2010).

Web Parts

Web Parts are user interface elements that are used in pages on SharePoint sites to present information that is pulled from multiple data sources. When you enable the SharePoint Server Publishing Infrastructure feature, the following Web Parts are added at the site collection level and are available to use in all sites that are created within the site collection:

  • Content Query Web Part

  • Media Web Part

  • Summary Links Web Part

  • Table Of Contents Web Part

Page editing menu

The page editing ribbon is a panel of user interface elements that provide page information and ways to use the page. The user can use the page editing menu on the page editing ribbon to add text, images, and rich media to a page, check in the page to share a draft, and approve a pending version of the page for publishing. When you enable the SharePoint Server Publishing Infrastructure feature, the following changes are made to the page editing menu:

  • The Publish tab is added to the master page.

  • Under Editing Tools, on the Format Text tab, the following changes are made when a rich text field is selected:

    • The Spelling group and a Spelling button are added.

  • Under Editing Tools, on the Insert tab, the following items are added when a link is selected:

    • In the Media group, the From SharePoint selection is added to the drop-down list of the Picture button.

    • In the Links group, the From SharePoint selection is added to the drop-down list of the Link button.

    • In the Media group, a Video and Audio button is added.

    • In the Web Parts group, Media Web Part is added to the Media and Content category in the Web Part selection menu when the Web Part button is clicked.

  • Under Link Tools, on the Format tab, the following items are added:

    • In the Link group, a Select Link button is added.

    • In the Properties group, a Bookmark text box is added.

  • Under Picture Tools, on the Design tab, the following items are added:

    • In the Select group, the From SharePoint selection is added to the Change Picture list.

    • The Spacing group is added.

    • In the Spacing group, the Horizontal Space and Vertical Space options are added.

  • A Media tools menu is added to the page menu when a Media Web Part is selected.

Timer jobs

A timer job runs a specific Windows service for SharePoint Server 2010. The timer job contains a definition of the service to run and specifies how frequently the service is started. Each timer job has its own default schedule for when the job runs. You can change the frequency with which each job runs on the Job Definitions page on the Central Administration Web site.

When you enable the SharePoint Server Publishing Infrastructure feature, the following timer jobs are enabled on the server that hosts the Central Administration Web site:

  • Notification Timer Job Sends e-mail to the item owner when an item is about to expire.

  • Scheduled Approval Publishes approved pages according to the specified start date and time. By default, this timer job runs every minute.

  • Scheduled Unpublish Unpublishes pages according to the specified end date and time. By default, this timer job runs every minute.

  • Variations Create Hierarchies Job Definition Creates a complete variations hierarchy by creating all variation sites and pages from the source variation site, based on the variation labels. By default, this timer job runs once a day.

  • Variations Create Page Job Definition Creates pages on the target variation sites when the Automatic Creation option has been disabled and a user manually creates a new page. By default, this timer job runs every hour.

  • Variations Create Site Job Definition Creates variation sites when the Automatic Creation option has been disabled and a user manually creates a new variation site. By default, this timer job runs every five minutes.

  • Variations Propagate Page Job Definition Updates pages on target variation sites after a page on the source variation site has been approved or after it has been manually submitted by a user. By default, this timer job runs every hour.

  • Variations Propagate Site Job Definition Creates variation sites when the Automatic Creation option is enabled. By default, this timer job runs every five minutes.

For information about timer jobs, see View timer job status (SharePoint Server 2010).

SharePoint Server Publishing features

This section describes the publishing features that are enabled when the SharePoint Server Publishing feature is enabled on a nonpublishing site.

Site settings

When you enable the SharePoint Server Publishing feature, the following changes are made to the Site Settings page:

  • In the Galleries section, the Master pages link is removed, and it is replaced with the Master pages and page layouts link at both the site collection and site level.

  • In the Site Administration section, a Site output cache link is added at the site level only.

  • In the Look and Feel section, the following links are added at both the site collection and site level:

    • Master Page

    • Page layouts and site templates

    • Welcome Page

  • In the Site Actions section, the Save site as template link is removed at both the site collection and site level.

  • In the Site Collection Administration section, the following links are added at the site collection level only:

    • Site collection cache profiles

    • Site collection object cache

    • Site collection output cache

Regional settings

When you enable the SharePoint Server Publishing feature, the Subsite Settings section is added to the Regional Settings page. This enables you specify whether all sites below the current site should inherit the regional settings set for the current site.

Document libraries and lists

When you enable the SharePoint Server Publishing feature, the following document libraries and lists are added:

  • Documents This library stores documents that are used on pages in the site.

  • Images This library stores images that are used on pages in the site.

  • Pages This library stores pages that are created in the site.

  • Workflow Tasks This list stores workflow tasks that are created in the site.

Note:

If you later disable the SharePoint Server Publishing feature, libraries or lists that contain content are not removed from the site, but empty libraries or lists are removed from the site.

In addition to the libraries and lists that are created, the following changes are made to document library settings:

  • On the Document Library Settings page, in the General Settings section, a Manage item scheduling link is added.

  • On the Versioning Settings page, the following changes are made:

    • The Document Version History option is set to Create major and minor (draft) versions. This option determines what versions are created when a file is edited in the Pages library.

    • The Draft Item Security option is set to Only users who can edit items. This option determines who can see draft items in the Pages library.

    • The Require Check Out option is set to Yes. This option requires documents to be checked out before they can be edited.

Page editing menu

When you enable the SharePoint Server Publishing feature, the following changes are made to the page editing menu:

  • The Publish tab and Publish button are added to the master page.

  • The following items are added to the Publish tab:

    • If the Publishing Approval Workflow feature is enabled for the site collection, and the Publishing Approval workflow template is associated with the document library, the following changes are made:

      • A Workflows group is added.

      • In the Workflows group, a Start a Workflow button is added.

      • In the Workflows group, a Status button is added.

      • In the Workflows group, a View Tasks button is added.

    • If the Quick Deploy job is enabled for the site collection's content deployment path, in the Publishing group, a Quick Deploy button is added.

    • If item scheduling is enabled for the document library, in the Publishing group, a Schedule button is added.

  • On the Page tab, the following changes are made:

    • In the Manage group, the Edit Properties button is enabled.

    • In the Manage group, the Rename Page button is removed.

    • In the Page Actions group, the following items are added.

      1. A Preview button is added.

      2. A Page Layout button is added.

      3. A drop-down list that contains page layouts is added to the Page Layout button.

    • In the Page Actions group, a Draft Check button is added.

  • Under Editing Tools, on the Format Text tab, the following changes are made:

    • The Spelling group and the Spelling button are added.

    • The Layout group and the Text Layout button are removed.

  • Under Editing Tools, on the Insert tab, the following changes are made:

    • In the Content group, a Reusable Content button is added.

    • A customizable drop-down list is added to the Reusable Content button.

  • If a page was created by using document conversions, a Source Document Tools menu is added to the page editing bar, and the following items are added:

    • Under Source Document Tools, a Document tab is added.

    • On the Document tab, a View and Update group is added.

    • In the View and Update group, a View Document button is added.

    • In the View and Update group, an Update Page button is added.

Other changes

When you enable the SharePoint Server Publishing feature, the following changes are made:

  • Users can no longer create pages that have a space in the name. Spaces are automatically converted to a dash '-'.

  • The Manage Content and Structure link is added to the Site Actions menu. This opens the Site Content and Structure tool for the entire site collection.

Other publishing features

When you enable both the SharePoint Server Publishing Infrastructure feature and the SharePoint Server Publishing feature, the following Publishing features are enabled:

  • Content deployment You can use content deployment to deploy content from a source site collection to a destination site collection. Content deployment is administered at the farm level, on the Central Administration Web site. If your site uses content deployment and a farm administrator has enabled the Quick Deploy job, a Quick Deploy button will be added to the Publishing group on the Publish tab of the page editing menu. The Quick Deploy job enables users, such as authors and editors, to quickly deploy a Web page to the destination site collection. By default, a Quick Deploy job runs automatically every 15 minutes. When a user clicks the Quick Deploy button on a page, that page is included in the next automatically scheduled Quick Deploy job. For more information about content deployment and Quick Deploy jobs, see Content deployment overview (SharePoint Server 2010).

  • Variations The variations feature in SharePoint Server 2010 makes content available to specific audiences on different sites by copying content from a source variation site to each target variation site. When the SharePoint Server Publishing Infrastructure feature and the SharePoint Server Publishing feature are enabled, the Variations, Variations Labels and Variations Logs links are added to the Site Collection Administration section of the Site Settings page. If a variations hierarchy has been created, the Variations group is added to the page editing toolbar for all publishing pages on all sites within the site collection. However, the buttons in the Variations group are enabled only when a page is part of a source variation site. For more information about variations, see Variations overview (SharePoint Server 2010).

  • Object and output caching The object cache reduces the amount of traffic between the Web server and the SQL database by storing objects—such as lists and libraries, site settings, and page layouts—in memory on the front-end Web server. The page output cache stores the rendered output of a page and uses cache profiles that specify how long items should be held in the cache. When the SharePoint Server Publishing Infrastructure feature and the SharePoint Server Publishing feature are enabled, links to configure these caches are added to the Site Settings page for the site and site collection. For more information about the object and page output caches, see Cache settings operations (SharePoint Server 2010).

See Also

Concepts

Plan Web content management (SharePoint Server 2010)


Plan Web pages (SharePoint Server 2010)
See Also

When you plan to publish Web pages in Microsoft SharePoint Server 2010, you design the appearance of your published content, determine where authors can add content on pages, and control which authoring features authors can use. An effective plan for Web pages helps ensure that each type of content that your organization publishes is designed correctly and is available to achieve your publishing goals.

To help you understand your design options, this article first introduces the elements of publishing pages: master pages, page layouts, content pages, style sheets, Web Parts, Web Part zones, and server field controls. Next, this article contains guidance about how to plan each element of the Web pages in your publishing site. Because the design and configuration of page layouts helps restrict what authors can do on Web pages, this article includes guidance about how to use page layouts to restrict authoring. However, this article does not describe how to create master pages, page layouts, or content pages, nor does it describe how content authors create Web pages.

In this article:

  • Web pages overview

  • Plan master pages

  • Plan page layouts

  • Plan content pages

  • Using page layouts to restrict authoring

  • Web page planning worksheet

Web pages overview

When a SharePoint Server 2010 site user opens a Web page in a SharePoint site, that page is rendered based on a set of elements that have each been planned and designed separately in the Web site. Separating elements of a page in this manner enables site planners and designers to treat different elements of the site in unique ways. For example, a site's branding and navigation can be planned and designed separately from the design of the site's content pages so that the branding can be applied across all site content and can be updated in one location. Similarly, the layout of pages can be designed separately from the content of pages so the same content can be displayed in different ways.

A Web page that is based on SharePoint Server 2010 is an ASP.NET file (.aspx) page that is dynamically rendered out of its constituent parts. The two primary parts of a Web page are the master page and the page layout. Master pages contain controls that are shared across multiple page layouts, such as navigation, search, or language-preference for multilingual sites. Page layouts contain field controls and Web Parts. When you create a Web page, content in the page is stored as list items in the Pages library. This Web page is referred to as a content page, because it contains the content that is displayed to users when they view the page on the Web site. The following figure shows how page layouts and master pages work together to create the layout for a Web page.

The following sections describe master pages, page layouts, and content pages in more detail.

Master pages

A master page defines the outer frame of the Web page. It contains the elements that you want all pages in your site to share, and it provides a single place to control all those elements. Typically, a site uses a single master page, although large Internet sites might use more. For example, a corporate Web site that publicizes more than one product could use separate master pages so that the content for each product is branded correctly.

Note:

There are two kinds of master pages: site master pages and system master pages. The site master page is used on published Web pages in your site. The site master page is what site users and visitors see when they view published pages. The system master page provides the layout of pages in the site that is used by site designers and authors when they work with the site's user interface. The system master page is also used in some team site templates, such as the Enterprise Wiki and the Document Workspace site templates. This article primarily describes planning considerations for site master pages.

Master pages for all sites in a site collection are stored in the Master Page Gallery in the top-level site in the site collection. Because the Master Page Gallery is a SharePoint document library, master pages have all the features of documents in SharePoint Server 2010, such as versioning, auditing, workflow, check-in and check-out, and content approval.

Typically, master pages include the following elements:

  • Branding elements, such as corporate logos and color schemes

  • Shared navigation elements

  • Shared features, such as search commands and Help commands

  • Links to cascading style sheets. (Cascading style sheets control the page appearance, colors, and fonts.)

The publishing site templates that are included in SharePoint Server 2010 include site master pages that you can use as a starting point in your page design. To customize an existing master page or to create a new one, use Microsoft SharePoint Designer 2010 or Microsoft Visual Studio 2010.

Page layouts

A page layout is an Active Server Pages (ASPX) page that defines a layout for a specific kind of content page. When a SharePoint site user opens a content page in a browser, the page layout that is associated with that page is first combined with the master page, which supplies the outer frame of the page, and then the contents of the page are inserted into the field controls on the page layout.

Because a page layout displays content that is stored in the columns of a content type, it must be designed for a particular content type. For example, a page layout that is associated with the Article Page content type would have several field controls, including the following:

  • A Page Content field control to hold the contents of the Page Content column in the Article Page content type

  • A Page Image field control to hold the image that is linked to from the Page Image column of the Article Page content type

Although a page layout must be designed for a single content type, a content type can be associated with multiple page layouts. For example, SharePoint Server 2010 includes two page layouts for the Article Page content type: one that displays the image on the left side of the page and another that displays the image on the right. For more information about content types, see Content type and workflow planning (SharePoint Server 2010).

Along with controls to display the contents of a page, a page layout can include other page elements, including the following:

  • Web Parts A control that page authors can insert into a Web Part zone on a page and then configure.

  • Web Part zones A specified area on a Web page that is a container for Web Parts.

  • Field controls A control that is added directly to a page layout. For more information about field controls, see Field Controls and Control Templates (http://go.microsoft.com/fwlink/p/?LinkId=184821).

  • Cascading style sheets links Cascading style sheets control the page appearance, colors, and fonts.

For example, a page layout for a business article could include a field control that displays a stock ticker. The stock ticker would be displayed together with other page content when that page layout is used.

Like master pages, page layouts for all sites in a site collection are stored in the Master Page Gallery in the top-level site in the site collection. Because the Master Page Gallery is a SharePoint library, page layouts also have all the features of documents in SharePoint Server 2010, such as versioning and content approval. Publishing sites that you create by using SharePoint Server 2010 include page layouts that you can use as a starting point in your content page design. To customize an existing page layout or to create a new one, use Microsoft SharePoint Designer 2010 or Microsoft Visual Studio 2010.

Content pages

All content pages for a publishing site are stored in a single Pages library. Each item in a Pages library is a single Web page. Because the Pages library is a SharePoint library, the Web pages that it contains have all the features of documents in SharePoint Server 2010, such as versioning, auditing, workflow, check-in and check-out, and content approval.

Note:

Although all publishing pages in a site are in a single Pages library, Web solutions that are based on SharePoint Server 2010, such as intranet sites and Internet presence sites, typically consist of a hierarchy of sites, each with its own Pages library.

Authors create pages by selecting New Page on the Site Actions menu and edit them by selecting Edit Page on the Site Actions menu. When creating a new page, authors enter a name for the new page and then immediately begin authoring content on the page. To change the content type and page layout, authors select Page Layout in the Page Actions group on the Page tab of the page to be modified. To add content, select images, and do other editing tasks, authors use the Format Text and Insert tabs under Editing Tools on the page to be modified.

The columns that are associated with the content type for a Web page contain the HTML content for that page. They also contain links to images that appear with the page and a link to the page layout that is associated with the page.

Each column of content for a page is associated with a particular field control on the page layout that is associated with the page. For more information about field controls on page layouts, see Page Layout Model (http://go.microsoft.com/fwlink/p/?LinkId=184822).

Plan master pages

Master pages provide the shared framing elements of the page. These include the branding of the site, its navigation features, and other common elements such as search fields and Help commands. The site master page supplies the context of the page and should remain consistent as the user interacts with your site. To ensure that users have a consistent experience when they move from one page to another throughout a single site in a site collection, we recommend that you leave the site master page unchanged. To supply consistent branding and user interface, you can use the same site master page across all sites in your site collection.

You can change the master page that is used in other sites in your site hierarchy to change the branding in some sites. For example, an Internet presence site might consist of multiple sites that each present a different brand of products. You can change the site master page for each site in the site hierarchy to reflect the distinct product brand that each site presents.

Before you plan master pages, you should plan your site structure, as described in Plan sites and site collections (SharePoint Server 2010). To plan master pages, use the Master page data sheet in the Web page planning worksheet.

Plan page layouts

A page layout defines a layout for a content page by providing field controls into which the contents of the content page are inserted. The field control displays the contents. Each page layout is associated with a particular content type, and multiple page layouts are often available for a single content type. For example, you can assign multiple page layouts to a single content type to provide alternate layouts for localized versions of content or to add or remove the display of certain fields and features from a page layout. You can create or customize a page layout, which includes adding new controls to display content together with additional controls such as Web Parts and server controls, by using Microsoft SharePoint Designer 2010 or Microsoft Visual Studio 2010.

SharePoint Server 2010 includes the following set of page layouts for each page content type.

  • Article Page contains the following page layouts:

    This page layout Contains these page elements

    Body only

    A title and page content

    Image on left

    A title, page content, a page image on the left, and areas for a byline, article date, and image caption

    Image on right

    A title, page content, a page image on the right, and areas for a byline, article date, and image caption

    Summary links

    A title, page content, article date, byline, and a Summary Links Web Part in which authors can add a list of hyperlinks

  • Enterprise Wiki Page contains a single page layout, Basic Page, which contains the content, the page rating, and the categories page elements.

  • Project Page contains a single page layout, Basic Project Page, which contains the content, the page rating, the categories, , the page contact, and the task status page elements, and it contains a single link to the project Web page.

  • Redirect Page contains a single page layout, Redirect, which contains a single hyperlink to which users who view the page are redirected.

  • Welcome Page contains the following page layouts:

    This page layout Contains these page elements

    Blank Web Parts page

    A content area and multiple Web Part zones to which authors can add Web Parts

    Splash

    Only an image and two Summary Links Web Parts in which authors can add hyperlinks

    Summary links

    Content and image areas, together with two Summary Links Web Parts

    Table of contents

    Content and image areas, together with a Table of Contents Web Part to display a hyperlinked table of contents of the site

If you are using the page content types and layouts that are included with SharePoint Server 2010, there are no additional planning steps that you must follow. Authors can select page content types and associated layouts when they create new pages. However, if you add new fields to a page content type or if you create new custom content types for publishing pages, you should plan page layouts that reflect the new or changed content types.

You can also change a page layout by adding Microsoft ASP.NET 3.5 controls, such as Web Parts and Web Part zones, to the page. For example, you can add a Content Query Web Part, which displays a set of links that are returned by a configurable query, to a page layout. However, if you place a Web Part on a page layout outside a Web Part zone, you must configure the Web Part, and authors will be unable to change its configuration. For example, if you add a Content Query Web Part directly to a page layout, the query that you configure when the Web Part is added is permanently set and authors cannot modify it.

To plan page layouts for content types such as Article Pages, Enterprise Wiki Pages, Project Pages, and Welcome Pages, use the Page layouts data sheet tab in the Web page planning worksheet.

Plan content pages

Each content page in SharePoint Server 2010 consists of text, images, and other content that is stored as an entry in a Pages library. Planning the content pages includes the following:

  • Determining the page content types that meet your content needs

  • Determining the columns to use for storing content, for each page content type.

SharePoint Server 2010 includes the following page content types:

  • Article Page The most common content page type. This page is designed for general-purpose Web page content. It includes the following:

    • Columns for images and image captions

    • A column for page content

    • Columns for links that appear with the page

    • A column for the byline

    • A column for the article date

  • Enterprise Wiki Page The primary content page type for an Enterprise Wiki site. It includes the following:

    • A column for page content

    • Columns for ratings and number of ratings

    • A column for wiki categories

  • Project Page A page to provide basic information that describes a project. This content type inherits from the Enterprise Wiki Page content type, instead of the Page content type. It includes the following:

    • A column for page content

    • Columns for ratings and number of ratings

    • A column for a link to the project Web page

    • A column for task status

    • A column for wiki categories

  • Redirect Page A page to redirect the reader to another page. It includes a column for the redirect URL.

  • Welcome Page Typically, the home page of a publishing site. It includes the following:

    • Columns for images to display

    • A column for page content

    • Columns for links that appear with the page

Additionally, because all these page content types inherit from the generic Page content type either directly, or through their parent content type, they all include the following:

  • Columns for scheduling the page's start and end dates

  • Columns for describing contact information for the author

  • An image that appears with the page when it is listed in a table of contents or on another list

  • Information for targeting audiences

  • A column for comments about the page

When you plan content pages, we recommend that you use the page content types that are included in SharePoint Server 2010 as a starting point. The Article Page, Enterprise Wiki Page, Project Page, and Welcome Page content types are intended to be generally useful and to apply across various contexts. The primary content column in these content types is the Page Content column, which can hold HTML content. By using HTML and cascading style sheets to control the appearance of their content, authors and site designers might not have to design other content types. Also, by carefully selecting which layout to use for each kind of content, based on the Article Page, Enterprise Wiki Page, Project Page, or Welcome Page, you can introduce more variety in your content presentation without introducing additional content types. For more information, see Plan page layouts.

To plan content pages, use the corresponding data sheet tabs in the Web page planning worksheet.

Using page layouts to restrict authoring

Depending on your publishing goals, you can restrict how much freedom authors have to format their Web page content or to add items such as images and hyperlinks to pages in your site. For example, in a highly controlled Internet presence site, you might want all formatting to be defined in cascading style sheets that are associated with your page layouts, and you might want to block writers from overriding style definitions by using inline formatting. In contrast, in a collaborative site, you might want to give authors full freedom to format their pages and add other page items, such as Web Parts that provide views of data. For example, in an intranet site that is used to collaborate on product specifications, you might want to enable authors to freely use styles, hyperlinks, images, and Web Parts to maximize their ability to communicate their ideas.

You can put restrictions on page layouts in the following ways:

  • You can set properties on field controls that restrict what authors can do.

  • You can remove Web Part zones to restrict authors from inserting and configuring Web Parts on their pages, or you can set restrictions on Web Part zones to limit how authors can use them.

The following table shows recommendations for restricting page layouts based on three levels of authoring environments:

Level of control | Typical site | Restriction recommendations
Tight | Internet presence | Strict limitations on editing field controls; other field control limitations, such as no hyperlinks from image field controls; Web Parts are put directly on the page layout and not in Web Part zones
Moderate | Enterprise intranet portal site | Moderate or no limitations on editing field controls; Web Part zones that contain Web Parts, but authors are restricted from adding/removing Web Parts
Loose | Divisional or team site or Enterprise Wiki | No limitations on editing field controls; Web Part zones allowed

Use the Page layouts data sheet tab in the Web page planning worksheet to record your decisions about restricting authoring features on content pages.

Setting restrictions on field controls

By opening your site in Microsoft SharePoint Designer 2010 or Microsoft Visual Studio 2010 you can edit the tags that are associated with field controls to restrict the kinds of SharePoint Server 2010 authoring features that authors can use when they edit pages in the browser window. For example, on field controls that are bound to columns of the Publishing HTML type, you can enable or restrict the following features:

  • Setting fonts

  • Inserting images

  • Inserting tables

  • Adding hyperlinks

  • Adding text markup, such as bold and italic

  • Adding Web Parts

You can set authoring restrictions on other column types. For example, on field controls that are bound to columns of the Publishing Image type, you can enable or restrict hyperlinks from images.

When you restrict an authoring feature on a page layout in Microsoft SharePoint Designer 2010 or Microsoft Visual Studio 2010, the related page editing commands in SharePoint Server 2010 become unavailable. For example, if you restrict table editing in a field control that contains content of the Publishing HTML type, table editing commands, such as Insert Table are unavailable under Editing Tools on the Insert tab.

Allowing or restricting Web Part zones

A Web Part is a server control that authors can insert in Web Part zones on pages. A Web Part zone is a specified area on a Web page that is a container for Web Parts. Web Parts display information based on their functionality, such as presenting site navigation links, list content, or database analytical information.

When a page layout includes one or more Web Part zones, the Web Part zones are available on pages that are using that layout, which enables authors to insert available Web Parts onto their content pages. If you enable authors to insert Web Parts on pages, you reduce your control over users' experience of the site. For example, an author could insert a Table of Contents Web Part onto a page that exposes parts of your site that you do not want users to move to from the current page.

You can restrict authors from adding Web Parts to pages by opening the associated page layouts in Microsoft SharePoint Designer 2010 or Microsoft Visual Studio 2010 and removing Web Part zones from them or by removing the HTML field controls. Similarly, when you design new page layouts, omit Web Part zones to limit authors' ability to add functionality to the pages that are associated with those page layouts.

You can also include Web Part zones in page layouts but restrict their usage. By setting a Web Part zone's properties, you can populate the Web Part zone with one or more Web Parts and enable authors to edit the properties of those Web Parts but not let them add other Web Parts to the Web Part zone.

Web page planning worksheet

Download an Excel version of the Web page planning worksheet (http://go.microsoft.com/fwlink/p/?LinkID=187505&clcid=0x409). Use this worksheet to record your decisions about what master pages your site needs, columns for specific page content types, and authoring restrictions on page layouts.

See Also

Concepts

Plan Web page authoring (SharePoint Server 2010)
Plan content approval and scheduling (SharePoint Server 2010)


Plan Web page authoring (SharePoint Server 2010)
See Also

Web page authoring is the process by which authors add content to a publishing site such as a public-facing Internet site. Web page authoring is available on a site when you create a Microsoft SharePoint Server 2010 site by using one of the publishing site templates, or when the SharePoint Server Publishing Infrastructure feature is activated for a site collection and the SharePoint Server Publishing feature is activated for a site. For information about publishing site templates, see Sites and site collections overview (SharePoint Server 2010).

Before reading this article, you should read Plan Web pages (SharePoint Server 2010), which describes page layouts, field controls, and other elements of Web pages that are mentioned in this article. This article describes the steps involved in planning how Web pages are authored. This article does not describe how to author Web pages.

In this article:

  • About planning Web page authoring

  • Plan ribbon authoring experience

  • Plan managed metadata

  • Plan reusable content

  • Plan dictionary customizations

  • Plan additional resources

  • Web page authoring planning worksheet

About planning Web page authoring

Planning Web pages involves understanding how Web pages are designed and deciding which elements belong on the Web pages for your site. Planning Web page authoring involves understanding how Web pages are created. SharePoint Server 2010 supports browser-based authoring. Content creators work directly in the Web browser by using SharePoint Server 2010 browser-based editing features such as the Format Text tab under Editing Tools on the ribbon.

Planning browser-based authoring includes planning which resources, page layouts, supporting content, such as images and videos, and commands to hide from or show to authors and planning the editing experience in the field controls in which authors create content. It also includes planning for reusable content, planning dictionary customizations, and planning for additional resources that are needed by page authors.

A related set of planning considerations — planning how content will be approved and published — is discussed in Plan content approval and scheduling (SharePoint Server 2010).

Plan ribbon authoring experience

The ribbon contains UI elements that provide access to page editing commands and related tools, together with publishing and workflow commands, in addition to most other commands in SharePoint Server 2010. This ribbon is available to team members who have at least the Contribute permission level.

When a page is checked out for editing, and the pointer is positioned in the Page Content field, Editing Tools is displayed. Editing Tools contains the Format Text tab and the Insert tab, which contain the commands that authors use to format text and insert content elements, such as images, links, and reusable content. The following illustration shows the ribbon with the Format Text tab displayed:

Format Text menu

Other contextual tabs or groups of tabs are displayed, based on the page element that is selected. For example, if you insert a table onto a page, Table Tools is displayed, and contains a Layout tab and a Design tab.

You can plan and implement new ribbon commands to provide added functionality for your content team. For example, if your organization has a process for creating and incorporating images in your documents that you want to automate, you can add a command to the Page tab on the ribbon.

You can customize the ribbon to provide additional features to authors or to restrict them from using some features.

  • Add buttons to provide new functionality You can add new features to SharePoint Server 2010 and provide buttons on the ribbon to give authors access to the features. For example, if your publishing site is used to create highly technical content, you could add an equation editor feature and provide a button for authors to access it.

  • Add inline styles You can replace the default styles that are available by adding or overriding styles in a style sheet. When you do this, authors can select the styles that are available for the current selection by using the Styles command on the contextual menu for the selected element. You can create custom styles for text, markup, images and the Media Web Part player. You can also upgrade styles from Microsoft Office SharePoint Server 2007 to Microsoft SharePoint Server 2010. For information about how to customize inline styles, see How to: Customize Styles.

  • Add table styles The ribbon includes a set of predefined table styles that can be customized to fit the styling of a single page. Each table style consists of a collection of cascading style sheets classes for each table tag. For example, you can customize the appearance of the first and last rows of a table, the odd and even rows, or the first and last column.

  • Customize image picker locations In any field that includes a command to insert an image, you can add custom links to the list of default locations listed in the image picker dialog box. For more information, see How to: Customize the asset picker.

  • Restrict access to editing features As described in Plan Web pages (SharePoint Server 2010), you can restrict how much freedom authors have to format their Web page content or to add items such as images and hyperlinks to pages in your site by restricting access to editing features. By opening your site in Microsoft SharePoint Designer 2010 you can edit the tags that are associated with field controls to disable the ribbon buttons that authors can use when they edit pages. For example, you can disable the buttons that enable authors to:

    • Set fonts

    • Link to external addresses

    • Add headings to content

    • Make text bold, italic, or underlined

    • Add tables

For information about how to add, replace, and remove controls, groups and tabs on the ribbon, see Customizing the Server Ribbon.

In addition to implementing a command as a menu command, you can also implement a command as a button on the Quick Access Toolbar. The Quick Access Toolbar makes frequently used commands available. To add buttons to the Quick Access Toolbar, you must edit the master page. The following illustration shows the Quick Access Toolbar:

Quick Access Toolbar

When you plan for Web page authoring, consider whether you want to add or remove commands from the ribbon or the Quick Access Toolbar. Also consider the level of access you want content authors to have to editing features and what kinds of styles that you want to make available. What are the commands, and where should they be added? Make a list of any commands that are needed, the toolbar location where they should be added, whether a button is needed on the Quick Access Toolbar, and whether any additional locations have to be added to the image picker locations.

Plan managed metadata

As you plan your Web site, you must consider how managed metadata can help organize and display content pages and other data. Having a thorough and meaningful taxonomy for content authors to use is essential to building a successful site that requires minimal maintenance. Having the right set of terms for your site enables you to create rules which help organize pages into folders. Good content organization simplifies the search for information and increases the query speed. For more information about managed metadata, see Managed metadata overview (SharePoint Server 2010).

When you create page layouts that authors will use to create new Web pages, you can add field controls such as text boxes and drop-down lists that contain a predetermined value or that restrict the kind of information authors are allowed to put on a page. You can also use managed metadata to add contextual information to a page, which enables you to do the following:

  • Create a custom query that is made for the page.

  • Display the appropriate navigation.

  • Determine what related data fits best, and display it on the page.

For example, on a travel Web site, you could create a page layout for specific travel destinations that contains a managed keywords field for recreational activities and a Content Query Web Part. A page author who creates a page for a specific travel destination can select from a specified list of recreational activities for that destination. When a page reader views the page, the Content Query Web Part can display a list of other travel destinations that also contain those tags.

As you plan for Web page authoring, consider whether you want to add managed metadata to your page layouts for page authors to use. How will the metadata be used? What terms and term sets are needed? Who will own the term sets, and how will they be managed? For more information about how to plan managed metadata, see Plan terms and term sets (SharePoint Server 2010) and Plan managed metadata (SharePoint Server 2010).

Plan reusable content

The top-level site in a publishing site collection includes a Reusable Content list that is available to every site below it in the site hierarchy in which the SharePoint Server Publishing feature is activated. Reusable content items can be implemented as HTML or as text. By using the Reusable Content command on the Insert tab under Editing Tools on the ribbon, authors can select from a predefined list of content, or they can view a list of all available content and then insert it. For example, if your organization requires that specific marketing text be used when describing a particular product, you can create an item that contains the required description. When a user adds that reusable content item to a page, the text automatically is added to the page.

When you create a reusable content item in the Reusable Content list, you can specify that it be shown in the drop-down menu during page editing. You can also specify whether it can be automatically updated.

  • You specify that an item is automatically updated. Authors cannot change the item after they insert it on a page. For example, you can implement a copyright statement or a company's name, address, and other contact information as an item that can be automatically updated. Doing this helps prevent authors from incorrectly using those items, and it ensures consistency across all Web pages where the items are used.

    When an author inserts an automatically updated item on a page, the URL of the Reusable Content list item is inserted instead of the contents of the item. When a Web browser loads a page that contains an automatically updated item, the Web browser replaces the URL with the contents of the item. Therefore, changes to automatically updated items in the Reusable Content list do not have to be propagated to pages that use them. They are immediately available the next time that a page is opened in a Web browser.

  • You do not specify that an item is automatically updated. Authors can change the item after they insert it on a page. This is useful if you want to define the correct form for a block of content, but you want authors to provide the content itself. For example, in a site that provides product descriptions, in which you want each description to follow a particular tabular format, you could create a generic product description table item in the Reusable Content list, which authors could insert and then overwrite.

Plan dictionary customizations

The Format Text tab under Editing Tools includes a Spelling command that checks the spelling of content in all fields on a page that contains HTML content. The Spelling command indicates spelling errors and provides commands for fixing or ignoring them.

You can add a custom dictionary to your publishing site to prevent words that are unique to your content from being reported as spelling errors. For example, if your site includes unique product names, you can add them to the custom dictionary. Make a list of all product names, frequently used acronyms, and other words that you want to be included in a custom dictionary for your site.

Plan additional resources

When you create a publishing site, SharePoint Server 2010 creates the libraries that are listed in the following table. You can use these libraries to store additional resources that content creators can use.

Use this location | To store these items | That apply to this level in the site hierarchy
Master Page Gallery | Master pages and page layouts | Site collection
Documents | Documents used in page authoring | Current site
Site Collection Documents | Documents used in page authoring | Site collection
Images | Images used in page authoring | Current site
Site Collection Images | Images used in page authoring | Site collection
Style Library | Custom cascading style sheets and Extensible Stylesheet Language (XSL) styles | Site collection

When users insert an image or link into a page, the Select an Asset window enables them to browse the contents of the current site's lists and libraries, together with the Site Collection Documents library and the Site Collection Images library. You can also use the Suggested Content Browser Locations list to add links to other SharePoint Server 2010 libraries that contain resources to be included on Web pages. When a user inserts an image or link into a Web Part, the links are displayed in the Suggested locations menu of the Select an Asset window.

When you plan for Web page authoring, consider the kinds of additional resources that page authors might need. Think about who will create those resources, and where you want them to be stored. If some resources are located in other sites, make a list of what those resources are and where they are located so they can be added to the Suggested Content Browser Locations list.

Web page authoring planning worksheet

Download an Excel version of the Web Page authoring planning worksheet. Use this worksheet to record your Web page authoring decisions for a type of content.

See Also

Concepts

Plan Web pages (SharePoint Server 2010)
Plan content approval and scheduling (SharePoint Server 2010)


Plan content approval and scheduling (SharePoint Server 2010)
See Also

Content approval is the process by which authored content is approved or rejected for publication. Content scheduling is the process by which content is published and made available to readers according to a specified schedule. The Publishing feature in Microsoft SharePoint Server 2010 provides the ability to approve and schedule content for publishing.

This article contains general guidance about how to plan content approval and content scheduling for use with SharePoint Server 2010 publishing sites. However, this article does not describe how to configure settings for content approval or how to configure workflows. For more information, see Understand approval workflows in SharePoint 2010.

In this article:

  • About planning content approval and content scheduling

  • Plan content approval

  • Plan content scheduling

  • Using content deployment with content approval and scheduling

About planning content approval and content scheduling

As you plan SharePoint Server 2010 publishing sites, you should plan how much control you want users to have over approving site content. For example, you might want to impose restrictions on how much control authors have over approving content they create. You have the option of giving users no control, simple moderation, or the ability to start a workflow after they submit content. When you plan publishing sites, you should also understand how the content scheduling process works.

Plan content approval

Content approval is the process by which users who have Approver permissions control the publication of content. Content approval is configured by using the Content Approval option on the Versioning Settings page in the library settings for the document library that contains content to be published. When you plan for content approval, you must decide how you want content approval to work for your site and who can approve content for publishing. In SharePoint Server 2010, the control of content can fall within the following levels:

  • None If content approval is not required for items in a document library, after an author submits content for publishing, it goes live immediately.

  • Simple moderation Content must be manually approved by a member of the Approver group after an author submits it for publishing. The content is not visible to users who have Read permissions until it is approved.

  • Approval workflow A workflow is used to run the approval process. Using a workflow makes the approval process more automated and takes advantage of the built-in workflow features, such as automatically sending e-mail to approvers, adding approval tasks to approvers' task lists, and letting authors track the status of the approval process. Users can also modify the Approval workflow template, or develop their own custom approval workflow by using Microsoft SharePoint Designer 2010 or Microsoft Visual Studio 2010. For information about workflows, see Workflows in SharePoint Server 2010.

By default, the publishing site templates are preconfigured to use one of the following categories. You can think of these categories as providing a range of restrictions over the approval of content, from least to most restrictive. The following table shows each category, the level of restriction, and the publishing site template that is automatically associated with each.

Category | Restriction level | Site template
None | None | Enterprise Wiki
Simple moderation | Low | Publishing Site
Approval workflow | Heavy | Publishing Site with Workflow

You can enable or disable publishing-related options for your site, such as requiring content approval or changing Approval workflow settings.

Plan content scheduling

Content scheduling is the process by which users who have at least Contributor permissions specify a schedule to publish content. If the Content Approval option is enabled for a document library, content must be approved before it is published. For more information about content approval, see Versioning, content approval, and check-out planning (SharePoint Server 2010).

Note:

Content scheduling is available only if the Content Approval option is enabled and if the Document Version History option is set to create major and minor (draft) versions.

Content can be scheduled to be published or unpublished at specified dates and times. The scheduled dates and times are initiated by timer jobs that continually check for pages and items in the document library or image library that are ready for publishing or unpublishing. You can change the frequency with which each job runs on the Job Definitions page on the Central Administration Web site.

Using content deployment with content approval and scheduling

Content deployment is a feature of SharePoint Server 2010 that you can use to copy content from a source site collection to a destination site collection. The content deployment feature is designed for sites that use a multiple farm topology. A multiple farm topology consists of separate authoring, publishing, and possibly staging farms. If you are implementing a multiple farm topology, you must apply all the considerations that are outlined in this article for each authoring farm in your environment. For more information, see Design content deployment topology (SharePoint Server 2010) and Technical diagrams (SharePoint Server 2010).

If content deployment is used together with content approval and content scheduling for your SharePoint Server 2010 solution, all approval processes occur on the source server where the content is authored. When content is deployed to the target server, the publishing schedule that is associated with each piece of content is also deployed. For example, if a page is approved on the source server on Monday and is set to go live at midnight on Friday, the page is copied to the destination server the next time that a content deployment job runs. However, the page is not visible to users who have Reader or anonymous permissions until midnight on Friday.

See Also

Concepts

Plan Web content management (SharePoint Server 2010)
Plan Web pages (SharePoint Server 2010)


Plan for caching and performance (SharePoint Server 2010)
See Also

Microsoft SharePoint Server 2010 provides a disk-based binary large object (BLOB) cache that reduces database load and increases browser performance for users. This article describes the BLOB cache, tells you how and when to use it, and lists key considerations for planning to use it. This article also contains information about when to use Bit Rate Throttling, an Internet Information Services (IIS) 7.0 extension that improves video performance for users when serving videos as part of managing digital assets in SharePoint Server 2010. Finally, this article also describes the limitations of upload file size restrictions, and lists considerations for adjusting the size limit for file transfers on the server.

For information about how to enable the BLOB cache, see Configure cache settings for a Web application (SharePoint Server 2010). For information about managing digital assets, see Plan digital asset libraries (SharePoint Server 2010).

In this article:

  • Disk-based BLOB caching

    • BLOB cache overview

    • Decide whether to use the BLOB cache

    • Store the BLOB cache

    • Enable the BLOB cache

    • Specify the size of the BLOB cache

  • Bit Rate Throttling

    • Bit Rate Throttling overview

    • Decide to use Bit Rate Throttling

    • Enable Bit Rate Throttling

  • Maximum upload file size

    • Maximum upload file size overview

    • Decide maximum upload file size

    • Configure the maximum upload file size

Disk-based BLOB caching

This section describes the disk-based BLOB cache, and provides important information about how to plan to use the cache with a SharePoint deployment. It tells how to decide when to use the BLOB cache, where to store it, how to enable it, and how to configure the size of the cache in order to get the best performance for users.

BLOB cache overview

The disk-based BLOB cache controls the caching for binary large objects (BLOBs), such as frequently used image, audio, and video files, and other files that are used to display Web pages, such as .css and .js files. The BLOB cache is enabled on a front-end Web server and improves performance by retrieving BLOB files from the database and storing them in a directory on the front-end Web end server where they are served to users. This reduces the network traffic to and load on the database server.

The BLOB cache also provides features that support serving media files to users. One such feature is support for byte-range requests, which lets users select a later point in the video and immediately begin playback. Another feature is progressive caching, which starts serving the beginning of a large video file while the rest of the file is being cached. Video files are divided and retrieved in smaller sections to reduce the load between the front-end and back-end servers. An administrator can configure the size of the sections.

Decide whether to use the BLOB cache

When enabled, the BLOB cache caches various image, audio, and video files, together with .css and .js files. An administrator can modify the settings to add or remove file name extensions of file types to be cached. This functionality lets you either cache as many file types as possible, or to restrict the cache to certain kinds of files. For example, if you have an Internet-facing portal with read-only files such as .doc or .pdf files, you can specify that those files be cached so that they are displayed more quickly to users. If you have a collaboration site that contains files that are frequently updated, as well as media assets, you can specify that the cache is to store only audio or video types by including only file name extensions for those files in the cache settings.

Before you enable the BLOB cache, carefully consider the scenario in which you plan to use it. If your site will be used for heavy collaboration, enabling the BLOB cache might temporarily affect the performance of your site while the files to be cached are first written to the disk. After the files have been stored in the cache, site performance will improve, so take this into consideration when you decide whether or not to enable the cache. Base your decision to enable BLOB caching on the following criteria:

  • For a publishing site for which most of the visitors are anonymous or where most of the files are static content, enable the BLOB cache for as many file types as possible.

  • For other sites that contain lots of media assets that are read-only, or where only a small percentage of the media assets are updated, enable the BLOB cache for media files only.

There is one BLOB cache per Web application. If you plan to use the BLOB cache together with an asset library that you expect will be large, or together with a site that will receive lots of traffic, consider putting the site collection that contains the asset library into its own Web application so that it receives its own BLOB cache. This will ensure that other assets are not using up space in the BLOB cache that you want allocated to items in the asset library. It will also ensure that sites which receive lots of traffic do not prevent other sites which receive less traffic from benefitting from the BLOB cache.

Store the BLOB cache

When you enable the BLOB cache, you must specify a location on the front-end Web server where the files will be stored. By default, the cache will be created on the drive on which SharePoint is installed. Make sure that you put the BLOB cache on a drive that has sufficient disk space available in which to store the cache. Also, select a drive that will be used by as few processes as possible so that the BLOB cache process does not encounter conflicts when it tries to access the drive. If too many processes compete for disk access on the drive where the BLOB cache is located, BLOB cache performance and other processes will be adversely affected.

If you plan to use the BLOB cache in a scenario with heavy cache use, such as serving videos in a high traffic environment, and if you will use ULS logging, consider placing the BLOB cache on a separate physical drive from the ULS log — not on a separate partition. Storing the BLOB cache and the ULS log on the same drive can result in poor server performance. If you place the BLOB cache and the ULS log on the same physical drive, make sure that you closely monitor the disk queue length for any performance effect.

Each front-end Web server has its own local copy of the BLOB cache that is built as requests for files are received. If you use load balancing with multiple front-end Web servers, each server contains its own cache. When a file is requested by the first server, it is cached to that server only. If the next request for the same file comes from a second server, a second request is sent to the database server to retrieve the file to the cache on the second server.

Enable the BLOB cache

The BLOB cache is configured in the web.config file for each Web application and, by default, is not enabled. You must specifically enable the BLOB cache in order to get the performance advantage it provides. For information about how to enable the BLOB cache, see Configure cache settings for a Web application (SharePoint Server 2010).

Specify the size of the BLOB cache

When you decide how large to make the BLOB cache, you must consider the number and size of the files to determine the total size of the data to be stored in the cache. By default, the BLOB cache is set to 10 gigabytes (GB). Allow at least 20 percent more space on the drive than the size of the cache. For example, if you have 10 GB of content, set the size of the cache to 12 GB on a drive that has at least 15 GB of space. If the BLOB cache is too small, serving files to users slows, reducing the performance of your site.

Bit Rate Throttling

This section contains information about Bit Rate Throttling, describes when you should use it with the SharePoint solution, and explains how to enable it.

Bit Rate Throttling overview

Bit Rate Throttling is an IIS 7.0 extension that meters the download speeds of media file types and data between a server and a client computer. The encoded bit rates of media file types such as Windows Media Video (WMV), MPEG-4 (MP4), and Adobe Flash Video, are automatically detected, and the rate at which those files are delivered to the client over HTTP are controlled according to the Bit Rate Throttling configuration. For more information, see Bit Rate Throttling (http://go.microsoft.com/fwlink/p/?LinkId=155151).

Decide to use Bit Rate Throttling

If you will make long-playing video assets available to users in SharePoint Server 2010, enable Bit Rate Throttling in IIS. Without Bit Rate Throttling, IIS will serve video files by using as much bandwidth as it can, which will result in increased network performance. When you enable Bit Rate Throttling in IIS, it will serve video files that use only as much bandwidth as is needed to support progressive downloading and viewing of videos. When the BLOB cache is also enabled, Bit Rate Throttling uses extension rules for files cached to disk. Files that are served from the BLOB cache by using Bit Rate Throttling are sent to the client based on a percentage of the compressed size using the encoded bit rate. For example, if the videos in your organization are smaller than 10 MB, you may decide not to use Bit Rate Throttling because it will affect how fast users can download videos to their local computers. However, if you are serving video files, enable Bit Rate Throttling to control the speed at which files are downloaded to client computers.

Note:

Bit rate throttling will not work correctly if you do not first enable the BLOB cache and configure it to cache the files types that you want to throttle.

Enable Bit Rate Throttling

In order to enable Bit Rate Throttling in IIS 7.0, you must install IIS Media Services 2.0. For information about how to install IIS Media Services 2.0, see Bit Rate Throttling Readme (http://go.microsoft.com/fwlink/p/?LinkID=154962). For information about how to configure Bit Rate Throttling, see Bit Rate Throttling Configuration Walkthrough (http://go.microsoft.com/fwlink/p/?LinkId=155153).

Maximum upload file size

This section describes the upload file size limitation, tells how to decide what the maximum upload file size limit should be, and how to configure it.

Maximum upload file size overview

The maximum upload file size is a setting that is used by the SharePoint Server 2010 Web application that specifies the maximum size of a file that a user can upload to the server. When a new Web application is created, SharePoint Server 2010 sets the default maximum upload size to 50 MB. If a user tries to upload a file larger than the specified maximum upload size, the upload will fail.

Decide maximum upload file size

Every user that uploads a file to a library uses a connection to the server and increases the amount of data in the database. This impacts the load, response time and data capacity for a server. Depending on your scenario, this can negatively impact your server performance if the server is not configured to handle larger volumes of files. To determine what the upload file size limit should be for your server, consider the number of users for your site, and the size of the files they will upload. For example, if your users will primarily be uploading video files that are 500 MB, the upload file size limit should be large enough to easily accommodate the largest files users will upload. When planning to adjust the upload file size limit, keep in mind that this will also directly impact capacity planning for your server environment. For more information about planning for storage of large media files, see Plan digital asset libraries (SharePoint Server 2010).

Configure the maximum upload file size

In order to configure the upload file size in SharePoint Server 2010, a farm administrator must change the Maximum Upload Size value on the Web Application General Settings page in Central Administration.

Note:

If you increase the default maximum upload size for a Web application, and you also plan to use content deployment to move content from site collections within that Web application to another farm or site collection, you must also increase the default maximum upload size on the destination server, or the content deployment job will fail.

See Also

Concepts

Cache settings operations (SharePoint Server 2010)

Other Resources

Resource Center: Enterprise Content Management in SharePoint Server 2010
Resource Center: Web Content Management in SharePoint Server 2010


Plan for large Pages libraries (SharePoint Server 2010)
See Also

A Pages library is a document library that contains all the content pages for a publishing site. A site that has thousands or tens of thousands of pages stored in the Pages library must consider a unique set of issues that relate to managing these pages, and providing navigation between them in a site.

This article describes the use of large Pages libraries in Microsoft SharePoint Server 2010 publishing sites, and it provides information to help you determine whether to use large Pages libraries with your publishing solution, and how to plan for them. This article does not describe how to set up rules or page routing to use with large Pages libraries, and it does not discuss how to configure navigation for use with large Pages libraries. For more information about how to set up rules to route documents, see Create Content Organizer rules to route documents. For information about how to plan sites, see Plan sites and site collections (SharePoint Server 2010). For more information about site permissions, see Plan site permissions (SharePoint Server 2010).

In this article:

  • About large Pages libraries

  • Determine whether to use a large Pages library

  • Decide how to manage pages

  • Plan for navigation

    • Planning the Global Navigation and the Current Navigation menus

    • Planning other Web parts for navigation

About large Pages libraries

Pages libraries in SharePoint Server 2010 now support creating folders and storing pages within folders, so there could potentially be thousands to tens of thousands of pages that are stored in the Pages library for a single site. The Global Navigation and Current Navigation menus for a publishing site are directly tied to the Pages library. By default, new pages are put in the root of the Pages library as they are created. If the site has been configured to use auto-navigation, new pages will automatically be added to the Global Navigation and Current Navigation menus. However, pages that are put in a folder in the Pages library are not added to the navigation menus, and they must be added manually. Additionally, there is a limit to the number of links that can be displayed in either the Global Navigation or Current Navigation. If your solution will be using a single site that has lots of pages, you must plan for how to organize your content so that you can manage those pages and configure navigation within the site.

SharePoint Server 2010 provides several ways to manage the site content that is automatically stored in a large Pages library. One way is to enable the Content Organizer feature for a site and create rules that route pages to specific folders based on certain criteria, such as content type, title, scheduling dates, or target audience. For more information about Content Organizer, see Create Content Organizer rules to route documents. Another way is to use the folder partitioning setting in the Content Organizer to automatically create folders after the target location contains a specified number of items. After the target location has reached the maximum number of items, a new folder that has a specified folder name is automatically created, and all new items created will then be put into the new folder.

Although you can manage the organization of your site content manually, using a large Pages library together with the Content Organizer has the following benefits:

  • Automated page organization The organization of pages can be managed automatically by using the Content Organizer, which allows for folder partitioning and page routing.

  • Lower site maintenance Site owners spend less time managing pages in the site because the library can be managed automatically. Authors do not have to worry about putting pages in the correct location because the rules-based routing does it for them.

  • Improved query performance The query load on the content database is reduced when pages are displayed to users because Content Query Web Parts query only a single library in which content is stored.

Determine whether to use a large Pages library

Before you plan to use a large Pages library, you must first determine whether a large Pages library is right for your solution. This will depend on how you intend to organize the content in your site. To decide whether using a large Pages library is right for your solution, answer the following questions:

  • Will the v4.master page be the same for all content in the site?

  • Will page layouts be the same for all content in the site?

  • Will content types be the same for all pages in the site?

  • Will permissions for users who have contributor, designer and approval access be the same for all content in the site?

If the answer to each of these questions is "Yes," your solution might benefit from using a single site that has a large Pages library. If you answered "No" to any of these questions, you should use separate sites that have their own Pages libraries.

Decide how to manage pages

After you have decided to use a large Pages library, you must decide how to manage the pages that will be created. There are two ways in which you can manage pages for your site: manually or by using rules and page routing. We do not recommend managing pages manually because a large number of pages is involved. Instead, you should use the rules and page routing that are provided as part of the Content Organizer feature.

Before you can use rules and page routing for a site, you must start the Content Organizer feature by using the Manage site features page in Site Settings. After you start the Content Organizer feature, if you want to enable the automatic creation of folders in the Pages library, use the Content Organizer Settings page to turn on folder partitioning. Use the Content Organizer Rules page to create rules to route pages to the correct location in the Pages library.

Although rules can be set up for various criteria, you can use managed metadata to provide even more control over where pages are put in the library. For example, you can create term sets and route pages to certain folders based on the terms or managed keywords that authors assign to pages they create. For information about how to use managed metadata, see Plan managed metadata (SharePoint Server 2010).

When you plan to manage the content in the Pages library, think about the pages that authors will create. Will the content be similar enough that you can use automatic folder partitioning? Do you need to design a more structured library to contain the pages for your site? What folders do you need, and what criteria do you want to use to route pages to specific folders? Will you need to create a custom term store to provide authors a list of keywords to use with page routing?

Plan for navigation

The Global Navigation and Current Navigation menus do not display pages in folders, and the menus have limits on the maximum number of links that can be displayed, so you must plan for how users will navigate among the pages of your site. In general, planning navigation for a site that uses a large Pages library involves the following site elements:

  • Global Navigation and Current Navigation menus

  • Other Web parts for navigation

Planning the Global Navigation and the Current Navigation menus

Although pages that are added to the root of the Pages library are added to the Global Navigation and Current Navigation menus automatically, if your site will have lots of pages, you must decide which pages to display in the Global Navigation and Current Navigation menus. For example, you can create a series of pages that use the Welcome Page template to display a mix of authored content and Web Parts that link to other pages in the site and then only include the Welcome Pages in the Global Navigation and Current Navigation menus.

Use the Site Navigation Settings page in Site Settings to customize the Global Navigation and Current Navigation menus for your site. You can stop the navigation menus from automatically displaying links to sites below the top level site and pages. You can also specify only the links that you want to show to users and the order in which you want the links listed. This makes it possible for you to build a navigation system that is not dependent on the structure of the Pages library. If you do not want to manually update the navigation menus in the user interface, you can also use Microsoft Visual Studio 2010 to build a custom navigation menu for your site.

Planning other Web parts for navigation

SharePoint Server 2010 provides two navigation-specific Web Parts that can be added to Web Parts pages for publishing sites: the Table of Contents Web Part and the Summary Links Web Part.

The Table of Contents Web Part automatically displays site content for the first three levels of a site. However, the Table of Contents Web Part should not be used for publishing sites that have large Pages libraries because it does not display pages in folders, and therefore will not accurately display the content hierarchy for the site. This Web Part is better suited for smaller publishing sites that have only a limited number of pages in their site.

The Summary Links Web Part makes it possible for page authors to create a list of links that can be grouped and styled on a Web Parts page. Although this provides an easy way for page authors to link to other pages, the limitation is that the list is static, and must manually be changed to add or remove items from the navigation. This Web Part is best used for targeting a short list of specific pages in a site, but scaling up to a longer list of Pages library links with many folders and pages could quickly become unmanageable.

You can also use a Lists and Libraries Web Part or a Content Query Web Part to create dynamic, custom navigation links on pages in your site. By using either Web Part, you can help reduce the cost of site maintenance and provide page authors the flexibility of providing dynamic content that makes it easy for users to locate new or popular content without having to manually update the navigation.

You can use a Lists and Libraries Web Part to display a view of any list or library in the site, such as the Pages library. You must first create a view that is configured to filter, sort, and group the content of the Pages library to return the items that you want to display. Then you must select that view in the Web Part on another page to display the library items. The result is a view into the Pages library that is dynamic and that will change when more pages are added to the library.

You can also use the Content Query Web Part to create a custom list of links to content from any list or library in the site, or from any other site in the site collection. By using the Content Query Web Part, you can specify the criteria that are used to display items in the Web Part, such as content type, title, scheduling dates, or target audience. For example, if your site uses page rating, you can create a Content Query Web Part that displays the top rated pages for your site. When the Content Query Web Part is used with a large Pages library, it provides more flexibility than the Summary Links Web Part, because the list is dynamic and reduces the amount of maintenance that is required to update static lists when pages are added or removed.

When you plan the navigation for your site, think about how users will navigate within the site. What are the key pages that must be displayed in the Global Navigation and Custom Navigation menus? What kinds of content does the site contain, and how should the content be grouped when it is displayed to users? Do you need lists of static or dynamic links to content, or a mix of both? When you plan the navigation for a site that uses a large Pages library, you must consider many of the same issues that you would consider when planning the navigation for any other site. For more information about how to plan site navigation, see Plan site navigation (SharePoint Server 2010).

See Also

Concepts

Sites and site collections overview (SharePoint Server 2010)
Plan sites and site collections (SharePoint Server 2010)
Plan managed metadata (SharePoint Server 2010)
Site navigation overview (SharePoint Server 2010)

Other Resources

Resource Center: Enterprise Content Management in SharePoint Server 2010
Resource Center: Web Content Management in SharePoint Server 2010


Content deployment overview (SharePoint Server 2010)
See Also

Content deployment is a feature of Microsoft SharePoint Server 2010 that you can use to deploy content from a source site collection to a destination site collection. This article summarizes the content deployment feature in SharePoint Server 2010. It describes the purpose and function of content deployment, explains content deployment paths and jobs, and explains the security options that are available when you deploy content. This article also explains how the content deployment process works, and it lists important factors and limitations of using content deployment. This article does not describe the steps that are involved in planning to use content deployment or how to set up and configure content deployment. For more information, see Plan content deployment (SharePoint Server 2010).

In this article:

  • What is content deployment?

  • About deployment paths and jobs

  • About content deployment security

  • How content deployment works

  • Important considerations in content deployment

What is content deployment?

Content deployment deploys content from a source SharePoint Server 2010 site collection to a destination site collection. The complete source site collection can be deployed, or a subset of sites can be deployed. Content deployment, which is incremental by default, deploys only changed pages and related assets (such as images). A Quick Deploy feature supports the deployment of a single page by authors.

Note:

For the content deployment Quick Deploy feature to work, the source site collection must have been created by using the Publishing Portal template, or it must have the SharePoint Server Publishing Infrastructure feature enabled.

In most content deployment scenarios, the source site collection, from which content is being deployed, is in a server farm that is separate from the destination site collection. Typically, the destination server farm (the "production" farm) has tightened security to minimize the actions that can be done in the production environment. It is not expected that authoring will be done on the production server, because changes to content on the production server might be overwritten by a content deployment job. In most content deployment scenarios, the source server farm and the production server farm are in independent Active Directory domains. For information about content deployment topologies, see Design content deployment topology (SharePoint Server 2010)

It is important to be aware that content deployment is a one-way process: content is deployed from a source site collection to a destination site collection. The content deployment feature does not support round-trip synchronization from source to destination and back again. Creating new content or changing existing content on the destination site collection can cause content deployment jobs to fail. Because of this, you should consider restricting permissions on the destination site collection so that users cannot make changes directly to content that is stored within that site collection.

In content deployment, the base URL of the source site collection can differ from the base URL of the destination site collection. The content deployment feature will fix links in the source content to work correctly in the destination location.

Content deployment deploys only content — Web pages, libraries, lists, and resources that are used by the deployed pages. It does not deploy programs, assemblies, features, or configuration information such as Web.config files. When a Web page is deployed, any items in the content database that the page depends on — such as images, style sheets, or layout pages — will also be deployed.

Content deployment deploys the most recent major and minor versions of a content item. For example, if version 2.7 of a Web page is being deployed, the most recent major version (2.0) of the page, and the most recent minor version (2.7), will be deployed to the destination site.

If an item has an associated publishing schedule, the scheduling information is deployed together with the item so that the schedule is followed in the destination site collection. For example, if an item that is scheduled to be published at 6:00 A.M. is deployed at 3:00 A.M., site users on the destination site cannot view the content until 6:00 A.M. For information about scheduling content, see Plan content approval and scheduling (SharePoint Server 2010).

A new feature of content deployment that was added for SharePoint Server 2010 is the option to use SQL Server database snapshots during export. If the database snapshots option is enabled, a snapshot of the source content database is created before the export phase of the content deployment job starts. The content deployment job then uses the database snapshot to perform the export, instead of exporting directly from the live content database. After the export has successfully completed, the snapshot is deleted. By using the database snapshot option, you eliminate any potential problems with users editing content in the content database while a content deployment job is running.

Note:

The SQL Server database snapshot option is only available if Microsoft SQL Server 2008 Enterprise edition is installed. If you are using Remote BLOB Storage (RBS), and the RBS provider that you are using does not support snapshots, you cannot use snapshots for content deployment or backup. For example, the SQL FILESTREAM provider does not support snapshots. For more information about RBS, see Overview of RBS (SharePoint Server 2010).

About deployment paths and jobs

The following section describes content deployment paths and jobs.

Content deployment paths

A content deployment path defines a source site collection from which content deployment can originate and a destination site collection to which content is deployed. A path can be associated with only one site collection. A content deployment path specifies the following information:

  • Authentication information that gives content deployment jobs permission to the destination site collection. To deploy content to the destination site collection, deployment jobs must have Central Administration credentials on the destination server. Jobs can connect by using Integrated Windows authentication or Basic authentication.

  • Information about whether to deploy user names that are associated with the content, such as authors' names.

  • Information about how to deploy permissions on the content. For more information, see About content deployment security.

Content deployment jobs

A content deployment job deploys specified content on a specified schedule by using a specified path. After a path is defined, one or more content deployment jobs can be defined. A deployment job specifies:

  • The path with which the job is associated.

  • Whether the job uses SQL snapshots.

  • The sites within the source site collection to deploy.

  • The frequency at which to run the job and deploy the content.

  • Whether to send e-mail when a job succeeds or fails and the e-mail addresses to use.

There are two kinds of standard content deployment jobs: full and incremental. These jobs are managed by a server farm administrator, and they enable you to specify whether to deploy all content, including any content that might have been deployed previously, or only content that was added, updated, or deleted since the last successful deployment. These jobs are run on a schedule that the server farm administrator specifies.

A third kind of content deployment job, Quick Deploy, is a special job that enables users to quickly publish content without waiting for the next standard content deployment job to run. This job runs automatically, at a specified interval.

The following table describes the kinds of content deployment jobs:

Job Type Description

Incremental

An incremental deployment job deploys all new, changed, or deleted content from the source to the destination. The first time that an incremental deployment job runs, it performs a full deployment. For each subsequent run of an incremental deployment job, new content is added to the destination, whereas updated content replaces content that has the same GUID but has older modification dates. Content that is deleted on the source is flagged so that it will also be deleted from the destination server. This is an important difference between full and incremental deployments.

Full

A full content deployment job deploys all content from the source to the destination, regardless of whether that content was previously deployed. Also, full deployment jobs do not check whether content that exists on the destination was deleted from the source. If you delete content on the source server and then perform a full deployment, that content will not be removed on the destination server. You should avoid using full deployment jobs except in specific cases where you know content has not been deleted on the source server.

Quick Deploy

A Quick Deploy job enables users, such as authors and editors, to quickly deploy a Web page. By default, a Quick Deploy job is created automatically when a new content deployment path is created, and it is set to run automatically every 15 minutes. When a user flags a page for inclusion in a Quick Deploy job, that page will be included in the next automatically scheduled Quick Deploy job. Only pages that are flagged by a user as Quick Deploy pages are included in the job. Alternatively, a farm administrator can manually run or cancel a Quick Deploy job at any time by using the Manage Content Deployment Paths and Jobs page. Any member of the Quick Deploy users group (which is created in sites that have the SharePoint Server Publishing Infrastructure feature enabled) can mark a Web page for deployment by using the Quick Deploy command.

Note:

It is possible to have a path that is defined in sites that do not have the Office SharePoint Server Publishing Infrastructure feature enabled. However, paths that are created in this manner will not have associated Quick Deploy jobs. If you want to add a Quick Deploy job to a path that was defined in a site that does not have the SharePoint Server Publishing Infrastructure feature enabled, first enable the SharePoint Server Publishing Infrastructure feature on the source site collection, and then edit and save the path again. The path will then have a Quick Deploy job associated with it.

About content deployment security

Permissions to content on the destination server farm will usually differ from permissions to content on the source server farm. In many publishing solutions, the destination server farm authenticates users by using a different Active Directory domain than the one used in an authoring or staging environment, and there might not be a trust relationship between the two domains.

When you configure a content deployment path, you can select from the following security options:

  • All Deploys all security-related information together with the content. This includes role definitions, access control lists (which map users and roles to the content they have permissions to view or edit), and users. This option is useful if the same set of users has the same permissions on the source and destination server farms. For example, when you deploy from an authoring server farm to a staging server farm, this option might be best because the same users need access to both sets of content. All is the default option.

  • Role Definitions Only Deploys role definitions and access control lists that map the roles to the content but do not deploy users. In this option, the same roles apply in the source and destination server farms, but different users can be assigned to those roles in each server farm.

  • None Deploys no security information. Security on the destination security farm must be managed by the administrators of that server farm by assigning users and roles to the farm's sites and content. For example, when you deploy from a staging server farm to a corporate Internet presence site, this option helps ensure that the security of the two server farms is managed separately.

For more information about security, see Security planning for sites and content (SharePoint Server 2010).

How content deployment works

Content deployment settings for both incoming and outgoing deployment jobs are configured on the Content Deployment Settings page, which is accessed from the General Application Settings page on the Central Administration Web site. You use the Content Deployment Settings page to accept or reject incoming content deployment jobs for a whole server farm. You can also set specific servers within your server farm to be used for receiving incoming content deployment jobs or for sending outgoing content deployment jobs. This enables you to spread the load for content deployment jobs across multiple servers in your server farm, based on the available server resources and the needs of your server farm.

Note:

Depending on the kind of server farm you are using, you might not have to enable support for both incoming and outgoing deployment jobs. If your server farm is an authoring server farm, you do not have to configure incoming (import) settings. If your server farm is a production server farm, you do not have to configure outgoing (export) settings. However, if your server farm is a staging server farm, you must configure both incoming (import) and outgoing (export) settings.

The tasks that are involved in content deployment are controlled by the timer process on the server that hosts the Central Administration Web site, which is used to administer the content deployment jobs. This server could be the source server in the deployment server farm, or it could be a separate server in the farm. The content deployment job uses the service account information that is provided in the content deployment path settings to authenticate with a Web service on the destination server. This Web service acts as the pathway for all communication between the source and destination servers while the content deployment job runs.

The following illustration shows the process that the content deployment job undergoes from start to finish:

Content deployment process flowchart

Callout Description

1

When a content deployment job starts, it checks the change token to determine when the last successful content deployment job was run. If the length of time between the last successful content deployment job and the current one is so long that the stored change token is no longer valid, it will run as a full content deployment job, not an incremental content deployment job.

After the change token has been verified, the export process is started on the source server. If SQL snapshots are enabled for the content deployment job, a snapshot is taken before the export process starts.

Note:

In preparation for the export, settings such as the file location, base file name, and other values are specified for the deployment job.

2

Next, the content to be included is exported to a temporary directory on the source server, where it is packaged into .cab files for transport. If the deployment job has been configured to use SQL Server database snapshots, it will use a database snapshot as the source for the export; otherwise, it will export directly from the content database.

Alternatively, you can use the Microsoft.SharePoint.Deployment.SPExport namespace from the SharePoint Server 2010 API to export content.

After the source server has authenticated with the Web service on the destination server, it calls the Web service to prepare the import on the destination server.

3

After the files have been packaged into .cab files on the source server, the files are transported to a local temporary directory on the destination server via HttpPost.

The content deployment job then calls the Web service to start the import process on the destination server.

Note:

In preparation for the import, settings such as file location, base file name and other values are set by using the information that was stored in the content deployment job when the files were prepared on the source server.

4

While the import is in progress, the content deployment job calls the Web service to get the status of the import process. If the destination server does not respond with updated status within a certain amount of time, the content deployment job will contain a warning message that the job might have timed out. The content deployment job will continue to request updated status from the destination server, but might eventually fail and need to be re-run if the destination server repeatedly fails to respond.

5

During import, the .cab files are extracted to a temporary directory on the destination server, and then they are imported into the database. Any site collection features that are required by items that were included in the import are activated, and scheduling is then configured for the imported items.

Alternatively, you can use the Microsoft.SharePoint.Deployment.SPImport namespace from the SharePoint Server 2010 API to import content.

6

After the import has finished, it returns either a Success or Failure status to the Central Administration server. If the import status is Success, the change token is saved. If the import status is Failure, the change token is discarded.

Important considerations in content deployment

The following list contains important considerations to be aware of when you use content deployment:

  1. Always deploy to an empty site collection for the initial content deployment job. If the site collection already contains content, the initial content deployment job will fail. When you create the site collection on the destination server, use the < Select template later > option on the Custom tab of the Create Site Collection page in Central Administration to create an empty site collection. The first time that the content deployment job runs, the correct template and all associated configuration settings will be applied to the destination server.

    Note:

    Do not use the Blank Site template to create a destination site collection. The Blank Site template does not create an empty site collection and can cause the content deployment job to fail.

  2. The export and import servers must each host an instance of the Central Administration Web site. When you configure content deployment settings for your server farm, you select the servers in your server farm to designate as export and import servers for content deployment. If you attempt to configure an export or import server that does not host the Central Administration Web site, no error message will be displayed. The content deployment export or import phase will not start. Be sure to deploy the Central Administration Web site on the export and import servers.

  3. Each server in your source and destination server farms must have identical updates. Be sure that all SharePoint Server 2010 and Windows Server 2008 R2 and Windows Server 2008 with Service Pack 2 (SP2) updates have been applied and that any language packs, if they are needed, have been installed.

  4. The source and destination servers must have enough hard disk space for storing the files that are used during export and import. During export, all files to be included in the content deployment job are stored in a temporary directory in the export server farm. Likewise, during import, files to be imported into the database are stored in a temporary directory on the destination server farm. Be sure that the location of the temporary directory for each server farm has sufficient disk space to accommodate the files that are included in the deployment job.

  5. If jobs will run infrequently, the time for keeping changes in the change log must be adjusted. By default, the change log is configured to keep a record of any changes for 60 days. If the time between two incremental deployment jobs exceeds this time—for example, if it was 70 days since the last content deployment job was run—then the change log will not contain entries from before the last change token. If the time between jobs will be more than 60 days, you must change the number of days specified for the Web application in the Central Administration Web site.

  6. Do not run content deployment jobs in parallel if the same path is used by both jobs. Changes made by one job might conflict with changes made by another job that is running along the same path at the same time. If this happens, the content deployment job might fail.

See Also

Concepts

Plan content deployment (SharePoint Server 2010)
Design content deployment topology (SharePoint Server 2010)

Other Resources

Resource Center: Enterprise Content Management in SharePoint Server 2010
Resource Center: Web Content Management in SharePoint Server 2010


Plan content deployment (SharePoint Server 2010)
See Also

Content deployment is a feature of Microsoft SharePoint Server 2010 that you can use to copy content from a source site collection to a destination site collection. This article contains general guidance about how to plan to use content deployment with your SharePoint Server 2010 sites. It does not describe the purpose and function of content deployment, explain content deployment paths and jobs, or explain the security options when you deploy content. This article does not explain how the content deployment process works, nor does it explain how to set up and configure content deployment. For more information, see Content deployment overview (SharePoint Server 2010).

In this article:

  • About planning content deployment

  • Determine whether to use content deployment

  • Determine how many server farms you need

  • Plan the export and import servers

  • Plan content deployment paths

  • Plan job scheduling

  • Plan for large jobs

  • Content deployment planning worksheet

About planning content deployment

The planning process that is described in this article starts with helping you determine whether to use content deployment with your SharePoint Server 2010 solution. The remainder of the article describes the steps that are required to plan a content deployment solution: deciding how many server farms are necessary, planning the export and import servers, planning the content deployment paths and jobs, and special considerations for large jobs. You can record this information in the worksheet that is referenced in the Content deployment planning worksheet section.

Determine whether to use content deployment

Although content deployment can be useful for copying content from one site collection to another, it is not a requirement for every scenario. The following list contains reasons for why you might want to use content deployment for your solution:

  • The farm topologies are completely different. A common scenario is one in which there are authors publishing content from an internal server farm to an external server farm. The topologies of the server farms can be completely different. However, the content of the sites to be published is the same.

  • The servers require specific performance tuning to optimize performance. If you have a server environment where both authors and readers are viewing content, you can separately configure the object and output caches on the different site collections based on the purpose of the site or user role.

  • There are security concerns about content that is deployed to the destination farm. If you do not want users to have separate accounts on the production server, and you do not want to publish by using only approval policies, content deployment lets you restrict access to the production server.

Before you implement a content deployment solution, you should carefully consider whether content deployment is really necessary. The following list contains alternatives to using content deployment:

  • Author on production using an extended Web application If you have a single-farm environment, you can choose to allow users to author content directly on the production farm and use the publishing process to make content available to readers. By using an extended Web application, you have a separate IIS Web site that uses a shared content database to expose the same content to different sets of users. This is typically used for extranet deployments in which different users access content by using different domains. For more information, see Extend a Web application (SharePoint Server 2010).

  • Create a custom solution You can use the Microsoft.SharePoint.Deployment.SPExport and Microsoft.SharePoint.Deployment.SPImport namespaces from the SharePoint Server 2010 API to develop a custom solution to meet your needs. For more information, see How to: Customize Content Deployment for Disconnected Scenarios.

  • Use backup and restore You can use backup and restore to back up a site collection from one location and restore it to another location. For more information, see Back up a site collection in SharePoint Server 2010 and Restore a site collection in SharePoint Server 2010.

If you decide that using content deployment in SharePoint Server 2010 is right for your solution, continue reading this article.

Determine how many server farms you need

A typical content deployment scenario includes two separate server farms: a source server farm that is used for authoring, and a destination server farm that is used for production. You can also use content deployment to copy content between two separate site collections within the same server farm, or you can use a three-tier server farm that contains a server for authoring, one for staging and quality assurance, and one for production. If you will be using content deployment, you should also decide how many server farms are necessary for your solution. For more information about topologies for content deployment, see Design content deployment topology (SharePoint Server 2010)

Plan the export and import servers

After you have decided on a topology for your server farm, you must decide which servers will be the export and import servers. These are the servers in the server farm that are used to run the content deployment jobs. They do not have to be the same as the source or destination servers. However, the servers that are designated as export and import servers must have the Central Administration Web site installed. Decide which servers will be configured to either send or receive content deployment jobs and to record your decisions.

In the content deployment planning worksheet, record each server farm in your content deployment topology, and note its purpose. For each server farm, provide the URLs of the export server, the import server, or both. Also record the Active Directory domain that is used by the farm.

Plan content deployment paths

A content deployment path defines a source site collection from which content deployment can start and a destination site collection to which content is deployed. A path can only be associated with one site collection. To plan the content deployment paths that are needed for your solution, decide which site collections will be deployed and define the source and destination for each path. For more information about paths, see Content deployment overview (SharePoint Server 2010).

If you will be using a three-stage farm topology, you must also plan for how content will be deployed across the farms. In general, you should reduce the number of "hops" the content makes as it moves from authoring to staging and then to production. For example, if you want to test content on the staging farm before you push it to production, you can deploy content from the authoring farm to the staging farm first, and then deploy content from the authoring farm to the production farm after the content has been verified. This means that only the authoring farm is responsible for deploying content to all other farms in the environment. Although it is possible to deploy content from authoring to staging, and then from staging to production, it is not necessary to use this approach. When you design content deployment paths for a three-stage farm topology, you must also carefully plan the scheduling of the jobs that will deploy the content to the other farms in the environment. For more information about content deployment topologies, see Design content deployment topology (SharePoint Server 2010).

Record each path in the content deployment planning worksheet. For each path, enter the source and destination Web applications and site collections. Also record how much security information to deploy along the path: All, Roles only, or None.

Plan job scheduling

After you have defined the paths along which site content will be deployed, you must plan the specific jobs to deploy the content. A content deployment job lets you specify that a whole site collection or only specific sites in a site collection will be deployed for a specific path. Jobs also define the frequency with which they are run and whether to include all content, or only new, changed, or deleted content. You can associate multiple jobs with each path. For each path that you have defined, you must decide whether a job will deploy the whole site collection or will deploy specific sites.

As you plan the scope of your content deployment jobs, be sure to think about the order in which the jobs will run. You must deploy a parent site collection or site before you can deploy a site below it in the hierarchy. For example, if you have a site collection with two sites below it, Site A and Site B, and Site A also has two sites below it, Site C and Site D, you must create and run a job that will deploy the top-level site collection, before you can deploy Site A and Site B. You must also deploy Site A before you can deploy Site C and Site D. If you plan to use content deployment jobs that are scoped to specific sites, be sure to schedule the jobs appropriately so that sites higher in the hierarchy are deployed before sites lower in the hierarchy.

You must also decide when and how often to run each job. In general, you should schedule jobs to run during times when the source server has the least amount of activity. Content that is checked out for editing by a user when a content deployment job starts will be ignored by the content deployment job, and it will be copied with the next deployment job after it is checked in. You can configure a job to use a database snapshot of the content database in Microsoft SQL Server 2008 Enterprise Edition to minimize risk to the content deployment job.

Note:

If you are using Remote BLOB Storage (RBS), and the RBS provider that you are using does not support snapshots, you cannot use snapshots for content deployment or backup. For example, the SQL FILESTREAM provider does not support snapshots. For more information about RBS, see Overview of RBS (SharePoint Server 2010).

If you will be using a three-stage farm topology, you must also plan for when content is deployed across the farms. For example, if you deploy content from the authoring farm to the staging farm to test and verify content, you should plan to schedule the job that deploys content to the production farm so that there is enough time to resolve any issues that are found on the staging farm.

Note:

Do not run content deployment jobs in parallel if the same path is used by both jobs.

For each path, record each associated job in the content deployment planning worksheet. If there is more than one job for a path, insert a row underneath the path for each job to be added. For each job, enter the scope and frequency with which the job will run.

Plan for large jobs

A content deployment job exports all content, as XML and binary files, to the file system on the source server and then packages these files into the default size of 10 MB .cab files. If a single file is larger than 10 MB, such as a 500 MB video file, it will be packaged into its own .cab file, which can be larger than 10 MB. The .cab files are then uploaded by HttpPost to the destination server where they are extracted and imported. If the site collection that will be deployed has a large amount of content, you must make sure that the temporary storage locations for these files on both the source server farms and the destination server farms have sufficient space to store the files. In many cases, you might not know the size or number of .cab files that will be included in the job until you start using content deployment. But if you know that your site is large and will contain lots of content, make sure that you plan for sufficient storage capacity as part of your content deployment topology.

Note:

If your site will contain large files, such as video files, you might have to adjust the maximum file upload size for the Web application to accommodate the larger .cab file size. For more information, see Plan for caching and performance (SharePoint Server 2010).

Content deployment planning worksheet

Download an Excel version of the Content deployment planning worksheet (http://go.microsoft.com/fwlink/p/?LinkID=167835&clcid=0x409).

See Also

Concepts

Content deployment overview (SharePoint Server 2010)
Design content deployment topology (SharePoint Server 2010)

Other Resources

Resource Center: Enterprise Content Management in SharePoint Server 2010
Resource Center: Web Content Management in SharePoint Server 2010


Design content deployment topology (SharePoint Server 2010)
See Also

Content deployment is a feature of Microsoft SharePoint Server 2010 that you can use to deploy content from a source site collection to a destination site collection. This article describes elements of topologies designed for content deployment and illustrates typical content deployment topologies. For an overview of content deployment using SharePoint Server 2010, see Content deployment overview (SharePoint Server 2010). For information about planning to use content deployment with your solution, see Plan content deployment (SharePoint Server 2010).

In this article:

  • Elements of content deployment topologies

  • Typical content deployment topologies

Elements of content deployment topologies

Most content deployment topologies include two or more server farms, to separate the authoring environment from the production environment. A server farm used in content deployment can have one of the following purposes:

  • Authoring The authoring farm contains the site collection that is used by the team that creates the content.

  • Production The production farm contains the site collection that presents the content to the intended audience. This farm usually has tightened security.

  • Staging The staging farm contains a site collection that is a copy of the production site collection, so the content can be reviewed and tested before it is published.

On any farm that exports content, you must specify a single server that hosts the Central Administration Web site as the export server. Similarly, on any farm that imports content, you must specify a single server that hosts the Central Administration Web site as the import server. These are the servers that host the timer jobs that run the export and import operations, and that pack, transport, and unpack the .cab files that contain the content that is exported and imported as part of content deployment. The export and import servers must have sufficient disk space to hold these .cab files in addition to the uncompressed copies of the files before and after compression. For more information about the content deployment process, including a list of important considerations to be aware of when you use content deployment, see Content deployment overview (SharePoint Server 2010).

Typical content deployment topologies

This section illustrates common content deployment topologies.

Two-farm topology

The two-farm topology is a standard Internet site topology, and it is typical of topologies that are used to publish an Internet site, such as a corporation's Internet presence site or a news organization's online news site. It includes two server farms: one to host the authoring site collection along with other sites used by the authoring team, and the other to host the production site collection. For this topology, users of the production server farm belong to a separate Active Directory domain, and some production farm users might be anonymous. This topology is recommended for Internet-facing sites, and for extranet sites where users have read-only access to content.

The following figure shows a standard two-farm topology for content deployment:

Two-stage farm for content deployment

In the two-farm topology, the authoring server farm contains the site collection that is used to author the site's content. A front-end Web server in the authoring farm must be configured to export content from the authoring site collection to the production farm. One server that hosts the Central Administration Web server in the production farm must be configured to import content from the authoring farm.

Often in the two-farm topology, the production farm is hosted in a perimeter network that is protected by outer and inner firewalls to increase security.

Variations on this topology include the following:

  • Single authoring farm publishing to multiple production farms In this variation, multiple farms are deployed in the perimeter network. Each production farm can have the same content, or sites can vary from farm to farm. This topology can be configured in multiple ways:

    • The authoring farm can deploy to all the production farms.

    • The authoring farm can deploy to one production farm; by using content deployment, that production farm can then deploy to the other production farms.

    Note:

    Because a content deployment job is based on a path to a specific destination, deployments to multiple production farms are not synchronized. In this scenario, each production farm might have different content until all content deployment jobs have run.

  • Multiple authoring farms publishing to a single production farm Different authoring teams, each working on their own authoring farm, can work on separate site collections that are published to separate site collections on a single production farm.

Three-stage topology

In some solutions, a three-stage topology is deployed and includes an authoring farm, a staging farm, and a production farm. The staging farm is used to test or review the content, in addition to custom Web Parts or code, before it is published to the production farm. Depending on the size of your SharePoint Server 2010 solution, the site collections for both authoring and staging can be located within the same farm, instead of two separate farms. This topology is recommended for the following situations:

  • Environments where a multistage approval process is a business requirement.

  • Validating content in an environment that more closely reflects the production environment before deploying it to production.

  • Testing the content with custom Web Parts and code before moving it to the production farm.

In a typical three-stage content deployment topology, the authoring farm deploys to both the staging farm and the production farm. A front-end Web server in the authoring farm must be configured to export content. A front-end Web server in both the staging farm and the production farm must be configured to import content.

The following figure shows a standard three-stage topology for content deployment, where the authoring farm deploys content to both the staging farm and the production farm:

Three-stage farm for content deployment

In a variation on the three-stage topology, the authoring farm deploys content to the staging farm, and the staging farm deploys content to the production farm. In this scenario, a server that hosts the Central Administration Web site in the staging farm must be configured to both import and export content.

Single-farm topology

Content deployment can be configured for use in a single server farm. In this topology, authors work in one site collection, and content is deployed to a duplicate publishing site collection on the same farm. The site collections used for authoring and production use separate content databases on the same database server. The site collections can be in the same Web application, or in separate Web applications. Security is managed by granting users permissions to the content rather than by using separate Active Directory domains. This topology is recommended for Intranet environments, external environments where verification of content or code in a staging environment is not a business requirement, and for segregating security settings and authentication between two locations when only one farm is available or necessary.

The following figure shows a single-farm topology, where a site collection in one Web application is deployed to a site collection in another Web application in the same farm:

Single publishing farm for content deployment
Note:

Using content deployment with a single-farm topology might not be the best approach for your SharePoint Server 2010 solution. One alternative to using content deployment is to extend the Web application. This option lets you have a separate IIS Web site that uses a shared content database to expose the same content to a different set of users. This is typically used for extranet deployments in which different users access content by using different domains. For information about extending a Web application, see Extend a Web application (SharePoint Server 2010). For a list of alternatives to using content deployment, see Plan content deployment (SharePoint Server 2010).

See Also

Concepts

Content deployment overview (SharePoint Server 2010)
Plan content deployment (SharePoint Server 2010)

Other Resources

Resource Center: Web Content Management in SharePoint Server 2010


Variations overview (SharePoint Server 2010)
See Also

The variations feature in Microsoft SharePoint Server 2010 makes content available to specific audiences on different sites by copying content from a source variation site to each target variation site. When users visit the root site, they are redirected to the appropriate variation site, based on the language setting of their Web browser. If necessary, the content can be customized on the target variation site. For example, content on a target variation site can be translated into other languages before it is published. Variations can be used only on SharePoint Server 2010 sites that are created with one of the Publishing site templates, or on sites for which the SharePoint Server Publishing Infrastructure feature has been enabled.

Note:

Although variations can be used for multilingual solutions, the variations feature does not translate pages. To use variations for creating multilingual content, you can use workflows to route content for translation by another team or third-party vendor after the content is copied to target sites. For more information about workflows, see Plan workflows (SharePoint Server 2010).

This article provides an overview of the variations feature. It describes the elements of the variations feature, provides an overview of site and page creation for variation sites, lists some of the limitations of variations, and describes scenarios for using variations in SharePoint Server 2010. This article does not describe the tasks that are involved in planning a solution that uses variations. For information about planning to use variations in your solution, see Plan variations (SharePoint Server 2010). This article also does not describe how to create variation labels and hierarchies. For information about creating a variations site, see Create a variations site.

In this article:

  • Use and benefits of variations

  • Scenarios for using variations

  • Elements of variations

  • Understanding variations

  • Understanding source variation and target variation site creation

  • Understanding site and page creation

  • Limitations of variations

Use and benefits of variations

Many organizations have a global reach. However, even in domestic markets, organizations must reach a diverse customer base that might speak many different languages or that might need to have specific information that is based on regional differences, on various mobile devices, or on corporate branding. These types of organizations need Web sites that deliver tailored content to suit different cultures, different markets, and different geographic regions. Producing and maintaining variations of a site can be difficult and time-consuming. By using variations as part of a SharePoint Server 2010 solution, site architects and site administrators can simplify the process of producing and maintaining these sites. The variations feature automates the creation of sites and pages, which eliminates having to manually create a site and all associated pages for each instance of a needed variation.

Scenarios for using variations

You can use variations to create different versions of similar content for users in many scenarios. The following table describes possible scenarios in which you might use variations.

Scenario | Description
Multiple languages | You can use variations to create sites and content for specific languages. In this scenario, the majority of the content is authored in the language of the source variation site and copied to some or all of the target variation sites for translation into different languages. For example, the content might be authored in English and be copied to target variations sites for translation into German, French and Spanish.
Multiple devices | You can customize the logic of the VariationRoot.aspx page to direct users to pages that are designed to work with different types of devices. For example, you might have target variation sites with pages designed for display on devices that have different screen sizes or screen resolutions.
Multiple locations or brands | You can use variations to create content for specific locations or brands. For example, a rental car company might have target variation sites for all the cities in which they have branch offices. Most of the company information is the same across branches, so variations are used for those pages, while other content, such as special offers or promotions, is created on the target variation sites for which it is needed.

Elements of variations

The variations feature consists of the following elements:

  • Variation root site The variation root site provides the URL for all source and target variation sites and contains the landing page that redirects users to the correct variation site. This is not the same as the root site of a site collection, although you can specify the root site of a site collection to also be the root site of the variations hierarchy.

  • Variation labels A variation label is an identifier that names a new variation site. Variations of a site are defined by creating variation labels, one for each planned variation.

    Note:

    SharePoint Server 2010 supports up to 50 variation labels.

  • Variation sites The variation sites are the sites that are created based on the defined variation labels. There are two types of variation sites:

    • Source variation site The source variation site is the site where shared content is authored and published, and it is the site from which copies of the shared content are sent to the target variation sites. There can be only one source variation site in a single site collection. After a source variation site has been selected, it cannot be changed.

    • Target variation sites The target variation sites receive most of their content from the source variation site. Although new content can be created on a target variation site, that content is not shared with other sites and is unique to the site on which it was created.

  • Variations hierarchy The variations hierarchy is the entire set of sites in all variation labels.

  • Variation pages Variation pages are the publishing pages that are stored in the Pages library of the source variation site and the target variation sites. These pages and any dependent resources such as images and documents are the only content that is copied from the source variation site to the target variation sites.

    Important:

    We recommend that you do not add nonpublishing pages to the Pages library of a site that uses variations. If you do, the Variations Create Hierarchies Job Definition timer job might fail.

Understanding variations

The variations feature creates sites and copies content from a source variation site to one or more target variation sites. By default, the variations feature copies only publishing pages from the Pages library of the source variation site. The variations feature does not copy other site content, such as lists or other document libraries, unlike the content deployment feature, which copies all content, including lists and other document libraries, from one site to another. If the Resources option is configured to copy resources to target variation sites, then linked resources such as images and documents will be copied. Another important distinction between the variations and content deployment is that when the variations feature is used, copied content on target variation sites can be changed, unlike the content deployment feature, for which changing copied content is discouraged.

By default, when users visit the root site, they are redirected to the appropriate variation site, based on the language setting of their Web browser. For example, if a user's default browser language is French, SharePoint Server 2010 redirects that user to the French variation site. You can customize this behavior by replacing the default redirection page, VariationRoot.aspx, with a different page. This new page can implement logic that identifies the user's preferred language, the user's device, or another basis for varying sites. For information about customizing variation sites redirection, see How to: Customize the Variation Root Landing Logic.

Variation labels

A variation label is an identifier that names a variation site. You select one variation label as the source, which represents the source variation site. The remaining variation labels are the target labels, representing the target variation sites to which content is copied. You create variation sites from variation labels by using the Create Hierarchy command on the Variation Labels page.

Only one set of variation labels, the variation hierarchy, can be defined for a site collection. The corresponding variation sites can be created anywhere within the site collection hierarchy. The source variation site and the target variation sites are always created as subsites of the variation root site. Users who visit the variation root site are redirected to the appropriate variation site.

The following illustration provides an example of a variation site hierarchy, and shows how publishing content from the Pages library is copied to target variation sites.

Planning site variations

Three variation labels, "EN", "FR", and "DE" are created on the root site http://contoso.com. When the variations hierarchy is created, the corresponding variation sites, labeled "EN", "FR", and "DE", are created one level below the variation root site. Because site "http://contoso.com/EN" is specified as the source variation site, pages that are authored and published on site "http://contoso.com/EN" are copied to the target variation sites, "http://contoso.com/FR" and "http://contoso.com/DE".

When you create a variation label, you select a locale for it to use. The locale setting only assists with browser redirection, it does not affect the language of the user interface. If language packs have been installed on the front-end Web server, you can also select a language for the variation site. The language setting in SharePoint Server 2010 determines the language of the user interface on the variation site. If no language packs have been installed, the option to select a language is not available, and the variation site uses the default language of the SharePoint Server 2010 installation on the server, regardless of the locale that is selected for the variation label. For example, if SharePoint Server 2010 was installed by using the English version, and no language packs were installed, when a new variation label is created for the Japanese locale, the user interface for the new variation target site is in English, not Japanese. If you use variations for creating multilingual sites, and you want the user interface of a target variation site to be displayed using a specific language, you should install the language pack for each language before you create the variation sites. If a language pack is not available when a target variation site is created, the target variation site can still be created, and users can change the secondary language for a site by using the multilingual user interface. For information about the multilingual user interface, see Multilingual user interface overview (SharePoint Server 2010). For information about installing language packs, see Deploy language packs (SharePoint Server 2010).

Variation settings

Although you can specify any site within a site collection as the variation root site, variation settings are configured on the Site Collection Administration page of the top-level site within the site collection. The Variations Settings page is where you select the variation root site. After the variation root site has been selected and a variations hierarchy has been created, the root site cannot be changed.

In addition to specifying the root site, the Variations Settings page contains the following options:

  • Automatic Creation Determines whether sites and pages on the source variation site are created automatically on the target variation sites. By default, this option is enabled. If you disable this option, sites and pages that are created on the source variation site must be manually created on the target variation sites.

  • Recreate Deleted Target Page Determines whether a page should be re-created on a target variation site if the page was deleted from the target variation site, and the page on the source variation site has been republished. By default, this option is enabled. If you disable this option, deleted pages are not re-created on target variation sites.

  • Update Target Page Web Parts Determines whether changes made to Web Parts on pages on a source variation site are also made on pages on target variation sites. By default, this option is enabled.

  • Notification Sends e-mail to the contact of the welcome page of a target variation site when a new page or site is created or to the contact person of the specified page when a page is updated with revisions from the source variation site. By default, this option is enabled.

  • Resources Specifies whether to use the same resources on the source variation site when pages are copied to target variation sites or to copy them to the target variation sites. Resources are limited to files that are stored in a document library that can be referenced by a publishing page, such as images and documents. By default, this option is set to reference existing resources.

For information about specifying variations settings, see Turn on variations settings so you can create variations of your site.

Variations timer jobs

The variations feature uses timer jobs to perform tasks such as creating and propagating sites and pages. A timer job runs inside OWSTIMER, a Windows service for SharePoint Server 2010. Each timer job has its own default schedule for when the job runs. You can change the frequency with which each job runs on the Job Definitions page on the Central Administration Web site. The variations feature uses the following timer jobs:

  • Variations Create Hierarchies Job Definition Creates a complete variations hierarchy by creating all variation sites and pages from the source variation site, based on the variation labels. By default, this timer job runs once a day

  • Variations Create Page Job Definition Creates pages on the target variation sites when the Automatic Creation option has been disabled and a user manually creates a new page. By default, this timer job runs hourly.

  • Variations Create Site Job Definition Creates variation sites when the Automatic Creation option has been disabled and a user manually creates a new variation site. By default, this timer job runs every 5 minutes.

  • Variations Propagate Page Job Definition Creates and updates pages on target variation sites after a page on the source variation site has been approved or after it has been manually submitted by a user. By default, this timer job runs hourly.

  • Variations Propagate Site Job Definition Creates variation sites when the Automatic Creation option is enabled. By default, this timer job runs every 5 minutes.

For information about timer jobs, see View timer job status (SharePoint Server 2010).

Understanding source variation and target variation site creation

Source variation and target variation sites are always created one level below the variation root site. Each variation site is created by using the same site template that is used to create the variation root site. However, each variation site can use a separate theme and a different master page. For information about themes, see Themes overview (SharePoint Server 2010).

When the variations hierarchy is first created, only sites that are based on the list of defined variation labels are created. If the variation root site has sites below it in a hierarchical site structure, and you want those sites to be included in the hierarchical site structure of each variation site, you must manually create the hierarchical structure of those sites below the source variation site after you have created the variation hierarchy. By default, the next time the Variations Create Hierarchies Job Definition timer job runs, the sites are copied only to any new target variation sites that are created at that time. For information about how sites below the source variation site are created on existing target variation sites, see Understanding site and page creation.

After the variations hierarchy is first created, whenever a new label is added to the variations hierarchy and the Create Hierarchies button is clicked, a new target variation site is created for each new label. By default, if the source variation site has content in the Pages library, or if it contains sites below it in the site hierarchy, those pages and sites are created on all new target variation sites only.

Understanding site and page creation

By default, any sites that are created below the source variation site and any pages that are published on the source variation site or on any sites below it in the site hierarchy are automatically copied to the target variation sites. If Automatic Creation has been disabled, sites and pages must be created manually on the chosen target variation sites.

This section describes the ways in which sites and pages are created on target variation sites.

Site creation

The first time the Variations Create Hierarchies Job Definition timer job runs and creates the variations hierarchy from the list of variation labels, only the source variation and target variation sites are created. After the source variation site has been created, you can create sites below it in the site hierarchy, and those sites are then created on the existing target variation sites the next time the Variations Propagate Site Job Definition timer job runs. If Automatic Creation is disabled, use the Site Content and Structure page on the source variation site to manually create, on a single target variation site, any site in the site hierarchy that is below the source variation site. The new site is created on the specified target variation site when the next Variations Create Site Job Definition timer job runs. You can do this any time that Automatic Creation is disabled.

Note:

When source variation and target variation sites are created, they are created using the default site definition provided by the template selected when the source label was created. No custom site configurations or settings are copied to the new sites. If you want the source variation and target variation sites to have custom site configurations or settings, such as navigation customizations, you must make those changes on each site after creating the variations hierarchy.

Page creation

If the Publishing Site template was selected when the source variation site was created, pages on the source variation site or on any site below it in the site hierarchy must be published before they are eligible to be copied to target variation sites. If the Publishing Site with Workflow template was selected, pages must be approved for publication by using the publishing workflow before they are eligible to be copied to target variation sites. By default, after a new page has been published or approved for publication, if it uses workflows, it is copied to all target variation sites when the next Variations Propagate Page Job Definition timer job runs. If the page was published previously and has been modified and republished on the source variation site, it is copied to all target variation sites when the next Variations Propagate Page Job Definition timer job runs.

If the Resources setting is configured to enable copying resources, dependent resources, such as images, are copied to the target variation site. If versioning is enabled for the library on the target variation site where the resource is copied, and a copy of the resource already exists, the new version is appended to the existing resource, and the version history is updated. If versioning is not enabled for the library on the target variation site where the resource is copied, and a copy of the resource already exists, the new version overwrites the existing resource.

The first time a page on a source variation site is copied to a target variation site, the page title and content is copied to the target variation site. The next time the page is copied to the target variation site, only the page content is copied. The page title is not updated on target variation sites after the page is copied.

Note:

On target variation sites, a page that is copied from the source variation site is always assigned a minor version number. If the page is new to the target site, it is assigned version 0.1. If the page already exists on the target variation site, the copied page is assigned the next available minor version number. For example, if a target variation site has version 2.1 of a page and a new variation of that page is copied to the target site, the page becomes version 2.2. Pages and additional resources, such as images that are approved for publishing on the source variation site, are copied to the target variation site with their Approval status set to Draft, and they must be approved before they can be viewed by readers of the site.

If Automatic Creation has been disabled, a user must create the page for a specific variation label by using the Create command in the Variations group on the Publish tab of the page on the source variation site. The new page is copied to a single target variation site when the next Variations Create Page Job Definition timer job runs. If the page was published previously and has been modified and republished on the source variation site, it is copied only to the specified target variation site when the next Variations Propagate Page Job Definition timer job runs. For information about how to disable Automatic Creation for variation pages, see Manage automatic propagation of variation pages. For more information about propagating variation pages, see Variations: Propagate Pages on Your Terms.

By default, when a page that has been copied from the source variation site is deleted from a target variation site, that page is re-created on the target variation site the next time it is published on the source variation site and the next time the Variations Propagate Page Job Definition timer job runs. If Recreate Deleted Target Page has been disabled, deleted pages are not re-created on the target variations sites.

For information about creating variation source pages and working with content on variation target pages, see Work with content updates on variations pages.

Limitations of variations

The following list contains information about the limitations of the variations feature in SharePoint Server 2010:

  • Variations feature is a single-tier hierarchy.

    The source and target variation sites exist at the same level within the site hierarchy, one level down from the variations root site. Although source and target variation sites can contain other sites, they cannot contain other target variation sites. For example, if you have a source variation site in English, and a target variation site in French, which has a French-Canadian site below it, the variations feature will only copy content from the English source variation site to the French target variation site. The variations feature cannot also copy content from the French target variations site to the French-Canadian site below it.

  • Variations feature does not copy everything from the source site.

    By default, the variations feature only copies publishing pages that are stored in the Pages library of the source variation site. Any additional resources, such as images that are used in those pages, are not copied but instead are referenced from the source variation site. You can choose to have those resources copied to the target variation sites by changing the Resources option on the Variation Settings page. Other site content, such as lists or libraries, is not copied at all and must be copied manually to any target variation site where those items are needed.

  • Content copying is unidirectional.

    The variations feature copies content from a source variation site to one or more target variation sites. You cannot use the variations feature to copy content from a target variation site back to a source variation site. Also, target variation sites cannot copy content to other target variation sites.

See Also

Concepts

Plan variations (SharePoint Server 2010)


Plan variations (SharePoint Server 2010)
See Also

The variations feature in Microsoft SharePoint Server 2010 makes content available to specific audiences on different sites by copying content from a source variation site to each target variation site. If necessary, the content can then be customized in the target variation site. For example, content on a target variation site can be translated into other languages before it is published. Variations can be used only on SharePoint Server 2010 sites that are created with one of the Publishing site templates, or on a site for which the SharePoint Server Publishing Infrastructure feature has been enabled.

Note:

Although variations can be used for multilingual solutions, the variations feature does not translate pages. To use variations for creating multilingual content, you can use workflows to route content for translation by another team or third-party vendor after the content is copied to target sites. For more information about workflows, see Plan workflows (SharePoint Server 2010).

This article contains information about important items that you should consider when you are using variations in a publishing site collection, and it describes the tasks that are involved in planning a solution that uses variations in SharePoint Server 2010. This article does not provide an overview of variations, describe how to use variations, or explain how to create variation labels and hierarchies.

For more information about variations, see Variations overview (SharePoint Server 2010).

In this article:

  • About planning variations

  • Important items to consider when planning to use variations

  • Determine the types of variations needed

  • Select the variation root site

  • Specify the source variation site

  • Plan target variation sites

  • Decide how sites and pages will be created on target variation sites

  • Plan variations timer job scheduling

  • Variations planning worksheet

About planning variations

The planning process that is described in this article starts with describing important items that you should consider when you plan to use variations with your SharePoint Server 2010 solution. The remainder of the article describes the steps that are required to plan for using variations with SharePoint Server 2010. These steps include the following:

  • Determine the type of variations that are needed and select the variations root site.

  • Specify the source variation site and plan the target variation sites.

  • Decide how sites and pages will be created on the target source sites.

  • Plan how variations timer jobs will be scheduled.

You can record this information in the Variations planning worksheet.

Important items to consider when planning to use variations

Before you plan to use variations with your SharePoint Server 2010 solution, you should be aware of the interaction between variations and other SharePoint Server 2010 features. This section contains information about important items to consider when you are planning to use variations with your SharePoint Server 2010 solution.

Content approval

Content approval is the method by which site members with approver permissions control the publication of content. In content approval, content is considered published when a new major version is approved, because major versions are viewable by users who have read permissions. Content approval in variation sites requires major and minor versioning in the Pages libraries on the source and target variation sites. For more information about content approval, see Plan content approval and scheduling (SharePoint Server 2010).

Content approval has unique factors that you should consider when you are planning variations:

  • On the source variation site, when a page is submitted for approval, an e-mail is generated and sent to the contact of the page by using the values stored in the following columns, in the following order:

    • Contact

    • Contact E-Mail Address

    • Modified By

    Note:

    Starting with the Contact field, each field is checked for contact information to which the notification can be sent. If the first field is empty, the next field is tried until contact information is found.

    After the page is approved for publication, it is enabled for copying to the target sites. You can configure the variations settings so that content is either manually or automatically copied to the variation sites.

  • On target variation sites, a page that is copied from the source variation site is always assigned a minor version number. If the page is new to the target site, it is assigned version 0.1. If the page already exists on the target variation site, the copied page is assigned the next available minor version number. For example, if a target variation site has version 2.1 of a page and a new variation of that page is copied to the target site, the page becomes version 2.2.

  • If a page is published on the source variation site, when the page is copied to target variation sites, the Approval status is set to Draft. If Content Approval and Document Versioning are enabled in the Pages library on target variation sites, the page must be approved on each target variation site before the page is available to readers.

Note:

Changes made to content that originates on the source variation site can supersede changes made to the content in the target variation site. For example, in language variations, if the source variation site is in one language and the target variation site is in another, the following situation might occur: An editor changes a localized page on the target variation site, assigning it a new minor version, 1.1. Then, a writer on the source variation site makes different changes to the same page, which is copied to the target variation site as version 1.2. This supersedes the version 1.1 changes to the page. In this example, an editor for the target variation site would have to restore the previous version of the topic from the Version History, accept the new version, or use the View Changes button to view differences between the current version and previous versions of the page, and manually merge the new and previous versions into a new version. For more information about versioning, see Versioning, content approval, and check-out planning (SharePoint Server 2010).

Site navigation

If you are using site variations, you must plan your site navigation experience carefully. In SharePoint Server 2010, site navigation links to the current site's peer sites are automatically generated and displayed in the Global Navigation and Current Navigation menus of a Web page. In variation sites, where the current site's peers are variations of the same site, you might not want to give site users the ability to browse to other sites in this manner. You can use the Navigation Settings page to change the settings of the Global Navigation and Current Navigation menus so that peer sites are not displayed.

Note:

Changes to site navigation on the source variation site are not copied to the target variation sites. If you want the site navigation on target variation sites to match the site navigation on the source variation site, you must manually make changes to the site navigation settings on the target variation sites.

For more information about site navigation planning, see Plan site navigation (SharePoint Server 2010).

Content deployment

Content deployment copies content from a source site collection to a destination site collection.

We recommend that you disable any content deployment jobs that include the source variations site while Variations Create Hierarchies Job Definition runs. If content deployment runs while the Variations Create Hierarchies Job Definition timer job is also running, a target variation site that is only partially created may be copied to the target variation site on the destination server.

For more information about content deployment planning, see Plan content deployment (SharePoint Server 2010).

Web Parts

A Web Part is one of the building blocks of pages based on SharePoint Server 2010. Most Web Parts are designed to display a specific type of data, such as text, HTML, or images. SharePoint Server 2010 includes a set of Web Parts, and you can also develop or import custom Web Parts.

Web Parts are copied with pages of variation sites. If Update Target Web Parts is enabled, Web Parts are updated only on the target variations site if a page containing that Web Part has been copied to the target variation site. If the Web Part appears on multiple target pages on different target variation sites, all instances of the Web Part are updated when the page from the source variation site is copied to the target variation sites. For example, if a page contains a Media Web Part, and the Web Part is configured to point to video A that is stored on a site outside of the variations hierarchy, when the page is published on the source variation site, the page is copied to all target variation sites. The pages on the target variation sites display video A in the Media Web Part. If the page on the source variation site is updated and the Media Web Part is changed to point to Video B, the pages on the target variation sites continue to point to video A until the page on the source variation site is published and copied to the target variation sites. Also, if readers on the target variation sites do not have permission to view the video file that is stored outside the variations hierarchy, they cannot view the video. To prevent unintended Web Parts behavior such as this, you can configure the variations settings so that Web Part updates are not copied to target variation sites.

Multilingual sites

SharePoint Server 2010 has several features that enable you to support users in different regions or users who speak different languages. You can use these features to create Web sites in different languages and to enable users to view the user interface of a site in a language other than the one in which a site was created. If you plan to use variations with multilingual sites, there are additional steps that you must follow to enable multilingual support for the variation sites. For more information about how to plan multilingual sites, see Plan for multilingual sites (SharePoint Server 2010).

Determine the types of variations needed

Although variations are most commonly used to create multilingual sites, you can also use variations to create sites based on other criteria, such as regional differences, mobile devices, corporate or product branding, or company subsidiaries. Determine what types of variations are needed for your solution, and make a list of the sites that will belong to the variations hierarchy.

Note:

If you will be using variations for creating multilingual sites, and if you want the site administration pages of the target variation sites to be displayed in another language, you must install the language pack for each language that corresponds to a variations site. For information about how to install language packs, see Deploy language packs (SharePoint Server 2010).

Select the variation root site

The variation root site provides the URL for all variations sites and contains the landing page that redirects users to the correct variations site. The root site can be a site at any level in a site collection, including the top-level site. However, after you specify the root site, you cannot change it after you click Create Hierarchies, and you cannot use variations anywhere else in the site collection.

Note:

If the root site contains a site hierarchy or content in the Pages library that you want to be in the source variation site, you must manually copy them to the source variations site after it has been created.

Decide what site you want to use as the root site, and record the URL in the variations planning worksheet.

Specify the source variation site

The source variations site is the site where content to be shared by all sites is authored and published, and it is the site that is used to copy changes to the target variation sites. A source variation site is specified by selecting the Source Variation setting for a variation label on the Create Variation Label page in the Site Collection Administration Web site. There can be only one source variation site for a variations hierarchy. After a variation label has been specified for use as the source variations site, it cannot be changed.

Review the list of sites for your variations solution, and decide which site will be the source variation site. Record the source variations site for your solution in the top row of the Sites data sheet tab in the variations planning worksheet. Type the label as you want it to appear in the site URL, the label display name, and the name of the site owner who will be responsible for the site.

Plan target variation sites

Your planning goals for target variation sites will vary depending on the type of variation sites that you are implementing. For example, if the variation sites are based on languages, you might want the pages in the target variation sites to look the same as the pages in the source variation site. If the variations are based on devices, you will probably want the pages in the target variation sites to look different from the pages in the source variation site so that they fit the devices intended to display them.

Review the list of sites for your variations solution, and record each target variation site in the variations planning worksheet. For each site, enter the label as you want it to display in the site URL, the label display name, and the name of the site owner who will be responsible for the site.

Note:

SharePoint Server 2010 supports up to 50 variation labels.

Plan custom master pages, layout pages or style sheets

You can decide to use custom master pages, page layouts, or style sheets for variation sites. For example, in site variations based on devices, you could define simpler page layouts for those variations that are displayed on devices with limited screen sizes. Master pages, page layouts, and style sheets are managed only in the top-level site of a site collection, so you must make all changes to these resources in one of the following locations in the top-level site:

Resource | Location
Master Page | Master Page Gallery
Layout Page | Master Page Gallery
XSL styles and cascading style sheets | Style Library

You can also specify that each target variation uses its own custom page layout.

Plan custom content types

You must use the same content type (either the Page content type, or a content type based on the Page content type) for all pages that are stored in the Page library of the source variation site. The easiest way to do this is to use a content type that is defined in the Site Content Type Gallery in the top-level site of the site collection.

If you must have custom columns for one or more variation sites' pages, add them to the content type that you are using in your Page libraries. For example, if the variation sites are based on language differences, you can add a column that indicates whether the page has been localized. For more information about planning content types and columns, see Content type and workflow planning (SharePoint Server 2010).

In some site variations solutions, you do not have to edit or change the content on the target variation sites. For example, if your variation sites are device-dependent, you might want identical content displayed on all devices but with different layouts and master pages for each type of device. When this is the case, you can simplify the administration of your target variation sites by disabling required check-outs.

Decide how sites and pages will be created on target variation sites

If the source variation site will have other sites below it in a site hierarchy, you must plan for how those sites will be created on the target variation sites. There are two ways in which sites can be created on target variation sites: automatically and manually. By default, any new sites that are added below the source variation site will automatically be created on all target variation sites. However, if you disable automatic site and page creation for variations, for each new site that you create below the source variation site, you must manually specify the target variation sites on which the site should be created. Although enabling new sites to be created automatically on the target variation sites has the advantage of reducing tasks for the site administrator, the advantage to manual site creation is that you can specify which sites should be created on which target variation sites. This can be useful if you want a site to be included only on some, but not all target variation sites.

Publishing pages can also be created on target variation sites in two ways: automatically and manually. By default, any new pages that are published in the Pages library of the source variation site will automatically be created on all target variation sites. However, if you disable automatic site and page creation for variations, for each new page that you create on the source variation site, you must manually specify the target variation site on which the page should be created, and you can only specify a single target variation site. Disabling automatic site and page creation can be useful if you want certain pages to be included only on some, but not all target variation sites. However, requiring manual creation of pages on target variation sites can be a disadvantage if the source variation site will contain many pages. If you want to create variation pages on a subset of the target variation sites, we recommend that you use automatic creation to create the pages on all target variation sites, and then either delete the pages from the target variation sites where you do not want copies of the pages, or use a workflow to approve only the pages that you want to have copied to the target variation sites.

By default, automatic site and page creation is enabled. You should carefully consider the potential increase in administrative tasks if you decide to disable automatic site and page creation for your variations solution. Automatic site and page creation is configured on the Variations settings page in Site Collection Administration. For information about specifying variations settings, see Turn on variations settings so you can create versions of your site.

Plan variations timer job scheduling

The variations feature uses timer jobs to perform tasks such as creating and propagating sites and pages. A timer job runs inside OWSTIMER, a Windows service for SharePoint Server 2010. Each timer job has its own default schedule for when the job runs. You can change the frequency with which each job runs on the Job Definitions page on the Central Administration Web site.

The following table lists the variations timer jobs and the default schedule for each job:

Job name | Default schedule
Variations Create Hierarchies Job Definition | Once a day
Variations Create Page Job Definition | Hourly
Variations Create Site Job Definition | Every 5 minutes
Variations Propagate Page Job Definition | Hourly.
Variations Propagate Site Job Definition | Every 5 minutes

You can specify when each job will run by setting a recurring schedule in minutes, hourly, daily, weekly, or monthly intervals. If you select daily, weekly, or monthly, you can specify a window of time for when the job should run, and the server will randomly select a time within the specified range in which to begin running the job. This option is most appropriate for high-load jobs that run on multiple servers in a farm. Be aware that running this type of job on all servers in the farm simultaneously might increase the server load and affect performance. To avoid this possibility, you can specify an exact starting time for a job.

You should carefully plan when the variations timer jobs should run on your servers, and set the recurring schedule accordingly. For example, to determine how often the Variations Create Page Job Definition or the Variations Propagate Page Job Definition should run and copy pages to target variation sites, consider how many pages will be created on the source variation site, and how often those pages will be updated.

Variations planning worksheet

Download an Excel version of the Variations planning worksheet.

See Also

Concepts

Variations overview (SharePoint Server 2010)


Variations design considerations (SharePoint Server 2010)
See Also

Published: September 27, 2011

The variations feature in Microsoft SharePoint Server 2010 provides copies of content pages that are linked across a site structure. There is a one-to-many relationship of a single source site and multiple target sites. This enables both modification and translation of content, while maintaining a process to provide page updates across the different variations sites. For more information about variations, see Variations overview (SharePoint Server 2010).

There are several design considerations that must be weighed when you implement a variations infrastructure within your publishing environment. This article outlines some of these considerations, and makes recommendations about how to approach them in common scenarios.

In this article:

  • Variations process overview

  • Design scenarios

  • Summary

  • Acknowledgements

Variations process overview

The following steps describe the process that is undergone when variation sites are created:

  1. First, a source label and one or more target labels are created. This specifies which site within the site collection will contain the variations site hierarchy. In general, the assumption for most sites is that the variation source site will be created from the root of the site collection and the locale will be used as the variation label.

    Note:

    SharePoint Server 2010 supports up to 50 variation labels.

  2. After the variation labels are created, the variations site hierarchies are created. This process creates all sites that are required for the whole variation site hierarchy. This can become very time-consuming if there is a deeply nested site structure within the site information architecture. This cannot be avoided in many large information architectures.

  3. After the variation labels are created, the content is copied to the target variation sites. This includes the pages that were created in the source variation site. Depending on the configuration of the Resource Setting, images and documents could also be copied to the target variation site.

  4. After the whole process is complete, pages that are updated and published on the source variation site are copied to the target variation sites as draft copies for later translation or modification before publishing the pages.

Although this process seems straightforward at face value, there are several considerations to make regarding the process and the effect of your design on the overall effectiveness of your variations solution. The number of sites, number of pages, and overall content size affect variations solutions in different ways. Although all these factors contribute to the overall database size, some have more effect than others, and different mitigation strategies can be employed to reduce the footprint of the content within the variations site hierarchy.

Database size

We recommend that you read the articles in the Performance and capacity management (SharePoint Server 2010) section before you plan for the size of your content databases. Although databases that are primarily read-only can grow much larger than the recommended size limit, there are considerations around content deployment, such as backup and restore and variations when you design the physical and logical architecture of your solution. Even for a target content database size of 200 GB, backing up and restoring a database that has that amount of data takes time. Also, the deployment of that large set of data over content deployment will lead to long deployment times and consumption of potentially double that amount of disk space on the source and destination servers when it deploys the content. Therefore, the size of the databases and how they will be managed should be considered during the design phase of the project. For information about content database size limits, see SharePoint Server 2010 capacity management: Software boundaries and limits.

Specifically, when using variations, the location of your content within your information architecture, in addition to the kinds of content that will be served, will contribute to the overall database size of the solution. Placement of large amounts of binary content such as documents and images within the solution will lead to a large database size. Steps should be taken to reduce the footprint of this binary content where it was possible to provide the best performance and lowest possible database footprint for this content.

For information about different design scenarios, and the pros and cons of each, see Design scenarios, later in this article. These scenarios can be used as baseline configurations when you are determining the appropriate design for your information architecture.

One other concern for database sizing is the document versioning strategy used for content pages and other documents. Allowing an unlimited number of versions of these files will increase the database size, because it relates directly to the storage of the versions of content for each file. The number of versions of files within the system can increase the size of the database greatly. We recommend that document collaboration and versioning of source pages and other documents occurs outside the publishing site, and that versions be used very sparingly only where absolutely required to support the business requirements.

Variation site size

The overall size of a variation site includes the size of all site data together with the size of all page content within that site. When you create variation sites, there are two options for how resources are referenced in the target variation sites. Resources include all binary content, such as images and documents.

  • Reference existing resources You can reference existing resources, which indicates that you will maintain the references (links) to the binary content within the source variation site. If you need to edit the content during translation or localization and reference a localized resource, this resource can be uploaded to the new location within the variation site and be linked to from the content appropriately.

  • Copy the resources You can copy the resources, which enables all items to be copied to each target variation site. Typically, when the content has links to resources, these resources are copied when they are linked to from inside the field controls on the content pages. This means that any binary content that is referenced in the source variation site is copied to the appropriate library in the target variation site and will create a copy of the file in the content database.

When designing for variation sites, the decision to either reference or copy resources should be considered carefully, as it will have an effect on the design of the solution storage. The primary benefit to referencing resources is that it results in a smaller database size. If the majority of the binary content will be reused across most or all variation target sites, use the Reference existing resources option, and only put the content to be translated or localized inside the variation site hierarchy. If the majority of the binary content is to be translated or localized, or both, use the Copy the resources option.

Design scenarios

This section describes three different design scenarios for small, medium and large sites, and explains the pros and cons of each scenario.

Small site

This scenario is a small site that has few pages, a small site structure, and fairly low amount of binary content. Sites that typically fall into this category have less than 1 GB of binary content that is used on pages in the variations site hierarchy. In this kind of site, the choice of copying or referencing the content within the variation sites is of less a concern from a storage perspective. Because it has only a few pages and a small structure, this kind of site would leave a fairly low content database footprint even when variation sites are created.

With resources referenced, and 1 GB of resources in the target variation sites, we would expect a database size of less than 5 GB for even a large number of variation sites. With 1 GB of resources copied to each variation site, we would expect a linear increase in the content database size per variation site created. For example, 5 variations = 5 GB, 10 variations = 10 GB, and so on. This would still be considered manageable using typical database and site collection processes while still maintaining an acceptable restore point objective and content deployment time.

Medium site

This scenario is a larger site with many more pages in the site structure that make up most of the content in the site, but with fairly low amount of binary content. There may be some binary content within the variation site hierarchy, but most other content is stored in the same site collection outside the variation site hierarchy. This would enable some combination of document storage within the site collection without repeating the content per target variation site.

With resources referenced, 5 GB of binary content stored in the root of the site collection, and 1 GB of binary content stored in the source label, we would expect a database size of at least 6 GB, and only a small increase for larger numbers of variation sites. For example, 5 variations = 6 GB, 10 variations = 6 GB, 20 variations = 6 GB. If we assume 5 GB of binary content stored at the site collection level, and 1 GB of data storage within the variation site hierarchy, and resources copied, this database would still be manageable as a single site collection. For example, 5 variations = 10 GB, 10 variations = 15 GB, 20 variations = 35 GB, and so on.

Large site

This scenario consists of large amounts of binary content together with a large site structure. We now expect to deal with potentially large amounts of data apart from the actual page content itself. These kinds of sites typically have lots of binary content such as documents and want to translate most of these documents into local languages. We are still not assuming that versioning is used within the libraries as this can bloat the overall database size significantly. Assumptions on versioning effect should allow for the maximum potential sizing of the document versions based on the versioning strategy.

In this scenario, we will assume 20 GB of binary assets that reside outside the scope of the variation site hierarchy. We will also assume 5 GB of content per variation site that resides within the hierarchy (1 GB of page content, 4 GB of binary resources). The following sections describe the effect that the location of resources has on the size of the variation sites.

Single site collection with copied resources

If we decide to leave this content in a single site collection and copy the resources, the size of the content database will quickly increase.

For a single source variation site, we have 25 GB of content. For each target variation site added, we would increase our content database by approximately 5 GB. For example, 2 variations = 30 GB, 10 variations = 75 GB, 20 variations = 120 GB, and so on.

Single site collection with referenced resources

If we decide to have a single site collection but reference the content from the source variation site, we can reduce the overall size of the content database. However, if most of the binary content within the variation sites are to be translated, then this approach may not have the effect that you want because copies will be made by the content authors within the target variation sites. We are assuming that only 1 GB of the 5 GB of content per variation site called out in this example is for storage of page related data that would be replicated per target variation site.

At best, we could assume the following statistics: 1 variation = 25 GB, 2 variations = 26 GB, 10 variations = 34 GB, 20 variations = 44 GB.

Although this approach will lead to reduced overall variation site sizes, it will not solve the potential fundamental issue of a large amount of binary content that is stored at the root site collection. As this amount of content grows, it can become unacceptable to still treat this as a single site collection. An alternate design approach is to break the documents and other binary content into one or more site collections dedicated to the storage of these files. Although this will influence the overall site design, especially with content aggregation and roll-up scenarios, it will lead to a more manageable variation site hierarchy that delivers better performance.

Multiple site collections

The strategy here is to store the pages and other branding artifacts such as cascading style sheets and JavaScript files directly involved in the presentation of information on the site within the publishing site that the variations site hierarchy will be created within. Documents and other large binary assets would be moved to a separate site collection, organized and tagged appropriately so that users are able to find the content when it is needed. Links to documents can be provided from inside content pages. You can configure the Suggested Content Browser Locations feature for your publishing site to help users locate and link to resources in other site collections. For information about how to configure the Suggested Content Browser Locations, see SharePoint 2010 - Suggested Content Browser Locations (http://go.microsoft.com/fwlink/p/?LinkId=229510). Aggregation can be provided by using Search and appropriate metadata tagging of the documents.

By using this approach, the large site collection scenario could be broken into a site structure that resembles the following site structure:

Variations using multiple site collections

  • www.contoso.com This site collection is used for the publishing pages and related content. Variations of this content would be created within the site structure. This site collection is created with its own content database independent of the content database for documents and other binary content.

  • www.contoso.com/docs This site collection is used for the document gallery. All documents and related binary content should be tagged with languages, culture, or other appropriate information to enable aggregation via search. The document gallery should use a folder structure that mirrors the site structure of the variations site hierarchy. This makes it easy for content authors to locate related content. Documents can be distributed across one or multiple site collections based on the requirements of the project.

Since the www.contoso.com/docs site collection is not stored within the root publishing site, we could expect 1 GB of content per variation site, with 1 GB of branding-related binary content. This would enable a very manageable publishing site that uses a much smaller content database size.

In this design, there would be two content databases.

  • Documents 1 content database for documents would be 20 GB. Translations of documents could bloat this database size similar to the scenarios outlined earlier in this section. Multiple documents that are stored for translation purposes would increase this database size but this would not have any effect on the variation process that the publishing site is undergoing.

  • Publishing Site 1 content database for the publishing site. This content database would be much smaller and would give the best performance of the variation infrastructure. Only the content pages themselves and a small amount of branding resources would be involved in the site collection directly. For example, 1 variation = 2 GB, 2 variations = 3 GB, 10 variations = 11 GB, 20 variations = 21 GB, and so on.

Although this design strategy gives more precise management of the binary content within the solution, it does impose some additional design work, especially related to aggregation of document content. If these documents were aggregated using Content Query Web parts within the site collection, this approach will fail when it tries to aggregate the documents across site collections. New Search queries may have to be written and web parts created for displaying search queries instead of content queries. Therefore, if lots of documents are considered within the overall solution, breaking them into separate site collections will be better than trying to store all content in a single publishing site.

This also does not solve the intrinsic issues with deploying lots of documents by using content deployment. Deploying a large amount of content across farms will take time on the initial deployment. Incremental deployments will only be as large as the number of documents modified in the time since the last deployment. Therefore, it is strictly dependent on the number of document updates relative to the overall corpus of information.

Summary

When you determine your storage requirements for a variations project, be sure to plan based on the amount of content you expect to have in the future, not what you currently have. For example, how much content will you have two years from now? How many variation sites do you expect to add in the next two years? As you design your variations solution, consider the following guidelines:

  • A large content database size can greatly increase the time it takes to create new variations and to run content deployment jobs. Reducing the size of the content database will improve performance during both variation propagation and content deployment. How you achieve this size reduction will depend on the number of variation sites needed, and the amount of content used by each variation site.

  • If you have a large amount of related content stored outside of the Pages library of the source variation site, use Reference Resources or store the content in a separate site collection.

  • If you store related content in a separate site collection, be sure to use Search to aggregate content into Web Parts on the variations sites.

Acknowledgements

The SharePoint Server 2010 Content Publishing team thanks Steve Walker, Microsoft SharePoint Customer Advisory Team, for contributing to this article.

See Also

Concepts

Variations overview (SharePoint Server 2010)
Plan variations (SharePoint Server 2010)


Plan information architecture for Web content management (SharePoint Server 2010)
See Also

Published: September 16, 2010

A Web site's information architecture determines how the information in that site — its Web pages, documents, lists, and data — is organized and presented to the site's users. Information architecture is often recorded as a hierarchical list of site content, search keywords, data types, metadata, and other concepts.

Analyzing the information to be presented in an Internet or intranet Web site is an important early step in the site planning process, and this step provides the basis for planning the following:

  • How the site will be structured and divided into a set of subsites.

  • How data will be presented in the site.

  • How site users will navigate through the site.

  • How information will be targeted at specific audiences.

  • How content will be tagged and how metadata will be managed.

  • What the authoritative source is for terms.

  • How search will be configured and optimized.

Although this article contains some guidance about how to analyze the information architecture requirements of your SharePoint Internet or intranet site, you will want to include an information architect or analyst on your site's planning and design team to ensure that your Web site plans fully consider the information architecture needs of your organization.

In this article:

  • General planning recommendations

  • Plan the structure of your site

  • Plan for social computing and collaboration

  • Plan for managed metadata

  • Plan for business intelligence and business data

  • Plan for search

General planning recommendations

It is useful to divide information analysis for Web site planning into the following stages:

  • Survey existing content and Web site structure Your current Internet or intranet site reflects its current information architecture. Analyze and record how information and content are distributed across your current sites and subsites. Look at logs or other analysis tools to see what content is most frequently accessed and least frequently accessed.

  • Survey user requirements Survey the current site users and intended site users, and record the kinds of information that they create or use. What information do they need in their daily work? Are they able to find that information easily? Does the current Web site structure help them understand the relationships among the different kinds of information that the site contains? Is there missing information? Note any problems the users have in finding or using information with the site's current architecture.

  • Survey business requirements Survey the managers of the business unit or organization that the Web site is being designed for. What are the business needs of the site? Should the units or divisions of the business be reflected in the information architecture of the site? How will information be shared across business units, or will it be isolated within one unit? If the site is targeted at customers, what information should they first encounter? How will they explore information about products or services?

Use your analysis to create a detailed outline of your organization's content needs.

Plan the structure of your site

Your information architecture will determine the structure of your Internet or intranet site. By dividing the information architecture into business processes, projects, or large content groupings, and by using those divisions to sketch out a hierarchy of sites and content within each site, you can plan where information belongs within that hierarchy. For more information about how to plan the structure of sites based on Microsoft SharePoint Server 2010, see Plan sites and site collections (SharePoint Server 2010).

Plan for social computing and collaboration

The social computing and collaboration features in Microsoft SharePoint Server 2010 are built upon a database of properties that integrates information about people from many kinds of business applications and directory services. Your information architecture research should include information about users. This information can come from Microsoft products and technologies, such as Microsoft Exchange Server, the Active Directory directory service, and Microsoft SQL Server. It can also come from directories for tracking people in industry standard formats, such as Lightweight Directory Access Protocol (LDAP), or from line-of-business applications such as SAP.

By collecting user information, you can create unified and consistent user profiles across the organization. This will help you plan My Sites, which are special SharePoint sites that provide a rich set of social networking and collaboration features that are personalized for each user. Self-service site creation enables users to create their own My Sites. As you plan for collaboration features such as My Sites, consider whether you should enable self-service site creation. Which users should have permission to create sites? Will there be a specific Web application where My Sites are created? What kind of quotas are needed? For more information about My Sites, see Plan for My Sites (SharePoint Server 2010).

The people-related concepts that are recorded with your information architecture will also help you determine how to create a group of site users based on the business processes they participate in, the distribution lists and social networks they belong to, the content they are likely to create or view, or the organizational structure in which they work. For more information about how to plan for social computing and collaboration, see Plan for social computing and collaboration (SharePoint Server 2010).

Plan for managed metadata

Managed metadata is a hierarchical collection of centrally managed terms that you can define and then use as attributes for items in SharePoint Server 2010. As you plan your information architecture, consider the term sets that are needed to help categorize SharePoint items such as custom columns that are associated with documents and lists, or "Choice" or "Lookup" columns in an existing SharePoint Server site. For more information about term sets and managed metadata, see Plan terms and term sets (SharePoint Server 2010). You can use metadata navigation to improve list view navigation. Metadata navigation expands the capabilities of list views and combines it with a Key Filters control, which makes it easier for users to find content by filtering a view of documents to a subset based on one or more navigation filters. As you plan your information architecture, consider how users will likely use the site hierarchy to navigate document libraries, in addition to the filters that users will use to further filter data displayed in library list views. For more information about metadata navigation, see Metadata navigation overview (SharePoint Server 2010).

Plan for business intelligence and business data

Your information architecture includes the business intelligence and business data that your enterprise uses. By using business intelligence applications and tools you can organize your vision of organizational goals, processes, and performance requirements in a useful manner, and you can present that data as meaningful information. By using SharePoint Server 2010, you can present business data in the context of your site structure so that it is available to those audiences that need it. For example, on an enterprise's intranet site, employee payroll data — which must be available across the enterprise's divisional boundaries — could be presented on the enterprise's central site so employees could see their own data.

Data that is used by a limited audience could be presented in the sites that are used by that particular audience. For example, a customer support team could view and interact with customer support incidents in a site that is used only by that team, and a sales team could view customer data in a site that is dedicated to managing customer relationships. As another example, an enterprise's technical support team could use business intelligence features to view metrics on technical support tickets, such as how many tickets are assigned per support technician, how many are open or resolved, and what the satisfaction level of the customers is.

As you plan your information architecture, determine what business intelligence tools your enterprise needs and where the data in your existing business applications should be exposed in your enterprise's Internet and intranet sites to be available to users who need it. For more information about business intelligence planning, see Business intelligence planning (SharePoint Server 2010). For more information about business data planning, see Business data and processes planning (SharePoint Server 2010).

Plan for search

As you plan your information architecture, in an information architecture survey, keep track of concepts, search terms, and properties that your site's users will use when they search for information on your site. You will want this data when you are creating the search schema for the site.

Remember that users might search for content by using broad conceptual terms to describe what they need. Your information architecture survey will be useful as a tool to help map users' terminology and concepts to the underlying information that they are looking for.

See Also

Concepts

Fundamental site planning (SharePoint Server 2010)
Plan Web content management (SharePoint Server 2010)
Plan site creation and maintenance (SharePoint Server 2010)


Plan managed metadata (SharePoint Server 2010)
See Also

Managed metadata is a hierarchical collection of centrally managed terms that you can define and then use as attributes for items in Microsoft SharePoint Server 2010.

The first articles in this chapter explain key concepts about managed metadata in SharePoint Server 2010. Additional articles in the chapter provide guidance about how to identify managed metadata for your solution, and how to determine the services and connections that you will need to implement your solution. The articles include:

  • Managed metadata overview (SharePoint Server 2010)

    This article introduces the core concepts about managed metadata and then describes the way that you use managed metadata. The final section presents several benefits of incorporating managed metadata into your SharePoint Server 2010 solution.

  • Managed metadata service application overview (SharePoint Server 2010)

    This article describes the managed metadata service and connections and provides an example scenario for using them.

  • Managed metadata roles (SharePoint Server 2010)

    This article defines user roles and identifies the actions that members of each role can perform.

  • Plan terms and term sets (SharePoint Server 2010)

    This article contains guidance about how you can identify information that should become terms and term sets.

  • Plan to import managed metadata (SharePoint Server 2010)

    This article describes how to locate existing terms and term sets and prepare them to be imported into SharePoint Server 2010.

  • Plan to share terminology and content types (SharePoint Server 2010)

    This article contains procedures for identifying the managed metadata services and connections that your SharePoint Server 2010 solution requires.

  • Multilingual term sets (SharePoint Server 2010)

    This article describes the way that SharePoint Server 2010 supports defining and using managed metadata in more than one language.

See Also

Other Resources

Resource Center: Enterprise Content Management in SharePoint Server 2010


Managed metadata overview (SharePoint Server 2010)
See Also

Managed metadata is a hierarchical collection of centrally managed terms that you can define, and then use as attributes for items in Microsoft SharePoint Server 2010.

This article introduces the core concepts about managed metadata, and then describes the way you use managed metadata. An example is used throughout this article to illustrate the concepts. The final section presents several benefits of incorporating managed metadata into your SharePoint Server 2010 solution.

In this article:

  • Understanding managed metadata

  • Working with managed metadata

  • Benefits of using managed metadata

Understanding managed metadata

This section defines several key concepts related to managed metadata.

Terms and term sets

A term is a word or a phrase that can be associated with an item in SharePoint Server 2010. A term set is a collection of related terms. You can specify that a Microsoft SharePoint Server column must contain a term from a specific term set. Managed metadata is a way of referring to the fact that terms and term sets can be created and managed independently from the columns themselves.

Local term sets are created within the context of a site collection. For example, if you add a column to a list in a document library, and create a new term set to bind the column to, the new term set is local to the site collection that contains the document library.

Global term sets are created outside the context of a site collection. For example, the term store administrator could create a term set group called "Human Resources" and designate a person to manage the term set group. The group manager would create term sets that relate to Human Resources, such as job titles and pay grades in the Human Resources term set group.

Users can see only global term sets and term sets that are local to the user's site collection.

For example, imagine that you are organizing a conference. Each conference session is assigned a room, and the large sessions are also assigned an overflow room, in which attendees who do not fit into the primary room can watch the session broadcast on large screens. You decide to track all of the sessions and their associated details in a SharePoint Server list.

To keep track of the sessions and their conference rooms, you would:

  1. Create a term set called "Conference rooms" to represent all of the available rooms.

  2. Add a term to the term set for each conference room.

  3. Create a content type called "Session."

  4. Add two new columns to the content type: "Room" and "Overflow room."

  5. Specify that the value of each of these columns must come from the "Conference rooms" term set.

  6. Create a list of sessions.

In this example, whenever you add a session to the list, you provide values for the Room and Overflow room. If you subsequently reserve an additional room at the conference center, you would add a new term to the Conference rooms term set, and it would become a valid value for the two columns.

Managed terms, enterprise keywords, and the term store

Terms can be divided into two types:

  • Managed terms, which are usually pre-defined, can only be created by users with the appropriate permissions, and are often organized into a hierarchy.

  • Enterprise keywords, which are simply words or phrases that have been added to SharePoint Server 2010 items. All enterprise keywords are part of a single, non-hierarchical term set called the keyword set.

Managed terms and enterprise keywords are used differently. For more information, see the "Using terms" section later in this topic.

Note:

The word "managed" is often omitted when referring to managed terms when the meaning is clear from the context.

Both managed terms and enterprise keywords are stored in a database referred to as a term store.

Working with managed metadata

The following sections describe how terms are created and used. The conference room example is used throughout these sections to illustrate the concepts.

Creating terms

SharePoint Server 2010 includes the Term Store Management Tool, which you use to create and manage term sets. If you have the appropriate permissions you can use the Term Store Management Tool to:

  • Create or delete a term set.

  • Add, modify, or delete terms.

  • Arrange managed terms within a term set into a hierarchy.

  • Define synonyms.

  • Import terms.

  • Make enterprise keywords into managed terms by moving them into a term set.

Example:

To organize the conference sessions, you start by using the Term Store Management Tool to define a term set to represent all of the conference rooms. Then you use the same tool to add a term to the term set for each room. You start defining the following term set and terms:

  • Conference rooms (term set)

    • La Nouvelle Ballroom

    • Room 256

    • Room 270

    • Mardi Gras Ballroom

    • Room 287

    • Room 391

    • Room 348b

    • Hall C

    • Hall D

    • Room 348a

    • Auditorium C

    • Auditorium D

    • Auditorium E

    • Room 354

    • Room 355

    • Room 293

The term set is becoming unwieldy; you will have to scroll through too long a list when you select a conference room. You decide to reorganize the term set based on which wing of the conference center the rooms are located in. The new term set and terms now have this structure:

  • Conference rooms (term set)

    • Auditoriums

      • Auditorium C

      • Auditorium D

      • Auditorium E

    • Halls

      • Hall A

      • Hall B

      • Hall C

      • Hall D

    • Ballrooms

      • La Nouvelle Ballroom

      • Mardi Gras Ballroom

    • Second floor

      • Room 256

      • Room 270

      • Room 287

      • Room 293

    • Third floor

      • Room 348a

      • Room 348b

      • Room 354

      • Room 355

      • Room 391

Because the terms "Auditoriums," "Halls," "Second floor," and "Third floor" are used only for grouping other terms and do not represent actual rooms in which sessions can be held, you do not make these terms available for users to select.

Using terms

A column is a location in a list in which to store information about a SharePoint Server item. When you define a column, you provide a name for the column, specify the column's type, and provide additional information that depends on the column type.

SharePoint Server 2010 introduces a new column type called managed metadata. When you create a managed metadata column, you specify the term set from which the column's value must come. When you want users to provide information for list items (including documents), and the valid values for the information are contained in a term set, use a managed metadata column. Create a new content type or modify an existing content type, and add the managed metadata column to the content type.

Example:

You create a new content type named "Session" to represent each session. Because conference sessions will have an associated room and overflow room, you add columns for each of these attributes. You add a column named "Room", choose Managed Metadata for the column's type, select the term set "Conference rooms" to provide values for the "Rooms" column, and indicate that the column can only contain a single value. You then create an additional column named "Overflow room," and map it to the same term set. Because not all sessions have an overflow room, you do not require that the column contain information. Because there may be multiple overflow rooms, you allow multiple values.

The definitions of the two columns are summarized in the following table:

Column name | Term set | Require a value? | Allow multiple values?
Room | Conference rooms | Yes | No
Overflow room | Conference rooms | No | Yes

Finally, you create a list of sessions.

Entering terms

When a user creates or uploads a new SharePoint Server item of a type that has columns that require a value, the user must provide a value. If the column is a managed metadata column, the managed metadata control is displayed, and the user interacts with this control to enter the value.

The managed metadata control allows the user either to type a value or to select a value by hierarchically navigating the term set that is associated with the column. If the user begins typing a value, the control displays all terms in the associated term set that begin with the characters the user has typed. The name of the term set and the term's position in the hierarchy are indicated along with the term itself.

If the column's definition allows multiple values, the user can select more than one term. If both the term set and the column's definition allow new terms to be added, the user can also create a new term and insert it at the appropriate place in the term set's hierarchy.

Example:

A conference administrator adds a new session. SharePoint Server displays a form that contains a field for each column that is associated with the Session content type. When the administrator creates the keynote session, in the Room field, the administrator displays the hierarchy of terms within the Conference rooms term set, and then selects La Nouvelle Ballroom.

The administrator cannot remember which auditorium is being used for the overflow from the keynote session, but knows that it is the middle one. The administrator types aud, and the following terms are displayed as options:

  • Auditorium C [Conference rooms: Auditoriums]

  • Auditorium D [Conference rooms: Auditoriums]

  • Auditorium E [Conference rooms: Auditoriums]

The administrator selects Auditorium D.

Entering enterprise keywords

SharePoint Server 2010 includes a predefined column named Enterprise Keywords. You can add this column to content types. When a user adds a value to the Enterprise Keywords column, the enterprise keyword control is displayed, and the user interacts with the control to enter the value. The enterprise keyword control behaves in a similar fashion to the managed metadata control, except that the enterprise keyword control allows users to select enterprise keywords as well as managed terms.

When the user begins typing a value, the control displays the terms that begin with the characters the user has typed from the keyword set and other global term sets. The term set in which the term exists, as well as the term's position in the hierarchy are also displayed. There is usually an option for entering a new enterprise keyword as well. If the user enters a new enterprise keyword, the enterprise keyword is added to the keyword set.

The Enterprise Keywords column allows multiple values by default.

Example:

A conference administrator adds a new session to represent the welcome party for all attendees. The welcome party is being held at Mardi Gras World, which is an external venue. Because Mardi Gras World is not a member of the Conference rooms term set, the administrator cannot select it as the value of the Room field. However, the administrator does want to include the location, so that other administrators find this session when they search for the phrase "Mardi Gras World." The administrator notices that the Session content type includes the Enterprise Keywords column, and decides to add the venue as an enterprise keyword.

The administrator begins typing the name of the venue into the enterprise keyword field. When the administrator has typed Mar, the following options are displayed:

  • Mardi Gras Ballroom [Conference rooms: Ballrooms]

  • Create new

The administrator selects Create New, and creates the enterprise keyword Mardi Gras World, which is now added to both the Enterprise Keywords column of the list item and the keyword set.

Benefits of using managed metadata

This section describes several of the benefits of using managed metadata.

More consistent use of terminology

Managed metadata facilitates more consistent use of terms, as well as more consistent use of the enterprise keywords that are added to SharePoint Server items. You can pre-define terms, and allow only authorized users to add new terms. You can also prohibit users from adding their own enterprise keywords to items, and require them to use existing ones. Managed metadata also provides greater accuracy by presenting only a list of correct terms from which users can select values. Because enterprise keywords are also a type of managed metadata, even the enterprise keywords that users apply to items can be more consistent.

Because metadata is used more consistently, you can have a higher degree of confidence that it is correct. When you use metadata to automate business processes—for example, placing documents in different files in the record center based on the value of their department attribute—you can be confident that the metadata was created by authorized users, and that the value of the department attribute is always one of the valid values.

Better search results

A simple search can provide more relevant results if items have consistent attributes.

As users apply managed terms and enterprise keywords to items, they are guided to terms that have already been used. In some cases, users might not even be able to enter a new value. Because users are focused on a specific set of terms, those terms—and not synonyms—are more likely to be applied to items. Searching for a managed term or an enterprise keyword is therefore likely to retrieve more relevant results.

Dynamic

In previous versions of SharePoint Server, to restrict the value of an attribute to being one of a set of values, you would have created a column whose type is "choice", and then provided a list of valid values. When you needed to add a new value to set of choices, you would have to modify every column that used the same set of values.

By using managed metadata in SharePoint Server 2010, you can separate the set of valid values from the columns whose value must be one of the set of valid values. When you need to add a new value, you add a term to the term set, and all columns that map to that term set would use the updated set of choices.

Using terms can help you keep SharePoint Server items in sync with the business as the business changes. For example, assume your company's new product had a code name early in its development, and was given an official name shortly before the product launched. You included a term for the code name in the "product" term set, and users have been identifying all documents related to the product by using the term. When the product name changed, you could edit the term and change its name to the product's official name. The term is still applied to the same items, but its name is now updated.

See Also

Other Resources

Resource Center: Architecture Design for SharePoint Server 2010
Resource Center: What's New in Microsoft SharePoint Server 2010
Resource Center: Enterprise Content Management in SharePoint Server 2010
Resource Center: Managed Metadata and Taxonomy in SharePoint Server 2010


Managed metadata service application overview (SharePoint Server 2010)
See Also

The managed metadata service application makes it possible to:

  • Use managed metadata.

  • Share content types across site collections and Web applications.

A managed metadata service publishes a term store and, optionally, content types; a managed metadata connection consumes these. This article describes the managed metadata service and connections, and provides an example scenario for using them. Before reading this article, you should understand the concepts described in the article Managed metadata overview (SharePoint Server 2010). To learn more about how to design your managed metadata service application topology, after reading this article, see Plan to share terminology and content types (SharePoint Server 2010). For instructions for creating a managed metadata service and connections, see Managed metadata administration (SharePoint Server 2010).

In this article:

  • Managed metadata services

  • Managed metadata connections

  • Permissions for accessing a managed metadata service

  • Example scenario

Managed metadata services

When you enable managed metadata in your SharePoint Server 2010 application, a managed metadata service and connection are created automatically. The service identifies the database to be used as the term store, and the connection provides access to the service. When you create new managed terms, or when users add enterprise keywords, these terms are stored in the database that is specified in the managed metadata service. When you publish a managed metadata service, a URL to the service is created. Before an administrator can create a connection to the service from another Web application, the administrator must know the URL of the service.

In addition to sharing managed metadata, you can also use the managed metadata service to share content types. By creating a new managed metadata service and specifying a site collection as the content type hub, you can share all content types in the site collection's content type gallery. The content type information that is shared includes columns, workflow associations, and policies.

Note:

The workflows themselves must already exist in the destination site collection. Only the association between a content type and a workflow is shared.

You can create multiple managed metadata services, and share multiple term stores and content types from multiple site collections. However, each managed metadata service must specify a different term store. When you specify a nonexistent database for the term store, a new database is created.

For more information about creating a managed metadata service, see Create, update, publish, or delete a managed metadata service application (SharePoint Server 2010).

Managed metadata connections

To use managed metadata, a Web application must have a connection to a managed metadata service. A Web application can have connections to multiple services, and the services can be local to the Web application or remote. When you create a managed metadata service, a connection to the service is created automatically in the same Web application as the service.

After you create a connection to a managed metadata service, you can configure the following four options:

  • Default keyword location: Whether to store new enterprise keywords in the keyword set in the term store associated with this managed metadata service.

  • Default term set location: Whether to store the term sets that are created when you create new managed metadata site columns in this managed metadata service's term store.

  • Use content types: Whether to make the content types that are associated with this managed metadata service (if any) available to users of sites in this Web application. This option is available only if the service has a hub defined to share content types.

  • Push-down Content Type Publishing updates from the Content Type Gallery to sub-sites and lists using the content type: Whether to update existing instances of the changed content types in sub-sites and libraries.

If no connection is specified as the default keyword location, users cannot create new enterprise keywords. If no connection is specified as the default term set location, users can only specify an existing term set when they create a site column whose data type is managed metadata.

Important:

Within a Web application, do not make more than one connection the default keyword location. Within a Web application, do not define more than one connection as the default term set location.

For more information about creating a connection to a managed metadata service, see Create, update, or delete a managed metadata service connection (SharePoint Server 2010).

Permissions for accessing a managed metadata service

Three things are required to create a connection to a managed metadata service:

  • You must know the URL of the service.

  • If this will be a cross-farm connection, the farm on which the service runs and the farm on which the connection runs must have a trust relationship.

  • The service must have granted permission to the application pool account of the Web application in which the connection is created.

When you create a connection from a Web application to a service, the connection runs with the credentials of the Web application's application pool account. Users of sites in the Web application can perform different actions depending on the permission that the service grants to the application pool account. There are three levels of permission: read, restricted, and full.

The following table indicates which actions are enabled, depending on the permissions that the service grants.

Action | Read | Restricted | Full
View terms and term sets | Yes | Yes | Yes
Add existing terms and existing enterprise keywords to documents and list items | Yes | Yes | Yes
Bind columns to existing term sets | Yes | Yes | Yes
View and use content types from the content type hub (if the service provides a hub) | Yes | Yes | Yes
Add new terms to open term sets | No | Yes | Yes
Create new enterprise keywords (if the connection is configured to enable this) | No | Yes | Yes
Create local term sets (if the connection is configured to enable this) | No | Yes | Yes
Add and modify content types in the content type hub (if the service provides a hub) | No | No | Yes
Manage terms and term sets (if the user is authorized to do this) | No | No | Yes
Important:

By default, all application pool accounts that are local to the farm on which the service runs have full access to the managed metadata service. To grant an application pool account lesser permission - that is, read-only or restricted access - you must first remove or reduce the permissions of the Local farm group.

For more information about granting permissions to access a managed metadata service application, see Grant permission to access the managed metadata service (SharePoint Server 2010).

Example scenario

This example shows how a company configures its managed metadata services and connections. The company has already made the following decisions, which affect the design of the managed metadata services infrastructure:

  • There is a corporate taxonomy that is strictly controlled and is used by everyone.

  • All keywords will be stored centrally, to encourage people to reuse the same keywords.

  • Every document that is created must include values for a core set of properties. The document content type has been updated to include columns for these additional properties.

  • My Sites will reside in one Web application, and site collections for various team sites will reside in another Web application.

The legal department also has a requirement that affects how the managed metadata services are configured. The legal department plans to represent confidential information by using term sets. These term sets must be available to users of all of the legal department's site collections, but users of other site collections may not view or use these term sets.

Design

The following figure shows how the company designs its managed metadata services infrastructure. The design is described in detail in the paragraphs that follow the figure.

Managed metadata services and connections example

The corporate managed metadata service is the primary managed metadata service for all SharePoint Server 2010 sites in the company. The corporate taxonomy is represented by global term sets in the term store that is associated with the corporate managed metadata service. The content type hub that is associated with the corporate managed metadata service makes shared content types available to users of all site collections.

Every Web application has a connection to the corporate managed metadata service. The connections from the My Site Web application, the team sites Web application, and the legal sites Web application, numbered 2, 3, and 4 in the figure, all have restricted access to the corporate managed metadata service. Restricted access lets users of the sites in these Web applications use the shared content types and global term sets, add new enterprise keywords, and create local term sets, but it prohibits them from modifying global term sets.

The administrative Web application hosts the site collection from which authorized users manage the corporate taxonomy and the shared content types. The site collection's content type gallery contains the shared content types, such as the updated document content type that reflects the additional required properties. This content type gallery is the content type hub of the corporate managed metadata service. The connection from the administrative Web application, numbered 1 in the figure, has full access to the corporate managed metadata service.

The term store that is associated with the legal department's managed metadata service contains term sets that represent confidential information that the legal department uses. Only the legal sites Web application has a connection to legal's managed metadata service, so that users of the site collections in the legal sites Web application can manage their term sets.

Permissions

The following table summarizes the permission that each managed metadata service grants to the accounts that the connections use to access the service. Note that local farm is explicitly given reduced permission. If you do not remove or reduce the permissions for local farm, other local accounts will connect to the services by using the permissions that are specified for local farm.

Account | Corporate managed metadata service | Legal's managed metadata service
Local farm | Read permission | No permission
Administrative Web application's application pool account | Full permission | No permission
My Site Web application's application pool account | Restricted permission | No permission
Team sites Web application's application pool account | Restricted permission | No permission
Legal sites Web application's application pool account | Restricted permission | Full permission

Connection parameters

All connections to the corporate managed metadata service specify that the corporate managed metadata service is the default location to store keywords. Because the connection from the legal sites Web application to the corporate managed metadata service is the default keyword location, its connection to legal's managed metadata service is not the default keyword location.

The connections from the administrative Web application, the My Site Web application, and the team sites Web application to the corporate managed metadata service specify that the corporate managed metadata service is the place to store column-specific term sets. The connection from the legal Web application to the corporate managed metadata service specifies not to store column-specific term sets. The connection from the legal Web application to the legal managed metadata service specifies that it is the default location for column-specific term sets.

Note:

Either managed metadata service would be an acceptable location for column-specific term sets from the legal sites Web application. Because column-specific term sets are local to the site collection from which they are created, users of other site collections cannot see them.

Security Note:

Metadata publishing should not be enabled for any library that contains documents that might have metadata that other users should not see. Metadata publishing is disabled by default. For more information about metadata publishing, see Configure Enterprise Metadata and Keyword Settings for a list or library.

All connections to the corporate managed metadata service specify that they will use content types and that they will push down content type changes. Because legal's managed metadata service has no content type hub, the connection to legal's managed metadata service does not specify to use content types or to push-down content type changes.

The following table summarizes the connection settings for each connection to a managed metadata service. The connection numbers refer to the lines in the previous figure.

Connection | Managed metadata service | Web application | Default keyword location | Column-specific term set location | Use content types | Push-down content types
1 | Corporate managed metadata service | Administrative Web application | Yes | Yes | Yes | Yes
2 | Corporate managed metadata service | My Site Web application | Yes | Yes | Yes | Yes
3 | Corporate managed metadata service | Team sites Web application | Yes | Yes | Yes | Yes
4 | Corporate managed metadata service | Legal sites Web application | Yes | No | Yes | Yes
5 | Legal's managed metadata service | Legal sites Web application | No | Yes | N/A | N/A

See Also

Concepts

Managed metadata overview (SharePoint Server 2010)
Plan to share terminology and content types (SharePoint Server 2010)
Create, update, publish, or delete a managed metadata service application (SharePoint Server 2010)
Create, update, or delete a managed metadata service connection (SharePoint Server 2010)
Grant permission to access the managed metadata service (SharePoint Server 2010)

Other Resources

Resource Center: Managed Metadata and Taxonomy in SharePoint Server 2010


Managed metadata roles (SharePoint Server 2010)
See Also

A user's role determines how the user can work with managed metadata. This article defines user roles and identifies the allowed actions associated with each role.

Roles and capabilities

Local term sets are created within the context of a site collection. For example, if you add a column to a list in a document library, and create a new term set to bind the column to, the new term set is local to the site collection that contains the document library. Global term sets are created outside the context of a site collection. Regardless of a user's role, the user can work with only global term sets and term sets that are local to the user's site collection.

The following table identifies user roles and the actions that members of each role can perform on managed metadata.

Role Allowed actions

All users

  • Validate values for managed metadata columns.

  • Create new enterprise keywords (if the managed metadata connection allows this).

Contributor

  • Create, rename, copy, reuse, move, and delete term sets.

  • Modify a term set's description, owner, contact, stakeholders, submission policy, and whether the term set is available for tagging.

  • Create, rename, copy, reuse, merge, deprecate, move, and delete terms.

  • Modify a term's description, labels, default label, and whether the term is available for tagging.

Group manager

  • Perform all actions of the contributor role.

  • Import a term set.

  • Assign users to the contributor role or remove users from the contributor role.

Term store administrator

  • Perform all actions of the group manager role.

  • Create and delete term groups.

  • Assign users to the group manager role or remove users from the group manager role.

  • Modify the working languages for the term store.

Farm administrator

  • Create a new term store.

  • Connect to an existing term store.

  • Assign users to the term store administrator role or remove users from the term store administrator role.

A user who is identified as a term set owner, term set contact, or term set stakeholder cannot perform any activities on managed metadata. The values term set owner, term set contact, and term set stakeholder exist only for documenting people or groups that are related to the term set in some way.

Note:

Identifying a user as the term set contact does not allow the user to perform any particular actions. However, if a contact is specified for a term set, site users will be able to make suggestions about the term set, and the suggestions will be sent to the contact.

End users of Microsoft SharePoint Server, such as site collection users, can perform the following activities that involve managed metadata:

  • Create search queries that are based on terms, and refine the results based on term sets.

  • Add managed metadata (managed terms and enterprise keywords) to documents and other SharePoint Server items, if the user has permission to modify the items.

  • Add enterprise keywords to non-SharePoint Server items, such as external Web pages and blog posts, if SharePoint is configured for social tagging.

  • Create new managed metadata fields and add the fields to content types.

When farm administrators, term store administrators, group managers, and contributors work with managed metadata, they use the Term Store Management Tool. End users perform their activities within the context of their SharePoint Server 2010 task.

See Also

Concepts

Managed metadata overview (SharePoint Server 2010)
Add and remove term store administrators (SharePoint Server 2010)

Other Resources

Resource Center: Managed Metadata and Taxonomy in SharePoint Server 2010


Plan terms and term sets (SharePoint Server 2010)
See Also

Managed metadata is a hierarchical collection of centrally managed terms that you can define, and then use as attributes for items in Microsoft SharePoint Server 2010. Before reading this article, you should understand the concepts described in the article Managed metadata overview (SharePoint Server 2010).

Managed metadata and the way that you structure it can affect many parts of your SharePoint Server solution, such as the following:

  • Valid values for columns, and the way users enter these values.

  • The enterprise keywords that users can apply to SharePoint Server 2010 items.

  • The way that search results can be refined.

  • How documents are routed.

  • The workflows that are applied to SharePoint Server items.

  • The ways that users can sort and filter SharePoint Server items.

  • If you are using social tagging, the tags that users can apply to items that are not SharePoint Server items.

In this article:

  • Plan: now or later

  • About planning managed metadata

  • Identify term sets

  • Identify term set owners

  • Determine term set groups

  • Define term sets

  • Managed metadata planning worksheets

Plan: now or later

SharePoint Server 2010 enables you to use managed metadata even if you do not define all the terms and term sets first. You can start without any term sets and merely let users add enterprise keywords to items. As the set of enterprise keywords grows, you will probably want to organize it in some way to make finding and disambiguating keywords easier. At this point, you can create term sets and move some keywords into term sets. You might also want to clean up the terms in the new term set by deleting misspelled words, or indicating that some words are synonyms of other words.

Even if you decide to use the less formal approach of starting with enterprise keywords and creating term sets later, you should understand how to plan and organize managed metadata.

About planning managed metadata

Planning and organizing managed metadata involves the following steps:

  1. Identify term sets.

  2. Identify the owner of each term set.

  3. Determine term set groups.

  4. Define term sets.

The first three tasks are often performed by a group, a solution architect, or a taxonomist. The fourth task, defining term sets, can be distributed to the owners of the term sets.

The Managed metadata planning worksheets section contains links that you can use to download worksheets in which you can record your terms and term sets.

Note:

If you rearrange several columns in the detailed term set planning worksheet, you can also use the worksheet to import a term set into SharePoint Server 2010.

This article contains guidance about how to determine the managed metadata that your organization will use. This article does not cover how to divide the metadata among term stores or where you should deploy the services that host the term stores. For information about how to plan your managed metadata services, such as planning where you should store enterprise keywords, see Plan to share terminology and content types (SharePoint Server 2010).

Identify term sets

As you design your solution, you will discover attributes (metadata) that should be associated with certain items in SharePoint Server. You might also implement some of your organization's governance policies by using metadata. This section provides guidelines for identifying metadata, and explains which metadata should be managed metadata. Each item of managed metadata will be represented by a term set.

First, examine your solution for information that can be represented by metadata. The following table provides suggestions about where you are likely to locate metadata.

Potential metadata | Example
Custom columns associated with documents and lists | The confidentiality of a document: public, proprietary, confidential, trade secret, and so on
In cases in which the system or a user might take different actions based on a characteristic of an item, the characteristic itself is probably metadata. | If a request that was submitted by a specific individual is automatically approved, "submitted by" could be metadata.
Common things that users will want to sort or filter items on | If users are likely to filter items by the milestone that the item is associated with, "milestone" could be metadata.
Words or phrases that users are likely to "tag" items with | The subject of an image, such as "company logo" or "product XYZ icon"
"Choice" or "Lookup" columns in an existing SharePoint Server site |

Not all metadata is managed metadata, that is, a term set. The following table provides suggestions about when the metadata that you identified is likely to be managed metadata. If it is not clear whether to create a term set for an item of metadata, it is probably best not to create a term set. Instead, monitor the keywords that users add to items, and create a term set if several keywords have been created that would belong in the term set.

If the potential metadata… | … is it likely to be managed metadata?
Is something for which a user will select a valid value | Yes
Represents information that is likely to be used multiple times | Yes
Has valid values that can be organized hierarchically | Yes
Includes synonyms or abbreviations that should be aggregated | Yes
Can be applied in one language, but might be viewed in other languages | Yes
Is represented by a built-in column (such as "last modified date") | No
Has an infinite number of valid values | No
Has different valid values in each location that it is used (such as different values for the "version" attribute depending on which product team's site the item appears in) | No (or, if it is represented by managed metadata, it can be planned and managed at the site level.)
Has only "yes" and "no" as valid values | No

Record the term sets in the term sets planning worksheet, and add a brief description of each term set.

Identify term set owners

For each term set, you will have to determine an owner. The owner can then define the terms in the term set.

If the term set will be used across the organization, or if the terms in the term set will be strictly controlled, it is likely that there is already a group that manages the information. This group will probably manage the term set. If the information is not strictly controlled, you might have to nominate a person to own the term set and to periodically clean up the terms.

Record the owner of each term set in the term sets planning worksheet.

Determine term set groups

A term set group is a security boundary. Only a user who is designated a contributor to the group can manage the term sets in the group and create new term sets. However, all users can usually see all term sets. (For information about how to restrict certain users from seeing a term set, see Plan to share terminology and content types (SharePoint Server 2010).)

Organize the term sets into groups based on which users should be able to manage the term sets. If you identified one person as the owner of 25 term sets, perhaps those 25 term sets belong in a single group. If various people own a single term set each, but those people are all in the same department, this might also be a good reason to put the term sets in a single group. It is common to create groups based on the organization structure and let each organization designate a manager for the term set group. The term set group manager can then add people to the contributor role, and these people can manage the term sets that they own.

If there are term sets that some users should be unable to view, assign these term sets to separate groups. For example, if five of the term sets may only be viewed by members of the legal department, make a new term set group and include only these five term sets in the group. You will eventually create different managed metadata service instances for the public and private groups, as described in the article Plan to share terminology and content types (SharePoint Server 2010).

Define term sets

At this point, you have identified an owner for each term set. The owners can follow the rest of this process to define their term sets.

To define a term set, you must answer the following questions:

  • What are the terms in the term set?

  • How should the terms be organized?

  • Who should be permitted to add terms to the term set?

Use the guidance in the following sections to define and organize the terms, and to determine whether the term set is open or closed. Record the term sets and descriptions in the detailed term set planning worksheet.

Identify the terms

Identify the terms in the term set. If you want to allow the multiple terms to represent the same concept (for example, "XYZ version 2" and "XYZ v2" might be alternate names for the same product), include both terms. Identify one term as the primary term, and indicate that the second term is a synonym of the first term.

Organize the terms

The primary organizing principle for a term set should be ease of navigation. End users will often interact with a term set by selecting one of the terms in the term set. Therefore, you should organize the term set to make it easy for users to find the correct term without too much scrolling. This suggests a hierarchical structure.

Note:

Because you can specify a custom sort order for a term set (for example, "Wednesday" should be presented before "Thursday," even though that is not alphabetical order), you do not have to be concerned about the order in which you list the terms.

You can nest terms to a maximum of seven levels deep. Because you can declare a term to be "unavailable for tagging" (that is, a term that the user cannot select), you have flexibility in how you organize the hierarchy, as illustrated in the examples that are provided in the worksheets.

The following suggestions might help you decide how to structure a term set.

  • In a well-understood domain, there is likely to be a standard organization. For example, the terms in a term set that represented sales offices might be organized using a geographic hierarchy. The first level terms could be thought of as continents. The second level terms would then be countries. The third level terms would be provinces within each country. The fourth level terms would be the cities in which the offices were located. Because the term set represents sales offices, only the fourth level of terms would be available for tagging.

  • Are there already well known ways that information is organized in your organization? For example, does the folder structure on a file share represent the way that most people would organize information? Is the navigation structure of your intranet portal useful for finding information? You can refer to these examples of how information is currently structured as you organize your term set.

    Note:

    Think carefully before you use your organization's internal structure to organize a term set. If your company reorganized next week, would you also have to reorganize the term set? Is the benefit worth the effort?

  • If the terms in the term set are merely a list that has no clear method of organization, consider organizing them alphabetically. Make the letters of the alphabet the first-level terms, and make the terms themselves the second-level terms. If the term set is too large for that structure, you could create a second level of alphabetical organization (for example, "AA - AF", "AG - AI", "AJ - AR", and "AS - AZ"), and include the terms themselves at the third level. The terms in the levels that are merely for alphabetizing would be marked as unavailable for tagging.

Identify who can add terms

Anyone can add a new term to an open term set. Only people who have been identified as contributors to a term set group can add terms to a closed term set in the group. For example, a term set that represents cost centers would probably be closed. A term set that represents contributors to a charity might be open.

Record the details of each term set in a separate copy of the detailed term set planning worksheet.

Managed metadata planning worksheets

Download an Excel version of the Term sets planning worksheet (http://go.microsoft.com/fwlink/p/?LinkId=163486&clcid=0x409).

Download an Excel version of the Detailed term set planning worksheet (http://go.microsoft.com/fwlink/p/?LinkId=163487&clcid=0x409).

See Also

Concepts

Managed metadata overview (SharePoint Server 2010)
Plan to import managed metadata (SharePoint Server 2010)
Plan to share terminology and content types (SharePoint Server 2010)
Managed metadata roles (SharePoint Server 2010)

Other Resources

Resource Center: Managed Metadata and Taxonomy in SharePoint Server 2010


Plan to import managed metadata (SharePoint Server 2010)
See Also

If your organization already has a corporate taxonomy or other hierarchical data that you want to use as managed metadata within Microsoft SharePoint Server 2010, consider importing the data instead of re-entering it. Examples of hierarchical data that you might want to import include a list of product names, a list of valid cost centers, and the hierarchy of divisions, departments, and groups within the organization.

Even if your organization does not have data to import, you could consider creating your taxonomy outside of the Term Store Management tool, and then importing the taxonomy. The Term Store Management Tool provides a convenient, simple way to create term sets and manage terms, but using it to create numerous term sets might take longer than importing the term sets. The Term Store Management Tool is convenient for day-to-day management of term sets once the term sets have been created.

In this article:

  • About planning to import managed metadata

  • Locating existing data

  • Organizing the data into managed metadata

  • Cleaning up the data

  • Formatting the data to be imported

  • Importing the managed metadata

  • Merging terms and adding additional labels

Before reading this article you should understand the concepts described in the Managed metadata overview (SharePoint Server 2010) article.

About planning to import managed metadata

Importing managed metadata involves the following tasks:

  1. Locate the existing data.

  2. Organize the data into SharePoint Server managed metadata.

  3. Clean up the existing data.

  4. Format the existing data into files to be imported.

  5. Import the managed metadata.

  6. Merge terms and add synonyms and translations.

This article covers locating the existing data and cleaning up the data. The other tasks (organizing, formatting, importing, and merging) are not covered in this article because they are the same whether you are creating new managed metadata or importing existing data.

Locating existing data

Whether or not your organization has a formal taxonomy, there is probably data within the organization that could be used as managed metadata in SharePoint Server. Wherever you find a set of valid values for something, you are looking at potential managed metadata. Of course, the only data you should consider importing as managed metadata is data that is relevant to the business or to the scenarios that you are implementing.

Look for and gather information from the following sources:

  • Reference lists. What lists do people turn to when they need information for their daily work? These might include a list of departments tacked to a bulletin board, a spreadsheet that contains the project numbers of all active projects, or an internal Web site that contains a company's product catalog.

  • Forms. Examine the forms that are used in the organization. If the form contains a field for which only certain values are valid, the field might be information that you could represent with managed metadata. For example, an expense report form might have a field for a cost center. The cost center field is probably validated against a list of valid cost centers. "Cost center," therefore, might be a candidate for a SharePoint Server term set.

  • Taxonomies. Many large companies have already created a corporate taxonomy. Certain public entities - for example, public schools - might be part of a larger system that has developed a taxonomy. Some industry groups have developed taxonomies for sharing information. Existing taxonomies are an excellent source for managed metadata.

  • Existing SharePoint Server choice fields. If your organization has already implemented a SharePoint Server solution, examine the SharePoint Server solution for site columns whose type is Choice. When a user enters a value for a Choice site column, the user must choose from a list of valid values. That list of valid values could be a term set in SharePoint Server 2010.

  • Well-known hierarchies: People in your organization are probably familiar with a number of common hierarchies, such as the folder structure on a file share or the navigation structure of your intranet portal. These hierarchies might guide how you organize the hierarchy of managed metadata.

Organizing the data into managed metadata

The process to organize managed metadata is the same whether you are starting with existing data or creating the data. For more information about organizing managed metadata, see Plan terms and term sets (SharePoint Server 2010).

Cleaning up the data

Once you have identified existing data and determined how to organize the managed metadata, you will probably need to review and refine the data that you have collected. First, however, delete any data that you have determined should not become managed metadata.

Perform the following actions for each term set in your managed metadata plan for which data already exists:

  1. Merge lists. If you collected data from multiple sources, of which all will contribute terms for the term set, create a single list of the combined terms. For example, you might have collected a list of product names from the marketing department and a second list of product names from the manufacturing division. Combine these into one term set.

  2. Remove duplicates. If a list of terms contains the same term multiple times, remove the duplicates. Ideally, the list of product names from the marketing department would be identical to the list from the manufacturing division, and so all terms would be duplicated.

  3. Identify synonyms. If different organizations contributed terms to your list, it is very likely that they occasionally used different words for the same concept. In some cases, you might have to continue to allow different words (terms), even though they represent the same concept. When this occurs, keep all of the wordings of the term in the list. Identify the most common wording of the concept, and add a note the indicating that is the primary term for that concept. Add a note to each of the other wordings indicating that they should be merged with the primary term.

  4. Resolve misspellings and other errors. If the list contains multiple wordings for the same concept, and you do not have to preserve both wordings, choose one wording and remove the other wordings from the list. For example, one organization's list might hyphenate a multi-word product name while the other list separates the words with spaces. Or one organization's list might spell out the word "version" while another organization might abbreviate it to "ver". Choose one wording and remove the other wordings.

Formatting the data to be imported

For more information about the format of the import file, see Managed metadata input file format (SharePoint Server 2010).

Importing the managed metadata

To find instructions for importing managed metadata, see Office.com (http://go.microsoft.com/fwlink/p/?LinkId=207785&clcid=0x409). See Wictor Wilén's blog (http://go.microsoft.com/fwlink/p/?LinkId=190541&clcid=0x409) for information about a tool to import term sets that was developed by a member of the SharePoint community.

Merging terms and adding additional labels

When you import managed metadata, you only can add terms and term sets. You must use the Term Store Management Tool to merge terms. If your term plan contains notes indicating that some terms should be merged with other terms, merge the terms after you have imported them. To find instructions for importing managed metadata, merging terms, and defining synonyms, see Office.com.

You cannot represent synonyms or translations of terms by using a managed metadata import file. To create synonyms or translations, either use the Term Store Management Tool or write a custom program to import and add the synonyms or translations.

See Also

Concepts

Managed metadata overview (SharePoint Server 2010)
Plan terms and term sets (SharePoint Server 2010)
Managed metadata input file format (SharePoint Server 2010)

Other Resources

Resource Center: Managed Metadata and Taxonomy in SharePoint Server 2010


Plan to share terminology and content types (SharePoint Server 2010)
See Also

A managed metadata service publishes a term store and, optionally, content types; a managed metadata connection consumes them. To share term sets among site collections, you create a managed metadata service, and then create connections to the service from each Web application that contains a site collection. To share content types among site collections, you make one content type gallery the "hub" of a managed metadata service, create connections to the service from each Web application that contains a site collection, and specify that site collections should use the content types in the service.

This article contains procedures for identifying the managed metadata services and connections that your solution requires. The planning process that is described in this article is only a recommendation. There are other ways to structure your managed metadata services and connections.

Before reading this article, you should understand the concepts described in Managed metadata service application overview (SharePoint Server 2010) and Services architecture planning (SharePoint Server 2010).

In this article:

  • About planning managed metadata services and connections

  • Identify managed metadata services

  • Identify managed metadata connections

  • Determine service account permissions

  • Managed metadata services planning worksheet

About planning managed metadata services and connections

Before you plan your managed metadata services and connections, you should already have identified the site collections in your solution and determined which site collections will be contained in which Web applications.

The planning process that is described in this article starts with the simplest configuration - a single managed metadata service - and then directs you to add more services in certain situations. Then you determine the connections to each managed metadata service, and determine the connection parameters. If you have to have more than one managed metadata service, keep track of the services that you identify, as well as a description of what each service's term store will be used for and which site collection the service's content type hub, if any, will come from. Also keep track of the connections that you identify, and the values of their connection parameters. You can record this information in the worksheets that are referenced at the end of this article.

Your organization's governance policies can affect how you design your managed metadata services and connections. For example, if there is a formal process for managing terms and term sets, this will affect how you set connection parameters. If every document that is created must have a certain set of attributes, you will probably want to have a content type hub in at least one service. Familiarize yourself with your organization's governance plan before you determine the managed metadata services and connections. For more information about how to create a governance plan, see Governance overview (SharePoint Server 2010).

Identify managed metadata services

If you intend to use terms and term sets, or if you intend to share content types across more than one site collection, your solution must use a managed metadata service. Assume for now that you will store all term sets and all enterprise keywords in a single term store. The first managed metadata service, called the "primary" managed metadata service in this article, contains this term store. If your solution includes shared content types, assume that a single content type gallery will contain all shared content types. This content type gallery, if it exists, is the hub of the primary managed metadata service. In many cases, the primary managed metadata service is the only managed metadata service that you will need.

A local term set is a term set that is created within the context of a site collection. For example, if you add a column to a list in a document library, and create a new term set to bind the column to, the new term set is local to the site collection that contains the document library.

A global term set is a term set that is created outside the context of a site collection. For example, the term store administrator could create a term set group called "Human Resources" and designate a person to manage the term set group. The group manager would create term sets that relate to Human Resources, such as job titles and pay grades in the Human Resources term set group. The keyword set, which contains enterprise keywords, is a global term set.

Users can see only global term sets and term sets that are local to the user's site collection.

A content type hub is associated with the content type gallery of a site collection. If you have to share content types from the content type galleries of multiple site collections, add a managed metadata service for each required content type hub.

Identify managed metadata connections

Add a connection from the primary managed metadata service to every Web application that contains a site collection. Use the following guidelines to determine the values of the connection's parameters.

  • Default keyword location:

    • NO, if users of sites in the Web application might create an enterprise keyword that should be kept private.

    • Otherwise, YES.

  • Default column-specific term set location:

    • NO if administrators of sites in the Web application should be unable to make new term sets.

    • Otherwise, YES.

  • Use content types: YES, assuming that the primary managed metadata service has a content type hub and you have no reason not to use the content types.

  • Push down content types: YES, assuming that the primary managed metadata service has a content type hub, and you have no reason not to push them down.

Any remaining managed metadata services will be used only for their content type hubs. Create a connection from every remaining managed metadata service to each Web application that contains a site collection that uses the content types. Use the following guidelines to determine the values of the connection's parameters:

  • Default keyword location: NO.

  • Default column-specific term set location: NO.

  • Use content types: YES.

  • Push down content types: YES, assuming you have no reason not to push them down.

For each Web application, review the values of the parameters of all connections to a managed metadata service. Check for the following conditions:

  • If no connection is specified as the default keyword location, users of sites in the Web application will be unable to create new enterprise keywords. If this is not what you want, set the value of the default keyword location to YES in the connection to the managed metadata service whose term store should contain the new enterprise keywords.

  • If no connection is specified as the default column-specific term set location, administrators of sites in the Web application will be unable to create new term sets when they create a managed metadata column. If this is not what you want, set the value of the default column-specific term set location to YES in the connection to the managed metadata service whose term store should contain the new term sets.

  • Ensure that there is a maximum of one default keyword location per Web application. The managed metadata service does not support more than one default keyword location per Web application.

  • Ensure that there is a maximum of one default column-specific term set location per Web application. The managed metadata service does not support more than one default column-specific term set location per Web application.

Determine service account permissions

When you create a connection from a Web application to a service, the connection runs with the credentials of Web application's application pool account. Users of sites in the Web application can perform different actions depending on the permission that the service grants to the application pool account. There are three levels of permission: read, restricted, and full.

The following table indicates which actions actions are enabled, depending on the permissions that the service grants.

Action | Read | Restricted | Full
View terms and term sets | Yes | Yes | Yes
Add existing terms and existing enterprise keywords to documents and list items | Yes | Yes | Yes
Bind columns to existing term sets | Yes | Yes | Yes
View and use content types from the content type hub (if the service provides a hub)View terms and term sets | Yes | Yes | Yes
Add new terms to open term sets |  | Yes | Yes
Create new enterprise keywords (if the connection is configured to enable this) |  | Yes | Yes
Create local term sets (if the connection is configured to enable this) |  | Yes | Yes
Add and modify content types in the content type hub (if the service provides a hub) |  |  | Yes
Manage terms and term sets (if the user is authorized to do this) |  |  | Yes

By default, all application pool accounts that are local to the farm on which the service runs have full access to the term store.

Use the following procedure to determine the permissions that each service will grant to each connection. Complete the planning steps once for each managed metadata service.

  1. Determine the level of permission you want to grant automatically to all connections from within the local farm. Record the permission level in the Local Farm permissions column of the services page of the worksheet.

  2. If any connections from within the local farm must have greater permissions than you granted to the Local Farm group, record the permission level in the permissions column of the connections tab of the worksheet.

  3. If Web applications on remote farms will connect to the service, record the permission level of each remote connection in the permissions column of the connections tab of the worksheet.

Managed metadata services planning worksheet

Download an Excel version of the Managed metadata services planning worksheet (http://go.microsoft.com/fwlink/p/?LinkId=164578).

See Also

Concepts

Managed metadata service application overview (SharePoint Server 2010)
Governance overview (SharePoint Server 2010)
Managed metadata overview (SharePoint Server 2010)
Services architecture planning (SharePoint Server 2010)
Create, update, publish, or delete a managed metadata service application (SharePoint Server 2010)
Create, update, or delete a managed metadata service connection (SharePoint Server 2010)
Grant permission to access the managed metadata service (SharePoint Server 2010)


Multilingual term sets (SharePoint Server 2010)
See Also

Microsoft SharePoint Server 2010 lets you define and use managed metadata in multiple languages. This is done by distinguishing the term itself from the words that represent the term.

A label is a word or a phrase that represents a term. A term can have multiple labels. For example, a term set that represents the days of the week would contain seven terms. One term might have the labels "Sunday", "dimanche", and "domingo". Regardless of which label a person uses when applying the term to an item, SharePoint Server recognizes it as the same term. You can configure SharePoint Server to use the label that is appropriate for the language in which a user views the site when it displays terms.

This article describes how multilingual managed metadata is created and used. Before you read this article, you should understand the concepts that are presented in the article Managed metadata overview (SharePoint Server 2010).

In this article:

  • Defining terms

  • Using terms (tagging)

  • How terms are displayed

  • Recommendations

Defining terms

Before you can define term sets in multiple languages, you must perform the following actions:

  1. Install the SharePoint Server language pack for each language that you want to support.

  2. From the Term Store Management Tool, add each language to the list of working languages for the term store.

  3. Select one language to be the default language for the term store.

In each language, you can associate multiple labels with a term. One label in each language is the default label for the language. Use the other labels for synonyms or abbreviations.

The following table shows the labels in three languages for the terms in a term set that represents the days of the week.

English | French | Spanish
Monday (default) Mon | lundi (default) | lunes (default)
Tuesday (default) Tue | mardi (default) | martes (default)
Wednesday (default) Wed | mercredi (default) | miércoles (default)
Thursday (default) Thu | jeudi (default) | jueves (default)
Friday (default) Fri | vendredi (default) | viernes (default)
Saturday (default) Sat | samedi (default) | sábado (default)
Sunday (default) Sun | dimanche (default) | domingo (default)

Within the Term Store Management Tool you can display the hierarchy of term sets and terms in any of the working languages. If a term does not have a label in the display language, the label in the default language of the term store is displayed. Term sets can also have a name in each language. If there is no name for the term set in the display language, the name in the default language is displayed.

By default, the terms in a term set are sorted according to the default sort order for the language. In many languages, this is alphabetical order. Using the default sort order often makes it easier for the user to find the correct term. However, in some cases there is a more appropriate order for the term set that is independent of language. A term set that represents clothing sizes is an example of a case in which using the default sort order for the language would not necessarily be natural. In these cases, you can specify a custom sort order for the term set. The custom sort order is used for all languages.

Using terms (tagging)

If SharePoint Server language packs are installed on the server, a farm administrator must specify a default language when creating a site collection. The site collection owner can then specify additional languages that the site collection will support. If a site collection supports multiple languages, users can change the display language when they browse to any page in the site collection. When a user changes the display language of a page, the new display language becomes the user's preferred language for the whole site collection.

Note:

Because the preferred language is stored in a cookie, the preferred language is associated with the user's computer. If a user views a site collection from multiple computers, the user may have a different preferred language on each computer.

When a user enters a term (for example, to provide a value for a managed metadata column that is bound to a term set), the user is presented with a list of options. These options are the labels in the user's preferred language for the terms in the term set. When a user types an enterprise keyword (for example, to add a social tag to a Web page), the suggestions that are displayed are the terms whose labels in the user's preferred language match what the user has typed. When a user enters a term or an enterprise keyword, if no label exists in the user's preferred language, the label in the default language for the term store is used.

When a user selects a term, instead of recording the label, SharePoint Server records an identifier that represents the term, and the language in which the term was selected. Because SharePoint Server does not simply record the label that a user selected, it can identify terms regardless of the language in which the terms were entered.

How terms are displayed

For each site collection, SharePoint Server maintains a cache of all of the terms that can be used within the site collection. Each entry in the cache contains:

  • The identifier of the term.

  • The text to display for the term in each language that is supported by the term store. For each language, the text is either:

    • The default label of the term in the language, if such a label exists, or

    • The default label of the term in the term store's default language, if a label does not exist in the language.

When displaying a term, SharePoint Server uses the term's identifier and the user's preferred language to obtain the text to display from the cache.

Note:

When a user enters a term, SharePoint Server uses the term store to display suggested terms and to validate the user's entry. SharePoint Server uses the cache only to display the terms that have been added to items.

Because SharePoint Server uses an identifier for a term, instead of a label, it can support the following multilingual scenarios:

  • SharePoint Server displays terms in the user's preferred language, regardless of the language in which the term was entered.

  • Tag clouds reflect the use of a term, regardless of the language in which the term was entered.

Changes made to the term store are propagated to each site collection's cache under the control of a timer job. There might be a delay between updating a term's label and the new label being displayed on the pages of a site collection.

Recommendations

As you plan how your SharePoint Server solution will use managed metadata in multiple languages, consider the following suggestions:

  • If your SharePoint Server solution requires managed metadata in multiple languages, use the functionality described in this article. It is usually simpler to have a single term set that represents a concept, and then define labels for the terms in the term set in multiple languages, than to create a separate term set for each language.

  • If you add a new working language to a term store, do so during a period when your SharePoint Server solution is not heavily used, such as at night. When you add a new working language, the next time that the timer job runs, SharePoint Server updates each site collection's cache and adds the text to display in the new language to every term in the cache. This may affect performance temporarily.

  • Although you can import term sets, you can only import one label for each term. If you do not want to define labels in each language by using the Term Store Management Tool, consider using another program such as Microsoft Excel to create a file that contains the terms and term sets, and writing a custom program to import the data into the term store. For more information about how to write a custom program that manipulates managed metadata, see the SharePoint 2010 SDK (http://go.microsoft.com/fwlink/p/?LinkId=190760&clcid=0x409).

  • If your solution includes more than one term store, consider making each term store support the same set of working languages.

See Also

Concepts

Managed metadata overview (SharePoint Server 2010)
Plan for multilingual sites (SharePoint Server 2010)

Other Resources

Resource Center: Managed Metadata and Taxonomy in SharePoint Server 2010


Business intelligence planning (SharePoint Server 2010)

In this section:

  • Business intelligence basics (SharePoint Server 2010)

    Business intelligence applications and tools enable you to organize your vision of organizational goals, processes, and performance requirements in a useful manner, and to present that data as meaningful information.

  • Excel Services overview (SharePoint Server 2010)

    Microsoft Excel 2010 is designed to help you analyze business data and increase business intelligence. Excel Services in Microsoft SharePoint Server 2010 is a Microsoft SharePoint Server shared service that you can use to publish Microsoft Excel 2010 workbooks on SharePoint Server.

  • Plan for PerformancePoint Services (SharePoint Server 2010)

    This section describes how to plan for PerformancePoint Services within a Microsoft SharePoint Server 2010 environment.

  • Plan for Visio Services (SharePoint Server 2010)

    This section describes planning considerations for Visio Services in Microsoft SharePoint Server 2010.

  • Plan for BI Indexing Connector (SharePoint Server 2010)

    This section describes planning considerations for Microsoft Business Intelligence Indexing Connector.

  • Understanding planning solutions and scenarios (white paper)

    This white paper provides direction and samples for developing a Business Intelligence solution with planning, budgeting, and forecasting capabilities for financial, human resources, and other departments inside an organization.

  • Business Intelligence Competency Center (BICC) - encoding and Unicode considerations (white paper)

    This white paper describes best practices and standards for encoding and using Unicode in BICCs.


Business intelligence basics (SharePoint Server 2010)
See Also

Business intelligence applications and tools enable you to organize your vision of organizational goals, processes, and performance requirements in a useful manner, and to present that data as meaningful information.

Business intelligence planning is a key part of any deployment of Microsoft Office SharePoint Server. Start by identifying the business needs of your organization, and then determine the features of SharePoint Server that can help you collect, present, and act on data in your organization.

Plan your business intelligence needs: Consider the business processes and business data applications frequently used by your organization. What are your organizational goals? What processes and performance requirements do you want to measure and analyze? Plan the scenarios and determine the scope of the business intelligence analysis that your organization is considering.

Plan for business intelligence: Your data may exist in many forms and reside in different locations. Plan which data sources are needed for your core business intelligence and which analysis tools best meet your needs.

See Also

Concepts

Choose the right business intelligence technology to suit your style (white paper)
Architecture for business intelligence in SharePoint Server 2010
Secure Store for Business Intelligence service applications (SharePoint Server 2010)
Documentation for SSRS reports in SharePoint (overview)
Overview of PowerPivot documentation (SharePoint Server 2010)
Data warehousing, OLAP, and Analysis Services for SharePoint 2010


Choose the right business intelligence technology to suit your style (white paper)

Published: January 7, 2011

This white paper discusses the following five different styles of business intelligence reporting that map to Microsoft business intelligence tools.

  • Self-Service Analysis

  • Business Reporting

  • Parameterized and Operational Reporting

  • Performance Monitoring

  • Scorecard reporting

Download the .docx file(2.27 MB) (http://go.microsoft.com/fwlink/p/?LinkId=208081)

Download the PDF document (1.67 MB) (http://go.microsoft.com/fwlink/p/?LinkId=226828)

Download the XPS document (2.11 MB) (http://go.microsoft.com/fwlink/p/?LinkId=226829)


Architecture for business intelligence in SharePoint Server 2010
See Also

Published: May 8, 2010

This article describes the physical architecture for application services that all enable you to implement business intelligence in Microsoft SharePoint Server.

This numbered list corresponds to the numbers in the following diagram. The diagram shows a farm deployment with four servers and the application services that you can use for business intelligence. To learn more about when you might use each service, see Choose the right business intelligence technology to suit your style (white paper).

  1. The front-end Web servers run on Internet Information Services (IIS) and host the Web Parts for business intelligence services, Web services, and the proxy that are required for communication between the client and the service applications. A service application is a wrapper for the middle-tier business logic for an instance of the service. Your configuration of the application server and how many services are hosted will depend on the size of the farm and the number of users who need access. To learn more about services and topologies for SharePoint Server 2010, see the model called "Services in SharePoint 2010 Products" in Technical diagrams (SharePoint Server 2010).

    The four services that are shown in the diagram are discussed in the following articles.

    • What's New (Reporting Services in SharePoint Integrated Mode (http://go.microsoft.com/fwlink/p/?LinkId=185271)

    • Visio Services overview (SharePoint Server 2010)

    • What's new for Excel Services (SharePoint Server 2010)

    • What's new for PerformancePoint Services (SharePoint Server 2010)

    Note:

    A running Secure Store Service application and Proxy are required to store the Unattended Service account password. To learn more about the unattended service account and how it uniquely applies to each service, see documentation for each service.

  2. Each application service stores content in SharePoint Server by using a document library, site collection template (such as the Business Intelligence Center), or site lists in SharePoint Server for viewing reports. The Business Intelligence Center is created from an Enterprise site collection template. PerformancePoint Services is unique because it has a dashboard authoring tool that is accessed from the Business Intelligence Center or in an enabled Web site.

    You can also use PerformancePoint Services to export dashboard objects such as charts, grids, scorecards, PivotTable reports to Excel 2010 or PowerPoint 2010. The resulting dashboard from authoring in PerformancePoint Dashboard Designer, can position report views from each service.

  3. Report authoring for Visio and Excel ServicesExcel 2010 occurs in their respective Office client applications. SQL Server Report Builder 3.0 and PerformancePoint Dashboard Designer are client-side applications that are started from the Web.

  4. Following the diagram is a partial list of possible data sources for business intelligence products or features and their respective business intelligence services. For information about additional data sources and provider types, see each product's individual documentation.

Business application service architecture

Data sources for business intelligence in SharePoint Server

Business intelligence tool | Supported SQL Server versions (32- & 64-bit) | Supported data providers | Other source data | For more information, see
Excel | SQL Server 2005 SQL Server 2008 SQL Server 2008 R2 |  | Excel worksheet data |
PerformancePoint Services | SQL Server 2005 SQL Server 2008 SQL Server 2008 R2 | For SQL Server, extends System.Data.SqlClient For SSAS, uses ADOMD.NET | SQL Server Reporting Services reports Visio Graphics Service reports SharePoint lists Can importSQL Server Analysis Services (SSAS) KPIs Excel worksheet data | Planning for PerformancePoint data sources (PerformancePoint Services)
Excel Services | SQL Server 2005 SQL Server 2008 SQL Server 2008 R2 | For SQL Server, extends System.Data.SqlClient For SSAS, uses MSOLAP (.4 by default) OLE DB ODBC | Excel worksheet data |
Visio Services | SQL Server 2005 SQL Server SQL Server 2008 R2 | For SQL Server, extends System.Data.SqlClient For SSAS, uses ADOMD.NET |  |

See Also

Other Resources

Resource Center: Business Intelligence in SharePoint Server 2010


Secure Store for Business Intelligence service applications (SharePoint Server 2010)
See Also

Published: May 8, 2010

This article describes how Microsoft SharePoint Server 2010 business intelligence features use the Secure Store Service to provide access to external data sources (such as SQL Server) for SharePoint Server 2010 users. For the purposes of this article, the SharePoint Server 2010Business Intelligence service applications are:

  • Excel Services

  • PerformancePoint Services

  • Visio Services

The SharePoint Server 2010 Business Intelligence service applications offer two methods of data access for users:

  • Integrated Windows authentication using Constrained Kerberos delegation

  • Secure Store Service

This article covers the Secure Store Service and its relationship to the Business Intelligence service applications. For information about using Integrated Windows authentication with Constrained Kerberos delegation, see Plan for Kerberos authentication (SharePoint Server 2010).

Secure Store Service

Secure Store is a feature in SharePoint Server 2010 that helps provide access to data outside SharePoint Server 2010 (for example, SQL Server data) by allowing a Business Intelligence service application to use a set of credentials with data access on behalf of a SharePoint Server 2010 user who is attempting to access that data. Such use of credentials by Business Intelligence service applications on behalf of users is called impersonation.

Secure Store provides this mapping between Business Intelligence services applications, users, and credentials through the use of a Target Application. A Secure Store Target Application is a collection of metadata that specifies which users shall be allowed access to a particular set of credentials that a Business Intelligence service application will use for impersonation when accessing external data. This metadata is stored in the Secure Store database along with the credentials themselves, which are encrypted.

Secure Store Target Applications can be used in many ways within SharePoint Server 2010, but for the purposes of SharePoint Server 2010 Business Intelligence scenarios, Target Applications consist of the following settings, configurable by the Farm Administrator:

  • Administrators Target Application Administrators are users who have privileges to administer a given Secure Store Target Application. This can be the Farm Administrator or a specific user or users, depending on your needs. For Target Applications created by PerformancePoint Services, the Administrator is configured automatically by PerformancePoint Services and the user configuring the Unattended Service Account is added as the Administrator.

  • Members The Members of a Target Application are the users on behalf of whom the Business Intelligence Service Application will impersonate the Target Application Credentials when it accesses external data. This could be a single user, multiple users, or an Active Directory group. Members are also referred to as Credential Owners. For Target Applications created by PerformancePoint Services, the service account used by the PerformancePoint Services application pool is used as the Member.

  • Credentials Target Application Credentials consist of an Active Directory account with direct access to data sources. (You must grant the required data access to this account directly — access to external data sources is not controlled by SharePoint Server 2010. This should be a low privileged account that only allows data access.) It is this account that is impersonated by Business Intelligence service applications to give users access to data.

The Administrators, Members, and Credentials are configurable by the Farm Administrator directly through Secure Store for Excel Services and Visio Services. For PerformancePoint Services, these values are configured through the PerformancePoint Service Application Settings and should not be modified through Secure Store.

Visio Services and Excel Services can use Secure Store using one of two methods:

  • Specified Target Application A specific Target Application is specified by the Excel worksheet or the Visio Web drawing. When a user accesses the worksheet or Web drawing, Secure Store uses the credentials associated with that Target Application for data access. For Visio Services, this Target Application must be specified using an ODC file that is hosted on SharePoint Server 2010.

  • No specified Target Application (Unattended Service Account) No Target Application is specified by the Excel worksheet or the Visio Web drawing. When a user accesses the worksheet or Web drawing connected to an external data source, Secure Store uses the Target Application specified in the Global Settings of Excel Services or Visio Services. When a Target Application is specified globally for a Business Intelligence service application, the Target Application Credentials are referred to as the Unattended Service Account.

PerformancePoint Services cannot specify a specific Secure Store Target Application — it can only use Secure Store with the Unattended Service Account.

The basic sequence of events that occurs is as follows:

  1. A SharePoint Server 2010 user accesses a data-connected object such as an Excel Services worksheet, Visio Services Web drawing, or PerformancePoint Services dashboard.

  2. If the object is configured to use Secure Store for data authentication, the Business Intelligence Service Application calls the Secure Store service to access the Target Application specified by the object.

  3. If the user is a Member of that Target Application, the credentials stored in the Target Application are returned and the Business Intelligence Service Application impersonates the credentials while accessing the data.

  4. The data is displayed to the user within the context of the worksheet, Web drawing, or dashboard.

Data connection files

All of the Business Intelligence service applications can use data connection files to specify authentication information. Excel Services and Visio Services use Office Data Connection (.ODC) files and PerformancePoint Services uses PerformancePoint Services Data Connection (.PPSDC) files. Use of such files allows multiple Excel Services worksheets, Visio Services Web drawings, or PerformancePoint Services dashboards to share a common set of data access parameters.

The SharePoint Server 2010 Business Intelligence service applications each use data connection files differently. For a description of how each uses data connection files, see the section for each service application, below.

The Unattended Service Account

Unattended Service Account refers to the credentials of a Secure Store Target Application that is specified in the global settings of a Business Intelligence service application. This Target Application is used to provide data access to users when another authentication method is not specified. For Visio Services, the Unattended Service Account is required any time that Integrated Windows authentication is not used, even if additional connection information is provided in the connection file (for example, a SQL Authentication string).

Data access from client and server

Microsoft Excel 2010 and Microsoft Visio 2010 are client applications that function independently from SharePoint Server 2010. Though they can publish documents to SharePoint Server 2010, they cannot use Secure Store directly for authentication to data sources. When you create or edit a data-connected worksheet or Web drawing, you must use Integrated Windows authentication or another applicable authentication method to connect directly to a data source from Excel 2010 or Visio 2010. (Other authentication methods you might use include SQL Authentication or an OLEDB connection string.) Once the worksheet or Web drawing is published to SharePoint Server 2010, Excel Services or Visio Services can use Secure Store to connect to the data source when displaying the content to a user.

PerformancePoint Services Dashboard Designer is directly integrated with SharePoint Server 2010. Dashboard Designer can use Secure Store directly to authenticate using the Unattended Service Account. As a result, users of Dashboard Designer do not need direct access to data sources through Integrated Windows authentication, provided the Unattended Service Account has the required access.

Excel Services and Visio Services

Excel Services and Visio Services use Secure Store similarly:

  • Both can store a Secure Store Target Application that is specified in an ODC file.

  • Both can use the Unattended Service Account.

However, there are some key difference between Excel Services and Visio Services, discussed in the sections that follow.

Excel Services

The data connections used by Excel Services must be configured in Excel 2010 prior to publication to a SharePoint Server 2010 site. An Excel 2010 worksheet can specify data connection information directly or it can include a pointer to an ODC file where connection information can be found.

The following authentication settings are available within a data-connected Excel 2010 workbook or ODC file:

  • Integrated Windows authentication Specifies Integrated Windows authenticationwith Kerberos delegation to authenticate each individual user when viewing an Excel 2010 workbook through Excel Services.

  • SSS ID Designates a specific Secure Store Service Target Application to be used for data source access.

  • None Uses the credentials specified in the connection string, if any; otherwise it uses the Secure Store Unattended Service Account designated in the Excel Services global settings.

These settings can only be edited by opening the worksheet or ODC file in Excel 2010.

Visio Services

Visio Services supports two methods of data connection for Visio Web drawings:

  • Embedded connection information

  • External connection information that uses an ODC file

When you create a Visio diagram and connect it directly to a data source, Visio 2010 stores the data source information directly in the file when you publish the Web drawing to SharePoint Server 2010. When a user views the Web drawing, Visio Services connects to the data source using the Secure Store Unattended Service Account specified in the Visio Services global settings.

If, instead of connecting directly to a data source from Visio 2010, you connect to a data source using an existing ODC file stored on SharePoint Server 2010, Visio 2010 maintains the link to that ODC file when you publish the Web drawing. Visio Services then uses the connection information stored in the ODC file when it connects to the data source. This includes using a specific Secure Store Target Application if one is specified in the ODC file.

Visio 2010 cannot edit ODC files. We recommend that you do as follows to use an ODC file with a Visio Web drawing: Create the ODC file in Excel 2010, publish it to SharePoint Server 2010, and then connect to it as a data source from Visio 2010 when you create a new data-connected diagram. You must use Excel 2010 to edit ODC files if you want to change the data query, authentication information, specify a Target Application, or modify other settings.

Visio Services cannot parse complex SQL queries. If you attempt to use an ODC file containing a complex query, Visio Services may be unable to run the query and retrieve the data.

PerformancePoint Services

PerformancePoint Services only makes use of Secure Store through the Unattended Service Account. The choice between Integrated Windows authenticationand the Unattended Service Account is made through Dashboard Designer when you create or edit a data source.

The Secure Store Target Application for the PerformancePoint Services Unattended Service Account is configured as part of the PerformancePoint Services service application settings by an administrator. While this Target Application appears on the Secure Store Target Applications list, it should not be modified directly through Secure Store.

Summary of differences

As described in this article, each of the Business Intelligence service applications makes use of Secure Store in a different way. The following table summarizes the Secure Store functionality and options for each Business Intelligence service application.

Note:

Each Business Intelligence service application supports Integrated Windows authentication. If Integrated Windows authentication is specified, the Secure Store options are not used.

Service application Secure Store Data connections

PerformancePoint Services

Unattended Service Account only.

Always made by using a PPSDC file.

Excel Services

Secure Store Target Application can be specified in ODC file or embedded in XLSX file. When no Target Application is embedded or specified in an ODC file, the Unattended Service Account is used.

Embedded in spreadsheet or specified in an ODC file. ODC files must be edited in Excel 2010.

Visio Services

Secure Store Target Application can be specified in ODC file. When no ODC file is used or when ODC file does not specify a Target Application, the Unattended Service Account is used.

Anytime non-Integrated Windows authentication is used, the unattended account is required except if the ODC file specifies a different target application.

Embedded in Web drawing or specified in an ODC file. Limited support for complex queries. ODC files must be edited in Excel 2010. (Visio 2010 cannot edit ODC files.)

See Also

Concepts

Demo: Excel Services and Secure Store: Authentication using an ODC file
Configure the Secure Store Service (SharePoint Server 2010)
Excel Services overview (SharePoint Server 2010)
Use Excel Services with Secure Store (SharePoint Server 2010)
PerformancePoint Services overview (SharePoint Server 2010)
Plan for PerformancePoint Services security (SharePoint Server 2010)
Plan for Visio Services (SharePoint Server 2010)

Other Resources

Resource Center: Business Intelligence in SharePoint Server 2010


Demo: Excel Services and Secure Store: Authentication using an ODC file
See Also

Published: May 26, 2011

This demonstration shows the sequence of events that occurs when Excel Services in Microsoft SharePoint Server 2010 refreshes the data in a data-connected Microsoft Excel workbook that is linked to the data source by using an Office Data Connection (ODC) file and Secure Store. The video shows the following events:

  • Excel Services determining which authentication method to use

  • Excel Services passing user information to Secure Store

  • Secure Store verifying credentials and granting Excel Services access to the data source

  • Excel Services displaying the workbook

Screenshot of video

Running time: 3:54

Play video Watch the video (http://go.microsoft.com/fwlink/p/?LinkId=219680).

Download video For an optimal viewing experience, Download the video (http://go.microsoft.com/fwlink/p/?LinkId=218215).

Right-click the link, and then click Save Target As to download a copy. Clicking the link opens a .wmv file in the default video viewer for full-resolution viewing.

See Also

Concepts

Video demos and training for SharePoint Server 2010
Secure Store for Business Intelligence service applications (SharePoint Server 2010)


Documentation for SSRS reports in SharePoint (overview)
See Also

Published: May 8, 2010

Microsoft SQL Server 2008 Reporting Services (SSRS) is a server-based reporting platform that provides a full range of ready-to-use tools and services to help you create, deploy, and manage Reporting Services reports for your organization. This article gives an overview of SQL Server Reporting Services in SharePoint integrated mode and has links to articles in SQL Server Books Online to help you plan and configure. After you install the Reporting Services Add-in on Microsoft SharePoint Server and configure the two servers for integration, you can upload or publish report server content types to a SharePoint library and then view and manage those documents from a SharePoint site.

Reporting Services deploys in the following two modes.

  • Native mode describes a report server that runs as an application server alone, without sharing the content database with SharePoint Server. Reports can be managed and viewed through the Report Manager Web application. SharePoint Web Parts can be enabled so you can select and view reports from a report server.

  • SharePoint integrated mode means that a report server is integrated with a SharePoint Server farm and requires you to configure the report server in integrated mode and that you download and configure an add-in component on each of your SharePoint front-end Webs. Integrated mode allows the user to manage and view reports from SharePoint document libraries.

Overview of Reporting Services in SharePoint integrated mode

The following articles describe improvements to SQL Server 2008 that relate to business intelligence.

  • What's New (Reporting Services in SharePoint Integrated Mode) Discusses new features in Reporting Services and improvements for the Reporting Services environment that is integrated with a SharePoint product. The new features include support for multiple SharePoint Zones, the SharePoint Universal Logging service, and Report Parts. There is also a new SharePoint List data extension that has query designer support.

  • Overview of Reporting Services and SharePoint Technology Integration Explains that when you integrate a report server that uses an instance of one of the Microsoft SharePoint 2010 Products, items and properties are stored in the SharePoint content databases. The article provides a description of the databases that contain the content for the report server and SharePoint Server 2010.

Planning and architecture for Reporting Services in SharePoint integrated mode

The following articles describe SQL Server Reporting Services integration with SharePoint 2010 Products and how to plan an implementation.

  • Deployment Topologies for Reporting Services in SharePoint Integrated Mode Describes different deployment scenarios and what is supported for integration between SharePoint 2010 Products and Reporting Services.

  • Requirements for Running Reporting Services in SharePoint Integrated Mode Specifies edition and software requirements.

  • Storing and Synchronizing Report Server Content With SharePoint Databases Shows how the SharePoint configuration and content databases synchronize with the report server database to store content and metadata.

  • How Do I Learn About SharePoint Integrated Mode Provides a roadmap for SQL Server 2008 Reporting Services integration with Office SharePoint Server 2007. The roadmap includes multiple articles about planning and architecture, installation and configuration, Web Parts, programmability for SharePoint integrated mode, and more.

Configuration for Reporting Services in SharePoint integrated mode

The following articles describe steps to configure Reporting Services in SharePoint integrated mode.

  • Configuring Reporting Services for SharePoint 2010 Integration Gives the step-by-step instructions for deployment and configuration scenarios for Reporting Services for SharePoint 2010 integration. Several "how-to" articles follow.

  • Default Configuration for SharePoint Integrated Mode (Reporting Services) Refers to a Reporting Services installation where Setup installs and configures a report server instance and creates the report server database in a format that supports content storage.

See Also

Other Resources

Resource Center: Business Intelligence in SharePoint Server 2010


Overview of PowerPivot documentation (SharePoint Server 2010)

This article maps to articles to show you how to plan, configure, and maintain Microsoft SQL Server 2008 R2 PowerPivot for Microsoft Excel 2010 and PowerPivot for SharePoint 2010. The name PowerPivot refers to a collection of applications and services that provide an end-to-end approach for creating data-driven, user-managed business intelligence solutions in Microsoft Excel workbooks. PowerPivot client and server applications support self-service business intelligence that puts powerful analytics within your reach, enabling you to find better information and insight into the numbers that drive decisions, objectives, and initiatives throughout the organization. The following is a brief description of PowerPivot components for Microsoft Office.

  • PowerPivot for Excel 2010 is an add-in to Excel that provides tools for adding and integrating large amounts of data in Excel workbooks.

  • PowerPivot for SharePoint 2010 extends SharePoint 2010 Products and Excel Services to add server-side processing, collaboration, and document management support for the PowerPivot workbooks that you publish to SharePoint 2010 Products.

Overview of PowerPivot for Excel and SharePoint

PowerPivot integrates with Excel and SharePoint 2010 Products. In an Excel environment, PowerPivot for Excel provides a familiar authoring and analytical experience on the workstation. In a SharePoint 2010 Products farm, PowerPivot for SharePoint is the set of server-side applications, services, and features that support team collaboration on business intelligence data.

The following articles provide more detail about PowerPivot features.

  • PowerPivot Overview (http://go.microsoft.com/fwlink/p/?LinkId=190359) Further explains what PowerPivot for Excel 2010 and PowerPivot for SharePoint 2010 are, shows a diagram that illustrates how a request for query processing moves through the farm, and explains who should use PowerPivot.

  • PowerPivot Features (http://go.microsoft.com/fwlink/p/?LinkId=190360) Gives an in-depth description of features for PowerPivot for Excel 2010 and PowerPivot for SharePoint 2010.

  • PowerPivot Concepts (http://go.microsoft.com/fwlink/p/?LinkId=190361) Explains the major concepts of PowerPivot for Excel 2010 and PowerPivot for SharePoint 2010.

Planning and architecture for PowerPivot in SharePoint and Excel Services

The following articles help you understand PowerPivot and how to plan implementation.

  • Plan a PowerPivot Deployment in a SharePoint Farm (http://go.microsoft.com/fwlink/p/?LinkId=190362) Gives considerations and architecture to add PowerPivot to stand-alone server and to a server farm.

  • Plan for PowerPivot Integration with Excel Services (http://go.microsoft.com/fwlink/p/?LinkId=190363) Explains how the server systems work together, how connections are established, and describes configuration settings that enable seamless interaction.

  • Plan for PowerPivot Integration with Reporting Services (http://go.microsoft.com/fwlink/p/?LinkId=190365) Tells how you can build Reporting Services reports as a way to visualize PowerPivot data. Reporting Services offers rich data visualization through charts and maps, additional rendering formats, and comprehensive subscription and delivery options.

Deployment for PowerPivot in Excel Services and SharePoint 2010 Products

Deploying an instance of PowerPivot for SharePoint 2010 consists of installation and configuration tasks that result in an operational server that is immediately available to users in your organization. The following articles give detailed instructions for deploying PowerPivot for SharePoint.

  • Hardware and Software Requirements (PowerPivot for SharePoint) (http://go.microsoft.com/fwlink/p/?LinkId=190366) Gives details for hardware and software for the client workstation, server installation, Excel Services, and SharePoint 2010 Products.

  • Installation (PowerPivot for SharePoint) (http://go.microsoft.com/fwlink/p/?LinkId=190367) Links to considerations for installation and "how-to" articles for installing PowerPivot in various ways. The articles include information about how to scale out PowerPivot for SharePoint 2010 Products and OLE DB and ADOMD.NET.

  • Default Configuration for PowerPivot for SharePoint (http://go.microsoft.com/fwlink/p/?LinkId=190368) Explains installation procedures for the default configuration for PowerPivot for SharePoint 2010.

  • Configure PowerPivot for SharePoint (http://go.microsoft.com/fwlink/p/?LinkId=190369) Links to "how-to" articles for configuring PowerPivot for SharePoint 2010.


Data warehousing, OLAP, and Analysis Services for SharePoint 2010

Published: May 15, 2010

This article describes data warehouses, OLAP, and Microsoft SQL Server Analysis Services (SSAS). It discusses how a data warehouse and SQL Server Analysis Services relate to the business intelligence application services in Microsoft SharePoint Server 2010. Additionally, the article discusses when you would use PowerPivot rather than SSAS.

Overview of data warehousing, OLAP, and PowerPivot and relation to SharePoint 2010

What is a data warehouse? A data warehouse is a database that functions as a repository for storing and analyzing numeric information. Core data in the data warehouse are typically numeric values that can be summarized or aggregated and are stored in a different structure than a typical transactional database structure. One reason a database warehouse structure differs from a transactional database structure is that pulling data can otherwise be very resource-expensive. Data warehouses enable you to store aggregated data instead of performing time and resource-sensitive ad-hoc queries to return summed values, as you would perform in a transactional database to create a report. This simplified definition is explained better in many books written for data warehouse professionals.

What is OLAP and how does it relate to a data warehouse? The term online analytical processing (OLAP) usually refers to specialized tools that make warehouse data easily available. An OLAP cube is a logical structure that defines the metadata. The term cube describes existing measure groups and dimension tables and should not be interpreted as having limited dimensions. A cube is a combination of all existing measure groups. A measure group is a group of measures that match the business logic of the data and is another logical structure that defines metadata so that client tools can access the data. Each measure group contains the detail values that are stored in the fact table (copied or dynamically retrieved values). OLAP cubes contain lots of metadata; metadata in its simplest definition is data about data. Multidimensional expressions, or MDX, is a metadata-based query language that helps you query OLAP cubes.

What is SQL Server Analysis Services (SSAS) and how does it relate to OLAP? Microsoft SQL Server Analysis Services (SSAS), formerly known as OLAP Services, provides server technologies that help speed up query and reporting processing. Analysis Services implements OLAP with technologies that simplify and quicken the process of designing, creating, maintaining, and querying aggregate tables while avoiding data explosion issues.

How do PerformancePoint Services and Excel Services relate to data warehouses, OLAP, or SSAS? Complex queries on OLAP cubes can produce business answers much faster than the same query on OLTP relational data. The data structures are different and used for different purposes. SSAS OLAP cubes are better for aggregating and reporting on data. SQL Server Analysis Services data supplies business intelligence authoring tools such as Microsoft Excel, PerformancePoint Dashboard Designer, and Visio with an OLAP data source.

What is PowerPivot and how does it relate to SSAS? Microsoft SQL Server 2008 R2 PowerPivot for Microsoft Excel 2010 is an extension to Microsoft Excel that adds support for large-scale data. It has an in-memory data store as an option for SQL Server Analysis Services. Multiple data sources that can be merged include corporate databases, worksheets, reports, and data feeds. PowerPivot data that is inside an Excel workbook is detected, extracted, and processed separately on Analysis Services server instances within the farm. Then Excel Services in SharePoint gives the presentation layer in a browser window. For more information, see www.powerpivot.com.

When do I use PowerPivot versus SSAS? SSAS is an OLAP engine available for IT professionals to build sophisticated, high-performance solutions to deploy across the organization. Similarly to Excel, PowerPivot for Excel is for the information workers that build BI solutions for themselves instead of for the organization. The PowerPivot file can then be published to SharePoint Server or SharePoint Foundation for the team. To learn more about the differences, see the PowerPivot Team Blog post Comparing Analysis Services and PowerPivot (http://go.microsoft.com/fwlink/p/?LinkId=192047).


Book excerpt: Collaboration Meets Business Intelligence

Published: March 10, 2011

This book excerpt is from Building Integrated Business Intelligence Solutions with SQL Server 2008 R2 & Office 2010, McGraw-Hill Osborne Media, 1st edition February 3, 2011.

Buy this book

Building Integrated Business Intelligence Solutions with SQL Server 2008 R2 & Office 2010 is a good introduction to business intelligence and provides an overview of the current Microsoft BI technology that is available. This book describes Microsoft Office 2010, Microsoft SQL Server 2008 R2, Microsoft SharePoint Server 2010, PowerPivot for SharePoint, and PowerPivot for Excel, to name but a few.

Authors

Philo Janus, a senior technology specialist with Microsoft. He has presented before thousands of users and developers on various topics, including SQL Server and BI, and has worked with large organizations on BI implementations.

Stacia Misner, MCITP, MCTS, is a consultant, trainer, and author specializing in Microsoft BI technologies. She has written several books and articles on SQL Server and is a frequent speaker at SQL Server conferences.

Building Integrated Business Intelligence Solutions with SQL Server 2008 R2 & Office 2010

Cover shot of this McGraw-Hill book.

Book excerpt -- Chapter 2: Collaboration Meets Business Intelligence

In This Chapter

  • SQL Server

  • Business Intelligence and Collaboration

  • SharePoint

  • PerformancePoint Services

  • Visio Services

  • Business Connectivity Services

  • Summary

As we were researching this book, we found a curious theme throughout the business intelligence community. A lot of time and effort was expended discussing how to deal with semistructured and unstructured data, and how to bring them into a BI infrastructure:

"More complex text analysis tools are used to try to transform the data embedded within the text into a structured form." - David Loshin, Business Intelligence: The Savvy Manager's Guide (Morgan Kaufmann, 2003)
"The incorporation of text analytics with traditional business intelligence is still in its infancy." - Cindi Howson, Successful Business Intelligence (McGraw-Hill/Professional, 2007)
"Therefore, it is much more appealing to bring the unstructured data to the structured environment than it is to recreate the analytical infrastructure in the unstructured environment." - William Inmon and Anthony Nesavich, Tapping Into Unstructured Data (Prentice Hall, 2007)

Each of these statements takes the approach of treating the structured business intelligence environment as the one-stop toolset and brings the unstructured data (e-mail, documents, and slide decks) into it. What we find fascinating is that Microsoft has done the exact opposite—they have brought business intelligence into the middle of the collaborative stack. Integration between structured and unstructured data isn't going to be about moving data from one side to the other—the data will stay in place; the tools will reach out as necessary.

We've given you a basic foundation in business intelligence, and you should now have an appreciation for the requirements on the BI side to clean data; bring it into a data mart; create OLAP structures; and then build reporting, analysis, scorecards, and dashboards on top. In this chapter we're going to start by looking at SQL Server and understanding how it fits into the whole "BI stack." Then we're going to look at SharePoint Server and the services that supplement the hard-structured data integration with the collaborative framework that SharePoint is known for.

SQL Server

When most people think of SQL Server, they think of the relational database—tables of data, running queries, etc. However, that's just the beginning of what SQL Server is capable of. Consider "SQL Server" to be an umbrella technology label that encompasses:

  • SQL Server Relational Database Management System (RDBMS), the database engine

  • SQL Server Integration Services (SSIS), an enterprise-class ETL

  • SQL Server Analysis Services (SSAS), multidimensional data analysis

  • SQL Server Reporting Services (SSRS), web-enabled reporting from any data source

With SQL Server 2008 R2, two new technologies are introduced that have enormous implications for a business intelligence solution: PowerPivot for Excel and SharePoint, and Master Data Services, which provides a service-based framework for managing standard data structures for an organization.

This makes SQL Server a powerful basis for a business intelligence platform. With a SQL Server installation, you have everything you need to move and clean data, create dimensional OLAP repositories, and achieve enterprise-class reporting. You also have data mining, end-user ad hoc reporting, and now end-user ad hoc modeling. When you couple this with the user interface capabilities of Office and SharePoint server, it's a complete BI suite.

Let's take a look at the services in SQL Server and how they create the foundation for our business intelligence solution.

Business Intelligence Development Studio (BIDS)

Actually, before we start, let's introduce one of the most compelling aspects of the SQL Server BI experience—BIDS, shown in Figure 2-1. SQL Server uses a Visual Studio shell with specialized projects to develop Integration Services packages, Analysis Services cubes and data mining solutions, and Reporting Services reports. The benefit here is that by using a common tool for all the BI tasks, it's easier for BI developers to move from one task to another, and to learn the various services.

Figure 2-1 The Business Intelligence Development Studio

A screenshot of BIDS

While the shell is based on Visual Studio, there's no licensing necessary to install BIDS—all you have to worry about is the licensing of SQL Server with respect to your developers. Beyond that, BIDS is installed with the SQL client tools. If you already have the appropriate version of Visual Studio installed, then installing the client tools will just add the BI templates to Visual Studio, as shown in Figure 2-2.

Now that we understand our toolset, let's look at the services. This is just a quick introduction to ease the transition from the vendor-agnostic BI material in the first chapter to the Microsoft BI platform that we will be using moving forward.

SSIS

SQL Server Integration Services was introduced with SQL Server 2005 to replace Data Transformation Services (DTS). SSIS is an enterprise-class Extract, Transform, Load (ETL) engine for moving data from one place to another. One of the most compelling aspects to the designer is that the component/canvas approach allows for the creation of some complex processes, as shown in Figure 2-3.

Figure 2-2 BI project templates in Visual Studio

BI project templates in Visual Studio

While SSIS is a SQL Server service, there is no requirement for its data to be in SQL Server. For example, you can use SSIS to load data from a text file into Oracle, or to extract data from SAP and load it into MySQL.

The components in SSIS cover dozens of tasks—processing Analysis Services cubes, profiling data, sending mail, interacting with a message queue, operating on the file system, or any number of database maintenance tasks. This is so that SSIS packages can perform maintenance operations in conjunction with moving data. For example, you may want to compact a database before loading a large-batch data dump. Or, you may want to process an OLAP cube after loading new data.

Figure 2-3 Integration Services package in BIDS

Dashboard in PerformancePoint Services

With respect to moving data, SSIS can extract from any OLE DB source, and has a number of data destinations, from OLE DB to more specific destinations (such as data mining, to train mining models, or an ADO.Net data reader). Between the source and destination, there are a number of data transformation tasks to manipulate the data while it's in transit.

Once you've built an Integration Services package, you can deploy it to SQL Server and use the SQL Server agent to execute the package as necessary (on a schedule, as the result of another job running, etc.).

We'll dig into Integration Services in Chapter 6.

SSAS

Analysis Services has been part of SQL Server in various forms since SQL Server 7. SSAS is an online analytical processing (OLAP) server that provides a means for creating a business model for structured data, and then aggregating and caching numerical data in structures to enable fast response times when end users do analysis on the data.

As we discussed in Chapter 1, when analyzing data, we are generally more interested in aggregations of the values than the atomic values themselves. We want to know how many bicycles were purchased in California in October; we don't care that John Smith bought a Red Touring 150 on October 15. SSAS lets a database administrator (DBA) design a model that reflects the business needs of analysts and then map underlying data sources into that framework. By creating dimensions in business-aware terms like "product categories" or "sales territory," we can make it easy for an analyst to understand the data and how it relates. Figure 2-4 shows an example of working in the semantic layer and focusing on results instead of worrying about queries.

Analysis Services acts as a data source for various front ends—Excel, SharePoint, various reporting engines, PerformancePoint, and third-party vendor tools. One of the most important aspects of using SSAS to unify data is that as a single point source for analytic data, each user gets what is referred to as "one version of the truth."

Figure 2-4 An Analysis Services cube in BIDS

Designing a report in BIDS

PowerPivot

SQL Server 2008 R2 introduces what is effectively a new capability, called PowerPivot. This is an OLAP engine that integrates with SharePoint Server and (with a free download) Excel 2010. This enables an end user to use Excel to connect to various data sources directly (providing they have the right credentials) and build a model in Excel. Essentially, they are creating an Analysis Services cube on the fly, on their desktop.

PowerPivot is actually an Analysis Services instance. However, it can only host PowerPivot models; it cannot host standard SSAS cubes.

Once a user is happy with their PowerPivot model, they can publish it to Analysis Services running in PowerPivot mode, and it can be accessed via the SharePoint Server. From there, it will look like a standard cube in an Analysis Services instance, so other users can connect reports to it, Excel spreadsheets (shown in Figure 2-5), PerformancePoint—any application that can connect to SSAS.

Figure 2-5 A PowerPivot report in Excel, hosted in SharePoint

KPI in Dashboard Designer

In addition to the modeling aspects, PowerPivot technology is woven into the SharePoint Server infrastructure, giving administrators powerful capabilities regarding management and scalability. Performance metrics are tracked and rolled into a cube so they can be displayed in a dashboard, reported on, and so on.

Data Mining

Reporting is simply presenting a detailed list of records—answering structured questions. OLAP analysis lets analysts dig into data to ask various questions and try to find the answers. Data mining is what you do when you don't even know what question to ask.

Essentially, data mining is about identifying patterns in large volumes of data. Data mining is how grocery stores identify purchases that are generally made together, or alternatively, purchases that are not made in the same trip. Data mining feeds the question when the fast food cashier asks, "Would you like a side of coleslaw with that?"

There are a number of definitions or explanations of data mining. We like the following:

"Data mining is the analysis of (often large) observational data sets to find unsuspected relationships and to summarize the data in novel ways that are both understandable and useful to the data owner." - David Hand, Heikki Mannila, and Padhraic Smyth, Principles of Data Mining (MIT Press, 2001)

SQL Server Analysis Services has a data mining engine built in. This data mining engine provides a number of different algorithms to perform different types of analysis, from basket analysis (who will buy what based on what's in their shopping cart), classification (estimating what a customer will purchase based on their demographics), to time-series analysis (predicting future values based on past performance).

Data mining in SQL Server was largely ignored until Office 2007 was released. Excel 2007 had an add-in available that enabled end-user creation of data mining models and performing mining analysis on data in Excel. This made data mining far more accessible, for experimentation and hands-on learning. Models created in Excel can be published back to Analysis Services for consumption in other front ends.

Reporting Services

Speaking of front ends, SQL Server Reporting Services is an amazing tool for creating enterprise reports. Reporting Services was designed by the SQL product team for SQL Server 2005. However, after the initial alpha release, customer demand for it was so great that they released Reporting Services as an add-on to SQL Server 2000.

Reporting Services is a web-based application. IT professionals design reports in BIDS, shown in Figure 2-6, and then publish them to the server. From the server, users can view reports through the Report Manager website, or the URL for a report can be linked from any other website. Reports can also be embedded in webpages.

Figure 2-6 Designing a report in BIDS

Master data model for product

In addition to simply looking at reports via a browser, reports can be exported to Excel, Word, XML, PDF, or TIFF formats. Reporting Services 2008 R2 adds the ability to make reports available as an Atom data feed. Users can also subscribe to reports and have them e-mailed on a regular basis or when specific data points change value. Through a .Net control, reports can also be embedded in Windows applications or ASP.Net websites.

If you've dealt with enterprise reporting in the past, you will know that often, reporting servers can get to be a bit of a mess—old reports that aren't used, no configuration management, new reports created because users can't find an existing one, and so on. SSRS offers one option out of that madness: SharePoint integration.

Starting with SQL Server 2005, Reporting Services can be integrated with SharePoint Server. In this case, there is no longer an independent report manager—all report management is performed via SharePoint. In addition to making it easier to collaborate on reports and put reports in a location where they make sense, this means the capabilities of SharePoint are available—workflow for report approval, version control, publishing, and content management capabilities.

Figure 2-7 A report with sparklines and data bars

A PowerPivot gallery in SharePoint 2010

Charts

Reporting Services continues to improve on the charting engine. In 2008 R2, you now have the ability to add data bars, sparklines, maps, and KPI indicators to a report or chart, as shown in Figure 2-7. This gives us a lot more flexibility to design charts that can speak visually at a quick glance.

If you haven't worked with charts in Reporting Services since 2005, you absolutely must upgrade. The shift from 2005 to 2008 was remarkable, and 2008 R2 just adds to that.

Maps

SQL Server 2008 introduced the spatial data type, allowing DBAs to capture geometric and geographic data with their records. There were some interesting architecture changes to accompany this, but not a lot surfaced in the tools. SQL Server 2008 R2 changes this—Reporting Services now has a map control that can parse spatial data for display graphically, as shown in Figure 2-8. You can see how powerful this is for data that has a geographic component.

Report Builder

Reporting Services 2005 included an ad hoc report builder, which was a client application that end users could use to create reports and publish them back to Reporting Services. The big problem was that the Report Builder would only work against special reporting models created and published in Reporting Services. The combination of lead work required and limitations on the client meant Report Builder didn't see much use.

Figure 2-8 Report with a map

PowerPivot report in Excel, hosted in SharePoint

SQL Server 2008 saw Report Builder 2.0, which no longer had the requirement for models—it could work directly against data sources, or even create data sources and publish them back to Reporting Services. SQL Server 2008 R2 introduces Report Builder 3.0, shown in Figure 2-9, which is a huge stride forward (again).

Report Builder also has all of the capabilities of BIDS with respect to Tablix, charting, sparklines, indicators, and maps.

Master Data Services

One problem often faced in large organizations is ensuring that the same thing is referred to in the same way across the organization. Whether it's a project name, customer name and information, or job title, there is a tendency for semantics to drift across the organization. And if you want to change a name, there can be a dozen places or more to change it. You can see how this can get a bit nightmarish when talking business intelligence.

Figure 2-9 Report Builder 3.0

SQL Server 2008 R2 includes a new technology called Master Data Services. This is a web-based service that lets the business maintain a standard set of definitions for objects and standard values for those objects. In other words, the address of vendor companies will always be Street1: and Street2:, not Street & Apt, or Address & Suite. And the names and addresses of vendors will be uniform, and if they change, they only need to be changed in one place. Figure 2-10 shows the master data model for "Product."

Figure 2-10 Master data model for "Product"

A report with sparklines and data bars

Business Intelligence and Collaboration

We've reviewed the data infrastructure that will serve as the foundation for our business intelligence solution. As mentioned earlier, the BI data and enterprise collaboration have traditionally been viewed as two separate worlds that had to interact on rare occasion somehow. However, Microsoft has successfully merged them; not by pulling the unstructured data into the BI world, as often suggested-they have pulled the BI world into the collaboration space.

In The Jericho Principle (Wiley and Sons, 2003), Ralph Welborn and Vince Kasten define a "Jericho Zone" ("as in bring down the walls of…"). They say:

In the Jericho Zone, you can rapidly create high-value collaborative relationships with other companies. Based on everything we have seen […], operating in the Jericho Zone means that you and your partners have found rapid and efficient ways of:

  • Quantifying the value each of you brings to the relationship

  • Controlling the risks associated with high intimacy

  • Equitably sharing the rewards of the collaboration

Now in The Jericho Principle, the discussion is about collaboration between two business entities or companies. But we found the approach also appropriate for considering merging business intelligence and collaboration. In an established organization, merging BI and collaboration will bring disparate groups into close proximity—it is worth remembering that this merger is nontrivial, but the payoff can be great.

Note:

We highly recommend The Jericho Principle. Although it is about enterprise collaboration, there is a lot of salient advice regarding collaboration and business agility. If you're in the collaboration space, you should have this on your bookshelf.

SharePoint

SharePoint debuted in 2001 as a collaboration platform leveraging Exchange as a data store. Everyone hated it. After a significant redesign, it was relaunched in 2003 as an ASP.Net application with SQL Server as the data store. Despite some interesting drawbacks (nobody ever did figure out what area pages were for), it took off like wildfire as a collaboration platform.

In 2007 Microsoft rebranded SharePoint to Microsoft Office SharePoint Server (MOSS). There were a lot of revolutionary changes (no more area pages), but what we're most interested in are Excel Services, the Business Data Catalog, and the architecture that made PerformancePoint Server possible. MOSS was definitely the foundation for a capable business intelligence platform.

SharePoint returns in 2010 with a facelift, as shown in Figure 2-11. Now Windows SharePoint Services is termed SharePoint Foundation, while MOSS has gone back to simply being called SharePoint Server. Add in PowerPivot capabilities, tighter integration with Reporting Services, improvements to Excel Services, and the fact that PerformancePoint Services is now included instead of a separate product, and SharePoint Server is a business intelligence platform in its own right.

SharePoint is really just the platform, though. The heavy lifting is done by the services under the SharePoint umbrella. Let's take a look at them.

Figure 2-11 SharePoint Server 2010

Report with a map

Excel, Excel Services, and PowerPivot

The SharePoint service here is Excel Services, but it's so tightly integrated with Excel and PowerPivot we wanted to be sure that was clear. Excel Services is an engine that runs in the SharePoint space and can emulate the behavior of the Excel desktop client. A lot of power Excel users will have incredibly complex spreadsheets with macros and reams of data. This gives rise to them having the most powerful desktop in the organization, and they still have to leave a "do not turn off" sign on it when they leave it crunching at night. With Excel Services, that same spreadsheet can be published to a server, where it will leverage the server hardware (and failover), and the results can be published to a webpage or other output.

Excel Services provides three key scenarios:

  • Using server hardware to process heavy computing jobs, either by publishing the spreadsheet into Excel Services or by leveraging the Excel Services object model from a custom code base

  • Publishing interactive spreadsheets to a server for public consumption

  • Publishing spreadsheets for secure consumption

Spreadsheets published to Excel Services can be displayed via a web browser and have some interactivity. They can be wired to live data and parameterized, but end users can't just use the spreadsheet on an ad hoc basis. Thus, Excel is necessary as a front end for Excel Services. SharePoint 2010 adds Office Web Apps, which includes a web-based edition of Excel as an interactive end-user application. This enables the creation and editing of Excel spreadsheets via a browser.

Excel is also the front end for PowerPivot, the modeling engine in SQL Server Analysis Services 2008 R2. With PowerPivot, the primary scenario is publishing to SharePoint, so again they're pretty well welded together. Figure 2-12 shows a PowerPivot gallery in SharePoint 2010. Note the automatic thumbnails created and presented.

PowerPivot gives us the data modeling and analysis, but for a full BI implementation, we also need a scorecard and analytics. Let's look at PerformancePoint Services.

Figure 2-12 A PowerPivot gallery in SharePoint 2010

SharePoint Server 2010

PerformancePoint Services

PerformancePoint Server launched in 2007. It had the ability to build scorecards, create and associate analytic charts, and it had a modeling engine for doing what-if analysis and budgeting. The reception was interesting—the BI community wanted to like it, but it had a lot of rough edges, and to really get the full benefit out of it, you needed MOSS Enterprise Edition, which was a commitment many organizations weren't ready to make.

In January 2009, Microsoft folded PerformancePoint into SharePoint. It became a "feature" of SharePoint, available to users who had or bought MOSS Enterprise Edition. The planning module, which had shown a lot of promise but still had a way to go, was end-of-lifed. Its modeling functions would eventually be picked up by PowerPivot, while its budgeting and financial capabilities were migrated to Microsoft's Dynamics line.

Note:

If you are planning to stay with MOSS 2007 for some time, and are interested in PerformancePoint Server, allow us to recommend our book Pro PerformancePoint Server 2007 (APress, 2008). Although written when PerformancePoint was a separate product, it's still relevant.

In SharePoint Server 2010, PerformancePoint Services has been fully integrated into SharePoint. To create a scorecard or dashboard, you start at SharePoint at a PerformancePoint site, as shown in Figure 2-13. This site makes it easy to organize the content in PerformancePoint dashboards. (And, of course, you can have multiple sites, so as to keep everything clean.)

To build a dashboard in PerformancePoint, launch the Dashboard Designer—a click-once application that is deployed from SharePoint on demand. The Dashboard Designer allows users to create KPIs and connect them to data sources, as shown in Figure 2-14; collect KPIs into scorecards; create analytic reports; and combine everything into dashboards.

Figure 2-13 SharePoint Server PerformancePoint site

SharePoint Server PerformancePoint site

Figure 2-14 The KPI designer in Dashboard Designer

Analysis Services cube in BIDS

The scorecard designer is WYSIWYG (what you see is what you get)—if you've made data connections, you can see the scorecard as you build it. You can also build a scorecard from a dimension, automatically creating KPIs for every district in the state, for example. Dashboard design, however, is not WYSIWYG—there's a block designer where you can drag items to the dashboard, but you'll have to deploy it to SharePoint to see how it looks.

Dashboards can have scorecards, reports, embedded webpages, filters, and so on. Reports can be linked to scorecards, so clicking a KPI on the scorecard will filter the reports. In addition, the dashboard is active—there are means to drill down into data, drill up or down hierarchies, annotate KPI values, etc. A sample dashboard is shown in Figure 2-15.

Another feature in PerformancePoint Services is the ability to connect a strategy map to a scorecard. Strategy maps are just Visio diagrams, and the Dashboard Designer will open an editor that allows you to link shapes to KPIs, resulting in the KPIs being color-coded based on the KPI status. The cool thing here is that the Visio diagram doesn't have to be a strategy map—any Visio diagram will work. So you could show a shop floor and color machines based on the status read from performance metrics.

And, on the topic of Visio, let's talk about another brand-new feature in SharePoint Server 2010: Visio Services.

Figure 2-15 A dashboard in PerformancePoint Services

Integration Services package in BIDS

Visio Services

Since Visio 2003, Visio has been getting increasingly data-connected. Visio 2010 has amazing capabilities to connect it to data, and hopefully what we've covered so far in the Microsoft suite has you thinking in terms of pervasive data availability. However, the problem to date has been the ability to create actual reports out of Visio diagrams—you always had to have Visio to view a .vsd file.

Figure 2-16 Visio Services in action

Visio Services in action

In SharePoint Server 2010, there is a Visio Service that is similar to Excel Services. It allows you to publish a Visio diagram to SharePoint, enable live updates of the data-connected shapes, and dynamically zoom and pan around the diagram. Although this sounds like limited functionality, if you think about it, it's just opened the door to Visio as a report designer. An example of a published Visio diagram is in Figure 2-16.

Business Connectivity Services

MOSS 2007 introduced the Business Data Catalog (BDC). This was an XML-driven modeling library to enable SharePoint developers to create business data connections to any business system. The idea was that then business data could show up in searches and be read by reporting applications. Unfortunately, the BDC was read-only, hard to configure correctly, connections required hacking XML, and the usefulness was somewhat limited.

Enter SharePoint 2010 and Business Connectivity Services (BCS). Business Connectivity Services provides "no-code" connectivity to external business systems so that using them internally is uniform and easy to understand for SharePoint users. In addition, the connections are now read/write, governed by the security around the connection ID.

With BCS, a DBA creates a model of the business system, which is then maintained in a metadata catalog. From that catalog, SharePoint users can access and leverage connections to any business system mapped.

Summary

Hopefully, these first two chapters have given you a general feel for business intelligence in general, and then how the SQL Server and Office technologies fit into a BI world. From here, we're going to dive deeply into these technologies to give you a working understanding of their features, limitations, and how to use them, both as a content creator and as a content consumer.


Excel Services overview (SharePoint Server 2010)
See Also

Published: May 8, 2010

Excel Services in Microsoft SharePoint Server 2010 is a shared service that you can use to publish Microsoft Excel 2010 workbooks on SharePoint Server. The published workbooks can be managed and secured according to your organizational needs and shared among SharePoint Server 2010 users, who can render the workbooks in a browser. Excel Services was introduced in Microsoft Office SharePoint Server 2007 and is available only in the Enterprise edition of SharePoint Server 2010.

Note:

Microsoft Excel Web App, part of Microsoft Office Web Apps, also supports Excel workbooks in the browser. For more information about Excel Web App, see Getting started with Excel Web App (http://go.microsoft.com/fwlink/p/?LinkId=230604).

Note:

While users can interact with Excel workbooks through Excel Services, the workbooks cannot be edited by using Excel Services.

Excel Services consists of Excel Calculation Services, the Microsoft Excel Web Access Web Part, and Excel Web Services for programmatic access. It supports sharing, securing, managing, and using Excel 2010 workbooks in a browser by providing the following:

  • Global settings for managing workbooks, which include settings for security, load balancing, session management, memory utilization, workbook caches, and external data connections.

  • Trusted file locations (which allow you to define which document libraries are trusted by Excel Services) together with session management, workbook size, calculation behavior, and external data settings of workbooks stored in those locations.

  • An extensive list of trusted data providers for connecting to your data, plus the ability to add your own trusted data provider.

  • Trusted data connection libraries, which allow you to define which data connection libraries in your farm are trusted by Excel Services.

  • The ability to add your own user-defined function assemblies.

Looking at several specific scenarios can help you understand how best to take advantage of Excel Services:

  • Sharing workbooks through the browser Users can save Excel 2010 workbooks to a SharePoint Server document library to give other users browser-based access to the server-calculated version of the workbook. When the workbook is accessed, Excel Services loads the workbook, refreshes the external data if it is necessary, calculates it if it is necessary, and sends the resulting output view back through the browser. A user can interact with Excel-based data by sorting, filtering, expanding, or collapsing PivotTables, and by passing in parameters. This provides the ability to perform analysis on published workbooks. A user does not have to have Excel 2010 installed to view the workbook. Users will always view the latest version of a workbook, and they can interact with it in a browser. Security permissions can be set to limit what access is provided to which user.

  • Building business intelligence (BI) dashboards Browser-based dashboards can be created by using Excel and Excel Services together with the Excel Web Access Web Part. PerformancePoint Services can also use Excel Services workbooks as a data source.

  • Reuse of logic encapsulated in Excel workbooks in custom applications Besides a browser-based interface with the server, Excel Services provides a Web-service-based interface so that a published workbook can be accessed programmatically by any application that uses Web services. The Web service applications can change values, calculate the workbook, and retrieve some or all of the updated workbook by using that interface according to what security permissions are set for the published workbook.

  • Report Building One of the most useful features of Excel Services is report building. By publishing data-connected workbooks to a SharePoint document library and making them available through Excel Services, you can make reports that you have created in Excel available to others in your organization. Instead of multiple users having separate copies of the workbooks on their computers, the workbooks can be created and changed by a trusted author in a central location that is trusted by Excel Services. The correct version of the worksheet is easier to find, share, and use from Excel, SharePoint Server, and other applications.

See Also

Concepts

Plan Excel Services authentication (SharePoint Server 2010)
Overview of Excel Services architecture (SharePoint Server 2010)
Plan Excel Services data sources and external connections (SharePoint Server 2010)
Manage Excel Services connections (SharePoint Server 2010)

Other Resources

Excel Services Overview (MSDN) (http://go.microsoft.com/fwlink/p/?LinkId=230605)
Resource Center: What's New in Microsoft SharePoint Server 2010
Resource Center: Business Intelligence in SharePoint Server 2010


Overview of Excel Services architecture (SharePoint Server 2010)
See Also

Published: May 8, 2010

This article describes Excel Services architecture. Excel Services is built on the Microsoft SharePoint Server 2010 platform. Consequently, Excel Services uses SharePoint Server authentication and authorization.

Excel Services components

Excel Services in Microsoft SharePoint Server 2010 can be deployed on a stand-alone SharePoint Server (for evaluation/test environments) or in a SharePoint farm, a typical production environment. Both the SharePoint Server 2010 and Excel Services architecture is designed to meet the deployment needs ranging from a department setup inside an organization to a global enterprise scenario. Excel Services includes three core components:

  • Excel Calculation Services is the main Excel Services component that loads the spreadsheet and workbook, calculates the spreadsheets, refreshes external data, and maintains session state for interactivity.

  • Excel Web Access is a Web Part that displays data and charts from Excel workbooks.

  • Excel Web Services is a Web Service hosted in SharePoint that provides various methods for developers to calculate, set, and extract values from workbooks, and to refresh external data connections.

These three Excel Services components reside either on the Web front end server or on the back end application server. A standard Excel Services production environment that has many users uses two or more Web front end and application servers. A test or development environment typically hosts all Excel Services components on a single server.

The following diagram shows the Excel Services basic 2010 architecture as related to the Microsoft SharePoint 2010 Products content database and the external data sources.

Excel Services basic architecture diagram.

Performance and scalability

Scalability for an Excel Services production environment can be achieved by adding more memory or higher-powered processors to the servers. Also, more Web front end servers or application servers can be added to the farm to address any instances that relate to server loads and performance. You can run the Excel Calculation Services service on multiple application servers if it is necessary. You can add more Web front end and application servers independently. For example, you can add many Web front end servers and use a single application server or add many applications servers and only deploy one or two Web front end servers.

If you have more large workbooks, or if your workbooks contain many calculations and use lots of external data, then you may want to add more application servers that are running Excel Calculation Services to your farm. If you have basic or simple workbooks and many users view them or the workbooks contain many charts, or on the other hand, if you have dashboards with many workbooks, you might consider adding more Web front end servers to your farm.

The largest Excel Services performance factor depends on the type, size of the workbooks, and external data connections in the workbooks used with Excel Services. See Plan Excel Services authentication (SharePoint Server 2010) for more information about how to configure the Excel Services settings.

See Also

Other Resources

Resource Center: Business Intelligence in SharePoint Server 2010 (http://go.microsoft.com/fwlink/p/?LinkId=258640)


Plan Excel Services data sources and external connections (SharePoint Server 2010)
See Also

To configure Microsoft SharePoint Server 2010 to enable workbooks rendered in a browser by Excel Services to successfully refresh external data, you must understand the relationships and dependencies between SharePoint Server 2010 and Excel Services.

In this article:

  • Connections and Excel workbooks

  • Data providers

  • Authentication to external data

  • Trusted data connection libraries and managed connections

  • Excel Services security and external data

Connections and Excel workbooks

Every Excel workbook that uses external data contains a connection to a data source. Connections consist of everything that is required to establish communications with, and retrieve data from, an external data source. This includes the following:

  • A connection string (a string that specifies which server to connect to and how to connect to it).

  • A query (a string that specifies what data to retrieve).

  • Any other specifics required to get the data.

Embedded and linked connections

Excel workbooks can contain embedded connections and can link to external connections. Embedded connections are stored internally as part of the workbook. External connections are stored in the form of Office Data Connection (ODC) files that can be referenced by a workbook.

Embedded and external connections function the same way. Both will correctly specify all the required parameters to connect to data successfully. External connection files can be centrally stored, secured, managed, and reused. They are a good choice when planning an overall approach to getting a large group of users connected to external data. For more information, see Trusted data connection libraries and managed connections.

For a single connection, a workbook can have both an embedded copy of the connection information and a link to an external connection file. The connection can be configured to always use an external connection file to refresh data from an external data source. In this case, if the external connection file cannot be retrieved, or if it does not establish a connection to the data source, the workbook cannot retrieve data. If the connection is not configured to use only an external connection file, Excel attempts to use the embedded copy of a connection. If that fails, Excel attempts to use the connection file to connect to the external data source.

For security purposes, Excel Services can be configured to enable only connections from connection files. In this configuration, all embedded connections are ignored for workbooks loaded on the server, and connections are tried only when there is a link to a valid connection file that is trusted by the server administrator. For more information, see Trusted data connection libraries and managed connections.

Data providers

Data providers are drivers that applications (such as Excel and Excel Services) use to connect to specific data sources. For example, a special MSOLAP data provider is used to connect to Microsoft SQL Server 2008 Analysis Services (SSAS). The data provider is specified as part of the connection string when you connect to a data source.

Data providers handle queries, parsing connection strings, and other connection-specific logic. This functionality is not part of Excel Services. Excel Services cannot control how data providers behave.

Any data provider that is used by Excel Services must be explicitly trusted by Excel Services. For information about how to add a new data provider to the trusted providers list, see Manage Excel Services connections (SharePoint Server 2010).

By default, Excel Services trusts many well-known data providers. In most cases, you do not have to add a new data provider. Data providers are typically added for custom solutions.

Authentication to external data

Data servers require a user to be authenticated, that is, identify oneself to the server. The next step is authorization, communicating to the server the permitted actions associated with the user. Authentication is required for the data server to perform authorization, or to enforce security restrictions that prevent data from being exposed to anyone other than authorized users.

Excel Services has to communicate to the data source which user is requesting the data. In most scenarios, this is going to be the user viewing an Excel report in a browser. This section explains authentication between Excel Services and an external data source. Authentication at this level is shown in the following diagram. The arrow on the right side shows the authentication link from an application server that runs Excel Calculation Services to an external data source.

Excel Services - authentication to external data
Note:

Excel Services accesses external data sources by using a delegated Windows identity. Consequently, external data sources must reside within the same domain as the SharePoint Server 2010 farm or Excel Services must be configured to use the Secure Store Service. If the Secure Store Service is not used and external data sources do not reside within the same domain, authentication to the external data sources will fail. For more information, see Planning considerations for services that access external data sources in "Services Architecture Planning."

Excel Services supports the following authentication options:

  • Windows Authentication Excel Services uses Integrated Windows authentication and attempts to connect to the data source by using the Windows identity of the user who is displaying the workbook.

  • SSS Excel Services will use the credentials associated with the specified Secure Store target application.

  • None Excel Services will impersonate the unattended service account and pass the connection string to the data source.

The authentication option is configured in Microsoft Excel and is a property of the external data connection. The default value is Windows Authentication.

Integrated Windows authentication

If you choose the Windows Authentication option, Excel Services attempts to pass the Windows identity of the user viewing the Excel workbook to the external data source. Kerberos delegation is required for any data source that is located on a different server than the server where Excel Calculation Services is running, if that data source is using Integrated Windows authentication.

In most enterprise environments, Excel Calculation Services will be running on a different computer from the data source. This means that Kerberos delegation (constrained delegation is recommended) will be required to enable data connections that use Windows authentication. For more information about how to configure Kerberos constrained delegation for Excel Services, see Configure Kerberos authentication for SharePoint 2010 Products (white paper).

Secure Store Service

Secure Store is a SharePoint Server 2010 service application that is used to store encrypted credentials in a database for use by applications to authenticate to other applications. In this case, Excel Services uses Secure Store to store and retrieve credentials for use in authenticating to external data sources.

If you choose the SSS (Secure Store Service) option, you must then specify the application ID of a Secure Store target application. The specified target application serves as a lookup that is used to retrieve the appropriate set of credentials. Each target application can have permissions set so that only specific users or groups can use the stored credentials.

When provided with an application ID, Excel Services retrieves the credentials from the Secure Store database for the user who is accessing the workbook (either through the browser, or using Excel Web Services). Excel Services then uses those credentials to authenticate to the data source and retrieve data.

For information about how to use Secure Store with Excel Services, see Use Excel Services with Secure Store (SharePoint Server 2010).

None

When you select the None option, no credential retrieval occurs, and no special action is taken for authentication for the connection. Excel Services does not try to delegate credentials, and does not try to retrieve credentials that are stored for the user from the Secure Store database. Instead, Excel Services impersonates the unattended service account and passes the connection string to the data provider that handles authentication.

The connection string may specify a user name and password to connect to the data source or may specify that the Windows identity of the user or computer that is issuing the request be used to connect to the data source. In either case, the unattended account is impersonated first and then the data source connection is made. The connection string and the provider determine the authorization method. Additionally, authorization can be based on either the credentials found in the connection string or the impersonated unattended account's Windows identity. For more information, see Unattended service account.

Excel Services security and external data

Excel Services manages workbooks and external data connections by using the following:

  • Trusted file locations Locations designated by an administrator from which Excel Services can load workbooks

  • Trusted data connection libraries SharePoint Server 2010 data connection libraries that have been explicitly trusted by an administrator from which Excel Services can load data connection files

  • Trusted data providers Data providers that have been explicitly trusted by an administrator

  • Unattended service account A low-privileged account that Excel Services can impersonate when it makes data connections

Trusted file locations

Excel Services only loads workbooks from trusted file locations. A trusted file location is a SharePoint Server location, network file share, or Web folder address that the administrator has explicitly enabled workbooks to be loaded from. These directories are added to a list that is internal to Excel Services. This list is known as the trusted file locations list.

Trusted locations can specify a set of restrictions for workbooks loaded from them. All workbooks loaded from a trusted location adhere to the settings for that trusted location. Here is a short list of the trusted location settings that affect external data:

  • Allow External Data Defines how external data can be accessed. The options for this include the following:

    • No data access allowed (default).

    • Only connection files in a trusted SharePoint Server 2010 data connection library are allowed.

    • Connections embedded in workbooks allowed in addition to connection files from a trusted data connection library.

  • Warn on Refresh Defines whether to show the query refresh warnings or not.

  • Stop When Refresh on Open Fails Defines whether to fail the workbook load if external data does not refresh when the workbook opens. This is used in scenarios where the workbook has cached data results that will change depending on the identity of the user viewing the workbook. The objective is to hide these cached results and make sure that any user who views the workbook can see only the data that is specific to that user. In this case, if the workbook is set to refresh on open and the refresh fails, the workbook is not displayed.

    Note:

    This only works if the user does not have Open Items permissions on the workbook, because a user who can open the workbook directly in Excel can always see the cached data results. You can prevent the user from opening the workbook in Excel by making sure that the user only has Viewers permissions in the document library.

  • External Data Cache Lifetime Defines external data cache expiration times. Data is shared among many users on the server to improve scale and performance, and these cache lifetimes are adjustable. This accommodates scenarios in which query execution should be kept to a minimum because the query might take a long time to execute. In these scenarios, the data often changes only daily, weekly, or monthly instead of by the minute or every hour.

Trusted data connection libraries and managed connections

A data connection library is a SharePoint Server 2010 library that is designed to store connection files, which can then be referenced by Office 2010 applications, such as Excel and Microsoft Visio. Excel Services only loads connection files from trusted SharePoint Server 2010 data connection libraries. A trusted data connection library is a library that the server administrator has explicitly added to an internal trusted list. For information about how to trust a data connection library for use with Excel Services, see Manage Excel Services connections (SharePoint Server 2010).

Data connection libraries let you centrally manage, secure, store, and reuse data connections.

Reusing connections

Users can reuse connections that were created by other users and create different reports that use the same data source. You can have the IT department or a business intelligence expert create connections, and other users can reuse them without having to understand the details about data providers, server names, or authentication. The location of the data connection library can even be published to Office clients so that the data connections are displayed in Excel or in any other client application that uses the data connection library. For more information, see Manage Excel Services connections (SharePoint Server 2010).

Managing connections

Because workbooks contain a link to the file in a data connection library, if something about the connection changes (such as a server name or a Secure Store application ID), only a single connection file has to be updated instead of potentially many workbooks. The workbooks will obtain the connection changes automatically the next time that they use that connection file to refresh data from Excel or Excel Services.

Securing connections

The data connection library is a SharePoint library, and it supports all the permissions that SharePoint Server 2010 does, including per-folder and per-item permissions. The advantage that this provides on the server is that a data connection library can become a locked-down data connection store that is highly controlled. Many users may have read-only access to it. This enables them to use the data connections. But they can be prevented from adding new connections. By using access control lists (ACLs) with the data connection library, and letting only trusted authors upload connections, the data connection library becomes a store of trusted connections.

Excel Services can be configured to load connection files only from data connection libraries that are explicitly trusted by the server administrator, and to block loading of any embedded connections. In this configuration, Excel Services uses the data connection library to apply another layer of security around data connections.

Data connection libraries can even be used together with the new Viewer role in SharePoint Server 2010 that enables those connections to be used to refresh workbooks rendered in a browser by Excel Services. If the Viewer role is applied, users cannot access the connection file contents from a client application, such as Excel. Therefore, the connection file contents are protected but still can be used for workbooks refreshed on the server.

Trusted data providers

Excel Services only uses external data providers that are on the Excel Services trusted data providers list. This is a security mechanism that prevents the server from using providers that the administrator does not trust. For information about how to trust a data provider, see Manage Excel Services connections (SharePoint Server 2010).

Unattended service account

Excel Services runs under a highly privileged account. Because Excel Services has no control over the data provider and does not directly parse provider-specific connection strings, using this account for the purposes of data access would be a security risk. To lessen this risk, Excel Services uses an unattended service account. This is a low-privileged account that is impersonated by Excel Services if either of the following conditions are true:

  • Any time that it is trying a connection where the None authentication option is selected.

  • Whenever the SSS (Secure Store Service) option is selected and the stored credentials are not Windows credentials.

If the None option is selected and the unattended account does not have access to the data source, Excel Services impersonates the unattended service account and uses information that is stored in the connection string to connect to the data source.

If the None option is selected and the unattended account has access to the data source, a connection is successfully established using the credentials of the unattended service account. Use caution when you design solutions that intentionally use this account to connect to data. This is a single account that potentially can be used by every workbook on the server. It is possible for any user opening a workbook with an authentication setting of None using Excel Services to view that data by using the server. In some scenarios, this might be needed. However, Secure Store is the preferred solution for managing passwords on a per-user or per-group basis.

If the SSS (Secure Store Service) option is selected and the stored credentials are not Windows credentials, Excel Services impersonates the unattended service account and then attempts to connect to the data source by using the stored credentials.

If the Windows Authentication option is selected, or if the SSS option is selected and the stored credentials are Windows credentials, then the unattended service account is not used. Instead, Excel Services impersonates the Windows identity and attempts to connect to the data source.

See Also

Concepts

Excel Services administration (SharePoint Server 2010)
Use Excel Services with Secure Store (SharePoint Server 2010)


Plan Excel Services authentication (SharePoint Server 2010)
See Also

Excel Services in Microsoft SharePoint Server 2010 gives you a significant level of precise control for the processing and displaying of Excel workbooks. You can control how workbooks are opened on the server and the specific capabilities that are enabled for each workbook. This article describes the security and authentication settings for Excel Services and related components that you must consider when planning a deployment. This article also contains prescriptive guidance for using Excel Services to help secure and manage access to workbooks on the server.

In this article:

  • About Excel Services security

  • Plan user authentication

  • Communication among servers

  • Plan external data authentication

About Excel Services security

The security model for Excel Services is based on the concept that to make sure of data integrity and quality, an administrator must be able to centrally manage shared resources and user access to corporate intellectual property contained in workbooks. To do this you can use Excel Services to specify:

  • Trusted file locations These are SharePoint document libraries, UNC paths, or HTTP Web sites that have to be explicitly trusted before Excel Services can access them. Excel Services opens workbooks that are stored in trusted file locations only.

  • Trusted data providers These are data providers that Excel Services is explicitly configured to trust when it is processing data connections in workbooks. Excel Services attempts to process a data connection only if the connection uses a trusted data provider.

  • Trusted data connection libraries These are SharePoint document libraries that contain Office data connection (.odc) files. The .odc files are used to centrally manage connections to external data sources. Instead of allowing embedded connections to external data sources, Excel Services can be configured to require that you use .odc files for all data connections. The .odc files are stored in data connection libraries, and the data connection libraries have to be explicitly trusted before Excel Services will allow workbooks to access them.

    By default, cross-domain workbook and data connection access is not enabled. To allow workbooks in trusted file locations (and data connections in trusted data connection libraries) to be accessed across domains by Web Parts, Web pages, or Web services, run the Windows PowerShell cmdlets, as shown in the examples in Manage Excel Services with Windows PowerShell (SharePoint Server 2010).

    The requesting Web pages and the workbooks or data connections must live in the same farm.

    Note:

    When you open a workbook in Excel Services, a temporary file is stored in the %TEMP% folder of the application server that is running Excel Services.

Plan user authentication

We recommend that you store Excel workbooks you will use with Excel Calculation Services in SharePoint Server 2010 document libraries, because SharePoint Foundation 2010 maintains an access control list (ACL) for these files. Excel Services can also open workbooks from UNC paths and HTTP Web sites.

Authentication for user access to a SharePoint site is performed by SharePoint Server 2010. By default, SharePoint Server uses Integrated Windows authentication.

In addition to the listed authentication methods, Excel Services also supports generic forms-based authentication. However, configuring SharePoint Server to use generic forms-based authentication is not discussed here.

Communication among servers

Claims-based authentication is the authentication mechanism used by SharePoint Server 2010 within the farm. It is a Microsoft and industry standard with broad support. Claims authentication helps improve security and authentication when you deploy farms, Office Business Applications, and SharePoint services in different environments. Excel Services uses claims-based authentication for all deployment scenarios, whether in a single server installation or in a farm environment. Additionally, the authentication and authorization of users to all content and resources within SharePoint Server 2010 is much more secure with claims-based authentication.

Plan external data authentication

Excel Services supports three data authentication options: Windows Authentication, SSS (Secure Store Service), and None. The data authentication setting is configured as part of the data connection properties in an Excel workbook or in an external Office Data Connection (ODC) file.

Integrated Windows authentication

If you choose the Windows Authentication option, Excel Services will attempt to pass the Windows identity of the user viewing the Excel workbook to the external data source. Kerberos delegation is required for any data source that is located on a different server than the server where Excel Calculation Services is running, if that data source is using Integrated Windows authentication.

In most enterprise environments, Excel Calculation Services will be running on a different computer from the data source. This means that Kerberos delegation (constrained delegation is recommended) will be required to enable data connections that use Integrated Windows authentication. For more information about how to configure Kerberos constrained delegation for Excel Services, see Configure Kerberos authentication for SharePoint 2010 Products (white paper).

Secure Store Service authentication

Secure Store is a SharePoint Server 2010 service application that is used to store encrypted credentials in a database for use by applications to authenticate to other applications. In this case, Excel Services uses Secure Store to store and retrieve credentials for use in authenticating to external data sources.

If you choose the SSS (Secure Store Service) option, you must then specify the application ID of a Secure Store target application. The specified target application serves as a lookup that is used to retrieve the appropriate set of credentials. Each target application can have permissions set so that only specific users or groups can use the stored credentials.

Excel Services supports both individual and group mappings. With individual mappings, a single user is mapped to a single set of credentials stored in Secure Store. With group mappings, a group of users is mapped to a single set of credentials stored in Secure Store.

For more information about how to use Excel Services with Secure Store, see Use Excel Services with Secure Store (SharePoint Server 2010).

None

When you select the None option, no credential retrieval occurs and no special action is taken for authentication for the connection. Excel Services does not try to delegate credentials, and it does not try to retrieve credentials that are stored for the user from the Secure Store database. Instead, Excel Services impersonates the unattended service account and passes the connection string to the data provider that handles authentication.

The connection string may specify a user name and password to connect to the data source or it may specify that the Windows identity of the user or computer that is issuing the request be used to connect to the data source. In either case, the unattended account is impersonated first and then the data source connection is made. The connection string and the provider determine the authorization method. Additionally, authorization can be based on either the credentials found in the connection string or the impersonated unattended account's Windows identity. For more information, see Unattended service account.

Unattended service account

Excel Services runs under a highly privileged account. Because Excel Services has no control over the data provider and does not directly parse provider-specific connection strings, using this account for the purposes of data access would be a security risk. To lessen this risk, Excel Services uses an unattended service account. This is a low-privileged account that is impersonated by Excel Services if either of the following conditions are true:

  • Any time that it is trying a connection where the None authentication option is selected.

  • Whenever the SSS (Secure Store Service) option is selected and the stored credentials are not Windows credentials.

You can configure the unattended service account either as a domain account or as a local computer account. If the unattended service account is configured as a local computer account, make sure that the configuration is identical on every application server that runs Excel Calculation Services.

The credentials for the unattended service account are cached on the connection and on each workbook session. Each time that a workbook is loaded that has a data connection that uses the unattended service account and if the credentials are not already cached for that connection, the unattended service account is obtained from Secure Store and used. In other words, the unattended service account credentials are not cached globally but are instead taken from Secure Store as needed for each session or data connection.

Restrict the permissions of the unattended service account to enable only logging on to the network. Verify that the unattended service account does not have access to any SharePoint Server 2010 databases.

Security settings

To configure administrative settings for Excel Services, including security settings, open the SharePoint Central Administration Web site and access the Excel Services Global Settings page. See Excel Services administration (SharePoint Server 2010) for more information.

The Excel Services Global Settings page provides configuration settings for the following security options:

  • File Access Method

  • Connection Encryption

File access method

On the Excel Services Global Settings page, in the Security section, under File Access Method, select either Impersonation or Process account.

  • Impersonation This enables a thread to run in a security context other than the context of the process that owns the thread. Select Impersonation to require Excel Calculation Services to authorize users when they try to access workbooks that are stored in UNC and HTTP locations. Selecting this does not affect workbooks that are stored in SharePoint Server 2010 databases. In most server farm deployments in which front-end web servers and Excel Calculation Services application servers run on different computers, impersonation will require constrained Kerberos delegation.

  • Process account If Excel Calculation Services application servers are opening workbooks from UNC shares or HTTP Web sites, the user account will not be impersonated, and the process account will be used.

Connection encryption

You can use Internet Protocol Security (IPsec) or Secure Sockets Layer (SSL) to encrypt data transmission among Excel Calculation Services application servers, data sources, client computers, and front-end web servers. To require encrypted data transmission between client computers and front-end web servers, click the Connection Encryption setting Required. Not required is the default setting. If you change the Connection Encryption setting to Required, the Excel Calculation Services application server will only enable data transmission between client computers and front-end web servers over SSL connections.

If you decide to require encrypted data transmission, you will have to manually configure IPsec or SSL. You can require encrypted connections between client computers and front-end web servers while enabling connections that are not encrypted between front-end web servers and Excel Calculation Services application servers.

Trusted file locations

Trusted file locations are SharePoint sites, UNC paths, or HTTP Web sites from which Excel Services is permitted to access workbooks.

In the Location section of the Excel Services Add Trusted File Location page, you can configure the address, the location type, and whether child libraries of trusted file locations are also trusted. By selecting Trust Children you can improve manageability. However, you can also create a potential security issue by enabling subsites and subdirectories of trusted locations to be automatically trusted as soon as they are created.

In the Session Management section, you can configure settings to help conserve resource availability and improve Excel Services performance and security. Performance can decrease when many users have multiple Excel Services sessions open at the same time. You can control resource consumption and limit the duration of open Excel Services sessions by configuring two time-out settings for open sessions.

The Session Timeout setting determines the time that an Excel Services session can remain open and inactive after each user interaction. The Short Session Timeout setting determines how long an Excel Services session can remain open and inactive after the initial session request. The New Workbook Session Timeout setting determines how long an Excel Services session for a new workbook can remain open and inactive before it is shut down. You can also control the number of seconds allowed for any single session request by configuring a Maximum Request Duration value. By limiting how long sessions remain open, you can help reduce the risk of denial-of-service attacks.

In the Workbook Properties section, you can configure a maximum size of any workbook, chart or image that is permitted to be opened in an Excel Services session. Performance and resource availability can be compromised when users open extremely large workbooks. Unless you control the allowable size of workbooks running in open Excel Services sessions, you risk users exceeding your resource capacity and causing the server to fail.

Note:

If an application server that runs Excel Calculation Services fails or is shut down, all open sessions on the server are lost. In a stand-alone installation, Excel Services will no longer be available. This means that workbooks cannot be loaded, recalculated, refreshed, or retrieved by . In a server farm deployment that includes multiple application servers that run Excel Calculation Services, shutting down one server does not affect open sessions that are running on other servers. Users with sessions running on a server that is shut down are prompted to reopen their workbooks. When users start a new session, they are automatically routed to active application servers that are running Excel Calculation Services.

In the External Data section, you can determine whether workbooks stored in trusted file locations and opened in Excel Services sessions can access an external data source. You can designate whether Allow External Data is set to None, Trusted data connection libraries only, or Trusted data connection libraries and embedded. If you select either Trusted data connection libraries only or Trusted data connection libraries and embedded, the workbooks stored in the trusted file locations can access external data sources.

External data connections can be accessed only when they are embedded in or linked from a workbook. Excel Services checks the list of trusted file locations before it opens a workbook. If you select None, Excel Services will block any attempt to access an external data source. If you manage data connections for many workbook authors, consider specifying Trusted data connection libraries only. This ensures that all data connections in all of the workbooks generated by authenticated workbook authors have to use a trusted data connection library to access any external data sources.

If you manage data connections for only a few workbook authors, consider specifying Trusted data connection libraries and embedded. This enables workbook authors to embed direct connections to external data sources in their workbooks, but still have access to trusted data connection libraries if the embedded links fail.

In the Warn on Refresh area of the External Data section, you can specify whether a warning is displayed before a workbook updates from an external data source. By selecting Refresh warning enabled, you ensure that external data is not automatically refreshed without user interaction.

In the Display Granular External Data Errors option, if you enable the Granular External Data Errors setting it provides descriptive error messages to display that provide helpful information for troubleshooting and fixing connection problems.

In the Stop When Refresh on Open Fails area, you can specify if Excel Services stops opening a workbook if the workbook contains a Refresh on Open data connection that fails. By selecting Stopping open enabled, you ensure that cached values are not displayed if an update operation fails when the workbook is opened by any user having View Only permissions to the workbook. When Refresh on Open is successful, cached values are purged. By clearing the Stopping open enabled check box, you risk displaying cached values if Refresh on Open fails.

In the External Data Cache Lifetime area of the External Data section, you can specify the maximum time that cached values can be used before they expire, and the maximum number of external data queries that can execute at the same time in a single session.

To make sure that only trusted users have access to workbooks stored in trusted locations, it is important to enforce ACLs on all trusted file locations.

There are three core scenarios to deploy Excel Services: enterprise, small department, and custom.

In an enterprise deployment, consider the following guidelines:

  • Do not configure support for user-defined functions.

  • Do not enable workbooks to use embedded data connections to directly access external data sources.

  • Limit the use of data connection libraries for external data source access from workbooks.

  • Restrict the size of workbooks that can be opened in Excel Services.

  • Selectively trust specific file locations and do not enable Trust Children for trusted sites and directories.

In a small department deployment, consider the following guidelines:

  • Enable trust for all file locations that are used by department members to store workbooks.

  • Enable Trust Children for all trusted sites and directories.

  • Selectively restrict access to specific file locations if problems occur.

In a custom deployment, consider the following guidelines:

  • Enable Excel Services to open large workbooks.

  • Configure long session time-out settings.

  • Configure large data caches.

  • Create a single trusted location for this deployment.

  • Do not enable Trust Children for this trusted location.

Trusted data providers

You can control access to external data by explicitly defining the data providers that are trusted and adding them to the list of trusted data providers. The list of trusted data providers designates specific external data providers to which workbooks opened in Excel Services are permitted to connect.

Before instantiating a data provider to enable a workbook to connect to an external data source, Excel Services checks the connection information to determine whether the provider appears on the list of trusted data providers. If the provider is listed, a connection is tried; otherwise, the connection request is ignored.

Trusted data connection libraries

A trusted data connection library is a data connection library from which you have determined that it is safe to access .odc files. Data connection libraries are used to help secure and manage data connections for workbooks that are accessed by Excel Services. You can designate a data connection library as trusted by adding it to the Excel Services trusted data connection libraries list.

If a data connection is linked from a workbook that is accessed by Excel Services, the server checks the list of trusted data connection libraries. If the data connection library is listed, a connection is tried by using the .odc file from the data connection library; otherwise, the connection request is ignored.

View Only permissions

You can specify users who are only permitted to view workbooks by adding them to the SharePoint Server 2010 Viewers group or by creating a new group configured to use View Only permissions. By default, the Viewers group is configured to use View Only permissions. Users added to a group configured to use View Only permissions can view, open, interact with, refresh, and recalculate workbooks. But they are prevented from accessing the source file in any way, other than by using Excel Services. This helps you protect your proprietary information.

Workbooks and workbook data objects configured to use View Only permissions cannot be opened in Microsoft Excel 2010. However, a snapshot of the workbook, displaying only values and formatting of the server-viewable ranges, can be rendered in Excel 2010.

You can configure site settings in SharePoint Server 2010 to control access to workbook data by setting View Only permissions on centrally managed workbooks that are rendered in a web browser. You can also configure site settings in SharePoint Server 2010 to enable workbooks to refresh external data on the server, and to help secure and manage external data connections. See Excel Services administration (SharePoint Server 2010) for more information about how to save specified data objects as View Only items.

External data connections

The Excel Calculation Services component of Excel Services is used to connect to external data sources. Excel Calculation Services processes external data connection information that contains everything the server must have in order to connect to a data source. This includes how to authenticate, which connection string to use, which query string to use, and where and how to collect credentials to use for the connection. These connections can be defined in two locations: embedded within workbooks and in .odc files. The connection information is identical in both locations. The .odc files are small files that contain connection information in plain text. Each .odc file can be used by multiple workbooks.

You use Excel 2010 to author and edit .odc files and connections embedded in workbooks. In the Excel 2010 client, you can run the Data Connection Wizard or configure the settings in the Connections properties page. You can also export an .odc file that is based on these settings. The Connections properties page shows connection information, including Excel Services authentication settings.

.odc files

Workbooks can contain both links to an .odc file and embedded connection information. This enables workbooks to retrieve the .odc file, read the contents, and attempt to connect to an external data source if the embedded connection information fails.

You can also configure Excel Services to use connection information from the .odc file exclusively instead of first trying to connect by using the embedded information. This approach enables administrators to deploy a set of managed .odc files that provide connection information to many workbooks.

Managing .odc files

Data connection libraries provide a repository for collections of .odc files. Administrators can manage data connections on the server by creating a trusted data connection library and .odc files that require workbooks to always use a connection file.

If data source information changes (for example, the server name), you only have to update one .odc file in the data connection library and all of the workbooks that consume the .odc file will be automatically updated the next time that they refresh. You can also use View Only permissions to restrict access to .odc files.

User-defined function assemblies

If your deployment scenarios include workbooks that contain user-defined functions to extend the capabilities of Excel Calculation Services, you must configure Excel Services to support user-defined functions.

To configure this support, you must enable user-defined functions on trusted file locations that contain workbooks that require access to user-defined functions. In addition, you must register user-defined function assemblies on the Excel Services user-defined function assembly list. See Excel Services administration (SharePoint Server 2010) for more information about how to enable user-defined functions.

See Also

Other Resources

Resource Center: Security and Authentication for SharePoint Server 2010 (http://go.microsoft.com/fwlink/p/?LinkId=220216)


Excel Services capacity planning (SharePoint Server 2010)
See Also

Published: June 10, 2010

Many factors, including Excel Services in Microsoft SharePoint Server 2010, can affect the performance and availability of your Microsoft SharePoint Server 2010 deployment. These include network bandwidth and resource consumption. Excel Services can affect system performance, depending on the volume of client connections and the number of concurrent Excel Calculation Services session requests. Calculation size and complexity can also affect Excel Calculation Services resource consumption.

The scope and complexity of calculations in a Microsoft Excel workbook rendered using Excel Services can affect the performance and availability of Excel Services in a SharePoint Server 2010 deployment. As calculation volume, complexity, and frequency increase, more system resources are consumed. We recommend that you define baseline hardware requirements for system memory and CPU capacity for each application server that runs Excel Calculation Services.

For detailed information about how to estimate performance and capacity requirements for Excel Services, see Estimate performance and capacity requirements for Excel Services in SharePoint Server 2010.

High Performance Computing Services for Excel 2010

You can now run Microsoft Excel 2010 workbooks and user-defined functions on a Windows HPC cluster by using Windows HPC Server 2008 R2. For information about how to use Windows HPC Server 2008 R2 with Microsoft Excel 2010, see HPC Services for Excel.

See Also

Other Resources

SharePoint Server 2010 performance and capacity test results and recommendations (http://go.microsoft.com/fwlink/p/?LinkID=191156)


Using SharePoint lists as data sources with Excel Services (SharePoint Server 2010)

Published: January 20, 2011

If you have ever tried to use Microsoft SharePoint Server 2010 lists as a data source for Excel Services in SharePoint, you know that it does not work. Natively, Excel Services in Microsoft SharePoint Server 2010 is unable to consume SharePoint Server 2010 lists as data sources. However, there are ways to work around this situation.

In this article:

  • Microsoft SQL Server 2008 R2 PowerPivot for Microsoft Excel 2010

  • User-defined functions (UDFs)

  • Web Services API

  • Java Script Object Model (JSOM)

PowerPivot for Excel

PowerPivot for Excel is an add-in to Microsoft Excel 2010 that provides tools that can help consume SharePoint Server 2010 lists. For more information, see PowerPivot for Excel in SQL Server Books Online.

With PowerPivot for Excel you can use the Export as Data Feed command in a SharePoint Server 2010 list and then save this as a data feed to a new or existing PowerPivot for Excel workbook. You can then publish this PowerPivot for Excel workbook to SharePoint Server 2010 by using Excel Services.

Important:

You must install ADO.NET Data Services Update for the .NET Framework 3.5 SP 1. You can download it by using one of the following links:

  • ADO.NET Data Services Update for .NET Framework 3.5 SP1 for Windows 2000, Windows Server 2003, Windows XP, Windows Vista and Windows Server 2008 (http://go.microsoft.com/fwlink/p/?LinkId=209118)

  • ADO.NET Data Services Update for .NET Framework 3.5 SP1 for Windows 7 and Windows Server 2008 R2 (http://go.microsoft.com/fwlink/p/?LinkId=209119)

User-defined functions

User-defined functions extend the Microsoft Excel 2010 and Excel Services functionalities to work with SharePoint Server 2010 lists. For information about how to use user-defined functions together with SharePoint Server lists and Excel Services, see Consuming SharePoint Lists in Excel Services (http://go.microsoft.com/fwlink/p/?LinkId=209143). Note that this blog post was published for Excel Services in Microsoft Office SharePoint Server 2007 but is still relevant for Excel Services in Microsoft SharePoint Server 2010.

For information about how to use user-defined functions, see "Consuming SharePoint Lists" in the MSDN Library article, Extending the Excel Services Programmability Framework (http://go.microsoft.com/fwlink/p/?LinkId=209145). Also, see Understanding Excel Services UDFs (http://go.microsoft.com/fwlink/p/?LinkId=209146 ) for detailed information about how to use user-defined functions with Excel Services.

Web Services API

The Web Services API can be used to push data from a database and then refresh the data in a SharePoint Server list by using Excel Services. In the Excel Web Services API methods, you can use GetRange and SetRange to select specific information from lists that you want to compare or analyze in an Excel 2010 workbook and then use Excel Services to expose it in SharePoint Server 2010. For more information, see the following articles on the Excel Developer Roadmap for Excel Services (http://go.microsoft.com/fwlink/p/?LinkId=209137) site:

  • How to: Refresh Data (http://go.microsoft.com/fwlink/p/?LinkId=209139)

  • Walkthrough: Developing a Custom Application Using Excel Web Services (http://go.microsoft.com/fwlink/p/?LinkId=209140)

  • Accessing the SOAP API (http://go.microsoft.com/fwlink/p/?LinkId=209142)

JavaScript Object Model

The JavaScript Object Model for Excel Services in Microsoft SharePoint Server 2010 provides many solutions for Excel Services. By using the JavaScript Object Model, you can refresh an Excel workbook that is published as a SharePoint Server list.

Using the JavaScript Object Model, you can access complete lists or ranges and then set and retrieve values from individual cells or ranges. Additionally, the JavaScript Object Model can be used to scroll to a different region and to switch the displayed spreadsheet or named item.

For detailed information about the JavaScript Object Model, see the blog post Introducing the JavaScript Object Model for Excel Services in SharePoint 2010 (http://go.microsoft.com/fwlink/p/?LinkId=209147).


Plan for PerformancePoint Services (SharePoint Server 2010)
See Also

Published: May 8, 2010

This section describes how to plan for PerformancePoint Services within a Microsoft SharePoint Server 2010 environment.

In this section:

  • PerformancePoint Services overview (SharePoint Server 2010)

    PerformancePoint Services in Microsoft SharePoint Server 2010 is a performance management service that you can use to monitor and analyze your business. By providing flexible, easy-to-use tools for building dashboards, scorecards, and key performance indicators (KPIs), PerformancePoint Services can help individuals across an organization make informed business decisions that align with companywide objectives and strategy.

  • Overview of PerformancePoint Services architecture (SharePoint Server 2010)

    Microsoft SharePoint Server 2010 provides the flexibility to meet many different deployment solution goals.

  • Estimate performance and capacity requirements for PerformancePoint Services

    This article provides guidance on the effect that PerformancePoint Services has on topologies running Microsoft SharePoint Server 2010. It describes what was learned from having created a test farm to perform capacity testing for several different scenarios and various topologies.

  • Client hardware and software requirements for Dashboard Designer

    This article describes the hardware and software requirements for running PerformancePoint Dashboard Designer.

  • Plan for importing PerformancePoint Server 2007 dashboard content to SharePoint Server 2010

    To facilitate and simplify the process of importing dashboard content from Microsoft Office PerformancePoint Server 2007 into PerformancePoint Services in Microsoft SharePoint Server 2010, an import wizard is available.

  • Plan for PerformancePoint Services security (SharePoint Server 2010)

    In PerformancePoint Services in Microsoft SharePoint Server 2010, the objects stored in lists and document libraries are secured by the Microsoft SharePoint Server 2010 security model. On top of that model, PerformancePoint Services adds additional product features to the basic SharePoint Server 2010 framework to ensure that data sources and dashboard content are secure and protected from unwarranted access.

  • Authorization and permissions in PerformancePoint Services (SharePoint Server 2010)

    PerformancePoint Services uses the SharePoint Server security model to control user access to various functionality and tasks.

  • Planning for PerformancePoint data sources (PerformancePoint Services)

    This article is an overview of data sources that are available through PerformancePoint Services.

  • Best practices for SQL Server OLAP cube design and MDX querying (SharePoint Server 2010)

    This article highlights best practices that help improve the performance of SSAS as a data source for Excel Services in Microsoft SharePoint Server 2010, PerformancePoint Services in Microsoft SharePoint Server 2010, and Visio Services in Microsoft SharePoint Server 2010.

  • Overview of PerformancePoint Services components (SharePoint Server 2010)

    PerformancePoint Services and Microsoft SharePoint Server 2010 front-end Web components work together to provide monitoring and reporting functionality.

  • Plan to customize PerformancePoint Services

    This article describes ways that you can customize the native functionality of PerformancePoint Services in Microsoft SharePoint Server 2010 by using the PerformancePoint Services SDK.

  • Plan a PerformancePoint dashboard to show organizational performance

    These articles cover PerformancePoint dashboards.

  • PerformancePoint Services and PowerPivot for Excel (white paper)

    This white paper discusses integration between PerformancePoint Services and PowerPivot for Excel.

See Also

Concepts

Best practices for SQL Server OLAP cube design and MDX querying (SharePoint Server 2010)
PerformancePoint Services overview (SharePoint Server 2010)

Other Resources

Resource Center: Business Intelligence in SharePoint Server 2010


PerformancePoint Services overview (SharePoint Server 2010)
See Also

Published: May 8, 2010

PerformancePoint Services in Microsoft SharePoint Server 2010 is a performance management service that you can use to monitor and analyze your business. By providing flexible, easy-to-use tools for building dashboards, scorecards, and key performance indicators (KPIs), PerformancePoint Services can help individuals across an organization make informed business decisions that align with companywide objectives and strategy. Dashboards, scorecards, KPIs, and reports help drive accountability. Integrated analytics help workers quickly move from monitoring information to analyzing it, and where appropriate, sharing it throughout the organization. Before PerformancePoint Services became part of Microsoft SharePoint Server 2010, Microsoft Office PerformancePoint Server 2007 was a standalone server. Now the functionality of Microsoft Office PerformancePoint Server 2007 is available as an integrated part of the Office SharePoint Server Enterprise license. PerformancePoint Services retains much of the same features and functionality as its predecessor while including additional benefits, enhancements, and new functionality.

Note:

An upgrade wizard is now available, that moves database objects from the previous version, PerformancePoint Server 2007, to PerformancePoint Services.

PerformancePoint Services

The following is an overview of features for PerformancePoint Services.

  • Create interactive and context driven dashboards with scorecards, analytic reports and filters. Reports also integrate with SQL Server Reporting Services and Excel Services.

  • Create scorecards that bring together data from multiple data sources (including Analysis Services, SQL Server, SharePoint lists and Excel Services) to track and monitor key drivers of your business.

  • Use interactive analytic reports to identify driving forces and root causes, and apply filters to personalize your reports.

  • Integrate your business intelligence applications and information with other powerful SharePoint Server features, such as collaboration and content management.

New features and enhancements

The following is an overview of new features and enhancements.

  • PerformancePoint is a service in SharePoint Server. Dashboards and dashboard items are stored and secured within SharePoint Server lists and libraries, providing you with a single security and repository framework. The new architecture also takes advantage of SharePoint Server security framework, scalability, collaboration, backup and restore, and disaster recovery capabilities. You can also include and link PerformancePoint Services Web Parts together with other SharePoint Server Web Parts on the same page. The new architecture also streamlines security models that simplify access to report data.

  • The visualization Decomposition Tree is a new report type that you can use to quickly and visually break down higher-level data values from a multi-dimensional data set in order to understand the driving forces behind those values. The Decomposition Tree is available in scorecards and analytic reports rendered in your dashboards.

  • The KPI Details report is a new report type that displays contextually relevant information about KPIs, metrics, rows, columns, and cells within a scorecard. The KPI Details report works as a Web Part that links to a scorecard or individual KPI and can be added to dashboards or any SharePoint Server page.

  • Scorecards have been enhanced to make it easy for you to drill down and quickly access more detailed information. PerformancePoint scorecards also offer more flexible layout options, dynamic hierarchies, and calculated KPI features. Using this enhanced functionality, you can now create custom metrics that use multiple data sources. You also can sort, filter, and view variances between actual and target values to help you identify concerns or risks.

  • With Better Time Intelligence filtering capabilities you can create and use dynamic time filters that are always up to date. Other improved filters enhance the ability for dashboard users to quickly focus in on information that is most relevant.

  • SharePoint Web Parts can include and link to PerformancePoint Web Parts on the same page.

  • It's easier to author and publish dashboard items using Dashboard Designer.

  • There is increased support for accessibility compliance in individual reports and scorecards.

  • Analytic reports have been enhanced to support value filtering, new chart types, and server-based conditional formatting.

  • Support for SQL Server Analysis Services 2008 and SQL Server 2008.

Retired features

PerformancePoint Services no longer supports Trend Charts, PivotTable reports, PivotChart reports, Analysis Services 2000, and 32-bit server architecture.

See Also

Other Resources

Resource Center: What's New in Microsoft SharePoint Server 2010
Resource Center: Business Intelligence in SharePoint Server 2010


Overview of PerformancePoint Services architecture (SharePoint Server 2010)

Microsoft SharePoint Server 2010 provides the flexibility to meet many different deployment solution goals. For more information about designing server farms and physical topologies, see the model called "Services in SharePoint 2010 Products" in Technical diagrams (SharePoint Server 2010).

PerformancePoint Services topology

The following is a farm topology that uses three servers for implementing PerformancePoint Services in Microsoft SharePoint Server 2010.

Architecture for three-server farm

The front-end Web server runs on Internet Information Services (IIS) and hosts the PerformancePoint Services Web Parts, Web services, and proxy that are required for communication between the client and the PerformancePoint Services service application.

The service application is a wrapper for the middle-tier business logic for an instance of PerformancePoint Services.

PerformancePoint Services as a service application

In SharePoint Server 2010 services are no longer contained within a Shared Service Provider (SSP). Instead, the infrastructure for hosting services becomes part of SharePoint Server 2010, and the configuration of service offerings is more flexible. The service applications framework is a common service model that provides the following benefits.

  • A consistent management experience and shared infrastructure for all services. As one of those services, PerformancePoint Services can provide the ability to perform bulk security operations for service applications in a farm from the SharePoint Central Administration Web site.

  • Backup and recovery benefits also include restoring a site collection, site, or list content to a previous version or point-in-time.

  • Services are installed by default, so there is no SSP setup or configuration.

  • Sites can be configured to use only the services that are needed, rather than the entire list of services.

  • Deploying services across sites and farms is more flexible. Similar to previous versions, a single set of services can be shared by all Web sites in a farm.


Estimate performance and capacity requirements for PerformancePoint Services
See Also

Published: September 9, 2010

This article describes the effect that use of PerformancePoint Services has on topologies running Microsoft SharePoint Server 2010.

Note:

It is important to be aware that the specific capacity and performance figures presented in this article will differ from the figures in real-world environments. The figures presented are intended to provide a starting point for the design of an appropriately scaled environment. After you have completed your initial system design, test the configuration to determine whether the system will support the factors in your environment.

In this article:

  • Test farm characteristics

  • Test results

  • Recommendations

For general information about how to plan and run your capacity planning for SharePoint Server 2010, see Capacity management and sizing for SharePoint Server 2010.

Test farm characteristics

Dataset

The dataset consisted of a corporate portal built by using SharePoint Server 2010 and PerformancePoint Services that contained a single, medium-sized dashboard. The dashboard contained two filters linked to one scorecard, two charts, and a grid. The dashboard was based on a single Microsoft SQL Server 2008 Analysis Services (SSAS) data source that used the AdventureWorks sample databases for SQL Server 2008 Analysis Services cube.

The table that follows describes the type and size of each element on the dashboard.

Name | Description | Size
Filter One | Member selection filter | 7 dimension members
Filter Two | Member selection filter | 20 dimension members
Scorecard | Scorecard | 15 dimension member rows by 4 columns (2 KPIs)
Chart One | Line chart | 3 series by 12 columns
Chart Two | Stacked bar chart | 37 series by 3 columns
Grid | Analytic grid | 5 rows by 3 columns

The medium dashboard used the Header and Two Columns template, and the dashboard item sizes were set to either auto-size or a specific percentage of the dashboard. Each item on the dashboard was rendered with a random height and width between 400 and 500 pixels to simulate the differences in Web browser window sizes. It is important to change the height and width of each dashboard item because charts are rendered based on Web browser window sizes.

Test scenarios and processes

This section defines the test scenarios and discusses the test process that was used for each scenario. Detailed information such as test results and specific parameters are given in the Test results sections later in this article.

Test name Test description

Render a dashboard and randomly change one of the two filters five times with a 15 second pause between interactions.

  1. Render the dashboard.

  2. Select one of the two filters and randomly select a filter value and wait until the dashboard is re-rendered.

  3. Repeat four more times, randomly selecting one of the two filters and a random filter value.

Render a dashboard, select a chart, and expand and collapse it five times with a 15 second pause between interactions.

  1. Render the dashboard.

  2. Select a random member on a chart and expand it.

  3. Select another random member on the chart and collapse it.

  4. Select another random member on the chart and expand it.

  5. Select another random member on the chart and collapse.

Render a dashboard, select a grid, and expand and collapse it five times with a 15 second pause between interactions.

  1. Render the dashboard. Select a random member on a grid and expand the member.

  2. Select another random member on the grid and expand it.

  3. Select another random member on the grid and collapse it.

  4. Select another random member on the grid and expand it.

A single test mix was used that consisted of the following percentages of tests started.

Test name | Test mix
Render a dashboard and randomly change one of the two filters five times. | 80%
Render a dashboard, select a chart, and expand and collapse it five times. | 10%
Render a dashboard, select a grid, and expand and collapse it five times. | 10%

Microsoft Visual Studio 2008 Load Testing tools were used to create a set of Web tests and load tests that simulated users randomly changing filters and navigating on grids and charts. The tests used in this article contained a normal distribution of 15-second pauses, also known as "think times," between interactions and a think time between test iterations of 15 seconds. Load was applied to produce a two-second average response time to render a scorecard or report. The average response time was measured over a period of 15 minutes after an initial 10 minute warm-up time.

Each new test iteration select a distinct user account from a pool of five thousand accounts and a random IP address (using Visual Studio IP Switching) from a pool of approximately 2,200 addresses.

The test mix was run two times against the same medium-sized dashboard. In the first run, the data source authentication was configured to use the Unattended Service Account, which uses a common account to request the data. The data results are identical for multiple users, and PerformancePoint Services can use caching to improve performance. In the second run, the data source authentication was configured to use per-user identity, and the SQL Server Analysis Services cube was configured to use dynamic security. In this configuration, PerformancePoint Services uses the identity of the user to request the data. Because the data results could be different, no caching can be shared across users. In certain cases, caching for per-user identity can be shared if Analysis Services dynamic security is not configured and the Analysis Services roles, to which Microsoft Windows users and groups are assigned, are identical.

Hardware setting and topology

Lab hardware

To provide a high level of test-result detail, several farm configurations were used for testing. Farm configurations ranged from one to three Web servers, one to four Application servers, and a single database server that was running Microsoft SQL Server 2008. A default enterprise installation of SharePoint Server 2010 was performed.

The following table lists the specific hardware that was used for testing.

 | Web server | Application server | Computer that is running SQL Server | Computer that is running Analysis Services
Processor(s) | 2px4c @ 2.66 GHz | 2px4c @ 2.66 GHz | 2px4c @ 2.66 GHz | 4px6c @ 2.4 GHz
RAM | 16 GB | 32 GB | 16 GB | 64 GB
Operating system | Windows Server 2008 R2 Enterprise | Windows Server 2008 R2 Enterprise | Windows Server 2008 R2 Enterprise | Windows Server 2008 R2 Enterprise
NIC | 1x1 gigabit | 1x1 gigabit | 1x1 gigabit | 1x1 gigabit
Authentication | NTLM and Kerberos | NTLM and Kerberos | NTLM and Kerberos | NTLM and Kerberos

After the farm was scaled out to multiple Web servers, a hardware load balancer was used to balance the user load across multiple Web servers by using source-address affinity. Source-address affinity records the source IP address of incoming requests and the service host that they were load-balanced to, and it channels all future transactions to the same host.

Topology

The starting topology consisted of two physical servers, with one server acting as the Web and application server and the second server as the database server. This starting topology is considered a two-machine (2M) topology or a "1 by 0 by 1" topology where the number of dedicated Web servers is listed first, followed by dedicated application servers, and then database servers.

Web servers are also known as web front ends (WFE) later in this document. Load was applied until limiting factors were encountered. Typically the CPU on either the Web or application server was the limiting factor, and then resources were added to address that limit. The limiting factors and topologies differed significantly based on the data source authentication configuration of either the Unattended Service Account or per-user Identity with dynamic cube security.

Test results

The test results contain three important measures to help define PerformancePoint Services capacity.

Measure Description

User count

Total user count reported by Visual Studio.

Requests per second (RPS)

Total RPS reported by Visual Studio, which includes all requests and a static file requests such as images and style sheets.

Views per second (VPS)

Total views that PerformancePoint Services can render. A view is any filter, scorecard, grid, or chart rendered by PerformancePoint Services or any Web request to the rendering service URL that contains RenderWebPartContent or CreateReportHtml. To learn more about CreateReportHtml and RenderWebPartContent, see the PerformancePoint Services RenderingService Protocol Specification (http://go.microsoft.com/fwlink/p/?LinkId=200609).

IIS logs can be parsed for these requests to help plan the capacity of PerformancePoint Services. Also, using this measure provides a number that is much less dependent on dashboard composition. A dashboard with two views can be compared to a dashboard with 10 views.

Tip:

When you are using a data source configured to use Unattended Service Account authentication, the rule for the ratio of dedicated servers is one Web server to every two application servers that are running PerformancePoint Services.

Tip:

When you are using a data source configured to use per-user authentication, the rule for the ratio of dedicated servers is one Web server to every four or more application servers that are running PerformancePoint Services.

At topologies larger than four application servers, it is likely that the bottleneck is the Analysis Services server. Consider monitoring the CPU and query time of your Analysis Services server to determine whether you should scale out Analysis Services to multiple servers. Any delay in query time on the Analysis Services server will significantly increase the average response time of PerformancePoint Services beyond the desired threshold of two seconds.

The tables that follow show a summary of the test results for both Unattended Service Account authentication and per-user authentication when scaling out from two to seven servers. Detailed results that include additional performance counters are included later in this document.

Unattended Service Account authentication summary

Topology (WFE x APP x SQL) | Users | Requests per second (RPS) | Views per sec (VPS)
2M (1x0x1) | 360 | 83 | 50
3M (1x1x1) | 540 | 127 | 75
4M (1x2x1) | 840 | 196 | 117
5M (1x3x1) | 950 | 215 | 129
6M (2x3x1) | 1,250 | 292 | 175
7M (2x4x1) | 1,500 | 346 | 205

Per-user authentication summary

Topology (WFE x APP x SQL) | Users | Requests per second (RPS) | Views per sec (VPS)
2M (1x0x1) | 200 | 47 | 27
3M (1x1x1) | 240 | 56 | 33
4M (1x2x1) | 300 | 67 | 40
5M (1x3x1) | 325 | 74 | 44

2M and 3M topologies

To help explain the hardware cost per transaction and the response time curve, the load tests were run with four increasing user loads to the maximum user load for the 2M and 3M topologies.

Unattended Service Account authentication

User count | 50 | 150 | 250 | 360
Average WFE/APP CPU | 19.20% | 57.70% | 94.00% | 96.70%
RPS | 18 | 53 | 83 | 83
Views per second | 10.73 | 31.72 | 49.27 | 49.67
Average response time (sec) | 0.12 | 0.15 | 0.38 | 2

Per-user authentication

User count | 50 | 100 | 150 | 200
Average WFE/APP CPU | 30.80% | 61.30% | 86.50% | 93.30%
RPS | 17 | 32 | 43 | 47
Views per second | 10.3 | 19.32 | 26.04 | 27.75
Average response time (sec) | 0.28 | 0.45 | 0.81 | 2

3M (1x1x1) farm results

Unattended Service Account authentication

User count | 100 | 250 | 400 | 540
RPS | 36 | 87 | 124 | 127
Views per second | 21 | 52 | 74 | 75
Average response time (sec) | 0.12 | 0.18 | 0.65 | 2
Average WFE CPU | 11% | 28% | 43% | 46%
Max WFE private bytes of SharePoint Server Internet Information Services (IIS) worker process W3WP. | 0.7 GB | 1.4 GB | 2.0 GB | 2.4 GB
Average APP CPU | 25% | 62% | 94% | 95%
Max APP private bytes of PerformancePoint Services W3WP | 5.9 GB10.8 GB | 10.8 GB | 14.1 GB | 14.6 GB

Per-user authentication

User count | 50 | 120 | 180 | 240
RPS | 17 | 39 | 52 | 56
Views per second | 10 | 23 | 31 | 33
Average response time (sec) | 0.28 | 0.48 | 0.91 | 2
Average WFE CPU | 5% | 12% | 17% | 19%
Max WFE private bytes of SharePoint Server W3WP | 0.78 GB | 1.3 GB | 1.6 GB | 1.9 GB
Average APP CPU | 25% | 57% | 81% | 81%
Max APP private bytes of PerformancePoint Services W3WP | 19 GB | 20.1 GB | 20.5 GB | 20.9 GB

4M+ results for Unattended Service Account authentication

Starting with a 4M topology, load was applied to produce a two-second average response time to render a scorecard or report. Next, an additional server was added to resolve the limiting factor (always CPU on the Web server or the application server) and then the test mix was re-run. This logic was repeated until a total of seven servers was reached.

 | 4M (1x2x1) | 5M (1x3x1) | 6M (2x3x1) | 7M (2x4x1)
User count | 840 | 950 | 1,250 | 1,500
RPS | 196 | 216 | 292 | 346
Views per second | 117 | 131 | 175 | 206
Average. WFE CPU | 77% | 63% | 54% | 73%
Max WFE private bytes of SharePoint Server W3WP | 2.1 GB | 1.7 GB | 2.1 GB | 2.0 GB
Average APP CPU | 83% | 94% | 88% | 80%
Max APP private bytes of PerformancePoint Services W3WP | 16 GB | 12 GB | 15 GB | 15 GB

4M+ Results for per-user authentication

The same testing was repeated for a data source configured for per-user authentication. Note that adding an application server to create a four-application server topology did not increase the number of users or requests per second that could be supported by PerformancePoint Services because of the query delays that Analysis Services produced.

 | 3M (1x1x1) | 4M (1x2x1) | 5M (1x3x1) | 6M (1x4x1)
User count | 240 | 300 | 325 | 325
RPS | 56 | 67 | 74 | 74
Views per second | 33 | 40 | 44 | 45
Average. WFE CPU | 19% | 24% | 26% | 12%
Max WFE private bytes of SharePoint Server W3WP | 2.1 GB | 1.9 GB | 1.9 GB | 1.5 GB
Average APP CPU | 89% | 68% | 53% | 53%
Max APP private bytes of PerformancePoint Services W3WP | 20 GB | 20 GB | 20 GB | 20 GB
Analysis Services CPU | 17% | 44% | 57% | 68%

Recommendations

Hardware recommendations

The memory and processor counters from the test tables should be used to determine the hardware requirements for an installation of PerformancePoint Services. For Web servers, PerformancePoint Services uses the recommended SharePoint Server 2010 hardware requirements. Application server hardware requirements may have to be changed when PerformancePoint Services consumes a large amount of memory. This happens when data sources are configured to per-user authentication or when the application server runs many dashboards with long data source timeouts.

The database server did not become a bottleneck in the tests and peaked at a maximum CPU usage of 31% under the 7M Unattended Service Account authenticated dashboard. The PerformancePoint Services content definitions such as reports, scorecards, and KPIs are stored in SharePoint lists and are cached in memory by PerformancePoint Services, reducing the load on the database server.

Memory consumption

PerformancePoint Services can consume large amounts of memory in certain configurations, and it is important to monitor memory usage of the PerformancePoint Services application pool. PerformancePoint Services caches several items in memory, including Analysis Services and other data-source query results for the data source cache lifetime (a default of 10 minutes). When you are using a data source that is configured for Unattended Service Account authentication, these query results are only stored once and shared across multiple users. However, when you are using a data source that is configured for per-user authentication and Analysis Services dynamic cube security, the query results are stored once per user per view (that is, a "per filter" combination).

The underlying cache API that PerformancePoint Services uses is the ASP.NET Cache API. The significant advantage of using this API is that ASP.NET manages the cache and removes items (also known as a trim) based on memory limits to prevent out-of-memory errors. The default memory limit is 60 percent of physical memory. After reaching these limits, PerformancePoint Services still rendered views but response times increased significantly during the short period when ASP.NET removed cached entries.

The performance counter "ASP.NET Applications \ Cache API Trims" of the application pool hosting PerformancePoint Services can be used to monitor the ASP.NET cache trims that occur because of memory pressure. If this counter is greater than zero, then review the following table for possible solutions.

Problem | Solution
Application server processor usage is low and other services are running on the application server. | Add more physical memory or limit the memory of the ASP.NET cache.
Application server processor usage is low and only PerformancePoint Services is running on the application server. | If acceptable, configure the ASP.NET cache settings to have the cache use more memory, or add more memory.
Application server processor usage is high. | Add another application server.

A data source configured to use per-user authentication can share query results and cache entries if the Analysis Services role membership sets of the users are identical and if dynamic cube security is not configured. This is a new feature for PerformancePoint Services in Microsoft SharePoint Server 2010. For example, if user A is in role 1 and 2, and user B is in Role 1 and 2, and user C is in Role 1 and 2 and 3, only user A and user B share cache entries. If there is dynamic cube security, users A and B and also user C do not share cache entries.

Analysis Services

When PerformancePoint Services was being tested with per-user authentication, two Analysis Services properties were changed to improve multiple-user throughput performance. The following table shows the properties that were changed and the new value of each property.

Analysis Services property | Value
Memory \ HeapTypeForObjects | 0
Memory \ MemoryHeapType | 2

These two memory settings configure Analysis Services to use the Windows heap instead of the Analysis Services heap. Before changing these properties and while adding user load, response times increased significantly from 0.2 seconds to over 30 seconds while the CPU on the Web, application, and Analysis Services servers remained low. To troubleshoot, query time was collected by using Analysis Services dynamic management views (DMV), which showed an increase of individual query times from 10 milliseconds to 5000 milliseconds. These results led to modifying the above memory settings.

It is important to note that while this greatly improved throughput, according to the Analysis Services team, changing these settings has a small but measurable cost on single-user queries.

Before changing any Analysis Services properties, consult the SQL Server 2008 White Paper: Analysis Services Performance Guide (http://go.microsoft.com/fwlink/p/?LinkID=165486) for best practices on improving multiple-user throughput performance.

Common bottlenecks and their causes

During performance testing, several common bottlenecks were revealed. A bottleneck is a condition in which the capacity of a particular constituent of a farm is reached. This causes a plateau or decrease in farm throughput. If high processor utilization was encountered as a bottleneck, additional servers were added to resolve the bottleneck. The following table lists some common bottlenecks and possible resolutions assuming processor utilization was low and not the bottleneck.

Possible bottleneck | Cause and what to monitor | Resolution
Analysis Services memory heap performance | By default, Analysis Services uses its own memory heap instead of the Windows heap, which provides poor multi-user throughput performance. Review the Analysis Services query times using dynamic management views (DMV) to see if query times increase with user load and Analysis Services processor utilization is low. | Change Analysis Services to use the Windows heap. See the "Analysis Services" section earlier in this article and the SQL Server 2008 White Paper: Analysis Services Performance Guide (http://go.microsoft.com/fwlink/p/?LinkID=165486) for instructions.
Analysis Services query and processing threads | By default, Analysis Services limits the number of query and processing threads for queries. Long running queries and high user loads could use all available threads. Monitor the idle threads and job queue performance counters under the MSAS 2008:Threads category. | Increase the number of threads available to query and process. See the "Analysis Services" section of SQL Server 2008 White Paper: Analysis Services Performance Guide (http://go.microsoft.com/fwlink/p/?LinkID=165486) for instructions.
Application server memory | PerformancePoint Services caches the Analysis Services and other data source query results in memory for the data source cache lifetime. These items can consume a large amount of memory. Monitor the ASP.NET Applications \ Cache API Trims of the PerformancePoint Services application pool to determine whether cache removals or trims are being forced by ASP.NET because of low memory. | Add memory or increase the default ASP.NET cache memory limits. See Memory Consumption section earlier in this document for additional discussion. Also, see the ASP.NET cache element settings (http://go.microsoft.com/fwlink/p/?LinkId=200610) and Thomas Marquardt's blog post on Some history on the ASP.NET cache memory limits (http://go.microsoft.com/fwlink/p/?LinkId=200611).
WCF throttling settings | PerformancePoint Services is implemented as a WCF service. WCF limits the maximum number of concurrent calls as a service throttling behavior. Although long-running queries could hit this bottleneck, this is an uncommon bottleneck. Monitor the WCF / Service Model performance counter calls outstanding for PerformancePoint Services and compare to the current maximum number of concurrent calls. | If needed, change the Windows Communication Foundation (WCF) throttling behavior. See the WCF service throttling behaviors (http://go.microsoft.com/fwlink/p/?LinkId=200612) and Wenlong Dong's blog post on WCF Request Throttling and Server Scalability (http://go.microsoft.com/fwlink/p/?LinkId=200613).

Performance monitoring

To help you determine when you have to scale up or scale out the system, use performance counters to monitor the health of the system. PerformancePoint Services is an ASP.NET WCF service and can be monitored by using the same performance counters used to monitor any other ASP.NET WCF service. In addition, use the information in the following tables to determine supplementary performance counters to monitor, and to which process the performance counters should be applied.

Performance counter | Counter Instance | Notes
ASP.NET Applications / Cache API Trims | PerformancePoint Services application pool | If the value is greater than zero, review the "Memory consumption".
MSAS 2008:Threads / Query pool idle threads | N/A | If the value is zero, review the "Analysis Services" section in the SQL Server 2008 White Paper: Analysis Services Performance Guide (http://go.microsoft.com/fwlink/p/?LinkID=165486).
MSAS 2008:Threads / Query pool job queue length | N/A | If the value is greater than zero, review the "Analysis Services" section in the SQL Server 2008 White Paper: Analysis Services Performance Guide (http://go.microsoft.com/fwlink/p/?LinkID=165486).
MSAS 2008:Threads / Processing pool idle threads | N/A | If the value is greater than zero, review the "Analysis Services" section in the SQL Server 2008 White Paper: Analysis Services Performance Guide (http://go.microsoft.com/fwlink/p/?LinkID=165486).
MSAS 2008:Threads / Processing pool job queue length | N/A | If the value is greater than zero, review the "Analysis Services" section in the Analysis Services Performance Guide (http://go.microsoft.com/fwlink/p/?LinkID=165486).
WCF CountersServiceModelService 3.0.0.0(*)\Calls Outstanding | PerformancePoint Service Instance | If the value is greater than zero, see WCF Request Throttling and Server Scalability (http://go.microsoft.com/fwlink/p/?LinkID=200613).

See Also

Concepts

Plan for PerformancePoint Services (SharePoint Server 2010)


Client hardware and software requirements for Dashboard Designer

Published: May 8, 2010

This article describes the hardware and software requirements for running PerformancePoint Dashboard Designer.

Hardware requirements

The following requirements apply to a single client computer running Dashboard Designer.

Component | Minimum requirement
Processor | 1 - Dual Core 32-bit CPU (x86)
RAM | 2 GB
Hard disk | 2 GB

Software requirements

The following requirements apply to a single client computer running Dashboard Designer.

  • A supported browser as described in Plan browser support (SharePoint Server 2010)


Plan for importing PerformancePoint Server 2007 dashboard content to SharePoint Server 2010

To facilitate and simplify the process of importing dashboard content from Microsoft Office PerformancePoint Server 2007 into PerformancePoint Services in Microsoft SharePoint Server 2010, an import wizard is available. The data import wizard walks you through the process of importing your metadata: your dashboards, scorecards, data sources, KPIs, and so on. After the data import process is complete, you must "re-deploy" each individual dashboard.

Note:

We recommend that you set up a clean SharePoint Server 2010 environment before running the Import Wizard.

When you are ready to run the wizard, see Import Wizard: PerformancePoint Server 2007 content to SharePoint Server 2010.

Reports types not supported in PerformancePoint Services

Not all report types that are supported in Microsoft Office PerformancePoint Server 2007 are supported in SharePoint Server 2010. The following types are not supported in SharePoint Server 2010 and therefore are not imported:

  • Trend Analysis Charts

  • Pivot Tables

  • Pivot Charts

  • Spreadsheets

Planning permissions and roles

PerformancePoint Services uses the SharePoint Server security model to control user access to various functionality and tasks. There are subtle yet significant changes in working with PerformancePoint Services in Microsoft SharePoint Server 2010 over Microsoft Office PerformancePoint Server 2007. In Microsoft Office PerformancePoint Server 2007, Monitoring Server has its own server and database that stored metadata and content. In Microsoft Office PerformancePoint Server 2007, security was applied globally at the server level and on each individual object.

In SharePoint Server 2010, the PerformancePoint metadata content is stored in SharePoint lists and document libraries. You therefore need to understand the differences between the assignment of permissions and roles between Microsoft Office PerformancePoint Server 2007 and SharePoint Server 2010.

Note:

In Microsoft Office PerformancePoint Server 2007, the administrator on the server computer is automatically made an administrator in PerformancePoint. In SharePoint Server 2010, that individual is not automatically made an administrator. If needed, this assignment may be done manually.

Roles and permissions

PerformancePoint Services uses SharePoint Server authorization groups and permissions. As you plan how your users will use the service, review the primary SharePoint Server roles.

  • Farm Administrator: In order to edit Dashboard items, this role needs at least contributor permissions on content lists (or list items) and data source libraries (or library items).

  • Site collection Administrator In order to edit Dashboard items, this role needs at least contributor permissions on data source libraries (or library items) only.

  • Site Administrator or List/Document Library contributor: In order to edit Dashboard items, this role needs at least contributor permissions on content lists (or list items) and data source libraries (or library items).

Important:

If any person or role is tasked with re-deploying Dashboards after they have been imported from Microsoft Office PerformancePoint Server 2007, that person or role must have at least Designer permissions.

We recommend as a best practice that you create new SharePoint groups (or leverage existing ones) to help organize your roles within PerformancePoint Services. If you establish clear permission groups by work role you can keep better control over who has access to what.

The four server roles that are available in Microsoft Office PerformancePoint Server 2007 loosely map to predefined roles in SharePoint Server 2010. In PerformancePoint Services, they are Admin, Power Reader, Data Source Manager, and Create. In addition, two additional roles of Editor and Reader at the individual item level are set within Dashboard Designer. The table below maps out how roles in PerformancePoint Server 2007 map to PerformancePoint Services in Microsoft SharePoint Server 2010.

Important:

Being an administrator on the server does not automatically add you as an administrator in PerformancePoint Services in Microsoft SharePoint Server 2010.

PerformancePoint Server 2007 role | PerformancePoint Server 2007 Permissions | PerformancePoint Services in Microsoft SharePoint Server 2010 role | Comments
Admin | Edit any item and create new items | Contributor: Data Content and Data Sources |
Power Reader | Read any items (used for SDK processes) | Read: Data Content and Data Sources |
Data Source Manager | Create new items (data sources only) | Contributor: Data Sources only |
Creator | Create new items (except for data sources) | Contributor: Data Content Only |
Item Permissions |  |  |
Editor | View, edit or delete the item | Contributor |
Reader | View the item | Read |

Another way of approaching access needs is to look at the permissions based on the tasks:

User task | PerformancePoint Services in Microsoft SharePoint Server 2010 permissions required
Launch Dashboard Designer | None, other than being an authenticated user in SharePoint Server 2010
Create PerformancePoint dashboard items and save them to a SharePoint list or document library | Contributor
Perform all Contributor tasks plus publish PerformancePoint Dashboards | Designer
View PerformancePoint dashboards and use interactive features | Read
Manage user permissions for Dashboard items | Full Control (Site) or Site Collection Administrator

Running the wizard

During the running of the import wizard, imported content such as dashboards and scorecards is placed in a single SharePoint list. Imported data sources are placed in a single document library for data sources.To make the import process go smoothly, set up a clean SharePoint Server 2010 environment. Review the steps below and gather the account user name and passwords required.

  • Establish data source security: In PerformancePoint Server 2007, the security setting for data sources is stored in the Web.config file, located in C:\Program Files\Microsoft Office PerformancePoint Server\3.0\Monitoring\PPSMonitoring_1\WebService. In SharePoint Server 2010, the security is stored in each data source. Most PerformancePoint Server 2007 customers used "per-user identity" as their security method. If you are not certain how security was configured, examine your Web.config file (under the <appSettings> node.The three methods available in PerformancePoint Server 2007 are:

    • A single shared user account is used to access all data sources.

    • Per-user authentication (requires Kerberos delegation). In this case each user's account is used to access all data sources. The value of the setting bpm.serverconnectionperuser in the Web.config file is set to "True".

    • Default authentication with user name in the connection string. This method uses a single shared user account to access all data sources, and the CustomerData connection string property is used to send the user name. If this method is used, the value of the setting bpm.UseASCustomData is set to "True".

  • Log on to the PerformancePoint Server 2007 content server: Have your username and password ready, because the wizard prompts you for them.

  • Connect to the PerformancePoint Server 2007 content database: During the initial PerformancePoint 2007 setup, the name of the database defaults to PPSMonitoring. If the database was renamed, select the name of the database where the content resides.

  • Choose a list to store the dashboard items: KPIs, scorecards, reports, dashboards, filters, and indicators will be copied into the Dashboard Content list. Select a list that is empty. You must provide the name of the site collection, site, and list.

  • Choose a document library to store the data sources: Data sources are copied into a document library. The document library you select must support the PerformancePoint Data Source content type. A default install of PerformancePoint Services for SharePoint Server 2010 will create a data source-specific document library that you can use. We recommend that you select an empty document library. The site collection will have the same name as the site collection you provided for Dashboard items.

  • Review the settings: You will have an opportunity to review the settings you provided and edit them if necessary.

  • Review the import status: The wizard processes the data content import and provides a status bar on the progress of importing the content. It lists all elements and database sources that have been imported. After the importing process is completed, the final Import results appear, with each imported item listed by category (Data Sources, KPIs, Scorecards, and so on) and with information about any issues or errors that were encountered. The results also specify whether data source names were changed in the event of duplicates.

When you are ready to run the wizard, see Import Wizard: PerformancePoint Server 2007 content to SharePoint Server 2010.


Post-migration tasks for the PerformancePoint dashboard author (SharePoint Server 2010)
See Also

Published: June 10, 2010

Upgrading a PerformancePoint dashboard from Microsoft Office PerformancePoint Server 2007 to PerformancePoint Services in Microsoft SharePoint Server 2010 is fairly easy to do. The IT department typically handles the migration of PerformancePoint content, such as dashboard items and data source connections. Then, you complete the upgrade process by opening and testing dashboard items, making changes to reports and scorecards, and redeploying dashboards.

Post-migration tasks for the dashboard author

After the IT department has migrated dashboard content from PerformancePoint Server 2007 to PerformancePoint Services, you must perform several tasks to complete the upgrade:

  • Open and test migrated content. Do this to make sure that dashboard items work correctly.

  • Remove report types that are no longer available and replace them with new reports. Several report types that are available in PerformancePoint Server 2007 are not available in PerformancePoint Services. You must replace those reports by using other existing or new views.

  • Update reports and scorecards to use new functionality. (This is optional.) PerformancePoint Services offers improved capabilities in reports and scorecards that you might want to use in your dashboards. For example, you can now display an analytic chart as a pie chart. Scorecards can now include more sophisticated key performance indicators (KPIs), such as KPIs that use calculated metrics.

Use the following resources to learn more about how to upgrade your dashboard content.

Task | Description
What's New in PerformancePoint Dashboards | This article describes the new features and functionality that are available in PerformancePoint dashboards.
Plan for importing PerformancePoint Server 2007 dashboard content to SharePoint Server 2010 | Certain kinds of reports that are available in PerformancePoint Server 2007 are not available in PerformancePoint Services. This article contains information about how to prepare to import PerformancePoint Server 2007 dashboard content. This includes which report types are not available in PerformancePoint Services.
Import Wizard: PerformancePoint Server 2007 content to SharePoint Server 2010 | This article describes the Import Wizard, a tool to help you import dashboard content from PerformancePoint Server 2007 to PerformancePoint Services.
What's New in PerformancePoint Dashboard Designer | This article describes new features and functionality in Dashboard Designer. These include tighter integration with SharePoint Server 2010, new and improved dashboard items that you can create, and an overview of the streamlined ribbon and workspace.

See Also

Concepts

Create a plan for a PerformancePoint dashboard


Plan for PerformancePoint Services security (SharePoint Server 2010)
See Also

In PerformancePoint Services in Microsoft SharePoint Server 2010, the objects that are stored in lists and document libraries are secured by the Microsoft SharePoint Server 2010 security model. On top of that model, PerformancePoint Services adds product features to the basic SharePoint Server 2010 framework to ensure that data sources and dashboard content are secure and protected from unwarranted access. Even though PerformancePoint Services has a dependency on the SharePoint Server 2010 security model, there are still special security considerations to consider and therefore plan and manage. All service-based security settings are managed within the SharePoint Server Central Administration Web site to make it easier to manage shared resources and user access.

This article describes areas to plan for in authentication, authorization, and data source authentication.

In this article:

  • View a chalk talk

  • Authentication

  • Trusted locations

  • Trusted data content libraries

  • Trusted lists for dashboard content

  • Data source security

  • The Secure Store Service and Unattended Service accounts

  • Claims-based authentication

View a chalk talk

In this video, Microsoft Senior Test Lead Kevin Beto provides an overview chalk talk about authentication methods that you can use with PerformancePoint Services.

Screenshot of video

Running time: 8:55

Play video Watch the video.

Download video For an optimal viewing experience, download the video (http://go.microsoft.com/fwlink/p/?LinkId=218209).

Right-click the link, and then click Save Target As to download a copy. Clicking the link will open a .wmv file in the default video viewer for full-resolution viewing.

Authentication

In PerformancePoint Services, you can choose between three methods for data source authentication.

  • Per User Identity: Each user's own account is used to access all data sources. This method requires Kerberos delegation. A domain administrator must configure the Kerberos delegation between PerformancePoint Services and the data sources.

    Note:

    External data sources must reside within the same domain as the SharePoint Server 2010 farm. If external data sources do not reside within the same domain, authentication to the external data sources will fail. For more information, see Planning considerations for services that access external data sources in "Services Architecture Planning."

  • Unattended Service Account: A single shared user account is used to access all data sources. This is a low privileged domain account stored in the Secure Store Service. In establishing your unattended service account, first determine whether this account has the necessary access to the data sources that will be required in the Dashboard.

  • Custom Data: Provides the ability for SQL Server Analysis Services to include the currently authenticated user name as a parameter on the custom data field in an Analysis Services connection string. The Custom data option is only used for Analysis Services data sources and can be used against Analysis Services 2005 and 2008 servers.

Trusted locations

In PerformancePoint Services, data source connections are contained in document libraries and data content (KPIs, filters, scorecards, etc.) is contained in document lists. In order to help secure the content, and prevent users from running queries against data sources if the objects in the query are not trusted, the lists and libraries must be established as "trusted" locations. The farm administrator has the option to have all locations in the farm set as "trusted" or opt to identify specific locations to trust. Because of the ability to easily define the location in the farm to be secured, the farm administrator is freed from having to help secure the whole farm.

Trusted locations provide an additional layer of security that restricts query execution of data sources or of any object that depends on a data source that is not in a trusted location. The document library or any parent object up to the web application can be defined as trusted. In PerformancePoint Services, the configuration of trusted location settings is managed centrally through Central Administration. Configuration can also be managed by using Windows PowerShell 2.0 cmdlets. As you plan the security of PerformancePoint Services, consider if you want or have to secure your whole web application or to more tightly manage the location of secure data.

For example: Locations inside a farm that are independently marked as "trusted" have the following SharePoint Server 2010 hierarchy for either data content or data sources:

  1. Disable the use of Trusted Locations for either data sources or content for the whole farm.

  2. Trust lists or document libraries in the web application.

  3. Trust lists or document libraries in a site collection including any child sites.

  4. Trust lists or document libraries in a site.

  5. Trust a single list or document library in the farm.

When verifying whether a location is trusted, the server will check whether Trusted Locations is enabled. If that property is enabled, the server will check the list of trusted locations starting at the site collection and continuing with each lower level of the hierarchy to verify that the content is trusted.

Items that do not use a data source do not have to be in a trusted location to be rendered. This includes Web pages, static KPIs, dashboards, and indicator icons.

Note:

Trusted data source locations cannot be defined on a list and Trusted content locations cannot be defined on a document library.

Trusted data content libraries

Trusted data content libraries are SharePoint Server 2010 document libraries that contain PerformancePoint Services data connection (.ppsdc) files. The .ppsdc files are used to centrally manage connections to data sources. These include SQL Server databases, OLAP cubes, relational databases, and Excel Services spreadsheets.

The data sources are defined in Dashboard Designer and stored in a trusted data connection library on SharePoint Server 2010. A trusted data connection library is a document library that you have determined as safe. It restricts the use of the data source files, but still enables them to be read. A document library is created by default when provisioning PerformancePoint Services, however. Administrators can manage data connections on the server by creating more than one data connection library. If a user updates data source connection in the document library, the information is shared and updated when a workspace file is opened in Dashboard Designer.

Trusted lists for dashboard content

Reports, scorecards, KPIs, and filters are all required to be stored in a trusted SharePoint Server 2010 list. The list or any parent object up to the site collection can be defined as trusted during the initial configuration or later via Central Administration.

Data source security

In PerformancePoint Services the security setting for data sources is stored in each data source. The setting that determines whether the server uses the currently authenticated user, unattended user account, or unattended user account using custom data is configured on each data source.

The Secure Store Service and Unattended Service accounts

The SharePoint Server 2010 Secure Store Service provides the capability of securely storing data such as credentials and associating them to a specific identity or group of identities. The Secure Store Service is present on all SharePoint Server 2010 farms.

In PerformancePoint Services, each data source can be configured to use the currently authenticated user credentials or the "Unattended Service Account". The unattended service account is a set of domain credentials that are impersonated when connecting to a data source. The server uses the unattended service account instead of the managed account for data source queries to prevent the PerformancePoint Services process from accessing the content database during query execution.

PerformancePoint Services stores and retrieves unattended service account credentials in the Secure Store Service. Because the server must keep both the user name and password in order to impersonate the user, the password for the unattended service account is stored in the Secure Store Service. The user name is stored in the PerformancePoint Services database so that it can be accessed and can be displayed in the settings page.

When creating your unattended service account, ensure that the account has the necessary access to the data sources that will be required.

It is important to understand that unattended service account credentials are not cached globally. Instead, they are retrieved from the Secure Store Service only when they are needed. If you open a workspace file in Dashboard Designer with a data source that connects by using the unattended service option and the credentials are not already cached for that connection, the unattended service account password is retrieved from the Secure Store Service and uses the target data source.

Claims-based authentication

Claims-based authentication in SharePoint Server 2010 supports multiple authentication providers on a single web application and is used to pass the users identity between the front-end web servers and the application servers. PerformancePoint Services supports multiple authentication providers only when you use dashboard content through a web browser. Dashboard Designer is not supported when you directly access a URL for any web application that uses multiple authentication providers. In order to use the Dashboard Designer in this configuration, you must extend the web application to configure access to the new URL that is restricted to the Windows authentication provider.

See Also

Concepts

Configure the unattended service account for PerformancePoint Services
Configure claims authentication (SharePoint Server 2010)
Plan authentication methods (SharePoint Server 2010)
Plan for importing PerformancePoint Server 2007 dashboard content to SharePoint Server 2010

Other Resources

Resource Center: Security and Authentication for SharePoint Server 2010


Authorization and permissions in PerformancePoint Services (SharePoint Server 2010)
See Also

Planning permissions and roles

PerformancePoint Services uses the SharePoint Server security model to control user access to various functionality and tasks. There are subtle yet significant changes in working with PerformancePoint Services in Microsoft SharePoint Server 2010 over Microsoft Office PerformancePoint Server 2007. In Microsoft Office PerformancePoint Server 2007, Monitoring Server has its own server and database that stores metadata and content. In Microsoft Office PerformancePoint Server 2007, security is applied globally at the server level and on each individual object.

In SharePoint Server 2010, the PerformancePoint metadata content is stored in SharePoint lists and document libraries. You therefore need to understand the differences between the assignment of permissions and roles between Microsoft Office PerformancePoint Server 2007 and SharePoint Server 2010.In Microsoft Office PerformancePoint Server 2007, the administrator on the server computer is automatically made an administrator. In SharePoint Server 2010, that individual is not automatically made an administrator. If needed, this assignment may be done manually.

Roles and permissions

PerformancePoint Services uses SharePoint Server authorization groups and permissions. As you plan how your users will use the service, review the primary SharePoint Server roles.

  • Farm Administrator: In order to edit Dashboard items, this role needs at least contributor permissions on content lists (or list items) and data source libraries (or library items).

  • Site collection Administrator In order to edit Dashboard items, this role needs at least contributor permissions on data source libraries (or library items).

  • Site Administrator or List/Document Library contributor: In order to edit Dashboard items, this role needs at least contributor permissions on content lists (or list items) and data source libraries (or library items).

Important:

If any person or role is tasked with re-deploying Dashboards after they have been imported from Microsoft Office PerformancePoint Server 2007, that person or role must have at least Designer permissions.

We recommend as a best practice that you create new SharePoint groups (or leverage existing ones) to help organize your roles within PerformancePoint Services. If you establish clear permission groups by work role you can keep better control over who has access to what.

The four server roles that are available in Microsoft Office PerformancePoint Server 2007 loosely map to predefined roles in SharePoint Server 2010. In PerformancePoint Services, they are Admin, Power Reader, Data Source Manager, and Create. In addition, two additional roles of Editor and Reader at the individual item level are set within Dashboard Designer. The table below maps out how roles in PerformancePoint Server 2007 map to PerformancePoint Services in Microsoft SharePoint Server 2010.

Important:

Being an administrator on the server does not automatically add you as an administrator in PerformancePoint Services in Microsoft SharePoint Server 2010.

PerformancePoint Server 2007 role | PerformancePoint Server 2007 Permissions | PerformancePoint Services in Microsoft SharePoint Server 2010 role | Comments
Admin | Edit any item and create new items | Contributor: Data Content and Data Sources |
Power Reader | Read any items (used for SDK processes) | Read: Data Content and Data Sources |
Data Source Manager | Create new items (data sources only) | Contributor: Data Sources only |
Creator | Create new items (except for data sources) | Contributor: Data Content Only |
Item Permissions |  |  |
Editor | View, edit or delete the item | Contributor |
Reader | View the item | None |

Another way of approaching access needs is to look at the permissions based on the tasks:

User task | PerformancePoint Services in Microsoft SharePoint Server 2010 Permissions Required
Launch Dashboard Designer | None, other than being an authenticated user in SharePoint Server 2010
Create PerformancePoint Dashboard items and save them to a SharePoint list or document library. | Contributor
Perform all Contributor tasks plus publish PerformancePoint Dashboards | Designer
View PerformancePoint Dashboards and use interactive features | Read
Manage user permissions for Dashboard items | Full Control (Site) or Site Collection Administrator

See Also

Concepts

Plan for PerformancePoint Services security (SharePoint Server 2010)


Planning for PerformancePoint data sources (PerformancePoint Services)
See Also

Published: August 12, 2010

In PerformancePoint Services you must create a connection to the data source or sources you want to use in your dashboard. All data used in PerformancePoint Services is external data, living in data repositories outside of PerformancePoint. After you establish a data connection, you will be able to use the data in the various PerformancePoint feature areas.

PerformancePoint supports tabular data sources including SharePoint Lists, Excel Services, SQL Server tables and Excel workbooks; and multi-dimensional (Analysis Services) data sources

Important:

PerformancePoint Services does not support Office 2010 "Click-to-Run" (C2R) applications as data sources. You must install the client.

Tabular Data Sources

A user can create a data connection to SharePoint Lists, Excel Services, SQL Server tables or Excel workbooks. For these kinds of data sources, you can view a sample of the data from the Dashboard Designer tool and set specific properties for the data depending how you want the data to be interpreted within PerformancePoint. For example, you can indicate which datasets should be treated as a dimension. You can specify if a dataset is to be treated as a dimension or a fact; or if you do not want the data to be included, you can select Ignore. If you decide to set the value as a fact, you can indicate how those numbers should be aggregated in PerformancePoint Services. You can also use datasets that have time values within PerformancePoint Services and use the PerformancePoint Services time intelligence features to set time parameters and create dashboard filters.

Important:

Tabular data sources can only be used for PerformancePoint scorecards and filters.

SharePoint Lists

Data contained in a SharePoint List on a SharePoint Site can be used in PerformancePoint Services by creating a SharePoint List data source in Dashboard Designer. Data from SharePoint Lists can only be read. Modification to SharePoint List data must be done from SharePoint.

Users may connect to any kind of SharePoint List.

Excel Services

Data in Excel files published to Excel Services on a SharePoint Site can be used in PerformancePoint Services by creating an Excel Services data source. Supported published data can only be read in PerformancePoint Services. Published parameter values can be modified from the Dashboard Designer. If you use an Excel Services parameter in calculating a KPI, it is easy to make additional changes. PerformancePoint Services supports the following Excel Services components: Named Ranges, Tables and Parameters

Security Note:

You cannot connect to an Excel Services as a data source when the site or library contain the workbook you are trying to connect to is set for Anonymous Access.

SQL Server tables

You can create a data source connection to a SQL Server database and use the data within PerformancePoint Services. SQL tables and SQL views are supported data sources within PerformancePoint Services.

Security Note:

The data from SQL Server database is read-only. PerformancePoint Services does not support any modification to SQL Server database.

Note:

After creating and saving a SQL data source connection in Dashboard Designer, the data source is listed in the workspace browser with a pencil icon still viewable, as if the data source was not saved and still is being edited. This is a known issue.

Excel workbooks

You may use the content of an actual Excel file as a data source in PerformancePoint Services by creating an Excel Workbook data source connection and select only the data that is to be used. The original Excel file will be independent from the PerformancePoint copy. PerformancePoint Services 2010 supports Excel 2007 and Excel 2010 workbooks as data sources.

Multidimensional Data Sources

Analysis Services

Use data residing in a SQL Server Analysis Services cube in PerformancePoint Services by creating a data connection to the source. PerformancePoint Services lets you map the desired time dimension and the required level of detail for its hierarchies to the internal PerformancePoint Services Time Intelligence.

Note:

Unlike tabular data sources, users cannot browse an Analysis Services cube within PerformancePoint's Dashboard Designer.

PowerPivot for Excel

In PerformancePoint Services you can use a PowerPivot model as a data source to build your PerformancePoint Services dashboards. To use PowerPivot as a data source within a PerformancePoint Services dashboard, you must have PerformancePoint Services activated on a SharePoint Server 2010 farm and have PowerPivot for SharePoint installed. Once a PowerPivot model has been created by using the PowerPivot add-in for Excel, this Excel file must be uploaded or published to a SharePoint site that has PowerPivot services enabled. Create the data source connection in Dashboard Designer using the Analysis Services data source template.

See Also

Concepts

Create a PowerPivot data connection (PerformancePoint Services)
Configure data sources to work with Time Intelligence by using Dashboard Designer
Configure Analysis Services data source time settings by using Dashboard Designer
Configure tabular data source time settings by using Dashboard Designer


Best practices for SQL Server OLAP cube design and MDX querying (SharePoint Server 2010)

When you are enabling Microsoft SQL Server 2005 or 2008 Analysis Services (SSAS) in a SharePoint Server 2010 business intelligence solution, proper cube design, efficient multidimensional expressions, and sufficient hardware resources are critical to optimal performance.

This article highlights best practices that help improve the performance of SSAS as a data source for Excel Services in Microsoft SharePoint Server 2010, PerformancePoint Services in Microsoft SharePoint Server 2010, and Visio Services in Microsoft SharePoint Server 2010. The first section lists articles that highlight Microsoft SQL Server 2008 enhancements that are specifically designed for business intelligence (BI) solutions, while the second section gives best practices that apply to SSAS 2005/2008 cube design, MDX query optimization, and more.

SQL Server 2008 enhancements for business intelligence

The following articles describe enhancements to SQL Server 2008 that relate to business intelligence.

  • Top 10 Performance and Productivity Reasons to Use SQL Server 2008 for Your Business Intelligence Solutions Provides a list, with some details, of the top performance reasons to use SQL Server 2008 for your new business intelligence solutions and to upgrade to SQL Server 2008 for your existing business intelligence solutions.

  • SQL Server 2008 Upgrade Technical Reference Guide Gives information about upgrading your existing Business Intelligence solutions to SQL Server 2008.

  • Scaling Up Reporting Services 2008 vs. Reporting Services 2005: Lessons Learned Describes enhancements in performance and scalability to SQL Server Reporting Services 2008.

  • Performance Improvements for MDX in SQL Server 2008 Analysis Services Explains where issues can occur in your existing MDX code that will prevent you from experiencing the performance improvements in SQL Server Analysis Services 2008.

  • SQL Server 2008 White Paper: Analysis Services Performance Guide Describes how application developers can apply query and processing performance-tuning techniques to their SQL Server 2008 Analysis Services OLAP solutions.

Best practices for Analysis Services

  • Analysis Services Query Performance Top 10 Best Practices Covers ten best practices for optimizing Analysis Services query performance.

  • SQL Server Best Practices Article: Identifying and Resolving MDX Query Performance Bottlenecks in SQL Server 2005 Analysis Services Provides information about available MDX query troubleshooting tools. The article also demonstrates how to use the most common of these tools to identify and resolve MDX query performance bottlenecks with individual MDX queries.

  • Analysis Services Processing Best Practices Provides best practices for processing in SQL Server 2005 Analysis Services.

  • OLAP Design Best Practices for Analysis Services 2005 Outlines recommended best practices for designing OLAP databases in SQL Server 2005 Analysis Services to better meet the functional and performance needs of users.

  • Microsoft SQL Server 2005 Analysis Services Performance Guide Describes how application developers can apply performance-tuning techniques to their Microsoft SQL Server 2005 Analysis Services Online Analytical Processing (OLAP) solutions.

  • Scale-Out Querying with Analysis Services Describes how to set up a load-balanced scalable querying environment for Microsoft SQL Server 2005 Analysis Services so that you can handle a large number of concurrent queries to your Analysis Services servers. Load-balanced querying ensures that readers of OLAP cubes can consistently query for the latest aggregations throughout the day and distribute the load of all queries among the available servers. This scale-out querying architecture optimizes cube processing time, increases the frequency of cube update, and makes processing more robust because you can afford more frequent processing and transparent error recovery.


Overview of PerformancePoint Services components (SharePoint Server 2010)

PerformancePoint Services and Microsoft SharePoint Server 2010 Web Front End components work together to provide monitoring and reporting functionality. This section briefly describes the following PerformancePoint Services components.

  • PerformancePoint Dashboard Designer

  • PerformancePoint Web Parts and services

  • Site collection features

  • Site features

Dashboard Designer

Dashboard Designer is the application that dashboard authors can use to create and manage dashboards and their elements, including reports, such as strategy maps and analytic charts, scorecards, and filters. Dashboards help organizations measure, monitor, and manage business performance with live data from a variety of business data sources. A PerformancePoint dashboard contains a variety of reports and scorecards that retain their individual connections to their data sources and that you can view data from multiple data sources in a single dashboard page.

Web Parts

PerformancePoint Web Parts are built-in server-side controls that run inside the context of special pages (that is, Web Part Pages) within any SharePoint Server 2010 site. Dashboard Designer elements function as SharePoint Server 2010 Web Parts.

Reports Web Part: The Reports Web Part helps you create PerformancePoint Services content types except the scorecard, KPI details report and filters. This includes analytic charts and grids, SQL Server Reporting Services reports, Excel Services reports, the strategy map, and others.

KPI Details Web Part: The KPI Details report displays contextually relevant information about KPIs, metrics, rows, columns, and cells within a scorecard. This is surfaced as a Web Part that would be linked to a scorecard or individual KPI, and surface relevant metadata to the end user. This Web Part can be added to PerformancePoint Services dashboards or any SharePoint Server 2010 page.

Scorecard View Web Part: The Scorecard Web Part provides view functionality for the Scorecard. Without the scorecard Web Part, the user is not able to render the KPIs in the Dashboard. Scorecards may be linked to other Web Parts, such as filters and reports, to create an interactive dashboard experience. Users can use the Scorecard Web Part to do the following.

  • Locate and add a Scorecard View Web Part to a dashboard.

  • Add KPIs, new and existing, to a scorecard.

  • Enter an advanced scorecard design surface to define relationships between KPIs and objectives as well as edit KPI and objective properties.

  • Build a new scorecard, launching the scorecard design surface.

Filter Web Part: Central to creating compelling interactive dashboards is the ability to synchronize Web Part content through connections.

A connection can be thought of as a link made between Web Parts to enable exchange of data and to provide interactivity between Web Parts. Connections are made between filter providers and filter consumers. Although you cannot connect all types of filters to all types of Web Parts, you do have the ability to link many types of filters to most types of Web Parts.

PerformancePoint Site collections

In order for the dashboard author to create content in a SharePoint Server farm, users must be able to supply information on the location of the content in the SharePoint Server hierarchy. Currently the Dashboard Designer bases queries on the location of the Web service. The Web service is located, or scoped, in a SharePoint Server 2010 site collection. SharePoint Server 2010 Web applications commonly have a default site collection so that the site collection feature is enabled.

PerformancePoint Sites

PerformancePoint Services site makes available to users the list and document library templates that use the following content types:

  • Dashboard

  • Scorecard

  • Key Performance Indicator (KPI)

  • Report

  • Filter

  • Icon set (for KPI indicators)


Plan to customize PerformancePoint Services
See Also

This article describes ways that you can customize the native functionality of PerformancePoint Services in Microsoft SharePoint Server 2010 by using the PerformancePoint Services SDK.

Development scenarios for PerformancePoint Services

PerformancePoint Services supports the following development scenarios.

Create Report, Filter, and tabular DataSource extensions You can create custom PerformancePoint Services objects by setting custom values for properties on native ReportView, Filter, and DataSource objects.

Create scorecard transforms You can create scorecard transforms that change the appearance, contents, or functionality of scorecards before querying the data source, after querying the data source, or before rendering the scorecard in the Web Part. For more information, see Overview of Scorecard Transforms.

Create custom Web Parts You can create custom Web Parts that interact with PerformancePoint Web Parts. For more information, see PerformancePoint Web Parts.

See Also

Concepts

Use custom extensions with PerformancePoint Services (SharePoint Server 2010)

Other Resources

Development Scenarios with PerformancePoint Services
PerformancePoint Services Code Samples
How Do I... in PerformancePoint Services


PerformancePoint Services and PowerPivot for Excel (white paper)

Published: May 15, 2010

This white paper covers the basics of integration between PerformancePoint Services in Microsoft SharePoint Server 2010 and Microsoft SQL Server 2008 R2 PowerPivot for Microsoft Excel 2010. It describes the basics of utilizing a PowerPivot model in PerformancePoint Services and expands on issues and scope of using these applications together.

Download this guide as a Microsoft Word document (.docx).

PerformancePoint 2010 and PowerPivot (http://go.microsoft.com/fwlink/p/?LinkId=192628) (27.9 MB)


Plan for Visio Services (SharePoint Server 2010)
See Also

Summary: This section discusses planning considerations for Visio Services in Microsoft SharePoint Server 2010.

In this section:

  • Visio Services overview (SharePoint Server 2010)

    Visio Services in Microsoft SharePoint Server 2010 is a service application that allows users to share and view Microsoft Visio web drawings. The service also enables data-connected Microsoft Visio 2010 diagrams to be refreshed and updated from a variety of data sources.

  • Plan Visio Services deployment (SharePoint Server 2010)

    Planning your Visio Services deployment before rollout can help give you the best system performance and user satisfaction, and also help you avoid unexpectedly overtaxing system resources in your SharePoint Server farm and related systems.

  • Plan Visio Services security (SharePoint Server 2010)

    Visio Services enables you to render published Visio Web Drawings. These drawings can be connected to external data, and drawing elements can be updated based on that data. Security is an important component for enabling these scenarios.

  • Data authentication for Visio Services (SharePoint Server 2010)

    This article covers connecting Visio Services Web drawings to data hosted on Microsoft SharePoint Server 2010 plus data hosted externally. Connection types and authentication methods are also covered.

  • Visio Services resources (SharePoint Server 2010)

    This article contains a list of Visio Services resources, including documentation, blog posts, and video demonstrations.

See Also

Concepts

Visio Graphics Service administration (SharePoint Server 2010)
Use Visio Services with complex data queries
Use Visio Services with Secure Store
Use Visio Services with SharePoint lists (SharePoint Server 2010)

Other Resources

Resource Center: Business Intelligence in SharePoint Server 2010


Visio Services overview (SharePoint Server 2010)
See Also

Published: May 8, 2010

Summary: Visio Services lets users share and view Visio Web drawings. It also enables data-connected Visio 2010 Web drawings to be refreshed and updated from various data sources. Visio Services runs as a SharePoint Server 2010 service application.

Use and benefits of Visio Services

Visio Web drawings (*.vdw files) can be rendered by Visio Services and viewed in a Web browser. This lets users view Visio documents without having Visio or the Visio Viewer installed on their local computer. Basic exploration and navigation of these rendered Web drawings are supported within the Visio Web Access Web Part. Page designers can configure the user interface and functionality of the Web Part.

Visio Services can also refresh the data and recalculate the visuals of a Visio Web drawing hosted on a Microsoft SharePoint Server 2010 site. This enables published Web drawings to refresh connections to various data sources and to update affected data graphics and text fields.

Visio Web drawings can be published to SharePoint Server 2010 using Microsoft Visio Professional 2010 and Microsoft Visio Premium 2010.

Data sources supported by Visio Services

Connections to the data sources listed here may be refreshed by using Visio Services if they were created by using Microsoft Office Visio 2007 or Visio 2010 data-link technology and published using Visio 2010 publishing functionality. Refresh of data through any other mechanism into a Visio Web drawing will not be supported.

  • SQL Server 7.0

  • SQL Server 2000

  • SQL Server 2005 (32- & 64-bit)

  • SQL Server 2008 (32- & 64-bit)

  • SQL Server 2008 R2 (32- & 64-bit)

  • Sheet information that is stored in Excel workbooks (.xlsx files) published from Microsoft Office Excel 2007 or Microsoft Excel 2010 hosted on the same SharePoint Server 2010 farm

  • SharePoint Server lists that are hosted on the same farm

  • OLE DB or ODBC

  • Custom Data Providers implemented as .NET Framework assemblies

    Note:

    For more information about creating custom data providers, see Creating a Custom Data Provider with Visio Services (http://go.microsoft.com/fwlink/p/?LinkId=191029)

Published Visio drawings

Visio Web drawings (.vdw files) may be saved and published to SharePoint Server 2010 and shared with other users who do not have Visio 2010 or the Visio viewer installed on their computers, as Visio Services will render a .vdw format file natively in SharePoint Server 2010 as a Web page. .Vdw Web drawings can only be created by Microsoft Visio Professional 2010 or Microsoft Visio Premium 2010.

Standard Visio drawings (.vsd files) are not rendered by Visio Services and require Microsoft Visio to be viewed.

See Also

Concepts

Plan Visio Services deployment (SharePoint Server 2010)
Configure Visio Services for a BI test environment
Visio Services resources (SharePoint Server 2010)

Other Resources

Resource Center: What's New in Microsoft SharePoint Server 2010
Resource Center: Business Intelligence in SharePoint Server 2010


Plan Visio Services deployment (SharePoint Server 2010)

Best practices for deploying Visio Services include performance planning, using a pilot program, monitoring your deployment, and backing up your data.

As an integrated part of Microsoft SharePoint Server 2010, Visio Services in Microsoft SharePoint Server 2010 is very easy to deploy. Planning your Visio Services deployment before rollout can help give you the best system performance and user satisfaction, and help you better manage system resources in your SharePoint Server farm and related systems.

Visio Services performance

Visio Services is implemented by using the Visio Graphics Service, which runs on one or more application servers in the farm. Like all such services, this service consumes resources such as processing capacity and memory on each server where the service is running. For detailed information about how to estimate capacity requirements for Visio Services, see Estimate performance and capacity requirements for Visio Services in SharePoint Server 2010.

System performance of application servers that are running the Visio Graphics Service may be affected by various factors such as the following:

  • The size of the Web drawings being rendered

  • The number of drawings connected to a data source

  • The performance of the data sources to which Web drawings are connected

  • The frequency of data refresh for data-connected Web drawings

  • Peak loads of users who are accessing Web drawings

  • Peak loads on external data sources accessed by Web drawings

  • Complexity of Web drawings

The Web drawing size limit and refresh parameters can be adjusted by the administrator. Being able to adjust these parameters can help you adjust the performance of the server. If changing these parameters does not provide the desired performance, you may have to add processing capacity or memory.

When planning system resources for Visio Services, the most important factor is peak load. For example, if users will make heaviest use of the Visio Services functionality early Monday morning, plan your server capacity for that peak load. Peak load times can vary widely depending on how Visio Services is used within your organization. It is important to estimate peak loads as best as possible to avoid overtaxing system resources.

If your SharePoint Server farm has multiple application servers, each potentially running multiple services, you must decide which application server or servers that you want to run the Visio Services Service on. When determining this, look at the other SharePoint Server 2010 services that are running on each application server. When do the peak loads for each other service occur? Try to select an application server where the peak loads of other services occur at different times than those of Visio Services.

Besides peak load considerations, also consider the overall load of other services that are running on the same server. Some SharePoint Server services, such as Search, might benefit from their own application servers that are not shared by other loads such as Visio Services. Others, such as Access Services, might be ideal companion loads for Visio Services depending on usage patterns.

In addition to SharePoint Server performance considerations, you should also examine the performance impact of Visio Services on your other systems. For example, if you have a data-connected Web drawing that is querying data from an Oracle database, what is the effect of your Visio Services peak load on that Oracle database? Large numbers of users querying any data source at the same time could put a strain on the resources of that data source.

The following best practices can be used to optimize the performance of Visio Services:

  • Monitor the performance of the application servers in the farm and add CPU and memory if they are needed to handle peak loads.

  • Start the Visio Graphics Service on more than one application server in the farm to gain additional performance.

  • Run the Visio Graphics Service on an application server where other services experience peak load at a different time of day than the Visio Graphics Service.

  • Limit the maximum Web drawing size.

  • Increase the minimum cache age for Web drawings. This increases the interval in which a user sees cached data for a particular Web drawing.

Visio Graphics Service applications

SharePoint Server implements Visio Services through the Visio Graphics Service running on one or more application servers in the farm. It is within the Visio Graphics Service Application that you configure the various Visio Services settings, such as trusted data providers and drawing cache settings.

For many deployments, a single Visio Services Service Application is sufficient. However, SharePoint Server lets you create multiple service applications of each type if you want (for example, if you need to use different data sources that require different global settings or a different unattended service account within Visio Services).

Using a pilot deployment

To help determine capacity requirements for Visio Services, consider rolling Visio Services out to a limited pilot group that is representative of typical users. Giving a fairly small number of people access to Visio Services functionality lets you monitor server resource usage and effect on related systems, such as external data sources, without overtaxing system resources.

Once you have compiled performance data for the pilot group, you can extrapolate system requirements for Visio Services when you deploy it across your whole organization. The pilot data will also help you determine peak load requirements and times when peak loads are likely to occur.

By monitoring other affected systems — such as data sources used by data connected Web drawings — you can also determine the likely effect of Visio Services on other systems in your organization.

Monitoring

We highly recommend that you monitor system resources consumed by Visio Services — alongside the other services in your SharePoint Server. It is typical for resource usage to increase over time as additional users are brought online and existing users make more use of Visio Services and other SharePoint Server technologies.

The SharePoint Server services architecture enables easy addition of application servers to the farm. As user demands increase, you can continue to add servers to the farm, and offload services — including Visio Services — to these new servers. Or, instead of offloading Visio Services to a new server, you can run the Visio Services service on multiple application servers at the same time to provide additional capacity and redundancy.

By monitoring resource usage, you can predict when additional capacity is likely to be needed and include the needed hardware in your organization's regular budgetary procedures. This also helps avoid system downtime or slow response caused by unexpectedly high server loads.

Backup and recovery of data

Visio Services settings and Visio documents stored in SharePoint Server libraries can be backed up by the farm administrator when doing a standard farm backup. However, be aware that if you publish Visio documents that are connected to data sources that are outside the farm, the data to which the Visio documents are connected is not backed up as part of a standard farm backup. In this case, the administrator of the system where the data resides should perform a separate backup procedure.

Visio Professional 2010 and Visio Premium 2010 deployment

Visio Services lets you display Visio drawings using a Web Part without the need to have Microsoft Visio 2010 installed on the client computer. However, Visio Services does not allow for creating or editing Visio diagrams. As part of your deployment plan for Visio Services, you should also plan for the needs of diagram authors within your organization. Each diagram author who has to publish to Visio Services must have a copy of Microsoft Visio Professional 2010 or Microsoft Visio Premium 2010.

Important:

Visio Professional 2010 or Visio Premium 2010 is required for publishing to SharePoint Server. Microsoft Visio Standard 2010 and previous versions of Visio cannot publish to the server.


Plan Visio Services security (SharePoint Server 2010)
See Also

Summary: Security is an important consideration for determining who can gain access to data-connected diagrams rendered in Visio Services.

In addition to the security requirements to deploy Microsoft SharePoint Server 2010, you should also review security considerations for a deployment that includes Visio Services in Microsoft SharePoint Server 2010.Visio Services enables you to render published Visio Web drawings. These drawings can be connected to external data, and drawing elements can be updated based on that data. Security is an important component for enabling these data-rendering scenarios. The Visio Graphics Service gives you a significant level of fine-grained control for the processing and displaying of Visio Web Drawings and what data sources they can connect to.

Store Visio diagrams in SharePoint document libraries

Published Visio Drawings (.VDW files) must be stored in SharePoint document libraries to be opened by Visio Services. SharePoint Server 2010 maintains an access control list (ACL) for the files that are contained in the document library. By setting the library rules correctly you can limit access to a particular drawing. For information about how to work with document library permissions, see Plan site permissions (SharePoint Server 2010).

Visio Web drawings that are connected to data

The Visio Graphics Service can connect to data sources. These include SharePoint lists, Excel workbooks hosted on the farm, databases such as Microsoft SQL Server, and custom data sources. You can control access to specific data sources by explicitly defining the data providers that are trusted and configuring them in the list of trusted data providers.

Note:

Visio Services accesses external data sources by using a delegated Windows identity. Consequently, external data sources must reside within the same domain as the SharePoint Server 2010 farm or Visio Services must be configured to use the Secure Store Service. If the Secure Store Service is not used and external data sources do not reside within the same domain, authentication to the external data sources will fail. For more information, see Planning considerations for services that access external data sources in "Services Architecture Planning."

When Visio Services loads a data connected Web drawing, the service checks the connection information that is stored in the Web drawing to determine whether the specified data provider is a trusted data provider. If the provider is specificed on the Visio Services trusted data provider list, a connection is tried; otherwise, the connection request is ignored.

Visio Services has an extensive list of preconfigured trusted data providers. For more information, see Configure Visio Graphics Service trusted data providers (SharePoint Server 2010).

Once an administrator has configured Visio Services to enable connections to a particular data source, there are additional security configurations that must be made, depending on the kind of the data source. The following data sources are supported by Visio Services:

  • Excel workbooks stored on SharePoint Server with Excel Services enabled

  • SharePoint lists

  • Databases such as SQL Server databases

  • Custom Data Providers

Visio Web drawings that are connected to SharePoint lists

Published Visio Drawings can be connected to SharePoint lists on the same farm that the drawing is hosted on. The user viewing the Web drawing must have access to both the drawing and the SharePoint list that the drawing is connected to. These permissions and credentials are managed by SharePoint Server 2010. For information about how to use Visio Services with SharePoint lists, see Use Visio Services with SharePoint lists (SharePoint Server 2010).

Visio Web drawings that are connected to Excel Services

Published Visio drawings can be connected to Excel workbooks hosted on the same farm as the Web drawing with Excel Services running and configured correctly. To view the Web drawing, the user must have access to both the drawing and the Excel workbook that the drawing is connected to. These permissions and credentials are managed by SharePoint Server 2010.

Note:

Excel workbooks can be connected to external data sources. For more information, see Plan Excel Services data sources and external connections (SharePoint Server 2010).

Visio Web drawings that are connected to SQL Server databases

When a published Visio Web drawing is connected to a SQL Server database, Visio Services uses additional security configuration options to establish a connection between the Visio Graphics Service and the database.

The authentication methods supported by Visio Services are as follows:

  • Integrated Windows authentication In this security model the Visio Graphics Service uses the drawing viewer's identity to authenticate with the database. Integrated Windows authentication with constrained Kerberos delegation is more helpful for increasing security than the other authentication methods shown in this list. This configuration requires constrained Kerberos delegation to be enabled between the application server that is running the Visio Graphics Service and the database server. The database itself might require additional configuration to enable Kerberos-based authentication. For information about how to configure Kerberos delegation for use with Visio Services, see Configure Kerberos authentication for SharePoint 2010 Products (white paper).

  • Secure Store Service In this security model the Visio Graphics Service uses the Secure Store Service to map the user's credentials to a different credential that has access to the database. The Secure Store Service supports individual and group mappings for both Integrated Windows authentication and other forms of authentication such as SQL Server Authentication. This gives administrators more flexibility in defining one-to-one, many-to-one, or many-to-many relationships. This authentication model can only be used by drawings that use an Office Data Connection (ODC) file to specify the connection. The ODC file specifies the Secure Store target application that will be used for credential mapping. The ODC files must be created by using Microsoft Excel. For more information, see Use Visio Services with Secure Store.

  • Unattended Service Account For ease of configuration the Visio Graphics Service provides a special configuration where an administrator can create a unique mapping associating all users to a single account by using a Secure Store Target Application. This mapped account, known as the unattended service account, must be a low-privilege Windows domain account that is given access to databases. The Visio Graphics Service impersonates this account when it connects to the database if no other authentication method is specified. Note that this approach does not enable personalized queries against a database and does not provide auditing of database calls. This authentication method is the default authentication method that is used when you connect to SQL Server databases: if no ODC file is used in the Visio Web drawing that specifies a different authentication method, then Visio Services uses the credentials specified by the unattended account to connect to the SQL Server database. For information about how to use Visio Services with the unattended service account, see Use Visio Services with Secure Store.

In a larger server farm it is likely that Visio drawings will use a mix of the authentication methods described here. It is important to be aware of the following things:

  • Visio Services supports usage of both the Secure Store Service and the unattended service account in the same farm. In Web drawings that are connected to SQL Server data but do not use ODC files, the unattended account is required and always used.

  • If Integrated Windows authentication is selected, and authentication to the data source fails, Visio Services will not attempt to render the drawing using the unattended service account.

  • Integrated Windows authentication can be used together with the Secure Store by configuring drawings to use an ODC file that specifies a Secure Store target application for those drawings that require specific credentials.

See Also

Concepts

Secure Store for Business Intelligence service applications (SharePoint Server 2010)
Use Secure Store with SQL Server Authentication (SharePoint Server 2010)
Data authentication for Visio Services (SharePoint Server 2010)


Data authentication for Visio Services (SharePoint Server 2010)
See Also

Published: July 15, 2010

Summary: Visio Services supports connections with Excel workbooks, SharePoint lists, SQL Server databases, and OLE DB and ODBC data sources. These are categorized as internal or external data sources as follows:

  • Data hosted within the SharePoint farm, such as a Microsoft Excel workbook or a SharePoint list.

  • External data, such as Microsoft SQL Server data, or an OLE DB or ODBC data source.

Retrieving data from a data source requires a user to be authenticated by the data source and then authorized to access the data that is contained therein. In the case of a Web drawing, Visio Services will authenticate to the data source on behalf of the user who is viewing it in order to refresh the data to which the drawing is connected.

Retrieving data from a data source

Which authentication method Visio Services can use to retrieve data depends on the type of the underlying data source, as outlined in the following table. For data sources that support more than one authentication method, data connections must specify which one to use.

Data source Authentication method

SharePoint lists

SharePoint user permissions

Excel workbooks

SharePoint user permissions

SQL Server

One of:

  • Windows authentication (integrated security)

    • using Constrained Kerberos Delegation

    • using Secure Store

    • using the Unattended Service Account

  • SQL Server Authentication

OLE DB/ODBC

Varies per data source, typically a user-name and password pair stored in the connection string.

Custom data providers can also be used. For more information, see Creating a Custom Data Provider with Visio Services (http://go.microsoft.com/fwlink/p/?LinkId=196860).

The following data sources are supported in Microsoft Visio but not in Visio Services:

  • Access databases

  • Excel workbooks not hosted on SharePoint Server

  • OLAP

Connecting to data hosted on SharePoint Server

Visio Services supports data-connected Web drawings that are connected to data hosted within the SharePoint farm, including the following:

  • Excel workbooks residing in a document library

  • Data in SharePoint lists

Connecting to Excel workbooks

Visio Services uses the Web drawing viewer's SharePoint Server credentials to connect to an .xlsx Excel workbook. For the authentication operation to succeed, the following conditions must be met:

  • Excel Services must be provisioned correctly and configured on the SharePoint farm.

  • The workbook must be hosted on the same farm as the Web drawing.

  • The Web drawing viewer must have at least "read" permissions to the Excel workbook.

No other configuration steps are required to enable this kind of data connection.

Note:

As part of connecting to an Excel workbook, Visio Services requests that Excel Services refresh the workbook if it contains connections to external data. In this case, the drawing viewer's identity is passed on to Excel Services so that Excel Services can authenticate to underlying data sources to refresh the workbook.

Connecting to SharePoint lists

Visio Services uses the Web drawing viewer's SharePoint Server credentials to connect to a SharePoint list. For the authentication operation to succeed the following conditions must be met:

  • The SharePoint list must be hosted on the same farm as the Web drawing.

  • The Web drawing viewer must have at least "read" permissions to the SharePoint list.

No other configuration steps are required to enable this kind of data connection.

Connecting to external data

Visio Services can connect to various external data sources, including SQL Server, OLE DB/ODBC, and custom data providers. To connect to the data source, Visio Services uses a specific data provider for each data source.

As a security measure, Visio Services must explicitly trust data providers before they can be used. For more information about trusted data providers, see Configure Visio Graphics Service trusted data providers (SharePoint Server 2010).

Connecting to a Microsoft SQL Server data source can be done by using either:

  • Windows authentication

  • SQL Server Authentication

Other data sources use a connection string usually consisting of a user name and password.

Data connections

Visio Web drawings use one of two kinds of connections:

  • Embedded connections

  • Linked connections

Embedded connections are stored as part of the Visio Web drawing. Linked connections are stored externally to a Web drawing in Office Data Connection (ODC) files. To use a linked connection, a Web drawing must reference an .odc file that is also stored in the same farm as the Web drawing. Each data connection consists of:

  • A connection string

  • A query string

  • An authentication method

  • Optionally, some metadata required to retrieve external data

Each kind of connection has its advantages and drawbacks discussed here; choose the one that best suits your scenario.

Connection type Embedded connections ODC files

Data sources supported

  • SQL Server (only supports Kerberos delegation and the Unattended Service Account)

  • OLE DB/ODBC

  • Excel workbooks

  • SharePoint lists

  • Custom Data Providers

  • SQL Server (supports all authentication methods)

  • OLE DB/ODBC

Advantages

  • All connection information is stored in the Web drawing.

  • Embedded connections require little administrative overhead to support.

  • Embedded connections are easy to create.

  • Linked connections can be centrally stored, managed, audited, shared and access to them controlled by using a data connection library.

  • Drawing authors can use existing connections without having to create queries and connection string.

  • If the data connection details for a data source change, an administrator only need update one ODC file. With that change, all Web drawings that refer to the ODC file will use the updated connection information when the next refresh occurs. (An example of this scenario is when the database server is moved or the database name is changed.)

Drawbacks

  • If the data connection details for a data source change, all Web drawings with embedded connections to that data source will have to be republished with updated connection information.

  • Embedded data connections are more difficult to audit by SharePoint administrators.

  • Creating a linked connection must be done by using Excel.

  • Linked connections may require the help of a SharePoint administrator to share, manage and secure.

  • Linked connections are saved in clear text and may contain database passwords. Extra care must be taken to help secure these files.

Choose a linked data connection, by using an ODC file, for scenarios in which you must have a data connection to an enterprise-scale relational data source such as SQL Server. Linked data connections are most useful in scenarios in which they will be shared across many users and in which administrator control of the connection is important.

Note:

ODC files must first be created in Excel and exported to SharePoint Server before it can be used with Visio Services.

Choose an embedded connection for scenarios in which you have to have a quick data connection to a small or file-based data source that will only be used by some users.

ODC files can be stored in a data connection library, a special kind of SharePoint document library. Centralizing data connections in such a document library has several advantages:

  • Administrators can restrict write access to a data connection library to trusted data connection authors to ensure that only well tested and secure data connections are used by Web drawing authors.

  • Administrators have a single location to manage data connections for a large group of users.

  • Administrators can easily approve, audit, revert and manage data connection files by using document library versioning and workflow features.

  • Data connection libraries can be reused across other Office applications such as Excel, Excel Services, Microsoft InfoPath 2010, InfoPath Forms Services, and Microsoft Word.

  • End-users only have a single location to find drawing data, reducing confusion and user training.

For information about how to create data connection libraries, see How to: Create and Use a Data Connection Library (http://go.microsoft.com/fwlink/p/?LinkID=188117). For information about how to create ODC files, see Create, edit, and manage connections to external data (http://go.microsoft.com/fwlink/p/?LinkID=196894).

Windows authentication

Windows authentication requires that Visio Services present to SQL Server a set of Windows credentials. This kind of credential is common on Windows networks and is the same credential used to log on to computers on a Windows domain or to connect to a computer that is running Exchange Server. Windows credentials are considered the most secure and manageable means of controlling access to SQL Server databases. However, one obstacle to using Windows authentication with Visio Services is the Windows double hop security measure, wherein a user's credentials cannot be passed across more than one computer in a Windows network. Given that Visio Services is a multi-tiered system, special authentication methods are required for Visio Services to retrieve data on behalf of the end-user.

The authentication method to choose depends on various factors as outlined in the following table. Choose the one that best suits your scenario.

Authentication method Kerberos delegation Secure Store Unattended Service Account

Description

Using constrained Kerberos delegation, the drawing viewer's Windows credentials are sent to the data source directly.

Using the Secure Store Service, the viewer's Windows credentials are mapped to another set of credentials specified in a Secure Store target application.

Using the Secure Store Service, all viewers are mapped to a unique set of credentials called the Unattended Service Account that is stored in a specific Secure Store target application specified in Visio Services Global Settings.

Data connection credentials

The Windows credentials of the Web drawing viewer.

The credentials specified in the Secure Store target application.

The credentials of the Unattended Service Account.

Advantages

  • The Kerberos protocol is an industry standard in credentials management.

  • Kerberos ties into the existing Active Directory infrastructure.

  • Kerberos delegation permits auditing of individual accesses to a data source.

  • Given that the Web drawing viewer's identity is known, Web drawing creators can embed personalized database queries into Web drawings.

  • The Secure Store Service is part of SharePoint Server and is easier to configure than Kerberos.

  • Mappings are flexible: a user can be mapped either 1-to-1 or many-to-1.

  • Non-Windows credentials can be used to connect to data sources that do not accept Windows credentials.

  • Mappings created for Visio can be re-used by other business intelligence applications such as Excel Services.

  • The Unattended Service Account is the easiest authentication method to deploy and setup.

  • The Unattended Service Account does not require much administrative overhead.

Drawbacks

  • Additional administrative effort required to configure for SharePoint Server and Visio Services.

  • Establishing and managing mapping tables requires some administrative overhead.

  • Secure Store permits limited auditing. In the many-to-1 scenario, individual incoming users are mapped into the same credentials through a target application, effectively blending them into one user.

  • Given that everyone is mapped to the same credentials, an administrator cannot distinguish who accessed a data source.

For the authentication operation to succeed …

  • Kerberos delegation must be set up on a SharePoint farm.

  • The Secure Store Service must be provisioned and configured on the Farm. It must also contain appropriate mapping information for a particular incoming user. Additionally the mapping information may need to be updated periodically to reflect password changes on the mapped account.

  • The Secure Store Service must be provisioned and configured on the Farm. It must also contain appropriate the credentials for the Unattended Service Account. Additionally the mapping information may need to be updated periodically to reflect password changes on the mapped account.

  • Visio Services must be configured to use Unattended Service Account.

Kerberos delegation

Choose Kerberos delegation for secure and fast authentication to enterprise-scale relational data sources that support Windows authentication. For information about configuring Kerberos delegation, see:

  • Configuring Kerberos Authentication for Microsoft SharePoint 2010 Products (http://go.microsoft.com/fwlink/p/?LinkId=196600)

  • Plan for Kerberos authentication (SharePoint Server 2010)

Secure Store

Choose Secure Store for authentication to enterprise-scale relational data sources that may or may not support Windows Authentication. Secure Store is also useful in scenarios in which you want to control user credential mappings.

For information about using Secure Store with Visio Services, see Use Visio Services with Secure Store.

Video demonstration

Screenshot of video

This demonstration shows the steps for configuring Visio Services with Secure Store.

Watch the video (http://go.microsoft.com/fwlink/p/?LinkId=196864). To download the video file, right-click the link, and then click Save Target As.

Unattended Service Account

For ease of configuration the Visio Graphics Service provides a special configuration where an administrator can create a unique mapping where all users are mapped into to a single set of credentials.

This account, known as the Unattended Service Account, must be a low-privilege Windows domain account. Visio Service impersonates this account when it connects to a data source on behalf of a Web drawing viewer.

It is a best practice to give this account as few network permissions as possible, typically only access to log into the network and access the data source you want to have users connect to. For best security, be sure that the Unattended Service Account does not have access to the SharePoint Configuration and Content databases.

The Unattended Service Account is used by Visio Services:

  • When an ODC file specifies the use of the Unattended Service Account for either Windows or SQL Server Authentication

  • When no ODC is used, and Kerberos authentication fails

Note:

The unattended account can be a local computer account of type Windows. If the unattended service account is configured as a local computer account, ensure that the configuration is identical on every application server running Visio Services. For manageability reasons, it is best practice to use a domain account

Choose the Unattended Service Account when connecting to small ad-hoc deployments in which security is less important or for which speed of deployment is essential.

For information about using the Unattended Service Account with Visio Services, see Use Visio Services with Secure Store.

Video demonstration

Screenshot of video

This demonstration shows the steps for configuring Visio Services with the Unattended Service Account.

Watch the video (http://go.microsoft.com/fwlink/p/?LinkId=196865). To download the video file, right-click the link, and then click Save Target As.

SQL Server Authentication

SQL Server Authentication requires that Visio Services present a SQL Server user name and password to a SQL Server data source to authenticate. Visio Services extracts this username and password from the data connection's connection string and passes it to the data source.

To reduce security risks, Visio Services impersonates the Unattended Service Account when connecting to such a data source.

Authentication against OLEDB/ODBC data sources

Authentication to third party data sources typically requires that Visio Services present a user name and password to a data source. Like SQL Server Authentication, Visio Services extracts this user name and password from the data connection's connection string and passes them to the data source.

To reduce security risks, Visio Services impersonates the Unattended Service Account when connecting to such a data source.

Data refresh

Visio Services supports refreshing drawings connected to one or more of the following data sources:

  • SQL Server

  • SharePoint lists

  • Excel workbooks hosted in SharePoint Server

  • Oracle 9i, 9iR2, 10g, 10gR2, 11g, 11gR2, and DB2 9.2

Note:

If the data source you plan to connect to is not in the list above, you can add support for it by creating a Visio Custom Data Provider. This technology enables you to wrap your existing data sources into one that Visio Services can consume. For more information, see Creating a Custom Data Provider with Visio Services (http://go.microsoft.com/fwlink/p/?LinkID=191029) in the MSDN Library Online.

External data refresh is the result of the following set of steps through Visio Services.

Exernal data refresh

  1. Creating a drawing: A drawing author uploads a data-connected Web drawing to SharePoint Server 2010.

  2. Triggering Refresh: The drawing viewer triggers refresh on a data-connected Web drawing.

  3. Data Connections: Visio Services retrieves data connection information for each external data source in the drawing.

  4. Trusted Data Providers: Visio Services checks to see if there is a trusted data provider it can use to retrieve data.

  5. Authentication: Visio Services authenticates into the data source and retrieves the requested data on behalf of the drawing viewer.

  6. Drawing Refresh: Visio Services updates the Web drawing based on the data source data and returns it to the viewer.

Refresh can be triggered in one of following ways from within the browser:

  • The end-user opens the Web drawing.

  • The end-user clicks on the refresh button on an already open Web drawing.

  • The end-user loads a page that contains the Visio Web Access Web part which was configured to refresh automatically by a site designer.

    Note:

    A SharePoint site designer must place the Visio Web Access Web part on a page and configure it to refresh periodically.

Refresh can also be triggered in third party solutions by calling through JavaScript the Vwa.VwaControl.refreshDiagram Method of the Visio Web Access Web Part's Mash-up API. For more information, see Customizing Visio Web Drawings in the Visio Web Access Web Part (http://go.microsoft.com/fwlink/p/?LinkID=196503) in the MSDN Library Online.

If there are no previously cached versions of this Web drawing, any of these actions will trigger a refresh and update the Web drawing. For information about configuring cache settings for Visio Services, see Configure Visio Graphics Service global settings (SharePoint Server 2010).

See Also

Concepts

Use Visio Services with SharePoint lists (SharePoint Server 2010)
Use Visio Services with complex data queries
Use Visio Services with Secure Store
Secure Store for Business Intelligence service applications (SharePoint Server 2010)


Visio Services resources (SharePoint Server 2010)
See Also

Published: July 15, 2010

Summary: The following is a list of articles, diagrams, and videos for IT professionals and developers for Visio Services in Microsoft SharePoint Server 2010.

Documentation, references, and white papers about Visio Services

Plan for Visio Services (SharePoint Server 2010)

Visio Graphics Service administration (SharePoint Server 2010)

Plan Visio Services security (SharePoint Server 2010)

Visio Services 2010 performance and capacity planning white paper (http://go.microsoft.com/fwlink/p/?LinkID=191156)

Creating a Custom Data Provider with Visio Services (http://go.microsoft.com/fwlink/p/?LinkID=191029)

Visio Services Class Library (http://go.microsoft.com/fwlink/p/?LinkId=196500)

Visio 2010 Software Development Kit (http://go.microsoft.com/fwlink/p/?LinkId=196501)

Customizing Visio Web Drawings in the Visio Web Access Web Part (http://go.microsoft.com/fwlink/p/?LinkId=196503)

Blog posts about Visio Services

Introducing Visio Services (http://go.microsoft.com/fwlink/p/?LinkId=196504)

Publishing Diagrams to Visio Services (http://go.microsoft.com/fwlink/p/?LinkId=196505)

Embedding a Web Drawing in a SharePoint Page (http://go.microsoft.com/fwlink/p/?LinkId=196506)

Installing and Configuring Visio Services (http://go.microsoft.com/fwlink/p/?LinkId=196507)

SharePoint Workflow Authoring in Visio Premium 2010 (Part 1) (http://go.microsoft.com/fwlink/p/?LinkId=196508)

SharePoint Workflow Authoring in Visio Premium 2010 (Part 2) (http://go.microsoft.com/fwlink/p/?LinkId=196509)

No Code Mashups with Visio Services and Web Part Connections (http://go.microsoft.com/fwlink/p/?LinkId=196510)

The Visio Services JavaScript Mashup API (http://go.microsoft.com/fwlink/p/?LinkId=196511)

Video demonstrations for Visio Services

Set up Visio Services (http://go.microsoft.com/fwlink/p/?LinkId=196857)

Configure Visio Services with the Unattended Service Account (http://go.microsoft.com/fwlink/p/?LinkId=196865)

Configure Visio Services with Secure Store (http://go.microsoft.com/fwlink/p/?LinkId=196864)

See Also

Concepts

Visio Services overview (SharePoint Server 2010)


Plan for BI Indexing Connector (SharePoint Server 2010)

Important:

The Microsoft Business Intelligence Indexing Connector free download was removed from the download site. Customers who have downloaded the Business Intelligence Indexing Connector as of March 2011 will continue to be supported as per standard support procedures. However, Business Intelligence Indexing Connector will not be tested or supported for SharePoint Server 2010 Service Pack 1.

This section describes how to plan for using Microsoft Business Intelligence Indexing Connector.

  • Introduction to Business Intelligence Indexing Connector (SharePoint Server 2010)

    This article describes how you can deploy Microsoft Business Intelligence Indexing Connector to improve search capabilities for Microsoft Excel and Microsoft SQL Server Reporting Services (SSRS) reports and the underlying data sources that are part of the report.

  • Determine software requirements for Business Intelligence Indexing Connector (SharePoint Server 2010)

    This article describes the software prerequisites for the Business Intelligence Indexing Connector front end (on Microsoft SharePoint Server 2010) and back end (on Microsoft FAST Search Server 2010 for SharePoint) installations.

  • Overview of Business Intelligence Indexing Connector architecture (SharePoint Server 2010)

    This article describes the topology for a multi-server deployment of Microsoft Business Intelligence Indexing Connector added to Microsoft FAST Search Server 2010 for SharePoint (the back end) and SharePoint Server (the front end).

  • Overview of BI Indexing Connector search tab interface (SharePoint Server 2010)

    This article describes the elements of the Reports search page.


Introduction to Business Intelligence Indexing Connector (SharePoint Server 2010)

Important:

The Microsoft Business Intelligence Indexing Connector free download was removed from the download site. Customers who have downloaded the Business Intelligence Indexing Connector as of March 2011 will continue to be supported as per standard support procedures. However, Business Intelligence Indexing Connector will not be tested or supported for SharePoint Server 2010 Service Pack 1.

Administrators can deploy Microsoft Business Intelligence Indexing Connector to improve search capabilities for Microsoft Excel and Microsoft SQL Server Reporting Services (SSRS) reports and the underlying data sources that are part of the report. When Microsoft Business Intelligence Indexing Connector is installed, an additional search tab, Reports, appears on the search page. By using the Reports search tab, users see improved results, descriptions, thumbnails, previews, and they are able to refine search results.

Searchable business intelligence assets include .xlsx and .xlsm documents, which are natively created by Microsoft Office Excel 2007 and Excel 2010. PowerPivot and SQL Server Reporting Services files are also searchable files.

Note:

XLSX and XLSM documents can be created by using older versions of Excel if the compatibility pack is installed.

By deploying Microsoft Business Intelligence Indexing Connector you can help the user search and locate business intelligence assets that include the following characteristics:

  • Additional data that is not explicitly included in the document text of the report, but that is still searchable.

  • Additional business intelligence characteristics like dimensions and measures.

Features of Business Intelligence Indexing Connector

Business Intelligence Indexing Connector lets you increase relevancy of search queries in the following ways:

  1. After you search in the Reports tab, refinement categories enable you to limit the results of your search by selecting available filters underneath the categories. Three additional categories are included that are not part of FAST Search Server 2010 for SharePoint. They are Report Format, Data Sources, and Data Category.

    As an example, if you select Table as a format underneath the Report Format category, the results of your search are limited to files that contain tables. Likewise, if you select Chart, the results of your search are limited to files that have charts in them.

  2. When you perform a search on the Reports tab, the resulting file description for each file provides description headers that help you locate the file that you want. Additionally, thumbnail images of files in PowerPivot Gallery and a preview option are available. The following list contains descriptions of the headers.

    Note:

    If there are no keywords, database names, or Excel worksheet names, the description header does not appear.

    • In PivotTable: Displays the keywords from your search that are located in a PivotTable.

    • In Tables: Displays the keywords from your search that are located in a table.

    • Charts: Displays the keywords from your search that are located in a chart.

    • Data Sources: Displays the name of the data source, if one exists.

    • Sheets: Displays the name of the Excel 2010 worksheet, if an Excel file exists.

    • Other Key words: Displays other keywords from your search.

    Refinement categories are located to the left of the search page to help you filter the results.


Overview of BI Indexing Connector search tab interface (SharePoint Server 2010)

Important:

The Microsoft Business Intelligence Indexing Connector free download was removed from the download site. Customers who have downloaded the Business Intelligence Indexing Connector as of March 2011 will continue to be supported as per standard support procedures. However, Business Intelligence Indexing Connector will not be tested or supported for SharePoint Server 2010 Service Pack 1.

Microsoft Business Intelligence Indexing Connector improves search capabilities for Microsoft Excel and for Microsoft SQL Server Reporting Services (SSRS) reports and the underlying data sources that are part of the report. Users see improved results, descriptions, thumbnails, and previews, and they are able to refine search results.

This article describes the elements of the Reports search page.

BI Indexing Connector reports tab example

Reports tab

When the Business Intelligence Indexing Connector feature is installed on SharePoint Server 2010, a Reports tab is added to the All Sites and People tabs, and possibly other customized search tabs. The Reports tab helps you narrow search results to Excel and SQL Server Reporting Services files, and it takes advantage of the additional search features described in this document.

Results description

Business Intelligence Indexing Connector offers rich result descriptions. These descriptions are broken down into categories to give users a better understanding of the search results. If the categories PivotTables, Tables, Charts, or Gauges are found in a search, the keywords are highlighted and included within the context of where they are located. In the previous illustration, Sheet1 is a link to the worksheets that contain the keywords "France" and "Sales".

Note:

A link appears for each worksheet in which keywords are found.

Additionally, the Data Sources description category lists the supported data sources found in the document. The Other description category displays other relevant information found in the document that is not covered by the previous categories.

The following are characteristic of keywords that are identified in Excel files and show how business intelligence artifacts can be crawled and identified by Business Intelligence Indexing Connector.

  • Excel files include Office Excel 2007 and Excel 2010, (xlsx and xlsm files).

  • Keywords located in Excel hidden rows and columns are identified and show the results description.

  • Keywords are also identified from the Excel PivotTable filters even though they may not be visible. In the previous illustration, (In Filter) shows you the keyword France even though France may currently not be the selected filter value.

  • (In Row/Column) appears after a highlighted keyword to show that the keyword is located in a PivotTable row or column. Likewise, (In Categories/Series) indicates that the keyword was found in a category or series in a Chart.

Document thumbnail

The document thumbnail is part of the results description of each result and provides a small visual representation of the actual document.

Note:

Document thumbnails only appear if the Excel and SQL Server Reporting Services documents are located in the Microsoft SQL Server PowerPivot for Microsoft SharePoint Reports Gallery.

Preview, duplicates, View in Browser

The Preview displays images for each sheet or page of the document. If the same document is located, Duplicates shows in parentheses how many of the same documents exist. When the View in Browser option is available, you can open the worksheet, within the Excel file, in the browser.

Note:

Microsoft Silverlight 3 security restrictions may prevent thumbnail images and preview from rendering in the results description. By default all requests, other than images and media, Silverlight 3 only allows for site-of-origin communication. For more information, see Making a Service Available Across Domain Boundaries (http://go.microsoft.com/fwlink/p/?LinkId=190990) in the MSDN Library online.

Refinement categories

Refinement categories let you refine the results of your search when you select available filters. The following three additional refinement categories are included when Business Intelligence Indexing Connector is installed.

  1. The Data Sources category lets you limit the results to reports that have data sources that the documents use.

  2. The Data Category category limits the results to reports that have keywords that refer to metadata, such as dimension names and measure names in charts and PivotTables.

  3. The Report Format category limits results to reports that have tables and charts.

    For example, if you select Table as a format under the Report Format category, the results of your search are limited to show only files that contain tables. Likewise, if you select Chart, the search results show only those files that have charts in them.


Determine software requirements for Business Intelligence Indexing Connector (SharePoint Server 2010)
See Also

Important:

The Microsoft Business Intelligence Indexing Connector free download was removed from the download site. Customers who have downloaded the Business Intelligence Indexing Connector as of March 2011 will continue to be supported as per standard support procedures. However, Business Intelligence Indexing Connector will not be tested or supported for SharePoint Server 2010 Service Pack 1.

This article describes the software prerequisites for the Business Intelligence Indexing Connector front end (on Microsoft SharePoint Server 2010) and back end (on Microsoft FAST Search Server 2010 for SharePoint) installations. Before you can install the Business Intelligence Indexing Connector you must install SharePoint Server 2010 and FAST Search Server 2010 for SharePoint. To learn more, see Overview of Business Intelligence Indexing Connector architecture (SharePoint Server 2010).

This article does not describe software prerequisites for Microsoft SharePoint Server 2010 or FAST Search Server 2010 for SharePoint. You must review the documentation for each technology on which Business Intelligence Indexing Connector is installed. For more information, see:

  • Hardware and Software Requirements for Installing SQL Server 2008 R2 (http://go.microsoft.com/fwlink/p/?LinkId=191076)

  • Hardware and software requirements (SharePoint Server 2010)

  • System requirements (FAST Search Server 2010 for SharePoint)

Software requirements for Business Intelligence Indexing Connector: back end

You must install the following prerequisites before you install Business Intelligence Indexing Connector.

  • Microsoft .NET Framework 3.5 Service Pack 1

  • Microsoft SQL Server 2008 R2 Feature Pack:

    • SQL Server 2008 R2 ADOMD.NET

    • SQL Server 2008 R2 Analysis Management Objects

    • SQL Server 2008 R2 System CLR Types

  • Open XML SDK 2.0 for Microsoft Office (OpenXMLSDKv2.msi)

  • To crawl PowerPivot for Excel 2010 files, you must install the following components on FAST Search Server 2010 for SharePoint servers that are document processors:

    • Microsoft Excel 2010

    • PowerPivot for Excel 2010

Installing software prerequisites

To install the prerequisites for Business Intelligence Indexing Connector, you can go to the Web sites listed in this section.

  • Microsoft .NET Framework 3.5 Service Pack 1 (http://go.microsoft.com/fwlink/p/?LinkID=131037)

  • Microsoft SQL Server 2008 R2 Feature Pack

  • Open XML SDK 2.0 for Microsoft Office (http://go.microsoft.com/fwlink/p/?LinkId=191094)

  • Microsoft SQL Server 2008 R2 PowerPivot for Microsoft Excel 2010 (http://www.powerpivot.com/download.aspx)

Software requirements for Business Intelligence Indexing Connector: front end

The following are software prerequisites for the Business Intelligence Indexing Connector front end. For related information, see Hardware and software requirements (SharePoint Server 2010).

  • Microsoft SharePoint Server 2010 Enterprise

  • Internet browser

    Note:

    To open documents in a file share by using Firefox, see Links to local or network pages do not work (http://go.microsoft.com/fwlink/p/?LinkId=191096) for a workaround.

Install Microsoft Business Intelligence Indexing Connector — front end and back end

After you have installed the prerequisites, download Business Intelligence Indexing Connector for the back end at the following site.

  • Microsoft Business Intelligence Indexing Connector - Back end (http://go.microsoft.com/fwlink/p/?LinkID=195026)

See Also

Concepts

Overview of Business Intelligence Indexing Connector architecture (SharePoint Server 2010)


Overview of Business Intelligence Indexing Connector architecture (SharePoint Server 2010)

Important:

The Microsoft Business Intelligence Indexing Connector free download was removed from the download site. Customers who have downloaded the Business Intelligence Indexing Connector as of March 2011 will continue to be supported as per standard support procedures. However, Business Intelligence Indexing Connector will not be tested or supported for SharePoint Server 2010 Service Pack 1.

This article describes the topology for a multi-server deployment of Microsoft Business Intelligence Indexing Connector added to Microsoft FAST Search Server 2010 for SharePoint (the back end) and SharePoint Server (the front end). One server is defined as the admin server, where administrative services are installed and run. The deployment can be scaled out to create a multiple-server deployment by adding one or more non-admin servers. A non-admin server does not have the administrative services set up, but connects to a running admin server in a multiple-server deployment. The non-admin server runs services such as search, indexing, and document processing. For more information, see Plan the search solution (FAST Search Server 2010 for SharePoint).

Business intelligence indexing connector

Setup for FAST Search Server 2010 for SharePoint (back end)

The FAST Search Server 2010 for SharePoint admin and document-processor servers must have Business Intelligence Indexing Connector installed. In Business Intelligence Indexing Connector configuration wizard, you have the option to enable crawling functionality for external data sources. By default, the feature is disabled. Business Intelligence Indexing Connector extends the existing IFilter interface for Office on the FAST Search Server 2010 for SharePoint crawl servers. The following kinds of files are crawled and processed by the Business Intelligence Indexing Connector.

  • Microsoft Office Excel 2007 and Microsoft Excel 2010 workbooks (.xlsx)

  • Microsoft Macro-Enabled workbooks (.xlsm)

  • SQL Server Reporting Services and Report Builder 3.0 reports (.rdl)

For more information about installation, see Install and configure BI Indexing Connector (back end).

Setup for SharePoint Server 2010 (front end)

Business Intelligence Indexing Connector client setup is a feature that can be enabled on the SharePoint Server farm. It customizes the specified FAST search site. The setup occurs when you install the SharePoint Solution Pack. For more information, see Install or uninstall SharePoint Solution Pack for BI Indexing Connector (front end).

Logical architecture

The following is a closer look at the architecture for Business Intelligence Indexing Connector.

Architecture for BI Indexing Connector


Understanding planning solutions and scenarios (white paper)

Published: June 24, 2010

This white paper provides direction and samples for developing a Business Intelligence solution with planning, budgeting, and forecasting capabilities for financial, human resources, and other departments inside an organization. The solution's architecture is designed to enable planning functions that include write-back capabilities to SQL Server Analysis Services cubes, SharePoint lists, and relational databases. This white paper also shows how the Microsoft platform can be used in developing financial calculations and business rules to link forms and reports data through Microsoft Excel. Workflow and security are also included as functions to enable collaboration in Microsoft SharePoint 2010 environments. Finally, building and maintaining a centralized data model is discussed.

Download file


Business Intelligence Competency Center (BICC) - encoding and Unicode considerations (white paper)

Published: March 10, 2011

Many organizations create Business Intelligence Competency Centers (BICCs) that are made up of working teams of information technology (IT) and business intelligence (BI) users. A BICC groups people who have interrelated disciplines, skills, and knowledge to promote a consistent set of BI skills, standards, and best practices.

One of the areas that is very important to a successful BICC is to apply standards and best practices in encoding and using Unicode to those BI applications that are built on top of Microsoft solutions. This white paper describes best practices and standards for encoding and using Unicode in BICCs.

Download this white paper (http://go.microsoft.com/fwlink/p/?LinkId=212766).


Business data and processes planning (SharePoint Server 2010)

The topics in this section will help you plan and build solutions that integrate business processes and forms with your enterprise's data.

In this section:

  • Plan for Business Connectivity Services (SharePoint Server 2010)

  • Plan InfoPath Forms Services (SharePoint Server 2010)

  • Plan workflows (SharePoint Server 2010)


Plan for Business Connectivity Services (SharePoint Server 2010)
See Also

Summary: Planning for Microsoft Business Connectivity Services should include thinking about the kinds of solutions your organization requires, and planning for security and administration of those solutions.

Microsoft Business Connectivity Services are a set of services and features that provide a way to connect Microsoft SharePoint Server 2010 solutions to sources of external data and to define external content types that are based on that external data.

In this section:

  • Business Connectivity Services overview (SharePoint Server 2010)

    Defines the concept of Microsoft Business Connectivity Services and explains how solutions that are based on Microsoft Business Connectivity Services can take advantage of the integration of client applications, servers, services, and tools in the Microsoft Office 2010 suites.

  • Business Connectivity Services security overview (SharePoint Server 2010)

    Describes the security architecture of the Microsoft Business Connectivity Services server and client, the supported security environments, the authentication modes available to connect external content types to external systems, the authorization options available on stored objects, and the general techniques for configuring Microsoft Business Connectivity Services security

  • Business Data Connectivity service administration overview (SharePoint Server 2010)

    Provides an overview of administration of the Microsoft Business Connectivity Services and emphasizes on how to use the Business Data Connectivity service.

  • Plan Business Connectivity Services client integration (SharePoint Server 2010)

    Discusses how users can take external lists offline to Microsoft Outlook 2010 and Microsoft SharePoint Workspace 2010. This article also provides guidances on how users can interact with external systems from their Microsoft Office 2010 client applications more securely.

  • Monitoring and Diagnostic logging in Business Connectivity Services overview (SharePoint Server 2010)

    Describes how to use diagnostic logs on servers that are running Microsoft SharePoint Server 2010 and on Microsoft Office 2010 client applications to troubleshoot issues related to Microsoft Business Connectivity Services. It also describes how to use Activity IDs to trace issues to external systems.

  • Plan to upgrade to Business Connectivity Services (SharePoint Server 2010)

    Describes how upgrading from the Microsoft Office SharePoint Server 2007 Business Data Catalog to the Microsoft Business Connectivity Services in SharePoint Server 2010 works and provides guidance about how to upgrade various types of solutions that use the Business Data Catalog.

See Also

Other Resources

Microsoft Business Connectivity Services (BCS) in SharePoint 2010


Business Connectivity Services overview (SharePoint Server 2010)
See Also

Summary: Microsoft Business Connectivity Services in Microsoft SharePoint Server 2010 enable SharePoint deployments to connect to and interact with external data.

Microsoft SharePoint Server 2010 and the Microsoft Office 2010 suites include Microsoft Business Connectivity Services, which are a set of services and features that provide a way to connect SharePoint solutions to sources of external data and to define external content types that are based on that external data. External content types resemble content types and allow the presentation of and interaction with external data in SharePoint lists (known as external lists), Web Parts, Microsoft Outlook 2010, Microsoft SharePoint Workspace 2010, and Microsoft Word 2010 clients. External systems that Microsoft Business Connectivity Services can connect to include SQL Server databases, SAP applications, Web services (including Windows Communication Foundation Web services), custom applications, and Web sites based on SharePoint. By using Microsoft Business Connectivity Services, you can design and build solutions that extend SharePoint collaboration capabilities and the Office user experience to include external business data and the processes that are associated with that data.

Microsoft Business Connectivity Services solutions use a set of standardized interfaces to provide access to business data. As a result, developers of solutions do not have to learn programming practices that apply to a specific system or adapter for each external data source. Microsoft Business Connectivity Services also provide the run-time environment in which solutions that include external data are loaded, integrated, and executed in supported Office client applications and on the Web server.

Typical solutions based on Business Connectivity Services

Solutions that are based on Microsoft Business Connectivity Services can take advantage of the integration of client applications, servers, services, and tools in the Microsoft Office 2010 suites. Information workers typically perform much of their work outside the formal processes of a business system. For example, they collaborate by telephone or e-mail messages, use documents and spreadsheets from multiple sources, and switch between being online and offline. Solutions that are based on Microsoft Business Connectivity Services can be designed to fit within these informal processes that information workers use:

  • They can be built by combining multiple services and features from external data systems and from the Office 2010 suites to deliver solutions that are targeted to specific roles.

  • They support informal interactions and target activities and processes that occur mostly outside formal enterprise systems. Because they are built by using SharePoint 2010 Products, solutions that are based on Microsoft Business Connectivity Services promote collaboration.

  • They help users perform tasks within the familiar user interface of Office applications and SharePoint 2010 products.

Here are some examples of solutions that are based on Microsoft Business Connectivity Services:

  • Help desk An enterprise implements its help desk, which provides internal technical support, as a solution that is based on Microsoft Business Connectivity Services. Support requests and the technical support knowledge base are stored in external databases and are integrated into the solution by using the Business Data Connectivity service. The solution displays both support requests and the knowledge base in the Web browser. Information workers can view their current requests either in a Web browser or in Microsoft Outlook. Tech support specialists view the requests assigned to them in a browser, by using Microsoft Outlook, and, when offline, by using Microsoft SharePoint Workspace. Workflows take support issues through each of their stages. Managers on the technical support team can view dashboards that display help desk reports. Typical reports indicate the number of support issues assigned to each support specialist, the most critical issues currently, and the number of support incidents that are handled by each support specialist during a given time period.

  • Artist tracker A talent agency integrates its database of artists into its internal Web site. The complete list of artists, their contact information, and schedules can be taken offline in Microsoft SharePoint Workspace or in Microsoft Outlook. Recording contracts can be generated and filled from the Web site, Microsoft SharePoint Workspace, or Microsoft Outlook, and a workflow guides each contract through its various stages. New artists can be added from the Web site or from Microsoft Outlook. By using this solution, agents always have the information that they need nearby and they can perform many key tasks by using familiar Office interfaces.

  • Sales Dashboard A sales dashboard application helps sales associates in an organization quickly find the information that they need and enter new data. Sales orders and customer information are managed in an external database and integrated into the solution by using Microsoft Business Connectivity Services. Depending on their roles, team members can view sales analytics information, individual team members' sales performance data, sales leads, and a customer's contact information and orders. Sales professionals can view their daily calendars, view tasks assigned to them by their managers, collaborate with team members, and read industry news, either from a Web browser, from Microsoft Outlook, or offline in Microsoft SharePoint Workspace. By using Microsoft Word 2010, managers can author monthly status reports that include data from the external systems.

Business Connectivity Services architecture

The following illustration shows the architecture of Microsoft Business Connectivity Services.

Business Connectivity Services architecture

A: The Business Data Connectivity service (BDC service) provides a means for storing and securing external content types and related objects. An external content type defines the following:

  • A named set of fields of data, such as "customer."

  • The operations for interacting with the data's external system, such as read, write, and create.

  • The connectivity information that lets solutions that use the external content type connect to the external system.

B: External content types are stored in a dedicated Business Data Connectivity service database.

C: The Secure Store Service securely stores credential sets for external systems and associates those credential sets with identities of individuals or with group identities. A common scenario for the Secure Store Service is a solution that authenticates against an external system in which the current user has a different account for authentication on that external system. When used with Business Data Connectivity service, the Secure Store Service provides a way to authenticate users and groups on external data sources.

D: Credential sets that the Secure Store Service uses are stored in a dedicated, secure database.

E: The Business Data Connectivity Server Runtime on front-end SharePoint servers uses the Business Data Connectivity data to connect to external systems and execute operations on the external systems for access by thin clients such as Web browsers.

F: The BCS Package Store holds the deployable Microsoft Business Connectivity Services packages that contain information that Microsoft Business Connectivity Services and Office applications need to interact with the external systems from rich clients.

G: The Business Data Connectivity service supports connecting to relational databases, Web services, Windows Communication Foundation (WCF) services, .NET connectivity assemblies, and custom data connectors that comply with the requirements of Microsoft Business Connectivity Services.

H: SharePoint Web sites use Business Data Web parts and SharePoint external lists to interact with external data that Microsoft Business Connectivity Services expose.

I: When users connect to an external list, a BCS package is downloaded to the client computers.

J: On supported Office clients (Microsoft SharePoint Workspace, Microsoft Outlook, and Microsoft Word), the Office Integration Client Runtime acts as a connector between Microsoft Business Connectivity Services running on the client and Office applications.

K: The Business Data Connectivity Client Runtime, on client computers, uses the Business Data Connectivity service data and Secure Store Service data to connect to and execute operations on external systems for access by supported rich clients.

L: Business Data Connectivity service data and Secure Store Service data is cached on client computers.

M: The Business Data Connectivity Runtime, on client computers, supports connecting to SQL Server and other relational databases, Web services, and custom data connectors that comply with the requirements of the Microsoft Business Connectivity Services.

N: The client cache refresh synchronizes the cache with the Microsoft Business Connectivity Services data and Secure Store Service data.

O: The Client Secure Store enables end users to configure their client mappings in the credential database.

P: Solution developers can use Microsoft SharePoint Designer 2010 and Visual Studio 2010 to create external content types and BDC models.

Security Note:

We recommend that you use Secure Sockets Layer (SSL) on all channels between client computers and front end servers. Also we recommend using Secure Sockets Layer or Internet Protocol Security (IPSec) between servers running Microsoft SharePoint Server 2010 and external systems.

See Also

Other Resources

Resource Center: What's New in Microsoft SharePoint Server 2010
Resource Center: Business Connectivity Services in SharePoint Server 2010


Business Connectivity Services security overview (SharePoint Server 2010)
See Also

Summary: The security features of Microsoft Business Connectivity Services enable administrators to safely connect to and interact with external data in a SharePoint Server deployment.

This article describes the security architecture of the Microsoft Business Connectivity Services server and client, the supported security environments, the authentication modes available to connect external content types to external systems, the authorization options available on stored objects, and the general techniques for configuring Microsoft Business Connectivity Services security.

In this article:

  • About this article

  • Business Connectivity Services security architecture

  • Business Connectivity Services authentication overview

  • Business Connectivity Service permissions overview

  • Securing Business Connectivity Services

About this article

Microsoft Business Connectivity Services include security features for authenticating users to access external systems and for configuring permissions on data from external systems. Microsoft Business Connectivity Services are highly flexible and can accommodate a range of security methods from within supported Microsoft Office 2010 applications and from the Web browser.

Business Connectivity Services security architecture

This section describes the Microsoft Business Connectivity Services security architecture when authenticating from a Web browser and when authenticating from a supported Office 2010 client application, such as Microsoft Outlook 2010.

Security Note:

We recommend that you use Secure Sockets Layer (SSL) on all channels between client computers and front end servers. Also we recommend using Secure Sockets Layer or Internet Protocol Security (IPSec) between servers running Microsoft SharePoint Server 2010 and external systems. An exception is that you cannot use SSL when transmitting messages to external systems using the SOAP 1.1 protocol or when connecting to a SQL server database. However, in those cases you can use IPSec to protect the data exchange.

Accessing external data from a Web browser

When a user accesses external data from a Web browser, three systems are involved: the logged on user's client computer, the Web server farm, and the external system.

BCS security architecture from a Web browser

  1. From Web browsers, users typically interact with external data in external lists or by using Web Parts.

  2. The BDC Server Runtime on front-end servers uses data from the Business Data Connectivity service to connect to and execute operations on external systems.

  3. The Secure Store Service securely stores credential sets for external systems and associates those credential sets to individual or group identities.

  4. The Security Token Service is a Web service that responds to authentication requests by issuing security tokens made up of identity claims that are based on user account information.

  5. Microsoft Business Connectivity Services can pass credentials to databases and Web services that are configured to use claims-based authentication. For an overview of the Secure Store Service, see Plan the Secure Store Service (SharePoint Server 2010). For an overview of claims-based authentication, see Plan authentication methods (SharePoint Server 2010).

Accessing external data from an Office client application

When accessing external data from a supported Office client application, two systems are involved: the client computer of the logged on user and the external system. This model is supported when a user interacts with external data by using Outlook 2010, Microsoft SharePoint Workspace, or Microsoft Word 2010.

BCS security from an Office client application

  1. Outlook 2010 users typically use external data in Outlook items such as Contacts or Tasks. SharePoint Workspace 2010 users can take external lists offline and interact with them. Word 2010 users can insert external data into Word documents.

  2. The Office Integration Client Runtime acts as a connector between Microsoft Business Connectivity Services running on the client and the supported Office applications.

  3. If the external data is configured to use claims-based authentication, the client interacts with the Security Token Service on the SharePoint farm to get a claims token. (See Configure claims authentication (SharePoint Server 2010) for more information.)

  4. The BDC Client Runtime on client computers uses the data from the Business Data Connectivity service to connect to and execute operations on external systems for rich client access.

  5. The Client Cache caches information from the Business Data Connectivity service and Secure Store Service that is needed to securely connect to external data. The cache is refreshed from the SharePoint farm to incorporate updated information.

  6. The client Secure Store Service enables end users to configure their security credentials.

  7. Microsoft Business Connectivity Services can pass credentials to databases and claims aware services.

Business Connectivity Services authentication overview

Microsoft Business Connectivity Services can be configured to pass authentication requests to external systems by using the following types of methods:

  • Credentials These are typically in the form of name/password. Some external systems may also require additional credentials such as a personal identification number (PIN) value.

  • Claims Security Assertion Markup Language (SAML) tickets can be passed to claims-aware services that supply external data.

Configuring Business Connectivity Services for credentials authentication

Microsoft Business Connectivity Services can use credentials that a user supplies to authenticate requests for external data. The following methods by which users can supply credentials for accessing external data are supported:

  • Windows authentication:

    • Windows Challenge/Response (NTLM)

    • Microsoft Negotiate

  • Authentication other than Windows

    • Forms-based

    • Digest

    • Basic

When configuring Microsoft Business Connectivity Services to pass credentials, the solution designer adds authentication-mode information to external content types. The authentication mode gives Microsoft Business Connectivity Services information about how to process an incoming authentication request from a user and map that request to a set of credentials that can be passed to the external content system. For example, an authentication mode could specify that the user's credentials be passed directly through to the external data system. Alternatively, it could specify that the user's credentials should be mapped to an account that is stored in a Secure Store Service which should then be passed to the external system.

You associate an authentication mode with an external content type in the following ways:

  • When you create an external content type in Microsoft SharePoint Designer or Microsoft Visual Studio 2010.

  • If the external system is a Web service, you can use the Microsoft Business Connectivity Services administration pages to specify the authentication mode.

  • You can specify the authentication mode by directly editing the .XML file that defines the external content type.

The following table describes the authentication modes of the Microsoft Business Connectivity Services:

Authentication mode Description

PassThrough

Passes the credentials of the logged-on user to the external system. This requires that the user's credentials are known to the external system.

Note:

If the Web application is not configured to authenticate with Windows credentials, the NT Authority/Anonymous Logon account is passed to the external system rather than the user's credentials.

This mode is called User's Identity in the Microsoft Business Connectivity Services administration pages and in SharePoint Designer 2010.

RevertToSelf

When the user is accessing external data from a Web browser, this mode ignores the user's credentials and sends the application pool identity account under which the BCS runtime is running on the Web server to the external system. When the user is accessing external data from an Office client application, this mode is equivalent to PassThrough mode, because Microsoft Business Connectivity Services running on the client will be running under the user's credentials.

This mode is called BDC Identity in the Microsoft Business Connectivity Services administration pages and in SharePoint Designer 2010.

Note:

By default, RevertToSelf mode is not enabled. You must use Windows PowerShell to enable RevertToSelf mode before you can create or import models that use RevertToSelf. For more information, see RevertToSelf authentication mode. RevertToSelf mode is not supported in hosted environments.

WindowsCredentials

For external Web services or databases, this mode uses a Secure Store Service to map the user's credentials to a set of Windows credentials on the external system.

This mode is called Impersonate Windows Identity in the Microsoft Business Connectivity Services administration pages and in SharePoint Designer 2010.

Credentials

For an external Web service, this mode uses a Secure Store Service to map the user's credentials to a set of credentials that are supplied by a source other than Windows and that are used to access external data. The Web service should use basic or digest authentication when this mode is used.

Important:

To help preserve security in this mode, we recommend that the connection between the Microsoft Business Connectivity Services and the external system should be secured by using Secure Sockets Layer (SSL) or Internet Protocol Security (IPSec).

This mode is called Impersonate Custom Identity in the Microsoft Business Connectivity Services administration pages and in Office SharePoint Designer.

RDBCredentials

For an external database, this mode uses a Secure Store Service to map the user's credentials to a set of credentials that are supplied by a source other than Windows. To help preserve security in this mode, we recommend that the connection between the Microsoft Business Connectivity Services and the external system should be secured by using Secure Sockets Layer (SSL) or IPSec.

This mode is called Impersonate Custom Identity in the Microsoft Business Connectivity Services administration pages and in Office SharePoint Designer.

DigestCredentials

For a WCF Web service, this mode uses a Secure Store Service to map the user's credentials to a set of credentials using Digest authentication.

This mode is called Impersonate Custom Identity - Digest in the Microsoft Business Connectivity Services administration pages and in SharePoint Designer 2010.

The following illustration shows the Microsoft Business Connectivity Services authentication modes when it uses credentials.

Business Connectivity Services authentication

  • In PassThrough (User's Identity) mode (A) the logged-on user's credentials are passed directly to the external system.

  • In RevertToSelf (BDC Identity) mode (B) the user's logon credentials are replaced with the credentials of the process account under which Microsoft Business Connectivity Services is running, and those credentials are passed to the external system.

  • Three modes use the Secure Store Service: WindowsCredentials (Impersonate Windows ID,) RdbCredentials (Impersonate Custom ID,) and Credentials. In those modes, the user's credentials are mapped to a set of credentials for the external system and Microsoft Business Connectivity Services passes those credentials to the external system. Solution administrators can either map each user's credentials to a unique account on the external system or they can map a set of authenticated users to a single group account.

Configuring Business Connectivity Services for claims-based authentication

Microsoft Business Connectivity Services can provide access to external data based on an incoming security tokens and it can pass security tokens to external systems. A security token is made up of a set of identity claims about a user, and the use of security tokens for authentication is called "claims-based authentication." SharePoint Server includes a Security Token Service that issues security tokens.

The following illustration shows how the Security Token Service and the Secure Store Service work together in claims-based authentication:

Claims authentication in BCS

  1. A user tries an operation on an external list that is configured for claims authentication.

  2. The client application requests a security token from the Security Token Service.

  3. Based on the requesting user's identity, the Security Token Service issues a security token that contains a set of claims and a target application identifier. The Security Token Service returns the security token to the client application.

  4. The client passes the security token to the Secure Store Service.

  5. The Secure Store Service evaluates the security token and uses the target application identifier to return a set of credentials that apply to the external system.

  6. The client receives the credentials and passes them to the external system so that an operation (such as retrieving or updating external data) can be performed.

Business Connectivity Service permissions overview

Permissions in Microsoft Business Connectivity Services associate an individual account, group account, or claim with one or more permission levels on an object in a metadata store. By correctly setting permissions on objects in Microsoft Business Connectivity Services, you help enable solutions to securely incorporate external data. When planning a permissions strategy, we recommend that you give specific permissions to each user or group that needs it, in such a way that the credentials provide the least privilege needed to perform the needed tasks.

Caution:

Properly setting permissions in Microsoft Business Connectivity Services is one element in an overall security strategy. Equally important is securing the data in external systems. How you do this depends on the security model and features of the external system and is beyond the scope of this article.

Note:

Business Connectivity Services uses the permissions on the metadata objects and the permissions on the external system to determine authorization rules. For example, a security trimmer can keep external data from appearing in users' search results. However, if users somehow discover the URL to the trimmed external data, they can access the external data if they have the necessary permissions to the metadata object and the external system. The correct way to prevent users from accessing external data is to set the appropriate permissions both in Business Connectivity Services and in the external system.

What can permissions be set on?

Each instance of the Business Data Connectivity service (or, in the hosting case, each partition) contains a metadata store that includes all the models, external systems, external content types, methods, and method instances that have been defined for that store's purpose. These objects exist in a hierarchy as depicted in the following illustration:

Metadata store hierarchy
Note:

In the previous hierarchy graphic, labels in parentheses are the names of objects as they are defined in the Microsoft Business Connectivity Services metadata schema. The labels that are not in parentheses are the names of each object as it appears in the user interface of the Business Data Connectivity service. For a full discussion of the Microsoft Business Connectivity Services metadata schema, along with walkthroughs of many development tasks, see the Microsoft SharePoint 2010 Software Development Kit (http://go.microsoft.com/fwlink/p/?LinkId=166117&clcid=0x409 ).

The hierarchy of objects in a metadata store determines which objects can propagate their permissions to other objects. In the illustration, each object on which permissions can be set, and optionally propagated, is shown with a solid line; each object that takes its permissions from its parent object is shown with a dotted line. For example, the illustration shows that an External System (LobSystem) can be secured by assigning permissions to it, but an Action cannot be assigned permissions directly. Objects that cannot be assigned permissions take the permissions of their parent object. For example, an Action takes the permissions of its parent External Content Type (Entity).

Security Note:

When the permissions on an object in a metadata store are propagated, permission settings to all children of that item are replaced by the permissions of the propagating object. For example, if permissions are propagated from an External Content Type, all Methods and Method Instances of that External Content Type receive the new permissions.

Four permission levels can be set on the metadata store and the objects it contains:

  • Edit

    Security Note:

    The Edit permission should be considered highly privileged. With the Edit permission, a malicious user can steal credentials or corrupt a server farm. We recommend that, in a production system, you give Edit permission only to users whom you trust to have administrator-level permissions.

  • Execute

  • Selectable in clients

  • Set permissions

The following table defines the meaning of these permissions on the various objects for which they can be set.

Object | Definition | Edit permissions | Execute permissions | Selectable in clients permissions | Set permissions permissions
Metadata store | The collection of XML files, stored in the Business Data Connectivity service, that each contain definitions of models, external content types, and external systems. | The user can create new external systems. | Although there is no "Execute" permission on the metadata store itself, this setting can be used to propagate Execute permissions to child objects in the metadata store. | Although there is no "Selectable in clients" permission on the metadata store itself, this setting can be used to propagate these permissions to child objects in the metadata store. | The user can set permissions on any object in the metadata store by propagating them from the metadata store.
Model | An XML file that contains sets of descriptions of one or more external content types, their related external systems, and information that is specific to the environment, such as authentication properties. | The user can edit the model file. | The "Execute" permission is not applicable to models. | The "Selectable in clients" permission is not applicable to models. | The user can set permissions on the model.
External system | The metadata definition of a supported source of data that can be modeled, such as a database, Web service, or .NET connectivity assembly. | The user can edit the external system. Setting this permission also makes the external system and any external system instances that it contains visible in SharePoint Designer. | Although there is no "Execute" permission on an external system itself, this setting can be used to propagate Execute permissions to child objects in the metadata store. | Although there is no "Selectable in clients" permission on an external system itself, this setting can be used to propagate these permissions to child objects in the metadata store. | The user can set permissions on the external system.
External content type | A reusable collection of metadata that defines a set of data from one or more external systems, the operations available on that data, and connectivity information related to that data. | Although there is no "Edit" permission on an external content type itself, this setting can be used to propagate these permissions to child objects in the metadata store. | The user can execute operations on the external content type. | The user can create external lists of the external content type. | The user can set permissions on the external content type.
Method | An operation related to an external content type. | The user can edit the method. | Although there is no "Execute" permission on a method itself, this setting can be used to propagate Execute permissions to child objects in the metadata store. | There is no "Selectable in clients" permission on a method. | The user can set permissions on the method.
Method instance | For a particular method, describes how to use a method by using a specific set of default values. | The user can edit the method instance. | The user can execute the method instance. | There is no "Selectable in clients" permission on a method instance. | The user can set permissions on the method instance.

Special permissions on the Business Data Connectivity service

Along with the general capabilities of setting permissions described earlier, there is a set of special permissions for the Business Data Connectivity service:

  • Farm administrators have full permissions to the Business Data Connectivity service. This is necessary, for example, to be able to maintain or repair an instance of the service. However, be aware that the farm administrator does not have execute permissions on any object in the metadata store and this right must be given explicitly by an administrator of an instance of the Business Data Connectivity service if it is required.

  • Windows PowerShell users are farm administrators and can run commands on the Business Data Connectivity service.

  • Application pool accounts on front end servers have the same permissions to the Business Data Connectivity service as farm administrators. This permission is necessary to generate deployment packages based on Microsoft Business Connectivity Services.

  • SharePoint Designer users should, in most cases, be given the following permissions on the whole metadata store: Edit, Execute, and Selectable in clients. SharePoint Designer users should not be given Set permissions permissions. If necessary, you can limit the permissions of the SharePoint Designer user to a subset of the metadata store.

    Caution:

    To help ensure a secure solution, SharePoint Designer should be used to create external content types in a test environment in which Edit permissions can be assigned freely. When deploying the tested solution to a production environment, remove the edit permissions to help protect the integrity of the external data.

Common tasks and their related permissions

This section describes common tasks in the Business Data Connectivity service and the required permissions to perform them.

Task | Permissions
Create a new object in the metadata store | To create a new metadata object, a user must have edit permissions on the parent metadata object. For example, to create a new method in an external content type, a user must have permissions on the external content type. See the illustration earlier in this article for child/parent relationships among objects in the metadata store.
Delete an object from the metadata store | To delete a metadata object, a user must have edit permissions on that object. To delete an object and all its child objects (such as deleting an external content type and all its methods) the edit permission is also required on all the child objects.
Adding an external content type to a model | To add an external content type to a model, a user must have edit permissions on the model.
Importing models | To import a model to the metadata store, a user must have edit permissions on the metadata store. If explicit permissions are not assigned on the model, the user who imported it will be given edit permissions on the model.
Exporting models | To export a model from the metadata store, a user must have edit permissions on the model and on all external systems contained in the model.
Generating a deployment package | Deployment packages are generated by the application pool account that is used by the front-end server. This account has full permissions to the metadata store so that it can perform this task.
Setting initial permissions on the metadata store. | When an instance of the Business Data Connectivity service is first created, its metadata store is empty. The farm administrator has full permissions to the store and can set initial permissions.
Generate a deployment package from a consuming farm. | The Business Data Connectivity service application can be shared across server farms. In order to generate a deployment package from a consuming farm (the farm that connects to a remote location to use the Business Data Connectivity service application), the application pool account that is used by the front-end server of the consuming farm must have permissions to the metadata store on the publishing farm. For more information about how to assign permissions to the application pool account, see Set permissions to enable a consuming farm to generate deployment packages.

Securing Business Connectivity Services

This section discusses additional measures that can be used to help secure Business Connectivity Services

Service account

For security isolation, the Business Data Connectivity service application and the front-end server should not use the same service account.

Server to server communication

Securing the communication between the Business Data Connectivity service application and external systems helps ensure that sensitive data is not compromised. You need to use an encrypted communication channel to protect data that is sent between servers running SharePoint Server 2010 and external systems. Internet Protocol security (IPsec) is one method that can be used to help protect communication. The choice of which method to use depends on the specific communication channels you are securing and the benefits and tradeoffs that are most appropriate for your organization.

Applications that use FileBackedMetadataCatalog

For security reasons, RevertToSelf authentication mode is disabled on SharePoint Server 2010 by default. However, this does not prevent applications that use the FileBackedMetadataCatalog class from importing models and executing calls that use RevertToSelf authentication. This can result in elevating privileges for users by granting privileges to the application pool account. You should review all applications to ensure that they do not use FileBackedMetadataCatalog class and RevertToSelf authentication before installing them on a production system.

See Also

Other Resources

Resource Center: Security and Authentication for SharePoint Server 2010
Resource Center: What's New in Microsoft SharePoint Server 2010
Resource Center: Business Connectivity Services in SharePoint Server 2010


Business Data Connectivity service administration overview (SharePoint Server 2010)
See Also

Summary: This article provides an overview of Microsoft Business Connectivity Services administration with emphasis on how to use the Business Data Connectivity service.

Microsoft Business Connectivity Services are administered primarily by using the Business Data Connectivity service. Some configuration of Microsoft Business Connectivity Services, such as creating new target applications and providing credentials for those applications, is also done in the Secure Store Service. For an overview of the Secure Store Service, see Plan the Secure Store Service (SharePoint Server 2010). For descriptions of Secure Store Service operations that support Microsoft Business Connectivity Services, see Configure the Secure Store Service (SharePoint Server 2010).

The Business Data Connectivity service

The Business Data Connectivity service is a shared service and takes advantage of the SharePoint 2010 Products shared services architecture. In Microsoft SharePoint Server 2010, services are not contained within a Shared Services Provider (SSP) as they were in Microsoft Office SharePoint Server 2007. Instead, the infrastructure for hosting services has been moved into SharePoint Foundation 2010 and is included with SharePoint Server 2010. The configuration of services is more flexible. Individual services can be configured independently by different sets of administrators. Multiple instances of the same service, such as the Business Data Connectivity service, can run on the same farm, each with a unique set of administrators.

An instance of the Business Data Connectivity service can be shared across server farms. For example, a Business Data Connectivity service can be run in a central farm and accessed from regional locations so that the same solution is available across these locales.

Within a server farm, you deploy service applications such as the Business Data Connectivity service, by one of the following methods:

  • Selecting services while running the Initial Configuration Wizard and choosing the Business Data Connectivity service.

  • Adding services one by one on the Manage Service Applications page in the Central Administration Web site.

  • Using Windows PowerShell.

Shared services such as the Business Data Connectivity service can each be administered in isolation. The administrators of a particular instance of a shared service may only have permissions to administer that service instance and are not necessarily able to administer other services or other features in the Central Administration Web site. This feature, called delegated administration, allows administration to be managed by administrators who have expertise in the particular service being administered but who are not members of the central IT organization. Thus, for example, an administrator of a Business Data Connectivity service application in an enterprise might be familiar with the following information:

  • The particular external content types being managed by that Business Data Connectivity service application

  • The solutions supported by it

  • The security implemented on the external data sources that provide the data

The administrator would have permissions to administer those objects but would not have permissions to administer other elements of the SharePoint deployment.

For more information about shared services, see the two model posters: Services in SharePoint 2010 Products (http://go.microsoft.com/fwlink/p/?LinkId=177411) and Cross-farm Services in SharePoint 2010 Products (http://go.microsoft.com/fwlink/p/?LinkId=177412).

What can be administered in the Business Data Connectivity service?

Using the Business Data Connectivity service, administrators can manage the following types of objects:

  • External content types: An external content type is a named set of fields, such as "Customer," "Order," or "Contact," that define an object in a business application along with the methods to create, read, update, or delete that object in its external data source.

    Typical tasks that administer an external content type include setting an external content type's permissions, adding actions to an external content type to provide users with new functionality, and associating profile pages with an external content type to customize its appearance when viewed.

    For information about managing external content types, see Manage external content types (SharePoint Server 2010).

  • External systems and external system instances: An external system is a supported source of data, such as a Web service, SQL Server database, and other relational databases, that can be modeled by the Microsoft Business Connectivity Services. An instance of an external system includes connection and authentication information for a specific instance of an external data source.

    Typical tasks that administer an external system include setting permissions on the external system, viewing the external content types that are associated with it, and viewing instances of an external system. Typical tasks that administer an instance of an external system include setting the authentication mode and the type of the external system instance.

    For information about managing external systems and external system instances, see Manage external systems (SharePoint Server 2010).

  • BDC models and resource files: The Business Data Connectivity service supports two types of XML application definition files: application models and resource files. An application model contains the XML descriptions of one or more external content types.

    A resource file enables you to import or export only the localized names, properties, and permissions for one or more external content types. The types of information that can be contained in a resource file include the following:

    • Localized names for the external content types in a particular locale. Localized names that you import are merged with the existing localized names in the Business Data Connectivity service database. If a particular localized name for a locale already exists, it is overwritten with the new information.

    • Properties for external content types. Properties that you import are merged with the existing property description in the Business Data Connectivity service database. If a property already exists, its value is overwritten with the information from the imported file.

    • Permissions, which are access control lists (ACLs) for external content types. Permissions that you import are stored along with the existing permissions information in the Business Data Connectivity service database.

    Typical tasks that administer a BDC model include importing and exporting models or resource files, setting permissions on them, and viewing the external content types associated with a model.

    For information about managing BDC models, see Manage BDC models (SharePoint Server 2010).

See Also

Other Resources

Resource Center: Business Connectivity Services in SharePoint Server 2010


Plan Business Connectivity Services client integration (SharePoint Server 2010)

Published: October 7, 2010

Summary: Microsoft Business Connectivity Services offers users many ways of interacting with external systems from their Microsoft Office 2010 client applications. This article discusses how users can take external data offline to Microsoft Outlook 2010 and Microsoft SharePoint Workspace 2010.

When a user clicks the Connect to Outlook or Sync to SharePoint Workspace button on an external list, a ClickOnce application deployment package is created and installed on the client computer. This enables users to work with external data as native Outlook Item types (for example, Contacts, Tasks, and Appointments) in Outlook and as lists in SharePoint Workspace. Depending on their permissions, users can perform read and write operations on the external data, even when they are working offline or if the external system connectivity is slow, intermittent, or unavailable. The external data is synchronized when connection to the server becomes available.

The ability to take external lists offline takes advantage of the native capabilities of Business Connectivity Services, Microsoft SharePoint Server 2010, and Office 2010 applications. You can build more advanced Business Connectivity Services solutions that use customizing features or code.

For more information about advanced Business Connectivity Services solutions, see Building Solutions with Business Connectivity Services (http://go.microsoft.com/fwlink/p/?LinkID=202359).

In this article:

  • Prerequisites

  • Installing deployment packages

  • Security considerations

Prerequisites

The server must have Microsoft SharePoint Server 2010 with an Enterprise client access license (CAL) installed. The client computer must have Microsoft Office Professional Plus 2010 installed.

The following list describes additional client computer requirements:

  • Internet Explorer The deployment mechanism uses ActiveX controls. Because Internet Explorer is the only browser that supports ActiveX controls, taking external lists offline is supported only in Internet Explorer. If you use another browser, such as Firefox, the Connect to Outlook and Sync to SharePoint Workspace buttons are disabled.

  • Microsoft .NET Framework 3.5 The Microsoft .NET Framework 3.5 or a later version must be installed on the client computer.

  • Business Connectivity Services By default, the Business Connectivity Services feature is installed when Office Professional Plus 2010 is installed. If the .NET Framework 3.5 is not installed when a user installs Office, Business Connectivity Services will not be installed. After the .NET Framework 3.5 is installed on the client computer, the Business Connectivity Services feature is installed when the user first takes an external list offline, and then the deployment package is installed. If the Business Connectivity Services feature was disabled by the user, the user must update his or her Office installation and enable the Business Connectivity Services feature. The Business Connectivity Services feature is available in the Office Shared group.

Installing deployment packages

The following sections discuss settings that can affect deployment package installations.

ClickOnce applications and trust-prompt behavior

The deployment packages are ClickOnce applications. All the rules, regulations, and limitations that govern general ClickOnce applications apply to the deployment packages also. The ClickOnce security model relies on trusted publishers and user prompting to determine whether a ClickOnce application will be installed on the client computer. ClickOnce applications are signed with a certificate that identifies the publisher. The certificates provide the following basis for making trust decisions:

  • If the ClickOnce application is signed by a trusted publisher, the application will automatically be installed. The user is not prompted.

  • If the ClickOnce application is not signed by a trusted publisher, ClickOnce does not automatically trust the application. The user is prompted to confirm that he or she wants to install the application.

Note:

By default, Business Connectivity Services uses a self-signed certificate to sign its deployment packages. Because the certificate is self-signed, it is not from a trusted certification authority (CA).

However, trust prompting can be affected by other settings, such as the Internet Explorer security zone that the ClickOnce application is being installed from. The following table lists example paths and URLs, their corresponding security zones, and the default trust-prompt behavior.

ClickOnce application URL or path | Security zone | Default trust-prompt behavior
C:\Contoso\Clientsolution\Customer.vsto | My Computer | Allow user prompting.
http://contoso/clientsolution/customer.vsto | Local intranet | Allow user prompting.
\\contoso\clientsolution\customer.vsto | Local intranet | Allow user prompting.
http://fabrikam.contoso/clientsolution/customer.vsto | Internet | No user prompting allowed unless the application is signed by a certificate that is issued by a trusted CA.
http://www.contoso.com/clientsolution/customer.vsto | Internet | No user prompting allowed unless the application is signed by a certificate that is issued by a trusted CA.
\\172.16.4.1\clientsolution\customer.vsto | Internet | No user prompting allowed unless the application is signed by a certificate that is issued by a trusted CA.

The following list describes some things that can be done to stop deployment failures that are caused by default trust prompts.

  • Sign the deployment packages with a trusted certificate By default, Business Connectivity Services uses a self-signed certificate to sign its deployment packages. As a result, users will either be prompted to confirm that they want to install the application, or the deployment package will fail to install with no user prompts (if the external list resides in the Internet security zone). To resolve these issues, you can provide a certificate issued by a trusted CA that can be used to sign the deployment packages. For more information about how to provide a trusted certificate, see How to: Get Rid of the Publisher Cannot Be Verified Alert When Taking External Lists Offline (http://go.microsoft.com/fwlink/p/?LinkID=202362).

  • Users can add the SharePoint site to their list of trusted sites in Internet Explorer Adding a site to the Internet Explorer list of trusted sites changes the deployment package security zone to the Trusted zone. The Trusted zone allows user prompting. If you have a deployment package that is not signed with a trusted certificate and resides in the Internet security zone, adding the site to the list of trusted sites gives the user the opportunity to decide whether to install the deployment package.

    Note:

    This action should be taken only for sites that the user can trust.

  • Internet Explorer Enhanced Security Configuration Internet Explorer Enhanced Security Configuration restricts the ability of users to browse Internet and intranet Web sites. This can cause deployment packages to fail to install without any errors displayed. As a workaround, you can do any of the following:

    • Sign the deployment packages with a trusted certificate.

    • Users can add the SharePoint site to their list of trusted sites in Internet Explorer.

    • Turn off Internet Explorer Enhanced Security Configuration for users.

For more information about ClickOnce applications, see ClickOnce Security and Deployment (http://go.microsoft.com/fwlink/p/?LinkId=195784).

Secure Store Service group mappings

Secure Store Service application IDs are used to map users to credential sets. Mappings are available for groups or individuals. In a group mapping, every user who is a member of a specific domain group is mapped to the same set of credentials. In an individual mapping, each individual user is mapped to a unique set of credentials.

If the external content type that is associated with an external list uses a group mapping, when users attempt to take the external list offline they are prompted for the group credentials. In most cases, users will not know the group credentials and will be unable to take the external list offline.

You can do one of the following:

  • Modify the external content type to use an individual mapping.

  • Modify the external content type to prevent users from trying to take the external list offline. Open the external content type in SharePoint Designer and set the Offline Sync for external list field to Disabled. This disables the Connect to Outlook and Sync to SharePoint Workspace buttons in the external list ribbon.

For more information about the Secure Store Service, see Configure the Secure Store Service (SharePoint Server 2010).

Sign in as Different User

When you are using Windows authentication, the Sign in as Different User feature is not supported for installing deployment packages. You cannot take an external list offline if you are logged on to a client computer by using one account and then log on to the SharePoint site by using a different user account. To take an external list offline, you must use the same user account to log on to both the client computer and the SharePoint site.

Security considerations

The following sections discuss additional measures that can be used to help secure Business Connectivity Services when you are working with rich client applications.

Secure communications

We recommend that you use Secure Sockets Layer (SSL) on all channels between client computers and front-end Web servers. This helps ensure that sensitive data is not compromised.

External list permissions

Each external list is associated with an external content type. The permissions on the external content type specify who can perform specific actions on the external content type. The Execute permission is required to execute operations (such as read or update) on an external content type and also to generate a deployment package for the external list. However, after a deployment package is created for an external list, any user who can access that external list can download and install the deployment package. In other words, a user who does not have Execute permission on the external content type, but has Read permission level on the external list, cannot see the items in the external list, but may still be able to take the external list offline. To help ensure that sensitive data is not disclosed, we recommend that you ensure that the permissions on an external list are equal to the permissions of the associated external content type.

Outlook Web Access Web Parts

Outlook Web Access Web Parts enable users to display selected content from folders in their Office Outlook e-mail account in a SharePoint site. If users have taken external data offline to Outlook, using the Outlook Web Access Web Parts can result in sharing of sensitive data. We recommend that administrators educate users to share their Outlook folders only with people whom they can trust.

Client throttle limits

Setting throttle limits on the client computer can help limit denial of service threats that are caused by a user who submits queries that return a large amount of data or take lots of processing time. You can use registry-based policy keys to set throttle limits on client computers. The supported way to manage registry-based policy keys is to use Group Policy to apply the registry policy settings.

The Business Connectivity Services policy settings are included in the Office14.adm file, which can be downloaded from Office 2010 Administrative Template files (ADM, ADMX, ADML) and Office Customization Tool (http://go.microsoft.com/fwlink/p/?LinkId=189316).

The following table describes the Business Connectivity Services registry-based policy keys that can be used to set throttle limits. The keys are located under HKEY_CURRENT_USER\Software\Policies\Microsoft\office\14.0\Common\Business Data.

Note:

The following table lists only the main policy settings that can be used to set client throttle limits. To see the complete list of available Business Connectivity Services policy settings, refer to the Office2010GroupPolicyAndOCTSettings_Reference.xls file that is included on the following download page: Office 2010 Administrative Template files (ADM, ADMX, ADML) and Office Customization Tool (http://go.microsoft.com/fwlink/p/?LinkId=189316).

Key Type Value Description

Synchronization\Query Instances Limit

REG_ DWORD

1-32,767

Specifies the maximum number of items that can be added to the cache by Business Connectivity Services as the result of executing a query.

Some queries can return many items to be added to the cache. This increases the size of the client cache (potentially exceeding the 4-GB limit that is imposed by the Microsoft SQL Server Compact Edition database), increases the work that is required to keep the client cache synchronized, and increases the load on the external system. When the limit is reached, the processing stops. The query is marked as failed and will be retried later.

The default is 2,000 items.

Synchronization\Query Timeout

REG_ DWORD

1-360 (minutes)

Specifies the number of minutes Business Connectivity Services will spend processing a single query.

Some queries can take significant time before all results are retrieved and processed. During this time, no other operation can be processed. When the time-out is exceeded, the processing stops. The query is marked as failed and will be retried later.

Typical values range from 3 to 10 minutes. The default is 5 minutes.

Limits\Database\Items\Max

REG_ DWORD

1-2,000,000

Specifies the maximum number of items the database connector can return per request.

Typical values range from 1,000 to 3,000 items. The default is no data limit.

Limits\Database\Timeout\Max

REG_ DWORD

1-75,000,000 (milliseconds)

Specifies the number of milliseconds to wait until an open database connection is terminated.

Typical values range from 5,000 to 180,000 milliseconds (5 seconds to 3 minutes). The default is no time-out.

Limits\Wcf\Size\Max

REG_ DWORD

1-1,000,000,000 (KB)

Specifies the maximum amount of data a Web service connector can return per request.

Typical values range from 512 KB to 524,288 KB (512 MB). The default is no data limit.

Limits\Wcf\Timeout\Max

REG_ DWORD

1-75,000,000 (milliseconds)

Specifies the number of milliseconds to wait until an open Web service connection is terminated.

Typical values range from 5,000 to 180,000 milliseconds (5 seconds to 3 minutes). The default is no time-out.


Monitoring and Diagnostic logging in Business Connectivity Services overview (SharePoint Server 2010)
See Also

Summary: Administrators can use event logs or trace logs to troubleshoot issues related to Microsoft Business Connectivity Services on servers that are running Microsoft SharePoint Server 2010 and on Microsoft Office 2010 client applications.

Each entry to the event log or trace log has an associated Activity ID that can be used to track a problem from client or server to the external data source.

Note:

In addition to the logging methods discussed in this topic, you can use Microsoft System Center Operations Manager Management Pack to monitor a solution that is based on Microsoft Business Connectivity Services. For more information about how to configure System Center Operations Manager Management Pack, see the guide included in the management pack download at Microsoft SharePoint 2010 Products Management Pack (http://go.microsoft.com/fwlink/p/?LinkId=184971).

In this article:

  • Diagnostic logging in Business Connectivity Services

  • About Activity IDs

  • Diagnostic logging on servers

  • Diagnostic logging on Office 2010 clients

  • Example: using diagnostic logging

Diagnostic logging in Business Connectivity Services

For solutions that are based on Microsoft Business Connectivity Services, diagnostic logging occurs both on servers that are running SharePoint Server 2010 and on Office 2010 clients. There are two logs: the event log and the trace log. They both record diagnostic information that Microsoft Business Connectivity Services generate. Event logs record error messages. Trace logs contain more in-depth information, such as stack traces and informational messages. In general, trace logs provide more details than event logs.

Each logged item of information includes an Activity ID, which is a unique GUID value. Activity ID values can also be sent to external systems when a Create, Update, or Delete operation occurs on an item. By using Activity IDs, an action can be traced from the server or client to the external data source. For more information about Activity IDs, see About Activity IDs .

You can set the level of diagnostic logging for the event log and for the trace log. This will limit the types and amount of information that will be written to each log. The following tables define the levels of logging available for the event log and trace log:

Event log levels

Level | Definition
None | No logging occurs.
Critical | This message type indicates a serious error that has caused a major failure in the solution.
Error | This message type indicates an urgent condition. All error events should be investigated.
Warning | This message type indicates a potential problem or issue that might require attention. Warning messages should be reviewed and tracked for patterns over time.
Information | Information messages do not require any action, but they can provide valuable data for monitoring the state of your solution.
Verbose | This event log level corresponds to lengthy events or messages.

Trace log levels

Level | Definition
None | No trace logs are written.
Unexpected | This level is used to log messages about events that cause solutions to stop processing. When set to log at this level, the log will only include events at this level.
Monitorable | This level is used to log messages about any unrecoverable events that limit the solution's functionality but do not stop the application. When set to log at this level, the log will also include critical errors (Unexpected level).
High | This level is used to log any events that are unexpected but which do not stall the processing of a solution. When set to log at this level, the log will include warnings, errors (Monitorable level) and critical errors (Unexpected level).
Medium | When set to this level, the trace log includes everything except Verbose messages. This level is used to log all high-level information about operations that were performed. At this level, there is enough detail logged to construct the data flow and sequence of operations. This level of logging could be used by administrators or support professionals to troubleshoot issues.
Verbose | When set to log at this level, the log includes messages at all other levels. Almost all actions that are performed are logged when you use this level. Verbose tracing produces many log messages. This level is typically used only for debugging in a development environment.

Diagnostic logs are useful both in development and production environments, but requirements for the level of logging will probably differ depending on the kind of environment. When planning for diagnostic logging in Microsoft Business Connectivity Services, consider the business needs and the lifecycle stage of the environment before you set the logging level.

For example, during solution design, you might, for debugging purposes, set both logging levels to Verbose to capture all the messages that are generated about the state of the system. Conversely, in a production environment, you might want to capture only messages in the categories High, Monitorable, and Unexpected for trace logs and the categories Critical and Error for event logs. Doing this will save logging disk space and limit any negative performance effects of logging.

About Activity IDs

A unique GUID value called an Activity ID is generated on the server and Office client for each Create, Update, or Delete operation on external data in a solution based on Microsoft Business Connectivity Services. Anything related to the operation that is logged in the trace log or event log includes its Activity ID value.

Important:

In the event logs and trace log files on the server, Activity ID values are labeled as "CorrelationId" values.

The Activity ID value generated for a Create, Update, or Delete operation is sent to the external system along with other information related to that operation. If the external system has a logging mechanism, this value can be captured and logged on that system. Therefore, if an operation causes entries to the SharePoint server or Office client logs, the same operation can be traced to the external system by using its Activity ID value. This facilitates end-to-end troubleshooting of issues.

Often, an operation such as Create will cause multiple events to be written to the logs. When this happens, the same Activity ID value is used for all events that are logged for the operation. This is useful in troubleshooting issues because the recurring value of the Activity ID facilitates finding all events for a particular operation. Conversely, when the same type of operation occurs repeatedly, a unique Activity ID value is generated for each operation instance. For example, if an item of an external content type is updated twice, each update operation will be associated with a unique Activity ID value.

Tip:

In some circumstances, the Business Data Connectivity service will retry an operation if it failed to go through to the external system. In those cases, the same Activity ID will be used for the retried operation.

Diagnostic logging on servers

By default, Microsoft Business Connectivity Services logging is enabled on SharePoint Server servers. The default logging levels are:

  • For the event log: Critical and Error

  • For the trace log: Medium

Should diagnostic logging of Microsoft Business Connectivity Services become disabled, enable it by selecting Business Connectivity Services on the Diagnostic Logging page in SharePoint Server Central Administration. You can also use Windows PowerShell to configure event logs and trace logs on the server. For example, you can change the drive that logging writes to, and you can set the level of verbosity of logging.

For more information about logging in SharePoint Server, such as how to set the location of the log files, see Configure diagnostic logging (SharePoint Server 2010).

You can use Windows PowerShell to view the event logs on the server and you can export the logs, for example to a spreadsheet program. For more information, see View diagnostic logs (SharePoint Server 2010).

Microsoft Business Connectivity Services output two categories to the trace log on SharePoint Server front end Web servers: BDC_Shared_Services and SS_Shared_Service. You can use the Event Viewer to open the trace log, and you can filter on the relevant log entries by searching on "SPS_BusinessData" (for Microsoft Business Connectivity Services outputs) and "SPS_SecureStoreService".

Diagnostic logging on Office 2010 clients

Event logs and trace logs for Microsoft Business Connectivity Services solutions are available on Microsoft Office 2010 suites clients that use the Microsoft Business Connectivity Services infrastructure. By default Event logging for Microsoft Business Connectivity Services is enabled on clients. However, to protect performance, only errors and critical errors are logged and this setting cannot be changed. Windows client computers include an Event Viewer that you can use to view event logs. For information about how to view event logs for a specific version of Windows, consult the product documentation.

Trace logging is disabled by default on client computers to help enhance performance. You should only enable trace logging on client computers if you are encountering problems that you want to diagnose. For example, if an event log entry indicates an error might be caused by a an activity that is related to Microsoft Business Connectivity Services, then enable trace logging to gather additional data the next time that the event occurs.

The method for enabling trace logging and reading the logs varies depending on the version of Windows on the computer. On client computers that are running Windows 7 or Windows Vista, you can use the Performance Monitor utility to enable tracing to capture Microsoft Business Connectivity Services events. For the steps for enabling Microsoft Business Connectivity Services tracing on computers that are running Windows 7 or Windows Vista, see Use tracing on the client (SharePoint Server 2010). On computers running Windows XP, you enable tracing by running a script that uses the logman command.

The following sample script uses the logman command to enable trace logging:

Copy Code
rem This script will enable logging, directing log messages to a file specified by the "%FILE_NAME%" given by the user.

@setlocal
@echo off
pushd %~dp0
set PATH_NAME=%TEMP%\BCS
set FILE_NAME=%PATH_NAME%\ETWTraceLog
set TRACE_COLLECTION=BCS
::tracelog -start BCS -guid #b8622a02-c377-46b1-b861-38a787a8e44a -b 128 -flags 0xFFFF -level 5 -f "%FILE_NAME%.etl"
md "%PATH_NAME%" 1>nul 2>nul
logman create trace %TRACE_COLLECTION% -p "{b8622a02-c377-46b1-b861-38a787a8e44a}" 0xFFFF 5 -o "%FILE_NAME%.etl" -ets
echo.
echo Business Connectivity Services tracing has been started. To end press any key.
echo.
pause

As on the server, a unique Activity ID value is generated for each Create, Update, or Delete operation on an item in the client. These values are recorded in the logs and sent to external systems along with other information about operations. Also, a solution can be configured so that Activity Id values are displayed in error messages. This facilitates troubleshooting problems encountered by solution users.

Important:

Because the required version of the Event Tracing for Windows programming interface on which Activity ID generation is dependent is not available on the Windows XP operating system, Activity ID generation is not supported on clients running Windows XP.

Example: using diagnostic logging

This short, simplified scenario illustrates the use of diagnostic logging in a production environment. An enterprise has deployed a new time card submission solution based on Microsoft Business Connectivity Services. This solution uses an external system to store timecard information for employees, such as vacation time and sick leave, and to interact with employees and the payroll system when employees report absence from work. Employees use a Web Part to interact with the system.

On the server farm, the logging levels are set to the default values for Microsoft Business Connectivity Services:

  • For the event log: Critical and Error

  • For the trace log: Medium

In this scenario, an employee submits a value for the number of sick leave hours but neither the employee nor his manager receives a confirming email message reporting that the sick leave time was successfully submitted. The employee calls the internal technical support service and reports the issue.

The support technician recognizes that the time card application is based on Microsoft Business Connectivity Services. She checks the event log but finds no error associated with the identity of the user at the time the user submitted the time card request. She then checks the trace log, where she finds the evidence of the activity: an Update operation associated with the user at the appropriate time. The Update operation in the trace log includes an Activity ID value which the support technician notes.

The support technician knows that logging is also supported on the external system. Using the Activity ID, she locates the item logged on the external system and finds evidence of an error written to the log at the end of the Update operation: the update failed because the employee had used up all of his allotted sick leave time. She also notes that there is no log entry confirming that an email message was generated on the external system immediately at the end of the Update operation. The support technician concludes that there is an error in the logic of the time card application. Although the application properly did not allocate sick time pay when the employee exceeded his allotted amount of hours, it failed to generate an email message informing the employee of the issue. She reports the problem to the development team that created the application and the development team updates the application.

See Also

Concepts

Use tracing on the client (SharePoint Server 2010)
Monitoring overview (SharePoint Server 2010)
Configure diagnostic logging (SharePoint Server 2010)
Business Connectivity Services overview (SharePoint Server 2010)

Other Resources

Resource Center: Business Connectivity Services in SharePoint Server 2010


Plan to upgrade to Business Connectivity Services (SharePoint Server 2010)
See Also

Summary: This article describes how upgrading from the Office SharePoint Server 2007 Business Data Catalog to the Microsoft Business Connectivity Services in SharePoint Server 2010 works and provides guidance about how to upgrade various types of solutions that use the Business Data Catalog.

  • The Business Data Catalog, Application Registry, and Business Data Connectivity service

  • How Business Connectivity Services upgrade works

  • Upgrading by using database attach

  • Solution-specific upgrade considerations

The Business Data Catalog, Application Registry, and Business Data Connectivity service

This section introduces the three services involved in an upgrade from the Business Data Catalog to SharePoint Server 2010.

In Office SharePoint Server 2007, the Business Data Catalog integrates external data into solutions. The Business Data Catalog was implemented as a shared service in the context of the Shared Services Provider framework. The Business Data Catalog stored application definitions, which are similar, but not identical, to BDC models in SharePoint Server 2010.

In SharePoint Server 2010, a new service, the Business Data Connectivity service, integrates external data into solutions. This service is implemented in the new shared services framework of SharePoint Server 2010. For an overview of the new shared services framework, see Services architecture planning (SharePoint Server 2010). The new Business Data Connectivity service is part of the Microsoft Business Connectivity Services, which is a set of client and server capabilities that includes a full set of read-write capabilities with external systems, integration with Microsoft Office 2010 clients, and a rich set of development tools. The object model of the Business Data Connectivity service is not backward compatible with the object model that the Business Data Catalog uses, although the object models are similar.

Another service in SharePoint Server 2010, the Application Registry Service, directly replaces the Business Data Catalog from Office SharePoint Server 2007 and supports the backward compatibility of solutions that are based on the Business Data Catalog. Because the Application Registry Service supports the object model of the Business Data Catalog, the Application Registry Service can support solutions that depend on the Business Data Catalog object model. The Application Registry service can support applications originally created in Office Microsoft Office SharePoint Server 2007 that include one or more of the following elements:

  • Custom Web Parts

  • Custom code

  • Searching

All of these depend on the object model or metadata schema of the Business Data Catalog and will continue to work in SharePoint Server 2010 by using the Application Registry Service.

The Web Parts that were provided by Office SharePoint Server 2007, such as the Business Data List Web Part and the Business Data Association Web Part, are upgraded in SharePoint Server 2010 to run against the Business Data Connectivity service and do not run against the Application Registry Service. For more information, see Web Parts.

Important:

Note that the Application Registry Service is deprecated and exists only to support the backward compatibility of solutions that are based on the Office SharePoint Server 2007 Business Data Catalog. Do not build new solutions that depend on the deprecated Application Registry Service. Build new solutions on the Business Data Connectivity service.

Note:

If you are not upgrading solutions that are based on the Office SharePoint Server 2007 Business Data Catalog to SharePoint Server 2010, you can turn off the Application Registry Service to save resources and simplify server farm management. For more information about how to turn off the Application Registry Service, see Application Registry Service administration (SharePoint Server 2010).

How Business Connectivity Services upgrade works

During upgrade from Office SharePoint Server 2007 to SharePoint Server 2010 , the following occurs:

  1. For each Business Data Catalog that is running in the context of a Shared Service Provider (SSP) in Office SharePoint Server 2007, two services are created in SharePoint Server 2010:

    • An Application Registry Service to store application definitions that are compatible with the Office SharePoint Server 2007 Business Data Catalog object model.

    • A Business Data Connectivity service to store BDC models, which are compatible with the SharePoint Server 2010 Business Data Connectivity Services object model. The new object model supports the new features in the Business Data Connectivity service.

  2. A copy of each application definition in the Business Data Catalog is placed in the Application Registry service and, an upgraded version that is based on the new object model is placed in the Business Data Connectivity service.

The following illustration shows how this upgrade works. In the graphic, two shared service providers are shown in Office SharePoint Server 2007, and the resulting four services (two instances each of the Application Registry Service and the Business Data Connectivity service) are shown in SharePoint Server 2010 after upgrading:

Business Connectivity Services upgrade
Warning:

Only in-place upgrading is supported for upgrading solutions that are based on the Office SharePoint Server 2007 Business Data Catalog. For general information about in-place upgrading, see Perform an in-place upgrade (SharePoint Server 2010).

Upgrading by using database attach

There are two approaches to upgrading from Office SharePoint Server 2007 to SharePoint Server 2010: in-place upgrade and database attach upgrade. For more information, see Upgrade process overview (SharePoint Server 2010). If you use the database attach method to upgrade and you want to continue to use the external data that is accessed through one or more application definitions, you must complete the following tasks:

  1. Export application definitions that the solution requires from the Office SharePoint Server 2007 Business Data Catalog. For more information, see Export application definition (http://go.microsoft.com/fwlink/p/?LinkId=189010).

  2. After upgrading, update the solution to use the object model and features of the Microsoft Business Connectivity Services. This includes updating the application definitions to become BDC models, which are compatible with Microsoft Business Connectivity Services. For information about the Business Data Connectivity service object model, see Microsoft SharePoint 2010 Software Development Kit (http://go.microsoft.com/fwlink/p/?LinkId=166117).

  3. Import the updated BDC models into the Business Data Connectivity service. For more information, see Manage BDC models (SharePoint Server 2010).

For more information about database attach upgrading, see Prepare the new SharePoint Server 2010 environment for a database attach upgrade and Perform post-upgrade steps for a database attach upgrade (SharePoint Server 2010).

Solution-specific upgrade considerations

This section contains recommendations about how to manage specific aspects of solutions that are upgraded to run in SharePoint Server 2010.

  • Models

  • Web Parts

  • Search

  • Single sign-on

  • Single sign-on

  • Maintaining parent and child farm relationships

Models

As described in a previous section, when you upgrade from the Office SharePoint Server 2007 Business Data Catalog to Microsoft Business Connectivity Services, two versions of each application definition in the Business Data Catalog are created in SharePoint Server 2010. One identical copy of the application definition is stored in the Application Registry service; another version of the application definition file is upgraded to the Microsoft Business Connectivity Services metadata schema and, now called a "BDC model," is stored in the new Business Data Connectivity service.

Important:

When application definitions are upgraded to BDC models and stored in the Business Data Connectivity service, all errors or warnings that are related to the conversion process are written to the upgrade log. For information about the upgrade log, see Verify upgrade and review upgraded sites (SharePoint Server 2010).

We recommend that you use the upgraded BDC model in the Business Data Connectivity service for future development of the solution. However, if you do additionally develop the original application definition in the Application Registry service, you should make similar changes on the updated BDC model that is stored in the Business Data Connectivity service. This is so that features that rely on the new object model, such as the Web Parts that are included in SharePoint Server 2010, will provide a consistent user experience. Also, because the Application Registry Service is deprecated, you ensure that a solution will be available for future upgrades to subsequent product versions if you develop on the BDC model.

Web Parts

Office SharePoint Server 2007 included the following Web Parts for building solutions that use the Business Data Catalog:

  • Business Data List Web Part

  • Business Data Association Web Part

  • Business Data Actions Web Part

  • Business Data Details Web Part

  • Business Data Catalog Filter Web Part

The Web Parts that were provided by Office SharePoint Server 2007 are upgraded in SharePoint Server 2010 to run against the Business Data Connectivity service. Such Web Parts that you used in a Office SharePoint Server 2007 solution will continue to work after upgrade by using the upgraded Web Parts and the Business Data Connectivity service. Custom Web Parts in a Office SharePoint Server 2007 solution, however, will run against the Application Registry Service after upgrade. For data consistency, we recommend that you obtain new versions of custom Web Parts that can run against the Business Data Connectivity service.

These Web Parts have been upgraded in SharePoint Server 2010 to work on BDC models in the new Business Data Connectivity service. If a solution in Office SharePoint Server 2007 depends on one or more of these Web Parts, you should upgrade the solution to the Microsoft Business Connectivity Services object model and use the new versions of the Web Parts to interact with it. They are not available to run directly on application definitions in the Application Registry service.

Search

To search external data in Office SharePoint Server 2007, you create a content source that points to an application definition in the Business Data Catalog. If you search content in this manner in Office SharePoint Server 2007, you can continue to search the same external data after upgrading to SharePoint Server 2010 BY using the Application Registry Service. No modification to the content source is required on upgrade for search to work. It is recommended that you also create a new content source definition that points to the Business Data Connectivity service.

Single sign-on

In Office SharePoint Server 2007, some authentication modes for solutions that use the Business Data Catalog also use the Single Sign-On service, which provides storage and mapping of credentials such as account names and passwords. Application definitions in the Business Data Catalog that depended on the Single Sign-On service included information that references the service.

The Secure Store Service replaces the Single Sign-On service in SharePoint Server 2010. For more information, see Plan the Secure Store Service (SharePoint Server 2010)). After you upgrade to SharePoint Server 2010, application definitions that were upgraded to the Application Registry service and to the Business Data Connectivity service will be updated to refer to the Secure Store Service. For information about how to migrate data from the Single-Sign-on service to the Secure Store Service, see Perform post-upgrade steps for an in-place upgrade (SharePoint Server 2010)

Important:

If you used a custom Single Sign-On provider in Office SharePoint Server 2007, then you will need to upgrade the provider in SharePoint Server 2010 and update the BDC models and application definitions manually in the Application Registry service and the Business Data Connectivity service.

Maintaining service databases on separate servers

In Office SharePoint Server 2007, the database that the Shared Services Provider uses can optionally be on a separate server from the SharePoint content database. After you upgrade to SharePoint Server 2010, the databases for both the Business Data Connectivity service and the Application Registry service will always be on the same server as the content databases. If you want to maintain separate databases for these services, you will have to do this as a post upgrade step by backing up each service's database and then restoring the databases to a separate server.

Maintaining parent and child farm relationships

In Office SharePoint Server 2007, the Shared Services Provider that includes the Business Data Catalog could be in a farm that services one or more child farms that use the shared services. If you want this service to be available to child farms after you upgrade to the Application Registry service, you will have to use the CreateDelegatedApplicationProxy Windows PowerShell command to create a new proxy that connects to the Application Registry Service's database on the parent farm. The following sample script illustrates the use of this command for this purpose:

Copy Code
$proxy=[Microsoft.Office.Server.ApplicationRegistry.SharedService.ApplicationRegistryServiceApplicationProxy]::CreateDelegatedApplicationProxy("<NAME>", "Data Source=<SQLserverName>;Initial Catalog=<ApplicationRegistry DB NAME>;Integrated Security=true")

For the Business Data Connectivity service, this operation can be done using SharePoint Central Administration.

See Also

Concepts

Plan for Business Connectivity Services (SharePoint Server 2010)

Other Resources

Downloadable book: Upgrading to SharePoint Server 2010
Resource Center: Upgrade and Migration for SharePoint Server 2010
Resource Center: Business Connectivity Services in SharePoint Server 2010


Plan InfoPath Forms Services (SharePoint Server 2010)
See Also

InfoPath Forms Services is the service that supports the deployment and integration of InfoPath browser forms in Microsoft SharePoint Server 2010. Employees, customers, and business partners of an organization use forms to standardize, customize, and validate data collection. Forms are often deployed as one element in a business solution that uses a broad functionality of SharePoint Server 2010 features.

The articles in this chapter can help you determine the aspects of your SharePoint Server 2010 deployment to govern and include discussions of governance techniques. The articles include:

  • About forms in SharePoint Server 2010

    Defines InfoPath Forms Services, explains the types of forms used in SharePoint sites and solutions, and describes the common administrative tasks for server farm administrators and other IT pros.

  • Plan a forms-driven application (SharePoint Server 2010)

    Describes the considerations to use when planning for InfoPath forms in a SharePoint application.

  • Plan for user form templates (SharePoint Server 2010)

    Describes the considerations to use when planning for user form templates.

  • Plan to upgrade form templates during an upgrade to SharePoint Server 2010

    Describes the process that is used to successfully upgrade form templates during an upgrade from Office SharePoint Server 2007 to SharePoint Server 2010 and the additional steps that are required.

  • InfoPath 2010 Enhanced Integration with SharePoint Server 2010 and Its Implications When Designing Forms for Applications (white paper)

    Describes how to use InfoPath List forms, InfoPath document-based forms, and InfoPath Web Parts to create enterprise-level applications in SharePoint Server 2010.

See Also

Concepts

InfoPath forms administration (SharePoint Server 2010)


About forms in SharePoint Server 2010
See Also

In this article, you will learn about the benefits of using InfoPath forms to gather data in Microsoft SharePoint Server 2010 solutions. It describes the role of forms in broader business solutions, and the types of forms you can create by using Microsoft InfoPath 2010.

In this article:

  • InfoPath forms overview

  • Role of forms in SharePoint solutions

  • Types of InfoPath forms

  • Deploying forms

  • Filling out forms

InfoPath forms overview

All business processes involve gathering data of some kind, and the success of any business process relies on the quality and integrity of that data. By using InfoPath forms in your SharePoint solutions, you can ensure that only valid, good quality data is gathered. InfoPath 2010 achieves this by letting you standardize, customize, and optimize the process of gathering data without writing any code.

The following are some key features that InfoPath provides to ensure data integrity:

  • Custom data validation ensures that users cannot submit forms that contain invalid data.

  • Customized layout. By using multiple views, you can simplify the form-filling experience by splitting forms into multiple pages or creating separate views that are optimized for specific users or tasks. Conditional formatting lets you optimize the form-filling experience. For example, you can show or hide fields in the form based on values entered by users.

  • Data connections to other sources such as SharePoint lists or Web services let you pull supporting, contextual data into your forms.

    Note:

    InfoPath Forms Services accesses external data sources by using a delegated Windows identity. Consequently, external data sources must reside within the same domain as the SharePoint Server 2010 farm, or InfoPath form templates must be configured to use the Secure Store Service. If the Secure Store Service is not used and external data sources do not reside within the same domain, authentication to the external data sources will fail. For more information, see Planning considerations for services that access external data sources in "Services Architecture Planning."

Code is not required to implement the above features. However, you can write managed code by using Visual Studio Tools for Applications (VSTA) to add more advanced functionality to your forms.

Role of forms in SharePoint solutions

Forms play a role in all business process management solutions. The following are just a few examples of the types of business solutions and applications that use InfoPath forms:

  • Form-driven applications start with a form that is used to gather data and add in other SharePoint functionality to process and report on the data including workflows, reporting, custom Web Pages, and external lists. Examples include a help desk Web site, a procurement center, or an employee hiring center for a human resources department.

  • Document workflow applications automate document-based business processes. Adding InfoPath forms to workflows lets you gather information from the users at predefined times in the life of the workflow and let users interact with the tasks for that workflow. Examples include contract approval, technical specification review, or processing for legal documents.

  • Business data applications start with data in an external system that is made available in SharePoint Server through Business Connectivity Services. Data in the external systems is accessible in SharePoint Server through external lists and can be added, viewed, updated, and deleted by using InfoPath forms. Examples include customer relationship management and enterprise resource planning.

  • Ad hoc business processes can be managed by using SharePoint lists. The forms used for creating, reading, and updating items in these lists can be customized by using InfoPath 2010. Examples include simple issue tracking or tasks lists.

  • Document information panels use InfoPath forms to display document metadata within the Microsoft Office system client application.

Types of InfoPath forms

Depending upon an organization and its business resources and needs, form designers can be professionals dedicated to forms-based design and development, or other users such as information workers, overall solution designers, site designers, site collection administrators, Web developers, or farm administrators who have other primary responsibilities.

The type of form they design will depend on the requirements of the business solution.

InfoPath components

InfoPath consists of the following two main components:

  • InfoPath 2010 is the Office system client application that has the following two modes:

    • Microsoft InfoPath Designer 2010 is used to create form templates. Form templates define the data structure, appearance, and behavior of a form. After the design process has been completed, form designers publish the form template to SharePoint Server so that users can start filling out forms based on that template.

    • Microsoft InfoPath Filler 2010 is used to fill out forms that are based on form templates created in InfoPath Designer.

  • InfoPath Forms Services in Microsoft SharePoint Server 2010 enables forms to be rendered in the Web browser. It is available as an Enterprise feature of SharePoint Server 2010. Farm administrators configure settings for InfoPath Forms Services on the SharePoint Central Administration Web site.

Web browser vs. Filler-only forms

The first design decision that form designers have to make is whether to create a Web browser form or a Filler-only form. Browser forms can be filled out in a Web browser, whereas Filler-only forms can only be filled out in InfoPath Filler 2010.

The major benefit of creating browser forms is that users who fill out the forms do not have to have InfoPath 2010 installed on their computers. These forms can be filled out in the browser. InfoPath Forms Services is required to publish browser forms to SharePoint Server and to render them in the browser. However, it is important to note that certain functionality and controls are not supported in Web browser forms. This is the most common reason for creating a Filler-only form.

Web browser forms

Browser forms include the following types:

  • List forms

  • External list forms

  • Form library forms

  • Workflow forms

SharePoint list forms

New in SharePoint Server 2010, you can now extend and enhance the forms used for creating, editing and viewing items in SharePoint lists by using InfoPath 2010. InfoPath form templates that are published to SharePoint lists replace the default SharePoint list form.

Each content type for the list has its own SharePoint list form that can be customized in InfoPath Designer.

By customizing list forms in InfoPath Designer, you can enhance your SharePoint lists by adding the following functionality that is not supported in default SharePoint list forms:

  • Add rules to validate data that users add to forms. For example, if you are using forms to track orders for an organization, you can enforce a spending limit for individual orders.

  • Add rules to format data based on particular conditions. Form designers can show or hide fields, enable or disable controls, switch views, or set values for data in a field. For example, in an inventory-tracking form template, you can show different information to a user who requests new inventory than to the organizational administrator who purchases new inventory.

  • Query data from other sources. For example, you can check the availability of inventory in an external system and let users know immediately if a particular item is unavailable.

  • Change the layout and appearance of forms. For example, you could move the required fields to a prominent position in the form to make them easier for users to find and fill out, or add views that are optimized for different tasks or user permissions.

These customization options and the built-in views and filtering options available for SharePoint lists enable list forms to be used in many kinds of business solutions, from ad hoc processes to more complex, structured business processes.

SharePoint list form templates cannot contain managed code or repeating or nested data. If the overall solution requires managed code or complex data structures in forms, you must use a form library.

External list forms

Business Connectivity Services lets you work with data from external systems such as databases or Web services by using SharePoint external lists. External lists are created from external content types. As for regular SharePoint lists, InfoPath 2010 can be used to customize the forms used to create, read, update and delete items in external lists.

Form library forms

A form library is a SharePoint document library that uses an InfoPath form as its default content type. New forms are created by clicking the New button in the form library and individual forms that are filled out by users are stored as XML files in the library.

Form library forms should be used if your solution requires any of the following features:

  • Repeating or nested data

  • Digital signatures

  • Managed code

  • Form data stored as XML

Workflow forms

Form designers can use InfoPath Designer to customize the forms that users fill out to interact with tasks in SharePoint workflows.

For more information about how to design form templates, see InfoPath Help and How-to (http://go.microsoft.com/fwlink/p/?LinkID=185225).

For more information about how to design form templates that have custom code, see InfoPath Forms Services (http://go.microsoft.com/fwlink/p/?LinkId=185226) in the SharePoint Developer Center.

Deploying forms

Publishing options for form library forms depend upon whether the form template contains managed code, the permissions of the form designer, and InfoPath Forms Services settings.

Publishing browser forms without code

Web browser forms that do not contain managed code can be published directly to SharePoint Server by any form designer with the Design permission level. Form designers publish form templates by using InfoPath Designer.

Farm administrators can restrict the ability to publish browser forms to SharePoint Server by disabling the publishing of browser-enabled form templates on the InfoPath Forms Services configuration options page in Central Administration. This option applies to form library forms only, and enables organizations that want more centralized control of form templates to require administrator approval before publishing browser forms to SharePoint Server. This option does not prevent users from publishing Filler-only forms to SharePoint Server. These forms can only be filled out by using InfoPath Filler.

Publishing browser forms with code

Form designers can add managed code to their forms by using Visual Studio Tools for Applications (VSTA). VSTA is an optional installation component available in Setup for InfoPath 2010. Form templates that have managed code can be published in the following two ways:

  • Sandboxed solutions Site collection administrators can publish form templates that have code to form libraries as sandboxed solutions.

  • Administrator-approved forms Farm administrators can upload form templates to a library in Central Administration, and then activate the form templates on site collections as site content types that users with the Design permission level can select.

Form templates as sandboxed solutions

Site collection administrators can publish form templates that have code to form libraries as sandboxed solutions, if the Microsoft SharePoint Foundation Sandboxed Code Service is running on the farm. This lets a form designer who is a site collection administrator publish forms without requiring farm administrator approval. The sandboxed solutions will run in an environment that has access to a subset of the server object model. The farm administrator can set usage limits to protect the server from malicious code.

Form templates that contain code that requires full trust to execute cannot be published as sandboxed solutions. They must be approved by a farm administrator. For more information about sandboxed solutions, see Sandboxed solutions overview (SharePoint Server 2010).

Administrator-approved form templates

Farm administrators can upload form templates that have code, including code that requires full trust to execute, to a form template library in Central Administration. This can be a preferred option in organizations that are willing to sacrifice ease of deployment for more centralized control of forms and managed code. Form templates that are uploaded to the form template library in Central Administration are called administrator-approved form templates.

After saving the form template, the form designer contacts the farm administrator. The farm administrator reviews the form template to ensure that it meets organizational performance and security standards. If the form template meets those standards, the farm administrator uploads it to the form template library in Central Administration for the farm.

A farm administrator has to activate a form template for a specific site collection before it can be used on the site collection. Activating a form template puts the form template in a library of form templates for the site. Users can then add the form template as a content type to a form library. Anyone with the Design permission level can add a form template content type.

For more information, see Manage administrator-approved form templates (SharePoint Server 2010).

Filling out forms

After a form template has been published, users can start filling out forms that are based on that form template.

Browser vs. Filler forms

There are two main form-filling environments, the Web browser and InfoPath Filler. Any form can be filled out in InfoPath Filler. Only browser-enabled forms can be filled out in a Web browser.

Farm administrators can disable rendering of forms in the Web browser by configuring settings on the InfoPath Forms Services configuration page in Central Administration. This applies only to user form templates that have been published to form libraries, and not to administrator-approved form templates or form templates published to lists. If rendering of Web browser forms is disabled, forms will open in InfoPath Filler if InfoPath is installed on the user's computer.

Offline form-filling

SharePoint list forms can be filled out offline by using SharePoint Workspace. Form library forms can be filled out offline by using InfoPath Filler.

InfoPath Form Web Part

InfoPath browser forms can also be hosted on Web pages by using the InfoPath Form Web Part. For more information about the InfoPath Form Web Part, see About the InfoPath Form Web Part (http://go.microsoft.com/fwlink/p/?LinkId=187903&clcid=0x409).

See Also

Concepts

Plan InfoPath Forms Services (SharePoint Server 2010)
Sandboxed solutions overview (SharePoint Server 2010)

Other Resources

Resource Center: Workflows in SharePoint Server 2010


Plan a forms-driven application (SharePoint Server 2010)
See Also

Many SharePoint Server applications contain InfoPath forms. A subset of these applications are actually driven by a form. These form-driven applications usually share the following characteristics:

  • They automate a business process, such as placing an order or completing employee performance evaluations.

  • There is a key piece of structured information, instances of which flow through different activities to complete the business process.

Although each form-driven application is unique, the structure found in form-driven applications often is of a common design. If your application fits this common design, you might be able to use the design presented in this article and modify it to fit your specific case.

This article describes a design for a particular kind of Microsoft SharePoint Server 2010 application that uses forms. It does not cover how to design other kinds of SharePoint Server applications or how to design the forms themselves. For more information about how to design Microsoft InfoPath 2010 forms, see Office.com (http://go.microsoft.com/fwlink/p/?LinkId=187550&clcid=0x409).

In this article:

  • Structure of a form-driven application

  • About planning a common form-driven application

  • Identifying the key piece of information

  • Using a list or a form library

  • Workflow

  • Additional data sources

  • Portals

  • Summary

Structure of a form-driven application

A complex form-driven SharePoint Server application can contain the following components:

  • A SharePoint site in which to host the application.

  • A form template that captures the core piece of information. The form template might have different views for different groups of users or for different stages of the information's life cycle.

  • A SharePoint list or library in which to store instances of the completed form template (known as forms).

  • A workflow that routes an item through a business process. The workflow starts when a new form is created.

  • SharePoint lists that contain auxiliary information that is used to populate fields in the form template. Forms and workflows might be associated with these lists to manage the information in the list.

  • External databases or line-of-business (LOB) applications that provide data for the form template or the workflow.

  • Business logic represented as validation rules in the form template or as part of the workflow.

  • A Web page that serves as a portal and enables users to create a new instance of the form template and to view other information about the forms. There might be multiple portals for different audiences.

Your application does not have to match this structure exactly. Some form-driven SharePoint Server applications do not contain all these components, and other applications add small variations, such as having more than one workflow.

About planning a common form-driven application

To design a common kind of form-driven application, you first determine the key piece of information that drives the business process. Then you decide whether to store the information in a SharePoint list or a library, and define the workflow that is used to process the information. Next you determine any additional data sources that will be needed. Finally, you design the portals through which users will access the application.

Identifying the key piece of information

The first step in planning a form-driven application is to determine the key piece of information around which the application revolves. In many situations, the key piece of information is obvious. In a helpdesk application, for example, the key piece of information is probably a service request. In an employee performance review process, the key piece of information is probably a performance review form. In a purchasing system, the key piece of information is probably an order.

Identify the key piece of information that drives the process. If the key piece of information is not obvious, consider the following suggestions:

  • If the application will automate an existing process, is there a document or a file that is handed off from one person to another as the process progresses? That document or file is likely to be the key piece of information.

  • Does a process start when an item is created or when an item appears in a certain location? That item could be the key piece of information.

  • The key piece of information probably has some structure, and might grow or change as it is processed. For example, an order contains the customer's name and address, a list of items complete with quantity and price, and other details. More information such as a tracking number is added to the order as it is processed.

  • The key piece of information probably has a status associated with it, and the status changes over time.

If you cannot determine the key piece of information that drives the process, the design presented in this article probably does not fit your application.

When you implement the application, you will create a form template for this key piece of information. This form template will be called the "core form" throughout this article.

Using a list or a form library

Determine whether you will store instances of the core form in a SharePoint list or in a SharePoint Server form library.

If possible, use a list. A list-based solution is simpler and more efficient. However, there are certain situations in which a list will not work. If any of the following conditions is true, use a form library:

  • You have to keep a history of changes to form instances.

  • The core form contains repeating sections, such as an arbitrary number of accomplishments in an employee's review form.

  • The core form has nested data, such as an order form that contains an item, where an item can contain a product code, a quantity, a size, and a price.

  • The core form will contain code.

    The following are some situations in which a form might contain code:

    • The form includes buttons that perform custom actions.

    • The value of one field in the form is based on a complex combination of other values in the form.

  • Instances of the core form will be digitally signed.

  • You have to store data about each instance of the core form in XML.

If you store instances of the core form in a list, each field in the core form will become a column in the list, and each instance of the core form will become a list item. If you store instances of the core form in a form library, each instance will be turned into an XML document, and the documents will be stored in the library.

Workflow

The business process starts when something happens to an instance of the core form. Often, creating a new instance of the core form itself starts the business process, but other events such as an instance of the core form being modified or being assigned to a person could also start a process.

The business process routes the instance of the core form through the people and systems that have to perform actions. If the core form were a service request, for example, creating a new service request might start a process that assigns the service request to a service representative to interact with the person who originated the request. The service representative might take various actions depending on the outcome of the discussion with the originator: for example, escalate the request to a senior representative, mark the request as resolved, forward the request to the orders department if the originator should be sent a replacement, and so on.

Identify the steps and decision points that are involved in processing an instance of the core form. This sequence of steps will be represented in SharePoint Server as a workflow. For more information about workflows, see Plan workflows (SharePoint Server 2010).

Additional data sources

A form template can retrieve data from external sources such as a database, a Web service, or a SharePoint list. One common use for external data is to populate a list of valid values for a field in the form template, such as a list of cost centers. You could also use a rule to calculate the value of one field based on a combination of external data and the values of other fields. For example, the value of an "approver" field might be obtained by using an external data source to look up the manager of the employee whose name was entered in the "submitted by" field.

Identify the external data that the core form will access. For each source of external data, indicate where the data comes from. For example, does the data come from a SharePoint list, an SQL database, a LOB system such as SAP, or some other source?

Note:

You can access some LOB data directly from SharePoint Server lists by creating an external content type. For more information about how to create external content types, see Business Connectivity Services overview (SharePoint Server 2010).

For any SharePoint lists that provide data to the core form, consider how you will manage the data in the list. Will you create a form to enter new data in the list? Are workflows needed to manage items in the list? For example, if the core form uses a list of cost centers, you might add an Approval workflow to the list.

Portals

Who will use the application? Are there different user roles, with members of one role performing different actions or viewing different information than users of other roles? If users in different roles will do different things with the application, consider creating a portal for each role. Tailor the actions and information that are available in each portal to the role of users who are using the portal.

For example, in an employee performance review application, there are probably at least three roles:

  • Employees, who complete performance review forms.

  • Managers, who add information to performance review forms and approve performance reviews.

  • Human resources professionals, who create reports and aggregate information from performance reviews.

Employees would access the performance review application through an employee portal that could enable them to create a new performance review form and to track whether their own performance review was approved by their manager. Managers would access the application through a manager portal that might show a list of their employees with an indication of whether the employee had already submitted a performance review form, and a link to open an employee's performance review form. Human resource professionals would access the application through an HR portal that might show summary statistics of how many performance review forms were approved, submitted but not yet approved, or not yet submitted.

The simplest kind of portal to create is merely a view over the SharePoint list or library in which instances of the core form are stored. You can use a filter or apply conditional formatting to customize the view to the specific user.

You can also design a custom Web page for each user role, and give each user the URL appropriate to their role to access the application. On the portal Web pages, you might include some of the following elements:

  • A New button to create a new instance of the core form.

  • A summary/detail view of instances of the core form. The summary would be a list of form instances, filtered by some criteria, and the detail would be the details of whichever form instance was selected in the summary. You can create the summary view by using a List View Web Part or a Content Query Web Part. You can create the detail view by hosting the core form in the InfoPath form Web Part. For more information about the List View Web Part, see the Microsoft SharePoint team blog (http://go.microsoft.com/fwlink/p/?LinkId=187653&clcid=0x409). For more information about the Content Query Web Part, see How to: Customize the Content By Query Web Part by Using Custom Properties (http://go.microsoft.com/fwlink/p/?LinkId=187635&clcid=0x409). For more information about the InfoPath form Web Part, see How to: Host an InfoPath Form in the InfoPath Form Web Part (http://go.microsoft.com/fwlink/p/?LinkId=187637&clcid=0x409). You can use a different filter on the portals for different roles. For example, on the portal for users who create new form instances, you might filter by instances that were created by the same user. On a portal for approvers, you might filter on instances awaiting the user's review and approval.

  • Statistics about the process, such as the number of form instances processed per day, or measurements related to the subject area of the application.

Summary

If you have been able to determine characteristics of your application that correspond to most of the previous sections, it is likely that you can implement the application by following the paradigm of a form-driven application. Create a SharePoint site to host the application. Create a form template for the core form; create a list or a library to store instances of the core form; and associate the form template with the list or library. Add a workflow that is triggered when a new form is added to the list or library. Create and populate any additional lists that are needed to provide data for the form template. Create one or more portals through which users will interact with the application.

See Also

Concepts

About forms in SharePoint Server 2010
InfoPath forms administration (SharePoint Server 2010)

Other Resources

Resource Center: Workflows in SharePoint Server 2010


Plan for user form templates (SharePoint Server 2010)
See Also

Published: August 5, 2010

This article describes the settings that are specific to user form templates and help you plan which InfoPath Forms Services features to enable for user form templates.

In this article:

  • About user form templates

  • Browser-enabled user form templates

  • Plan external data access

  • Data connection library

About user form templates

Form templates can be divided into three categories depending on how they are deployed: user form templates, administrator-approved templates, and form templates as sandboxed solutions. User form templates are form templates that are deployed by a non-administrator, for example, a form designer. They can be deployed by any user who has the Design permission-level on the site. User form templates can be published to a list or a form library.

Administrator-approved form templates are form templates that must be deployed by a farm administrator. Administrator-approved form templates may contain code or business logic that requires additional permission levels. In order for an administrator-approved form template to be available widely, it must be uploaded to the Central Administration site by a farm administrator and then activated by a site collection administrator.

Form templates as sandboxed solutions are form templates that have code and that are published to form libraries as sandboxed solutions. This lets a form designer who is a site collection administrator publish forms without requiring farm administrator approval. The sandboxed solutions run in an environment that has access to a subset of the server object model. A farm administrator can set usage limits to protect the server from malicious code. For more information about sandboxed solutions, see Sandboxed solutions planning (SharePoint Server 2010) and Enable sandboxed solutions on the farm (SharePoint Server 2010).

For more information about forms and form templates, see About forms in SharePoint Server 2010.

Browser-enabled user form templates

By default, when form designers create a form template, the form template is browser-enabled so that users can fill it out in a Web browser. This enables users to fill out the forms when they do not have Microsoft InfoPath Filler 2010 installed on their computers. You must decide the following:

Note:

These settings apply only to user form templates that are published to form libraries. Workflow form templates and list form templates are not affected.

  • Do you want to allow users to publish browser-enabled user form templates? You can decide whether to allow form designers to publish browser-enabled form templates to the SharePoint Server farm. If form designers cannot publish browser-enabled form templates, they must ask farm administrators to publish any browser-enabled form templates for them. Restricting the ability to publish Web browser forms to administrators gives you tighter control over the availability of Web browser forms.

  • Do you want to render browser-enabled user form templates? You can decide whether users can use a Web browser to fill out browser-enabled user forms. If you decide not to render browser-enabled user form templates, the forms will open in InfoPath Filler 2010 if InfoPath is installed on the user's computer.

By default, browser-enabled user form templates are published and rendered. For more information about how to change these settings, see the Configure browser-enabled user form templates section in "Configure InfoPath Forms Services".

Plan external data access

A user form template can access data from external sources such as a database, a Web service, or a SharePoint list. This section summarizes the settings that affect external data access that you must consider when you plan to deploy user form templates.

  • Cross-domain access

  • InfoPath Forms Services Web service proxy

  • Authentication information in data connection files

Cross-domain access

By default, user form templates cannot make cross-domain connections. That is, any external data connections must reside within the same domain as the SharePoint Server farm where the user form template is published. If you have user form templates that must access data that is in a different domain, you can enable cross-domain access for user form templates.

For more information about how to change the cross-domain access setting, see the Configure authentication and data connection settings for InfoPath Forms Services section in "Configure InfoPath Forms Services".

InfoPath Forms Services Web service proxy

Form templates can use the InfoPath Forms Services Web service proxy to connect to a Web service. The InfoPath Forms Services Web service proxy forwards SOAP requests to a Web service to enable authorization. The InfoPath Forms Services Web service proxy uses a Secure Store Service application ID that is contained in a data connection file for authentication. Using the InfoPath Forms Services Web service proxy makes possible the following two scenarios that are not otherwise achievable with forms that are running in a Web browser:

  • Authentication to a Web service on a third tier when Windows NTLM authentication would typically prevent re-use of user credentials.

  • Symmetrical authentication between a form in InfoPath Filler and the same form that is running in a Web browser.

By default, user form templates cannot use the InfoPath Forms Services Web service proxy. For more information about how to enable user form templates to use the InfoPath Forms Services Web service proxy, see Configure Web service proxy for InfoPath Forms Services (SharePoint Server 2010).

Authentication information in data connection files

Form templates can use data connection (.udcx) files to specify data connection settings for forms. A data connection is a dynamic link between a form template and a data source that stores or provides data for the form template. Data connection files can include alternate authentication information such as a Secure Store Service application ID. By default, user form templates cannot use authentication information in a data connection file. You must enable user form templates to use authentication information in data connection files if you have the following scenarios:

  • You want user form templates to be able to use the InfoPath Forms Services Web service proxy for authentication.

  • You have Web browser user forms that require multi-tier authentication. For example, if you have a Web browser user form that has to access a database server, you may encounter multi-tier authentication problems. In this scenario, a user's Windows credentials would have to be passed from the Web browser to the server that InfoPath Forms Services is running on and then to the database server. This kind of delegation is not allowed in the NTLM authentication system that is used by Microsoft Windows. Multi-tier authentication problems occur more frequently with Web browser forms because forms that are opened in InfoPath Filler can authenticate directly with the data source.

By default, user form templates cannot use authentication information in a data connection file. For more information about how to change this setting, see the Configure authentication and data connection settings for InfoPath Forms Services section in "Configure InfoPath Forms Services".

Data connection library

SharePoint Server provides a centrally managed data connection library that enables farm administrators to manage the data connection files that are used by administrator-approved form templates. You should consider creating a data connection library that can be used by user form templates. A data connection library is a specific kind of library that is used to store data connection files.

A data connection library provides the following benefits:

  • Connection settings can be shared across multiple forms and multiple forms designers.

  • If a data connection setting has to be changed, you can update the data connection file without modifying the form templates that use that data connection file.

  • By default, approval is required before a data connection file can be used by everyone. This enables the site collection administrator (and any designated approvers) to control the kinds of connections to allow.

To effectively plan for a data connection library, consider the following:

  • How many data connection libraries do you need? The files in the data connection library can be used by forms and form templates that are in the same site collection as the data connection library.

  • Who should be able to upload data connection files? Users with the Contributor permission-level can upload data connection files to the library.

  • Who should be able to approve the data connection files? When a data connection file is uploaded, the owner of the file can use the file. However, approval is required before the data connection file can be used by anyone else. Users with the Design permission-level can approve data connection files.

For more information about data connection libraries, see How to: Create and Use a Data Connection Library (http://go.microsoft.com/fwlink/p/?LinkId=188117).

See Also

Concepts

About forms in SharePoint Server 2010
Configure the Secure Store Service (SharePoint Server 2010)


Plan to upgrade form templates during an upgrade to SharePoint Server 2010
See Also

This article describes the additional steps that are required to upgrade form templates when you upgrade InfoPath Forms Services from the version in Microsoft Office SharePoint Server 2007 and Microsoft Office Forms Server 2007 to the version in Microsoft SharePoint Server 2010.

In this article:

  • About upgrading forms during an upgrade to SharePoint Server 2010

  • Upgrade form templates during a database attach upgrade to SharePoint Server 2010

  • Upgrade form templates during an in-place upgrade to SharePoint Server 2010

About upgrading forms during an upgrade to SharePoint Server 2010

When you upgrade from Office SharePoint Server 2007 or Microsoft Office Forms Server 2007 to SharePoint Server 2010, InfoPath Forms Services is also upgraded.

The following upgrade and migration scenarios are relevant for InfoPath Forms Services in SharePoint Server 2010:

  • Database attach upgrade

    Upgrades forms and form templates from InfoPath Forms Services in Microsoft Office SharePoint Server 2007 or from Microsoft Office Forms Server 2007 to another server that is running SharePoint Server 2010. Existing administrator-approved form templates and data connections must be migrated to the new deployment and upgraded to work with InfoPath Forms Services in Microsoft SharePoint Server 2010.

    Note:

    A database attach upgrade is the only way to upgrade Microsoft Office Forms Server 2007 to SharePoint Server 2010.

  • In-place upgrade

    Upgrades forms and form templates from InfoPath Forms Services for Microsoft Office SharePoint Server 2007 to SharePoint Server 2010 on the same server. All forms and form templates are upgraded automatically during an in-place upgrade.

For more information about how to upgrade from Office SharePoint Server 2007 to SharePoint Server 2010, see Upgrading to SharePoint Server 2010.

Upgrade form templates during a database attach upgrade to SharePoint Server 2010

A database attach upgrade enables you to move your content to a new farm or new hardware. During a database attach upgrade, you detach all the content databases from an existing farm and then attach the databases to a new server farm installation. When you attach the databases to the new server farm, the upgrade process runs and upgrades the data in place. A database attach upgrade is the only way to upgrade Microsoft Office Forms Server 2007 to SharePoint Server 2010.

The content database contains only some files that are used by InfoPath forms. These files include the following:

  • User form templates (.xsn), which are form templates that are deployed by non-administrators. They do not require full trust and do not use data connections that are managed by an administrator. User form templates (.xsn) can be published to lists and form libraries by individual contributors.

  • Data connection files (.udcx) for user form templates.

  • Content from filled-out forms (.xml) in lists and form libraries.

These files are upgraded automatically when you perform a database attach upgrade.

On the other hand, administrator-approved form templates and data connection files in the Central Administration libraries are stored in the configuration database and must be migrated separately. These files include the following:

  • Administrator-approved form templates (.xsn files) that are uploaded to the Manage Form Templates library on the Central Administration site.

  • Data connection files (.udcx files) that are uploaded to the Manage Data Connection Files library on the Central Administration site.

If you copy and attach the content database before these files have been imported, the sites that contain content that depend on administrator-approved forms will produce errors during import.

To avoid these errors, we recommend that you follow these steps in the order listed:

  1. Perform the prerequisite steps for upgrading to SharePoint Server 2010.

  2. Install and configure SharePoint Server 2010 on the new server.

  3. Export administrator-approved form templates and data connection files from the configuration database on the original server that is running Office SharePoint Server 2007 or Microsoft Office Forms Server 2007. For more information about how to export and import administrator-approved forms, form templates, and data connection files between configuration databases, see the Export and import administrator-approved form template files between configuration databases section later in this article.

  4. Import the files to the configuration database on the new server that is running SharePoint Server 2010.

  5. Follow the steps in Attach databases and upgrade to SharePoint Server 2010 to attach and upgrade the databases from the original server to the new SharePoint Server 2010 server.

  6. If the URL of the new server differs from the URL of the previous server, run a Windows PowerShell 2.0 cmdlet to update links that are used in the upgraded forms and form templates. For more information about how to update the links that are used in upgraded forms and form templates, see the Update form template links to the server section later in this article.

Export and import administrator-approved form template files between configuration databases

The forms data in the content database includes only the files that are used by user forms, form templates, and data connection files that are uploaded to lists and document libraries. It does not include administrator-approved form templates and data connection files that are uploaded to the Central Administration site.

To avoid problems when you upgrade form templates, export the content in the configuration database of the original server that is running Office SharePoint Server 2007 or Microsoft Office Forms Server 2007 and import it to the new server that is running SharePoint Server 2010.

To export administrator-approved form templates and data connection files that are stored in the Office SharePoint Server 2007 or Microsoft Office Forms Server 2007 configuration database, use the -o exportipfsadminobjects command in the Stsadm command-line tool.

To import administrator-approved form templates and data connection files to the configuration database on the new server, use the Windows PowerShell 2.0Import-SPInfoPathAdministrationFiles cmdlet.

Data-connection time-out settings and other settings on the Configure InfoPath Forms Services administration page are not migrated and must be configured on the new server.

For more information about how to use the Stsadm command-line tool, see Stsadm command-line tool (Office SharePoint Server) (http://go.microsoft.com/fwlink/p/?LinkId=186993).

Update form template links to the server

During upgrades or content migrations, it is common to change the URL of the server that contains forms and form templates. If the URL of the new server differs from the URL of the previous server, links that forms and form templates use might have to be updated to the URL of the new server. These include links in the form data to the form template file location, or links in the form template to data connection files or other resource files.

Both user form templates and administrator-approved templates can be affected.

To update links that are used in user form templates and data connection files, run the Update-SPInfoPathUserFileUrl cmdlet.

To update links that are used in administrator-approved form templates and data connection files, run the Update-SPInfoPathAdminFileUrl cmdlet.

These cmdlets update the name of the server in URLs that form templates and data connection files use. They do not update links in forms that are moved between libraries by users, or in other forms content that is stored in the content database. Users can fix those links by using the Relink All command that is available in the form library settings. Forms and form templates that are upgraded or migrated by using the database attach process are relinked automatically.

Upgrade form templates during an in-place upgrade to SharePoint Server 2010

Form templates for InfoPath Forms Services are upgraded automatically as part of any in-place upgrade of SharePoint Server.

For more information about how to upgrade in place to SharePoint Server 2010, see Upgrade in place to SharePoint Server 2010.

See Also

Other Resources

Downloadable book: Upgrading to SharePoint Server 2010
Resource Center: Upgrade and Migration for SharePoint Server 2010


InfoPath 2010 Enhanced Integration with SharePoint Server 2010 and Its Implications When Designing Forms for Applications (white paper)
See Also

The enhanced features of Microsoft InfoPath 2010 and its tighter integration with Microsoft SharePoint Server 2010 make InfoPath 2010 an enterprise-class development tool. With the ability to access any number of data sources dynamically and apply sophisticated rule sets to manipulate information and form behavior, InfoPath forms and Web Parts can address the most demanding enterprise application requirements.

This white paper describes how to use InfoPath List forms, InfoPath document-based forms, and InfoPath Web Parts to create enterprise-level applications in SharePoint Server 2010. To download the white paper in the format that you want, click the following links:

  • InfoPath 2010 Enhanced Integration with SharePoint Server 2010 and Its Implications When Designing Forms for Applications (Microsoft Office Word) (http://go.microsoft.com/fwlink/p/?LinkID=190499&clcid=0x409)

  • InfoPath 2010 Enhanced Integration with SharePoint Server 2010 and Its Implications When Designing Forms for Applications (PDF) (http://go.microsoft.com/fwlink/p/?LinkId=190500&clcid=0x409)

  • InfoPath 2010 Enhanced Integration with SharePoint Server 2010 and Its Implications When Designing Forms for Applications (XPS) (http://go.microsoft.com/fwlink/p/?LinkId=190501&clcid=0x409)

See Also

Other Resources

Resource Center: Workflows in SharePoint Server 2010


Plan workflows (SharePoint Server 2010)
See Also

Administrators plan workflows to ensure that processes follow a consistent sequence of actions during a business process.

A workflow is a feature of Microsoft SharePoint Server 2010 that moves documents or list items through a specific sequence of actions or tasks related to a business process. Workflows can be used to manage common business processes such as document review or approval.

In this section:

  • Workflows overview (SharePoint Server 2010)

    This article introduces the types of business processes that workflows can facilitate and describes the workflows included in SharePoint Server 2010.

  • Choose a workflow authoring tool (SharePoint Server 2010)

    This article describes the different Microsoft supported workflow authoring tools, how they can be used together for rapid workflow authoring.

  • Plan for approval and review processes in workflows (SharePoint Server 2010)

    Because workflows help an enterprise move documents through the review and approval processes, this article explains how the Approval workflow works and how to plan to use it effectively.

  • Plan for workflow security and user management (SharePoint Server 2010)

    This article highlights some aspects of workflow behavior that relate to security and raises other issues for administrators and workflow developers to consider when they plan to configure and develop workflows.

  • Approval Workflow: A Scenario (SharePoint Server 2010)

    This article shows how an approval-type workflow that is created in Microsoft SharePoint Designer 2010 or Workflow Designer in Visual Studio 2010, and that is then hosted by using SharePoint Server 2010 might look.

See Also

Concepts

Workflow administration (SharePoint Server 2010)


Workflows overview (SharePoint Server 2010)
See Also

The workflow feature in Microsoft SharePoint Server 2010 enables solution architects, designers, and administrators to improve business processes. Fundamentally, a workflow consists of two things: the forms that a workflow uses to interact with its users and the logic that defines the workflow's behavior. Understanding how workflows are created requires knowledge about both.

In this article:

  • Workflow overview

  • Benefits of using workflows

  • Predefined workflows

  • Sample workflow scenario

  • Workflow types: Declarative and compiled

  • Workflow templates

  • Workflow associations

  • Office client interoperability

Workflow overview

Workflows in SharePoint Server 2010 enable enterprises to reduce the amount of unnecessary interactions between people as they perform business processes. For example, to reach a decision, groups typically follow a series of steps. The steps can be a formal, standard operating procedure, or an informal implicitly understood way to operate. Collectively, the steps represent a business process. The number of human interactions that occur in business processes can inhibit speed and the quality of decisions. Software that simplifies and manages this "human workflow" enables the automation of interactions among groups who participate in the process. This automation results in more speed, overall effectiveness of the interactions, and often a reduction in errors.

You can model business processes by using flow charts, such as those created using Microsoft Visio 2010 and can represent business processes by using workflow terminology. You can automate business processes, such as document approval, by associating a workflow with data in SharePoint Server 2010. For example, you can create a workflow to route a document for review, track an issue through its various stages of resolution, or guide a contract through an approval process.

One problem that many IT departments face when implementing business processes that require participation of information workers is that those processes do not integrate with the way people actually work. For a business process to be effective, it must be integrated with the familiar, everyday tools and applications used in the workplace so that it becomes part of the daily routine of information workers. In the electronic workplace, this includes integration with e-mail, calendars, task lists, and collaboration Web sites.

Benefits of using workflows

The primary benefits of using workflows are to facilitate business processes and improve collaboration.

Business processes that enterprises use depend on the flow of information or documents. These business processes require the active participation of information workers to complete tasks that contribute to their workgroup's decisions or deliverables. In SharePoint Server 2010, these types of business processes are implemented and managed by using workflows.

Examples of business processes that could be facilitated by workflows include:

  • Contract approval Guiding a proposed contract among members of an organization who must approve or reject it.

  • Expense reporting Managing the submission of an expense report and associated receipts, reviewing the report, approving it, and reimbursing the submitter.

  • Technical support Guiding the progress of a technical support incident as it is opened by a customer, investigated by a support engineer, routed to technical experts, resolved, and added to a knowledge base.

  • Interviewing Managing the process of interviewing a job candidate. This includes scheduling and tracking interview appointments, collecting interview feedback as it accumulates, making that feedback available to subsequent interviewers, and facilitating the hire/no-hire decision.

  • Content publishing Managing the approval of the publication of content on the Internet presence site of an enterprise.

Automating business processes

Businesses depend on business processes. Although those processes often involve software, the most important processes in many organizations depend on people. Workflows can automate interactions among the people who participate in a process to improve how that process functions, increase its efficiency, and lower its error rate.

Many processes can benefit from automated support for human interactions. Examples include the following:

  • Approval A common aspect of human-oriented business processes is the requirement to get approval from multiple participants. What is being approved can vary widely, ranging from a Microsoft Word document that contains next year's marketing plan to an expense report from a trip to a conference. In every case, some number of people must review the information, perhaps appending comments, and then indicate approval or rejection.

  • Coordinating group efforts Whether it is preparing a response to a request for proposal (RFP), managing the translation of a document into one or more languages, or something else, many processes require people to work together in an organized way. By defining the steps of the process through an automated workflow, the group's work can be made more efficient and the process itself more predictable.

  • Issue tracking Many business processes generate a list of outstanding issues. An automated workflow can be used to maintain that list, assign issues to the people who can resolve them, and track the status of that resolution.

To support these kinds of automated business processes, SharePoint Server 2010 can run workflow applications. Based on Windows Workflow Foundation 3.5, these applications interact with people through a Web browser. For more information about Windows Workflow Foundation 3.5, see Windows Workflow Foundation (http://go.microsoft.com/fwlink/p/?LinkId=127778).

Workflows improve collaboration

Workflows help people collaborate on documents and manage project tasks by implementing business processes on documents and items on a SharePoint site or site collection. Workflows help organizations follow consistent business process practices. Workflows increase organizational efficiency and productivity through management of the tasks and steps involved in those business processes. Workflows speed up decision making by helping to ensure that the appropriate information is made available to the appropriate people at the time that they need it. Workflows also help ensure that individual workflow tasks are completed by the appropriate people and in the appropriate sequence. This enables the people who perform these tasks to concentrate on performing the work instead of on the work processes.

For example, on a SharePoint Server 2010 site, you can create a workflow to be used with a document library to route a document to a group of people for approval. When the author starts this workflow, the workflow creates document approval tasks, assigns these tasks to the workflow participants, and then sends e-mail alerts to the participants.

When the workflow is in progress, the workflow owner or the workflow participants can check progress on the Workflow Status page. When the workflow participants complete their workflow tasks, the workflow ends, and the workflow owner is automatically notified that the workflow has finished.

Predefined workflows

Microsoft SharePoint Server 2010 includes the following predefined workflow templates that address common business scenarios:

  • Collect Feedback Routes a document or item to a group of people for feedback. Reviewers can provide feedback, which is then compiled and sent to the person who initiated the workflow. By default, the Collect Feedback workflow is associated with the Document content type, and therefore it is automatically available in document libraries.

  • Approval Routes a document or item to a group of people for approval. By default, the Approval workflow is associated with the Document content type, and therefore it is automatically available in document libraries. A version of the Approval workflow is also associated by default with the Pages library on a publishing site, and can be used to manage the approval process for the publication of Web pages.

    The Approval workflow is a staged approval model (that is, the first set of approvers can undergo the review and approval process, then the next set of approvers, and so on). Each stage or approval set can also have its own behavior. For example, members of the first group of approvers can do their review in serial approval order (one after the other), members of the second group can do their review in parallel (reviewers can provide feedback in any order), and so on.

  • Disposition Approval Manages document expiration and retention by letting participants to decide whether to keep or delete expired documents. The Disposition Approval workflow supports record management processes and is intended for use primarily in a Records Center site.

  • Collect Signatures Routes a document that was created in a Microsoft application to a group of people to collect their digital signatures. This workflow must be started in applications in the 2007 Microsoft Office system and the Microsoft Office 2010 suites such as Microsoft Word. Participants must complete their signature tasks by adding their digital signatures to the documents in the relevant client program. By default, the Collect Signatures workflow is associated with the Document content type, and therefore is automatically available in document libraries. However, the Collect Signatures workflow appears for a document in the document library only if that document contains one or more Microsoft Office Signature Lines.

    For more information on Microsoft Office Signature Lines, see Add or remove a digital signature in Office documents (http://go.microsoft.com/fwlink/p/?LinkId=157408).

  • Three-state Designed to track the status of a list item through three states (phases). It can be used to manage business processes that require organizations to track a high volume of issues or items, such as customer support issues, sales leads, or project tasks.

    The Three-state workflow is so named because it tracks the status of an issue or item through three different states, and through two transitions between the states. For example, when a workflow is initiated on an issue in an Issues list, SharePoint Server 2010 creates a task for the assigned user. When the user completes the task, the workflow changes from its initial state (Active) to its middle state (Resolved) and creates a task for the assigned user. When the user completes the task, the workflow changes from its middle state (Resolved) to its final state (Closed), and creates another task for the user to whom the workflow is assigned at that time. Note that this workflow is only supported on lists, not libraries.

  • Translation Management Manages manual document translation by creating copies of the document to be translated and by assigning translation tasks to translators. This workflow is available only for Translation Management libraries.

  • Issue Tracking Routes an issue to team members for resolution. It presents a Web page to the user who makes possible the entry of new issues; for example, customer complaints. As an issue progresses though different workflow states, the Web page of the user changes to reflect appropriate events; for example, a Web page that was closed when an issue is resolved.

You can customize each of these workflows for an organization in several ways. For example, when you add a workflow to a list, library, content type, or site to make it available for use on documents or items, you can customize the tasks lists and history lists where information about the workflow is stored.

When a site user starts a workflow on a document, item, or site, the user might have the option to further customize the workflow by specifying the list of participants, a due date, and task instructions.

You can also make a copy of a predefined workflow to use as a starting point when creating a custom workflow.

Sample workflow scenario

Imagine that you work for Adventure Works, a sports store franchise that sells bicycles worldwide. This company has sales representatives that visit different countries to help new franchisees open new sports stores.

The scenario described in this section is one where an expense report is submitted for approval. If the expense report is for less than $5,000.00, a manager is required to approve, disapprove, or forward it. If the expense report is equal to, or more than, $5,000.00, a manager must review the expense report, comment on it, and then if the manager recommends approval, it is forwarded to a vice-president, who must approve or disapprove it.

In this scenario, the expense report form is an InfoPath Forms Services form. The workflow is a sequential Approval type of workflow project created in Microsoft SharePoint Designer 2010, and is composed of both automated tasks and tasks that require human action. The workflow is running on SharePoint Server 2010.

  1. The sales representative — the first workflow participant — browses to an intranet self-service portal and selects the Expense Report form. A data entry page opens. The sales representative first fills out a simple expense report form that contains entries for the person's name, the expense purpose, the expense total, and the name and e-mail address of the person's direct manager. The sales representative then clicks Submit to submit the form.

    Upon submission of the form, the data is saved centrally, the workflow is initiated, and the review task is assigned to the approver (in this case, the sales representative's manager).

  2. The workflow notifies the sales representative's manager. The notification is an e-mail message that contains instructions for completing the task and provides a link to a Web site that displays the Expense Report form.

  3. The manager, the second workflow participant, goes to the Web site and reviews the expense report. The workflow task item provides three actions that the manager can perform: Approve, Disapprove or Forward.

    • If the expense report is less than $5,000.00, the manager sees options to Approve or Disapprove the expense report.

    • If the expense report is more than $5,000.00, the manager sees options to Forward the expense report to a company vice president, or to Disapprove the expense report at the manager's level.

  4. The manager takes action to approve, disapprove, or forward the expense report, and the workflow continues:

    • If the expenses are approved by the manager, the task completion sends a message to the workflow indicating that the task is completed, the workflow notifies the sales representative through an e-mail message, and then the workflow adds the expense data to the line-of-business (LOB) accounting system.

    • If the expenses are not approved by the manger, he types an explanation for his decision. The task completion sends a message to the workflow indicating that the task is completed, and then the workflow notifies the sales representative through an e-mail message.

    • If the manager selects the option to forward the expense report to a company vice president, the manager makes relevant comments in the form and then clicks Forward. The workflow then notifies the vice president through an e-mail message that contains instructions for completing the task and provides a link to a Web site that displays the Expense Report form.

  5. The vice president — the third workflow participant — is given the option to Approve or Disapprove the expense report. When the vice president acts to approve or disapprove the expense report, the workflow continues.

    • If the vice president approves the expenses, the expense data is added to the accounting system, the workflow notifies the sales representative and manager through e-mail, and then the workflow notifies SharePoint that the task is completed.

    • If the vice president does not approve the expenses, the vice president types an explanation for the decision into the form. The workflow notifies the sales representative and manager through e-mail, and then the workflow notifies SharePoint that the task is completed.

As you can imagine, there are many ways to expand the functionality of this workflow within the context of this scenario. For example, you can configure the workflow so that if the vice president disapproves the expense report, the report is returned to the sales representative's manager. The manager can further justify the expense and resubmit it for approval to the vice president, can pass along the disapproval to the sales representative, or take some other action.

In this sample expense report scenario, the business rules are always the same. This workflow solution defines the manager and vice president approvers, defines the business logic for the routing of the workflow, and predefines the content of the notifications. However, many real-world applications have complex business rules. Routing for approval can depend on many business variables. Notifications can also change, depending on other variables.

For example, imagine that in the same expense reporting solution, you have to route the expense report to as many as ten managers, depending on the expense purpose, the expense total, and the date of submission. Additionally, depending on the expense purpose, the content of the notifications sent by the workflow contain some small differences. This means that there can be multiple workflow solutions with different routing levels and notifications.

Microsoft SharePoint Server 2010 enables you to create and implement workflow solutions to meet the business needs of your organization. It does this by leveraging the workflow design and customization features of SharePoint Designer 2010 and Microsoft Visual Studio 2010 Premium Edition, the prototyping functionality of Microsoft Visio 2010 used with SharePoint Designer 2010, and the capabilities of the Microsoft Office system.

Note:

You can use the prototyping functionality of Visio 2010 through SharePoint Designer 2010 only if you are running the Premium edition of Visio 2010.

Workflow types: Declarative and compiled

An important distinction to understand about workflows is whether they are a declarative workflow, such as those created using Microsoft SharePoint Designer 2010 or a compiled workflow, such as those created using Visual Studio 2010. A declarative workflow is a workflow that is built from conditions and actions that are assembled into rules and steps, and that sets the parameters for the workflow without writing any code.

A compiled workflow, like declarative workflows, can also be built from conditions and actions without the workflow author actually writing code but also enable the workflow author to add custom code to the workflow. Regardless of whether a workflow author adds custom code to a code-centric workflow, the most important distinction to understand is the difference in the way that declarative and compiled workflows are run on the server. A compiled workflow is stored on a server running SharePoint Server 2010 as a precompiled dll file whereas a declarative workflow is deployed on a server running SharePoint Server 2010 as an Extensible Object Markup Language (XOML) file and compiled in the content database each time an instance of the workflow is started. For more information about the Microsoft supported tools for authoring workflows, see Choose a workflow authoring tool (SharePoint Server 2010).

Workflow templates

When creating a custom workflow using SharePoint Designer 2010, you can choose to create a workflow that will only be used with a specific list, library, content type, or site. Alternatively, you can choose to create a reusable workflow template, which can be associated with multiple lists, libraries, content types, or sites.

Note:

SharePoint Designer 2010 does not support creating reusable workflows for sites. Instead, you can use Visual Studio 2010 to create them.

When authoring a workflow, you can also choose to make it global, which means that once it is activated on a site it will be active for all the sub-sites below that site as well. However, you cannot use SharePoint Designer 2010 to create a global workflow and then save the workflow as a WSP file.

Workflow associations

SharePoint Server 2010 takes advantage of the Workflow Foundation runtime. One or more workflow templates, each containing the code that defines a particular workflow, can be installed on a server. Once this is done, an association can be created between a specific template and a document library, list, content type, or site. This template can then be loaded and executed by the SharePoint Server 2010-hosted Workflow Foundation runtime, creating a workflow instance.

Like all Workflow Foundation workflows, those based on SharePoint Server 2010 rely on Workflow Foundation runtime services. The Workflow Foundation standard persistence service allows the state of a persisted workflow to be linked with the document or item, and allows for long-running business processes that can span days, months, or years.

SharePoint workflows can be associated with lists, libraries, and content types. Reusable workflows created using Visual Studio 2010 can also be associated with sites. The following table describes the minimum permissions required to associate a workflow.

Associate workflow with | Minimum permissions required
List or library | Full Control permission level on the list or library
List or library content type | Member of the Site Owners group on the SharePoint site
Site content type | Member of the Site Owners group on the SharePoint site
Site | Member of the Site Owners group on the SharePoint site

For more information about workflow associations, see Add a workflow association (SharePoint Server 2010).

Office client interoperability

Implementation of business processes that require the participation of information workers is often hampered by the fact that those processes are rarely integrated with the way people work. For a business process to be effective, it must be integrated with the familiar, everyday tools and applications used in the workplace so that the process becomes part of the daily routine of information workers. In the electronic workplace, this includes coordination with e-mail, calendars, task lists, collaboration Web sites, and client applications such as Microsoft Outlook and Microsoft Word. This integrated approach is implemented in workflows based on SharePoint Server 2010.

SharePoint Server 2010 delivers workflow applications through a technology called Windows Workflow Foundation. People interact with these workflows in the Web browser and in the 2007 Microsoft Office system and the Microsoft Office 2010 suites through programs such as Microsoft Word. SharePoint Server 2010 uses Windows Workflow Foundation functionality to deliver several workflows that automate common business processes. Additionally, custom workflows can be created by using various tools, and the workflows are then associated with SharePoint libraries, lists, content types, and sites.

See Also

Other Resources

Resource Center: Workflows in SharePoint Server 2010


Choose a workflow authoring tool (SharePoint Server 2010)
See Also

Developers of workflows can choose Microsoft Visual Studio 2010 or Microsoft SharePoint Designer 2010 as authoring tools.

What is a workflow? Fundamentally, it consists of two things: the forms a workflow uses to interact with its users and the logic that defines the workflow's behavior. Understanding how workflows are created requires knowing something about both.

Because it communicates with users through a Web browser, a workflow relies on ASP.NET to display its forms. Accordingly, those forms are defined as .aspx pages. A workflow can potentially display its own forms at four points in its lifecycle:

  • Association: When an administrator associates a workflow template with a particular document library or list, he might be able to set options that will apply to every workflow instance created from this association. If a workflow author chooses to allow this, she must provide a form that lets the administrator specify this information.

  • Initiation: The initiator of a workflow might be allowed to specify options when he starts a running instance. In the approval scenario just described, for instance, the options included specifying the list of workflow participants and defining how long each one had to complete his or her task. If a workflow allows this, its author must provide a form to allow the initiator to set these options.

  • Task Completion: The running workflow instance must display a form to the participants in the workflow to let them complete their task. This form is what allowed the approvers in the earlier scenario to make comments on the document and indicate their approval or rejection.

  • Modification: The creator of a workflow can allow it to be modified while it's running. For example, a workflow might allow adding new participants after it has begun executing or extending the due date for completing tasks. If this option is used, the workflow must display a form at this point to let a participant specify what changes should be made.

Workflows built by using Microsoft SharePoint Server 2010 can use forms created with InfoPath. A workflow's logic is always defined as a group of activities, just as with any workflow based on the Windows Workflow Foundation (WF). To specify the logic and forms for a workflow, Microsoft provides two different tools, each targeting a different audience. Software developers can use the Workflow Designer feature of Windows Workflow Foundation. This tool runs inside Visual Studio 2010 Professional Edition and provides a graphical environment for organizing activities into workflows. Information workers, a less technical group, can use Microsoft SharePoint Designer 2010 to create workflows without writing code. The next two sections examine how workflows can be created by using each of these tools.

Authoring workflows with Visual Studio 2010 and WF Workflow Designer

Workflows using SharePoint Server can use Microsoft InfoPath 2010 workflow forms rather than just .aspx forms. To create these forms, a workflow author uses Microsoft InfoPath. This tool provides a graphical editor that lets an author define the form's content. Developers who prefer to work entirely within the Visual Studio environment can use the Professional Edition of Visual Studio 2010.

Once they're created, InfoPath workflow forms are attached to a workflow by using a workflow.xml file, just as with ASP.NET forms. Unlike ASP.NET forms, however, developers don't need to write custom code to move information between InfoPath workflow forms and a workflow. Instead, SharePoint Server and InfoPath provide this link, making life simpler for the people who create workflows.

In many ways, a workflow is like a flowchart. Given this, it makes sense to provide a graphical tool that lets developers specify a workflow's actions. This tool is SharePoint Workflow tools in Visual Studio 2010 Professional, which is a project type that uses the Windows Workflow Foundation (WF) Workflow Designer, and adds deployment and forms support for Workflows. Developers can use WF Workflow Designer to define graphically a workflow's activities and the order in which those activities will be executed. The screen below shows a simple example of how this looks in Microsoft Visual Studio.

Collect Feedback Workflow

Windows SharePoint Services workflow example

The activities available for use appear in the Toolbox on the left side of the screen. A developer can drag these activities onto the design surface to define the steps in a workflow. The properties of each activity can then be set in the Properties window that appears in the lower right corner.

The Base Activity Library Windows Workflow Foundation provides a group of fundamental activities, as described earlier. SharePoint Server also provides a set of activities designed expressly for creating workflows. Among the most important of these are the following:

  • OnWorkflowActivated: provides a standard starting point for a workflow. Among other things, this activity can accept information supplied by a SharePoint administrator by using the Association form when the workflow is associated with a document library, list, content type, or site. It can also accept information supplied by the Initiation form when the workflow is started. Every workflow must begin with this activity.

  • CreateTask: creates a task assigned to a particular user in a task list. For example, the approval workflow in the scenario described earlier used this activity to add a task to the task list used by each of the participants. This activity also has a SendEmailNotification property that, when set to true, automatically sends an e-mail message to the person for whom this task was created.

  • OnTaskChanged: accepts information from the Task Completion form. The approval workflow in the earlier scenario used this activity to accept the input of each participant when the document was approved.

  • CompleteTask: marks a task as completed.

  • DeleteTask: removes a task from a task list.

  • OnWorkflowModified: accepts information from the Modification form, which can then be used to change how this instance of the workflow behaves. If the workflow's creator chooses not to include any instances of this activity in the workflow, that workflow cannot be modified while it's running.

  • SendEmail: sends email to a specified person or group of people.

  • LogToHistoryList: writes information about the workflow's execution to a history list. The information in this list is used to let users see where a workflow is in its execution, look at the workflow's history after it's completed, and more. To allow this kind of monitoring, the workflow's author must write information to a History list at appropriate points in the workflow's execution. Because it provides its own mechanism for tracking workflows, SharePoint Server doesn't support WF's standard tracking service.

A typical pattern for a simple workflow begins with an OnWorkflowActivated activity, and then uses a CreateTask activity to assign a task to a participant in the workflow. The BAL's standard While activity might then be used to wait until the user completes the task. To learn when this has happened (perhaps the user makes multiple changes to the task, then checks a box on the Task Completion form when she's done), an OnTaskChanged activity executes within the While, extracting whatever information the user has entered on that form. When the user has completed the task, a CompleteTask activity might execute, followed by a DeleteTask. The workflow can then go on to the next participant, using CreateTask to assign a task to him, and so on. And of course, other things can occur, such as sending e-mail, logging information to the history list, or even including the BAL's Code activity, which allows running arbitrary code.

All of the activities provided by SharePoint Server are concerned with letting workflows operate within the SharePoint environment. The business logic a workflow implements is entirely up to the creator of that workflow. In fact, a developer authoring a workflow is free to create and use her own custom activities—she's not required to use only those provided by SharePoint Server and WF.

As described earlier, Windows Workflow Foundation supports sequential, parallel, and state machine workflows. A workflow created with the WF Workflow Designer can also use any of these options. To allow this, SharePoint Server adds project types to Visual Studio, one for each of these workflow styles.

Whatever style is chosen, the developer must define more than just the workflow's logic; he must also specify the .aspx or InfoPath forms it should use. To do this, the developer relies on a file named element.xml. This file provides a template that the developer fills in to specify what form, if any, should be displayed at each of the four points at which a workflow is allowed to do this.

A developer must do some work to pass information between a workflow and the .aspx forms it uses. The Microsoft.Windows.SharePoint.Workflow namespace exposes an object model for developers. Using the types in this namespace, the creator of a workflow can pass information from an .aspx form to the workflow and vice-versa.

Once a workflow and its forms have been created, the developer must package them into what is referred to as a Feature. A SharePoint administrator must then install this Feature, which includes installing the workflow's assemblies to the target system's global assembly cache. The new workflow will now be visible to the administrator as a workflow template that can be associated with a document library, list, content type, or site.

For a software developer, creating a workflow by using Visual Studio and the WF Workflow Designer isn't especially hard. The developer needs to understand the specifics of working in this environment, but much of what he's doing will be familiar. Yet software developers aren't the only people who'd like to author workflows. As described next, people who aren't professional developers can also create workflows using Microsoft SharePoint Designer 2010.

Authoring workflows with Microsoft SharePoint Designer 2010

Microsoft SharePoint Designer 2010 is a separate application that is available as a free download. Microsoft SharePoint Designer enables information workers and others to add application logic (implemented as a workflow) to SharePoint sites. This is certainly a useful goal, but Microsoft SharePoint Designer also addresses another important problem. If a developer creates a workflow by using Visual Studio, that workflow must be deployed on a server that's running SharePoint Server like any other feature. Yet many SharePoint administrators won't allow arbitrary code to be deployed on their servers, believing that the risk of destabilizing the system is too great. Being able to create straightforward business logic tied to documents and list items is very useful, however, and it's something that many SharePoint users need. Along with allowing less technical people to create workflows, Microsoft SharePoint Designer also addresses this problem by providing a safer way to define and deploy business logic on servers running SharePoint Server.

The workflow scenarios that Microsoft SharePoint Designer is intended to address are different in some ways from those addressed by Visual Studio and WF Workflow Designer. While it's certainly possible to create complex applications, the intent of Microsoft SharePoint Designer is to let users add business logic to SharePoint sites. For example, suppose that a site contains a list that allows its users to submit change requests. Microsoft SharePoint Designer could be used to create a workflow that automatically informs the submitter when her change request is accepted or rejected. Similarly, a custom workflow might inform a particular group of users whenever a new document is added to a particular document library. Performing this kind of custom notification isn't complicated—creating the workflows is easy—but it's challenging with earlier versions of SharePoint Server because of administrators' reluctance to install user-written code.

There's an obvious question here: why should logic created with Microsoft SharePoint Designer be treated any differently? What makes SharePoint administrators willing to allow workflows built with this tool to be deployed on the systems for which they're responsible? The answer is that workflows built with Microsoft SharePoint Designer can only use activities from an administrator-controlled list. In addition to the activities provided by SharePoint Server, a site administrator can choose whether to include custom activities created by a developer on this list. By defining exactly what workflows are allowed to do, a SharePoint administrator can have more confidence that deploying logic created by using Microsoft SharePoint Designer won't destabilize his system.

Both because it's intended for information workers rather than developers and because it emphasizes simpler scenarios, Microsoft SharePoint Designer uses a different model for creating workflows than the Visual Studio-hosted WF Workflow Designer. Instead of a graphical approach, Microsoft SharePoint Designer uses a rule-based approach. It's somewhat similar to the Rules Wizard in Microsoft Outlook, a tool that's familiar to many people. The screen below illustrates how a user of Microsoft SharePoint Designer defines a step in a workflow. Notice that this workflow runs some actions in parallel; some actions run serially. Earlier versions of SharePoint Server supported running actions only serially; actions only ran consecutively.

Process Order Workflow

Each step can have a condition and an action. The condition determines whether this step's action should be executed, as in the If statement shown above. The choices for actions include things such as assigning an entertainer to an event, collecting approval, and many more. Each of these actions is actually carried out by some SharePoint Server activity, and the activities used here are the same as with Visual Studio and WF Workflow Designer. The list of actions can also include any other activities allowed by the SharePoint administrator for this site, including custom activities created by developers. In SharePoint Server, there is also a special set of activities available that allows users to customize the common approval or collect feedback paradigm of "create a set of tasks and wait for them to complete" in a special designer in Microsoft SharePoint Designer.

Even though its user interface looks quite different from the graphical approach used with Visual Studio and WF Workflow Designer, Microsoft SharePoint Designer creates a standard WF workflow. What's actually produced is a workflow that is sequential, parallel, or combination of both with conditions expressed by using the WF rules engine. Workflows created with this tool do have some limitations, however. For example, they can't be modified while they're running, unlike those built by using Visual Studio and WF Workflow Designer, and only sequential and parallel workflows can be created—state machines aren't supported. Also, workflows built with this tool can be authored against a specific document library, list, or site when they're designed. Workflow authors can also create a general workflow template that can be later associated with any library, list, or content type. While this does place limits on how a workflow can be used, it also makes deploying the workflow much simpler. In fact, when a user finishes authoring a workflow with Microsoft SharePoint Designer, the tool provides a one-click deployment of the workflow to the target site, which includes activating the workflow. This is significantly less complicated than the multi-step deployment process required for workflows created using Visual Studio and WF Workflow Designer.

Workflows created using Microsoft SharePoint Designer can also display customized forms. Rather than require workflow authors to create .aspx pages directly, however, the tool instead generates those pages. The author specifies details about how the generated pages should look, such as what fields they should contain, and Microsoft SharePoint Designer takes care of the rest. Of the four points in a workflow's lifecycle where forms can be used, however, only two are used with workflows created by using Microsoft SharePoint Designer: Initiation and Task Completion. Because every workflow created with this tool must be associated with a particular document library, list, content type, or site there's no need for an association step and hence no Association form. And since these workflows can't be modified while they're running, there's no need for a Modification form.

Microsoft SharePoint Designer also provides the ability to import workflows that were created using Microsoft Visio 2010. This enables business managers or workflow authors to create the workflow logic using a well known graphical environment. A workflow author can then import the workflow logic into Microsoft SharePoint Designer, modify it if necessary, and then publish it to a SharePoint site.

SharePoint Server provides a great deal of functionality for creating document-oriented workflows. Yet ultimately, it's a platform for development and execution. On its own, it provides no workflow functionality that's directly usable by end users. Workflows running on SharePoint Server also have other restrictions, such as the inability to interact with participants by using Office client applications.

Authoring tool comparison

The following table shows the important differences between the tools that Microsoft supports for creating workflows in SharePoint Server using both SharePoint Designer and WF Workflow Designer in Visual Studio 2010 Professional Edition.

Capability/Requirement | SharePoint Designer | WF Workflow Designer in Visual Studio
Workflows can be created using only actions that are approved by site administrators? | Yes | No
Workflows are accessible in client applications (other than the browser)? | Yes | Yes
Can use Microsoft Visio Professional to create workflow logic? | Yes | No
Need to write code? | No | Yes
Additional activities (other than those provided by SharePoint Server) are provided? | No | Yes
Can create custom activities? | No | Yes
InfoPath forms can be used in the workflow? | Yes | Yes
Workflow can be modified while it is running? | No | Yes
One-click publishing of workflows? | Yes | Yes
Workflows can be deployed remotely? | Yes | No
Can be made available across the farm? | No | Yes
Can be scoped to a site collection? | Yes | Yes

See Also

Other Resources

Resource Center: Workflows in SharePoint Server 2010


Plan for approval and review processes in workflows (SharePoint Server 2010)
See Also

As part of planning workflows for your Microsoft SharePoint Server 2010 deployment, you will also want to plan how to use workflows for approval and review processes.

In this article:

  • Workflow approval overview

  • How the Approval workflow works

    • Example — Manage the document approval process by using a workflow

  • Hybrid review model

Workflow approval overview

The workflow approval process in Microsoft SharePoint Designer 2010 enables Microsoft SharePoint Server 2010 users to customize individual tasks, inside a workflow, that require approval.

For example, occasionally you might have a project, such as the completion of a specific document, where the usual turnaround time must be reduced. You can set the workflow approval process so that if the task is not completed by a stated time, the document is automatically rejected.

The approval process routes the item through one or more people, who are each assigned a task to review the item and decide about what to do with it. For example, if a document is uploaded to a document library, approvers can approve or reject the document, reassign the approval task to another person, or request changes to the document.

How the Approval workflow works

The Approval workflow routes a document or item that is saved to a list or library to a group of people for approval. By default, the Approval workflow is associated with the Document content type and therefore is automatically available in document libraries.

The Approval workflow supports business processes that involve sending a document or item to colleagues or managers for approval. The Approval workflow makes an approval business process more efficient by managing and tracking all of the human tasks in the process and by providing a record of the process after it is completed.

You can start an Approval workflow directly from a document or item in a list or library. To start a workflow, you select the workflow that you want to use, and then you fill out a workflow initiation form that specifies the workflow participants (approvers), a due date, and any relevant task instructions. After a workflow starts, the server assigns tasks to all participants. If e-mail alerts are enabled for the server, the server also sends e-mail alerts to all participants. Participants can click a link in the e-mail task alert to open the document or item to be approved. Participants can approve, reject, or reassign their approval tasks. They can also request a change to the document or item that is to be approved. Participants have the option of completing their workflow tasks from either directly from certain programs that are part of the 2007 Microsoft Office system and the Microsoft Office 2010 suites, or from the SharePoint Server 2010 Web site. When the workflow is in progress, the workflow owner or the workflow participants can view the Workflow Status page to see which participants have completed their workflow tasks. When the workflow participants complete their workflow tasks, the workflow ends and the workflow owner is automatically notified that the workflow is finished.

Note:

If a user runs a SharePoint Server 2010 workflow task from a 2007 Microsoft Office system program, the workflow does not open in the 2007 Microsoft Office system program. Instead the user is redirected to an InfoPath Forms Services in Microsoft SharePoint Server 2010 browser form on the SharePoint Server 2010 Web site.

When the workflow is in progress, the workflow owner or the workflow participants can view the Workflow Status page to see which participants have completed their workflow tasks. When the workflow participants complete their workflow tasks, the workflow ends and the workflow owner is automatically notified that the workflow is finished.

The default Approval workflow for document libraries is a serial workflow, in which tasks are assigned to participants one at a time. By default, a version of the Approval workflow is also associated with Pages libraries on a publishing site, and the workflow can be used to manage the approval process for the publication of Web pages. Depending on what you want to customize, you can use either Office SharePoint Designer or to SharePoint Server 2010 itself to customize these pre-associated versions of the Approval workflow to meet the needs of your organization, or you can add a new version of the Approval workflow to a list, library, or content type.

Example — Manage the document approval process by using a workflow

If you have ever had to obtain approval from several people for a project plan, a proposal, or some other important document, you probably know that it can be a frustrating experience. First, how do you manage the logistics of getting the document to the appropriate people? Do you send the document to people by e-mail and request responses in e-mail? Do you schedule a meeting? Second, how do you keep track of which people have approved the document, and how do you formally record their approval? Do you save multiple e-mail messages? Do you save meeting notes?

Consider the problems that you could face weeks or months from now, if you could not remember who approved something, or who sent a particular piece of feedback. Unless your organization has developed formal approval processes, you might be in a situation where you could not locate this kind of information when you needed it.

You can avoid issues such as these by using the Approval workflow available on a SharePoint Server 2010 site to route your documents to colleagues for approval. Workflows reduce the time that is required to coordinate common business processes, such as document approval, by managing and tracking the human tasks involved in these processes. Because the Approval workflow assigns tasks, sends reminders, tracks participation, and creates a record of the whole process, you can concentrate on performing your work instead of tracking down people and dealing with the logistics of the document approval process. If you ever have to document that you received approval for something, you can provide stakeholders with a link to the workflow history for the document, which shows who approved or rejected a document, or who did not finish a workflow task. In this manner, the Approval workflow makes the approval process more transparent.

Important:

The ability to start an Approval workflow from Microsoft Office Word 2007, Microsoft Word 2010, Microsoft Office Excel 2007, Microsoft Excel 2010, Microsoft Office PowerPoint 2007 or Microsoft PowerPoint 2010 is available only in the 2007 Microsoft Office system and Microsoft Office 2010 suites, and in the stand-alone versions of Office Word 2007, Word 2010, Office Excel 2007, Excel 2010, Office PowerPoint 2007 and PowerPoint 2010.

Hybrid review model

The hybrid Approval workflow model is a staged approval model. Approvals can be created in sets or stages; that is, the first set of approvers can complete the review and approval process, and then the next set of approvers, and so on. But each stage or approval set can also have its own order of events; that is, members of the first group of approvers can perform their review in serial approval order, members of the second group can perform their review in parallel, and so on.

See Also

Other Resources

Resource Center: Workflows in SharePoint Server 2010


Plan for workflow security and user management (SharePoint Server 2010)
See Also

Administrators and workflow developers should plan for the aspects of workflow behavior that relate to security as they develop and configure workflows.

Before deploying workflows in Microsoft SharePoint Server 2010 to users, administrators might have concerns about security issues, such as information disclosure or elevation of privilege. This article highlights some aspects of workflow behavior that relate to security and raises other issues for administrators and workflow developers to consider when they plan to configure and develop workflows.

In this article:

  • List manager, administrator, and developer roles and responsibilities

  • Running workflows as an administrator

  • Workflow configuration settings

  • Information disclosure in task and workflow history lists

  • Spoofing and tampering attacks in the task and workflow history lists

  • User-Impersonation Step type for declarative workflows

List manager, administrator, and developer roles and responsibilities

The following are some common workflow actions and the related responsibilities, which explain the role of administrators and developers in running workflows.

Workflow developers

Develop workflow schedule and template Workflow developers are responsible for coding the assembly that contains the business logic that will run on a SharePoint item. This assembly is called a workflow schedule. They are also responsible for packaging the workflow forms and assembly into a workflow feature, or into a workflow template.

Site administrators

Manage Central Administration workflow settings Site administrators can control general workflow settings, such as task alert results and external participant settings on the SharePoint Central Administration Web site.

Deploy Workflow features Site administrators can install workflow features on a site collection to make them available for association.

List administrators (anyone with Manage List or Web Designer permissions)

Add workflows List administrators must associate (add) a workflow template to a list or content type, according to the business needs of the list or content type. This association makes the workflow template available to end users, who can then select default values and settings.

Remove workflows List administrators can remove workflow associations from a list or content type, or prevent new instances from running.

Terminate a workflow If a workflow instance fails, list administrators can stop a running workflow instance, such as when a workflow instance produces an error or does not start, by using the Terminate this workflow link on the Workflow Status page. This action is reserved for administrators.

Running workflows as an administrator

The most important security concept to be aware of is that workflows run as part of the system account in SharePoint Server 2010, through the identity application pool settings on the server computer and domain. This means that within SharePoint Server 2010, workflows have administrator permissions. On the server, workflows have the same permissions as the application pool, which frequently has administrator permissions. These permissions enable workflows to perform actions that ordinary users cannot perform, such as routing a document to a specific location or records center, or adding a user account to the system.

This setting, that workflows have administrator permissions, cannot be changed. It is up to the workflow schedule (that is, the workflow code) to detect user actions and, based on those actions, continue or roll back changes, or impersonate a user in order to mimic that user's permissions.

When they deploy workflows, administrators must understand the actions that the workflow will perform so that they can assess possible risks associated with elevation of permission in a workflow and help the workflow developer reduce any security concerns.

Workflow configuration settings

SharePoint Server 2010 has some configuration settings that administrators have to set according to their security needs.

Required permissions to start a workflow

In addition to preventing the elevation of permissions in the code, list administrators can restrict the permission level that is required to start a workflow during the association process. Administrators can select either of two permission levels to start a specific workflow association: Edit Item or Manage List.

The default setting for associating a workflow is to allow users with Edit Item permissions to manually start a workflow. This means that any authenticated SharePoint Server 2010 user on the list who has Edit Item permissions can start an instance of this workflow association. If during workflow creation the administrator selects the option to require that the user have Manage Lists permissions in order to start the workflow, only list administrators can start an instance of this association.

Because workflows are designed to be used by standard contributors, most workflows do not require the restriction to Manage Lists permissions. However, administrators can use this setting for workflows such as a document disposal workflow, where the administrator wants only certain people to execute the disposal actions.

Central Administration settings

The following settings can be found on the Central Administration page by clicking Application Management and, in the Web Applications section, clicking Manage web applications. On the Web applications page, select the Web application that you want to configure, and in the Manage group of the ribbon click General Settings, and then select Workflow. The Workflow Settings page opens, and the following settings are displayed:

  • User-Defined Workflows

  • Workflow Task Notifications

Enable user-defined workflows

By default, user-defined workflows are enabled for all sites on the Web application, as shown in the User-Defined Workflows section of the Workflow Settings page. When this option is selected, users can define workflows in a workflow editor such as the SharePoint Designer 2010 workflow editor. Users who define these workflows must have Manage List permissions on the site to which they are deploying the workflow.

Task notification for users without site access

On the Workflow Settings page, in the Workflow Task Notifications section, you can set options for sending notifications about pending workflow tasks to users who do not have access to the site.

  • Internal users

    In SharePoint Server 2010 it is possible to resolve the names of internal users in the directory service who are not members of the site or who do not have access to that task. In this case, an administrator can select the Alert internal users who do not have site access when they are assigned a workflow task option in the Workflow Task Notifications section to set whether such users receive a task notification by e-mail. This option means that users are alerted when they are assigned a workflow task. This option is enabled by default, and the e-mail message that users receive contains a link that they can click to request access to the site (administrators must still grant access). This e-mail message might also contain information about the document. This information can include the title of the document and instructions from the workflow owner. If there are information disclosure concerns associated with internal users who are not members of the site, administrators might want to disable the Alert internal users who do not have site access when they are assigned a workflow task setting.

  • External users

    External users who are not in the directory service but who are assigned a well-formed SMTP e-mail address can still be assigned workflow tasks. Because external users will find it difficult to access the document, SharePoint Foundation 2010 and SharePoint Server 2010 includes a setting, Allow external users to participate in workflow by sending them a copy of the document, which makes it possible to send external users a task notification by e-mail with the document attached. When this option is enabled, the task is assigned to the workflow owner, and the external user can complete the task by sending e-mail to the owner.

    By default, the option Allow external users to participate in workflow by sending them a copy of the document is disabled. But this setting can be useful in situations that require external participation, such as approval of business documents that involve external customers. Administrators who enable this setting (select Yes) must verify that the workflow schedule supports the external participant setting. For example, when a task is created for an external user, the custom workflow must specify the external e-mail address in the OnBehalfEmail property in the SPWorkflowTaskProperties object that was used to initialize the task). Several built-in workflows in SharePoint Server 2010 support this setting.

    Custom workflow developers who want to enable this functionality must work with administrators to determine whether there are information disclosure risks in attaching the actual document to an external e-mail message. Administrators must evaluate the benefits and risks when enabling this setting.

Information disclosure in task and workflow history lists

Because tasks and history list items can contain data about users and the actions they perform on documents, the items might disclose confidential information. For example, a promotion Approval workflow might collect feedback on its tasks that an organization wants only the workflow owner and each participant in the task to see.

Task and history lists are typical lists in a site. By default, therefore, all readers can view tasks and history items. Administrators and developers must determine the information that cannot be disclosed and decide whether to help secure task and history items that are created by the workflow.

Securing these items can be done in several ways. For example, administrators can set list-level permissions. If disclosure is to be private — that is, not publicly available but available to a specific group of people — administrators can create a new task or history list and set permissions for the list that are targeted to that group. If administrators do not want anyone to see history events on a workflow status page, they can remove view permissions to the workflow history list from which a status page pulls its information. Users who do not have permissions to view the history list itself, or any item on the list, will receive an Access Denied error when they open any status page that pulls data from that history list.

If finer restrictions are required, workflow developers can set per-item permissions when they create tasks or history items. The CreateTask activity has a SpecialPermissions property that gives only specified permissions to access the newly created task. The LogToHistoryList activity does not have such a property, so to set per-item permissions on history list items, administrators must use the object model (OM) in SharePoint Server 2010. Per-item permissions can affect performance negatively and should not be used unless they are necessary.

Tasks and history items do not have to be handled in the same manner. Administrators can mix and match list permissions and item-level permissions.

Spoofing and tampering attacks in the task and workflow history lists

Any contributor can modify tasks or history items if there are no restrictions on those lists. This means that malicious users can modify task descriptions to give participants incorrect instructions or to order participants to click malicious links. To change the perceived results of a process, malicious users also can add false or inaccurate history events or can modify history events to make them false or inaccurate.

As detailed earlier, task and history lists are normal lists in a site. By default, there are no permission restrictions on either task lists or history lists. To avoid spoofing and tampering attacks, administrators must determine the vulnerabilities that exist and either restrict access to columns in a list (for example, make vulnerable columns such as task descriptions read-only so that only the workflow can set them on item creation), set special permissions on the list, or set item-level permissions on the items in a list.

Security issues in the workflow history list

A key benefit of workflows is the ability to track process information to provide visibility into a process. The workflow history list is a repository for this information, where a workflow status page can search for data related to a workflow instance and can make this information available to users. Users can see all items to which they have access in the history list.

However, because the workflow history list tracks information, users might assume that it can be used as an audit trail for events. This is not the case: Workflow history is not a security feature. History lists are standard SharePoint lists that are used for storing events that are visible to any user and that have no special permissions associated with them. By default, users can modify and add events if they have edit and add permissions on the site. To audit events, use the SharePoint's Audit Log feature. Only administrators can access this log and the log does not require additional work to protect it from tampering attacks.

To better protect the history list, administrators can restrict edit and add permissions to the list, so that only system account administrators (for example, workflow administrators) and list administrators can add items. List administrators must have add permissions to log "Terminate this workflow" events. If edit and add permissions are restricted on the history list, users still must be granted view permissions in order to see status information.

User-Impersonation Step type for declarative workflows

The User-Impersonation Step type can be used to run sections of declarative workflows by the person who authored the workflow rather than by the workflow's initiator. Declarative means a model that you use to create the workflow and set the parameters for the workflow without writing any code.

In SharePoint Server 2010, declarative workflows always run in the user context of the workflow initiator unless an impersonation step is encountered. If an impersonation step is encountered, the declarative workflow is run in the context of the workflow associator. The default workflow tasks respect SharePoint permissions by impersonating the user who started a workflow when the workflow is run. This arrangement keeps things fairly safe in SharePoint Server 2010, but blocks many scenarios in which a workflow designer with high permission levels wants to author a powerful workflow that can be completed successfully by users who have lower permission levels.

Through a safe and scoped form of privilege elevation, site actions can be automated through workflow. This reduces the burden on a SharePoint site administrator. Automation of a high-security process is useful in publishing and approval scenarios in which existing actions are enabled to impersonate someone other than the workflow's initiator.

The following are sample scenarios that demonstrate the User-Impersonation Step type:

  • Publish to a secure list

    Jackie has locked down the Pages document library for the public face of her SharePoint site. She has set up an Approval workflow that, by using Microsoft SharePoint Designer 2010, submits content from site contributors for approval. Jackie puts her workflow actions in an impersonation step so that the workflow actions will always impersonate her, a site administrator, as the author of the workflow.

    When Connie (a contributor) posts a content draft to the Pages library of the site, and tries to publish her article, that action causes Jackie's Approval workflow to start so that the post can be reviewed and approved. Tasks are sent out to the approvers in the workflow on behalf of Connie. Upon review and approval by the approvers, the system sets the moderation status of the post to "Approved", even though Connie does not have permission to approve pages.

  • Granting permissions to users

    Joanne has set up a workflow in SharePoint Designer 2010 that uses a user-impersonation action "Add User to Group" to grant Design permissions to her site. Because the workflow uses an impersonation scope, the action of adding a user to the group will always be performed on Joanne's behalf.

    The rest of the workflow lets contributors visit the site and complete a form to log their access request to a list.

    For example, a separate user, Olivier, receives a task when Connie, a user, logs a request, and when he approves the task, Connie is added to the Designer group for the site even though neither Olivier nor Connie has Manage Lists permissions on Joanne's site.

  • Templates and taking ownership

    William created several workflows in SharePoint Designer 2010 and saved them as templates for reuse across the company, but he soon leaves the company. His account is removed, his administrator status is revoked, and now the SharePoint Designer 2010 workflows that William created fail to complete due to the loss of William's permissions.

    A parent SharePoint site administrator, John, can intervene for each workflow, without having to re-create the workflows in SharePoint Designer 2010. John takes ownership of the administrative symptoms in each broken template. After doing this, secure publishing and access granting now occur under John's name instead of William's — and nothing else has changed.

The following are workflow actions that can be impersonated:

  • Set Content Approval Status (as Owner)

  • Create List Item (as Owner)

  • Update List Item (as Owner)

  • Delete List Item (as Owner)

  • Add/Remove/Set/Inherit List Item Permissions (as Owner)

As a SharePoint administrator, you must consider the possible security effects of incorporating impersonation into workflows on the SharePoint site. This applies to new actions but also to existing actions such as updating list items.

For example, consider a model in which user-impersonation actions in the workflow could still run as the initiator. If a user has administrator permissions only over a site in the site collection, that user could maliciously create a workflow to gain rights to the parent Web of the site. All that the malicious user would have to do is to persuade the administrator to upload a file to a document library on the malicious user's site to begin the workflow's attack and compromise the whole parent Web of the site.

This risk prompted development of the restriction "user-impersonation actions always impersonate their associator" in SharePoint Designer 2010. The associator is the person who associates a workflow to a particular list or Web. In SharePoint Server 2010 declarative workflows, the associator is the same person as the workflow author; that is, the user who builds the workflow in SharePoint Designer 2010. However, the associator can also be anyone who associates a declarative workflow template. The concern now is that the author/associator is forced to accept responsibility for anything that occurs because of a User-Impersonation Step type, because the author/associator's credentials are being used in the elevation. This requires that the authors/associators understand the workflows they design or associate. Therefore, during workflow creation, SharePoint Designer 2010 provides a cautionary message on the workflow creation page to the author/associator about the User-Impersonation Step type.

See Also

Other Resources

Resource Center: Workflows in SharePoint Server 2010


Approval Workflow: A Scenario (SharePoint Server 2010)
See Also

This scenario illustrates how to create, deploy, and use an approval-type workflow.

The most common example of human workflow in most organizations is some variation of approval: A group of people must approve or reject some document, and perhaps add comments to explain their decisions. This article shows how an approval-type workflow that is created in SharePoint Designer 2010 or Workflow Designer in Visual Studio 2010, and that is then hosted by using SharePoint Server 2010 might look. Before reading this example, it is useful to define the roles that different people play.

  • Workflow author The developer or information worker who creates a workflow template.

  • SharePoint Server 2010 administrator The person who installs a workflow template and associates it with a document library or list.

  • Workflow initiator The person who starts a workflow, causing a workflow instance to be created from a particular workflow association.

  • Workflow participants The people who interact with a workflow instance to complete the business process that it supports.

As described in the following section, people in each of these roles play their own parts in creating, installing, starting, and using a workflow.

Authoring a workflow

Microsoft provides two options for creating workflows in SharePoint Server 2010. Developers use Visual Studio 2010 and Workflow Designer, whereas information workers use the rules-based approach that SharePoint Designer 2010 provides. In both cases, the result is a workflow template that must be deployed to a server that is running SharePoint Server 2010. This scenario assumes that a workflow template has already been created.

Associating a workflow

Before you can use a workflow, you must install a workflow template on a server that is running SharePoint Server 2010, and then you must associate the workflow with a particular document library, list, content type, or (in the case of a site workflow) site. You can then start the workflow from any document or item in that library or list. Although workflows cannot be explicitly started from content types, a workflow that is associated with a content type can be started from a document or list item to which that content type is attached. Because workflows operate in the same manner on items and documents, a workflow template can typically be attached to a list, library, or content type. You can also create a template that can be associated only with a particular list or library.

Both installation and association are performed automatically for workflows that are deployed by using SharePoint Designer 2010. However, when you use Visual Studio to deploy workflows, a server administrator must explicitly install the workflow template. In addition, a user must associate the template with a library, list, content type, or site. Whoever creates this association also assigns the association a unique name, which enables users to reference it. Optionally, the workflow author can let the person who creates the association set options for the workflow behavior, such as a default list of people who can always participate in the process. The same template can be associated with multiple libraries, lists, or content types, and each association can be customized as required. After the association is created and any available options are set, a workflow initiator can create a workflow instance from this association, as described in the following section.

Associating a workflow with a site

Site workflows are associated with the site itself. An item does not have to be started for the workflow to run.

You can use site workflows for processes that do not have a list item context. For example, you could create a workflow to request permissions for the site, a workflow to request and provision a new site, or a workflow that uses context that is stored outside the SharePoint site, without having to create a corresponding SharePoint list item from which to start the workflow.

Site workflows can be associated with a site through the site's settings and can be started on the site itself. SharePoint Designer 2010 can also deploy site workflows directly to a site.

Site workflows work in the same way as list items, as described earlier in this article, except that site workflows cannot be started from a document or item in a library or list.

For more information, see Add a workflow association (SharePoint Server 2010)

Starting a workflow

SharePoint Server 2010 provide three options to start an instance of a workflow. All three options run the workflow from the beginning every time. (If an instance of a workflow that is created from a particular association is already running on a particular document or list item, it is not possible to start another instance of the workflow on the same document or item.) The following are the options for starting a workflow:

  • A SharePoint Server 2010 user can manually start a workflow.

  • You can configure a workflow to run automatically when a user creates a document or item.

  • You can configure a workflow to run automatically when a user changes a document or item.

For example, a Microsoft Word user can upload a new document to a site's document library. This causes an instance of a workflow that is associated with that library to start.

This scenario uses the first of these three options: manually starting an Approval workflow for a document. To start a workflow instance from a document in a document library, a SharePoint Server 2010 user does the following:

  1. Points to the document and selects Workflows from the drop-down menu or ribbon.

  2. Selects the workflow to start.

    For example, for a document in a document library, only two choices are ordinarily available — Approval and Collect Feedback. If an administrator has associated other workflow templates with this document library, the names of those workflow templates also appear.

    Note:

    The predefined Approval and Collect Feedback workflows are available only in SharePoint Server 2010.

When a workflow is started (that is, when an instance of a workflow is created), it can also display a screen that enables a user to specify relevant information. For an Approval workflow, this information includes the name of each person who must approve the document, an indication of when each approval is due, and a list of people to be notified. After this information is supplied, the user clicks Start. The workflow begins to execute and requests each participant to review the document in the order in which names were entered on this screen.

When a workflow is started, it can also optionally send an e-mail message to the person who started it. Similarly, a workflow can inform its creator by e-mail when it has finished. You can also configure the workflow to notify the participants in the workflow — in this example, the people who are approving the document—by e-mail that the workflow has something for them to do.

Interacting with a workflow

The concept of tasks models the interaction between a person and a running workflow. A task is a unit of work that is assigned to an individual. For example, each person on this workflow's approval list will be assigned a task that requests approval of the document. SharePoint Server 2010 can have a task list for every site, and a running workflow can add tasks to this list that specify the person or persons who are assigned to each task. Users of that site can see the work that is awaiting them by accessing their task list through a Web browser. Optionally, you can have a custom task list for just your workflow tasks.

Note:

If you are running SharePoint Server 2010, users can synchronize the site's task list to their Microsoft Outlook task list.

To a SharePoint Server 2010 user, the list of waiting tasks is merely another list. In this example, the user browses to the team SharePoint site and selects the option to view the list of Tasks that are assigned to him. To work on a task, the user in this example clicks the task name.

Because the way that a workflow interacts with participants can vary, the workflow itself defines the screen that is displayed to the user. In this example, the workflow provides options to approve or reject the document and a text box in which participants can type comments.

Other available options let users reassign the task to another person or to request a change. Here, the user might type a comment, and then click Approve. The workflow then creates a task in the task list of the next person in its list of approvers. When every participant has responded, the workflow ends.

SharePoint Server 2010 workflows also provide other options, including the following:

  • The initiator of a workflow can check the status of the workflow.

    For example, in the scenario described here, the initiator might check the progress of the approval process.

  • A workflow can be modified while it is executing.

    The workflow's author determines the allowed modifications, if any. An Approval workflow, for example, could allow the addition of a new approver while the workflow is in progress. The ability to modify in-progress workflows is important because it reflects how people actually work. Because spontaneous change to business processes is a part of life within any business, SharePoint Server 2010 workflows were designed to let users handle this.

Summarizing the process

When a workflow template is installed on a site and associated with a document library, list, site, or content type, a site user can start an instance of a workflow.

  1. The process starts when the workflow initiator selects a document and starts an instance of a workflow.

  2. The initiator creates a workflow instance from this association.

  3. The user customizes this new instance and starts it.

  4. The running instance of the workflow adds a task to the task list of a participant.

    The approval workflow that is used in this scenario assigns these tasks sequentially. However, you can assign tasks to many participants at the same time, which allows tasks to be performed in parallel.

  5. Participants in the workflow can learn about tasks that the workflow has assigned to them by checking their task lists.

  6. Each participant interacts with the running instance of the workflow to complete assigned tasks.

    In the example described here, this interaction required approving a document, but the interaction could be anything that the workflow author wants.

It is worth noting that the document on which a workflow runs is not itself sent from person to person. Instead, the document remains on the site, and each workflow participant is given a link to it. In fact, there is no requirement that the workflow use the document or item with which it is associated. Another point worth emphasizing is that SharePoint Server 2010 itself defines what is displayed to the initiator of the workflow and the participants in the workflow in steps 1, 2, and 5. However, the workflow author defines the forms that are used in step 6. This allows the author to control how users customize and interact with the workflow.

Together with a platform for creating human workflow applications, SharePoint Server 2010 provides a predefined Issue Tracking workflow. This Three-state workflow allows for assigning active issues to participants and tracking those issues. Once created, an issue can be moved from an Active state to a Resolved state, which indicates that the responsible workflow participant has handled it, and then to a Closed state, which indicates that the workflow initiator has accepted the resolution and closed the issue.

The following section describes a scenario using the predefined Approval workflow in SharePoint Server 2010.

Approval workflow scenario

The workflow described in this section is the predefined Approval workflow provided with SharePoint Server 2010. All user interaction with the workflow happens by using InfoPath Forms Services workflow forms that are displayed in applications in the Microsoft Office system.

  1. The process starts when the workflow is associated with a document library or list. The workflow initiator creates a running workflow instance. This can be done from SharePoint Server 2010 or can be done directly from a Microsoft Word document.

  2. When a user clicks the Start link for the Approval workflow, the workflow begins and opens a InfoPath Forms Services workflow form. The predefined Approval workflow enables its initiator to customize its behavior by specifying a list of approvers, setting how long each one has to perform his task, and so on.

  3. The people who are listed as approvers in this workflow are each sent an e-mail message in the order in which their names were entered.

  4. The approver can examine the document by clicking the document name link in the body of the e-mail message.

In this scenario, the content of the workflow's Task Completion form is defined as an InfoPath Forms Services workflow form and is displayed directly in Microsoft Outlook. The approver can add comments, and then approve or reject the document.

See Also

Other Resources

Resource Center: Workflows in SharePoint Server 2010


Access Services planning (SharePoint Server 2010)

In this section:

  • Introduction to Access Services (SharePoint Server 2010)

    Access Services is a service application available in Microsoft SharePoint Server 2010 that allows users to edit, update, and create linked Microsoft Access 2010 databases that can be viewed and manipulated by using an internet browser, the Access client, or a linked HTML page.

  • Coordinating Access Services actions with SharePoint permission levels (SharePoint Server 2010)

    You can customize the SharePoint Server 2010 permission levels, or you can create new permission levels that contain specific permissions. This article describes which SharePoint Server 2010 permissions are required for Access Services actions.

  • Improving the reach and manageability of Access 2010 database applications with Access Services (white paper)

    With Access Services in Microsoft SharePoint Server 2010, the IT department can centrally manage and govern Access Web databases. Together, Microsoft Access 2010, Access Services, and SharePoint 2010 Products empower users to easily track, report, and share custom database applications and for themselves, their team, and their organizations.


Introduction to Access Services (SharePoint Server 2010)

Access Services is a service application available in Microsoft SharePoint Server 2010 that allows users to edit, update, and create linked Microsoft Access 2010 databases that can be viewed and manipulated by using an internet browser, the Access client, or a linked HTML page.

Who should use Access Services?

IT professionals and end users should use Access Services to allow the use of Access databases inside a Web browser, to publish and share information across teams, and to create and modify databases where no Access client is available.

Features of Access Services

Access Services allows you to create, edit, and save Access databases in the following ways:

  • By allowing instantiation of a Microsoft SharePoint Server database on any computer that can connect to and has permission to use Access Services on a networked computer running SharePoint Server.

  • By allowing the creation, publishing, and sharing of a SharePoint Server Web database from any computer that can connect to and has permission to publish to a computer that is running SharePoint Server and that has Access 2010 installed.

  • By allowing the download, modification, and republishing of modified data in an Access Services database from any computer that has Access 2010 installed and can connect to a computer running SharePoint Server.


Coordinating Access Services actions with SharePoint permission levels (SharePoint Server 2010)
See Also

Published: March 24, 2011

By default, Microsoft SharePoint Server 2010 includes five permission levels. You can customize the permissions that are available in these permission levels, or you can create new permission levels that contain specific permissions. The permission levels are Full Control, Design, Contribute, Read, and Limited Access.

Default SharePoint permission levels and Access Services actions

The following table shows the mapping between the default SharePoint Server 2010 permission levels and Access Services in Microsoft SharePoint Server 2010 actions.

SharePoint permission level | Access Services action |  |  |  |  |
 | Read Data | Open in Access (rehydrate/take offline) | Modify/Add Data | Create/Modify Objects & Sync | Create/Edit Schema | Publish
Full Control | Yes | Yes | Yes | Yes | Yes | Yes
Design | Yes | Yes | Yes | Yes | Yes | Yes
Contribute | Yes | Yes | Yes | No | No | No
Read | Yes | Yes | No | No | No | No
Limited Access | Yes | Yes | No | No | No | No

Any user who has permissions to the site (such as a reader, contributor, or designer) can view or change the objects in design view (such as forms, reports, macros, or code). However, only a designer can commit changes back to the server. If your code must be compiled, you should continue to use .accde files.

Note:

An .accde file is a "locked-down" version of the original .accdb file. If the .accdb file contains any VBA code, only the compiled code is included in the .accde file. As a result, the VBA code cannot be viewed or modified by the user. Users who work with .accde files cannot make design changes to forms or reports.

Important:

The publishing of any compiled database (.accde, .ade, or .mde) is not supported in Access Services.

See Also

Other Resources

User permissions and permission levels (SharePoint Foundation 2010)


Improving the reach and manageability of Access 2010 database applications with Access Services (white paper)

Organizations have to provide users the tools that they need to work effectively and efficiently. For many years, Microsoft Access has helped organizations and users manage their business information. It enables them to easily create and deploy database applications that address a specific business need, task, or process.With the addition of Access Services in Microsoft SharePoint Server 2010, IT can centrally manage and govern Access Web databases. Together, Microsoft Access 2010, Access Services, and SharePoint 2010 Products empower users to easily track, report, and share custom database applications and for themselves, their team, and their organizations. All this is achieved without straining limited IT resources, and while still allowing IT to centrally manage and govern the Access Web databases.

Download this white paper as a Microsoft Word document (.docx).

Improving the Reach and Manageability of Access 2010 Database Applications with Access Services (1.92 MB)


Plan site creation and maintenance (SharePoint Server 2010)
See Also

Published: May 29, 2010

If you plan on having more than a few site collections in your Microsoft SharePoint Server 2010 environment, you need to be sure that you have a plan for site creation and maintenance. Without such a plan, it is difficult to control or track when SharePoint sites are created, whether sites are still active, and when you can safely remove inactive sites. Before you deploy and make sites available to users, you need to answer questions such as:

  • Do you want to tightly control site creation or to allow many users to create sites?

  • At which level in the site hierarchy should additional sites be created?

  • How do you find and remove unused sites in your environment?

Articles and worksheets help you design and record a plan for site creation and maintenance. This will help you prepare to manage growth in your environment.

In this section:

  • Plan process for creating sites (SharePoint Server 2010)

    Discusses how to determine which type of site creation process will fit your organization, and which method to use to implement that process.

  • Plan site maintenance and management (SharePoint Server 2010)

    Discusses how to plan for maintaining your SharePoint sites from the beginning to make sure that your sites stay current, useful, and usable.

  • Plan quota management (SharePoint Server 2010)

    Contains guidance about how to determine settings for quota templates and recycle bins, and how to decide whether or when to delete unused Web sites.

  • Reporting and usage analysis overview (SharePoint Server 2010)

    This article explains how the Web Analytics service and its reporting features can be used to manage sites and site collections.

See Also

Other Resources

Resource Center: Governance in SharePoint Server 2010


Plan process for creating sites (SharePoint Server 2010)

Published: May 29, 2010

Some organizations need to maintain tight control over who can create sites, or when sites are created. Other organizations can allow users more access and freedom to create sites when needed. This article helps you determine which type of site creation process will fit your organization, and which method to use to implement that process.

In this article:

  • Determine who can create sites and a method for site creation

  • Plan for Self-Service Site Management

  • Plan for custom site creation processes

  • Worksheet

Determine who can create sites and a method for site creation

By default, new site collections (and therefore new top-level Web sites) can only be created by using Central Administration, which means that they can only be created by members of the Farm Administrators group. This behavior might suit your organization if you want your environment to be tightly controlled and managed, with only a few people allowed to add top-level sites. However, the default top-level site creation method might not suit your organization if you have any of the following requirements:

  • You want users to be able to easily create informal, perhaps even disposable, top-level sites, such as for short-term projects.

  • You want to create an informal space for team, group, or community interaction.

  • You are hosting top-level sites (either internally or externally) and want the process for requesting and receiving a top-level site to be as quick and low cost as possible.

There are several ways to allow users to create their own sites, while still maintaining some control over your environment. Consider which of the following methods will work best for your organization.

  • Self-Service Site Management In Central Administration, you can turn on Self-Service Site Management to allow users to create site collections under the /sites path (or other path you specify) within a particular Web application. This method is best used when you want to allow groups or communities to create sites. This method also works well if you are hosting sites and want to allow users to create sites without waiting for a complicated process. The sign-up page for Self-Service Site Management can be customized or replaced with a page that includes all of the information you might need to integrate with a billing system or to track custom metadata about the site at creation time. This method does not work well when large numbers of users need access to multiple sites. Because Self-Service Site Management creates site collections, which have separate permissions, users need to be added uniquely to different site collections. If you use subsites instead, the users can be inherited from the parent site in the site collection.

  • Subsites of existing sites Limit users to creating subsites of existing sites, rather than new site collections and top-level sites. Any user who has the Full Control or Manage Hierarchy permission level on an existing site can create a subsite. This method is the most limited, because you still control how many site collections there are. Because the sites are always subsites of other sites, they can either be easy to organize (if there are just a few) or very difficult to organize and browse (for example, if everyone in your organization wants a subsite and they create them at different levels in the site collection's hierarchy, the site collection can soon become very difficult to navigate).

    Note:

    If you do not want users to have this capability, you can remove the Create Subsites right from the Full Control and Manage Hierarchy permission levels, either at the site collection or Web application level.

  • Personal sites Allow users to create personal sites (also known as My Sites). Personal sites are site collections stored under the /personal path of the Web application. Personal sites are created for individual users, so they are not the appropriate method to use if you are trying to create sites for groups or communities. For more information about personal sites, see Plan for My Sites (SharePoint Server 2010).

Note:

Keep in mind that none of these methods can control how much space each site takes up in your content databases. To control site sizes, you should use quotas and set a size limit for site collections. You cannot set individual size limits for subsites. For more information, see Plan site maintenance and management (SharePoint Server 2010).

Plan for Self-Service Site Management

Self-Service Site Management allows users to create and manage their own top-level Web sites automatically. When you turn on Self-Service Site Management for a Web application, users can create their own top-level Web sites under a specific path (by default, the /sites path). When turned on, this capability advertises itself with an announcement added to the top-level site at the root path of the Web application, so any users who have permission to view that announcement can follow the link.

Note:

If you want to use a path other than /sites for Self-Service Site Management, you must add the path as a wildcard inclusion. For more information, see Collaboration site planning (SharePoint Server 2010).

This capability can obviously affect the security for your Web server. Self-Service Site Management is disabled by default — you must turn on the feature to use it. You enable Self-Service Site Management for a single Web application at a time. If you want to use it on all Web applications in your server farm, you must enable it for every Web application individually.

If you enable Self-Service Site Management, you should consider the following:

  • Generally, you should require a secondary site collection administrator. Administrative alerts, such as those for when quotas are exceeded, or checking for unused Web sites, go to the primary and secondary administrators. Having more than one contact reduces administrator involvement with these sites because the secondary contact can perform required tasks even if the primary contact is not available.

  • Define a storage quota and set it as the default quota for the Web application.

  • Review the number of sites allowed per content database. Combined with quotas, this will help you limit the size of the databases in your system.

  • Enable unused Web site notifications, so that sites that are forgotten or no longer of value can be identified.

Because Self-Service Site Management creates new top-level Web sites on an existing Web application, any new sites automatically conform to the Web application's default quota settings, unused Web site notification settings, and other administrative policies.

Plan for custom site creation processes

You can, of course, create your own process for site creation by using a custom form to request a site that integrates with a back-end billing system to charge a customer's credit card or a corporate cost center. If you have a complicated system or process that you want to include as part of site creation, you should create a custom application to call the site creation interface and perform any other tasks you require. However, if you simply want to add a few custom fields to the site creation page (for example, to track which department in your company is requesting a particular site), you should consider using Self-Service Site Management and customize the sign-up page to include the information that you need. You can customize the scsignup.aspx page in the site definition to include the metadata that you need without having to develop an entire application.

For more information about building custom applications or editing pages in a site definition, see the SharePoint 2010 developer portal on MSDN (http://go.microsoft.com/fwlink/p/?LinkId=178818).

Worksheet

Use the following worksheet to plan the process for creating sites:

  • Site Creation and Maintenance Worksheet (http://go.microsoft.com/fwlink/?LinkId=193521)


Plan site maintenance and management (SharePoint Server 2010)

Published: May 29, 2010

All Web sites, particularly sites that have more than one author, get cluttered. Periodic review and cleanup can help keep your site functioning well, whether your site is large or small. If you build a plan for maintaining your site or sites from the beginning, you can ensure that they stay current, useful, and usable.

In this article:

  • Plan for site maintenance

  • Plan for managing site collections

  • Worksheet

Plan for site maintenance

Your site maintenance plan will be different from that for any other environment, and it will contain different elements. Site maintenance is different for sites managed by an IT department than it is for user-created sites and managed sites. However, some best practices for a site maintenance plan include:

  • Ask users what they want in IT-managed sites. Perform periodic surveys to determine what your users need from the site.

  • Use usage logs and reports to find out which areas of the site are being used, and then correlate that with user surveys to find out what can be improved.

  • Archive obsolete content or sites. However, if you are going to archive or delete obsolete content or sites, be sure that users understand that plan and that you perform these actions only at predictable times. For example, publish a schedule of when you are going to archive content or delete unused sites.

  • Periodically review site permissions. For example, review the permissions quarterly to remove permissions for any users who have left the group or project.

  • Select a reasonable time interval for your maintenance activities. For example, if you plan to conduct periodic user surveys, do not conduct them more than twice a year (and preferably, no more than once a year).

  • Create a plan for regular backups of site content. Determine or discover how often backups will be made, and the process for restoring content when necessary. For more information about planning for backup and restore, see Plan for backup and recovery in SharePoint Server 2010.

Start now, during your planning process, to create a plan for site maintenance. Record your plan, including how often to tune up the site and archive content. Get your plan reviewed by members of your team and representatives of your user base. This way, you can identify any concerns that users might have now, determine how best to address these concerns, and have a plan for site maintenance in place by the time your site goes live.

You can record this information in the Site Creation and Maintenance Worksheet (http://go.microsoft.com/fwlink/?LinkId=193521).

Plan for managing site collections

One part of your site maintenance plan should be a plan for how to manage the size and number of site collections in your environment. This is most important if you are allowing Self-Service Site Management. Most organizations want to be able to predict and control how much growth they can expect from sites because of the impact that they can have on database resources. For example, if a particular content database contains 100 sites, and one of those sites is taking up more than 50 percent of the space, then that site might need to be in its own content database. This will ensure that you preserve some room for additional growth, while maintaining the ability to back up and restore the databases.

Two methods for managing site collections are:

  • Site collection quotas Use this method to control how large site collections can become.

  • Site use confirmation and deletion Use this method to monitor and remove unused site collections.

Plan site collection quotas

Use quotas to track and limit site storage. You can send a warning e-mail message to site collection administrators when site storage reaches a particular size (in megabytes), and then lock the site to further content when site storage reaches a maximum size. When you perform your database and server capacity planning, determine what size limits (if any) you want to enforce. The following list describes how to take the best advantage of quotas:

  • Create different quota templates for different site types. For example, you might want different quotas for different divisions, or for different customer types, or for different paths (perhaps sites under the /sites path only get 100 MB per site collection, whereas sites under the /vip path can take up to 300 MB per site collection). Whenever you create a site collection from Central Administration, you can specify on which quota template it is based. Note that sites created by using Self-Service Site Management use the default quota for the Web application. For more information, see Create, edit, and delete quota templates (SharePoint Server 2010).

  • Give enough room for reasonable growth in sites. Depending on what each site is used for, storage space needs can vary dramatically. Sites are designed to grow over time as they are used. A quota limit of 50 MB is unlikely to be enough storage space to start with for most sites, and is unlikely to be anywhere near enough for a site that has a long life.

  • Allow for reasonable notice between the warning e-mail message and locking the site for exceeding its quota. For example, do not set the warning limit to 80 MB and the site storage limit to 85 MB. If users are in the middle of uploading several large files, they will not be happy if blocked from completing that task with very little notice.

Plan site use confirmation and deletion

You need to plan how to handle sites that become inactive after a project has ended, or sites that users created just to test out some ideas, and then abandoned. Site use confirmation and deletion can help you keep your environment cleaner, by helping you identify when sites are no longer needed. This feature works by automatically sending an e-mail message to site owners to see if they consider their site active. If the owner does not respond to the e-mail message (after a specified number of messages over a specified length of time), the site can be deleted.

To plan for site use confirmation and deletion, decide the following:

  • How long you want to wait before checking to see if a site is inactive. The default length of time for team or project sites is 90 days after site creation, but you should probably give owners longer than that. For a test or personal site, 90 days is probably too long. Usually a site that was created, was actively used, and is now ready to be deleted or archived, took at least six months and probably a few years to complete that life cycle. Reminders every six months are valuable for those situations.

  • How often you want to send an e-mail message to site owners to see if their sites are inactive. After the first e-mail message, if the site administrator does not respond, you can continue with additional notices at daily, weekly, or monthly intervals.

  • Whether you want to automatically delete unused sites. If the site administrator does not respond to multiple e-mail messages, do you want to go ahead and delete the site automatically? We recommend that you make a backup first. You can do so by making sure that regular backups are performed. You can use the SharePoint 2010 developer portal on MSDN (http://go.microsoft.com/fwlink/p/?LinkId=178818) to customize this functionality so that it automatically makes a backup of the site before deletion, but this is not default behavior.

  • If you are going to automatically delete unused sites, how many e-mail messages will you send to site owners before you do so? By default, four weekly notices are sent before site deletion, but you can increase or decrease this number to suit your needs.

For more information, see Manage unused Web sites (SharePoint Server 2010).

Worksheet

Use the following worksheet to plan for site maintenance and management:

  • Site Creation and Maintenance Worksheet (http://go.microsoft.com/fwlink/p/?LinkId=193521)


Plan quota management (SharePoint Server 2010)

A quota specifies storage limit values for the maximum amount of data that can be stored in a site collection. Quotas also specify the storage size that, when reached, triggers an e-mail alert to the site collection administrator. Quota templates apply these settings to any site collection in a SharePoint farm.

By default, a quota contains 300 points. A point is a relative measurement of resource usage, for example, CPU cycles, memory, or page faults. Points enable comparisons between measurements of resource usage that could not be compared otherwise. For example, it takes millions of CPU cycles to make up one point, but each time a sandboxed solution stops working is counted as one point. For more information about sandboxed solutions, see Sandboxed solutions overview (SharePoint Server 2010).

Quotas are particularly useful when you are using Microsoft SharePoint Server 2010 in enterprise environments, such as a company-wide intranet or an Internet Service Provider (ISP). You should use quotas in these environments to ensure that one site collection cannot use so many resources that other site collections can no longer function. You can assign a quota template to a site collection when you create the site collection, or you can assign a quota template at a later time. You can also reverse a decision to use quotas at any place in the site collection hierarchy.

You should also consider quotas when you plan your taxonomy and information architecture. For information about how to plan managed metadata services, such as planning where to store enterprise keywords, see Plan to share terminology and content types (SharePoint Server 2010).

In this article:

  • About planning quota management

  • Determine quota template settings

  • Determine recycle bin settings

  • Delete unused Web sites

About planning quota management

The basic steps to plan quota management are the following:

  1. Determine quota template settings

  2. Determine recycle bin settings

  3. Delete unused Web sites

This article contains guidance about how to determine the quota settings for site collections in an enterprise. This article does not include prerequisite information such as how to configure outgoing e-mail, start the Disk Quota Warning timer job, or plan performance and capacity.

Determine quota template settings

There is no default quota template for site collections in a SharePoint Server 2010 environment. For example, a quota for a site collection might use the following settings as a starting point:

  1. Automated e-mail is sent to a site collection administrator when the size of the site reaches 450 megabytes (MB).

  2. Users are prevented from uploading additional documents when the size of a site collection reaches 500 MB.

You must evaluate the size and number of items that you expect users to store in their sites. You must also adjust these settings appropriately to ensure that the sites are used in accordance with an organization's best practices. For example, if a specific team or group in an organization has a business need to store a greater volume of content on its team site, you can adjust the quota limits for that site collection.

The size of the data reported by quotas does not necessarily match the size of the storage in the database. This is because the quota feature estimates storage figures for empty sites (that is, sites that contain no user content) and includes those figures in the quota, in addition to the actual storage from the database. The estimated size of an empty site includes the real size of the template pages for SharePoint Server 2010, for example, the forms pages and the pages in the _layouts directory.

If you change the values for a quota template, those changes apply only to new site collections to which you apply the template. SharePoint Server 2010 does not apply the changed quota values to existing sites collections unless you use the object model to update the quota values in the database.

Determine recycle bin settings

The recycle bin can help to prevent the permanent deletion of content. The recycle bin enables site owners to retrieve items that users have deleted, without requiring administrator intervention such as restoring files from backup tapes. Key planning considerations include whether to use the second-stage recycle bin and how much space to allocate.

The recycle bin is turned on and off at the Web application level. By default, the recycle bin is turned on in all the site collections in a Web application.

The recycle bin has two stages. When a user deletes an item, the item is automatically sent to the first-stage recycle bin. By default, when an item is deleted from the first-stage recycle bin, the item is sent to the second-stage recycle bin. The second-stage recycle bin stores items that users have deleted from their recycle bins. Only site collection administrators can restore items from the second-stage recycle bin. The size that is specified for the second-stage recycle bin increases the total size of the site. You must plan data capacity accordingly.

Consider allocating at least a small amount of space, for example, 10 percent, to the second-stage recycle bin to accommodate cases in which a user mistakenly deletes an important document, a folder in a document library, or a column in a list.

Items in both the first-stage and the second-stage recycle bins are automatically deleted when the time period specified for the deleted items expires (by default, 30 days). However, when the size limit of the second-stage recycle bin is reached, items are automatically deleted starting with the oldest items. Site collection administrators can also empty the second-stage recycle bin manually. For more information, see Configure Recycle Bin settings (SharePoint Server 2010).

Delete unused Web sites

You can delete a quota template if you change your quota structures. However deleting a quota template does not delete quota values from site collections to which a quota template has been applied. If you want to remove quotas from all site collections that use a specific quota template, you must use the object model or perform a SQL Server query.

Automatic deletion of unused Web sites can help you lessen the risk of deleting data that is critical to business operations. You should include the following tasks in your planning process:

  • Require a secondary contact for all sites. If the site owner is not available or leaves the organization, the secondary contact can confirm the usage of the site. If you do not have a secondary contact and you shorten the number of days or number of notices that are given before you delete an unused site, you might accidentally delete a site that is still required.

  • Archive sites before they are deleted automatically. You will be able to restore the sites that contain business-critical information or plan to store the content databases for a longer duration, so that a deleted site can be restored.

For more information, see Manage unused Web sites (SharePoint Server 2010).


Reporting and usage analysis overview (SharePoint Server 2010)

Published: October 14, 2010

This article describes the Web Analytics service application in Microsoft SharePoint Server 2010 and its features.

Before you configure the SharePoint Web Analytics service application, we recommend that you read Capacity requirements for the Web Analytics Shared Service in SharePoint Server 2010

This article does not discuss capacity for the Web Analytics service application. For information about capacity, see "Capacity Requirements for Web Analytics Shared Service in SharePoint Server 2010", which can be accessed from Performance and capacity test results and recommendations (SharePoint Server 2010).

In this article:

  • Overview

  • Reporting

  • Web Analytics workflow

  • Web Analytics Web Part

Overview

In Microsoft SharePoint Server 2010, the Web Analytics service application enables you to collect, report, and analyze the usage and effectiveness of your SharePoint Server 2010 sites.

The Web Analytics features are reporting, Web Analytics workflow, and Web Analytics Web Part.

Before any of the Web Analytics features can be used, you must configure the services that support the Web Analytics service application. Next, you must create the View Web Analytics Data permission group and assign this permission to users. For more information, see Configure Web Analytics service application (SharePoint Server 2010).

Reporting

The reporting feature lets an administrator create reports that can be used to understand what users are doing and how they are using a site.

There are three areas of Web Analytics reports available: Traffic, Search, and Inventory.

A list of different reports is aggregated at a site, site collection, Web application, and/or Search service application level for each farm.

Typically, the metrics for each report are displayed one of the following ways:

  • A trend report shows how a particular metric is doing over a period of time.

  • A rank report shows the top 2000 results for a particular metric.

  • A list report shows search-related results for the Best Bet reports.

By default, all reports show data for a period of 30 days. For additional information about how to view and customize a report, see View Web Analytics reports (SharePoint Server 2010).

Traffic reports

The traffic reports capture user behavior information related to total clicks, frequent users, popular pages, and information about navigation to and from the current SharePoint component, for example, a site collection or Web application.

The following table describes the available traffic reports.

Name | Type | Description | Available at Web application level | Available at site collection level | Available at site level | Available at Search service application level
Number of Page Views | Trend | Displays the number of page views per day during the specified date range. Every time a user visit generates a server page request, a page view is recorded. | X | X | X |
Number of Daily Unique Visitors | Trend | Displays the number of unique visitors during the specified date range. Use this report to determine the number of unique visitors on a given day, understand visitor traffic patterns, or identify periods of high or low traffic. | X | X | X |
Number of Referrers | Trend | Displays the amount of traffic from Web pages that refer traffic to your site. Use this report to identify traffic patterns related to referrers. | X | X | X |
Top Pages | Rank | Displays the most popular pages based on page views during the specified date range. Use this information to target individual pages for improvement or to measure the effectiveness of specific content. | X | X | X |
Top Visitors | Rank | Displays the top unique visitors to your Web site during the specified date range. Use this report to understand who uses your Web site the most. | X | X | X |
Top Referrers | Rank | Displays the top Web pages that refer traffic to your site. Use this report to understand which pages are directing traffic to your site and how visitors arrive at your site. | X | X | X |
Top Destinations | Rank | Displays the external Web pages your visitors most frequently go to when they leave pages on your site. Use this report to understand your visitors' traffic patterns or to analyze the effectiveness of your referrals to other pages. | X | X | X |
Top Browsers | Rank | Displays the Internet browser types and versions most commonly used by visitors. Use this report to understand the technologies that your visitors use and to configure your site for optimal viewing. | X | X | X |

Search reports

The search reports capture user behavior information related to the queries on a site that is using a configured search service application.

The Best Bets Suggestion report helps site collection administrators determine what the most relevant search result is for a given keyword. In Microsoft SharePoint Server 2010, suggestions are periodically sent out for new Best Bets using all the search metrics that have been collected. Site collection administrators can look through the Best Bets suggestions and easily accept or reject them.

The Best Bets Suggestion, Best Bet Usage, Best Bet Action History reports are available on the Site Collection Web Analytics Reports page.

Typically, Best Bet reports are displayed in list format.

If you want to retrieve basic information about search queries within your farm, use either the trend or rank search reports. If you want to get a more in-depth view of how the site is being used, use the Best Bet reports.

The following table describes the available search reports.

Name | Type | Description | Available at Web application level | Available at site collection level | Available at site level | Available at Search service application level
Number of Queries | Trend | Displays the number of search queries performed during the specified date range. Use this report to identify search query volume trends and to determine times of high and low search activity. |  | X | X | X
Top Queries | Rank | Displays the most popular search queries performed during the specified date range. Use this report to understand what types of information visitors are seeking. |  | X |  | X
Failed Queries | Rank | Displays search queries that returned no search results or results that received zero or low click-through rates. Use this report to identify search queries that might create user dissatisfaction and to improve the discoverability of content. |  | X |  |
No Result Queries | Rank | Displays search queries that returned no search results. Use this report to identify search queries that might create user dissatisfaction and to improve the discoverability of content. |  |  |  | X
Best Bet Suggestion | List | Recommends URLs that are the most likely results for particular search queries, based on analysis of usage patterns. The site administrators can accept or reject these suggestions. If they accept, the corresponding query-URL pair is added to the search keywords list. |  | X |  |
Best Bet Usage | List | Displays how Best Bet suggestions are doing over time. For every Best Bet query issued, the report shows the percentage of clicks on the Best Bet URL compared to other URLs. |  | X |  |
Best Bet Action History | List | Displays the actions that were performed by the site administrator on the Best Bet Suggestion Report. |  | X |  |

Inventory reports

The inventory reports are targeted to help site administrators manage a site by keeping track of the site structure and storage and version issues.

The following table describes the available inventory reports.

Name | Type | Description | Available at Web application level | Available at site collection level | Available at site level | Available at Search service application level
Number of Site Collections | Trend | Displays a daily snapshot of the number of site collections in a Web application during the specified date range. | X |  |  |
Storage Usage | Trend | Displays a daily snapshot of storage usage for a site collection during the specified date range. Use this report to understand the storage growth pattern for a site collection. |  | X |  |
Number of Sites | Trend | Displays a daily snapshot of the number of sites in a site collection during the specified date range. |  | X | X |
Top Site Product Versions | Rank | Displays the top site product versions based on the product version property of each site in a site collection. Use this report to understand the site product version distribution in your site collection. |  | X | X |
Top Site Languages | Rank | Displays the top site languages based on the number of sites created using each language. Use this report to understand the site language distribution in your site collection. |  | X | X |

Web Analytics workflow

The Web Analytics workflow enables you to have reports sent out on a schedule or when certain criterion is met. For example, you can have a workflow that sends you e-mail every time the total number of pages views drop by 80 percent week over week.

Note:

To create a Web Analytics workflow, you must be a member of the Farm Administrators group.

Web Analytics Web Part

Site managers can add the Web Analytics Web Part to any page on a site. For example, the Most Viewed Content report can be configured on the site to display data. The data in the Web Part is continuously refreshed as new content or new search queries become more popular. For information about how to configure the Web Analytics Web Part, see Configure Web Analytics service application (SharePoint Server 2010)


Plan e-mail integration (SharePoint Server 2010)

Published: June 17, 2010

Enabling communication is a critical component for creating Web applications in which group members can interact with each other and keep up with changes to information through the use of alerts. The site collection features that are dependent on communications being properly set up include:

  • Alerts that notify group members when things have changed.

  • Administrative messages related to requests for site access and other site administration issues.

  • Discussion groups.

To make the most effective use of the communications features, planning should include understanding the software requirements and maintenance considerations.

Plan communication by using the following articles:

  • Plan incoming e-mail (SharePoint Server 2010), which provides information on how to set up e-mail for discussion groups.

  • Plan outgoing e-mail (SharePoint Server 2010), which provides information on how to use alerts and administrative messages.


Plan incoming e-mail (SharePoint Server 2010)
See Also

Published: June 17, 2010

The incoming e-mail feature of Microsoft SharePoint Server 2010 enables SharePoint sites to receive and store e-mail messages and attachments in lists and libraries. This article helps server and farm administrators understand the choices they need to make before they deploy the incoming e-mail feature for their organization.

In this article:

  • About incoming e-mail

  • Key decisions for planning incoming e-mail

  • Configuration options and settings modes

About incoming e-mail

The incoming e-mail feature enables teams to store the e-mail that they send to other team members without opening the SharePoint site and uploading the content that was sent in e-mail. This is possible because most types of lists and libraries can be assigned a unique e-mail address.

Before configuring incoming e-mail, you must perform the following tasks:

  • If you are using the basic scenario, each SharePoint front-end Web server must be running the Simple Mail Transfer Protocol (SMTP) service and the Microsoft SharePoint Foundation Web Application service.

  • If you are using the advanced scenario, you can use one or more servers in the server farm to run the SMTP service and to have a valid SMTP server address. Alternatively, you must know the name of a server outside the farm that is running the SMTP service and the location of the e-mail drop folder.

For more information about installing the SMTP service, see Configure incoming e-mail (SharePoint Server 2010).

Key decisions for planning incoming e-mail

As you plan to implement incoming e-mail, you must decide whether to use a basic or and advanced scenario, as described below.

Using a basic scenario

You can enable a basic incoming e-mail scenario by installing the Simple Mail Transfer Protocol (SMTP) service on the server running SharePoint Server 2010 and enabling incoming e-mail by using the automatic settings mode with all default settings. In this scenario, e-mail is delivered directly to your SMTP server and SharePoint Server 2010 periodically checks for e-mail in the default e-mail drop folder that is automatically configured by the SMTP service.

Selecting the automatic settings mode and accepting all the default settings is the easiest way to enable incoming e-mail because all configuration settings are made for you and, therefore, little expertise is required. For most organizations, this configuration is all that is needed.

You enable a basic incoming e-mail scenario in the following steps:

  1. The server administrator uses the Add Features Wizard to install the SMTP Server feature on the server from which you want to receive incoming e-mail. This installs and starts the SMTP service on that server.

  2. The farm administrator enables incoming e-mail by using the automatic settings mode and accepting all the default values.

  3. The site collection administrator enables the incoming e-mail feature on the libraries and lists in which they want to store incoming e-mail and assigns each library and list a unique e-mail address in the form address@SMTPserveraddress, for example, sharedfiles@SMTPserver.contoso.com.

When users send e-mail to the address of a list or library, SharePoint Server 2010 detects that new e-mail has been delivered and sends it to the appropriate list or library based on the e-mail address.

Note:

You can also use the automatic settings option in an advanced scenario and select whether to use the Microsoft SharePoint Directory Management service, a safe e-mail server, and an incoming e-mail server display address. These options are all discussed in the "Using the advanced scenario" later in this article.

If this basic scenario meets your needs, you can skip the remainder of this article. For more information, see Configure incoming e-mail (SharePoint Server 2010).

Using an advanced scenario

For more advanced administrators, additional choices are available, some of which require more expertise to deploy than choosing the basic scenario with all default options. This section describes the following configuration options:

  • SharePoint Directory Management service

  • Incoming e-mail server display address

  • Safe e-mail server

  • E-mail drop folder

If you use the advanced scenario to configure incoming e-mail, you will need to perform additional procedures. For more information, see Configure incoming e-mail (SharePoint Server 2010).

SharePoint Directory Management service

The SharePoint Directory Management service connects SharePoint sites to your organization's user directory to provide enhanced e-mail features. The benefit of using this service is that it enables users to create and manage e-mail distribution groups from SharePoint sites. This service also creates contacts in your organization's user directory so people can find e-mail-enabled SharePoint lists in their address books. However, using SharePoint Directory Management service requires more management because it is communicating with Active Directory Domain Services (AD DS).

Note:

It is recommended that you use Microsoft Exchange Server together with SharePoint Directory Management service. If you do not, you must customize your own directory management service.

You can configure the SharePoint Directory Management service by using either the automatic or the advanced settings mode. You can choose to enable the SharePoint Directory Management service in your SharePoint server farm, or you can use the SharePoint Directory Management service of another farm. One advantage of using the service running on another farm is that Active Directory permissions are managed in a centralized place (that is, on the other farm).

To enable this service on a server or server farm runningSharePoint Server 2010, the SharePoint Central Administration application pool account used by SharePoint Server 2010 must have write access to the container that you specify in Active Directory. This requires an Active Directory administrator to set up the organizational unit (OU) and the permissions on the OU. The advantage of using the SharePoint Directory Management service on a remote farm is that you do not need the help of an Active Directory administrator to create and configure the OU if the OU already exists.

Note:

There are a number of procedures that you need to perform if you plan to use SharePoint Directory Management service. For more information, see Configure incoming e-mail (SharePoint Server 2010).

A typical directory management scenario proceeds in the following steps:

  1. A site collection administrator creates a new SharePoint group.

  2. The administrator chooses to create a distribution list to associate with that SharePoint group and assigns an e-mail address to that distribution list.

  3. Over time, the administrator adds users to and removes users from this SharePoint group. As users are added to and removed from the group, the SharePoint Directory Management service automatically adds and removes them from the distribution list, which is stored in the Active Directory directory service. Because distribution lists are associated with a particular SharePoint group, this distribution list is available to all members of that SharePoint group.

  4. By default, e-mail addresses are automatically generated for discussion boards and calendars on team sites and then added to the team distribution list. The e-mail addresses for these two lists will be in the following form, by default: GroupAddress.discussions and GroupAddress.calendar.

  5. By including e-mail addresses for discussion boards and calendars in the distribution list, all e-mail and meeting invitations sent to this distribution list will be archived in the team site.

For more information about SharePoint Directory Management Service, see Inside SharePoint: SharePoint Directory Integration (http://go.microsoft.com/fwlink/p/?LinkId=151766).

SharePoint Directory Management service configuration options

When you configure the SharePoint Directory Management service to create distribution groups and contacts in Active Directory, you must provide the following information:

  • Name of the Active Directory container in which new distribution groups and contacts will be created. This must be provided in the following format:

    OU=ContainerName, DC=DomainName, DC=TopLevelDomainName

    Example

    OU=SharePointContacts,DC=Contoso,DC=com

  • Name of the SMTP server to use for incoming e-mail (or accept the default SMTP server if one exists). This must be provided in the following format:

    Server.subdomain.domain.top-level_domain

    For example, SharePointServer.support.contoso.com

  • Whether to accept messages from only authenticated users.

  • Whether to allow users to create distribution groups from SharePoint sites. If you choose yes for this option, you can also choose whether users can do any combination of the following actions:

    • Create a new distribution group.

    • Change a distribution group's e-mail address.

    • Change a distribution group's title and description.

    • Delete a distribution group.

When configuring the SharePoint Directory Management service to create distribution groups and contacts using a remote SharePoint Directory Management service, you must provide the following information:

  • The URL of the remote directory management service, for example, http://server:adminport/_vti_bin/SharePointEmailWS.asmx.

  • The name of the SMTP server to use for incoming e-mail.

  • Whether to accept messages from only authenticated users.

  • Whether to allow users to create distribution groups from SharePoint sites.

Incoming e-mail server display address

Administrators can specify the e-mail server address that will be displayed in Web pages when users create an incoming e-mail address for a site, list, or group. This setting is often used in conjunction with the SharePoint Directory Management service to provide a more friendly e-mail server address for users to type, for example, mylist@example.com.

Safe e-mail server

You can configure SharePoint Server 2010 to accept e-mail from any e-mail server or only e-mail that has been routed through a safe-e-mail server application.

You can derive the following benefits by routing e-mail through a safe e-mail server:

  • User authentication: The SMTP service cannot authenticate users who send e-mail to your site, but Exchange Server can. The server administrator can use the SharePoint Central Administration Web site to specify that the system accept e-mail from authenticated users only if the e-mail is sent through Exchange Server.

  • Spam filtering: Exchange Server provides spam filtering to eliminate unsolicited commercial e-mail before it is forwarded to its destination — in this case, the server running SharePoint Server 2010. Another technique that can reduce spam is to allow members of the team site to archive e-mail only in lists on which you have granted write permissions to members.

  • Virus protection: Exchange Server provides virus protection for e-mail routed through it.

Note:

Because this option is only available in automatic mode, you cannot specify one or more safe e-mail servers and also specify an e-mail drop folder.

E-mail drop folder

If the SMTP service is running on another server than on the SharePoint server, you must specify the location from which SharePoint Server 2010 retrieves incoming e-mail. You specify the e-mail drop folder so that SharePoint Server 2010 knows from where to retrieve incoming e-mail. However, if you specify a specific e-mail drop folder, SharePoint Server 2010 cannot detect configuration changes on the remote e-mail server that is delivering the e-mail to your drop folder. This means that if an administrator configures the e-mail server to no longer deliver e-mail to this folder, SharePoint Server 2010 cannot detect that the configuration has changed, and therefore will not be able to retrieve the files from the new location.

Note:

When incoming e-mail is set to advanced mode, you must ensure that you have the proper permissions on the e-mail drop folder. For more information, see Configure incoming e-mail (SharePoint Server 2010).

Note:

Because this option is only available in advanced mode, you cannot specify an e-mail drop folder and also specify one or more safe e-mail servers.

Configuration options and settings modes

As a farm administrator, you have two settings modes from which to choose when enabling incoming e-mail: automatic and advanced. As described in the "Using a basic scenario" section, you can choose the automatic settings mode with default settings. However, the automatic settings mode has additional options that you can choose.

The following table describes the configuration options and whether they are configured on the Configure Incoming E-Mail Settings page in Central Administration by using the automatic settings mode or the advanced settings mode.

Configuration option | Automatic settings mode | Advanced settings mode
Safe e-mail servers | Yes | No
E-mail drop folder | No | Yes
SharePoint Directory management service | Yes | Yes
Incoming e-mail server display address | Yes | Yes

The advanced and automatic settings modes are similar in that they both enable farm administrators to configure the SharePoint Directory Management service and the e-mail server address to display in Web pages. These settings modes differ in that the automatic settings mode replaces the ability to choose what e-mail servers to accept e-mail from with the ability to specify the folder to which e-mail is dropped. SharePoint Server 2010 uses this e-mail drop folder to detect new e-mail messages.

Note:

The e-mail drop folder setting is not available in automatic mode, because that mode automatically sets the e-mail drop folder to the folder that is specified by the SMTP service.

Plan incoming e-mail worksheet

Download a Word version of the Plan incoming e-mail worksheet (http://go.microsoft.com/fwlink/p/?LinkId=200542). Use this worksheet to plan incoming e-mail in order to enable SharePoint sites to receive and store e-mail messages and attachments in lists and libraries.

See Also

Concepts

Configure incoming e-mail (SharePoint Server 2010)
Plan outgoing e-mail (SharePoint Server 2010)
Configure outgoing e-mail (SharePoint Server 2010)


Plan outgoing e-mail (SharePoint Server 2010)
See Also

Published: May 29, 2010

This article helps site administrators understand both the uses for integrating outgoing e-mail and the requirements for integrating it into their site collections.

Outgoing e-mail is the foundation on which site administrators can implement several e-mail notification features. These features help end users track changes and updates to individual site collections and allow site administrators to deliver status messages.

In this article:

  • About outgoing e-mail

  • Key planning phases of outgoing e-mail

About outgoing e-mail

Properly configuring outgoing e-mail is a requirement for implementing e-mail alerts and notifications. The outgoing e-mail feature uses an outbound Simple Mail Transfer Protocol (SMTP) service to relay e-mail alerts and notifications. These e-mail features include the following:

  • Alerts

    In a large and growing site collection, users need an efficient way to keep up with updates to lists, libraries, and discussions. Setting up alerts provides an effective means to stay on top of changes. For example, if many users work on the same document, the owner of the document can set up alerts to be notified whenever there are changes to this document. Users can specify which areas of the site collection or which documents they want to track and decide how often they want to receive alerts.

    Note:

    Users must have at least View permissions to set up alerts.

  • Administrative messages

    Site administrators might want to receive notices when users request access to a site or when site owners have exceeded their specified storage space. Setting up outgoing e-mail enables site administrators to receive automatic notifications for site administration issues.

Outgoing e-mail support can be enabled at both the server farm level (available in the System Settings section of the Central Administration Web site) and at the Web application level (available in the Application Management section of the Central Administration Web site). Therefore, you can specify different settings for a specific Web application. Outgoing e-mail settings at the Web application level override those set up at the server farm level.

Key planning phases of outgoing e-mail

Before you configure outgoing e-mail, you must have an SMTP service to relay e-mail alerts and notifications.

The outgoing e-mail settings include several components that must be considered when planning for this feature:

  • An SMTP service to relay e-mail alerts and notifications. You will need the DNS name or IP address of the SMTP mail server to use.

  • An address to use in the header of an alert message that identifies the sender of the message.

  • A Reply-to address that is displayed in the To field of a message when a user replies to an alert or notification.

  • A character set to use in the body of alert messages.

Outbound SMTP server

The SMTP service is a component of Internet Information Services (IIS); however, it is not enabled by default with IIS. It can be enabled by using Add or Remove Programs in Control Panel.

After determining which SMTP server to use, the SMTP server must be configured to allow anonymous access and to allow e-mail messages to be relayed. Additionally, the SMTP server must have Internet access if you want the ability to send messages to external e-mail addresses.

For more information about installing, configuring, and managing the SMTP service, see Help for Internet Information Services (IIS) Manager (http://go.microsoft.com/fwlink/p/?LinkId=72343).

Note:

Only a member of the Farm Administrators group can configure an SMTP server. The user must also be a member of the local Administrators group on the server.

From and Reply-to addresses

When configuring outgoing e-mail, you can configure the following two addresses:

  • From address

    Alerts and notifications are sent from an administrative account on the server farm. This account is probably not the one you want to be displayed in the From field of an e-mail message. The address that you use does not need to correspond to an actual e-mail account; it can be a simple friendly address that is recognizable to an end user. For example, "Site administrator" might be an appropriate From address.

  • Reply-to address

    This is the address that will be displayed in the To field of a message if a user replies to an alert or notification. The Reply-to address should also be a monitored account to ensure that end users receive prompt feedback for issues they might have. For example, a help desk alias might be an appropriate Reply-to address.

Character set

When you configure outgoing e-mail, you will need to specify the character set to use in the body of e-mail messages. A character set is a mapping of characters to their identifying code values. The default character set for outgoing e-mail is Unicode UTF-8, which allows most combination of characters (including bidirectional text) to co-exist in a single document. In most cases, the default setting of UTF-8 works well, although East Asian languages are best rendered with their own character set.

Be aware that if you select a specific language code, the text is less likely to appear correctly in mail readers configured for other languages.

See Also

Concepts

Configure outgoing e-mail (SharePoint Server 2010)


Enterprise search planning (SharePoint Server 2010)

Published: November 4, 2010

The articles in this section describe the process for planning an enterprise search solution, including analyzing the current environment, determining the search team, and planning the search topology, crawling and federation, people search, and the end-user search experience. The articles also describe how to plan for training for administrators and end-users.

In this section:

  • Gather information about the current search environment (SharePoint Server 2010). The first step in the planning process is to gather information that helps you plan the search solution. This includes information about your organization, topology, current settings for search, and performance and usage reports.

  • Determine the enterprise search team and stakeholders (SharePoint Server 2010). This article discusses the roles and stakeholders that you should include when you plan a search solution.

  • Plan for crawling and federation (SharePoint Server 2010). This article discusses how to plan whether to crawl or federate content, and how to plan the appropriate settings for crawling and federation.

  • Plan search scopes (SharePoint Server 2010). This article describes how to plan search scopes to help users narrow search results. By using scopes, users can more quickly find the information that they want.

  • Plan metadata properties for search (SharePoint Server 2010). This article describes how to plan metadata properties, which include crawled properties and managed properties, to provide refined search results for user queries.

  • Plan people search (SharePoint Server 2010). This article describes how to plan people search, which is an important part of planning collaboration and social computing within the enterprise.

  • Plan the topology for enterprise search (SharePoint Server 2010). This article describes resources that can help you plan a topology for the search solution, including performance and capacity planning.

  • Plan keywords, synonyms, and Best Bets (SharePoint Server 2010). This article describes how to help users obtain more relevant search results by planning for keywords, synonyms, and Best Bets.


Gather information about the current search environment (SharePoint Server 2010)
See Also

Published: November 4, 2010

An important step in planning the enterprise search solution is to gather information about the current environment, including the following types of information and reports:

  • Information about the organization

  • Information about the topology

  • Current settings for search

  • Performance and usage reports

You will need this information for planning the search topology, crawling and federation, people search, and the end-user search experience.

Organization information

Gather the following information about the organization:

  • User, business, and functional requirements for the enterprise search solution, along with any service level agreements (SLAs). This information will help you to design and build the search solution and verify whether the solution meets the requirements during testing.

  • Contact information for existing farm administrators, search administrators, site collection administrators, site owners, and any other stakeholders for the enterprise search solution. This information will help you to plan the enterprise search team, and it also provides a contact list for any communications that occur during planning, deployment, and operations.

Topology information

Gather the following information about the topology:

  • Current topology diagrams. You will refer to these while planning the topology and planning for people search.

  • Locations of content repositories that should be included in search results, including SharePoint sites, Web sites, file shares, Exchange public folders, business data sources, user profile stores, Lotus Notes, and external sites.

  • Locations of users.

Current search settings

If you are starting from a previous version of SharePoint products and technologies, gather the following information about current settings for search:

  • Default content access account

  • Content source settings, including the following settings for each content source:

    • Content source name

    • Content source type

    • Start addresses

    • Crawl settings

    • Full crawl schedule

    • Incremental crawl schedule

  • Crawler impact rules, including the following settings for each crawler impact rule:

    • Site (URL)

    • Request frequency

  • Crawl rules, including the following settings for each crawl rule:

    • Path

    • Crawl configuration (excluded or included items)

    • Content access account

  • Third-party or custom connectors (called protocol handlers in prior versions)

  • File types included in the file-type inclusions list, and whether they required an additional IFilter

  • File types removed from the file-type inclusions list

  • Languages for which word breakers and stemmers are installed

  • Farm-level search settings, including the following information:

    • Contact e-mail address

    • Proxy server settings (address, port, whether to bypass for local addresses, and addresses for which you do not want to use a proxy server)

    • Crawler time-out settings (connection time and request acknowledgement time)

    • SSL certificate warning configuration

  • Scope settings

  • Crawl settings

  • The following additional settings:

    • Federated locations

    • Server name mappings

    • Indexer performance settings

    • Crawled properties

    • Managed properties

    • Search result removal

    • Alerts

    • Keywords

    • Best Bets

    • Authoritative pages

Performance and usage reports

Gather the following performance and usage data:

  • Performance metrics from search administration reports, if available. You will use this information when you plan the topology. For more information, see Use search administration reports (SharePoint Server 2010).

  • Usage metrics from Web analytics reports. You will use this information when you design the end-user experience for search.

See Also

Concepts

Determine the enterprise search team and stakeholders (SharePoint Server 2010)
Plan for crawling and federation (SharePoint Server 2010)


Determine the enterprise search team and stakeholders (SharePoint Server 2010)
See Also

Published: November 4, 2010

Summary: Identify search stakeholders: farm administrators, service application administrators, site collection administrators, and content owners.

Your search team should include the following administrative roles:

  • Farm administrators

  • Search service application administrators

  • Site collection administrators (or a representative if there are many)

  • Site owners (or a representative if there are many)

For more information about each of these roles in a Microsoft SharePoint Server 2010 environment, see Choose administrators and owners for the administration hierarchy (SharePoint Server 2010).

In addition, you should include the following roles as either team members or project stakeholders:

  • Project manager, who defines and drives the planning and implementation of the enterprise search solution

  • IT administrators, who manage the information technology organization

  • Solutions architects, who design information technology architecture solutions that are often cross-domain and cross-functional

  • Developers, who are responsible for customizing search solutions and creating search-enabled applications

  • IT operations managers, who plan operations for one or more server farms in the organization

  • Other SharePoint service application administrators

  • Directory services administrators

  • Database administrators who own content that should be included in the search solution

  • Any site collection administrators not included in the search team

  • Any site owners not included in the search team

See Also

Concepts

Gather information about the current search environment (SharePoint Server 2010)
Plan for crawling and federation (SharePoint Server 2010)


Plan for crawling and federation (SharePoint Server 2010)
See Also

Published: November 4, 2010

Summary: Effective enterprise search depends on well-planned content sources, connectors, file types, crawl rules, authentication, and federation.

Before end-users can use the enterprise search functionality in Microsoft SharePoint Server 2010, you must crawl or federate the content that you want to make available for users to search. Planning to crawl or federate includes the following tasks:

  • Plan content sources

  • Plan file-type inclusions and IFilters

  • Plan for authentication

  • Plan connectors

  • Plan to manage the impact of crawling

  • Plan crawl rules

  • Plan search settings that are managed at the farm level

  • Plan for federation

Plan content sources

A content source is a set of options that you can use to specify what type of content is crawled, what URLs to crawl, and how deep and when to crawl. The default content source is Local SharePoint sites. You can use this content source to specify how to crawl all content in all Web applications that are associated with a particular Search service application. By default, for each Web application that uses a particular Search service application, SharePoint Server 2010 adds the start address of the top-level site of each site collection to the default content source.

Some organizations can use the default content source to satisfy their search requirements. However, many organizations have to have additional content sources. Plan additional content sources when you have to do the following:

  • Crawl different types of content — for example, SharePoint sites, file shares, and business data.

  • Crawl some content on different schedules than other content.

  • Limit or increase the quantity of content that is crawled.

  • Set different priorities for crawling different sites.

You can create up to 500 content sources in each Search service application, and each content source can contain as many as 500 start addresses. To keep administration as simple as possible, we recommend that you limit the number of content sources that you create.

Plan to crawl different kinds of content

You can only crawl one kind of content per content source. That is, you can create a content source that contains start addresses for SharePoint sites and another content source that contains start addresses for file shares. However, you cannot create a single content source that contains start addresses to both SharePoint sites and file shares. The following table lists the kinds of content sources that you can configure.

Use this kind of content source For this content

SharePoint sites

SharePoint sites from the same farm or different Microsoft SharePoint Server 2010, Microsoft SharePoint Foundation 2010, or Microsoft Search Server 2010 farms

SharePoint sites from the same farm or different Microsoft Office SharePoint Server 2007, Windows SharePoint Services 3.0, or Microsoft Search Server 2008 farms

SharePoint sites from Microsoft Office SharePoint Portal Server 2003 or Windows SharePoint Services 2.0 farms

Note:

Unlike crawling SharePoint sites on SharePoint Server 2010, SharePoint Foundation 2010, or Search Server 2010, the crawler cannot automatically crawl all subsites in a site collection from previous versions of SharePoint Products and Technologies. Therefore, when crawling SharePoint sites from previous versions, you must specify the start address of each top-level site and the URL of each subsite that you want to crawl.

Web sites

Other Web content in your organization that is not located in SharePoint sites

Content on Web sites on the Internet

File shares

Content on file shares in your organization

Exchange public folders

Microsoft Exchange Server content

Lotus Notes

E-mail messages stored in Lotus Notes databases

Note:

Unlike all other kinds of content sources, the Lotus Notes content source option does not appear in the user interface until you have installed and configured the appropriate prerequisite software. For more information, see Configure and use the Lotus Notes connector (SharePoint Server 2010).

Business data

Business data that is stored in line-of-business applications

Plan content sources for business data

Business data content sources require that the applications hosting the data are specified in an Application Model in a Business Data Connectivity service application. You can create one content source to crawl all applications that are registered in the Business Data Connectivity service, or you can create separate content sources to crawl individual applications.

Often, the people who plan for integration of business data into site collections are not the same people involved in the overall content planning process. Therefore, include business application administrators in content planning teams so that they can advise you how to integrate the business application data into content and effectively present it in the site collections.

Crawl content on different schedules

You must decide whether some content is crawled more frequently than other content. The larger the volume of content that you crawl, the more likely it is that you are crawling content from different content repositories. The content might not be of the same type and might be located on servers of varying capacities. These factors make it more likely that you have to add content sources to crawl the different content repositories on different schedules.

Primary reasons that content is crawled on different schedules are as follows:

  • To accommodate down times and periods of peak usage.

  • To more frequently crawl content that is more frequently updated.

  • To crawl content that is located on slower servers separately from content that is located on faster servers.

In many cases, not all of this information can be known until after SharePoint Server 2010 is deployed and has run for some time. In these cases, you must specify crawl schedules after the farm is in production. Nonetheless, it is a good idea to consider these factors during planning so that you can plan crawl schedules based on the information that you have.

The following two sections provide more information about crawling content on different schedules.

Considerations for planning crawl schedules

You can configure crawl schedules independently for each content source. For each content source, you can specify a time to do full crawls and a separate time to do incremental crawls. Note that you must run a full crawl for a particular content source before you can run an incremental crawl. Even if you specify an incremental crawl for content that has not yet been crawled, the system performs a full crawl.

Note:

Because a full crawl crawls all content that the crawler encounters and has at least read access to, regardless of whether that content was previously crawled, full crawls can take significantly more time to complete than incremental crawls.

We recommend that you plan crawl schedules based on the availability, performance, and bandwidth considerations of the crawl and query servers.

When you plan crawl schedules, consider the following best practices:

  • Group start addresses in content sources based on similar availability and with acceptable overall resource usage for the servers that host the content.

  • Schedule incremental crawls for each content source during times when the servers that host the content are available and when there is low demand on the resources of the server.

  • Stagger crawl schedules so that the load on the servers in the farm is distributed over time.

  • Schedule full crawls only when you have to for the reasons listed in the next section. We recommend that you run full crawls less frequently than incremental crawls.

  • Schedule administration changes that require a full crawl to occur shortly before the planned schedule for full crawls. For example, we recommend that you schedule creating the crawl rule before the next scheduled full crawl so that an additional full crawl is not necessary.

  • Base concurrent crawls on the capacity available. For best performance, we recommend that you stagger the crawling schedules of content sources. You can optimize crawl schedules over time as you become familiar with the typical crawl durations for each content source.

Reasons to do a full crawl

Reasons for a Search service application administrator to do a full crawl include the following:

  • A software update or service pack was installed on servers in the farm. See the instructions for the software update or service pack for more information.

  • A Microsoft Office SharePoint Server 2007 shared services administrator or SharePoint Server 2010 Search service application administrator added a new managed property. A full crawl is required for the new managed property to take effect immediately. If you do not want the new managed property to take effect immediately, a full crawl is not required.

  • You want to re-index ASPX pages on Windows SharePoint Services 3.0 or Microsoft Office SharePoint Server 2007 sites.

    Note:

    The crawler cannot discover when ASPX pages on Windows SharePoint Services 3.0 or Office SharePoint Server 2007 sites have changed. Because of this, incremental crawls do not re-index views or home pages when individual list items are deleted. We recommend that you periodically do full crawls of sites that contain ASPX files to ensure that these pages are re-indexed.

  • You want to resolve consecutive incremental crawl failures. If an incremental crawl fails one hundred consecutive times at any level in a repository, the system removes the affected content from the index.

  • Crawl rules have been added, deleted, or modified.

  • You want to repair a corrupted index.

  • The Search service application administrator has created one or more server name mappings.

  • The credentials for the user account that is assigned to the default content access account or a crawl rule have changed.

The system does a full crawl even when an incremental crawl is requested under the following circumstances:

  • A search administrator stopped the previous crawl.

  • A content database was restored, or a farm administrator has detached and reattached a content database.

    Note:

    If you are running Office SharePoint Server 2007 with the Infrastructure Update for Microsoft Office Servers or SharePoint Server 2010, you can use the restore operation of the Stsadm command-line tool to change whether a content database restore causes a full crawl.

  • A full crawl of the site has never been done from this Search service application.

  • The change log does not contain entries for the addresses that are being crawled. Without entries in the change log for the items being crawled, incremental crawls cannot occur.

You can adjust schedules after the initial deployment based on the performance and capacity of servers in the farm and the servers hosting content.

Limit or increase the quantity of content that is crawled

For each content source, you can specify how extensively to crawl the start addresses. You also specify the behavior of the crawl by changing the crawl settings. The options that are available for a particular content source vary based on the content source type that you select. However, most crawl options specify how many levels deep in the hierarchy from each start address to crawl. Note that this behavior is applied to all start addresses in a particular content source. If you have to crawl some sites at deeper levels, you can create additional content sources that include those sites.

You can use crawl setting options to limit or increase the quantity of content that is crawled. The options available in the properties for each content source vary depending on the content source type that is selected. The following table describes best practices when you configure crawl setting options.

For this kind of content source If this pertains Use this crawl setting option

SharePoint sites

You want to include the content that is on the site itself and you do not want to include the content that is on subsites, or you want to crawl the content that is on subsites on a different schedule.

Crawl only the SharePoint site of each start address

SharePoint sites

You want to include the content on the site itself.

-or-

You want to crawl all content under the start address on the same schedule.

Crawl everything under the host name of each start address

Web sites

Content available on linked sites is unlikely to be relevant.

Crawl only within the server of each start address

Web sites

Relevant content is located on only the first page.

Crawl only the first page of each start address

Web sites

You want to limit how deep to crawl the links on the start addresses.

Custom — Specify the number of pages deep and number of server hops to crawl

Note:

For a highly connected site, we recommend that you start with a small number, because specifying more than three pages deep or more than three server hops can crawl all the Internet.

File shares

Exchange public folders

Content available in the subfolders is unlikely to be relevant.

Crawl only the folder of each start address

File shares

Exchange public folders

Content in the subfolders is likely to be relevant.

Crawl the folder and subfolders of each start address

Business data

All applications that are registered in the BDC metadata store contain relevant content.

Crawl the whole BDC metadata store

Business data

Not all applications that are registered in the BDC metadata store contain relevant content.

-or-

You want to crawl some applications on a different schedule.

Crawl selected applications

Other considerations when planning content sources

You cannot crawl the same start addresses by using multiple content sources in the same Search service application. For example, if you use a particular content source to crawl a site collection and all its subsites, you cannot use a different content source to crawl one of those subsites separately on a different schedule.

In addition to considering crawl schedules, your decision about whether to group start addresses in a single content source or create additional content sources depends largely upon administration considerations. Administrators often make changes that update a particular content source. Changing a content source requires a full crawl of the content repository that is specified in that content source. To make administration easier, organize content sources in such a way that updating content sources, crawl rules, and crawl schedules is convenient for administrators.

Plan file-type inclusions and IFilters

Content is only crawled if the relevant file name extension is included in the file-type inclusions list and an IFilter is installed on the crawl server that supports those file types. Several file types and IFilters are included automatically during initial installation. When you plan for content sources in your initial deployment, determine whether content that you want to crawl uses file types that are not included. If file types are not included, you must add those file types on the Manage File Types page during deployment and ensure that an IFilter is installed and registered to support that file type.

If you want to exclude certain file types from being crawled, you can delete the file name extension for that file type from the file type inclusions list. Doing so excludes file names that have that extension from being crawled. For a list of file types and IFilters that are installed by default, see File types and IFilters reference (SharePoint Server 2010).

Plan for authentication

When the crawler accesses the start addresses that are listed in content sources, the crawler must be authenticated by, and granted access to, the servers that host that content. This means that the domain account that is used by the crawler must have at least read permissions on the content.

By default, the system uses the default content access account. Alternatively, you can use crawl rules to specify a different content access account to use when crawling particular content. Whether you use the default content access account or a different content access account specified by a crawl rule, the content access account that you use must have read permissions on all content that is crawled. If the content access account does not have read permissions, the content is not crawled, is not indexed, and therefore is not available to queries.

We recommend that the account that you specify as the default content access account has access to most of your crawled content. Only use other content access accounts when security considerations require separate content access accounts.

For each content source that you plan, determine the start addresses that cannot be accessed by the default content access account, and then plan to add crawl rules for those start addresses.

Important:

Ensure that the domain account that is used for the default content access account or any other content access account is not the same domain account that is used by an application pool associated with any Web application that you crawl. Doing so can cause unpublished content in SharePoint sites and minor versions of files (that is, history) in SharePoint sites to be crawled and indexed.

Another important consideration is that the crawler must use the same authentication protocol as the host server. By default, the crawler authenticates by using NTLM. You can configure the crawler to use a different authentication protocol, if it is necessary.

If you are using claims-based authentication, ensure that Windows authentication is enabled on any Web applications to be crawled.

Plan connectors

All content that is crawled requires that you use a connector (known as a protocol handler in previous versions) to gain access to that content. SharePoint Server 2010 provides connectors for all common Internet protocols. However, if you want to crawl content that requires a connector that is not installed with SharePoint Server 2010, you must install the third-party or custom connector before you can crawl that content. For a list of connectors that are installed by default, see Default connectors (SharePoint Server 2010). For information about how to install connectors, see Install connectors (SharePoint Server 2010).

Plan to manage the impact of crawling

Crawling content can significantly decrease the performance of the servers that host the content. The impact that this has on a particular server varies depending on the load that the host server is experiencing and whether the server has sufficient resources (especially CPU and RAM) to maintain service-level agreements under ordinary or peak usage.

Search administrators can use crawler impact rules to manage the impact the crawler has on the servers that are being crawled. For each crawler impact rule, you can specify a single URL or use wildcard characters in the URL path to include a block of URLs to which the rule applies. You can then specify how many concurrent requests for pages are made to the specified URL or decide to request only one document at a time and wait some seconds that you choose between requests.

Crawler impact rules specify the rate at which the crawler requests content from a particular start address or range of start addresses (also known as a site name). A crawler impact rule applies to all content sources in the Search service application and request frequencies apply per crawl component. The following table shows the wildcard characters that you can use in the site name when you are adding or editing a crawler impact rule.

This wildcard character | Has this result
* as the site name | Applies the rule to all sites.
*.* as the site name | Applies the rule to sites that have dots in the name.
*.site_name.com as the site name | Applies the rule to all sites in the site_name.com domain (for example, *.adventure-works.com).
*.top-level_domain_name as the site name | Applies the rule to all sites that end with a specific top-level domain name, for example, *.com or *.net.
? | Replaces a single character in a rule. For example, *.adventure-works?.com applies to all sites in the domains adventure-works1.com, adventure-works2.com, and so on.

You can create a crawler impact rule that applies to all sites in a particular top-level domain. For example, *.com applies to all Internet sites that have addresses that end in .com. For example, an administrator of a portal site might add a content source for samples.microsoft.com. The rule for *.com applies to this site unless you add a crawler impact rule specifically for samples.microsoft.com.

You can coordinate with the administrators of search systems that are crawling content in your organization to set crawler impact rules based on the performance and capacity of the servers. For most external sites, this coordination is not possible. Requesting too much content on external servers or making requests too frequently can cause administrators of those sites to limit access if crawls are using too many resources. During initial deployment, set the crawler impact rules to make as small an impact on other servers as possible while still crawling enough content frequently enough to ensure that the freshness of the index meets your service-level agreement. After the farm is in production, you can adjust crawler impact rules based on data from crawl logs.

Plan crawl rules

Crawl rules apply to all content sources in the search service application. You can apply crawl rules to a particular URL or set of URLs to do the following things:

  • Avoid crawling irrelevant content by excluding one or more URLs. This also helps reduce the use of server resources and network traffic, and to increase the relevance of search results.

  • Crawl links on the URL without crawling the URL itself. This option is useful for sites that have links of relevant content when the page that contains the links does not contain relevant information.

  • Enable complex URLs to be crawled. This option directs the system to crawl URLs that contain a query parameter specified with a question mark. Depending upon the site, these URLs might not include relevant content. Because complex URLs can often redirect to irrelevant sites, it is a good idea to enable this option on only sites where you know that the content available from complex URLs is relevant.

  • Enable content on SharePoint sites to be crawled as HTTP pages. This option enables the system to crawl SharePoint sites that are behind a firewall or in scenarios in which the site being crawled restricts access to the Web service that is used by the crawler.

  • Specify whether to use the default content access account, a different content access account, or a client certificate for crawling the specified URL.

Because crawling content consumes resources and bandwidth, it is better to include a smaller amount of content that you know is relevant than a larger amount of content that might be irrelevant. After the initial deployment, you can review the query and crawl logs and adjust content sources and crawl rules to be more relevant and include more content.

Plan search settings that are managed at the farm level

Several settings that are managed at the farm level affect how content is crawled. Consider the following farm-level search settings while planning for crawling:

  • Contact e-mail address: Crawling content affects the resources of the servers that are being crawled. Before you can crawl content, you must provide in the configuration settings the e-mail address of the person in your organization whom administrators can contact if the crawl adversely affects their servers. This e-mail address appears in logs for administrators of the servers being crawled so that those administrators can contact someone if the impact of crawling on performance and bandwidth is too great, or if other issues occur.

    The contact e-mail address should belong to a person who has the necessary expertise and availability to respond quickly to requests. Alternatively, you can use a closely monitored distribution-list alias as the contact e-mail address. Regardless of whether the content that is being crawled is stored internally to the organization or not, quick response is important.

  • Proxy server settings: You can choose whether to use a proxy server when crawling content. The proxy server to use depends on the topology of your SharePoint Server 2010 deployment and the architecture of other servers in your organization. You will likely have to use a proxy server when crawling Internet content. For more information about how to configure proxy server settings for search, see Configure farm-level proxy server settings (SharePoint Server 2010) and Configure proxy server settings for search (SharePoint Server 2010).

  • Time-out settings: Time-out settings are used to limit the time that the search system waits while connecting to other services.

  • SSL setting: The Secure Sockets Layer (SSL) setting determines whether the SSL certificate must exactly match to crawl content.

Plan for federation

Federated search is the concurrent querying of multiple Web resources or databases to generate a single search results page for end-users. When you add a federated location, end-users can search for and retrieve content that has not been crawled by servers in the local system. Federated locations enable queries to be sent to remote search engines and feeds. Accordingly, the system renders the results to end-users as if the federated content were part of the crawled content.

SharePoint Server 2010 supports the following types of federated locations:

  • Search index on this server. You can use any local or remote site in your organization that has a server that is running SharePoint Server 2010 as a federated location. For example, imagine that a SharePoint site on a Human Resources server in your company is the only available source of employee contact information. Even if the site is not part of your crawl scope, you can configure a federated location for it so that users who initiate a search from your Search Center site can retrieve employee contact information results that they are authorized to see. The following conditions apply:

    1. The location is set to Search Index on this Server.

    2. No query template is required. SharePoint Server 2010 uses the object model to query a location.

    3. Default server authentication is used.

    4. Advanced search queries are not supported.

  • OpenSearch 1.0 or 1.1. You can use any public Web site that supports the OpenSearch standard as a federated location. An example of such a location is an Internet search engine such as Bing, or a search results page that supports RSS or Atom protocols. For example, imagine that you want users who search your internal sites for proprietary technical research to also see related research information from public Web sites. By configuring a federated location for a Bing search query, Web search results will be automatically included for users. The following conditions apply:

    1. Queries can be sent to a search engine as a URL, such as http://www.example.com/search.aspx?q=TEST.

    2. Search results are returned in RSS, Atom, or another structured XML format.

    3. Location capabilities, query templates, and response elements are part of an OpenSearch description (.osdx) file that is associated with the location.

    4. Extensions to OpenSearch that are specific to SharePoint Server 2010 support the ability to include triggers and the ability to associate XSL code with search results.

    5. The choice of metadata to display in the search results is determined by the OpenSearch location.

    For more information about OpenSearch, visit http://www.opensearch.org.

When a search query is sent to a federated location, it is sent as URL parameters in a format called a query template. The system then formats and renders the results as XML for users of the Search Center site. The XML is displayed in a Web Part on the search results page as readable text. You can add and configure Web Parts on the search results page as a Federated Search Results Web Part, Top Federated Results Web Part, or Core Results Web Part. By default, the search results page contains three Federated Search Results Web Parts.

Consider the following questions when you are determining whether you want to display federated search results to users:

  1. Do you want to display custom results for particular searches? To help ensure that the federated location returns results that match specific queries, you can use trigger rules. When you create a trigger rule for a federated location, the Web Part that is associated with that location displays results only for user queries that match the pattern or prefix that you specify.

  2. Can you use a URL to specify which results to retrieve for a query? To create a federated location, you must specify a query template, which is the combination of the URL and the parameters that are required to send a search query and return the results as XML. When you add this information to the Query template field on the Add Federated Location page, you must format the string correctly (as shown in the example on the Add Federated Location page) or the search results provider will not return any results.

  3. Can users access the links that are provided by the federated location? If your organization grants only limited access to Internet resources, using an Internet search engine as a federated location might frustrate users because they will not be able to view some search results.

  4. Is authentication required? If the federated location requires authentication, you must provide the correct credentials. Many federated locations, such as Internet search engines, do not require credentials.

Plan authentication types for federation

Several kinds of user authentication, per-user and common credentials, are available for federated search. However, realize that collecting credentials requires a Web Part extension for non-Kerberos authentication types in per-user authentication. In the authentication and credentials information section of the location definition, you specify the authentication type for the federated location. The authentication type can be one of the following:

  • Anonymous

    No credentials are required to connect to the federated location.

  • Common

    Each connection uses the same set of credentials to connect to the federated location.

  • Per-user

    The credentials of the user who submitted the search query are used to connect to the federated location.

For the common and per-user authentication types, you must also specify one of the following authentication protocols:

  • Basic

    Basic authentication is part of the HTTP specification and is supported by most browsers.

    Security Note:

    Web browsers that use Basic authentication transmit passwords that are not encrypted. By monitoring communications on the network, a malicious user can use publicly available tools to intercept and decode these passwords. Therefore, we do not recommend Basic authentication unless you are confident that the connection is secure, such as with a dedicated line or a Secure Sockets Layer (SSL) connection.

  • Digest

    Digest authentication relies on the HTTP 1.1 protocol as defined in the RFC 2617 specification at the World Wide Web Consortium (W3C) Web site. Because Digest authentication requires HTTP 1.1 compliance, some browsers do not support it. If a browser that is not compliant with HTTP 1.1 requests a file when Digest authentication is enabled, the request is rejected because Digest authentication is not supported by the client. Digest authentication can be used only in Windows domains. Digest authentication works with Windows Server 2008, Windows Server 2003, and Microsoft Windows 2000 Server domain accounts only, and may require the accounts to store passwords as encrypted plaintext.

  • NTLM

    User records are stored in the security accounts manager (SAM) database or in the Active Directory database. Each user account is associated with two passwords: the LAN Manager-compatible password and the Windows password. Each password is encrypted and stored in the SAM database or in the Active Directory database.

  • Kerberos (per-user authentication type only)

    By using the Kerberos protocol, a party at either end of a network connection can verify that the party on the other end is the entity it claims to be. Although NTLM enables servers to verify the identities of their clients, NTLM does not enable clients to verify a server's identity, nor does NTLM enable one server to verify the identity of another. NTLM authentication is designed for a network environment in which servers are assumed to be trusted.

  • Forms-based

    A forms-based authentication cookie is nothing but the container for an authentication ticket. Each request passes the ticket as the value of the cookie and the ticket is used on the server to identify an authenticated user. However, cookieless forms-based authentication passes the ticket in the URL in an encrypted format. Cookieless forms-based authentication is used because client browsers might block cookies. This feature is introduced in the Microsoft .NET Framework 2.0.

If you are using claims-based authentication in your environment, ensure that Windows authentication is also enabled on any content sources to be crawled. For more information about authentication methods in SharePoint Server 2010, see Plan authentication methods (SharePoint Server 2010).

See Also

Concepts

Gather information about the current search environment (SharePoint Server 2010)
Determine the enterprise search team and stakeholders (SharePoint Server 2010)


Plan search scopes (SharePoint Server 2010)
See Also

Published: March 31, 2011

Summary: Learn how to plan shared search scopes, scopes for sites, people, and lists, or custom scopes to help users quickly find important content.

This article describes how to plan search scopes to help users narrow search results in Microsoft SharePoint Server 2010. A search scope defines a subset of information in the search index against which users can run a search query. Users can select a search scope when they perform a search to restrict search results to the subset of information that they want. By planning search scopes, you can create a more productive search experience that helps users quickly find information.

About search scopes

Typically, search scopes, also known as scopes, include specific categories of content that are important and common to users in the organization. For example, you can create a search scope for all items related to a specific project or for all items related to a specific group in the organization, such as finance or marketing. You can also create a search scope that includes several other scopes.

The following table shows the default scopes that are available in SharePoint Server 2010 and the levels at which they are available.

This scope | Helps users do this | At this level | Customizable?
All Sites | Search across all content in the index | Search Center Top-level site Subsite Lists and libraries | Yes
People | Search for people | Search Center Top-level site Subsite Lists and libraries | Yes
This Site: <Site name> | Search across the current site and all its subsites | Top-level site Subsite Lists and libraries | No
This List: <List name> | Search across the current list | Lists and libraries | No

Plan custom scopes

In addition to the default scopes that are listed in the previous table, you can create custom scopes. For example, you can use a custom scope so that users can search for content in a specific set of Web sites, or all Word documents that were authored by a particular person, or content that meets other parameters that you specify.

Scopes that you create at the Search service application level are called shared scopes because they are shared with all site collections that use that Search service application. Site collection administrators decide which shared scopes to use and how to display them.

Site collection administrators can also create custom scopes at the site collection level, which makes the custom scopes available only to the site collection on which they were created.

Site collection administrators can either use the shared scopes that are available at the Search service application level or copy the shared scopes they want to use in their site collection and then modify them. They can then select the display groups in which to include each scope. Display groups can include the search box drop-down list and the Advanced Search page.

Note:

Site collection administrators cannot delete or directly modify shared scopes. However, they can copy a shared scope and then modify the copy.

When you plan search scopes, analyze the information architecture of the content to determine broad content sets on which people are likely to search. Some of these content sets will span many sites, and some will span subsets of information within site collections. Site collection administrators decide whether to implement shared scopes or site collection-level scopes for a particular site collection, based on the needs of the users of that site collection. If you have content that is only relevant within certain site collections, delegate that scope planning to site collection administrators.

Plan shared scopes

Because site collections consume a particular Search service application, all settings for a particular Search service application affect all its associated sites. The Search service application administrator manages shared scopes for the service application, and therefore for all sites that consume the service application. Search service application administrators can perform the following tasks:

  • Create and configure shared scopes.

  • Add scope rules to shared scopes.

  • Delete shared scopes.

  • Refresh changes made to scopes.

The All Sites and People shared scopes are automatically created for each Search service application and are available on the Search Center by default.

Plan scopes for site collections

Each site collection administrator should create scopes based on the information architecture within the site. They can decide to create new scopes, make a copy of shared scopes (a copy of a shared scope becomes a site collection-level scope), or both. For example, site collection administrators can add scopes by selecting shared scopes that are useful for people who are using their site collections, and then supplement those scopes by creating scopes specific to the site collection.

The following table shows the actions that site collection administrators can perform with shared scopes and with site collection-level scopes.

Site collection administrators can perform these actions on shared scopes Site collection administrators can perform these actions on site collection-level scopes

  • Choose how to display search scopes (search box drop-down list, Advanced Search page, or both).

  • Copy and modify a shared scope to use as a scope for the site collection.

  • View status — for example, what scope rules are contained in scopes and the order in which they appear.

  • Choose how to display search scopes (search box drop-down list, Advanced Search page, or both).

  • Create site collection-level scopes.

  • Edit site collection-level scopes.

  • Add scope rules.

  • Delete site collection level scopes.

  • View status — for example, what scope rules are contained in scopes and the order in which they appear.

Site collection administrators cannot directly create or add rules to shared scopes. However, they can copy a shared scope as a site-collection scope and modify the copy.

Note:

After a site collection administrator copies a shared scope, the copy becomes a site collection-level scope that the site collection administrator can use to perform any of the actions that they can perform on any other site collection-level scope.

When creating or editing a new site collection-level scope, you specify the following:

  • Unique title.

  • (Optionally) description for the scope.

  • Display group, also known as scope group. Site collection administrators can assign scopes to display groups to determine where scopes appear on the site. By default, SharePoint Server 2010 provides display groups for the search box drop-down list and the Advanced Search page. Site collection administrators can assign one or more scopes to any display group.

  • Results page. You can use the default search results page to display search results when a particular scope is used or you can specify a different page. Note that if you specify a different page, you must first create that search results page.

By default, no site collection-level scopes exist. But all shared scopes are available to each site collection.

Plan display groups

Display groups let you assign scopes to a particular search box. Site collection administrators have several options for configuring the existing display groups or they can decide to create one or more new display groups. Typically, a site owner identifies a particular need for a display group and asks the site collection administrator to create the display group. For example, users of a particular team site might have to search for content that is in multiple document libraries. To narrow the body of content they are searching over, they currently must perform separate searches in different search boxes — for example, in the search box of each library — or construct an advanced query to filter the search results. To give users an easier way to perform this search, the site collection administrator creates a display group and assigns the appropriate scope to it. Site owners can then associate this display group with a particular search box — for example, a search box on a custom search page on the site. Users then use that search box to query the content defined by the scope (in this case, the document libraries). By default, SharePoint Server 2010 provides two display groups:

  • Search Dropdown By default, the All Sites and People scopes are assigned to this display group and it is used by the search box.

  • Advanced Search By default, the All Sites scope is assigned to this display group and it is used by the search box on the Advanced Search page.

Site collection administrators can perform the following actions:

  • Add scopes to any display group.

  • Remove scopes from any display group.

  • Create new display groups and assign the scopes they want to them.

  • Change the order in which scopes appear in the Search Scopes list.

  • Specify which scope is selected by default in the Search Scopes list.

Site owners can perform the following actions:

  • Assign different display groups to the search box and the Advanced Search page in the Search Center site.

  • Create new search pages by using the Search Box and Advanced Search Box Web Parts and assign the display group or groups that they want to use.

Plan scope rules

You define a scope by adding scope rules to the scope. Scope rules define what content to associate with the scope and what content not to associate with it.

Each scope rule is based on a particular scope rule type, which defines the properties, locations, and sources of content. The following table lists the scope rule types that are available to shared scopes and site collection-level scopes.

This scope rule type | Is available to shared scopes? | Is available to site collection-level scopes? | Tests content by
Web address (http://server/site) | Yes | Yes | Location
Property Query (Author = John Doe) | Yes | Yes | Single property
Content Source | Yes | No | A particular content source
All Content | Yes | Yes | All content in the content index

The All Content scope rule type is the simplest because it associates all crawled content with the scope. For each of the other three scope rule types, a Search service application administrator can configure the scope rule to specify the content to associate with the scope. The configuration options are described in the following list:

  • Include Items matching this rule appear in search results unless another rule removes them. When combining rules, this behavior resembles the OR logical operator.

  • Require Items matching other rules must also match this rule to appear in search results. This behavior is the same as the AND logical operator.

  • Exclude Items matching this rule are excluded from search results even if they match other rules. This behavior is the same as the AND NOT logical operator.

Scopes will often be based on a single scope rule. However, there are good reasons to use scopes that have multiple rules. You can create scopes based on a specific theme or conceptually-related set of content. To do this, you can include and exclude several locations, properties, or a combination of locations and properties that are conceptually related. The logical combination of rules determines the content that is either included or excluded from the scope.

Using scope rules that are based on location

You can create rules based on the location (Web address or UNC path) of content that uses the Web Address scope rule type. Several usage scenarios require rules of this kind. This includes searching for content in the following locations:

  • In a group of document libraries

  • Within a set of folders in a single large document repository —for example, when you search an organization archive

  • On external sites for a particular subject

  • On other servers in the organization

Each Web address scope rule contains a single location that is defined by a single folder, domain name, or server name. Depending on what content that you want to make available in a scope, you add matching rules until all relevant locations are included in the scope and all irrelevant locations are excluded. Examine the information architecture and site structure to help you decide which locations to include in each scope.

Using scope rules that are based on managed properties

You can base scope rules on a specific value for a single managed property by using the Property Query scope rule type. Before you create such a scope rule, verify the following:

  • The managed property that you want to use exists, either because it is a default managed property or was created by a Search service application administrator.

  • The managed property is configured to be available for use in scopes. By default, only some managed properties are configured to be available for use in scopes. Only managed properties that Search service application administrators have made available for scopes can be used in search scopes.

    Note:

    Search service application administrators can enable a property to be available for use in scopes by using the Metadata Property Mappings page for the particular property.

After the scope rule is created, each item of content that matches the property query is tested against that specific value and included or excluded in the search results based on the rule. Rules based on properties can only be queried by using the Is exactly operator and not against other operators, such as Contains.

For example, a site collection administrator for a sales portal site can create scopes for each sales office by using the SalesOffice managed property and setting the value for the rule in each scope to the value for the relevant office. Because this managed property is used to define the scope, the search results will include only content for the sales office when you use this scope.

When the organization plans the managed properties, consider what scopes will help users search. To create a scope for a certain set of content, you must ensure that properties of that content are mapped to managed properties that can be included in scope rules.

Using scope rules that are based on a content source

There are several reasons a Search service application administrator might create additional content sources. They are typically created to crawl content on a different schedule than other content. For example, a Search service application administrator might create a separate content source to crawl content that is located on a different SharePoint farm or on a file share. If a content source exists that already includes the content that users what to query, a Search service application administrator can create a shared scope with a scope rule (content source type) to enable users to search over that content.

Only shared scopes can contain scope rules that are based on a specific content source. This kind of scope rule is not available to scopes at the site collection level.

For each content source, consider whether the content that was indexed for that content source is something that would make sense grouped together in a shared scope for people using the site collection. If so, you can add a scope rule for that content source.

Also consider if the content source can be divided up into smaller bodies of content that people might want to search for. If so, you can combine scope rules to specify the content source with other scope rule types to create a narrower scope.

For more information about how to plan content sources, see Plan for crawling and federation (SharePoint Server 2010).

Using the All Content scope rule type

When you create a scope rule using the All Content scope rule type, all content in the content index is available to the scope. If you want to create a narrower scope, you can add scope rules to a scope that uses the All Content scope rule type to exclude particular content from the scope.

Excluding content by using a scope rule with the exclude behavior

The All Sites shared scope can be copied and used as a starting point to include all content in the content index. Then you can add scope rules that exclude content from search results to create scopes that are broad but do not include a certain set of search results. It is sometimes easier to use a copy of the All Sites shared search scope with exclusion rules than to create a complex search scope that contains rules that include every subset of content on the site.

Regardless of whether you start with a copy of the All Sites shared scope or another scope, you might want to consider adding scope rules that exclude content as a separate step from adding scope rules that include content because reasons to exclude content from search results can differ significantly from the reasons to include content.

See Also

Concepts

Gather information about the current search environment (SharePoint Server 2010)
Determine the enterprise search team and stakeholders (SharePoint Server 2010)
Plan for crawling and federation (SharePoint Server 2010)
Plan people search (SharePoint Server 2010)
Plan the topology for enterprise search (SharePoint Server 2010)


Plan metadata properties for search (SharePoint Server 2010)
See Also

Published: April 28, 2011

Summary: Plan how to map crawled properties to managed properties so that search refinements are useful, and reduce duplicate managed properties.

This article describes how to plan metadata properties for search in Microsoft SharePoint Server 2010. When content is crawled, the crawler also crawls the metadata that is associated with that content — for example, information such as author, title, and e-mail address. The search system stores this information as crawled properties and managed properties. Crawled properties are all properties (such as author, title, or subject) that are extracted from documents during crawls. Managed properties are crawled properties that can appear in refined or advanced searches. When users perform a general search, results include items with any crawled properties. In order to provide refined search capabilities to users, however, you need to plan for managed properties. Because they can appear in refined searches, managed properties help users perform queries that are more successful and relevant. SharePoint Server 2010 provides a default set of managed properties, but you can create new managed properties and map crawled properties to the managed properties that will appear in search results.

Refined searches can be performed only on managed properties, not crawled properties. To make a crawled property available for refined search queries, you must map the crawled property to a managed property. You can map multiple crawled properties to a single managed property or map a single crawled property to multiple managed properties. If a managed property has multiple crawled properties mapped to it, and a document contains values for more than one of the crawled properties, the order in which the properties are mapped and their priority determine the value of the managed property.

For example, three different document types might have different names for the property that identifies the author. One document type might name this property Author, another Writer, and a third Property3. Although all three are crawled properties, only the documents that have the Author property appear in search results when a user queries by author (for example, by typing author:John Smith in the search box). To ensure that documents that have the other property names appear in refined search results, you must map each of these crawled properties to the Author managed property.

In this article:

  • About managed properties

  • Reducing duplicate managed properties

  • Adding properties for key concepts in the information architecture

  • Managed properties scenario

About managed properties

To create a useful set of managed properties, you analyze the most important content to find metadata in the content that you can map to managed properties.

It is difficult to discover properties of content without first crawling content. Therefore, we recommend that you wait to plan managed properties until after you know what content is in each site collection. Then, you can crawl all that content by using a test server. After the crawl, you will have a list of crawled properties to compare against the information architecture when you create managed properties. It can be difficult to map properties even after the system crawls. This is because it is difficult to identify the content type or application that uses the property. If you are unsure about a particular property, you might want to set up a mapping in a test environment and experiment with searches over this property.

Many of the most useful managed properties are automatically created when SharePoint Server 2010 is installed. Use these managed properties as a starting point when planning the other managed properties. The properties that are automatically created include the following:

  • Author

  • Description

  • Site Name

  • Type

  • File Size

  • Last Modified Date

  • URL

  • Title

Keep in mind that in order to effectively search by using properties, the crawled properties must first be assigned values. For example, if you have a Microsoft Word 2010 document that has the Author property (which maps to a managed property named Author), and no value is assigned to the Author property on that document, the document is not displayed in search results when users query by using the Author property. To guarantee the best results for refined searches, consider implementing an enterprise content management solution that includes document metadata planning. For more information about document metadata planning, see Plan managed metadata (SharePoint Server 2010) and Content type and workflow planning (SharePoint Server 2010). For more information about planning an enterprise content management solution, see Enterprise content management planning (SharePoint Server 2010).

For information about managing metadata properties, see Manage metadata properties for search (SharePoint Server 2010)

Reducing duplicate managed properties

Some basic properties might appear as different crawled properties in different types of content. For example, the crawled properties might be Owner, Writer, and Created By, all of which are synonymous with Author. The most important thing you can do is to plan to reduce duplication. That is, plan to create one set of managed properties and map the crawled properties that have the same meaning to managed properties. In this case, you map Owner, Writer, and Created By to the managed property Author.

You can prioritize multiple crawled properties so that if more than one property is found during crawling, only the value of the highest priority property is used for queries using the managed property or properties. If you don't prioritize crawled properties, values for all crawled properties mapped to the managed property are used for queries. In this way, the managed property becomes multi-valued. This means that a query returns results for all content that contains values for any of the mapped properties that match the query. A sensible approach for a single-value property is to choose the most common crawled property as the managed property, and then prioritize mapped properties by how often they occur. It is not always easy to determine which property is crawled most often, but one strategy is to prioritize properties that you know are associated with commonly used applications. For example, Microsoft Office 2010 documents contain a default set of properties, such as Author, Title, Company, Type, and others. If most of your users use Microsoft Office 2010 and your content set also contains documents created in other applications, consider mapping properties of the documents that were created in the other applications to the properties in Office 2010 documents. If a document created with another application contains a property named Writer, consider mapping it to the managed property named Author.

Be careful when mapping properties that you do not map poorly matched or irrelevant properties. This is because imprecise mappings can reduce the relevance of search results. For example, mapping a property called Last saved by to the managed property called Author could yield search results that are less relevant. If possible, test searches for managed properties before initial deployment, and plan to review usage data for search queries during normal operations to fine tune the properties you have mapped. For more information about reviewing usage data for search queries, see View Web Analytics reports (SharePoint Server 2010).

Adding properties for key concepts in the information architecture

In addition to the crawled properties that are mapped to managed properties by default, other crawled properties might clearly map to concepts in the information architecture that are captured by existing managed properties. For example, an organization might identify customer service as a key business process in its information architecture. Key concepts associated with customer service in the information architecture might include customers, customer service representatives, and customer service regions.

For each concept in the information architecture, ask yourself if there is a crawled property that represents this concept that can be mapped to a managed property. If so, make the property a managed property.

Managed properties scenario

A line-of-business application tracks customer and employee data, and the properties of that data are likely candidates for managed properties after they are registered in the Business Data Catalog and crawled as part of a business data content source. You might also find crawled properties for applications that should be mapped to these managed properties — for example, a customer service representative identifier (ID) property in a separate data application, or an Author property for an application type that is used exclusively by customer service representatives. A search query that uses that property or a term associated with that property will include search results for all items that contain any of the crawled properties mapped to the customer service representative ID managed property.

Each major business process identified in the information architecture will have a set of associated file types or business data applications that can be used to discover likely managed properties.

Note that although many concepts in the information architecture are not represented by properties, those concepts are useful during site structure planning and the implementation of other search features. The information architecture can identify managed properties that you overlooked. However, just because a concept is listed in the information architecture does not mean that there should be a managed property for that concept.

See Also

Concepts

Gather information about the current search environment (SharePoint Server 2010)
Determine the enterprise search team and stakeholders (SharePoint Server 2010)
Plan for crawling and federation (SharePoint Server 2010)
Plan the topology for enterprise search (SharePoint Server 2010)
Plan people search (SharePoint Server 2010)
Plan search scopes (SharePoint Server 2010)


Plan people search (SharePoint Server 2010)

Published: March 3, 2011

Planning people search is an important part of planning collaboration and social computing within the enterprise. By using people search in Microsoft SharePoint Server 2010, users can find people by department, job title, knowledge and expertise, and common interests. You can configure people search to use any imported Lightweight Directory Access Protocol (LDAP) directory, including Active Directory Domain Services (AD DS) and SharePoint user groups. By default, the following ways of finding people are enabled in SharePoint Server 2010, and you can refine many of them to enhance the user's search experience:

  • Search scope for people search: A search scope limits search results to the public profiles in the user profile store for a specific Search service application. Regardless of the search terms used, only users that match those terms appear in search results.

  • People tab in the Search Center with Tabs site: The People tab in a Search Center with Tabs provides options for finding users by name or related subject, or by user-related properties such as title and department.

  • Advanced search: Users can find people through advanced searches on user profile property values. Every user profile that matches the value of the selected profile property appears in search results.

  • From values for user profile properties: Users can find people without explicitly searching by clicking any profile property value to find other users who have the same value for that property. These properties can be displayed in user profiles, in user information lists, SharePoint Server 2010 lists, or in general search results.

  • Refined searches: You can refine search results for a people search to include only results for users who have a specific value in the Job Title or Organization property fields in their user profiles.

  • Group by social distance: By default, all searches for users are grouped by social distance. That is, users who work most closely with the user who is viewing search results are grouped first, followed by users who are further away in their organization's hierarchy. This grouping is based on the explicit social network established by users in their My Colleagues pages on their My Site.

Planning people search involves the following:

  1. Plan the prerequisites for people search

  2. Plan search scopes for people search

  3. Plan customizations to the Search Center for people search

In addition to the planning steps in this article, refer to the following articles when planning people search:

  • Plan for My Sites (SharePoint Server 2010). For phonetic search, be sure to set up My Sites in the language for which you want phonetic search.

  • Plan user profiles (SharePoint Server 2010)

  • Plan for profile synchronization (SharePoint Server 2010)

  • Plan the end-user search experience (SharePoint Server 2010)

Plan the prerequisites for people search

To enable people search in SharePoint Server 2010, you must enable, configure, and use the My Site feature. My Sites are personal spaces where users can store and manage documents, and where users can provide information about qualifications, skills, and interests that might be useful to others. The more information that people provide about their projects, responsibilities, and areas of expertise, the more relevant and focused are the results returned by people search queries.

Examples include the following:

  • Searching for a collaborator by using keywords that describe skills, experience, concepts, or geographical location

  • Searching for a fluent language speaker by naming the language

  • Searching for people based on their roles or product expertise

  • Searching for people by using the name of an existing project team or cost center

Plan search scopes for people search

Search scopes enable users to find people by department, expertise, or by common interests. Administrators can create search scopes at the following two levels:

  • Service application level. The global search scope instances created at this level are called shared search scopes because they are reusable anywhere within the server farm that consumes this Search service application — even if the farm is only a stand-alone installation of SharePoint Server 2010 on a single computer.

  • Site collection level. Site collection administrators can create search scopes to be used only within one specific site collection.

By default, one global search scope named People is created during the installation of SharePoint Server 2010. Site collection administrators can customize the search scope to limit its use to within only one specific site collection, or can create additional search scopes based on indexed user profile properties.

We recommend that you build search scopes for people search at the global level instead of at the site-collection level, such as for individual departments. This means that you can centrally administer search scopes. For more information, see Plan the end-user search experience (SharePoint Server 2010).

If you want to enable users to search across My Site sites for things such as other users, projects, and files, you can create a custom search scope for people search so that users can query on that scope.

Plan customizations to the Search Center for people search

You can add a new Search Center or Search Center with Tabs to any site collection, and then customize the configuration of the Search Center. For example, you can customize the search experience on a Search Center with Tabs by adding more tabbed pages. You can customize the Search Center with Tabs to reorder or remove tabs.

You can customize the search experience by creating new display groups with which to associate the search scopes, and you can assign scopes to the default display groups. A display group can contain one or more scopes. Site administrators can also control the order in which scopes appear in a particular display group. After you create a display group, designers can modify the People Search Box Web Part to display the scopes within the display group in the Search drop-down list. This modification is useful when display groups contain more than one scope and you want to let users select a specific scope for a query.

For more information about how to customize the Search Center, see Plan the end-user search experience (SharePoint Server 2010).


Plan the topology for enterprise search (SharePoint Server 2010)
See Also

Published: December 2, 2010

Summary: Use the resources in this article to plan server farms, multi-tenancy environments, search system architecture and topologies, and capacity.

This article lists resources that you can use to help you plan a search topology for Microsoft SharePoint Server 2010. These resources include information about how to plan server farms and topologies, search architectures, governance, and capacity.

The following resources can help you plan a search topology:

  • Performance and capacity test results and recommendations (SharePoint Server 2010) This white paper helps you plan for performance and capacity for SharePoint Server 2010.

  • White paper: SharePoint 2010 for hosters (SharePoint Server 2010) This white paper helps you plan the multi-tenancy requirements in a hosted environment.

  • Search Environment Planning for Microsoft SharePoint Server 2010 (http://go.microsoft.com/fwlink/p/?LinkID=167736) This technical diagram describes primary architecture design decisions for search environments.

  • Search Architectures for Microsoft SharePoint Server 2010 (http://go.microsoft.com/fwlink/p/?LinkID=167739) This technical diagram details the physical and logical architecture components that make up a search system and shows common search architectures.

  • Design Search Architectures for Microsoft SharePoint Server 2010 (http://go.microsoft.com/fwlink/p/?LinkID=167742) This technical diagram describes initial design steps to determine a basic design for a SharePoint Server 2010 search architecture.

See Also

Concepts

Gather information about the current search environment (SharePoint Server 2010)
Determine the enterprise search team and stakeholders (SharePoint Server 2010)
Plan for crawling and federation (SharePoint Server 2010)


Plan keywords, synonyms, and Best Bets (SharePoint Server 2010)

Published: May 12, 2011

Summary: Learn how to plan keywords, synonyms, and Best Bets so users get the most relevant search results for popular queries.

This article describes how to help users obtain more relevant search results by planning for keywords, synonyms, and Best Bets in Microsoft SharePoint Server 2010.

Keywords are search terms that users type into a search box when constructing a query. Users can use them in queries that they submit in the search box on a site, on the Search Center, or in an Advanced Search. When a user query includes a keyword that you have configured, the search results can provide a definition for the term together with links to recommended locations or documents at the top of the search results page.

You can define keywords, provide synonyms (words that closely relate to the keyword), and create Best Bets (links to featured documents or locations for the specified keyword), to provide a relevant set of search results for popular search terms. Synonyms are useful when several search terms are used for the same concept and content so that search results are merged and not scattered across several search terms. When you create a keyword, you can also provide a definition of the keyword that appears in search results. By defining terms that are often used in searches as keywords, a site collection administrator can provide a standard glossary of names, processes, and concepts that are part of the common knowledge shared by members of an organization. When keywords have synonyms and associated Best Bet links, they help guide users to recommended resources. The list that is updated when a site collection administrator creates keywords and adds synonyms is called a thesaurus. The thesaurus for SharePoint Server 2010 is compatible with the thesaurus for Microsoft Office SharePoint Server 2007.

Site collection administrators typically create keywords at the site collection level. However, you might want to coordinate keyword planning over multiple site collections to make planning and implementation consistent throughout the organization.

If you already have search set up in your production or test environment, you can use Site Collection Web Analytics Reports to help you plan keywords, synonyms, and Best Bets. The reports that are most useful for this effort include the following:

  • Top Queries, to view the most common search terms.

  • No Results Queries, to view the most common search terms that yielded no search results.

  • Best Bet Usage, to view the most frequently-used Best Bets.

  • Best Bet Suggestions, to view the suggestions for new Best Bets that the search system provides.


Plan for mobile devices (SharePoint Server 2010)
See Also

Published: February 24, 2011

This article describes the mobile features in Microsoft SharePoint Server 2010 and important considerations for how to plan for mobile devices.

A complete discussion about Microsoft SharePoint Server Internet or extranet topology design is beyond the scope of this article. For more information about extranet topologies, see Extranet topologies for SharePoint 2010 Products: Model.

In this article:

  • About mobile features

  • Configure mobile features

  • Plan for mobile device access

  • Security considerations

About mobile features

Mobile features enable users to work with SharePoint content from their mobile devices. SharePoint Server provides a lightweight interface for navigating and accessing SharePoint document libraries, lists, wikis, blogs, Web Part Pages, and back-end business data. The mobile features include the following:

  • Mobile views, which display a view of SharePoint sites that is optimized for mobile devices.

  • The ability to view Microsoft Office Word, Excel, and PowerPoint documents in mobile browsers. This feature requires that Office Web Apps be installed. For more information, see Office Web Apps (Installed on SharePoint 2010 Products).

  • Mobile search experience for finding people, contact information, SharePoint content, and data.

  • Mobile My Sites for staying in touch with colleagues.

  • The ability to view reports and scorecards on iPad devices that use iOS 5 Safari browsers. For more information, see Viewing reports and scorecards on Apple iPad devices (SharePoint Server 2010).

  • Mobile alerts, which enable users to subscribe to Short Message Service (SMS) alerts. The alerts are sent to users' mobile devices when a SharePoint list or item is changed.

Configure mobile features

This section describes how to configure mobile features.

Mobile views

By default, mobile views are enabled for most lists or libraries that were created in SharePoint Server 2010. You must enable mobile views for custom lists, custom libraries, or for lists or libraries that were created in previous versions of SharePoint and have been upgraded to SharePoint Server 2010.

A browser definition file contains a list of the mobile browsers and devices that can access mobile views in SharePoint Server. SharePoint Server uses the file to determine whether to redirect a mobile browser to the mobile view of the site. For example, if a mobile browser or device is not listed in the browser definition file, a standard view of the site is displayed in the mobile browser. The browser definition file can be updated by product updates. You can also modify the file to change the redirect behavior of a mobile browser or to add a mobile browser or device to the list.

For more information about mobile views, see Configure mobile views (SharePoint Server 2010).

Mobile alerts

The mobile alert feature enables users to subscribe to alerts that are sent by using Short Message Service (SMS). The alerts are sent to users' mobile devices when changes are made to a SharePoint list or item. To take advantage of this feature, you must configure a mobile account that will be used to send the SMS alerts. For more information, see Configure a mobile account (SharePoint Server 2010).

Plan for mobile device access

Mobile device access is largely influenced by the decisions that you make in your server farm and environment planning. The following sections describe how design decisions you make for your server farm can affect mobile device access. We recommend that you include mobile device access planning in your overall server farm and environment planning.

For more information about server farm planning. see Plan authentication methods (SharePoint Server 2010), Logical architecture components (SharePoint Server 2010), and Design sample: Corporate deployment (SharePoint Server 2010).

Authentication

SharePoint Server supports multiple authentication methods and authentication modes. Not all mobile browsers and devices work with all the available authentication methods. When you plan for mobile device access, you must:

  • Determine the mobile devices that you must support. Then, learn the authentication methods that are supported by the mobile devices. This information varies by manufacturer.

  • Determine the sites that you want to make available to your mobile device users.

  • Determine whether you want to make SharePoint sites accessible for mobile devices when the devices are used outside the corporate firewall. If you do, the method that you use to enable external access can also affect mobile device authentication.

Consider the tradeoffs between selecting an authentication method that is supported by most mobile devices, implementing multiple authentication methods in your Web application, or deciding to support only a few mobile devices.

External access

Mobile device users can access a SharePoint site either by using a mobile browser or by using a rich client application such as Microsoft SharePoint Workspace Mobile 2010. This section summarizes how to make SharePoint sites accessible for mobile devices when the devices are used outside the corporate firewall. There are three methods for enabling external access:

  • Virtual private network server A virtual private network (VPN) server that supports Secure Sockets Layer (SSL), such as Microsoft Forefront Unified Access Gateway (UAG), enables you to publish SharePoint sites across the corporate firewall. The following steps summarize how to make a SharePoint site accessible from outside the corporate firewall when you use a VPN server:

    1. Set up the VPN server.

    2. Publish the SharePoint site on the VPN server.

    3. Configure an alternate access mapping for the SharePoint site.

    4. Add the SharePoint site to a zone that allows cross-firewall access.

    Note:

    Forefront UAG is the only VPN server that is supported by Microsoft Office Mobile 2010 on Windows Phone 7 and Windows Phone 6.5.

    For more information about Forefront UAG, see Forefront Unified Access Gateway (UAG) (http://go.microsoft.com/fwlink/p/?LinkID=196384), SharePoint publishing solution guide (http://go.microsoft.com/fwlink/p/?LinkId=206256), and Deploying Forefront UAG for mobile devices.

  • Mobile proxy server Mobile proxy servers, such as Microsoft System Center Mobile Device Center and Blackberry Enterprise Server, help mobile devices work within the IT infrastructure of a company. To access a SharePoint site from outside the corporate firewall, the mobile proxy server must pass the mobile browser's HTTP headers directly through to SharePoint Server.

  • Direct Internet access The SharePoint site can be placed on the extranet. This method supports only Basic authentication. We recommend that you use a combination of technology and policy safeguards, such as SSL, with any Internet-facing servers.

For more information about mobile devices and external access, see Configure external access for mobile devices (SharePoint Server 2010).

Plan for SharePoint Workspace Mobile and Windows Phone 7

Microsoft SharePoint Workspace Mobile 2010, which is part of Microsoft Office Mobile 2010, is available on Windows Phone 7 and Windows Phone 6.5. SharePoint Workspace Mobile 2010 enables users to connect to a SharePoint site by using the Office Hub instead of the mobile browser. The following list describes planning considerations for SharePoint Workspace Mobile and Windows Phone 7:

  • Forefront UAG is the only VPN that is supported by Windows Phone 7.

  • NTLM is the only authentication method that is supported by SharePoint Workspace Mobile for intranet sites.

  • SharePoint Workspace Mobile does not support directly connecting to sites in the Internet zone. To connect by using SharePoint Workspace Mobile requires the following:

    • The SharePoint site is published over SSL on the Forefront UAG server.

    • The SharePoint site is published for SharePoint Workspace Mobile on the Forefront UAG server.

    • Users have configured the Forefront UAG settings on their Windows Phone device.

      When a user connects to the published site, Forefront UAG identifies the user agent sent by SharePoint Workspace Mobile and responds with an HTTP 401 challenge. SharePoint Workspace Mobile uses the user credentials that are configured in the Forefront UAG settings of the mobile device to authenticate to Forefront UAG by using Basic authentication. Forefront UAG then authenticates the user to the SharePoint site.

    Note:

    A site that has a fully qualified domain name (for example, https://hrweb.contoso.com) is considered to be in the Internet zone by SharePoint Workspace Mobile.

  • By default, Windows Phone 7 users are redirected to the standard view of SharePoint sites. This is because the Windows Phone 7 user agent is not included in the SharePoint Server 2010 RTM version of the mobile definition file (compat.browser file). To see a mobile view of a site, users can append ?mobile=1 to the URL of the site. You can also add the Windows Phone 7 user agent to the compat.browser file. For more information about how to modify the compat.browser file, see Configure mobile views (SharePoint Server 2010).

    Tip:

    The compat.browser file can be updated when product updates to SharePoint Server are released to include newer devices.

  • By default, the Windows Phone 7 mobile browser cannot authenticate to a site that is configured to use Security Assertion Markup Language (SAML) token-based authentication. As a workaround, you can edit the compat.browser file, find the entry for the Office Mobile Web Access user agent, and change the isMobileDevice setting from true to false. This enables the mobile browser to redirect the user to the sign-in site for the SPTrustedIdentityTokenIssuer that is associated with the Web application. If the identity provider security token service (IP-STS) uses an authentication method that is not supported by the Windows Phone 7 device, such as two-factor authentication, the user will still be unable to authenticate to the site.

  • Documents that are protected by Information Rights Management (IRM) cannot be opened by Windows Phone 7.

For more information about Windows Phone 7 and SharePoint Workspace Mobile, see Windows Phone Help and how to (http://go.microsoft.com/fwlink/p/?LinkId=202166) and Use Microsoft SharePoint Workspace Mobile (http://go.microsoft.com/fwlink/p/?LinkId=192854).

Security considerations

This section discusses security considerations for mobile devices.

Mobile devices can contain sensitive data or documents. Because mobile devices can be lost or stolen, we recommend that you set policies around mobile devices to help protect sensitive data and documents. This can include securing the mobile device by using a PIN or lock, and ensuring that you can remotely wipe the data on the mobile device. Available programs and features vary by mobile device.

You can educate users about how they can help protect their user credentials. This can include signing out of sites when they are done, not enabling any option that keeps them signed in or remembers their password, and frequently deleting cookies in the mobile browser. This can help prevent others from using their user credentials to log on to a SharePoint site if their mobile device is lost or stolen.

We recommend that you enable SSL to secure communication between mobile browsers and SharePoint Server.

See Also

Concepts

Mobile administration (SharePoint Server 2010)


SharePoint workspace planning (SharePoint 2010)
See Also

Published: March 17, 2011

Microsoft SharePoint Workspace 2010 is a client solution for SharePoint Server 2010 that supports users who need to work offline and then synchronize their work with SharePoint sites. This application enables remote SharePoint users to create local SharePoint workspaces on their computers. Each workspace enables a user to connect to a single SharePoint site and download content from site libraries and lists. Users can then update content, depending on their site permissions, whether they are online or offline. When they finish and return online, the local content synchronizes with the site.

The SharePoint Workspace 2010 application is included with Office Professional Plus 2010, so plan for its deployment as you would for other Office applications. Key planning elements include the following:

  • Plan a topology in accordance with your organization's performance and scalability requirements.

  • Plan network settings so that clients can access the SharePoint Server over port 80 or another browser port. Preferably this should be an SSL-protected port, such as 443.

  • Take advantage of alternate access mapping to ensure that SharePoint Workspace can synchronize with multiple SharePoint Server site URLs.

  • Decide whether to allow peer collaboration workspaces on client computers using SharePoint workspaces. SharePoint Workspace lets users create SharePoint workspaces and, unless blocked by policy, two types of peer workspaces: Groove workspaces and Shared Folders. A SharePoint workspace provides a single connection between an authorized client and a SharePoint site. Alternatively, a peer workspace allows multiple users to join it. Therefore, you may want to prohibit use of peer workspaces if you have set up central content storage on servers that are running SharePoint Server 2010. To prohibit use of peer workspaces, you can deploy the Prohibit Groove workspaces policy from Active Directory Domain Services (AD DS) or use the Office Customization Tool to customize the SharePoint Workspace deployment. For information about deploying policies for SharePoint Workspace, see Configure and customize SharePoint Workspace 2010.

For guidance on these and other planning issues, see Plan for SharePoint Workspace 2010.

See Also

Other Resources

SharePoint Workspace 2010


Plan for server farms and environments (SharePoint Server 2010)

This section contains infrastructure planning resources and articles designed to help you plan server farms and environments required to support your SharePoint sites. To read this content offline, you can download the books Planning for server farms and environments and Capacity planning.

In this section:

  • System requirements (SharePoint Server 2010)

  • Services architecture planning (SharePoint Server 2010)

  • Logical architecture components (SharePoint Server 2010)

  • Hosted environments (SharePoint Server 2010)

  • Virtualization planning for on-premise or hosted technologies (SharePoint Server 2010)

  • Plan authentication (SharePoint Server 2010)

  • Security planning for server farms (SharePoint Server 2010)

  • Plan security hardening (SharePoint Server 2010)

  • Plan automatic password change (SharePoint Server 2010)

  • Plan for host-named site collections (SharePoint Server 2010)

  • Performance and capacity management (SharePoint Server 2010)

  • SQL Server and storage (SharePoint Server 2010)

  • Plan for business continuity management (SharePoint Server 2010)


System requirements (SharePoint Server 2010)

Before you install Microsoft SharePoint Server 2010, you must ensure that you have installed all required hardware and software. To effectively plan your deployment, you must understand the level of support provided for the Web browsers that you will be using in your environment and how support for IP versions 4 and 6 is implemented in SharePoint Server 2010. You must also understand the URL and path length restrictions in SharePoint Server 2010.

The articles in this section help you prepare for the installation of SharePoint Server 2010 by providing information about the prerequisites that you need to run SharePoint Server 2010.

  • Hardware and software requirements (SharePoint Server 2010)

    This article describes the hardware and software requirements that you must meet to successfully install SharePoint Server 2010.

  • Plan browser support (SharePoint Server 2010)

    This article describes levels of support for Web browsers to use with SharePoint Server 2010.

  • URL path length restrictions (SharePoint Server 2010)

    This article discusses the specific URL path length and character restrictions in SharePoint Server 2010, Internet Explorer 7, and Internet Explorer 8 that you should be aware of when planning sites, navigation, and structure.

  • IP support (SharePoint Server 2010)

    This article describes SharePoint Server 2010 support for IP version 4 (IPv4) and IP version 6 (IPv6).

  • Windows Server 2008 R2 and SharePoint Server 2010: Better Together (white paper)

    This article describes the benefits of deploying SharePoint Server 2010 on Windows Server 2008 R2 Enterprise.

  • SQL Server 2008 R2 and SharePoint 2010 Products: Better Together (white paper) (SharePoint Server 2010)

    This article describes the benefits of deploying SharePoint Server 2010 on Microsoft SQL Server 2008 R2 Enterprise, and provides a comparison of the functionality available in SharePoint when it is running on different versions and editions of SQL Server.

  • Business Productivity at Its Best: Microsoft Office 2010 and SharePoint Server 2010 Better Together (white paper)

    This article describes the benefits of using Microsoft Office 2010 with SharePoint Server 2010.


URL path length restrictions (SharePoint Server 2010)

Published: August 5, 2010

This article discusses the specific URL path length and character restrictions in Microsoft SharePoint Server 2010, Internet Explorer 7, and Internet Explorer 8 that you should be aware of when planning sites, navigation, and structure. This article does not discuss URL length limitations in other browsers. For this information, see the browser documentation.

In this article:

  • Understanding URL and path lengths

  • URL path length limitations

  • Resolving URL length problems

Understanding URL and path lengths

This section discusses URL composition, how SharePoint Server 2010 builds URLs, how URLs are encoded and lengthened, and passed as parameters in other URLs.

SharePoint URL composition

The total length of a SharePoint URL equals the length of the folder or file path, including the protocol and server name and the folder or file name, plus any parameters that are included as part of the URL. The formula is as follows:

  • URL = protocol + server name + folder or file path + folder or file name+ parameters

For example, the following is a typical URL path to a file stored in Microsoft SharePoint Server 2010:

http://www.contoso.com/sites/marketing/documents/Shared%20Documents/Promotion/Some%20File.xlsx

Where the parts of the URL path are as listed in the following table.

URL part | Example
Protocol | http://
Server name | www.contoso.com/
Folder or file path | sites/marketing/documents/Shared%20Documents/Promotion/
File name | Some%20File.xlsx

When you go to the site and open the file with Microsoft Office Web Apps, the URL will be as follows:

http://www.contoso.com/sites/marketing/documents/_layouts/xlviewer.aspx?id=/sites/marketing/documents/Shared%20Documents/Promotion/Some%20File.xlsx&Source=http%3A%2F%2Fwww%2Econtoso%2Ecom%2Fsites%2Fmarketing%2Fdocuments%2FShared%2520Documents%2FForms%2FAllItems%2Easpx%3FRootFolder%3D%252Fsites%252Fmarketing%252Fdocuments%252FShared%2520Documents%252FPromotion%26FolderCTID%3D0x012000F2A09653197F4F4F919923797C42ADEC&DefaultItemOpen=1

Where the parts of the URL path are as listed in the following table.

URL part | Example
Protocol | http://
Server name | www.contoso.com/
Folder or file path | sites/marketing/documents/Shared%20Documents/Promotion/
Folder or file name | xlviewer.aspx
Parameters | ?id=/sites/marketing/documents/Shared%20Documents/Promotion/Some%20File.xlsx &Source=http%3A%2F%2Fwww%2Econtoso%2Ecom%2Fsites%2Fmarketing%2Fdocuments%2FShared%2520Documents%2FForms%2FAllItems%2Easpx %3FRootFolder%3D%252Fsites%252Fmarketing%252Fdocuments%252FShared%2520Documents%252FPromotion%26FolderCTID%3D0x012000F2A09653197F4F4F919923797C42ADEC &DefaultItemOpen=1

URL Encoding

URL encoding ensures that all browsers will correctly transmit text in URL strings. Characters such as a question marks (?), ampersands (&), slash marks (/), and spaces might be truncated or corrupted by some browsers. SharePoint Server 2010 adheres to the standards for URL encoding that are defined in The Internet Engineering Task Force (IETF) RFC 3986 (http://go.microsoft.com/fwlink/p/?LinkId=195564&clcid=0x409).

In the URL path example earlier in this article, the Source parameter contains a double-encoded path and is 262 characters. The first de-encoding reveals:

&Source=http://www.contoso.com/sites/marketing/documents/Shared%20Documents/Forms/AllItems.aspx?RootFolder=%2Fsites%2Fmarketing%2Fdocuments%2FShared%20Documents%2FPromotion&FolderCTID=0x012000F2A09653197F4F4F919923797C42ADEC which is 216 characters.

De-encoded again reveals:

&Source=http://www.contoso.com/sites/marketing/documents/Shared Documents/Forms/AllItems.aspx?RootFolder=/sites/marketing/documents/Shared Documents/Promotion&FolderCTID=0x012000F2A09653197F4F4F919923797C42ADEC which is 200 characters.

If you have non-standard ASCII characters, such as high-ASCII or double-byte Unicode characters, in the SharePoint URL, each of those characters is URL-encoded into two or more ASCII characters when they are passed to the Web browser. Thus, a URL with many high-ASCII characters or double-byte Unicode characters can become longer than the original un-encoded URL. The list below gives examples of the multiplication factors:

  • High-ASCII characters — for example, (!, ", #, $, %, &, [Space]): multiplication factor = 3

  • Double byte Unicode characters — for example, Japanese, Chinese, Korean, Hindi: multiplication factor = 9

For example, when you translate the names of sites, library, folder, and file in the URL path http://www.contoso.com/sites/marketing/documents/Shared%20Documents/Promotion/Some%20File.xlsx into Japanese, the resulted encoded URL path will become something like the following:

http://www.contoso.com/sites/%E3%83%9E%E3%83%BC%E3%82%B1%E3%83%86%E3%82%A3%E3%83%B3%E3%82%B0/%E6%96%87%E6%9B%B8/DocLib/%E3%83%97%E3%83%AD%E3%83%A2%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3/%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB.xlsx. This path is 224 characters, whereas the original URL path is only 94 characters.

Important:

The following characters cannot be used in an un-encoded URL: (~, #, %, &, *, {}, \, :, <>, /, +, |, ").

URL parameters

URL parameters are data that are included as part of the URL that are processed. These parameters are also URL-encoded and can be encoded multiple times, producing very long URLs.

For example, if you browse to a list, the URL might be something like the following: http://www.contoso.com/sites/marketing/documents/Shared%20Documents/Forms/AllItemA.aspx?RootFolder=%2Fsites%2Fmarketing%2Fdocuments%2FShared%20Documents%2FPFPromoti&FolderCTID=0x012000F2A09653197F4F4F919923797C42ADEC&View={CD527605-9A7A-448D-9A35-67A33EF9F766}. This URL is 260 characters.

If you then click Create View on the Library tab, the entire URL is included in the resulting URL as the source parameter and it is encoded to be much longer — for example, http://www.contoso.com/sites/marketing/documents/_layouts/ViewType.aspx?List=%7BED6E21E0%2DDF28%2D4165%2DBC3E%2D5371987CC2D2%7D&Source=http%3A%2F%2Fwww%2Econtoso%2Ecom%2Fsites%2Fmarketing%2Fdocuments%2FShared%2520Documents%2FForms%2FAllItems%2Easpx%3FRootFolder%3D%252Fsites%252Fmarketing%252Fdocuments%252FShared%2520Documents%252FPromotion%26FolderCTID%3D0x012000F2A09653197F4F4F919923797C42ADEC%26View%3D%7BCD527605%2D9A7A%2D448D%2D9A35%2D67A33EF9F766%7D. This URL is 457 characters.

Important:

SharePoint Server 2010 truncates the URL source parameter if the total URL length to be passed to Internet Explorer is more than 1950 bytes. The source parameter is a reference to a previously visited page. The result of the truncation of the source parameter is that the user will be referred back to default location rather than the location specified in the source parameter.

Other parameters, such as sort orders, root folder parameters, and views are not truncated.

URL path length limitations

This section discusses the different URL length limitations in SharePoint Server 2010 and Internet Explorer, and how to plan for URL path lengths.

SharePoint URL path length limitations

The limitations In this section apply to the total length of the URL path to a folder or a file in SharePoint Server 2010 but not to the length of any parameters. Also, these limitations apply only to un-encoded URLs, not to encoded URLs. There is no limit to encoded URLs in SharePoint Server 2010. The limitations are the following:

  • 260 Unicode (UTF-16) code units - the characters in a full file path, not including a domain/server name.

  • 256 Unicode (UTF-16) code units - the characters in a full folder path, not including the file name and the domain/server name.

  • 128 Unicode (UTF-16) code units - characters in a path component, that is, a file or folder name.

  • 260 Unicode (UTF-16) code units - the characters in a full path, including a domain/server name for use with Office clients.

  • 256 Unicode (UTF-16) code units - the characters in a full path including the domain/server name, for use with Active X controls.

For more information, see Microsoft Knowledge Base article 894630, You receive a "The specified file or folder name is too long" error message (http://go.microsoft.com/fwlink/p/?LinkId=195567&clcid=0x409).

Note:

Understanding code units - In most cases, one UTF-16 character equals one UTF-16 code unit. However, characters that use Unicode code points greater than U+10000 will equal two UTF-16 code units. These characters include, but are not limited to, Japanese or Chinese surrogate pair characters. If your paths include these characters, the URL length will exceed the URL length limitation with fewer than 256 or 260 characters.

Internet Explorer URL length limitations

Internet Explorer also has limitations that are separate from those in SharePoint Server 2010. Even though you make the SharePoint Server 2010 URL path shorter than the limitations, you might experience an Internet Explorer URL length limitation because of added parameters and encoding of the URL. You must use the most restrictive limitation as a guideline for planning URL lengths.

Both Internet Explorer 7 and Internet Explorer 8 have a maximum URL length of 2,083 UTF-8 characters and a maximum path length of 2,048 UTF-8 characters. However, in Internet Explorer 7, under certain circumstances, the effective URL length limitation is 1024 UTF-8 characters, not 2083 UTF-8 characters. For more information about the URL length limits in Internet Explorer, see Microsoft Knowledge Base article 208427, Maximum URL length is 2,083 characters in Internet Explorer (http://go.microsoft.com/fwlink/p/?LinkId=195568&clcid=0x409).

Important:

Unless all of the browsers in the environment are Internet Explorer 8, use the effective limit of 1024 UTF-8 characters.

Resolving URL length problems

There are several ways that you can resolve or mitigate URL length problems in the SharePoint Server 2010 environment. The following list provides suggestions:

  • Upgrade all the end-user browsers to Internet Explorer 8, which has a longer URL length limit.

  • Use shorter names for sites, folders, and documents and control the depth of the site and folder structures to reduce the lengths of URLs.

  • If possible or allowed, use ASCII names for sites, folders, and documents. This will avoid situations where the URL will be lengthened by being encoded.

  • To reduce the risk that the SharePoint Server 2010 end-users will encounter problems because of URL length limitations, we recommend that you apply the following effective limits in the deployment:

    • 256 Unicode (UTF-16) Code units - the effective file path length limitation, including a domain/server name

    • 128 Unicode (UTF-16) Code units - the path component length limitation


Design server farms and topologies (SharePoint Server 2010)

Published: February 3, 2011

This section contains resources to help you learn about and plan topologies for Microsoft SharePoint Server 2010.

In this section:

  • Topologies for SharePoint Server 2010: Model

  • Search architectures for SharePoint Server 2010: Model

  • Extranet topologies for SharePoint 2010 Products: Model

  • Forefront UAG integration (SharePoint Server 2010)

  • Design content deployment topology (SharePoint Server 2010)

  • Digital asset library topology and architecture (SharePoint Server 2010)


Planning for server farms (SharePoint Server 2010)
See Also

Published: February 3, 2011

In this article:

  • Licensing requirements

  • Organizational requirements

  • Availability and service level agreements

  • Security isolation requirements

  • Scaling out and centrally managing service applications

  • Geographic distribution

This article can help you determine how many server farms your organization requires. There are many kinds of sites that you can build and operate by using Microsoft SharePoint Server 2010. Depending on the number and kinds of sites you plan to deploy, and where users are located, you might plan for more than one server farm.

This article describes criteria that can be used to determine whether multiple server farms are required. For guidance about how to plan for individual farms, see the following articles:

  • Performance and capacity management (SharePoint Server 2010)

  • Plan for business continuity management (SharePoint Server 2010)

Licensing requirements

Consider licensing requirements as a factor when you determine the minimum number of server farms that you have to plan for. There are three server licenses available for SharePoint Server 2010. These licenses can be combined on the same server computer or on the same server farm. Additionally, MSDN licensing might play a role if you plan a development environment. The inclusion of a development environment also affects the number of farms. The following table lists and describes the license offerings for SharePoint Server 2010.

Offering | Description
SharePoint Server 2010 | This license is required to run SharePoint Server 2010 in client/server mode. You should use this license with the required number of client access licenses (CALs) appropriate for your organizational needs. License the Standard feature set through Standard CALs. License the Enterprise feature set through Enterprise CALs. Enterprise CALs are additive. To access the Enterprise features, a person or device must have both the Standard CAL and Enterprise CAL.
SharePoint Server 2010 for Internet Sites, Standard; and SharePoint Server 2010 for Internet Sites, Enterprise | Use either of these licenses for Internet-facing Web sites intended for external users (suppliers, customers, vendors, and the public). These licenses can be used with both anonymous and authenticated users. They are per server licenses that do not require the purchase of client access licenses. People who create content for external access can use one of these licenses. Server and CAL licensing is not required for people who use SharePoint Server 2010 only to author information for external access.

If you plan to deploy internal content for your organization and Internet-facing content for non-employees from the same farm, you must purchase both license types for that farm. As an accommodation for possible deployment scenarios, customers who want to combine their SharePoint Server 2010 requirements under a single deployment may obtain licenses for both products, assign those licenses to the same server, and use the same running instance of the software at the same time under both licenses. However, customers must obtain CALs as required under the SharePoint Server 2010 use rights for users and devices that access content in any manner that is not permitted under the SharePoint Server 2010 for Internet Sites use rights.

The remainder of this section describes which license to use for different kinds of deployments.

Intranet sites for both internal and remote employees

Use the SharePoint Server 2010 license with the appropriate number of CALs. Although intranet sites might be exposed to the Internet to give access to remote employees, this is the correct license for this scenario.

Internet sites for external users

Use the SharePoint Server 2010 for Internet Sites license.

Partner extranet sites for communication with employees of partner companies

You can select from the following options for partner extranet sites:

  • Add a partner extranet site to a server farm that is hosting the company intranet (SharePoint Server 2010 license). With this option, you must ensure that you purchase the required number of CALs for partner employees.

  • Add a partner extranet site to a server farm that is hosting the company Internet site (SharePoint Server 2010 for Internet Sites license). This option does not require CALs for partner employees or for your own employees who are collaborating with partners. However, on this farm, you may not create sites that are used exclusively by employees of your organization. No content, information, or application on this farm can be accessed exclusively by people inside your organization. In other words, if internal users can access content, then external users must also be able to access it.

  • Deploy a dedicated server farm for partner collaboration and use the Internet sites license. This option does not require CALs for partner employees or for your own employees who are collaborating with partners. However, on this farm, you may not create sites that are used exclusively by employees of your organization. No content, information, or application on this farm can be accessed exclusively by people inside your organization. In other words, if internal users can access content, then external users must also be able to access it.

If you plan to deploy only one server farm, use this farm. If you plan to deploy two server farms, one for intranet sites and one for Internet sites, consider the following aspects to help you decide which server farm to use for partner extranet sites:

  • Nature of collaboration If the main purpose of a partner extranet site is to securely communicate information to many partners, the Internet server farm is the most economical choice. On the other hand, if the main purpose is to work collaboratively with only a few partner employees, the intranet server farm might be a better choice. Choose the option that enables you to optimize the farm for its intended role (that is, collaboration versus read-only content).

  • Number of partner employees If you collaborate with many partner employees and cost is a strong criterion, you can securely host both collaborative and anonymous content on an Internet-facing farm with the Internet sites license.

If you collaborate with many partner employees, consider deploying a dedicated server farm for partner extranet sites in the following circumstances:

  • You do not plan to deploy a server farm for Internet sites and it is more cost-effective to purchase the SharePoint Server 2010 for Internet Sites license than to purchase CALs for all partner employees.

  • Your organization prevents authenticated access to or collaboration on the same server farm that hosts your Internet site.

  • You expect or are experiencing performance issues on a server farm that hosts both Internet sites and partner extranet sites. For example, partner employees report slow response times when they collaborate on content.

Pre-publishing environments for Internet sites

In pre-publishing environments where multiple environments are used for development, authoring, testing, and staging, use the following guidelines:

  • Code development and testing Use an MSDN license. For more information, see MSDN Licensing (http://go.microsoft.com/fwlink/p/?LinkId=210161).

  • Content authoring Use the SharePoint Server 2010 license with the appropriate number of CALs. However, internal users can use the SharePoint Server 2010 for Internet Sites license if all content, information, and applications can also be accessed by external users. If the server has items that are for internal use only, those users must have CALs, and their servers require licenses for SharePoint Server 2010.

  • Staging Staging environments are typically configured to match the production environment. Consequently, use the SharePoint Server 2010 for Internet Sites license.

More information about licensing

For more information about licensing, see the following resources:

  • SharePoint 2010: How to Buy (http://go.microsoft.com/fwlink/p/?LinkID=196728)

  • SharePoint License Overview: Determining Your Needs (http://go.microsoft.com/fwlink/p/?LinkId=210179)

  • Microsoft Volume Licensing Brief: Microsoft SharePoint Server 2010 for Internet Sites (http://go.microsoft.com/fwlink/p/?LinkId=210180)

Organizational requirements

Several criteria that are determined by your organization might affect the number of server farms that are required. They include the following:

  • Operational divisions of responsibility

  • Funding sources

  • Data center locations

Operational divisions of responsibility

In some organizations, different divisions are responsible for different kinds of Web sites or applications. If a division requires autonomy in deploying and operating these applications, it might be appropriate to plan a separate server farm for the division. Or, you can negotiate with multiple divisions to determine whether you can be more efficient and combine multiple sites onto a single server farm.

Funding sources

In some organizations, the way that projects are funded might influence the number of server farms that are required. For example, the following scenarios might require multiple server farms:

  • Each division has a separate hardware budget.

  • Projects are funded independently with little opportunity to combine hardware budgets or operational costs across multiple projects.

  • Projects are funded by using different funding models. For example, an organization might fund its My Sites with a shared hardware budget, but might offer team sites to individual teams by using a cost-recovered internal hosting model that results in a charge-back cost for each team.

Data center locations

If sites must be hosted in different data center locations, you must plan for more than one server farm.

Availability and service level agreements

If sites have different availability requirements and service level agreements, it might be more cost-effective to implement multiple server farms. The kinds of scenarios that might require multiple server farms include the following:

  • Publishing environment

  • Different service level agreements

  • Disaster recovery

Publishing environment

A publishing environment often contains multiple environments for authoring, staging, and testing. Each of these environments will have different availability requirements and service level agreements from the production environment. The authoring, staging, and testing sites have a much smaller user load and are subject to more instability from testing activities.

At a minimum, plan to deploy at least two server farms: one for the published site and one for the authoring, staging, and testing activities. Depending on your organization, you might have to plan a separate server farm for each pre-publishing activity or you might perform all these activities on a single farm that consists of one server.

Different service level agreements

Some sites in a production environment might have different service level agreements. Consider the following examples:

  • An organization might define some kinds of content as more critical than other kinds of content. For example, content in team sites might be more critical to business objectives than content in the organization's My Sites. Consequently, the service windows for restoring each kind of content in the event of a disaster might differ.

  • Sites that host security-critical data might require more security measures. These include a more secure authentication method, increased logging, and faster application of software updates.

Different service level agreements do not necessarily require separate server farms. In some cases, sites that have different service level agreements can be hosted efficiently on one server farm. In other cases, specific service level requirements are better met by deploying sites to separate server farms.

Take the following facts into consideration when you evaluate service level agreements:

  • Creating separate Web applications or application pools on the same server farm provides the opportunity to implement different authentication methods and access-control policies. This approach also results in separate content databases, which can be restored in priority order based on service level agreements.

  • Requirements that affect the topology, configuration, and operations of the overall server environment might be met more efficiently by deploying more than one farm.

Disaster recovery

Some organizations require the ability to fail over to a server farm in a different geographic location in the event of a disaster. SharePoint Server 2010 provides the ability to host a standby data center by restoring shipped copies of databases, by restoring virtual images of servers, or by actively running a failover farm.

If your organization requires the ability to restore a server farm in a remote data center, then plan for at least two server farms. For more information, see Plan for disaster recovery (SharePoint Server 2010).

Security isolation requirements

Many isolation requirements can be achieved on a single farm. On the other hand, some scenarios require more than one server farm.

SharePoint Server 2010 provides the opportunity to isolate applications that are hosted on the same server farm by using one or more of the following isolation methods:

  • Use separate application pools with different process identities to achieve isolation at the process level.

  • Use separate Web applications to achieve isolation at the Web application level.

  • Configure service applications to achieve isolation at the content and audience levels.

For more information about how to use these methods, see the following articles:

  • Logical architecture components (SharePoint Server 2010)

  • Design sample: Corporate deployment (SharePoint Server 2010)

  • Services architecture planning (SharePoint Server 2010)

Although there are no technical reasons why you might have to deploy more than one server farm to achieve security isolation, some organizational requirements will dictate that more than one server farm be implemented. The following scenarios are examples:

  • In some industries, such as investment banking, industry rules dictate physical isolation between sites.

  • Some organizations that outsource IT projects, such as a state government, might issue contracts that require physical isolation of sites.

  • Some organizations are not comfortable relying on isolation at the software level and insist on physical isolation.

  • The requirement to secure critically sensitive data, including administrative access to operate a server farm, might result in a requirement for a physically separate environment.

  • Some organizations have security policies that do not allow access from a perimeter network to an internal network under any circumstance.

If any of these kinds of scenarios apply to your deployment, you might have to plan for more than one server farm.

Performance and scalability

If none of the previous criteria mandate more than one server farm, consider the following aspects of performance and scalability:

  • Software boundaries

  • Application profile

  • Throughput

Software boundaries and limits

Depending on the scope of your deployment, scale guidelines might indicate that more than one server farm is necessary. Review the SharePoint Server 2010 capacity management: Software boundaries and limits article to determine whether a single server farm will accommodate the scale that you expect.

Application profile

In larger environments, you can increase the performance of a server farm by optimizing the farm for applications that have similar performance profiles. For example, published intranet content, such as a human resources site, has a much different performance profile than collaborative content, such as team sites.

Consider the following kinds of factors that contribute to a performance profile:

  • Volume of requests. For example, the My Sites typically result in fewer requests than team sites.

  • Read-only content versus collaborative content.

  • Volume of content. For example, a records management solution stores a great volume of data but processes few user requests.

In a large organization with many users, the organization's My Sites are typically hosted on a dedicated farm.

Throughput

In some cases, the expectation for throughput requires you to implement multiple server farms. For information about how to plan to meet throughput requirements, see Performance and capacity management (SharePoint Server 2010).

Scaling out and centrally managing service applications

Larger organizations might benefit from deploying farms that are dedicated to hosting service applications. This is especially true if an organization requires two or more farms for hosting sites. A dedicated services farm enables all farms to consume services that are managed centrally.

Consider deploying a dedicated services farm in the following situations:

  • Your search environment includes 20 million items or more.

  • There are two or more farms in the environment.

  • You want query results to be as fresh as possible.

Another scale-out option is to dedicate a farm to hosting a specific service. This enables you to optimize the performance and capacity of the farm for the most-used service application. In large environments, search is a good candidate for a dedicated farm. In this case, all search services are hosted on a dedicated search farm and all other shared services are hosted on a separate services farm. This enables you to optimize the hardware and configuration of search components specifically for search.

Consider deploying a dedicated search farm in the following situations:

  • Your search environment includes 40 million items or more.

  • There are two or more farms in the environment.

  • You want query results to be as fresh as possible.

  • You are crawling content over the WAN.

  • You want to implement a service level agreement (failover or backup and restore, for example) for the search service that is different from the service level agreement for other services hosted by SharePoint Server 2010.

Beyond search, dedicating a farm to a specific service application depends on whether the use of a service application justifies a dedicated farm. In most cases, you can scale out a services farm to meet the demands of all other service applications.

Geographic distribution

In some organizations, users are spread across a large geographic area or around the world. The location of the users and content can influence your overall plan for server farms. You might have to plan for regional farms to ensure acceptable performance. A reasonable approach is to implement a central farm, optimize this farm for WAN connections, and then decide whether additional farms for regional locations are warranted. For more information, see Global deployment of multiple farms (SharePoint Server 2010).

See Also

Other Resources

Resource Center: Architecture Design for SharePoint Server 2010


Topologies for SharePoint Server 2010: Model

Published: February 3, 2011

This model describes common ways to build and scale farm topologies, including planning which servers to start services on.

Topologies for SharePoint Server 2010

Visio (http://go.microsoft.com/fwlink/p/?LinkID=167087)

PDF (http://go.microsoft.com/fwlink/p/?LinkID=167089)

XPS (http://go.microsoft.com/fwlink/p/?LinkID=167088)


Search architectures for SharePoint Server 2010: Model

Published: February 3, 2011

This model details the physical and logical architecture components that make up a search system and illustrates common search architectures.

Search Architectures for Microsoft SharePoint Server 2010

Search Technologies - 3 of 4

Visio (http://go.microsoft.com/fwlink/p/?LinkID=167737)

PDF (http://go.microsoft.com/fwlink/p/?LinkID=167739)

XPS (http://go.microsoft.com/fwlink/p/?LinkID=167738)


Extranet topologies for SharePoint 2010 Products: Model

Published: February 3, 2011

This model illustrates the specific extranet topologies that have been tested with SharePoint 2010 Products. Provides a comparison of ISA Server, Forefront TMG, Forefront UAG when used as a firewall or gateway product with SharePoint 2010 Products.

Extranet Topologies for SharePoint 2010 Products

Extranet topologies for SharePoint 2010 Products

Visio (http://go.microsoft.com/fwlink/p/?LinkId=187987)

PDF (http://go.microsoft.com/fwlink/p/?LinkId=187988)

XPS (http://go.microsoft.com/fwlink/p/?LinkId=187986)


Forefront UAG integration (SharePoint Server 2010)

Published: February 3, 2011

Information technology (IT) professionals who manage websites that use Microsoft SharePoint Server 2010 may want to make them available to users who are outside of their corporate network. This concept is referred to as publishing, and this is made possible by using edge protection software such as Microsoft Forefront Unified Access Gateway 2010 (UAG).

Publishing SharePoint Sites with UAG

The following articles contain procedures that are required to publish SharePoint websites through Forefront UAG.

  • SharePoint publishing solution guide (http://go.microsoft.com/fwlink/p/?LinkId=206256)

    Intended for system administrators who are responsible for publishing SharePoint websites for extranet users.

  • Publishing SharePoint Workspace Mobile on Forefront UAG (http://go.microsoft.com/fwlink/p/?LinkId=206257)

    Describes how to publish the SharePoint 2010 mobile workspace for extranet users.


Logical architecture planning (SharePoint Server 2010)

Published: April 3, 2012

This section contains articles to help you learn about and plan logical architectures for Microsoft SharePoint Server 2010.

In this section:

  • Services architecture planning (SharePoint Server 2010)

  • Logical architecture components (SharePoint Server 2010)

  • Design sample: Corporate deployment (SharePoint Server 2010)Corporate deployment design sample

  • Plan for host-named site collections (SharePoint Server 2010)

  • Case Study: City of London School for Girls (SharePoint Server 2010)

  • Case study: Blatchington Mill School (SharePoint Server 2010)


Services architecture planning (SharePoint Server 2010)
See Also

This article describes the services architecture for sharing service applications and provides example architectures for Microsoft SharePoint Server 2010.

In this article:

  • About service applications

  • Services infrastructure and design principles

  • Deploying service applications across farms

  • Planning considerations for services that access external data sources

  • Example architectures

  • Single farm, single service application group

  • Single farm, multiple service application groups

  • Enterprise services farms

  • Specialized service farms

  • Cross-organization farms

When planning your services architecture, consider the following questions:

  • What service applications does your organization require?

  • Do any teams require dedicated service applications?

  • How many farms does your organization require?

  • Are there opportunities to share services across farms?

  • Do the needs of your organization warrant a centralized services farm?

The following poster-size models are also available to use with this article. You can modify the diagrams within the models to represent your own organization plans.

  • Services in Microsoft SharePoint 2010 Products

    • Visio (http://go.microsoft.com/fwlink/p/?LinkID=167090)

    • PDF (http://go.microsoft.com/fwlink/p/?LinkID=167092)

    • XPS (http://go.microsoft.com/fwlink/p/?LinkID=167091)

  • Cross-farm services in SharePoint 2010 Products

    • Visio(http://go.microsoft.com/fwlink/p/?LinkID=167093)

    • PDF (http://go.microsoft.com/fwlink/p/?LinkID=167095)

    • XPS (http://go.microsoft.com/fwlink/p/?LinkID=167094)

About service applications

SharePoint Server 2010 includes a set of services that can be shared across Web applications. These services are called service applications. Some service applications can be shared across farms. Sharing service applications across Web applications and farms greatly reduces the resources required to provide these services across multiple sites.

The following table lists service applications that are included with SharePoint 2010 Products.

Service applications | Description | SharePoint Foundation 2010 | SharePoint Server 2010 Standard | SharePoint Server 2010 Enterprise
Access Services | Lets users view, edit, and interact with Access 2010 databases in a Web browser. |  |  | X
Business Data Connectivity service | Gives access to line-of-business data systems. | X | X | X
Excel Services Application | Lets users view and interact withExcel 2010 files in a Web browser. |  |  | X
Managed Metadata service | Manages taxonomy hierarchies, keywords and social tagging infrastructure, and publish content types across site collections. |  | X | X
PerformancePoint Service Application | Provides the capabilities of PerformancePoint. |  |  | X
Search service | Crawls content, produces index partitions, and serves search queries. |  | X | X
Secure Store Service | Provides single sign-on authentication to access multiple applications or services. |  | X | X
State service | Provides temporary storage of user session data for SharePoint Server components. |  | X | X
Usage and Health Data Collection service | Collects farm wide usage and health data, and provides the ability to view various usage and health reports. | X | X | X
User Profile service | Adds support for My Sites, profile pages, social tagging and other social computing features. |  | X | X
Visio Graphics Service | Lets users view and refresh published Visio 2010 diagrams in a Web browser. |  |  | X
Web Analytics service | Provides Web service interfaces. |  | X | X
Word Automation Services | Performs automated bulk document conversions. |  | X | X
Microsoft SharePoint Foundation Subscription Settings Service | Provides multi-tenant functionality for service applications. Tracks subscription IDs and settings for services that are deployed in partitioned mode. Deployed through Windows PowerShell only. | X | X | X

Some services are provided by other Microsoft products, including the services listed in the following table.

Service application

Description

Office Web Apps services:

  • Word Viewing Service

  • PowerPoint Service

  • Excel Calculation Services

Office Web Apps is a Web-based productivity offering from Microsoft Office 2010 suites. Office Web Apps services include companions to Microsoft Word 2010, Microsoft Excel 2010, Microsoft PowerPoint 2010, and Microsoft OneNote 2010. These Web-based applications are stand-alone applications focused on offering access to Word 2010, PowerPoint 2010, Excel 2010, and OneNote 2010 documents through any browser across multiple platforms, lightweight creation and editing capabilities in standard formats, sharing and collaboration on those documents through the browser, and various Web-enabled scenarios. Documents created by using Office Web Apps are no different from documents that were created by using the corresponding desktop applications. The associated services are used to prepare documents for viewing and editing in a Web browser.

Microsoft Project Server 2010

Microsoft Project Server 2010 hosts one or more Microsoft Project Web Access instances, exposes scheduling functionality and other middle-tier calculations on Microsoft Project data, and exposes Web services for interacting with Microsoft Project 2010 data.

Service applications are different from the services that are started and stopped on specific servers and listed on the Services on Server page in the SharePoint Central Administration Web site. Some of the services listed on this page are associated with service applications, but service applications represent specific instances of services that can be configured and shared in specific ways.

Services infrastructure and design principles

SharePoint 2010 Products improves the services infrastructure that was introduced in the previous version. In SharePoint 2010 Products, the infrastructure for hosting services moves into SharePoint Foundation 2010 and the configuration of service offerings is much more flexible. Individual services can be configured independently, and third-party companies can add services to the platform.

Sharing services is no longer exclusive to SharePoint Server, and services are no longer contained in Shared Services Providers (SSPs).

Deploying services

You deploy service applications within a farm by using one of the following methods:

  • Selecting services when you run the SharePoint Products Configuration Wizard.

  • Adding services one by one on the Manage Service Applications page in the Central Administration site.

  • Using Windows PowerShell.

More granular configuration of services

The updated services infrastructure gives you more control over which services are deployed and how service applications are shared:

  1. You can deploy only the service applications that are needed to a farm.

  2. Web applications can be configured to use only the service applications that are needed, instead of all the services that have been deployed.

  3. You can deploy multiple instances of the same service in a farm and assign unique names to the resulting service applications.

  4. You can share service applications across multiple Web applications within the same farm.

You can choose the service applications for a Web application when you create the Web application. You can also modify the service applications that are associated with a Web application later.

Service application groups

By default, all service applications are included in a default group, unless you change this setting for a service application when it is created. You can add and remove service applications from the default group at any time.

When you create a Web application, you can select the default group or you can create a custom group of service applications. You create a custom group of service applications by selecting only the service applications that you want the Web application to use.

The following screen shot shows a list of service applications for an example farm that can be selected if custom is selected when a Web application is created. Only the first few service applications are included in the picture.

Choose the default service group or create one

Custom groups that are created in Central Administration are not reusable across multiple Web applications. Each time that you select custom when you create a Web application, you are selecting service applications only for the Web application that you are creating.

Logical architecture

Service applications are deployed within a single Internet Information Services (IIS) Web site. This is the default behavior and cannot be changed. However, you can customize the configuration of service application groups and the association of Web applications to service application groups.

The following diagram shows the logical architecture for a typical farm deployment.

Web apps connect to custom or default svc groups

Notice the following characteristics of the farm in the diagram:

  • All service applications are contained within the same IIS Web site.

  • There are two groups of service applications: the default group and a custom group. Not all service applications have to be included in the default group. In the diagram, Service application F is not included in the default group. It is used only by one Web application.

  • Web applications connect either to the default group or to a custom group of service applications. In the diagram, there is one custom group.

Service applications can be deployed to different application pools to achieve process isolation. However, if you want to optimize the performance of your farm, we recommend that you deploy service applications to one application pool.

To achieve physical isolation for a service application, choose or create a different application pool for the service application, as shown in the following diagram.

A service application can have its own app pool

Connections for service applications

When you create a service application, a connection for the service application is created at the same time. A connection is a virtual entity that connects Web applications to service applications. In Windows PowerShell, these connections are called proxies. "Proxy" appears at the end of the type description for connections on the Manage Service Applications page in Central Administration. Some connections might include settings that can be modified. For example, connections for the Managed Metadata service application include several settings, including Term Store Administrators and Default Language.

Service application administration

Service applications are managed directly in Central Administration rather than through a separate administration site. If needed, service applications can be monitored and managed remotely. Service applications can also be managed and scripted by using Windows PowerShell.

Deploying service applications across farms

Some service applications can be shared across server farms. Other service applications can be shared only within a single server farm.

The following diagram shows which service applications can be shared across farms and which service applications are limited to a single farm.

Some service apps can be shared across farms

Design guidance

The following guidance applies to sharing service applications across farms:

  • Service applications that support sharing across farms can be run in a central farm and consumed from other farms.

  • Each Web application can be configured to use service applications from different farms. For example, you can share the User Profile service across Web applications in several server farms, while at the same time you can configure some service applications, such as the Business Data Connectivity service, to be used locally.

  • In large environments, computing-intensive service applications can be run in a central farm to minimize administrative overhead and to scale out easily and efficiently as requirements grow. For more information, see Enterprise services farms, later in this article.

WAN environments

Some cross-farm service applications are not recommended for use in wide area network (WAN) environments. The following table lists current recommendations for deploying service applications in these environments.

Service application | Recommended for WAN environments? | Notes
Search | Yes |
Managed Metadata | Yes |
Business Data Connectivity | Depends on the Business Data Connectivity environment | After the data cache is populated, the WAN link is not needed. First-page browses are slow and might result in timeouts. Subsequent requests for cached data are faster.
User Profile | Not supported | Currently, using the User Profile service application across WAN links is not supported. This service requires direct database access. For WAN environments, the User Profile Replication Engine (UPRE) is recommended instead.
Secure Store Service | No | The Secure Store Service works across WAN links but is not recommended because it might negatively affect the performance of other services over a WAN link.
Web Analytics | No |

For more information about how to deploy service applications in WAN environments, see Global solutions for SharePoint 2010 Products (model).

Deploying cross-farm services

Sharing service applications across farms requires several steps:

  1. Configure trusted farms.

    Ensure that farms have exchanged certificates to trust one another. Export the certificate to a file, and back up the file before you connect to cross-farm services.

  2. Publish the service applications.

    To share a service application across farms, you first publish the service.

  3. Connect to cross-farm service applications.

    To consume a service that is published by a remote farm, create a connection to the service. This process prompts you to enter the URL of a published service, which is displayed during the publish process. A connection on the local farm is created to connect to the service application on the remote farm.

If the server farms are located in two domains, the User Profile service application requires both domains to trust each other. For the Business Data Connectivity and Secure Store service application administration features to work from the consuming farm, the domain of the publishing farm must trust the domain of the consuming farm. Other cross-farm service applications work without a trust requirement between domains.

For more information about how to configure services for use across farms, see Connect to a service application on a remote farm (SharePoint Server 2010).

Planning considerations for services that access external data sources

Some service applications can access external data sources. Service applications that use a delegated Windows identity to access external data sources put additional requirements on the environment. For these service applications, external data sources must reside within the same domain as the SharePoint Server 2010 farm where the service applications are located or the service application must be configured to use the Secure Store Service.

The following service applications use a delegated Windows identity to access external data sources:

  • Excel Services

  • PerformancePoint Services

  • InfoPath Forms Services

  • Visio Services

Service applications that use a delegated Windows identity to access external data sources can be configured to use the Secure Store Service as an alternative. The Secure Store Service stores and maintains user or service credentials. Service applications can use stored credentials to authenticate to a data source directly.

If the Secure Store Service is not used and external data sources do not reside within the same domain, authentication to the external data sources will fail. If farm servers are split between two domains, the application servers must reside in the same domain as the external data sources.

The following service applications and products are not affected by these requirements:

  • Business Data Connectivity service and Microsoft Business Connectivity Services

  • Access Services

  • Microsoft SQL Server PowerPivot for Microsoft SharePoint

  • Microsoft SQL Server Reporting Services (SSRS)

  • Microsoft Project Server 2010

Example architectures

The rest of this article provides example architectures for common deployment scenarios.

Single farm, single service application group

In an architecture that includes a single farm and a single service application group, the default service application group is used for all Web applications in the farm. All sites have access to all of the service applications that are deployed in the farm.

Single farm, single service group

Advantages

This architecture provides the following advantages:

  • It is the simplest architecture to deploy.

  • All service applications are available to all Web applications.

  • Farm resources are used most efficiently.

  • All service applications are managed centrally.

Disadvantages

There are several tradeoffs to consider with this architecture:

  • You cannot isolate service application data.

  • Individual departments or teams cannot manage service applications on their own.

Recommendations

The architecture that includes a single farm and a single service application-group is the recommended configuration for most organizations, at least initially. This configuration works well when you want to host many sites for a single company on the same farm.

Use this configuration to meet the following goals:

  • You want to optimize the resources required to run service applications within a farm.

  • You are sharing content and profile data across sites that otherwise require process isolation for performance or security reasons.

Single farm, multiple service application groups

If teams require dedicated service applications, build an architecture by using one or more custom groups of service applications. Follow these guidelines:

  • Deploy specific service applications for dedicated use by one or more teams within an organization.

  • Ensure that the dedicated service applications are not also included in the default group.

  • Create one or more Web applications that use a custom group of service applications. The SharePoint administrator selects the service applications that are included in the custom group.

In the following diagram, Farm B shows an example architecture with two groups of service applications. In this example, the Finance team requires a dedicated Excel Services application. Access Services is also deployed for this team.

Single farm, multiple service groups

You can create more than one custom service application group. In the following diagram, two custom groups are created in Farm C. Building on the architecture for Farm B, dedicated Managed Metadata and Business Data Connectivity service applications are deployed to the farm for use by the HR department. This results in a second custom service application group, in addition to the first dedicated service application group that was created for the Finance team.

Single farm, multiple custom service groups

Service applications that are deployed for dedicated use can share the same application pool or be deployed to a separate application pool for additional isolation. The design of Farm B (two diagrams previous) achieves process isolation for service applications that are deployed for the Finance team by putting these service applications in a dedicated application pool. For Farm C, shown in the preceding diagram, one application pool is used for all service applications; in this architecture, service applications are deployed to optimize performance instead.

Connecting to multiple Managed Metadata service applications

A service application group can include multiple Managed Metadata service applications. For example, in the diagram of Farm C, the custom group that is highlighted in green includes two Managed Metadata service applications.

In this scenario, the sites within the Web applications display taxonomy, social tagging, and other features from both Managed Metadata service applications. Unlike other cross-farm services, Web parts by default include data from multiple Managed Metadata service applications.

For information about how to manage multiple Managed Metadata service applications, see Managed metadata service application overview (SharePoint Server 2010).

Advantages

Architectures that include multiple service application groups provide the following advantages:

  • They accommodate multiple organizational goals in the same farm.

  • Service data can be isolated.

  • Individual teams or departments can manage the service applications that have been dedicated for their use.

  • Sites can be configured to use a subset of service applications.

Disadvantages

The tradeoffs in architectures that use more than one group of service applications include the following:

  • They are more complex to configure and manage.

  • Farm resources are consumed to support multiple instances of some service applications, which can affect performance.

Recommendations

Architectures that include multiple service application groups work well for companies that have divisions or teams that require dedicated service applications or isolated service data, or for sites that are set up with a narrower scope, such as partner collaboration.

Additionally, when multiple groups of service applications are configured, teams and sites can consume services that are offered enterprise-wide, such as profile and search services, while at the same time isolating the use of targeted services for security or performance reasons.

Service applications that are typically deployed for dedicated use by a specific team or department include:

  • Excel Services To optimize performance for a targeted team or to isolate sensitive data.

  • Managed Metadata To allow a team or department to manage their own taxonomy, hierarchies, keywords, and so on. SharePoint Server 2010 combines the results of multiple Managed Metadata service applications, so taxonomies, content types, and other elements can be shared across an organization.

  • Business Data Connectivity Individual teams or departments can integrate with their own line-of-business data systems and keep the data isolated from the rest of the organization.

In some cases, a dedicated group of service applications is configured to narrow the list of services that are used by a Web application. For example, a partner collaboration site can be configured to consume a subset of the service applications that are offered by the farm.

Enterprise services farms

An enterprise services farm is a server farm that is dedicated to hosting service applications for an organization. The following diagram shows an enterprise services farm that hosts the most frequently deployed cross-farm service applications. It also shows several common kinds of farms that consume services from an enterprise services farm.

Enterprise services farm

The rest of this section describes the other farms in the diagram. Farm 2, Farm 3, and Farm 4 represent the kinds of farms that are most likely to consume services from an enterprise services farm.

Published content-only farms (all service applications are remote)

You can deploy a server farm without deploying any service applications locally. In Farm 2, no service applications are hosted locally. All service applications are consumed from a separate farm.

This configuration works well for content that is published. It reduces the administrative efforts required to host a published content farm and allows an organization to take advantage of centrally managed service applications.

Use this configuration when you have the following goals:

  • You want to optimize the resources within a farm for hosting content, instead of running service applications.

  • You are integrating with organization-wide profiles, metadata, search, and other centrally managed resources.

Collaboration farms (mix of local and remote service applications)

Farm 3 represents a farm that is optimized for collaboration. All service applications that cannot be shared across farms are hosted locally. These include the client-related service applications, which are important for collaboration. Cross-farm service applications are consumed from an enterprise services farm (Farm 1).

Farms can consume services from more than one remote farm. In the diagram, Farm 3 also consumes the Managed Metadata service from a specialized department farm (Farm 4) to integrate with this department's autonomously managed taxonomy, social tagging, and other features.

If there are multiple Managed Metadata service applications, one of the service applications must be designated as the primary service application that hosts the corporate taxonomy. All other instances of this service application are then secondary, and they provide additional data to the primary service application data. Unlike other cross-farm services, Web parts by default include data from multiple Managed Metadata service applications.

This is the recommended configuration for companies that host multiple farms to meet business needs. Use this configuration to meet the following goals:

  • To optimize administrative and farm resources at the enterprise level for hosting services (Farm 1).

  • To optimize resources at the farm level for hosting collaboration sites (Farm 3).

  • To integrate with organization-wide profiles, metadata, search, and other centrally managed resources.

  • To integrate with metadata produced by a specialized team or department (Farm 4).

Farms for specialized departments (mix of local and remote service applications)

Some teams within an organization might require a separate deployment of specific services for the following reasons:

  • To ensure data isolation (such as Business Data Connectivity data).

  • To provide the ability to autonomously manage service applications (such as Managed Metadata).

Farm 4 provides an example. The characteristics of this farm include the following:

  • It consumes centrally managed service applications that include Managed Metadata.

  • It also includes its own Managed Metadata service application, so this team can autonomously manage its own metadata. Because this service application is shared, the metadata from the rest of the organization can be integrated with this metadata.

Use this configuration to meet the following goals:

  • Allow a specialized team or department to manage metadata on their own.

  • Ensure that specific service data is isolated and managed separately from the rest of the organization.

Specialized service farms

Consider deploying specialized service farms to optimize farm resources for specific service applications. This allows you to scale out the server farm and to scale up the hardware to optimize performance for a specific service application.

The primary service application that might warrant a dedicated services farm is Search. Search has unique performance and capacity requirements. By offloading the Search service application to a dedicated farm, resources can be optimized for the remaining cross-farm service applications.

The following diagram shows two centralized services farms. One farm is optimized for Search. The other farm hosts all other cross-farm service applications.

Two centralized farms: one is optimized for search

Cross-organization farms

Service applications can be shared across any farm, not only enterprise services farms. Consider sharing service applications across farms in the following scenarios.

Scenario A: To provide enterprise-wide service applications without a dedicated enterprise services farm, as shown in the following diagram.

Provide enterprise-wide services

Scenario B: To share resources across farms and to avoid deploying redundant service applications, as shown in the following diagram.

Avoid deploying redundant services

See Also

Other Resources

Resource Center: Architecture Design for SharePoint Server 2010
Resource Center: Security and Authentication for SharePoint Server 2010


Logical architecture components (SharePoint Server 2010)
See Also

There are a variety of ways you can arrange the components in a logical architecture design. Each of the components presents different opportunities for sharing and isolation. Before you begin your logical architecture design:

  • Know what your sharing and isolation goals are.

  • Evaluate the tradeoffs for each choice.

Each section in this article describes a particular logical architecture component and discusses the following considerations for that component: capacity, sharing and isolation, configurable items, administration, and planning recommendations.

In this article:

  • Server farms

  • Service applications

  • Application pools

  • Web applications

  • Zones

  • Policy for a Web application

  • Content databases

  • Site collections

  • Sites

  • Host-named site collections

  • My Sites

Server farms

A server farm represents the top-level element of a design. Individual server farms provide physical isolation.

Several criteria that are determined by your organization might affect the number of server farms that are required, including:

  • Heavy use of services might warrant one or more dedicated services farms.

  • Separate operational divisions of responsibility.

  • Dedicated funding sources.

  • Separate datacenter locations.

  • Industry requirements for physical isolation between sites.

However, you can satisfy many isolation requirements on a single server farm. For example, you can use different Internet Information Services (IIS) application pools with different process identities to achieve isolation at the process level for both sites and service applications.

In addition to isolation requirements that might require more than one server farm, an organization might implement multiple server farms to satisfy performance and scale goals, licensing requirements, or a publishing environment.

Service applications

A service application provides a resource that can be shared across sites within a farm or, in some cases, across multiple farms.

In SharePoint Server 2010, services are no longer contained within a Shared Services Provider (SSP). Instead, the infrastructure for hosting services moves into Microsoft SharePoint Foundation 2010 and the configuration of service offerings is much more flexible. Individual services can be configured independently and third-parties can add services to the platform.

You can deploy only the services that are needed to a farm. Services that are deployed are called service applications.

Service applications are associated with Web applications. Each service application can be configured differently:

  • Web applications can be configured to use only the services that are needed, rather than the entire set of services that are deployed.

  • You can deploy multiple instances of the same service in a farm and assign unique names to the resulting service applications.

  • You can share service applications across multiple Web applications within the same farm.

  • Some service applications can be shared across farms.

Capacity

There is no recommended limit for the number of service applications in a single farm.

Sharing and isolation

Service applications can be shared in two ways:

  • Sharing the service application and the service data. This is the default behavior for services that are shared across Web applications. For example, search results are shared across Web applications that consume the same search application.

  • Sharing only the service application, but isolating the data by deploying the service in partitioned mode. In a hosted environment, you can deploy service applications in partitioned mode by using Windows PowerShell. Each tenant's data is stored in a separate partition in the database for the service. A tenant's subscription ID is used to map the tenant's service data to their sites. For example, if you deploy the search service in partitioned mode, each tenant will only see search results for their own content.

    Note:

    Not all service applications support partitioning.

Conversely, service applications can be isolated in two ways:

  • Deploying multiple service applications in separate application pools to achieve process isolation of services and service data. For example, a finance team might warrant a separate and dedicated Business Data Connectivity application.

  • Deploying services in partitioned mode. This approach works well in hosted environments in which tenants will never share service data. However, it might not be practical in environments where there is a mixture of needs for shared and isolated service data.

If needed, you can additionally isolate service applications by deploying them to separate application pools to achieve process isolation. However, application pools are a limited resource and farm performance is affected if too many application pools are used. For more information, see Application pools in this article.

Configurable items

The following table displays configurable items that contribute to isolation and sharing.

Item

Description

Default group

By default, all service applications are included in the default group. You can add and remove service applications from the default group at any time, including when you create one.

When you create a Web application, you can select the default group or you can create a custom group of services. You create a custom group of services by selecting only the service applications that you want the Web application to use.

Connection (proxy)

When you create a service application, a connection for the service application is created at the same time. A connection is a virtual entity that connects Web applications to service applications. Some service applications, such as the Managed Metadata Service, store settings in the connections. In Windows PowerShell, connections are called proxies.

Service application permissions

You can delegate management of service applications to other users by granting them permissions to one or more of the service applications.

Trusted My Site host locations

In organizations where multiple User Profile Service applications are deployed, this feature ensures that users create a My Site in the location that is intended for their profile. This feature prevents users from creating multiple My Sites across an organization.

Administration

Configuration and management of service applications can be delegated to administrators who specialize in managing individual services, such as search, user profiles, and managed metadata.

In a hosted environment, tenants can manage some of the service settings for their organization.

Planning recommendations

Configure service applications either to share resources across multiple Web applications or isolate content.

For example, multiple sites that reside in different Web application and application pools can be unified by sharing services in the default proxy group to provide taxonomy, content type, and profile sharing across an intranet. This provides for personalization and enterprise-wide standardization across many sites and applications. This choice provides an example of balancing process isolation (by implementing separate Web applications and application pools) with the business need to share information and leverage profile data across the applications.

You can also configure service applications to enhance your overall isolation goals. For example, using a dedicated set of services for partner collaboration ensures that partner users cannot search on or access sensitive information within your intranet environment. You can configure individual services to further isolate content between site collections. For example, you can:

  • Limit search scopes to the individual site collections.

  • Configure the User Profile service to only display users that are part of the same organizational unit in Active Directory Domain Services (AD DS).

  • Use the Stsadm command-line tool to configure the People Picker to display only users that are members of the site collection.

When you design your services strategy for an organization, consider the ways in which you can configure the individual services to enhance your overall content sharing or isolation goals.

When you design a services strategy for a hosting environment, determine which services will be available and partitioned.

Application pools

In Internet Information Services (IIS) 7.0, an application pool is a group of one or more URLs that are served by a worker process or set of worker processes.

When you create Web applications and services in SharePoint 2010 Products, you select an application pool to use or you can create a new application pool. Each application pool has its own worker process and can have a separate identity (security account) which prevents two processes from interacting.

Capacity

The memory overhead of an application pool is 30-50 megabytes (MB) plus any memory for the applications running in the application pool process space. The various application demands usually quickly drives the memory usage of an application pool to 800 MB or larger. The limit for the number of application pools is influenced by the available memory on the system. That is, the number of application pools is dictated by the following two factors:

  • Available addressable memory.

  • The amount of memory consumed by applications running in the application pool.

The general guideline for acceptable performance is to use eight or fewer application pools.

Sharing and isolation

IIS application pools provide a way for multiple sites to run on the same server computer but still have their own worker processes and identity. This can help to prevent an exploit on one site that enables the attacker to inject malicious code that can attack sites in different application pools. More importantly, this strategy isolates code that introduces memory issues or other issues so that the problematic code does not affect all applications.

Configurable items

Using a separate application pool identity for each application pool is recommended, if needed, for security and reasons of isolation.

Administration

If separate identities are used for each application pool, each identity will have to be maintained.

Planning recommendations

Practically speaking, consider using a dedicated application pool for each of the following reasons:

  • To separate authenticated content from content that is primarily anonymous.

  • To isolate applications that store passwords for and interact with external business applications, for example, Business Data Connectivity connections.

Web applications

A Web application is an IIS Web site that is created and used by SharePoint 2010 Products. A Web application can be extended up to four times to create four additional zones in SharePoint 2010 Products, resulting in up to five IIS Web sites that are associated with a single Web application, each IIS Web site associated with a different zone. You can assign each Web application a unique domain name. For more information, see Zones in this article.

Sharing and isolation

Each Web application has a unique domain name, which helps to prevent cross-site scripting attacks.

Configurable items

The following table displays configurable items that contribute to isolation and sharing.

Item | Description
Service applications | Service applications are associated with Web applications. When you create a Web application, you can select the default proxy group (default set of service applications), or you can specify a custom set of service applications for the Web application. All sites within a Web application consume services from the same service applications. A service application can provide services for more than one Web application, thus sharing content and profile data across the Web applications.
Zones | Within a Web application, you can create up to five zones. Use zones to enforce different access and policy conditions for large groups of users.
Policy for Web application | Create a policy to enforce permissions across one or more zones in a Web application. A policy can be created for a specific user or user group. For more information, see Policy for a Web application in this article.

Administration

Ongoing administration of Web applications is not significant.

Planning recommendations

Generally speaking, use dedicated Web applications to:

  • Separate content available to anonymous users from content available to authenticated users.

  • Isolate users. For example, you can ensure that partners do not have access to intranet content by placing partner sites in a separate Web application.

  • Enforce permissions through the use of policies. For example, you can create a policy to explicitly deny write access to one or more groups of users. Policies for a Web application are enforced regardless of permissions configured on individual sites or documents within the Web application.

  • Optimize database performance. Applications achieve better performance if they are placed in content databases with other applications with similar data characteristics. For example, the data characteristics of My Sites typically include a large number of sites that are small in size. In contrast, team sites typically encompass a smaller number of very large sites. By placing these two different types of sites in separate Web applications, the resulting databases are composed of data with similar characteristics, which optimizes database performance.

  • Optimize manageability. Because creating separate Web applications results in separate sites and databases, you can implement different limits for each site's Recycle Bin, expiration, and size, and negotiate different service-level agreements. For example, you might allow more time to restore sites that are not critical to your business.

Zones

Zones represent different logical paths (URLs) of gaining access to the same Web application. Within each Web application, you can create up to five zones using one of the available zone names: Default, Intranet, Internet, Custom, or Extranet. Each name can only be selected once per Web application. Each zone is represented by a different Web site in IIS.

The Default zone is the zone that is first created when a Web application is created. The other zones are created by extending a Web application.

Capacity

You can create up to five zones within a Web application. Typically, zones are coordinated across Web applications so that zones of the same name are configured for the same users.

Sharing and isolation

Zones provide a method of partitioning users by:

  • Authentication type: Each zone can be configured to use a different authentication provider, enabling you to share the same content across partner companies.

  • Network zone: Each zone can be configured to accommodate users entering from a different network zone, such as an extranet or the Internet.

  • Policy permissions: You can explicitly allow or deny read or write access to content per zone based on a user account or a group account.

Configurable items

The following table displays configurable items that contribute to isolation and sharing.

Item | Description
Authentication provider | Each zone can be configured to use a different authentication provider.
Anonymous access | Turn anonymous access on or off per zone.
Secure Sockets Layer (SSL) | Turn SSL on or off per zone.
Public URL and alternate access mapping | Specify the domain name users will type to access content in the Web application. Alternatively, use alternate access mapping to map user-friendly or zone-appropriate URLs to the default URL (server name and port) for each zone. Alternate access mapping provides support for off-box termination of SSL. Off-box termination of SSL is when a proxy server terminates an SSL request and then forwards the request to a Web server by using HTTP. In this case, alternate access mappings can be configured to return these requests using SSL, thus maintaining secure communication between the client and the proxy server.
Policy for Web application | Create a unique set of policies for each zone within the Web application. If you have a special group of users that require exceptions to your overall security policy, consider using a separate zone to accommodate these users.

Administration

If you use alternate access mapping, consider that all public URLs require Domain Name System (DNS) entries to map the public URLs to the IP address of the load balancer used for the farm.

Planning recommendations

When you design zones, several key decisions are critical to the success of the deployment. These decisions include design and configuration decisions for the following zones:

  • The Default zone

  • Zones for external access

The following sections describe some of the planning recommendations and requirements for zones, including the default zone.

  • Administrative e-mail is sent with links from the Default zone. This includes e-mail to owners of sites that are approaching quota limits. Consequently, users who receive administrative e-mail messages and alerts must be able to access links through the Default zone. This is especially important for site owners.

  • Host-named site collections are only available through the Default zone. All users who are intended to access host-named site collections must have access through the Default zone.

  • The Default zone must be the most secure zone. This is because when a user request cannot be associated with a zone, the authentication and policies of the Default zone are applied.

In an extranet environment, the design of zones is critical for two reasons:

  • User requests can be initiated from several different networks, such as the internal network, a partner company network, or the Internet.

  • Users consume content across multiple Web applications. For example, an intranet environment might include sites that are hosted in several different Web applications. Additionally, employees might have access to both the intranet content and to partner collaboration content.

In an extranet environment, ensure that the following design principles are followed:

  • Configure zones across multiple Web applications to mirror each other. The configuration of authentication and the intended users should be the same. However, the policies associated with zones can differ across Web applications. For example, ensure that the Intranet zone is used for the same employees across all Web applications. In other words, do not configure the Intranet zone for internal employees in one Web application and remote employees in another.

  • Configure alternate access mappings appropriately and accurately for each zone and each resource.

Policy for a Web application

A policy for a Web application enforces permissions on all content within a Web application, enabling you to set security policy for users at the Web application level. The permissions in a policy override all other security settings that are configured for sites and content.

You can configure policy based on users or user groups in AD DS, but not SharePoint groups. A policy can be defined for the Web application in general or just for a specific zone.

Capacity

There are no capacity restrictions that apply to policies for Web applications.

Sharing and isolation

A policy for a Web application provides a method of setting permissions based on users and the zone that they access content through.

For example, by using a policy, you can:

  • Allow Help desk staff access to all content.

  • Deny write access to partners or vendors.

  • Deny access to secure data to a group of users regardless of how site owners configure permissions.

  • Ensure that the crawl account has access to crawl all content.

Configurable items

The following table displays configurable items that contribute to isolation and sharing.

Item

Description

User policy

Create a policy that applies to users or user groups:

  • The policy can be applied to all zones or one zone.

  • You can enter user names, group names, or e-mail addresses.

  • Specify the permissions that you want to apply to the policy.

You can modify the default permission levels or create new permission levels by clicking Permission policy when you create the policy in Central Administration.

Anonymous policy

If anonymous access is enabled for the Web application or one or more zones, then you can create a policy that applies to all anonymous users. The default policy settings are:

  • None: No policy

  • Deny write: No write access

  • Deny all: No access

Anonymous user policy levels cannot be modified.

Permission policy

Edit the specific permissions associated with one of the default permission levels, or create a new permission policy level. Additionally, you can specify the particular permissions that allowed or denied for site collections and sites.

After creating a new permission policy level, you can create a user policy that uses the permission policy.

Administration

Ongoing administration of policies for Web applications is not significant.

Planning recommendations

Because policies are managed centrally, consider using policies to manage large groups of users, rather than individual users.

Content databases

By default, all content for a Web application is stored in one content database. You can separate content into multiple content databases at the site collection level. A content database can include one or more site collections. A single site collection cannot span multiple databases. Backing up and restoring sites takes place at the content database level.

Capacity

The guideline for acceptable performance is to implement 100 or fewer content databases per Web application.

Sharing and isolation

Planning for databases enables you to either optimize for efficiency (multiple site collections sharing a database) or isolation (one database per site collection).

Achieve scale efficiency by managing databases to the maximum target size. In this case, you configure database settings to add new site collections to existing databases until the maximum number of site collections has been reached. You calculate the maximum number of site collections by estimating the average or maximum size of site collections divided into the maximum target size for the database. This approach works well when you expect a large number of small site collections, such as My Sites.

Achieve isolation of content between teams or projects by limiting a database to one site collection. This approach enables you to independently manage the content of individual teams. For example, you can independently manage each team's database for backup, recovery, and migration. This approach provides the opportunity to implement different service-level agreements for different teams or projects. This approach also enables you to manage content to the lifecycle of a project. For example, you can archive a database when a project is completed.

Configurable items

The following table displays configurable items that contribute to isolation and sharing.

Item | Description
Database server | Specify which SQL Server computer a content database is created on.
Failover server | You can choose to associate a content database with a specific failover server that is used in conjunction with SQL Server database mirroring.
Capacity settings | You can specify the number of sites that can be created before a warning event is generated and the maximum number of sites that can be created in each database.

Administration

A manageable database administration plan balances the number of databases with the resources required to manage the databases.

Administration of databases includes:

  • Creating new databases for new team sites or site collections that require dedicated databases.

  • Monitoring database sizes and creating new databases when target sizes are approached.

  • Backing up and restoring databases.

Planning recommendations

Choose one of the following two approaches:

  • Establish target sizes for content databases with appropriate size-warning thresholds. Create new databases when size-warning thresholds are reached. With this approach, site collections are automatically added to the available database or databases, based on target sizes alone.

  • Associate site collections with specific content databases. This approach enables you to place one or more site collections in a dedicated database that can be managed independently from other databases.

If you want to associate site collections to specific content databases, you can use the following methods to accomplish this:

  • Use Windows PowerShell to create a site collection in a new database.

  • Apply the following database capacity settings on the Manage Content Database Settings page on the SharePoint Central Administration Web site:

    • Number of sites before a warning event is generated = 0

    • Maximum number of sites that can be created in this database = 1

  • Add a group of site collections to a dedicated database by performing the following steps:

    1. Add a content database for the Web application and ensure that the database status is set to Ready.

    2. Set the status of all other databases to Offline. While content databases are offline, new site collections cannot be created. However, existing site collections in offline databases are still accessible for both read and write operations.

    3. Create the site collections. They are automatically added to the online database.

    4. Set the status of all other databases back to Ready.

Site collections

A site collection is a set of Web sites that have the same owner and share administration settings. Each site collection contains a top-level Web site and can contain one or more subsites.

Capacity

The recommended guideline for acceptable performance is to implement fewer than 50,000 site collections per content database; however, performance can be affected at about 10,000 site collections. Scaling out by distributing site collections across multiple database servers provides additional storage capacity and throughput.

Sharing and isolation

Site collections introduce several sharing and isolation opportunities that affect permissions, navigation, and feature deployment.

The following items can be shared within a site collection and cannot be shared across site collections (except items that are stored in a file system, such as features in the _layouts directory):

  • Master pages

  • Page layouts

  • Images

  • Site templates

Additionally, permissions and navigation are isolated at the site collection level in the following ways:

  • Subsites within a site collection can inherit permissions from the top-level site.

  • Site collections cannot inherit permissions from other site collections.

  • There is no built-in navigation from one site collection to another.

Finally, SharePoint Server 2010 aggregates search results across site collections based on a user's permissions, regardless of the number of site collections or databases (depending on search scopes).

It is important to note that although permissions are enforced on individual sites, the sites are still vulnerable to cross-site scripting attacks from other sites within the domain.

Configurable items

The following table displays configurable items that contribute to isolation and sharing.

Item

Description

Site collection administrator

You can specify one user to be the primary site collection administrator and one user to be the secondary site collection administrator. In Central Administration, you cannot enter more than one account for these roles, nor can you enter a group account for these roles.

Site template

A site template determines which lists and features will be available on your new site. Many aspects of a site can be customized after creation. However, the site template cannot be changed once the site is created.

Quota template

You can apply a quota template to limit resources used for a site collection. The following templates are provided:

  • Personal Site (100 MB)

  • Team Sites (2,000 MB)

The following table displays configurable items within a site collection that contribute to isolation and sharing. These settings are available after you create the site collection using the settings in the previous table.

Item | Description
Site collection administrators | You can specify multiple user accounts to be site collection administrators. You cannot add group accounts.
Permission level | Add user and group accounts to site collections and specify permission levels for each.

Administration

Site collection creation does not require DNS entries (unless you are creating host-named site collections) and can be easily automated or delegated to users. You can create site collections for your team sites centrally, or you can allow users to create their own site collections by using Self-Service Site Management.

Using a dedicated database for a site collection provides the ability to perform backup and recovery at the site collection level.

Planning recommendations

Site collections bridge logical architecture and information architecture. When you design your site collections, consider the following two design tasks:

  • Design consistent URLs across your organization.

  • Create logical divisions of content.

Unless you are using host-named site collections, each Web application must have a single root-level site collection. This provides a single URL path into the sites that reside in the Web application. This is also a requirement if you are implementing multiple zones within a Web application. For more information, see Host-named site collections in this article.

Many organizations plan to implement multiple site collections within a Web application for use by different teams or divisions within the organization. Common design goals include the following:

  • Maintain a separate and independent site collection for each team.

  • Create a unique URL for each team.

  • Isolate content between teams.

To satisfy these goals, you can use managed paths to incorporate multiple top-level site collections within a Web application. By defining managed paths, you can specify which paths in the URL namespace of a Web application are used for site collections. You can specify that one site collection or more than one site collection exists at a distinct path below the root site. Without managed paths, all sites created below the root site collection are part of the root site collection.

You can create the following two types of managed paths:

  • Explicit inclusion: A site collection with the explicit URL that you assign. An explicit inclusion is applied to only one site collection. You can associate each of these site collections with a different content database if you want to manage growth and to provide the opportunity to back up and restore these sites separately. An example URL for a site collection created by using this method is http://fabrikam/hr. The limit on site collections created with an explicit inclusion is approximately 100 site collections within a Web application; however, 20 is a good operational maximum. If your organization requires a greater number of site collections, use a wildcard inclusion instead.

  • Wildcard inclusion: A path that is added to the URL. This path indicates that all sites that are specified directly after the path name are unique site collections. This option is typically used to support Self-Service Site Management, such as My Sites or sites created for partner collaboration. Example URLs for site collections created by using this method are http://partnerweb/sites/project1 and http://partnerweb/sites/project2. In these examples, "http://partnerweb" represents the root-level site collection and "/sites" represents the wildcard inclusion.

Sites

A site consists one or more related Web pages and other items (such as lists, libraries, and documents) that are hosted inside a site collection.

Capacity

The guideline for acceptable performance is to implement fewer than 250,000 sites per site collection. You can create a very large total number of Web sites by nesting the subsites. However, a large number of nested subsites can greatly affect the time it takes to upgrade sites. 5,000 sites within a site collection is a good operational target.

Sharing and isolation

Sites include built-in navigation from one subsite to another within a site collection. There is no built-in navigation from one site collection to another.

As with site collections, separate sites are vulnerable to cross-site scripting attacks from other sites within the domain.

Configurable elements

From within each site, you can add user or group accounts to the Owners group for that site.

Administration

You can use a variety of tools to back up and restore individual sites.

Host-named site collections

Host-named site collections are an option if you want to create multiple root-level site collections within a Web application. For example, administrators for hosting organizations use host-named site collections to create multiple domain-named sites.

There is no special mode, such as host header mode, that is required to create host-named site collections. You create host-named site collections by using Windows PowerShell. Additionally, by using Windows PowerShell, you can use managed paths with host-named site collections (New-SPManagedPath -HostHeader).

Host-named site collections give you more control over URLs. However, host-named site collections are only available through the Default zone. User accounts that are configured to authenticate through other zones cannot access host-named site collections.

In SharePoint 2010 Products, host-named site collections support off-box SSL termination. However, only the protocol scheme can be changed off-box (http:// or https://). The reverse proxy server cannot change the host name or the port number (except to switch from the default SSL port to the default HTTP port).

Capacity

You can create up to 100,000 host-named site collections within a single IIS Web site.

Sharing and isolation

The independent domain names that result from host-named site collections help prevent cross-site scripting attacks between two sites.

Administration

Administrative tasks for host-named site collections include the following:

  • Add host-named site collections by using Windows PowerShell.

  • Each host-named site collection requires a separate DNS entry.

My Sites

My Sites are special SharePoint sites that are personalized for each user. My Sites are enabled by default as part of the User Profile service, and every user in an organization can create a unique My Site. For information about capacity, sharing and isolation, and administration, see Sites earlier in this article.

See Also

Other Resources

Resource Center: Architecture Design for SharePoint Server 2010


Design sample: Corporate deployment (SharePoint Server 2010)
See Also

Published: July 15, 2010

This article describes a practical implementation of logical architecture components to achieve a workable design. This article is intended to be used together with the following design samples:

  • Design sample: Corporate portal with classic authentication

  • Design sample: Corporate portal with claims-based authentication

To download either of these models, see SharePoint Server 2010 design samples: Corporate portal with classic authentication or with claims-based authentication (http://go.microsoft.com/fwlink/p/?LinkId=196872).

In this article:

  • About the design samples

  • Overall design goals

  • Server farms

  • Users, zones, and authentication

  • Services

  • Authoring and publishing alternatives

  • Administration sites

  • Application pools

  • Web applications

  • Site collections

  • Content databases

  • Zones and URLs

  • Zone policies

The design samples illustrate a generic corporate deployment of Microsoft SharePoint Server 2010. The design samples apply nearly all of the logical architecture components and illustrate how these are incorporated into the overall design. The two samples illustrate the same services and sites, but incorporate different authentication methods, as follows:

  • Classic authentication: This design sample represents a path for upgrading sites from Microsoft Office SharePoint Server 2007 to Microsoft SharePoint Server 2010. This sample incorporates classic authentication, in which Windows authentication methods are used to access sites. A different zone for each authentication method is used. While Windows authentication is used for SharePoint sites, a firewall or gateway product can be configured to use forms authentication to collect Windows credentials that are forwarded to SharePoint Server 2010. Partner employee accounts are added to the corporate directory.

  • Claims authentication: This design sample incorporates the new claims authentication model. Multiple authentication providers and authentication types are implemented in a single zone. Claims authentication supports forms-based authentication, SAML token-based authentication, and Windows authentication. This design example adds partner companies using SAML token-based authentication to authenticate directly against partner directories. There are several provider options for partner employee accounts.

Use the design sample that best represents your requirements for authentication.

This article describes the design goals for the samples and explains how these goals are achieved using the logical architecture components illustrated in the samples.

About the design samples

The design samples illustrate a corporate deployment for a fictitious company named Fabrikam, Inc. The deployment encompasses two server farms. One server farm hosts the company intranet and the partner Web site. The second farm hosts the company Web site (www.fabrikam.com). The rest of this section describes these top-level sites.

Intranet

The corporate intranet includes the following sites:

  • Published intranet content (such as HRweb)

  • Collaborative team sites

  • My Sites

Together, these are the content and collaboration sites that employees will use on a day-to-day basis. Individually, each of these applications represents a distinct type of content. Each type of content:

  • Emphasizes different features of SharePoint Server 2010.

  • Hosts data with different data characteristics.

  • Is subject to a different usage profile.

  • Requires a different permissions management strategy.

Consequently, design choices for each of these applications are intended to optimize the performance and security for each application.

The design of service applications brings these three applications together to provide:

  • Navigation across the applications

  • Enterprise-wide search

  • Shared profile data and enterprise metadata

The following diagram illustrates the three applications that make up the corporate intranet.

The URLs within this illustration are from the classic authentication design sample.

Partner Web application

The partner Web application hosts externally-available sites for secure collaboration with partner companies and individual partners. This application is intended for employees to easily create sites for secure collaboration. Partners are not allowed to access other types of content hosted on the server farm. The design for zones and service applications addresses this goal. Additionally, individual site owners manage permissions for their sites, inviting only necessary participants to collaborate.

In the design sample, the partner Web application is hosted by the same farm that hosts the intranet content.

Company Internet site

The company Internet site is the company's Internet presence. The content is made available to customers by configuring anonymous access with read-only permissions. Key factors that drive design choices for this application include:

  • Content isolation: Customers cannot access any other type of content hosted on the server farm.

  • Targeted management: Authenticated access is provided for employees who manage the Web site by performing administrative and authoring tasks.

  • Secure content authoring and publishing: A separate site collection is hosted on Farm A in the partner Web application for authoring. This enables secure collaboration and content development with both internal and remote employees, as well as with editorial partners who specialize in Web site development or content authoring. Content publishing is configured to automatically publish the content from the authoring site collection in the first farm to the production site collection in the second farm. The following diagram illustrates the publishing process.

Overall design goals

The design sample provides practical implementations of SharePoint Server 2010 features within several common types of applications. The design implementations for each of the individual applications are discussed in this article. The key design goals for the design sample include:

  • Using the minimum number of server farms to host the most common types of Web sites typically required by a corporation, that is, intranet, extranet, and Internet sites.

  • Creating a framework for designing an environment that can grow. Design decisions for individual applications do not prevent the addition of other applications. For example, an initial deployment might include only collaborative team sites or only the three applications that compose an intranet (team sites, My Sites, and published intranet content). By using a similar logical architecture design, you can add applications to the solution without affecting the design of the initial applications. In other words, the design does not incorporate design choices that limit the use of the environment.

  • Providing access for several groups of users without compromising the security of the content within the different types of sites. Users from different network zones (both internal and external) with different authentication providers can participate in collaboration. Also, users can only access the content they are intended to access. By following a similar logical architecture design, you create the opportunity to provide access to users in multiple locations and with different objectives. For example, your initial design might be intended only for internal employee access. However, by using a similar design you create the opportunity to also enable access to remote employees, partner employees, partner companies, and customers.

  • Ensuring that the design can be used in an extranet environment. Deliberate design choices are made to ensure that the server farms can be securely deployed in a perimeter network.

The rest of this article discusses each of the logical components that appear in the design sample (from top to bottom) and discusses the design choices that are applied to the design sample. The purpose of this approach is to demonstrate the different ways in which logical architecture components can be configured based on the application.

Server farms

The design sample incorporates the use of two server farms. This section describes the licensing requirements that affect the number of server farms that are required in a corporate environment and notes the topologies of the server farms that are illustrated in the design sample.

Licensing requirements

To host both intranet content and Internet sites, the design sample uses two server farms that use two difference licenses.

The following two server licenses are available for SharePoint Server 2010:

  • Microsoft SharePoint Server 2010, Server License: This is the appropriate license for collaborative intranet content. This license requires the use of Client Access Licenses (CALs). If you create sites for partner collaboration, you must ensure that you purchase the requisite number of CALs for partner employees.

  • Microsoft SharePoint Server 2010 for Internet sites: This license is intended for Internet-facing Web sites. This license does not require CALs. If you create sites for partner collaboration, you do not need to purchase additional CALs. However, you cannot create sites that are intended exclusively for use by your employees.

Customers who want to combine their SharePoint Server 2010 requirements under a single deployment may obtain licenses for both products, assign those licenses to the same server, and use the same running instance of the software at the same time under both licenses. However, customers must obtain CALs as required under the SharePoint Server 2010 use rights for users and devices that access content in any manner that is not permitted under the SharePoint Server 2010 for Internet Sites use rights.

For more information about farm licensing requirements, see the following resources:

  • Planning for server farms (SharePoint Server 2010)

  • SharePoint 2010: How to Buy (http://go.microsoft.com/fwlink/p/?LinkID=196728)

  • SharePoint License Overview: Determining Your Needs (http://go.microsoft.com/fwlink/p/?LinkId=210179)

  • Microsoft Volume Licensing Brief: Microsoft SharePoint Server 2010 for Internet Sites (http://go.microsoft.com/fwlink/p/?LinkId=210180)

Additionally, the design sample includes Microsoft Office Web Apps. Office Web Apps requires an Microsoft Office 2010 client license. In other words, if you make Office Web Apps available to partners, you must also purchase Office 2010 client licenses for them.

Topology of the server farms

Each server farm in the design sample is composed of five servers with the following topology:

  • Two front-end Web servers

  • One application server

  • Two database servers, either clustered or mirrored

The design sample illustrates the logical architecture of SharePoint Server 2010 by showing that:

  • All sites are mirrored across front-end Web servers.

  • The Central Administration site is installed on an application server to protect it from direct user access.

In reality, the number of server computers and the topology of the server farm are not important to the logical architecture, except to increase capacity and performance as needed. The logical architecture can be designed independent of the server farm topology. The performance and capacity planning process will help you size the server farm to meet performance and capacity goals. For more information, see Performance and capacity management (SharePoint Server 2010).

Scaling beyond two farms

Your business might require more than the two farms represented. Sites that are candidates for a dedicated farm include the following:

  • My Sites: Many organizations with large numbers of employees or students choose to host My Sites on a dedicated server farm.

  • Authoring and staging sites: If published content is complex or extensive, authoring and staging might be better optimized by hosting these sites on a dedicated single-server farm using the Microsoft SharePoint Server 2010 for Internet sites license. For example, publishing content that includes tagged metadata increases the complexity of the services design sample between both the authoring farm and the published farm, including sharing the service across farms and making decisions about how the service might be shared across other types of Web applications in a multi-use farm.

  • Partner sites: Security and isolation requirements might warrant a dedicated farm for partner collaboration. This creates physical isolation between internal-only content and content that is developed in collaboration with external partners.

Users, zones, and authentication

When you create a Web application in SharePoint Server 2010, you must choose either claims-based authentication or classic-mode authentication. The authentication mode determines how accounts are used internally by SharePoint Server 2010. The following table summarizes the two approaches.

Type of authentication | Description | Recommendations
Classic mode authentication | User accounts are treated by SharePoint Server 2010 as traditional Windows Active Directory accounts. The following authentication protocols are supported: Kerberos, NTLM, Basic, Digest, and anonymous. Forms-based authentication is not supported. Only one authentication method can be configured on a zone. | Classic mode is recommended for upgrading environments from Microsoft Office SharePoint Server 2007, in which forms-based authentication is not a requirement. You do not need to run user migration if you are upgrading and select classic mode authentication.
Claims-based authentication | User accounts are treated by SharePoint Server 2010 as claims identities. Windows accounts are automatically converted to claims identities. This mode additionally supports forms-based authentication and authentication against a trusted identity provider. Multiple authentication types can be configured on a single zone. | Claims-based authentication is recommended for new SharePoint Server 2010 deployments. It is required for upgrading Office SharePoint Server 2007 solutions that require forms-based authentication.

The two design samples that are discussed in this article represent these two options. The following sections specifically discuss how authentication is incorporated into the two design samples.

Classic mode authentication design sample

The design sample that uses classic mode authentication incorporates the traditional one-zone-per-type of authentication approach that was incorporated in the previous release. For this reason, this example provides a path for upgrading from Office SharePoint Server 2007 to SharePoint Server 2010.

The one caveat is that forms-based authentication is not supported in classic mode. When using classic mode authentication, all authenticated accounts must reside within Active Directory Domain Services (AD DS). The recommendation for users who are accessing sites remotely is to use forms-based authentication on the firewall or gateway product to collect Windows credentials that are forwarded to the SharePoint farm.

The classic mode sample illustrates four different classes of users, each assigned to a different zone. Within each Web application, you can create up to five zones using one of the available zone names: Default, Intranet, Internet, Custom, or Extranet.

The following table shows the zones, users, and authentication type prescribed by the classic mode design sample.

Table showing zones, users, and authentication.

The search crawl account requires access to at least one zone using NTLM authentication. If none of the zones for users is configured to use NTLM, configure the custom zone to use NTLM authentication.

Claims-based authentication design sample

Claims-based authentication is recommended for all new deployments of SharePoint Server 2010 and required for upgrading Office SharePoint Server 2007 solutions that require forms-based authentication. In addition to providing the standard Windows authentication methods, claims-based authentication allows you to authenticate against other directories, such as Windows Live ID, Active Directory Federation Services 2.0, or a third-party identity provider that supports SAML tokens and the WS Federation protocol.

In the claims-based authentication design sample, claims-based authentication is used on the collaborative farm. Claims-based authentication allows multiple types of authentication to be used in the same zone. The design sample uses the Default zone for all authentication types. The following table shows the zones, users, and authentication type that are prescribed by the sample for the collaborative farm.

Table showing zones, users, and authentication.

In the design sample, the Published Intranet Content site, Team Sites, and My Sites are only accessible to employees, whether they are inside or outside the network. The design sample implements only one URL (using SSL) for each of these sites that can be used both internally and externally. Active Directory accounts are used. If needed, LDAP can be used with either forms-based authentication or SAML, which requires additional configuration.

In the design sample, the partner Web application represents an extranet site that is accessible by partner employees and partner companies. Using claims-based authentication in this scenario requires that trust be configured with one or more external secure token service (STS). This can be provided using either one of the following approaches:

  • The SharePoint farm can be configured to trust an external STS, such as the STS associated with Windows Live (for authenticating individual partners) or the STS that resides in a partner company (for authenticating directly against the partner directory).

  • The STS inside the corporate environment can be configured to trust an external STS. This relationship must be established explicitly by administrators in the two organizations. In this scenario, the SharePoint farm is configured to trust only the STS that resides in its own corporate environment. This internal STS verifies the token it receives from the external STS, and then issues a token that allows the partner user to access the SharePoint farm. This is the recommended approach.

An alternative to implementing a claims-based environment to authenticate partners is to use forms-based authentication and manage these accounts using a separate store, such as a database.

For more information about implementing a claims-based authentication environment, see the following white paper: Claims-based Identity for Windows: An Introduction to Active Directory Federation Services 2.0, Windows CardSpace 2.0, and Windows Identity Foundation (http://go.microsoft.com/fwlink/p/?LinkId=196776).

In the claims-based authentication design sample, the published farm is set up to use classic mode authentication. An alternative is to use claims-based authentication for the published farm as well and implement a separate zone for anonymous users. The important element of the design is to use a separate zone for anonymous users to create isolation between the read-only environment and the read-write environment, regardless of which authentication mode is implemented. The following table shows the zones, users, and authentication type that are illustrated for the published farm.

Table showing zones, users, and authentication.

Again, the search crawl account requires access to at least one zone using NTLM authentication. NTLM authentication can be added to a claims-authentication zone, if needed. In classic-mode, if none of the zones for users is configured to use NTLM, configure the custom zone to use NTLM authentication.

Zones

When you design zones, several key decisions are critical to the success of the deployment. These decisions include design and configuration decisions for the following zones:

  • The Default zone

  • Zones for external access

The following sections describe the decisions that are incorporated in the design sample.

Configuration requirements of the default zone

The zone that involves the greatest consideration is the Default zone. SharePoint Server 2010 places the following requirements on how the Default zone is configured:

  • When a user request cannot be associated with a zone, the authentication and policies of the Default zone are applied. Consequently, the Default zone must be the most secure zone.

  • Administrative e-mail is sent with links from the Default zone. These include e-mail to owners of sites that are approaching quota limits. Consequently, users who receive these type of e-mails and alerts must be able to access links through the Default zone. This is especially important for site owners.

  • Host-named site collections are only available through the Default zone. All users who are intended to access host-named site collections must have access through the Default zone.

Configuring zones for an extranet environment

In an extranet environment, the design of zones is critical for the following two reasons:

  • User requests can be initiated from several different networks. In the design sample, users initiate requests from the internal network, the Internet, and partner companies.

  • Users consume content across multiple Web applications. In the design sample, the intranet is composed of three different Web applications. Additionally, internal and remote employees can potentially contribute to and administer content across all of the Web applications: intranet, Partner Web, and the company Internet site.

In an extranet environment, ensure that the following design principles are followed:

  • Configure zones across multiple Web applications to mirror each other. The configuration of authentication and the intended users should be the same. However, the policies associated with zones can differ across Web applications. For example, ensure that the Intranet zone is used for the same employees across all Web applications. In other words, do not configure the Intranet zone for internal employees in one Web application and remote employees in another.

  • Configure alternate access mappings appropriately and accurately for each zone and each resource. Alternate access mappings are automatically created when you create the zone. However, SharePoint Server 2010 can be configured to crawl content in external resources, such as a file share. Links to these external resources must be created manually for each zone by using alternate access mappings.

If zones across Web applications do not mirror each other and links to external resources are not appropriate, the risks include:

  • Server names, Domain Name System (DNS) names, and IP addresses can potentially be exposed outside of the internal network.

  • Users might be unable to access Web sites and other resources.

Services

The services architecture illustrated shows the most complex option for deploying services across the three different types of sites: Intranet, partner Web, and the company Internet site. Dedicated and partitioned services are deployed for the partner Web site. A separate instance of the Managed Metadata service application is deployed for exclusive us by the authoring site collection and published Internet site.

A much simpler alternative is to deploy one set of service applications and to share each service, as needed, across the sites. This architecture relies on security trimming to show only content that users have access to. The following diagram illustrates this simpler approach.

The primary design decision for deploying service applications is how broadly to spread the organization taxonomy. Services architecture can be simplified by sharing managed metadata, user profile, and search across all Web apps and relying on security trimming to manage access to content. In the simplified architecture described in this article, one instance of the Managed Metadata service is shared across all sites. However, with this configuration all users have access to the corporate taxonomy. Solution architects must decide whether to implement multiple instances of the Managed Metadata service. They'll also need to decide how broadly to share the User Profile data.

Partner Web site

For the partner Web site (custom group on Farm 1), the minimum services prescribed by the design sample are Search and Managed Metadata. If you add Office Web Apps to the group of services used by the partner Web site, ensure that you have the appropriate licenses for all users of this site, including partners. The User Profile service application is not included by the design sample to prevent partner users from browsing people data in the organization.

In the simplified architecture, partners have access to the entire corporate taxonomy and can browse people data in the organization. However, search limits results to sites and content that partners have access to.

If your partner sites require content isolation between projects, deploying dedicated and partitioned service applications is a good choice, as illustrated in the design sample. This increases the complexity of the services architecture but ensures that partners do not have access to metadata associated with the Intranet content or even other projects within the partner Web site.

Company Internet site

In the simplified design architecture, the corporate Managed Metadata service application is also shared with the published Internet site. In the design sample, a dedicated instance of the Managed Metadata service application is deployed on the collaboration farm for exclusive use by the authoring site collection and the published farm.

If the published farm is anonymous and read-only, there is no risk of exposing managed metadata that is not associated with the published content. Anonymous users have access only to the content that is published and cannot submit ratings or create other types of metadata.

Sharing the Managed Metadata service application across the organization (as illustrated in the simplified architecture in this article) allows authors to utilize the corporate taxonomy. In contrast, deploying a dedicated instance of the service for authoring and publishing (illustrated in the design sample) ensures that managed metadata is isolated.

A dedicated instance of the Search service application is deployed to the farm hosting the company Internet site. This is the recommended configuration for a published Internet-facing site.

Authoring and publishing alternatives

For the company Internet site, the design sample illustrates a publishing process that includes using the content deployment feature to move content from an authoring site collection to the publishing farm. A simpler alternative to this approach is to author directly on the publishing farm. This is commonly referred to as authoring in production.

Authoring on the production environment greatly simplifies the solution by consolidating services on one farm and removing the need for content deployment. The design sample includes the additional zones that can be used by authors to work securely without impacting anonymous users. Be sure to block incoming anonymous access on the port associated with the zones used by authors. If your site has less than 500 writes per hour of authoring activity, it is unlikely that performance of the published site will be impacted when authoring on the production environment.

SharePoint Server 2010 includes publishing features that can be used in this scenario to ensure that content is not exposed to anonymous users until it is ready. For more information, see the following articles:

  • Schedule the start and end date for a published page (http://go.microsoft.com/fwlink/p/?LinkId=196777)

  • Approve or reject a pending submission (http://go.microsoft.com/fwlink/p/?LinkId=196778)

  • Set permissions for publishing (http://go.microsoft.com/fwlink/p/?LinkId=196779)

Administration sites

In the design sample, the Central Administration site for each server farm is hosted on an application server. This protects the site from direct user contact. If a performance bottleneck or security compromise affects the availability of the front-end Web servers, the Central Administration site remains available.

The load-balanced URLs for administration sites are not mentioned in the design sample or in this article. Recommendations include the following:

  • If port numbers are used in administrative URLs, use non-standard ports. Port numbers are included in URLs by default. While port numbers are typically not used in customer-facing URLs, using port numbers for administration sites can increase security by limiting access to these sites to non-standard ports.

  • Create separate DNS entries for administration sites.

In addition to these recommendations, you can optionally load-balance the Central Administration site across multiple application servers to achieve redundancy.

Application pools

Separate Internet Information Services (IIS) application pools are typically implemented to achieve process isolation between content. Application pools provide a way for multiple sites to run on the same server computer but still have their own worker processes and identity. This mitigates an exploit on one site that provides an opportunity for an attacker to inject code onto the server to attack other sites.

Practically speaking, consider using a dedicated application pool for each of the following scenarios:

  • To separate authenticated content from anonymous content.

  • To isolate applications that store passwords for and interact with external business applications (although the Secure Store Service can be used for this purpose instead).

  • To isolate applications where users have great liberty to create and administer sites and to collaborate on content.

The design sample uses application pools in the following way:

  • The administration site is hosted in a dedicated application pool. This is a requirement of SharePoint 2010 Products.

  • All service applications are deployed to a single application pool. Unless there is a compelling reason to deploy service applications to different application pools, this is the recommended configuration. Using one application pool for all service applications optimizes performance and reduces the number of application pools to manage.

  • Intranet content is divided into two different application pools. Collaborative content (My Sites and team sites) is hosted in one application pool. The published intranet content is hosted in a separate application pool. This configuration provides process isolation for the published intranet content in which business data connections are more likely to be used.

  • The partner Web application is hosted in a dedicated application pool.

  • The company Internet site is hosted in a dedicated application pool on the second farm. If this farm were also to host content for partner collaboration, these two types of content (Internet and partner) would be hosted in two different application pools.

Web applications

A Web application is an IIS Web site that is created and used by SharePoint 2010 Products. Each Web application is represented by a different Web site in IIS.

Generally speaking, use dedicated Web applications to:

  • Separate anonymous content from authenticated content. In the design sample, the company Internet site is hosted in a dedicated Web application and application pool.

  • Isolate users. In the design sample, the partner Web site is hosted in a dedicated Web application and application pool to ensure that partners do not have access to the intranet content.

  • Enforce permissions. A dedicated Web application provides the opportunity to enforce permissions by policies by using the Policy for Web Application page in Central Administration. For example, you can create a policy on the company Internet site to explicitly deny write access to one or more groups of users. Policies for a Web application are enforced regardless of permissions configured on individual sites or documents within the Web application.

  • Optimize performance. Applications achieve better performance if they are placed in Web applications with other applications of similar data characteristics. For example, the data characteristics of My Sites include a large number of sites that are small in size. In contrast, team sites typically encompass a smaller number of very large sites. By placing these two different types of sites in separate Web applications, the resulting databases are composed of data with similar characteristics, which optimizes database performance. In the design sample, My Sites and team sites do not have unique data isolation requirements—they share the same application pool. Nonetheless, My Sites and team sites are placed in separate Web applications to optimize performance.

  • Optimize manageability. Because creating separate Web applications results in separate sites and databases, you can implement different site limits (recycle bin, expiration, and size) and negotiate different service-level agreements. For example, you might allow more time to restore My Site content if this is not the most critical type of content within your organization. This allows you to restore more critical content before restoring My Site content. In the design sample, My Sites are placed in a separate Web application to enable administrators to more aggressively manage growth compared to other applications.

Site collections

Site collections bridge logical architecture and information architecture. The design goals for site collections in the design sample are to satisfy requirements for URL design and to create logical divisions of content.

To satisfy the requirements for URL design, each Web application includes a single root-level site collection. Managed paths are used to incorporate a second tier of top-level site collections. For more information about URL requirements and using managed paths, see "Zones and URLs" later in this article. Beyond the second tier of site collections, each site is a subsite.

The following diagram illustrates the site hierarchy of Team Sites.

Given the requirement for a root-level site collection, the design decisions revolve around the second tier of site collections. The design sample incorporates choices based on the nature of the application.

Published intranet content

The assumption for the published intranet content Web application is that multiple divisions within the company will host published content. In the design sample, each division's content is hosted in a separate site collection. This provides the following advantages:

  • Each division can manage and permission their content independently.

  • Each division's content can be stored in a dedicated database.

The disadvantages of using multiple site collections include:

  • Master pages, page layouts, templates, Web Parts, and navigation cannot be shared across site collections.

  • More effort is required to coordinate customizations and navigation across site collections.

Depending on the information architecture and design of the intranet application, the published content can appear to the user as a seamless application. Alternatively, each site collection can appear to be a separate Web site.

My Sites

My Sites have distinct characteristics and the recommendations for deploying My Sites are straightforward. In the design sample, the My Site application incorporates a top-level site with the URL of http://my. The first top-level site collection that is created uses the My Site Host template. A managed path is incorporated (by using wildcard inclusion), which allows an indefinite number of user-created sites. All sites below the managed path are independent site collections that inherit the My Site Host template. The user name is appended to the URL in the form http://my personal/username. The following illustration illustrates My Sites.

For more information about designing a My Sites application, see Plan for My Sites (SharePoint Server 2010).

Team sites

You can use either of the following two approaches for designing site collections within a Team Site application:

  • Allow teams to create site collections through self-service site creation. The advantage of this approach is that teams can easily create a site, as needed, without assistance from an administrator. However, there are many disadvantages to this approach, including:

    • You lose the opportunity to implement a thoughtful taxonomy.

    • The application can become difficult to manage.

    • Sites are easily abandoned.

    • You cannot share templates and navigation across projects or teams that might otherwise share a site collection.

  • Create a finite number of site collections for your organization based on the way your organization operates. In this approach, site collections are created by a SharePoint administrator. After the site collection is created, teams can create sites within the site collection based on their needs. This approach provides the opportunity to implement a thoughtful taxonomy that provides structure to the way team sites are managed and grow. There is also more opportunity to share templates and navigation between projects and teams that share a site collection.

The design sample incorporates the second approach, which results in a similar site collection hierarchy for team sites as for published intranet content. The challenge for information architects is to create a second tier of site collections that makes sense for the organization. The following table shows suggestions for different types of organizations.

Type of organization Suggested site collection taxonomies

Product development

  • Create a site collection for each product under development. Allow contributing teams to create sites within the site collection.

  • For each long-term development project, create a site collection for each large team that contributes to the product. For example, create one site collection for each of the following teams: designers, engineers, and content developers.

Research

  • Create a site collection for each long-term research project.

  • Create a site collection for each category of research projects.

Higher education institution

  • Create a site collection for each academic department.

State legislative office

  • Create a site collection for each political party. Government officials who share party affiliation can share templates and navigation.

  • Create a site collection for each committee. Or, create one site collection for all committees.

Corporate law office

  • Create a site collection for each corporate client.

Manufacturing

  • Create a site collection for each line of products.

Partner Web application

Partner Web is intended to be used for collaboration with external partners on projects that have finite scopes or finite durations. By design, sites within the partner Web application are not intended to be related. The requirements for the partner Web application include ensuring that:

  • Project owners can easily create sites for partner collaboration.

  • Partners and other contributors have access to only the project they work on.

  • Permissions are managed by site owners.

  • Search results from within one project do not expose content from other projects.

  • Administrators can easily identify sites that are no longer used and delete these sites.

To satisfy these requirements, the design sample incorporates a site collection for each project. In this way, the following benefits occur:

  • Individual site collections provide the appropriate level of isolation between projects.

  • Self-service site creation can be implemented.

Because the partner Web application also hosts the site collections for developing content for the company Internet site, separate site collections are created for authoring and staging.

Company Internet site

The company Internet site incorporates a single root-level site collection. All sites beneath this site collection are subsites. This structure simplifies URLs for pages within the site. The following diagram illustrates the architecture of the company Internet site.

Company Internet site

Content databases

You can use the following two approaches to incorporate content databases into the design (the design sample incorporates both approaches):

  • Establish target sizes for content databases with appropriate size warning thresholds. Create a new database when size warning thresholds are reached. With this approach, site collections are automatically added to the available database or databases, based on size targets alone. This is the most commonly used approach.

  • Associate site collections to specific content databases. This approach enables you to place one or more site collections in a dedicated database that can be managed independently from the rest.

If you choose to associate site collections to specific content databases, you can use the following methods to accomplish this:

  • Use Windows PowerShell to create a site collection in a specific database.

  • Dedicate a database to a single site collection by applying the following database capacity settings:

    • Number of sites before a warning event is generated = 1

    • Maximum number of sites that can be created in this database = 1

  • Add a group of site collections to a dedicated database by performing the following steps:

    1. Within the Web application, create the database and set the database status to Ready.

    2. Set the status of all other databases to Offline. While content databases are offline, new site collections cannot be created. However, existing site collections in offline databases are still accessible for both read and write operations.

    3. Create the site collections. They are automatically added to the database.

    4. Set the status of all other databases back to Ready.

Published intranet content

For published intranet content, the design sample incorporates a single database for ease of management. Add databases based on target size goals, if needed.

My Sites

For My Sites, the design sample achieves scale efficiency by managing databases to the maximum target size. The following settings are configured to achieve this goal:

  • Limit site storage to a maximum of: This setting, which you configure on the Quota Templates page in Central Administration, limits the size of a personal site.

  • Second stage Recycle Bin: This setting, which you configure on the Web Application General Settings page, determines how much additional space is allocated to the second-stage recycle bin.

  • Maximum number of sites that can be created in this database: This setting is configured when you create a database. Calculate the total allowable size of sites by using the numbers you specify for the previous two values. Then, based on the size goal for each database, determine how many sites will fit into the database.

The design sample provides the following example size settings based on a target database size of 175 gigabytes (GB) and a target My Site size of 1 GB:

  • Site size limits per site = 1 GB

  • Target size of database = 175 GB

  • Reserved for second-stage recycle bin = 15%

  • Maximum number of sites = 180

  • Site level warning = 150

When the site level warning is reached, create a new database. After you create the new database, new My Sites are added alternately to the new database and the existing database until the maximum number of sites for one of the databases is reached.

Team sites

For team sites, again the design sample achieves scale efficiency by managing databases to the maximum target size. Team sites for most organizations are expected to be much larger than My Sites. The design sample provides database settings based on a 30-GB limit for site collections. Choose a limit that is appropriate for team sites in your organization.

Another approach for organizations with teams that have large storage needs is to dedicate a single database to each top-level team site collection.

Partner Web

Similar to My Sites, Partner Web achieves scale efficiency by managing databases to the maximum target size. In the design sample, however, Partner Web also hosts the authoring site collection for the company Internet site. Consequently, database design incorporates both approaches:

  • Authoring site collection is hosted in a dedicated database.

  • Database and size settings are configured to manage all other sites and databases.

Because Partner Web is hosted in a dedicated Web application, you can create size limits that are more appropriate to the types of sites that are created. The design sample provides the following example size settings:

  • Target size of database = 200 GB

  • Storage quota per site = 5 GB

  • Maximum number of sites = 40

  • Authoring site collection hosted in dedicated database

Company Internet site

By using a single site collection in the design of the company Internet site, you use a single database for this Web application.

Zones and URLs

The design sample illustrates how to coordinate URLs across multiple applications within a corporate deployment.

Design goals

The following goals influence design decisions for URLs:

  • URL conventions do not limit the zones through which content can be accessed.

  • The standard HTTP and HTTPS ports (80 and 443) can be used across all applications in the design sample.

  • Port numbers are not included in URLs. In practice, port numbers are typically not used in production environments.

Design principles

To achieve these design goals, the following design principles are applied:

  • Host-named site collections are not used. Note that host-named site collections are different from IIS host headers. Host-named site collections do not work with the alternate access mappings feature. The alternate access mappings feature is required to access the same content through multiple domain URLs. Consequently, when host-named sites are used, these sites are available only through the Default zone.

  • Each application incorporates a single root site collection. This is a requirement for using alternate access mappings. If multiple root site collections are required within a Web application and you expect to use only the Default zone for user access, host-named site collections are a good option.

  • For the applications that include multiple high-level site collections, in which each site collection represents a top-level team or project (for example, team sites), the design sample incorporates managed paths. Managed paths provide greater control over URLs for these types of sites.

Design tradeoffs

Meeting the design goals results in some tradeoffs, including the following:

  • URLs are longer.

  • Host-named site collections are not used.

Designing load-balanced URLs

When you create a Web application, you must choose a load-balanced URL to assign to the application. Additionally, you must create a load-balanced URL for each zone that you create within a Web application. The load-balanced URL includes the protocol, scheme, hostname, and port, if used. The load-balanced URL must be unique across all Web applications and zones. Consequently, each application and each zone within each application requires a unique URL across the design sample.

Intranet

Each of the three Web applications that compose the intranet requires a unique URL. In the design sample, the target audience for the intranet content is internal employees and remote employees. In the claims authentication design sample, employees use the same URLs for each of these applications regardless of whether they are on site or remote. While this approach adds a layer of security to the SharePoint design (all traffic is SSL), this approach requires either routing internal traffic through the firewall or gateway product along with remote traffic or setting up a split DNS environment to resolve internal requests within the internal network.

For the classic authentication design sample, the URLs are different for internal and remote employees. The following table shows the URLs for internal and remote employees to access each application in the classic authentication design sample.

Application | Internal employee URL | Remote employee URL
Published intranet content | http://intranet | https://intranet.fabrikam.com
Team sites | http://teams | https://teams.fabrikam.com
My Sites | http://my | https://my.fabrikam.com

Partner Web site

In the design sample, the partner Web site is accessed by internal employees, remote employees, and partner employees. In the claims authentication design sample, each of these users enters the same URL, regardless of the authentication method. In the classic authentication design sample, each different type of user enters a different URL. Although both remote employees and partner employees access the partner Web site externally using SSL (HTTPS), each group requires a different URL to apply the benefits of using separate zones—that is, different authentication methods and different zone policies. The following table shows the URLs that internal employees, remote employees, and partners use to access the partner Web site, as shown in the classic authentication design sample.

Zone | URL
Internal employee URL | http://partnerweb
Remote employee URL | https://remotepartnerweb.fabrikam.com
Partner URL | https://partnerweb.fabrikam.com

Company Internet site

The company Internet site is a public site and can be accessed by any user by using the default URL, http://www.fabrikam.com. The policies of the Internet zone are applied (that is, anonymous access and deny write).

However, to support administration and authoring tasks on the public site, the design sample incorporates URLs for internal and remote employees. You can use policies for these zones ensure appropriate access to targeted security groups for authoring and maintenance tasks. Both the classic authentication and the claims authentication design samples use the same approach for this farm. The following table shows the URLs for each zone.

Zone | URL
Internal employee URL | http://fabrikamsite
Remote employee URL | https://fabrikamsite.fabrikam.com
Customer URL | http://www.fabrikam.com

Using explicit and wildcard inclusions for URL paths

By defining managed paths, you can specify which paths in the URL namespace of a Web application are used for site collections. You can specify that one site collection or more than one site collection exists at a distinct path below the root site. Without managed paths, all sites created below the root site collection are part of the root site collection.

You can create the following two types of managed paths:

  • Explicit inclusion: A site collection with the explicit URL that you assign. An explicit inclusion is applied to only one site collection. You can create many explicit inclusions below a root site collection. An example URL for a site collection created by using this method is http://intranet/hr. There is a performance impact for every explicit path added so the recommendation is to limit the number of site collections created with an explicit inclusion to about 20.

  • Wildcard inclusion: A path that is added to the URL. This path indicates that all sites that are specified directly after the path name are unique site collections. This option is typically used for site collections that support self-site creation, such as My Sites. An example URL for a site collection created by using this method is http://my/personal/user1.

The design sample incorporates the use of both types as described in the following sections.

Explicit inclusions: Published intranet content

In the design sample, the published intranet Web application incorporates the use of explicit inclusions.

Published intranet content

Within the published intranet content Web application, an explicit inclusion is used for each subsite, for example, HR, Facilities, and Purchasing. Each of these site collections can be associated with a different content database, if needed. The use of explicit inclusions in this example assumes that no other types of sites are created in the Web application, including wildcard inclusions.

The recommended limit for sites created using an explicit inclusion is about 20. If your organization requires a greater number of site collections, then consider using a wildcard inclusion or host-named site collections.

In the classic authentication design sample, the use of explicit inclusions results in the URLs shown in the following table.

Internal employee (Intranet zone) | Remote employee (Default zone)
http://intranet | https://intranet.fabrikam.com
http://intranet/hr | https://intranet.fabrikam.com/hr
http://intranet/facilities | https://intranet.fabrikam.com/facilities
http://intranet/purchasing | https://intranet.fabrikam.com/purchasing

In this example, the root site collection, http://intranet, represents the default home page for the intranet. This site is intended to host content for users.

Wildcard inclusions: Team Sites, My Sites, and Partner Web

Team Sites, My Sites, and the partner Web application incorporate the use of a wildcard inclusion. Wildcard inclusions are ideal for applications that allow users to create their own site collections and for Web applications that include a lot of site collections. A wildcard inclusion indicates that the next item after the wildcard is a root site of a site collection.

Team sites

Within the Team Sites application, wildcard inclusion is used for each team site collection. Good governance practices recommend that you keep the number of top-level team sites within a manageable number. Also, the taxonomy for team sites should be logical for the way your business operates.

In the classic authentication design sample, the use of wildcard inclusions results in the URLs shown in the following table.

Internal employee (Intranet zone) | Remote employee (Default zone)
http://teams/sites/Team1 | https://teams.fabrikam.com/sites/Team1
http://teams/sites/Team2 | https://teams.fabrikam.com/sites/Team2
http://teams/sites/Team3 | https://teams.fabrikam.com/sites/Team3

In this example, the root site collection, http://team, does not necessarily host content for users.

My Sites

My Sites offer self-service site creation. When a user browsing the intranet first clicks My Site, a My Site is automatically created for the user. In the design sample, My Sites include a wildcard inclusion named /personal (http://my/personal). The My Site feature automatically appends the user name to the URL.

In the classic authentication design sample, this results in URLs of the format shown in the following table.

Internal (Intranet zone) | Remote employee (Default zone)
http://my/personal/user1 | https://my.fabrikam.com/personal/user1
http://my/personal/user2 | https://my.fabrikam.com/personal/user2
http://my/personal/user3 | https://my.fabrikam.com/personal/user3

Partner Web

Partner Web is designed to allow employees to easily create secure sites for collaboration with external partners. To support this goal, self-service site creation is allowed.

In the classic authentication design sample, the partner Web application includes a wildcard inclusion named /sites (http://partnerweb/sites). This results in URLs of the format shown in the following table.

Internal employee (Intranet zone) | Remote employee (Default zone)
http://partnerweb/sites/project1 | https://remotepartnerweb.fabrikam.com/sites/project1
http://partnerweb/sites/project2 | https://remotepartnerweb.fabrikam.com/sites/project2
http://partnerweb/sites/project3 | https://remotepartnerweb.fabrikam.com/sites/project3

Partner contributors can access partner Web sites using the URLs listed in the following table.

Partner (Extranet zone)

https://partnerweb.fabrikam.com/sites/project1

https://partnerweb.fabrikam.com/sites/project2

https://partnerweb/fabrikam.com/sites/project3

The exception for the partner Web application, as illustrated in the design samples, is the collection dedicated to authoring the content for the company Internet site. For this site collection, an explicit inclusion is used. This provides an example of using both explicit inclusions and wildcard inclusions in the same Web application.

Coordinating URLs with AAM and DNS

Configure alternate access mappings (AAM) for each site URL in the farm. This ensures that Web requests are mapped to the correct site, especially in environments that use load balancing or reverse proxy technologies.

The following table lists the necessary information for creating or modifying alternate access mappings based on the classic authentication version of the logical architecture design sample.

Site | Host header | Zone | Port | AAM public URL
Published intranet content | intranet | Intranet | 80 | http://intranet
 | intranet.fabrikam.com | Default | 443 | https://intranet.fabrikam.com
Team sites | teams | Intranet | 80 | http://teams
 | teams.fabrikam.com | Default | 443 | https://teams.fabrikam.com
Self-service sites | sites | Intranet | 80 | http://sites
 | sites.fabrikam.com | Default | 443 | https://sites.fabrikam.com
Partner Web | partnerweb | Intranet | 80 | http://partnerweb
 | remotepartnerweb.fabrikam.com | Default | 443 | https://remotepartnerweb.fabrikam.com
 | partnerweb.fabrikam.com | Extranet | 443 | https://partnerweb.fabrikam.com
Company Internet site | www.fabrikam.com | Internet | 80 | http://www.fabrikam.com
 | fabrikamsite | Intranet | 80 | http://fabrikamsite
 | fabrikamsite.fabrikam.com | Default | 443 | https://fabrikamsite.fabrikam.com

Single-name URLs, such as http://teams, can be configured for intranet access. These URLs are resolved by the client computer by appending the DNS suffix of the client computer, such as fabrikam.com, and then issuing a DNS lookup for the name with the suffix. For example, when a client computer in the fabrikam.com domain requests http://teams, the computer sends a request to DNS for http://teams.fabrikam.com.

DNS must be configured to use an A record for each fully qualified domain name (FQDN). The A record points to the load-balanced IP address for the Web servers that are hosting a site. In a typical production deployment, servers are configured to use statically assigned IP addresses, in addition to statically assigned A records in DNS.

After receiving the virtual IP address of the load balancer, the client browser establishes communication with a front-end Web server in the farm, then sends an HTTP request that has the original single-name URL, http://teams. IIS and SharePoint Server 2010 recognize this as a request for the Intranet zone, based on the settings configured in alternate access mappings (see the previous table). If the user instead requested https://teams.fabrikam.com, the process would be the same, except that IIS and SharePoint Server 2010 would receive this FQDN instead, and therefore would recognize this request for the Default zone.

In environments that have multiple domains, enter CNAME records for DNS in the domains that the sites do not reside in. For example, if the Fabrikam network environment includes a second domain named europe.fabrikam.com, CNAME records are entered for these sites in the Europe domain. For the Team Sites intranet site (http://teams), a CNAME record named teams is added to the europe.fabrikam.com domain that points to teams.fabrikam.com. Then, when a client computer's DNS suffix is appended to DNS lookup requests, a request for http://teams from the Europe domain will issue a DNS lookup of teams.europe.fabrikam.com, and will be directed by the CNAME record to teams.fabrikam.com.

Note:

There is a known issue with some Kerberos clients and resolving CNAME records. For more information, see Kerberos configuration known issues (SharePoint Server 2010).

Zone policies

You can create a policy for a Web application to enforce permissions at the Web application level. A policy can be defined for the Web application in general or just for a specific zone. A policy enforces permissions on all content within the Web application or the zone. Policy permissions override all other security settings that are configured for sites and content. You can configure policy based on users, or user groups, but not SharePoint groups. If you add or change a zone policy, search must re-crawl sites to pick up the new permissions.

Policies are not used in the claims authentication design sample for the collaborative farm where multiple types of authentication are enabled on a single zone. Policies are implemented in the classic authentication design sample and on the published farm of the claims authentication design sample where windows authentication is prescribed. On the published farm, the use of policies adds an additional layer of security between anonymous users and users who have access to manage sites.

The design samples provide examples of several policies to accomplish the following:

  • Deny write access to published content.

  • Ensure authors and testers have appropriate access to published content.

See Also

Other Resources

Resource Center: Architecture Design for SharePoint Server 2010


Plan for host-named site collections (SharePoint Server 2010)
See Also

Published: June 17, 2010

In this article:

  • About host-named site collections

  • About host headers

  • Create a Web application for host-named site collections

  • Create a host-named site collection

  • Programmatically create a host-named site collection

  • Use managed paths with host-named site collections

  • Expose host-named sites over HTTP or SSL

  • Configure SSL for host-named site collections

  • Use host-named site collections with off-box SSL termination

  • Configure Search for host-named site collections

  • Convert standard site collections to host-named site collections

  • Guidelines for using host-named site collections

  • Guidelines for using path-based site collections

Microsoft SharePoint Server 2010 supports both path-based and host-named site collections. The primary difference between path-based and host-named site collections is that all path-based site collections in a Web application share the same host name (DNS name), and each host-named site collection in a Web application is assigned a unique DNS name.

Path-based site collections provide a corporate hosting solution with all site collections sharing the same host name of the Web application. In a path-based deployment, you can have a single site collection at the root of the Web application and additional site collections under managed paths within the Web application.

Host-named site collections provide a scalable Web hosting solution with each site collection assigned to a unique DNS name. In a Web hosting deployment, each host-named site collection has its own vanity host name URL, such as http://customer1.contoso.com, http://customer2.contoso.com, or http://www.customer3.com.

SharePoint Server 2010 provides two significant improvements to host-named site collections: the ability to use managed paths with host-named site collections, and the ability to use off-box SSL termination with host-named site collections.

About host-named site collections

Web hosters provide customers with Web server space to host their own Web sites. In a path-based SharePoint Server 2010 environment, these sites would typically be assigned to http://www.contoso.com/sites/customer1, http://www.contoso.com/sites/customer2, and so on. However, Web hosting customers typically want to have their Web sites available at a vanity domain name, such as http://customer1.contoso.com, http://customer2.contoso.com, and so on.

One way to support this customer request is to provide each customer with their own Web application and assign the customer's unique DNS name to the Web application. However, SharePoint Server 2010 Web applications do not scale as well as SharePoint Server 2010 site collections. SharePoint Server 2010 supports host-named site collections as an alternative to creating individual Web applications for each customer. Host-named site collections can scale to thousands of site collections because they can all exist within a single Web application and still offer vanity naming capability.

Because host-named site collections have a single URL, they do not support alternate access mappings and are always considered to be in the Default zone. If you need to support site collections responding to multiple host-name URLs, consider using path-based site collections with alternate access mappings instead of host-named site collections.

About host headers

Host headers refer to the portion of the HTTP protocol that tells the Web server the DNS name of the site that the client is connecting to. You can apply host headers at two different levels in SharePoint Server 2010:

  • The Web application (IIS Web site) level

  • The site collection level

It's important to understand the distinction between these two levels. Host headers at the IIS Web site level are only intended for path-based site collections. Host headers at the site collection level are only intended for host-named site collections. In most cases, applying a host header binding at the IIS Web site level makes it impossible to access host-named site collections through the IIS Web site. This is because IIS will not respond to requests for host names that differ from the host header binding.

Path-based site collections and host-named site collections can co-exist in the same Web application and can exist in multiple Web applications. You can apply host header bindings to the IIS Web sites in the other zones of your Web application. You can then use the Default zone with host-named site collections while you use alternate access mapping functionality in the other zones for path-based site collections.

Important:

To ensure that both types of site collections are accessible to users, do not put host header bindings on the IIS Web site that is assigned to the Default zone of your Web application.

Create a Web application for host-named site collections

If you do not intend to configure two or more IIS Web sites that share the same port number on the same server, create a Web application in the Default zone that does not apply a host header binding at the IIS Web site level.

To create a Web application that can contain host-named site collections:

  • Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

    You also need to be a member of the local Administrators group on the computer running Windows PowerShell. In addition, some procedures require membership in the SQL Server fixed server roles dbcreator and securityadmin.

  • On the Start menu, click All Programs.

  • Click Microsoft SharePoint 2010 Products.

  • Click SharePoint 2010 Management Shell.

  • From the Windows PowerShell command prompt (that is, PS C:\>), type the following:

    Copy Code
    New-SPWebApplication -Name "HNSC01" -ApplicationPool ContosoAppPool -ApplicationPoolAccount (Get-SPManagedAccount "DOMAIN\jdoe")

Create multiple Web applications with host-named site collections

To run multiple Web applications on the same server and port in combination with host-named site collections, different IP addresses must be assigned to the Web applications. This makes it possible to run multiple Web applications on the same server and port. This type of deployment requires that you add IP addresses to the Web servers and configure the network router to point host names to the IP address of its Web application.

Note:

A Web application can be created without the host header. If you create a Web application that does not have a host header, you cannot create multiple Web applications with host-named site collections on the same Web server.

To create a Web application for a host-named site collection:

  • Add a new virtual IP address to the existing Web server.

    Add a virtual IP address to each Web server in the farm.

  • To create a Web application by using Windows PowerShell, verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  • On the Start menu, click All Programs.

  • Click Microsoft SharePoint 2010 Products.

  • Click SharePoint 2010 Management Shell.

  • Create the Web application. From the Windows PowerShell command prompt (that is, PS C:\>), type the following:

    Copy Code
    New-SPWebApplication -Name "HNSC01" -Port 80 -HostHeader http://HNSC01.contoso.com -URL -ApplicationPool ContosoAppPool -ApplicationPoolAccount (Get-SPManagedAccount <server>\<user>)

    Repeat this step to create all the Web applications that you require.

  • To change IP address on IIS by using Windows PowerShell, verify that you meet the following minimum requirements: Microsoft.Web.Administration Namespace (http://msdn.microsoft.com/en-us/library/microsoft.web.administration(VS.90).aspx).

    Note:

    The IP bindings must be applied on all servers which will host the Web application. Set the sleep command to 60 seconds to make sure that the IP bindings are set to all servers in the farm before the existing host header on the Web application is removed. Remote scripting can be used for this job.

  • Use the following commands to add unique IP bindings to each of the Web applications that you created and then remove the host header binding from these Web applications.

    From the Windows PowerShell command prompt (that is, PS C:\>), type the following:

    Copy Code
    Import-Module WebAdministration
# add empty binding to HNSC01 on IP 192.168.10.20
New-WebBinding -Name "HNSC01" -IPAddress "192.168.10.20" -HostHeader ''
Sleep 60
# remove existing binding HNSC01.contoso.com from existing web application
Get-WebBinding -Name "HNSC01" -HostHeader "HNSC01.contoso.com" | Remove-WebBinding

Create a host-named site collection

You must use Windows PowerShell to create a host-named site collection. You cannot use the SharePoint Server 2010 Central Administration Web application to create a host-named site collection, but you can use Central Administration to manage the site collection after you have created it.

You can create a host-named site collection by using the Windows PowerShell New-SPSite cmdlet with the -HostHeaderWebApplication parameter, as shown in the following example:

  1. To create a host-named site collection using Windows PowerShell, verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. From the Windows PowerShell command prompt (that is, PS C:\>), type the following:

Copy Code
New-SPSite "http://portal.contoso.com" -HostHeaderWebApplication "http://HNSC01.contoso.com" -Name "Portal" -Description "Customer portal" -OwnerAlias "contoso\administrator" -language 1033 -Template "STS#0"

This creates a host-named site collection with the URL http://host.header.site.url in the SharePoint Server 2010 Web application with the URL http://servername.

Programmatically create a host-named site collection

In addition to using the Windows PowerShell to create host-named sites, you can use the SharePoint Server 2010 object model. The following code sample creates the host-named site collection with the URL http://host.header.site.url in the SharePoint Server 2010 Web application with the URL http://servername:

Copy Code
SPWebApplication webApp = SPWebApplication.Lookup(new
Uri("http://servername"));
SPSiteCollection sites = webApp.Sites;
SPSite Site = null;
Site = sites.Add("http://hoster.contoso.com", "Site_Title",
"Site_Description", 1033, "STS#0", "contoso\owner",
"Owner_Display_Name", "Owner_Email", "contoso\secondaryowner,
"Secondary_Owner_Display_Name", "Secondary_Owner_Email", true);

SharePoint Server 2010 ships with a set of Web services for various user and administrative tasks. One of these administrative tasks is creating a new site collection. The CreateSite Web service method does not support the creation of host-named site collections. A workaround for this issue is to write a Web service that wraps the API sample code.

Use managed paths with host-named site collections

SharePoint Server 2010 adds support for managed paths with host-named site collections. Hosters can provide multiple site collections to the same customer with each site collection sharing the customer's unique host name but differentiated by the URL path after the host name.

Managed paths for host-named site collections are different from managed paths for path-based site collections. Managed paths for host-named site collections do not apply to path-based site collections; nor do managed paths for path-based site collections apply to host-named site collections. Managed paths created for host-named site collections are available to all host-named site collections within the farm regardless of which Web application the host-named site collection is in. You must create a root host-named site collection for a host name before you can create a managed path host-named site collection for that host name.

Note:

All limitations for managed paths on host-named site collections apply for path-based site collections.

You can create a managed path for use with host-named site collections by using the Windows PowerShell New-SPManagedPath cmdlet with the -HostHeader parameter, as shown in the following example:

Copy Code
New-SPManagedPath pathname -HostHeader

A host-named site collection created at a managed path is shown in the following example:

Copy Code
New-SPSite http://host.header.site.url/pathname/sitename -OwnerAlias DOMAIN\username -HostHeaderWebApplication http://servername

Remove an existing managed path use by using the Windows PowerShellRemove-SPManagedPath cmdlet, as shown in the following example:

Copy Code
Remove-SPManagedPath pathname -HostHeader
Note:

A managed path can be removed by using Windows PowerShell even if a site collection exists. If a managed path is removed the site collection can no longer be accessed. To access the existing site collection the managed path must be recreated by using Windows PowerShell.

Expose host-named sites over HTTP or SSL

Host-named site collections will use the same protocol scheme as the public URL in the Default zone of their Web application. If you wish to provide the host-named site collections in your Web application over HTTP, ensure that the public URL in the Default zone of your Web application is an HTTP-based URL. If you wish to provide host-named site collections in your Web application over SSL, ensure that the public URL in the Default zone of your Web application is an HTTPS-based URL.

Configure SSL for host-named site collections

In hosting scenarios, hosters can configure a single Web application with SSL and then create multiple host-named site collections within that Web application. To browse to a site over SSL, a server certificate has to be installed and assigned to the IIS Web site. Each host-named site collection in a Web application will share the single server certificate assigned to the IIS Web site.

Hosters need to acquire a wildcard certificate or subject alternate name certificate and then use a host-named site collection URL policy that matches that certificate. For example, if a hoster acquires a *.contoso.com wildcard certificate, the hoster has to generate host-named site collection URLs such as https://site1.contoso.com, https://site2.contoso.com, and so on, to enable these sites to pass browser SSL validation. However, if customers require unique second-level domain names for their sites, the hoster has to create multiple Web applications rather than multiple host-named site collections.

To configure SSL for host-named site collections, enable SSL when creating the Web application. This will create an IIS Web site with an SSL binding instead of an HTTP binding. After the Web application is created, open IIS Manager and assign a certificate to that SSL binding. You can then create site collections in that Web application.

Use host-named site collections with off-box SSL termination

Because SharePoint Server 2010 uses the public URL in the Default zone of the Web application to determine whether host-named site collections will be rendered as HTTP or SSL, you can now use host-named site collections with off-box SSL termination. There are 3 requirements to use SSL termination with host-named site collections:

  • The public URL in the Default zone of the Web application must be an HTTPS-based URL.

  • The SSL terminator or reverse proxy must preserve the original HTTP host header from the client.

  • If the client SSL request is sent to the default SSL port (443), then the SSL terminator or reverse proxy must forward the decrypted HTTP request to the front-end Web server on the default HTTP port (80). If the client SSL request is sent to a non-default SSL port, then the SSL terminator or reverse proxy must forward the decrypted HTTP request to the front-end Web server on the same non-default port.

To use host-named site collections with off-box SSL termination, configure your Web application as you normally would for SSL termination and ensure that it meets the requirements described above. In this scenario, SharePoint Server 2010 will render links of its host-named site collections in that Web application using HTTPS instead HTTP.

Configure Search for host-named site collections

All host-named site collections in a Web application can be searched only if a root site collection is in place. The root site collection can be created automatically when the host-named site collection is created. The root site collection does not need to be created by using Windows PowerShelland does not need to have the HostHeaderWebApplication parameter set.

The following example shows an empty site collection that is created on the root site collection:

Copy Code
New-SPSite "http://HNSC01.contoso.com" -HostHeaderWebApplication "http://HNSC01.contoso.com" -Name "Portal" -Description "Portal on root" -OwnerAlias "contoso\administrator" -language 1033 -Template "STS#0"

Only the root site collection appears in the content source. Although the host-named site collection does not appear in the content source, by default each host-named site collection is automatically crawled.

Note:

As a best practice, have a root site collection in place that users cannot access.

If you have a SharePoint farm that has multi-crawl target front-end Web servers (WFEs), set up a search crawl for the farm by enabling the crawl target feature. In this case, the host header site collections are not crawled by using the crawl target WFEs. Instead, the search uses Domain Name System (DNS) to resolve the crawl target WFEs.

Note:

By default, the crawl target feature is not used for host header site collections. This feature is controlled by the search application setting AllowHostHeaderCrawlTarget.

The following scenario describes the effect of this issue:

  • You check out a binary large object (BLOB) file from a document library in a SharePoint Server 2010 site.

  • You make changes to the file and save the file.

  • You select the Undo Check Out option to cancel the checkout.

  • You save the file as a minor version.

    In this scenario, the page of the BLOB file that uses CSS styles cannot be rendered.

To resolve this issue, apply the SharePoint Server 2010 Cumulative Update Server Hotfix Package (MOSS server-package): December 31, 2010.

Convert standard site collections to host-named site collections

Standard site collections can be converted to host-named site collections and host-named site collections can be converted to standard site collections, only through backup and restore by using Windows PowerShell. Site collections cannot be converted by using the SharePoint Central Administration Web site or by using Windows PowerShell 2.0 commands to attach and detach, or mount and dismount content databases.

The following example converts a standard site collection to a host-named site collection:

Copy Code
Backup-SPSite -Identity 'http://portal.contosoOld.com' -Path 'c:\Backup\portalContoso.bak' -Force -UseSQLSnapShot
Copy Code
Restore-SPSite -Identity 'http://portal.contoso.com' -Path 'c:\Backup\portalContoso.bak' -DatabaseName 'portal_content' -Force -HostHeaderWebApplication 'http://HNSC01.contoso.com' -Confirm:$false

Guidelines for using host-named site collections

The following is a summary of the considerations and guidelines for using host-named site collections.

  • Alternate Access Mappings are not supported for host-named site collections.

  • Host-named site collections are created by using Windows PowerShell.

  • Managed paths are shared across all hosting Web applications. Managed paths for use with host-named site collections must be created by using Windows PowerShell.

  • If a managed path that is used with a host-named site collection is removed by using Windows PowerShell, the host-named site collections under the managed path that was removed can no longer be accessed. To access the host-named site collections that were under a managed path, the manage path must be recreated.

  • If an existing Web application has a host header binding set, IIS will not return pages from the host-named site collection until the binding is removed from IIS.

  • A host-named site collection can be searched only if it is on a root host-named site collection.

  • Standard site collections can be converted to host-named site collections and host-named site collections can be converted to standard site collections, only through backup and restore by using Windows PowerShell.

Guidelines for using path-based site collections

The following is a summary of the considerations and guidelines for using path-based site collections.

  • Use path-based site collections if you want the additional security provided by multiple Web applications that use separate application pools.

  • You must use the self-service site creation feature that is included with SharePoint Server to create path-based site collections.

    MySite should be created as a path-based site or a custom solution should be provided.

  • Unique wild card inclusions are required within a Web application.

    You can create unique wild card inclusions for each Web application, but wildcard inclusions are shared across all host-named sites.

See Also

Other Resources

Resource Center: Architecture Design for SharePoint Server 2010


Case Study: King Abdullah University of Science and Technology and host-named site collections (SharePoint Server 2010)

Published: October 2, 2012

Illustration of college campus

While none of the Microsoft SharePoint Server 2010 design samples currently incorporate host-named site collections, King Abdullah University of Science and Technology (KAUST) provides a compelling business case for their use.

Overview

KAUST IT Services offers a large multilingual, English and Arabic, collaboration environment for the university. KAUST decided to migrate to SharePoint Server 2010 to take advantage of managed metadata and social tagging, improved search capabilities, improved business integration services (PerformancePoint Services, Reporting Services, Excel Services in SharePoint, and Access Services), improved publishing features, and a more flexible services architecture. SharePoint consultant, Timo Heidschuster, was hired to help KAUST migrate their SharePoint Server 2007 deployment to SharePoint Server 2010.

A big part of the consulting job was to fix a design issue that affected performance and scalability. One of the requirements driving website design for KAUST, vanity URLs, resulted in a large number of Web applications and application pools. Using the traditional path-based site collection model, each vanity URL was placed in a dedicated Web application, as well as a dedicated application pool. Yasser M Al-Harazi, IT engineer for KAUST, explained, "In the previous year we increased from three to up to 80 application pools and 80 URLs." The large number of Web applications and application pools slowed performance and limited future growth. Al-Harazi noted that the environment will likely double or triple, depending on business needs.

SharePoint 2010 solution design

The solution was to migrate the KAUST deployment to SharePoint 2010 using host-named site collections. The primary difference between path-based and host-named site collections is that all path-based site collections in a Web application share the same host name (DNS name). In contrast, each host-named site collection in a Web application is assigned a unique DNS name. Host-named site collections provide a scalable solution in which each site collection has its own vanity host-name URL.

Given the various types of sites, Microsoft and the KAUST team decided on seven application pools for hosting the university's sites. The Microsoft-recommended limit is ten application pools. Three of the seven KAUST application pools are used for host-name site collections, one for published intranet content (such as http://hr.kaust.edu.sa) and the other two for collaboration sites for the many academic teams and departments. This design brings KAUST well-within the recommended limits for application pools.

Each host-named site collection is configured to use a dedicated database to make sure that content databases do not grow too large. The size target for KAUST is 100-200 GB. Microsoft recommends limiting the size of content databases to 200 GB to help ensure system performance. The recommended limit for the number of databases per Web application is currently 300. This allows room for the KAUST environment to grow.

One of the application pools is dedicated to hosting sites for partner collaboration. These sites will be migrated to an externally-facing farm in the future. This frees up another application pool on this farm.

The following diagram shows the logical architecture of the KAUST environment.

Logical architecture for KAUST

In the diagram, the white boxes with dashed borders represent individual Web applications.

Managing host-named site collections

Microsoft also provided the KAUST team with a plan for managing the large number of host-named site collections. Host-named site collections can only be created by using Windows PowerShell. Two lines of code are used for each site collection to create the database and then assign the database to a site. Once created, all host-named site collections are available in Central Administration and can be managed through this user interface. SharePoint 2010 products provide the ability to use managed paths with host-named site collections and managed paths are also created by using Windows PowerShell. However, these sites are not visible in Central Administration.

Microsoft provided the KAUST team with PowerShell coaching and samples for their environment. Given the scale, the KAUST team is likely to use Windows PowerShell more often than Central Administration. Microsoft recommends using Windows PowerShell to manage a web application when a large number of content databases are present.

Development tradeoffs with host-named site collections

While host-named site collections address specific architecture goals for KAUST, Mohammed Shokry, Web Analyst, notes that putting multiple sites in a single Web application can limit the development opportunities for sites. Changes made to the Web.config file for application-level configuration apply to all sites in a Web application. Also, in SharePoint 2010 Products host-named site collections cannot be used with alternate access mapping.

Physical architecture

KAUST achieves high availability in a single farm with two servers dedicated to each role, including a SQL Server database cluster. The two Web servers are virtualized using Microsoft Hyper-V Server 2008 to make these server roles easier to manage and move, if needed. These virtualized Web servers are put on two separate servers to achieve high availability. The following diagram shows the physical architecture for the SharePoint 2010 farm.

Physical architecture for KAUST

A second datacenter in a different city hosts a failover farm that takes advantage of Hyper-V Server to consolidate servers. The failover farm is designed as a warm standby farm and will allow limited access to SharePoint. The failover environment is not pictured in this case study.

Database recommendations, RAID settings, and SAN disk allocation

Microsoft recommended and implemented the following best practices for KAUST:

  • For high availability split databases on different discs and logical unit numbers (LUNs).

  • Place databases and logs for the Web Analytics service application and the Usage database (for the Usage and Health Data Collection service application) on a different disk because of the increased write activity.

  • To improve SQL Server performance, change the NTFS allocation size of the disk from the standard 4K to 64K. The average on performance benefit is around +30% compared to the standard formatting.

The following RAID settings are used for KAUST:

  • Raid 10 for logs

  • Raid 5 for data


Case Study: City of London School for Girls (SharePoint Server 2010)

Published: June 28, 2011

Photograph of the school campus

This technical case study describes how the City of London School for Girls implemented Microsoft SharePoint Server 2010 including integrating with the school's MIS system.

Making life easier for teachers, students, and parents was originally not the stated requirement for the City of London School for Girls portal technology. However, with the selection of SharePoint Server 2010 and some key design decisions and development work, the school's IT team accomplished this feat.

In this article

  • About the City of London School for Girls portal

  • Partnership with cScape

  • Integration with the MIS system

  • Authentication and zones

  • Server farm

  • Backup and recovery

  • Portal features and sites

The following design architecture illustrates the solution that is described in this article:

Visio version

Zoom.it online version

Thumnail of the design sample

About the City of London School for Girls portal

The City of London School for Girls is a prestigious, independent day school situated in the heart of London's financial district. Its impeccable reputation is based on consistently high results and high rankings. Five years ago the school developed an intranet portal to help with information management and sharing. Over the years, the home-grown portal was built upon in an ad-hoc manner and, while adequate to support user requirements, it was difficult to manage and unsustainable in the long term.

In the summer of 2010, the Director of IT, David Libby, and the former Data Systems Manager, Matthew Brumpton, began to implement a strategic plan to integrate the school's data systems using SharePoint Server 2010. The requirements included exposing data and functionality from the education-specific MIS system through SharePoint sites ways that made it simple for students, staff, and parents to interact.

As a result of this work, all operations are now managed through the portal, including timetable management of classes, students, and rooms. Classroom sites are automatically created based on each class in the MIS system and permissions to these sites are automatically granted for the appropriate staff and students. Rooms and resources for other activities can be booked online.

Curriculum reports are linked to the timetables and managed entirely online, significantly reducing the amount of manual work required by the staff. Each student receives a personalized view of their schedule and reports and can interact with each of their class sites to access lesson content and assessments.

Students interact online with their peers to discuss class materials and submit homework and coursework. Parents are also able to see class materials and check on their child's progress. Additionally, students can view and sign-up for a broad range of clubs and events on the extra-curricular activities site. Parents benefit from the online fees payment system, catering information, and online publishing of exam results.

Features like the News section allow important updates to be communicated throughout the school quickly. The portal has also improved communications with parents and allowed the school to meet important legal governance around communications.

New parents considering the school are given guest access to the portal so they can see the level of teaching and support the students receive, and how technology is used to serve the school community.

Partnership with cScape

The project began with a consultation with cScape's Ben Robb, SharePoint MVP. The team reviewed the architecture and plan for deployment. cScape was hired to carry out many of the development tasks and also helped the school to develop the processes, infrastructure, and testing environment that allows for future growth, optimization, and development.

Integration with the MIS system

The City of London Girls School uses Engage, by Double First, to manage the school's data and information. Engage uses a single SQL database and gives support for integration with SharePoint Products and Technologies. The following diagram illustrates the sites that are connected to the MIS system.

Diagram of sites connected to MIS system

Classroom sites in SharePoint are automatically created by a scheduled process and each subject owner or group administers their own sites, a task that would be impossible to do centrally. The sites are created according to the timetable system of Engage.

The following is a curriculum site for the A Level Economics blog which is used extensively to discuss and share resources for this subject.

Link to larger image

Example screen shot from the school's portal site

Room assignments are also booked using Engage and automatically represented in SharePoint by a custom calendar, where additional timeslots can be reserved by a staff member.

Because the school is situated on a very small site with space at a premium, it was essential to create a Room Booking System that pulled out the room bookings made during timetabling process (by Engage) and then allowed staff to book available rooms throughout the year. Permissions are set so that only the Room Booking Administrator can delete timetabled lessons and bookings made by other members of staff. The majority of staff can only delete or edit their own bookings. The system was created giving each room its own calendar (shown below). The IT team added a Book Room button. Every time a room is booked, validation takes place to ensure that there are no conflicts. If a conflict occurs, a link is provided to the calendar item.

Link to larger image

Example screen shot from the school's portal site

The Reports site is integrated with Engage to both read data from the MIS system and save data to the MIS system. The reporting system is discussed in greater detail later in this article.

Link to larger image

Example screen shot from the school's portal site

Authentication and zones

The City of London School for Girls environment includes roughly 2400 users: 700 students, 100 staff members, and 1600 contacts (including parents). These accounts are all managed in Active Directory. Kerberos authentication is used as a requirement for secure interaction with the MIS system.

A login page prompts parents to enter their account credentials and also provides a link for students and staff that redirects to the appropriate URLs. The following diagram illustrates the mapping of URLs to zones for users.

Portal logon page with authentication callouts

Server farm

The SharePoint environment is hosted on three servers and the school makes use of virtualization to maximize these resources. Virtual servers are hosted in VMWare vSphere to provide High Availability (HA) and distributed resource scheduling. Each of the physical servers (Dell PowerEdge R710) meets the following specifications:

  • 2 x Quad core Intel Processor

  • 32 GB RAM

  • 12 Network Interface Cards (NICs)

  • 2 x 72 GB SAS HDD Mirrored for ESX 4.1

Storage is provided by EqualLogic SAN with 4TB of disk space.

The following diagram illustrates the server farm environment.

Diagram of servers in the farm

Backup and recovery

The IT team at the City for London School for Girls uses a combination of backup and recovery tools:

  • The SharePoint Server 2010 farms are backed up using Symantec Backup Exec 2010 with the Backup Exec Agent for Microsoft SharePoint.

  • SQL databases are backed up to tapes using Symantec Backup Exec 2010 with the Backup Exec Agent for Microsoft SQL Server.

  • Online databases are backed up using Asigra Cloud Backup.

For business continuity, all databases are replicated on a disaster recovery site in a separate data center.

Portal features and sites

The rest of this article showcases some of the features and sites of the City for London School for Girls portal.

News

News articles are submitted by the school community to the Marketing Officer, who approves and publishes them. Because this system integrates with the school's other systems, the same form is used to add news articles to the digital signage screens.

Link to larger image

Example screen shot from the school's portal site

Curriculum reports

The curriculum reports system matches the workflow of the school with subject teachers providing important data and then tutors signing off on the final reports for each student.

Diagram of the school's reporting structure

A report is automatically generated for any timetabled lesson. A flagging system is incorporated which shows when reports have not been started, when they are in progress, and when they are complete.

Link to larger image

Example screen shot from the school's portal site

When a subject teacher selects a report, the reports page lists the students in that particular class and presents data on a student-by-student basis. When a report is marked as complete by the subject teacher, it then becomes available to the tutor. The tutor is responsible for as many as 25 students and each student can have 15 reports. All reports are proofed and corrected before the tutor comments are entered.

With the volume of reports, it was important to design the system with the fewest number of clicks. A color coding system flags different stages across the lifecycle of a report. After approval by the tutor, reports are locked and cannot be edited by the subject teacher.

The following diagram shows a an individual student report. Notice that some reports show a status of green or red.

Link to larger image

Example screen shot from the school's portal site

Finally, the Head of Year accesses reports for the tutor groups of a particular year. The Head of Year is responsible for final approval. The Reports Printing page allows reports and examination results to be printed. It is also used by staff as an archive.

Link to larger image

Example screen shot from the school's portal site

Reports are also published to parents. A link is given to each student's report on their profile page. This system has dramatically reduced the administration and cost of providing parents with school reports. The following screen shot shows the parent view of a reports page for a student whose name has been removed.

Link to larger image

Example screen shot from the school's portal site

Extra-curricular activities

Extra-curricular activities are an extremely important part of the overall education of the students. Monitoring extra-curricular activities in a school can be a difficult task considering the dynamic nature of such activities. This site:

  • Lists all of the available extra-curricular activities.

  • Provides a method for students to enroll in an activity or club.

  • Provides parents a view of the extra-curricular activities their student is participating in.

  • Reports on the activities taking place, the number of students involved, and the students participating in each activity.

Link to larger image

Example screen shot from the school's portal site

Exams

The Exams site gives information about external exams for staff, students, and parents. This is administered by the Assistant Examinations Officer.

Link to larger image

Example screen shot from the school's portal site

Timetable

Each member of the staff and all of the students can view their own timetable of classes and activities. In addition, staff can search for any timetable when trying to locate students or other members of staff.The school has a two-week timetable. Week A or Week B is always displayed in the banner of each page.

Link to larger image

Example screen shot from the school's portal site

Virtual learning environment

The school is using the SharePoint Learning Kit to provide a virtual learning environment. Courses are created to provide lesson content and assessment. The school is interested in continuing to develop this offering.

Link to larger image

Example screen shot from the school's portal site


Case study: Blatchington Mill School (SharePoint Server 2010)

Published: April 3, 2012

Summary: Learn how the Blatchington Mill School in the United Kingdom used Microsoft SharePoint Server 2010 to give parents access to data about their children, including attendance, homework, behavior, progress, and assessments/reports.

The article describes the overall technical solution, and describes the functional design that was implemented to provide the required level of reporting.

Photograph of Blatchington Mill School

Applies to: Microsoft SharePoint Server 2010, Microsoft SharePoint Foundation 2010, Microsoft SQL Server 2008 R2, Microsoft Exchange Server 2010, Windows Server 2008 R2

Authors:

Photo of Mark Leighton | Mark Leighton, Assistant Head Teacher and ICT Director, Blatchington Mill School
Photo of Sue Barnard | Sue Barnard, Systems Manager, Blatchington Mill School

Contents

  • Introduction

  • Servers and hardware

  • Logical architecture

  • Test environment

  • Search facility

  • BMS 360 sites

  • Active Directory Domain Services provisioning

  • Online behavior Web Part

  • Online homework diary

  • SIMS Learning Gateway and reporting Web Parts

  • Student tracking and SQL Server

  • Paperless forms

  • Student blogs

  • Conclusion

Introduction

Blatchington Mill School is a secondary school in Hove, on the south coast of the United Kingdom. The school serves 1800 students who are between 11-18 years old. In addition, it has a teaching and support staff of 300. The school has used Microsoft SharePoint Products since 2005, and a priority has always been to keep parents involved in their child's education. Mark Leighton, Assistant Head Teacher and ICT Director, worked closely with Capita SIMS to engage parents by giving them access to real time data about their child, including attendance, homework, behavior, progress and assessments/reports. As a result, the school registered more than 3,500 parents, which brought the number of Active Directory Domain Services (AD DS) accounts to almost 5,500.

Blatchington Mill School is recognized as a leader for its work to engage parents, and is featured in many articles and journals, including a video for the Microsoft United Kingdom Education website. The school is also a prominent mentor school in the Innovative Schools Initiative that is sponsored by Microsoft.

This article describes the overall technical solution that Sue Barnard (Systems Manager at Blatchington Mill School) implemented, and the functional design that Mark Leighton implemented to provide the required level of reporting.

Servers and hardware

The Blatchington Mill School IT environment includes dedicated server hardware for a small server-farm deployment of Microsoft SharePoint Server 2010. The farm is integrated with several other technologies in the environments.

Server environment for Blatchington Mill School

The Microsoft SharePoint Server 2010 environment consists of two tiers — a web tier and a database tier. The first tier is a front-end web server that hosts the Central Administration components and handles all other farm-related tasks, including delivering content to users. The second tier is a separate SQL Server database server that manages the storage of the web application content that is contained in multiple databases. Complementing the design is a streaming media server that delivers live or recorded audio and video content, a Management Information Server that helps surface live student data, and a Microsoft Exchange Server 2010 server that integrates mail, calendaring, and contacts via the web or mobile device. In addition, the school uses Microsoft Forefront Threat Management Gateway server for its firewall, which helps ensure secure and authenticated access only to the SharePoint deployment.

Table 1. Solution hardware and software

Server role Hardware

SharePoint 2010 Products web server

Installed on one server:

  • Dell PowerEdge 2900 III

  • Dual quad core Xeon E5430 2.66GHz processors

  • 12 GB RAM

  • 5 x 600 GB 15000 rpm SAS drives — RAID-5

  • Windows Server 2008 R2 Standard 64 bit OS

  • IIS 7

  • Microsoft .Net Framework v4

  • Microsoft SharePoint Foundation 2010 and Microsoft SharePoint Server 2010, service pack 1 and June 2010 cumulative update

  • Sophos AV v9.5

SharePoint Server 2010 database server

  • Dell PowerEdge R710

  • Intel Xeon X5650 Processor 2.66Ghz

  • 16 GB RAM

  • 2 x 146 GB 15000 rpm SAS drives — RAID-1

  • 2 x 146 GB 15000 rpm SAS drives — RAID-1

  • 4 x 600 GB 15000 rpm SAS drives — RAID-5

  • Windows Server 2008 R2 Standard 64 bit OS

  • Microsoft SQL Server 2008 R2

  • Capita Education Services SIMS ADP Server

  • Sophos AV v9.5

Microsoft Forefront Threat Management Gateway

  • Dell PowerEdge R620

  • Dual Quad Core Intel Xeon 3.07GHz processor

  • 16 GB RAM

  • 2 x 73 GB 15000 rpm SAS drives — RAID-1

  • 3 x 73 GB 15000 rpm SAS drives — RAID-5

  • Windows Server 2008 R2 Standard 64 bit OS

  • Microsoft Forefront Threat Management Gateway 2010 v7.0

  • Sophos AV v9.5

Management Information Systems server

  • Dell PowerEdge 2900 III

  • Dual quad core Xeon E5430 2.66GHz processors

  • 8 GB RAM

  • 2 x 146GB 15000rpm SAS drives - RAID-1

  • 6 x 450GB 15000rpm SAS drives - RAID-5

  • Windows Server 2008 Enterprise

  • Microsoft SQL Server 2008 R2

  • Capita Education Services SIMS.Net MIS

  • Capita Education Services FMS Finance System

  • Capita Education Services ADP Client

  • Sophos AV v9.5

Streaming media server

Hosts digital audio and video content; known in school as the "EduTube."

  • Dell PowerEdge 2800

  • 2 x dual core Intel® Xeon® 2.80GHz processors

  • 2 GB RAM

  • 3 x 136 GB 10000 rpm SCSI drives — RAID-5

  • The 32-bit edition of Windows Server 2003

  • Sophos AV v9.5

Exchange Server 2010 server

  • RM RackServ XL Server

  • 2xIntel Xeon Six Core Processor 2.66GHz

  • 8 GB RAM

  • 2x147GB 15,000rpm SAS — RAID-1

  • 3x300GB 10,000rpm SAS - RAID-5

  • Windows Server 2008 R2 Standard

  • Microsoft Exchange Server 2010

  • Sophos AV v9.5

Logical architecture

The logical architecture for the Blatchington Mill School contains the following standard web applications together with associated application pools:

  • Central Administration site

  • My Site Host

  • School sites

  • Default Web Services Root

Several SharePoint administrative and service accounts were created in AD DS to perform specific roles or tasks in the SharePoint environment. Application pool identities vary according to function, but include the farm administrator, the designated SharePoint service account, and the local service account.

The school sites are organized into the following broad categories:

  • Portal sites for each audience (students, staff, parents, governors, and community)

  • My Sites

  • School Information Management System (SIMS) Learning Gateway sites

Each separate portal site is contained in individual site collections on the School Sites web application. The data for each main site collection is stored in separate content databases.

The following illustration clarifies the details.

Figure 1. Organization of portal sites

Organization of portal sites

My Sites are currently available only to the staff. There are plans to offer these to students very soon, and possibly to use them for student / parent / staff collaboration, or that students can use to build a personal portfolio during their life at the school. The remaining site categories are discussed later in this article.

Users can authenticate through the following two zones:

  • Intranet zone. Internal access is provided through the Intranet zone via Integrated Windows (NTLM) authentication.

  • Default zone. The default zone is also configured to use Integrated Windows (NTLM) authentication. However, authentication using Windows accounts for remote access is made possible by configuring single sign-on (SSO) on the Microsoft Threat Management Gateway (TMG) Server. The TMG Server is configured to use forms-based authentication to collect Windows credentials. A recent change to the e-mail system enables users to specify credentials one time via SSO to access all services, including SharePoint sites and e-mail. A Secure Sockets Layer (SSL) certificate is installed on the TMG server and the web servers.

Blatchington Mill School currently has content that is stored across approximately 20 databases. There is one database per school site collection, and there are standard profile, social, search, admin, web analytics, and logging databases. In addition, there is a custom Student Tracking database that is used to present color-coded progress checks to various audiences (more about that later). The largest content database contains the student portal site. It is currently 95 GB.

Test environment

The Blatchington Mill School has a virtualised test environment that emulates the setup of its main site, BMS 360. The test environment has two virtual Microsoft Hyper-V servers, one web tier and one database tier.

The SharePoint installation is patched to the same level as BMS 360 (SP1 and June 2010 CU) and imitates the live environment as closely as possible. It is hosted in the same domain, which enables connectivity with the Management Information Systems (MIS), and profile synchronization with AD DS.

The result is a perfect test environment for the school's own development team who use Microsoft Visual Studio 2010 to develop, debug, and release their own Web Parts ready for deployment on BMS 360. The integrated debugging and deployment tools that are incorporated into Visual Studio 2010 provide a streamlined interface for these processes.

Search facility

SharePoint 2010 incorporates a very powerful and flexible Search service. Blatchington Mill School has configured the basic Search functionality and intends to fine tune it to take advantage of some of the advanced features that are available.

BMS 360 sites

Blatchington Mill School targets each of its core audiences with a separate site. Each of the sites links users to relevant school resources and other data. Web Parts are installed on each portal site to expose data from the school Management Information System (MIS) as appropriate for each audience.

The home page is common to all visitors and contains targeted events, notices, and a summary of the online homework diary for teachers, students and parents. The page is branded in Blatchington Mill School colors, a Silverlight animation of rippling water as a banner, and extensive drop-down menus that enable users to reach most sites with one click. There is also a banner of rotating photos across the page, depicting recent events in the school.

Figure 2. BMS 360 home page

BMS 360 home page

Staff site

The staff site is for all teaching and non-teaching staff in the school. Each site in the staff portal is configured with permissions for a specific target user. For example, some department sites are restricted to the staff of that department only. The site restrictions ensure that the contents on the site can be accessed by staff members only, and are therefore used appropriately.

The staff site includes the following features:

  • Sites for each curriculum area and year team in the school. Teachers use the subsites to store resources and materials that were originally stored on a shared network drive.

  • Sites for each non-teaching department in the school, such as Network Services, Finance, and Facilities Management.

  • A site that hosts educational video clips.

  • Document libraries that contain school policies, data analysis, bulletins, staff contact lists, and links to other tools and facilities for the staff.

  • Collaborative sites for specific projects.

The following screen shot displays the drop-down menu for the staff site.

Figure 3. Menu for the staff site

Menu for the staff site

Student site

The student site is the online home for Blatchington Mill School students. It is where they access their subject materials, school information, and view their "My Profile," a set of pages that displays their personal profile information, attendance, performance, and progress data. The student portal provides the gateway to Moodle, which houses their class sites and individual class lessons, materials, and activities.

Students are members of their Year Page, a site that is for students of the same grade or year level. An Options site is specifically targeted for Year 9 students to help them decide which options classes to enroll in.

The following screen shot displays the drop-down menu for the student site.

Figure 4. Menu for the student site

Menu for the student site

Students can also access the following from the student site:

  • Links to other student sites, such as the Student Voice site, Student Council site, Student Matters site, or school surveys

  • Club sites

  • Student guidance information; for example, options, careers, and so on

  • School policies

  • Blogs from residential visits

  • Remote access to their network workspace (displayed as a document library)

  • Online Behavior (detailed later)

  • The Exam Centre (timetables, revision support, and deadlines)

The student site is created, supported, and updated by the larger educational community at Blatchington Mill School. In addition to the students, all teaching and non-teaching staff, parents, and governors of the school can access the student site.

Parent site

The parent site can be accessed by parents only. To access the site, parents must register by requesting a user name and password.

The parent site home page includes the following:

  • Announcements targeted to parents

  • Links to the student portal

  • Links to a specific child's profile information and performance data. For example, parents can view:

    • Class registration and lesson attendance in real time

    • Assessments and targets

    • Achievements and behavior incidents

    • Their child's homework diary, including tasks set, due dates, and links to the associated materials and resources.

    • A site that provides parental guidance on how to support students at home.

  • Surveys, document libraries, lists, and discussions for parents

The following screen shot shows the drop-down menu for parents.

Figure 5. Menu for the parent site

Menu for the parent site

Document libraries include school policies, newsletters, and other information that is important to parents. The parent feedback forum is moderated by the Blatchington Mill School Network Services staff.

Parental login security

The key to providing the wealth of sensitive data to parents is securing the integrity of the data. The surfacing of static MIS data is handled by Capita's underlying branded web service configuration. The school's own developments use Microsoft web services to securely publish data.

Parental logins are issued on a one-to-one basis, following a series of security checks by the Network Services Team. Every person who is considered to have parental responsibility of a student in school and to have no court order against them can apply for a login.

Community site

The Community site on BMS 360 gives students a place to interact and collaborate with external organizations, institutions, and people. After projects are set up on the site, they can be accessed by all project members for the life of the project. Visitors can get a clear idea of the large collaborations between different groups around the school.

Figure 6. Home page of the community site

Home page of the community site

Three years ago, the school installed a bird box with a webcam in a "wildlife quad" on the site. For the last two years, live footage is streamed, with audio, of the nesting birds and fledglings to the school community and beyond. The content is delivered via SharePoint Server, using Microsoft Windows Media Services, and then out through the Microsoft Threat Management Gateway firewall to enable the school community to watch developments from home over the weekends and holidays. A second box was added this year that provides color daytime footage and infra-red nighttime footage.

Figure 7. Global partnerships with other schools via the community site

Global partnerships via the community site

Active Directory Domain Services provisioning

Much of the reporting services that are provided by the school through SharePoint 2010 require some provisioning of users in AD DS. For example, users are linked in MIS with our AD DS records. Parent accounts are in AD DS where they can be pulled through to SharePoint 2010 as group members so parents can access their child's details in SharePoint 2010. This is accomplished through a series of scripts, some from third parties and some internal. These scripts are scheduled to run every night to keep both systems in synch.

By storing data in unused attributes in AD DS, key data can quickly and effectively be accessed for users when they log in to SharePoint 2010. The data is displayed through custom Web Parts, such as the Online Behavior Web Part. For Web Part displays that require access to a significant amount of data, a custom SQL Server database is stored on the server. This database is populated regularly by scheduled scripts that access data from the MIS server.

Online behavior Web Part

Blatchington Mill School developed the Online Behavior Web Part for students, and it is available from the school. The Web Part links rewards points that are issued to students by teachers through the MIS system to a graphic display on the individual student's home page. Negative behavior points can also be displayed in the Web Part. The Web Part provides a motivating incentive to students, who continually compare points achieved.

Figure 8. Student behavior display on the BMS 360 home page

Student behavior display on the BMS 360 home page

Online homework diary

The Blatchington Mill School has a working and successful online homework diary that is the single most-requested utility by parents. Teachers write homework tasks online, and then those tasks are distributed to the homework diary of each student, where the student's parents can also access the information.

The homework diary is installed in the separate sites for staff, students, and parents, and a targeted summary Web Part is displayed on the top-level home page. For monitoring and reporting ease, the staff site homework diary also provides filtering by teacher, subject, and year group. Class data is extracted automatically from the MIS and made available to the Web Parts.

The school developed the online homework diary as a series of Web Parts that are available from the school.

Figure 9. Student homework diary

Student homework diary

Figure 10. A teacher's view of the summary homework Web Part on the BMS 360 home page

Teacher's view of the summary homework Web Part

SIMS Learning Gateway and reporting Web Parts

The SIMS Learning Gateway is a discrete site collection. It houses all pages and Web Parts that the Capita SIMS (MIS) system provides. The site surfaces data from SIMS.net for staff, students, and parents. In addition, a growing number of staff members from external agencies that serve the students, such as career advisors, have access to student data.

Capita SIMS SLG2 Web Parts are installed on target portals. Information that is displayed through each Web Part can vary depending on the user's role.

Table 2. Blatchington Mill School Web Parts

Web Part | Description
My Children (parents only) | Lists the children of the parent who is logged in to the site. Parents use the list to view information about a specific child.
Student Browse (staff only) | Search for a student and access student information.
Staff Browse (staff only) | Search for a member of the staff.
Marksheets | Extracts target and attainment data that is associated with the selected student. Staff can also add new data.
Registration and Attendance | Class registration occurs online, and the MIS system is automatically updated. The Web Part displays information about registration and individual lesson attendance immediately, although each has a slightly different link to access the details. For lesson attendance, the Web Part displays a lesson-by-lesson, real-time attendance grid for the current week. Parents often check their child's lesson attendance during the day from work.
Achievements and Behavior | This Web Part displays all entries to the summary Behavior Management module in SIMS. Parents can view a log of disciplinary action for their child, and also a log of rewards for achievements. Both kinds of behavior carry points, which feed into the online rewards system on the site.
Profiles | Reports full student profiles from SIMS Profiles.

The following images show samples of reporting data that is available to parents.

Figure 11. Student Details, including attendance summary

Student details, including attendance summary

Figure 12. Information on a student's achievements, behavior, assessment, and classes

Student achievement, behavior, assessment, classes

Student tracking and SQL Server

A central focus for the Blatchington Mill School is to determine how best to use its data. The school tries to share data with students and parents in a way that makes sense to them, gives them the ability to draw valid conclusions from the data, and then elicits effective action from them in response.

Although the MIS provides a wealth of data, its own set of Web Parts does not necessarily display the data required, or display it in the way that is desired. When this is the case, the school develops its own Web Parts. The Student Tracking Suite is a good example.

The suite contains a set of Web Parts for staff, students, and parents, about each of the three key stages in the school.

  • Years 7-9 (11-13 year olds)

  • Years 10-11 (14-16 year olds)

  • Years 12-13 (17-18 year olds)

Each Web Part provides summary grades for each subject that the student follows. Specifically, an end of KeyStage target grade, target grades at the end of each term, attainment grades at the end of each term, and work ethic grades at the end of each term. Teachers submit attainment and work ethic grades online each term. Attainment is automatically color coded to indicate progress towards the student's ultimate target grade. The information is always available for students and parents to see, and is a very popular feature of BMS 360 for students.

Figure 13. Student Tracking Suite summarizes student achievement over several years

Student tracking suite summarizes achievement

Parents can now chart their child's progress at any time across several years. Teachers can engage in more detailed conversations at parent conferences, parents can make better decisions about which teachers to see. Students are much better informed about their progress across all of their studies. The Student Tracking Suite has significantly changed how the school monitors student progress, and enables intervention at an earlier stage where necessary.

The data for the Student Tracking Suite is extracted from the MIS server daily by a scheduled script, and written to a custom SQL Server database that resides on the server running SharePoint 2010. The Web Part surfaces the data from the database for the student who is logged in (or for their parent) when they access the page.

Paperless forms

Blatchington Mill School uses the Enterprise version of SharePoint 2010, which includes InfoPath Form Services. These services provide for the design, distribution, completion, and submission of electronic forms.

The school is currently replacing paper-based processes for many key areas, including personnel-related requests, internal exam entries, and online registration of student mobile devices for school Wi-Fi access.

With the sophisticated workflow management system that is available in SharePoint 2010, the opportunities for replacing paper-based processes throughout the school are significant.

Student blogs

Everyone is familiar with the potential value of blogs. At the Blatchington Mill School, one effective use of blogging occurs on school trips. Staff members who accompany the trip upload photos and provide updates and live travel information during the trip. Students can add comments or include messages home.

One recent project on the community site of BMS 360 was an exciting visit to Colombia by one of the school staff and a local primary school teacher. The British Council organized the visit with the help and collaboration of several schools around the globe. The Blatchington Mill School staff member used the SharePoint portal as a channel to communicate with everyone involved in the project: the local primary schools, the British Council, and the schools and teachers in South America. Activities included online blog updates, a live video conference, photo and video galleries, and a conference call. The technologies were intentionally very straightforward to show what could be done by using basic equipment and almost no specialist technical knowledge by anyone involved.

Figure 14. Student blog of ski trip to Austria

Student blog of ski trip to Austria

Conclusion

The Blatchington Mill School provides an all-round system that underpins the work of all staff and students in the school, engages parents, and provides a valuable collaborative environment for students to work with external partners and their community. Instead of simply replacing traditional activities with new technology, the school uses the technology to provide new and exciting opportunities to further student progress and to keep parents actively engaged in their child's education.

At the core is the SharePoint environment, which provides the flexible online framework. From there, the school developed its own customizations to suit its specific requirements.


Hosted environments (SharePoint Server 2010)

In this section:

  • Model: Hosting architectures for SharePoint Server 2010

  • White paper: SharePoint 2010 for hosters (SharePoint Server 2010)


Model: Hosting architectures for SharePoint Server 2010

This model summarizes the support for hosting environments and illustrates common hosting architectures. Before learning about hosting environments, it is important to understand the services architecture. For more information, see Services architecture planning (SharePoint Server 2010).

Hosting Environments in SharePoint 2010 Products

Visio (http://go.microsoft.com/fwlink/p/?LinkID=167084)

PDF (http://go.microsoft.com/fwlink/p/?LinkID=167086)

XPS (http://go.microsoft.com/fwlink/p/?LinkID=167085)


White paper: SharePoint 2010 for hosters (SharePoint Server 2010)

This white paper provides the hosting community with an overview of Microsoft SharePoint Server 2010 and the underlying Microsoft SharePoint Foundation components, and provides detailed architectural guidance to support the multi-tenancy requirements of hosters. Although this document can be used by anyone to gain an understanding of many key features in SharePoint 2010 Products, it focuses on how these new features affect and support the hosting community.

product logo for Microsoft Project Microsoft Project Server 2010 does not support multi-tenant environments. Do not install Project Server 2010 on a multi-tenant SharePoint Server 2010 farm. If you have Project Server 2010 installed on a farm, do not configure multi-tenancy on that farm.

SharePoint 2010 for hosters (http://go.microsoft.com/fwlink/p/?LinkId=190783)


Virtualization planning for on-premise or hosted technologies (SharePoint Server 2010)
See Also

This section contains articles that are designed to help you plan and implement a server virtualization solution for Microsoft SharePoint Server 2010 server farms.

In this section:

  • Virtualization support and licensing (SharePoint Server 2010)

  • Hyper-V virtualization requirements (SharePoint Server 2010)

  • Plan virtual architectures (SharePoint Server 2010)

  • Create a virtualization plan (SharePoint Server 2010)

  • Create a detailed design and system specifications for a virtual farm (SharePoint Server 2010)

  • SharePoint 2010 Virtualization Guidance and Recommendations (white paper)

See Also

Other Resources

Resource Center: Virtualization for SharePoint Server 2010


Virtualization support and licensing (SharePoint Server 2010)
See Also

This article provides support and licensing information for using server virtualization technologies to deploy Microsoft SharePoint 2010 Products in a virtual environment.

Support

Microsoft SharePoint Server 2010 supports virtualization that includes any required technologies, such as Microsoft SQL Server, when the products and technologies are deployed in a Windows Server 2008 Hyper-V technology or Microsoft Hyper-V Server 2008 environment or any virtualization solution that is validated under the Server Virtualization Validation Program (http://go.microsoft.com/fwlink/p/?LinkId=125649).

SharePoint Server 2010 is not supported on virtualization environments that are not explicitly referenced under the Server Virtualization Validation Program.

Licensing

You must ensure that your virtualization solution meets all the licensing requirements.

Microsoft SharePoint 2010 Products

Every element of a Microsoft SharePoint Server farm that is installed on a virtual machine must comply with the licensing requirements for SharePoint Server 2010 and related and supporting technologies. For more information about licensing SharePoint Server 2010, see Microsoft SharePoint 2010 Licensing Q&A (http://go.microsoft.com/fwlink/p/?LinkId=210179).

For information about licensing other Microsoft Server products in a virtual environment, see LICENSING MICROSOFT SERVER PRODUCTS IN VIRTUAL ENVIRONMENTS (http://go.microsoft.com/fwlink/p/?LinkId=212535).

See Also

Other Resources

Resource Center: Virtualization for SharePoint Server 2010


Support and licensing for Windows Azure (SharePoint Server 2010)
See Also

Published: June 12, 2012

This article provides support and licensing information for deploying Microsoft SharePoint Server 2010 on the Windows Azure platform.

Support

SharePoint Server 2010 supports the hosted virtualization solution of Microsoft, as well as required technologies, such as Microsoft SQL Server, when these products and technologies are deployed on the Windows Azure platform.

Important:

We do not support Microsoft FAST Search Server 2010 for SharePoint deployments on Windows Azure.

Licensing

You must ensure that your virtualization solution meets all the licensing requirements. For information about License Mobility, see License Mobility Through Software Assurance

Microsoft SharePoint 2010 Products

Every element of a Microsoft SharePoint Server farm that is installed on a virtual machine must comply with the licensing requirements for SharePoint Server 2010 and related and supporting technologies. For more information about licensing SharePoint Server 2010, see Microsoft SharePoint 2010 Licensing Q&A (http://go.microsoft.com/fwlink/p/?LinkId=210179).

Windows Azure and other Microsoft Server Products

For more information about Windows Azure licensing and costs, go to the Windows Azure site.

For information about licensing other Microsoft Server products in a virtual environment, see LICENSING MICROSOFT SERVER PRODUCTS IN VIRTUAL ENVIRONMENTS (http://go.microsoft.com/fwlink/p/?LinkId=212535).

See Also

Other Resources

Resource Center: Installation and Deployment for SharePoint 2010


Hyper-V virtualization requirements (SharePoint Server 2010)
See Also

This article provides hardware and software requirements for using hardware-based virtualization. Although Windows Server 2008 Hyper-V technology is the focal point of this document, the basic hardware requirements for enabling hardware-based virtualization also apply to third-party virtualization technologies that are certified by Microsoft.

Hardware

The requirements for hardware-based virtualization are as follows:

  • Hardware-assisted virtualization, which is available in processors that include a virtualization option—specifically processors with Intel Virtualization Technology (Intel VT) or AMD Virtualization (AMD-V) technology.

  • Hardware-enforced Data Execution Prevention (DEP) is available and enabled.

You can use one of the following tools to determine if the processor on an existing server supports Hyper-V:

  • AMD Hyper-V Compatibility Check Utility (.zip file) (http://go.microsoft.com/fwlink/p/?LinkId=150561)

  • Intel Processor Identification Utility (Windows Version) (http://go.microsoft.com/fwlink/p/?LinkId=150562)

Software

One of the following Microsoft products is required for Hyper-V:

  • Windows Server 2008 (all editions of Windows Server 2008, except for Windows Server 2008 for Itanium-Based Systems, Windows Web Server 2008, and Windows Server 2008 Foundation)

  • Microsoft Hyper-V Server 2008

  • Windows Server 2008 R2 (all editions of Windows Server 2008 R2, except for Windows Server 2008 R2 for Itanium-Based Systems, Windows Web Server 2008 R2, and Windows Server 2008 R2 Foundation)

  • Hyper-V Server R2

We recommend Windows Server 2008 R2 for virtualization servers because of the many improvements introduced for Hyper-V, such as:

  • Live migration to move a running virtual machine from one cluster node to another

  • Significant gains in performance and scalability

  • Enhanced processor support

  • Enhanced virtual machine storage

  • Enhanced networking support

For more information, see What's New in Hyper-V in Windows Server 2008 R2 (http://go.microsoft.com/fwlink/p/?LinkID=155234).

See Also

Concepts

Virtualization support and licensing (SharePoint Server 2010)

Other Resources

Resource Center: Virtualization for SharePoint Server 2010


Plan virtual architectures (SharePoint Server 2010)
See Also

This article discusses key considerations for planning virtual architectures by using Microsoft SharePoint Server 2010 server roles. This article does not include performance or capacity planning data or recommendations. It describes general guidance for planning virtual environments and includes example architectures for small, medium, and large size farms.

In this article:

  • Virtual versus physical architectures

  • Example virtual architectures for small to medium size farms

  • Example virtual architectures for medium to large size farms

Virtual versus physical architectures

Typically, an organization considers a move to virtual architectures because it wants to reduce the number of servers that are required to host a solution, to more efficiently use existing hardware, or to save energy and space. The ability to automate server deployment is also a primary motivation to deploy a virtual server environment.

Virtualizing Web servers and application servers

The Web server and application server roles are good candidates for virtualization. When you plan a virtual environment, a reasonable approach is to apply topology, performance, and capacity guidance to plan the physical environment, and then use the resulting number of Web servers and application servers — including specific application server roles — as a starting point for the virtual environment.

In a virtual environment; however, more virtual servers might be required to provide the same level of service and performance during peak times as are provided by physical servers. The results will depend on the specific services and the usage patterns of these services.

That said, running in a virtual environment provides the flexibility of re-allocating resources across virtual machines as necessary to tune performance. You can also more easily add and remove virtual servers to address spikes in usage of specific services that occur at predictable times throughout a year.

Virtualizing SQL Server

The question of whether to virtualize Microsoft SQL Server is debatable and depends on the overall goals of a deployment. A virtual SQL Server environment typically performs slower than a physical environment, although performance is improving as new versions are released. By using the most recent version of the Hyper-V role (included in Windows Server 2008 R2), SQL Server performance tests indicate that the same throughput (compared to a physical server) can be achieved in a guest virtual machine at a cost of slightly increased CPU usage.

There are other things to consider before you plan to virtualize SQL Server, such as the number of CPU cores required by SQL Server, the failover and availability plan, and the options for optimizing storage. Regardless, the benefits of deploying SQL Server to a virtual environment might outweigh the performance cost. For example, virtualizing SQL Server might be useful in a temporary or transitional solution, for example when combining multiple farms into an enterprise farm and retiring hardware. Organizations that make the most of limited hardware will gain the most by deploying SQL Server to physical servers. The examples in this article include environments that take both approaches.

For more information, see Running SQL Server 2008 in a Hyper-V Environment - Best Practices and Performance Recommendations (http://go.microsoft.com/fwlink/p/?LinkID=134106).

Virtualizing other servers in the environment

SharePoint 2010 Products solutions rely on other servers in the environment. This section provides general guidance on factoring these into a virtual architecture.

Active Directory

We recommend that — at a minimum — the root domain controller for an Active Directory directory services environment be hosted on a physical server outside of virtual environments. If needed, additional domain controllers can be deployed as virtual servers.

For more information about how to deploy Active Directory to virtual environments, see the following resources:

  • Blog by Sander Berkouwer: Active Directory in Hyper-V environments, Part 2 (http://go.microsoft.com/fwlink/p/?LinkId=186927)

  • Planning Considerations for Virtualized Domain Controllers (http://go.microsoft.com/fwlink/p/?LinkId=186928)

Gateway products

Gateway products include the following:

  • Microsoft Forefront Unified Access Gateway (UAG)

  • Microsoft Forefront Threat Management Gateway (TMG)

For high availability, we recommend that you position these products outside the SharePoint 2010 Products virtual environment. For more information about how to set up virtual environments for these gateway products, refer to the product documentation.

Testing side by side

If you are concerned about how deploying SharePoint 2010 Products server roles in a virtual environment might affect performance, consider testing the specific roles that you plan to deploy. You can use the results to decide how many virtual servers to deploy for a specific role, or even whether to deploy a specific role to the virtual environment. For example, if your farm will crawl lots of content, the results of your tests might lead you to deploy the crawl role to a dedicated physical server.

One way to test a virtual environment is to deploy a specific role both virtually and physically, and compare benchmark data for network, memory, disk, and CPU. The following illustration provides an example of how to test specific server roles by using a limited number of servers.

Rotate roles for side-by-side testing

In this illustration, specific roles are deployed to the virtual environment. A physical test server is set up to test each role, one at a time, so that side-by-side benchmark data can be collected. Be sure to account for differences between the physical and virtual environments that will affect test results, such as different hardware specifications.

If you have an existing farm, you can add a virtual host and swap in virtual machines that have equivalent roles to see how the virtual performance for each role is affected. You can also see how different combinations of roles affect the overall performance of the farm. The following example illustrates this idea.

Swap roles in and out of the virtual environment

Example virtual architectures for small to medium size farms

The starting point for replacing a physical farm by using a virtual farm is to use two to four physical host servers. For each host, the number of servers that can be deployed is dictated by available memory, CPU, disk, and network resources.

The following two illustrations provide example deployments in which the Web server and application server roles are deployed to a virtual environment.

Use fewer virtual machines for proof of concept

In this example, be aware of the following:

  • The minimum resources for CPUs and RAM represent starting points for the farm. Because only two cores are reserved for each virtual image, this example is only appropriate for proof-of-concept or development environments in which performance is not an issue. Reserve enough spare resources to reallocate based on performance monitoring.

  • SQL Server is deployed to physical servers, instead of to virtual servers.

  • Web servers and application servers are redundant across the two host servers.

  • Three Web servers are deployed to the virtual environment for high availability.

  • The Active Directory domain controllers are deployed to physical servers.

For pilot testing and production environments, four cores is the minimum recommended starting point for virtual machines. The following virtual environment uses fewer virtual machines to achieve this objective.

Use fewer virtual machines for a pilot environment

This example represents a starting-point environment. You might have to add resources, depending on the usage pattern of the farm.

Example virtual architectures for medium to large size farms

By using larger host servers, you can allocate more resources to virtual images. The following illustration provides an example implementation that uses more CPUs and RAM.

Using more CPUs and RAM

If the benefits of virtualizing SQL Server outweigh the performance tradeoffs, SQL Server can be deployed as a guest also, as shown in the following illustration.

Deplyoying SQL Server as a guest

In this example, be aware of the following:

  • Only one instance of SQL Server is deployed to each host. In small and medium size virtual environments, we recommend that you do not deploy more than one SQL Server guest per host.

  • Both host servers include more memory to accommodate the number of virtual servers, including SQL Server.

If a particular server role consumes so many resources that it adversely affects the overall performance of the virtual environment, consider dedicating a physical server to this role. Depending on the usage patterns of an organization, these roles might include crawl servers, the server that imports profiles, Excel Services Application, or other services that are used heavily. The following illustration provides an example.

Dedicate a physical server to a role

In this example:

  • SQL Server is deployed to physical servers. Remove SQL Server from the virtual environment before you remove application server roles.

  • The crawl role is deployed to a physical server. In some environments, a different role might be a candidate for deploying to a physical server, depending on usage.

See Also

Other Resources

Resource Center: Architecture Design for SharePoint Server 2010
Resource Center: Virtualization for SharePoint Server 2010


Create a virtualization plan (SharePoint Server 2010)
See Also

This article describes the planning process to follow in order to successfully deploy Microsoft SharePoint Server 2010 in a virtual environment. Each step in the planning process includes links to the appropriate documentation. It is assumed that you have determined the SharePoint Server 2010 solution that you want to deploy in a virtual environment. On the surface, deploying a SharePoint Server 2010 farm on virtual machines is the same as deploying a farm on physical servers. However, deploying in a virtual environment involves a different level of planning that takes into account the characteristics of Windows Server 2008 Hyper-V technology as well as how virtual machines, the virtual network adapters, and virtual hard disks are implemented on a virtualization server.

Before you start developing your virtualization plan, we recommend that you read the Hyper-V Planning and Deployment Guide (http://go.microsoft.com/fwlink/p/?LinkId=187964).

Detailed information about the following subjects is out-of-scope for this article, but is provided in other articles:

  • Capacity management

  • Security requirements

  • Health and performance monitoring

  • Backup and recovery

A virtual environment consists of two interrelated layers, one physical and one virtual. A configuration change in either layer effects servers in the other layer. This interrelationship becomes evident when you plan for, deploy, and use SharePoint Server 2010 in a virtual environment. For more information, see Virtualization overview.

Create a plan for deploying SharePoint Server 2010 in a virtual environment

You should approach planning for a virtual farm the same way as you would plan for a physical farm. Most, if not all, of the issues and requirements for deploying SharePoint Server 2010 on physical servers apply equally to virtual machines. Any decisions that you make, such as minimum processor or memory requirements, have a direct bearing on number of virtualization hosts required, as well as their ability to adequately support the virtual machines that you identify for the farm.

After you finish planning a physical farm, you have all the information you need to design virtualization architecture. Ideally, this architecture is as close as possible to the final virtualization solution that you intend to put into production. Realistically, the architecture is likely to change as you move through the deployment phase of the system lifecycle. In fact, you may determine that some farm server roles are not good candidates for virtualization.

The key planning steps, tasks, and references are summarized in following the procedure.

To create a virtualization plan

  1. Determine virtualization scope

    Determining the scope of farm virtualization is a key contributing factor to successfully implementing, managing, and evaluating your virtualization project. When determining scope, you have to decide whether you will virtualize some or all of the supporting virtual machine infrastructure.

    Use the following list of tasks to determine the scope of virtualization.

    • Task 1: Identify all the farms that are required to implement your solution. Take into consideration the fact that most solutions have several farm components. For example, an Internet-facing Web portal typically has a publishing farm, an authoring farm and a testing or quality assurance farm.

    • Task 2: For each farm, determine the number of servers that are required as well as the role that each server will have in the farm.

    • Task 3: Identify which farms you want to deploy in in a virtual environment.

    Refining the scope of a solution also refines the scope of a deployment, which makes it easier to implement and manage. For more information, see Plan for sites and solutions (SharePoint Server 2010). In many cases, solutions share common elements; however, each solution may have its own requirements. For more information, see Fundamental site planning (SharePoint Server 2010). The Plan for social computing and collaboration (SharePoint Server 2010) article shows one of the popular solutions.

    Note:

    Expect to refine the scope of your solution as you move through the phases of deploying your farm in a production environment.

  2. Identify servers to virtualize

    Identify servers that are good candidates for virtualization. From a technical and Microsoft support perspective, all SharePoint servers can be virtualized. The decision to virtualize a particular farm server should be based on:

    • Corporate compliance policies (for example, legal and technical)

    • Benefits derived from server consolidation, such as reduced power consumption and physical space requirements. For more information, see Server virtualization (http://go.microsoft.com/fwlink/p/?LinkId=187965).

    • Capacity requirements (see next planning step)

  3. Identify capacity requirements for each farm server

    Determine the resource requirements for each farm server as if it was a physical server. Take into account specialized server roles, such as hosting Enterprise Search components. You need to specify the amount of resources needed for each of the following server components:

    • Memory

    • Number of processors and minimum clock speed

    • Number and size of hard disks

    • Number of network adapters and their required throughput speed

    Use the resources available at the Capacity Management for SharePoint Server 2010 Resource Center to develop the capacity and performance requirements for your farm.

  4. Determine if virtual machine can meet physical requirements.

    You have to determine whether each virtual machine that you identified in Step 3 can meet the capacity requirements of a corresponding physical server. At a minimum, complete the following tasks:

    • Task 1: Assess the memory requirement in the context of available virtualization host capacity.

    • Task 2: Assess the processor requirement. Hyper-V has a hard limit of four virtual processors per virtual machine. If a physical farm server requires eight processors, determine whether this requirement can be met by scaling out the number of virtual machines in a farm.

    • Task 3: Assess the virtual machine storage requirement in the context of local physical storage or SAN.

  5. Determine virtualization host requirements

    Determine the minimum host requirements (memory, number of cores, number and size of local hard drives, number of network adapters)Also consider and plan for the following:

    • Scalability: Determine if you can add more CPUs, more memory, more hard disks, and more network adapters to the host computer.

      Important:

      Depending on the manufacturer and computer model, you may not be able to increase capacity. You need to have this information before you use or purchase a server.

    • Extra host capacity: Determine whether or not the host has the capacity to scale up existing virtual machines, or to add additional virtual machines. This is very important if you plan to use Hyper-V failover clustering, quick migration, or live migration.

    Important:

    Plan for peak load and determine how short term spikes in load will be handled.

  6. Design virtualization architecture

    A well-designed architecture is required for a successful solution. For SharePoint Server 2010, a basic three-tier topology provides the foundation for all the solutions. The following elements form a good design that is based on the recommended foundation topology:

    • Good overall performance

    • Ease of maintenance and upgrade

    • Flexibility

    • Scalability

    • High availability

    For more information, see Plan for server farms and environments (SharePoint Server 2010).

    A virtualization architecture model consists of the virtualization hosts and the virtual machines that make up the farm topology. This model enables you to visualize the virtual environment that you plan to deploy. For more information about virtualization architectures, see Plan virtual architectures (SharePoint Server 2010) and Create a detailed design and system specifications for a virtual farm (SharePoint Server 2010).

    Note:

    Be prepared to refine the architecture as you move through the planning process. The following steps may dictate changes to the architecture.

  7. Identify storage requirements

    Determine how much local physical storage or SAN storage is required for Hyper-V-related storage such as configuration files, Virtual Hard Disks (VHDs), and snapshots.

  8. Identify backup and recovery requirements

    In addition to the farm servers, you have to plan backup and recovery for all or part of a farm. For more information, see Backup and recovery for SharePoint Server 2010.

  9. Determine high availability requirements and design a solution

    Identify approaches for achieving high availability for Web servers, application servers, and databases. Typical strategies include the following:

    • Redundant hardware and servers

    • Hot-swappable components

    • Failover clustering for virtual and physical servers. For more information, see Hyper-V: Using Hyper-V and Failover Clustering (http://go.microsoft.com/fwlink/p/?LinkId=187967).

    • Clustering or mirroring for database servers. For more information, see Plan for availability (SharePoint Server 2010)

  10. Identify health and capacity indicators for monitoring the virtual environment. For more information, see Create a detailed design and system specifications for a virtual farm (SharePoint Server 2010).

    Combine the key indicators that you derived in the previous steps with the planning you did for SharePoint Server 2010. For more information, see Plan for server farms and environments (SharePoint Server 2010). You have to determine all the health and capacity indicators in order to collect measurements from the following objects in the virtual environment:

    • Virtual machines with SharePoint Server 2010 installed

    • Virtual machines that are not part of the farm, such as a firewall server

    • Virtualization hosts

    • Network components

    After you start to collect data from the virtual environment, you can create a baseline, which can be used to assess and tune the virtual environment during deployment and after the farm goes into production.

  11. Create a deployment plan for the deployment phase of the system lifecycle.

    For more information, see the SharePoint 2010 Products Deployment model, available in the Technical diagrams (SharePoint Server 2010) article.

  12. Create a maintenance plan

    Create a maintenance plan that enables you to implement password changes and apply software updates, service packs, and hotfixes. This plan should include the virtual machines and the virtualization hosts.

See Also

Other Resources

Resource Center: Virtualization for SharePoint Server 2010


Create a detailed design and system specifications for a virtual farm (SharePoint Server 2010)
See Also

This article provides information about capacity management and high availability for a virtual environment hosting Microsoft SharePoint Server 2010. We combine these two concepts in this article because capacity and sizing are very important parts of developing a virtualization plan and the architecture for a virtual environment, and because capacity management is not isolated from high availability in a virtual environment. In the case of virtualization hosts, insufficient capacity can block high availability at the farm level and at the host level.

As is the case with other aspects of a virtual environment, such as backup and recovery, capacity management and high availability have to accommodate the two layers of a virtual environment, which are the virtual machines used for SharePoint Server 2010 and the physical servers that are used to host the virtual machines. In the case of a hybrid environment, you also have to deal with physical Microsoft SharePoint Server farm servers.

In this article:

  • Virtualization overview

  • Capacity management

  • Virtualization server capacity and sizing

  • Creating and refining the architectures

  • Additional options for improving the architecture

  • High availability

Virtualization overview

Server virtualization, as implemented by Windows Server 2008 Hyper-V technology or Microsoft Hyper-V Server 2008, is hardware-based and is also referred to as hardware-assisted virtualization, as opposed to software-based virtualization. The Hyper-V hypervisor has a more direct communication path to, and interaction with, physical server hardware components than software-based virtualization technologies. The net result is better performance than a software-based virtualization technology. For more information about the Hyper-V architecture, see An Introduction to Hyper-V in Windows Server 2008 (http://go.microsoft.com/fwlink/p/?LinkId=188006) and Monitoring Hyper-V performance (http://go.microsoft.com/fwlink/p/?LinkID=187746&clcid=0x409).

Although a physical server may meet Hyper-V requirements, each physical server is unique. Every manufacturer uses its own implementation of processors, multi-core technology, memory, the data bus, hard disks, and network adapters. Additionally, hardware design and implementation varies from model to model, even if the models are produced by the same manufacturer. This highlights the need for rigorous testing when you deploy SharePoint Server 2010 in a virtual environment.

Software programs and applications exhibit the same variations in performance as hardware. Some programs are CPU intensive, other programs have high memory demands, and other programs are hard disk intensive. SharePoint Server has its own capacity needs, as does Internet Information Server (IIS) and SQL Server 2008. Once again, rigorous testing is required.

Capacity management requires you to consider the virtualization server, the storage solution, the network infrastructure, the technologies running in a SharePoint Server environment, and the features that are enabled to implement your SharePoint Server solution.

Capacity management

Capacity management extends the concept of capacity planning to express a cyclical approach in which the capacity of a SharePoint Server 2010 deployment is continually monitored and optimized to accommodate changing conditions and requirements. You can apply this approach to all SharePoint Server farms, including those that are fully virtualized, and those that are partly virtualized. For an overview of capacity management, see Capacity management and sizing for SharePoint Server 2010. Additional capacity management resources are located at the Capacity Management for SharePoint Server 2010 (http://go.microsoft.com/fwlink/p/?LinkId=194748) Resource Center.

Virtualization server capacity and sizing

After you have a SharePoint Server farm design and sizing recommendations for the farm servers, you design the physical virtualization host architecture required to support the virtual farm. For more information about virtual architectures, see Plan virtual architectures (SharePoint Server 2010).

We recommend that you use applicable principles from SharePoint Server 2010 capacity management and use them as guides for a virtual environment. The following activities illustrate the iterative nature of designing, sizing, and adjusting a virtual and physical architecture from initial planning to deployment in a production environment.

Note:

If you do thorough planning and testing, changes to the architecture and server configurations should only be required if there is a significant and unanticipated increase in farm use or because new features are added to your SharePoint Server solution.

  • Before you start the farm deployment, create a virtual and physical architecture with virtual machine and virtualization server sizing. In the case of multiple virtualization hosts, this architecture must include virtual machine distribution.

  • During the pilot phase of deployment, collect health and performance data that you can use to establish benchmarks for the farm virtual machines and the virtualization hosts.

  • During the user acceptance test phase of deployment, adjust the virtualization host and virtual machine configurations based on the benchmark data. If necessary, change the physical architecture by redistributing virtual machines on the virtualization hosts.

  • After deployment, continue to collect health and performance benchmarks and refine virtual machine and, if applicable, physical machine configurations. If necessary, adjust both architectures.

It is essential that you can analyze virtualization host and virtual machine performance data and understand how it reflects capacity needs and application effect on capacity. Additionally, you have to understand performance and capacity limits. Given the interrelationship between the virtual layer and the physical layer, anything that affects virtual machine capacity and performance either has a direct effect on the host or has to be accommodated for by making changes to the virtualization host configuration in order to sustain acceptable performance across the farm.

In some cases it may be necessary to change the physical architecture by adding additional virtualization hosts and then changing the distribution of virtual machines on the physical architecture.

Important:

In benchmark tests between a physical computer and a virtual machine, the throughput of the virtual machine typically cannot match that of a physical computer. Virtual machine performance is, with rare exceptions, always lower than that of a physical computer. The degree of performance difference depends on virtualization host capabilities, the applications that are running, and the benchmarks that you choose to use as primary performance indicators.

We recommend that you read the Hyper-V Performance FAQ R2 (http://go.microsoft.com/fwlink/p/?LinkID=187745), which is updated to reflect capacity and performance information for Windows Server 2008 R2 and Windows Server 2008 with Service Pack 2 (SP2). This FAQ contains answers to common Hyper-V questions, provides guidance, and includes links to detailed articles that you can use to develop benchmarks for the virtualization host, virtual machines, and Windows networking.

We also suggest you read the following posts about Hyper-V performance counters:

  • Hyper-V Performance Counters - Part one of many - The overview (http://go.microsoft.com/fwlink/p/?LinkID=125651)

  • Hyper-V Performance Counters - Part two of many - "Hyper-V Hypervisor" counter set (http://go.microsoft.com/fwlink/p/?LinkID=125652)

  • Hyper-V Performance Counters - Part three of many - "Hyper-V Hypervisor Logical Processors" counter set (http://go.microsoft.com/fwlink/p/?LinkID=125653)

  • Hyper-V Performance Counters - Part four of many - "Hyper-V Hypervisor Virtual Processor" and "Hyper-V Hypervisor Root Virtual Processor" counter set (http://go.microsoft.com/fwlink/p/?LinkID=125655)

Creating and refining the architectures

A complete architecture consists of the virtualization hosts, virtual machines, and physical machines that make up the SharePoint Server environment that you plan to deploy. For more information about virtualization architectures, see Plan virtual architectures (SharePoint Server 2010).

Developing and implementing a virtual architecture consists of the following steps:

  1. Create the virtual and physical architecture. Create an architecture that will support the goals of your SharePoint Server 2010 farm.

  2. Analyze the architectures. Identify and obtain any information that is missing or that will improve the design of the environment that you plan to deploy.

  3. Refine the architectures. Use the information from step 2 to refine the architecture.

  4. Continue to refine the architectures and server configurations as you move through the various deployment stages. For more information about the deployment stages, see the SharePoint 2010 Products Deployment and SharePoint 2010 Products: Virtualization Process models, available in the Technical diagrams (SharePoint Server 2010) article.

Create the architecture

Create a model of the architecture that you can use as a tool for evaluating and adjusting virtual machine and virtualization host configurations. Use the following criteria as a guide for developing your model:

  • Identify the number of virtual machines that are needed and the role of each in the SharePoint Server farm.

  • Specify individual virtual machine configuration requirements (disk space, memory, and number of processors). These are based on SharePoint Server capacity requirements.

  • Specify virtualization host requirements (disk space, memory, and number of logical processors). These are based on virtual machine requirements.

  • Identify virtual machine distribution on virtualization hosts. These are based on farm high-availability requirements and are constrained by virtualization host quantity and capacity.

  • Identify general networking and storage requirements.

  • Allow for growth on virtualization hosts and on the virtual machines (scale up or scale out).

After you create an architecture model, you have to analyze both architectures to validate the design as well as the virtualization host and virtual machine configurations.

Analyze the architectures

The fundamental purpose of analyzing the architecture is to determine whether it can successfully support the SharePoint Server 2010 solution that you want to deploy. However, it is reasonable to assume that design and server configurations will change as you move through the deployment process.

The following illustration shows a sample virtual architecture for a farm that consists of front-end Web servers, application servers, and database servers. This architecture is representative of the small to medium farms described in Example virtual architectures for small to medium size farms, and we can use it show the key elements that have to be considered when you analyze the capacity and availability requirements for a virtual farm.

Important:

Virtualization server and virtual machine sizing in the following illustration is not prescriptive.

Figure 1. Preliminary architecture

Virtual SharePoint Server 2010 farm topology

Use the criteria provided for creating a virtual architecture to analyze the sample architecture shown in the previous illustration. The architecture in the illustration assumes that all the Web servers and application servers are virtual machines. It has not been determined whether the farm database servers are physical machines or virtual machines.

Virtualization host analysis

The following tables (HOST-1 and HOST-2) provide an analysis of each virtualization host and use memory, processors, and scalability as criteria. The host analysis is followed by a design analysis.

HOST-1

Criteria Analysis

Memory

After factoring in 2 GB of RAM for the host operating system and using the projected RAM requirements, there is an estimated 2 GB of RAM available for future use.

Processors

The logical to virtual processor mapping is 8:10 (1:1.25), which means that the CPU is slightly oversubscribed, which would not be an issue in a test environment.

Important:

Oversubscribing the CPU on a virtualization server will reduce overall performance. The extent of this effect is determined by the load put on the virtual machines. As a best practice, do not oversubscribe the virtualization server CPU if it can be avoided.

Scalability

This is not an option because there is insufficient memory. Additionally, the degree of CPU oversubscription (even by adding a virtual machine with two processors) would have a noticeable effect on performance.

HOST-2

Criteria | Analysis
Memory | After factoring in 2 GB of RAM for the host operating system and using the projected RAM requirements, there is an estimated 6 GB of RAM available for future use.
Processors | The logical to virtual processor mapping is 8:8 (1:1), which meets the best practice guidance.
Scalability | There is sufficient memory to increase the memory allocation to the virtual machines. There is enough capacity to add a new virtual machine with two processors and 4 GB of RAM. This means that the virtualization host CPU would be slightly oversubscribed (8:10), but like HOST-1, would not be an issue in a test environment.

Design analysis

The sample architecture generally shows a degree of high availability for the farm servers. For example, there are three front-end Web servers distributed across HOST-1 and HOST-2, and the database servers (clustered or mirrored) also reside on separate virtualization hosts or separate physical servers. High availability at the virtualization host level is not part of the architecture and pertinent information is missing. The following information is required before the design can be revised:

  • Database size

    The size of the content database determines how you configure and distribute all the farm servers.

  • Storage subsystem

    For example, in the sample architecture, no information is provided about the number of disks required for each virtual machine, nor is there any indication of disk distribution and capacity. This information is very important for determining and configuring the storage system. The architecture sample uses local storage. You have to determine whether this is suitable for your environment, or if you want to use pass-through disk configuration to a LUN on a SAN.

  • Networking requirements

    The number of network adapters and minimum throughput has to be identified.

  • Virtual hard disk configurations

    You also have to determine which of the Hyper-V hard disk configurations you want to use (for example, fixed size, pass-through). For more information, see Planning for Disks and Storage (http://go.microsoft.com/fwlink/p/?LinkId=188007) and Virtual Hard Disk Performance: Windows Server 2008 / Windows Server 2008 R2 / Windows 7 (http://go.microsoft.com/fwlink/p/?LinkId=186519).

After you complete a design review, the next step is to refine the architecture.

Refine the architecture

The scope of refining the architecture depends on your initial architecture, the results of your analysis, and your implementation plan. Using the sample that is provided, there are scenarios where you might decide not to make any changes. For example:

  • The preliminary architecture is suitable for early testing, proof-of-concept, and a limited pilot deployment.

  • The virtualization hosts are for testing only and will be replaced by higher capacity hosts during the user acceptance test phase.

  • The virtual farm is for testing purposes only and will be shut down after testing is finished. In some cases the environment may be retained and used at a later date to test software updates.

The following illustration shows a revised architecture that is better suited for a production farm.

Figure 2. Revised architecture

Revising a virtual architecture

In the revised architecture, the primary assumption is that you want to stay with eight core commodity virtualization servers. The changes in the preceding illustration reflect that assumption and include the following considerations:

  • The estimated size of the content database is 1 terabyte (TB).

  • The objective is to provide high availability for all the farm servers and to maximize performance across infrastructure.

  • The farm database servers are physical servers that can be clustered or mirrored to support high availability. Each server has 8 cores, 16 GB of RAM and uses local drives to reduce latency.

Virtualization host analysis

The following tables (HOST-1 revised and HOST-2 revised) provide an analysis of each virtualization host using memory, processors, and scalability as criteria. The host analysis is followed by a design analysis.

HOST-1 revised

Criteria | Analysis
Memory | After factoring in 2 GB of RAM for the host operating system and using the projected RAM requirements, there is an estimated 2 GB of RAM available for future use.
Processors | The logical to virtual processor mapping is 8:10 (1:1.25), which is slightly oversubscribed.
Scalability | There is a marginal amount of memory available to increase the memory allocation to the virtual machines. Based on the amount of memory and the processor ratio, there is not enough host capacity to add an additional virtual machine.

HOST-2 revised

Criteria | Analysis
Memory | After factoring in 2 GB of RAM for the host operating system and using the projected RAM requirements, there is an estimated 4 GB of RAM available for future use.
Processors | The logical to virtual processor mapping is 8:12 (1:1.50), which is oversubscribed by 50 percent.
Scalability | There is a marginal amount of memory available to increase the memory allocation to the virtual machines. Based on the amount of memory and the processor ratio, there is not enough host capacity to add an additional virtual machine.

Design analysis

  • Each virtual machine uses a three-drive configuration, sized according to SharePoint Server best practice guidance. These drives are typically configured as follows:

    • Drive C (50 GB) for Windows installation

    • Drive D (50 GB) for SharePoint Server 2010 files

    • Drive E (300 GB) for Web content and log files

  • Each front-end Web server is configured with four virtual processors (4xVP) and 8 GB of RAM. This is the minimum recommended configuration for a production environment.

  • The number of front-end Web servers is increased to four to support effective clustering and high availability. This four-server configuration is particularly well-suited for installing software updates because there will always be two servers available when you install updates.

  • The two application servers (App-1, App-2) provide high availability. App-1 hosts Central Administration, the Search crawl component, and the passive index for the Search query component. The number of processors and amount of memory is based on the estimated size of the content database.

    App-2 is a dedicated Search query server. It also contains a copy of Central Administration. The number of processors and amount of memory is based on the estimated size of content database.

  • For high availability, Central Administration is also installed on a front-end Web server on another host.

  • The database servers are physical servers that are clustered or mirrored to ensure high availability. This move to physical servers has the benefits of increasing virtualization host capacity for the virtual farm servers and improving overall database performance.

    Note:

    As indicated earlier in this article, the decision to virtualize or not virtualize database servers is a complex decision that requires extensive planning and testing.

  • From a networking perspective, both virtualization hosts are configured with two separate 1-gigabit physical network adapters. This is a recommended practice to ensure that virtualization host and virtual machine data traffic is separated to improve performance and provide some adapter redundancy.

  • Each virtualization host employs a virtual LAN (VLAN), which can provide the following benefits: network segregation, improved security, and performance.

The revised virtual and physical architecture is significantly improved and could be deployed into a production environment. However, it is important to note that, as configured, available virtualization host resources do not support farm scaling. Additionally, they cannot support the migration of a farm server from one host to another if the need arises.

Realistically, if you want to deploy the example farm into production, we recommend that you consider the following upgrades:

  • Increase virtualization host capacity by using a 16-core computer with 48 or 64 gigabytes of RAM.

  • Add one or more virtualization hosts.

To achieve the optimum level of high availability, consider the additional options in the following section.

Additional options for improving the architecture

The previous section provided options for revising the model. There are, of course, other options to achieve better performance and high availability. Scaling out the virtualization host environment or scaling up the virtualization hosts are good alternatives, although cost is always an issue. Your organization's virtualization strategy will help define the best approach.

Tip:

In terms of cost, it is usually less expensive to purchase a server that has more capacity than you need in the short term than it is to upgrade a server to gain more capacity. This is especially true in the case of memory upgrades, where typically you have to throw away the existing memory modules and buy a full set of new memory in order to upgrade the memory.

Performance gains can be achieved with the following options:

  • Deploy or purchase servers that have Second-Level Address Translation (SLAT) enabled processors. In Intel processors, this feature is referred to as Nested Page Tables and is available in Nehalem 55xx series processors. For AMD, this feature is referred to as Enhanced Page Tables (EPT).

  • Deploy or purchase servers that provide CPU Core-Parking, a feature that allows the running Hyper-V to use the lowest number of processor cores to meet the workload demand.

  • Investigate TCP chimney offload, Virtual Machine Queues (VMQ) and jumbo frames. These features improve network performance and decreases CPU utilization, thereby increasing the overall system capacity.

  • Investigate jumbo frame support to speed up network performance when transferring large amounts of data. However, you must test this thoroughly because jumbo frames do not work in all environments.

  • Investigate adapter teaming. This feature can improve network performance and provide failover capability to the physical network adapters.

    Important:

    Adapter teaming is a third-party solution and is only supported by the vendor. For more information, see Microsoft Support Policy for NIC Teaming with Hyper-V (http://go.microsoft.com/fwlink/p/?LinkId=194749).

High availability

To ensure high availability for a virtual environment, consider implementing Windows Server 2008 R2 failover clustering and Hyper-V live migration, as follows:

  • The scope of failover clustering can include virtualization hosts and the virtual machines on each host. If a virtualization host fails unexpectedly, the virtual machines automatically fail over to another virtualization host.

  • Live migration is a solution for planned downtime. You can migrate running virtual machines to another server (without downtime), shut down the physical server, and perform the maintenance. When you finish maintenance on the server, use live migration to move the virtual machines back to the original physical server. Microsoft supports the use of Live Migration with virtual machines running SharePoint Server 2010.

For more information, see Hyper-V: Using Hyper-V and Failover Clustering (http://go.microsoft.com/fwlink/p/?LinkID=187967) and Hyper-V: Using Live Migration with Cluster Shared Volumes in Windows Server 2008 R2 (http://go.microsoft.com/fwlink/p/?LinkId=188009).

See Also

Other Resources

Resource Center: Virtualization for SharePoint Server 2010 (http://go.microsoft.com/fwlink/p/?LinkId=220219)


SharePoint 2010 Virtualization Guidance and Recommendations (white paper)
See Also

Published: May 12, 2011

Virtualization technologies enable organizations to consolidate workloads across multiple underused servers onto a smaller number of computers.

Fewer physical computers can help to reduce costs through lower hardware, power, and management overhead.

The call for higher availability, greater flexibility, and improved manageability is the driving force behind the virtualization of the Microsoft SharePoint Server 2010 infrastructure. Windows Server 2008 R2 with Hyper-V fully supports SharePoint Server 2010 virtualization and provides the tools to implement dynamic and flexible SharePoint farms in development, preproduction and production environments.

The SharePoint 2010 Virtualization Guidance and Recommendations (http://go.microsoft.com/fwlink/p/?LinkId=217490) white paper shows how you can use Hyper-V in an organization.

See Also

Other Resources

Resource Center: Virtualization for SharePoint Server 2010


Plan authentication (SharePoint Server 2010)

In this section:

  • Plan authentication methods (SharePoint Server 2010)

  • Plan the Secure Store Service (SharePoint Server 2010)

  • People Picker and claims provider planning (SharePoint Server 2010)

  • Plan for Kerberos authentication (SharePoint Server 2010)

  • Claims-based authentication with Microsoft UAG 2010 (SharePoint Server 2010)

  • Microsoft IT implements a custom claims provider (case study)

  • Implementing Claims-Based Authentication with SharePoint Server 2010 (whitepaper)

  • Plan for claims-based authentication or classic-mode authentication (SharePoint Server 2010)

  • Implementing Persistent Cookies in SharePoint 2010 Products (white paper)


Plan authentication methods (SharePoint Server 2010)
See Also

This article describes the authentication methods and authentication modes that are supported by Microsoft SharePoint Server 2010.

Authentication is the process of validating a user's identity. An authentication method is a specific exchange of account credentials and other attributes that assert that identity. After a user's identity is validated, the authorization process determines which sites, content, and other features the user can access.

In this article:

  • Supported authentication methods

  • Authentication modes — classic or claims-based

  • Implementing Windows authentication methods

  • Implementing forms-based authentication

  • Implementing SAML token-based authentication

  • Choosing authentication for LDAP environments

  • Planning zones for Web applications

  • Architecture for SAML token-based providers

Supported authentication methods

SharePoint Server 2010 supports authentication methods that were included in previous versions and also introduces support for token-based authentication that is based on Security Assertion Markup Language (SAML). The following table lists the supported authentication methods.

Method category Authentication methods Notes

Windows authentication

  • NTLM

  • Kerberos

  • Anonymous

  • Basic

  • Digest

Forms-based authentication

  • Lightweight Directory Access Protocol (LDAP)

  • Microsoft SQL Server database or other database

  • Custom or third-party membership and role providers

SAML token-based authentication (new with SharePoint Server 2010)

  • Active Directory Federation Services (AD FS) 2.0

  • Third-party identity provider

  • Lightweight Directory Access Protocol (LDAP)

Supported only with SAML 1.1 that uses the WS-Federation Passive Requestor Profile (WS-F PRP).

Client certificate authentication is possible through integration with AD FS 2.0.

For additional information, see Configure Client Certificate Authentication (SharePoint Server 2010).

Authentication modes — classic or claims-based

Authentication modes determine how client computers authenticate with SharePoint Server 2010 resources. SharePoint Server 2010 introduces support for a claims-based authentication mode. You can use any of the supported authentication methods with the claims-based authentication mode or you can use classic mode authentication, which supports only Windows authentication.

User identity in Active Directory Domain Services (AD DS) is based on a user account. For successful authentication, the user provides the account name and proof of knowledge of the password. To determine access to resources, applications might need to query AD DS for account attributes and other information, such as group membership or role on the network. While this works well for Windows environments, it does not scale to third-party authentication protocols and directory providers and multi-vendor environments that support Internet, partner, or cloud-based computing models.

Claims-based identity is based on the user obtaining a security token that is digitally signed by a commonly trusted identity provider and contains a set of claims. Each claim represents a specific item of data about the user such as his or her name, group memberships, and role on the network. Claims-based authentication is user authentication that utilizes claims-based identity technologies and infrastructure. Applications that support claims-based authentication obtain the security token from the user and use the information within the claims to determine access to resources. No separate query to a directory service like AD DS is needed.

Claims-based authentication in Windows is built on Windows Identity Foundation (WIF), which is a set of .NET Framework classes that is used to implement claims-based identity. Claims-based authentication relies on standards such as WS-Federation, WS-Trust, and protocols such as SAML.

For more information about claims-based authentication, see the following resources:

  • Claims-based Identity for Windows (white paper) (http://go.microsoft.com/fwlink/p/?LinkId=198942)

  • Windows Identity Foundation home page (http://go.microsoft.com/fwlink/p/?LinkId=198943)

For new deployments of SharePoint Server 2010, we recommend claims-based authentication. If you use claims-based authentication, all supported authentication methods are available for your Web applications.

When you create a Web application, you select one of the two authentication modes: claims-based or classic-mode.

Claims-based or classic mode authentication

If you select Classic-Mode Authentication, you configure the Web application to use Windows authentication and the user accounts are treated by SharePoint Server 2010 as Active Directory Domain Services (AD DS) accounts.

If you select Claims-Based Authentication, SharePoint Server 2010 automatically changes all user accounts to claims identities, resulting in a claims token for each user. The claims token contains the claims pertaining to the user. Windows accounts are converted into Windows claims. Forms-based membership users are transformed into forms-based authentication claims. Claims that are included in SAML-based tokens can be used by SharePoint Server 2010. Additionally, SharePoint developers and administrators can augment user tokens with additional claims. For example, Windows user accounts and forms-based accounts can be augmented with additional claims that are used by SharePoint Server 2010.

A SharePoint Server 2010 farm can include a mix of Web applications that use both modes. Some services do not differentiate between user accounts that are traditional Windows accounts and Windows claims accounts. For example, a user who belongs to sites that are configured to use a mix of authentication modes may receive search results that include results from all the sites that the user has access to, regardless of the authentication mode that is configured for Web applications. In this scenario, the user is not interpreted as multiple user accounts. This is because services and service applications use claims identities for inter-farm communication regardless of the mode that is selected for Web applications and users. However, users who belong to more than one user repository that is recognized by SharePoint Server Web applications are treated as separate user accounts, depending on which identity they use to log in.

You do not have to be a claims architect to use claims-based authentication in SharePoint Server 2010. However, implementing SAML token-based authentication requires coordination with administrators of your claims-based environment, as described in the Implementing SAML token-based authentication section of this article.

Implementing Windows authentication methods

The process of implementing Windows authentication methods is similar for both authentication modes (classic or claims-based). Choosing claims-based authentication for a Web application does not increase the complexity of implementing Windows authentication methods. This section summarizes the process for each method.

Kerberos and NTLM

Both the Kerberos protocol and NTLM are Integrated Windows authentication methods, which let users seamlessly authenticate without being prompted for credentials. Users who access SharePoint sites from Internet Explorer will authenticate by using the credentials the Internet Explorer process is running under. By default, these credentials are the credentials that the user used to log on to the computer. Services or applications that access SharePoint Server resources by using Integrated Windows authentication methods will attempt to authenticate by using the credentials of the running thread, which by default is the identity of the process.

NTLM is the simplest form of Windows authentication to implement. Simply select this option when you are creating a Web application.

Kerberos is a secure protocol that supports ticketing authentication. Use of the Kerberos protocol requires additional configuration of the environment. To enable Kerberos authentication, the client and server computers must have a trusted connection to the domain Key Distribution Center (KDC). Configuring the Kerberos protocol involves setting up service principal names (SPNs) in AD DS before you install SharePoint Server 2010.

The following steps summarize the process of configuring Kerberos authentication:

  1. Configure Kerberos authentication for SQL Server communications by creating SPNs in AD DS for the SQL Server service account.

  2. Create SPNs for Web applications that will use Kerberos authentication.

  3. Install the SharePoint Server 2010 farm.

  4. Configure specific services within the farm to use specific accounts.

  5. Create the Web applications that will use Kerberos authentication.

For more information, see Plan for Kerberos authentication (SharePoint Server 2010).

Additionally, for claims-authentication Web applications, the Claims to Windows Token Service (C2WTS) must be configured for constrained delegation. Constrained delegation is required to convert claims to Windows tokens.

Note:

The C2WTS does not support crossing domain boundaries between forests.

Kerberos authentication allows delegation of client credentials to access back-end data systems, which requires additional configuration depending on the scenario. The following table provides examples.

Scenario | Additional configuration required
Delegating a client's identity to a back-end server. Displaying RSS feeds to authenticated content. | Configure Kerberos constrained delegation for computers and service accounts.
Identity delegation for Microsoft SQL Server Reporting Services (SSRS) | Configure SPNs for SQL Server Reporting Services accounts. Configure delegation for SQL Server Reporting Services.
Identity delegation for Excel Services in SharePoint | Configure constrained delegation for servers that run Excel Services. Configure constrained delegation for the Excel Services service account.

For more information about how to configure Kerberos authentication, including configuration steps for common scenarios, see Configuring Kerberos Authentication for Microsoft SharePoint 2010 Products and Technologies (white paper) (http://go.microsoft.com/fwlink/p/?LinkID=197178).

Digest and Basic

Implementing Digest and Basic authentication requires configuring these authentication methods directly in Internet Information Services (IIS).

Implementing forms-based authentication

Forms-based authentication is an identity management system that is based on ASP.NET membership and role provider authentication. In SharePoint Server 2010, forms-based authentication is available only when you use claims-based authentication.

Forms-based authentication can be used against credentials stored in AD DS, in a database such as a SQL Server database, or in an LDAP data store such as Novell eDirectory, Novell Directory Services (NDS), or Sun ONE. Forms-based authentication enables user authentication based on validation of credential input from a logon form. Unauthenticated requests are redirected to a logon page, where the user must provide valid credentials and submit the form. If the request can be authenticated, the system issues a cookie that contains a key for reestablishing the identity for subsequent requests.

To use forms-based authentication to authenticate users against an identity management system that is not based on Windows or that is external, you must register the membership provider and role manager in the Web.config file. Registering the role manager is a new requirement for SharePoint Server 2010. In the previous version, this was optional. SharePoint Server 2010 uses the standard ASP.NET role manager interface to gather group information about the current user. Each ASP.NET role is treated as a domain group by the authorization process in SharePoint Server 2010. You register role managers in the Web.config file the same way that you register membership providers for authentication.

If you want to manage membership users or roles from the SharePoint Central Administration Web site, you must register the membership provider and the role manager in the Web.config file for the Central Administration Web site. You must also register the membership provider and the role manager in the Web.config file for the Web application that hosts the content.

For detailed steps to configure forms-based authentication, see Configure forms-based authentication for a claims-based Web application (SharePoint Server 2010)

For additional information about forms-based authentication, see the following resources:

  • MSDN blog article: Claims-based authentication "Cheat Sheet" Part 1 (http://go.microsoft.com/fwlink/p/?LinkId=198944)

  • MSDN article: Forms Authentication in SharePoint Products and Technologies (Part 2): Membership and Role Provider Samples (http://go.microsoft.com/fwlink/p/?LinkId=198945)

For information about features that do not work with forms-based authentication or features that require additional configuration in order to work with forms-based authentication, see Plan for claims-based authentication or classic-mode authentication (SharePoint Server 2010).

Implementing SAML token-based authentication

SAML token-based authentication requires coordination with administrators of a claims-based environment, whether it is your own internal environment or a partner environment. AD FS 2.0 is an example of a claims-based environment.

A claims-based environment includes an identity provider security token service (IP-STS). The IP-STS issues SAML tokens on behalf of users who are included in the associated user directory. Tokens can include any number of claims about a user, such as a user name and the groups to which the user belongs.

SharePoint Server 2010 takes advantage of claims that are included in tokens provided by an IP-STS to authorize users. In claims environments, an application that accepts SAML tokens is known as a relying party STS (RP-STS). A relying party application receives the SAML token and uses the claims inside to decide whether to grant the client access to the requested resource. In SharePoint Server 2010, each Web application that is configured to use a SAML provider is added to the IP-STS server as a separate RP-STS entry. A SharePoint farm can include multiple RP-STS entries.

Implementing SAML token-based authentication with SharePoint Server 2010 involves the following processes that require planning in advance:

  1. Export the token-signing certificate from the IP-STS. This certificate is known as the ImportTrustCertificate. Copy the certificate to a server in the SharePoint Server 2010 farm.

  2. Define the claim that will be used as the unique identifier of the user. This is known as the identity claim. Many examples of this process use the user e-mail name as the user identifier. Coordinate with the administrator of the IP-STS to determine the correct identifier because only the owner of the IP-STS knows the value in the token that will always be unique per user. Identifying the unique identifier for the user is part of the claims-mapping process. Claims mappings are created by using Windows PowerShell.

  3. Define additional claims mappings. Define the additional claims from the incoming token that will be used by the SharePoint Server 2010 farm. User roles are an example of a claim that can be used to assign permissions to resources in the SharePoint Server 2010 farm. All claims from an incoming token that do not have a mapping will be discarded.

  4. Create a new authentication provider by using Windows PowerShell to import the token-signing certificate. This process creates the SPTrustedIdentityTokenIssuer. During this process, you specify the identity claim and additional claims that you have mapped. You must also create and specify a realm that is associated with the first SharePoint Web applications that you are configuring for SAML token-based authentication. After the SPTrustedIdentityTokenIssuer is created, you can create and add more realms for additional SharePoint Web applications. This is how you configure multiple Web applications to use the same SPTrustedIdentityTokenIssuer.

  5. For each realm that is added to the SPTrustedIdentityTokenIssuer, you must create an RP-STS entry on the IP-STS. This can be done before the SharePoint Web application is created. Regardless, you must plan the URL before you create the Web applications.

  6. Create a new SharePoint Web application and configure it to use the newly created authentication provider. The authentication provider will appear as an option in Central Administration when claims mode is selected for the Web application.

You can configure multiple SAML token-based authentication providers. However, you can only use a token-signing certificate once in a farm. All providers that are configured will appear as options in Central Administration. Claims from different trusted STS environments will not conflict.

If you are implementing SAML token-based authentication with a partner company and your own environment includes an IP-STS, we recommend that you work with the administrator of your internal claims environment to establish a trust relationship from your internal IP-STS to the partner STS. This approach does not require adding an additional authentication provider to your SharePoint Server 2010 farm. It also allows your claims administrators to manage the whole claims environment.

Important:

You need to set network load balancing to single affinity when using claims-based authentication. If you use SAML token-based authentication with AD FS on a SharePoint Server 2010 farm that has multiple Web servers in a load-balanced configuration, there will be an effect on the performance and functionality of client Web-page views. When AD FS provides the authentication token to the client, that token is submitted to SharePoint Server 2010 for each permission-restricted page element. If the load-balanced solution is not using affinity, each secured element is authenticated to more than one SharePoint Server 2010 server, which will result in rejection of the token. After the token is rejected, SharePoint Server 2010 redirects the client to authenticate again back to the AD FS server. After this occurs, an AD FS server will reject multiple requests that are made in a short time period. This behavior is by design, to protect against a denial of service attack. If performance is adversely affected or pages do not load completely, set network load balancing to single affinity. This isolates the requests for SAML tokens to a single Web server.

For information about configuring Active Directory Federation Services (AD FS) 2.0 in SharePoint Server 2010, see How to configure AD FS v 2.0 in SharePoint Server 2010.

Note:

When a Web application is configured to use SAML token-based authentication, the SPTrustedClaimProvider class does not provide search functionality to the People Picker control. Any text entered in the People Picker control will automatically be displayed as if it had been resolved, regardless of whether it is a valid user, group, or claim. If your SharePoint Server solution will use SAML token-based authentication, you should plan to create a custom claims provider that implements custom search and name resolution.

For more information, see Custom claims providers for People Picker (SharePoint Server 2010).

For detailed steps to configure SAML token-based authentication, see Configure authentication using a SAML security token (SharePoint Server 2010).

For additional information about SAML token-based authentication, see the following resources:

  • MSDN blog article: Claims-based authentication "Cheat Sheet" Part 2 (http://go.microsoft.com/fwlink/p/?LinkId=198946)

  • TechNet blog article: Planning Considerations for Claims Based Authentication in SharePoint 2010 (http://go.microsoft.com/fwlink/p/?LinkId=198947)

  • TechNet blog article: Creating both an Identity and Role Claim for a SharePoint 2010 Claims Auth Application (http://go.microsoft.com/fwlink/p/?LinkId=198948)

  • TechNet blog article: How to Create Multiple Claims Auth Web Apps in a Single SharePoint 2010 Farm (http://go.microsoft.com/fwlink/p/?LinkId=198949)

For information about features that do not work with SAML security tokens or features that require additional configuration in order to work with SAML security tokens, see Plan for claims-based authentication or classic-mode authentication (SharePoint Server 2010).

Choosing authentication for LDAP environments

LDAP environments can be implemented by using either forms-based authentication or SAML token-based authentication. We recommend that you use forms-based authentication because it is less complex. However, if the environment supports WS-Federation 1.1 and SAML Token 1.1, then SAML is recommended.

Planning zones for Web applications

Zones represent different logical paths for gaining access to the same sites in a Web application. Each Web application can include as many as five zones. When a Web application is created, the default zone is created. Additional zones are created by extending the Web application and selecting one of the remaining zone names: intranet, extranet, Internet, or custom.

In previous versions of SharePoint Server, zones are used to implement different types of authentication for users coming from different networks or authentication providers. In SharePoint Server 2010, claims authentication allows multiple types of authentication to be implemented on the same zone.

Your plan for zones will depend on which of the following authentication modes you select for a Web application:

  • Classic mode — Similar to previous versions, only one type of authentication can be implemented per zone. However, in SharePoint Server 2010, only Windows authentication can be implemented when classic mode is selected. Consequently, multiple zones can be used only to implement multiple types of Windows authentication, or to implement the same type of Windows authentication against different Active Directory stores.

  • Claims-based authentication — Multiple authentication providers can be implemented on a single zone. Multiple zones can also be used.

Implementing more than one type of authentication on a single zone

If you are using claims authentication and implementing more than one authentication method, we recommend that you implement multiple authentication methods on the default zone. This results in the same URL for all users.

When you are implementing multiple authentication methods on the same zone, the following restrictions apply:

  • Only one instance of forms-based authentication can be implemented on a zone.

  • Central Administration allows you to use both an Integrated Windows method and Basic at the same time. Otherwise, more than one type of Windows authentication cannot be implemented on a zone.

If multiple SAML token-based authentication providers are configured for a farm, these will all appear as options when you create a Web application or a new zone. Multiple SAML providers can be configured on the same zone.

The following diagram illustrates multiple types of authentication implemented on the default zone for a partner collaboration site.

Multiple types of authentication on a zone

In the diagram, users from different directory stores access the partner Web site by using the same URL. A dashed box surrounding partner companies shows the relationship between the user directory and the authentication type that is configured in the default zone. For more information about this design example, see Design sample: Corporate deployment (SharePoint Server 2010).

Planning for crawling content

The crawl component requires access to content using NTLM. At least one zone must be configured to use NTLM authentication. If NTLM authentication is not configured on the default zone, the crawl component can use a different zone that is configured to use NTLM authentication.

Implementing more than one zone

If you plan to implement more than one zone for Web applications, use the following guidelines:

  • Use the default zone to implement your most secure authentication settings. If a request cannot be associated with a specific zone, the authentication settings and other security policies of the default zone are applied. The default zone is the zone that is created when you initially create a Web application. Typically, the most secure authentication settings are designed for end-user access. Consequently, end users are likely to access the default zone.

  • Use the minimum number of zones that are required to provide access to users. Each zone is associated with a new IIS site and domain for accessing the Web application. Only add new access points when these are required.

  • Ensure that at least one zone is configured to use NTLM authentication for the crawl component. Do not create a dedicated zone for the index component unless it is necessary.

The following diagram illustrates multiple zones that are implemented to accommodate different authentication types for a partner collaboration site.

One zone for each authentication type

In the diagram, the default zone is used for remote employees. Each zone has a different URL associated with it. Employees use a different zone depending on whether they are working in the office or are working remotely. For more information about this design example, see Design sample: Corporate deployment (SharePoint Server 2010).

Architecture for SAML token-based providers

The architecture for implementing SAML token-based providers includes the following components:

  • SharePoint security token service This service creates the SAML tokens that are used by the farm. The service is automatically created and started on all servers in a server farm. The service is used for inter-farm communication because all inter-farm communication uses claims authentication. This service is also used for authentication methods that are implemented for Web applications that use claims authentication, including Windows authentication, forms-based authentication, and SAML token-based authentication. You must configure the security token service during the deployment process. For more information, see Configure the security token service (SharePoint Server 2010).

  • Token-signing certificate (ImportTrustCertificate) This is the certificate that is exported from an IP-STS. The certificate is copied to one server in the farm. Once you use this certificate to create an SPTrustedIdentityTokenIssuer, you cannot use it again to create another one. If you want to use the certificate to create a different SPTrustedIdentityTokenIssuer, you must delete the existing one first. Before you delete an existing one, you must disassociate it from any Web applications that may be using it.

  • Identity claim The identity claim is the claim from a SAML token that is the unique identifier of the user. Only the owner of the IP-STS knows which value in the token will always be unique for each user. The identity claim is created as a regular claims mapping during the process of mapping all desired claims. The claim that serves as the identity claim is declared when the SPTrustedIdentityTokenIssuer is created.

  • Other claims These claims consist of additional claims from a SAML ticket that describe users. These can include user roles, user groups, or other kinds of claims such as age. All claims mappings are created as objects that are replicated across the servers in a SharePoint Server farm.

  • Realm In the SharePoint claims architecture, the URI or URL that is associated with a SharePoint Web application that is configured to use a SAML token-based provider represents a realm. When you create a SAML-based authentication provider on the farm, you specify the realms, or Web application URLs, that you want the IP-STS to recognize, one at a time. The first realm is specified when you create the SPTrustedIdentityTokenIssuer. Additional realms can be added after the SPTrustedIdentityTokenIssuer is created. Realms are specified by using syntax similar to the following: $realm = "urn:sharepoint:mysites". After you add the realm to the SPTrustedIdentityTokenIssuer, you must create an RP-STS trust with the realm on the IP-STS server. This process involves specifying the URL for the Web application.

  • SPTrustedIdentityTokenIssuer This is the object that is created on the SharePoint farm that includes the values necessary to communicate with and receive tokens from the IP-STS. When you create the SPTrustedIdentityTokenIssuer, you specify which token-signing certificate to use, the first realm, the claim that represents the identity claim, and any additional claims. You can only associate a token-signing certificate from an STS with one SPTrustedIdentityTokenIssuer. However, after you create the SPTrustedIdentityTokenIssuer, you can add more realms for additional Web applications. After a realm is added to the SPTrustedIdentityTokenIssuer, it must also be added to the IP-STS as a relying party. The SPTrustedIdentityTokenIssuer object is replicated across servers in the SharePoint Server farm.

  • Relying party security token service (RP-STS) In SharePoint Server 2010, each Web application that is configured to use a SAML provider is added to the IP-STS server as an RP-STS entry. A SharePoint Server farm can include multiple RP-STS entries.

  • Identity provider security token service (IP-STS) This is the secure token service in the claims environment that issues SAML tokens on behalf of users who are included in the associated user directory.

The following diagram illustrates the SharePoint 2010 Products claims architecture.

SharePoint claims authentication components

The SPTrustedIdentityTokenIssuer object is created by using several parameters. The following diagram illustrates the key parameters.

As the diagram illustrates, an SPTrustedIdentityTokenIssuer can include only one identity claim, one SignInURL parameter, and one Wreply parameter. However, it can include multiple realms and multiple claims mappings. The SignInURL parameter specifies the URL to redirect a user request to in order to authenticate to the IP-STS. Some IP-STS servers require the Wreply parameter, which is set to either true or false and is false by default. Use the Wreply parameter only if it is required by the IP-STS.

See Also

Other Resources

Resource Center: Security and Authentication for SharePoint Server 2010


Plan the Secure Store Service (SharePoint Server 2010)
See Also

In Microsoft SharePoint Server 2010, the Secure Store Service replaces the single sign-on (SSO) feature of Microsoft Office SharePoint Server 2007. The Secure Store Service is a claims-aware authorization service that includes a secure database for storing credentials.

In this article:

  • About the Secure Store Service

  • Secure store service preparation

  • Target applications

  • Secure store service mappings

  • Secure store service and claims authentication

About the Secure Store Service

The Secure Store Service is an authorization service that runs on an application server. The Secure Store Service provides a database that is used to store credentials. These credentials usually consist of a user identity and password, but can also contain other fields that you define. For example, SharePoint Server 2010 can use the secure store database to store and retrieve credentials for access to external data sources. The Secure Store Service provides support for storing multiple sets of credentials for multiple back-end systems.

Usage scenarios for Secure Store include the following:

  • Excel Services Can use Secure Store to provide access to external data sources in published workbooks. This can be used as a substitute to passing a user's credentials to the data source, a process which often requires configuring Kerberos delegation. Excel Services requires Secure Store if you want to configure an unattended service account for data authentication.

  • Visio Services Can use Secure Store to provide access to external data sources in published web drawings. This can be used as a substitute to passing a user's credentials to the data source, a process which often requires configuring Kerberos delegation. Visio Services requires Secure Store if you want to configure an unattended service account for data authentication.

  • PerformancePoint Services Requires Secure Store if you want to configure an unattended service account for data authentication.

  • PowerPivot for SharePoint 2010 Requires Secure Store for scheduled refresh of PowerPivot workbooks.

  • Microsoft Business Connectivity Services Can use Secure Store to map the user's credentials to a set of credentials for an external system. You can either map each user's credentials to a unique account on the external system or you can map a set of authenticated users to a single group account.

Secure Store Service preparation

When you prepare to deploy the Secure Store Service, be aware of the following important guidelines:

  • Before you generate a new encryption key, back up the Secure Store database. You should also back up the Secure Store database after it is initially created, and again each time credentials are reencrypted. When a new key is generated, the credentials can be re-encrypted with the new key. If the key refresh fails, or the passphrase is forgotten, the credentials will not be useable.

  • Back up the encryption key after initially setting up Secure Store, and back up the key again each time it is regenerated.

  • Do not store the backup media for the encryption key in the same location as the backup media for the secure store database. If a user obtains a copy of both the database and the key, the credentials stored in the database could be compromised.

Because is used to store sensitive information, for better security we recommend that you consider the following guidelines:

  • Run the Secure Store Service in a separate application pool that is not used for any other service.

  • Run the Secure Store Service on a separate application server that is not used for any other service.

  • Create the Secure Store database on a separate application server running SQL Server. Do not use the same SQL Server installation that contains content databases.

Target applications

A target application is a collection of information that maps a user or users to a set of encrypted credentials stored in the Secure Store database. Target applications contain the following information that you define:

  • Whether this is an individual or group mapping.

  • What fields to store in the Secure Store database. (The default is Windows User Name and Windows Password, but additional field types can be selected, depending on the application.)

  • Users with permissions to administer the target application.

  • The individual or group to whom you are mapping the credentials.

Each target application has a unique application ID that you define that is used to reference the target application from external applications such as Excel Services or SharePoint Designer.

Secure store service mappings

The Secure Store Service supports individual mappings and group mappings. In a group mapping, every user who is a member of a specific domain group is mapped to the same set of credentials. In an individual mapping, each individual user is mapped to a unique set of credentials. Individual mappings are useful if you need logging information about individual user access to shared resources. For group mappings, a security layer checks group credentials for multiple domain users against a single set of credentials for a resource identified by an application ID that is stored in the secure store database. Group mappings are easier to maintain than individual mappings, and can provide improved performance.

Secure store service and claims authentication

The Secure Store Service is a claims-aware service. It can accept security tokens and decrypt them to get the application ID, and then perform a lookup. When a SharePoint Server 2010 Security Token Service (STS) issues a security token in response to an authentication request, the Secure Store Service decrypts the token and reads the application ID value. The Secure Store Service uses the application ID to retrieve credentials from the secure store database. The credentials are then used to authorize access to resources.

See Also

Concepts

Configure the Secure Store Service (SharePoint Server 2010)
Business Connectivity Services security overview (SharePoint Server 2010)
Plan Excel Services data sources and external connections (SharePoint Server 2010)
Plan for PerformancePoint Services security (SharePoint Server 2010)
Data authentication for Visio Services (SharePoint Server 2010)

Other Resources

Resource Center: Security and Authentication for SharePoint Server 2010


People Picker and claims provider planning (SharePoint Server 2010)
See Also

Published: February 3, 2011

People Picker is a Web control used to find and select users, groups, and claims to grant permission to items such as lists, libraries, or sites in Microsoft SharePoint Server 2010. When a Web application uses claims authentication mode, the People Picker control uses a claims provider to list, resolve, search, and determine the "friendly" display of users, groups, and claims. A claims provider in SharePoint Server 2010 issues claims, which SharePoint Server 2010 then packages into security tokens for users. Although People Picker is used by site, list, and library owners to assign permissions to sites and content in SharePoint Server 2010, its behavior is heavily dependent on how authentication has been configured for the whole Web application. It is important to plan for People Picker and claims providers when you plan authentication methods for your SharePoint Server 2010 solution.

The articles in this section are designed to help you understand and plan for using People Picker and custom claims providers in SharePoint Server 2010:

  • People Picker overview (SharePoint Server 2010)

    This article describes the People Picker control and how it works, its relationship to authentication and claims providers, and includes considerations for planning for People Picker.

  • Custom claims providers for People Picker (SharePoint Server 2010)

    This article describes the use and benefits of claims providers, their architecture, special considerations for custom claims providers, and considerations for planning for them.

See Also

Concepts

Plan authentication (SharePoint Server 2010)
Configure People Picker (SharePoint Server 2010)


People Picker overview (SharePoint Server 2010)
See Also

Published: February 3, 2011

The People Picker control is used to find and select people, groups, and claims when a site, list, or library owner assigns permissions in Microsoft SharePoint Server 2010. This article describes the People Picker control and how it works, its relationship to authentication and claims providers, and how to plan for People Picker. For information about how to configure People Picker, see Configure People Picker (SharePoint Server 2010).

Before reading this article, you should understand the concepts described in Plan authentication methods (SharePoint Server 2010) and in The Role of Claims (http://go.microsoft.com/fwlink/p/?LinkID=208326). For additional information about claims-based authentication, see SharePoint Claims-Based Identity (http://go.microsoft.com/fwlink/p/?LinkID=196647).

In this article:

  • Uses and benefits

  • Architecture

  • About the People Picker control

  • People Picker and authentication

  • People Picker and claims providers

  • Configuring People Picker

  • Using People Picker with multiple forests or domains

  • Considerations for People Picker

Uses and benefits

The People Picker control is used to select users, groups, and claims to grant permission to items such as lists, libraries, and sites. For example, your site has a document library that you want to restrict to a certain list of users. When you use the library permissions page to give users permission levels for the library, you use the People Picker control either to type user names and verify that the user accounts are valid, or to search for a name or partial string and return a list of users, groups, or claims that match the value you entered. For more information about permissions, see Plan site permissions (SharePoint Server 2010).

Architecture

The People Picker control is a central component of SharePoint Server 2010. The control provides basic functionality for finding and selecting users, groups, and claims to assign permissions in a site. The exact sources of those users, groups, and claims depend on the authentication method used by the Web application that contains the site collection. For more information about authentication methods, see People Picker and authentication later in this article.

People Picker is configured at the zone level for a farm by using the Stsadm setproperty operation. By configuring the settings for the control, you can filter and restrict the results that are displayed when a user searches for a user, group, or claim. Those settings will apply to every site within a specific site collection. For more information about configuring People Picker, see Configure People Picker (SharePoint Server 2010).

Note:

There are no Windows PowerShell commands to configure People Picker.

When a Web application is configured to use claims-based authentication, People Picker uses claims providers to resolve and display users, groups, and claims in the Select People and Groups dialog box. The information that is displayed in the Select People and Groups dialog box depends on the claims provider used by the authentication method that was configured for the Web application. For more information about claims providers, see Custom claims providers for People Picker (SharePoint Server 2010).

About the People Picker control

The People Picker control consists of a text box and two buttons: the Check Names button and the Browse button. The following illustration shows an example of the People Picker control.

People Picker editor

The user types a user name, group name, or claim (such as an e-mail address) into the text box, and then clicks the Check Names button to resolve the search item exactly as it was entered. If People Picker is able to resolve the search item, the name is replaced with a resolved identity. If the search item cannot be resolved exactly as entered, People Picker performs a search. If no match is found, or if more than one match is found, a red underline is displayed under the search item and the following error message appears: No exact match found. Click the item(s) that did not resolve for more options. When the item is clicked, a pop-up menu displays a list of available users, groups, or claims that match the query, if applicable. The menu also contains a Remove button to remove the resolved user, group, or claim from the text box, and a More Names button, which opens the Select People and Groups dialog box.

If the user clicks the Browse button, the Select People and Groups dialog box is displayed. The user types a full or partial user name, group name, or claim into the text box, and then presses Enter. The results of the query are displayed in the dialog box. The claims providers that People Picker interacts with determine the query results and the way those results are displayed in the dialog box. The user selects a resolved identity, clicks Add, and then clicks OK. The selected user, group, or claim is then added to the text box in the People Picker control.

When a Web application is configured to use Windows authentication, you can limit the results that are displayed to users in the Select People and Groups dialog box by using the Stsadm setproperty operation to change the settings for the People Picker control. For example, you can configure People Picker to return only users, groups, and claims that belong to a certain Active Directory domain or are members of a specific site collection. For more information about configuring the People Picker control, see Configure People Picker (SharePoint Server 2010).

People Picker and authentication

People Picker relies on the authentication method used by the Web application that contains the site collection from which it is queried to determine what results to display to a user. If the Web application is configured to use Windows authentication in classic mode, SharePoint Server 2010 treats user accounts as Active Directory Domain Services (AD DS) accounts. If the Web application is configured to use claims-based authentication, you can specify whether to use Windows authentication, forms-based authentication (FBA), or Security Assertion Markup Language (SAML) token-based authentication. In claims mode, People Picker searches and resolves queries based on the claims provider that is specified for the authentication method used by the Web application and zone. The following sections describe People Picker behavior for both classic-mode authentication and claims-based authentication. For more information about zones and authentication, see Plan authentication methods (SharePoint Server 2010).

Classic-mode authentication

When Windows classic-mode authentication is used, the People Picker control queries Active Directory to retrieve a list of users, groups, or claims that match the search item typed in the text box. You can configure People Picker to query Active Directory by using Lightweight Directory Access Protocol (LDAP) queries, which enables you to apply custom Active Directory filters, limit the scope of search queries, and search across forests and domains.

By default, when the Browse button is clicked, the Select People and Groups dialog box displays the following fields:

  • Display Name

  • Title

  • Department

  • E-mail

  • Mobile Number

  • Account Name

The following image shows the Select People and Groups dialog box when Windows authentication is used in classic mode for the Web application.

Select People and Groups - Classic Mode

For more information about classic-mode authentication, see Plan authentication methods (SharePoint Server 2010).For information about how to create a Web application that uses classic-mode authentication, see Create a Web application that uses Windows-classic authentication (SharePoint Server 2010).

Claims-based authentication

When claims-based authentication is used, People Picker uses the claims provider that is specified for the authentication method used by the Web application and zone to retrieve a list of users, groups, or claims that match the search item typed in the text box. For more information about claims mode authentication and zones, see Plan authentication methods (SharePoint Server 2010).

By default, when the Browse button is clicked, the Select People and Groups dialog box displays a tree view on the left that lists the claims providers that People Picker will query. The right side of the dialog box is where query results are displayed. When claims-based authentication is used, the results are displayed in one of two views: Detailed View or List View. By default, Detailed View is displayed.

The following illustration shows the Select People and Groups dialog box when Windows authentication is used in claims mode for a Web application.

Select People and Groups - Win Claims Mode

In Detailed View, the query results are grouped by the sources where the query results were found. For example, if a search item is found in a SharePoint group and in Active Directory, the results are organized into a list of SharePoint groups followed by a list of Active Directory users and groups.

In List View, the query results are returned in a list that contains the following fields:

  • Display Name

  • E-mail Address

  • Title

  • Department

  • Presence

  • Work Phone

  • Location

You can write a custom claims provider to control what information is displayed and what results are returned in response to a query from the People Picker control. When a custom claims provider is registered on the server, you can also configure it for use in a specific Web application and zone. This means that a custom claims provider that is configured for only one zone will only be displayed in the Select People and Groups dialog box for Web sites in that zone. For more information about custom claims providers, see Custom claims providers for People Picker (SharePoint Server 2010).

Note:

In the Central Administration Web site, People Picker will return users, groups, and claims from all claims providers used in all Web applications in the farm, regardless of the Web application or zone in which the claims providers are configured.

By default, when you use SAML token-based authentication, all queries entered in the text box are automatically displayed as if they had been resolved, regardless of whether they are valid users or groups. If your SharePoint Server 2010 solution will use SAML token-based authentication, you should plan to create a custom claims provider that will implement custom search, name resolution, and list features. For more information about custom claims providers, see Custom claims providers for People Picker (SharePoint Server 2010).

For information about how to create a Web application that uses claims-mode authentication, see Create claims-based web applications in SharePoint 2010. For information about configuring claims-based authentication for Web applications, see Configure claims authentication (SharePoint Server 2010).

People Picker and claims providers

A claims provider lists, resolves, searches, and determines the "friendly" display of users, groups, and claims in the People Picker when claims-based authentication is used. If your Web application uses claims-based authentication, you must decide whether to use one of the default claims providers or create a custom claims provider that will meet the business needs of your organization.

For more information about how claims providers are related to the People Picker control, see Custom claims providers for People Picker (SharePoint Server 2010).

Configuring People Picker

The information in this section applies only to Web applications that use Windows authentication in either classic mode or claims mode.

You can configure People Picker to filter query results and to restrict the directories that People Picker uses as a source of those results by using property names for the Stsadm setproperty operation. To see what property settings have been configured, use the Stsadm getproperty operation. For more information, see Peoplepicker: Stsadm properties (Office SharePoint Server 2007). The settings for People Picker are applied to each URL zone for a Web application.

Note:

There are no Windows PowerShell commands to configure People Picker.

The following table describes the properties that can be used to configure People Picker.

Property name | Description
Peoplepicker-activedirectorysearchtimeout | Configures the timeout when a query is issued to Active Directory. The default timeout value is 30 seconds. For more information, see Peoplepicker-activedirectorysearchtimeout.
Peoplepicker-distributionlistsearchdomains | Restricts the search of a distribution list to a specific subset of domains. For more information, see Peoplepicker-distributionlistsearchdomains.
Peoplepicker-nowindowsaccountsfornonwindowsauthenticationmode | Specifies not to search Active Directory when the current port is using forms-based authentication. For more information, see Peoplepicker-nowindowsaccountsfornonwindowsauthenticationmode.
Peoplepicker-onlysearchwithinsitecollection | Displays only users who are members of the site collection when the Select People and Groups dialog box is used. For more information, see Peoplepicker-onlysearchwithinsitecollection.
Peoplepicker-peopleeditoronlyresolvewithinsitecollection | Displays only users who are members of the current site collection when the Check Names button is clicked. For more information, see Peoplepicker-peopleeditoronlyresolvewithinsitecollection: Stsadm property (SharePoint Server 2010).
Peoplepicker-searchadcustomfilter | Enables a farm administrator to specify a unique search query. For more information, see Peoplepicker-searchadcustomfilter.
Peoplepicker-searchadcustomquery | Permits the administrator to set the custom query that is sent to Active Directory. For more information, see Peoplepicker-searchadcustomquery.
Peoplepicker-searchadforests | Permits a user to search from a second one-way trusted forest or domain. For more information, see Peoplepicker-searchadforests.
Peoplepicker-serviceaccountdirectorypaths | Enables a farm administrator to manage the site collection that has a specific organizational unit (OU) setting as defined in the Setsiteuseraccountdirectorypath setting. For more information, see Peoplepicker-serviceaccountdirectorypaths.

For more information about configuring People Picker, see Configure People Picker (SharePoint Server 2010).

Using People Picker with multiple forests or domains

By default, People Picker will only return users, groups, and claims from the domain on which SharePoint Server 2010 is installed. If you want People Picker to return query results from more than one forest or domain, you must either have a two-way trust between the forests or domains, or you must configure People Picker to use an encrypted account and password for a one-way trust between forests and domains. For more information about trusts, see Managing Trusts (http://go.microsoft.com/fwlink/p/?LinkId=207573).

To configure People Picker for a one-way trust, you must first use the Stsadm setapppassword operation to set the password for use on the trusted forest or domain, and then use the Peoplepicker-searchadforests property for the setproperty operation to specify the forest or domain to search. Remember that the settings for People Picker are configured per zone for a Web application, so if you have more than one forest or domain in your farm, you must combine the accounts and passwords into a single command for the setproperty operation. For more information, see Peoplepicker-searchadforests: Stsadm property (Office SharePoint Server).

Considerations for People Picker

Planning for People Picker largely depends on what forests and domains you want users to be able to query, and what users, groups, and claims you want to display in query results. As you plan for the forests and domains you want users to query, consider the following questions:

  • Do users need to query across a forest or a domain?

  • What is the DNS name for each forest or domain you want users to query?

  • Will your forest or domain have a one-way or two-way trust with other forests or domains?

  • If you will be using a one-way trust, what credentials will be used to query the other farms or domains

Planning for the users, groups, and claims you want to display in the query results in People Picker will help you determine how to configure People Picker to return and display results from claims providers. As you plan for the users, groups, and claims you want to display in query results, consider the following questions:

  • Are there certain LDAP filters you want to apply to query results?

  • Do you want to restrict the query results to users, groups, or claims in a specific site collection?

  • Do you want to restrict the query results to users, groups, or claims in a certain Active Directory organizational unit (OU)

See Also

Concepts

Plan authentication methods (SharePoint Server 2010)
Custom claims providers for People Picker (SharePoint Server 2010)
Configure People Picker (SharePoint Server 2010)

Other Resources

Resource Center: Security and Authentication for SharePoint Server 2010


Custom claims providers for People Picker (SharePoint Server 2010)
See Also

Published: February 3, 2011

A claim consists of information about the identity of a user, such as a name, e-mail address, or group membership. A claims provider in Microsoft SharePoint Server 2010 issues claims, which SharePoint Server 2010 then packages into security tokens for users. When a user signs in to SharePoint Server 2010, the user's token is validated and then used to sign in to SharePoint Server 2010. Claims providers are displayed in the user interface of the Select People and Groups dialog box in the People Picker control. They provide the functionality used to find and select users, groups, and claims when permissions are assigned to items such as lists, libraries, and sites in SharePoint Server 2010. For information about the People Picker control, see People Picker overview (SharePoint Server 2010).

This article describes the use and benefits of claims providers, their architecture, special considerations for custom claims providers, and how to plan for them. It does not explain how to create or configure custom claims providers. For information about how to create a custom claims provider, see Claims How Tos (http://go.microsoft.com/fwlink/p/?LinkId=207578) and Creating Custom Claims Providers in SharePoint 2010 (http://go.microsoft.com/fwlink/p/?LinkId=211324).

Before reading this article, you should understand the concepts described in Plan authentication methods (SharePoint Server 2010) and The Role of Claims (http://go.microsoft.com/fwlink/p/?LinkID=208326). For additional information about claims-based authentication, see SharePoint Claims-Based Identity (http://go.microsoft.com/fwlink/p/?LinkID=196647) and A Guide to Claims-based Identity and Access Control (http://go.microsoft.com/fwlink/p/?LinkID=187911).

In this article:

  • Uses and benefits

  • Architecture

  • About custom claims providers

  • Deploying and configuring custom claims providers

  • Using custom claims on more than one farm

  • Considerations for custom claims providers

Uses and benefits

A claims provider in SharePoint Server 2010 is used primarily for two reasons:

  • To augment claims

  • To provide name resolution

In the augmentation role, a claims provider augments a user token with additional claims during sign-in. For more information about claims augmentation, see Claims Provider (http://go.microsoft.com/fwlink/p/?LinkID=207579).

In the picking role, a claims provider lists, resolves, searches, and determines the "friendly" display of users, groups, and claims in the People Picker. Claims picking enables an application to surface claims in the People Picker, for example when configuring the security of a SharePoint site or SharePoint service. For more information about People Picker, see People Picker overview (SharePoint Server 2010).

You can use the claims providers that are included with SharePoint Server 2010, or you can create your own custom claims providers to provide additional claims in the security token for a user or to connect to additional sources of claims. For example, if you have a CRM application that contains roles that are not found in the user repository in Active Directory, you can create a custom claims provider to connect to that database and add CRM role data to a user's original claims token. For more information about claims provider usage scenarios, see Claims Provider (http://go.microsoft.com/fwlink/p/?LinkID=207579).

Architecture

When a Web application is configured to use claims-based authentication, SharePoint Server 2010 automatically uses two default claims providers:

  • The SPSystemClaimProvider (http://go.microsoft.com/fwlink/p/?LinkId=210011) class provides claims information related to the server farm where SharePoint Server 2010 is installed.

  • The SPAllUserClaimProvider (http://go.microsoft.com/fwlink/p/?LinkId=210012) class provides an All Users claim that is displayed in the Select People and Groups dialog box for People Picker.

Depending on the authentication method selected for a zone of a Web application, SharePoint Server 2010 also uses one or more of the default claims providers listed in the following table.

Authentication method | Claims provider
Windows authentication | SPActiveDirectoryClaimProvider (http://go.microsoft.com/fwlink/p/?LinkID=208325)
Forms-based authentication | SPFormsClaimProvider (http://go.microsoft.com/fwlink/p/?LinkId=210013)
Security Assertion Markup Language (SAML) token-based authentication | SPTrustedClaimProvider (http://go.microsoft.com/fwlink/p/?LinkId=210014)

These claims providers are displayed in the Select People and Groups dialog box for People Picker. You can see a list of claims providers for a farm by using the Get-SPClaimProviderWindows PowerShell cmdlet.

Note:

When a Web application is configured to use SAML token-based authentication, the SPTrustedClaimProvider class does not provide search functionality to the People Picker control. Any text entered in the People Picker control will automatically be displayed as if it had been resolved, regardless of whether it is a valid user, group, or claim. If your SharePoint Server 2010 solution will use SAML token-based authentication, you should plan to create a custom claims provider to implement custom search and name resolution.

Claims providers are registered on a server farm as features that are deployed to the farm. They are scoped at the farm level. Each claims provider object uses the SPClaimProviderDefinition class to include information about the claims provider, such as display name, description, assembly, and type. Two important properties of the SPClaimProviderDefinition class are IsEnabled and IsUsedByDefault. These properties determine whether a registered claims provider is enabled for use in the farm, and whether the claims provider is used by default in a particular zone. By default, all claims providers are enabled when they are deployed to a server farm. For information about the SPClaimProviderDefinition class, see SPClaimProviderDefinition Class (http://go.microsoft.com/fwlink/p/?LinkId=207595).

For more information about zones and authentication, see Plan authentication methods (SharePoint Server 2010).

For information about how to write a custom claims provider, see Creating Custom Claims Providers in SharePoint 2010 (http://go.microsoft.com/fwlink/p/?LinkID=211324) and Claims Walkthrough: Writing Claims Providers for SharePoint 2010 (http://go.microsoft.com/fwlink/p/?LinkId=207589). For information about how to override the default claims provider, see How to Override the Default Name Resolution and Claims Provider for SharePoint 2010 (http://go.microsoft.com/fwlink/p/?LinkId=207591).

About custom claims providers

By default, the information that is resolved in People Picker when a query is performed depends on the information supplied by the claims provider. You cannot change what information is supplied and how it is displayed when you use an out-of-box claims provider. To do this, you must have a developer create a custom claims provider that will meet the needs of your solution for finding and selecting users, groups, and claims when a user assigns permissions to items such as a site, list, or library.

For example, if your Web application uses SAML authentication and you also want to resolve users from Active Directory, you will need to create a custom claims provider. For additional examples of claims provider use scenarios, see Claims Provider (http://go.microsoft.com/fwlink/p/?LinkID=207579).

When you create a custom claims provider, you can control what information is displayed and what results are returned in response to a query from the People Picker control. By default, you configure the Web application to use claims authentication, and then register the claims provider on the server.

Note:

You cannot control the order in which claims providers are displayed in the Select People and Groups dialog box in People Picker.

For information about how to write a custom claims provider, see How to: Create a Claims Provider (http://go.microsoft.com/fwlink/p/?LinkId=207588) and Claims Walkthrough: Writing Claims Providers for SharePoint 2010 (http://go.microsoft.com/fwlink/p/?LinkId=207589). For information about how to override the default claims provider, see How to Override the Default Name Resolution and Claims Provider for SharePoint 2010 (http://go.microsoft.com/fwlink/p/?LinkId=207591).

Deploying and configuring custom claims providers

By default, when you register a custom claims provider on the farm, the IsEnabled and IsUsedByDefault properties are both set to True. Unless the IsUsedByDefault property is set to False, the custom claims provider is displayed in the Select People and Groups dialog box in People Picker for all zones. Depending on the number of zones needed for your SharePoint Server 2010 solution, the authentication methods used by each zone, and the users for each zone, you may want to limit the zones in which your custom claims provider is displayed in People Picker.

Because claims providers are scoped at the farm level and enabled at the zone level, you must carefully plan the zones in which you want the custom claims provider to be displayed. In general, you should make sure that the IsUsedByDefault property is set to False, and then configure the SPIisSettings class for each zone in which you want to use the custom claims provider. To configure a custom claims provider for select zones, you can create a Windows PowerShell script that sets the claims provider for a zone by using the SPIisSettings.ClaimsProviders property, or you can create a custom application to allow you to enable a custom claims provider for select zones. For information about the SPIisSettings.ClaimsProvider property, see SPIisSettings.ClaimsProvider Property (http://go.microsoft.com/fwlink/p/?LinkId=207597). For information about how to create a custom application to configure claims providers for select zones, see the TechNet blog post, Configuring a Custom Claims Provider to be Used only on Select Zones in SharePoint 2010 (http://go.microsoft.com/fwlink/p/?LinkId=207592).

For example, consider a scenario where there are two Web applications: The first Web application, PartnerWeb, has two zones — one intranet that uses Windows claims-based authentication and one extranet that uses forms-based authentication — and is used for collaboration among employees and partners. The second Web application, PublishingWeb, has only one zone that uses forms-based authentication and is an Internet publishing site for employees, business partners, and customer partners. Now, suppose that for the extranet zone on PartnerWeb, you want employees to be able to collaborate with business partners but not customer partners. To do this, you write a custom claims provider that determines whether the current user is a business partner or customer partner, based on the user's identity. In this example, users from fabrikam.com are business partners, while users from contoso.com are customer partners. When a user who is a business partner is authenticated in the PartnerWeb Web application, a claim for a role called BusinessPartner is added to the claim token; when a customer partner is authenticated, a claim for a role called CustomerPartner is added to the claim token. To make sure that customer partners are never added to the extranet collaboration site, you add a Web application policy on the PartnerWeb Web application for the extranet zone that explicitly denies access to any user who has a claim for a role called CustomerPartner. The custom claims provider would also need to implement search and type-in support for the Web application policy to resolve the CustomerPartner role claim so it can be added to the Web application policy. Finally, to enable this functionality on the extranet zone, you configure the SPIisSettings class for that zone to use the custom claims provider. The following diagram illustrates the authentication methods and claims provider settings for each Web application and zone.

Note:

On the Central Administration Web site, all claims providers are displayed in the Select People and Groups dialog box in People Picker, regardless of whether the IsUsedByDefault property is set to True.

You can set the IsUsedByDefault property by configuring it in a feature receiver that you create for your custom claims provider. For information about how to use a feature receiver to deploy a custom claims provider, see Sample: Feature Receiver to Deploy a Claims Provider (http://go.microsoft.com/fwlink/p/?LinkId=207590).

You can also override the settings of the IsEnabled and IsUsedByDefault properties by using the Set-SPClaimProviderWindows PowerShell cmdlet.

Important:

Changing the IsEnabled property to False will disable the claims provider for the entire server farm. This can be useful if you need to troubleshoot issues that might be caused by a custom claims provider. However, in general, the IsEnabled property should be set to True.

Using custom claims on more than one farm

Claim values are a combination of the claim itself, the claims provider name, and the order in which the claims provider was installed on the server. Therefore, if you want to use a claim across multiple farms or environments, you must install the claims providers in the same order on each farm in which you want to use the claim. Use the following steps when you have installed a custom claims provider on a farm and you want to use the same claim on additional farms.

  1. Register the claims providers on the additional farms in the same order that they were registered on the first farm.

  2. Perform a backup of the first farm. For information about how to back up a farm, see Back up a farm in SharePoint Server 2010.

  3. Use the back up from the first farm to restore the other farms. For information about how to restore a farm, see Restore a farm in SharePoint Server 2010.

Considerations for custom claims providers

As you plan custom claims providers for use with People Picker in your SharePoint solution, consider the following questions:

  • What zones does your Web application have, and what authentication methods are used in each zone?

  • Are there any custom claims that should be added to users to enable more advanced security scenarios?

  • Will you be using SAML authentication with a trusted identity provider?

  • What will be the source of the values for the users and roles that will be displayed in People Picker query results?

  • What claim data do you want to resolve in the Select People and Groups dialog box?

The SharePoint Server 2010 Content Publishing team would like to thank Steve Peschka for contributing to this article. His blog can be found here (http://go.microsoft.com/fwlink/p/?LinkId=210274).

See Also

Concepts

Plan authentication methods (SharePoint Server 2010)


Plan for Kerberos authentication (SharePoint Server 2010)

Microsoft SharePoint Server 2010 supports several methods of authentication. Deployments that require secure authentication, client identity delegation, and low network traffic can choose Kerberos authentication. For more information, see Plan authentication methods (SharePoint Server 2010).

In this article:

  • Kerberos authentication and Microsoft SharePoint Server 2010

  • Kerberos authentication and claims-based authentication

Kerberos authentication and Microsoft SharePoint Server 2010

Why you should consider Kerberos authentication | Why Kerberos authentication might not be appropriate for a deployment scenario
Kerberos is the most secure Integrated Windows authentication protocol, and supports advanced security features including Advanced Encryption Standard (AES) encryption and mutual authentication. | Kerberos authentication requires additional configuration of infrastructure and environment to function properly. In many cases, domain administrator permission is required to configure Kerberos. Kerberos authentication can be difficult to set up and manage. Misconfiguring Kerberos can prevent successful authentication to your sites.
Kerberos enables delegation of client credentials. | Kerberos authentication requires client computer connectivity to a Key Distribution Center (KDC), and client computer connectivity to an Active Directory Domain Services (AD DS) domain controller. In a Windows deployment, the KDC is an AD DS domain controller. While this is a common network configuration in a corporate environment, Internet-facing deployments are typically not configured this way.
Kerberos supports mutual authentication of clients and servers. |
Of the available secure authentication methods, Kerberos requires the least amount of network traffic to domain controllers. Kerberos can reduce page latency in certain scenarios, or increase the number of pages that a front-end Web server can serve in certain scenarios. Kerberos can also reduce the load on domain controllers. |
Kerberos is an open protocol that is supported by many platforms and vendors. |

Kerberos is a secure protocol that supports an authentication method that uses tickets provided by a trusted source. Kerberos tickets represent the network credentials of a user who is associated with a client computer. The Kerberos protocol defines the way in which users interact with a network authentication service to gain access to network resources. The Kerberos KDC issues a ticket to a client computer on behalf of a user. After a client computer establishes a network connection to a server, the client computer requests network access by presenting the Kerberos authentication ticket to the server. If the request contains acceptable user credentials, the KDC grants the request. For service applications, the authentication ticket must also contain an acceptable Service Principal Name (SPN). To enable Kerberos authentication, the client and server computers must already have a trusted connection to the KDC. The client and server computers must also be able to access Active Directory Domain Services (AD DS).

Kerberos delegation

Kerberos authentication supports the delegation of client identity. This means that a service can impersonate an authenticated client's identity. Impersonation enables a service to pass the authenticated identity to other network services on behalf of the client. Claims-based authentication can also be used to delegate client credentials, but it requires the backend application to be claims-aware. Several important services are not currently claims-aware.

Used in conjunction with Microsoft SharePoint Server 2010, Kerberos delegation enables a front-end service to authenticate a client and then use the client's identity to authenticate to a backend system. The backend system then performs its own authentication. When a client uses Kerberos authentication to authenticate with a front-end service, Kerberos delegation can be used to pass a client's identity to a backend system. The Kerberos protocol supports two types of delegation:

  • Basic Kerberos delegation (unconstrained)

  • Kerberos constrained delegation

Basic Kerberos delegation and Kerberos constrained delegation

Although basic Kerberos delegation can cross domain boundaries within the same forest, basic Kerberos delegation cannot cross a forest boundary. Kerberos constrained delegation cannot cross domain boundaries or forest boundaries. Depending on the service applications that are part of a SharePoint Server 2010 deployment, implementing Kerberos authentications with SharePoint Server 2010 can require the use of Kerberos constrained delegation. Therefore, to deploy Kerberos authentication with any of the following service applications, SharePoint Server 2010 and all external data sources must reside in the same Windows domain:

  • Excel Services

  • PerformancePoint Services

  • InfoPath Forms Services

  • Visio Services

To deploy Kerberos authentication with any of the following service applications, SharePoint Server 2010 can use either basic Kerberos delegation or Kerberos constrained delegation:

  • Business Data Connectivity service and Microsoft Business Connectivity Services

  • Access Services

  • Microsoft SQL Server Reporting Services (SSRS)

  • Microsoft Project Server 2010

Services that are enabled for Kerberos authentication can delegate identity multiple times. As an identity travels from service to service, the delegation method can change from basic Kerberos to Kerberos constrained. However, the reverse is not possible. The delegation method cannot change from Kerberos constrained to basic Kerberos. Therefore, it is important to anticipate and plan for whether or not a backend service will require basic Kerberos delegation. This can impact the planning and design of domain boundaries.

A Kerberos enabled service can use protocol transition to convert a non-Kerberos identity to a Kerberos identity that can be delegated to other Kerberos enabled services. This capability can be used, for example, to delegate a non-Kerberos identity from a front-end service to a Kerberos identity on a backend service.

Important:

Protocol transition requires Kerberos constrained delegation. Therefore, protocol transitioned identities cannot cross domain boundaries.

Claims-based authentication can be used as an alternative to Kerberos delegation. Claims-based authentication enables a client's authentication claim to be passed between two different services if the services meet all of the following criteria:

  • There must be a trust relationship between the services.

  • Both services must be claims-aware.

For more information about Kerberos authentication, see the following resources:

  • How the Kerberos Version 5 Authentication Protocol Works (http://go.microsoft.com/fwlink/p/?LinkID=196644)

  • Microsoft Kerberos (http://go.microsoft.com/fwlink/p/?LinkID=125740)

  • Kerberos Explained

Kerberos authentication and claims-based authentication

SharePoint Server 2010 supports claims-based authentication. Claims-based authentication is built on Windows Identity Foundation (WIF), which is a set of .NET Framework classes that are used to implement claims-based identity. Claims-based authentication relies on standards such as WS-Federation and WS-Trust. For more information about claims-based authentication, see the following resources:

  • Claims-based Identity for Windows: An Introduction to Active Directory Federation Services 2.0, Windows CardSpace 2.0, and Windows Identity Foundation (white paper) (http://go.microsoft.com/fwlink/p/?LinkId=198942)

  • Windows Identity Foundation home page (http://go.microsoft.com/fwlink/p/?LinkId=198943)

  • An Introduction to Claims (http://go.microsoft.com/fwlink/p/?LinkId=217399)

  • SharePoint Claims-Based Identity (http://go.microsoft.com/fwlink/p/?LinkID=196647)

When you create a SharePoint Server 2010 Web application, you have the option of selecting either of two authentication modes: claims-based or classic-mode. For new implementations of SharePoint Server 2010, you should consider using claims-based authentication. By using claims-based authentication, all supported authentication types are available for your Web applications.

The following service applications require the translation of claims-based credentials to Windows credentials. This process of translation uses the Claims to Windows Token Service (C2WTS):

  • Excel Services

  • PerformancePoint Services

  • InfoPath Forms Services

  • Visio Services

The service applications that require the C2WTS must use Kerberos constrained delegation. This is because the C2WTS requires protocol transition, and protocol transition is only supported by Kerberos constrained delegation. For the service applications in the preceding list, the C2WTS translates claims within the farm to Windows credentials for outbound authentication. It is important to understand that these service applications can leverage the C2WTS only if the incoming authentication method is either claims-based or classic-mode. Service applications that are accessed through Web applications and that use SAML claims or forms-based authentication claims do not use the C2WTS, and, therefore, cannot translate claims to Windows credentials.

For comprehensive guidance for configuring Kerberos in nine specific scenarios, including core deployment, three Microsoft SQL Server solutions, and scenarios that use Excel Services, PowerPivot for SharePoint, Visio Services, PerformancePoint Services, and Business Connectivity Services, see Configuring Kerberos authentication for SharePoint 2010 Products (http://go.microsoft.com/fwlink/p/?LinkId=197178).


Claims-based authentication with Microsoft UAG 2010 (SharePoint Server 2010)
See Also

Published: June 28, 2011

Microsoft Unified Access Gateway (UAG) 2010 with Service Pack 1 (SP1) adds support for Active Directory Federated Services Version 2.0 (ADFS 2.0), and UAG is a claims-aware relying party that now supports publishing Microsoft SharePoint Server 2010 applications with claims-based authentication. (Partner access using single sign-on to applications or to servers running SharePoint Server 2010 and that are not claims-aware is still supported.)

The following steps detail the process flow for authenticating users from a partner organization through a server that is running UAG to a server that is running SharePoint Server 2010:

  1. The partner users attempt to access the published SharePoint Server application using claims-based authentication in one of two ways: by accessing the Forefront UAG portal and then clicking the published SharePoint Server application or by accessing the published SharePoint Server application directly using the SharePoint Server alternate access mapping name.

  2. Forefront UAG redirects the web browser request to the Resource Federation server to authenticate the user.

  3. The Resource Federation server shows the home realm discovery page to users on which they must choose the organization to which they belong; in this case, the partner organization.

  4. The Resource Federation server redirects the web browser to the Account Federation server where users authenticate using their own credentials, after which they receive a security token. Some authentication schemes prompt for credentials.

  5. Users are silently redirected several times and automatically authenticated using the security token created by the Account Federation server to the Resource Federation server and then to Forefront UAG. If they attempted to access the published SharePoint Server application directly, they are silently redirected to the SharePoint Server site, after which the SharePoint Server site appears. If they first accessed the Forefront UAG portal, they must click the SharePoint Server application to view the SharePoint Server site.

  6. After the first successful connection to the SharePoint Server site, the Resource Federation server stores a cookie on the user's computer. The cookie is stored by default for 30 days; the duration is configurable in the web.config file on the Resource Federation server. During this time, users are not required to answer identification questions on the home realm discovery page; that is, choosing the organization to which they belong.

Warning:

Office integration will fail in this scenario if a remote client's session expires on the UAG server.

Note:

For more information about remote user access using claims and Microsoft UAG, see Plan employee access using claims.

UAG with SP1 also adds claims-based authorization. For example: If a user has a role claim, UAG can allow or deny the user's access based on the value of the claim. These rules are set through policy in UAG and are mapped to roles in ADFS.

Note:

These claims-based authorization rules can only be used when UAG is a relying party of ADFS.

UAG with SP1 also adds single sign-out functionality; users who sign out are also signed out from all applications that rely on the authenticating federation server. There are a few ways that a client can sign out (or be signed out):

  • A user can sign out from the UAG portal.

  • A timed interval of inactivity can sign out a user.

  • Scheduled sign-out times of UAG can sign out a user.

For more information about single sign-out, see Overview of AD FS 2.0 with Forefront UAG (http://go.microsoft.com/fwlink/p/?LinkId=207207).

UAG can still provide single sign-on (SSO) access if an application uses NTLM or Kerberos authentication, and UAG performs Kerberos translation for clients. For more information, see Configuring single sign-on with Kerberos constrained delegation to non-claims-aware applications (http://go.microsoft.com/fwlink/p/?LinkId=207208).

See Also

Other Resources

Plan employee access using claims
Overview of AD FS 2.0 with Forefront UAG (http://go.microsoft.com/fwlink/p/?LinkId=207207)
Configuring single sign-on with Kerberos constrained delegation to non-claims-aware applications (http://go.microsoft.com/fwlink/p/?LinkId=207208)


Microsoft IT implements a custom claims provider (case study)

Published: August 23, 2011

Microsoft IT (MSIT) successfully designed and implemented a claims-based security model using Microsoft SharePoint Server 2010 for an internal human resources portal.

In this article

  • A flexible security model

  • SharePoint claims

  • Components of the human resources portal security model

  • Additional resources

A flexible security model

The human resources portal supports about 90,000 unique identities using a custom claims provider to implement compound claims and claims augmentation. By default, SharePoint Server 2010 supports simple, disjunctive claims that can only use the OR operator between assertions. To use compound claims that are conjunctive and disjunctive (supporting the use of the OR and AND operators between assertions), a custom claims provider is required. Claims augmentation was also a requirement to enable the combination of user data from an internally accessible data repository (Active Directory Domain Services) with information from external data repositories such as SAP. The custom claims provider was designed to explicitly secure and target specific content to each uniquely identified user. The custom claims provider was also required to support a feature called View Portal As. View Portal As enables the temporary delegation of one user's identity to another user. This allows the user with the delegated identity to view the human resources portal as another user. The View Portal As feature is restricted to a subset of administrators who are working on the human resources portal, and is not available to most users who can access the portal.

SharePoint claims

SharePoint Server 2010 provides the benefits of simple claims-based authentication, which includes a secure identity management system that enables the configuration and management of user authentication, authorization, and auditing. Claims are made up of identity assertions that are encapsulated in security tokens that are granted to authenticated users, which enable users to access resources within SharePoint Server 2010 Web applications. Identity assertions are attributes that are associated with users. Assertions can include a user name, a role, an employee ID, and a variety of other attributes that can be used to determine authorization and permission levels for access to SharePoint Server 2010 Web application resources. Security tokens are created and managed by a Security Token Service (STS) that acts as an identity provider. An STS encapsulates a collection of assertions, based on attributes specified by a policy, into a security token that can then be used to authenticate and authorize a user. To create a security token, the STS must be able to locate valid credentials for a user in an attribute store. Active Directory Domain Services can be used as an attribute store for an STS.

Components of the human resources portal security model

To provide manageable, searchable, and secure access for about 90,000 users, the design of the human resources portal includes the implementation of the following components:

  • SharePoint groups

  • Audience targeting

  • FAST Search

SharePoint groups

To manage a deployment that includes about 90,000 users and an implementation that has to handle hundreds of compound claims, the design of the security model for the human resources portal includes SharePoint groups. A SharePoint group is a logical container for SharePoint Server 2010 users. By implementing SharePoint groups, administrators can create meaningful group names to identity collections of claim values. In addition, People Picker supports name resolution for SharePoint groups. Another reason to implement SharePoint groups is that SharePoint groups enable administrators to dynamically manage authentication and the use of the OR operator to combine multiple claims at the level of a SharePoint group.

Audience targeting

Enabling administrators to filter and scope content for specified groups of users is important in a deployment that supports about 90,000 users. The human resources portal design team used the User Profile Service Application to implement SharePoint groups for audience targeting. However, when the design team created a SharePoint group that contains claims from a custom claims provider, the design team did not assign a default permission level to the SharePoint group. When you create SharePoint groups, use the groups for security, and do not assign a permission level when you create them, the groups are automatically assigned a Limited Access permission level. The target audience processor ignores SharePoint groups that are created in this way. To resolve this issue, the design team discovered that if it assigned the Read level permission to a SharePoint group that contains claims from a custom claims provider, and then removed the Read level permission, the target audience processor correctly processed the SharePoint group. You only need to perform this procedure on one SharePoint group within the inheritance tree. You do not need to perform this procedure on every SharePoint group that contains a claim from a custom claims provider.

FAST Search

To provide content discoverability and a high level of search performance across a deployment that includes a very large number of users and network resources, the portal design team used Microsoft FAST Search Server 2010 for SharePoint hosted in a federated environment. The FAST Search Server 2010 for SharePoint deployment included the following components:

  • Query Search Service Applications

  • A content Search Service Application

  • A content source

The design team learned that custom claim type mappings must be registered in the FAST Search Server 2010 for SharePoint farm to enable search security trimming, and that any custom claims provider used in the human resources portal must also be deployed in the FAST Search Server 2010 for SharePoint farm. The design team also learned that you must confirm that the claim type mappings are registered, and that all claim IDs are the same across all of the SharePoint Server 2010 farms for the same claim type value pair. In addition, the design team learned that the following conditions must be met to ensure that the human resources portal is searchable from other intranet portals within the enterprise:

  • All other intranet portals that render human resources portal content are built on SharePoint Server 2010 and use claims-based Web applications and the Windows authentication method.

  • All other intranet portals that render content from the human resources portal are querying the same FAST Search index.

  • All other intranet portals that render content from the human resources portal have the custom claims provider for the human resources portal installed. Also, the custom claims provider must be installed in the same sequence as it was installed on the human resources portal.

The following diagram illustrates the physical architecture for the MSIT human resources portal built on SharePoint Server 2010 and FAST Search Server 2010 for SharePoint, using a custom claims provider.

MSIT SharePoint claims network diagram

Additional resources

For more detailed information about implementing this deployment scenario, see Custom Claims-Based Security in SharePoint 2010 (http://go.microsoft.com/fwlink/p/?LinkId=232558).

SharePoint Server 2010 claims-based authentication is built on the Windows Identity Foundation (WIF), which is a set of .NET Framework classes. Claims-based authentication relies on standards such as WS-Federation and WS-Trust. For more information about WIF, see Windows Identity Foundation Simplifies User Access for Developers (http://go.microsoft.com/fwlink/p/?LinkId=198943).

For prescriptive guidance about how to implement a custom claims provider, see the following TechNet and MSDN articles:

  • People Picker and claims provider planning (SharePoint Server 2010)

  • People Picker overview (SharePoint Server 2010)

  • Configure People Picker (SharePoint Server 2010)

  • Custom claims providers for People Picker (SharePoint Server 2010)

  • Claims Walkthrough: Writing Claims Providers for SharePoint 2010 (http://go.microsoft.com/fwlink/p/?LinkID=207589)

  • How to: Create a Claims Provider (http://go.microsoft.com/fwlink/p/?LinkID=207588)

  • SPClaimProvider Class SharePoint 2010 (http://go.microsoft.com/fwlink/p/?LinkId=226305)

  • Audience and content targeting planning (SharePoint Server 2010)

  • FAST Search Server 2010 for SharePoint

  • Create and set up the Content Search Service Application (FAST Search Server 2010 for SharePoint)

  • Create and set up the Query Search Service Application (FAST Search Server 2010 for SharePoint)

  • Enable queries from Microsoft SharePoint Server (FAST Search Server 2010 for SharePoint)

  • Create a FAST Search Center site (FAST Search Server 2010 for SharePoint)

  • Claims-Based Identity Term Definitions (http://go.microsoft.com/fwlink/p/?LinkId=226307)


Implementing Claims-Based Authentication with SharePoint Server 2010 (whitepaper)
See Also

Published: September 27, 2011

This white paper describes how Web applications in Microsoft SharePoint Server 2010 can use claims-based authentication to provide authenticated access to entities that are external to your organization and enable multiple authentication types within a single zone. It also provides many of the details related to setting up a trust configuration, an explanation of runtime considerations and management, configuration details, and programmatic implementations or the use of the extensibility points to turn federated access into a federated SharePoint Server 2010 business solution.

This white paper contains the following sections:

  • Overview of Claims-based Identity in SharePoint Server 2010

  • Overview Concepts and Terminology

  • SharePoint Server 2010 with Active Directory Federation Services 2.0

  • Creating Multiple Claims Authentication Web Applications in a Single SharePoint Server 2010 Farm

  • Setting the Login Token Expiration Correctly for SharePoint Server 2010 Security Assertion Markup Language (SAML) Claims Users

  • Creating a Custom Claims Provider

  • Migration of Users in Classic Mode to Trusted Provider Claims

  • How to Enable Tracing for SharePoint Server 2010 Claims

  • Trusted Identity Providers and User Profile Synchronization

  • Using Audiences with Claims-Based Sites

  • Implications of Claims Mode Authentication on Service Applications

  • Service Applications and the Claims-to-Windows Token Service (C2WTS)

  • Using Active Authentication for Custom Development in SharePoint Server 2010 Claims Authentication Web Applications

Download the white paper

Implementing Claims Based Authentication with SharePoint Server 2010 (whitepaper) (http://go.microsoft.com/fwlink/p/?LinkId=229109)

See Also

Concepts

Plan authentication (SharePoint Server 2010)


Plan for claims-based authentication or classic-mode authentication (SharePoint Server 2010)

Published: December 13, 2011

In Microsoft SharePoint Server 2010, you can choose between claims-based authentication and classic-mode authentication when you create a Web application.

For more information about these two authentication modes, see Plan authentication methods (SharePoint Server 2010).

Choosing classic-mode or claims-based authentication

Choosing between classic-mode and claims-based authentication should be based on business needs. For example, if you need to support user accounts in identity providers that are not based on Active Directory Domain Services (AD DS), and you implement forms-based authentication, you must use forms-based authentication with claims-based authentication in SharePoint Server 2010. We recommend that you use claims-based authentication whenever possible.

Note:

FAST Search Server 2010 for SharePoint document preview does not work with SharePoint Server 2010 claims-based Web applications.

The following chart summarizes the support for authentication methods by each authentication mode.

Type Classic-mode authentication Claims-based authentication

Windows authentication methods

  • NTLM

  • Kerberos

  • Anonymous

  • Basic

  • Digest

Yes

Yes

Forms-based authentication methods

  • LDAP

  • SQL Server database or other database

  • Custom or third-party membership and role providers

No

Yes

SAML token-based authentication methods

  • AD FS 2.0

  • Third-party identity provider

  • LDAP

N/A

Yes

Upgrading to SharePoint Server 2010

If you are upgrading from Microsoft Office SharePoint Server 2007 to SharePoint Server 2010, you should consider the following information:

  • If you are upgrading an earlier version solution to SharePoint Server 2010 and the solution includes only Windows accounts, you can use either mode of Windows authentication: Windows Claims or Windows Classic. We recommend that you use claims-based authentication whenever possible. For more information about using claims-based authentication, see Implementing Claims-Based Authentication with SharePoint Server 2010 (whitepaper).

  • If you are upgrading a solution that requires forms-based authentication, the only option is to upgrade to claims-based authentication.

  • Custom code that uses Windows identities might have to be updated. If you have custom code that uses Windows identities, you can use classic-mode authentication until your code is updated and tested. For example, if you wrote a custom Web part for Office SharePoint Server 2007 that retrieved the current user identity and you are upgrading to SharePoint Server 2010, you should use SPWeb.CurrentUser() instead of HttpContext.Current.User.Identity() in order to retrieve the identity.

  • The migration time will vary, depending on the number of users that are listed in the UserInfo table in the content database. When you change a Web application from Windows classic mode to Windows claims, you must use Windows PowerShell to convert Windows identities to Windows claims identities. Be sure to allow for enough time during the upgrade process to complete this task.

  • You can search and list names in people picker when you are using SAML token-based authentication, but they cannot be checked for validity unless you write a custom claims provider.

    For more information about how to write a customer claim provider, see Custom claims providers for People Picker (SharePoint Server 2010).

  • If you are using the Outlook social connector, you must use either Windows classic-mode authentication or Windows claims authentication.

The following table illustrates several compatibility considerations when you migrate from Microsoft Office SharePoint Server 2007 to SharePoint Server 2010.

 | To SharePoint Server 2010 Windows classic mode authentication | To SharePoint Server 2010 Windows claims authentication methods | To SharePoint Server 2010 forms-based authentication methods | To SharePoint Server 2010 SAML token-based authentication methods
From Office SharePoint Server 2007 Windows authentication methods | Supported | Supported | Not supported | Not supported
From Office SharePoint Server 2007 forms-based authentication methods | Not supported | Not supported | Supported1 | Supported2
From Office SharePoint Server 2007 Web single sign-on | Not supported | Not supported | Not supported3 | Not supported3

Notes for the previous table of compatibility considerations:

  1. This upgrade path is supported by migrating to claims-based authentication.

  2. This upgrade path is supported, but it requires additional configuration in order to complete the migration.

  3. This upgrade path is not supported, but the same level of functionality is provided through SAML token-based authentication.

For additional information about migrating, see the following topics:

  • Upgrading to SharePoint Server 2010

  • Migrate from forms-based authentication to claims-based authentication (SharePoint Server 2010)

  • Migrate from classic-mode to claims-based authentication (SharePoint Server 2010)

Features that do not work with forms-based authentication or SAML security tokens

The following SharePoint Server 2010 features do not work when you switch to a claims-based Web application that uses forms-based authentication or Security Assertion Markup Language (SAML) security tokens. These features do not work because claims-based authentication does not generate a Windows security token, which is necessary for these features.

  • Search Alerts

  • SharePoint Server 2010 Explorer View

  • Claims to Windows Token Service (C2WTS)

  • InfoPath Forms Services

  • Search crawling

    Note:

    If you are using forms-based authentication or SAML token-based authentication, you will still need a separate zone that supports Windows authentication to enable Microsoft Search Server 2010 to crawl your content.

  • Certificate Authentication

    Note:

    Certificate authentication is not supported in SharePoint Server 2010, but you can configure Unified Access Gateway (UAG) as a front-end to SharePoint Server 2010 to enable certificate authentication by integrating with Active Directory Federated Services (AD FS) and SAML token-based authentication.

    For more information about configuring SharePoint Server 2010 with UAG, see Forefront UAG integration (SharePoint Server 2010).

Features that require additional configuration to work with forms-based authentication or SAML security tokens

There are several SharePoint Server 2010 features that require additional configuration to work with forms-based authentication or SAML security tokens.

  • Business Intelligence (BI)

    BI clients must either use Windows Claims authentication, Windows Classic authentication, or the Secure Store Service. When you are using the Secure Store Service, SAML claims are not translated to Windows tokens, so other services will not detect the SAML identity; the identity will be the service account, an anonymous account, or an unattended account.

    For more information about configuring the Secure Store Service, see Plan the Secure Store Service (SharePoint Server 2010).

  • Information Rights Management (IRM)

    A hotfix that enables basic IRM functionality with claims and SAML is available from Microsoft. For more information, see Microsoft Knowledge Base article Description of the SharePoint Foundation 2010 hotfix package: June 30, 2011 (http://go.microsoft.com/fwlink/?LinkId=236873).


Implementing Persistent Cookies in SharePoint 2010 Products (white paper)
See Also

Published: August 7, 2012

This paper describes best practices and scenario requirements for implementing persistent cookies or session cookies within your organization when using Microsoft SharePoint 2010 Products. Cookies are used to maintain state information as you navigate to different pages on a web site or return to the web site later. SharePoint sites can use either session or persistent cookies. This paper explains how to choose the appropriate approach for your sites. There are some inherent limitations when you use session cookies. This paper describes these limitations and provides guidance to help you determine which technology to deploy.

This white paper contains the following sections:

  • Overview of SharePoint 2010 Products persistent cookies

  • Session cookies

  • Persistent cookies

  • SharePoint authentication cookies

  • Integrating with the Microsoft Office System

  • Workarounds to use with session cookies

Download the white paper

Implementing Persistent Cookies in SharePoint Products

See Also

Concepts

Plan authentication (SharePoint Server 2010)


Security planning for server farms (SharePoint Server 2010)
See Also

Published: July 16, 2012

This section contains security articles designed to help you to plan server farms environments and configurations.

In this section:

  • Plan administrative tasks in a least-privilege environment (SharePoint Server 2010)

  • Plan for administrative and service accounts (SharePoint Server 2010)

  • Plan security hardening (SharePoint Server 2010)

  • Plan automatic password change (SharePoint Server 2010)

  • Plan security hardening for extranet environments (SharePoint Server 2010)

See Also

Concepts

Plan for server farms and environments (SharePoint Server 2010)

Other Resources

Security and authentication resource center (http://go.microsoft.com/fwlink/p/?LinkID=196792)


Plan administrative tasks in a least-privilege environment (SharePoint Server 2010)

Published: August 11, 2011

This article describes how to configure and maintain a Microsoft SharePoint Server 2010 farm by using least-privileged administration.

Overview

The concept of least-privileged administration assigns users the minimum permissions that are required for users to complete authorized tasks. The goal of least-privileged administration is to configure and help maintain secure control of an environment. The result is that each service is granted access to only the resources that are absolutely necessary. Implementing least-privileged administration can result in increased operational costs because additional resources might be required to maintain this level of administration. Moreover, the ability to troubleshoot security problems can also be diminished.

Security Note:

Organizations implement least-privileged administration to achieve better security than would be typically recommended. Only a small percentage of organizations require this heightened level of security because of the resource costs of maintaining least-privileged administration. However, some deployments that might require this heightened level of security include governmental agencies, security organizations, and organizations in the financial services industry. The implementation of a least-privileged environment should not be confused with best practices. In a least-privileged environment, administrators implement best practices together with additional heightened levels of security is performed.

Least-privileged environment for accounts and services

To plan for least-privileged administration, you must consider several accounts, roles, and services. Some apply to SQL Server and some apply to SharePoint 2010 Products. As administrators lock down additional accounts and services, daily operational costs are likely to increase.

Microsoft SQL Server roles

In a least-privileged administration environment, we recommend that you remove the following two SQL Server server-level roles from accounts that are not SharePoint service accounts, but are used for SharePoint administration:

  • dbcreator- Members of the dbcreator fixed server role can create, alter, drop, and restore any database.

  • securityadmin- Members of the securityadmin fixed server role manage logins and their properties. They can GRANT, DENY, and REVOKE server-level permissions. They can also GRANT, DENY, and REVOKE database-level permissions if they have access to a database. Additionally, they can reset passwords for SQL Server logins.

    Security Note:

    The ability to grant access to the Database Engine and to configure user permissions allows the security admin to assign most server permissions. The securityadmin role should be treated as equal to the sysadmin role.

For additional information about SQL Server server-level roles, see Server Level Roles (http://go.microsoft.com/fwlink/p/?LinkId=213450)

The removal of one or more of these SQL Server roles might cause "Unexpected" error messages that will be displayed in the Central Administration Web site. In addition, you may receive the following message in the Unified Logging Service (ULS) log file:

System.Data.SqlClient.SqlException… <operation type> permission denied in database <database>. Table <table>

Along with an error message that may be displayed, the user may be unable to perform any of the following tasks:

  • Restore a backup of a farm due to the inability to write to a database

  • Provision a service instance or Web application

  • Configure managed accounts

  • Change managed accounts for Web applications

  • Any database, managed account, or services operation that requires the use of the Central Administration Web site

In certain situations, database administrators (DBAs) may want to operate independently from SharePoint administrators and create and manage all the databases. For information about how DBAs create and manage all databases, see Deploy by using DBA-created databases (SharePoint Server 2010).

SharePoint Server 2010 roles and services

In general, the ability to create new databases should be removed from SharePoint service accounts. No SharePoint service account should have the sysadmin role on the Microsoft SQL Serverinstance and no SharePoint service account should be a local Administrator on the server that runs Microsoft SQL Server.

However, you could lock down several other SharePoint Server 2010 services and accounts:

  • SharePoint_Shell_Access role

    When this Microsoft SQL Server role is removed, the ability to write entries to the configuration and content database is removed. For additional information about this role, see Add-SPShellAdmin.

  • SharePoint Timer service (SPTimerV4)

    By default, this service is installed and maintains configuration cache information. If the service type is set to disabled the following behavior may occur:

    • No timer jobs will run

    • Health analyzer rules will not run

    • Maintenance and farm configuration will be out of date

  • SharePoint Administration service (SPAdminV4)

    This service performs automated changes that require local administrator permission on the server. When the service is not running, you must manually process server-level administrative changes. If the service type is set to disabled, the following behavior may occur:

    • Administrative timer jobs will not run

    • Web configuration files will not be updated

    • Security and local groups will not be updated

    • Registry values and keys will not be written

    • Services may be unable to be started or restarted

    • Provisioning of services may be unable to be completed

  • SPUserCodeV4 Service

    This service lets a site collection administrator upload sandboxed solutions to the Solutions gallery. For additional information about sandboxed solutions, see Sandboxed solutions overview (SharePoint Server 2010).

  • Claims To Windows Token service (C2WTS)

    By default, this service is disabled. The C2WTS service may be required for deployment in which external data sources are accessed. For more information about C2WTS, see Identity delegation for Excel Services (SharePoint Server 2010), Identity delegation for Business Connectivity Services (SharePoint Server 2010), Identity delegation for SQL Server Reporting Services (SharePoint Server 2010), and How to reset the Claims to Windows Token Service account (SharePoint Server 2010).

For more information services, see SharePoint Administration service is disabled (SharePoint 2010 Products).

Depending on an organization's business requirements, if any SharePoint Server 2010 services or roles are implemented, the behavior to the following features may occur:

  • Backup and restore

    The ability to perform a restore from a backup may fail if database permissions have been removed.

  • Upgrade

    The upgrade process will start correctly, but then fail as you do not have suitable permissions to databases. If your organization is already in a least-privileged environment, the workaround is move to a best practices environment to complete the upgrade, and then move back to a least-privileged environment.

  • Update

    The ability to apply a software update to a farm will succeed for the schema of the configuration database, but fail on the content database and services.

Additional requirements to consider

In addition to the preceding considerations, you might have to consider more operations. The following list is not complete. Selectively use the items at your own discretion:

  • Setup user administrator account- This account is used to set up each server in a farm. The account must be a member of the Administrators group on each server in the Microsoft SharePoint Server 2010 farm. For additional information about this account, see Administrative accounts

  • Synchronization account- This account is used to connect to the directory service. For additional information, see User profile properties and profile synchronization planning worksheets (http://go.microsoft.com/fwlink/p/?LinkID=225640)

  • User Profile Replication Engine - This tool is part of the SharePoint Administrator Toolkit (SPAT). It lets an administrator of a User Profile Service application replicate user profiles and social data, between User Profile Service applications. Examples of user profiles or social data include social tags, notes, and ratings. For additional information about the User Profile Replication Engine tool, see User Profile Replication Engine overview (SharePoint Server 2010)

  • My Site host application pool account- This is the account under which the My Site application pool runs. To configure this account, you need to be a member in the Farms Administrators group.

  • Built-in user group- Removing the built-in user security group or changing the permissions may have unanticipated consequences.

  • Group permissions-By default the WSS_ADMIN_WPG SharePoint group has read and write access to local resources. The following WSS_ADMIN_WPG file system locations, %WINDIR%\System32\drivers\etc\HOSTS and %WINDIR%\Tasks are needed for Microsoft SharePoint Server to work properly. If other services or applications are running on a server, you may consider how they access the Tasks or HOSTS folder locations. For additional information about account settings, see Account permissions and security settings (SharePoint Server 2010)

  • Change permission of a service- A change of a permission of a service may have unanticipated consequences. For example, if the following registry key, HKLM\System\CurrentControlSet\Services\PerfProc\Performance\Disable Performance Counters, has the value of 0, the User Code Host service would be disabled which would cause sandboxed solutions to stop working. For additional information about the User Code service not working, see The SharePoint 2010 User Code Host service fails to start (http://go.microsoft.com/fwlink/p/?LinkId=225642)


Plan for administrative and service accounts (SharePoint Server 2010)
See Also

Published: September 7, 2011

This article describes the accounts that that you must plan for and describes the deployment scenarios that affect account requirements.

In this article:

  • About administrative and service accounts

  • Single server standard requirements

  • Server farm requirements

Use this article along with the following deployment article: Initial deployment administrative and service accounts (SharePoint Server 2010).

The initial deployment administrative and service accounts article describes the specific account and permissions that you need to grant prior to running Setup.

This article does not describe the account requirements for using Secure Store service in Microsoft SharePoint Server 2010. For more information, see Plan the Secure Store Service (SharePoint Server 2010).

This article does not describe security roles and permissions required to administer in SharePoint Server 2010.

About administrative and service accounts

This section lists and describes the accounts that you must plan for. The accounts are grouped according to scope.

After you complete installation and configuration of accounts, ensure that you do not use the Local System account to perform administration tasks or to browse sites.

Server farm-level accounts

The following table describes the accounts that are used to configure Microsoft SQL Server database software and to install SharePoint Server 2010.

Account Purpose

SQL Server service account

SQL Server prompts for this account during SQL Server Setup. This account is used as the service account for the following SQL Server services:

  • MSSQLSERVER

  • SQLSERVERAGENT

If you are not using the default instance, these services will be shown as:

  • MSSQL$InstanceName

  • SQLAgent$InstanceName

Setup user account

The user account that is used to run:

If you run Windows PowerShell cmdlets that affect a database, this account must be a member of the db_owner fixed database role for the database.

  • Setup on each server computer

  • SharePoint Products Configuration Wizard

  • The Psconfig command-line tool

  • The Stsadm command-line tool

Server farm account

This account is also referred to as the database access account.

This account is:

  • The application pool identity for the SharePoint Central Administration Web site.

  • The process account for the Windows SharePoint Services Timer service.

Service application accounts

The following table describes the accounts that are used to set up and configure a service application. Plan one set of an application pool and proxy group for each service application you plan to implement.

For additional information about service application endpoints, see Using Service Endpoints (http://go.microsoft.com/fwlink/p/?LinkId=227293).

Account Service Purpose Requirements

Service Application Endpoint

Access Services

Business Data Connectivity Service

Secure Store Service

Usage and Health Data Collection Service

User Profile Service

Visio Graphics Service

Web Analytics Service application

Word Automation services

This account is used as the identity for the service application endpoint application pool. Unless there are specific isolation requirements, the application pool can be used to host multiple service application endpoints.

Must be a member of the Farm Administrators group.

Service Application Endpoint

Excel Services

Managed Metadata Service

PerformancePoint Service

Search Service

This account is used as the identity for the service endpoint application pool. Unless there are specific isolation requirements, the application pool can be used to host multiple service application endpoints.

Must be a domain user account.

Service Application Endpoint

Security Token Service

Application Discovery and Load Balancer Service

This account is used as the identity for the service application endpoint application pool. This account must be the Farm Account and the application pool is created automatically by the SharePoint Products Configuration Wizard.

Must be a member of the Farm Administrators group.

Unattended Service

Excel Services

Used with workbooks to refresh data. It is required when workbook connections specify "None" for authentication, or when any non-Windows credentials are used to refresh data.

Must be a domain user account.

Unattended Service

PerformancePoint Service

Used for authenticating with data sources.

Must be a domain user account.

Unattended Service

Visio Graphics Service

Used with documents to refresh data. It is required when connecting to data sources external to SharePoint Server 2010, such as SQL Server.

Must be a member of the Farm Administrators group.

Default Content Access

Search Service

The default account when crawling content. Note that additional accounts can be specified per crawl rule.

Must have Read Access to the content being crawled.

Full Read permissions must be granted explicitly to content that is outside the local farm.

Full Read permissions are automatically configured for content databases in the local farm.

Search Service

Search Service

This is the Windows Service account for the SharePoint Server Search Service. This setting affects all Search service applications in the farm.

Must be a domain user account.

User Profile Synchronization Service

User Profile Synchronization Service

This is the Windows Service account for the User Profile Synchronization Service.

Must be a member in the Farm Administrators group.

Requires Log on Locally permission on the computer running the User Profile Synchronization Service instance.

Requires Local Administrator permissions on the machine running the User Profile Synchronization Service instance.

Synchronization Connection

User Profile Service

This is the account used to perform synchronization with the remote directory service. There can be one account per synchronization connection.

Replicating Directory Changes permissions on the domain(s) being synchronized.

Replicating Directory Changes permissions on the configuration partition of the domain(s) being synchronized if the NetBIOS and fully qualified domain name (FQDN) names do not match.

Microsoft SharePoint Foundation 2010 search service accounts

The following table describes the accounts that are used for the SharePoint Foundation 2010 Search Service account.SharePoint Server 2010 uses these accounts only for searching Help content in response to user search queries. There is only one instance of the SharePoint Foundation 2010 Search Service in a farm.

Account | Purpose
SharePoint Foundation 2010 Search Service | Used as the service account for the SharePoint Foundation 2010 Search Service. This account cannot be a built-in account, such as Local Service or Network Service.
SharePoint Foundation 2010 Search Content Access | Used to crawl Help content. For proper search functionality and information security, do not use an administrator account or an account that can modify content.

Additional application pool identity accounts

If you create additional application pools to host sites, plan for additional application pool identity accounts. The following table describes the application pool identity account. Plan one application pool account for each application pool you plan to implement.

Account | Purpose
Application pool identity | The user account that the worker processes that service the application pool use as their process identity. This account is used to access content databases associated with the Web applications that reside in the application pool.

Single server standard requirements

If you are deploying to a single server computer, account requirements are greatly reduced. In an evaluation environment, you can use a single account for all of the account purposes. In a production environment, ensure that the accounts you create have the appropriate permissions for their purposes.

For a list of account permissions for single server environments, see Initial deployment administrative and service accounts (SharePoint Server 2010).

Server farm requirements

If you are deploying to more than one server computer, use the server farm standard requirements to ensure that accounts have the appropriate permissions to perform their processes across multiple computers. The server farm standard requirements detail the minimum configuration that is necessary to operate in a server farm environment.

For a more secure environment, see Plan administrative tasks in a least-privilege environment (SharePoint Server 2010)

For a list of standard requirements for server farm environments, see the requirements listed in the Technical reference: Account requirements by scenario section of this article.

For some accounts, additional permissions or access to databases are configured when you run Setup. These are noted in the accounts planning tool. An important configuration for database administrators to be aware of is the addition of the WSS_Content_Application_Pools database role. Setup adds this role to the following databases:

  • SharePoint_Config database (configuration database)

  • SharePoint_AdminContent database

Members of the WSS_Content_Application_Pools database role are granted the Execute permission to a subset of the stored procedures for the database. Additionally, members of this role are granted the Select permission to the Versions table (dbo.Versions) in the SharePoint_AdminContent database.

For other databases, the accounts planning tool indicates that access to read from these databases is automatically configured. In some cases, limited access to write to a database is also automatically configured. To provide this access, permissions to stored procedures are configured. For the SharePoint_Config database, for example, access to the following stored procedures is automatically configured:

  • proc_dropEmailEnabledList

  • proc_dropEmailEnabledListsByWeb

  • proc_dropSiteMap

  • proc_markForDeletionEmailEnabledList

  • proc_markForDeletionEmailEnabledListsBySite

  • proc_markForDeletionEmailEnabledListsByWeb

  • proc_putDistributionListToDelete

  • proc_putEmailEnabledList

  • proc_putSiteMap

Technical reference: Account requirements by scenario

This section lists account requirements by scenario:

  • Single server standard requirements

  • Server farm standard requirements

Single server standard requirements

Server farm-level accounts

Account | Requirements
SQL Server service | Local System account (default)
Setup user | Member of the Administrators group on the local computer
Server farm | Network Service (default) No manual configuration is necessary.

Service application accounts

Account | Requirements
SharePoint Server Search Service | By default, this account runs as the Local System account. If you want to crawl remote content by changing the default content access account or by using crawl rules, change this to a domain user account. If you do not change this account to a domain user account, you cannot change the default content access account to a domain user account or add crawl rules to crawl this content. This restriction is designed to prevent elevation of privilege for any other process running as the Local System account.
Default Content Access | No manual configuration is necessary if this account is only crawling local farm content. If you want to crawl remote content by using crawl rules, change this to a domain user account, and apply the requirements listed for a server farm.
Content Access | Same requirement as the default content access account.
Profile import Default Access | Same requirements as server farm.
Excel Services Unattended Service | Must be a domain user account.

Microsoft SharePoint Foundation 2010 Search service accounts

Account | Requirements
SharePoint Foundation 2010 Search Service | Must not be a built-in account, such as Local Service or Network Service.
SharePoint Foundation 2010 Search Service Content Access | For proper search functionality and information security, do not use an administrator account or an account that can modify content. This account is automatically added to the Full Read policy, giving it read-only access to all Help content.

Additional application pool identity accounts

Account | Requirements
Application pool identity | No manual configuration is necessary. The Network Service account is used for the default Web site that is created during Setup and configuration.

Server farm standard requirements

Server farm-level accounts

Account Requirements

SQL Server service account

Use either a Local System account or a domain user account.

If a domain user account is used, this account uses Kerberos authentication by default, which requires additional configuration in your network environment. If SQL Server uses a service principal name (SPN) that is not valid (that is, that does not exist in the Active Directory service environment), Kerberos authentication fails, and then NTLM is used. If SQL Server uses an SPN that is valid but is not assigned to the appropriate container in Active Directory, authentication fails. Authentication will always try to use the first SPN it finds, so ensure that there are no SPNs assigned to inappropriate containers in Active Directory.

If you plan to back up to or restore from an external resource, permissions to the external resource must be granted to the appropriate account. If you use a domain user account for the SQL Server service account, grant permissions to that domain user account. However, if you use the Network Service or the Local System account, grant permissions to the external resource to the machine account (domain_name\SQL_hostname$).

Setup user account

  • Domain user account.

  • Member of the Administrators group on each server on which Setup is run.

  • SQL Server login on the computer running SQL Server.

  • Member of the following SQL Server security roles:

    • securityadmin fixed server role

    • dbcreator fixed server role

If you run Stsadm commands that affect a database, this account must be a member of the db_owner fixed database role for the database.

Server farm account

  • Domain user account.

  • If the server farm is a child farm with Web applications that consume shared services from a parent farm, this account must be a member of the db_owner fixed database role on the configuration database of the parent farm.

Additional permissions are automatically granted for this account on Web servers and application servers that are joined to a server farm.

This account is automatically added as a SQL Server login on the computer running SQL Server and added to the following SQL Server security roles:

  • dbcreator fixed server role

  • securityadmin fixed server role

  • db_owner fixed database role for all databases in the server farm

Note if you configure the Secure Store Service, the server farm account will not automatically be given db_owner access to the Secure Store Service database.

Service application service accounts

Account Requirements

SharePoint Server Search service account

  • Must be a domain user account.

  • Must not be a member of the Farm Administrators group.

The following are automatically configured:

  • Access to read from the configuration database, administration content database, the search administration database, crawl databases, and property databases.

  • Full control access to the index partitions on the query servers.

Default content access account

  • Must be a domain user account.

  • Must not be a member of the Farm Administrators group.

  • Read access to external or secure content sources that you want to crawl by using this account.

  • For sites that are not a part of the server farm, this account must explicitly be granted Full Read permissions on the Web applications that host the sites.

The following are automatically configured:

  • Full Read permissions are automatically granted to content databases hosted by the server farm.

Content access account

  • Read access to external or secure content sources that this account is configured to access.

  • For Web sites that are not a part of the server farm, this account must explicitly be granted Full Read permissions on the Web applications that host the sites.

Profile import default access account

  • Read access to the directory service.

  • The account must have the Replicate Changes permission in Active Directory.

  • Manage User Profiles personalization services permission.

  • View permissions on entities used in Business Data Catalog import connections.

Excel Services unattended service account

Must be a domain user account.

Microsoft SharePoint Foundation 2010 Search accounts

Account Requirements

Microsoft SharePoint Foundation 2010 Search service account

  • Must be a domain user account.

  • Must not be a member of the Farm Administrators group.

The following are automatically configured:

  • Access to read from the configuration database and the SharePoint_Admin content database.

  • Membership in the db_owner role for the WSS_ Search database.

Microsoft SharePoint Foundation 2010 Search content access account

  • Same requirements as the SharePoint Foundation Search Service account.

  • Automatically added to the Web application Full Read policy for the farm.

Additional application pool identity accounts

Account Requirements

Application pool identity

No manual configuration is necessary.

The following are automatically configured:

  • Membership in the db_owner role for content databases and search databases associated with the Web application.

  • Membership in specific application pool roles for the configuration and the SharePoint_AdminContent databases.

  • Additional permissions for this account to front-end Web servers and application servers are automatically granted.

See Also

Concepts

Configure Web Analytics service application (SharePoint Server 2010)


Plan security hardening (SharePoint Server 2010)
See Also

This article describes security hardening for Microsoft SharePoint Server 2010 Web server, application server, and database server roles, and gives detailed guidance about the specific hardening requirements for ports, protocols, and services in Microsoft SharePoint 2010 Products.

In this article:

  • Secure server snapshots

  • Specific port, protocol, and service guidance

Secure server snapshots

In a server farm environment, individual servers play specific roles. Security hardening recommendations for these servers depend on the role each server plays. This article contains secure snapshots for two categories of server roles:

  • Web server and application server roles

  • Database server role

A secure snapshot is a grouped set of characteristics that is divided into common configuration categories. The characteristics defined for each category represent the optimal hardened state for Microsoft SharePoint 2010 Products. This article does not include hardening guidance for other software in the environment.

Web server and application server roles

This section identifies hardening characteristics for Web servers and application servers. Some of the guidance applies to specific service applications; in these cases, the corresponding characteristics need to be applied only on the servers that are running the services associated with the specified service applications.

Category Characteristic

Services listed in the Services MMC snap-in

Enable the following services:

  • File and Printer Sharing

  • ASP.NET State service (if you are using InfoPath Forms Services or Microsoft Project Server 2010)

  • View State service (if you are using InfoPath Forms Services)

  • World Wide Web Publishing Service

Ensure that these services are not disabled:

  • Claims to Windows Token Service

  • SharePoint 2010 Administration

  • SharePoint 2010 Timer

  • SharePoint 2010 Tracing

  • SharePoint 2010 VSS Writer

Ensure that these services are not disabled on the servers that host the corresponding roles:

  • SharePoint 2010 User Code Host

  • SharePoint Foundation Search V4

  • SharePoint Server Search 14

  • The following services are required by the User Profile service application on the server that imports profiles from the directory store:

    • Forefront Identity Manager service

    • Forefront Identity Manager Synchronization service

Ports and protocols

  • TCP 80, TCP 443 (SSL)

  • Custom ports for search crawling, if configured

  • File and Printer Sharing service —either of the following, used by search roles:

    • Direct-hosted SMB (TCP/UDP 445) — this is the recommended port

    • NetBIOS over TCP/IP (NetBT) (TCP 137, UDP 138, UDP 139) — disable these ports if you do not use it

  • Ports required for communication between Web servers and service applications (the default is HTTP):

    • HTTP binding: TCP 32843

    • HTTPS binding: TCP 32844

    • net.tcp binding: TCP 32845 (only if a third party has implemented this option for a service application)

  • Ports required for communication between all farm servers when Kerberos authentication is being used:

    • TCP and UDP 88 (Kerberos)

    • UDP 464 (Kerberos Change Password)

  • Ports required for synchronizing profiles between SharePoint 2010 Products and Active Directory on the server that runs the Forefront Identity Management agent:

    • TCP 5725

    • TCP and UDP 389 (LDAP service)

    • TCP and UDP 88 (Kerberos)

    • TCP and UDP 53 (DNS)

    • UDP 464 (Kerberos Change Password)

    For information about how to synchronize profiles with other directory stores, see User Profile service hardening requirements, later in this article.

  • UDP 1434 and TCP 1433 — default ports for SQL Server communication. If these ports are blocked on the SQL Server computer (recommended) and databases are installed on a named instance, configure a SQL Server client alias for connecting to the named instance.

  • TCP 32846 for the Microsoft SharePoint Foundation User Code Service (for sandbox solutions) — This port must be open for outbound connections on all Web servers. This port must be open for inbound connections on Web servers or application servers where this service is turned on.

  • Ensure that ports remain open for Web applications that are accessible to users.

  • Block external access to the port that is used for the Central Administration site.

  • TCP 25 (SMTP for e-mail integration)

Registry

No additional guidance

Auditing and logging

If log files are relocated, ensure that the log file locations are updated to match. Update folder access control lists (ACLs) also.

Code access security

Ensure that you have a minimal set of code access security permissions enabled for your Web application. The <trust> element in the Web.config file for each Web application should be set to WSS_Minimal (where WSS_Minimal has its low defaults as defined in 14\config\wss_minimaltrust.config or by your own custom policy file, which is minimally set.)

Web.config

Follow these recommendations for each Web.config file that is created after you run Setup:

  • Do not allow compilation or scripting of database pages via the PageParserPaths elements.

  • Ensure <SafeMode> CallStack=""false"" and AllowPageLevelTrace=""false"".

  • Ensure that the Web Part limits around maximum controls per zone is set low.

  • Ensure that the SafeControls list is set to the minimum set of controls needed for your sites.

  • Ensure that your Workflow SafeTypes list is set to the minimum level of SafeTypes needed.

  • Ensure that customErrors is turned on (<customErrors mode=""On""/>).

  • Consider your Web proxy settings as needed (<system.net>/<defaultProxy>).

  • Set the Upload.aspx limit to the highest size you reasonably expect users to upload (default is 2 GB). Performance can be affected by uploads that exceed 100 MB.

Database server role

The primary recommendation for SharePoint 2010 Products is to secure inter-farm communication by blocking the default ports used for Microsoft SQL Server communication and establishing custom ports for this communication instead. For more information about how to configure ports for SQL Server communication, see Blocking the standard SQL Server ports, later in this article.

Category Characteristic

Ports

  • Block UDP port 1434.

  • Consider blocking TCP port 1433.

This article does not describe how to secure SQL Server. For more information about how to secure SQL Server, see Securing SQL Server (http://go.microsoft.com/fwlink/p/?LinkId=186828).

Specific port, protocol, and service guidance

The rest of this article describes in greater detail the specific security hardening requirements for SharePoint 2010 Products.

In this section:

  • Blocking the standard SQL Server ports

  • Service application communication

  • File and Printer Sharing service requirements

  • User Profile service hardening requirements

  • Connections to external servers

  • Service requirements for e-mail integration

  • Service requirements for session state

  • SharePoint 2010 Products services

  • Web.config file

Blocking the standard SQL Server ports

The specific ports used to connect to SQL Server are affected by whether databases are installed on a default instance of SQL Server or a named instance of SQL Server. The default instance of SQL Server listens for client requests on TCP port 1433. A named instance of SQL Server listens on a randomly assigned port number. Additionally, the port number for a named instance can be reassigned if the instance is restarted (depending on whether the previously assigned port number is available).

By default, client computers that connect to SQL Server first connect by using TCP port 1433. If this communication is unsuccessful, the client computers query the SQL Server Resolution Service that is listening on UDP port 1434 to determine the port on which the database instance is listening.

The default port-communication behavior of SQL Server introduces several issues that affect server hardening. First, the ports used by SQL Server are well-publicized ports and the SQL Server Resolution Service has been the target of buffer overrun attacks and denial-of-service attacks, including the "Slammer" worm virus. Even if SQL Server is updated to mitigate security issues in the SQL Server Resolution Service, the well-publicized ports remain a target. Second, if databases are installed on a named instance of SQL Server, the corresponding communication port is randomly assigned and can change. This behavior can potentially prevent server-to-server communication in a hardened environment. The ability to control which TCP ports are open or blocked is essential to securing your environment.

Consequently, the recommendation for a server farm is to assign static port numbers to named instances of SQL Server and to block UDP port 1434 to prevent potential attackers from accessing the SQL Server Resolution Service. Additionally, consider reassigning the port used by the default instance and blocking TCP port 1433.

There are several methods you can use to block ports. You can block these ports by using a firewall. However, unless you can be sure that there are no other routes into the network segment and that there are no malicious users that have access to the network segment, the recommendation is to block these ports directly on the server that hosts SQL Server. This can be accomplished by using Windows Firewall in Control Panel.

Configuring SQL Server database instances to listen on a nonstandard port

SQL Server provides the ability to reassign the ports that are used by the default instance and any named instances. In SQL Server 2005 and SQL Server 2008, you reassign ports by using SQL Server Configuration Manager.

Configuring SQL Server client aliases

In a server farm, all front-end Web servers and application servers are SQL Server client computers. If you block UDP port 1434 on the SQL Server computer, or you change the default port for the default instance, you must configure a SQL Server client alias on all servers that connect to the SQL Server computer.

To connect to an instance of SQL Server 2005 or SQL Server 2008, you install SQL Server client components on the target computer and then configure the SQL Server client alias by using SQL Server Configuration Manager. To install SQL Server client components, run Setup and select only the following client components to install:

  • Connectivity Components

  • Management Tools (includes SQL Server Configuration Manager)

For specific hardening steps for blocking the standard SQL ports, see Harden SQL Server for SharePoint environments (SharePoint Server 2010).

Service application communication

By default, communication between Web servers and service applications within a farm takes place by using HTTP with a binding to port 32843. When you publish a service application, you can select either HTTP or HTTPS with the following bindings:

  • HTTP binding: TCP port 32843

  • HTTPS binding: TCP port 32844

Additionally, third parties that develop service applications can implement a third choice:

  • net.tcp binding: port 32845

You can change the protocol and port binding for each service application. On the Service Applications page in Central Administration, select the service application, and then click Publish.

Communication between service applications and SQL Server takes place over the standard SQL Server ports or the ports that you configure for SQL Server communication.

File and Printer Sharing service requirements

Several core features depend on the File and Printer Sharing service and the corresponding protocols and ports. These include, but are not limited to, the following:

  • Search queries All search queries require the File and Printer Sharing service.

  • Crawling and indexing content To crawl content, servers that include crawl components send requests through the front-end Web server. The front-end Web server communicates with content databases directly and sends results back to the servers that include crawl components. This communication requires the File and Printer Sharing service.

  • Index propagation If a Search service application is configured with crawl components and query components that are distributed across multiple servers, the servers with crawl components copy content index files to the servers with query components. This action requires the File and Printer Sharing service and its corresponding protocols and ports.

The File and Printer Sharing service requires the use of named pipes. Named pipes can communicate by using either direct-hosted SMB or NetBT protocols. For a secure environment, direct-hosted SMB is recommended instead of NetBT. The hardening recommendations provided in this article assume that direct-hosted SMB is used.

The following table describes the hardening requirements that are introduced by the dependency on the File and Printer Sharing service.

Category Requirements Notes

Services

File and Printer Sharing

Requires the use of named pipes.

Protocols

Named pipes that use direct-hosted SMB

Disable NetBT

Named pipes can use NetBT instead of direct-hosted SMB. However, NetBT is not considered as secure as direct-hosted SMB.

Ports

Either of the following:

  • Direct-hosted SMB (TCP and UDP 445) — recommended

  • NetBT (TCP 137, UDP 138, UDP 139)

Disable NetBT (TCP 137, UDP 138, and UDP 139) if it is not being used

For more information about how to disable NetBT, see the Microsoft Knowledge Base article 204279, Direct hosting of SMB over TCP/IP (http://go.microsoft.com/fwlink/p/?LinkId=76143).

User Profile service hardening requirements

The User Profile service application uses the Forefront Identity Management agent to synchronize profiles between SharePoint 2010 Products and Active Directory or a Lightweight Directory Access Protocol (LDAP) directory service. The Forefront Identity Management agent is installed on all servers in a SharePoint farm, but is only required on the server that is set up to synchronize with the directory store.

The Forefront Identity Management agent includes the following two services that must remain enabled on the server that is set up to crawl Active Directory or another directory store:

  • Forefront Identity Manager service

  • Forefront Identity Manager Synchronization service

Additionally, TCP port 5725 must be open on the server that runs the Forefront Identity Management agent and is set up to crawl a directory store.

In Active Directory environments, the following ports must remain open for communication between the SharePoint 2010 Products server that synchronizes with the directory store and the server that is running Active Directory:

  • TCP and UDP 389 (LDAP service)

  • TCP and UDP 88 (Kerberos)

  • TCP and UDP 53 (DNS)

  • UDP 464 (Kerberos Change Password)

For more information about hardening requirements for the Forefront Identity Management agent, including port requirements for other directory types, see Management Agent Communication Ports, Rights, and Permissions (http://go.microsoft.com/fwlink/p/?LinkId=186832).

Connections to external servers

Several features of SharePoint Server 2010 can be configured to access data that resides on server computers outside of the server farm. If you configure access to data that is located on external server computers, ensure that you enable communication between the appropriate computers. In most cases, the ports, protocols, and services that are used depend on the external resource. For example:

  • Connections to file shares use the File and Printer Sharing service.

  • Connections to external SQL Server databases use the default or customized ports for SQL Server communication.

  • Connections to Oracle databases typically use OLE DB.

  • Connections to Web services use both HTTP and HTTPS.

The following table lists features that can be configured to access data that resides on server computers outside the server farm.

Feature Description

Content crawling

You can configure crawl rules to crawl data that resides on external resources, including Web sites, file shares, Exchange public folders, and business data applications. When crawling external data sources, the crawl role communicates directly with these external resources.

For more information, see Plan for crawling and federation (SharePoint Server 2010).

Business Data Connectivity connections

Web servers and application servers communicate directly with computers that are configured for Business Data Connectivity connections.

Receiving Microsoft Office Excel workbooks

If workbooks opened in Excel Services Application connect to any external data sources (for example, Analysis Services and SQL Server), appropriate TCP/IP ports need to be opened for connecting to these external data sources. For more information, see Plan Excel Services data sources and external connections (SharePoint Server 2010).

If Universal Naming Convention (UNC) paths are configured as trusted locations in Excel Services Application, the Excel Calculation Services application role uses the protocols and ports used by the File and Printer Sharing service to receive Office Excel workbooks over a UNC path.

Workbooks that are stored in content databases or that are uploaded or downloaded from sites by users are not affected by this communication.

Service requirements for e-mail integration

E-mail integration requires the use of two services:

  • SMTP service

  • Microsoft SharePoint Directory Management service

SMTP service

E-mail integration requires the use of the Simple Mail Transfer Protocol (SMTP) service on at least one of the front-end Web servers in the server farm. The SMTP service is required for incoming e-mail. For outgoing e-mail, you can either use the SMTP service or route outgoing email through a dedicated e-mail server in your organization, such as a Microsoft Exchange Server computer.

Microsoft SharePoint Directory Management service

SharePoint 2010 Products include an internal service, the Microsoft SharePoint Directory Management Service, for creating e-mail distribution groups. When you configure e-mail integration, you have the option to enable the Directory Management Service feature, which lets users create distribution lists. When users create a SharePoint group and they select the option to create a distribution list, the Microsoft SharePoint Directory Management Service creates the corresponding Active Directory distribution list in the Active Directory environment.

In security-hardened environments, the recommendation is to restrict access to the Microsoft SharePoint Directory Management Service by securing the file associated with this service, which is SharePointEmailws.asmx. For example, you might allow access to this file by the server farm account only.

Additionally, this service requires permissions in the Active Directory environment to create Active Directory distribution list objects. The recommendation is to set up a separate organizational unit (OU) in Active Directory for SharePoint 2010 Products objects. Only this OU should allow write access to the account that is used by the Microsoft SharePoint Directory Management Service.

Service requirements for session state

Both Project Server 2010 and InfoPath Forms Services maintain session state. If you are deploying these features or products within your server farm, do not disable the ASP.NET State service. Additionally, if you are deploying InfoPath Forms Services, do not disable the View State service.

SharePoint 2010 Products services

Do not disable services that are installed by SharePoint 2010 Products (listed in the snapshot previously).

If your environment disallows services that run as a local system, you can consider disabling the SharePoint 2010 Administration service only if you are aware of the consequences and can work around them. This service is a Win32 service that runs as a local system.

This service is used by the SharePoint 2010 Timer service to perform actions that require administrative permissions on the server, such as creating Internet Information Services (IIS) Web sites, deploying code, and stopping and starting services. If you disable this service, you cannot complete deployment-related tasks from the Central Administration site. You must use Windows PowerShell to run the Start-SPAdminJob cmdlet (or use the Stsadm.exe command-line tool to run the execadmsvcjobs operation) to complete multiple-server deployments for SharePoint 2010 Products and to run other deployment-related tasks.

Web.config file

The .NET Framework, and ASP.NET in particular, use XML-formatted configuration files to configure applications. The .NET Framework relies on configuration files to define configuration options. The configuration files are text-based XML files. Multiple configuration files can, and typically do, exist on a single system.

System-wide configuration settings for the .NET Framework are defined in the Machine.config file. The Machine.config file is located in the %SystemRoot%\Microsoft.NET\Framework\%VersionNumber%\CONFIG\ folder. The default settings that are contained in the Machine.config file can be modified to affect the behavior of applications that use the .NET Framework on the whole system.

You can change the ASP.NET configuration settings for a single application if you create a Web.config file in the root folder of the application. When you do this, the settings in the Web.config file override the settings in the Machine.config file.

When you extend a Web application by using Central Administration, SharePoint 2010 Products automatically create a Web.config file for the Web application.

The Web server and application server snapshot presented earlier in this article lists recommendations for configuring Web.config files. These recommendations are intended to be applied to each Web.config file that is created, including the Web.config file for the Central Administration site.

For more information about ASP.NET configuration files and editing a Web.config file, see ASP.NET Configuration (http://go.microsoft.com/fwlink/p/?LinkID=73257).

See Also

Other Resources

Resource Center: Security and Authentication for SharePoint Server 2010


Plan automatic password change (SharePoint Server 2010)
See Also

Published: May 29, 2010

To simplify password management, the automatic password change feature enables you to update and deploy passwords without having to perform manual password update tasks across multiple accounts, services, and Web applications. You can configure the automatic password change feature to determine if a password is about to expire and reset the password using a long, cryptographically-strong random string. To implement the automatic password change feature, you have to configure managed accounts.

In this article:

  • Configuring managed accounts

  • Resetting passwords automatically on a schedule

  • Detecting password expiration

  • Resetting the account password immediately

  • Synchronizing SharePoint Foundation account passwords with Active Directory Domain Services

  • Resetting all passwords immediately

  • Credential change process

Configuring managed accounts

Microsoft SharePoint Server 2010 supports the creation of managed accounts to improve security and ensure application isolation. Using managed accounts, you can configure the automatic password change feature to deploy passwords across all services in the farm. You can configure SharePoint Web applications and services, running on application servers in a SharePoint farm, to use different domain accounts. You can create multiple accounts in Active Directory Domain Services (AD DS), and then register each of these accounts in SharePoint Server 2010. You can map managed accounts to various services and Web applications in the farm.

Resetting passwords automatically on a schedule

Prior to the implementation of the automatic password change feature, updating passwords required resetting each account password in AD DS and then manually updating account passwords on all of the services running on all the computers in the farm. To do this, you had to run the Stsadm command-line tool or use the SharePoint Central Administration Web application. Using the automatic password change feature, you can now register managed accounts and enable SharePoint Server 2010 to control account passwords. Users have to be notified about planned password changes and related service interruptions, but the accounts used by a SharePoint farm, Web applications, and various services can be automatically reset and deployed within the farm as necessary, based on individually configured password reset schedules.

Detecting password expiration

IT departments typically impose a policy requiring that all domain account passwords be reset on a regular basis, for example, every 60 days. SharePoint Server 2010 can be configured to detect imminent password expiration, and send an e-mail notification to a designated administrator. Even without administrator intervention, SharePoint Server 2010 can be configured to generate and reset passwords automatically. The automatic password reset schedule is also configurable to ensure that the impact of possible service interruptions during a password reset will be minimal.

Resetting the account password immediately

You can always override any automatic password reset schedule and force an immediate service account password reset, using a specific password value. In this scenario, the password for the service account can also be changed in AD DS by SharePoint Server 2010. The new password is then immediately propagated to other servers in the farm.

Synchronizing SharePoint Foundation account passwords with Active Directory Domain Services

If AD DS and SharePoint Server 2010 account passwords are not synchronized, services in the SharePoint farm will not start. If an Active Directory administrator changes an Active Directory account password without coordinating the password change with a SharePoint administrator, there is a risk of service interruptions. In this scenario, a SharePoint administrator can immediately reset the password from the Account Management page using the password value that was changed in AD DS. The password is updated and immediately propagated to the other servers in the SharePoint farm.

Resetting all passwords immediately

If an administrator suddenly leaves your organization, or if the service account passwords need to be immediately reset for any other reason, you can quickly create a Windows PowerShell script that calls the password change cmdlets. You can use the script to generate new random passwords and deploy the new passwords immediately.

Credential change process

When SharePoint Server 2010 changes the credentials for a managed account, the credential change process will occur on one server in the farm. Each server in the farm will be notified that the credentials are about to change and servers can perform critical pre-change actions, if necessary. If the account password has not yet been changed, then SharePoint Server 2010 will attempt to change the password using either a manually entered password, or a long, cryptographically-strong random string. The complexity settings will be queried from the appropriate policy (network or local), and the generated password will be equivalent to the detected settings. SharePoint Server 2010 will attempt to commit a password change. If it is unable to commit the password change, it will retry, using a new sequence, for a specified number of times. If the account password update process succeeds, it will proceed to the next dependent service, where it will again attempt to commit a password change. If it does not ultimately succeed, each dependent service will be notified that they can resume normal activity. Either success in committing a password change or failure to commit will result in the generation of an automated password change status notification that will be sent by e-mail to farm administrators.

See Also

Concepts

Configure automatic password change (SharePoint Server 2010)


Plan security hardening for extranet environments (SharePoint Server 2010)
See Also

Published: November 1, 2011

This article describes the security hardening requirements for an extranet environment in which a server running Microsoft SharePoint Server 2010 is placed inside a perimeter network and content is available from the Internet or from the corporate network.

Although the hardening guidance was written for a back-to-back perimeter network topology, much of the information in this article can be applied to many different extranet configurations.

In this article:

  • Extranet hardening planning tool

  • Network topology

  • Domain trust relationships

  • Communication with server-farm roles

  • Communication with infrastructure server roles

  • Requirements to support document conversions

  • Communication between network domains

  • Connections to external servers

For additional information about supported extranet topologies and security hardening, see the following articles:

  • Extranet topologies for SharePoint 2010 Products: Model

  • Plan security hardening (SharePoint Server 2010)

  • Harden SQL Server for SharePoint environments (SharePoint Server 2010)

Extranet hardening planning tool

The following planning tool is available for use with this article: Extranet hardening planning tool: back-to-back perimeter (SharePoint Server 2010) (http://go.microsoft.com/fwlink/p/?LinkId=231272). Based on the back-to-back perimeter topology, this tool articulates the port requirements for each of the network firewalls, and each of the routers or firewalls within the perimeter network. This tool is an editable Microsoft Visio 2010 file that you can revise for your environment. For example, you can modify the tool in the following ways:

  • Add your custom port numbers, where applicable.

  • Indicate which ports you will use when a choice of protocols or ports is provided.

  • Indicate the specific ports that are used for database communication in your environment.

  • Add or remove requirements for ports based on one or more of the following criteria:

    • Whether you are configuring e-mail integration.

    • The layer on which you deploy the query role.

    • Whether you are configuring a domain trust relationship between the perimeter domain and the corporate domain.

Note:

If you would like to see additional planning tools for other supported extranet topologies, submit a comment on this article to let us know.

Network topology

The following back-to-back perimeter network topology diagram shows an example implementation and illustrates the server and client roles across an extranet environment. The purpose of the diagram is to articulate each of the possible roles and their relationship to the overall environment. The routers in the diagram can be exchanged for firewalls.

Extranet Topology Diagram

Some TCP/IP ports that various services use in this network topology cannot be changed, but ports for a few of the services can be modified. For example: the server running SQL Server in this network topology uses TCP port 1433 by default, but this can be customized. Because many port numbers that are used by these services are published by the Internet Assigned Numbers Authority (IANA), it is a good security hardening practice to change the default port to a custom port and block the default port.

When you choose custom ports for services, you should choose ports in the 1025 through 65535 range because ports from 1 through 1024 are reserved for use by system services. We recommend that you choose a port that is not in the ephemeral port range, which is used by the operating system for dynamic port assignments. The ephemeral port range includes ports 49152 through 65535 for Windows Server 2008.

For more information about the Windows TCP/IP ephemeral port range, see the following Microsoft Knowledgebase article:

929851: The default dynamic port range for TCP/IP has changed in Windows Vista and in Windows Server 2008 (http://go.microsoft.com/fwlink/p/?LinkId=186949)

Domain trust relationships

The requirement for a domain trust relationship depends on how the server farm is configured. This section discusses two possible configurations.

Server farm resides in the perimeter network

The perimeter network requires its own Active Directory Domain Services (AD DS) infrastructure and domain. Typically, the perimeter domain and the corporate domain are not configured to trust each other. However, to authenticate intranet users and remote employees who are using their domain credentials (Windows authentication), you must configure a one-way trust relationship in which the perimeter domain trusts the corporate domain. Claims-based authentication and forms-based authentication do not require a domain trust relationship.

Server farm is split between the perimeter network and the corporate network

If the server farm is split between the perimeter network and the corporate network and the database servers reside inside the corporate network, a domain trust relationship is required if Windows accounts are used. In this scenario, the perimeter network must trust the corporate network. If SQL Server authentication is used, a domain trust relationship is not required. The following table summarizes the differences between these two approaches.

Windows authentication SQL Server authentication

Description

Corporate domain accounts are used for all SharePoint Server 2010 service and administration accounts, including application pool accounts.

A one-way trust relationship, in which the perimeter network trusts the corporate network, is required.

SharePoint Server 2010 accounts are configured in the following ways:

  • SQL Server authentication is used for every database that is created.

  • All other administration and service accounts are created as domain accounts in the perimeter network.

  • Web servers and application servers are joined to the perimeter network.

A trust relationship is not required but can be configured to support client authentication against an internal domain controller.

Note:

If the application servers reside in the corporate domain, a one-way trust relationship, in which the perimeter network trusts the corporate network, is required.

Setup

Setup includes the following processes:

  • SharePoint Server 2010 administration and service accounts are created in the corporate domain.

  • Web servers and application servers are joined to the perimeter network.

  • A trust relationship is established in which the perimeter domain trusts the corporate domain.

Setup includes the following processes:

  • All database accounts must be created as SQL Server login accounts in Microsoft SQL Server 2005 or Microsoft SQL Server 2008 Management Studio. These accounts must be created before the creation of any SharePoint Server 2010 databases, including the configuration database and the SharePoint_AdminContent database.

  • You must use the Psconfig command-line tool to create the configuration database and the SharePoint_AdminContent database. You cannot use the SharePoint 2010 Products Configuration Wizard to create these databases. In addition to using the -user and -password parameters to specify the server farm account, you must use the -dbuser and -dbpassword parameters to specify SQL Server authentication accounts.

  • You can create additional content databases in Central Administration by selecting the SQL authentication option. However, you must first create the SQL Server login accounts in Microsoft SQL Server 2005 or Microsoft SQL Server 2008 Management Studio.

  • Secure all communication with the database servers using Secure Sockets Layer (SSL).

  • Ensure that ports used for communication with SQL Server remain open between the perimeter network and the corporate network.

Additional information

The one-way trust relationship allows the Web servers and application servers that are joined to the extranet domain to resolve accounts that are in the corporate domain.

  • SQL Server login accounts are encrypted in the registry of the Web servers and application servers.

  • The server farm account is not used to access the configuration database and the SharePoint_AdminContent database. The corresponding SQL Server login accounts are used instead.

The information in the preceding table makes the following assumptions:

  • Both the Web servers and the application servers reside in the perimeter network.

  • All accounts are created with the least privileges necessary, including the following recommendations:

    • Separate accounts are created for all administrative and service accounts.

    • No account is a member of the Administrators group on any computer, including the server computer that hosts SQL Server.

If you are using SQL Server authentication, the following SQL Server logins must be created with the following permissions:

  • SQL Server login for the account that is used to run the Psconfig command-line tool The account must be a member of the following SQL Server roles: dbcreator and securityadmin. The account must be a member of the Administrators group on each server on which Setup is run (not the database server).

  • SQL Server login for the server farm account This login is used to create the configuration database and the SharePoint_AdminContent database. The login must include the dbcreator role. The login does not need to be a member of the securityadmin role. The login must be created by using SQL Server authentication. Configure the server farm account to use SQL Server authentication with the password that is specified when you create the SQL Server login for the server farm account login.

  • SQL Server login for the server farm account login for all other databases The login must be created using SQL Server authentication. The login must be a member of the following SQL Server login for the server farm account roles: dbcreator and securityadmin.

For more information about SharePoint Server 2010 accounts, see Plan for administrative and service accounts (SharePoint Server 2010).

For more information about how to use the Psconfig command-line tool to create databases, see Psconfig command-line reference (SharePoint Server 2010).

Communication with server-farm roles

When configuring an extranet environment, it is important to understand how the various server roles communicate within the server farm.

Communication between server roles

The following figure illustrates the communication channels within a server farm. The table directly after the figure indicates the ports and protocols that are represented in the figure. The black arrows indicate which server role initiates communication. For example, the Excel Calculation Services role initiates communication with the database server. The database server does not initiate communication with the Excel Calculation Services role. This is important to know when configuring inbound and outbound communication on a firewall.

Inter-farm communication in SharePoint Server 2010

Callout Ports and protocols

1

Client access (including Information Rights Management (IRM) and search queries); one or more of the following:

  • TCP port 80

  • TCP port 443 (SSL)

  • Custom ports

2

The crawl component processes crawls of content resources, and propagates the resulting index fragment files to query components:

  • TCP Port 32845 (SML/Named Pipes)

3

Windows Communication Foundation (WCF):

  • TCP port 32843

  • TCP port 32844 (SSL)

4

Database communication:

On the Query Server, the query processor (also known as the Search Query and Settings Service) communicates with the following two databases in SQL Server:

  • Search Administration database

  • Property database types

On the Crawl Server, each crawl component is attached to a crawl database in SQL Server. The crawl component adds information such as content resource location and crawl schedules to its associated crawl database.

  • TCP/SSL port 1433 (default) for default instance (customizable)

  • TCP/SSL random port for named instances (customizable)

5

Search crawling —The crawl component on the Crawl Server processes crawls of content resources. Depending on how authentication is configured, SharePoint sites might be extended with an additional zone or Internet Information Services (IIS) site to ensure that the index component can access content; this configuration can result in custom ports.

  • TCP 80

  • TCP 443 (SSL)

  • Custom ports

6

Secure Store Service — The Secure Store Service is an authorization service that runs on an application server. The Secure Store Service provides a database that is used to store credentials. These credentials, which usually consist of a user identity and password, can also contain other fields that you define. For example, Microsoft SharePoint Server 2010 can use the secure store database to store and retrieve credentials for access to external data sources. The Secure Store Service provides support for storing multiple sets of credentials for multiple back-end systems.

For Excel Services, the Secure Store Service can be used to provide access to external data sources in published workbooks. This can be used as a substitute to passing a user's credentials to the data source, a process which often requires configuring Kerberos delegation. Excel Services requires the Secure Store Service if you want to configure an unattended service account for data authentication.

Like all services that are shared across a SharePoint Server 2010 farm, the Secure Store Service requires the following ports:

  • TCP port 32843

  • TCP port 32844 (SSL)

For more information about the Secure Store Service, see Plan the Secure Store Service (SharePoint Server 2010).

For more information about how to share a service across a SharePoint Server 2010 farm, see Share service applications across farms (SharePoint Server 2010).

In the search architecture of SharePoint Server 2010, query requests are sent from the Search Proxy on the Web server to one instance of the Query Processor (also known as the Search Query and Site Settings service) that is running on each Query Server. The Query Processor queries a Query Component from each partition of the search index. The Query Component determines the best results from its index, and returns those items. Although logical components of search in SharePoint Server 2010 can exist on various physical servers, communication from Search Proxy to the Query Processor is done through Windows Communication Foundation (WCF). Communication from the Query Processor to Query Components is done through the Server Message Block (SMB) protocol and named pipes.

Search Query System Logical Architecture

Communication between the Central Administration site and server roles

This section details the port and protocol requirements for communication between an administrator workstation and server roles within the farm. The Central Administration site can be installed on any Web server or application server. Configuration changes that are made through the Central Administration site are communicated to the configuration database. Other server roles in the farm accept configuration changes that are registered in the configuration database during their polling cycles. Consequently, the Central Administration site does not introduce any new communication requirements to other server roles in the server farm.

The following figure illustrates the communication channels from an administrator workstation to the administrative sites and the configuration database.

Administrative Site Communication

The following table describes the ports and protocols that are illustrated in the preceding figure.

Callout Ports and protocols

A

Central Administration site — One or more of the following:

  • TCP 80

  • TCP 443 (SSL)

  • Custom ports

    Note:

    Management of all shared service applications are performed in the Central administration site.

B

Database communication:

  • TCP/SSL port 1433 (default) for default instance (customizable)

  • TCP/SSL random port for named instances (customizable)

Communication with infrastructure server roles

When configuring an extranet environment, it is important to understand how the various server roles communicate within infrastructure server computers.

Active Directory Domain Services domain controller

The following table lists the port requirements for inbound connections from each server role to an Active Directory Domain Services domain controller.

Item | Web Server | Query Server | Excel Calculation Services | Database Server
TCP/UDP 445 (Directory Services) | X | X | X | X
TCP/UDP 88 (Kerberos authentication) | X | X | X | X
TCP/UDP 389 by default (Lightweight Directory Access Protocol [LDAP]) | X1 |  | X1 |
TCP 636 by default (LDAP over TLS/SSL [LDAPS]) | X1 |  | X1 |

1LDAP/LDAPS ports are required for server roles based on the following conditions:

  • Web servers Use LDAP/LDAPS ports if LDAP authentication is configured.

  • Query server Role requires LDAP/LDAPS ports for importing profiles from the domain controllers that are configured as profile import sources, wherever these reside.

SQL Server

The following table lists the port requirements for inbound connections from each server role to a server running SQL Server. Most database connections are on TCP port 1433 by default for the default instance, but this is customizable. (Because TCP port 1433 is a well-known port for accessing a SQL Server, you could configure your server running SQL Server to listen on a different port and block port 1433.) For named instances, you can choose a random port.

Item | Web Server | Query Server | Crawl Server
TCP/UDP 1433 (default) for the default instance (customizable) | X | X | X
TCP/UDP on a custom port for named instances | X | X | X

For more information about security hardening for SQL Server, see Harden SQL Server for SharePoint environments (SharePoint Server 2010).

DNS server

The following table lists the port requirements for inbound connections from each server role to a Domain Name System (DNS) server. In many extranet environments, one server computer hosts both the Active Directory Domain Services domain controller and the DNS server.

Item | Web Server | Query Server | Crawl Server | Database Server
TCP/UDP 53 | X | X | X | X

SMTP service

E-mail integration requires the use of the Simple Mail Transport Protocol (SMTP) service using TCP port 25 on at least one of the front-end Web servers in the server farm. The SMTP service is required for incoming e-mail (inbound connections). For outgoing e-mail, you can either use the SMTP service or route outgoing e-mail through a dedicated e-mail server in your organization, such as a computer running Microsoft Exchange Server.

Item | Web Server | Query Server | Excel Calculation Services | Database Server
TCP port 25 | X |  |  |

Requirements to support document conversions

If you are using document converters on the server, the following services must be installed and started on an application server:

  • Document Conversions Launcher Service

  • Document Conversions Load Balancer Service

You can install these services on the same application server or on separate application servers, depending on the topology that best suits your needs. These services can also be installed on one or more Web servers, if needed. If these services are installed on separate servers, communication between these separate servers must enable these services to communicate with each other.

The following table lists the port and protocol requirements for these services. These requirements do not apply to server roles in the farm that do not have these services installed.

Service | Requirement
Document Conversions Launcher Service | TCP port 8082 (default), customizable for either TCP or SSL
Document Conversions Load Balancer Service | TCP port 8093 (default), customizable for either TCP or SSL

For information about how to configure these services in a server farm, see Configure Document Conversions Load Balancer and Launcher Services (SharePoint Server 2010).

Communication between network domains

Active Directory communication

To use Active Directory Domain Services to support authentication between domains when a domain controller is inside the corporate network requires at least a one-way trust relationship in which the perimeter network trusts the corporate network.

In the example illustrated in the first figure in this article, the following ports are required as inbound connections to Network Firewall B to support a one-way trust relationship:

Service | Ports and protocols
Remote Procedure Call (RPC) | TCP/UDP 135
Lightweight Directory Access Protocol (LDAP) | TCP/UDP 389 by default (customizable)
LDAP over TLS/SSL (LDAPS) | TCP 636 by default (customizable)
Microsoft Global Catalog (MSFT-GC) | TCP 3268
Microsoft Global Catalog over TLS/SSL (MSFT-GC-SSL) | TCP 3269
Domain Name Service (DNS) | TCP/UDP 53
Kerberos | TCP/UDP 88
Microsoft Directory Services (Microsoft-DS) | TCP/UDP 445
Kerberos Administration (Kerberos-Adm) | TCP/UDP 749
Kerberos Version 4 (Kerberos-IV) | TCP port 750

When configuring Firewall B (or an alternate device between the perimeter network and the corporate network), the network relationship must be defined as routed. Do not define the network relationship as Network Address Translation (NAT).

For more information about security hardening requirements related to trust relationships, see the following resources:

  • How to configure a firewall for domains and trusts (http://go.microsoft.com/fwlink/p/?LinkId=83470).

  • Active Directory in Networks Segmented by Firewalls (http://go.microsoft.com/fwlink/p/?LinkID=76147)

Note:

The Microsoft Windows Internet Name Service (WINS) and NETBIOS Name Service are not required for Active Directory communication, nor are they required for SharePoint Server 2010. Therefore, you do not need to open TCP/UDP ports 137 and 1512 on your firewall server unless there is a separate need for those services to be available.

Hardening for content publishing

Content publishing requires one-way communication between the Central Administration site on the source server farm and the Central Administration site on the destination server farm. Hardening requirements are:

  • Port number that is used for the Central Administration site on the destination server farm.

  • TCP 80 or 443 outbound from the source farm (for SOAP and HTTP Post).

When you configure content deployment on the source farm, you specify the account to use to authenticate with the destination farm. A trust relationship between domains is not required to publish content from one domain to the other. However, there are the following two account options for deploying content — one of which does require a domain trust relationship:

  • If the application pool account of the source farm has permissions to Central Administration on the destination farm, select the Use application pool account option. This requires a one-way trust relationship in which the domain of the destination farm trusts the domain of the source farm.

  • You can specify an account manually rather than using the source application pool account. In this case, the account does not have to exist in the network domain of the source farm. Typically, the account is unique to the destination farm. The account can authenticate using Integrated Windows authentication or Basic authentication.

Connections to external servers

Several features of SharePoint Server 2010 can be configured to access data that resides on server computers outside the server farm. If you configure access to data on external server computers, ensure that you enable communication between the appropriate computers. In most cases, the ports, protocols, and services that are used depend on the external resource. For example:

  • Connections to file shares use the File and Printer Sharing service.

  • Connections to external SQL Server databases use the default or customized ports for SQL Server communication.

  • Connections to Oracle typically use OLE DB.

  • Connections to Web services use both HTTP and HTTPS.

  • Connections to a Secure Token Service (STS) for claims-based authentication use HTTPS.

The following table lists features that can be configured to access data that resides on servers outside the server farm.

Feature | Description
Content crawling | You can configure crawl rules to crawl data that resides on external resources, including Web sites, file shares, Exchange public folders, and business data applications. When crawling external data sources, the crawl server communicates directly with these external resources. For more information, see Plan for crawling and federation (Search Server 2010).
Receiving Microsoft Excel workbooks | If Excel Services workbooks connect to any external data sources (for example, Analysis Services and SQL Server), appropriate TCP/IP ports need to be opened for connecting to these external data sources. For more information, see Plan Excel Services data sources and external connections (SharePoint Server 2010).
Microsoft Business Connectivity Services | Microsoft Business Connectivity Services in Microsoft SharePoint Server 2010 provide a method of connecting SharePoint solutions to external data. We recommend to use Secure Sockets Layer or Internet Protocol Security (IPSec) between servers running Microsoft SharePoint Server 2010 and external systems. An exception is that you cannot use SSL when transmitting messages to external systems using the SOAP 1.1 protocol or when connecting to a SQL Server database. However, in those cases you can use IPSec to protect the data exchange. For more information, seeBusiness Connectivity Services security overview (SharePoint Server 2010).

See Also

Concepts

Plan security hardening (SharePoint Server 2010)
Claims-based authentication with Microsoft UAG 2010 (SharePoint Server 2010)
Harden SQL Server for SharePoint environments (SharePoint Server 2010)

Other Resources

Windows Server 2008 Security Guide, Chapter 6: Hardening Web Services (http://go.microsoft.com/fwlink/p/?LinkId=140462)


Performance and capacity management (SharePoint Server 2010)

Performance and capacity planning is the process of mapping your solution design for Microsoft SharePoint Server 2010 to a farm size and set of hardware that will support your business goals.

product logo for Microsoft Project Relevant performance and capacity planning articles for Project Server 2010 are available in the Project Server document library at Plan for performance and capacity (Project Server 2010).

The articles in this section include:

  • Capacity management and sizing overview for SharePoint Server 2010

    This article walks you through the concepts involved in capacity management and sizing SharePoint 2010 farms, and provides an overview of the planning process.

  • Capacity planning for SharePoint Server 2010

    This article provides detailed steps and procedures for planning the capacity of SharePoint 2010 farms.

  • Monitoring and maintaining SharePoint Server 2010

    This article provides information about how to maintain and monitor the performance of SharePoint 2010 farms.

  • Performance testing for SharePoint Server 2010

    This article provides guidelines for testing the performance of SharePoint 2010 farms.

  • SharePoint Server 2010 capacity management: Software boundaries and limits

    This article provides a starting point for planning the performance and capacity of your system. This article includes performance and capacity testing results and guidelines for acceptable performance.

  • Performance and capacity technical case studies (SharePoint Server 2010)

    This article provides links to key technical case study articles that contain performance and capacity details for specific environments running SharePoint Server 2010.

  • Performance and capacity test results and recommendations (SharePoint Server 2010)

    This article provides links to articles that provide test results and recommendations for specific feature sets in SharePoint Server 2010.

  • Storage and SQL Server capacity planning and configuration (SharePoint Server 2010)

    This article describes a process for planning storage and SQL Server capacity for a SharePoint Server 2010 deployment.

The following resources can also be helpful for capacity planning:

  • Hardware and software requirements (SharePoint Server 2010)

  • Capacity planning downloadable book

  • Technical diagrams:

    • Topologies for SharePoint Server 2010

    • Search Architectures for Microsoft SharePoint Server 2010

    • Design Search Architectures for Microsoft SharePoint Server 2010

    • Search Environment Planning for Microsoft SharePoint Server 2010

    To download these models, see Technical diagrams (SharePoint Server 2010).


Capacity management and sizing for SharePoint Server 2010

The articles in this section help you to make the following decisions regarding the appropriate capacity for your Microsoft SharePoint Server 2010 environment:

  • Understand the concepts behind effective capacity management.

  • Define performance and capacity targets for your environment.

  • Select the appropriate data architecture.

  • Choose hardware to support the number of users and the features you intend to deploy.

  • Test, validate, and adjust your environment to achieve your performance and capacity targets.

  • Monitor and adjust your environment to match demand.

In this section:

  • Capacity management and sizing overview for SharePoint Server 2010

  • Capacity planning for SharePoint Server 2010

  • Performance testing for SharePoint Server 2010

  • Monitoring and maintaining SharePoint Server 2010


Capacity management and sizing overview for SharePoint Server 2010
See Also

Published: June 17, 2010

This article provides an overview of how to effectively plan and manage the capacity of Microsoft SharePoint Server 2010 environments. This article also describes how to maintain a good understanding of the capacity needs and capabilities of your deployment, by analysis of performance and volume data. It also reviews the major application impacts that affect capacity, including content characteristics and usage.

Capacity management is an ongoing process, because no implementation remains static with regard to content and usage. You need to plan for growth and change, so that your SharePoint Server 2010-based environment can continue to deliver an effective business solution.

Capacity Planning is only one part of the capacity management cycle. It is the initial set of activities that brings the design architect to the point where there is an initial architecture that the architect believes will best serve the SharePoint Server 2010 deployment. The capacity management model includes additional steps to help you validate and tune the initial architecture, and provides a feedback loop for re-planning and optimizing the production environment until it can support design goals with optimal choices of hardware, topology, and configuration.

In this article:

  • Glossary

  • Who should read capacity management articles?

  • Four fundamentals of performance

  • Capacity management versus capacity planning

  • Oversizing versus undersizing

  • Software limits and boundaries

  • Key differences: SharePoint Server 2010 versus Office SharePoint Server 2007

  • SharePoint Server 2010 deployment key differentiators

  • Reference architectures

Glossary

The following specialized terms are used in SharePoint Server 2010 capacity management documentation.

  • RPS Requests per second. The number of requests received by a farm or server in one second. This is a common measurement of server and farm load. The number of requests processed by a farm is greater than the number of page loads and end-user interactions. This is because each page contains several components, each of which creates one or more requests when the page is loaded. Some requests are lighter than other requests with regard to transaction costs. In our lab tests and case study documents, we remove 401 requests and responses (authentication handshakes) from the requests that were used to calculate RPS because they have insignificant impact on farm resources.

  • Peak hours The time or times during the day when load on the farm is at its maximum.

  • Peak load The average maximum daily load on the farm, measured in RPS.

  • Load spike Transient load peaks that fall outside usual peak hours. These can be caused by unplanned increases in user traffic, decreased farm throughput because of administrative operations, or combinations of such factors.

  • Scale up To scale up means to add resources such as processors or memory to a server.

  • Scale out To scale out means to add more servers to a farm.

Who should read capacity management articles?

Consider the following questions to determine whether you should read this content.

Evaluating SharePoint Server 2010

I am an IT pro or business decision maker, and I am looking for a solution to specific business problems. SharePoint Server 2010 is an option for my deployment. Can it provide features and scalability that meet my specific requirements?

For information about how SharePoint Server 2010 scales to meet the demands of specific solutions and how to determine the hardware that will be required to support your requirements, see the following sections later in this article:

  • Key differences: SharePoint Server 2010 versus Office SharePoint Server 2007

  • Software limits and boundaries

For information about how to evaluate SharePoint Server 2010 for your specific business requirements, see the following articles:

  • Product evaluation for SharePoint Server 2010

  • SharePoint Server 2010 capacity management: Software boundaries and limits

Upgrading from Office SharePoint Server 2007

I am currently using Office SharePoint Server 2007. What has changed in SharePoint Server 2010, and what do I have to consider if I upgrade? What effect will the upgrade have on my topology's performance and scale?

For information about how performance and capacity factors are different for Office SharePoint Server 2007 and SharePoint Server 2010, see the following section later in this article:

  • Key differences: SharePoint Server 2010 versus Office SharePoint Server 2007

For information about more general upgrade considerations and guidance on how to plan and execute an upgrade from Office SharePoint Server 2007, see the following article:

  • Upgrading to SharePoint Server 2010

Tuning and optimizing a live SharePoint-based environment

I have deployed SharePoint Server 2010, and I want to make sure I have the appropriate hardware and topology in place. How do I validate my architecture and maintain it correctly?

For information about monitoring and performance counters for Microsoft SharePoint Server 2010 farms, see the following article:

  • Monitoring and maintaining SharePoint Server 2010

For information about how to use the health monitoring tools built into the Central Administration interface, see the following article:

  • Health monitoring (SharePoint Server 2010)

I have deployed SharePoint Server 2010, and I am experiencing performance issues. How do I troubleshoot and optimize my environment?

For information about monitoring and performance counters for Microsoft SharePoint Server 2010 farms, see the following article:

  • Monitoring and maintaining SharePoint Server 2010

For information about troubleshooting by using the health monitoring tools built into the Central Administration interface, see the following article:

  • Solving problems and troubleshooting (SharePoint Server 2010)

For a list of capacity management articles that are available for many specific SharePoint Server 2010 services and features (more articles will be added as they become available), see the following article:

  • Performance and capacity test results and recommendations (SharePoint Server 2010)

For information about database sizing and performance, see the following article:

  • Storage and SQL Server capacity planning and configuration (SharePoint Server 2010)

For information about Remote BLOB Storage (RBS), see the following article:

  • Plan for RBS (SharePoint Server 2010)

Beginning to end

I want to know everything about SharePoint Server 2010 capacity management. Where do I start?

For information about the general concepts behind capacity management and links to additional documentation and resources, see the following article:

  • Performance and capacity management (SharePoint Server 2010)

For additional information about capacity management, see the following companion articles to this overview article:

  • Capacity planning for SharePoint Server 2010

  • Performance testing for SharePoint Server 2010

  • Monitoring and maintaining SharePoint Server 2010

You should now have a good understanding of the concepts. For information the limits and boundaries of SharePoint Server 2010, see the following article:

  • SharePoint Server 2010 capacity management: Software boundaries and limits

When you are ready to identify a starting point topology for your SharePoint Server 2010-based environment, you can look through the library of available technical case studies to find the one that most closely matches your requirements. For a list of the case studies (more case studies will be added as they become available), see the following article:

  • Performance and capacity technical case studies (SharePoint Server 2010)

For a list of capacity management articles that are available for many specific SharePoint Server 2010 services and features (more articles will be added as they become available), see the following article:

  • Performance and capacity test results and recommendations (SharePoint Server 2010)

For information about database sizing and performance, see the following article:

  • Storage and SQL Server capacity planning and configuration (SharePoint Server 2010)

For information about Remote BLOB Storage (RBS), see the following article:

  • Plan for RBS (SharePoint Server 2010)

For information about health monitoring and troubleshooting by using the health monitoring tools built into the Central Administration interface, see the following articles:

  • Health monitoring (SharePoint Server 2010)

  • Solving problems and troubleshooting (SharePoint Server 2010)

For information about general performance tuning guidelines and a variety of specific performance and capacity subjects (more articles will be added as they become available), see the following article:

  • Use search administration reports (SharePoint Server 2010)

For more information about how to virtualize SharePoint Server 2010-based servers, see the following article:

  • Virtualization planning for on-premise or hosted technologies (SharePoint Server 2010)

Four fundamentals of performance

Capacity management focuses on the following four major aspects of sizing your solution:

  • Latency For the purposes of capacity management, latency is defined as the duration between the time that a user initiates an action, such as clicking a hyperlink, and the time until the last byte is transmitted to the client application or Web browser.

  • Throughput Throughput is defined as the number of concurrent requests that a server or server farm can process.

  • Data scale Data scale is defined as the content size and data corpus that the system can host. The structure and distribution of the content databases has a significant effect on the time it takes the system to process requests (latency) and the number of concurrent requests it can serve (throughput).

  • Reliability Reliability is a measurement of the ability of the system to meet the targets set for the latency and throughput over time.

The main goal of managing your environment's capacity is to establish and maintain a system that meets your organization's latency, throughput, data scale, and reliability targets.

Latency

Latency, also known as end-user perceived latency, is composed of three major components:

  • The time it takes the server to receive and process the request.

  • The time it takes the request and the server response to transfer over the network.

  • The time it takes the response to render on the client application.

Different organizations define different latency goals based on business requirements and user expectations. Some organizations can afford latency of several seconds, whereas other organizations require very fast transactions. Optimizing for very fast transactions is usually more costly, and usually requires more powerful clients and servers, more recent browser and client application versions, high-bandwidth network solutions, and possibly development investments and page tuning.

Some major factors that contribute to longer end-user perceived latencies, and examples of some common problems, are described in the following list. These factors are especially relevant in scenarios where the clients are geographically distant from the server farm, or are accessing the farm across a low-bandwidth network connection.

  • Features, services, or configuration parameters that are not optimized might delay the processing of requests and impact latency for both remote and local clients. For more information, see Throughput and Reliability later in this article.

  • Web pages that generate unnecessary requests to the server to download required data and resources. Optimization would include downloading the minimum number of resources to draw the page, reducing the sizes of images, storing the static resources in folders that enable anonymous access, clustering requests and enabling page interactivity while resources are downloaded asynchronously from the server. These optimizations are important for achieving an acceptable first time visit browse experience.

  • Excessive volume of data being transmitted over the network contributes to latency and throughput degradation. For example, images and other binary objects on a page should use a compressed format such as .png or .jpg instead of bitmaps when possible.

  • Web pages that are not optimized for second-access page loads. Page Load Time (PLT) improves for second-access page loads because some page resources are cached on the client, and the browser must only download dynamic uncached content. Unacceptable second-access page load latencies are often caused by incorrect Binary Large Object (BLOB) cache configuration or local browser caching being disabled on client computers. Optimizations would include correct caching of resources on the client.

  • Web pages that have non-optimized custom JavaScript code. This might slow rendering of the page on the client. Optimization would delay JavaScript from being processed on the client until the rest of the page has loaded, and preferably calling scripts instead of adding JavaScript inline.

Throughput

Throughput is described by the number of requests that a server farm can process in a unit of time, and is also often used to measure the scale of operations that the system is expected to sustain based on the size of the organization and its usage characteristics. Every operation has a specific cost in server farm resources. Understanding the demand and deploying a farm architecture that can consistently satisfy demand requires estimating the expected load, and testing the architecture under load to validate that latency does not fall below target when concurrency is high and the system is under stress.

Some common examples of low throughput conditions include the following:

  • Inadequate hardware resources When the farm receives more requests than it can process concurrently, some requests are queued, which cumulatively delays the processing of each subsequent request until demand is reduced enough for the queue to be cleared. Some examples of optimizing a farm to sustain higher throughput include the following:

    • Ensure that the processors on farm servers are not over-utilized. For example, if CPU usage during peak hours or load spikes consistently exceeds 80 percent, add more servers or redistribute services to other farm servers.

    • Ensure that there is sufficient memory on application servers and Web servers to contain the complete cache. This will help to avoid calls to the database to serve requests for uncached content.

    • Ensure that database servers are free of bottlenecks. If total available disk IOPS are insufficient to support peak demand, add more disks or redistribute databases to underutilized disks. See the Removing Bottlenecks section of the Monitoring and Maintaining SharePoint Server 2010 Products and Technologies article for more information.

    • If adding resources to existing computers is insufficient to resolve throughput issues, add servers and redistribute affected features and services to the new servers.

  • Non-optimized custom Web pages Adding custom code to frequently used pages in a production environment is a common cause of throughput issues. Adding custom code might generate additional round trips to the database servers or Web services to service data requests. Customization of infrequently used pages might not significantly impact throughput, but even well-optimized code can decrease farm throughput if it is requested thousands of times a day. SharePoint Server administrators can enable the Developer Dashboard to identify custom code that requires optimization. Some examples of optimizing custom code include the following:

    • Minimize the number of Web service requests and SQL queries.

    • Fetch the minimum required data in each trip to the database server while minimizing the number of necessary round trips.

    • Avoid adding custom code to frequently used pages.

    • Use indexes when you are retrieving a filtered amount of data.

  • Untrusted solutions Deploying custom code in bin folders can cause slow server performance. Every time that a page that contains untrusted code is requested, SharePoint Server 2010 must perform security checks before the page can be loaded. Unless there is a specific reason to deploy untrusted code, you should install custom assemblies in the GAC to avoid unnecessary security checking.

Data scale

Data scale is the volume of data the server or server farm can store while meeting latency and throughput targets. Generally, the greater the data volume on the farm, the greater the impact on overall throughput and user experience. The method that is used to distribute data across disks and database servers can also affect farm latency and throughput.

Database sizing, data architecture, and sufficient database server hardware are all very important to an optimal database solution. In an ideal deployment, content databases are sized according to limits guidance and are distributed across physical disks so that requests are not queued because of disk overutilization, and database servers are able to support peak loads and unexpected spikes without exceeding resource utilization thresholds.

Also, certain operations can lock certain tables during the operation. An example of this is large site deletion, which can cause the related tables in the content database where the site resides to be locked until the delete operation is completed.

Some examples of optimizing a farm for data and storage performance include the following:

  • Ensure that databases are properly distributed across the database servers, and that database server resources are sufficient to support the volume and distribution of data.

  • Separate database volumes into unique Logical Units (LUNs), consisting of unique physical disk spindles. Use multiple disks that have low seek time and appropriate RAID configurations to satisfy database server storage demands.

  • You can use Remote BLOB Storage (RBS) if your corpus contains many Binary Large Objects (BLOBs). RBS can provide the following benefits:

    • BLOB data can be stored on less expensive storage devices that are configured to handle simple storage.

    • The administration of the BLOB storage is controlled by a system that is designed specifically to work with BLOB data.

    • Database server resources are freed for database operations.

    These benefits are not free. Before you implement RBS with SharePoint Server 2010, you should evaluate whether these potential benefits override the costs and limitations of implementing and maintaining RBS.

    For more information, see Plan for RBS (SharePoint Server 2010).

For more information about how to plan data scale, see Storage and SQL Server capacity planning and configuration (SharePoint Server 2010).

Reliability

Reliability is the aggregate measurement of the server farm's capacity to meet established latency, throughput, and data capacity targets over time. A reliable farm is one for which uptime, responsiveness, failure rate, and frequency and amplitude of latency spikes are within established targets and operational requirements. A reliable farm can also consistently sustain latency and throughput targets during peak load and peak hours, or when system operations such as crawling or daily backups take place.

A major factor in sustaining reliability is the effect of common administrative operations on performance targets. During certain operations, such as rebuilding the database indexes, maintenance timer jobs, or deleting multiple sites that have large volume of content, the system might be unable to process user requests as quickly. In this case, both latency and throughput of end-user requests can be affected. The impact on the farm depends on the frequency and transaction cost of such less common operations, and whether they are run during normal operating hours.

Some examples of how to sustain a more reliable system include the following:

  • Schedule resource-intensive timer jobs and administrative tasks during off-peak hours.

  • Scale up hardware on existing farm servers, or scale out by adding Web servers, application servers or additional database servers.

  • Distribute resource-intensive services and features to dedicated servers. You can also use a hardware load balancer to direct feature-specific traffic to a Web server dedicated to specific features or services.

Capacity management versus capacity planning

Capacity management extends the concept of capacity planning to express a cyclical approach in which the capacity of a SharePoint Server 2010 deployment is continually monitored and optimized to accommodate changing conditions and requirements.

SharePoint Server 2010 offers increased flexibility and can be configured to sustain usage scenarios in a wide variety of different scale points. There is no single deployment architecture. Therefore, system designers and administrators must understand the requirements for their specific environments.

SharePoint Server 2010 capacity management model

SharePoint Capacity Management Model

  • Step 1: Model Modeling is the process by which you decide the key solutions that you want your environment to support, and establish all important metrics and parameters. The output of the modeling exercise should be a list of all the key data that you need to design your environment.

    • Understand your expected workload and dataset.

    • Set farm performance and reliability targets.

    • Analyze the SharePoint Server 2010 IIS logs.

  • Step 2: Design Once you have collected the data from Step 1, you can design your farm. Outputs are detailed data architecture and physical and logical topologies.

    • Determine your starting point architecture.

    • Select your hardware.

  • Step 3: Pilot, Test, and Optimize If you have designed a new deployment, you need to deploy a pilot environment for testing against your workload and expected usage characteristics. For an existing farm, testing is advised when major changes are being made to the infrastructure, but regular optimization based on monitoring results might be necessary to maintain performance targets. The output from this phase is analysis of test results against targets, and an optimized architecture able to sustain established performance and capacity targets.

    • Pilot Deploy a pilot environment.

    • Test Test against latency and throughput targets.

    • Optimize Gather test results and make any required changes to the farm resources and topology.

  • Step 4: Deploy This step describes implementing the farm, or deploying changes to an existing farm. Output for a new design is a completed deployment to live production, including all content and user migrations. Output for an existing farm is revised farm maps and updates to maintenance plans.

  • Step 5: Monitor and maintain This step describes how to set up monitoring, and how to predict and identify bottlenecks and perform regular maintenance and bottleneck mitigation activities.

Oversizing versus undersizing

Oversizing describes an approach to farm design in which targets are achieved without full utilization of hardware, and the resources in the SharePoint Server farm are significantly and consistently underutilized. In an oversized deployment, memory, CPU, and other indicators on the farm's resources show that it can well serve the demand with fewer resources. The downside of oversizing is increased hardware and maintenance expenditures and can impose greater power and space demands.

Undersizing describes an approach to farm design in which performance and capacity targets are not achievable because hardware resources in the SharePoint Server farm are over-utilized. Undersizing a farm is sometimes done to reduce hardware costs, but generally results in high latency leading to a poor user experience, low satisfaction, frequent escalations, high support costs, and unnecessary spending for troubleshooting and tuning the environment.

When you design your farm, make sure that your farm can meet established performance and capacity targets, both under regular peak load and unexpected spikes. Design, testing, and optimization will help you ensure that your farm has the correct hardware.

To maintain performance targets and accommodate growth, it is always more desirable to have more resources than you need to meet your targets. The cost of overinvestment in hardware is usually far less than the cumulative expenses related to troubleshooting problems cause by undersizing.

You should always size a system to respond adequately during peak demand, which might be different for specific services at different times. To effectively estimate capacity requirements, you need to identify the worst case demand period for all resources. There might be increased load on various features and services at certain times of the day, such as first thing in the morning or after lunch.

The farm also must be able to support unplanned peaks, such as when organization-wide announcements are made and an unusually high number of users access a site at the same time. During such periods of high demand, users will experience high latency or not get a response from the farm at all unless sufficient farm resources are available to satisfy the increased load on the farm.

Farm capacity should also be revisited when additional users will be provisioned in the enterprise. Situations such as a merger or acquisition characterized by new employees or members accessing the farm can have adverse effects on performance if not planned and estimated in advance.

Operational states: Green Zone and Red Zone

When we describe the load of a production system, we refer to two major operational states: the "Green Zone" state in which the system is operating under the normal, expected load range, and the "Red Zone" state, which is a state in which the farm experiences very high transient resource demand that can only be sustained for limited periods until failures and other performance and reliability issues occur.

Green Zone This is the state at which the server or farm is operating under normal load conditions, up to expected daily peak loads. A farm operating in this range should be able to sustain response times and latency within acceptable parameters.

Red Zone The operating range in which load is greater than normal peak load, but can still service requests for a limited period. This state is characterized by greater than normal latency and possible failures caused by saturation of system bottlenecks.

The ultimate goal of farm design is to deploy an environment that can consistently support Red Zone load without service failure and within acceptable latency and throughput targets.

Software limits and boundaries

In SharePoint Server 2010, there are certain limits that are by design and cannot be exceeded, and other limits that are set to default values that can be changed by the farm administrator. There are also certain limits that are not represented by a configurable value, such as the number of site collections per Web application.

Boundaries are absolute limits that cannot be exceeded by design. It is important to understand these limits to ensure that you do not make incorrect assumptions when you design your farm.

An example of a boundary is the 2 GB document size limit. You cannot configure SharePoint Server 2010 to store documents that are larger than 2 GB. This is a built-in absolute value, and cannot be exceeded by design.

Thresholds are those that have a default value that cannot be exceeded unless the value is modified. Thresholds can, in certain circumstances, be exceeded to accommodate variances in your farm design. However, it is important to understand that doing this might affect the performance of the farm and the effective value of other limits.

The default value of certain thresholds can only be exceeded up to an absolute maximum value. A good example is the document size limit again. By default, the document size limit is set to 50 MB, but can be changed to a maximum value of 2 GB.

Supported limits define the tested value for a given parameter. The default values for these limits were defined by testing, and represent the known limitations of the product. Exceeding supported limits could cause unexpected results, significant performance degradation, or other detrimental effects.

Some supported limits are configurable parameters that are set by default to the recommended value, whereas other limits relate to parameters that are not represented by a configurable value.

An example of a supported limit is the number of site collections per Web application. The supported limit is the largest number of site collections per Web application that met performance benchmarks during testing.

It is important to note that many of the limit values that are provided in this document represent a point in a curve that describes an increasing resource load and concomitant performance degradation as the value increases. Therefore, exceeding certain limits, such as the number of site collections per Web application, might only result in a fractional decrease in farm performance. However, in most cases, operating at or near an established limit is not a best practice, as acceptable performance and reliability targets are best achieved when a farm's design provides for a reasonable balance of limits values.

Thresholds and supported limits guidelines are determined by performance. In other words, you can exceed the default values of the limits, but as you increase the limit value, farm performance and the effective value of other limits might be affected. Many limits in SharePoint Server 2010 can be changed. However, it is important to understand how changing a given limit affects other parts of the farm.

If you contact Microsoft Customer Support Services about a production system that does not meet the published minimum hardware specifications as described in Hardware and software requirements (SharePoint Server 2010), support will be limited until the system is upgraded to the minimum requirements.

How limits are established

In SharePoint Server 2010, thresholds and supported limits are established through testing and observation of farm behavior under increasing loads up to the point where farm services and operations reach their effective operational limits. Some farm services and components can support a higher load than others. Therefore, in some cases you must assign a limit value that is based on an average of several factors.

For example, observations of farm behavior under load when site collections are added indicate that certain features exhibit unacceptably high latency while other features are still operating within acceptable parameters. Therefore, the maximum value assigned to the number of site collections is not absolute, but is calculated based on an expected set of usage characteristics in which overall farm performance would be acceptable at the given limit under most circumstances.

If other services are operating under parameters that are higher than those used for limits testing, the maximum effective limits of other services will be reduced. Therefore, it is important to execute rigorous capacity management and scale testing exercises for specific deployments to establish effective limits for that environment.

For more information about boundaries and limits and how they affect the capacity management process, see SharePoint Server 2010 capacity management: Software boundaries and limits.

Key differences: SharePoint Server 2010 versus Office SharePoint Server 2007

SharePoint Server 2010 offers a richer set of features and a more flexible topology model than earlier versions. Before you use this more complex architecture to deliver more powerful features and functionality to users, you must carefully consider their effect upon your farm's capacity and performance.

In Office SharePoint Server 2007, there were four major services that you could enable in SSPs (Shared Service Providers): Search Service, Excel Calculation Service, User Profile Service, and the Business Data Catalog Service. Additionally, there was a relatively smaller set of clients that could directly interface with Office SharePoint Server 2007.

In SharePoint Server 2010, there are more available services, known as SSAs (SharePoint Service Applications), and SharePoint Server 2010 offers a much broader range of client applications that can interact with the farm, including several new Office applications, mobile devices, designer tools, and browsers. Some examples of how expanded client interactions impact the capacity considerations include the following:

  • SharePoint Server 2010 includes social applications that integrate with Outlook, which enable Outlook 2010 clients to display information about e-mail recipients that is pulled from the SharePoint Server farm when e-mail messages are viewed in the Outlook client. This introduces a new set of traffic patterns and server load for which should be accounted.

  • Some new Microsoft Office 2010 client capabilities automatically refresh data against the SharePoint Server farm, even when the client applications are open but are not actively being used. Such clients as SharePoint Workspace and OneNote will also introduce some new traffic patterns and server load for which should be accounted.

  • SharePoint Server 2010 new Web interactivity capabilities, such as Office Web Apps, which enable editing of Office files directly from the browser, use AJAX calls that introduce some new traffic patterns and server load which should be considered.

In Office SharePoint Server 2007, the primary client used to interact with the server was the Web browser. Given the richer feature set in SharePoint Server 2010, the overall requests per second (RPS) is expected to grow. Further, the percentage of requests coming from the browser is expected to be smaller than in Office SharePoint Server 2007, which makes room for the growing percent of new traffic coming from other clients as they are widely adopted throughout the organization.

Additionally, SharePoint Server 2010 introduces new functionality such as native embedded video support which can add stress to the farm. Some functionality has also been expanded to support a larger scale than previous versions.

The following section describes these client interactions, services and features, and their overall performance and capacity implications on the system that you should consider when you design your solution.

For more information about how to upgrade to SharePoint Server 2010, see Upgrading to SharePoint Server 2010.

Services and features

The following table provides a simplified high level description of the resource requirements for the different services on each tier. Blank cells indicate that the service does not run on or impact that tier.

X - Indicates minimal or insignificant cost on the resource. The service can share this resource with other services.

XX - Indicates medium cost on the resource. The service could share this resource with other services that have minimal impact.

XXX - Indicates high cost on the resource. The service should generally not share this resource with other services.

For more information about how to plan SQL Server databases, see Storage and SQL Server capacity planning and configuration (SharePoint Server 2010).

For a list of capacity management articles that are available for many specific SharePoint Server 2010 services and features (more articles will be added as they become available), see Performance and capacity test results and recommendations (SharePoint Server 2010).

Service Application | Web server CPU | Web server RAM | Application server CPU | Application server RAM | SQL Server CPU | SQL Server IOPS | SQL Server storage
SharePoint Foundation Service | XXX | XXX |  |  | XX | XXX | XXX
Central Admin service |  |  | XX | XX | X | X | X
Logging Service * | XX | XX |  |  | XX | XXX | XXX
SharePoint Search Service | XXX | XXX | XXX | XXX | XXX | XXX | XXX
Word Viewing Service Application * | X | X | XXX | XX |  |  |
PowerPoint Service * | XX | XX | XXX | XX |  |  |
Excel Calculation Service | XX | X | XX | XXX |  |  |
Visio Service * | X | X | XXX | XXX | X | X | X
Access Service * | X | X | XXX | XX | X | X | X
User Profile Service | X | XX | XX | XX | XXX | XXX | XX
Managed Metadata Service * | X | XX | XX | XX | X | X | XX
Web Analytics Service * | X | X |  |  | XXX | XXX | XXX
Business Connection Service * | XX | XX | XXX | XXX |  |  |
InfoPath Forms Service | XX | XX | XX | XX | X | X | X
Word Conversion Service | X | X | XXX | XX | X | X | X
PerformancePoint Service Application * | XX | XX | XXX | XXX | X | X | X
Project Service * | X | X | X | X | XXX | XXX | XX
Sandboxed Solutions * | X | X | XXX | XXX |  |  |
Workflow capabilities * | XXX | XXX |  |  |  |  |
Timer Service | XX | XX | XX | XX |  |  |
PowerPivot * | X | X | XXX | XXX | XX | XX | XXX
Note:

An asterisk (*) indicates a new service in SharePoint Server 2010.

  • SharePoint Foundation Service The core SharePoint service for content collaboration. In large SharePoint Server deployments, we recommend that you allocate redundant Web servers based on expected traffic load, properly size the SQL Server-based computers that service the content databases, and properly allocate storage based on the size of the farm.

  • Central Admin Service The administration service. This service has relatively small capacity requirements. We recommend that you enable this service on multiple farm servers to ensure redundancy.

  • Logging Service The service that records usage and health indicators for monitoring purposes. This is a write-intensive service, and can require relatively large disk space depending on the number of indicators and the frequency at which they are logged. In large SharePoint Server 2010 deployments, we recommend that you isolate the usage database from the content databases on different SQL Server-based computers.

  • SharePoint Search Service Application The shared service application that provides indexing and querying capabilities. Generally this is a relatively resource intensive service, that can scale to serve very large content deployments. In large SharePoint Server deployments where enterprise search is very important, we recommend that you use a separate "service farm" to host search service applications, with dedicated database resources, use multiple application servers servicing specific search functions (crawl or query), and dedicated target Web servers on the content farms to ensure acceptable throughput for crawling and querying. You can also enable the FAST Service Applications as your Search Service Application. Choose to create one or more FAST Search Connectors for indexing content with FAST Search Server 2010 for SharePoint and create another FAST Search Query (SSA) for querying content that is crawled by the FAST Search Connectors.

  • Word Viewing Service Application Enabling this service lets you view Word documents directly from the browser. This service is added when you install Office Web Apps in addition to SharePoint Server 2010. This service requires an application server to prepare the original files for browser viewing. In large SharePoint Server deployments, we recommend that you scale out the service to multiple application servers for redundancy and throughput.

    Note:

    Browser editing for Word and OneNote are enabled when you install Office Web Apps on the SharePoint Server 2010 farm. However, this feature runs on the farm Web servers and does not use any service applications.

  • PowerPoint Service Application This service displays and lets users edit PowerPoint files directly in the browser, and also enables you to broadcast and share live PowerPoint presentations. This service is added when you install Office Web Apps on SharePoint Server 2010. This service requires an application server to prepare the original files for browser viewing. In large SharePoint Server deployments where this becomes a frequently used capability, we recommend that you deploy multiple application servers to ensure acceptable redundancy and throughput, and add more Web servers when PowerPoint Broadcast is frequently used as well.

  • Excel Calculation Service Application This service displays Excel worksheets directly in the browser and performs Excel calculations on the server. It also enables editing of worksheets directly from the browser when you install Office Web Apps on SharePoint Server 2010. In large SharePoint Server deployments where this becomes a frequently used capability, we recommend that you allocate a sufficient number of application servers that have sufficient RAM to ensure acceptable performance and throughput.

  • PowerPivot for SharePoint The service to display PowerPivot enabled Excel worksheets directly from the browser. In large SharePoint Server deployments where this becomes a frequently used capability, we recommend that you allocate a sufficient number of application servers that have sufficient RAM and CPU to ensure acceptable performance and throughput. For more information, see Hardware and Software Requirements (PowerPivot for SharePoint).

  • Visio Service Application The service to display dynamic Visio diagrams directly in the browser. This service has a dependency on the Session State Service Application, which requires a relatively small SQL Server database. The Visio service requires an application server to prepare the original Visio files for browser viewing. In large SharePoint Server deployments where this becomes a frequently used capability, we recommend that you scale out the service to multiple application servers that have sufficient CPU and RAM to ensure acceptable performance and throughput.

  • Access Service Application The service to host Access solutions inside SharePoint Server 2010. In large SharePoint Server deployments where this becomes a frequently used capability, we recommend that you scale out to multiple application servers that have sufficient RAM for acceptable performance and throughput. The Access service uses SQL Reporting Services, which will require a SQL Server database that can be co-located with other databases.

  • User Profile Service Application The service that powers the social scenarios in SharePoint Server 2010 and enables My Sites, Tagging, Notes, Profile sync with directories and other social capabilities. The profile service requires three relatively resource intensive databases: the synchronization, Profile, and Social Tagging databases. This service is dependent on the Managed Metadata Service Application. In large SharePoint Server deployments, you should consider distributing this service to a shared services farm, and correctly size the database server tier to ensure acceptable performance of the common transactions and directory synchronization jobs.

  • Managed Metadata Service Application The service that powers the central metadata store and allows the syndication of content types across the enterprise. The service can be federated to a dedicated services farm. It requires a database that can be co-located with other databases.

  • Web Analytics Service Application The service that aggregates and stores statistics on the usage characteristics of the farm. This service has relatively high SQL Server resource and storage demands. The service can be federated to a dedicated services farm. In large SharePoint Server deployments, we recommend that you isolate the Web Analytics databases from other very important or resource intensive databases by hosting them on different database servers.

  • Business Connection Service Application The service that enables the integration of various organizational line-of-business applications together with SharePoint Server 2010. This service requires an application service to maintain data connections to external resources. In large SharePoint Server deployments where this is a frequently used capability, we recommend that you allocate a sufficient number of application servers that have sufficient RAM for acceptable performance.

  • InfoPath Forms Service Application The service that enables browser-based forms in SharePoint Server 2010 and the integration with the InfoPath client application for form creation. This service requires an application server and has a dependency on the Session State Service Application, which requires a relatively small database. This service can be co-located with other services and has relatively small capacity requirements that can grow depending on the frequency of use of this capability.

  • Word Automation Service Application The service that enables conversion of Word files from one format, such as .doc, to another format, such as .docx or .pdf. This service requires an application server. In large SharePoint Server deployments where this becomes a frequently used capability, we recommend that you scale out the service to multiple application servers that have sufficient CPU resources to achieve acceptable conversion throughput. This service also requires a relatively small database to maintain the queue of conversion jobs.

  • PerformancePoint Service Application The service that enables PerformancePoint BI capabilities in SharePoint Server 2010 and enables you to create analytic visualizations. This service requires an application server and a database. In large SharePoint Server deployments where this becomes a frequently used capability, we recommend that you allocate sufficient RAM to the application servers for acceptable performance and throughput.

  • Project Service Application The service that enables all the Microsoft Project Server 2010 planning and tracking capabilities in addition to SharePoint Server 2010. This service requires an application server and a relatively resource intensive database. In large SharePoint Server deployments where this is a frequently used capability, you should dedicate a database server for the Project Server database and even consider a dedicated SharePoint Server farm for the Project Server management solutions.

  • Timer Service The process responsible of executing the various scheduled tasks on the different servers in the farm. There are various timer jobs that the system executes, some running on all farm servers, and some running only on specific servers depending on the server's role. Some of these timer jobs are resource intensive and can potentially create load on both the local server and the database servers, depending on their activity and how much content they are operating against. In large SharePoint Server deployments where timer jobs can potentially impact end-user latency, we recommend that you dedicate a server to isolate the execution of the more resource intensive jobs.

  • Workflow The capability that enables integrated workflows in SharePoint Server 2010, and executes workflows on the Web server. Resource utilization is dependent on the complexity of the workflows and the total number of events they handle. In large SharePoint Server deployments where this is a frequently used capability, you should consider adding Web servers or isolating a server to handle only the workflow timer service to ensure end-user traffic is not affected and that workflow operations are not delayed.

  • Sandboxed Solutions The service that enables isolation of custom code to dedicated farm resources. In large SharePoint Server deployments where this becomes a frequently used capability, you should consider dedicating additional Web servers if custom code begins to impact server performance.

New client applications interactions with SharePoint Server 2010

This section describes some new client-server interactions that SharePoint Server 2010 supports and their capacity planning implications.

The following table provides a simplified high level description of the typical load that these new capabilities introduce on the system:

X - Indicates minimal or insignificant load on the system's resources

XX - Indicates medium load on the system's resources

XXX - Indicates high load on the system's resources

Client | Traffic | Payload
Office Web Apps | XXX | XX
PowerPoint Broadcast | XXX | X
Word and PowerPoint 2010 client application | XX | X
OneNote client application | XXX | XXX
Outlook Social Connector | XX | XX
SharePoint Workspace | XXX | XX

  • Office Web Apps Web viewing and editing of Word, PowerPoint, Excel, and OneNote files is a subset of browser requests, with slightly different traffic characteristics, this kind of interaction introduces a relatively high load of traffic necessary for enabling capabilities like co-authoring. In large SharePoint Server deployments where these capabilities are enabled, you should expect additional load on the Web servers.

  • PowerPoint Broadcast The set of requests associated with viewing live PowerPoint presentation in the Web browser is another subset of browser requests. During live PowerPoint broadcast sessions, participating clients request changes from the service. In large SharePoint Server deployments where this is a frequently used capability, you should expect additional load on the Web servers.

  • Word and PowerPoint 2010 client applications The Word and PowerPoint 2010 clients have new features that take advantage of the SharePoint Server farm. One example is document co-authoring, in which all client applications participating in a co-authoring session frequently upload and download updates to and from the server. In large SharePoint Server deployments where this is a frequently used capability, you should expect additional load on the Web servers.

  • OneNote 2010 client application The OneNote 2010 client interacts with the SharePoint Server farm in a similar manner to the previous OneNote version, and uses SharePoint Server 2010 to share and enable co-authoring of OneNote notebooks. This scenario introduces load on SharePoint Server 2010 even when the client is open but not actively being used. In large SharePoint Server deployments where this is a frequently used capability, you should expect additional load on the Web servers.

  • Outlook 2010 client application Outlook 2010 has a new feature — the Outlook Social Connector — that takes advantage of the SharePoint Server farm (this component can be added to previous versions of Outlook as well). This feature enables you to view social activity requested from the SharePoint Server farm directly in e-mails. In large SharePoint Server deployments where this capability is enabled, you should expect additional load on the Web servers.

  • SharePoint Workspace SharePoint Workspace 2010 clients has new features that take advantage of the SharePoint Server farm and enable you to sync Web sites, lists, and document libraries to the client for offline use. SharePoint Workspace 2010 regularly synchronizes with the attached server objects when the client is running, regardless of whether it is actively being used. In large SharePoint Server deployments where this is a frequently used capability, you should expect additional load on the Web servers.

SharePoint Server 2010 deployment key differentiators

Each SharePoint Server 2010 deployment has a key set of characteristics that will make it unique and different from other farms. These key differentiators can be described by these four major categories:

  • Specification Describes the farm's hardware, and the farm topology and configuration.

  • Workload Describes the demand on the farm, including the number of users and the usage characteristics.

  • Dataset Describes content sizes and distribution.

  • Health and performance Describes the farm's performance against latency and throughput targets.

Specifications

Hardware

Hardware is the computer's physical resources such as processors, memory, and hard disks. Hardware also includes physical network components such as NICs (Network Interface Cards), cables, switches, routers and hardware load balancers. Many performance and capacity issues can be resolved by making sure that the correct hardware is being used. Conversely, a single misapplication of a hardware resource, such as insufficient memory on a server, can affect performance across the entire farm.

Topology

Topology is the distribution and interrelationships of farm hardware and components. There are two kinds of topology:

  • Logical topology The map of software components such as services and features in a farm.

  • Physical topology The map of servers and physical resources.

Typically, the number of users and usage characteristics determine the physical topology of a farm, and business requirements such as the need to support specific features for expected load drives the logical topology.

Configuration

We use the term configuration to describe software settings and how parameters are set. Also, configuration refers to caching, RBS, how configurable limits are set, and any part of the software environment that can be set or modified to meet specific requirements.

Workload

Workload defines the key operational characteristics of the farm, including the user base, concurrency, features that are being used, and the user agents or client applications that are used to connect with the farm.

Different SharePoint Server features have different associated costs on the farm's resources. Popularity of more costly features can potentially significantly impact the performance and the health of the system. Understanding your expected demand and usage characteristics will enable you to correctly size your implementation, and reduce the risk of constantly running the system in an unhealthy condition.

User Base

The user base of a SharePoint Server-based application is a combination of the total number of users and how they are geographically distributed. Also, within the total user base, there are subgroups of users who might use given features or services more heavily than other groups. Concurrency of users is defined as the total percentage of users actively using the system at a given time. Indicators that define the user base include the number of total unique users and number of concurrent users.

Usage Characteristics

A farm's performance can be affected not only by the number of users interacting with the system, but also by their usage characteristics. Two organizations that have the same number of users might have significantly different requirements based on how often users access farm resources, and whether resource-intensive features and services are enabled on the farm. Indicators that describe the usage characteristics include the frequency of unique operations, the overall operational mix (the ratio of read and write operations and administrative operations), and the usage patterns and load against new features that are enabled on the farm (such as My Sites, Search, Workflows, and Office Web Apps).

Dataset

The volume of content that is stored in the system and the characteristics of the architecture in which it is stored can have a significant effect on the overall health and performance of the system. Understanding the size, access frequency, and distribution of data will enable you to correctly size the storage in the system and prevent it from becoming the bottleneck that slows down user interactions with farm services and affects the end-user experience.

To correctly estimate and design the storage architecture of a SharePoint Server-based solution, you need to know the volume of data that you will store on the system, and how many users are requesting data from different data sources. The volume of the content is an important element of sizing disk capacity, because it can influence the performance of other features, and can also potentially affect network latency and available bandwidth. Indicators that define the dataset include total size of content, total number of documents, total number of site collections, and average and maximum sizes of site collection.

Health and performance

SharePoint Server farm health is basically a simplified measurement or score that reflects the reliability, stability, and performance of the system. How well the farm performs against targets is basically dependent on the first three differentiators. The health and performance score can be tracked and described by a distillation of a set of indicators. For more information, see Monitoring and maintaining SharePoint Server 2010. These indicators include the system's uptime, end-user perceived latency, page failure rates, and resource utilization indicators (CPU, RAM).

Any significant change in hardware, topology, configuration, workload, or dataset can significantly vary the reliability and responsiveness of the system. The health score can be used to track performance over time and to assess how changing operating conditions or system modifications affect farm reliability.

Reference architectures

SharePoint Server 2010 is a complex and powerful product, and there is no one-size-fits-all architecture solution. Each SharePoint Server deployment is unique, and is defined by its usage and data characteristics. Every organization needs to perform a thorough capacity management process and effectively take advantage of the flexibility that the SharePoint Server 2010 system offers to customize a correctly sized solution that best satisfies the organizational needs.

The concept of reference architectures is meant to describe and illustrate the different major categories of SharePoint Server deployments, and not to provide a recipe for architects to use to design their solutions. This section focuses on describing the vectors on which SharePoint Server deployments usually scale.

The architectures listed here are provided as a useful way to understand the general differentiators between these generic categories, and to distinguish them by general cost factors and scale of effort.

Single server deployment

The single server deployment architecture consists of one server that is running SharePoint Server 2010 and a supported version of SQL Server. This architecture might be appropriate for evaluation purposes, developers or for an isolated non-mission-critical departmental implementation with only a few users. However, we do not recommend its use for a production environment.

Single-server Deployment Model

Small farm deployment

A small farm deployment consists of a single database server or cluster and one or two SharePoint Server 2010-based computers. The major architecture characteristics include limited redundancy and failover, and a minimal set of SharePoint Server capabilities enabled.

A small farm is useful to serve only limited deployments, with a minimal set of service applications enabled, a relatively small user base, a relatively low usage load (a few requests per minute up to very few requests per second), and a relatively small volume of data (10 or more gigabytes).

Small Farm Deployment Model

Medium farm deployment

This architecture introduces the breakdown of the topology into three tiers: dedicated Web servers, dedicated application servers, and one or more database servers or clusters. Separating the front end server tier from the application server tier allows greater flexibility in service isolation and helps balancing the load across the system.

This is the most common architecture, and includes a wide spectrum of service topologies and farm sizes. A medium farm deployment is useful to serve environments that have the following:

  • Several service applications distributed across multiple servers. A typical set of features might include the Office Web Apps Service, User Profile Service, Managed Metadata Service, and Excel Calculation Service.

  • A user base of tens of thousands of users and a load of 10 to 50 requests per second.

  • A data store of one or two terabytes.

Capacity - Medium Farm Deployment Model

Large farm deployment

Large farm deployments introduce the breakdown of services and solutions across multiple farms, and additional scaling out the tiers on a single farm. Several SharePoint Server services can be deployed on a dedicated services farm that serves requests from multiple consuming farms. In these large architectures, there are typically Web servers, multiple application servers, depending on the usage characteristic of each of the local (non-shared) services, and multiple SQL Server-based servers or SQL Server clusters, depending on the content size and the application services databases that are enabled on the farm. Large farm architectures are expected to serve deployments that have the following:

  • Several service applications federated and consumed from dedicated services farm, typically the User Profile Service, Search, Managed Metadata service, and Web Analytics.

  • Most other service applications are enabled locally.

  • A user base in the range of hundreds of thousands of users.

  • A usage load in the range of hundreds of requests per second.

  • A dataset in the range of ten or more terabytes.

Capacity - Large Farm Deployment Model

See Also

Concepts

Capacity planning for SharePoint Server 2010
Performance testing for SharePoint Server 2010
Monitoring and maintaining SharePoint Server 2010
SharePoint Server 2010 capacity management: Software boundaries and limits
Performance and capacity test results and recommendations (SharePoint Server 2010)
Performance and capacity technical case studies (SharePoint Server 2010)
Hardware and software requirements (SharePoint Server 2010)

Other Resources

Resource Center: Capacity Management for SharePoint Server 2010


Capacity planning for SharePoint Server 2010
See Also

Published: June 17, 2010

This article describes how to plan the capacity of a Microsoft SharePoint Server 2010 farm. When you have a good appreciation and understanding of capacity planning and management, you can apply your knowledge to system sizing. Sizing is the term used to describe the selection and configuration of appropriate data architecture, logical and physical topology, and hardware for a solution platform. There is a range of capacity management and usage considerations that affect how you should determine the most appropriate hardware and configuration options.

Before you read this article, you should read Capacity management and sizing overview for SharePoint Server 2010.

In this article, we describe the steps you should take to undertake effective capacity management for your environment. Each step requires certain information for successful execution, and has a set of deliverables that you will use in the subsequent step. For each step, these requirements and deliverables are outlined in tables.

In this article:

  • Step 1: Model

  • Step 2: Design

  • Step 3: Pilot, Test and Optimize

  • Step 4: Deploy

  • Step 5: Monitor and Maintain

Step 1: Model

Modeling your SharePoint Server 2010-based environment begins with analyzing your existing solutions and estimating the expected demand and targets for the deployment you are planning to set up. You start by gathering information about your user base, data requirements, latency and throughput targets, and document the SharePoint Server features you want to deploy. Use this section to understand what data you should collect, how to collect it, and how it can be used in subsequent steps.

Understand your expected workload and dataset

Proper sizing of a SharePoint Server 2010 implementation requires that you study and understand the demand characteristics that your solution is expected to handle. Understanding the demand requires that you be able to describe both the workload characteristics such as number of users and the most frequently used operations, and dataset characteristics such as content size and content distribution.

This section can help you understand some specific metrics and parameters you should collect and mechanisms by which they can be collected.

Workload

Workload describes the demand that the system will need to sustain, the user base and usage characteristics. The following table provides some key metrics that are helpful in determining your workload. You can use this table to record these metrics as you collect them.

Workload Characteristics | Value
Average daily RPS |
Average RPS at peak time |
Total number of unique users per day |
Average daily concurrent users |
Peak concurrent users at peak time |
Total number of requests per day |
Expected workload distribution | No. of Requests per day | %
Web Browser - Search Crawl |  |
Web Browser - General Collaboration Interaction |  |
Web Browser - Social Interaction |  |
Web Browser - General Interaction |  |
Web Browser - Office Web Apps |  |
Office Clients |  |
OneNote Client |  |
SharePoint Workspace |  |
Outlook RSS Sync |  |
Outlook Social Connector |  |
Other interactions(Custom Applications/Web services) |  |

  • Concurrent users - It is most common to measure the concurrency of operations executed on the server farm as the number of distinct users generating requests in a given time frame. The key metrics are the daily average and the concurrent users at peak load.

  • Requests per second (RPS) - RPS is a commonly used indicator used to describe the demand on the server farm expressed in the number of requests processed by the farm per second, but with no differentiation between the type or size of requests. Every organization's user base generates system load at a rate that is dependent on the organization's unique usage characteristics. See the Glossary section in Capacity management and sizing overview for SharePoint Server 2010 for more information on this term.

  • Total daily requests - Total daily requests is a good indicator of the overall load the system will need to handle. It is most common to measure all requests except authentication handshake requests (HTTP status 401) over a 24 hour period.

  • Total daily users - Total users is another key indicator of the overall load the system will need to handle. This measurement is the actual number of unique users in a 24 hour period, not the total number of employees in the organization.

    Note:

    The number of total daily users can indicate the growth potential of the load on the farm. For example, if the number of potential users is 100k employees, 15k daily users indicates that the load may significantly grow over time as user adoption increases.

  • Workload Distribution - Understanding the distribution of the requests based on the clients applications that are interacting with the farm can help predict the expected trend and load changes after migrating to SharePoint Server 2010. As users transition to more recent client versions such as Office 2010, and start using the new capabilities new load patterns, RPS and total requests are expected to grow. For each client we can describe the number of distinct users using it in a time frame of a day, and the amount of total requests that the client or feature generates on the server.

    For example, the chart below shows a snapshot of a live internal Microsoft environment serving a typical social solution. In this example, you can see that the majority of the load is generated by the search crawler and typical end user web browsing. You can also observe that there is significant load introduced by the new Outlook Social Connector feature (6.2 percent of the requests).

    Typical daily load distribution of requests

Estimating your production workload

In estimating the required throughput your farm needs to be able to sustain, begin with estimating the mix of transactions that will be used in your farm. Focus on analyzing the most frequently used transactions the system will serve, understanding how frequently they will be used and by how many users. That will help you validate later whether the farm can sustain such load in pre-production testing.

The following diagram describes the relationship of the workload and load on the system:

Capacity - Workload Diagram

To estimate your expected workload, collect the following information:

  • Identify user interactions such as typical web page browses, file downloads and uploads, Office Web Application views and edits in the browser, co-authoring interactions, SharePoint Workspace site syncs, Outlook Social Connections, RSS sync (in Outlook or other viewers), PowerPoint Broadcasts, OneNote shared notebooks, Excel Service shared workbooks, Access Service shared applications and others. See the Services and Features section of the article Capacity management and sizing overview for SharePoint Server 2010 for more information. Focus on the identifying the interactions that may be unique to your deployment, and recognize the expected impact of such load, examples can be significant use of InfoPath Forms, Excel Service Calculations and similar dedicated solutions.

  • Identify system operations such as Search incremental crawls, daily backups, profile sync timer jobs, web analytics processing, logging timer jobs and others.

  • Estimate the total number of users per day that are expected to utilize each capability, derive the estimated concurrent users and high level Requests per second, there are some assumptions you will be making such as present concurrency and the factor of RPS per concurrent users that is different across capabilities, you should use the workload table earlier in this section for your estimates. It is important to focus on peak hours, rather than average throughput. Planning for peak activity, you are able to proper size your SharePoint Server 2010-based solution.

If you have an existing Office SharePoint Server 2007 solution, you can mine the IIS log files or look to other Web monitoring tools you have to better understand some of the expected behaviors from the existing solution or see the instructions in the section below for more details. If you are not migrating from an existing solution, you should fill out the table using rough estimates. In later steps you will need to validate your assumptions and tune the system.

Analyzing your SharePoint Server 2010 IIS Logs

To discover key metrics about an existing SharePoint Server 2010 deployment, such as how many users are active, how heavily they are using the system, what kind of requests are coming in, and from what kind of clients they originate, it is necessary to extract data from ULS and IIS logs. One of the easiest ways to acquire this data is to use Log Parser, a powerful tool available free for download from Microsoft. Log Parser can read and write to a number of textual and binary formats, including all the IIS formats.

For detailed information about how to analyze SharePoint Server 2010 usage using Log Parser, read Analyzing Microsoft SharePoint Products and Technologies Usage (http://www.microsoft.com/downloads/details.aspx?familyid=f159af68-c3a3-413c-a3f7-2e0be6d5532e&displaylang=en&tm).

You can download Log Parser 2.2 at http://www.microsoft.com/downloads/details.aspx?FamilyID=890CD06B-ABF8-4C25-91B2-F8D975CF8C07&displaylang=en.

Dataset

Dataset describes the volume of content stored in the system and how it can be distributed in the data store. The following table provides some key metrics that are helpful in determining your dataset. You can use this table to record these metrics as you collect them.

Object | Value
DB size (in GB) |
Number of Content DBs |
Number of site collections |
Number of web apps |
Number of sites |
Search index size (# of items) |
Number of docs |
Number of lists |
Average size of sites |
Largest site size |
Number of user profiles |

  • Content size - Understanding the size of the content that you expect to store in the SharePoint Server 2010 system is important for planning and architecting the system storage, and also for properly sizing the Search solution that will crawl and index this content. The content size is described in total disk space. If you are migrating content from an existing deployment you might find it simple to identify the total size that you will move; while planning you should leave room for growth over time based on the predicted trend.

  • Total number of documents - Other than the data corpus size, it is important to track the overall number of items. The system reacts differently if 100 GB of data is composed of 50 files of 2 GB each versus 100,000 files of 1 KB each. In large deployments, the less stress there is on a single item, document or area of documents, the better performance will be. Widely distributed content like multiple smaller files across many sites and site collection is easier to serve then a single large document library with very large files.

  • Maximum site collection size - It is important to identify what is the biggest unit of content that you will store in SharePoint Server 2010; usually it is an organizational need that prevents you from splitting that unit of content. Average size of all site collections and the estimated total number of site collections are additional indicators that will help you identify your preferred data architecture.

  • Service applications data characteristics - In addition to analysing the storage needs for the content store, you should analyse and estimate the sizes of other SharePoint Server 2010 stores, including:

  • Total size of the Search index

  • The profile database total size based on the number of user in the profile store

  • The social database total size based on the expected number of tags, colleagues and activities

  • The metadata store size

  • The size of the usage database

  • The size of the Web Analytics data base

For more information on how to estimate database sizes, see Storage and SQL Server capacity planning and configuration (SharePoint Server 2010).

Setting Farm Performance and Reliability Targets

One of the deliverables of Step 1: Model is a good understanding of the performance and reliability targets that best fit the needs of your organization. A properly designed SharePoint Server solution should be able to achieve "four nines" (99.99%) of uptime with sub-second server responsiveness.

The indicators used to describe the performance and reliability of the farm can include:

  • Server availability - Usually described by the percent of overall uptime of the system. You should track any unexpected downtime and compare the overall availability to the organizational target you set. The targets are commonly described by a number of nines (i.e. 99%, 99.9%, 99.99%)

  • Server responsiveness - The time it takes the farm to serve requests is a good indicator to track the health of the farm. This indicator is usually named server side latency, and it is common to use the average or median (the 50th percentile) latency of the daily requests being served. The targets are commonly described in sub seconds or seconds. Note that if your organization has a target to serve pages from SharePoint Server 2010 in less than two seconds, then the server side goal needs to be sub seconds to leave time for the page to reach the client over the network and time to render in the browser. Also in general longer server response times are an indication of an unhealthy farm, as this usually as an impact on throughput and rarely can RPS keep up if you spend more than a second on the server on most requests

  • Server spikiness - Another good server side latency indicator worth tracking is the behaviour of the slowest 5% of all requests. Slower requests are usually the requests that hit the system when it is under higher load or even more commonly, requests that are impacted by less frequent activity that occur while users interact with the system; a healthy system is one that has the slowest requests under control as well. The target here is similar to Server Responsiveness, but to achieve sub-second response on server spikiness, you will need to build the system with a lot of spare resources to handle the spikes in load.

  • System resource utilization - Other common indicators used to track the health of the system are a collection of system counters that indicate the health of each server in the farm topology. The most frequently used indicators to track are % CPU utilization and Available Memory; however, there are several additional counters that can help identify a non-healthy system; more details can be found in Step 5: Monitor and Maintain.

Step 2: Design

Now that you have finished collecting some facts or estimates on the solution you need to deliver, you are ready to start the next step of designing a proposed architecture that you predict will be able to sustain the expected demand.

By the end of this step you should have a design for your physical topology and a layout for your logical topology, so you should be able to go ahead with any necessary purchase orders.

The hardware specifications and the number of machines you layout are tightly related, to handle a specific load there are several solutions you can choose to deploy. It is common to either use a small set of strong machines (scale up) or a larger set of smaller machines (scale out); each solution has its advantages and disadvantages when it comes to capacity, redundancy, power, cost, space, and other considerations.

We recommend that you begin this step by determining your architecture and topology. Define how you plan to layout the different farms and the different services in each farm, and then pick the hardware specifications for each of the individual servers in your design. You can also execute this process by identifying the hardware specifications you are expected to deploy (many organizations are constrained to a certain company standard) and then define your architecture and topology.

Use the following table to record your design parameters. The data included is sample data, and should not be used to size your farm. It is intended to demonstrate how to use this table for your own data.

Role | Type (Standard or virtual) | # of machines | Procs | RAM | IOPS need | Disk size OS+Log | Data drive
Web servers | Virtual | 4 | 4 cores | 8 | N/A | 400 GB | N/A
Content database server | Standard | 1 cluster | 4 quad-core 2.33 (GHz) | 48 | 2k | 400 GB | 20 disks of 300GB @ 15K RPM
Application servers | Virtual | 4 | 4 cores | 16 | N/A | 400 GB | N/A
Search Crawl Target Web server | Virtual | 1 | 4 cores | 8 | N/A | 400 GB | N/A
Search Query server | Standard | 2 | 2 quad-core 2.33 (GHz) | 32 | N/A | 400 GB | 500 GB
Search Crawler server | Standard | 2 | 2 quad-core 2.33 (GHz) | 16 | 400 | 400 GB | N/A
Search Crawl database server | Standard | 1 cluster | 4 quad-core 2.33 (GHz) | 48 | 4k (tuned for read) | 100 GB | 16 disks of 150GB @ 15K RPM
Search Property Store database + Administration database server | Standard | 1 cluster | 4 quad-core 2.33 (GHz) | 48 | 2k (tuned for write) | 100 GB | 16 disks of 150GB @ 15K RPM

Determine your starting point architecture

This section describes how to select a starting point architecture.

When you deploy SharePoint Server 2010, you can choose from a range of topologies to implement your solution; you may deploy a single server or scale out many servers to a SharePoint Server farm with clustered or mirrored database servers and discreet application servers for various services. Later you will select the hardware configurations based on the requirements of each of the roles, based on your capacity, availability, and redundancy needs.

Start by reviewing the different reference architectures and figure out your farm structure, decide if you should split your solution across multiple farms, or federate some services, such as search, on a dedicated farm. See the Reference Architectures section in Capacity management and sizing overview for SharePoint Server 2010 for more information.

SharePoint Server 2010 Technical Case Studies

Capacity management guidance for SharePoint Server 2010 includes a number of technical case studies of existing production environments that present a detailed description of existing SharePoint Server-based production environments. Additional technical case studies will be published over time; these can serve as a reference on how to design a SharePoint Server-based environment for specific purposes.

You can use these case studies as a reference while designing the architecture of your SharePoint Server solutions especially if you find the description of these deployment specific key differentiators similar to the demands and targets of the solution you are architecting.

These documents describe the following information for each documented case study:

  • Specifications, such as hardware, farm topology and configuration;

  • Workload including the user base, and the usage characteristics;

  • Dataset, including contents sizes, content characteristics and content distribution

  • Health and performance including a set of recorded indicators describing the farm's reliability and performance characteristics

For more information, download relevant documents from the Performance and capacity technical case studies (SharePoint Server 2010) page.

Select your hardware

Selecting the right specifications for the machines in your farm is a crucial step to ensure proper reliability and performance of your deployment, one key concept to keep in mind is that you should plan for peak load and peak hours; in other words, when your farm is operating under average load conditions, there should be enough resources available to handle the greatest expected demand while still hitting latency and throughput targets.

The core capacity and performance hardware features of servers reflect four main categories: processing power, disk performance, network capacity, and memory capabilities of a system.

Another thing to consider is using virtualized machines. A SharePoint Server farm can be deployed using virtual machines. Although it has not been found to add any performance benefits, it does provide manageability benefits. Virtualizing SQL Server-based computers is generally not recommended, but there may be certain benefits to virtualizing the Web server and application server tiers. For more information, see Virtualization planning (http://technet.microsoft.com/en-us/library/71c203cd-7534-47b0-9122-657d72ff0080(Office.14).aspx).

Hardware Selection Guidelines

Choosing Processors

SharePoint Server 2010 is only available for 64-bit processors. In general, more processors will enable you to serve higher demand.

In SharePoint Server 2010, individual Web servers will scale as you add more cores (we have tested up to 24 cores); the more cores the server has the more load it can sustain, all else being equal. In large SharePoint Server deployments, it is recommended to allocate either multiple 4-core Web servers (which can be virtualized), or fewer stronger (8-/16-/24-cores) Web servers.

Application servers' processor capacity requirements differ depending on the role of the server and the services it is running. Some SharePoint Server features demand greater processing power than others. For example, the SharePoint Search Service is highly dependent on the processing power of the application server. For more information on the resource requirements of SharePoint Server features and services, see the Services and features section of the article Capacity management and sizing overview for SharePoint Server 2010.

The processor capacity requirements for SQL Server also depend on the service databases that a SQL Server-based computer is hosting. For more information on the typical behavior and requirements of each database, see Storage and SQL Server capacity planning and configuration (SharePoint Server 2010).

Choosing Memory

Your servers will require varying amounts of memory, depending on server function and role. For example, servers running Search crawl components will process data more quickly if they have a large amount of memory because documents are read into memory for processing. Web servers that leverage many of the caching features of SharePoint Server 2010 may require more memory as well.

In general, Web server memory requirements are highly dependent on the number of application pools enabled in the farm and the number of concurrent requests being served. In most production SharePoint Server deployments, it is recommended to allocate at least 8 GB RAM on each Web server, with 16 GB recommended for servers with higher traffic or deployments with multiple application pools set up for isolation.

Application servers' memory requirements differ as well; some SharePoint Server features have greater memory requirements on the application tier than others. In most production SharePoint Server deployments it is recommended to allocate at least 8 GB RAM on each application server; 16 GB, 32 GB and 64 GB application servers are common when many application services are enabled on the same server, or when services that are highly dependent on memory, such as the Excel Calculation Service and SharePoint Server Search Service, are enabled.

The memory requirements of database servers are tightly dependent on the database sizes. For more information on choosing memory for your SQL Server-based computers, see Storage and SQL Server capacity planning and configuration (SharePoint Server 2010).

Choosing Networks

In addition to the benefit offered to users if clients have fast data access through the network, a distributed farm must have fast access for inter-server communication. This is particularly true when you distribute services across multiple servers or federate some of the services to other farms. There is significant traffic in a farm across the Web server tier, the application server tier, and the database server tier, and network can easily become a bottleneck under certain conditions like dealing with very large files or very high loads.

Web servers and application servers should be configured with at least two network interface cards (NICs): one NIC to handle end-user traffic and the other to handle the inter-server communication. Network latency between servers can have a significant impact on performance, so it is important to maintain less than 1 millisecond of network latency between the Web server and the SQL Server-based computers hosting the content databases. The SQL Server-based computers that host each service application database should be as close as possible to the consuming application server as well. The network between farm servers should have at least 1 Gbps of bandwidth.

Choosing Disks and Storage

Disk management is not simply a function of providing adequate space for your data. You must assess the on-going demand and growth, and ensure that the storage architecture is not slowing the system down. You should always ensure that you have at least 30 percent additional capacity on each disk, above your highest data requirement estimate, to leave room for future growth. Additionally, in most production environments, disk speed (IOps) is crucial to providing sufficient throughput to satisfy the servers' storage demands. You must estimate the amount of traffic (IOps) the major databases will require in your deployment and allocate enough disks to satisfy that traffic.

For more information on how to choose disks for database servers, see Storage and SQL Server capacity planning and configuration (SharePoint Server 2010).

The Web and application servers have storage requirements as well. In most production environments, it is recommended to allocate at least 200 GB disk space for OS and temp and 150 GB of disk space for logs.

Step 3: Pilot, Test and Optimize

The testing and optimization stage is a critical component of effective capacity management. You should test new architectures before you deploy them to production and you should conduct acceptance testing in conjunction with following monitoring best practices in order to ensure the architectures you design achieve the performance and capacity targets. This allows you to identify and optimize potential bottlenecks before they impact users in a live deployment. If you are upgrading from an Office SharePoint Server 2007 environment and plan to make architectural changes, or are estimating user load of the new SharePoint Server features, then testing particularly important to make sure your new SharePoint Server-based environment will meet performance and capacity targets.

Once you have tested your environment, you can analyze the test results to determine what changes need to be made in order to achieve the performance and capacity targets you established in Step 1: Model.

These are the recommended sub steps you should follow for pre-production:

  • Create the test environment that mimics the initial architecture you designed in Step 2: Design.

  • Populate the storage with the dataset or part of the dataset that you've identified in Step 1: Model.

  • Stress the system with synthetic load that represents the workload you've identified in Step 1: Model.

  • Run tests, analyze results, and optimize your architecture.

  • Deploy your optimized architecture in your data center, and roll out a pilot with a smaller set of users.

  • Analyze the pilot results, identify potential bottlenecks, and optimize the architecture. Retest if needed.

  • Deploy to the production environment.

Test

Testing is a critial factor in establishing the ability of your system design to support your workload and usage characteristics. See Performance testing for SharePoint Server 2010 for detailed information on testing your SharePoint Server 2010 deployment.

  • Create a test plan

  • Create the test environment

  • Create Tests and Tools

Deploy the pilot environment

Before you deploy SharePoint Server 2010 to a production environment, it is important that you first deploy a pilot environment and thoroughly test the farm to ensure that it can meet capacity and performance targets for your expected peak load. We recommend that the pilot environment is first tested with synthetic load particularly for large deployments, and then stressed by a small set of live users and live content. The benefit of analyzing a pilot environment with a small set of live users is the opportunity to validate some of the assumptions you made about the usage characteristics and the content growth before you go fully into production.

Optimize

If you cannot meet your capacity and performance targets by scaling your farm hardware or making changes to the topology, you may need to consider revising your solution. For example, if your initial requirements were for a single farm for collaboration, Search and Social, you may need to federate some of the services such as search to a dedicated services farm, or split the workload across more farms. One alternative is to deploy a dedicated farm for social and another for team collaboration.

Step 4: Deploy

Once you have executed your final round of tests and confirmed that the architecture you have selected can achieve the performance and capacity targets you established in Step 1: Model, you can deploy your SharePoint Server 2010-based environment to production.

The appropriate rollout strategy will vary depending upon the environment and situation. While SharePoint Server deployment in general is outside the scope of this document, there are certain suggested activities that may come out of the capacity planning exercise. Here are some examples:

  • Deploying a new SharePoint Server farm: The capacity planning exercise should have guided and confirmed plans for a design and deployment of SharePoint Server 2010. In this case, the rollout will be the first broad deployment of SharePoint Server 2010. It will require moving or rebuilding the servers and services that were used during the capacity planning exercises into production. This is the most straight-forward scenario because there aren't any upgrades or modifications needed to an existing farm.

  • Upgrading an Office SharePoint Server 2007 farm to SharePoint Server 2010: The capacity planning exercise should have validated the design for a farm that can meet existing demands and scale up to meet increased demand and usage of a SharePoint Server 2010 farm. Part of the capacity planning exercise should have included test migrations to validate how long the upgrade process will take, whether any custom code needs to be modified or replaced, whether any third-party tools need updating, etc. At the conclusion of capacity planning you should have a validated design, and understanding of how much time it will take to upgrade, and a plan for how best to work through the upgrade process - for example, an in-place upgrade, or migrating content databases into a new farm. If you're doing an in-place upgrade then during capacity planning you may have found that additional or upgraded hardware will be needed, and considerations for downtime. Part of the output from the planning exercise should be a list of the hardware changes that are needed and a detailed plan for deploying the hardware changes to the farm first. Once the hardware platform that was validated during capacity planning is in place, you can move forward with the process of upgrading to SharePoint Server 2010.

  • Improving the performance of an existing SharePoint Server 2010 farm: The capacity planning exercise should have helped you to identify the bottlenecks in your current implementation, devise ways to reduce or eliminate those bottlenecks, and validate an improved implementation that meets your business requirements for SharePoint Server services. There are different ways in which performance issues could have been resolved, from something as simple as reallocating services across existing hardware, upgrading existing hardware, or adding additional hardware and adding additional services to it. The different approaches should be tested and validated during the capacity planning exercise, and then a deployment plan formulated depending on the results of that testing.

Step 5: Monitor and Maintain

To maintain system performance, you must monitor your server to identify potential bottlenecks. Before you can monitor effectively, you must understand the key indicators that will tell you if a specific part of your farm requires attention, and know how to interpret these indicators. If you find that your farm is operating outside the targets you have defined, you can adjust your farm by adding or removing hardware resources, modifying your topology, or changing how data is stored.

See Monitoring and maintaining SharePoint Server 2010 for a list of the settings that you can modify to monitor your environment in its early stages, which will help you determine if any changes are needed. Keep in mind that increasing your monitoring capabilities will affect the amount of disk space that your usage database will require. Once the environment is stable and this detailed monitoring is no longer required, you may want to reverse the settings below to their defaults.

For more information about health monitoring and troubleshooting using the health monitoring tools built into the SharePoint Server Central Administration interface, read the following:

Health monitoring (SharePoint Server 2010)

Solving problems and troubleshooting (http://technet.microsoft.com/en-us/library/ee748639(office.14).aspx)

See Also

Concepts

Capacity management and sizing overview for SharePoint Server 2010
Performance testing for SharePoint Server 2010
Monitoring and maintaining SharePoint Server 2010
SharePoint Server 2010 capacity management: Software boundaries and limits
Health monitoring (SharePoint Server 2010)
Storage and SQL Server capacity planning and configuration (SharePoint Server 2010)
Performance and capacity technical case studies (SharePoint Server 2010)
Performance and capacity test results and recommendations (SharePoint Server 2010)


Performance testing for SharePoint Server 2010
See Also

Published: June 17, 2010

This article describes how to test the performance of Microsoft SharePoint Server 2010. The testing and optimization stage is a critical component of effective capacity management. You should test new architectures before you deploy them to production and you should conduct acceptance testing in conjunction with following monitoring best practices in order to ensure the architectures you design achieve the performance and capacity targets. This allows you to identify and optimize potential bottlenecks before they impact users in a live deployment. If you are upgrading from an Microsoft Office SharePoint Server 2007 environment and plan to make architectural changes, or are estimating user load of the new SharePoint Server 2010 features, then testing particularly important to make sure your new SharePoint Server 2010-based environment will meet performance and capacity targets.

Once you have tested your environment, you can analyze the test results to determine what changes need to be made in order to achieve the performance and capacity targets you established in Step 1: Model of Capacity planning for SharePoint Server 2010.

These are the recommended sub steps you should follow for pre-production:

  • Create the test environment that mimics the initial architecture you designed in Step 2: Design.

  • Populate the storage with the dataset or part of the dataset that you've identified in Step 1: Model.

  • Stress the system with synthetic load that represents the workload you've identified in Step 1: Model.

  • Run tests, analyze results, and optimize your architecture.

  • Deploy your optimized architecture in your data center, and roll out a pilot with a smaller set of users.

  • Analyze the pilot results, identify potential bottlenecks, and optimize the architecture. Retest if needed.

  • Deploy to the production environment.

Before you read this article, you should read Capacity management and sizing overview for SharePoint Server 2010.

In this article:

  • Create a Test Plan

  • Create the Test Environment

  • Create Tests and Tools

Create a Test Plan

Verify that your plan includes:

  • Hardware that is designed to operate at expected production performance targets. Always measure the performance of test systems conservatively.

  • If you have custom code or custom component, it is important that you test the performance of those components in isolation first to validate their performance and stability. After they are stable, you should test the system with those components installed and compare performance to the farm without them installed. Custom components are often a major culprit of performance and reliability problems in production systems.

  • Know the goal of your testing. Understand ahead of time what your testing objectives are. Is it to validate the performance of some new custom components that were developed for the farm? Is it to see how long it will take to crawl and index a set of content? Is it to determine how many requests per second your farm can support? There can be many different objectives during a test, and the first step in developing a good test plan is deciding what your objectives are.

  • Understand how to measure for your testing goal. If you are interested in measuring the throughput capacity of your farm for example, you will want to measure the RPS and page latency. If you are measuring for search performance then you will want to measure crawl time and document indexing rates. If your testing objective is well understood, that will help you clearly define what key performance indicators you need to validate in order to complete your tests.

Create the Test Environment

Once your test objectives have been decided, your measurements have been defined, and you have determined what the capacity requirements are for your farm (from steps 1 and 2 of this process), the next objective will be to design and create the test environment. The effort to create a test environment is often underestimated. It should duplicate the production environment as closely as possible. Some of the features and functionality you should consider when designing your test environment include:

  • Authentication - Decide whether the farm will use Active Directory Domain Services (AD DS), forms-based authentication (and if so with what directory), claims-based authentication, etc. Regardless of which directory you are using, how many users do you need in your test environment and how are you going to create them? How many groups or roles are you going to need and how will you create and populate them? You also need to ensure that you have enough resources allocated to your authentication services that they don't become a bottleneck during testing.

  • DNS - Know what the namespaces are that you will need during your testing. Identify which servers will be responding to those requests and make sure you've included a plan that has what IP addresses will be used by which servers, and what DNS entries you will need to create.

  • Load balancing - Assuming you are using more than one server (which you normally would or you likely wouldn't have enough load to warrant load testing), you will need some kind of load balancer solution. That could be a hardware load balancing device, or you could use software load balancing like Windows NLB. Figure out what you will use and write down all of the configuration information you will need to get it set up quickly and efficiently. Another thing to remember is that load test agents typically try and resolve the address to a URL only once every 30 minutes. That means that you should not use a local hosts file or round robin DNS for load balancing because the test agents will likely end up going to the same server for every single request, instead of balancing around all available servers.

  • Test servers - When you plan your test environment, you not only need to plan for the servers for the SharePoint Server 2010 farm, you also need to plan for the machines needed to execute the tests. Typically that will include 3 servers at a minimum; more may be necessary. If you are using Visual Studio Team System (Team Test Load Agent) to do the testing, one machine will be used as the load test controller. There are generally 2 or more machines that are used as load test agents. The agents are the machines that take the instructions from the test controller about what to test and issue the requests to the SharePoint Server 2010 farm. The test results themselves are stored on a SQL Server-based computer. You should not use the same SQL Server-based computer that is used for the SharePoint Server 2010 farm, because writing the test data will skew the available SQL Server resources for the SharePoint Server 2010 farm. You also need to monitor your test servers when running your tests, the same way as you would monitor the servers in the SharePoint Server 2010 farm, or domain controllers, etc. to make sure that the test results are representative of the farm you're setting up. Sometimes the load agents or controller can become the bottleneck themselves. If that happens then the throughput you see in your test is typically not the maximum the farm can support.

  • SQL Server -In your test environment, follow the guidance in the sections "Configure SQL Server" and "Validate and monitor storage and SQL Server performance" in the article Storage and SQL Server capacity planning and configuration (SharePoint Server 2010).

  • Dataset validation - As you decide what content you are going to run tests against, remember that in the best case scenario you will use data from an existing production system. For example, you can back up your content databases from a production farm and restore them into your test environment, then attach the databases to bring the content into the farm. Anytime you run tests against made up or sample data, you run the risk of having your results skewed because of differences in your content corpus.

If you do have to create sample data, there are a few considerations to keep in mind as you build out that content:

  • All pages should be published; nothing should be checked out

  • Navigation should be realistic; don't build beyond what you would reasonably expect to use in production.

  • You should have an idea of the customizations the production site will be using. For example, master pages, style sheets, JavaScript, etc. should all be implemented in the test environment as closely as possible to the production environment.

  • Determine how many SharePoint groups and/or permission levels you are going to need, and how you are going to associate users with them.

  • Figure out whether you'll need to do profile imports, and how long that will take.

  • Determine whether you'll need Audiences, and how you'll create and populate them.

  • Determine whether you need additional search content sources, and what you will need to create them. If you won't need to create them, determine whether you'll have network access to be able to crawl them.

  • Determine whether you have enough sample data - documents, lists, list items, etc. If not, create a plan for how you will create this content.

  • Have a plan for enough unique content to adequately test search. A common mistake is to upload the same document - maybe hundreds or even thousands of times - to different document libraries with different names. That can impact search performance because the query processor will spend an ordinate amount of time doing duplicate detection that it wouldn't otherwise have to in a production environment with real content.

Create Tests and Tools

After the test environment is functional, it is time to create and fine-tune the tests that will be used to measure the performance capacity of the farm. This section will at times make references specifically to Visual Studio Team System (Team Test Load Agent), but many of the concepts are applicable irrespective of which load test tool you use. For more information about Visual Studio Team System, see Visual Studio Team System at MSDN (http://msdn.microsoft.com/en-us/library/fda2bad5.aspx" ).

You can also use the SharePoint Load Test Kit (LTK) in conjunction with VSTS for load testing of SharePoint 2010 farms. The Load Test Kit generates a Visual Studio Team System 2008 load test based on Windows SharePoint Services 3.0 and Microsoft Office SharePoint Server 2007 IIS logs. The VSTS load test can be used to generate synthetic load against SharePoint Foundation 2010 or SharePoint Server 2010 as part of a capacity planning exercise or a pre-upgrade stress test.

The Load Test Kit is included in the Microsoft SharePoint 2010 Administration Toolkit v1.0, available from the Microsoft Download Center (http://www.microsoft.com/downloads/details.aspx?FamilyId=718447d8-0814-427a-81c3-c9c3d84c456e&displaylang=en).

A key criterion to the success of the tests is to be able to effectively simulate a realistic workload by generating requests across a wide range of the test site data, just as users would access a wide range of content in a production SharePoint Server 2010 farm. In order to do that, you will typically need to construct your tests such that they are data driven. Rather than creating hundreds of individual tests that are hard-coded to access a specific page, you should use just a few tests that use data sources containing the URLs for those items to dynamically access that set of pages.

In Visual Studio Team System (Team Test Load Agent), a data source can come in a variety of formats, but a CSV file format is often easiest to manage and transport between development and test environments. Keep in mind that creating CSV files with that content might require the creation of custom tools to enumerate the SharePoint Server 2010-based environment and record the various URLs being used.

You may need to use tools for tasks like:

  • Creating users and groups in Active Directory or other authentication store if you're using forms based authentication

  • Enumerating URLs for sites, lists and libraries, list items, documents, etc. and putting them into CSV files for load tests

  • Uploading sample documents across a range of document libraries and sites

  • Creating site collections, webs, lists, libraries, folders and list items

  • Creating My Sites

  • Creating CSV files with usernames and passwords for test users; these are the user accounts that the load tests will execute as. There should be multiple files so that, for example, some contain only administrator users, some contain other users with elevated privileges (like author / contributor, hierarchy manager, etc.), and others are only readers, etc.

  • Creating a list of sample search keywords and phrases

  • Populating SharePoint groups and permission levels with users and Active Directory groups (or roles if you are using forms based authentication)

When creating the web tests, there are other best practices that you should observe and implement. They include:

  • Record simple web tests as a starting point. Those tests will have hard-coded values in them for parameters like URL, ID's, etc. Replace those hard-coded values with links from your CSV files. Data binding those values in Visual Studio Team System (Team Test Load Agent) is extremely easy.

  • Always have validation rules for your test. For example, when requesting a page, if an error occurs you will often get the error.aspx page in response. From a web test perspective it appears as just another positive response, because you get an HTTP status code of 200 (successful) in the load test results. Obviously an error has occurred though so that should be tracked differently. Creating one or more validation rules allows you to trap when certain text is sent as a response so that the validation fails and the request is marked as a failure. For example, in Visual Studio Team System (Team Test Load Agent) a simple validation rule might be a ResponseUrl validation - it records a failure if the page that is rendered after redirects is not the same response page that was recorded in the test. You could also add a FindText rule that will record a failure if it finds the word "access denied", for example, in the response.

  • Use multiple users in different roles for tests. Certain behaviors such as output caching work differently depending on the rights of the current user. For example, a site collection administrator or an authenticated user with approval or authoring rights will not get cached results because we always want them to see the most current version of content. Anonymous users, however, will get the cached content. You need to make sure that your test users are in a mix of these roles that approximately matches the mix of users in the production environment. For example, in production there are probably only two or three site collection administrators, so you should not create tests where 10% of the page requests are made by user accounts that are site collection administrators over the test content.

  • Parsing dependent requests is an attribute of a Visual Studio Team System (Team Test Load Agent) that determines whether the test agent should attempt to retrieve just the page, or the page and all associated requests that are part of the page, such as images, style sheets, scripts, etc. When load testing, we usually ignore these items for a few reasons:

    • After a user hits a site the first time these items are often cached by the local browser

    • These items don't typically come from SQL Server in a SharePoint Server 2010-based environment. With BLOB caching turned on, they are instead served by the Web servers so they don't generate SQL Server load.

If you regularly have a high percentage of first time users to your site, or you have disabled browser caching, or for some reason you don't intend to use the blob cache, then it may make sense to enable parsing dependent requests in your tests. However this is really the exception and not the rule of thumb for most implementations. Be aware that if you do turn this on it can significantly inflate the RPS numbers reported by the test controller. These requests are served so quickly it may mislead you into thinking that there is more capacity available in the farm than there actually is.

  • Remember to model client application activity as well. Client applications, such as Microsoft Word, PowerPoint, Excel and Outlook generate requests to SharePoint Server 2010 farms as well. They add load to the environment by sending the server requests such as retrieving RSS feeds, acquiring social information, requesting details on site and list structure, synchronizing data, etc. These types of requests should be included and modeled if you have those clients in your implementation.

  • In most cases a web test should only contain a single request. It's easier to fine-tune and troubleshoot your testing harness and individual requests if the test only contains a single request. Web tests will typically need to contain multiple requests if the operation it is simulating is composed of multiple requests. For example, to test this set of actions you will need a test with multiple step: checking out a document, editing it, checking it in and publishing it. It also requires reserving state between the steps - for example, the same user account should be used to check it out, make the edits, and check it back in. Those multi-step operations that require state to be carried forward between each step are best served by multiple requests in a single web test.

  • Test each web test individually. Make sure that each test is able to complete successfully before running it in a larger load test. Confirm that all of the names for web applications resolve, and that the user accounts used in the test have sufficient rights to execute the test.

Web tests comprise the requests for individual pages, uploading documents, view list items, etc. All of these are pulled together in load tests. A load test is where you plug in all of the different web tests that are going to be executed. Each web test can be given a percentage of time that it will execute - for example, if you find that 10% of requests in a production farm are search queries, then in the load test you would configure a query web test to run 10% of the time. In Visual Studio Team System (Team Test Load Agent), load tests are also how you configure things like the browser mix, network mix, load patterns, and run settings.

There are some additional best practices that should be observed and implemented for load tests:

  • Use a reasonable read/write ratio in your tests. Overloading the number of writes in a test can significantly impact the overall throughput of a test. Even on collaboration farms, the read/write ratios tend to have many more reads than writes. For more information, see Performance and capacity technical case studies (SharePoint Server 2010).

  • Consider the impact of other resource intensive operations and decide whether they should be occurring during the load test. For example, operations like backup and restore are not generally done during a load test. A full search crawl may not be usually run during a load test, whereas an incremental crawl may be normal. You need to consider how those tasks will be scheduled in production - will they be running at peak load times? If not, then they should probably be excluded during load testing, when you are trying to determine the maximum steady state load you can support for peak traffic.

  • Don't use think times. Think times are a feature of Visual Studio Team System (Team Test Load Agent) that allow you to simulate the time that users pause between clicks on a page. For example a typical user might load a page, spend three minutes reading it, then click a link on the page to visit another site. Trying to model this in a test environment is nearly impossible to do correctly, and effectively doesn't add value to the test results. It's difficult to model because most organizations don't have a way to monitor different users and the time they spend between clicks on different types of SharePoint sites (like publishing versus search versus collaboration, etc.). It also doesn't really add value because even though a user may pause between page requests, the SharePoint Server 2010-based servers do not. They just get a steady stream of requests that may have peaks and valleys over time, but they are not waiting idly as each user pauses between clicking links on a page.

  • Understand the difference between users and requests. Visual Studio Team System (Team Test Load Agent) has load pattern where it asks you to enter the number of users to simulate. This doesn't have anything to do with application users, it's really just how many threads are going to be used on the load test agents to generate requests. A common mistake is thinking that if the deployment will have 5,000 users for example, then 5,000 is the number that should be used in Visual Studio Team System (Team Test Load Agent) - it is not! That's one of the many reasons why when estimating capacity planning requirements, the usage requirements should be based on number of requests per second and not number of users. In a Visual Studio Team System (Team Test Load Agent) load test, you will find that you can often generate hundreds of requests per second using only 50 to 75 load test "users".

  • Use a constant load pattern for the most reliable and reproducible test results. In Visual Studio Team System (Team Test Load Agent) you have the option of basing load on a constant number of users (threads, as explained in the previous point), a stepped up load pattern of users, or a goal based usage test. A stepped load pattern is when you start with a lower number of users and then "step up" adding additional users every few minutes. A goal based usage test is when you establish a threshold for a certain diagnostic counter, like CPU utilization, and test attempts to drive the load to keep that counter between a minimum and maximum threshold that you define for it. However, if you are just trying to determine the maximum throughput your SharePoint Server 2010 farm can sustain during peak load, it is more effective and accurate to just pick a constant load pattern. That allows you to more easily identify how much load the system can take before starting to regularly exceed the thresholds that should be maintained in a healthy farm.

Each time you run a load test remember that it is changing data in the database. Whether that's uploading documents, editing list items, or just recording activity in the usage database, there will be data that is written to SQL Server. To ensure a consistent and legitimate set of test results from each load test, you should have a backup available before you run the first load test. After each load test is complete the backup should be used to restore the content back to the way it was before the test was started.

See Also

Concepts

Capacity management and sizing overview for SharePoint Server 2010
Capacity planning for SharePoint Server 2010
Monitoring and maintaining SharePoint Server 2010
Health monitoring (SharePoint Server 2010)
Storage and SQL Server capacity planning and configuration (SharePoint Server 2010)


Monitoring and maintaining SharePoint Server 2010
See Also

Published: June 17, 2010

This article provides information about monitoring and performance counters for Microsoft SharePoint Server 2010 farms. To maintain SharePoint Server 2010 system performance, you must monitor your server to identify potential bottlenecks. Before you can monitor effectively, you must understand the key indicators that will tell you if a specific part of your farm requires attention, and know how to interpret these indicators. If you find that your farm is operating outside the targets you have defined, you can adjust your farm by adding or removing hardware resources, modifying your topology, or changing how data is stored.

The information in this section is intended to help administrators manually configure performance counters and other settings. For more information about health monitoring and troubleshooting using the health monitoring tools built into the SharePoint Central Administration interface, read the following articles:

  • Health monitoring (SharePoint Server 2010)

  • Solving problems and troubleshooting (SharePoint Server 2010)

Before you read this article, you should read Capacity management and sizing overview for SharePoint Server 2010.

In this article:

  • Configuring Monitoring

  • Removing Bottlenecks

Configuring Monitoring

Below is a list of the settings that you can modify to monitor your environment in its early stages, which will help you determine if any changes are needed. Keep in mind that increasing your monitoring capabilities will affect the amount of disk space that your usage database will require. Once the environment is stable and this detailed monitoring is no longer required, you may want to reverse the settings below to their defaults.

Setting | Value | Notes
Event Log Flooding Protection | Disabled | The default value is Enabled. It can be disabled to collect as much monitoring data as possible. For normal operations, it should be enabled.
Timer Job Schedule |  |
Microsoft SharePoint Foundation Usage Data Import | 5 minutes | The default value is 30 minutes. Lowering this setting imports the data into the usage database more frequently, and is particularly useful when troubleshooting. For normal operations, it should be 30 minutes.
Diagnostic Providers |  |
Enable all diagnostic providers | Enabled | The default value is Disabled except for the "Search Health Monitoring - Trace Events" provider. These providers collect health data for various features and components. For normal operations, you may want to revert to the default.
Set "job-diagnostics-performance-counter-wfe-provider" and "job-diagnostics-performance-counter-sql-provider" Schedule Intervals | 1 minute | The default value is 5 minutes. Lowering this setting can poll data more frequently, and is particularly useful when troubleshooting. For normal operations, it should be 5 minutes.
Miscellaneous |  |
Enable stack tracing for content requests | Enabled | The default value is Disabled. Enabling this setting allows diagnosis of content requests failures using the process stack trace. For normal operations, it should be disabled.
Enable the Developer Dashboard | Enabled | The default value is Disabled. Enabling this setting allows diagnosis of slow pages, or other problems by using the Developer Dashboard. For normal operations, and once troubleshooting is no longer necessary, it should be disabled.
Usage Data Collection |  |
Content Import Usage Content Export Usage Page Requests Feature Use Search Query Use Site Inventory Usage Timer Jobs Rating Usage | Enabled | Enabling the logging of this set of counters allows you to collect more usage data across the environment and to better understand the traffic patterns in the environment.

Performance Counters

If you are making use of the usage database, then you can add the performance counters that assist you in monitoring and evaluating your farm's performance to the usage database, such that they are logged automatically at a specific interval (30 minutes by default). Given that, you can query the usage database to retrieve these counters and graph the results over time. Here's an example of using the Add-SPDiagnosticsPerformanceCounter PowerShell cmdlet to add the % Processor Time counter to the usage database. This only needs to be run on one of the Web servers:

Copy Code
Add-SPDiagnosticsPerformanceCounter -Category "Processor" -Counter "% Processor Time" -Instance "_Total" -WebFrontEnd

There are a number of generic performance counters that you should monitor for any server system. The following table outlines these performance counters.

Performance Counter | Description
Processor | You should monitor processor performance to ensure that all processor usage does not remain consistently high (over 80 percent) as this indicates that the system would not be able to handle any sudden surges of activity. And that in the common state, you will not see a domino effect if one component failure will bring the remaining components to a malfunctioning state. For example - if you have three Web servers, you should make sure the average CPU across all servers is under 60% so that if one fails, there is still room for the other two to pick up the extra load.
Network Interface | Monitor the rate at which data is sent and received via the network interface card. This should remain below 50 percent of network capacity.
Disks and Cache | There are a number of logical disk options that you should monitor regularly. The available disk space is essential in any capacity study, but you should also review the time that the disk is idle. Dependent on the types of applications or services you are running on your servers, you may review disk read and write times. Extended queuing for write or read function will affect performance. The cache has a major impact on read and write operations. You must monitor for increased cache failures.
Memory and Paging File | Monitor the amount of physical memory available for allocation. Insufficient memory will lead to excessive use of the page file and an increase in the number of page faults per second.

System Counters

The following table provides information on system objects and counters that you could add to the set of counters monitored in the usage database using the SPDiagnosticPerformanceCounter on a web server.

Objects and Counters Description

Processor

% Processor Time

This shows processor usage over a period of time. If this is consistently too high, you may find performance is adversely affected. Remember to count "Total" in multiprocessor systems. You can measure the utilization on each processor as well, to ensure balanced performance between cores.

Disk

- Avg. Disk Queue Length

This shows the average number of both read and write requests that were queued for the selected disk during the sample interval. A bigger disk queue length may not be a problem as long as disk reads/writes are not suffering and the system is working in a steady state without expanding queuing.

Avg. Disk Read Queue Length

The average number of read requests that are queued.

Avg. Disk Write Queue Length

The average number of write requests that are queued.

Disk Reads/sec

The number of reads to disk per second.

Disk Writes/sec

The number of writes to disk per second.

Memory

- Available Mbytes

This shows the amount of physical memory available for allocation. Insufficient memory will lead to excessive use of the page file and an increase in the number of page faults per second.

- Cache Faults/sec

This counter shows the rate at which faults occur when a page is sought in the file system cache and is not found. This may be a soft fault, when the page is found in memory, or a hard fault, when the page is on disk.

The effective use of the cache for read and write operations can have a significant effect on server performance. You must monitor for increased cache failures, indicated by a reduction in the Async Fast Reads/sec or Read Aheads/sec.

- Pages/sec

This counter shows the rate at which pages are read from or written to disk to resolve hard page faults. If this rises, it indicates system-wide performance problems.

Paging File

- % Used and % Used Peak

The server paging file, sometimes called the swap file, holds "virtual" memory addresses on disk. Page faults occur when a process has to stop and wait while required "virtual" resources are retrieved from disk into memory. These will be more frequent if the physical memory is inadequate.

NIC

- Total Bytes/sec

This is the rate at which data is sent and received via the network interface card. You may need to investigate further if this rate is over 40-50 percent network capacity. To fine-tune your investigation, monitor Bytes received/sec and Bytes Sent/sec.

Process

- Working Set

This counter indicates the current size (in bytes) of the working set for a given process. This memory is reserved for the process, even if it is not in use.

- % Processor Time

This counter indicates the percentage of processor time that is used by a given process.

Thread Count (_Total)

The current number of threads.

ASP.NET

Requests Total

The total number of requests since the service was started.

Requests Queued

Microsoft SharePoint Foundation 2010 provides the building blocks for HTML pages that are rendered in the user browser over HTTP. This counter shows the number of requests waiting to be processed.

Request Wait Time

The number of milliseconds that the most recent request waited in the queue for processing. As the number of wait events increases, users will experience degraded page-rendering performance.

Requests Rejected

The total number of requests not executed because of insufficient server resources to process them. This counter represents the number of requests that return a 503 HTTP status code, indicating that the server is too busy.

Requests Executing (_Total)

The number of requests currently executing.

Requests/Sec (_Total)

The number of requests executed per second. This represents the current throughput of the application. Under constant load, this number should remain within a certain range, barring other server work (such as garbage collection, cache cleanup thread, external server tools, and so on).

.NET CLR Memory

# Gen 0 Collections

Displays the number of times the generation 0 objects (that is, the youngest, most recently allocated objects) are garbage collected since the application started. This number is useful as a ratio of #Gen 0: #Gen 1: #Gen 2 to make sure that the number of Gen 2 collections does not greatly exceed Gen 0 collections, optimally by a factor of 2.

# Gen 1 Collections

Displays the number of times the generation 1 objects are garbage collected since the application started.

# Gen 2 Collections

Displays the number of times the generation 2 objects are garbage collected since the application started. The counter is incremented at the end of a generation 2 garbage collection (also called a full garbage collection).

% Time in GC

Displays the percentage of elapsed time that was spent performing a garbage collection since the last garbage collection cycle. This counter usually indicates the work done by the garbage collector to collect and compact memory on behalf of the application. This counter is updated only at the end of every garbage collection. This counter is not an average; its value reflects the last observed value. This counter should be under 5% in normal operation.

SQL Server Counters

The following table provides information on SQL Server objects and counters.

Objects and Counters | Description
General Statistics | This object provides counters to monitor general server-wide activity, such as the number of current connections and the number of users connecting and disconnecting per second from computers running an instance of SQL Server.
User Connections | This counter shows the amount of user connections on your instance of SQL Server. If you see this number rise by 500 percent from your baseline, you may see a performance reduction.
Databases | This object provides counters to monitor bulk copy operations, backup and restore throughput, and transaction log activities. Monitor transactions and the transaction log to determine how much user activity is occurring in the database and how full the transaction log is becoming. The amount of user activity can determine the performance of the database and affect log size, locking, and replication. Monitoring low-level log activity to gauge user activity and resource usage can help you to identify performance bottlenecks.
Transactions/sec | This counter shows the amount of transactions on a given database or on the entire SQL Server instance per second. This number is to help you create a baseline and to help you troubleshoot issues.
Locks | This object provides information about SQL Server locks on individual resource types.
Number of Deadlocks/sec | This counter shows the number of deadlocks on the SQL Server per second. This should normally be 0.
Average Wait Time (ms) | This counter shows the average amount of wait time for each lock request that resulted in a wait.
Lock Wait Time (ms) | This counter shows the total wait time for locks in the last second.
Lock Waits/sec | This counter shows the number of locks per second that could not be satisfied immediately and had to wait for resources.
Latches | This object provides counters to monitor internal SQL Server resource locks called latches. Monitoring the latches to determine user activity and resource usage can help you to identify performance bottlenecks.
Average Latch Wait Time (ms) | This counter shows the average latch wait time for latch requests that had to wait.
Latch Waits/sec | This counter shows the number of latch requests per second that could not be granted immediately.
SQL Statistics | This object provides counters to monitor compilation and the type of requests sent to an instance of SQL Server. Monitoring the number of query compilations and recompilations and the number of batches received by an instance of SQL Server gives you an indication of how quickly SQL Server is processing user queries and how effectively the query optimizer is processing the queries.
SQL Compilations/sec | This counter indicates the number of times the compile code path is entered per second.
SQL Re-Compilations/sec | This counter indicates the number of times statement recompiles are triggered per second.
Plan Cache | This object provides counters to monitor how SQL Server uses memory to store objects such as stored procedures, ad hoc and prepared Transact-SQL statements, and triggers.
Cache Hit Ratio | This counter indicates the ratio between cache hits and lookups for plans.
Buffer Cache | This object provides counters to monitor how SQL Server uses memory to store data pages, internal data structures, and the procedure cache, as well as counters to monitor the physical I/O as SQL Server reads and writes database pages.
Buffer Cache Hit Ratio | This counter shows the percentage of pages found in the buffer cache without having to read from disk. The ratio is the total number of cache hits divided by the total number of cache lookups since an instance of SQL Server was started.

Removing Bottlenecks

System bottlenecks represent a point of contention where there are insufficient resources to service user transaction requests. These may be physical hardware, operating environment, or application-based. Often, the reason for the bottleneck will be inefficient custom code or 3rd party solutions, and a review of those could yield better results than adding hardware. Another common cause for bottlenecks is a misconfiguration of the farm, or an inefficient solution implementation that structures data in a way that requires more resources than necessary. For a system administrator, it is essential to manage bottlenecks by constantly monitoring performance. When you identify a performance issue, you must assess the best resolution for removing the bottleneck. The performance counters and other performance monitoring applications, such as System Center Operations Manager (SCOM), are the key tools in tracking and analyzing problems, so that you can develop a solution.

Physical Bottleneck Resolution

Physical bottlenecks are based on processor, disk, memory, and network contention: too many requests are contending for too few physical resources. The objects and counters described in the Monitoring Performance topic indicate where the performance problem is located, for example, hardware processor or ASP.NET. Bottleneck resolution requires that you identify the issue and then make a change or changes that mitigate the performance problem.

Problems seldom happen instantaneously; there is usually a gradual performance degradation that you can track if you monitor regularly, using your performance monitor tool or a more sophisticated system, such as SCOM. For both of these options, to varying degrees, you can embed solutions within an alert, in the form of advisory text or scripted commands.

You may have to resolve bottleneck issues by making changes to hardware or system configurations, once you have determined that they are not caused by a misconfiguration, inefficient custom code or third party solutions, or inefficient solution implementation. The following tables identify problem threshold and possible resolution options. Some of the options suggest hardware upgrades or modifications.

Objects and Counters Problem Resolution Options

Processor

Processor - % Processor Time

Over 75-85%

Upgrade processor

Increase number of processors

Add additional server(s)

Disk

Avg. Disk Queue Length

Gradually increasing, system not in a steady state and queue is backing up

Increase number or speed of disks

Change array configuration to stripe

Move some data to an alternative server

% Idle Time

Less than 90%

Increase number of disks

Move data to an alternative disk or server

% Free Space

Less than 30%

Increase number of disks

Move data to an alternative disk or server

Memory

Available Mbytes

Less than 2GB on a Web server.

Add memory.

Note:

SQL server available memory will be low, by design, and does not always indicate a problem.

Cache Faults/sec

Greater than 1

Add memory

Increase cache speed or size if possible

Move data to an alternative disk or server

Pages/sec

Greater than 10

Add memory

Paging File

% Used and % Used Peak

The server paging file, sometimes called the swap file, holds "virtual" memory addresses on disk. Page faults occur when a process has to stop and wait while required "virtual" resources are retrieved from disk into memory. These will be more frequent if the physical memory is inadequate.

Add memory

NIC

Total Bytes/sec

Over 40-50% of network capacity. This is the rate at which data is sent and received via the network interface card.

Investigate further by monitoring Bytes received/sec and Bytes Sent/sec.

Reassess network interface card speed

Check number, size, and usage of memory buffers

Process

Working Set

Greater than 80% of total memory

Add memory

% Processor Time

Over 75-85%.

Increase number of processors

Redistribute workload to additional servers

ASP.NET

Application Pool Recycles

Several per day, causing intermittent slowness.

Make sure that you have not implemented settings that automatically recycle the application pool unnecessarily throughout the day.

Requests Queued

Hundreds or thousands of requests queued.

Implement additional Web servers

The default maximum for this counter is 5,000, and you can change this setting in the Machine.config file

Request Wait Time

As the number of wait events increases, users will experience degraded page rendering performance.

Implement additional Web servers

Requests Rejected

Greater than 0

Implement additional Web servers

See Also

Concepts

Capacity management and sizing overview for SharePoint Server 2010
Performance testing for SharePoint Server 2010
Capacity planning for SharePoint Server 2010
Health monitoring (SharePoint Server 2010)
Storage and SQL Server capacity planning and configuration (SharePoint Server 2010)


SharePoint Server 2010 capacity management: Software boundaries and limits

Updated: June 25, 2013

This article describes software boundaries and limits of Microsoft SharePoint Server 2010. These include the following:

  • Boundaries: Static limits that cannot be exceeded by design

  • Thresholds: Configurable limits that can be exceeded to accommodate specific requirements

  • Supported limits: Configurable limits that have been set by default to a tested value

Note:

The capacity planning information in this document provides guidelines for you to use in your planning. It is based on testing performed at Microsoft, on live properties. However, your results are likely to vary based on the equipment you use and the features and functionality that you implement for your sites.

In this article:

  • Overview of boundaries and limits

    • Boundaries, thresholds and supported limits

    • How limits are established

  • Limits and boundaries

    • Limits by hierarchy

      • Web application limits

      • Web server and application server limits

      • Content database limits

      • Site collection limits

      • List and library limits

      • Column limits

      • Page limits

    • Limits by feature

      • Search limits

      • User Profile Service limits

      • Content deployment limits

      • Blog limits

      • Business Connectivity Services limits

      • Workflow limits

      • Managed Metadata term store (database) limits

      • Visio Services limits

      • SharePoint Web Analytics service limits

      • PerformancePoint Services limits

      • Word Automation Services limits

      • SharePoint Workspace limits

      • OneNote limits

      • Office Web Application Service limits

      • Project Server limits

Overview of boundaries and limits

This article contains information to help you understand the tested performance and capacity limits of SharePoint Server 2010, and offers guidelines for how limits relate to acceptable performance. Use the information in this article to determine whether your planned deployment falls within acceptable performance and capacity limits, and to appropriately configure limits in your environment.

The test results and guidelines provided in this article apply to a single SharePoint Server 2010 farm. Adding servers to the installation might not increase the capacity limits of the objects that are listed in the tables in the Limits and boundaries section later in this topic. On the other hand, adding server computers increases the throughput of a server farm, which might be necessary to achieve acceptable performance with many objects. In some cases, the requirements for high numbers of objects in a solution might require more servers in the farm.

Note that there are many factors that can affect performance in a given environment, and each of these factors can affect performance in different areas. Some of the test results and recommendations in this article might be related to features or user operations that do not exist in your environment, and therefore do not apply to your solution. Only thorough testing can give you exact data related to your own environment.

Boundaries, thresholds and supported limits

In SharePoint Server 2010, there are certain limits that are by design and cannot be exceeded, and other limits that are set to default values that may be changed by the farm administrator. There are also certain limits that are not represented by a configurable value, such as the number of site collections per Web application.

  • Boundaries are absolute limits that cannot be exceeded by design. It is important to understand these limits to ensure that you do not make incorrect assumptions when you design your farm.

    An example of a boundary is the 2 GB document size limit; you cannot configure SharePoint Server to store documents that are larger than 2 GB. This is a built-in absolute value, and cannot be exceeded by design.

  • Thresholds are those that have a default value that cannot be exceeded unless the value is modified. Thresholds can, in certain circumstances, be exceeded to accommodate variances in your farm design, but it is important to understand that doing this may affect the performance of the farm in addition to the effective value of other limits.

    The default value of certain thresholds can only be exceeded up to an absolute maximum value. A good example is the document size limit. By default, the default document size threshold is set to 50MB, but can be changed to support the maximum boundary of 2GB.

  • Supported limits define the tested value for a given parameter. The default values for these limits were defined by testing, and represent the known limitations of the product. Exceeding supported limits may cause unexpected results, significant decrease in performance, or other harmful effects.

    Some supported limits are configurable parameters that are set by default to the recommended value, while other supported limits relate to parameters that are not represented by a configurable value.

An example of a supported limit is the number of site collections per Web application. The supported limit is 250,000, which is the largest number of site collections per Web application that met performance benchmarks during testing.

It is important to be aware that many of the limit values that are provided in this document represent a point in a curve that describes an increasing resource load and concomitant decrease in performance as the value increases. Therefore, exceeding certain limits, such as the number of site collections per Web application, may only result in a fractional decrease in farm performance. However, in most cases, operating at or near an established limit is not a best practice, as acceptable performance and reliability targets are best achieved when a farm's design provides for a reasonable balance of limits values.

Thresholds and supported limits guidelines are determined by performance. In other words, you can exceed the default values of the limits, but as you increase the limit value, farm performance and the effective value of other limits may be affected. Many limits in SharePoint Server can be changed, but it is important to understand how changing a given limit affects other parts of the farm.

How limits are established

In SharePoint Server 2010, thresholds and supported limits are established through testing and observation of farm behavior under increasing loads up to the point where farm services and operations reach their effective operational limits. Some farm services and components can support a higher load than others so that in some cases you must assign a limit value based on an average of several factors.

For example, observations of farm behavior under load when site collections are added indicate that certain features exhibit unacceptably high latency while other features are still operating within acceptable parameters. Therefore, the maximum value assigned to the number of site collections is not absolute, but is calculated based on an expected set of usage characteristics in which overall farm performance would be acceptable at the given limit under most circumstances.

Obviously, if some services are operating under parameters that are higher than those used for limits testing, the maximum effective limits of other services will be reduced. It is therefore important to execute rigorous capacity management and scale testing exercises for specific deployments in order to establish effective limits for that environment.

Note: We do not describe the hardware that was used to validate the limits in this document, because the limits were collected from multiple farms and environments. For descriptions of the farms we used in testing, see Performance and capacity test results and recommendations (SharePoint Server 2010) and Performance and capacity technical case studies (SharePoint Server 2010).

The Equalizer Metaphor

You can consider thresholds and supported limits as sliders on a graphic equalizer, with each limit representing a certain frequency. In this metaphor, increasing the value of one limit may decrease the effective value of one or more other limits.

Imagine that one slider represents the maximum number of documents per library, a supported limit with a maximum tested value of around 30 million. However, this value depends on another slider, which represents the maximum size of documents in the farm, a threshold with a default value of 50 MB.

If you change the maximum size of documents to 1 GB to accommodate videos or other large objects, the number of documents your library can serve to users efficiently is reduced accordingly. For example, a given farm's hardware configuration and topology may support 1 million documents up to 50 MB. However, the same farm with the same number of documents cannot meet the same latency and throughput targets if the farm is serving a larger average document size because the file size limit was set to 1 GB.

The degree to which the maximum number of documents is reduced in this example is difficult to predict and is based on the number of large files in the library, the volume of data that they contain, the farm's usage characteristics, and the availability of hardware resources.

Limits and boundaries

This section lists the objects that can be a part of a solution and provides guidelines for acceptable performance for each kind of object. Acceptable performance means that the system as tested can support that number of objects, but that the number cannot be exceeded without some decrease in performance or a reduction in the value of related limits. Objects are listed both by scope and by feature. Limits data is provided, together with notes that describe the conditions under which the limit is obtained and links to additional information where available.

Use the guidelines in this article to review your overall solution plans. If your solution plans exceed the recommended guidelines for one or more objects, take one or more of the following actions:

  • Evaluate the solution to ensure that compensations are made in other areas.

  • Flag these areas for testing and monitoring as you build your deployment.

  • Redesign or partition the solution to ensure that you do not exceed capacity guidelines.

Limits by hierarchy

This section provides limits sorted by the logical hierarchy of a SharePoint Server 2010 farm.

Web application limits

The following table lists the recommended guidelines for Web applications.

Limit Maximum value Limit type Notes

Content database

300 per Web application

Supported

With 300 content databases per Web application, end user operations such as opening the site or site collections are not affected. But administrative operations such as creating a new site collection will experience decrease in performance. We recommend that you use Windows PowerShell to manage the Web application when a large number of content databases are present, because the management interface becomes slow and difficult to navigate.

Zone

5 per Web application

Boundary

The number of zones defined for a farm is hard-coded to 5. Zones include Default, Intranet, Extranet, Internet, and custom.

Managed path

20 per Web application

Supported

Managed paths are cached on the Web server, and CPU resources are used to process incoming requests against the managed path list.

Exceeding 20 managed paths per Web application adds more load to the Web server for each request.

If you plan to exceed twenty managed paths in a given Web application, we recommend that you test for acceptable system performance.

Solution cache size

300 MB per Web application

Threshold

The solution cache allows the InfoPath Forms service to hold solutions in cache in order to speed up retrieval of the solutions. If the cache size is exceeded, solutions are retrieved from disk, which may slow down response times. You can configure the size of the solution cache by using the Windows PowerShell cmdlet Set-SPInfoPathFormsService. For more information, see Set-SPInfoPathFormsService.

Site collection

250,000 per Web application

Supported

The maximum recommended number of site collections per Web application is 250,000.

Note that this limit is affected by other factors that might reduce the effective number of site collections that can be supported by a given Web application. Care must be exercised to avoid exceeding supported limits when a container object, such as a content database, contains a large number of other objects.

For example, in a farm that contains a large number of Web applications, the total number of site collections might reach a number that cannot effectively be supported by farm resources. This can be true even when both the number of Web applications per farm and the number of site collections per Web application fall within their supported limits.

Similarly, if a farm contains a smaller total number of content databases, each of which contains a large number of site collections, farm performance might be adversely affected long before the supported limit for the number of site collections is reached.

The following case illustrates this point.

Farm A contains a Web application that has 200 content databases, a supported configuration. If each of these content databases contains 200 site collections, the total number of site collections in the Web application will be 40,000, which falls within supported limits. However, if each content database contains 2,000 site collections, even though this number is supported for a content database, the total number of site collections in the Web application will be 400,000, which exceeds the limit for the number of site collections per Web application.

Web server and application server limits

The following table lists the recommended guidelines for Web servers on the farm.

Limit Maximum value Limit type Notes

Application pools

10 per Web server

Threshold

The maximum number is determined by hardware capabilities.

This limit is dependent largely upon:

  • The amount of RAM allocated to the Web servers

  • The workload that the farm is serving, that is, the user base and the usage characteristics (a single highly active application pools can reach 10 GB or more)

Content database limits

The following table lists the recommended guidelines for content databases.

Limit Maximum value Limit type Notes

Content database size (general usage scenarios)

200 GB per content database

Supported

We strongly recommended limiting the size of content databases to 200 GB, except when the circumstances in the following rows in this table apply.

If you are using Remote BLOB Storage (RBS), the total volume of remote BLOB storage and metadata in the content database must not exceed this limit.

Content database size (all usage scenarios)

4 TB per content database

Supported

Content databases of up to 4 TB are supported when the following requirements are met:

  • Disk sub-system performance of 0.25 IOPs per GB. 2 IOPs per GB is recommended for optimal performance.

  • You must have developed plans for high availability, disaster recovery, future capacity, and performance testing.

You should also carefully consider the following factors:

  • Requirements for backup and restore may not be met by the native SharePoint Server 2010 backup for content databases larger than 200 GB. It is recommended to evaluate and test SharePoint Server 2010 backup and alternative backup solutions to determine the best solution for your specific environment.

  • It is strongly recommended to have proactive skilled administrator management of the SharePoint Server 2010 and SQL Server installations.

  • The complexity of customizations and configurations on SharePoint Server 2010 may require refactoring (or splitting) of data into multiple content databases. Seek advice from a skilled professional architect and perform testing to determine the optimum content database size for your implementation. Examples of complexity may include custom code deployments, use of more than 20 columns in property promotion, or features listed as not to be used in the over 4 TB section below.

  • Refactoring of site collections allows for scale out of a SharePoint Server 2010 implementation across multiple content databases. This enables SharePoint Server 2010 implementations to scale indefinitely. This refactoring will be easier and faster when content databases are less than 200 GB.

  • It is suggested that for ease of backup and restore that individual site collections throughout a content database be limited to 100 GB. For more information, see Site collection limits.

For more information on SharePoint Server 2010 data size planning, see Storage and SQL Server capacity planning and configuration (SharePoint Server 2010).

Important:

Content databases of over 4 TB, except for use in document archive scenarios (described in the row below), are not recommended. Upgrading of site collections within these content databases is likely to be very difficult and time-consuming.

It is strongly recommended that you scale out across multiple content databases, rather than exceed 4 TB of data in a single content database.

Content database size (document archive scenario)

No explicit content database limit

Supported

Content databases with no explicit size limit for use in document archive scenarios are supported when the following requirements are met:

  • You must meet all requirements from the "Content database size (all usage scenarios)" limit earlier in this table, and you should ensure that you have carefully considered all the factors discussed in the Notes field of that limit.

  • SharePoint Server 2010 sites must be based on Document Center or Records Center site templates.

  • Less than 5% of the content in the content database is accessed each month on average, and less than 1% of content is modified or written each month on average.

  • Do not use alerts, workflows, link fix-ups, or item level security on any SharePoint Server 2010 objects in the content database.

    Note:

    Document archive content databases can be configured to accept documents from Content Routing workflows.

For more information about large-scale document repositories, see Estimate Performance and Capacity Requirements for Large Scale Document Repositories (http://technet.microsoft.com/en-us/library/ff608068.aspx), and the Typical large-scale content management scenarios section of the article Enterprise content storage planning (SharePoint Server 2010).

Content database items

60 million items including documents and list items

Supported

The largest number of items per content database that has been tested on SharePoint Server 2010 is 60 million items, including documents and list items. If you plan to store more than 60 million items in SharePoint Server 2010, you must deploy multiple content databases.

Site collections per content database

2,000 recommended

5,000 maximum

Supported

We strongly recommended limiting the number of site collections in a content database to 2,000. However, up to 5,000 site collections in a database are supported.

These limits relate to speed of upgrade. The larger the number of site collections in a database, the slower the upgrade.

The limit on the number of site collections in a database is subordinate to the limit on the size of a content database that has more than one site collection (200 GB). Therefore, as the number of site collections in a database increases, the average size of the site collections it contains must decrease.

Exceeding the 2,000 site collection limit puts you at risk of longer downtimes during upgrades. If you plan to exceed 2,000 site collections, we recommend that you have a clear upgrade strategy, and obtain additional hardware to speed up upgrades and software updates that affect databases.

To set the warning level for the number of sites in a content database, use the Windows PowerShell cmdlet Set-SPContentDatabase with the -WarningSiteCount parameter. For more information, see Set-SPContentDatabase.

Remote BLOB Storage (RBS) storage subsystem on Network Attached Storage (NAS)

Time to first byte of any response from the NAS cannot exceed 20 milliseconds

Boundary

When SharePoint Server 2010 is configured to use RBS, and the BLOBs reside on NAS storage, consider the following boundary.

From the time that SharePoint Server 2010 requests a BLOB, until it receives the first byte from the NAS, no more than 20 milliseconds can pass.

Site collection limits

The following table lists the recommended guidelines for site collections.

Limit Maximum value Limit type Notes

Web site

250,000 per site collection

Supported

The maximum recommended number of sites and subsites is 250,000 sites.

You can create a very large total number of Web sites by nesting subsites. For example, in a shallow hierarchy with 100 sites, each with 1,000 subsites, you would have a total of 100,000 Web sites. Or a deep hierarchy with 100 sites, each with 10 subsite levels would also contain a total of 100,000 Web sites.

Note: Deleting or creating a site or subsite can significantly affect a site's availability. Access to the site and subsites will be limited while the site is being deleted. Attempting to create many subsites at the same time may also fail.

Site collection size

Maximum size of the content database

Supported

A site collection can be as large as the content database size limit for the applicable usage scenario. For more information about the different content database size limits for specific usage scenarios, see the Content database limits table in this article.

In general, we strongly recommend limiting the size of site collections to 100 GB for the following reasons:

  • Certain site collection actions, such as site collection backup/restore or the Windows PowerShell cmdlet Move-SPSite, cause large Microsoft SQL Server operations which can affect performance or fail if other site collections are active in the same database. For more information, see Move-SPSite.

  • SharePoint site collection backup and restore is only supported for a maximum site collection size of 100 GB. For larger site collections, the complete content database must be backed up. If multiple site collections larger than 100 GB are contained in a single content database, backup and restore operations can take a long time and are at risk of failure.

List and library limits

The following table lists the recommended guidelines for lists and libraries. For more information, see Designing large lists and maximizing list performance (SharePoint Server 2010).

Limit Maximum value Limit type Notes

List row size

8,000 bytes per row

Boundary

Each list or library item can only occupy 8,000 bytes in total in the database. 256 bytes are reserved for built-in columns, which leaves 7,744 bytes for end-user columns. For details on how much space each kind of field consumes, see Column limits.

File size

2 GB

Boundary

The default maximum file size is 50 MB. This can be increased up to 2 GB, however a large volume of very large files can affect farm performance.

Documents

30,000,000 per library

Supported

You can create very large document libraries by nesting folders, or using standard views and site hierarchy. This value may vary depending on how documents and folders are organized, and by the type and size of documents stored.

Major versions

400,000

Supported

If you exceed this limit, basic file operations—such as file open or save, delete, and viewing the version history— may be unsuccessful.

Items

30,000,000 per list

Supported

You can create very large lists using standard views, site hierarchies, and metadata navigation. This value may vary depending on the number of columns in the list and the usage of the list.

Rows size limit

6 table rows internal to the database used for a list or library item

Supported

Specifies the maximum number of table rows internal to the database that can be used for a list or library item. To accommodate wide lists with many columns, each item may be wrapped over several internal table rows, up to six rows by default. This is configurable by farm administrators through the object model only. The object model method is SPWebApplication.MaxListItemRowStorage.

Bulk operations

100 items per bulk operation

Boundary

The user interface allows a maximum of 100 items to be selected for bulk operations.

List view lookup threshold

8 join operations per query

Threshold

Specifies the maximum number of joins allowed per query, such as those based on lookup, person/group, or workflow status columns. If the query uses more than eight joins, the operation is blocked. This does not apply to single item operations. When using the maximal view via the object model (by not specifying any view fields), SharePoint will return up to the first eight lookups.

List view threshold

5,000

Threshold

Specifies the maximum number of list or library items that a database operation, such as a query, can process at the same time outside the daily time window set by the administrator during which queries are unrestricted.

List view threshold for auditors and administrators

20,000

Threshold

Specifies the maximum number of list or library items that a database operation, such as a query, can process at the same time when they are performed by an auditor or administrator with appropriate permissions. This setting works with Allow Object Model Override.

Subsite

2,000 per site view

Threshold

The interface for enumerating subsites of a given Web site does not perform well as the number of subsites surpasses 2,000. Similarly, the All Site Content page and the Tree View Control performance will decrease significantly as the number of subsites grows.

Coauthoring in Microsoft Word and Microsoft PowerPoint for .docx, .pptx and .ppsx files

10 concurrent editors per document

Threshold

Recommended maximum number of concurrent editors is 10. The boundary is 99.

If there are 99 co-authors who have a single document opened for concurrent editing, any user after the 100th user sees a "File in use" error and have to view a read-only copy.

More than 10 co-editors will lead to a gradually decreased user experience with more conflicts and users will have to go through more iterations to get their changes to upload successfully.

Security scope

50,000 per list

Threshold

The maximum number of unique security scopes set for a list cannot exceed 50,000. For most farms, we recommend that you consider lowering this limit to 5,000 unique scopes. For large lists, consider using a design that uses as few unique permissions as possible. When the number of unique security scopes for a list exceeds the value of the list view threshold (set by default at 5,000 list items), additional SQL Server round trips occur when the list is viewed, which can adversely affect list view performance.

A scope is the security boundary for a securable object and any of its children that do not have a separate security boundary defined. A scope contains an Access Control List (ACL), but unlike NTFS ACLs, a scope can include security principals that are specific to SharePoint Server. The members of an ACL for a scope can include Windows users, user accounts other than Windows users (such as forms-based accounts), Active Directory groups, or SharePoint groups.

Column limits

SharePoint Server 2010 data is stored in SQL Server tables. To allow for the maximum number of possible columns in a SharePoint list, SharePoint Server will create several rows in the database when data will not fit on a single row. This is called row wrapping.

Each time that a row is wrapped in SQL Server, an additional query load is put on the server when that item is queried because a SQL join must be included in the query. To prevent too much load, by default a maximum of six SQL Server rows are allowed for a SharePoint item. This limit leads to a particular limitation on the number of columns of each type that can be included in a SharePoint list. The following table describes the limits for each column type.

The row wrapping parameter can be increased beyond six, but this may result in too much load on the server. Performance testing is recommended before exceeding this limit. For more information, see Designing large lists and maximizing list performance (SharePoint Server 2010).

Each column type has a size value that is listed in bytes. The sum of all columns in a SharePoint list cannot exceed 8,000 bytes. Depending on column usage, users can reach the 8,000 byte limitation before reaching the six-row row wrapping limitation.

Limit Maximum value Limit type Size per column Notes

Single line of text

276

Threshold

28 bytes

SQL Server row wrapping occurs after each 64 columns in a SharePoint list. The default row wrapping value of six allows for a maximum of 384 Single line of text columns per SharePoint list (6 * 64 = 384). However, because the limit per SharePoint list item is 8,000 bytes, of which 256 bytes are reserved for built-in SharePoint columns, the actual limit is 276 Single line of text columns.

Multiple Lines of Text

192

Threshold

28 bytes

SQL Server row wrapping occurs after each 32 columns in a SharePoint list. The default row wrapping value of six allows for a maximum of 192 Multiple lines of text columns per SharePoint list (6 * 32 = 192).

Choice

276

Threshold

28 bytes

SQL Server row wrapping occurs after each 64 columns in a SharePoint list. The default row wrapping value of 6 allows for a maximum of 384 Choice columns per SharePoint list (6 * 64 = 384); ); however because the limit per SharePoint list item is 8,000 bytes, of which 256 bytes are reserved for built-in SharePoint columns, the actual limit should be 276 Choice columns.

Number

72

Threshold

12 bytes

SQL Server row wrapping occurs after each 12 columns in a SharePoint list. The default row wrapping value of six allows for a maximum of 72 Number columns per SharePoint list (6 * 12 = 72).

Currency

72

Threshold

12 bytes

SQL Server row wrapping occurs after each 12 columns in a SharePoint list. The default row wrapping value of six allows for a maximum of 72 Currency columns per SharePoint list (6 * 12 = 72).

Date and Time

48

Threshold

12 bytes

SQL Server row wrapping occurs after each eight columns in a SharePoint list. The default row wrapping value of six allows for a maximum of 48 Date and Time columns per SharePoint list (6 * 8 = 48).

Lookup

96

Threshold

4 bytes

SQL Server row wrapping occurs after each 16 columns in a SharePoint list. The default row wrapping value of six allows for a maximum of 96 single value Lookup columns per SharePoint list (6 * 16 = 96).

Yes / No

96

Threshold

5 bytes

SQL Server row wrapping occurs after each 16 columns in a SharePoint list. The default row wrapping value of six allows for a maximum of 96 Yes / No columns per SharePoint list (6 * 16 = 96).

Person or group

96

Threshold

4 bytes

SQL Server row wrapping occurs after each 16 columns in a SharePoint list. The default row wrapping value of six allows for a maximum of 96 Person or Group columns per SharePoint list (6 * 16 = 96).

Hyperlink or picture

138

Threshold

56 bytes

SQL Server row wrapping occurs after each 32 columns in a SharePoint list. The default row wrapping value of six allows for a maximum of 192 Hyperlink or Picture columns per SharePoint list (6 * 32 = 192) ); however because the limit per SharePoint list item is 8,000 bytes, of which 256 bytes are reserved for built-in SharePoint columns, the actual limit should be 138 Hyperlink or Picture columns.

Calculated

48

Threshold

28 bytes

SQL Server row wrapping occurs after each eight columns in a SharePoint list. The default row wrapping value of six allows for a maximum of 48 Calculated columns per SharePoint list (6 * 8 = 48).

GUID

6

Threshold

20 bytes

SQL Server row wrapping occurs after each column in a SharePoint list. The default row wrapping value of six allows for a maximum of 6 GUID columns per SharePoint list (6 * 1 = 6).

Int

96

Threshold

4 bytes

SQL Server row wrapping occurs after each 16 columns in a SharePoint list. The default row wrapping value of six allows for a maximum of 96 Int columns per SharePoint list (6 * 16 = 96).

Managed metadata

94

Threshold

40 bytes for the first, 32 bytes for each successive

The first Managed Metadata field added to a list is allocated four columns:

  • A lookup field for the actual tag

  • A hidden text field for the string value

  • A lookup field for the catch all

  • A lookup field for spillover of the catch all

Each successive Managed Metadata field added to a list adds two more columns:

  • A lookup field for the actual tag

  • A hidden text field for the string value

The maximum number of columns of Managed Metadata is calculated as (14 + (16 * (n-1))) where n is the row mapping value (default of 6).

External Data columns have the concept of a primary column and secondary columns. When you add an external data column, you can select some secondary fields of the external content type that you want to be added to the list. For example, given an External Content Type "Customer" which has fields like "ID", "Name", "Country", and "Description", when you add an External Data column of type "Customer" to a list, you can add secondary fields to show the "ID", "Name" and "Description" of the Customer. Overall these are the columns that get added:

  • Primary column: A text field.

  • Hidden Id column: A multi-line text field.

  • Secondary columns: Each secondary column is a text/number/Boolean/multi-line text that is based on the data type of the secondary column as defined in the Business Data Catalog model. For example, ID might be mapped to a Number column; Name might be mapped to a Single line of text column; Description might be mapped to a Multiple lines of text column.

Page limits

The following table lists the recommended guidelines for pages.

Limit | Maximum value | Limit type | Notes
Web parts | 25 per wiki or Web Part page | Threshold | This figure is an estimate based on simple Web Parts. The complexity of the Web parts dictates how many Web Parts can be used on a page before performance is affected.

Security limits

Limit Maximum value Limit type Notes

Number of SharePoint groups a user can belong to

5,000

Supported

This is not a hard limit but it is consistent with Active Directory guidelines. There are several things that affect this number:

  • The size of the user token

  • The groups cache: SharePoint Server 2010 has a table that caches the number of groups a user belongs to as soon as those groups are used in access control lists (ACLs).

  • The security check time: as the number of groups that a user is a member of increases, the time that is required for the access check increases also.

Users in a site collection

2 million per site collection

Supported

You can add millions of people to your Web site by using Microsoft Windows security groups to manage security instead of using individual users.

This limit is based on manageability and ease of navigation in the user interface.

When you have many entries (security groups of users) in the site collection (more than one thousand), you should use Windows PowerShell to manage users instead of the UI. This will provide a better management experience.

Active Directory Principles/Users in a SharePoint group

5,000 per SharePoint group

Supported

SharePoint Server 2010 enables you to add users or Active Directory groups to a SharePoint group.

Having up to 5,000 users (or Active Directory groups or users) in a SharePoint group provides acceptable performance.

The activities most affected by this limit are as follows:

  • Fetching users to validate permissions. This operation takes incrementally longer with growth in number of users in a group.

  • Rendering the membership of the view. This operation will always require time.

SharePoint groups

10,000 per site collection

Supported

Above 10,000 groups, the time to execute operations is increased significantly. This is especially true of adding a user to an existing group, creating a new group, and rendering group views.

Security principal: size of the Security Scope

5,000 per Access Control List (ACL)

Supported

The size of the scope affects the data that is used for a security check calculation. This calculation occurs every time that the scope changes. There is no hard limit, but the bigger the scope, the longer the calculation takes.

Limits by feature

This section lists limits sorted by feature.

Search limits

The following table lists the recommended guidelines for Search.

Limit Maximum value Limit type Notes

SharePoint search service applications

20 per farm

Supported

Multiple SharePoint search service applications can be deployed on the same farm, because you can assign search components and databases to separate servers. The recommended limit of 20 is less than the maximum limit for all service applications in a farm.

Crawl databases and database Items

10 crawl databases per search service application

25 million items per crawl database

Threshold

The crawl database stores the crawl data (time/status, etc.) about all items that have been crawled. The supported limit is 10 crawl databases per SharePoint Search service application.

The recommended limit is 25 million items per crawl database (or a total of four crawl databases per search service application).

Crawl components

16 per search service application

Threshold

The recommended limit per application is 16 total crawl components; with two per crawl database, and two per server, assuming the server has at least eight processors (cores).

The total number of crawl components per server must be less than 128/(total query components) to minimize propagation I/O degradation. Exceeding the recommended limit may not increase crawl performance; in fact, crawl performance may decrease based on available resources on the crawl server, database, and content host.

Index partitions

20 per search service application; 128 total

Threshold

The index partition holds a subset of the search service application index. The recommended limit is 20. Increasing the number of index partitions results in each partition holding a smaller subset of the index, reducing the RAM and disk space that is needed on the query server hosting the query component assigned to the index partition. The boundary for the total number of index partitions is 128.

Indexed items

100 million per search service application; 10 million per index partition

Supported

SharePoint Search supports index partitions, each of which contains a subset of the search index. The recommended maximum is 10 million items in any partition. The overall recommended maximum number of items (e.g., people, list items, documents, Web pages) is 100 million.

Crawl log entries

100 million per search application

Supported

This is the number of individual log entries in the crawl log. It will follow the "Indexed items" limit.

Property databases

10 per search service application;128 total

Threshold

The property database stores the metadata for items in each index partition associated with it. An index partition can only be associated with one property store. The recommended limit is 10 property databases per search service application. The boundary for index partitions is 128.

Query components

128 per search application; 64/(total crawl components) per server

Threshold

The total number of query components is limited by the ability of the crawl components to copy files. The maximum number of query components per server is limited by the ability of the query components to absorb files propagated from crawl components.

Scope rules

100 scope rules per scope; 600 total per search service application

Threshold

Exceeding this limit will reduce crawl freshness, and delay potential results from scoped queries.

Scopes

200 site scopes and 200 shared scopes per search service application

Threshold

Exceeding this limit may reduce crawl efficiency and, if the scopes are added to the display group, affect end-user browser latency. Also, display of the scopes in the search administration interface degrades as the number of scopes passes the recommended limit.

Display groups

25 per site

Threshold

Display groups are used for a grouped display of scopes through the user interface. Exceeding this limit starts degrading the scope experience in the search administration interface.

Alerts

1,000,000 per search application

Supported

This is the tested limit.

Content sources

50 per search service application

Threshold

The recommended limit of 50 can be exceeded up to the boundary of 500 per search service application. However, fewer start addresses should be used, and the concurrent crawl limit must be followed.

Start addresses

100 per content source

Threshold

The recommended limit can be exceeded up to the boundary of 500 per content source. However, the more start addresses you have, the fewer content sources should be used. When you have many start address, we recommend that you put them as links on an html page, and have the HTTP crawler crawl the page, following the links.

Concurrent crawls

20 per search application

Threshold

This is the number of crawls underway at the same time. Exceeding this number may cause the overall crawl rate to decrease.

Crawled properties

500,000 per search application

Supported

These are properties that are discovered during a crawl.

Crawl impact rule

100

Threshold

Recommended limit of 100 per farm. The recommendation can be exceeded. However, display of the site hit rules in the search administration interface is decreased. At approximately 2,000 site hit rules, the Manage Site Hit Rules page becomes unreadable.

Crawl rules

100 per search service application

Threshold

This value can be exceeded. However, display of the crawl rules in the search administration interface is decreased.

Managed properties

100,000 per search service application

Threshold

These are properties used by the search system in queries. Crawled properties are mapped to managed properties.

Mappings

100 per managed property

Threshold

Exceeding this limit may decrease crawl speed and query performance.

URL removals

100 removals per operation

Supported

This is the maximum recommended number of URLs that should be removed from the system in one operation.

Authoritative pages

1 top level and minimal second and third level pages per search service application

Threshold

The recommended limit is one top-level authoritative page, and as few second -and third-level pages as possible to achieve the desired relevance.

The boundary is 200 per relevance level per search application, but adding additional pages may not achieve the desired relevance. Add the key site to the first relevance level. Add more key sites at either second or third relevance levels, one at a time, and evaluate relevance after each addition to ensure that the desired relevance effect is achieved.

Keywords

200 per site collection

Supported

The recommended limit can be exceeded up to the maximum (ASP.NET-imposed) limit of 5,000 per site collection given five Best Bets per keyword. If you exceed this limit, display of keywords on the site administration user interface will decrease. The ASP.NET-imposed limit can be changed by editing the web.config and client.config files (MaxItemsInObjectGraph).

Metadata properties recognized

10,000 per item crawled

Boundary

This is the number of metadata properties that can be determined and potentially mapped or used for queries when an item is crawled.

User Profile Service limits

The following table lists the recommended guidelines for User Profile Service.

Limit | Maximum value | Limit type | Notes
User profiles | 2,000,000 per service application | Supported | A user profile service application can support up to 2 million user profiles with full social features functionality. This number represents the number of profiles that can be imported into the people profile store from a directory service, and also the number of profiles a user profile service application can support without leading to performance decreases in social features.
Social tags, notes and ratings | 500,000,000 per social database | Supported | Up to 500 million total social tags, notes and ratings are supported in a social database without significant decreases in performance. However, database maintenance operations such as backup and restore may show decreased performance at that point.

Content deployment limits

The following table lists the recommended guidelines for content deployment.

Limit Maximum value Limit type Notes

Content deployment jobs running on different paths

20

Supported

For concurrently running jobs on paths that are connected to site collections in the same source content database, there is an increased risk of deadlocks on the database. For jobs that must run concurrently, we recommend that you move the site collections into different source content databases.

Note:

Concurrent running jobs on the same path are not possible.

If you are using Microsoft SQL Server snapshots for content deployment, each path creates a snapshot. This increases the I/O requirements for the source database.

For more information, see About deployment paths and jobs.

Blog limits

The following table lists the recommended guidelines for blogs.

Limit | Maximum value | Limit type | Notes
Blog posts | 5,000 per site | Supported | The maximum number of blog posts is 5,000 per site.
Comments | 1,000 per post | Supported | The maximum number of comments is 1,000 per post.

Business Connectivity Services limits

The following table lists the recommended guidelines for Business Connectivity Services.

Limit | Maximum value | Limit type | Notes
ECT (in-memory) | 5,000 per web server (per tenant) | Boundary | Total number of external content type (ECT) definitions loaded in memory at a given point in time on a web server.
External system connections | 500 per web server | Boundary | Number of active/open external system connections at a given point in time. The default maximum value is 200. The boundary is 500. This limit is enforced at the web Server scope, regardless of the kind of external system (for example, database, .NET assembly, and so on) The default maximum is used to restrict the number of connections. An application can specify a larger limit via execution context. The boundary enforces the maximum even for applications that do not respect the default.
Database items returned per request | 2,000 per database connector | Threshold | Number of items per request the database connector can return. The default maximum of 2,000 is used by the database connector to restrict the number of result that can be returned per page. The application can specify a larger limit via execution context. The Absolute Max enforces the maximum even for applications that do not respect the default. The boundary for this limit is 1,000,000.

Workflow limits

The following table lists the recommended guidelines for workflow.

Limit Maximum value Limit type Notes

Workflow postpone threshold

15

Threshold

15 is the maximum number of workflows allowed to be executing against a content database at the same time, excluding instances that are running in the timer service. When this threshold is reached, new requests to activate workflows will be queued to be run by the workflow timer service later. As non-timer execution is completed, new requests will count against this threshold. This is limit can be configured by using the Set-SPFarmConfig Windows PowerShell cmdlet. For more information, see Set-SPFarmConfig.

Note: This limit does not refer to the total number of workflow instances that can be in progress. Instead, it is the number of instances that are being processed. Increasing this limit increases the throughput of starting and completing workflow tasks but also increases load against the content database and system resources.

Workflow timer batch size

100

Threshold

The number of events that each run of the workflow timer job will obtain and deliver to workflows. It is configurable by using Windows PowerShell. To allow for additional events, you can run additional instances of the Microsoft SharePoint Foundation Workflow Timer Service.

Managed Metadata term store (database) limits

The following table lists the recommended guidelines for managed metadata term stores.

Limit Maximum value Limit type Notes

Maximum number of levels of nested terms in a term store

7

Supported

Terms in a term set can be represented hierarchically. A term set can have up to seven levels of terms (a parent term, and six levels of nesting below it.)

Maximum number of term sets in a term store

1,000

Supported

You can have up to 1,000 term sets in a term store.

Maximum number of terms in a term set

30,000

Supported

30,000 is the maximum number of terms in a term set.

Note:

Additional labels for the same term, such as synonyms and translations, do not count as separate terms.

Total number of items in a term store

1,000,000

Supported

An item is either a term or a term set. The sum of the number of terms and term sets cannot exceed 1,000,000. Additional labels for the same term, such as synonyms and translations, do not count as separate terms.

Note:

You cannot have both the maximum number of term sets and the maximum number of terms at the same time in a term store.

Visio Services limits

The following table lists the recommended guidelines for instances of Visio Services in Microsoft SharePoint Server 2010.

Limit Maximum value Limit type Notes

File size of Visio web drawings

50 MB

Threshold

Visio Services has a configuration setting that enables the administrator to change the maximum size of web drawings that Visio processes.

Larger file sizes have the following side effects:

  • Increase in the memory footprint of Visio Services.

  • Increase in CPU usage.

  • Reduction in application server requests per second.

  • Increase overall latency.

  • Increase SharePoint farm network load

Visio web drawing recalculation time-out

120 seconds

Threshold

Visio Services has a configuration setting that enables the administrator to change the maximum time that it can spend recalculating a drawing after a data refresh.

A larger recalculation time-out leads to:

  • Reduction in CPU and memory availability.

  • Reduction in application requests per second.

  • Increase in average latency across all documents.

A smaller recalculation time-out leads to:

  • Reduction of the complexity of diagrams that can be displayed.

  • Increase in requests per second.

  • Decrease in average latency across all documents.

Visio Services minimum cache age (data connected diagrams)

Minimum cache age: 0 to 24hrs

Threshold

Minimum cache age applies to data connected diagrams. It determines the earliest point at which the current diagram can be removed from cache.

Setting Min Cache Age to a very low value will reduce throughput and increase latency, because invalidating the cache too often forces Visio to recalculate often and reduces CPU and memory availability.

Visio Services maximum cache age (non-data connected diagrams)

Maximum cache age: 0 to 24hrs

Threshold

Maximum cache age applies to non-data connected diagrams. This value determines how long to keep the current diagram in memory.

Increasing Max Cache Age decreases latency for frequently requested drawings.

However, setting Max Cache Age to a very high value increases latency and slows throughput for items that are not cached, because the items already in cache consume and reduce available memory.

SharePoint Web Analytics service limits

The following table lists the recommended guidelines for the SharePoint Web Analytics service.

Limit | Maximum value | Limit type | Notes
SharePoint entities | 30,000 per farm when Web Analytics is enabled | Supported | Do not enable Web Analytics if your farm contains, or is expected to contain, more than 30,000 SharePoint entities, which include all Web applications, site collections, and sites. This number is not exact, because different combinations of SharePoint entities might have a greater or lesser effect on farm performance than the tested scenario, which is described in the article Capacity requirements for the Web Analytics Shared Service in SharePoint Server 2010. However, as the number of SharePoint entities in your farm closely approaches this limit, farm performance might fall to unacceptable levels.

For more information about boundaries and limits for the SharePoint Web Analytics service, see Capacity requirements for the Web Analytics Shared Service in SharePoint Server 2010.

PerformancePoint Services limits

The following table lists the recommended guidelines for PerformancePoint Services in Microsoft SharePoint Server 2010.

Limit | Maximum value | Limit type | Notes
Cells | 1,000,000 per query on Excel Services data source | Boundary | A PerformancePoint scorecard that calls an Excel Services data source is subject to a limit of no more than 1,000,000 cells per query.
Columns and rows | 15 columns by 60,000 rows | Threshold | The maximum number of columns and rows when rendering any PerformancePoint dashboard object that uses a Microsoft Excel workbook as a data source. The number of rows could change based on the number of columns.
Query on a SharePoint list | 15 columns by 5,000 rows | Supported | The maximum number of columns and row when rendering any PerformancePoint dashboard object that uses a SharePoint list as a data source. The number of rows could change based on the number of columns.
Query on a SQL Server data source | 15 columns by 20,000 rows | Supported | The maximum number of columns and row when rendering any PerformancePoint dashboard object that uses a SQL Server table data source. The number of rows could change based on the number of columns.

Word Automation Services limits

The following table lists the recommended guidelines for Microsoft Word Automation Services.

Limit Maximum value Limit type Notes

Input file Size

512 MB

Boundary

Maximum file size that can be processed by Microsoft Word Automation Services.

Frequency with which to start conversions (minutes)

1 minute (recommended)

15 minutes (default)

59 minutes (boundary)

Threshold

This setting determines how often the Microsoft Word Automation Services timer job executes. A lower number leads to the timer job running faster. Our testing shows that it is most useful to run this timer job once per minute.

Number of conversions to start per conversion process

For PDF/XPS output formats: 30 x MFor all other output formats: 72 x M Where M is the value of Frequency with which to start conversions (minutes)

Threshold

The number of conversions to start affects the throughput of Microsoft Word Automation Services.

If these values are set larger than the recommended levels then some conversion items may start to fail intermittently and user permissions may expire. User permissions expire 24 hours from the time that a conversion job is started.

Conversion job size

100,000 conversion items

Supported

A conversion job includes one or more conversion items, each of which represents a single conversion to be performed on a single input file in SharePoint. When a conversion job is started (using the ConversionJob.Start method), the conversion job and all conversion items are transmitted over to an application server which then stores the job in the Microsoft Word Automation Services database. A large number of conversion items will increase both the execution time of the Start method and the number of bytes transmitted to the application server.

Total active conversion processes

N-1, where N is the number of cores on each application server

Threshold

An active conversion process can consume a single processing core. Therefore, customers should not run more conversion processes than they have processing cores in their application servers. The conversion timer job and other SharePoint activities also require occasional use of a processing core.

We recommend that you always leave 1 core free for use by the conversion timer job and SharePoint.

Microsoft Word Automation Services database size

2 million conversion items

Supported

Microsoft Word Automation Services maintains a persistent queue of conversion items in its database. Each conversion request generates one or more records.

Microsoft Word Automation Services does not delete records from the database automatically, so the database can grow indefinitely without maintenance. Administrators can manually remove conversion job history by using the Windows PowerShell cmdlet Remove-SPWordConversionServiceJobHistory. For more information, see Remove-SPWordConversionServiceJobHistory.

SharePoint Workspace limits

The following table lists the recommended guidelines for Microsoft SharePoint Workspace 2010.

Limit | Maximum value | Limit type | Notes
SharePoint Workspace synchronization | 30,000 items per list | Boundary | SharePoint Workspace will not synchronize lists that have more than 30,000 items. This restriction exists because the time to download a list that has more than 30,000 items is very long, and resource usage is high.
SharePoint Workspace synchronization | 1800 documents limit in SharePoint Workspace | Boundary | Users are warned when they have more than 500 documents in SharePoint Workspace, but they can continue to add documents.

OneNote limits

The following table lists the recommended guidelines for Microsoft OneNote Services.

Limit Maximum value Limit type Notes

Number of Sections and Section Groups in a OneNote Notebook (on SharePoint)

See limit for "Documents" in List and library limits

Each section counts as one folder and one document in the list. Each section group counts as one folder and one document in the list.

Maximum size of a section

See limit for "File size" in List and library limits

This maximum excludes any images, embedded files, and XPS printouts to OneNote that are larger than 100 KB. Images and embedded files larger than 100 KB are split out into their own binary files. This means that a section with 100 KB of typed data and four embedded Word documents of 1 MB each will be considered a 100 KB section.

Maximum size of an image, embedded file, and XPS OneNote printout in a OneNote section.

See limit for "File size" in List and library limits

Each item is stored as a separate binary file and is therefore subject to file size limits. Each print operation to OneNote will result in one XPS printout binary, even if the printout contains multiple pages.

Maximum size of all images, embedded files, and XPS printouts in a single OneNote page.

Default limit is double the "File size" limit.

Threshold

This applies to embedded content in a single OneNote page, not a Section or Notebook. If users encounter this, they will see the following error in OneNote: jerrcStorageUrl_HotTableFull (0xE0000794). Users can work around this by splitting embedded content into different pages and deleting earlier versions of the page. If users have to adjust this value ("Max Hot Table Size"), the effective limit is half of the absolute value they define (for example, specifying a 400 MB max hot table size means that the maximum size of all embedded content on a page is limited to 200 MB).

Merge operations

One per CPU core per Web server

Boundary

OneNote merges combine changes from multiple users who are co-authoring a notebook. If no CPU core is available to run a merge, a conflict page is generated instead, which forces the user perform the merge manually).

This limit applies whether OneNote is running as a client application or as a Microsoft Office Web Apps.

Office Web Application Service limits

The following table lists the recommended guidelines for Office Web Apps. Office client application limits also apply when an application is running as a Web application.

Limit | Maximum value | Limit type | Notes
Cache size | 100 GB | Threshold | Space available to display documents, created as part of a content database. By default, the cache available to display documents is 100 GB. We do not recommend that you increase the available cache.
Renders | One per document per second per CPU core per application server (maximum eight cores) | Boundary | This is the measured average number of displays that can be performed of "typical" documents on the application server over time.

Project Server limits

The following table lists the recommended guidelines for Microsoft Project Server. For more information about how to plan for Project Server, see Planning and architecture for Project Server 2010.

Limit | Maximum value | Limit type | Notes
End of project time | Date: 12/31/2049 | Boundary | Project plans cannot extend past the date 12/31/2049.
Deliverables per project plan | 1,500 deliverables | Boundary | Project plans cannot contain more than 1,500 deliverables.
Number of fields in a view | 256 | Boundary | A user cannot have more than 256 fields added to a view that they have defined in Project Web App.
Number of clauses in a filter for a view | 50 | Boundary | A user cannot add a filter to a view that has more than 50 clauses in it.

Change History

Date | Description
June 25, 2013 | Updated description for Security scopes.
March 19, 2013 | Corrected typo: changed IIOPs to IOPs. Updated the Application Pools limit type from "Supported" to "Threshold."
May 12, 2010 | Initial publication


Performance and capacity technical case studies (SharePoint Server 2010)
See Also

This section contains technical case studies that describe specific deployments of Microsoft SharePoint Server 2010. Compare the scenarios in these documents to your planned workload and usage characteristics. If your planned design is similar, you can use the documented deployment as a starting point for your own installation.

These articles include information about environments, such as:

  • Environment specifications, such as hardware, farm topology, and configuration

  • The workload used for data generation, including the number and class of users, and farm usage characteristics

  • Farm dataset, including database contents, Search indexes, and external data sources

  • Health and performance data specific to the environment

  • Performance data and recommendations for how to determine the hardware, topology, and configuration you need to deploy a similar environment, and how to optimize your environment for appropriate capacity and performance characteristics

Before reading these articles, it is important that you understand the key concepts behind capacity management in SharePoint Server 2010. For more information, see Capacity management and sizing for SharePoint Server 2010.

In this section:

  • Publishing

    • Enterprise intranet publishing environment technical case study (SharePoint Server 2010)

      Describes the published intranet environment used by employees at Microsoft.

  • Enterprise Intranet Collaboration

    • Enterprise intranet collaboration environment technical case study (SharePoint Server 2010)

      Describes an environment that hosts mission-critical team sites and publishing portals for internal organizations, teams, and projects.

    • Enterprise intranet collaboration environment lab study (SharePoint Server 2010)

      Describes lab testing performed on a similar environment to the enterprise Intranet collaboration environment.

  • Departmental Collaboration

    • Departmental collaboration environment technical case study (SharePoint Server 2010)

      Describes a departmental collaboration environment used by employees of one department inside Microsoft.

    • Divisional portal environment lab study (SharePoint Server 2010)

      Describes lab testing performed on a similar environment to the departmental collaboration environment.

  • Social

    • Social environment technical case study (SharePoint Server 2010)

      Describes an environment that hosts My Sites that present employee information to the wider organization. The environment serves as a central location for personal sites and shared documents.

    • Microsoft SharePoint Server 2010 social environment: Lab study

      Provides guidance on performance and capacity planning for a My Site and social computing portal based on SharePoint Server 2010.

See Also

Other Resources

Resource Center: Capacity Management for SharePoint Server 2010


Enterprise intranet publishing environment technical case study (SharePoint Server 2010)
See Also

Published: June 17, 2010

This document describes a specific deployment of Microsoft SharePoint Server 2010. It includes the following:

  • Technical case study environment specifications, such as hardware, farm topology and configuration

  • The workload that includes the number, and types, of users or clients, and environment usage characteristics

  • Technical case study farm dataset that includes database contents and Search indexes

  • Health and performance data that is specific to the environment

In this article:

  • Prerequisite information

  • Introduction to this environment

  • Specifications

  • Workload

  • Dataset

  • Health and Performance Data

Prerequisite information

Before reading this document, make sure that you understand the key concepts behind SharePoint Server 2010 capacity management. The following documentation will help you learn about the recommended approach to capacity management and provide context for helping you understand how to make effective use of the information in this document, and also define the terms used throughout this document.

For more conceptual information about performance and capacity that you might find valuable in understanding the context of the data in this technical case study, see the following documents:

  • Capacity management and sizing overview for SharePoint Server 2010

  • SharePoint Server 2010 capacity management: Software boundaries and limits

Introduction to this environment

This white paper describes an actual SharePoint Server 2010 environment at Microsoft. Use this document to compare with your planned workload and usage characteristics. If your planned design is similar, you can use the deployment described here as a starting point for your own installation.

This document includes the following:

  • Specifications, which include hardware, topology and configuration

  • Workload, which is the demand on the farm that includes the number of users, and the usage characteristics

  • Dataset that includes database sizes

  • Health and performance data that is specific to the environment

This document is part of a series of Performance and capacity technical case studies (SharePoint Server 2010) about SharePoint environments at Microsoft.

Diagram shows environment in context at Microsoft

The SharePoint Server 2010 environment described in this document is a production environment at a large, geographically distributed company. Employees view various content, such as news, technical articles, employee profiles, documentation, and training resources. Employees also use this environment to perform search queries against all the SharePoint environments within the company. Employees receive daily e-mails with links to articles on the environment and many employees set this environment as their browser home page.

As many as 48,000 unique users visit the environment on a busy day, generating up to 345 requests per second (RPS) during peak hours. Because this is an intranet site, all users are authenticated. Although content is published using a single environment author-in-place model, the environment's publishing procedure specifies that all draft content is published at a single time during the night in off-peak hours.

The information that is provided in this document reflects the enterprise intranet publishing environment on a typical day.

Specifications

This section provides detailed information about the hardware, software, topology, and configuration of the case-study environment.

Hardware

This section provides details about the server computers that were used in this environment.

Note:

This environment is scaled to accommodate pre-release builds of SharePoint Server 2010 and other products. Hence, the hardware deployed has bigger capacity than necessary to serve the demand typically experienced by this environment. This hardware is described only to provide additional context for this environment and serve as a starting point for similar environments.

It is important to conduct your own capacity management based on your planned workload and usage characteristics. For more information about the capacity management process, see Capacity management and sizing overview for SharePoint Server 2010.

Web Servers

There are four Web servers in the farm, each with identical hardware. Three serve content, and the fourth is a dedicated search crawl target.

Web Server | WFE1-4
Processor(s) | 2 quad core @ 2.33 GHz
RAM | 32 GB
Operating system | Windows Server 2008, 64 bit
Size of the SharePoint drive | 300 GB
Number of network adapters | 2
Network adapter speed | 1 Gigabit
Authentication | Windows NTLM
Load balancer type | Hardware load balancing
Software version | SharePoint Server 2010 (pre-release version)
Services running locally | Central Administration Microsoft SharePoint Foundation Incoming E-Mail Microsoft SharePoint Foundation Web Application Microsoft SharePoint Foundation Workflow Timer Service Search Query and Site Settings Service SharePoint Server Search
Services consumed from a federated services farm | User Profile Service Web Analytics Web Service Business Data Connectivity Service Managed Metadata Web Service

Application Server

There are no application servers in the farm. Local services are hosted on the Web servers. Other services are consumed from a federated services farm.

Database Servers

There is a SQL cluster with two database servers, each with identical hardware. One of the servers is active and the other is passive for redundancy.

Database Server | DB1-2
Processor(s) | 4 quad core @ 2.4 GHz
RAM | 32 GB
Operating system | Windows Server 2008, 64 bit
Storage and geometry | (1.25 TB * 6) + 3 TB Disk 1-4: SQL Data Disk 5: Logs Disk 6: TempDB
Number of network adapters | 2
Network adapter speed | 1 Gigabit
Authentication | Windows NTLM
Software version | SQL Server 2008

Topology

The following diagram shows the topology for this farm.

Farm topology diagram for this environment

Configuration

The following table enumerates settings that were changed that affect performance or capacity in the environment.

Setting | Value | Notes
Site Collection Administration: Site collection output cache | On | Enabling the output cache improves server efficiency by reducing calls to the database for data that is frequently requested.
Site collection cache profile (select) | Intranet (Collaboration Site) | "Allow writers to view cached content" is checked, bypassing the ordinary behavior of not letting people with edit permissions to have their pages cached.
Object Cache (Off | n MB) | On - 500 MB | The default is 100 MB. Increasing this setting enables additional data to be stored in the front-end Web server memory.
Usage Service: Trace Log - days to store log files (default: 14 days) | 5 days | The default is 14 days. Lowering this setting can save disk space on the server where the log files are stored.
Query Logging Threshold: Microsoft SharePoint Foundation Database - configure QueryLoggingThreshold to 1 second | 1 second | The default is 5 seconds. Lowering this setting can save bandwidth and CPU on the database server.
Database Server - Default Instance: Max degree of parallelism | 1 | The default is 0. To ensure optimal performance, we strongly recommend that you set max degree of parallelism to 1 for database servers that host SharePoint Server 2010 databases. For more information about how to set max degree of parallelism, see max degree of parallelism Option(http://go.microsoft.com/fwlink/p/?LinkId=189030).

Workload

This section describes the workload, which is the demand on the farm that includes the number of users, and the usage characteristics.

Workload Characteristics | Value
Average Requests per Second (RPS) | 100
Average RPS at peak time (11 AM-3 PM) | 226
Total number of unique users per day | 33,580
Average concurrent users | 172
Maximum concurrent users | 376
Total # of requests per day | 3,800,000

This table shows the number of requests for each user agent.

User Agent | Requests | Percentage of Total
Browser | 3,261,563 | 97.09%
DAV | 2,418 | 0.07%
Search (crawl) | 92,322 | 2.75%
OneNote | 1,628 | 0.05%
Outlook | 961 | 0.03%
Word | 449 | 0.01%

Dataset

This section describes the case study farm dataset that includes database sizes and Search indexes.

Dataset Characteristics | Value
Database size (combined) | 49.9 GB
BLOB size | 22.2 GB
Number of content databases | 3
Number of Web applications | 3
Number of site collections | 4
Number of sites | 797
Search index size (number of items) | 275,000

Health and Performance Data

This section provides health and performance data that is specific to the case study environment.

General Counters

Metric | Value
Availability (uptime) | 99.95%
Failure Rate | 0.05%
Average memory used | 1.08 GB
Maximum memory used | 2.60 GB
Search Crawl % of Traffic (Search client requests / total requests) | 6%
ASP.NET Requests Queued | 0.00

The following charts show the average CPU utilization and latency for this environment.

Chart showing average CPU utilization Chart showing latency in this environment

In this document, latency is divided into four categories. The 50th percentile latency is typically used to measure the server's responsiveness. It means that half of the requests are served within that response time. The 95th percentile latency is typically used to measure spikes in server response times. It means that 95% of requests are served within that response time, and therefore, 5% of the requests experience slower response times.

Database Counters

When interpreting database statistics for this enterprise publishing environment, be aware that most of the visitors have read-only permissions.

Metric | Value
Read/Write Ratio (IO Per Database) | 99.999 : 0.001
Average Disk queue length | 0.35
Disk Queue Length: Reads | 34
Disk Queue Length: Writes | 2.5
Disk Reads/sec | 131.33
Disk Writes/sec | 278.33
SQL Compilations/second | 2.36
SQL Re-compilations/second | 94.80
SQL Locks: Average Wait Time | 0 ms
SQL Locks: Lock Wait Time | 0 ms
SQL Locks: Deadlocks Per Second | 0
SQL Latches: Average Wait Time | 0.25 ms
SQL Cache Hit Ratio | >99%

See Also

Other Resources

Resource Center: Capacity Management for SharePoint Server 2010


Enterprise intranet collaboration environment technical case study (SharePoint Server 2010)
See Also

Published: June 17, 2010

This article describes a specific deployment of Microsoft SharePoint Server 2010, that includes the following:

  • Technical case study environment specifications, such as hardware, farm topology and configuration.

  • The workload, that includes the number, and types, of users or clients, and environment usage characteristics.

  • Technical case study farm dataset, that includes database contents and search indexes.

  • Health and performance data that is specific to the environment.

In this article:

  • Prerequisite information

  • Introduction to this environment

  • Specifications

  • Workload

  • Dataset

  • Health and Performance Data

Prerequisite information

Before reading this document, make sure that you understand the key concepts behind SharePoint Server 2010 capacity management. The following documentation will help you learn about the recommended approach to capacity management and provide context for helping you understand how to make effective use of the information in this document, and also define the terms used throughout this document.

For more conceptual information about performance and capacity that you might find valuable in understanding the context of the data in this technical case study, see the following documents:

  • Capacity management and sizing for SharePoint Server 2010

  • SharePoint Server 2010 capacity management: Software boundaries and limits

Introduction to this environment

This white paper describes an actual SharePoint Server 2010 environment at Microsoft. Use this document to compare to your planned workload and usage characteristics. If your planned design is similar, you can use the deployment described here as a starting point for your own installation.

This document includes the following:

  • Specifications, which include hardware, topology, and configuration.

  • Workload, which is the demand on the farm that includes the number of users, and the usage characteristics.

  • Dataset that includes database sizes.

  • Health and performance data that is specific to the environment.

This document is part of a series of Performance and capacity technical case studies (SharePoint Server 2010) about SharePoint environments at Microsoft.

Diagram shows environment in context at Microsoft

The SharePoint environment described in this document is a production environment at a large, geographically distributed company. The environment hosts very important team sites and publishing portals for internal teams for enterprise collaboration, organizations, teams, and projects. Sites created in this environment are used as communication portals, applications for business solutions, and general collaboration. Self-service site creation is used to provision site collections. Custom code is not permitted.

As many as 88,900 unique users visit the environment on a busy day, generating up to 669 requests per second (RPS) during peak hours. Because this is an intranet site, all users are authenticated.

The information that is provided in this document reflects the enterprise intranet publishing environment on a typical day.

Specifications

This section provides detailed information about the hardware, software, topology, and configuration of the case study environment.

Hardware

This section provides details about the server computers that were used in this environment.

Note:

This environment is scaled to accommodate pre-release builds of SharePoint Server 2010 and other products. Hence, the hardware deployed has larger capacity than necessary to serve the demand typically experienced by this environment. This hardware is described only to provide additional context for this environment and serve as a starting point for similar environments.

It is important to conduct your own capacity management based on your planned workload and usage characteristics. For more information about the capacity management process, see Capacity management and sizing for SharePoint Server 2010.

Web Servers

There are four Web servers in the farm, each with identical hardware. Three serve content, and the fourth is a dedicated search crawl target.

Web Server | WFE1-4
Processor(s) | 2 quad core @ 2.33 GHz
RAM | 32 GB
OS | Windows Server® 2008, 64 bit
Size of the SharePoint drive | 205 GB
Number of network adapters | 2
Network adapter speed | 1 Gigabit
Authentication | Windows NTLM
Load balancer type | Hardware load balancing
Software version | SharePoint Server 2010 (pre-release version)
Services running locally | Central Administration Microsoft SharePoint Foundation Incoming E-Mail Microsoft SharePoint Foundation Web Application Microsoft SharePoint Foundation Workflow Timer Service Search Query and Site Settings Service SharePoint Server Search
Services consumed from a federated Services farm | User Profile Service Web Analytics Web Service Business Data Connectivity Service Managed Metadata Web Service

Application Server

There are four application servers in the farm, each with identical hardware.

Application Server | APP1-4
Processor(s) | 4 six core @ 2.40 GHz
RAM | 64 GB
OS | Windows Server 2008, 64 bit
Size of the SharePoint drive | 300 GB
Number of network adapters | 1
Network adapter speed | 1 Gigabit
Authentication | Windows NTLM
Load balancer type | Hardware load balancing
Software version | SharePoint Server 2010 (pre-release version)
Services running locally | Office Web Apps Excel PowerPoint Secure Store Usage and Health State Service

Database Servers

There is a SQL cluster with 2 database servers, each with identical hardware, one of the servers is active and the other is passive for redundancy.

Database Server | DB1-2
Processor(s) | 4 quad core @ 2.4 GHz
RAM | 32 GB
OS | Windows Server 2008, 64-bit
Storage and geometry | (1.25 TB * 7) + 3 TB Disk 1-4: SQL Data Disk 5: Logs Disk 6: TempDB
Number of network adapters | 2
Network adapter speed | 1 Gigabit
Authentication | Windows NTLM
Software version | SQL Server 2008

Topology

The following diagram shows the topology for this farm.

Farm topology diagram for this environment

Configuration

The following table enumerates settings that were changed that affect performance or capacity in the environment.

Setting | Value | Notes
Usage Service Trace Log - days to store log files (default: 14 days) | 5 days | The default is 14 days. Lowering this setting can save disk space on the server where the log files are stored.
QueryLoggingThreshold SharePoint Foundation Database - change QueryLoggingThreshold to 1 second | 1 second | The default is 5 seconds. Lowering this setting can save bandwidth and CPU on the database server.
Database Server - Default Instance Max degree of parallelism | 1 | The default is 0. To ensure optimal performance, we strongly recommend that you set max degree of parallelism to 1 for database servers that host SharePoint Server 2010 databases. For more information about how to set max degree of parallelism, see max degree of parallelism Option(http://go.microsoft.com/fwlink/p/?LinkId=189030).

Workload

This section describes the workload, which is the demand on the farm that includes the number of users, and the usage characteristics.

Workload Characteristics | Value
Average Requests per Second (RPS) | 157
Average RPS at peak time (11 AM-3 PM) | 350
Total number of unique users per day | 69,702
Average concurrent users | 420
Maximum concurrent users | 1,433
Total # of requests per day | 18,866,527

This table shows the number of requests for each user agent.

User Agent | Requests | Percentage of Total
Search (crawl) | 6,384,488 | 47%
DAV | 2,446,588 | 18%
Browser | 730,139 | 5%
OneNote | 665,334 | 5%
Office Web Applications | 391,599 | 3%
SharePoint Designer | 215,695 | 2%

Dataset

This section describes the case study farm dataset that includes database sizes and Search indexes.

Dataset Characteristics | Value
Database size (combined) | 7.5 TB
BLOB size | 6.8 TB
Number of content databases | 87
Number of Web applications | 2
Number of site collections | 34,423
Number of sites | 101,598
Search index size (number of items) | 23 million

Health and Performance Data

This section provides health and performance data that is specific to the Case Study environment.

General Counters

Metric | Value
Availability (uptime) | 99.1%
Failure Rate | 0.9%
Average memory used | 3.4 GB
Maximum memory used | 16.1 GB
Search Crawl % of Traffic (Search client requests / total requests) | 47%
ASP.NET Requests Queued | 0.00

The following charts show the average CPU utilization and latency for this environment:

Chart showing average CPU utilization Chart showing latency in this environment

In this document, latency is divided into four categories. The 50th percentile latency is typically used to measure the server's responsiveness. It means that half of the requests are served within that response time. The 95th percentile latency is typically used to measure spikes in server response times. It means that 95% of requests are served within that response time, and therefore 5% of the requests experience slower response times.

Database counters

Metric | Value
Read/Write Ratio (IO Per Database) | 99.8 : 0.2
Average Disk queue length | 2.3
Disk Queue Length: Reads | 2
Disk Queue Length: Writes | 0.3
Disk Reads/sec | 131.33
Disk Writes/sec | 278.33
SQL Compilations/second | 9.9
SQL Re-compilations/second | 0.07
SQL Locks: Average Wait Time | 225 ms
SQL Locks: Lock Wait Time | 507 ms
SQL Locks: Deadlocks Per Second | 3.8
SQL Latches: Average Wait Time | 14.3 ms
SQL Server: Buffer Cache Hit Ratio | 74.3%

See Also

Other Resources

Resource Center: Capacity Management for SharePoint Server 2010


Enterprise intranet collaboration environment lab study (SharePoint Server 2010)
See Also

Published: June 17, 2010

This article contains guidance on performance and capacity planning for an enterprise intranet collaboration solution that is based on Microsoft SharePoint Server 2010. It includes the following:

  • Lab environment specifications, such as hardware, farm topology and configuration

  • Test farm dataset

  • Test results analysis which should help you determine the hardware, topology and configuration that you must have to deploy a similar environment, and optimize your environment for appropriate capacity and performance characteristics

In this article:

  • Introduction to this environment

  • Glossary

  • Overview

  • Specifications

  • Results and Analysis

Introduction to this environment

This document provides guidance about scaling out and scaling up servers in a SharePoint Server 2010 enterprise intranet collaboration solution, based on a testing environment at Microsoft. Capacity planning informs decisions on purchasing hardware and making system configurations to optimize your solution.

Different scenarios have different requirements. Therefore, it is important to supplement this guidance with additional testing on your own hardware and in your own environment. If your planned design and workload resembles the environment described in this document, you can use this document to draw conclusions about scaling your environment up and out.

This document includes the following:

  • Specifications, which include hardware, topology, and configuration

  • The workload, which is the demand on the farm, includes the number of users, and the usage characteristics

  • The dataset, such as database sizes

  • Test results and analysis for scaling out Web servers

  • Test results and analysis for scaling up Web servers

  • Test results and analysis for scaling out database servers

  • Comparison between Microsoft Office SharePoint Server 2007 and SharePoint Server 2010 about throughput and effect on the web and database servers

The SharePoint Server 2010 environment described in this document is a lab environment that mimics a production environment at a large company. The production environment hosts very important team sites and publishing portals for internal teams for enterprise collaboration, organizations, teams, and projects. Employees use that production environment to track projects, collaborate on documents, and share information within their organization. The environment includes a large amount of small sites used for ad-hoc projects and small teams. For details about the production environment, see Enterprise intranet collaboration environment technical case study (SharePoint Server 2010).

Before reading this document, make sure that you understand the key concepts behind capacity management in SharePoint Server 2010. The following documentation will help you learn about the recommended approach to capacity management and provide context for helping you understand how to make effective use of the information in this document, and also define the terms used throughout this document.

  • Capacity management and sizing overview for SharePoint Server 2010

  • SharePoint Server 2010 capacity management: Software boundaries and limits

Also, we encourage you to read the following:

  • Storage and SQL Server capacity planning and configuration (SharePoint Server 2010)

Glossary

There are some specialized terms that you will encounter in this document. Here are some key terms and their definitions.

  • RPS: Requests per second. The number of requests received by a farm or server in one second. This is a common measurement of server and farm load.

    Note that requests differ from page loads; each page contains several components, each of which creates one or more requests when the page is loaded. Therefore, one page load creates several requests. Typically, authentication checks and events using insignificant resources are not counted in RPS measurements.

  • Green Zone: This is the state at which the server can maintain the following set of criteria:

    • The server-side latency for at least 75% of the requests is less than 1 second.

    • All servers have a CPU Utilization of less than 50%.

    Note:

    Because this lab environment did not have an active search crawl running, the database server was kept at 40% CPU Utilization or lower, to reserve 10% for the search crawl load. This assumes Microsoft SQL Server Resource Governor is used in production to limit Search crawl load to 10% CPU.

    • Failure rate is less than 0.01%.

  • Red Zone (Max): This is the state at which the server can maintain the following set of criteria:

    • HTTP request throttling feature is enabled, but no 503 errors (Server Busy) are returned.

    • Failure rate is less than 0. 1%.

    • The server-side latency is less than 3 seconds for at least 75% of the requests.

    • Database server CPU utilization is less than 80%, which allows for 10% to be reserved for the Search crawl load, limited by using SQL Server Resource Governor.

  • AxBxC (Graph notation): This is the number of Web servers, application servers, and database servers respectively in a farm. For example, 8x1x2 means that this environment has 8 Web servers, 1 application server, and 2 database servers.

  • MDF and LDF: SQL Server physical files. For more information, see Files and Filegroups Architecture.

Overview

This section provides an overview to our scaling approach, to the relationship between this lab environment and a similar case study environment, and to our test methodology.

Scaling approach

This section describes the specific order that we recommend for scaling servers in your environment, and is the same approach we took for scaling this lab environment. This approach will enable you to find the best configuration for your workload, and can be described as follows:

  • First, we scaled out the Web servers. These were scaled out as far as possible under the tested workload, until the database server became the bottleneck and was unable to accommodate any more requests from the Web servers.

  • Second, we scaled out the database server by moving half of the content databases to another database server. At this point, the Web servers were not creating sufficient load on the database servers. Therefore, they were scaled out additionally.

  • In order to test scale up, we tried another option which is scaling up the Web servers instead of scaling them out. Scaling out the Web servers is generally preferred over scaling them up because scaling out provides better redundancy and availability.

Correlating the lab environment with a production environment

The lab environment outlined in this document is a smaller scale model of a production environment at Microsoft, and although there are significant differences between the two environments, it can be useful to examine them side by side because both are enterprise collaboration environments where the patterns observed should be similar.

The lab environment contains a subset of the data from the production environment, and also some modifications to the workload. This influences the test results with regard to Web server memory usage, because the object cache on the production environment receives a larger amount of hits on unique sites, and therefore uses more memory. The lab environment also has less data, and most of it is cached in memory as opposed to the production environment which carries over seven terabytes of data, so that the database server on the production environment is required to perform more disk reads than the database server in the lab environment. Similarly, the hardware that was used in the lab environment is significantly different from the production environment it models, because there is less demand on those resources. The lab environment relies on more easily available hardware.

To get a better understanding of the differences between the environments, read the Specifications section in this document, and compare it to the specifications in the Enterprise intranet collaboration environment technical case study (SharePoint Server 2010).

Methodology and Test Notes

This document provides results from a test lab environment. Because this was a lab environment and not a production environment, we were able to control certain factors to show specific aspects of performance for this workload. In addition, certain elements of the production environment, listed here, were left out of the lab environment to simplify testing overhead. We do not recommend omitting these elements for production environments.

  • Between test runs, we modified only one variable at a time, to make it easy to compare results between test runs.

  • The database servers that were used in this lab environment were not part of a cluster because redundancy was not necessary for the purposes of these tests.

  • Search crawl was not running during the tests, whereas it might be running in a production environment. To take this into account, we lowered the SQL Server CPU utilization in our definition of 'Green Zone' and 'Max' to accommodate the resources that a search crawl would have consumed if it were running at the same time with our tests. To learn more about this, read Storage and SQL Server capacity planning and configuration (SharePoint Server 2010).

Specifications

This section provides detailed information about the hardware, software, topology, and configuration of the lab environment.

Hardware

The following sections describe the hardware that was used in this lab environment.

Web and Application servers

There are from one to eight Web servers in the farm, plus one Application server.

Web Server | WFE1-8 and APP1
Processor(s) | 2 quad-core 2.33 GHz processors
RAM | 8 GB
Operating system | Windows 2008 Server R2
Size of the SharePoint drive | 80 GB
Number of network adapters | 2
Network adapter speed | 1 Gigabit
Authentication | Windows NTLM
Load balancer type | Windows NLB
Services running locally | WFE 1-8: Basic Federated Services. This included the following: Timer Service, Admin Service, and Trace Service. APP1: Word Automation Services, Excel Services and SandBoxed Code Services.

Database Servers

There are from two to three database servers, up to two running the default SQL Server instance housing the content databases, and one running the logging database. The logging database is not tracked in this document.

Note:

If you enable usage reporting, we recommend that you store the logging database on a separate Logical Unit Number (LUN). For large deployments and some medium deployments, a separate LUN will not be sufficient, as the demand on the server's CPU may be too high. In that case, you will need a separate database server box for the logging database. In this lab environment, the logging database was stored in a separate instance of SQL Server, and its specifications are not included in this document.

Database Server - Default Instance | DB1-2
Processor(s) | 4 dual-core 3.19 GHz processors
RAM | 32 GB
Operating system | Windows 2008 Server R2
Storage and geometry | Direct Attached Storage (DAS) Internal Array with 5 x 300GB 10krpm disk External Array with 15 x 450GB 15krpm disk 6 x Content Data (External RAID0, 2 spindles 450GB each) 2 x Content Logs (Internal RAID0, 1 spindle 300GB each) 1 x Temp Data (Internal RAID0, 2 spindles 150GB each) 1 x Temp Log (Internal RAID0, 2 spindles 150GB each) 2 x Backup drive (Internal RAID0, 1 spindle each, 300GB each)
Number of network adapters | 1
Network adapter speed | 1 Gigabit
Authentication | Windows NTLM
Software version | SQL Server 2008 R2 (pre-release version)

Topology

The following diagram shows the topology in this lab environment:

Farm topology diagram for this lab environment

Configuration

To allow for the optimal performance, the following configuration changes were made in this lab environment.

Setting | Value | Notes
Site Collection |  |
Blob Caching | On | The default is Off. Enabling Blob Caching improves server efficiency by reducing calls to the database server for static page resources that may be frequently requested.
Database Server - Default Instance |  |
Max degree of parallelism | 1 | The default is 0. To ensure optimal performance, we strongly recommend that you set max degree of parallelism to 1 for database servers that host SharePoint Server databases. For more information about how to set max degree of parallelism, see max degree of parallelism Option(http://go.microsoft.com/fwlink/p/?LinkId=189030).

Workload

The transactional mix for the lab environment described in this document resembles the workload characteristics of a production environment at Microsoft. For more information about the production environment, see Enterprise intranet collaboration environment technical case study (SharePoint Server 2010).

Here are the details of the mix for the lab tests run against SharePoint Server 2010 compared to the production environment. Although there are some minor differences in the workloads, both represent a typical transactional mix on an enterprise collaboration environment.

Chart showing workload for test environment

Dataset

The dataset for the lab environment described in this document is a subset of the dataset from a production environment at Microsoft. For more information about the production environment, see Enterprise intranet collaboration environment technical case study (SharePoint Server 2010).

Dataset Characteristics | Value
Database size (combined) | 130 GB
BLOB size | 108.3 GB
Number of content databases | 2
Number of site collections | 181
Number of Web applications | 1
Number of sites | 1384

Results and Analysis

The following results are ordered based on the scaling approach described in the Overview section of this document.

Web Server Scale Out

This section describes the test results that were obtained when we scaled out the number of Web servers in this lab environment.

Test methodology

  • Add Web servers of the same hardware specifications, keeping the rest of the farm the same.

  • Measure RPS, latency, and resource utilization.

Analysis

In our testing, we found the following:

  • The environment scaled up to four Web servers per database server. However, the increase in throughput was non-linear especially on addition of the fourth Web server.

  • After four Web servers, there are no additional gains to be made in throughput by adding more Web servers because the bottleneck at this point was the database server CPU Utilization.

  • The average latency was almost constant throughout the whole test, unaffected by the number of Web servers and throughput.

Note:

The conclusions described in this section are hardware specific, and the same throughput might have been achieved by a larger number of lower-end hardware, or a smaller number of higher-end hardware. Similarly, changing the hardware of the database server would affect the results. To get an idea on how much of a difference the hardware of the Web servers can affect these results, see the Web Server Scale Up section.

Results graphs and charts

In the following graphs, the x axis shows the change in the number of Web servers in the farm, scaling from one Web server (1x1x1) to five Web servers (5x1x1).

1. Latency and RPS

The following graph shows how scaling out (adding Web servers) affects latency and RPS.

Chart with RPS and Latency across WFE scale out

2. Processor utilization

The following graph shows how scaling out the Web servers affects processor utilization on the Web server(s) and the database server.

Chart with processor utlization at WFE scale out

3. SQL Server I/O operations per section (IOPs) for MDF and LDF files

The following graphs show how the IOPs on the content databases change as the number of Web servers is scaled out. These are measured by looking at the following performance counters:

  • PhysicalDisk: Disk Reads / sec

  • PhysicalDisk: Disk Writes / sec

In this lab environment, we determined that our data on IOPs was not representative of a production environment because our dataset was so small that we could fit much more of it in cache than would be possible in the production environment we are modeling. We calculated projected reads by multiplying the value of the data we had from the lab for writes/second by the ratio of reads to writes in our production environment. The results in this section are averages. But there are also spikes that occur during certain operations which have to be accounted for. To learn more about how to estimate IOPs needed, see Storage and SQL Server capacity planning and configuration (SharePoint Server 2010).

Maximum:

Chart with IOPs at Web server scale out maximum

Green Zone:

Chart with IOPs at Web server scale out greenzone

Example of how to read these graphs:

An organization with a workload similar to that described in this document that expects 300 RPS to be their green zone, could use 3x1x1 topology, and would use approximately 600 Physical Disk reads/sec on the MDF file.

Database Server Scale Out

This section describes the test results that were obtained when we scaled out the number of database servers in this lab environment.

Test methodology

  • Have two content databases on one database server, and then split them to two servers to effectively double the processor cores and memory available to the database servers in the environment.

  • Keep the total IOPs capacity constant even while adding a database server. This means that the number of reads/sec and writes/sec that the disks could perform for each content database did not change despite splitting the content onto two database servers instead of one.

Analysis

  • The first bottleneck in the 4x1x2 environment was the database server CPU utilization. There was close to a linear scale when we added more processor and memory power.

  • Scaling to four Web servers and 2 database servers did not provide much additional RPS because the CPU utilization on the Web servers was close to 100%.

  • When we scaled out database servers (by adding one additional database server) and added four Web servers, performance scaled almost linearly. The bottleneck at that point shifted from being the database server CPU utilization to the content database disk IOPs.

  • No additional tests were performed in this lab environment to scale out past 8x1x2. However we expect that additional IOPs capacity would additionally increase throughput.

  • A correlation between the IOPs used and the RPS achieved by the tests was observed

Results graphs and charts

In the following graphs, the x axis is always showing four Web servers together with 1 application server and 1 database server (4x1x1) scaling out to eight Web servers together with two database servers (8x1x2). Some also show 1x1x1 or 4x1x2.

1. Latency and RPS

The following graph shows how scaling out both Web servers and database servers affects latency and RPS.

Chart with RPS and Latency at database scale

2. Processor utilization

The following graphs show how scaling out affects processor utilization.

Chart with processor utlization at database scale

3. Memory utilization at scale out

Throughout our testing, we've observed that the larger the number of site collections in an environment, the more the memory consumed. For example, in the tests here where 181 site collections were accessed, the main w3wp process used up 1.8 GB of RAM. For more examples, see the Performance and capacity technical case studies (SharePoint Server 2010). Additional content about memory requirements for increased numbers of site collections is under development. Check back for new and updated content.

4. SQL Server I/O operations per section (IOPs) for MDF and LDF files

The following graphs show how the IOPs change as both the number of Web servers and the number of database servers is scaled out.

Maximum RPS

Chart with IOPs at database scale out maximum

Green Zone RPS

Chart with IOPs at database scale out greenzone

Web server Scale Up

This section describes the test results that were obtained when we scaled up the Web servers in this lab environment.

Test methodology

  • Add more Web server processors, but keep the rest of the farm the same.

Analysis

  • Scale is linear up to eight processor cores.

  • Tests show that the environment can take advantage of a twenty-four core box, although there is some degradation as twenty-four cores are approached.

Results graphs and charts

In the following graph, the x axis is the number of processors and the amount of RAM on the Web server. The following graph shows how scaling up (adding processors) affects RPS on the Web server.

Chart with RPS at scale up

Comparing SharePoint Server 2010 and Office SharePoint Server 2007

This section provides information about how the capacity testing for this workload varied between SharePoint Server 2010 and Microsoft Office SharePoint Server 2007.

Workload

To compare SharePoint Server 2010 with Office SharePoint Server 2007, a different test mix was used than the one outlined in the Specifications section, because some SharePoint Server 2010 operations were not available in Office SharePoint Server 2007. The test mix for Office SharePoint Server 2007 is inspired by the same production environment that the SharePoint Server 2010 tests follow. However this was recorded before the upgrade to SharePoint Server 2010 on that environment.

The following graph shows the test mix for the lab and production environments for Office SharePoint Server 2007.

Chart with transaction mixes for environments

Test methodology

  • The tests performed for this comparison were performed by creating an Office SharePoint Server 2007 environment, testing it with the workload outlined earlier in this section, and then upgrading the content databases to SharePoint Server 2010 without changing the clients using the environment, nor doing a visual upgrade. This upgraded environment was then re-tested for the SharePoint Server 2010 results with the same test mix which includes only Office SharePoint Server 2007 operations.

  • The dataset was not modified after the content database upgrade for the SharePoint Server 2010 tests.

  • The test mix for Office SharePoint Server 2007 excludes any new SharePoint Server 2010 specific operations, and resembles the enterprise intranet collaboration solution on the same production environment for Office SharePoint Server 2007, as described under the Workload section.

Analysis

  • When the same number of Web servers are stressed to their maximum throughput on SharePoint Server 2010 and Office SharePoint Server 2007, SharePoint Server 2010 achieves 20% less throughput compared to Office SharePoint Server 2007.

  • When the Web servers were scaled out to maximize the database server usage, SharePoint Server 2010 was able to achieve 25% better throughput compared to Office SharePoint Server 2007. This reflects the improvements that were made in SharePoint Server 2010 to sustain larger deployments.

  • When the web servers were scaled out to maximize the database server usage, SharePoint Server 2010 was SQL Server CPU Utilization bound, whereas Office SharePoint Server 2007 was Lock bound on the database tier. This means that increasing the processing power available to the database servers enables SharePoint Server 2010 to achieve better throughput than would be possible with the same hardware using Office SharePoint Server 2007. This is caused by the locking mechanisms in the database in Office SharePoint Server 2007 which are unaffected by improved hardware so that we were unable to push the database server's CPU Utilization past 80%.

  • As a result of these findings outlined earlier in this section, on Office SharePoint Server 2007 the maximum throughput possible was achieved in a 5x0x1 topology whereas in SharePoint Server 2010 the maximum throughput possible with the same workload was achieved in a 7x0x1 topology, and yielded a 25% increased total RPS.

Results graphs and charts

The following graph shows the throughput without scaling out Web servers.

Chart with throughput before scaling out

The following graph shows the throughput when Web servers were at maximum scale out.

Chart with throughput at maximum Web server scale

See Also

Other Resources

Resource Center: Capacity Management for SharePoint Server 2010


Departmental collaboration environment technical case study (SharePoint Server 2010)
See Also

Published: June 17, 2010

This document describes a specific deployment of Microsoft SharePoint Server 2010. It includes the following:

  • Technical case study environment specifications, such as hardware, farm topology and configuration

  • The workload that includes the number, and types, of users or clients, and environment usage characteristics

  • Technical case study farm dataset that includes database contents and Search indexes

  • Health and performance data that is specific to the environment

In this article:

  • Prerequisite information

  • Introduction to this environment

  • Specifications

  • Workload

  • Dataset

  • Health and Performance Data

Prerequisite information

Before reading this document, make sure that you understand the key concepts behind SharePoint Server 2010 capacity management. The following documentation will help you learn about the recommended approach to capacity management and provide context for helping you understand how to make effective use of the information in this document, and also define the terms used throughout this document.

For more conceptual information about performance and capacity that you might find valuable in understanding the context of the data in this technical case study, see the following documents:

  • Capacity management and sizing overview for SharePoint Server 2010

  • SharePoint Server 2010 capacity management: Software boundaries and limits

Introduction to this environment

This white paper describes an actual SharePoint Server 2010 environment at Microsoft. Use this document to compare with your planned workload and usage characteristics. If your planned design is similar, you can use the deployment described here as a starting point for your own installation.

This document includes the following:

  • Specifications, which include hardware, topology and configuration

  • Workload, which is the demand on the farm that includes the number of users, and the usage characteristics

  • Dataset that includes database sizes

  • Health and performance data that is specific to the environment

This document is part of a series of Performance and capacity technical case studies (SharePoint Server 2010) about SharePoint environments at Microsoft.

Diagram shows environment in context at Microsoft

The SharePoint Server 2010 environment described in this document is a production environment at a large, geographically distributed company. Employees use this environment to track projects, collaborate on documents, and share information within their department. This environment is also used for internal testing, and is frequently upgraded to the latest SharePoint Server pre-release versions as they become available.

As many as 9,000 unique users visit the environment on a busy day, generating up to 470 requests per second (RPS) during peak hours. Because this is an intranet site, all users are authenticated.

The information that is provided in this document reflects the departmental collaboration environment on a typical day.

Specifications

This section provides detailed information about the hardware, software, topology, and configuration of the case-study environment.

Hardware

This section provides details about the server computers that were used in this environment.

Note:

This environment is scaled to accommodate pre-release builds of SharePoint Server 2010 and other products. Hence, the hardware deployed has larger capacity than necessary to serve the demand typically experienced by this environment. This hardware is described only to provide additional context for this environment and serve as a starting point for similar environments.

It is important to conduct your own capacity management based on your planned workload and usage characteristics. For more information about the capacity management process, see Capacity management and sizing overview for SharePoint Server 2010.

Web Servers

There are four Web servers in the farm, each with identical hardware. Three serve content, and the fourth is a dedicated search crawl target.

Web Server | WFE1-2 | WFE3-4
Processor(s) | 2 quad core @ 2.33 GHz | 2 quad core @ 2.33 GHz
RAM | 32 GB | 16 GB
Operating system | Windows Server 2008, 64 bit | Windows Server 2008, 64 bit
Size of the SharePoint drive | 3x146GB 15K SAS (3 RAID 1 Disks) Disk 1: OS Disk 2: Swap and BLOB Cache Disk 3: Logs and Temp directory | 3x146GB 15K SAS (3 RAID 1 Disks) Disk 1: OS Disk 2: Swap and BLOB Cache Disk 3: Logs and Temp directory
Number of network adapters | 2 | 2
Network adapter speed | 1 Gigabit | 1 Gigabit
Authentication | Windows NTLM | Windows NTLM
Load balancer type | Hardware load balancing | Hardware load balancing
Software version | SharePoint Server 2010 (pre-release version) | SharePoint Server 2010 (pre-release version)
Services running locally | Search Query | WFE3 - No services WFE4 - Search crawl target

Application Server

There are four application servers in the farm.

Web Server | APP1-3 | APP4
Processor(s) | 2 quad core @ 2.33 GHz | 2 quad core @ 2.33 GHz
RAM | 16 GB | 16 GB
Operating system | Windows Server 2008, 64 bit | Windows Server 2008, 64 bit
Size of the SharePoint drive | 3x146GB 15K SAS (3 RAID 1 Disks) Disk 1: OS Disk 2: Swap and BLOB Cache Disk 3: Logs and Temp directory | 2x136GB 15K SAS (RAID 0) 4x60GB SSD, SATA (RAID 5) Disk 1: OS Disk 2: Swap and BLOB Cache Disk 3: Logs and Temp directory
Number of network adapters | 2 | 2
Network adapter speed | 1 Gigabit | 1 Gigabit
Authentication | Windows NTLM | Windows NTLM
Load balancer type | Hardware load balancing | Hardware load balancing
Software version | SharePoint Server 2010 (pre-release version) | SharePoint Server 2010 (pre-release version)
Services running locally | APP1 - Central Administration and all applications except for Office Web Applications APP2 - All applications (including Office Web Applications) APP3 - Office Web Applications | Search Crawler

Database Servers

There are three database servers, one running the default SQL Server instance housing the content databases, one running the Usage and Web Analytics databases, and one running the Search databases.

Database | DB1 - Default Instance | DB2 | DB3
Processor(s) | 4 quad core @ 3.2 GHz | 2 quad core @ 3.2 GHz | 2 quad core @ 3.2 GHz
RAM | 32 GB | 16 GB | 32 GB
Operating system | Windows Server 2008 SP1, 64 bit | Windows Server 2008 SP1, 64 bit | Windows Server 2008 SP1, 64 bit
Storage and geometry | 5x146GB 15K SAS + SAN Disk 1: OS (2 disk RAID 10) Disk 2: Swap (2 disk RAID 10) Disk 3: Direct Attached Storage (16 disk RAID 10, Temp DB data) SAS 146 GB 15K Disk 4: Direct Attached Storage (16 disk RAID 10, Temp DB data) SAS 146 GB 15K Disk 5-15: SAN using fiber connection. When possible, one database per two disks. Separating logs and data between LUNs. 15K drives. | 6x450GB 15K SAS Directly attached 14x146GB 15K SAS Disk 1: Usage logs and OS Disk 2: Usage data | 2x136GB 15K SAS (RAID 0) 6x60GB SSD, SATA (RAID 5) Disk 1: OS Disk 2: Swap and BLOB Cache Disk 3: Logs and Temp directory. Solid state drives. 6-60GB Solid state drives (RAID 5)
Number of network adapters | 2 | 2 | 2
Network adapter speed | 1 Gigabit | 1 Gigabit | 1 Gigabit
Authentication | Windows NTLM | Windows NTLM | Windows NTLM
Software version | SQL Server 2008 | SQL Server 2008 | SQL Server 2008 R2

Topology

The following diagram shows the topology for this farm.

Farm topology diagram for this environment

Configuration

The following table enumerates settings that were made that affect performance or capacity in the environment.

Setting | Value | Notes
Site collection: Object Caching (On | Off) Anonymous Cache Profile (select) Anonymous Cache Profile (select) Object Cache (Off | n MB) Cross List Query Cache Changes (Every Time | Every n seconds) | On Disabled Disabled On - 100GB 60 seconds | Enabling the output cache improves server efficiency by reducing calls to the database for data that is frequently requested.
Site collection cache profile (select) | Intranet (Collaboration Site) | "Allow writers to view cached content" is checked, bypassing the ordinary behavior of not letting people with edit permissions to have their pages cached.
Object Cache (Off | n MB) | On - 500 MB | The default is 100 MB. Increasing this setting enables additional data to be stored in the front-end Web server memory.
Usage Service: Trace Log - days to store log files (default: 14 days) | 5 days | The default is 14 days. Lowering this setting can save disk space on the server where the log files are stored.
Query Logging Threshold: Microsoft SharePoint Foundation Database - configure QueryLoggingThreshold to 1 second | 1 second | The default is 5 seconds. Lowering this setting can save bandwidth and CPU on the database server.
Database Server - Default Instance: Max degree of parallelism | 1 | The default is 0. To ensure optimal performance, we strongly recommend that you set max degree of parallelism to 1 for database servers that host SharePoint Server 2010 databases. For more information about how to set max degree of parallelism, see max degree of parallelism Option (http://go.microsoft.com/fwlink/p/?LinkId=189030).

Workload

This section describes the workload, which is the demand on the farm that includes the number of users, and the usage characteristics.

Workload Characteristics | Value
Average Requests per Second (RPS) | 165
Average RPS at peak time (11 AM-3 PM) | 216
Total number of unique users per day | 9186
Average concurrent users | 189
Maximum concurrent users | 322
Total # of requests per day | 7,124,943

This table shows the number of requests for each user agent.

User Agent | Requests | Percentage of Total
Search (crawl) | 4,373,433 | 67.61%
Outlook | 897,183 | 13.87%
OneNote | 456,917 | 7.06%
DAV | 273,391 | 4.23%
Browser | 247,303 | 3.82%
Word | 94,465 | 1.46%
SharePoint Workspaces | 70,651 | 1.09%
Office Web Applications | 45,125 | 0.70%
Excel | 8,826 | 0.14%
Access | 1,698 | 0.03%

Dataset

This section describes the case study farm dataset that includes database sizes and Search indexes.

Dataset Characteristics | Value
Database size (combined) | 1.8 TB
BLOB size | 1.68 TB
Number of content databases | 18
Total number of databases | 36
Number of site collections | 7,499
Number of Web applications | 7
Number of sites | 42,457
Search index size (number of items) | 4.6 million

Health and Performance Data

This section provides health and performance data that is specific to the case study environment.

General Counters

Metric | Value
Availability (uptime) | 99.9995%
Failure Rate | 0.0005%
Average memory used | 0.89 GB
Maximum memory used | 5.13 GB
Search Crawl % of Traffic (Search client requests / total requests) | 82.5%

The following charts show the average CPU utilization and latency for this environment:

Chart showing average CPU utilization Chart showing latency in this environment

In this document, latency is divided into four categories. The 50th percentile latency is typically used to measure the server's responsiveness. It means that half of the requests are served within that response time. The 95th percentile latency is typically used to measure spikes in server response times. It means that 95% of requests are served within that response time, and therefore, 5% of the requests experience slower response times.

Database Counters

Metric | Value
Average Disk queue length | 1.42
Disk Queue Length: Reads | 1.38
Disk Queue Length: Writes | 0.04
Disk Reads/sec | 56.51
Disk Writes/sec | 17.60
SQL Compilations/second | 13.11
SQL Re-compilations/second | 0.14
SQL Locks: Average Wait Time | 294.56 ms
SQL Locks: Lock Wait Time | 867.53 ms
SQL Locks: Deadlocks Per Second | 1.87
SQL Latches: Average Wait Time | 5.10 ms
SQL Cache Hit Ratio | 99.77%

See Also

Other Resources

Resource Center: Capacity Management for SharePoint Server 2010


Divisional portal environment lab study (SharePoint Server 2010)
See Also

Published: June 17, 2010

This document provides guidance on performance and capacity planning for a divisional portal based on Microsoft SharePoint Server 2010. It includes the following:

  • Test environment specifications, such as hardware, farm topology and configuration

  • Test farm dataset

  • Test data and recommendations for how to determine the hardware, topology and configuration that you must have to deploy a similar environment, and how to optimize your environment for appropriate capacity and performance characteristics

In this article:

  • Introduction to this environment

  • Glossary

  • Overview

  • Specifications

  • Results and analysis

Introduction to this environment

This document outlines the test methodology and results to provide guidance for capacity planning of a typical divisional portal. A divisional portal is a SharePoint Server 2010 deployment where teams mainly do collaborative activities and some content publishing. This document assumes a "division" to be an organization inside an enterprise with 1,000 to 10,000 employees.

Different scenarios will have different requirements. Therefore, it is important to supplement this guidance with additional testing on your own hardware and in your own environment. If your planned design and workload resembles the environment described in this document, you can use this document to draw conclusions about scaling your environment up and out.

When you read this document, you will understand how to do the following:

  • Estimate the hardware that is required to support the scale that you need to support: number of users, load, and the features enabled.

  • Design your physical and logical topology for optimal reliability and efficiency. High Availability/Disaster Recovery are not covered in this document.

  • Understand the effect of ongoing search crawls on RPS for a divisional portal deployment.

The SharePoint Server 2010 environment described in this document is a lab environment that mimics a production environment at a large company. For details about the production environment, see Departmental collaboration environment technical case study (SharePoint Server 2010).

Before reading this document, make sure that you understand the key concepts behind capacity management in SharePoint Server 2010. The following documentation will help you learn about the recommended approach to capacity management and provide context for helping you understand how to make effective use of the information in this document, and also define the terms used throughout this document.

  • Capacity management and sizing overview for SharePoint Server 2010

  • SharePoint Server 2010 capacity management: Software boundaries and limits

Also, we encourage you to read the following:

  • Storage and SQL Server capacity planning and configuration (SharePoint Server 2010)

Glossary

There are some specialized terms that you will encounter in this document. Here are some key terms and their definitions.

  • RPS: Requests per second. The number of requests received by a farm or server in one second. This is a common measurement of server and farm load.

    Note that requests differ from page loads; each page contains several components, each of which creates one or more requests when the page is loaded. Therefore, one page load creates several requests. Typically, authentication checks and events using insignificant resources are not counted in RPS measurements.

  • Green Zone: This is the state at which the server can maintain the following set of criteria:

    • The server-side latency for at least 75% of the requests is less than .5 second.

    • All servers have a CPU Utilization of less than 50%.

    Note:

    Because this lab environment did not have an active search crawl running, the database server was kept at 40% CPU Utilization or lower, to reserve 10% for the search crawl load. This assumes Microsoft SQL Server Resource Governor is used in production to limit Search crawl load to 10% CPU.

    • Failure rate is less than 0.01%.

  • Red Zone (Max): This is the state at which the server can maintain the following set of criteria:

    • HTTP request throttling feature is enabled, but no 503 errors (Server Busy) are returned.

    • Failure rate is less than 0. 1%.

    • The server-side latency is less than 1 second for at least 75% of the requests.

    • Database server CPU utilization is less than or equal to 75%, which allows for 10% to be reserved for the Search crawl load, limited by using SQL Server Resource Governor.

    • All Web servers have a CPU Utilization of less than or equal to 75%.

  • AxBxC (Graph notation): This is the number of Web servers, application servers, and database servers respectively in a farm. For example, 2x1x1 means that this environment has 2 Web servers, 1 application server, and 1 database server.

  • MDF and LDF: SQL Server physical files. For more information, see Files and Filegroups Architecture.

Overview

This section provides an overview to our assumptions and our test methodology.

Assumptions

For our testing, we made the following assumptions:

  • In the scope of this testing, we did not consider disk I/O as a limiting factor. It is assumed that an infinite number of spindles are available.

  • The tests model only peak time usage on a typical divisional portal. We did not consider cyclical changes in traffic seen with day-night cycles. That also means that timer jobs which generally require scheduled nightly runs are not included in the mix.

  • There is no custom code running on the divisional portal deployment in this case. We cannot guarantee behavior of custom code/third-party solutions installed and running in your divisional portal.

  • For the purpose of these tests, all of the services databases and the content databases were put on the same instance of Microsoft SQL Server. The usage database was maintained on a separate instance of SQL Server.

  • For the purpose of these tests, BLOB cache is enabled.

  • Search crawl traffic is not considered in these tests. But to factor in the effects of an ongoing search crawl, we modified definitions of a healthy farm. (Green-zone definition to be 40 percent for SQL Server to allow for 10 percent tax from Search crawls. Similarly, we used 80 percent SQL Server CPU as the criteria for max RPS.)

Test methodology

We used Visual Studio Team System for Test 2008 SP2 to perform the performance testing. The testing goal was to find the performance characteristic of green zone, max zone and various system stages in between for each topology. Detailed definitions of "max zone" and "green zone" are given in the Glossary as measured by specific values for performance counters, but in general, a farm configuration performing around "max zone" breakpoint can be considered under stress, whereas a farm configuration performing "green zone" breakpoint can be considered healthy.

The test approach was to start by using the most basic farm configuration and run a set of tests. The first test is to gradually increase the load on the system and monitor its performance characteristic. From this test we derived the throughput and latency at various user loads and also identified the system bottleneck. After we had this data, we identified at what user load did the farm exhibit green zone and max zone characteristics. We ran separate tests at those pre-identified constant user loads for a longer time. These tests ensured that the farm configuration can provide constant green zone and max zone performance at respective user loads, over longer period of time.

Later, while doing the tests for the next configuration, we scaled out the system to eliminate bottlenecks identified in previous run. We kept iterating in this manner until we hit SQL Server CPU bottleneck.

We started off with a minimal farm configuration of 1 Web server /application server and 1 database server. Through multiple iterations, we finally ended at 3 Web servers, 1 application server, 1 database server farm configuration, where the database server CPU was maxed out. Below you will find a quick summary and charts of tests we performed on each iteration to establish green zone and max zone for that configuration. That is followed by comparison of green zone and max zone for different iterations, from which we derive our recommendations.

The SharePoint Admin Toolkit team has built a tool that is named "Load Test Toolkit (LTK)" which is publically available for customers to download and use.

Specifications

This section provides detailed information about the hardware, software, topology, and configuration of the lab environment.

Hardware

The table that follows presents hardware specs for the computers that were used in this testing. Every Web server that was added to the server farm during multiple iterations of the test complies with the same specifications.

 | Web server | Application Server | Database Server
Processor(s) | 2px4c@2.33GHz | 2px4c@2.33GHz | 4px4c@ 3.19GHz
RAM | 8 GB | 8 GB | 32 GB
Number of network adapters | 2 | 2 | 1
Network adapter speed | 1 Gigabit | 1 gigabit | 1 Gigabit
Load balancer type | F5 - Hardware load balancer | Not applicable | Not applicable
ULS Logging level | Medium | Medium | Not applicable

Software

The table that follows explains software installed and running on the servers that were used in this testing effort.

 | Web Server | Application Server | Database Server
Operating System | Windows Server 2008 R2 x64 | Windows Server 2008 R2 x64 | Windows Server 2008 x64
Software version | SharePoint Server 2010 and Office Web Applications, pre-release versions | SharePoint Server 2010 and Office Web Applications, pre-release versions | SQL Server 2008 R2 CTP3
Authentication | Windows NTLM | Windows NTLM | Windows NTLM
Load balancer type | F5 - Hardware load balancer | Not applicable | Not applicable
ULS Logging level | Medium | Medium | Not applicable
Anti-Virus Settings | Disabled | Disabled | Disabled
Services running locally | Microsoft SharePoint Foundation Incoming E-Mail Microsoft SharePoint Foundation Web Application Microsoft SharePoint Foundation Workflow Timer Service Search Query and Site Settings Service SharePoint Server Search | Central Administration Excel Services Managed Metadata Web Service Microsoft SharePoint Foundation Incoming E-Mail Microsoft SharePoint Foundation Web Application Microsoft SharePoint Foundation Workflow Timer Service PowerPoint Services Search Query and Site Settings Service SharePoint Server Search Visio Graphics Services Word Viewing Service | Not applicable

The table indicates which services are provisioned in the test environment. Other services such as the User Profile service and Web Analytics are not provisioned.

Topology and configuration

The following diagram shows the topology used for the tests. We changed the number of Web servers from 1 to 2 to 3, as we moved between iterations, but otherwise the topology remained the same.

Farm topology diagram for this environment

Dataset and disk geometry

The test farm was populated with about 1.62 Terabytes of content, distributed across five different sized content databases. The following table explains this distribution:

Content database | 1 | 2 | 3 | 4 | 5
Content database size | 36 GB | 135 GB | 175 GB | 1.2 terabytes | 75 GB
Number of sites | 44 | 74 | 9 | 9 | 222
Number of webs | 1544 | 2308 | 2242 | 2041 | 1178
RAID configuration | 0 | 0 | 0 | 0 | 0
Number of spindles for MDF | 1 | 1 | 5 | 3 | 1
Number of spindles for LDF | 1 | 1 | 1 | 1 | 1

Transactional mix

The following are important notes about the transactional mix:

  • There are no My Sites provisioned on the divisional portal. Also, the User Profile service, which supports My Sites, is not running on the farm. The transactional mix does not include any My Site page/web service hits or traffic related to Outlook Social Connector.

  • The test mix does not include any traffic generated by co-authoring on documents.

  • The test mix does not include traffic from Search Crawl. However this was factored into our tests by modifying the Green-zone definition to be 40 percent SQL Server CPU usage instead of the standard 50 percent to allow for 10 percent for the search crawl. Similarly, we used 80 percent SQL Server CPU as the criteria for max RPS.

The following table describes the overall transaction mix. The percentages total 100.

Feature or Service | Operation | Read/write | Percentage of mix
ECM | Get static files | r | 8.93%
 | View home page | r | 1.52%
Microsoft InfoPath | Display/Edit upsize list item and new forms | r | 0.32%
 | Download file by using "Save as" | r | 1.39%
Microsoft OneNote 2010 | Open Microsoft Office OneNote 2007 file | r | 13.04%
Search | Search through OSSSearch.aspx or SearchCenter | r | 4.11%
Workflow | Start autostart workflow | w | 0.35%
Microsoft Visio | Render Visio file in PNG/XAML | r | 0.90%
Office Web Applications - PowerPoint | Render Microsoft PowerPoint, scroll to 6 slides | r | 0.05%
Office Web Applications - Word | Render and scroll Microsoft Word doc in PNG/Silverlight | r | 0.24%
Microsoft SharePoint Foundation | List - Check out and then check in an item | w | 0.83%
 | List - Get list | r | 0.83%
 | List - Outlook sync | r | 1.66%
 | List - Get list item changes | r | 2.49%
 | List - Update list items and adding new items | w | 4.34%
 | Get view and view collection | r | 0.22%
 | Get webs | r | 1.21%
 | Browse to Access denied page | r | 0.07%
 | View Browse to list feeds | r | 0.62%
 | Browse to viewlists | r | 0.03%
 | Browse to default.aspx (home page) | r | 1.70%
 | Browse to Upload doc to doc lib | w | 0.05%
 | Browse to List/Library's default view | r | 7.16%
 | Delete doc in doclib using DAV | w | 0.83%
 | Get doc from doclib using DAV | r | 6.44%
 | Lock and Unlock a doc in doclib using DAV | w | 3.32%
 | Propfind list by using DAV | r | 4.16%
 | Propfind site by using DAV | r | 4.16%
 | List document by using FPSE | r | 0.91%
 | Upload doc by using FPSE | w | 0.91%
 | Browse to all site content page | r | 0.03%
 | View RSS feeds of lists or wikis | r | 2.03%
Excel Services | Render small/large Excel files | r | 1.56%
Workspaces | WXP - Cobalt internal protocol | r | 23.00%
 | Full file upload using WXP | w | 0.57%

Results and analysis

This section describes the test methodology and results to provide guidance for capacity planning of a typical divisional portal.

Results from 1x1 farm configuration

Summary of results

  • On a 1 Web server and 1 database server farm, in addition to Web server duties, the same computer was also acting as application server. Clearly this computer (still called Web server) was the bottleneck. As presented in the data here, the Web server CPU reached around 86% utilization when the farm was subjected to user load of 125 users by using the transactional mix described earlier in this document. At that point, the farm exhibited max RPS of 101.37.

  • Even at a small user load, Web server utilization was always too high to consider this farm as a healthy farm. For the workload and dataset that we used for the test, we do not recommend this configuration as a real deployment.

  • Going by definition of "green zone", there is not really a "green zone" for this farm. It is always under stress, even at a small load. As for "max zone", at the smallest load, where the farm was in "max zone", the RPS was 75.

  • Because the Web server was the bottleneck due to its dual role as an application server, for the next iteration, we separated out the application server role onto its own computer.

Performance counters and graphs

The following table presents various performance counters captured during testing a 1x1 farm at different steps in user load.

User Load | 50 | 75 | 100 | 125
RPS | 74.958 | 89.001 | 95.79 | 101.37
Latency | 0.42 | 0.66 | 0.81 | 0.81
Web server CPU | 79.6 | 80.1 | 89.9 | 86
Application server CPU | N/A | N/A | N/A | N/A
Database server CPU | 15.1 | 18.2 | 18.6 | 18.1
75th Percentile (sec) | 0.3 | 0.35 | 0.55 | 0.59
95th Percentile (sec) | 0.71 | 0.77 | 1.03 | 1

The following chart shows the RPS and latency results for a 1x1 configuration.

Chart with RPS and latency at 1x1 scale

The following chart shows performance counter data in a 1x1 configuration.

Chart with performance counters at 1x1 scale

Results from 1x1x1 farm configuration

Summary of results

  • On a 1 Web server, 1 application server and 1 database server farm, the Web server was the bottleneck. As presented in the data in this section, the Web server CPU reached around 85% utilization when the farm was subjected to user load of 150 users by using the transactional mix described earlier in this document. At that point, the farm exhibited max RPS of 124.1.

  • This configuration delivered "green zone" RPS of 99, with 75th percentile latency being 0.23 sec, and the Web server CPU hovering around 56 % utilization. This indicates that this farm can healthily deliver an RPS of around 99. "Max zone" RPS delivered by this farm was 123 with latencies of 0.25 sec and the Web server CPU hovering around 85%.

  • Because the Web server CPU was the bottleneck in this iteration, we relived the bottleneck by adding another the Web server for the next iteration.

Performance counters and graphs

The following table presents various performance counters captured during testing a 1x1x1 farm, at different steps in user load.

User Load | 25 | 50 | 75 | 100 | 125 | 150
RPS | 53.38 | 91.8 | 112.2 | 123.25 | 123.25 | 124.1
Latency | 34.2 | 56 | 71.7 | 81.5 | 84.5 | 84.9
Web server CPU | 23.2 | 33.8 | 34.4 | 32 | 30.9 | 35.8
Application server CPU | 12.9 | 19.7 | 24.1 | 25.2 | 23.8 | 40.9
Database server CPU | 0.22 | 0.23 | 0.27 | 0.32 | 0.35 | 0.42
75th Percentile (sec) | 0.54 | 0.52 | 0.68 | 0.71 | 0.74 | 0.88

The following chart shows RPS and latency results for a 1x1x1 configuration.

Chart with RPS and latency at 1x1x1 scale

The following chart shows performance counter data in a 1x1x1 configuration.

Chart with performance counters at 1x1x1 scale

Results from 2x1x1 farm configuration

Summary of results

  • On a 2 Web server, 1 application server and 1 database server farm, the Web server was the bottleneck. As presented in the data in this section, Web server CPU reached around 76% utilization when the farm was subjected to user load of 200 users by using the transactional mix described earlier in this document. At that point, the farm exhibited max RPS of 318.

  • This configuration delivered "green zone" RPS of 191, with 75th percentile latency being 0.37 sec, and Web server CPU hovering around 47 % utilization. This indicates that this farm can healthily deliver an RPS of around 191. "Max zone" RPS delivered by this farm was 291 with latencies of 0.5 sec and Web server CPU hovering around 75%.

  • Because the Web server CPU was the bottleneck in this iteration, we relived the bottleneck by adding another Web server for the next iteration.

Performance counters and graphs

The following table presents various performance counters captured during testing a 2x1x1 farm, at different steps in user load.

User Load | 40 | 80 | 115 | 150 | 175 | 200
RPS | 109 | 190 | 251 | 287 | 304 | 318
Latency | 0.32 | 0.37 | 0.42 | 0.49 | 0.54 | 0.59
Web server CPU | 27.5 | 47.3 | 61.5 | 66.9 | 73.8 | 76.2
Application server CPU | 17.6 | 29.7 | 34.7 | 38 | 45 | 45.9
Database server CPU | 21.2 | 36.1 | 43.7 | 48.5 | 52.8 | 56.2
75th Percentile (sec) | 0.205 | 0.23 | 0.27 | 0.3 | 0.305 | 0.305
95th Percentile (sec) | 0.535 | 0.57 | 0.625 | 0.745 | 0.645 | 0.57

The following chart shows RPS and latency results for a 2x1x1 configuration.

Chart with RPS and latency at 2x1x1 scale

The following chart shows performance counter data in a 2x1x1 configuration.

Chart with performance counters at 2x1x1 scale

Results from 3x1x1 farm configuration

Summary of results

  • On a 3 Web server, 1 application server and 1 database server farm, finally, the database server CPU was the bottleneck. As presented in the data in this section, database server CPU reached around 76% utilization when the farm was subjected to user load of 226 users by using the transactional mix described earlier in this document. At that point, the farm exhibited max RPS of 310.

  • This configuration delivered "green zone" RPS of 242, with 75th percentile latency being 0.41 sec, and database server CPU hovering around 44% utilization. This indicates that this farm can healthily deliver an RPS of around 242. "Max zone" RPS delivered by this farm was 318 with latencies of 0.5 sec and database server CPU hovering around 75%.

  • This was the last configuration in the series.

Performance counters and graphs

The following table presents various performance counters captured during testing a 3x1x1 farm, at different steps in user load.

User Load | 66 | 103 | 141 | 17 | 202 | 226
RPS | 193.8 | 218.5 | 269.8 | 275.5 | 318.25 | 310
Latency | 0.3 | 0.41 | 0.47 | 0.58 | 0.54 | 0.78
Web server CPU | 33 | 38.3 | 45.8 | 43.3 | 51 | 42.5
Application server CPU | 28 | 32.6 | 46.5 | 40 | 45.1 | 43.7
Database server CPU | 41.6 | 44.2 | 52.6 | 48 | 61.8 | 75
75th Percentile (sec) | 0.22 | 0.24 | 0.30 | 0.65 | 0.78 | 0.87
95th Percentile (sec) | 0.49 | 0.57 | 0.72 | 1.49 | 0.51 | 1.43

The following chart shows RPS and latency results in a 3x1x1 configuration.

Chart with RPS and latency at 3x1x1 scale

The following chart shows performance counter data for a 3x1x1 configuration.

Chart with performance counters at 3x1x1 scale

Comparison

From the iterative tests we performed, we found out the points at which a configuration enters max zone or green zone. Here's a table of those points.

The table and charts in this section provide a summary for all the results that were presented earlier in this article.

Topology | 1x1 | 1x1x1 | 2x1x1 | 3x1x1
Max RPS | 75 | 123 | 291 | 318
Green Zone RPS | Not applicable | 99 | 191 | 242
Max Latency | 0.29 | 0.25 | 0.5 | 0.5
Green Zone Latency | 0.23 | 0.23 | 0.37 | 0.41

The following chart shows a summary of RPS at different configurations.

Chart with comparison of RPS at each scale

The following chart shows a summary of latency at different configurations.

Comparison of latency at all scales

A note on disk I/O

Disk I/O based bottlenecks are not considered while prescribing recommendations in this document. However, it is still interesting to observe the trend. Here are the numbers:

Configuration | 1x1 | 1x1x1 | 2x1x1 | 3x1x1
Max RPS | 75 | 154 | 291 | 318
Reads/Sec | 38 | 34 | 54 | 58
Writes/Sec | 135 | 115 | 230 | 270

Because we ran the tests in durations of 1 hour and the test uses only a fixed set of sites/webs/document libraries and so on, SQL Server could cache all the data. Thus, our testing caused very little Read IO. We see more write I/O operations that read. It is important to be aware that this is an artifact of the test methodology, and not a good representation of real deployments. Most of the typical divisional portals would have more read operations 3 to 4 times more than write operations.

The following chart shows I/Ops at different RPS.

Chart with IOPs at all scales

Tests with Search incremental crawl

As we mentioned before, all the tests until now were run without Search crawl traffic. In order to provide information about how ongoing search crawl can affect performance of a farm, we decided to find out the max user RPS and corresponding user latencies with search crawl traffic in the mix. We added a separate Web server to 3x1x1 farm, designated as a crawl target. We saw a 17% drop in RPS compared to original RPS exhibited by 3x1x1.

In a separate test, on the same farm, we used Resource Governor to limit available resources to search crawl 10%. We saw that as Search uses lesser resources, the max RPS of the farm climbs up by 6%.

 | Baseline 3x1x1 | Only Incremental Crawl | No Resource Governor | 10% Resource Governor
RPS | 318 | N/A | 276 | 294.5
Percent RPS difference from baseline | 0% | N/A | 83% | 88%
Database server CPU (%) | 83.40 | 8.00 | 86.60 | 87.3
SA Database server CPU (%) | 3.16 | 2.13 | 3.88 | 4.2
Web server CPU (%) | 53.40 | 0.30 | 47.00 | 46.5
Application server CPU (%) | 22.10 | 28.60 | 48.00 | 41.3
Crawl Web server CPU (%) | 0.50 | 16.50 | 15.00 | 12.1

The following chart shows results from tests with incremental Search crawl turned on.

Requests per second with Search running
Important:

Here we are only talking about incremental crawl, on a farm where there are not very many changes to the content. It is important to be aware that 10% resource utilization will be insufficient for a full search crawl. It may also prove to be less if there are too many changes. It is definitely not advised to limit resource utilization to 10% if you are running a full search crawl, or your farm generally sees a high volume of content changes between crawls.

Summary of results and recommendations

To paraphrase the results from all configurations we tested:

  • With the configuration, dataset and test workload we had selected for the tests, we could scale out to maximum 3 Web servers before SQL Server was bottlenecked on CPU. The absolute max RPS we could reach that point was somewhere around 318.

  • With each additional Web server, increase in RPS was almost linear. We can extrapolate that as long as SQL Server is not bottlenecked, you can add more Web servers and additional increase in RPS is possible.

  • Latencies are not affected much as we approached bottleneck on SQL Server.

  • Incremental Search crawl directly affects RPS offered by a configuration. The effect can be minimized by using Resource Governor.

Using the results, here are few recommendations on how to achieve even larger scale if you must have more RPS from your divisional portal:

  • 1x1 farm can deliver up to 75 RPS. However, it is usually stressed. It's not a recommended configuration for a divisional portal in production.

  • Separate out content databases and services databases on separate instances of SQL Server: In the test workload used in tests, when SQL Server was bottlenecked on CPU, only 3% of the traffic was to the services databases. Thus this step would have achieved slightly better scale out than what we saw. But, in general, increase in scale out by separating out content databases and services databases is directly proportional to the traffic to services database in your farm.

  • Separate out individual content databases on separate instances of SQL Server. In the dataset used for testing, we had 5 content databases, all located on the same instance of SQL Server. By separating them out on different computers, you will be spreading CPU utilization across multiple computers. Therefore, you will see much larger RPS numbers.

  • Finally when SQL Server is bottlenecked on CPU, adding more CPU to SQL Server can increase RPS potential of the farm almost linearly.

How to translate these results into your deployment

In this article, we discussed results as measured by RPS and latency, but how do you apply these in the real world? Here's some math based on our experience from divisional portal internal to Microsoft.

A divisional portal in Microsoft which supports around 8000 employees collaborating heavily, experiences an average RPS of 110. That gives a Users to RPS ratio of ~72 (that is, 8000/110). Using the ratio, and the results discussed earlier in this article, we can estimate how many users a particular farm configuration can support healthily:

Farm configuration | "Green Zone" RPS | Approximate number of users it can support
1x1x1 | 99 | 7128
2x1x1 | 191 | 13452
3x1x1 | 242 | 17424

Of course, this is only directly applicable if your transactional mix and hardware is exactly same as the one used for these tests. Your divisional portal may have different usage pattern. Therefore, the ratio may not directly apply. However, we expect it to be approximately applicable.

About the authors

Gaurav Doshi is a Program Manager for SharePoint Server at Microsoft.

Raj Dhrolia is a Software Test Engineer for SharePoint Server at Microsoft.

Wayne Roseberry is a Principal Test Lead for SharePoint Server at Microsoft.

See Also

Other Resources

Resource Center: Capacity Management for SharePoint Server 2010


Social environment technical case study (SharePoint Server 2010)
See Also

Published: June 17, 2010

This document describes a specific deployment of Microsoft SharePoint Server 2010. It includes the following:

  • Technical case study environment specifications, such as hardware, farm topology and configuration

  • The workload that includes the number, and types, of users or clients, and environment usage characteristics

  • Technical case study farm dataset that includes database contents and Search indexes

  • Health and performance data that is specific to the environment

In this article:

  • Prerequisite information

  • Introduction to this environment

  • Specifications

  • Workload

  • Dataset

  • Health and Performance Data

Prerequisite information

Before reading this document, make sure that you understand the key concepts behind SharePoint Server 2010 capacity management. The following documentation will help you learn about the recommended approach to capacity management and provide context for helping you understand how to make effective use of the information in this document, and also define the terms used throughout this document.

For more conceptual information about performance and capacity that you might find valuable in understanding the context of the data in this technical case study, see the following documents:

  • Capacity management and sizing overview for SharePoint Server 2010

  • SharePoint Server 2010 capacity management: Software boundaries and limits

Introduction to this environment

This white paper describes an actual SharePoint Server 2010 environment at Microsoft. Use this document to compare with your planned workload and usage characteristics. If your planned design is similar, you can use the deployment described here as a starting point for your own installation.

This document includes the following:

  • Specifications, which include hardware, topology and configuration

  • Workload, which is the demand on the farm that includes the number of users, and the usage characteristics

  • Dataset that includes database sizes

  • Health and performance data specific to the environment

This document is part of a series of Performance and capacity technical case studies (SharePoint Server 2010) about SharePoint environments at Microsoft.

Diagram shows environment in context at Microsoft

The SharePoint Server 2010 environment described in this document is a production environment at a large, geographically distributed company. This environment hosts SharePoint My Sites that connect employees with one another and the information that they need. Employees use this environment to present personal information such as areas of expertise, past projects, and colleagues to the wider organization. The environment also hosts personal sites and documents for viewing, editing, and collaboration. My Sites are integrated with Active Directory Domain Services (AD DS) to provide a central location that can be accessed from the browser and various client applications.

As many as 72,000 unique users visit the environment on a busy day, generating up to 180 requests per second (RPS) during peak hours. Because this is an intranet site, all users are authenticated.

The information that is provided in this document reflects the enterprise social environment on a typical day.

Specifications

This section provides detailed information about the hardware, software, topology, and configuration of the case-study environment.

Hardware

This section provides details about the server computers that were used in this environment.

Note:

This environment is scaled to accommodate pre-release builds of SharePoint Server 2010 and other products. Hence, the hardware deployed has larger capacity than necessary to serve the demand typically experienced by this environment. This hardware is described only to provide additional context for this environment and serve as a starting point for similar environments.

It is important to conduct your own capacity management based on your planned workload and usage characteristics. For more information about the capacity management process, see Capacity management and sizing overview for SharePoint Server 2010.

Web Servers

There are three Web servers in the farm, each with identical hardware. Two serve content, and the third is a dedicated search crawl target.

Web Server | WFE1-3
Processor(s) | 2 quad core @ 2.33 GHz
RAM | 16 GB
Operating system | Windows Server 2008, 64 bit
Size of the SharePoint drive | 400 GB
Number of network adapters | 2
Network adapter speed | 1 Gigabit
Authentication | Windows NTLM
Load balancer type | Hardware load balancing
Software version | SharePoint Server 2010 (pre-release version)
Services running locally | Central Administration Microsoft SharePoint Foundation Incoming E-Mail Microsoft SharePoint Foundation Web Application Microsoft SharePoint Foundation Workflow Timer Service Search Query and Site Settings Service SharePoint Server Search
Services consumed from a federated services farm | User Profile Service Web Analytics Web Service Business Data Connectivity Service Managed Metadata Web Service

Application Server

There are two application servers in the farm, each with identical hardware.

Application Server | APP1-4
Processor(s) | 2 quad core @ 2.33 GHz
RAM | 16 GB
OS | Windows Server 2008, 64 bit
Size of the SharePoint drive | 400 GB
Number of network adapters | 1
Network adapter speed | 1 Gigabit
Authentication | Windows NTLM
Load balancer type | Hardware load balancing
Software version | SharePoint Server 2010 (pre-release version)
Services running locally | Office Web Apps Excel PowerPoint Secure Store Usage and Health State Service

Database Servers

There is a SQL cluster with two database servers, each with identical hardware. One of the servers is active and the other is passive for redundancy.

Database Server | DB1-2
Processor(s) | 4 quad core @ 2.4 GHz
RAM | 64 GB
Operating system | Windows Server 2008, 64 bit
Storage and geometry | (1.25 TB * 6) Disk 1-4: SQL Data Disk 5: Logs Disk 6: TempDB
Number of network adapters | 2
Network adapter speed | 1 @ 100MB, 1 @ 1GB
Authentication | Windows NTLM
Software version | SQL Server 2008

Topology

The following diagram shows the topology for this farm.

Farm topology diagram for this environment

Configuration

The following table enumerates settings that were changed that affect performance or capacity in the environment.

Setting | Value | Notes
Usage Service: Trace Log - days to store log files (default: 14 days) | 5 days | The default is 14 days. Lowering this setting can save disk space on the server where the log files are stored.
QueryLoggingThreshold Microsoft SharePoint Foundation Database - configure QueryLoggingThreshold to 1 second | 1 second | The default is 5 seconds. Lowering this setting can save bandwidth and CPU on the database server.
Database Server - Default Instance Max degree of parallelism | 1 | The default is 0. To ensure optimal performance, we strongly recommend that you set max degree of parallelism to 1 for database servers that host SharePoint Server 2010 databases. For more information about how to set max degree of parallelism, see max degree of parallelism Option(http://go.microsoft.com/fwlink/p/?LinkId=189030).

Workload

This section describes the workload, which is the demand on the farm that includes the number of users, and the usage characteristics.

Workload Characteristics | Value
Average Requests per Second (RPS) | 64
Average RPS at peak time (11 AM-3 PM) | 112
Total number of unique users per day | 69,814
Average concurrent users | 639
Maximum concurrent users | 1186
Total # of requests per day | 4,045,677

This table shows the number of requests for each user agent.

User Agent | Requests | Percentage of Total
Outlook Social Connector Browser | 1,808,963 | 44.71%
Search (crawl) | 704,569 | 17.42%
DAV | 459,491 | 11.36%
OneNote | 266,68 | 6.59%
Outlook | 372,574 | 9.21%
Browser | 85,913 | 2.12%
Word | 38,556 | 0.95%
Excel | 30,021 | 0.74%
Office Web Applications | 20,314 | 0.50%
SharePoint Workspaces | 19,017 | 0.47%

Dataset

This section describes the case study farm dataset that includes database sizes and Search indexes.

Dataset Characteristics | Value
Database size (combined) | 1.5 TB
BLOB size | 1.05 TB
Number of content databases | 64
Number of Web applications | 1
Number of site collections | 87,264
Number of sites | 119,400
Search index size (number of items) | 5.5 million

Health and Performance Data

This section provides health and performance data that is specific to the case study environment.

General Counters

Metric | Value
Availability (uptime) | 99.61%
Failure Rate | 0.39%
Average memory used | 0.79 GB
Maximum memory used | 4.53 GB
Search Crawl % of Traffic (Search client requests / total requests) | 17.42%

The following charts show average CPU utilization and latency for this environment.

Chart showing average CPU utilization Chart showing latency in this environment

In this document, latency is divided into four categories. The 50th percentile latency is typically used to measure the server's responsiveness. It means that half of the requests are served within that response time. The 95th percentile latency is typically used to measure spikes in server response times. It means that 95% of requests are served within that response time, and therefore, 5% of the requests experience slower response times.

Database Counters

Metric | Value
Read/Write Ratio (IO Per Database) | 99.854 : 0.146
Average Disk queue length | 8.702
Disk Queue Length: Reads | 30.518
Disk Queue Length: Writes | 4.277
Disk Reads/sec | 760.886
Disk Writes/sec | 180.644
SQL Compilations/second | 3.129
SQL Re-compilations/second | 0.032
SQL Locks: Average Wait Time | 125 ms
SQL Locks: Lock Wait Time | 33.322 ms
SQL Locks: Deadlocks Per Second | 0
SQL Latches: Average Wait Time | 0 ms
SQL Cache Hit Ratio | 20.1%

See Also

Other Resources

Resource Center: Capacity Management for SharePoint Server 2010


Microsoft SharePoint Server 2010 social environment: Lab study
See Also

Published: February 10, 2011

This article provides guidance on performance and capacity planning for a My Site and social computing portal based on Microsoft SharePoint Server 2010. This article describes the following:

  • Test environment specifications such as hardware, farm topology, and configuration.

  • Test farm dataset.

  • Test data and recommendations for how to determine the hardware, topology, and configuration that you must deploy in a test environment and how to optimize an environment for appropriate capacity and performance characteristics.

Executive summary

Here are the key findings from our test of the My Site and social computing portal:

  • The environment scaled up to eight front-end Web servers for one application server and one database server (8×1×1). The increase in throughput was almost linear throughout. We experienced no additional gains in throughput by adding more than eight front-end Web servers because the bottleneck at this point was the CPU utilization of the database server.

  • We achieved further scale-out by separating the content database and services database onto separate database servers (8×1×2).

  • We reached maximum throughput by using the 8x1x2 topology. At that point, front-end Web server utilization and application server CPU utilization were the bottleneck. Given this, it seems that, for the given hardware, dataset, and test workload, the maximum possible requests per second (RPS) is represented by Max Zone RPS for 8x1x2, which is about 1,877 RPS.

  • Looking at the trends, we think it might be possible to extract the same throughput with a healthy farm if the bottlenecks on the front-end Web server and application server are addressed. The front-end Web server bottleneck can be addressed by adding more front-end Web servers. The application server bottleneck can be addressed by using two computers to play the role of application server. However, we did not try this in the lab.

  • Latency is not affected by throughput or hardware variations.

  • If you have security trimming turned on, one front-end Web server can support from 8 through 10 RPS of Outlook Social Connector traffic. This means that one front-end Web server can support about 28,000 to 36,000 employees using the Outlook Social Connector all day. Thus, if you are rolling out the Outlook Social Connector to 100,000 employees, you will need three front-end Web servers to support the Outlook Social Connector traffic. These values can vary depending on social tagging usage at your company. If you determine that your company will have less social tagging activity than what we used in the dataset for this testing effort, your throughput per front-end Web server might exceed the range of 8 through 10 RPS.

  • The incremental People Search crawl has little effect on the throughput of the farm as long as the farm is maintained in a healthy state.

Introduction to this environment

The test methodology and results in this article provide guidance for planning the capacity of a social computing portal. A social computing portal is a SharePoint Server 2010 deployment where each person in the company can maintain a user profile, find experts in the company, connect with other employees through newsfeeds, and maintain a personal site for document storage and sharing. In addition to the traffic generated by the social computing features, significant collaboration traffic is created by users who upload, share, view, and update documents on their personal sites. These results should help in designing a separate portal dedicated to My Sites and social features.

Different scenarios will have different requirements. Therefore, you must supplement this guidance with additional testing on your own hardware and in your own environment.

After you read this article, you will understand how to:

  • Estimate the hardware that is required for the scale-out that you need to support. This estimate should include the number of users, load, and the features enabled.

  • Design your physical and logical topology for optimal reliability and efficiency. High availability and disaster recovery are not covered in this article.

  • Account for the effect of ongoing People Search crawls and profile synchronizations on the RPS of a social computing portal deployment.

Before reading this article, you should read the following:

  • Capacity management and sizing for SharePoint Server 2010

  • SharePoint Server 2010 capacity management: Software boundaries and limits

  • Social environment technical case study (SharePoint Server 2010)

If you are interested in reading capacity planning guidance about typical collaboration scenarios, see Enterprise intranet collaboration environment technical case study (SharePoint Server 2010)

Note:

There is no custom code running on the social computing portal deployment in this lab study. We cannot guarantee the behavior of custom code or third-party solutions that might be installed on your My Site and social computing portal.

Note:

NTLM authentication was used for this lab study.

Glossary

The following list contains definitions for key terms found in this article:

  • RPS: Requests per second. RPS is the number of requests received by a farm or server in one second. This is a common measurement of server and farm load.

    Note that requests differ from page loads. Each page contains several components, each of which creates one or more requests when a page is loaded. Therefore, one page load creates several requests. Authentication checks and events that use insignificant resources typically are not counted in RPS measurements.

  • Green Zone: This is the state at which the server can maintain the following set of criteria:

    • The server-side latency for at least 75 percent of the requests is less than 1 second.

    • All servers have a CPU utilization of less than 50 percent.

    Note:

    Because this lab environment did not have an active search crawl running, the database server was kept at 40 percent CPU utilization or lower to reserve 10 percent for the search crawl load. This assumes that Microsoft SQL Server Resource Governor is used in production to limit the search crawl load to 10 percent CPU utilization.

    • Failure rate is less than 0.01 percent.

  • Red Zone (Max): This is the state at which the server can maintain the following set of criteria:

    • HTTP request throttling feature is enabled, but no 503 (Server Busy) errors are returned.

    • The failure rate for HTTP requests is less than 0.1 percent.

    • The server-side latency is less than 1 second for at least 75 percent of the requests.

    • Database server CPU utilization is less than 80 percent. This allows for 10 percent of utilization reserved for the search crawl load and is limited by using SQL Server Resource Governor.

  • AxBxC (Graph notation): This is the number of front-end Web servers, application servers, and database servers in a farm. For example, 8x1x2 means that this environment has eight front-end Web servers, one application server, and two database servers.

  • VSTS Load: These are threads that are used internally by Visual Studio Team System (VSTS) to simulate virtual users. We increased the VSTS load to generate more and more RPS for the topology.

  • MDF and LDF: SQL Server physical files. For more information, see Files and Filegroups Architecture.

Overview

This section summarizes our scaling approach, the relationship between this lab environment and a similar case study environment, and our test methodology.

Scaling approach

We recommend that you scale the computers in your environment in a specific order. It is the same approach we took for scaling our lab environment. This approach will enable you to find the best configuration for your workload. The approach we took is as follows:

  1. First, we scaled out the front-end Web servers. They were scaled out as far as possible under the tested workload until the database server was unable to accommodate any more requests from the front-end Web servers.

  2. Until this point, the content databases and the services databases (such as the profile database and the social database) were on the same database server. When we noticed that the database server was the bottleneck, we scaled out the database server by moving the content databases to another database server. After this, the load on the database servers created by the front-end Web servers decreased to the point where we were able to scale out the front-end Web servers even more.

  3. In the lab environment, we did not test the scale out beyond this. However, if you need more scale, the next logical step would be to have two computers share application server responsibilities.

We began with a minimal farm configuration of one front-end Web server, one application server, and one SQL Server-based computer. Through multiple iterations, we stopped at eight front-end Web servers, one application server, and two SQL Server farm configurations. In the Results and analysis section later in this article, you will find a comparison of Green Zone and Max Zone performance characteristics across different iterations. How we discovered the Green Zone and the Max Zone for each iteration is covered in the Results from iterations section.

Correlating the lab environment with a production environment

The lab environment outlined in this article is a smaller scale model of a production environment at Microsoft. Although there are significant differences between the two environments, it can be useful to view them side by side because both are My Site and social computing environments. As a result, the patterns observed should be similar.

The lab environment contains a dataset that closely mimics the dataset from the production environment. The workload that is used for testing is largely similar to the workload seen in the production environment, with few significant differences. The most significant of the differences is that, in the lab environment, we use fewer distinct users to perform the operations and we perform operations on a smaller number of user profiles compared to the production environment. Also, the lab tests occur over a shorter time. All of these affect the number of cache hits that occur for the user profile cache that is maintained on the application server.

The User Profile service caches recently used user profiles on the application server. The default size of this cache is 256 MB, which translates to approximately 500,000 user profiles. Because the number of user profiles that was used in testing was limited to 1,500, and the duration of the tests were less than the recycle time of the cache, cache hits usually occurred. Therefore, the throughput numbers presented in this article are on the higher side. You should definitely account for cache misses in your environment and expect a lower throughput number.

For a detailed case study of a production My Site and social computing portal at Microsoft, see Social environment technical case study (SharePoint Server 2010).

Methodology and test notes

This article provides results from a test lab environment. Because this was a lab environment, we were able to control certain factors to show specific aspects of performance for this workload. In addition, certain elements of the production environment were excluded from the lab environment to simplify testing overhead. Note that we do not recommend omitting these elements for production environments:

  • Between test runs, we modified only one variable at a time to make it easy to compare results between test runs.

  • The database servers that were used in this lab environment were not part of a cluster because redundancy was not necessary for the purposes of these tests.

Search crawl was not running during the tests, whereas it might be running in a production environment. To take this into account, we lowered the SQL Server CPU utilization in our definition of Green Zone and Red Zone (Max) to accommodate the resources that a search crawl would have consumed if it were running at the same time as our tests.

Specifications

This section provides detailed information about the hardware, software, topology, and configuration of the lab environment.

Hardware

The following table lists hardware specifications for the computers that were used in this test. Front-end Web servers that were added to the server farm during multiple iterations of the test also complied with these specifications.

 | Front-end Web server | Application server | Database server
Processor | 2px4c@2.33 GHz | 2px4c@2.33 GHz | 4px4c@3.10 GHz
RAM | 8 GB | 8 GB | 32 GB
Number of network adapters | 2 | 2 | 1
Network adapter speed | 1 gigabit | 1 gigabit | 1 gigabit
Load balancer type | F5 - Hardware load balancer | Not applicable | Not applicable
ULS logging level | Medium | Medium | Not applicable

Software

The following table lists software specifications for the computers that were used in this test. Front-end Web servers that were added to the server farm during multiple iterations of the test also complied with these specifications.

 | Front-end Web server | Application server | Database server
Operating system | Windows Server 2008 R2 x64 | Windows Server 2008 R2 x64 | Windows Server 2008 x64
Software version | Microsoft SharePoint 4763.1000 (RTM), Office Web Applications 4763.1000 (RTM) | Microsoft SharePoint 4763.1000 (RTM), WAC 4763.1000 (RTM) | SQL Server 2008 R2 CTP3
Load balancer type | F5 - Hardware load balancer | Not applicable | Not applicable
ULS logging level | Medium | Medium | Not applicable
Antivirus settings | Disabled | Disabled | Disabled
Services running | SharePoint Foundation Incoming E-Mail SharePoint Foundation Web Application SharePoint Foundation Workflow Timer Service | Central Administration Excel Calculation Services Managed Metadata Web Service SharePoint Foundation Incoming E-Mail SharePoint Foundation Web Application SharePoint Foundation Workflow Timer Service PowerPoint service User Profile service User Profile Synchronization service Word Viewing service |

Topology

The following diagram shows the topology for this lab environment:

Farm topology diagram for this environment

Dataset and disk geometry

The test farm was populated with:

  • 166.5 GB of My Site content, evenly distributed across 10 content databases

  • 27.7 GB of Profile database content

  • 3.7 GB of social database content (GUIDs for social tags, notes, and ratings)

  • 0.14 GB of Managed Metadata database content (text for social tags and corresponding GUIDs)

The following table explains the dataset in detail.

Number of user profiles | ~150K
Average number of memberships per user | 74
Average number of direct reports per user | 6
Average number of colleagues per user | 28
Number of total profile properties | 101
Number of multiple-value properties | 21
Number of audiences | 130
Number of My Sites | ~10K
Number of blog sites | ~600
Total number of events in activity feed | 798K*
Number of social tags and ratings | 5.04 million**

* A social tagging study from del.icio.us suggests that an active user creates 4.2 tags/month. Tags, in this context, refer to any activity of assigning metadata to URLs. This includes keyword tags, ratings, and notes. This means an active user creates 4.2 tags/30 days = 0.14 tags/day. Assuming one-third of the social portal users are tagging, there are 150K/3 × 0.14 tagging events per day. Activity feed tables maintain activity for 14 days. Therefore, the total number of tagging events in the activity feed table equals 150K/3 × 0.14 × 14. In addition to tagging events, if we assume that active users generate one additional event per day, such as a profile property update or status update, we have 150K/3 × 1 × 14 events added to activity feed tables. Thus, the total number of events in the activity feed tables equals 150K/3 × 1.14 × 14 = 798K. Of those events, 98K are tagging activities that may trigger security trimming. The rest of the events will be randomly distributed among status update and profile property changes.

** Assumes that one-third of the population are active users and each creates 4.2 tags per month, where a tag can mean a keyword tag, a note or a rating. Assuming the farm exists for two years, the total number of tags will be 150K/3 × 4.2 × 12 × 2 = 5.04 MB.

The following table explains the disk geometry in detail.

Database | ContentDB 1, 2, 3, 4 | ContentDB 5, 6 | ContentDB 7, 8 | ContentDB 9, 10 | Profile | Social | Metadata
Database size | 61.4 GB | 39 GB | 32.3 GB | 33.7 GB | 27.7 GB | 3.7 GB | 0.14 GB
RAID configuration | 0 | 0 | 0 | 0 | 0 | 0 | 0
Number of spindles for MDF | 1 | 1 | 1 | 1 | 6 | 1 | 1
Number of spindles for LDF | one physical spindle shared by all databases

Test Mix

Important notes:

  • The tests only model prime-time usage on a typical social computing portal. We did not consider the cyclical changes in user-generated traffic that is seen with day/night cycles. Timer jobs such as Profile Synchronization and People Search Crawl, which require significant resources, were tested independently with the same test workload to determine their effect.

  • The tests focus more on social operations, such as newsfeeds, social tagging, and reading people profiles. It does have a small amount of typical collaboration traffic; however, that is not the focus. We expect these results will help in designing a separate portal dedicated to My Sites and social features.

  • The test mix does not include traffic from the Search Content Crawl. This was factored into our tests, however, by modifying the Green Zone definition to 40 percent SQL Server CPU utilization, instead of the standard 50 percent, to allow for 10 percent CPU utilization for the search crawl. Similarly, we used 80 percent SQL Server CPU as the criteria for Max RPS.

  • In addition to the test mix listed in the following table, we also added eight RPS for each front-end Web server for Outlook Social Connector traffic. We had security trimming turned on. The Secure Token Service showed significant signs of stress as we approached about 8 RPS of Outlook Social Connector's traffic on a single front-end Web server when obtaining colleague activities. This was a function of the dataset, test workload, and hardware we used in the lab for testing. You might see completely different behavior. To avoid additional stress on the Secure Token Service, we decided to add Outlook Social Connector traffic as a function of the number of front-end Web servers in each iteration. Thus for 1x1x1, we have 8 RPS of Outlook Social Connector traffic, whereas for 2x1x1 we have 16 RPS of Outlook Social Connector traffic, and so on.

The overall test mix is presented in the following table.

Test | Read/write | Percent of mix
Add a colleague. | Write | 2.11
Create a rating on a URL, write a note, or tag a URL. | Write | 3.22
List operations documents. | Read/Write | 2.36
Get published links to model client calls to PublishedLinksService.asmx. | Read | 6.92
Get RSS feeds from lists. | Read | 3.72
View all items in document libraries and lists on My Site. | Read | 1.07
View a blog post. | Read | 0.04
View various My Site pages (my content, colleagues, newsfeed, my profile, someone else's profile, organization browser, memberships, tags, and notes). | Read | 3.87
Sync for Shared OneNote files. | Read | 10.0
Edit my profile page or status message; update picture. | Write | 2.31
Office Web Apps: Open and scroll files (PowerPoint, Word, and Excel). | Read | 0.13
List sync with Outlook. | Read | 48.16
Upload a document. | Write | 0.09
Load pages, document libraries, and folders from the content database. | Read | 15.93
Co-author documents. | Read/Write | 0.17

The following table describes additional Outlook Social Connector scenario test mix generating 8 RPS per front-end Web server.

Auto-sync my colleagues. | Read | 4 percent
Auto-sync my colleagues' news feeds. | Read | 96 percent

Results and analysis

Comparison of all iterations

As mentioned earlier, we started with a minimal farm configuration of one front-end Web server, one application server, and one SQL Server-based computer. Through multiple iterations, we finally ended at a farm that has eight front-end Web servers, one application server, and two SQL Server computers. For each of these iterations, we performed step-load tests to determine the Green Zone and Max Zone. In the following table, you will find a comparison of these Green Zone and Max Zone performance characteristics for the different iterations.

The following table and charts provide a summary for comparison and analysis.

Green Zone results

The Green Zone performance characteristics across topologies are summarized in the following table.

Topology | 1x1x1 | 2x1x1 | 3x1x1 | 5x1x1 | 8x1x1 | 8x1x2
Green Zone RPS | 137.25 | 278.08 | 440.72 | 683.07 | 793.67 | 873.4
Green Zone 75th percentile latency | 0.12 | 0.16 | 0.14 | 0.16 | 0.31 | 0.32
Green Zone front-end Web server CPU | 47.84 | 46.88 | 48.68 | 46.13 | 31.79 | 36.90
Green Zone application server CPU | 9.45 | 18.88 | 26.91 | 35.58 | 48.73 | 47.20
Green Zone SQL Server CPU | 5.45 | 10.61 | 16.46 | 24.73 | 30.03 | 32.40 (17.9 for content DB and 14.5 for services DB)

The following chart shows the variations in the CPU utilization plotted on RPS and offered by different topologies for Green Zone results.

Chart showing CPU utilization with RPS in the Gree

As illustrated in the previous chart:

  • RPS increased throughout as we added more computers to the topologies.

  • It is clear that front-end Web server CPU was the driving factor leading the topology to the boundary of the Green Zone until 5x1x1. At 8x1x1, the application server CPU reached the boundary for the Green Zone before the front-end Web servers could reach the Green Zone boundaries.

  • Throughout the test, the SQL Server CPU remained in very healthy territory.

Max Zone results

The following table provides a summary of results across topologies for Max Zone.

 | 1x1x1 | 2x1x1 | 3x1x1 | 5x1x1 | 8x1x1 | 8x1x2
Max Zone RPS | 203.28 | 450.75 | 615.00 | 971.13 | 1655 | 1877
Max Zone latency | 0.22 | 0.23 | 0.22 | 0.22 | 0.31 | 0.32
Max Zone front-end Web server CPU | 75.13 | 78.17 | 70.00 | 67.02 | 67 | 71.6
Max Zone application server CPU | 12.97 | 27.07 | 28.40 | 48.28 | 67.1 | 73.4
Max Zone SQL Server CPU | 7.64 | 16.06 | 21.00 | 38.38 | 79.5 | 74.9 (45.9 for content DB and 29 for services DB)

The following chart presents variations in CPU utilization plotted on RPS and offered by different topologies for Max Zone results.

Chart showing CPU utilization with RPS in the MaxZ

As illustrated in the previous chart:

  • RPS increased throughout as we added more computers to topologies.

  • It is clear that front-end Web server CPU was the bottleneck until 5x1x1. At 8x1x1, the SQL Server CPU became the bottleneck.

  • Initially, the application server CPU utilization was higher than the SQL Server CPU utilization. However, it seems that the growth rate of the SQL Server CPU utilization is greater than the growth rate of the application server CPU utilization. At higher throughput levels, the SQL Server CPU utilization overtook the application server CPU utilization and became the bottleneck.

Green Zone vs. Max Zone

The following charts compare throughput and latencies for the Green Zone and Max Zone for different topologies.

Chart showing RPS for each topology Chart showing latency for each topology

As illustrated in the previous charts:

  • Latencies do not vary much with throughput or topologies. In our testing, latencies were all under 0.5 seconds, which is very acceptable.

  • Throughput increase is almost linear.

Disk I/O

The following table and chart present the disk I/O that was observed on each database in different topologies. We did not experience disk I/O as a bottleneck, and — looking at the trend — we did not record the data for later topologies.

 | 1x1x1 Max Zone | 2x1x1 Max Zone | 3x1x1 Max Zone | 5x1x1 Max Zone
Reads/Second (Content DB) | 21.33 | 20.80 | 24.24 | 22.42
Reads/Seconds (Profile DB) | 14.97 | 17.20 | 19.82 | 13.50
Reads/Second (Social DB) | 1.81 | 1.83 | 2.10 | 2.01
Writes/Second (Content DB) | 50.12 | 76.24 | 80.02 | 99.16
Writes/Second (Profile DB) | 9.01 | 24.31 | 23.35 | 38.29
Writes/Second (Social DB) | 4.12 | 9.47 | 10.63 | 19.45
Chart showing I/Ops for each topology

Effect of People Search crawl

We wanted to measure the effect of the People Search crawl on the throughput offered by a configuration and by end-user latencies. For this test, we used the results given by an 8x1x1 configuration as the baseline and started the incremental People Search crawl. The incremental crawl indexed 49,375 items in 53 minutes.

A comparison of the performance characteristics exhibited by the 8x1x1 configuration with and without the People Search incremental crawl is presented in the following table.

 | Baseline 8x1x1 Green Zone results | 8x1x1 with People Search crawl Green Zone results
Throughput (RPS) | 1024.00 | 1026.00
Front-end Web server CPU (percent) | 39.84 | 41.6
Application server CPU (percent) | 41.40 | 43.1
Content/Service SQL Server CPU (percent) | 36.63 | 39.5
Crawl server CPU (percent) | 0.52 | 34.6
SQL Server CPU for Search (percent) | 3.62 | 14.8

As described in this table:

  • RPS almost remained the same. Because there was no resource bottleneck in the 8x1x1 Green Zone, there is no reason for RPS to be affected.

  • The front-end Web server and Content/Service SQL Server CPU utilization became only slightly better.

  • The Crawl server and the SQL Server CPU for search increased from 0.5 percent to 34.6 percent, and 3.6 percent to 14.8 percent.

Analysis

Application server scale

The application server was not a bottleneck in any of the configurations. Additionally, if you see application server CPU utilization for different VSTS loads in any single configuration, you will notice that it grows and then flattens out. An ideal example of this is seen in the 8x1x1 configuration as shown in the following table.

VSTS load | 416 | 616 | 816 | 1016 | 1216 | 1416 | 1616
Application server CPU utilization (percent) | 37.6 | 49.4 | 57.9 | 61.9 | 67.1 | 65.3 | 63.10

This is expected. In the case of a social portal, most of the operations require dealing with the SharePoint Server User Profile service. Most of the operations require fetching the profile for a user from the Profile database that is provisioned when the User Profile service is created.

To avoid frequent SQL Server round trips, the application server for the User Profile service maintains a cache of user profiles. Initially, as the test environment is warming up, this cache is empty and the application server responds to incoming requests from the front-end Web server by constantly fetching user profiles from SQL Server. These profiles are cached, and then all requests from the front-end Web server can be responded to by the application server without causing a SQL Server round-trip. It does this by looking for the profile in the cache.

Because the number of user profiles used in testing was limited, we saw the application server cache all of those user profiles. Thereafter, it showed an increasing utilization. When all the profiles were cached, it was a steady operation of cache lookups. Therefore, we see the application server CPU utilization stabling down.

Outlook Social Connector traffic and security trimming

The Outlook Social Connector is an add-in that is included with Office 2010 which shows the activities of your SharePoint colleagues in Outlook. This add-in is also available as a free download for 2007 Microsoft Office system and Microsoft Office 2003.

The Outlook Social Connector checks SharePoint Server one time every hour to get the activities for those users who are listed as a colleague of a particular user. It caches those activities each hour. On subsequent checks for colleague activities, the Outlook Social Connector only asks for any new activities since the last time that it checked SharePoint Server. Thus, it follows a very predictable traffic pattern. For a 100,000-people deployment of the Outlook Social Connector and SharePoint Server, assuming all users are using it throughout the whole day, the Outlook Social Connector generates 100,000 requests per hour, which translates to 27.77 RPS.

Displaying colleague activities could lead to the possibility of information disclosure. For example, a URL that is tagged by a colleague may be something confidential that another user does not have access to. In this case, the user can find out about the existence of that confidential piece of content by seeing it in the Outlook Social Connector. To prevent this information disclosure, SharePoint Server filters all activities and shows only those URLs that a user has access to in the activity feeds. This filtering is what we call security trimming. By default, security trimming is turned on. However, it can be turned off by a SharePoint Server administrator.

Not every activity requires security trimming. Out of sixteen activity types that SharePoint Server 2010 supports, only four activities (tagging, Note Board comments, ratings, and distribution list (DL) membership changes) require security trimming. Also, because the Outlook Social Connector asks only for a delta of activities that have happened since the last time that it synced, the number of activities per user that would require security trimming would be reasonably low.

Every request from the Outlook Social Connector that requires security trimming results in an authenticated Windows Communication Foundation (WCF) call to the application server for the Search Service. To get the authentication token to make this call, a WCF call is first made to the Secure Token Service.

We found that if the Outlook Social Connector RPS goes beyond eight RPS per front-end Web server, the Secure Token Service was under stress. The stress on the Secure Token Service might not happen to each user because it is affected by the total number of users and total amount of social tagging that occurs on the activities of a user's colleagues. In the dataset we created and with the users we used, we probably had enough activities requiring security trimming that we saw this occur. Hence, we increased the Outlook Social Connector traffic as a function of the number of front-end Web servers available. For the 1x1x1 configuration, we generated 8 RPS of Outlook Social Connector traffic. However, for a 2x1x1 configuration, we generated 16 RPS of Outlook Social Connector traffic, and so on.

This means that, for the dataset, test mix, and hardware we had for testing, we could support about 8 × 60 × 60, that is, 28,800 requests per hour. With the way the Outlook Social Connector works, this means that we could have supported 28,800 employees using the Outlook Social Connector on a single front-end Web server that had security trimming turned on. Similarly, we could support 28,800 × 3, which is 86,400 employees using the Outlook Social Connector on three front-end Web servers that have security trimming turned on.

This should help you estimate the hardware that is required to support Outlook Social Connector traffic, but be aware that the results we saw are specific to the dataset, test mix, and hardware we used for testing. Also, remember that you have the option of turning off security trimming by using Windows PowerShell 2.0, or changing the frequency of Outlook Social Connector synchronization with SharePoint Server. Both of these options will have a significant effect on hardware requirements.

Results from iterations

The following results are ordered based on the scaling approach described in Overview, earlier in this article.

1x1x1 Topology

This section describes the test results that were obtained with one Web server, one application server, and one database server.

Summary of results

  • In addition to the test mix presented earlier in this article, this farm had 8-RPS traffic from the Outlook Social Connector asking for feed events by a user.

  • On a farm with one front-end Web server, one application server, and one SQL Server computer, the front-end Web server was clearly the bottleneck. As presented in the following table, the front-end Web server CPU reached about 90 percent utilization when the farm was subjected to 238 RPS by using the transactional mix that is described earlier in this document.

  • This configuration delivered Green Zone RPS of 137.25, with 75 percent latency being 0.12 seconds and front-end Web server CPU hovering around 47.8 percent utilization. This indicates that this farm can successfully deliver an RPS of about 137.25. Max Zone RPS delivered by this farm was 203.2 with latencies of 0.22 seconds and front-end Web server CPU hovering around 85 percent.

  • Because the front-end Web server was the bottleneck, we added another front-end Web server to the farm for the next iteration.

Performance counters and graphs

Various performance counters captured during testing the 1x1x1 farm, at different steps in VSTS load, are presented in the following table.

VSTS load | 52 | 77 | 102 | 127 | 152 | 177
RPS | 99.8 | 147 | 188 | 218 | 238 | 243
Front-end Web server CPU | 33.9 | 50 | 71.8 | 81.1 | 90.8 | 89
Application server CPU | 7.92 | 11.7 | 13.5 | 14.1 | 13.9 | 13.3
SQL Server CPU | 4.7 | 6.48 | 7.99 | 8.21 | 8.41 | 8.88
75th percentile [seconds] | 0.13 | 0.16 | 0.17 | 0.25 | 0.3 | 0.45
95th percentile [seconds] | 0.29 | 0.47 | 0.41 | 0.55 | 0.55 | 0.77
Chart showing RPS and Latency for 1x1x1 topology Chart showing RPS and CPU utilization for 1x1x1 to

2x1x1 Topology

This section describes the test results that were obtained with two Web servers, one application server, and one database server.

Summary of results

  • In addition to the test mix presented earlier in this article, this farm had 16-RPS traffic from the Outlook Social Connector asking for feed events by a user.

  • On a farm with two front-end Web servers, one application server, and one SQL Server computer, the front-end Web servers were the bottleneck. As presented in the data here, the front-end Web server CPU reached about 89 percent utilization when the farm was subjected to 520 RPS by using the transactional mix described earlier in this document.

  • This configuration delivered Green Zone RPS of 278, with 75 percent latency being 0.16 seconds, and the front-end Web server CPU hovering around 47 percent utilization. This indicates that this farm can successfully deliver an RPS of about 278 with the test mix and hardware that was used for the tests. Max Zone RPS delivered by this farm was 450 with latencies of 0.23 seconds and the front-end Web server CPU hovering around 78 percent.

  • Because the front-end Web server CPU was the bottleneck in this iteration, we relieved the bottleneck by adding another front-end Web server for the next iteration.

Performance counters and graphs

Various performance counters captured during testing the 2x1x1 farm, at different steps in VSTS load, are presented in the following table and chart.

VSTS load | 104 | 154 | 204 | 254 | 304 | 354
RPS | 190 | 278 | 390 | 455 | 500 | 520
Front-end Web server CPU | 36 | 50.9 | 71.9 | 86.9 | 87.1 | 89.5
Application server CPU | 16 | 24.9 | 28.3 | 26.5 | 26.5 | 24.9
SQL Server CPU | 8.06 | 10.6 | 14.2 | 16.4 | 17.9 | 18.9
75th percentile [seconds] | 0.16 | 0.22 | 0.22 | 0.33 | 0.42 | 0.53
95th percentile [seconds] | 0.42 | 0.64 | 0.51 | 0.69 | 0.73 | 0.89
Chart showing RPS and Latency for 2x1x1 topology Chart showing RPS and CPU utilization for 2x1x1 t

3x1x1 Topology

This section describes the test results that were obtained with three Web servers, one application server, and one database server.

Summary of results

  • In addition to the test mix presented earlier in this article, this farm had 24-RPS traffic from the Outlook Social Connector asking for feed events by a user.

  • On a farm with three front-end Web servers, one application server, and one SQL Server computer, the front-end Web servers were the bottleneck. As presented in the data here, the front-end Web server CPU reached about 76 percent utilization when the farm was subjected to 629 RPS by using the transactional mix described earlier in this document.

  • This configuration delivered Green Zone RPS of 440, with 75 percent latency being 0.14 seconds, and the front-end Web server CPU hovering around 48 percent utilization. This indicates that this farm can deliver an RPS of about 440 with the test mix and hardware that was used for the tests. Max Zone RPS delivered by this farm was 615 with latencies of 0.22 seconds and the front-end Web server CPU hovering around 70 percent.

  • Because the front-end Web server CPU was the bottleneck in this iteration, we decided to add more front-end Web servers. Considering the delta between iterations seen previously by addition of one front-end Web server, we decided to add two front-end Web servers. By doing this, we hoped to find that the application server or the SQL Server computer was the bottleneck.

Performance counters and graphs

Various performance counters captured during testing the 3x1x1 farm, at different steps in VSTS load, are presented in the following table and charts.

VSTS load | 156 | 231 | 306 | 381 | 456 | 531
RPS | 264 | 393 | 532 | 624 | 634 | 629
Front-end Web server CPU | 30.5 | 46.3 | 62.55 | 72.95 | 75.4 | 76
Application server CPU | 22.7 | 35.6 | 34.2 | 32.5 | 32.5 | 29.4
SQL Server CPU | 10.4 | 14.8 | 20.8 | 22.5 | 22.8 | 22.4
75th percentile [seconds] | 0.17 | 0.26 | 0.27 | 0.28 | 0.31 | 0.40
95th percentile [seconds] | 0.63 | 1.08 | 0.76 | 0.68 | 0.88 | 0.98
Chart showing RPS and Latency for 3x1x1 topology Chart showing RPS and CPU utilization for 3x1x1 t

5x1x1 Topology

This section describes the test results that were obtained with five Web servers, one application server, and one database server.

Summary of results

  • In addition to the test mix presented earlier in this article, this farm had 40-RPS traffic from the Outlook Social Connector asking for feed events by a user.

  • On a farm with five front-end Web servers, one application server, and one SQL Server computer, we saw significant increase in SQL Server CPU and application server CPU utilization, but still, the front-end Web server CPU was the bottleneck. As presented in the data here, the front-end Web server CPU reached about 88 percent utilization when the farm was subjected to RPS of 1315 by using the transactional mix described earlier in this document.

  • This configuration delivered Green Zone RPS of 683, with 75 percent latency being 0.16 seconds, and the front-end Web server CPU hovering around 46 percent utilization. This indicates that this farm can successfully deliver an RPS of about 683 with the test mix and hardware that was used for the tests. Max Zone RPS delivered by this farm was 971 with latencies of 0.22 seconds and the front-end Web server CPU hovering around 68 percent.

  • Looking at the trend, we decided to add three front-end Web servers and test for the 8x1x1 configuration. We hoped to find the application server or the SQL Server to be a bottleneck with that configuration

Performance counters and graphs

Various performance counters captured during testing the 5x1x1 farm, at different steps in user load, are presented here. Because we saw no significant effect of VSTS load or configuration changes on latency, we stopped recording it.

VSTS load | 260 | 385 | 510 | 635 | 760 | 885
RPS | 359 | 560 | 901 | 1188 | 1281 | 1315
front-end Web server CPU | 20.5 | 34 | 56.2 | 77.5 | 86.1 | 88
Application server CPU | 40.2 | 50.6 | 66.9 | 71.3 | 66.3 | 58.7
SQL Server CPU | 13.9 | 20.3 | 34.9 | 53.6 | 58.4 | 64
Chart showing RPS and CPU utilization for 5x1x1 t

8x1x1 Topology

This section describes the test results that were obtained with eight Web servers, one application server, and one database server.

Summary of results

  • In addition to the test mix presented earlier in this article, this farm had 64-RPS traffic from the Outlook Social Connector asking for feed events by a user.

  • On a farm with eight front-end Web servers, one application server, and one SQL Server computer, the SQL Server CPU was finally the bottleneck. As presented in the data here, the SQL Server CPU reached about 80 percent utilization when the farm was subjected to RPS of 1664 by using the transactional mix described earlier in this document.

  • This configuration delivered Green Zone RPS of 793, with 75 percent latency being 0.31 seconds, and SQL Server CPU hovering around 30 percent utilization. However, application server CPU utilization was about 48 percent. This indicates that this farm can successfully deliver an RPS of about 793 with the test mix and hardware that was used for tests. Max Zone RPS delivered by this farm was 1655 with latencies of 0.31 seconds and SQL Server CPU hovering around 80 percent.

  • Because the SQL Server CPU was the bottleneck in this iteration, we relieved the bottleneck by separating the content database and services database on two instances of SQL Server for the next iteration.

Performance counters and graphs

Various performance counters captured during testing the 8x1x1 farm, at different steps in VSTS load, are presented in the following table and chart.

VSTS load | 416 | 616 | 816 | 1016 | 1216 | 1416 | 1616
RPS | 664 | 1101 | 1359 | 1530 | 1655 | 1664 | 1617.00
Front-end Web server CPU | 26.7 | 44.4 | 54.7 | 61.5 | 67 | 65.9 | 65.10
Application server CPU | 37.6 | 49.4 | 57.9 | 61.9 | 67.1 | 65.3 | 63.10
SQL Server CPU | 23.2 | 42 | 57.9 | 69.5 | 79.5 | 80.8 | 77.30
Chart showing RPS and CPU utilization for 8x1x1 to

8x1x2 Topology

This section describes the test results that were obtained with eight Web servers, one application server, and two database servers.

Summary of results

  • In addition to the test mix presented earlier in this article, this farm had 64-RPS traffic from the Outlook Social Connector asking for feed events by a user.

  • On a farm with eight front-end Web servers, one application server, and two SQL Server computers, we could take the configuration to its extreme. The front-end Web server and application server were both bottlenecks, whereas the combined SQL Server utilization was also in the higher 70s. The farm exhibited RPS of 1817 at maximum load.

  • This was the last iteration we tried. But clearly, if you need more scale, the next step would be to use two computers to perform application server duties. That would enable you to have many more front-end Web servers and therefore reduce the load on each front-end Web server.

Performance counters and graphs

Various performance counters captured during testing the 8x1x2 farm, at different steps in VSTS load, are presented in the following table and chart.

VSTS load | 466 | 666 | 866 | 1066 | 1266 | 1416
RPS | 466.00 | 873.40 | 1431.00 | 1703.00 | 1766.00 | 1817.00
Front-end Web server CPU | 19.90 | 36.90 | 57.60 | 68.00 | 71.40 | 71.60
Application server CPU | 29.80 | 47.20 | 63.50 | 71.40 | 71.90 | 73.40
Total SQL Server CPU | 19.61 | 32.40 | 55.20 | 63.60 | 68.50 | 74.90
Content SQL Server CPU | 9.93 | 17.90 | 31.90 | 40.10 | 42.30 | 45.90
Services SQL Server CPU | 9.68 | 14.50 | 23.30 | 23.50 | 26.20 | 29.00
Chart showing RPS and CPU utilization for 8x1x2 to

About the authors

Gaurav Doshi is a Program Manager at Microsoft

Wenyu Cai is a Software Engineer in Test at Microsoft

See Also

Other Resources

Resource Center: Capacity Management for SharePoint Server 2010


Performance and capacity test results and recommendations (SharePoint Server 2010)
See Also

This section contains a series of white papers and articles that describe the performance and capacity impact of specific feature sets included in Microsoft SharePoint Server 2010. These white papers and articles include information about the performance and capacity characteristics of the feature and how it was tested by Microsoft, including:

  • Test farm characteristics

  • Test results

  • Recommendations

  • Troubleshooting performance and scalability

Note:

The white papers are being updated and republished as articles. If you download a white paper from this page, there may be updated information available when it is republished as an article.

Before reading these white papers and articles, it is important that you understand the key concepts behind capacity management in SharePoint Server 2010. For more information, see Capacity management and sizing for SharePoint Server 2010.

The following table describes the available white papers and articles. If the content is available as a white paper, it is available as a Microsoft Word document from SharePoint Server 2010 performance and capacity test results and recommendations.

Subject | Description
Access Services | Provides guidance on how using Access Services impacts topologies running SharePoint Server 2010. View the article at Estimate performance and capacity requirements for Access Services in SharePoint Server 2010.
Business Connectivity Services | This article provides performance and planning guidance and discusses the impact of using Business Connectivity Services in Microsoft SharePoint Server 2010. View the article at Estimate performance and capacity requirements for Microsoft Business Connectivity Services in SharePoint Server 2010.
Caches overview | Provides information about how the three SharePoint Server 2010 caches help the product scale and grow to meet the demands of your business application. Download this white paper (SharePointServerCachesPerformance.docx).
Excel Services in Microsoft SharePoint Server 2010 | Provides planning guidance for Excel Services in Microsoft SharePoint Server 2010. View the article at Estimate performance and capacity requirements for Excel Services in SharePoint Server 2010.
InfoPath Forms Services | Provides guidance on the footprint that use of InfoPath Forms Services has on topologies running SharePoint Server 2010. View the article at Estimate performance and capacity requirements for InfoPath Forms Services in SharePoint Server 2010.
Large lists | Provides guidance on performance of large document libraries and lists. This document is specific to SharePoint Server 2010, although the throttles and limits that are discussed also apply to Microsoft SharePoint Foundation 2010. View the article at Designing large lists and maximizing list performance (SharePoint Server 2010).
Large-scale document repositories | Provides guidance on performance of large-scale document repositories in regards to SharePoint Server 2010. View the article at Estimate performance and capacity requirements for large scale document repositories in SharePoint Server 2010.
Large-scale document repositories | Provides test results about large-scale SharePoint Server 2010 content databases from a Microsoft test lab. Download the white paper: Scale Test Report for Very Large-Scale Document Repositories (http://go.microsoft.com/fwlink/p/?LinkId=229493).
Managed metadata | Provides guidance on how to perform sizing and performance optimization of the managed metadata service in SharePoint Server 2010. View the article at Estimate capacity and performance for enterprise managed metadata in SharePoint Server 2010.
My Sites and social computing | Provides guidance on the footprint that use of My Sites and other social computing features has on topologies running SharePoint Server 2010. Download this white paper (MySitesSocialComputingCapacityPlanningDoc.docx).
Office Web Apps | Provides guidance on the footprint that use of Office Web Apps has on topologies running SharePoint Server 2010. Download this white paper (OfficeWebAppsCapacityPlanningDoc.docx).
PerformancePoint Services | Provides guidance on the footprint that usage of PerformancePoint Services has on topologies running SharePoint Server 2010. View the article at Estimate performance and capacity requirements for PerformancePoint Services.
Scale Test Report for Very Large Scale Document Repositories | This white paper provides guidance on performance and capacity planning for large scale document management solutions. View Scale test report for very large scale document repositories (SharePoint Server 2010) in the TechNet library. Download this white paper.
Search | Discusses capacity planning for different deployments of SharePoint Server 2010 search, including small, medium, and large farms. View the article at Estimate performance and capacity requirements for SharePoint Server 2010 Search.
Visio Services | Provides guidance on the footprint that use of Visio Services has on topologies running SharePoint Server 2010. View the article at Estimate performance and capacity requirements for Visio Services in SharePoint Server 2010.
Web Analytics | Provides guidance on the footprint that use of the Web Analytics service has on topologies running SharePoint Server 2010. View the articles at Capacity requirements for the Web Analytics Shared Service in SharePoint Server 2010.
Web Content Management | Provides guidance on performance and capacity planning for a Web Content Management solution. View the article at Estimate performance and capacity requirements for Web Content Management in SharePoint Server 2010.
Word Automation Services | Provides capacity planning guidance for Word Automation Services in SharePoint Server 2010. View the article at Estimate performance and capacity requirements for Word Automation Services in SharePoint Server 2010.
Workflow | Provides guidance on the footprint that usage of Workflow has on topologies running SharePoint Server 2010. View the article at Estimate performance and capacity planning for workflow in SharePoint Server 2013.

See Also

Other Resources

Resource Center: Capacity Management for SharePoint Server 2010


Estimate performance and capacity requirements for Access Services in SharePoint Server 2010

Published: November 18, 2010

This article provides guidance on the footprint that usage of Access Services in Microsoft SharePoint Server 2010 has on topologies that are running Microsoft SharePoint Server 2010.

In this article:

  • Test farm characteristics

  • Test results

  • Recommendations

  • Troubleshooting

Test farm characteristics

This section describes the dataset that was used during the testing; the workloads that were placed on the product during performance gathering; the hardware that was used during the testing; and the topology for how that hardware was deployed.

Dataset

Access Services capacity and performance is highly dependent on the makeup of the applications that are hosted on the service. The size of tables and the complexity of queries often have the most effect on capacity and performance. The testing used representative sizes and complexities, but every application and dataset is different. The capacity and performance will depend on the applications that are being used, their specific complexity, and the data size.

To evaluate the capacity profile, Access Services applications were simulated on a farm dedicated to Access Services (no other SharePoint tests were running). The farm contained the following representative sites:

  • 1,500 Access Services applications that have a "Small" size profile; 100 items maximum per list.

  • 1,500 Access Services applications that have a "Medium" size profile; 2,000 items maximum per list.

  • 1,500 Access Services applications that have a "Large" size profile; 10,000 items maximum per list.

Each application is made up of multiple lists, and the other lists are appropriately sized based on this largest list. Access Services can handle more data than 10,000 items. This number for the "Large" profile was chosen because it was expected that larger applications would not be common.

The applications were evenly distributed among the following applications:

  • Contacts A simple contact management application, dominated by a single list.

  • Projects A simple task and project tracking applications, dominated by two lists (projects and tasks associated with each project).

  • Orders A simple order entry system, similar to the Northwind Traders sample of Microsoft Access, but scaled down, and included many interrelated lists (orders, order details, invoices, invoice details, purchase orders, purchase order details, and so on).

Workload

To simulate application usage, workloads were created to perform one or more of the following operations:

  • Opening forms

  • Paging through the forms

  • Filtering and sorting data sheets

  • Updating, deleting and inserting records

  • Publishing application

  • Render reports

Each workload includes "think time" between user actions, ranging from 5 to 20 seconds. This differs from other SharePoint capacity planning documents. Access Services is stateful; memory cursors and record sets were maintained between user interactions. It was important to simulate a full user session and not merely individual requests. For a single user workload, there is an average of two requests per second.

The following table shows the percentages used to determine which application and which size of application to use.

 | Small | Medium | Large
Contacts | 16% | 10% | 9%
Projects | 18% | 12% | 10%
Orders | 11% | 8% | 6%

Green and red zone definitions

For each configuration, two tests were ran to determine a "green zone" and a "red zone." The green zone is the recommended throughput that can be sustained. The red zone is the maximum throughput that can be tolerated for a short time, but should be avoided.

The green zone was defined as a point at which the test being run consumes at most half the bottlenecking resource. In this case, the bottlenecking resource was %CPU on any of the three tiers: front-end Web server, application server (Access Data Services), or database server (SQL Server). First, the bottleneck was identified for a particular configuration. If the bottleneck was Access Data Services CPU, we made sure that the green zone test consumed CPU on the Access Data Services computers in a range between 40 and 50 percent.

For the red zone, a point was selected at which the maximum throughput was reached. This proved to be a CPU range between 80 and 90 percent. When searching for bottleneck, we looked at %CPU, memory usage (private bytes), disk queue length, network I/O, and other resources that could result in a bottleneck.

Both the green and red zone tests were run for 1 hour at a fixed user load.

Your results might vary

The specific capacity and performance figures presented in this article will differ from figures in a real-world environment. This simulation is only an estimate of what actual users might do. The figures presented are intended to provide a starting point for the design of an appropriately scaled environment. After you have completed the initial system design, you should test the configuration to determine whether the system will support the factors in your environment.

Hardware setting and topology

Lab Hardware

To provide a high level of test-result detail, several farm configurations were used for testing. Farm configurations ranged from one to four front-end Web servers, one to four application servers (if there is Access Services or Access Data Services), and a single database server computer that is running Microsoft SQL Server 2008. In addition, testing was performed by using four client computers. All server computers were 64-bit. All client computers were 32-bit.

The following table lists the specific hardware that was used for the testing.

Machine role | CPU | Memory | Network | Disk
Front-end Web server | 2 processor, 4 core 2.33 GHz | 8 GB | 1 gig | 2 spindles RAID 5
Application server (Access Data Services) | 2 processor, 4 core 2.33 GHz | 8 GB | 1 gig | 2 spindles RAID 5
Database server (SQL Server) | 4 processor, 4 core 2.6 GHz | 32GB | 1 gig | Direct Attached Storage (DAS) attached RAID 0 for each Logical Unit Number (LUN)

Topology

From our experience, CPU on the application sever tier, where Access Data Services is running, is an important limiting factor for throughput. We varied our topology by adding additional Access Data Services computers until it was no longer the bottleneck, and then added a front-end Web server to obtain even more throughput.

  • 1x1: One front-end Web server computer to one Access Data Services computer

  • 1x2: One front-end Web server computer to two Access Data Services computers

  • 1x3: One front-end Web server computer to three Access Data Services computers

  • 1x4: One front-end Web server computer to four Access Data Services computers

  • 2x1: Two front-end Web server computers to one Access Data Services computer

  • 2x2: Two front-end Web server computers to two Access Data Services computers

  • 2x4: Two front-end Web server computers to four Access Data Services computers

The computer running SQL Server is a relatively strong computer and at no time did it become the bottleneck (although it started to approach CPU saturation on our 2x4 test), so we did not vary this in our topologies. Depending on the queries that are a part of a real-world application mix, it is expected that the database server (SQL Server) tier could become the bottleneck.

Reporting Services was running in connected mode for all of our tests, running in the application server (Access Data Services) tier.

Test results

The following tables show the test results of Access Services. For each group of tests, only certain specific variables are changed to show the progressive impact on farm performance.

All the tests reported in this article were conducted with think time or wait time. This differs from the capacity planning results for other parts of SharePoint.

For information about bottlenecks of Access Services, see Common bottlenecks and their causes later in this article.

Overall scale

The following table and graph summarize the impact of adding additional front-end Web servers and dedicated Access Data Services computers to the farm. These throughput numbers are specifically for the Access Data Services computers. They do not reflect the impact on the overall farm.

Topology | Baseline solution maximum (RPS) | Baseline recommended (RPS)
1x1 | 25 | 15
1x2 | 54 | 29
1x3 | 82 | 45
1x4 | 88 | 48
2x1 | 25 | 15
2x2 | 55 | 29
2x4 | 116 | 58
Maximum and recommended RPS

Recommended results

The following graph shows the results for recommended sustainable throughput.

Throughput vs. ADS

As described earlier in this article, adding the fourth Access Data Services computer shifts the bottleneck to the front-end Web server, and that adding a second front-end Web server resolves the resource constraint on the front-end Web server tier. This would imply, that 1x1, 1x2, and 1x3 are reasonable configurations. However, when the fourth Access Data Services computer is added, a front-end Web server should also be added. Because scaling is in a linear manner (straight line between from 1x1 to 1x4), it can be assumed that the addition of a seventh Access Data Services computer would also imply the addition of a third front-end Web server, and so on, to satisfy the needs of the farm.

Remember that these results are based on a simulated work load only, and that an actual deployment should be monitored to find the point at which additional front-end Web servers are needed to support additional Access Data Services computers. Also, the front-end Web servers are dedicated to Access Services, and in reality the front-end Web servers are likely shared with other SharePoint workloads. The following graph shows the results.

Response time vs. ADS

The following graph shows the response time at this throughput level. The response time is very fast, at less than ¼ second on average per request.

SQL %CPU vs. ADS

These results show that the SQL Server computer was not a bottleneck, because adding a second front-end Web server resolved the resource shortage, and the SQL Server CPU was always less than 50 percent. However, be aware that the instance of SQL Server is shared with other SharePoint services and SharePoint itself, and so the cumulative effect might drive CPU or disk I/O queue lengths to the point that they do become a bottleneck.

Maximum

The following graph shows the results, in which throughput was pushed beyond what could be sustained.

In this graph we see that again a second front-end Web server was needed to maximum the usefulness of the fourth Access Data Services computer. Again, your results might vary, because this is highly dependent on the applications and their usage patterns.

Throughput vs. ADS

In this case, the response time is increased, as the overall system is under stress. However, these levels are still approximately one second, and acceptable to most users.

It might seem odd that with four Access Data Services computers, two front-end Web servers have an increased response time than one front-end Web server. This is because the overall throughput of the system is increased with two front-end Web servers.

Response time vs. ADS

SQL Server is again not a limiting factor here, because adding the second front-end Web server put us back on a linear scaling line. However, we are reaching almost 90 percent CPU usage on the instance of SQL Server. Therefore, there is very little headroom remaining. If we were to add a fifth Access Data Services computer, the SQL Server computer likely would have become the bottleneck.

SQL %CPU vs. ADS

Detailed results

The following tables show the detailed results for the recommended configurations.

Overall | 1x1 | 1x2 | 1x3 | 1x4 | 2x1 | 2x2 | 2x4
Req/Sec | 14.96 | 28.76 | 45.22 | 48.01 | 14.85 | 28.77 | 58.02
Tests/Sec | 2.00 | 3.81 | 6.11 | 6.42 | 1.99 | 3.81 | 7.80
Average Latency | 235.80 | 241.21 | 247.21 | 244.87 | 240.70 | 242.26 | 250.94

Average front-end Web server tier | 1x1 | 1x2 | 1x3 | 1x4 | 2x1 | 2x2 | 2x4
%CPU | 13.82 | 24.40 | 41.02 | 43.62 | 6.31 | 12.48 | 26.18
Max w3wp Private Bytes | 9.46E+08 | 2.31E+08 | 1.49E+09 | 1.55E+09 | 8.43E+08 | 9.84E+08 | 1.19E+09

Average application server (Access Data Services) tier | 1x1 | 1x2 | 1x3 | 1x4 | 2x1 | 2x2 | 2x4
%CPU | 46.30 | 42.83 | 43.74 | 34.51 | 46.56 | 43.45 | 42.13
%CPU w3wp | 33.61 | 31.15 | 30.71 | 24.29 | 33.48 | 31.64 | 29.72
%CPU RS | 8.62 | 7.94 | 9.17 | 6.84 | 9.03 | 8.02 | 8.71
Max total Private Bytes | 4.80E+09 | 4.89E+09 | 4.91E+09 | 4.62E+09 | 5.32E+09 | 4.82E+09 | 5.07E+09
Max w3wp Private Bytes | 2.10E+09 | 1.97E+09 | 2.04E+09 | 1.86E+09 | 2.00E+09 | 2.00E+09 | 2.07E+09
Max RS Private Bytes | 1.78E+09 | 2.00E+09 | 1.97E+09 | 1.86E+09 | 2.30E+09 | 1.89E+09 | 2.02E+09

Database server (SQL Server) tier (single computer) | 1x1 | 1x2 | 1x3 | 1x4 | 2x1 | 2x2 | 2x4
%CPU | 12.07 | 18.64 | 32.53 | 36.05 | 9.89 | 21.42 | 47.46
Avg Private Bytes | 2.96E+10 | 3.22E+10 | 3.25E+10 | 3.25E+10 | 2.89E+10 | 3.22E+10 | 3.25E+10
Max Private Bytes | 3.26E+10 | 3.25E+10 | 3.25E+10 | 3.25E+10 | 3.25E+10 | 3.25E+10 | 3.25E+10
Avg Disk Queue Length Total | 0.74 | 1.18 | 1.64 | 1.77 | 0.67 | 1.24 | 2.18

The following tables show the detailed results for the maximum configurations.

Overall | 1x1 | 1x2 | 1x3 | 1x4 | 2x1 | 2x2 | 2x4
Req/Sec | 14.96 | 28.76 | 45.22 | 48.01 | 14.85 | 28.77 | 58.02
Tests/Sec | 2.00 | 3.81 | 6.11 | 6.42 | 1.99 | 3.81 | 7.80
Average Latency | 235.80 | 241.21 | 247.21 | 244.87 | 240.70 | 242.26 | 250.94

Average front-end Web server tier | 1x1 | 1x2 | 1x3 | 1x4 | 2x1 | 2x2 | 2x4
%CPU | 13.82 | 24.40 | 41.02 | 43.62 | 6.31 | 12.48 | 26.18
Max w3wp Private Bytes | 9.46E+08 | 2.31E+08 | 1.49E+09 | 1.55E+09 | 8.43E+08 | 9.84E+08 | 1.19E+09

Average application server (Access Data Services) tier | 1x1 | 1x2 | 1x3 | 1x4 | 2x1 | 2x2 | 2x4
%CPU | 46.30 | 42.83 | 43.74 | 34.51 | 46.56 | 43.45 | 42.13
%CPU w3wp | 33.61 | 31.15 | 30.71 | 24.29 | 33.48 | 31.64 | 29.72
%CPU RS | 8.62 | 7.94 | 9.17 | 6.84 | 9.03 | 8.02 | 8.71
Max total Private Bytes | 4.80E+09 | 4.89E+09 | 4.91E+09 | 4.62E+09 | 5.32E+09 | 4.82E+09 | 5.07E+09
Max w3wp Private Bytes | 2.10E+09 | 1.97E+09 | 2.04E+09 | 1.86E+09 | 2.00E+09 | 2.00E+09 | 2.07E+09
Max RS Private Bytes | 1.78E+09 | 2.00E+09 | 1.97E+09 | 1.86E+09 | 2.30E+09 | 1.89E+09 | 2.02E+09

Database server (SQL Server) tier (single computer) | 1x1 | 1x2 | 1x3 | 1x4 | 2x1 | 2x2 | 2x4
%CPU | 12.07 | 18.64 | 32.53 | 36.05 | 9.89 | 21.42 | 47.46
Avg Private Bytes | 2.96E+10 | 3.22E+10 | 3.25E+10 | 3.25E+10 | 2.89E+10 | 3.22E+10 | 3.25E+10
Max Private Bytes | 3.26E+10 | 3.25E+10 | 3.25E+10 | 3.25E+10 | 3.25E+10 | 3.25E+10 | 3.25E+10
Avg Disk Queue Length Total | 0.74 | 1.18 | 1.64 | 1.77 | 0.67 | 1.24 | 2.18

Recommendations

This section provides general performance and capacity recommendations.

Access Services capacity and performance is highly dependent on the makeup of the applications that are hosted on the service. The size of tables and the complexity of queries often have the most effect. The testing used representative sizes and complexities, but every application and dataset is different. Therefore, the capacity and performance will depend on the applications in use, their specific complexity, and the data size.

Hardware recommendations

Access Services uses standard hardware for both front-end Web servers and application servers; no special requirements are necessary. General SharePoint Server 2010 guidelines for CPU number, speed, and memory are applicable for computers in the application server (Access Data Services) tier.

Scaled-up and scaled-out topologies

To increase the capacity and performance of one of the starting-point topologies, you can do one of two things. You can either scale up by increasing the capacity of your existing servers or scale out by adding additional servers to the topology. This section describes the general performance characteristics of several scaled-out topologies.

The sample topologies represent the following common ways to scale out a topology for an Access Services scenario:

  • To provide for more user load, check the CPU for the existing Access Services application servers. Add additional CPUs or cores, or both, to these servers if it is possible. Add more Access Services server computers as needed. This can be done to the point that the front-end Web server has become the bottleneck, and then add front-end Web servers as needed.

  • In our tests, memory on the front-end Web server tier and application server (Access Data Services) tier was not a bottleneck. Depending on the size of the result sets, memory could become an issue. However, we do not expect that to be the norm. Track the private bytes for the Access Data Services w3wp process, as described here.

  • In our tests, SQL Server was not a bottleneck. However, our tests were run in isolation from other SharePoint Server 2010 services. SQL Server CPU and disk I/O should be monitored and additional servers or spindles added as needed.

Performance-related Access Services settings

One way to control the performance characteristics of Access Services is to limit the size and complexity of queries that can be performed. Access Services provides a set of configurable throttles for controlling queries. Each of the following queries can be set through SharePoint Central Administration. (In the Application Management section, click Manage Service Applications, and then click Access Services.)

In general, how much data that has to be retrieved from SharePoint to perform a query will have a significant effect on performance. This can be controlled in several ways. First, the inputs to a query can be limited:

  • Maximum Sources per Query

  • Maximum Records per Table

Second, the resulting size of a query can be limited:

  • Maximum Columns per Query

  • Maximum Rows per Query

  • Allow Outer Joins

In addition to the size of the query (data size in and out), the processing complexity on the data can be controlled, to reduce the CPU load on the application server (Access Data Services) tier:

  • Maximum Calculated Columns per Query

  • Maximum Order by Clauses per Query

Obviously, the previous settings will affect the applications that can be run on the server. For example, if an application is written with 40 output columns from a query, and the settings are below this level, the application will throw a runtime error. A balance between user need and acceptable performance must be struck, and is highly dependent on the kind of Access applications that are expected to be run on the farm.

One additional, more extreme measure can be taken. SharePoint Server 2010 supports a set of query operations natively, which Access Services augments to cover a broader set of application scenarios. For Access Services to improve queries from SharePoint, there is the potential that a large amount of data might have to be retrieved from the SharePoint content database. Instead, Access Services can be set to stick with only query operations, which can be natively supported by SharePoint. Therefore, avoiding the data fetch required for more complex operations:

  • Allow Non-Remotable Queries

Optimizations

Common bottlenecks and their causes

During performance testing, several different common bottlenecks were revealed. A bottleneck is a condition in which the capacity of a particular constituent of a farm is reached. This causes a plateau or decrease in farm throughput.

The table in Troubleshooting later in this article lists some common bottlenecks and describes their causes and possible resolutions.

Performance monitoring

To help you determine when you have to scale up or scale out the system, use performance counters to monitor the health of the system. Use the information in the following tables to determine which performance counters to monitor, and to which process the performance counters should be applied.

Front-end Web servers

The following table shows performance counters and processes to monitor for Web servers in your farm.

Performance counter | Apply to object | Notes
% Processor Time | Processor(_Total) | Shows the percentage of elapsed time that this thread used the processor to execute instructions.
Private Bytes | Process(w3wp) | This value should not approach the Max Private Bytes set for w3wp processes. Iif it does, additional investigation is needed into what component is using the memory.

Access Data Services

The following table shows performance counters and processes to monitor for application servers, or Access Data Services (Access Data Services) in this case, within your farm.

Performance counter | Apply to object | Notes
% Processor Time | Processor(_Total) | Shows the percentage of elapsed time that this thread used the processor to execute instructions.
% Processor Time | Process(w3wp) | The Access Data Services runs within its own w2wp process, and it will be obvious which w2wp process this is as it will be getting the bulk of the CPU time.
Avg. Disk Queue Length | PhysicalDisk(_Total) | Watch for too much disk writing because of logging.
% Processor Time | Process(ReportingServicesService) | Reports are handled by SQL Server Reporting Services. If too many reports are being run, or if the reports are very complex, then the CPU and Private Bytes for this process will be high.
Private Bytes | Process(w3wp) | Access Services caches the results of queries in memory, until the user's session expires (the time-out for which is configurable). If a large amount of data is being processed through the Access Data Services, memory consumption for the Access Data Services' w3wp will increase.
Private Bytes | Process(ReportingSrevicesService) | Reports are handled by SQL Server Reporting Services. If too many reports are being run, or reports are very complex, the CPU and Private Bytes for this process will be high.

Database servers

The following table shows performance counters and processes to monitor for database servers in your farm.

Performance counter | Apply to object | Notes
% Processor Time | Processor(_Total) | Shows the percentage of elapsed time that this thread used the processor to execute instructions.
% Processor Time | Process(sqlservr) | Average values larger than 80 percent indicate that processor capacity on the database server is insufficient.
Private Bytes | Process(sqlservr) | Shows the average amount of memory being consumed by SQL Server.
Avg. Disk Queue Length | PhysicalDisk(_Total) | Shows the average disk queue length; the database requests waiting to be committed to disk. This is often a good indicator that the instance of SQL Server is becoming overloaded, and that possibly additional disk spindles would help distribute the load.

Troubleshooting

The following table lists some common bottlenecks and describes their causes and possible resolutions.

Bottleneck | Cause | Resolution
Access Data Services CPU | Access Services depends on a large amount of processing in the application server tier. If a 1x1, 1x2, or 1x3 configuration is used, the first bottleneck encountered will likely be the CPU on the Access Data Services servers. | Increase the number of CPUs or cores, or both, in the existing Access Data Services computers. Add additional Access Data Services computers if possible.
Web server CPU usage | When a Web server is overloaded with user requests, average CPU usage will approach 100 percent. This prevents the Web server from responding to requests quickly and can cause timeouts and error messages on client computers. | This issue can be resolved in one of two ways. You can add more Web servers to the farm to distribute user load, or you can scale up the Web server or servers by adding higher-speed processors.
Database server disk I/O | When the number of I/O requests to a hard disk exceeds the disk's I/O capacity, the requests will be queued. As a result, the time to complete each request increases. | Distributing data files across multiple physical drives allows for parallel I/O. The blog SharePoint Disk Allocation and Disk I/O (http://go.microsoft.com/fwlink/p/?LinkId=129557) contains useful information about resolving disk I/O issues.
Reporting Services CPU utilization | The Reporting Services process is using a large share of the CPU resources. | Dedicate a computer to Reporting Services, taking load from the application server (Access Data Services) tier (connected mode) or the front-end Web server tier (local mode).


Estimate performance and capacity requirements for Microsoft Business Connectivity Services in SharePoint Server 2010
See Also

Published: June 9, 2011

Summary: This article provides performance and planning guidance and discusses the impact of using Business Connectivity Services in Microsoft SharePoint Server 2010.

For more information about Business Connectivity Services, see Business Connectivity Services overview (SharePoint Server 2010).

In this topic:

  • Glossary

  • Test farm characteristics

  • Test results

  • Recommendations

Glossary

The following list defines the Business Connectivity Services terms used in this document.

Term | Definition
Association | An association links related external content types. For example, customers can be associated with their sales orders. Associations are used together with Web Parts.
External Item | An instance of an external content type.
External List | A list of items of an external content type.
External System | A supported source of data that can be modeled by Business Connectivity Services, such as a database, Web service, or custom .NET Framework assembly.
Profile Page | A profile page displays the data for an item of an external content type.
Secure Store Service | A shared service that securely stores credential sets for external data sources and associates those credential sets to identities of people or to group identities.
Web Part | A reusable component of a SharePoint site that presents information pulled from multiple data sources.

Test farm characteristics

This section defines the test scenarios and describes the test process that was used for each scenario. Detailed information such as test results and specific parameters are given in the test results sections later in this article.

Test name Test description

External list

  1. Render a typical external list.

  2. Change the features of the external list (number of items, item size, and so on) to see how this affects throughput and latency.

Profile page

  1. Render a typical profile page.

  2. Change the features of the profile page (number of items per association, item size, and so on) to see how this affects throughput and latency.

Dataset

External list and profile page capacity and performance are highly dependent on the volume of data that is processed. For external lists, how much data is processed is determined by three variables: the number of items in the external list, the number of columns per item, and the size of each item. The following table describes the representative external lists were used in testing.

External List | Small | Medium | Large
Number of items | 500 | 2000 | 4000
Number of columns per item | 25 | 25 | 25
Item size | 2 KB | 4 KB | 8 KB

For profile pages, how much data that is processed depends on the number and complexity of associations that are used. An association links related external content types in a system. A profile page can contain multiple associations, and each association can have many items. The following table describes the representative profile pages used in testing.

Profile Page | Small | Medium | Large
Number of associations | 2 | 2 | 10
Number of items per association | 100 | 500 | 2500
Item size | 4 KB | 4 KB | 4 KB

Workload

Tests measured throughput and latency effect on profile pages and external lists. The tests were designed to help develop estimates of how throughput and latency respond to changes to the following variables:

  • Number of front-end Web servers.

  • Number of items in the external list.

  • Size of the external item.

  • Number of items per association.

  • Authentication method (PassThrough mode or Secure Store Service authentication).

  • External data source (Windows Communication Foundation (WCF) Web service or SQL Server database).

  • Load on the front-end Web server measured as CPU usage.

The specific capacity and performance figures that this article lists will differ from the figures in real-world environments. The figures presented are intended to provide a starting point for the design of an appropriately scaled environment. After you complete an initial system design, test the configuration to determine whether the system will support the factors in the environment.

Green and red zone definitions

For each configuration we ran two tests to determine a green zone, or recommended throughput that can be sustained, and a red zone, or max throughput that can be tolerated for a short time but should be avoided.

To determine red zone and green zone user loads, a step test was first conducted and stopped when the following conditions were met:

  • For the green zone, all the front-end Web servers in the farm have a CPU utilization of 40-50 percent consistently. This is achieved by increasing the user load that is used and establishing think times in the tests, which means each test may have a different user load.

  • For the red zone, all of the front-end Web servers in the farm have a CPU utilization of 90-99 percent consistently. This is achieved by increasing the user load that is used in the tests, which means each test may have a different user load.

Hardware, settings and topology

This section describes the hardware, settings, and topologies that were used in the test.

Lab hardware

To provide a high level of test-result detail, several farm configurations were used for testing. Farm configurations ranged from one to four Web servers and a single database server computer that is running Microsoft SQL Server 2008 database software.

The following table lists the specific hardware that was used for testing.

 | Front-End Web server | Application server | Database server | External system
Processors | 2 processors @2.33 GHz (4 cores) | 2 processors @2.33 GHz (4 cores) | 4 processors @3.2 GHz (4 cores) | 4 processors @3.2 GHz (4 cores)
RAM | 8 GB | 8 GB | 32 GB | 32 GB
Operating System | Windows Server 2008 R1 (x64) | Windows Server 2008 R1 (x64) | Windows Server 2008 R1 (x64) | Windows Server 2008 R1 (x64)
Number of network adapters | 2 | 2 | 2 | 2
Network adapter speed | 1 GB | 1 GB | 1 GB | 1 GB
Authentication | NTLM | NTLM | NTLM | NTLM
Software version | SharePoint Server 2010 pre-release version | SharePoint Server 2010 pre-release version | SQL Server 2008 | SQL Server 2008

Tests used two external systems: a WCF Web service and a database. The external systems were hosted on a separate physical computer (details described in the table that lists the specific hardware). The following list describes the two external systems:

  • WCF Web service A WCF Web service that returns cached, in-memory data. Data is stored efficiently in a hash table and returned immediately upon being called by Business Connectivity Services. The data consists of 8000 rows of 25 fields each of various .NET types.

  • Database A table that has 25 columns, various data types, and 8000 rows. The table is in a separate database that is hosted on SQL Server 2008.

Topology

CPU and memory on the front-end Web server is an important limiting factor for throughput. CPU on the Application server should also be considered for Business Connectivity Services authentication modes that require calls to the Secure Store Service.

The topology was varied by adding additional front-end Web servers.

Business Connectivity Services Capacity Planning Topology

Capacity planning topology for BCS

Test results

The following sections show the test results of Business Connectivity Services in SharePoint Server 2010. For each group of tests, only certain specific variables are changed to show the progressive effect on farm performance.

The test graphs use the following legend to describe the dataset:

External system, Test type,[Authentication],[Number of associations], Item size, Number of items, CPU load

Item | Description
External system | The external data source: WCF (WCF Web service) or DB (database).
Test type | The test type: EL (external list) or PP (profile page).
Authentication | The authentication method: SSS (a Secure Store Service authentication mode (for example, WindowsCredentials) is used). If SSS is not specified, PassThrough mode was used during testing.
Number of associations | The number of associations in the profile page (for example, 2A). This item applies only to profile page tests.
Item size | The size of the item (in KB).
Number of items | Number of items in the external list or number of items per association.
CPU load | The CPU load: RZ (red zone) front-end Web server CPU utilization is more than 90 percent or GZ (green zone) front-end Web server CPU utilization is between 40-50 percent.

All of the red zone tests reported on in this article were conducted without think time, a natural delay between consecutive operations. In a real-world environment, each operation is followed by a delay as the user performs the next step in the task. By contrast, in the red zone tests, each operation was immediately followed by the next operation, which resulted in a continual load on the farm. This load introduced database contention and other factors that can adversely affect performance.

Effect of the number of front-end Web servers on latency

The following graphs show the test result of the number of front-end Web servers on latency. The test results are distributed over several graphs to make it easier to compare related variables.

Chart 1:

The following graph shows the results of the external list tests. It can be used to compare how the external system (database or WCF Web service) and CPU load (Red Zone or Green Zone) affect performance.

Chart 1: Effect of the number of front-end Web servers on latency

Effect of number of Web servers on latency

The following list describes the dataset that was used.

  • WCF,EL,4k,500,RZ: An external list that has 500 items, 4 K of data per item, the external system is a WCF Web service, and the front-end Web server CPU usage is more than 90 percent.

  • WCF,EL,4k, 500,GZ: An external list that has 500 items, 4 K of data per item, the external system is a WCF Web service, and the front-end Web server CPU usage is between 40-50 percent.

  • DB, EL, 4k,500, GZ: An external list that has 500 items, 4 K of data per item, the external system is a database, and the front-end Web server CPU usage is between 40-50 percent.

Chart 2:

The following graph shows the results of the profile page tests. It can be used to compare how the external system (database or WCF Web service) and CPU load (red zone or green zone) affect performance.

Chart 2: Effect of the number of front-end Web servers on latency

Average page time v. number of Web servers

As is shown in Chart 1 and Chart 2, the average page time stays almost the same for both green zone and red zone scenarios despite adding more front-end Web servers and users. (During testing we increased the user load in order to keep all the front-end Web servers in the necessary CPU activity range). However, this is still a performance gain because increasing the number of front-end Web servers in the farm enables SharePoint Server to serve more users at the same rate. There is a noticeable, approximately five-fold, improvement in green zone cases compared to red zone cases. So, we recommend that you keep front-end Web server CPU utilization in the 40-50 percent range.

The following list describes the dataset that was used:

  • WCF,PP,2A, 100,RZ: A profile page that has 2 associations, 100 items per association, the external system is a WCF Web service, and the front-end Web server CPU utilization is more than 90 percent.

  • DB, PP,2A,100,RZ: A profile page that has 2 associations, 100 items per association, the external system is a database, and the front-end Web server CPU utilization is more than 90 percent.

  • WCF, PP,2A,100,GZ: A profile page that has 2 associations, 100 items per association, the external system is a WCF Web service, and the front-end Web server CPU utilization is between 40-50 percent.

  • DB, PP, 2A,100,GZ: A profile page that has 2 associations, 100 items per association, the external system is a database, and the front-end Web server CPU utilization is between 40-50 percent.

Chart 3:

The following graph shows the results of the red zone tests. Similar data is paired together so that the only variable is the authentication that is used. This data can be used to determine whether using Secure Store Service effects performance.

Note:

Tests were run using a lab environment. PassThrough mode was used only for comparison. These tests do not imply that you should use PassThrough mode for authentication.

Chart 3: Effect of the number of front-end Web servers on latency

Requests per second v. number of Web servers

In red zone scenarios, Secure Store Service does not seem to bring noticeable overhead as measured by average page time. This can be attributed to the fact that Secure Store Service overhead is overshadowed by a bigger factor, which is the high user load. In most cases, the Secure Store Service and non-Secure Store Service results are similar.

You should also remember that Secure Store Service will have minimal effect on the Application Servers.

The following list describes the dataset that was used:

  • WCF,EL,4k,500,RZ: An external list that has 500 items, 4 KB of data per item, the external system is a WCF Web service, PassThrough authentication mode is used, and the front-end Web server CPU utilization is more than 90 percent.

  • WCF,EL,SSS,4k,500,RZ: An external list that has 500 items, 4 KB of data per item, the external system is a WCF Web service, a Secure Store Service authentication mode (for example, WindowsCredentials) is used, and the front-end Web server CPU utilization is more than 90 percent.

  • WCF,PP,2A,100,RZ: A profile page that has 2 associations, 100 items per association, the external system is a WCF Web service, PassThrough authentication mode is used, and the front-end Web server CPU utilization is more than 90 percent.

  • WCF,PP,SSS,2A,100,RZ: A profile page that has 2 associations, 100 items per association, the external system is a WCF Web service, a Secure Store Service authentication mode (for example, WindowsCredentials) is used, and the front-end Web server CPU utilization is more than 90 percent.

  • DB, EL, SSS,4k,500,RZ: An external list that has 500 items, 4 KB of data per item, the external system is a database, a Secure Store Service authentication mode (for example, WindowsCredentials) is used, and the front-end Web server CPU utilization is more than 90 percent.

  • DB, PP,2A,100,RZ: A profile page by using 2 associations, 100 items per association, the external system is a database, PassThrough authentication mode is used, and the front-end Web server CPU utilization is more than 90 percent.

Chart 4:

The following graph shows the results of the green zone tests. Similar data is paired so that the only variable is the authentication that is used. The similar dataset can be used to determine whether using Secure Store Service effects performance.

Note:

Tests were run by using a lab environment. PassThrough mode was used only for comparison. These tests do not imply that you should use PassThrough mode for authentication.

Chart 4: Effect of the number of front-end Web servers on latency

Average page time v. number of Web servers

The overhead associated with Secure Store Service becomes more apparent for profile pages during typical load scenarios. There is a small, about 20 milliseconds, additional average page time for profile pages.

The following list describes the dataset that was used:

  • WCF, EL,4k,500,GZ: An external list that has 500 items, 4 KB of data per item, the external system is a WCF Web service, PassThrough authentication mode is used, and the front-end Web server CPU utilization is between 40-50 percent.

  • WCF, EL,SSS,4k,500,GZ: An external list that has 500 items, 4 KB of data per item, the external system is a WCF Web service, a Secure Store Service authentication mode (for example, WindowsCredentials) is used, and the front-end Web server CPU usage is between 40-50 percent.

  • WCF, PP,2A,100,GZ: A profile page that has 2 associations, 100 items per association, the external system is a WCF Web service, PassThrough authentication mode is used, and the front-end Web server CPU utilization is between 40-50 percent.

  • WCF, PP,SSS,2A,100,GZ: A profile page that has 2 associations, 100 items per association, the external system is a WCF Web service, a Secure Store Service authentication mode (for example, WindowsCredentials) is used, and the front-end Web server CPU utilization is between 40-50 percent.

  • DB, EL,4k,500,GZ: An external list that has 500 items, 4 KB of data per item, the external system is a database, PassThrough authentication mode is used, and the front-end Web server CPU utilization is between 40-50 percent.

  • DB, EL,SSS,4k,500,GZ: An external list that has 500 items, 4 KB of data per item, the external system is a database, a Secure Store Service authentication mode (for example, WindowsCredentials) is used, and the front-end Web server CPU utilization is between 40-50 percent.

  • DB, PP,2A,100,GZ: A profile page that has 2 associations, 100 items per association, the external system is a database, PassThrough authentication mode is used, and the front-end Web server CPU utilization is between 40-50 percent.

  • DB, PP,SSS,2A,100,GZ: A profile page that has 2 associations, 100 items per association, the external system is a database, a Secure Store Service authentication mode (for example, WindowsCredentials) is used, and the front-end Web server CPU utilization is between 40-50 percent.

Effect of the number of front-end Web servers on throughput

Chart 1:

The following graph shows the results of the external list tests as measured in request per second (RPS). It can be used to compare how the CPU load (red zone or green zone) affect performance.

Chart 1: Effect of the number of front-end Web servers on throughput

Requests per second v. number of Web servers

The following list describes the dataset that was used:

  • WCF, EL,4k,500,RZ,RPS: An external list that has 500 items, 4 KB of data per item, the external system is a WCF Web service, and the front-end Web server CPU utilization is more than 90 percent.

  • WCF, EL,4k,500,GZ,RPS: An external list that has 500 items, 4 KB of data per item, the external system is a WCF Web service, and the front-end Web server CPU utilization is between 40-50 percent.

Chart 2:

The following graph shows the results of the profile page tests as measured in request per second (RPS). It can be used to compare how the external system (database or WCF Web service) and CPU load (red zone or green zone) affect performance.

Chart 2: Effect of the number of front-end Web servers on throughput

Requests per second v. number of Web servers

As is shown in Chart 1 and Chart 2, RPS scales linearly until the third front-end Web server is added. After which, the trend becomes logarithmic, or sub-linear. Although there is added benefit in adding more front-end Web servers to the farm, it provides less value for the cost. In particular, adding a fourth front-end Web server yields a fairly small benefit.

The following list describes the dataset that was used:

  • WCF,PP,2A,100,RZ,RPS: A profile page that has two associations, 100 items per association, the external system is a WCF Web service, and the front-end Web server CPU utilization is more than 90 percent.

  • DB,PP,2A,100,RZ,RPS: A profile page that has two associations, 100 items per association, the external system is a database, and the front-end Web server CPU utilization is more than 90 percent.

  • WCF,PP,2A,100,GZ,RPS: A profile page that has two associations, 100 items per association, the external system is a WCF Web service, and the front-end Web server CPU utilization is between 40-50 percent.

  • DB,PP,2A,100,GZ,RPS: A profile page that has two associations, 100 items per association, the external system is a database, and the front-end Web server CPU utilization is between 40-50 percent.

Chart 3:

The following graph shows the results of the red zone tests as measured in requests per second (RPS). Similar data is paired so that the only variable is the authentication that is used. These results can be used to determine whether using Secure Store Service affects performance.

Note:

Our tests were run by using a lab environment. PassThrough mode was used merely for comparison. These tests do not imply that you should use PassThrough mode for authentication.

Chart 3: Effect of the number of front-end Web servers on throughput

Requests per second v. number of Web servers

The following list describes the dataset that was used:

  • WCF,EL,4k,500,RZ,RPS: An external list that has 500 items, 4 KB of data per item, the external system is a WCF Web service, PassThrough authentication mode is used, and the front-end Web server CPU utilization is more than 90 percent.

  • WCF,EL,SSS,4k,500,RZ,RPS: An external list that has 500 items, 4 KB of data per item, the external system is a WCF Web service, a Secure Store Service authentication mode (for example, WindowsCredentials) is used, and the front-end Web server CPU utilization is more than 90 percent.

  • WCF,PP,2A,100,RZ,RPS: A profile page that has 2 association, 100 items per association, the external system is a WCF Web service, PassThrough authentication mode is used, and the front-end Web server CPU utilization is more than 90 percent.

  • WCF,PP,SSS,2A,100,RZ,RPS: A profile page that has 2 association, 100 items per association, the external system is a WCF Web service, a Secure Store Service authentication mode (for example, WindowsCredentials) is used, and the front-end Web server CPU utilization is more than 90 percent.

  • DB,EL,4k,500,RZ,RPS: An external list that has 500 items, 4 KB of data per item, the external system is a database, PassThrough authentication mode is used, and the front-end Web server CPU utilization is more than 90 percent.

  • DB,EL,SSS,4k,500,RZ,RPS: An external list that has 500 items, 4 KB of data per item, the external system is a database, a Secure Store Service authentication mode (for example, WindowsCredentials) is used, and the front-end Web server CPU utilization is more than 90 percent.

  • DB,PP,2A,100,RZ,RPS: A profile page that has 2 associations, 100 items per association, the external system is a database, PassThrough authentication mode is used, and the front-end Web server CPU utilization is more than 90 percent.

  • DB,PP,SSS,2A,100,RZ,RPS: A profile page that has 2 associations, 100 items per association, the external system is a database, a Secure Store Service authentication mode (for example, WindowsCredentials) is used, and the front-end Web server CPU utilization is more than 90 percent.

Chart 4:

The following graph shows the results of the green zone tests as measured in requests per second (RPS). Similar data is paired together so that the only variable is the authentication that is used. It can be used to determine whether using Secure Store Service affects performance.

Note:

Our tests were run using a lab environment. PassThrough mode was used merely for comparison. These tests do not imply that you should use PassThrough mode for authentication.

Chart 4: Effect of the number of front-end Web servers on throughput

Requests per second v. number of Web servers

As is shown in Chart 3 and Chart 4, Secure Store Service overhead does result in lower RPS values in some cases. However, the linear-logarithmic trend is similar and in most cases the RPS difference between Secure Store Service and non-Secure Store Service overhead is subtle.

The following list describes the dataset that was used:

  • WCF,EL,4k,500,GZ,RPS: An external list that has 500 items, 4 KB of data per item, the external system is a WCF Web service, PassThrough authentication mode is used, and the front-end Web server CPU utilization is between 40-50 percent.

  • WCF,EL,SSS,4k,500,GZ,RPS: An external list that has 500 items, 4 KB of data per item, the external system is a WCF Web service, a Secure Store Service authentication mode (for example, WindowsCredentials) is used, and the front-end Web server CPU utilization is between 40-50 percent.

  • WCF,PP,2A,100,GZ,RPS: A profile page that has 2 associations, 100 items per association, the external system is a WCF Web service, PassThrough authentication mode is used, and the front-end Web server CPU utilization is between 40-50 percent.

  • WCF,PP,SSS,2A,100,GZ,RPS: A profile page that has 2 associations, 100 items per association, the external system is a WCF Web service, a Secure Store Service authentication mode (for example, WindowsCredentials) is used, and the front-end Web server CPU utilization is between 40-50 percent.

  • DB,EL,4k,500,GZ,RPS: An external list that has 500 items, 4 KB of data per item, the external system is a database, PassThrough authentication mode is used, and the front-end Web server CPU utilization is between 40-50 percent.

  • DB, EL,SSS,4k,500,GZ,RPS: An external list that has 500 items, 4 KB of data per item, the external system is a database, a Secure Store Service authentication mode (for example, WindowsCredentials) is used, and the front-end Web server CPU utilization is between 40-50 percent.

  • DB,PP,2A,100,GZ,RPS: A profile page that has 2 associations, 100 items per association, the external system is a database, PassThrough authentication mode is used, and the front-end Web server CPU utilization is between 40-50 percent.

  • DB,PP,SSS,2A,GZ,RPS: A profile page that has 2 associations, 100 items per association, the external system is a database, a Secure Store Service authentication mode (for example, WindowsCredentials) is used, and the front-end Web server CPU utilization is between 40-50 percent.

Effect of item size on latency

The following graph shows the test result of external item size on latency. The tests increased the size of the items in the external list and measured the effect on latency.

Effect of item size on latency

Average page time v. item size

The following list describes the dataset that was used:

  • WCF,EL,500,RZ: An external list that has 500 items, the external system is a WCF Web service, and the front-end Web server CPU utilization is more than 90 percent.

  • WCF,EL,SSS,500,RZ: An external list that has 500 items, the external system is a WCF Web service, a Secure Store Service authentication mode (for example, WindowsCredentials) is used, and the front-end Web server CPU utilization is more than 90 percent.

  • WCF,EL,500,GZ: An external list that has 500 items, the external system is a WCF Web service, and the front-end Web server CPU utilization is between 40-50 percent.

  • WCF,EL,SSS,500,GZ: An external list that has 500 items, the external system is a WCF Web service, a Secure Store Service authentication mode (for example, WindowsCredentials) is used, and the front-end Web server CPU utilization is between 40-50 percent.

Effect of item size on throughput

The following graph shows the test result of external item size on throughput as measured in requests per second (RPS). The tests increased the size of the items in the external list and measured the effect on throughput.

Effect of item size on throughput

Requests per second v. item size

RPS performance always drops below linear as the item size increases. High load conditions provide more RPS. However, as shown in earlier test results, high load conditions also cause longer page response times.

The following list describes the dataset that was used:

  • WCF,EL,500,RZ: An external list that has 500 items, the external system is a WCF Web service, and the front-end Web server CPU utilization is more than 90 percent.

  • WCF,EL,SSS,500,RZ: An external list that has 500 items, the external system is a WCF Web service, a Secure Store Service authentication mode (for example, WindowsCredentials) is used, and the front-end Web server CPU utilization is more than 90 percent.

  • WCF,EL,500,GZ: An external list that has 500 items, the external system is a WCF Web service, and the front-end Web server CPU utilization is between 40-50 percent.

  • WCF,EL,SSS,500,GZ: An external list that has 500 items, the external system is a WCF Web service, a Secure Store Service authentication mode (for example, WindowsCredentials) is used, and the front-end Web server CPU utilization is between 40-50 percent.

Effect of number of items on latency

The following graph shows the test result of the number of items on latency. The tests increased the number of items in the external list and measured how it affected how long it took to render the page.

Effect of number of items on latency

Average page time v. number of items

The following list describes the dataset that was used:

  • WCF,EL,4k,RZ: An external list that has a variable number of items, each item has 4 KB of data, the external system is a WCF Web service, and the front-end Web server CPU utilization is more than 90 percent.

  • WCF,EL,SSS,4k,RZ: An external list that has a variable number of items, each item has 4 KB of data, the external system is a WCF service, a Secure Store Service authentication mode (for example, WindowsCredentials) is used, and the front-end Web server CPU utilization is more than 90 percent.

  • DB,EL,4k,RZ: An external list that has a variable number of items, each item has 4 KB of data, the external system is a database, and the front-end Web server CPU utilization is more than 90 percent.

  • DB,EL,SSS,4k,RZ: An external list that has a variable number of items, each item has 4 KB of data, the external system is a database, a Secure Store Service authentication mode (for example, WindowsCredentials) is used, and the front-end Web server CPU utilization is more than 90 percent.

  • WCF,EL,4k,GZ: An external list that has a variable number of items, each item has 4 KB of data, the external system is a WCF Web service, and the front-end Web server CPU utilization is between 40-50 percent.

  • WCF,EL,SSS,4k,GZ: An external list that has a variable number of items, each item has 4 KB of data, the external system is a WCF service, a Secure Store Service authentication mode (for example, WindowsCredentials) is used, and the front-end Web server CPU utilization is between 40-50 percent.

  • DB,EL,4k,GZ: An external list that has a variable number of items, each item has 4 KB of data, the external system is a database, and the front-end Web server CPU utilization is between 40-50 percent.

  • DB,EL,SSS,4k,RZ: An external list that has a variable number of items, each item has 4 KB of data, the external system is a database, a Secure Store Service authentication mode (for example, WindowsCredentials) is used, and the front-end Web server CPU utilization is between 40-50 percent.

Effect of number of items on throughput

The following graph shows the test result of the number of items on throughput as measured in requests per second (RPS). The tests increased the number of items in the external list and measured the effect on throughput.

Effect of number of items on throughput

Requests per second v. number of items

As this graph shows, RPS drops almost linearly as the number of items increases. Compared to earlier tests that studied the effect of item size, increasing the number of items seems to have a bigger effect on performance than increasing the item size.

The following list describes the dataset:

  • WCF,EL,4k,RZ,RPS: An external list that has a variable number of items, each item has 4 KB of data, the external system is a WCF Web service, and the front-end Web server CPU utilization is more than 90 percent.

  • WCF,EL, SSS,4k,RZ,RPS: An external list that has a variable number of items, each item has 4 KB of data, the external system is a WCF Web service, a Secure Store Service authentication mode (for example, WindowsCredentials) is being used, and the front-end Web server CPU utilization is more than 90 percent.

  • DB,EL,4k,RZ,RPS: An external list that has a variable number of items, each item has 4 KB of data, the external system is a database, and the front-end Web server CPU utilization is more than 90 percent.

  • DB,EL,SSS,4k,RZ,RPS: An external list that has a variable number of items, each item has 4 KB of data, the external system is a database, a Secure Store Service authentication mode (for example, WindowsCredentials) is being used, and the front-end Web server CPU utilization is more than 90 percent.

  • WCF,EL,4k,GZ,RPS: An external list that has a variable number of items, each item has 4 KB of data, the external system is a WCF Web service, and the front-end Web server CPU utilization is between 40-50 percent.

  • WCF,EL, SSS,4k,GZ,RPS: An external list that has a variable number of items, each item has 4 KB of data, the external system is a WCF Web service, a Secure Store Service authentication mode (for example, WindowsCredentials) is being used, and the front-end Web server CPU utilization is between 40-50 percent.

  • DB,EL,4k,GZ,RPS: An external list that has a variable number of items, each item has 4 KB of data, the external system is a database, and the front-end Web server CPU utilization is between 40-50 percent.

  • DB,EL,SSS,4k,GZ,RPS: An external list that has a variable number of items, each item has 4 KB of data, the external system is a database, a Secure Store Service authentication mode (for example, WindowsCredentials) is being used, and the front-end Web server CPU utilization is between 40-50 percent.

Effect of number of items per association on latency

The following graph shows the test result of the number of items in an association on latency. The tests increased the number of items in an association and measured how it affected how long it took to render the page.

Effect of number of items per association on latency

Page time v. number of items per association

The following list describes the dataset:

  • WCF,PP,2A,RZ: A profile page that has 2 associations, the external system is a WCF Web service, and the front-end Web server CPU utilization is more than 90 percent.

  • WCF,PP, SSS,2A,RZ: A profile page that has 2 associations, the external system is a WCF Web service, a Secure Store Service authentication mode (for example, WindowsCredentials) is being used, and the front-end Web server CPU utilization is more than 90 percent.

  • DB,PP,2A,GZ: A profile page that has 2 associations, the external system is a database, and the front-end Web server CPU utilization is between 40-50 percent.

  • DB,PP,SSS,2A,GZ: A profile page that has 2 associations, the external system is a database, Secure a Store Service authentication mode (for example, WindowsCredentials) is being used, and the front-end Web server CPU utilization is between 40-50 percent.

Effect of number of items per association on throughput

The following graph shows the test result of the number of items in an association on throughput, as measure in requests per second (RPS). The tests increased the number of items in an association and measured the effect on throughput.

Effect of number of items per association on throughput

Requests v. number of items per association

The following list describes the dataset:

  • WCF,PP,2A,RZ: A profile page that has 2 associations, the external system is a WCF Web service, and the front-end Web server CPU utilization is larger r than 90 percent.

  • WCF,PP,SSS,2A,RZ: A profile page that has 2 associations, the external system is a WCF Web service, a Secure Store Service authentication mode (for example, WindowsCredentials) is used, and the front-end Web server CPU utilization is more than 90 percent.

  • DB,PP,2A,GZ: A profile page that has 2 associations, the external system is a database, and the front-end Web server CPU utilization is between 40-50 percent.

  • DB,PP,SSS,2A,GZ: A profile page that has 2 associations, the external system is a database, Secure a Store Service authentication mode (for example, WindowsCredentials) is used, and the front-end Web server CPU utilization is between 40-50 percent.

Recommendations

This section provides general performance and capacity recommendations. Use these recommendations to determine the capacity and performance characteristics of the starting topology that you created and to decide whether you have to scale out or scale up the starting topology.

Hardware recommendations

For specific information about minimum and recommended system requirements, see Hardware and software requirements (SharePoint Server 2010) ().

Note:

Memory requirements for Web servers and database servers depend on the size of the farm, the number of concurrent users, and the complexity of features and pages in the farm. The memory recommendations in the following table may be sufficient for a small or light usage farm. However, memory usage should be carefully monitored to determine whether more memory must be added.

Business Connectivity Services performance-related recommendations

This section provides performance recommendations for using external lists and profile pages, and general performance recommendations for Business Connectivity Services.

External list recommendations

The following table describes how data moves from the external system into an external list.

Load | Process | Render
Microsoft Business Connectivity Services queries the external system and loads the returned data into SharePoint Server. | Applies any additional processing (sort, filter, group) on the loaded data. | The external list renders the items on the page.

Microsoft Business Connectivity Services does not have an in-memory cache for external items. The data has to be loaded, processed, and rendered every time that an external list is refreshed. Therefore, many of these recommendations try to limit how much data that has to be processed.

The following list describes the external list recommendations:

  • Keep the number of items that have to be processed as low as possible by limiting the number of rows returned from the external system. This is the key factor in external list performance. We recommend you keep the number of rows returned to 100-500. The number of rows returned from the external system should not exceed 2000. You can use filters to limit the number of items that are returned by the external system. For more information about filters, see How to: Create an External Content Type Based on a SQL Server Table (http://go.microsoft.com/fwlink/p/?LinkId=192184).

  • Rendering a list is CPU-intensive on the front-end Web server and the Application server. The number of items rendered differs from the total number of items that are loaded and processed. The number of items that are rendered depends on the configuration of the external list view. Consider the overall user experience, how many items can be comfortably viewed on a screen, and keep the number of items rendered per page to a reasonable number. We recommend you keep the number of items to around 30 per page (this is the default.)

  • Keep the number of columns in an external list to a reasonable number. A large number of columns can affect performance and can also make for a poor user experience (too many columns to comfortably view on a screen).

  • Do not include large-sized columns (especially strings) in list views. Columns larger than 1 KB should not be included in a list view. The external content type can still include the large-sized column. However, it should be shown only in the single-item view.

  • When designing an external list, configure the default view to be the view that most users will want to see. Changing the sort or filter on a view requires the data to be loaded, processed, and rendered.

Profile page recommendations

  • The number of associations is a key factor in profile page performance. We recommend that you keep the number of associations to 2 at the most for the best performance.

  • Expect lower performance numbers, for both throughput and latency, with a larger number of items per associations.

General Business Connectivity Services recommendations

  • There was a noticeable, approximately five-fold, improvement in performance in the effect of the number of front-end Web servers on latency and compared green zone cases to red zone cases. We recommend that you keep the front-end Web server CPU utilization in the 40-50 percent range.

  • The number of items seems to have more an effect on performance than the item size. If you control your external data source, keep the item size high and number of items low for better results. For example, consider aggregating the large data into a single item instead of spreading the data into many items.

  • Diagnostic logging levels for Microsoft Business Connectivity Services can also be an important factor in latency and throughput as perceived users. Keep the logging levels at the minimum levels that are allowed for by your business needs for regular usage. Turn the logging levels to a higher verbosity temporarily only when closer monitoring is needed.

  • The performance of the external system plays a large role in Business Connectivity Services performance. Consider the latency and throughput of the external system when you plan for your capacity and performance.

Scaled-up and scaled-out topologies

You can estimate the performance of your starting-point topology by comparing your topology to the starting-point topologies that are provided in Plan for availability (SharePoint Server 2010) (http://go.microsoft.com/fwlink/p/?LinkId=189518). Doing so can help you quickly determine whether you must scale up or scale out your starting-point topology to meet your performance and capacity goals.

To increase the capacity and performance of one of the starting-point topologies, you can either scale up by increasing the capacity of your existing server computers, or scale out by adding additional servers to the topology. This section describes the general performance characteristics of several scaled-out topologies. The sample topologies represent the following common ways to scale out a topology.

  • To provide for more user load, add Web server computers.

  • To provide for more data load, add capacity to the database server role by increasing the capacity of a single (clustered or mirrored) server, by upgrading to a 64-bit server, or by adding clustered or mirrored servers.

  • Maintain a ratio of no more than eight Web server computers to one (clustered or mirrored) database server computer. Although testing yielded a specific optimal ratio of Web servers to database servers for each test scenario, deployment of more robust hardware, especially for the database server, may yield better results in the environment.

Estimating throughput targets

Many factors can affect throughput. These factors include the following:

  • Number of users

  • Type, complexity, and frequency of user operations

  • Number of postbacks in an operation

  • Performance of data connections.

Each of these factors can have a major effect on farm throughput. Carefully consider each of these factors when you plan your deployment.

SharePoint Server 2010can be deployed and configured in many ways. As a result, there is no simple way to estimate how many users can be supported by a given number of servers. Make sure that you conduct testing in your own environment before you deploy SharePoint Server 2010 in a production environment.

Optimizations

Common bottlenecks and their causes

During performance testing, several different common bottlenecks were revealed. A bottleneck is a condition in which the capacity of a particular constituent of a farm is reached. This causes a plateau or decrease in farm throughput.

The following table lists some common bottlenecks and describes their causes and possible resolutions.

Troubleshooting performance and scalability

Bottleneck Cause Resolution

Database contention (locks)

Database locks prevent multiple users from making conflicting modifications to a set of data. When a set of data is locked by a user or process, no other user or process can change that same set of data until the first user or process finishes modifying the data and relinquishes the lock.

To help reduce the incidence of database locks, you can do the following:

  • Distribute submitted forms to more document libraries.

  • Scale up the database server.

  • Tune the database server hard disk for read/write.

Methods exist to circumvent the database locking system in SQL Server 2005, such as the NOLOCK parameter. However, we do not recommend or support use of this method due to the possibility of data corruption.

Database server disk I/O

When the number of I/O requests to a hard disk exceeds the disk's I/O capacity, the requests will be queued. As a result, the time to complete each request increases.

Distributing data files across multiple physical drives makes parallel I/O possible. The blog SharePoint Disk Allocation and Disk I/O (http://go.microsoft.com/fwlink/p/?LinkId=129557) contains much useful information about resolving disk I/O issues.

Web server CPU utilization

When a Web server is overloaded with user requests, average CPU utilization will approach 100 percent. This prevents the Web server from responding to requests quickly and can cause timeouts and error messages on client computers.

This issue can be resolved in one of two ways. You can add Web servers to the farm to distribute user load, or you can scale up the Web server or servers by adding higher-speed processors. See Plan for availability (SharePoint Server 2010) (http://go.microsoft.com/fwlink/p/?LinkId=189518) for more information.

Performance monitoring

To help you determine when you have to scale up or scale out your system, use performance counters to monitor the health of your system. Use the information in the following tables to determine which performance counters to monitor, and to which process the performance counters should be applied.

Web servers

The following table shows performance counters and processes to monitor for Web servers in your farm.

Performance counter Apply to object Notes

Processor time

Total

Shows the percentage of elapsed time that this thread used the processor to execute instructions.

Memory utilization

Application pool

Shows the average utilization of system memory for the application pool. You must determine the correct application pool to monitor.

The basic guideline is to determine peak memory utilization for a given Web application, and assign that number plus 10 to the associated application pool.

Database servers

The following table shows performance counters and processes to monitor for database servers in your farm.

Performance counter | Apply to object | Notes
Average disk queue length | Hard disk that contains SharedServices.mdf | Average values larger than 1.5 per spindle indicate that the write times for that hard disk are insufficient.
Processor time | SQL Server process | Average values larger than 80 percent indicate that processor capacity on the database server is insufficient.
Processor time | Total | Shows the percentage of elapsed time that this thread used the processor to execute instructions.
Memory usage | Total | Shows the average utilization of system memory.

See Also

Other Resources

Resource Center: Business Connectivity Services in SharePoint Server 2010


Estimate performance and capacity requirements for Excel Services in SharePoint Server 2010

Published: November 4, 2010

This article describes the effects of using Excel Services in Microsoft SharePoint Server 2010 on topologies running Microsoft SharePoint Server 2010. You can use this information to better scale your deployments based on your latency and throughput requirements.

Note:

It is important to be aware that the specific capacity and performance figures presented in this article will differ from the figures in real-world environments. The figures presented are intended to provide a starting point for the design of an appropriately scaled environment. After you have completed your initial system design, test the configuration to determine whether the system will support the needs of your environment.

In this article:

  • Test farm characteristics

  • Test Results

  • Recommendations

For general information about how to plan and run your capacity planning for SharePoint Server 2010, see Capacity management and sizing for SharePoint Server 2010.

Test farm characteristics

This section describes the dataset, workloads, hardware settings, topology, and test definitions that were used during the performance and capacity testing of Excel Services.

Dataset

Excel Services capacity and performance is highly dependent on the makeup of the workbooks that are hosted on the service. The size of the workbook and the complexity of calculations have the most impact. Our testing used representative sizes and complexities, but every workbook is different, and your capacity and performance depends on the actual workbooks you use, and their specific size and complexity.

We simulated Excel workbooks on a farm dedicated to Excel to evaluate our capacity profile. Note that no other SharePoint Server tests were running during our capacity profile tests. Within this farm, we used three buckets of workbooks - Small, Large, and Very Large - based on workbook size and complexity:

Workbook Characteristics | Small | Large | Very Large
Sheets | 1-3 | 1-5 | 1-20
Columns | 10-20 | 10-500 | 10-1,000
Rows | 10-40 | 10-10,000 | 100-30,000
Calculated Cells | 0-20% | 0-70% | 0-70%
Number of Formats | 1-10 | 1-15 | 1-20
Tables | 0-1 | 0-2 | 0-5
Charts | 0-1 | 0-4 | 0-4
Workbook Uses External Data | 0% | 20% | 50%
Workbook Uses a Pivot Table | 0% | 3% | 3%
Workbook Uses Conditional Formats | 0% | 10% | 20%

This test farm included 2,000 SharePoint Server sites. Each site contained one small, one large, and one very large workbook. The distribution of the workbooks on the SharePoint Server pages was 10% small workbooks and 90% large and very large workbooks. Additionally, the test farm dataset included SharePoint Server pages that contained 1-5 Excel Web Parts.

Workload

To simulate application usage, workloads were created to perform one or more of the following operations:

Action Mix | Small Workbook | Large Workbook
View | 50% | 70%
Edit | 35% | 15%
Collaborative Viewing | 10% | 10%
Collaborative Editing | 5% | 5%

In addition, 17% of all the workbooks included external data. For large and very large workbooks that included external data, refreshes were performed 80% of the time; small workbooks do not include external data.

Each workload includes think time between user actions of 10 seconds. Think time refers to user action delays that simulate how long a user might take to perform the actions. This differs from other SharePoint Server 2010 capacity planning documents. Excel Services is stateful —the workbook is maintained in memory between user interactions — making it important to simulate a full user session and not merely individual requests. On average, there are 0.2 requests per second for a single user workload.

We randomly selected one of the 2,000 sites to run the test for each workload. We used the percentages in the following table to select application and application size, within that site.

Workbook Selection | Use Percentage
Small Workbook | 30%
Large Workbook | 55%
Dashboard | 10%
Very Large Workbook | 5%

Green and Red Zone definitions

For each configuration two zones were determined before throughput tests were performed. One zone was the green zone or recommended zone in which throughput can be sustained. The other zone was the red zone or maximum zone in which throughput can be tolerated for a short time but should be avoided.

To determine our red and green zone user loads, we first conducted a step test and then stopped when the following conditions were met:

  • Green zone We stopped at the point when any of the computers in our farm (Web front-end, Excel Calculation Services, or Microsoft SQL Server) exceeded 50% CPU usage or the response time for the overall system exceeded 1 second.

  • Red Zone We stopped at the point where the successful RPS for the Excel Calculation Services computers in the farm was at a maximum. Past this point, the overall throughput for the farm started to decrease and/or we would start to see failures from one of the tiers. Often the maximum private bytes in Excel Calculation Services would be exceeded when throughput was in the red zone.

After conducting the step tests, we retreated from these maximum values to run a longer constant load test of 1 hour. We stopped the green zone test when 75% of the load was used. We peaked in the red zone step test when we used 65% of the load. If the green zone test was limited by memory, and the CPU usage percentage never exceeded 50%, we instead used 75% of the load number calculated for the red zone.

The average response time was less than .25 seconds for both green and red zones, and for both scale-out and scale-up tests.

Hardware Settings and Topology

This section describes the kinds of computer hardware we used in our lab and the farm configuration topologies that we used in our tests.

Lab Hardware

Several farm configurations were used for our testing to provide a high level of test-result detail. The farm configurations ranged from one to three Web front-end servers, one to three application servers for Excel Services and Excel Calculation Services, and a single database server computer that is running Microsoft SQL Server 2008. Additionally, our tests used four client computers. All servers were 64-bit, and the client computers were 32-bit.

The following table lists the specific hardware that we used for testing.

Machine Role | CPU | Memory | Network
Web front-end server | 2 proc/4 core 2.33 GHz Intel Xeon | 8 GB | 1 gig
Excel Calculation Services | 2 proc/4 core 2.33 GHz Intel Xeon | 8 GB | 1 gig
SQL Server | 4 proc/4 core 2.6 GHz Intel Xeon | 16 GB | 1 gig

Topology

Our testing experience indicates that memory on the Excel Calculation Services tier and CPU on the Web front-end server tier are the most important limiting factors for throughput. Be aware that your experience may vary. As a result, we varied the number of computer servers in both tiers for the scale-out tests.

We deployed a topology of 1:1 for the Excel Calculation Services and Web front-end servers for the scale-up tests, and then varied the number of processors and available memory in the Excel Calculation Services computers.

Excel Calculation Services is not especially demanding on the SQL Server instance running SharePoint Server 2010, as the workbook is read a binary large object (BLOB) from SharePoint Server 2010 and put in memory on the Excel Calculation Services tier (and additionally disk cached). At no time did SQL Server become a bottleneck. For all tests, bottleneck is defined as a state in which the capacity of a particular component of a farm is reached.

Test Results

The following tables show the test results of Excel Services in Microsoft SharePoint Server 2010. For each group of tests, only certain specific variables are changed to show the progressive effect on farm performance.

Note that all the tests reported on in this article were conducted with think or wait time (think time equals 10 seconds between user actions). This differs from the capacity planning results for other parts of SharePoint Server 2010.

For information about Excel Services bottlenecks, see the Common bottlenecks and their causes section in this article.

Overall Scale

The table here summarizes the effect of adding additional Web Front-End and dedicated Excel Calculation Services computers to the farm. These throughput numbers are specifically for the Excel Calculation Services computers, and do not reflect the effect on the overall farm.

Topology | Baseline Maximum (RPS) | Baseline Recommended (RPS)
1x1 | 38 | 31
1x2 | 35 | 26
1x3 | 28 | 21
2x1 | 57 | 35
2x2 | 62 | 46
2x3 | 52 | 39
3x1 | 51 | 32
3x2 | 81 | 69
3x3 | 83 | 64
Chart with maximum and recommended RPS

Recommended Results

The following chart shows our results for recommended sustainable throughput.

Chart shows throughput wheen adding ECS servers

The previous chart shows that there is overhead associated with adding Web front-end computers to the farm. However, this is offset as Excel Calculation Services computers are added. A single Web front-end became the bottleneck after adding two additional Excel Calculation Services computers. This Web front-end bottleneck reversed any benefit that was gained from the additional capacity of adding a second and third Excel Calculation Services computer. Also notice that three Web front-end computers did not add any more throughput, as Excel Calculation Services became the limiting factor.

Chart with WFE precentages for CPU usage

Notice in the previous chart that as Web front-end computers are added, the CPU load on each computer is reduced significantly. Note too, that with two Web front-end computers and three Excel Calculation Services computers, the CPU load is reaching the maximum seen for a single Web front-end computer. This implies that adding another Excel Calculation Services computer would make the Web front-end tier the limiting factor. Remember that these results are for the "recommended" load. This is why the CPU load is maxing out at around 35% instead of at an increased level.

Maximum Results

The following chart shows our results for maximum peak throughput.

Chart shows maximum throughput for adding ECS PCs

Similar to our recommended results, we see that a single Web front-end computer is the limiting factor as we add a second and third Excel Calculation Services computer. Also notice that exactly as with the recommended results, adding a third Web front-end computer does not add to throughput as Excel Calculation Services is the limiting factor after the second Web front-end computer is added.

Chart with WFE percentage and CPU maximum usage

The results in the previous chart show that multiple Web front-end computers do not become as heavily loaded as a single Web front-end computer configuration. This indicates that the Excel Calculation Services computers are the bottleneck after the second Web front-end computer is added.

Detailed Results

This section shows details for the recommended and maximum results obtained in our tests.

Recommended Results

The following tables show the recommended results of our tests.

Overall | 1x1 | 1x2 | 1x3 | 2x1 | 2x2 | 2x3 | 3x1 | 3x2 | 3x3
Client Successful RPS | 30.56 | 34.55 | 31.67 | 26.03 | 45.94 | 68.37 | 20.71 | 38.82 | 63.70
Client Response Time (sec.) | 0.22 | 0.18 | 0.19 | 0.16 | 0.19 | 0.20 | 0.15 | 0.15 | 0.17
TPS | 1.58 | 1.77 | 1.61 | 1.40 | 2.38 | 3.54 | 1.08 | 2.03 | 3.25

Web Front-end Tier | 1x1 | 1x2 | 1x3 | 2x1 | 2x2 | 2x3 | 3x1 | 3x2 | 3x3
% CPU (average over all Web Front-end computers | 33.73 | 37.64 | 33.84 | 14.61 | 23.95 | 36.90 | 7.54 | 13.12 | 21.75

Excel Calculation Services Tier | 1x1 | 1x2 | 1x3 | 2x1 | 2x2 | 2x3 | 3x1 | 3x2 | 3x3
% CPU (average over all Excel Calculation Services computers) | 30.56 | 34.55 | 31.67 | 26.03 | 45.94 | 68.37 | 20.71 | 38.82 | 63.70
Peak Private Bytes (maximum over all Excel Calculation Services computers) | 5.94E+09 | 5.82E+09 | 5.79E+09 | 5.87E+09 | 6.09E+09 | 5.92E+09 | 5.79E+09 | 5.91E+09 | 5.85E+09

Maximum Results

The following tables show the maximum results of our tests.

Overall | 1x1 | 1x2 | 1x3 | 2x1 | 2x2 | 2x3 | 3x1 | 3x2 | 3x3
Client Successful RPS | 37.85 | 56.70 | 51.17 | 35.19 | 62.04 | 81.31 | 27.79 | 51.62 | 82.58
Client Response Time (sec.) | 0.19 | 0.28 | 0.23 | 0.16 | 0.20 | 0.25 | 0.16 | 0.16 | 0.22
TPS | 1.92 | 2.96 | 2.59 | 1.81 | 3.21 | 4.60 | 1.41 | 2.72 | 4.30

Web Front-end Tier | 1x1 | 1x2 | 1x3 | 2x1 | 2x2 | 2x3 | 3x1 | 3x2 | 3x3
% CPU (average over all Web Front-end computers | 41.08 | 67.78 | 58.59 | 19.44 | 34.11 | 45.97 | 10.19 | 17.79 | 28.69

Excel Calculation Services Tier | 1x1 | 1x2 | 1x3 | 2x1 | 2x2 | 2x3 | 3x1 | 3x2 | 3x3
% CPU (average over all Excel Calculation Services computers) | 24.99 | 18…44 | 10.96 | 23.57 | 20.56 | 17.77 | 18.97 | 17.04 | 18.10
Peak Private Bytes (maximum over all Excel Calculation Services computers) | 5.91E+09 | 5.85E+09 | 5.91E+09 | 5.88E+09 | 5.99E+09 | 6.502E+09 | 5.94E+09 | 5.94E+09 | 6.04E+09

Scale Up Test results

We also measured the effect of adding CPUs and memory to the Excel Calculation Services tier. For these tests, a 1x1 topology was used.

Chart with impact of adding CPUs to ECS

Our results in the previous chart show that adding additional CPUs was helpful but did not significantly affect the overall throughput.

Chart shows impact of adding RAM to ECS

The red zone line in the previous chart shows however, that adding memory does have a significant effect on throughput, especially at peak times. In this test, the same hardware was used throughout. However, the Maximum Private Bytes for the Excel Services process was limited. Since workbooks are kept in memory, the size of the workbooks has a significant effect on how many workbooks, and also how many users, any Excel Calculation Services computer can support.

Recommendations

This section provides general performance and capacity recommendations for hardware, Excel Services settings, common bottlenecks and troubleshooting.

Note that Excel Services capacity and performance is highly dependent on the makeup of the workbooks that are hosted on the service. The size of the workbook and the complexity of calculations have the most effect. Our testing used representative sizes and complexities, but every workbook is different, and your capacity and performance depends on the specific size and complexity of the workbooks you use.

Hardware Recommendations

Excel Services uses standard hardware for both Web front-end servers and application servers, there are no special requirements. General SharePoint Server 2010 guidelines on CPU number, speed, and memory are applicable for computers in the Excel Calculation Services tier. Note that one of the first bottlenecks an Excel Calculation Services computer is likely to encounter is memory and this may require you to add resources. Before you do, we recommend that you test with a representative set of workbooks from your organization, as the size and complexity of workbooks have a large effect on how much more capacity the addition of memory is likely to have.

To increase the capacity and performance of one of the starting-point topologies, you can do one of two things. You can either scale up by increasing the capacity of your existing servers or scale out by adding additional servers to the topology. This section describes the general performance characteristics of several scaled-out topologies.

The sample topologies represent the following common ways to scale out a topology for an Excel Services scenario:

  • To provide for more user load, check the CPU and memory for the existing Excel Services application servers. Add additional memory if the CPU is not a concern, or add CPUs if memory is not a concern. If both memory and CPU are reaching their upper limits, additional Excel Calculation Services computers may be necessary. Add additional Excel Calculation Services or application servers until the point that the Web front-end servers become the bottleneck, and then add Web front-end servers as needed.

  • In our tests, SQL Server was not a bottleneck. Excel Services does not make large demands on the database tier, as workbooks are read and written as whole documents, and also workbooks are held in memory throughout the user's session.

Performance-Related Excel Services Settings

One of the ways to control the performance characteristics of Excel Services is to control how memory is used. Each of the global settings in the following list are set through SharePoint Server 2010 Central Administration > Application Management: Manage Service Applications > Excel Services Application > Global Settings:

  • Maximum Private Bytes — By default, Excel Calculation Services will use up to 50% of the memory on the computer. If the computer is shared with other services, it may make sense to lower this number. If the computer is not being shared and is dedicated to Excel Calculation Services, and is indicating that memory may be a limiting factor, increasing this number may make sense. In any event, experimenting by adjusting this number can guide the administrator to making the necessary changes in order to better scale up.

  • Memory Cache Threshold — Excel Calculation Services will cache unused objects (for example, read-only workbooks for which all sessions have timed out) in memory. By default, Excel Calculation Services will use 90% of the Maximum Private Bytes for this purpose. Lowering this number can improve overall performance if the server is hosting other services in addition to Excel Calculation Services. Increasing this number increases the chances that the workbook being requested will already be in memory and will not have to be reloaded from the SharePoint Server content database.

  • Maximum Unused Object Age — By default, Excel Calculation Services will keep objects in the memory cache as long as possible. To reduce the Excel Calculation Services memory usage, in particular with other services that are running on the same computer, it may make more sense to impose a limit on how long objects are cached in memory.

There are also settings available to control the maximum size of a workbook and the lifetime of a session, which in turn control how long a workbook is held in memory. These settings are associated with each trusted location and are not global. These settings can be set through SharePoint Server 2010 Central Administration > Application Management: Manage Service Applications > Excel Services Application > Trusted Locations, and then edit the settings for each trusted location in the Workbook Properties section on the Edit Trusted File Location page.

  • Maximum Workbook Size

  • Maximum Chart or Image Size

By default, Excel Calculation Services is limited to 10 MB or smaller workbooks and 1 MB or smaller charts/images. Obviously using larger workbooks and larger charts/images puts more strain on the available memory of the Excel Calculation Services tier computers. However, there may be users in your organization that need these settings to be increased for Excel Calculation Services to work with their particular workbooks.

  • Session Timeout — By decreasing the session time out, memory is made available for either the unused object cache or other services faster.

  • Volatile Function Cache Lifetime — Volatile functions are functions that can change their value with each successive recalculation of the workbook, for example date/time functions, random number generators, and so on. Because of the load this could generate on the server, Excel Calculation Services does not recalculate these values for each recalculation, instead caching the last values for a short time period. Increasing this lifetime can reduce the load on the server. However, this depends on having workbooks that use volatile functions.

  • Allow External Data — Excel Calculation Services can draw on external data sources. However, the time that is required to draw upon the external source can be significant, with potentially a large amount of data returned. If external data is allowed, there are several additional settings that can help throttle the effect of this feature.

Common bottlenecks and their causes

During performance testing, several different common bottlenecks were revealed. Bottlenecks are defined as a state in which the capacity of a particular component of a farm is reached. This causes a plateau or decrease in farm throughput.

The following table lists some common bottlenecks and describes their causes and possible resolutions.

Troubleshooting performance and scalability

Bottleneck | Cause | Resolution
Excel Calculation Services Memory | Excel Services holds each workbook in memory throughout the user's session. A large number of workbooks, or large workbooks, can cause Excel Calculation Services to consume all available memory causing the actually consumed "Private Bytes" to exceed "Maximum Private Bytes." | Scale Up with more memory in the Excel Calculation Services tier computers, or Scale Out with the addition of more Excel Calculation Services computers. The choice will partly depend on if CPU is also reaching a maximum.
Excel Calculation Services CPU | Excel Services can depend on a large amount of processing in the application tier, depending on the number and complexity of workbooks. | Increase the number of CPUs and/or cores in the existing Excel Calculation Services computers, or add Excel Calculation Services computers.
Web server CPU usage | When a Web server is overloaded with user requests, average CPU usage will approach 100 percent. This prevents the Web server from responding to requests quickly and can cause timeouts and error messages on client computers. | This issue can be resolved in one of two ways. You can add Web servers to the farm to distribute user load, or you can scale up the Web server or servers by adding faster processors.

Performance monitoring

To help you determine when you have to scale up or scale out the system, use performance counters to monitor the health of the system. Use the information in the following tables to determine which performance counters to monitor, and to which process the performance counters should be applied.

Front-end Web server

The following table shows performance counters and processes to monitor for front-end Web servers in your farm.

Performance Counter | Apply to object | Notes
% Processor Time | Processor (w3wp) | Shows the percentage of elapsed time that this thread used the processor to execute instructions.
% Processor Time | Processor (_Total) | Shows the percentage of elapsed time that all threads on the server computer that used the processor to execute instructions.
Private Bytes | Process (w3wp) | This value should not approach the Max Private Bytes set for w3wp processes. If it does, additional investigation is needed into what component is using the memory.

Excel Calculation Services

The following table shows performance counters and processes to monitor for application servers, or in this case Excel Calculation Services, within your farm.

Performance Counter | Apply to object | Notes
% Processor Time | Processor (_Total) | Shows the percentage of elapsed time that all threads on the server that used the processor to execute instructions.
% Processor Time | Processor (w3wp) | The Excel Calculation Services runs within its own w3wp process, and it will be obvious which w3wp process this is as it will be getting the bulk of the CPU time.
Average Disk Queue Length | PhysicalDisk(_Total) | Watch for too much disk writing because of logging.
Private Bytes | Process(w3wp) | Excel Services caches workbooks in memory, until the user's session expires (the time out for which is configurable). If a large amount of data is being processed through the Excel Calculation Services, memory consumption for the Excel Calculation Services w3wp will increase.

SQL Server

As we have previously described, Excel Services is light on the SQL Server tier, as workbooks are read once into memory on the Excel Calculation Services tier during the user's session. Follow general SharePoint Server guidelines for monitoring and troubleshooting of the SQL Server tier.


Estimate performance and capacity requirements for InfoPath Forms Services in SharePoint Server 2010
See Also

Published: January 20, 2011

This article provides guidance on the effects of using InfoPath Forms Services in Microsoft SharePoint Server 2010 on topologies running Microsoft SharePoint Server 2010.

The tests described in this article were designed to help develop estimates of how different farm configurations respond to changes to the following variables:

  • Front-end Web server scale out for different submit operations

  • Front-end Web server scale out for different InfoPath list operations

  • Impact of form complexity on throughput

For general information about capacity planning for SharePoint Server 2010, see Performance and capacity management (SharePoint Server 2010).

In this article:

  • Test farm characteristics

  • Test results

  • Recommendations

Test farm characteristics

The specific capacity and performance figures presented in this article will differ from the figures in real-world environments. The figures presented are intended to provide a starting point for the design of an appropriately scaled environment. After you have completed your initial system design, test the configuration to determine whether your system will support the factors in your environment.

Hardware, settings, and topology

This section describes the hardware and topology used to complete these tests, as well as the test scenarios in the following sections:

  • Lab hardware

  • Topology

  • Test scenarios

Lab hardware

To provide a high level of test-result detail, several farm configurations were used for testing. Farm configurations ranged from one to six Web servers and a single database server that is running Microsoft SQL Server 2008 database software. Load testing was performed with Visual Studio Team System 2008. The tests also included two agent computers. All computers were 64-bit.

The following table lists the specific hardware that was used for testing.

 | Web server | Database server | Agent 1 and Agent 2
Role | Front-end Web server | SQL Server | Agent
Processors | 2x Xeon L5420 @ 2.5 GHz (8 cores) | 4x Xeon E7330 @ 2.4 GHz (16 cores) | 2x Xeon L5420 @ 2.5 GHz (8 cores)
RAM | 16 GB | 32 GB | 16 GB
Operating system | Windows Server 2008 R2 | Windows Server 2008 R2 | Windows Server 2008 R2
Storage: operating system | 4x 146 GB, 10K RPM, RAID 0 | 2x 146 GB, 15K RPM, RAID 1 | 4x 146 GB, 10K RPM, RAID 0
Storage: backups |  | 3x 300 GB, 15K RPM, RAID 5 |
Storage: SQL Server Data |  | 9x 300 GB, 15K RPM, RAID 5 |
Storage: SQL Server Log |  | 6x 300 GB, 15K RPM, RAID 5 |
Number of network adapters | 1 | 4 | 1
Network adapter speed | 1 Gb per second | 1 Gb per second | 1 Gb per second
Authentication | NTLM | NTLM | NTLM
Software version | SharePoint Server 2010 (Pre-Release Version) | SQL Server 2008 SP1 CU6 |
Number of SQL Server instances |  | 1 |
Load balancer type | Windows Network Load Balancing | Windows Network Load Balancing | N/A
Information Rights Management (IRM) settings | Off | Off |
Anti-virus settings | Not installed | Not installed | Not installed

Topology

InfoPath capacity planning topology

Capacity Planning for InfoPath

Test scenarios

This section defines the test scenarios and provides an overview of the test process that was used for each scenario. Test results are given in later sections in this article.

Form templates

Testing was performed with a form template that consists of text boxes, radio buttons, and drop-down list boxes. This template will be referred to as the baseline solution. The following is a screen shot of the form template for context.

Passport application form

Passport Application Form

The baseline solution was used to create derivative form templates. These form templates are created by making scoped modification to the baseline solution template and saving it as a new template. This approach enabled us to do comparison of different operations and aspects of form design. The following table describes the different form templates used in testing.

Form template | Number of fields | Type of submit | Number of validation rules | First request optimized | Administrator deployed | Notes
baseline solution | 44 | None | 4 | Yes | No |
baseline solution with Web service submit | 44 | Web service | 4 | Yes | Yes |
baseline solution with document library submit | 44 | SharePoint document library | 4 | Yes | Yes |
Baseline solution without first request optimization | 44 | Web service | 5 | No | Yes | The extra validation rule is Date is in the past. Since this rule uses the today() function, the first request requires state data.
Baseline solution with 2x fields | 88 | Web service | 4 | Yes | Yes |
Baseline solution with 3x fields | 132 | Web service | 4 | Yes | Yes |
Baseline solution with 4x fields | 176 | Web service | 4 | Yes | Yes |
Baseline solution with validation | 44 | Web service | 10 | No | Yes |
Baseline solution with 2x validation | 44 | Web service | 20 | No | Yes |
Baseline solution with 4x validation | 44 | Web service | 40 | No | Yes |

InfoPath list form

A modified version of an issue tracking list was used to test the InfoPath list form operations. Two modifications were made to the list. First, the Assigned To column was removed. Second, the Related Issues column was set to not allow multiple values. Finally, the list was prepopulated with 100 items. The following is a screen shot of the list.

List form

InfoPath list form

Test definitions

Scale-out tests

The following table describes the tests used to for the Web front-end, scale-out tests.

Scenario description Form template used Test steps Number of postbacks

Baseline solution new

Baseline solution

  • Open a new instance of the baseline solution.

0

Save new baseline solution

Baseline solution

  1. Open a new instance of the baseline solution.

  2. Fill out a form and save it to a document library.

1

Baseline solution with document library submit

Baseline solution with document library submit

  1. Open a new instance of the baseline solution with document library submit.

  2. Fill out a form and then click Submit. This sends the form data to a SharePoint document library.

1

Baseline solution with Web service submit

Baseline solution with Web service submit

  1. Open a new instance of the baseline solution with Web service submit.

  2. Fill out a form and then click Submit. This sends the form data to a Web service.

1

Baseline solution with document library submit x5

5 copies of the baseline solution with Web service submit form template with each one deployed to its own document library

For each document library:

  1. Open a new instance of the baseline solution with document library submit.

  2. Fill out a form and then click Submit. This sends the form data to a SharePoint document library.

1

Baseline solution open

Baseline solution with document library submit

  • Open a baseline solution form that has already been completed. The form is opened from a document library.

0

Form complexity tests

The following table describes the tests used for the form complexity tests.

Test name Form template used Test steps Number of postbacks

Baseline solution with 1x controls

Baseline solution with Web service submit

  1. Open a new instance of the baseline solution with Web service submit.

  2. Fill out a form and then click Submit. This sends the form data to a Web service.

1

Baseline solution with 2x controls

Baseline solution with 2x controls

  1. Open a new instance of the baseline solution with 2x controls.

  2. Fill out a form and then click Submit. This sends the form data to a Web service.

1

Baseline solution with 3x controls

Baseline solution with 3x controls

  1. Open a new instance of the baseline solution with 3x controls.

  2. Fill out a form and then click Submit. This sends the form data to a Web service.

1

Baseline solution with 4x controls

Baseline solution with 4x controls

  1. Open a new instance of the baseline solution with 4x controls.

  2. Fill out a form and then click Submit. This sends the form data to a Web service.

1

Baseline solution without first request optimization

Baseline solution without first request optimization

  1. Open a new instance of the baseline solution without first request optimization.

  2. Fill out a form and then click Submit. This sends the form data to a Web service.

1

Baseline solution with validation

Baseline solution with validation

  1. Open a new instance of the baseline solution with validation.

  2. Fill out a form and then click Submit. This sends the form data to a Web service.

1

Baseline solution with 2x validation

Baseline solution with 2x validation

  1. Open a new instance of the baseline solution with 2x validation.

  2. Fill out a form and then click Submit. This sends the form data to a Web service.

1

Baseline solution with 4x validation

Baseline solution with 4x validation

  1. Open a new instance of the baseline solution with 4x validation.

  2. Fill out a form and then click Submit. This sends the form data to a Web service.

1

InfoPath list form tests

The following table describes the tests used for the InfoPath list form tests.

Test name Test Step # of Postbacks

Issue tracking display

  • Open an existing issue tracking list item in display view.

0

Issue tracking edit

  • Open an existing issue tracking list item in edit view.

0

Issue tracking new

  • Open a new item for the issue tracking list.

0

Test results

All the tests reported in this article were conducted without think time, a natural delay between consecutive operations. In a real-world environment, each operation is followed by a delay as the user performs the next step in the task. By contrast, in these tests, each operation was immediately followed by the next operation, which resulted in a continual load on the farm. This load can cause database contention and other factors that can adversely affect performance.

For each topology, a series of three tests was run: calibration, green zone, and maximum throughput. The calibration run uses a step-load pattern. A step-load pattern increases the number of virtual users over time. The results of the calibration run determine the user load for the green zone and maximum throughput tests. The green zone and maximum throughput tests both use constant load pattern for a period of 5 minutes. The requests per second (RPS) reported in this document is the average RPS at the end of the five minute constant load test.

Some of the cells in the results tables have a dash. This indicates that the test was not run for that topology. The test was not run because the results of other runs indicate that there is no expected increase in RPS for that particular topology.

Bottlenecks in InfoPath Forms Services in SharePoint Server 2010 are described in greater detail in Common bottlenecks and their causes, later in this article.

Effect of Web front-end scale-out for different submit operations

The following table shows the green zone test results of scaling out front-end Web servers for various submit operations in SharePoint Server 2010.

 | Baseline solution save | Baseline solution with Web service submit | Baseline solution with SharePoint Server 2010 submit | Baseline solution with SharePoint Server 2010 submit using five document libraries
1x1 | 165 | 245 | 160 | 139
2x1 | 292 | 471 | 301 | 280
4x1 | 479 | 896 | 478 | 544
6x1 | 467 | 1395 | - | 599

The following graph shows the green zone throughput for different InfoPath submit operations on different Web front-end topologies. SharePoint Server 2010 submit can scale to four front-end Web servers. However, a farm running five document library submit forms in parallel can achieve more throughput with six front-end Web servers than a single document library can with six front-end Web servers. A farm will generally have more than one InfoPath solution that is deployed. This result means that one of those individual solutions will reach maximum throughput at four front-end Web servers. However, the collective throughput of all the solutions can scale beyond four front-end Web servers. Web service submit has the most throughput and scales to six front-end Web servers.

Green zone throughput for submit operations

Green zone throughput for submit ops

The following table shows the Maximum test results of scaling out front-end Web servers for various submit operations in SharePoint Server 2010.

 | Baseline solution save | Baseline solution with Web service submit | Baseline solution with SharePoint Server 2010 submit | Baseline solution with SharePoint Server 2010 submit using five document libraries)
1x1 | 286 | 470 | 301 | 285
2x1 | 484 | 912 | 464 | 518
4x1 | - | 1484 | 478 | 601
6x1 | - | 1483 | - | -

The following graph shows the maximum throughput for different InfoPath submit operations on different front-end topologies. SharePoint Server 2010 submit and save scale to two front-end Web servers. However, a farm running five document library submit forms in parallel can achieve more throughput with four front-end Web servers than a single document library with four front-end Web servers. A farm will generally have more than one InfoPath solution that is deployed. This result means that one of those individual solutions will reach maximum throughput at four front-end Web servers. However, the collective throughput of all the solutions can scale beyond four front-end Web servers. Web service submit has the most throughput and scales to four front-end Web servers.

Maximum throughput for submit operations

Maximum throughput for submit operations

Effect of front-end Web server scale out for InfoPath list operations

The following table shows the green zone test results of adding front-end Web servers for InfoPath list operations in SharePoint Server 2010.

 | Issue tracking display | Issue tracking new | Issue tracking edit
1x1 | 77 | 67 | 56
2x1 | 153 | 125 | 106
4x1 | 295 | 236 | 212
6x1 | 455 | 431 | 416

The following graph shows the green zone throughput for InfoPath list operations. All the operations show increasing throughput from adding front-end Web servers. The results also suggest that adding more than six front-end Web servers will continue to increase throughput. This increase was observed outside the capacity planning testing. The display operation has more throughput than the new operation, which has more throughput than the edit operation.

Green zone throughput for list operations

Green zone throughput for list operations

The following table shows the maximum throughput test results of adding front-end Web servers for InfoPath list operations in SharePoint Server 2010.

 | Issue tracking display | Issue tracking new | Issue tracking edit
1x1 | 143 | 126 | 100
2x1 | 263 | 243 | 191
4x1 | 524 | 457 | 364
6x1 | 747 | 679 | 521

The following graph shows the maximum throughput for the InfoPath list operations. All the operations show increasing throughput from adding front-end Web servers. The results also suggest that adding more than six front-end Web servers will continue to increase throughput. This increase was observed outside the capacity planning testing. The display operation has more throughput than the new operation, which has more throughput than the edit operation.

Maximum throughput for list operations

Maximum throughput for list operations

Effect of Web front-end scale out for new and open operations

The following table shows the test results of adding front-end Web servers for new and open InfoPath operations in SharePoint Server 2010.

 | Issue tracking new | Issue tracking display | Baseline solution new | Baseline solution open
1x1 | 67 | 77 | 197 | 129
2x1 | 125 | 153 | 379 | 296
4x1 | 236 | 295 | 802 | 575
6x1 | 431 | 455 | 1182 | 869

The following graph shows the green zone throughput for new and open InfoPath operations. All the operations see increasing throughput from adding front-end Web servers. The results suggest that adding more than six front-end Web servers will continue to increase throughput. This increase was observed outside the capacity planning testing. Document library new and open operations have more throughput than InfoPath list new and display operations.

Green zone throughput for new and open operations

Green zone throughput for new and open ops

 | Issue tracking new | Issue tracking display | Baseline solution New | Baseline solution open
1x1 | 126 | 143 | 408 | 282
2x1 | 243 | 263 | 775 | 558
4x1 | 457 | 524 | 1285 | 996
6x1 | 679 | 747 | 1360 | 1104

The following graph shows the maximum throughput for InfoPath list operations. All the operations show increasing throughput from adding front-end Web servers. The results show that the document library new and open operations scale to six front-end Web servers. However, the results suggest that the InfoPath list operations could benefit from more than six front-end Web servers. Document library new and open operations have more throughput than InfoPath list new and display operations.

Maximum throughput for new and open operations

Maximum throughput for new and open ops

Effect of form complexity on throughput

The following table shows the test results of adding form controls to a form template. All results were collected on a farm topology that has four front-end Web servers.

 | Baseline solution 1x controls | Baseline solution 2x Controls | Baseline solution 3x controls | Baseline solution 4x controls
Maximum throughput | 1484 | 1424 | 1310 | 1201
Green zone | 896 | 834 | 760 | 608

The following graph shows the test results of adding form controls to a form template. The number of fields and controls in a form has a significant effect on throughput. These results show that increasing the number of controls by a factor of four can decrease the green zone throughput by more than 30 percent.

Impact of number of controls on throughput

Impact of number of controls on throughput

The following table shows the test results of adding form controls to a form template. All results were collected on a farm topology that has four front-end Web servers.

 | Baseline solution | Baseline solution without first request optimization | Baseline solution with validation | Baseline solution with 2x validation | Baseline solution with 4x validation
Maximum throughput | 1484 | 1323 | 1271 | 1202 | 1074
Green zone | 896 | 788 | 724 | 676 | 612

The following graph shows the test results of adding validation rules to a form template. The number of validation rules in a form has a measureable effect on throughput. These results show that increasing the number of validation rules by a factor of four can decrease the green zone throughput by more than 30 percent.

Impact of number of validation rules on throughput

Impact of number of validation rules on throughput

Hardware cost per transaction

Maximum RPS of issue tracking display operation

Scorecard dashboard | Scorecard metric | 1x1 | 2x1 | 4x1 | 6x1
CPU | Average front-end Web server CPU | 91.5% | 85.8% | 85.8% | 81.1%
Reliability | Average page time | 0.088 | 0.093 | 0.11 | 0.098
 | Failure rate | 0% | 0% | 0% | 0%

Green zone RPS of baseline solution new operation

Scorecard dashboard | Scorecard metric | 1x1 | 2x1 | 4x1 | 6x1
CPU | Average front-end Web server CPU | 44.1% | 43.7% | 46.5% | 46.5%
Reliability | Average page time | 0.024 | 0.025 | 0.027 | 0.033
 | Failure rate | 0% | 0% | 0% | 0%

Maximum RPS of baseline solution new operation

Scorecard dashboard | Scorecard metric | 1x1 | 2x1 | 4x1 | 6x1
CPU | Average front-end Web server CPU | 93.7% | 91.1% | 77.5% | 54.0%
Reliability | Average page time | 0.048 | 0.050 | 0.052 | 0.056
 | Failure rate | 0% | 0% | 0% | 0%

Green zone RPS of baseline solution save operation

Scorecard dashboard | Scorecard metric | 1x1 | 2x1 | 4x1 | 6x1
CPU | Average front-end Web server CPU | 40.8% | 41.3% | 37.3% | 24.2%
Reliability | Average page time | 0.059 | 0.074 | 0.099 | 0.10
 | Failure rate | 0% | 0.21% | 0.0014% | 0%

Maximum RPS of baseline solution save operation

Scorecard dashboard | Scorecard metric | 1x1 | 2x1 | 4x1 | 6x1
CPU | Average front-end Web server CPU | 85.8% | 76.8% | - | -
Reliability | Average page time | 0.090 | 0.12 | - | -
 | Failure rate | 0% | 0.18% | - | -

Green zone RPS of baseline solution document library submit operation

Scorecard dashboard | Scorecard metric | 1x1 | 2x1 | 4x1 | 6x1
CPU | Average front-end Web server CPU | 40.6% | 44.9% | 35.9% | -
Reliability | Average page time | 0.061 | 0.079 | 0.11 | -
 | Failure rate | 0% | 0% | 0% | -

Maximum RPS of baseline solution document library submit operation

Scorecard dashboard | Scorecard metric | 1x1 | 2x1 | 4x1 | 6x1
CPU | Average front-end Web server CPU | 89.1% | 74.8% | - | -
Reliability | Average page time | 0.11 | 0.12 | - | -
 | Failure rate | 0.0022% | 0% | - | -

Green zone RPS of baseline solution with Web service submit operation

Scorecard dashboard | Scorecard metric | 1x1 | 2x1 | 4x1 | 6x1
CPU | Average front-end Web server CPU | 45.0% | 44.0% | 43.8% | 46.0%
Reliability | Average page time | 0.040 | 0.042 | 0.046 | 0.059
 | Failure rate | 0% | 0% | 0.00074% | 0%

Maximum RPS of baseline solution with Web service submit operation

Scorecard dashboard | Scorecard metric | 1x1 | 2x1 | 4x1 | 6x1
CPU | Average front-end Web server CPU | 91.8% | 91.4% | 74.6% | 48.9%
Reliability | Average page time | 0.076 | 0.080 | 0.091 | 0.11
 | Failure rate | 0% | 0% | 0% | 0%

Green zone RPS of baseline solution with five document library submit operations

Scorecard dashboard | Scorecard metric | 1x1 | 2x1 | 4x1 | 6x1
CPU | Average front-end Web server CPU | 38.4% | 39.8% | 40.8% | -
Reliability | Average page time | 0.070 | 0.077 | 0.10 | -
 | Failure rate | 0% | 0% | 0% | -

Maximum RPS of baseline solution with document library with five submit operations

Scorecard dashboard | Scorecard metric | 1x1 | 2x1 | 4x1 | 6x1
CPU | Average front-end Web server CPU | 88.4% | 80.5% | 44.3% | 29.7%
Reliability | Average page time | 0.12 | 0.16 | 0.12 | 0.12
 | Failure rate | 0% | 0% | 0.000011% | 0%

Green zone RPS of baseline solution open operation

Scorecard Dashboard | Scorecard metric | 1x1 | 2x1 | 4x1 | 6x1
CPU | Average front-end Web server CPU | 39.2% | 45.8% | 45.5% | 46.2%
Reliability | Average page time | 0.036 | 0.038 | 0.041 | 0.049
 | Failure rate | 0% | 0% | 0% | 0%

Maximum RPS of baseline solution open operation

Scorecard dashboard | Scorecard metric | 1x1 | 2x1 | 4x1 | 6x1
CPU | Average front-end Web server CPU | 90.6% | 90.6% | 82.1% | 60.0%
Reliability | Average page time | 0.063 | 0.067 | 0.069 | 0.084
 | Failure rate | 0% | 0% | 0% | 0%

Green zone RPS of issue tracking display operation

Scorecard dashboard | Scorecard metric | 1x1 | 2x1 | 4x1 | 6x1
CPU | Average front-end Web server CPU | 44.8% | 45.4% | 44.6% | 46.4%
Reliability | Average page time | 0.061 | 0.067 | 0.073 | 0.072
 | Failure rate | 0% | 0% | 0% | 0%

Maximum RPS of issue tracking display operation

Scorecard dashboard | Scorecard metric | 1x1 | 2x1 | 4x1 | 6x1
CPU | Average front-end Web server CPU | 91.5% | 85.8% | 85.8% | 81.1%
Reliability | Average page time | 0.088 | 0.093 | 0.11 | 0.098
 | Failure rate | 0% | 0% | 0% | 0%

Green zone RPS of issue tracking edit operation

Scorecard dashboard | Scorecard metric | 1x1 | 2x1 | 4x1 | 6x1
CPU | Average front-end Web server CPU | 45.7% | 43.6% | 45.1% | 60.0%
Reliability | Average page time | 0.086 | 0.090 | 0.10 | 0.11
 | Failure rate | 0% | 0% | 0% | 0%

Green zone RPS of issue tracking display operation

Scorecard dashboard | Scorecard metric | 1x1 | 2x1 | 4x1 | 6x1
CPU | Average front-end Web server CPU | 89.8% | 87.2% | 82.9% | 79.3%
Reliability | Average page time | 0.12 | 0.13 | 0.13 | 0.14
 | Failure rate | 0% | 0% | 0.00092% | 0.012%

Maximum RPS of issue tracking display operation

Scorecard dashboard | Scorecard metric | 1x1 | 2x1 | 4x1 | 6x1
CPU | Average front-end Web server CPU | 91.5% | 85.8% | 85.8% | 81.1%
Reliability | Average page time | 0.088 | 0.093 | 0.11 | 0.098
 | Failure rate | 0% | 0% | 0% | 0%

Green zone RPS of issue tracking new operation

Scorecard dashboard | Scorecard metric | 1x1 | 2x1 | 4x1 | 6x1
CPU | Average front-end Web server CPU | 44.8% | 42.9% | 40.9% | 50.5%
Reliability | Average page time | 0.072 | 0.076 | 0.089 | 0.097
 | Failure rate | 0% | 0% | 0% | 0%

Maximum RPS of issue tracking new operation

Scorecard dashboard | Scorecard metric | 1x1 | 2x1 | 4x1 | 6x1
CPU | Average front-end Web server CPU | 92.6% | 89.2% | 85.1% | 84.9%
Reliability | Average page time | 0.12 | 0.12 | 0.12 | 0.14
 | Failure rate | 0% | 0% | 0% | 0%

Green zone RPS of baseline solution with controls

Scorecard dashboard | Scorecard metric | 1x | 2xControls | 3xControls | 4xControls
CPU | Average front-end Web server CPU |  | 43.9% | 49.8% |
Reliability | Average page time |  | 0.050 | 0.054 |
 | Failure rate |  | 0% | 0% |

Maximum RPS of baseline solution with controls

Scorecard dashboard | Scorecard metric | 1x | 2xControls | 3xControls | 4xControls
CPU | Average front-end Web server CPU |  | 79.2% | 80.9% | 80.2%
Reliability | Average page time |  | 0.098 | 0.12 | 0.12
 | Failure rate |  | 0% | 0% | 0.00056%

Green zone RPS of baseline solution validation operation

Scorecard dashboard | Scorecard metric | Without first request optimization | 1xValidation | 2xValidation | 4xValidation
CPU | Average front-end Web server CPU | 45.4% | 44.7% | 45.5% | 46.3%
Reliability | Average page time | 0.055 | 0.057 | 0.061 | 0.068
 | Failure rate | 0% | 0% | 0.19% | 0%

Maximum RPS of baseline solution validation operation

Scorecard dashboard | Scorecard metric | Without first request optimization | 1xValidation | 2xValidation | 4xValidation
CPU | Average front-end Web server CPU | 80.4% | 82.4% | 86.8% | 85.2%
Reliability | Average page time | 0.10 | 0.11 | 0.13 | 0.11
 | Failure rate | 0.0015% | 0% | 0% | 0.00055%

Recommendations

This section provides general performance and capacity recommendations. Use these recommendations to determine the capacity and performance characteristics of the starting topology that you created to decide whether you have to scale out or scale up the starting topology.

Hardware recommendations

For specific information about minimum and recommended system requirements, see Hardware and software requirements (SharePoint Server 2010).

Note:

Memory requirements for Web servers and database servers depend on the size of the farm, the number of concurrent users, and the complexity of features and pages in the farm. You should carefully monitor memory use in order to determine whether more memory must be added.

Scaled-up and scaled-out topologies

To increase the capacity and performance of one of the starting-point topologies, you can either scale up by increasing the capacity of your existing server computers, or scale out by adding additional servers to the topology. This section describes the general performance characteristics of several scaled-out topologies. The sample topologies represent the following common ways to scale out a topology for an InfoPath Forms Services scenario:

  • To provide for more user load, add Web server computers.

  • To provide for more data load, add capacity to the database server role by increasing the capacity of a single (clustered or mirrored) server, by upgrading to a 64-bit server, or by adding clustered or mirrored servers.

  • Maintain a ratio of no more than eight Web server computers to one (clustered or mirrored) database server computer. Although testing in our lab yielded a specific optimum ratio of Web servers to database servers for each test scenario, deployment of more robust hardware, especially for the database server, may yield better results in your environment.

Estimating throughput targets

Many factors can affect throughput. Each of these factors can have a major effect on farm throughput. You should carefully consider each of these factors when you plan your deployment. These factors include the following:

  • Number of users

  • The type, complexity, and frequency of user operations

  • The number of postbacks in an operation

  • The performance of data connections

SharePoint Server 2010 can be deployed and configured in a wide variety of ways. As a result, there is no simple way to estimate how many users can be supported by a given number of servers. Therefore, make sure that you conduct testing in your own environment before you deploy SharePoint Server 2010 in a production environment.

Optimizations

The following sections discuss methods for improving farm performance by optimizing form templates and the database server.

Form template design optimizations

  • Optimize the first request, that is, the request to open the form, for form templates that do not have onLoad events or business logic. Optimize the first request by delaying the creation of session-state entry in the database until a POST occurs. For such form templates, if the only POST was to close the form after a submit operation, the SQL session state will not be created. To apply this optimization, the form designer must set the Submit advanced setting to close the form after the submit operation. For more information about form template design optimizations, see the six-part blog series at Designing browser-enabled forms for performance in InfoPath Forms Services (http://go.microsoft.com/fwlink/p/?LinkId=129548).

  • If a scenario involves saving a form to a document library, it is better to submit the form to the library instead of saving it. A submit operation triggers only one POST request or round trip, whereas a save operation triggers two POST requests. The name of the form can be dynamically generated by using a rule or by using a control in the form.

  • Document library forms can achieve greater throughput than InfoPath list forms. If high throughput is needed for a solution, consider using a document library form instead of an InfoPath list form.

  • Form complexity, such as the number of controls and amount of form logic, affects throughput. As form complexity increases, the front-end Web server CPU cost also increases. Therefore, more complex forms need more front-end Web servers to achieve greater throughput.

  • To reduce user latency, we recommend that the form designer reduce the number of controls per view. For first-page view optimization, position controls that have a high resource cost, such as rich text fields, in subsequent views instead of in the default view.

Common bottlenecks and their causes

During performance testing, several different common bottlenecks were revealed. A bottleneck is a condition in which the capacity of a particular constituent of a farm is reached. This causes a plateau or decrease in farm throughput.

The following table lists some common bottlenecks and describes their causes and possible resolutions.

Troubleshooting performance and scalability

Bottleneck Cause Resolution

Database contention (locks)

Database locks prevent multiple users from making conflicting modifications to a set of data. When a set of data is locked by a user or process, no other user or process can modify that same set of data until the first user or process finishes modifying the data and relinquishes the lock.

To help reduce the incidence of database locks, you can:

  • Distribute submitted forms to more document libraries.

  • Scale up the database server.

  • Tune the database server hard disk for read/write.

Methods exist to circumvent the database locking system in Microsoft SQL Server 2005, such as the NOLOCK parameter. However, we do not recommend or support use of this method due to the possibility of data corruption.

Database server disk I/O

When the number of I/O requests to a hard disk exceeds the disk's I/O capacity, the requests will be queued. As a result, the time to complete each request increases.

Distributing data files across multiple physical drives allows for parallel I/O. The blog SharePoint Disk Allocation and Disk I/O (http://go.microsoft.com/fwlink/p/?LinkId=129557) contains useful information about resolving disk I/O issues.

Web server CPU use

When a Web server is overloaded with user requests, average CPU use will approach 100 percent. This prevents the Web server from responding to requests quickly and can cause timeouts and error messages on client computers.

This issue can be resolved in one of two ways. You can add more Web servers to the farm to distribute user load, or you can scale up the Web server or servers by adding higher-speed processors.

Performance monitoring

To help you determine when you have to scale up or scale out a system, use performance counters to monitor the health of the system. Use the information in the following tables to determine which performance counters to monitor, and to which process the performance counters should be applied.

Web servers

The following table shows performance counters and processes to monitor for Web servers in your farm.

Performance counter Apply to object Notes

Processor time

Total

Shows the percentage of elapsed time that this thread used the processor to execute instructions.

Memory use

Application pool

Shows the average use of system memory for the application pool. You must identify the correct application pool to monitor.

The basic guideline is to identify peak memory use for a given Web application, and assign that number plus 10 to the associated application pool.

Database servers

The following table shows performance counters and processes to monitor for database servers in your farm.

Performance counter | Apply to object | Notes
Average disk queue length | Hard disk that contains SharedServices.mdf | Average values greater than 1.5 per spindle indicate that the write times for that hard disk are insufficient.
Processor time | SQL Server process | Average values greater than 80 percent indicate that processor capacity on the database server is insufficient.
Processor time | Total | Shows the percentage of elapsed time that this thread used the processor to execute instructions.
Memory use | Total | Shows the average use of system memory.

See Also

Other Resources

InfoPath Forms Services 2010 Web Testing Toolkit


Designing large lists and maximizing list performance (SharePoint Server 2010)
See Also

Published: May 26, 2011

This article provides information about the performance of large document libraries and large lists. The recommendations in this article are the result of a series of performance tests that were conducted with Microsoft SharePoint Server 2010. The focus of this article is on the performance characteristics of large lists and on how different configurations affect the performance of large lists and of the farm. SharePoint Server 2010 has several new improvements that make it easier to create and use large lists. However, creating and implementing large lists still requires careful planning. You must consider many factors, such as information architecture, performance, disaster recovery, and governance. This article covers information architecture and features that are used to implement large lists, and it covers the effect that specific configurations have on performance.

There are also some key design choices that you must make that can affect large list performance. These include permissions, the number of columns added to a list, the number of lookup columns in views, and the folders and indexes that are used to organize a list. These decisions affect performance of lists, and this effect becomes much bigger as the size of a list increases. This article explains how different design choices affect the performance of large lists so you can appropriately design a large list that meets performance requirements while also meeting business requirements and providing a good user experience.

Although this article is specific to SharePoint Server 2010, the throttles and limits also apply to Microsoft SharePoint Foundation. This article covers several features that greatly enhance the experience of working with large lists, and these features are available only in SharePoint Server 2010. No distinction between SharePoint Foundation and SharePoint Server is made in this article.

In this article:

  • Understanding query methods

  • Example large list scenarios

  • Large lists and SharePoint Server 2010

  • Performance measurements and testing methodology

  • Throttling and limits

  • Other limits

  • Differences between large lists and regular lists

  • Planning for large list design and implementation

  • Conclusion

Understanding query methods

There are three main methods that can be used for accessing list data: list views with metadata navigation, Content Query Web Part, and search. Each method has pros, cons, and particular uses to which they are well suited.

List view and metadata navigation

List views always access the Microsoft SQL Server database. This results in slower query performance and larger load on SQL Server resources than other methods. List views also render the most HTML, which results in slower page load times than other methods. List views do provide the best experience for users to configure views, dynamically filter data, and perform actions on documents, such as manage versions and edit properties. You can use metadata navigation to filter list view results. You should use list views when you must have rich column data and access to list item actions. In high read and query scenarios, you should consider using other query methods.

Content Query Web Part

The Content Query Web Part displays a statically configured view of data that is cached by using the Portal Site Map Provider for better performance. The Content Query Web Part renders the least HTML and is cached. The result is faster page load times and it makes it easier to have multiple queries on one page. The Content Query Web Part should be used to show links to related list items, documents, or pages. Although the Content Query Web Part can also be configured not to be cached, you should use this configuration only on pages for which throughput requirements are low or on pages for which the cache is not useful, such as where queries will change based on the user who accesses the page.

Search

Search Web Parts can be used to offload queries to a system that is optimized for finding content (versus editing properties and seeing the updates in real time). Search Web Parts can be configured to use static or user-specified queries. Search Web Parts have good performance. However, the data is only as current as the most recent crawl. This means results are older than results from list views and Content Query Web Parts.

Example large list scenarios

There are some common large list scenarios, and depending on the scenario, you will make different design decisions. For example, in a collaborative large list scenario, users are frequently adding content and updating properties. In this kind of scenario, you would not want the list size to grow into millions of items because it will be difficult to filter content and because content is frequently updated and changing. If you are working with unstructured document libraries, this article can help you understand the throttles and limits that protect SQL Server performance. The following table shows considerations for large list scenarios.

Scenario | List size | Management | Ratio of read/update/add | New content | Users
Unstructured document library | Hundreds | No manager | High reads, balanced adds and updates | Manual upload | Tens
Collaborative large list or library | Thousands | Informal subject owners | High reads, more updates than adds | Manual upload | Hundreds
Structured large repository | Tens of thousands | Dedicated content steward | Very high reads, fewer adds, and significantly fewer updates | Submission and upload | Tens of thousands
Large-scale archive | Millions | Team of content stewards | Low reads and updates, high adds | Submission | Tens of thousands

Unstructured document library

The unstructured document library is often used for a team or a workgroup and typically has tens to hundreds of documents. These libraries can grow to be greater than the list view threshold without any planning, which can affect operations, such as adding columns. One potential problem is that users might get list view threshold exceptions if views grow to be greater than 5,000 items. This can be reduced by monitoring libraries that are approaching the list view threshold. (A meter is displayed on the library settings page of a document library to indicate that the document library is approaching the list view threshold.)

This scenario typically has tens or even hundreds of users, but few concurrent users. Therefore, load inside a single library is rarely an issue. However, there can be many of these kinds of libraries. Rather than planning to support specific instances, it is more important to focus on supporting the scale of these libraries.

Collaborative large list or library

The collaborative large list ranges from hundreds to thousands of items and is used as storage for a large amount of active content. Collaborative large lists generally include knowledge management solutions, engineering libraries, and sales and marketing collateral repositories. Users actively add and edit content (a large number of read operations and write operations). You can put structure and management in place to keep the library organized. However, because a great deal of work is performed by users, events might occur that are beyond the control of administrators. This can make it easy for the list to grow faster than expected or past the limits it was planned for. This kind of repository can have hundreds or thousands of users with tens or even hundreds of concurrent users.

Compared to a structured repository or archive, a collaborative large list is more prone to administrative changes such as adding and deleting folders, adding content types and columns, or reorganizing content. These actions can be prevented by the list view threshold due to the size of the list.

Structured large repository

The structured large repository ranges from thousands to hundreds of thousands of items. The content is usually final and is submitted by users or system processes, such as workflows. Structured large repositories are typically used for departmental records archives, high value document storage, and final documents that are displayed on Web pages. The content is generally structured and highly managed so that it is easier to control the growth of the list. This scenario can have tens or hundreds of concurrent users and a user base of thousands. The percentage of reads is much larger than writes. However, there still might be updates to content, and content might frequently be added and deleted. A knowledge management repository for a division or organization is an example of a structured large repository.

In this scenario, it is important to thoroughly understand user needs and to perform comprehensive testing before the solution goes live. Therefore, the solution is fairly complete and final before it is filled with a large amount of content. For example, configuration of appropriate metadata navigation hierarchies and filters might be necessary to provide an appropriate content browse experience.

Large-scale archive

A large-scale archive ranges from thousands to millions of items, either in a single list or spread across multiple lists, or at the highest end, multiple site collections. This scenario typically has a low amount of reads and updates and is generally used only as long-term storage for documents that must be retained for compliance or other reasons (for example, documents that must be retained for seven years to meet legal requirements). High throughput of the submission and deletion of documents is important in this scenario. Search is the main method for retrieving content.

Large lists and SharePoint Server 2010

The features that helped with large lists in Office SharePoint Server 2007 still help with SharePoint Server 2010, and many of them are improved to provide better performance at large scale. SharePoint Server 2010 also has many new features that help improve the performance of large lists and that enable users to use large lists effectively. This section summarizes new and improved features in SharePoint Server 2010.

Improved features

The following sections discuss the features from Microsoft Office SharePoint Server 2007 that are improved in SharePoint Server 2010.

Content Query Web Parts

You can configure the Content Query Web Part to display results by filtering on lists, content types, and columns. You can sort results and select columns to be displayed. Doing this makes the Content Query Web Part ideal for displaying large list content on Web pages. Content Query Web Parts are generally cached. This allows for faster page loads and less database load. One usage of Content Query Web Parts in knowledge management scenarios is to use them on publishing pages to display links to documents related to the content of the Web page.

SharePoint Server 2010 provides performance improvements in the following key scenarios:

  • Optimizing single list queries to take advantage of indices more effectively

  • Improving invalidation and refresh algorithms and default settings to improve the cache utilization when users perform write operations

Search

SharePoint Server 2010 brings new search capabilities that include a search term refinement panel and improved scalability that has support for sub-second query latency with 100 million documents. There is also Microsoft FAST Search Server 2010 for SharePoint, which can be used to reach larger scale points than SharePoint Server 2010 Search.

Some of the new search improvements that help with finding content in large lists include support for Boolean operators in free text queries; improved operator support such as equal to, less than, and greater than; range refinements; and prefix matching on keywords and properties. For example, the query "share*" finds results that include "SharePoint." Search also has query suggestions that make recommendations based on what the user is typing for a query. The search user interface is also improved with panels for related searches, best bets, related people, and keyword refinements.

SharePoint Server 2010 Search also improves capabilities around scale. SharePoint Server 2010 Search supports scaling out of index, crawl, and query servers. Other improvements include fresher indexes, better resiliency, and higher availability. FAST Search Server 2010 for SharePoint includes all of the SharePoint Server 2010 Search capabilities and adds scale for extreme demands, entity extraction, tunable relevance ranking, visual best bets, thumbnails, and previews.

Document Center and Records Center site templates

The Document Center and Records Center are SharePoint Server 2010 site templates that you can use to create structured repositories. The Document Center site template includes features such as preconfigured Content Query Web Parts for returning relevant results by logged-in users and a document library with metadata navigation configured.

The Records Center site template resembles the Document Center site template, but it has the content organizer feature enabled for routing documents and has a record library in which items that are added to it are automatically declared records and cannot be deleted. The Records Center site template is the only out-of-box site template that does not have the document parser enabled, which preserves the fidelity of submitted content. Disabling the document parser affects the performance of certain operations, which makes it more suitable for large-scale document storage (tens of millions of items) than other site templates.

New features

This section describes new features in SharePoint Server 2010 that help with managing large lists and list performance.

Content organizer

The content organizer can be used on any site to route content to particular document libraries, folders, or even other sites. The content organizer can be used to automatically create folders for content based on metadata properties. Users can submit content to the content organizer from other sites and not worry about where it is stored within the file plan. The content organizer can be used to balance content into different folders to automatically maintain a maximum size for each folder. When the specified size limit is reached a new subfolder is created to contain additional items.

Metadata navigation

Metadata navigation is a new SharePoint Server 2010 feature that enables users to dynamically filter lists so they can find what they need. Metadata navigation enables users to select filter options, and it handles performing the query in the most efficient manner possible. Metadata navigation consists of two parts. One part is a set of navigation controls that let a user filter a list that has navigation hierarchies and key filters. The second part is a mechanism for rearranging and retrying queries.

Metadata navigation has retry and fallback logic that attempts to perform queries efficiently by using indexes. If a query will return too many results, the query falls back and returns a subset of the results for better performance. If no appropriate query can be made, fallback occurs and the filters are performed on a limited set of results. Metadata navigation automatically creates indexes. Together retry, fallback, and index management make metadata navigation a very important part of working effectively with large lists. There are two kinds of filtering mechanisms: navigation hierarchies and key filters.

Navigation hierarchies use a tree control to navigate hierarchies of folders, content types, choice fields, or managed metadata term sets. This enables users to use a tree control to pivot on a metadata hierarchy, much as how they navigate folders. When users select an item in a hierarchy for a managed metadata column, all items that match the specified term or any of its descendant child terms are displayed. This is called descendant inclusion, and it can be used on fields that are tied to a managed metadata term set. Users can select the item again to filter on only that particular term and not include the descendant child terms. All metadata navigation queries are recursive and display results from all the folders in the list.

Key filters can be configured to perform additional filtering of results within the hierarchy. For example, you can add the Modified By column as a key filter and then type a user name to obtain results where Modified By matches the entered user. For more information, see Metadata navigation and filtering (http://go.microsoft.com/fwlink/p/?LinkId=219154). The following figure shows an example of metadata navigation hierarchies and key filters.

Screenshot of key filters list

Managed metadata

Managed metadata is a new set of features that add more information architecture capabilities to SharePoint Server. The managed metadata features include a shared service called the managed metadata service. The managed metadata service can be used to store term sets that can be reused throughout a SharePoint Server 2010 deployment. Some of the managed metadata features include the following:

  • Term sets that support flat or deep hierarchies

  • Managed metadata column type that uses term sets as available properties

  • Term sets that can be open so anyone can add new terms, or restricted so only specific users can manage the term set

By using managed metadata columns and term sets to organize content, you can make use of features such as the Content Query Web Part and metadata navigation to help users find and discover content. Managed metadata also helps with regular search queries because it adds keywords that can be used to classify documents. Managed metadata can be used in the search refinement panel. The following figure shows an example of managed metadata navigation.

Screenshot of terms

Throttling and limits

SharePoint Server 2010 introduces several configurable limits to help maintain farm performance. At the Web application level there are now configurable throttles and limits. These have been added so that operations from individual users or processes do not adversely affect farm performance. For example, the list view threshold is a limit that prevents queries that affect more than a certain number of list items.

Compound indexes

Indexes are important for large lists. In SharePoint Server 2010, you can now create compound indexes. Compound indexes are useful when queries are commonly performed on two columns because a query on just one column might not be selective enough. Compound indexes are not utilized by views. However, they are utilized by metadata navigation. When a throttling condition occurs, the metadata navigation logic can try again and use applicable compound indexes and single indexes for the chosen filter conditions to find complete or partial results that satisfy the query.

Developer dashboard

The developer dashboard displays detailed diagnostic information for each page load. By default the dashboard is off. However, you can manually turn it on or configure the dashboard to stay on all the time. When the developer dashboard is turned on, you can use it to get information about database queries, load times, and errors. The developer dashboard makes it easier to analyze and diagnose performance issues quickly. The following figure shows the developer dashboard. The metadata navigation feature is visible in the developer dashboard in the case of large lists and throttling conditions where the list of indexes that is used for retry and partial results appears in the operation tree on the left and the different indexed SQL Server queries that are attempted appear in the list on the right.

Screenshot of Developer Dashboard

The developer dashboard is also useful for debugging custom Web Parts and queries. For more information about how to enable the developer dashboard, see Blog: Enable the Developer Dashboard using the Object Model / Powershell (http://go.microsoft.com/fwlink/p/?LinkId=219613).

Content iterator

The content iterator developer API simplifies writing code against large lists and is especially important with the new list view threshold limit. The content iterator is a method for retrieving content to perform operations on it in small sets rather than performing operations on the entire set of data. This prevents operations from exceeding the list view threshold.

Remote BLOB storage

By default, SharePoint Server 2010 stores file (Binary Large Object (BLOB)) data in SQL Server databases. A large amount of a content database is commonly BLOB data. Remote BLOB Storage (RBS) allows this data to be stored outside of SQL Server, which makes it possible to have less expensive storage options and reduce content database size. Remote BLOB Storage is a library API set that is incorporated as an add-on feature pack for SQL Server 2008. A third-party remote BLOB storage provider is required to make use of the Remote BLOB Storage API.

Performance measurements and testing methodology

This section includes an explanation of the testing methodology that was used for tests that are discussed in this article. Deviations from this methodology are noted where data is presented.

Hardware and farm configuration

The test farm configuration is specified in the following figures and table. Two aspects of the test configuration were significantly different from most real-world deployments. Specifically:

  • NTLM authentication was used to avoid having the domain controller become the bottleneck. This resulted in a small performance improvement.

  • The application server contained a SQL Server instance that was used for the logging database. This was done to reduce load on the main SQL Server instance because the logging level was much higher than in real-world deployments.

Topology diagram for this test farm

Computer name | Two Web servers | One application server | One database server
Role | Front end Web server | Application server | SQL Server instance
Processor(s) | 2px4c@2.33 GHz | 2px4c@2.33 GHz | 4px2c@3.19 GHz
RAM | 8 GB | 8 GB | 32 GB
Operating system | Windows Server 2008 R2 x64 | Windows Server 2008 R2 x64 | Windows Server 2008 R2 x64
Storage and its geometry (including SQL Server disks configuration) | 50 + 18 + 205 GB | 50 + 18 + 300 GB | Disk array - 15 disks of 450 GB @ 15 K RPM
Number of NICs | 2 | 2 | 2
NIC speed | 1 gigabit | 1 gigabit | 1 gigabit
Authentication | NTLM | NTLM | NTLM
Software version | SharePoint Server 2010 (Pre Release) | SharePoint Server 2010 (Pre Release), SQL Server 2008 CTP 3 | SQL Server 2008 CTP 3
Number of SQL Server instances | N/A | 1 | 1
Load balancer type | Hardware | N/A | N/A
Output cache settings |  |  |
Object cache settings |  |  |
BLOB cache settings |  |  |
ULS logging level | Medium | Medium | Medium
Usage database location |  | X |
Usage database settings (what is being logged) |  |  |
IRM settings | None | None | None
Anti-virus setting | None | None | None

Database type | Number of databases | RAID configuration
Temp DB | 1 | 0
Config DB | 1 | 0
Content DB #1 | 1 | 0
Profile DB | 1 | 0
Search DB | 1 | 0
Taxonomy DB | 1 | 0

Test load

Tests were conducted at an optimal load point, or green zone, with a general mix of operations. To measure particular changes, tests were conducted at each point that a variable was altered. To find the optimal load point, additional threads were added to saturate the environment while remaining under the following metrics:

  • 75th percentile latency is less than 1 second

  • Front-end Web server CPU is less than 50 percent

  • SQL Server CPU is less than 50 percent

  • Application server CPU is less than 50 percent

  • Failure rate is less than 0.01 percent

Test definitions

The following table defines the test and provides an overview of the process that was used for each test.

Test name | Test description
Document Upload | Upload a document. Edit and update the properties of the document.
Document Upload and Route | Upload a document. Edit and update the properties of the document. Route the document matching a routing rule.
Document Download | Download a document.
Access Document Library | Access a document library list view page.
Access Home Page with Content Query Web Parts | Access a Document Center site home page that has three Content Query Web Parts. Cached Content Query Web Part returns 15 highest rated documents. Cached Content Query Web Part returns the 15 newest documents. Non-cached Content Query Web Part returns the 15 most recent items that were modified by the current user.
Managed Metadata Fallback Query | A list view query that returns more than 5,000 results, filtering on a single value managed metadata column.
Managed Metadata Selective Query | A list view query that returns 1,000 results, filtering on a single value managed metadata column.
Content Type Fallback Query | A list view query that returns more than 5,000 results, filtering by content type.
Content Type Selective Query | A list view query that returns 1,000 results, filtering by content type.

Test mix

The makeup of each test mix varied. Tests were conducted by using a Visual Studio Test System. Specific data points for each test were populated, and then the test mix was run for 2 minutes of warm up and 10 minutes of data collection. The results that are presented in this article are averaged over those 10 minutes. The following table shows the percent of each solution in one test mix.

Solution name | Percent in the mix
Document Upload (including editing document properties) | 20
Document Download | 20
Access Document Library | 20
Access Home Page with Content Query Web Parts | 10
Managed Metadata Fallback Query (more than 5,000 results) | 5
Managed Metadata Selective Query (100 results) | 10
Content Type Fallback Query (more than 5,000 results) | 5
Content Type Selective Query (100 results) | 10

Throttling and limits

Limits prevent operations that adversely affect farm performance. These defaults have been tested and carefully chosen. For some limits, such as the list view threshold, we strongly recommend not changing the value. Carefully consider the effect of changing these limits. If these limits prevent an operation from being performed, first consider changing the operation to run in a more efficiently indexed way rather than changing the limit to accommodate poorly performing operations. Most of the throttles and limits that are covered in this section can be configured in Central Administration by going to Manage Web Applications, and selecting General Settings - Resource Throttling from the ribbon for a particular Web application.

List view threshold

SharePoint Server 2010 supports document libraries and lists that have tens of millions of items. You can create very large document libraries by using folders, standard views, site hierarchies, and metadata navigation. To retrieve data from large lists by using list views or Collaborative Application Markup Language (CAML) queries, the data must be partitioned by using folders or indexes or both. Otherwise, search is the only mechanism that can be used to access the data efficiently. The number of items that a single document library can support can vary depending on how documents and folders are organized, the size and kind of documents stored, the usage of the document library, and the number of columns in the document library.

Tip:

With the introduction of the list view threshold, you might wonder how this relates to the recommendation of 2,000 items per folder with Office SharePoint Server 2007. It might seem that rather than 2,000, the new limit is 5,000. If users primarily browse content by using folders, then this is the same concept. However, with the introduction of metadata navigation retry and fallback, large queries will return a subset of results for better performance. This means that you can have thousands of items in folders and performance will be protected if queries return too many results.

By default, the list view threshold prevents operations that will involve more than 5,000 items, such as queries that will return more than 5,000 items or adding a column to a list that contains more than 5,000 items. Although this is a configurable default, we strongly recommend that you keep it. If poorly performing queries are used on lists with more than 5,000 items, overall throughput can significantly decrease when you increase this limit.

Some operations, such as non-indexed queries or adding a column to a list, take time and resources that are proportional to the number of items in the list. On a small list this does not matter because there are so few items that the operation is fast. As the list size increases, these operations take longer and use more resources. Rather than let these operations run unbounded, the list view threshold blocks them. You can think of the list view threshold as a guard rail along a highway letting you know that you should change the query and how data is accessed, or you should perform the operation when farm usage is low.

The list view threshold is the maximum number of list or library items that a database operation, such as a query, can involve at one time. By default, this is set to 5,000 items. This limit has a major effect on large lists because, by the definition of this threshold, a large list is a list that has more items than this limit. Operations that exceed this limit are throttled. Operations, such as creating an index on a list that is over this limit, are prevented because the operation affects more than 5,000 items. This limit prevents the queries that have a selectivity (items that can be efficiently filtered by using filter criteria) of more than 5,000 items. This limit also prevents queries that filter on columns that are not indexed. This is because a query that filters (and in some cases sorts) on a column that is not indexed must perform the filter on all items in the list to retrieve the correct dataset, and it will operate on more items than the list view threshold. The default value for this limit is based on farm and list performance and on how SQL Server manages locks. We recommend that this limit not be changed.

To minimize database contention, SQL Server uses row-level locking as a strategy to ensure accurate updates without adversely affecting users who are accessing other rows. However, if a read or write database operation, such as a query, causes more than 5,000 rows to be locked at the same time, then it is more efficient for SQL Server to escalate the lock to the entire table until the database operation is completed. When this lock escalation occurs, it prevents other users from accessing the table. For more information about locks, see Lock Escalation (Database Engine) (http://go.microsoft.com/fwlink/p/?LinkId=219156).

The following graph shows the throughput of a mix of queries against a large list as the list view threshold is adjusted. This mix of queries contains queries that return all items in the list so, as the list view threshold is raised, more items are returned. Even changing the limit from the default of 5,000 to 10,000 has a significant effect on performance. Rather than raising or lowering the list view threshold to improve performance, we recommend that you do not change the default list view threshold and focus instead on making sure queries perform well.

Chart showing list view threshold throughput

List view threshold exceptions occur because operations perform poorly. The operations should be reconfigured. Rather than raising the limit, you should consider why inefficient operations are being performed and then fix them. In a worst-case scenario, you can temporarily change the EnableThrottling setting to false for a particular list to ignore the list view threshold. This can only be done at the list level and not for a site. This should be done to allow list access only until changes can be made to fix poorly performing operations that are blocked by the list view threshold. The EnableThrottling setting should be changed back to true as soon as possible.

Important:

List view threshold exceptions can be common, especially immediately after upgrade. It might seem simpler to resolve these issues by changing the list view threshold. We strongly recommend that you do not change the list view threshold.

Farm administrators and local computer administrators on the front-end Web server, where a query originates, are not blocked by the list view threshold. These users should be careful browsing to large lists that are not configured correctly, and they must also be careful when they perform testing. It might look like things are working as expected, but the data that gets returned to users can differ greatly. For a list of operations that are prevented by the list view threshold, see Operations blocked by the list view threshold later in this article.

Likewise, timer services can be run by using an account that is not protected by the list view threshold. Although this enables certain scenarios, such as deferred creation of an index on a large list, generally you should be especially careful to ensure that your code avoids performing large list operations.

List view threshold

Default: 5,000

Existed in 2007: No

Configurable: Yes

Configuration location: Central Administration, per Web application

List view threshold for auditors and administrators

Default: 20,000

Existed in 2007: No

Configurable: Yes

Configuration location: Central Administration, per Web application

The list view threshold for auditors and administrators is the list view threshold that is used for certain service accounts, such as the search query account or the object cache super-reader and super-writer accounts. For example, the Content Query Web Part automatically uses this limit to cache the results of a large query, thereby saving server resources. You can use custom code to request the use of this higher limit if running as an account that is super-reader or super-writer per Web application security policy.

Allow object model override

Default: Yes

Existed in 2007: No

Configurable: Yes

Configuration location: Central Administration, per Web application

Allowing the object model override specifies whether service accounts can use the list view threshold for auditors and administrators. A farm administrator must enable the object model override and programmatically specify that a list is an exception. Then, programmers with appropriate permission can programmatically request that their query or list use the higher list view threshold size for auditors and administrators to take advantage of it. By changing the value to no, custom code that is run by auditors or administrators, even if it requests an override, will be subject to the list view threshold rather than the higher limit for auditors and administrators. We recommend leaving this setting with the default value and configuring only the list view threshold for auditors and administrators if it is necessary.

Daily time window

Default: Off

Existed in 2007: No

Configurable: Yes

Configuration location: Central Administration, per Web application

A daily time window can be set so that operations can be performed without being subject to the list view threshold. The time can be adjusted in 15-minute increments, up to 24 hours. A database operation or query started within the daily time window continues until completion even if it does not finish within the specified time window. By default, the daily time window is not configured, because the off-peak hours vary widely between deployments. Therefore, this is left to the administrator to decide. We recommend that a daily time window be specified only if there is a reasonable off-hours time frame where few people are using the Web application. This lets users perform administrative operations for large lists, such as creating an index, during time frames when farm usage is much lower.

Unique permissions

As the number of unique permissions in a list increases, performance decreases. You should reconsider any design in which all or most content in a large list must be uniquely secured. The throughput difference for operations on a list between 0 and 1,000 unique permissions is around 20 percent. There is a configurable default of 50,000 unique permissions per list. However, we recommend that you consider lowering this limit to 5,000 unique permissions and for large lists consider using a design that uses as few unique permissions as possible. This will help not only performance, but also manageability.

We recommend the following:

  • Minimize the use of unique permissions on individual items, and simplify list designs that require most items to have unique permissions.

  • If unique permissions are needed, try to set them only at the list or folder level and minimize the number of individual items that need unique permissions.

  • Reconsider your design if each item requires individual permissions. Investigate dividing items between multiple lists, or organize items into folders and groups so proper access can be granted without putting unique permissions on every item.

Setting fine-grained permissions can affect performance, and it is also difficult to manage if it is set differently on many individual items. Setting fine-grained permissions on a list or folder that exceeds the list view threshold will be blocked because too many individual items must be updated. However, setting fine-grained permissions also affects performance in other ways. Therefore, there is a configurable limit that, by default, is 50,000 unique permissions per list. If you try to declare unique permissions after this limit has been reached, you will be blocked from doing so. Unlike the list view threshold, this limit applies when you create unique permissions on an item, rather than at query time.

Whenever permission inheritance is broken for an item, such as a folder, it is counted as a unique permission toward this limit. Each time permissions inheritance is broken, a new scope ID is created. Each time that you query on a view, you join against the scopes table. Then, when a query is performed, each unique access control list (ACL) must be parsed and processed. A large number of unique permissions in a list will adversely affect performance and is not recommended. As the number of unique permissions in a list grows, query performance will degrade. Even though the default limit is 50,000 unique permissions, you might want to consider lowering this limit to 5,000 unique permissions.

Unique permissions

Default: 50,000

Existed in 2007: No

Configurable: Yes

Configuration location: Central Administration, per Web application

Row wrapping

When columns are added to a list, they are mapped to columns in a SQL Server database table. Each row in the database table supports a fixed number of each of the several different column types. For example, a single database table row supports eight date and time columns and twelve number columns. If there are more than eight date and time columns, then each list item will use two database table rows.

For small lists, the performance effect of this row wrapping is negligible. However, for a large list this can have a major effect. You can go up to the limit for any number of columns before row wrapping occurs, but only one column type has to go over the limit for row wrapping to occur.

The following table shows the number of columns for specific data types before row wrapping occurs.

Column type | Number of columns per table row
Single line of text Or Choice and multiple lines of text | 64 32
Date and time | 8
Yes or no | 16
Number and currency | 12
Calculated | 8
Integer, single-value lookup, people and group, managed metadata | 16
Unique identifier | 1

Row wrapping causes a decrease in throughput of approximately 35 percent per additional row for most operations. To check how many rows a list is using, you must analyze the list schema and examine the column types for the fields on the list.

The following graph shows the performance of read-only queries as the number of SQL Server database rows that are used for a list increases to accommodate more managed metadata columns. To get to the second row, 15 managed metadata columns were added to the list, and to get to the third row, 31 managed metadata columns were added to this list. Testing was conducted by using only queries that filtered on items in the list. For each additional row throughput decreases 35 percent.

Chart showing row wrapping throughput

Row size limit

Default: 6

Existed in 2007: No

Configurable: Yes

Configuration location: Object model only, SPWebApplication.MaxListItemRowStorage

The row size limit specifies the maximum number of table rows that are internal to the database that is used for each item in a list. To accommodate wide lists that have many columns, each item is wrapped over several internal table rows, up to six rows. For example, if you have a list that has many small columns, one that contains hundreds of Yes/No columns, then you could reach this limit. In this case, you would be unable to add more Yes/No columns to the list. However, you might be able to add columns of other types. Because each additional row adds overhead, for a large list you should minimize the number of columns of the same types to avoid row wrapping.

Lookup columns and list views

Each lookup column in a list view causes a join with another table. Each additional lookup column in a view increases the complexity of metadata navigation and list view queries. In addition to standard lookup columns, single-value managed metadata, multiple-value managed metadata, single-value people and group columns, and multiple-value people and group columns count as lookup columns. Adding lookup columns to a view does not cause a gradual or linear decrease in performance, rather performance is somewhat stable until after eight columns when it rapidly degrades.

The following graph shows the change in throughput as the number of lookup columns in a view increases. As you can see, the change in performance from zero to eight is rather stable, but at 10 lookup columns throughput greatly decreases. This test was performed with the list by using only one row. If a list is row wrapping, then performance degrades faster.

Chart showing lookup columns in a view throughput

The following graph shows SQL Server CPU utilization as the number of lookup columns in a view increases. As you can see, there is a significant change at 10 lookup columns. For a list that has a large number of queries, having views that contain more than eight lookup columns causes the queries to use a disproportionately large amount of SQL Server resources. We recommend that you do not change this limit to be more than eight.

Chart showing SQL CPU utilization - lookup columns

Although this decrease in performance is not for the total number of lookup columns on a list, only for the number of lookup columns in a view or query, SharePoint Workspace cannot synchronize any list that has more than eight lookup columns. This is regardless of whether the columns are used in a view or not.

List view lookup threshold

Default: 8 | Existed in 2007: No | Configurable: Yes
Configuration location: Central Administration, per Web application |  |

Other limits

This section describes limits that are not covered elsewhere in this article.

Indexes per list

Default: 20

Existed in 2007: Yes, limit was 10

Configurable: No

The preceding table shows the limit of indexes that can be created per list, including compound indexes and indexes that are created by SharePoint Server 2010. This limit is not configurable.

Datasheet view and export to Excel

Default: 50,000

Existed in 2007: No

Configurable: No

The preceding table shows the maximum number of items that can be used with export to Microsoft Excel and the datasheet view. However, the datasheet view will be blocked by the list view threshold. Therefore, if your list view threshold is 5,000 items and you have between 5,000 and 50,000 items in a list view, when you attempt to use the datasheet view you will get a list view exception message even though the datasheet view limit is higher.

SharePoint Workspace

Default: 30,000 items per list

Existed in 2007: No

Configurable: No

Microsoft SharePoint Workspace has a non-configurable limit that blocks synchronizing a list that has more than 30,000 items per list. If a list contains 30,000 items, users cannot synchronize the list by using SharePoint Workspace and items cannot be selectively synchronized.

Differences between large lists and regular lists

When a list exceeds the list view threshold, some operations that might have worked previously are blocked. The biggest concern is the default list view because this is what users most frequently use to access a list. List views must be configured to work correctly for a large list. For example, an error occurs when you access a list if the root of the list contains more items than the list view threshold. If the metadata navigation feature is enabled, a subset of the results is displayed rather than an error.

The list view threshold blocks any database operation that affects more items than the list view threshold; the threshold does not only block the number of items returned or modified. For example, if you have a filter on an non-indexed column that returns 100 results, and the list contains 10,000 items, then the query fails because it must perform a scan of all 10,000 items. If you add an index to that column, the operation is limited to only 100 items and it succeeds.

Operations on large lists can be classified into the following two groups:

  • List exceeds the list view threshold Some operations are prevented when the size of the entire list exceeds the list view threshold, even if items are divided into folders. These operations include recursive queries, such as manage checked out versions, which operate on all items regardless of what folder they are in. Views that return all items without folders are also prevented. In addition, operations that affect the entire list, such as adding a column and creating or deleting indexes, are blocked.

  • Container exceeds the list view threshold Some operations are prevented because a folder or the root of the list contains more items than the list view threshold. For example, if a list contains 10,000 items and a folder contains 3,000 items, you can rename or delete the folder. However, if the folder contains 6,000 items (exceeding the list view threshold) you cannot delete the folder because the operation exceeds the list view threshold.

When a list exceeds the list view threshold, you must plan to correctly configure views and other navigation options. Ideally, you should configure views and other navigation options in advance, but often lists can grow past the list view threshold and require action. Some operations, such as creating a column or indexing a column in a list that has many items, will take a long time. These operations are prevented by the list view threshold. However, they can be performed during the daily time window or by farm or computer administrators. You should plan for these operations before you perform them. If the list is already too large, plan to use a daily time window or administrative credentials to perform these operations.

Tip:

The list view threshold prevents some list administrative actions that are common when a list is being set up. If possible, you should configure all content types, columns, and indexes for a list before the size is greater than the list view threshold.

A list can become so large that some operations might time out when they are run by using a Web browser. For example, if a list contains millions of documents, it might take too long to add a new column. To accomplish this, you would need to use Windows PowerShell and make sure that you do this during off-peak hours because it will block operations for other users.

Operations blocked by the list view threshold

The following tables list operations that are blocked by the list view threshold.

Blocked operations when list exceeds the list view threshold

Operation | Description
Add/remove/update a list column | All columns, including lookup and calculated columns, in addition to many kinds of updates, such as a type change or a uniqueness change. Some updates, such as a name change, are not blocked because they do not affect every item in the list.
Add/remove/Update a list content type | Affects every item in the list so it is blocked for any list that has more items than the list view threshold.
Create/remove an index | Affects every item in the list so it is blocked for any list that has more items than the list view threshold.
Manage files which have no checked-in version | A non-indexed recursive query that fails for any list that has more items than the list view threshold.
Non-indexed recursive queries | Includes filters and some sorts. This operation fails when the list size is greater than the list view threshold. Because there is no index, it does a full scan against the entire list. Also, it returns all items, and it ignores folders.
Cross list query | Includes queries by the Content Query Web Part and follows the list view threshold setting for auditors and administrators, which by default is 20,000 items. If the operation involves more than 20,000 items, the query fails.
Lookup columns that enforce relationship behavior | You cannot create lookup columns that enforce relationship behavior when the list that is referenced contains more items than the list view threshold.
Deleting a list | Affects every item in the list so it is blocked for any list that has more items than the list view threshold.
Deleting a site | If the sum of all items in a site is greater than the list view threshold, deleting the site is prevented because it affects too many items.
Save list as template with data | Affects every item in the list so it is blocked for any list that has more items than the list view threshold.
Showing totals in list views | Performs a query against every item in the list so it is blocked for any list that has more items than the list view threshold.
Enable/disable attachments in a list | Affects every item in the list so it is blocked for any list that has more items than the list view threshold.

Blocked operations when container exceeds the list view threshold

Operation | Description
Delete/copy/rename a folder | Fails when the folder contains more items than the list view threshold because it affects too many rows.
Queries that filter on non-indexed columns | Fails when the container (folder or list) contains more items than the list view threshold. The operation performs a full scan against the entire folder because there is no index.
Set fine-grained security permissions | Fails when the list or folder on which you are trying to set fine-grained permissions contains more items than the list view threshold because it affects too many rows. You can still set fine-grained permissions on child items, such as documents, in a large list, although you cannot set the permissions on the list itself or on folders that contain more items than the list view threshold.
Open with Explorer | Does not show any items if a container has more items than the list view threshold (excluding items in subfolders). If a folder has 8,000 items, but it has a subfolder that contains 4,000 items and only 4,000 items in the root, then Open with Explorer will work. If the root of a list contains more items than the list view threshold, then Open with Explorer will not show anything. To use Open with Explorer, the list must have items organized into folders in amounts less than the list view threshold in the root of any container.

Available features that might not work as expected

This section contains information about features that might not work as expected with regard to large lists.

Datasheet view

The datasheet view button that is available in the library ribbon tab of a document library is not disabled if the list grows above the list view threshold. However, if the list size exceeds the list view threshold, the view loads some items, but it displays a message that states, "You do not have permission to view the entire list because it is larger than the list view threshold enforced by the administrator." You can disable the datasheet view option from the ribbon in the settings for the list. There is also a hard limit of 50,000 items, so this view is blocked even if the list view threshold is above 50,000 items.

Planning for large list design and implementation

Before you implement a large list, consider the business case and requirements. Requirements such as service level agreement (SLA), time for backup and restore, size of content, amount of content (number of items), and access times are all important to consider. Depending on the size and demand of the application, you must make important choices at multiple levels, including hardware, content storage, and SharePoint Server 2010 information architecture. A large application that has millions of items and hundreds of concurrent users might require stand-alone hardware for the specific project, although a document repository with tens of concurrent users and tens of thousands of documents can work well with existing shared hardware and a single document library in an existing site.

The end result of planning should be a list of column types (names, data type, and usage), indexes, folder structure, usage of pages and links for navigation, planned structure of permissions, estimated number of items, and total data size. Details should also include information about the kinds of queries that will be performed and how data from the list will be accessed, created, and updated.

After you plan the design and implementation for a large list, the next step is to design and build a prototype. This stage of planning is about designing the large list, implementing a proof of concept, and validating that it will work. At this stage, it might be useful to populate a test environment with a large amount of content to validate assumptions about data access and performance. The end result of the design process should be a proof of concept of the intended list, documentation of the columns, content types, folder structure, views, indexes, columns used for metadata navigation or other retrieval methods, any taxonomies used, usage of various Web Parts, and usage of any other features such as the content organizer.

Estimating content size

For large lists, it is important to estimate various numbers to make capacity planning and design decisions. There are a few important numbers that you should plan for, which include the following:

  • Total content database size

  • Average and maximum file sizes

  • Number of versions

  • Amount of content - total number of items in a list

Content database size

The total content database size is important to plan for the needed disk space and hardware in addition to figuring out what is supportable for backup, restore, and a service level agreement. The overall content database size is the most important for figuring out the amount of downtime that is necessary for backup and restore.

The size of the content database can be estimated by calculating the average document size multiplied by the average number of versions per document multiplied by the expected number of documents. Add an additional 20 percent for content database data in addition to files. This number is high because versions generally increase in size over time so the average file size of checked-in documents is generally a higher number than the average file size of all versions. You should add a significant buffer in case the list grows larger than you anticipated, unless you have mechanisms to effectively control the amount of content.

Average and maximum file size

The maximum file size is needed to ensure that the correct Web application setting is specified for files that can be uploaded (by default 50 MB, the maximum can be 2 GB). The average file size is used to help understand the rate at which content can grow and to estimate the total content size. The average file size can be estimated by evaluating files in systems that currently fill the role of the intended system.

Tip:

You should plan that an additional 10 to 20 percent will be added to the content database for data in addition to files and that the search index will be approximately 75 percent of the content database size.

Average number of versions

You must consider versioning because it can greatly increase the size of content. There are methods with which you can limit versions. For example, you can use information management retention policies to delete all previous versions after a specific amount of time, or you can limit the number of versions to be saved. Other factors also affect versions, for example, if your repository has all content submitted to it by using a content organizer, there might be no versions at all because the content organizer copies only the latest checked-in version. If documents in your repository are actively edited by users, then you might have to consider coauthoring; each coauthoring session creates a version automatically. Consider the usage of the repository, and evaluate existing solutions to estimate the average number of versions that will be created for a document.

Amount of content

Amount of content is the total number of items in a single list. To estimate the amount of content, you should evaluate the existing sources of content and what will be moved to the new system, or examine how many users will use the system and what the purpose of the system is. There are some other related numbers, including items per container and items per metadata pivot or index filter. These numbers are also important when you plan views and metadata navigation.

Remote BLOB storage

Lists that have large storage requirements can trigger a fundamental decision for how to store the documents. By default, SharePoint Server 2010 stores all documents as BLOBs in the SQL Server database. SharePoint Server 2010 and SQL Server 2008 provide a Remote BLOB Storage API, which allows documents to be stored outside of the SQL Server database, which reduces database size. The decision of whether to use Remote BLOB Storage is largely decided by cost savings.

Current testing by Microsoft has shown that Remote BLOB Storage causes a 5- to 10-percent decrease in throughput, and for large files, no perceptible difference in latency. However, performance might differ depending on the specific Remote BLOB Storage provider that is used. By using Remote BLOB Storage, the content database size is reduced. However, this does not necessarily mean that you can store more items in a content database. Performance is affected by the amount of items in lists in the SQL Server database; even though the BLOBs are removed, the list size does not change. There are a few scenarios where the cost benefit can easily outweigh the performance concerns:

  • Archive, non-collaborative data

  • Storing very large BLOBs such as videos and images that are infrequently updated

Using Remote BLOB Storage can add more servers and technology to your farm and requires the addition of a Remote BLOB Storage provider. A Remote BLOB Storage provider can support storing BLOBs on less expensive storage outside of the SQL Server database. SQL Server Enterprise is required to use the Remote BLOB Storage API.

The crossover point where Remote BLOB Storage becomes cost effective might be in the range of terabytes of data. You do not need to use Remote BLOB Storage only because you have terabyte-sized content databases. You will need to carefully think through backup and restore and service-level agreements. Remote BLOB Storage makes disaster recovery more difficult by requiring two technologies be synchronized. The key concern is the time that is required to restore the system after a disaster and to handle the backup and recovery BLOBs. For more information, see Overview of RBS (SharePoint Server 2010).

List architecture

Selecting the appropriate architecture for a large list project is important because the decisions can be difficult to change after they have been implemented. Plan ahead and consider the size and amount of content, usage of the repository, how content will be added and updated, and how content will be accessed. All of these things can affect how content is organized (in one list, multiple lists, or even multiple site collections), what metadata is used, and how content is retrieved. All of these decisions are especially important for a large list because with a large amount of content it becomes much more difficult to redesign how a system is used.

Single list, multiple lists, or multiple site collections

When you design a large list solution, it is important to consider whether single list architecture is appropriate. The decision to place content in a single list should be based on business requirements, such as ease of use for working on and discovering content. In many instances, it might be more sensible to use multiple lists. Creating a successful implementation with great usability and user experience with the capabilities of SharePoint Server 2010 and available resources should be your top priority.

Use a single list to make it easy for users to find and work on content so they do not have to decide where to put their content or which list they must access to find what they are looking for. However, as the amount of content increases, it can also be more difficult to find content, especially by using methods such as filtering views or navigating folders. When a list starts to reach into the hundreds of thousands of items, using metadata navigation might become difficult. Queries might return hundreds or thousands of results because they are not specific enough.

For example, if there are 5,000 terms in the domain of an index and each term has an equal amount of items that match the filter, filtering on one term will result in 20 results with a list of 100,000 items and 200 results with a list of 1,000,000 items. If the list size is too large, many filters that users select will not return a reasonable result set for users to find what they are looking for. If a project has multiple kinds of distinctly separate content that users will commonly be able to differentiate between, then you should consider using multiple lists.

At very large scale points, such as a large-scale archive scenario, it might be worth considering a multi-site collection architecture. A new SharePoint Server 2010 feature allows site collections to be grouped together to load balance documents. The content organizer feature is used to route documents between multiple site collections. Search must be used to retrieve the documents. This is fine for long-term storage because it allows content to be balanced across multiple site collections and scales to support many more documents than a single list.

Summary of list recommendations

  • Use single lists for large numbers of items when:

    • It is not logical to place items in separate lists.

    • It will provide the best user experience.

  • Use multiple lists for large amounts of items when:

    • It is logical to group items into multiple lists.

    • It will provide the best user experience.

    • There will not be confusion among users about which list to use to add or find content.

  • Use a multiple site collection architecture when:

    • The repository requires more than the tens of millions of items supported in a single repository.

    • It is logical to group items into multiple site collections, for example to partition data by year.

Metadata

With SharePoint Server 2010, metadata and content types are useful for creating information architecture. New features, such as managed metadata, term sets, and metadata navigation, make metadata very useful and important for retrieving content. Because operations, such as modifying content types and columns, are blocked on large lists, it is especially important to plan ahead with requirements for metadata. If you plan to use metadata navigation or some other method of retrieving content by metadata, then it is important to plan content types and the columns they will have during the design phase.

In most large list scenarios, metadata is not only useful, it is also a requirement for users to use the system. There are three main ways that metadata can be applied: built in system processes, custom configurations and code, and manual application by users. To use columns to retrieve content, most items should have a value specified for the column. This makes it important to plan which columns will be used for navigation and how the metadata will be filled in. The only way to guarantee that the correct metadata is applied is to use built-in processes and customizations. For example, because every item has a content type, if content types are used to classify documents, then every item will have this metadata, which makes it easy to filter based on content type.

Content types

The most basic categorization of content should be with content types. If you have metadata to classify content, such as document or item type, you should consider using that classification for your content types. Content types allow you to define the columns that are associated with a type of content, in addition to being associated with workflows and the template. Only one template can be associated with a content type, and this is the template that you use when you create a new instance of the content type by using the New Document menu in a document library.

You can use templates for file formats in Microsoft Word, Microsoft PowerPoint, and Excel, in addition to other products. When users create new instances of the content type, the particular client application is used to begin authoring by using the template. When content is uploaded, users can select from the available content types. Content types should be distinct, specific, and have a small enough number of content types per list that users do not have difficulty selecting which content type to use.

Because content types control the metadata that users must fill in when they create or upload an item, consider the columns that are necessary to meet business requirements and also minimize the barrier for submitting content. Picking a good set of content types to classify content at the primary level automatically helps with navigation. Because every item has a content type, there is a pivot to filter with that will work for every item.

Summary of content type recommendations

  • Use content types as the most basic method for organizing content.

  • Use content types to select the specific columns that are necessary for that type of content.

  • Content types per list should be a small number (no more than 10) and should be distinct enough to be easy for users to understand which content type that they should use.

  • Content types provide a built-in column for which every item will have a value that can be used for filtering and metadata navigation.

Example of a collaborative large list and content types: product specifications library

A product specifications library is used by product development teams to store design specifications, testing plans, and other product development items. In this example, the following six content types are used. All the content types have columns for project start date, project end date, budget, members of the design team, product name, and product type.

  • Product specification - A Word file that contains the details of the design for a product. Additional metadata includes the designer and final review date.

  • Test specification - A Word file that contains the test plan for a product. Additional metadata includes the tester and test completion status.

  • Development plan - A Word file that contains the plan for developing the product.

  • Storyboard - A PowerPoint presentation that is used to present the mockups of the design.

  • Cost analysis - An Excel spreadsheet that analyzes the cost to develop the product and the potential market opportunities.

  • Timeline - An Excel spreadsheet that contains details about the schedule for developing the product.

In this example, users can filter based on content type to find a product specification or a product storyboard. The custom templates also help structure user's work. The number of columns and content types are a small enough amount that users can easily select the appropriate options for their work, but by filling in metadata it is easy to filter and find content.

Columns

Number of columns and required columns

You can use columns to specify the kind of metadata that an item has, and you can mark them as hidden, optional, or required. Use hidden columns for automated tasks, such as workflows, so users cannot edit them. Use required columns only when it is absolutely necessary. For example, a metadata property might be necessary to route an item to the appropriate location or for navigation. In these cases, you do not want users to leave the value empty. The fewer items that have metadata filled in for a column that is used as a navigation filter, the less useful the navigation is because many items will never be returned by a query.

As the number of metadata columns increases, it becomes less likely that users will fill in metadata because of the additional work to figure out which columns apply and then to specify a value. If you use a large number of required columns, user adoption might be difficult because it takes so much time to upload content. In a very open and collaborative scenario, this can be detrimental. But as the value of the content and effort to create that content increases, it becomes more likely that users will take the time to fill in the appropriate fields, especially when this operation is not frequent.

During the design phase, you should consider what metadata is necessary to perform required operations and to retrieve content, estimate how long it will take users to fill in that metadata, and estimate the effect on users. If users do not adopt the system because the overhead for creating content is so high, it might be difficult to restructure the system later.

Field types and single vs. multiple value fields

One consideration in the choice of columns is the column type and whether it should be multiple value. Queries on managed metadata fields are more efficient than queries on choice columns so you might want to consider using managed metadata fields instead of choice fields. Columns, such as managed metadata and person or groups, can support multiple values. Queries on multiple value columns are not as efficient as queries on single value columns.

Columns and content types are typically the central components for classifying and retrieving content in a large list. A list of columns and content types should already have been prepared during the planning process. The number of columns and content types that are added to a list can affect performance in subtle ways. The number of columns of a specific type that are added to a single list will cause row wrapping. For more information, see Row wrapping earlier in this article.

Example of a collaborative large list and columns: product specifications library

This section describes columns that are used in this example as follows:

  • Columns maintained automatically by SharePoint Server 2010: ID, Content Type, Modified, Created, Modified By, Created By, Document ID

  • Columns maintained by customizations:

    • Metadata default values by folder for Product Type and Product Team (Each Product Type has a folder and each Product Type folder has multiple Product Team folders)

    • Workflows update: Approval Status, Project Completed

  • Columns maintained by users: Designer, Tester, Final Review Date

  • Columns that work well for navigation: Content Type, Product Type, Product Team

  • Columns that are used for tracking status and also work well for navigation: Final review date, approval status, project completed

  • Columns that can be useful for navigation: Designer, Tester, Product Name, Modified, Modified By

Summary of column recommendations

  • Minimize the number of columns that are available to fill in.

  • Carefully select the columns that will be used for system processes and navigation. Consider which fields will be required, and minimize the number of required fields.

  • Required fields should be used when they are necessary for navigation, such as using Content Query Web Parts against a particular field. They should also be used for administration, such as specifying retention actions on a date field that users must specify.

  • Because queries on single value columns are faster than multiple value columns, attempt to make columns single value unless multiple values are necessary.

The total number of particular columns on a list can cause row wrapping, which reduces performance. Minimize the number of columns on a large list and avoid row wrapping, if it is possible.

Folders

You should carefully consider how to organize content into folders. There are three main ways that you can use folders:

  • Organize content into folders logically. For example, organize contracts into folders based on the year or month that the contract was signed, or invoices based on the date that the invoice was created. In this scenario, users can easily navigate through the folder structure or use metadata to find documents. Also, it is easy for documents to be automatically routed to the correct folder. The content organizer provides capabilities that can be used to limit the amount of items in a single folder by creating subfolders when items are added over a certain limit.

  • Organize content into folders for retention and permissions or other administrative functions. For example, a folder for confidential documents that fewer users have access to, or location-based retention so documents have a different retention schedule based on their folder. In this scenario, user navigation might be more difficult because the users might not care where a document is as long as they have access to it. Metadata navigation and search are the dominant methods of finding documents, rather than using the folder structure.

  • Organize content into folders to aid user navigation by topics or categories. Many users are accustomed to navigating with folders. For particular applications, it might be important to retain a folder structure that is easy for users to navigate. In this scenario, users generally understand the folder structure and know where to look for and place documents. Metadata navigation and search can be used in combination with this method.

Improvements in SharePoint Server 2010 give you more flexibility in using folders and less dependence on performance considerations. By using managed metadata and metadata navigation, users can easily filter on metadata, rather than navigating through folders. This enables you to organize content for administrative purposes such as permissions or policy, rather than only for user navigation. For instance, you can have a folder of classified material that only certain employees can access and another folder that all employees can access. You can specify different permissions on the folders and then use the content organizer to automatically move content into the appropriate folder, based on metadata. You can still choose to use folders for navigation in combination with metadata navigation.

With the content organizer feature, content can be automatically moved into folders based on content types and metadata without users needing to decide where content should be placed. In addition, the content organizer can be used to automatically create new folders when one folder has reached a specified item limit. You must consider that using Open with Explorer (WebDAV) will not work on large lists if items are not organized into folders where there are no more items than the list view threshold in the root of any folder.

Folder-based views and metadata-based views are very similar in performance. From a logical and user experience standpoint, it is sensible to use folders to divide content. Metadata navigation performs recursive queries so all items are returned outside of folders. If this is the main method of retrieving content, then the folder structure might not be important.

The following graph shows the results of a test that was conducted by using views of various types to access the same number of items. All views returned 1,000 results. This graph shows the requests per second of these views individually as the list size increases. The results show that as list size increases the performance of the folder and indexed views remain relatively flat, although folders have better performance at smaller list sizes. For most large lists, a combination of folders and indexed views are used so performance differences should not dictate whether to use folders or indexes to retrieve data.

Chart showing folder and indexed view throughput

Summary of folder recommendations

  • Plan for how items will be organized into folders. Items can be moved automatically or manually.

  • Features such as metadata navigation make it less necessary to limit the amount of items in folders.

  • Use metadata navigation in combination with folder navigation. Therefore, folders can be used to manage policy and retention rather than only being used to organize content for retrieval.

  • When it provides the best user experience, consider organizing content into folders to aid navigation, even in combination with other navigation options.

  • When using the content organizer to automatically move documents into folders based on metadata, consider enabling the option to create additional items in subfolders when a specific limit is reached.

  • You must organize items into folders with no more items than the list view threshold in the root of any particular folder if you plan to use Open with Explorer (WebDAV).

  • To retrieve content in list views, you must use metadata navigation and indexes if you do not use folders.

Example of a collaborative large list and folders: product specifications library

In the product specifications library, folders are used to aid navigation and to logically place content. It is clear to users which folder they should use to create a new product specification. There is a folder for each product type, and each product type has multiple folders for each product team. Each product team has a document set for each product they are designing, and the documents that are specific to a product are stored in the document set. This creates a structure that looks like the following:

  • Downhill Skis - Product Type (Folder)

    • Racing Skis - Product Team (Folder)

      Super Faster Downhill Racer X - Product (Document Set)

You can configure metadata defaults for each of the folders, and it is easy for library users to find content by using folders.

Example of a large-scale archive and folders: Record Center

The Records Center site is used for long-term storage of items that must be retained for legal compliance, but content is no longer actively modified. In this scenario, items are automatically routed into two folders: restricted and confidential. The restricted folder has strict permissions that a small number of people have access to, and the documents must be retained for 10 years. The confidential folder allows more access than the restricted folder, and documents in it must be retained for 7 years. This helps lower the number of unique permissions and makes it easier to manage permissions because items receive their permissions from the appropriate folder. All items that come into the Records Center site are routed to the root, confidential, or restricted folders based on metadata.

Indexes

There is a non-configurable limit of 20 indexes that can be created per list, including compound indexes and SharePoint Server 2010 features that index columns by default. Adding indexes to a list has a minimal effect on performance. However, it does affect some operations, such as add and update. You should avoid using more indexes than necessary because unused indexes will cause a small negative performance effect, and some SharePoint Server 2010 features add indexes when they are enabled. For example, SharePoint Server 2010 requires at least three index slots if you use the expiration and eDiscovery features. Consider keeping at least three index slots available in case you must create new indexes later.

SharePoint Server 2010 uses its own indexing mechanism to work with its database table structure. Create indexes in SharePoint Server by modifying the settings for the list.

When planning for indexes, consider the following:

  • Indexes are needed to perform filtering on lists above the list view threshold.

  • Carefully plan which single and compound indexes to create because there is a limit of 20 indexes.

  • Reserve index slots for SharePoint Server 2010 features that might need to create columns such as eDiscovery and Information Management Policy Retention.

  • Create single indexes when you use a single field to filter with Content Query Web Parts, views with filters, and when you are using metadata navigation hierarchies and filters that are often used as a single filter.

  • Create compound indexes for queries that filter by using two columns and commonly return more items than the list view threshold individually but are selective together.

  • Indexes can negatively affect performance of some operations, such as adding a document or editing its properties. Therefore, only create indexes when it is necessary.

Plan indexes carefully

Lists have a hard limit of 20 indexes and indexed columns are very important to a large list. Therefore, you must select single and compound indexes carefully. Several features use indexes. For example, the metadata navigation feature automatically indexes for configured navigation hierarchies and key filters. You should create indexes on columns that are important for filtering in navigation and information architecture.

Automatically created indexes

SharePoint Server features can create indexes that count against the list index limit. The following table provides a list of SharePoint Server 2010 features that are common in document libraries that add indexed columns.

Column | Feature | Usage
Hold & Record Status | In Place Records Management or Hold & eDiscovery | This column is added and indexed when the In Place Records Management site collection feature or Hold & eDiscovery feature is enabled and an item is declared a record or placed on hold in a list.
Expiration Date, Content Type | Information Management Policy | These two columns are added and indexed when retention is enabled for Information Management Policy on a content type that is added to the list or when location-based retention is enabled on a list.

When to create single and compound indexes

The metadata navigation feature automatically creates appropriate indexes for the hierarchy and key filter columns that are selected on the metadata navigation settings page. Single indexes are created for all of the hierarchy tree fields and for some of the more selective key filter types so that indexed results and partial results can be returned when they are used alone. Compound indexes are created for all supported combinations of hierarchies and key filters together to maximize selectivity when both a tree filter and key filter value are being used.

For a list where you have many columns that you might want to filter on, you might need to manage indexes manually to avoid reaching the index limit. If particular combinations of navigation hierarchies and key filters will never be used, consider not creating compound indexes to decrease the number of indexes. When you create these indexes, it is important to choose single indexing on columns that are selective and can be used alone in the list view, either as the only filter or as the first filter that is applied before choosing another. Compound indexes should be used when two filters will usually be used together in metadata navigation or custom queries and when one index is not very selective on its own. Create indexes for columns that are used for filtering with list views, Web Parts, and other data access methods.

There might be cases in which multiple indexes are not useful. Consider a situation where you are filtering on two columns, Division and Content Type. Because this is an AND operation, only the intersection where the filters for Division and Content Type match are returned. This means that when the query is performed, all the items that match the Division filter are returned first and then those items are filtered by Content Type. If there are only 10 items matching a particular division, you will have a sufficiently small set of data that an index on Content Type will not matter. If there are thousands of items that match the value for Division, then a compound index should be used.

Compound indexes allow you to create an index on two columns which allows for more efficient queries. Compound indexes should be used when doing an AND operation on two columns. Metadata navigation is the only out-of-box SharePoint Server feature that uses compound indexes. When the metadata navigation feature is enabled, retry and fallback logic are used even if metadata navigation controls are not configured for the list. Compound indexes are not be used by views unless it is a metadata navigation query.

Index performance effect

Indexes are required to perform queries on lists that have more items than the list view threshold in a single container, and they can provide a significant performance improvement. Although indexes are required to perform efficient queries on large lists and can greatly improve query performance, they can have an adverse effect on other operations because the index must be maintained. When items are created, updated, and deleted, any indexes the item participates in must also be updated. Testing was conducted with upload, update, and delete operations on a list that has 10,000 items and the results showed that the effect between zero and 20 indexes was less than 10 percent.

Index creation

By default, the metadata navigation feature automatically creates single and compound indexes. From the metadata navigation settings page, you can disable this option. The metadata navigation feature automatically creates a single index for each supported column type and compound indexes for each supported combination of navigation hierarchies and key filters. Compound indexes are not created automatically for combinations of two key filters, although you can manually create them. Metadata navigation automatically creates single and compound indexes for most types of columns that support indexes. Single indexes are not automatically created for key filter types that have fewer values and might not be selective alone. This includes Yes/No, single value choice, or content type columns, but indexes are supported and can be manually created.

Supported columns for single indexes

The following table provides information about indexes that are automatically created by metadata navigation. Metadata navigation creates single value indexes for all columns that support creating an index.

Column type | Index created
Navigation hierarchies |
Single value managed metadata | Yes
Multiple value managed metadata | No (system indexed as multiple value)
Content Type ID | Yes
Single value choice | Yes
Folder | No (system indexed by folder)
Key filters |
Single value managed metadata | Yes
Multiple value managed metadata | No (system indexed as multiple value)
Content Type ID | No (can be manually created)
Single value choice | No (can be manually created)
Multiple value choice | No (not supported as indexed)
Number | Yes
Date | Yes
Yes / No | No (can be manually created)
Currency | Yes
User (single value) | Yes
User (multiple value)* | No (system indexed as multiple value)
All tags | No (system indexed as multiple value. Special filter over all managed metadata values in the item)

Compound indexes that are automatically created

With the metadata navigation feature, users can select a navigation hierarchy and a key filter together. The metadata navigation feature automatically creates compound indexes for all supported combinations of navigation hierarchies and key filters. The following table shows the combinations that are supported.

Navigation hierarchies | Single value managed metadata | Multiple value managed metadata | Content Type ID | Single choice | Folder
Key filters |  |  |  |  |
Single value managed metadata | Yes | No | Yes | No | No
Multiple value managed metadata | No | No | No | No | No
Content Type ID | Yes | No | No | No | No
Single value choice | No | No | No | No | No
Multiple value choice | No | No | No | No | No
Number | Yes | No | Yes | No | No
Date | Yes | No | Yes | No | No
User (single) | Yes | No | Yes | No | No
All tags | No | No | No | No | No
Yes / No | Yes | No | Yes | No | No
Currency | Yes | No | Yes | No | No
User (multiple value) | No | No | No | No | No

Metadata selectivity

Metadata selectivity increases in importance as the size of the list increases. The following recommendations still apply to any list size. However, they might not be as important for smaller lists.

Selectivity is the amount of items that must be considered to return results for a query. There are two aspects to this: actual selectivity (the total number of results that match a query's search condition) and throttling selectivity (the number of results that need to be considered after applying conditions that apply to indexed columns). Actual selectivity is the primary consideration when you are considering user experience. Throttling selectivity is the primary consideration when you are considering the effect to the instance of SQL Server.

To effectively use metadata navigation and other list filtering mechanisms, metadata that is used for filtering must be selective. By default, list views display 30 items so that users can scan results quickly to find what they are looking for. If queries return more than 30 results, users must use paging to find results. If you are using a Content Query Web Part, 10 to 15 is a common number of results. If there are more results than this, the additional results are not displayed. When you have hundreds of results for a query, it becomes difficult to find what you are looking for. Selectivity is also important to help prevent operations that exceed the list view threshold, which, in the case of metadata navigation, results in fallback and not all results are returned.

Content organizer and auto-balancing

The content organizer can be the central component for organizing content in a document repository. Repositories that use the content organizer have a submission experience where users upload a document to it when it is in a final state. Some examples of scenarios that the content organizer can be used for include the following:

  • Automatically routing documents based on metadata between and within sites.

  • Routing documents and creating new folders automatically, such as folders based on day, month, and year.

  • Automatically balancing the number of items in folders.

Data access and retrieval

The main purpose for most large lists is storing content so it can be retrieved. It is important to plan how users will retrieve content because this has the largest effect on performance of a large list and on the success of the large list implementation. Several features including search, metadata navigation, Content Query Web Parts, and views can all be used to help users retrieve content. Custom solutions, such as custom Web Parts that query against the data, are also commonly used. Plan ahead for how the Web site will be organized. You can use a central landing page, such as the home page of the Document Center site, to roll up content and provide entry points into the large list. You can also use publishing pages to create a Web site where various topics are covered on each page, and then Web Parts are used to pull related documents or items from the large list. Considerations for data access and retrieval include the following:

  • Any combination of search, Content Query Web Parts, metadata navigation, list views, and custom Web Parts can be used.

  • Plan ahead for how content will be retrieved and which columns will be used to filter and sort.

  • Plan the basic page model. Consider whether all the work is performed in the document library, or whether there is a landing page, or a multi-page model that links to related content.

Data access methods

There are three main SharePoint Server 2010 features that can be used to query and filter list data with simple configuration: list view and metadata navigation, Content Query Web Part, and search. There are additional options for using custom code to query a list; those options are not described in this article.

  • Views allow you to configure columns that are displayed. There are a variety of display methods for list data. Views can be configured to filter and sort results based on columns.

    • Metadata navigation is a filtering control for SharePoint Server 2010 list views. When metadata navigation is configured, you can select metadata hierarchies and key filters to dynamically filter results that are displayed in a list view.

  • The Content Query Web Part displays data from SharePoint Server 2010 lists. Queries can be configured to return results from one or multiple lists. By default, the Content Query Web Part is cached. However, it can be non-cached.

  • Search boxes or Search Results Web Parts can be used to return search results. You can narrow these results to a particular list and perform a guided search using the search metadata refinement controls.

The following table lists query methods and how they are used.

Query method | Usage
List View & Metadata Navigation | List views always access the SQL Server back-end database, which results in the most performance impacting queries and causes higher SQL Server load. Use list views to provide more options for interacting with documents (check-in, check-out, editing properties) and real-time access to data.
Content Query Web Part | Content Query Web Parts use the portal site map provider to cache queries, and they render the least amount of HTML, which results in the fastest query and render times. Use Content Query Web Parts for dynamic navigation and to perform multiple queries on a single page.
Content Query Web Part Non Cached | To provide real-time access to data, the Content Query Web Part can query the database directly. Use this configuration when the query cannot be cached, when real-time updates are required, and for pages that are accessed less than one time per hour so the cache will never be populated. Initial load of a cached Content Query Web Part carries additional overhead.
Search | Use search queries to offload reads to a server infrastructure that is easier to scale and that is optimized for read performance. Search queries can be configured to use static queries, or you can allow users to specify search queries.

Content Query Web Parts

The following table shows various pros and cons of using Content Query Web Parts.

Pros Cons

  • Great as a navigation component, for example link to related documents or pages.

  • Simple configuration to display different columns.

  • Multiple Content Query Web Parts can easily be used on one page.

  • Fastest rendering time compared to search and list views.

  • Cached by default, reducing SQL Server load.

  • Only a limited number of properties can be displayed.

  • Links go directly only to items such as the document, page, or list item itself.

  • You cannot perform list actions.

The Content Query Web Part is used to retrieve content from lists. It can be used for pages, documents, and list items. By default, Content Query Web Parts are cached, which provides better performance and less effect on SQL Server resources. The default cache setting is for 30 minutes. Therefore, data remains fairly current. However, this also means that the Content Query Web Part uses more SQL Server resources than search queries use. Because Content Query Web Parts render the least amount of HTML, they are faster for page rendering, and multiple Content Query Web Parts can be configured on a single page. Cached Content Query Web Parts provide quick data access as the list size increases. Non-cached Content Query Web Parts have latency that is almost the same as a similar list view query.

Content Query Web Parts should be used as a navigational component and to provide content rollups on pages. For example, you can use pages to provide overviews of content that is located in a document library and then use Content Query Web Parts to return related pages and documents. Some other examples include items modified by the current user, newest items, and highest rated items. The Content Query Web Part can be used in high-read scenarios where most users do not need to perform list actions such as check-in, check-out, or manage versions. The following figure is a Content Query Web Part that displays highest rated documents.

Screenshot with highest rated documents

The Content Query Web Part can be used to access content without entering a list view. Users might have a small amount of content that they frequently access or items that they want to track. On the Document Center site template, three Content Query Web Parts are used by default: one that returns items modified by the logged in user, another for highest rated documents, and a third for most recent documents. Combined, all three of these Content Query Web Parts provide a landing page that provides content that a user might frequently access or be most interested in. This supports discovering new content and quickly accessing documents that are used frequently. Another example is creating a favorites list so that users can mark content to track, and then use a Content Query Web Part to return the list of favorites so that users can quickly access the content they frequently use without accessing the list itself.

When you use a Content Query Web Part with a large list, there are some important things to consider so that it correctly returns results and does not get blocked by the list view threshold. Items must be filtered to an amount that is lower than the list view threshold by using an indexed column. We do not recommend that you use cross list queries when one of the lists is a large list. If the total number of items considered in the cross list query is greater than the list view threshold for auditors and administrators (by default 20,000), then the operation is blocked.

Summary of Content Query Web Parts recommendations

  • Use Content Query Web Parts to return items that users might frequently access, be interested in, or that might help users discover content.

  • When you are using a Content Query Web Part against a large list, you should filter items so the query does not exceed the list view threshold.

  • You should only use columns with indexes for filtering.

  • Do not use the Content Query Web Part to query multiple lists if the total amount of items considered is greater than the list view threshold for auditors and administrators (by default 20,000).

  • Use caching for faster load times and less SQL Server load.

Search Web Parts

The following table shows various pros and cons of Search Web Parts.

Pros Cons

  • Offload queries from computers that are running SQL Server to search servers that are easier to scale.

  • Search query and index servers are more scalable and better performing than directly querying SQL Server.

  • Results are based on full text search of documents rather than only on metadata.

  • Summaries of text provide more information about results than Content Query Web Parts.

  • Results are the least current and are only as up to date as the most recent crawl.

  • Results do not display column values.

  • You cannot perform list actions.

Search queries scale better than directly accessing SQL Server resources because search is optimized for high-read scenarios, and it is easier to scale out to multiple search index and query servers than to scaling SQL Server instances. You can use preconfigured Search Web Parts, search boxes, or a combination to help users retrieve content. Search queries provide a method of offloading queries to search indexes, reducing SQL Server load. Search queries are also less affected by list size compared to Content Query Web Parts or list view queries.

You can use search in any scenario to display results from preconfigured or user-specified queries. Search provides the best performance at high scale points. Search should not be used if list actions must be performed on items or if data must be displayed in real time because results are only as current as the most recent crawl. The following table shows the three Search Web Parts that can be used.

Search Web Part | Description
Core Results Web Part | Complete results with paging, and the most full-featured Web Part. It can take system or user specified queries.
Federated Results Web Part | A small set of results that has an optional link to access to the full results.
Search Box Web Part | A Web Part that is used to take user input for a query.

List views

The following table shows various pros and cons of using list views.

Pros Cons

  • List view actions such as check-in, check-out, and editing properties can be used to interact with documents.

  • Easy to customize views and display different columns.

  • Highly interactive experience for dynamic filtering and sorting results in real time.

  • Most negative impact on performance for latency and throughput.

  • Slowest rendering time

  • The best user experience is with only one List View Web Part per page.

List views and metadata navigation can support content retrieval in large document libraries that use folders and indexes, or both. Querying with a list view is performed in real time and queries the SQL Server database directly. This provides the most recent results. However, it also has the largest effect on performance. Overall throughput will decrease and latency of operations will increase with large list sizes. List views also render the most content for a page to load. Therefore, page rendering time is often greater with a list view.

You should use metadata navigation and list views when you must be able to perform list view actions on items. List views can be the primary method of working with a list in low-read scenarios. In scenarios that have many read operations, you might want to consider other query methods as the primary method for accessing list data.

View configuration

Summary of view configuration recommendations

  • Carefully select the columns that are used in views. Having more columns means there is more data to render, which increases page load time. There is a tradeoff between page load time and optimal user experience.

  • Minimize the amount of lookup columns, such as managed metadata and people and groups in views because this will cause joins with other database tables and increase database load.

  • Do not use totals for columns.

  • If views are not filtered by using indexed columns, select the option to show items in folders, and ensure that individual folders do not have more items than the list view threshold.

  • Views should be filtered on indexed columns to reduce the number of items that are returned so the number is less than the list view threshold (especially if there are no subfolders or if folders contain more items than the list view threshold).

  • Enable the metadata navigation feature to return the most recent results for queries that would otherwise be prevented by the list view threshold. By default, this is enabled on almost all sites.

  • If you are using filtered views in combination with metadata navigation, consider using per-location views to create unfiltered views for metadata navigation pivots so all results are returned.

Number of columns and lookup columns

Views are the most common method that is used to access list data. Views should be carefully selected to optimize how users can find content and to meet performance requirements. For a large list, pay special attention to how views are configured. We recommend only standard views and custom views. Datasheet, Gantt, and Calendar views are not recommended with lists that exceed the list view threshold because they can be blocked by the list view threshold. Views should have as few columns as possible, but be especially careful with the number of lookup columns (managed metadata, people and groups, and lookup types) because lookups perform joins on other tables, which affects performance.

Column filtering and totals

The new list view threshold in SharePoint Server 2010 presents a major change to how views must be used with large lists. Users will get errors if views attempt to return more results than the list view threshold. Using totals on a large list will always be blocked by the list view threshold. Therefore, do not use them. The number of items that must be scanned is what is important, not necessarily the number of rows that are returned. If a view has a filter where the column Color = "Red" and color is not an indexed column, then it might be prevented. Even though there might be only 100 items that match this query, if there are 10,000 items in the list, then the query must scan 10,000 items. In this case, users get errors when they try to access the view. To resolve this problem, you can use folders, filters and indexing, and metadata navigation.

Folders

If a list is organized so that no folder contains more items than the list view threshold, you can select the option to show items in folders. Showing all items outside of folders should be avoided unless you have mechanisms in place to filter the results to amounts less than the list view threshold.

Indexing

In an earlier example, performing a query on the column Color failed because it was not indexed. To resolve this problem, the Color column could be indexed, and then queries will work if the values are distinct enough. If there are only 100 red items, then this will work. However, if there are more items that match than the list view threshold, then even with indexing it will still be blocked. By default, the ID field, folder structure and multiple value lookups are indexed in the system. Any new columns that are created and used for filtering must have indexes that are manually created.

Example views

Recently changed items

The Recently Changed Items view is used to show the most recently changed items. It can be used for the default view when users frequently access content from a variety of sources that have been recently modified. It is easy to configure this view because it uses system metadata that is always set for every item. For a large list, you must either set the item limit to an amount under the list view threshold or filter the results to an amount less than the list view threshold. To create this view, you must index the modified field and sort in descending order. Specify a filter for the Modified column and use the formula, [Today-x], where x is the number of days' worth of data to be shown. Select the option, greater than or equal. The formula, [Today-x], should return an amount of items less than the list view threshold.

My Items

The My Items view can be used in repositories where users frequently access their own documents. This view is easy to configure because it uses system metadata that is always set for every item. In this view, you filter by Modified By or Created By columns by both columns. To create this view in the filters, select the Modified By column, set the value to [ME], and then set a second filter with OR on the Created By column with the value also set to [ME]. The Created By column should be used in addition to the Modified By column when multiple users edit the same documents. Modified By is not a multiple user column. Therefore, this view will not necessarily show all the documents a user has ever modified. In this example, both columns should be indexed because the operation is an OR operation.

Conclusion

SharePoint Server 2010 provides new and improved features that enhance the user experience and performance of working with large lists. Throttles and limits protect the performance of the farm for other users and prevent operations from consuming a disproportionately large amount of SQL Server resources. Metadata enhancements and metadata navigation provide an enhanced experience for retrieving list data, and Content Query Web Parts, search, and list views can be configured to work with large lists. Careful planning is still required to create the correct solutions for your requirements. However, large lists can be developed quickly with configuring out-of-box solutions that have been designed to work with good performance.

See Also

Other Resources

Resource Center: Capacity Management for SharePoint Server 2010


Estimate performance and capacity requirements for SharePoint Server 2010 Search

Published: March 24, 2011

Summary: This article provides capacity planning information for different deployments of Microsoft SharePoint Server 2010 search, including small, medium, and large SharePoint Server 2010 farms.

This article provides capacity planning information for collaboration environment deployments of SharePoint Server 2010 search. It includes the following information for three sample search farm configurations:

  • Test environment specifications, such as hardware, farm topology, and configuration

  • The workload used for data generation, including the number and class of users and farm usage characteristics

  • Test farm dataset, including database contents and sizes

  • Health and performance data specific to the tested environment

This article also contains common test data and recommendations for how to determine the hardware, topology, and configuration you need to deploy a similar environment, and how to optimize the environment for appropriate capacity and performance characteristics.

SharePoint Server 2010 search contains a richer set of features and a more flexible topology model than earlier versions. Before you employ this architecture to deliver more powerful features and functionality to your users, you must carefully consider the effect on the farm's capacity and performance.

After you read this document, you will understand how to do the following:

  • Define performance and capacity targets for the environment.

  • Plan the hardware required to support the number and type of users, and the features you intend to deploy.

  • Design the physical and logical topology for optimum reliability and efficiency.

  • Test, validate, and scale the environment to achieve performance and capacity targets.

  • Monitor the environment for key indicators.

Before you read this article, you should be familiar with the following:

  • Capacity management and sizing for SharePoint Server 2010

  • SharePoint Server 2010 capacity management: Software boundaries and limits

  • Availability

  • Redundancy

  • Database-specific content

Planning overview

The scenarios in this article describe small, medium, and large test farms, with assumptions that can help you start planning for the correct capacity for the farm. These farm sizes are approximations based on the following assumptions:

  • The repositories crawled are primarily SharePoint Server content.

  • The vast majority of the user queries can be found in the same 33 percent of the index. This means that most users query for the same terms.

  • The default metadata settings are used, ensuring that the property database does not grow at a large rate.

  • In medium and large farms, dedicated crawl targets (front-end Web servers) exist that can serve content to the crawl components of these search farms.

  • Measurements taken on these farms can vary due to network and environmental conditions, and have up to a 10 percent margin of error.

Choosing a scenario

To choose the right scenario, consider the following questions:

  • Corpus size How much content has to be searchable? The total number of items should include all objects, including documents, Web pages, list items, and people.

  • Availability What are the availability requirements? Do customers need a search solution that can survive the failure of a particular server?

  • Content freshness How fresh do you want the search results to be? How long after a user changes the content do you want searches to provide the updated content in the results? How often do you expect the content to change?

  • Throughput How many people will be searching over the content simultaneously? This includes people typing in a query box, hidden queries like Web Parts automatically searching for data, or Microsoft Outlook 2010 Social Connectors requesting activity feeds that contain URLs that need security trimming from the search system.

Based on the answers to these questions, choose from one of the following scenarios:

  • Small farm Includes a single Search service application that shares some resources on a single SharePoint Server farm. Typical for small deployments, the amount of content over which to provide search is limited (fewer than 10 million items). Depending on the desired freshness goals, incremental crawls might occur during business hours.

  • Medium farm Includes one or more Search service applications in a dedicated farm, which provide search services to other farms. The amount of content over which to provide search is moderate (up to 40 million items), and to meet freshness goals, incremental crawls are likely to occur during business hours.

  • Large farm Includes one or more Search service applications in a dedicated farm, which provides search services to other farms. The amount of content over which to provide search is large (up to 100 million items), and to meet freshness goals, incremental crawls are likely to occur during business hours.

Search life cycle

These three scenarios enable you to estimate capacity at an early stage of the farm. Farms move through the following stages of the search life cycle as content is crawled:

  • Index acquisition This is the first stage of data population. The duration of this stage depends on the size of the content sources. It is characterized by the following:

    • Full crawls (possibly concurrent) of content.

    • Close monitoring of the crawl system to ensure that the hosts that are being crawled are not a bottleneck for the crawl.

    • Frequent master merges that, for each query component, are triggered when a certain amount of the index has changed.

  • Index maintenance This is the most common stage of a farm. It is characterized by the following:

    • There are incremental crawls of all content.

    • For SharePoint Server content crawls, a majority of the changes that are encountered during the crawl are security changes.

    • There are infrequent master merges that, for each query component, are triggered when a certain amount of the index has changed.

  • Index cleanup This stage occurs when a content change moves the farm out of the index maintenance stage — for example, when a content database or site is moved from one Search service application to another. This stage is triggered when either of the following occurs:

    • A host that is supplying content is not found by the search crawler for an extended period of time.

    • A content source or start address is deleted from a Search service application.

Scenarios

This section describes the configurations that were used for the small, medium, and large farm scenarios. It also includes the workload, dataset, performance data, and test data for each environment.

Small farm

Because the farm is small, multiple roles must be performed by some of the servers. We recommend combining a query component with a front-end Web server to avoid putting crawl components and query components on the same server. This configuration uses three application servers and one database server, as follows:

  • Because redundant query servers are generally suggested for enterprise search, two application servers were used for query components, given the following configuration:

    • One application server also hosts the Search Center. This configuration can be omitted if the small farm is used as a service farm, and the Search Centers are created on child content farms that use the Search service application from this parent service farm.

    • The preferred query configuration for fewer than 10 million items is to have one index partition. Each server then has one primary query component from the index partition. This active/active query component setup allows the failure of one of the query components, while still retaining the ability to serve queries from the remaining query component. If a query component fails, search sends queries (round-robin) to the next available query component.

  • One application server used for crawling and administration. This means that Central Administration, the search administration component, and a crawl component are created on this server.

  • A single database server to support the farm. The database server should have a dedicated number of input/output operations per second (IOPS) for crawl, property, and administration databases (for example, use different storage arrays).

Specifications

This section provides detailed information about the hardware, software, topology, and configuration of the test environment.

Topology

Search Small Farm Topology

Hardware

Note:

Because the test farm was running pre-release versions of SharePoint Server 2010 and the team wanted to avoid potential problems, the hardware that was used for the servers had more capacity than is typically required.

Web servers

Web server | Front-end Web server/Query (1)
Processor | 1px4c@3 GHz
RAM | 16 GB
Operating system | Windows Server 2008 R2, 64-bit
Storage | 2x450GB 15K SAS: RAID1:OS 2x450GB 15K SAS: RAID1:DATA1 2x450GB 15K SAS: RAID1:DATA2
Number of network interface cards (NICs) | 2
NIC speed | 1 gigabit
Authentication | NTLM
Load balancer type | None
Software version | SharePoint Server 2010 (pre-release version)
Services running locally | All services (including Search Query and Site Settings Service)

Application servers

Server | Query (1) | Crawl/Administration (1)
Processor | 1px4c@3 GHz | 1px4c@3 GHz
RAM | 16 GB | 16 GB
Operating system | Windows Server 2008 R2, 64-bit | Windows Server 2008 R2, 64-bit
Storage | 2x450GB 15K SAS:RAID1: OS 2x450GB 15K SAS:RAID1: DATA1 2x450GB 15K SAS:RAID1: DATA2 | 2x450GB 15K SAS: RAID1: OS 2x450GB 15K SAS: RAID1: TEMP 2x450GB 15K SAS: RAID0: DATA
Number of NICs | 1 | 1
NIC speed | 1 gigabit | 1 gigabit
Authentication | NTLM | NTLM
Load balancer type | none | none
Software version | SharePoint Server 2010 (pre-release version) | SharePoint Server 2010 (pre-release version)
Services running locally | SharePoint Server Search; Search Query and Site Settings Service | SharePoint Server Search

Database servers

Database Shared (1)

Processor

2px4c@3 GHz

RAM

16 GB

Operating system

Windows Server 2008 R2, 64-bit

Storage

2x450GB 15K SAS: RAID1: OS

2x450GB 15K SAS: RAID0: DATA

2x450GB 15K SAS: RAID0: LOGS

Note:

Due to the reduced number of drives, the best practice of segregating databases on different IO channels was not applicable.

Number of NICs

2

NIC speed

1 gigabit

Authentication

NTLM

Software version

Microsoft SQL Server 2008 Enterprise

Workload

This section describes the workload that was used for data generation, including the number of users and farm usage characteristics.

Workload characteristics | Value
High level description of workload | Search farms
Average queries per minute | 6
Average concurrent users | 1
Total number of queries per day | 8,640

Dataset

This section describes the test farm dataset, including database contents and sizes, search indexes, and external data sources.

Object | Value
Search index size (number of items) | 9 million
Size of crawl database | 52 GB
Size of crawl database log file | 11 GB
Size of property database | 68 GB
Size of property database log file | 1 GB
Size of search administration database | 2 GB
Size of active index partitions | 38.4 GB (76.8 GB total, because the index is mirrored)
Total number of search databases | 3
Other databases | SharePoint_Config; SharePoint_AdminContent; State_Service; Bdc_Service_db; WSS_UsageApplication; WSS_Content

Health and performance data

This section provides health and performance data that is specific to the test environment.

Query performance data

The following measurements were taken with 9 million items in the index. The columns give the measurements that were taken during the specific test, and the results are at the bottom of the following table. The measurements are described as follows:

  • Query latency These measurements were taken during a query latency test, where a test tool submitted a set of standard queries, as one user, and then measured the resulting latency. No crawls were under way during the test.

  • Query throughput These measurements were taken during a query throughput test, where a test tool submitted a standard set of queries against the farm, as an increasing number of concurrent users (up to 80), and then measured the resulting latency and throughput. No crawls were under way during the test.

 | Scorecard metric | Query latency | Query throughput
CPU metrics | Average SQL Server CPU | 3.4% | 12%
 | Average front-end Web server CPU | 8% | 51%
 | Average query server CPU | 13.3% | 95%
Reliability | Failure rate | 0 | 0
 | Front-end Web server crashes | 0 | 0
 | Application server crashes | 0 | 0
SQL Server | Cache hit ratio (SQL Server) | 99.97% | 100%
 | SQL Server locks: average wait time (ms) | 0.071 | 0.038
 | SQL Server locks: Lock wait time (ms) | 0.035 | 0.019
 | SQL Server locks: Deadlocks/sec | 0 | 0
 | SQL Server latches: average wait time (ms) | 31 | 0.017
 | SQL Server compilations/sec | 14.9 | 10.2
 | SQL Server statistics: SQL Server re-compilations/sec | 0.087 | 0.05
 | Average disk queue length (SQL Server) | 0.011 | 0.01
 | Disk queue length: writes (SQL Server) | 0.01 | 0.008
 | Disk reads/sec (SQL Server) | 0.894 | 0.05
 | Disk writes/sec (SQL Server) | 45 | 106
Application server | Average disk queue length (query server) | 0.013 | 0.001
 | Disk queue length: writes (query server) | 0 | 0.001
 | Disk reads/sec (query server) | 11.75 | 0.06
 | Disk writes/sec (query server) | 4 | 5.714
 | Average memory used (query server) | 8.73% | 9%
 | Maximum memory used (query server) | 8.75% | 9%
Front-end Web server | ASP.NET requests queued (average of all front-end Web servers) | 0 | 0
 | Average memory used (front-end Web server) | 9.67% | 95%
 | Maximum memory used (front-end Web server) | 9.74% | 100%
Test results | Number of successes | 1,757 | 13,608
 | Number of errors | 0 | 0
 | Query UI latency (75th percentile) | 0.331 sec | 3.68 sec
 | Query UI latency (95th percentile) | 0.424 sec | 3.93 sec
 | Query throughput | 3.29 Requests/sec | 22.4 requests/sec

Crawl performance data

The following measurements were taken during initial, sequential full crawls of the given content source. The content source size is given in millions of items. The columns give the measurements that were taken during the specific crawl, and the results are at the bottom of the table.

 | Scorecard metric | SharePoint content (4M) | File share (1M) | HTTP (non-SharePoint) (1M)
CPU metrics | Average SQL Server CPU | 5.4% | 11.7% | 23%
 | Average indexer CPU | 41.6% | 69% | 71%
Reliability | Failure rate | 0 | 0 | 0
 | Front-end Web server crashes | 0 | 0 | 0
 | Application server crashes | 0 | 0 | 0
SQL Server | Cache hit ratio (SQL Server) | n/a | n/a | n/a
 | SQL Server locks: average wait time (ms) | 436 | 51.76 | 84.73
 | SQL Server locks: lock wait time (ms) | n/a | n/a | n/a
 | SQL Server locks: deadlocks/sec | n/a | n/a | n/a
 | SQL Server latches: average wait time (ms) | 1.05 | 1.64 | 3.53
 | SQL Server compilations/sec | n/a | n/a | n/a
 | SQL Server statistics: SQL Server re-compilations/sec | n/a | n/a | n/a
 | Average disk queue length (SQL Server) | 27.124 | 6.85 | 45
 | Disk queue length: writes (SQL Server) | 17.6 | 6.7 | 21.57
Application server | Average disk queue length (crawl server) | 0.008 | 0.032 | 0.02
 | Disk queue length: writes (crawl server) | 0.006 | 0.025 | 0.012
 | Average memory used (crawl server) | 14.16% | 10.4% | 11.5%
 | Maximum memory used (crawl server) | 19.2% | 11.13% | 12.78%
Front-end Web server | ASP.NET requests queued (average of all front-end Web servers) | 0 | 0 | 0
 | Average memory used (front-end Web server) | n/a | n/a | n/a
 | Maximum memory used (front-end Web server) | n/a | n/a | n/a
Test results | Number of successes | 3,934,881 | 1,247,838 | 996,982
 | Number of errors | 9,645 | 302 | 2
 | Portal crawl speed (items/sec) | 46.32 | 120.436 | 138.316
 | Anchor crawl speed (items/sec) | 5,197 | 3,466.219 | 2,192.982
 | Total crawl speed (items/sec) | 45.91 | 116.392 | 130.086

Test data

This section provides test data illustrating how the farm performed. Refer to the Optimizations section later in this article to understand how to improve farm performance.

Query latency

The following graph displays query latency percentiles for this farm as user load increases (gathered during the query throughput test). A query percentile of 95 percent means that 95 percent of the query latencies that were measured were below that value.

User Load Impact on Query Latency Percentiles

From this graph you can see that with a smaller index, this farm can maintain sub-second query latency, even as more concurrent users (20) are performing queries on this farm.

Query throughput

The following graph displays the query throughput for this farm as user load increases (gathered during the query throughput test).

User Load Impact on Query Throughput

Taking into account the previous two graphs, you can see that if you add user load beyond about 20 concurrent users, this farm will get no additional query throughput, and latency will increase.

Crawl rate

The following graph displays the crawl rate for this farm during the index acquisition stage of the search life cycle. The values represent a full crawl, in items crawled per second.

Full Crawl Rate By Content Type

The extra overhead involved to effectively perform a full crawl on a SharePoint site content source results in a lower overall crawl rate in this farm.

Overall takeaway

This farm was near capacity on RAM for the query servers. Because the front-end Web server processes (also consuming RAM) were also on one of the query servers, it would affect latency on queries that are running on that server.

The next steps for improving performance for this farm would be to do the following:

  • Move front-end Web server processes to their own front-end Web server (that is, add another front-end Web server for redundancy).

  • Add more RAM to both query servers. We recommend enough RAM on the query server for 33 percent of the active query component's index partition plus 3 GB for the operating system and other processes.

  • Add storage arrays so that you can segregate databases on the database server.

Medium farm

The medium farm configuration uses one Web server, six application servers, and two database servers, as follows:

  • One Web server was used in this test configuration to host the Search Center. This Web server can be omitted if searches are always performed from a child farm by using a Search service application proxy (installed on the child farm). Otherwise, you would probably add another Web server to this farm for redundancy.

  • Two application servers are used for crawling and administration. This means the following:

    • Central Administration and the search administration component are created on one of the application servers.

    • Each server has two crawl components. Each crawl component is attached to a different crawl database for redundancy.

  • The remaining four application servers are used for query. For up to 40 million items, the standard configuration is to have four index partitions. Redundant query functionality is achieved by arranging query components so that each server has one active query component from one of the index partitions and a failover query component from a different index partition. However, this example farm shows what to do if you do plan to have more than 40 million items. You start with eight index partitions (each with its own active and failover query components) on the four application servers so that you minimize index repartitioning. We assume that each server meets the following guidelines to allow four components on the same application server:

    • Enough RAM and IOPS are available.

    • Each server has more than six CPU cores to support processing as follows:

      • Four CPU cores for the two active query components.

      • Two CPU cores for the two failover query components.

  • Two database servers support the farm. One database server is used for the two crawl databases. The other server is used for the property and search administration databases in addition to being used for the other SharePoint databases. The database servers should have a dedicated number of IOPS for each crawl, property, and search administration database (for example, use different storage arrays).

Specifications

This section provides detailed information about the hardware, software, topology, and configuration of the test environment.

Topology

Search Medium Farm Topology

Hardware

Note:

Because the test farm was running pre-release versions of SharePoint Server 2010 and the team wanted to avoid potential problems, the hardware that was used for the servers had more capacity than is typically required.

Web server

Web server | Front-end Web server (1)
Processor | 2px4c@2.33 GHz
RAM | 8 GB
Operating system | Windows Server 2008 R2, 64-bit
Storage | 2x148GB 15K SAS: RAID1: OS
Number of NICs | 2
NIC speed | 1 gigabit
Authentication | NTLM
Load balancer type | None
Software version | Microsoft SharePoint Server (pre-release version)
Services running locally | All services

Application servers

There are six application servers in the farm. Four servers are used for serving queries and two servers are used for crawling.

Server (count) | Query (4) | Crawl (1), Crawl/Admin (1)
Processor | 2px4c@2.33 GHz | 2px4c@2.33 GHz
RAM | 32 GB | 8 GB
Operating system | Windows Server 2008 R2, 64-bit | Windows Server 2008 R2, 64-bit
Storage | 2x148 GB 15K SAS: RAID1: OS 4x300GB 15K SAS:RAID10:Data | 2x148 GB 15K SAS:RAID1: OS/Data
Number of NICs | 2 | 2
NIC speed | 1 gigabit | 1 gigabit
Authentication | NTLM | NTLM
Load balancer type | None | None
Software version | SharePoint Server 2010 (pre-release version) | SharePoint Server 2010 (pre-release version)
Services running locally | SharePoint Server Search; Search Query and Site Settings Service | SharePoint Server Search

Database servers

There are two database servers. The first server contains the search administration, property, and other SharePoint Server databases. The second server contains the two crawl databases. Note that the storage volumes that were created optimized the existing hardware that was available for the test.

Database server | Search Administration; Property; SharePoint databases | Crawl databases
Processor | 2px4c@3.2 GHz | 4px2c@2.19 GHz
RAM | 32 GB | 16 GB
Operating system | Windows Server 2008 R2, 64-bit | Windows Server 2008 R2, 64-bit
Storage | 2x148GB 15K SAS :RAID1: OS 2x148GB 15K SAS :RAID1: TEMP Log 2x450GB 15K SAS :RAID1: TEMP DB 6x450GB 15K SAS :RAID10: Property DB 2x450GB 15K SAS :RAID1:Search Admin, SharePoint DBs 2x450GB 15K SAS :RAID1:Logs | 2x148GB 15K SAS :RAID1: OS 2x148GB 15K SAS :RAID1: TEMP Log 2x300GB 15K SAS :RAID1: TEMP DB 6x146GB 15K SAS :RAID10: Crawl DB1 6x146GB 15K SAS :RAID10: Crawl DB2 2x300GB 15K SAS :RAID1:Crawl DB Log1 2x300GB 15K SAS :RAID1:Crawl DB Log2
Number of NICs | 2 | 2
NIC speed | 1 gigabit | 1 gigabit
Authentication | NTLM | NTLM
Software version | SQL Server 2008 Enterprise | SQL Server 2008 Enterprise

Workload

This section describes the workload that was used for data generation, including the number of users and the farm usage characteristics.

Workload characteristics | Value
High level description of workload | Search farms
Average queries per minute | 12
Average concurrent users | 1
Total number of queries per day | 17,280
Timer jobs | Search Health Monitoring - Trace Events; Crawl Log Report; Health Analysis Job; Search and Process

Dataset

This section describes the test farm dataset, including database contents and sizes, search indexes, and external data sources.

Object | Value
Search index size (number of items) | 46 million
Size of crawl database | 356 GB
Size of crawl database log file | 85 GB
Size of property database | 304 GB
Size of property database log file | 9 GB
Size of search administration database | 5 GB
Size of active index partitions | 316 GB (79 GB per active component).
Total number of databases | 4
Other databases | SharePoint_Config; SharePoint_AdminContent; State_Service; Bdc_Service_db; WSS_UsageApplication; WSS_Content

Health and performance data

This section provides health and performance data that is specific to the test environment.

Query performance data

The following measurements were taken with 46 million items in the search index. The columns give the measurements that were taken during the specific test, and the results are at the bottom of the table. The measurements are described as follows:

  • Query latency These measurements were taken during a query latency test in which a test tool submitted a set of standard set of queries, as one user, and then measured the resulting latency. No crawls were under way during the test.

  • Query throughput These measurements were taken during a query throughput test in which a test tool submitted a standard set of queries against the farm, as an increasing number of concurrent users (up to 80), and then measured the resulting latency and throughput. No crawls were under way during the test.

 | Scorecard metric | Query latency | Query throughput
CPU metrics | Average SQL Server CPU (property database server) | 5% | 98%
 | Average front-end Web server CPU | 3% | 33%
 | Average query server CPU | 3% | 47%
Reliability | Failure rate | 0.07% | 0%
 | Front-end Web server crashes | 0 | 0
 | Application server crashes | 0 | 0
SQL Server (property database server) | Cache hit ratio (SQL Server) | 100% | 99.9%
 | SQL Server locks: average wait time (ms) | 0.000 | 0.159
 | SQL Server locks: lock wait time (ms) | 0.000 | 0.080
 | SQL Server locks: deadlocks/s | 0 | 0
 | SQL Server latches: average wait time (ms) | 0.041 | 1.626
 | SQL Server compilations/sec | 9.776 | 93.361
 | SQL Server statistics: SQL Server re-compilations/s | 0.059 | 0.071
 | Read/write ratio (IO per database) | 0.01 | 0.81
 | Average disk queue length (SQL Server) | 0.001 | 0.037
 | Disk queue length: writes (SQL Server) | 0.000 | 0.003
 | Disk reads/sec (SQL Server) | 0.057 | 14.139
 | Disk writes/sec (SQL Server) | 4.554 | 17.515
Application server | Average disk queue length (query server) | 0.000 | 0.001
 | Disk queue length: writes (query server) | 0.000 | 0.001
 | Disk reads/sec (query server) | 0.043 | 0.266
 | Disk writes/sec (query server) | 4.132 | 5.564
 | Average memory used (query server) | 9% | 10%
 | Maximum memory used (query server) | 9% | 10%
Front-end Web server | ASP.NET requests queued (average of all front-end Web servers) | 0 | 0
 | Average memory used (front-end Web server) | 47% | 48%
 | Maximum memory used (front-end Web server) | 47% | 49%
Test results | Number of successes | 1,398 | 14,406
 | Number of Errors | 1 | 0
 | Query UI latency (75th percentile) | 0.47 sec | 2.57 sec
 | Query UI latency (95th percentile) | 0.65 sec | 3.85 sec
 | Query throughput | 2.38 request/sec | 27.05 request/sec

Crawl performance data

The following measurements were taken during initial, full crawls of the given content source. The content source size is given in millions of items. The columns give the measurements that were taken during the specific crawl, and the results are at the bottom of the table.

 | Scorecard metric | SharePoint content (3.5 million) | File share (1 million) | HTTP (non-SharePoint) (1 million)
CPU metrics | Average SQL Server CPU (crawl database server, property database server) | 11%, 19% | 22%, 7% | 23%, 5%
 | Maximum SQL Server CPU (crawl database server, property database server) | 96%, 100% | 86%, 45% | 79%, 28%
 | Average indexer CPU | 41.6% | 69% | 71%
Reliability | Failure rate | 0.2% | 0.02% | 0%
 | Front-end Web server crashes | 0 | 0 | 0
 | Application server crashes | 0 | 0 | 0
SQL Server (crawl database server, property database server) | Cache hit ratio (SQL Server) | 99.5%, 99.8% | Not collected | 99.9%, 99.3%
 | SQL Server locks: average wait time [ms] | 1,881.749, 1,106.314 | 1,617.980, 2.882 | 983.137, 0.904
 | SQL Server locks: maximum wait time [ms] | 69,919.500, 1,081,703 | 55,412.000, 304.500 | 24,000.500, 47
 | SQL Server locks: average lock wait time [ms] | 339.658, 10,147.012 | Not collected | 739.232, 0.136
 | SQL Server locks: maximum lock wait time [ms] | 598,106.544, 234,708,784 | Not collected | 52,711.592, 23.511
 | SQL Server locks: deadlocks/s | 0.001, 0 | Not collected | 0.008, 0
 | SQL Server latches: average wait time [ms] | 2.288, 13.684 | 3.042, 13.516 | 2.469, 20.093
 | SQL Server latches: maximum wait time [ms] | 2,636, 1,809 | 928, 858.5 | 242.929, 938.706
 | SQL Server compilations/sec: average | 20.384, 5.449 | Not collected | 76.157, 6.510
 | SQL Server compilations/sec : maximum | 332.975, 88.992 | Not collected | 295.076, 42.999
 | SQL Server statistics: SQL Server re-compilations/sec: average | 0.560, 0.081 | Not collected | 0.229, 0.125
 | SQL Server statistics: SQL Server re-compilations/sec: maximum | 22.999, 88.492 | Not collected | 17.999, 15.5
 | Read/write ratio (IO per database): maximum | 2.15, 1.25 | Not collected | 1.45, 0.364
 | Average disk queue length (SQL Server) | 66.765, 27.314 | 129.032, 20.665 | 182.110, 11.816
 | Maximum disk queue length (SQL Server) | 4,201.185, 5,497.980 | 3,050.015, 762.542 | 1,833.765, 775.7
 | Disk queue length: writes (SQL Server): average | 58.023, 13.532 | 114.197, 19.9 | 175.621, 10.417
 | Disk queue length: writes (SQL Server): maximum | 1,005.691, 881.892 | 1,551.437, 761.891 | 1,018.642, 768.289
 | Disk reads/sec (SQL Server): average | 245.945, 94.131 | Not collected | 137.435, 154.103
 | Disk reads/sec (SQL Server): maximum | 6,420.412, 6,450.870 | Not collected | 3,863.283, 1,494.805
 | Disk writes/sec (SQL Server): average | 458.144, 286.884 | Not collected | 984.668, 278.175
 | Disk writes/sec (SQL Server): maximum | 2,990.779, 5,164.949 | Not collected | 2,666.285, 4,105.897
Application server | Average disk queue length (crawl server) | 0.052 | 0.043 | 0.030
 | Disk queue length: writes (crawl server) | 0.029 | 0.031 | 0.026
 | Disk reads/sec (crawl server) | 5.405 | Not collected | 0.798
 | Disk writes/sec (crawl server) | 48.052 | Not collected | 102.235
 | Average memory used (crawl server) | 68% | 45% | 52%
 | Maximum memory used (crawl server) | 76% | 47% | 59%
Front-end Web server | ASP.NET requests queued (Average of all front-end Web servers) | 0 | 0 | 0
 | Average memory used (front-end Web server) | n/a | n/a | n/a
 | Maximum memory used (front-end Web server) | n/a | n/a | n/a
Test results | number of successes | 3,631,080 | 1,247,838 | 200,000
 | Number of errors | 7,930 | 304 | 0
 | Portal crawl speed (items/sec) | 82 | 148 | 81
 | Anchor crawl speed (items/sec) | 1,573 | 1,580 | 1,149
 | Total crawl speed (items/sec) | 79 | 136 | 76

Test data

This section provides test data that illustrates how the farm performed under load.

Query latency

The following graph shows the query latency percentiles for this farm as user load increases (gathered during the query throughput test). A query percentile of 95 percent means that 95 percent of the query latencies that were measured were below that value.

User Load Impact on Query Latency Percentiles

From this graph you can see that with a smaller index, this farm can maintain sub-second query latency at the 95th percentile, even as more concurrent users (22) are performing queries on this farm.

Query throughput

The following graph displays the query throughput for this farm as user load increases (gathered during the query throughput test).

User Load Impact on Query Throughput

Taking into account both this graph and the previous graph, you can see that, at 33 million items in the index, the farm can maintain sub-second latency at the 75th percentile with about 30 concurrent users. Additional concurrent user load can still be accommodated, but query latency will increase beyond the sub-second mark.

However, at 46 million items in the index, no additional concurrent user load can be accommodated, and query latency will increase.

Crawl rate

The following graph displays the crawl rate for this farm during the index acquisition stage of the search life cycle. The values represent a full crawl, in items crawled per second.

Full Crawl Rate By Content Type

The extra overhead involved to effectively crawl a SharePoint site content source results in a lower overall crawl rate in this farm.

Overall takeaway

This farm was near capacity on RAM for the query servers.

The next steps for improving the performance of this farm would be to do the following:

  • Add more RAM to both query servers. We recommend enough RAM on the query server for 33 percent of the active query component's index partition + 3 GB for the operating system and other processes.

  • Add more RAM to the database server that is hosting the property database. In this configuration, the key tables were about 92 GB in size (including indices), which suggests a 30 GB RAM requirement. However, the database server had only 32 GB RAM to serve the property database, search administration database, and the other SharePoint Server databases.

  • Add storage arrays so you can segregate databases on the database server.

  • Scale out to increase throughput or reduce query latency or both.

Although crawl speed is high on this farm with two crawl databases and four crawl components, it can be an important goal for the farm to have certain fresher parts of the index; that is, certain content that needs to be crawled very frequently. Adding another crawl database that is dedicated to hosts in the desired content source (with host distribution rules), and associating two additional crawl components to the database, would support the index freshness goal.

Large farm

The expected configuration uses one Web server, 13 application servers and three database servers, as follows:

  • One Web server is used to host a Search Center. This Web server can be omitted if searches are always performed from a content farm by using a Search service application proxy (installed on the content farm).

  • Three application servers are used for crawling and administration. This means that:

    • Central Administration and the search administration component are created on one of the application servers.

    • Each server has two crawl components. Each crawl component is attached to a separate crawl database.

  • The remaining ten application servers are used for query. The preferred configuration is to have ten index partitions. Each server then has one primary query component from one of the index partitions, in addition to a failover query component from a different index partition.

  • Four database servers support the farm. One server is used for the property and search administration databases. A second server is used for a property database. A third server is used for two crawl databases. The fourth server is used for one crawl database and the other SharePoint databases. The database servers should have a dedicated number of IOPS for each crawl, property, and search administration database (for example, use different storage arrays).

Specifications

This section provides detailed information about the hardware, software, topology, and configuration of the test environment.

Topology

This section describes the topology of the test environment.

Search Large Farm Topology

Hardware

This section describes the hardware that was used for testing.

Note:

Because the test farm was running pre-release versions of SharePoint Server 2010 and the team wanted to avoid potential problems, the hardware that was used for the servers had more capacity than is typically required.

Web servers

Web server | Front-end Web server (1)
Processor | 2px4c@2.33 GHz
RAM | 8 GB
Operating system | Windows Server 2008 R2, 64-bit
Storage | 2x148GB 15K SAS: RAID1: OS
Number of NICs | 2
NIC speed | 1 gigabit
Authentication | NTLM
Load balancer type | none
Software version | SharePoint Server 2010 (pre-release version)
Services running locally | All services

Application servers

There are 13 application servers in the farm. 10 servers are used for serving queries and three servers are used for crawling.

Server (count) | Query (10) | Crawl (2), Crawl/Administration (1)
Processor | 2px4c@2.5 GHz | 2px4c@2.5 GHz
RAM | 32 GB | 32 GB
Operating system | Windows Server 2008 R2, 64-bit | Windows Server 2008 R2, 64-bit
Storage | 2x148GB 15K SAS: RAID1: OS 4x300GB 15K SAS:RAID10:Data | 2x148GB 15K SAS:RAID1: OS/Data
Number of NICs | 2 | 2
NIC speed | 1 gigabit | 1 gigabit
Authentication | NTLM | NTLM
Load balancer type | None | None
Software version | SharePoint Server 2010 (pre-release version) | SharePoint Server 2010 (pre-release version)
Services running locally | SharePoint Server Search; Search Query and Site Settings Service | SharePoint Server Search

Database servers

There are four database servers. The first server contains the search administration and property databases; the second server contains a property database; the third contains two crawl databases; the fourth contains a crawl database and a SharePoint database. Note that the storage volumes that were created optimized the existing hardware available for the test.

Database server | Search Administration, Property, and SharePoint databases | Crawl databases
Processor | 2px4c@3.2 GHz | 4px2c@2.19 GHz
RAM | 32 GB | 16 GB
Operating system | Windows Server 2008 R2, 64-bit | Windows Server 2008 R2, 64-bit
Storage | 2x148GB 15K SAS :RAID1: OS 2x148GB 15K SAS :RAID1: TEMP Log 2x450GB 15K SAS :RAID1: TEMP DB 6x450GB 15K SAS :RAID10: Property DB 2x450GB 15K SAS :RAID1:Search Admin, SharePoint DBs 2x450GB 15K SAS :RAID1:Logs | 2x148GB 15K SAS :RAID1: OS 2x148GB 15K SAS :RAID1: TEMP Log 2x300GB 15K SAS :RAID1: TEMP DB 6x146GB 15K SAS :RAID10: Crawl DB1 6x146GB 15K SAS :RAID10: Crawl DB2 2x300GB 15K SAS :RAID1:Crawl DB Log1 2x300GB 15K SAS :RAID1:Crawl DB Log2
Number of NICs | 2 | 2
NIC speed | 1 gigabit | 1 gigabit
Authentication | NTLM | NTLM
Software version | SQL Server 2008 Enterprise | SQL Server 2008 Enterprise

Query performance data

The following measurements were taken with 103 million items in the index. The columns give the measurements taken during the specific test, and the results are at the bottom of the table. The measurements taken are described as follows:

  • Query Latency These measurements were taken during a query latency test in which a test tool submitted a set of standard set of queries as one user and measured the resulting latency. No crawls were under way during the test.

  • Query Throughput These measurements were taken during a query throughput test in which a test tool submitted a standard set of queries against the farm as an increasing number of concurrent users (up to 120) and measured the resulting latency and throughput. No crawls were under way during the test.

 | Scorecard metric | Query throughput
CPU metrics | Average SQL Server CPU (property database server) | 34%
 | Average front-end Web server CPU | 45%
 | Average query server CPU | 20%
Reliability | Failure rate | 0%
 | Front-end Web server crashes | 0
 | Application server crashes | 0
SQL Server (property database server) | Cache hit ratio (SQL Server) | 100%
 | SQL Server locks: average wait time (ms) | 0
 | SQL Server locks: lock wait time (ms) | 0
 | SQL Server locks: deadlocks/s | 0
 | SQL Server latches: average wait time (ms) | 1.401
 | SQL Server compilations/sec | 73.349
 | SQL Server statistics: SQL Server re-compilations/s | 0.006
 | Read/write ratio (IO per database) | 0.81
 | Average disk queue length (SQL Server) | 0.037
 | Disk queue length: writes (SQL Server) | 0.003
 | Disk reads/sec (SQL Server) | 9.88
 | Disk writes/sec (SQL Server) | 354.1
Application server | Average disk queue length (query server) | 0.002
 | Disk queue length: writes (query server) | 0.002
 | Disk reads/sec (query server) | 0.035
 | Disk writes/sec (query server) | 6.575
 | Average memory used (query server) | 6.548%
 | Maximum memory used (query server) | 6.601%
Front-end Web server | ASP.NET requests queued (average of all front-end Web servers) | 0
 | Average memory used (front-end Web server) | 18.081%
 | Maximum memory used (front-end Web server) | 19.983%
Test results | Number of successes | 10,925
 | Number of Errors | 0
 | Query UI latency (75th percentile) | 3.431 sec
 | Query UI latency (95th percentile) | 3.512 sec
 | Query throughput | 36.42 request/sec

Crawl performance data

The following measurements were taken during initial, sequential full crawls of the given content source. The content size is given in millions of items. The columns give the measurements that were taken during the specific crawl, and the results are at the bottom of the table.

 | Scorecard metric | SharePoint content (3.5 million) | File share (1 million)
CPU metrics | Average SQL Server CPU (crawl database server, property database server) | 15.74%, N/A | 24%, 6.6%
 | Maximum SQL Server CPU (crawl database server, property database server) | 100%, N/A% | 100%, 45%
 | Average indexer CPU | 44% | 49%
Reliability | Failure rate | 0.0% | 0.00%
 | Front-end Web server crashes | 0 | 0
 | Application server crashes | 0 | 0
SQL Server (crawl database server, property database server) | Cache hit ratio (SQL Server) | 99.8%, N/A% | 99.797%, 99.49%
 | SQL Server locks: average wait time [ms] | 734.916, N/A | 1,165, 5.866
 | SQL Server locks: maximum wait time [ms] | 15,335, N/A | 28,683, 210.5
 | SQL Server locks: average lock wait time [ms] | 108.98, N/A | 847.72, 5.325
 | SQL Server locks: maximum lock wait time [ms] | 17,236.96, N/A | 124,353, 12,920
 | SQL Server locks: deadlocks/s | 0, N/A | .012, 0
 | SQL Server latches: average wait time [ms] | 1.4, N/A | 2.233, 40.6
 | SQL Server latches: maximum wait time [ms] | 1,606, N/A | 917.8, 1,895
 | SQL Server compilations/sec: average | 24.28, N/A | 72.7, 11.39
 | SQL Server compilations/sec : maximum | 416, N/A | 460, 76.62
 | SQL Server statistics: SQL Server re-compilations/sec: average | 0.560, N/A | 0.295, .099
 | SQL Server statistics: SQL Server re-compilations/sec: maximum | 0.24, N/A | 17.50, 17.393
 | Read/write ratio (IO per database): maximum | 20.3, N/A | 1.18/.214
 | Average disk queue length (SQL Server) | 90.113, N/A | 138.64, 27.478
 | Maximum disk queue length (SQL Server) | 3,179, N/A | 2,783.543, 847.574
 | Disk queue length: writes (SQL Server): average | 86.93, N/A | 130,853, 26.086
 | Disk queue length: writes (SQL Server): maximum | 1,882, N/A | 2,781.197, 884.801
 | Disk reads/sec (SQL Server): average | 99, N/A | 147.462, 159.159
 | Disk reads/sec (SQL Server): maximum | 3,772, N/A | 2,403.336, 896.462
 | Disk writes/sec (SQL Server): average | 373, N/A | 475.886, 539.497
 | Disk writes/sec (SQL Server): maximum | 18,522, N/A | 2,031.888, 4,174.271
Application server | Average disk queue length (crawl server) | 0.075 | .063
 | Disk queue length: writes (crawl server) | 0.046 | 0.053
 | Disk reads/sec (crawl server) | 1.958 | 1.693
 | Disk writes/sec (crawl server) | 62.33 | 101.093
 | Average memory used (crawl server) | 59% | 56.38%
 | Maximum memory used (crawl server) | 70% | 58.93%
Front-end Web server | ASP.NET requests queued (Average of all front-end Web servers) | N/A | N/A
 | Average memory used (front-end Web server) | N/A | N/A
 | Maximum memory used (front-end Web server) | N/A | N/A
Test results | Number of successes | 1,909,739 | 1,247,838
 | Number of errors | 9,361 | 331
 | Portal crawl speed (items/sec) | 70.3 | 131.44
 | Anchor crawl speed (items/sec) | 764 | 525.84
 | Total crawl speed (items/sec) | 64 | 105

Recommendations and troubleshooting

The following sections provide recommendations for how to determine the hardware, topology, and configuration that you need to deploy environments that are similar to these scenarios and how to optimize the environment for appropriate capacity and performance characteristics.

Recommendations

This section describes specific actions you can take to optimize the environment for appropriate capacity and performance characteristics.

Hardware recommendations

For specific information about overall minimum and recommended system requirements, see Hardware and software requirements (SharePoint Server 2010). Note that requirements for servers that were used for search supersede the overall system requirements. Use the following recommended guidelines for RAM, processor, and IOPS to meet performance goals.

Search sizing

This section explains the search system, including sizing requirements and guidelines, per component.

SharePoint Server 2010 can be deployed and configured in a wide variety of ways. As a result, there is no simple way to estimate how many users or items can be supported by a given number of servers. Therefore, make sure that you conduct testing in your own environment before you deploy SharePoint Server 2010 in a production environment.

Search query system

This section shows the components of the search query system for a given Search service application. The sizing requirements for each component are listed in the Scaling details table after the following diagram.

Search Query System

Object descriptions

The following list defines the search query system objects that are in the previous diagram:

  • Search proxy This is the Search service application proxy that is installed on any farm that consumes search from this Search service application. It runs in the context of the Web applications that are associated with the Search service application proxy.

  • Search Query and Site Setting Service This is also known as the query processor. Receiving the query from a Search service application proxy connection, a query processor does the following:

    • Sends the query to one active query component for each index partition (or to the property database or both, depending on the query)

    • Retrieves Best Bets and removes duplicates to get the results set

    • Security trims the results based on security descriptors in the search administration database

    • Retrieves the metadata of the final results set from the property database

    • Sends the query results back to the proxy

  • Index partition This is a logical group of query components, which represents a subset of the full-text index. The sum of index partitions composes the full-text index. However, note that query components contain the actual subset of the index. An index partition is associated with one property database.

  • Search query component A query component contains all or part of the full-text index. When queried by a query processor, the query component determines the best results from its index and returns those items. A query component can be created as either of the following:

    • Active, which means that it will respond to queries by default. Adding multiple active query components for the same index partition will increase throughput.

    • Failover, which means that it will only respond to queries if all active components for the same index partition have failed.

  • Search administration database Created at the same time as the Search service application, the search administration database contains the Search service application-wide data used for queries like Best Bets and security descriptors in addition to application settings that are used for administration.

  • Property database A property database contains the metadata (title, author, related fields) for the items in the index. The property database is used for property-based queries in addition to retrieving metadata that is needed for displaying the final results. If multiple index partitions exist, the index partitions can be mapped to different property databases.

Scaling details

Object Scale considerations RAM IOPS (read/write)

Search proxy

This scales with the front-end Web servers on which it is associated.

N/A

N/A

Search Query and Site Settings Service

This service, which is installed in the Services on Server page in Central Administration, should be started on each server with a query component. It can be moved to a separate server (or pair, for high availability), to avoid using RAM on the servers that contain the query components. Also, if a custom security trimmer is used, it can affect CPU and RAM resources.

This uses RAM (process cache) for caching security descriptors for the index.

N/A

Index partition

Increasing the number of index partitions decreases the number of items in the index partition, and this reduces the RAM and disk space that is needed on the query server that hosts the query component assigned to the index partition.

N/A

N/A

Query component

Each active query component on a server consumes memory when it is serving queries. Each active query component is created or modified as part of the topology of a Search service application. Both active and failover components consume IO when crawling is occurring. Servers can be dedicated to query components (for example, two active and two failover on the same server), assuming that RAM and IO requirements have been met.

When possible, dedicate at least two CPU cores per active component per server, and at least one CPU core per failover component per server.

For each active query component on an application server, 33% of its index should be in RAM (operating system cache).

2 K needed per pair (active/failover) of query components on a given server.

The query component needs IO for:

Loading the index into RAM for queries

Writing index fragments that are received from each crawl component

Merging index fragments into its index, such as during a master merge

Search administration database

For each query, Best Bets and security descriptors are loaded from the search administration database. Ensure that the database server has enough RAM to serve this from cache. When possible, avoid placing this on a server with a crawl database, because the crawl database tends to reset the cache of its database server.

Ensure that the database server has enough RAM to keep the critical table (MSSSecurityDescriptors) in RAM.

700

Property database

For each query, metadata is retrieved from the property database for the document results, so you can add RAM to the database server to improve performance. If multiple index partitions exist, you can partition the property database and move to a different database server to decrease RAM and IO requirements.

Ensure that the database server has enough RAM to keep 33% of the critical tables (MSSDocSDIDs + MSSDocProps + MSSDocresults) in cache.

2 K

30% read, 70% write

Search crawl system

This section shows the components of the search crawl system. The sizing requirements of each component appear in the table that follows the diagram.

Search Crawl System

Object descriptions

This section defines the search crawl system objects in the previous diagram:

  • Administration component An administration component is used when a crawl is started, in addition to when an administration task is performed on the crawl system.

  • Crawl component A crawl component processes crawls, propagates the resulting index fragment files to query components, and adds information about the location and crawl schedule for content sources to its associated crawl database.

  • Search administration database The search administration database, which is created at the same time as the Search service application, stores the security descriptors that are discovered during the crawl, in addition to the application settings that are used for administration.

  • Crawl database A crawl database contains data that is related to the location of content sources, crawl schedules, and other information that is specific to crawl operations. They can be dedicated to specific hosts by creating host distribution rules. A crawl database only stores data. The crawl component that is associated with the given crawl database does the crawling.

  • Search Query System

Scaling details

Object | Scale considerations | RAM | IOPS (Optionally, % read/write)
Administration component | The single administration component is not scalable. By default, it is located on a server that is hosting a crawl component (and Central Administration, on smaller farms). | Minimal | Minimal
Crawl component | Crawl components aggressively use CPU bandwidth. Optimally, a given crawl component can utilize four CPU cores. RAM is not as critical. In larger farms, dedicating servers to host crawl components minimizes the crawler effect on other components (especially using crawl components associated with different crawl databases, if redundancy is desired). | Moderate. Note that when crawling East Asian documents, RAM requirements will increase due to the word breakers. | 300-400
Search administration database | See Search query system above. When possible, avoid locating this on a server with a crawl database, because the crawl database tends to reset the cache of its database server. | See Search query system above. | 700
Crawl database | Crawl databases aggressively use IO bandwidth. RAM is not as critical. A crawl database needs 3.5 K IOPS for crawling activities; it will consume as much as 6 K IOPS, based on the available bandwidth. | Moderate | 3.5 - 7 K 73% read, 27% write

Calculate storage sizing

Calculate the following factors to help estimate storage requirements. The sizing factors are based on an internal pre-deployment system with an index that contains primarily SharePoint content (the size of the content databases is 13.3 terabytes). Overall, SharePoint search required approximately 20 percent of the content database disk space. As stated previously, make sure that you conduct testing in your own environment before you deploy SharePoint Server 2010 in a production environment.

Caveats:

  • The corpus that was used to derive these numbers was primarily (English) SharePoint content, so if your content differs (for example, it consists mostly of file shares or non-SharePoint HTTP sites), you will need to allow for more variation.

  • Even if the content is primarily SharePoint content, you can still vary the coefficients in the following circumstances:

    • If you have large document repositories, the coefficients will be significantly larger.

    • If the content is primarily images, you might be able to reduce the coefficients.

    • Content in a different language will probably affect the coefficients.

1. Calculate content database sizing factor (ContentDBSum)

Determine the sum of the SharePoint content databases that will be crawled. This is the ContentDBSum value that will be used as the correlation in the next storage computations.

2. Calculate index-related sizes (TotalIndexSize and QueryComponentIndexSize)

Determine the size of the total index (which is located on the query components and is used for full text queries):

Multiply ContentDBSum by .035. This is the TotalIndexSize before you partition and reserve space for merges and repartitioning.

Next, determine the number of index partitions you will have based on your scenario. A general guideline is that an index partition should have between 5 million and 10 million items. When you have determined the number of index partitions, you can calculate the size of the query component storage.

  • Divide TotalIndexSize by (number of index partitions). This is the QueryComponentIndexSize. It is used to calculate the following sizes:

    • For RAM, multiply QueryComponentIndexSize by 0.33. This is the minimum of RAM required for this query component, if it is active.

      • If the component is a failover component, it does not require the RAM until it becomes active.

      • For a given server, having multiple active query components on the same server means that you need to sum each active query component's RAM to arrive at the RAM needs for the server.

    • For disk storage, use QueryComponentIndexSize in the following ways to estimate disk requirements, depending on whether you will ever repartition the index (meaning you expect the index to grow greater than the 10 million per partition boundary):

      • Multiply QueryComponentIndexSize by 3 to calculate disk storage for a single query component to allow room for index merging.

      • Multiply QueryComponentIndexSize by 4 to calculate disk storage for a single query component to allow room for index repartitioning.

For a given server, having multiple query components on the same server means that you have to arrange for storage for each of the query components given the IOPS requirements in the "Scaling Details" section of the "Search Query System" section earlier in this article.

3. Calculate property database sizes

Determine the size of the property databases in the following way:

  • Multiply ContentDBSum by .015. This is the TotalPropertyDBSize before partitioning.

  • Multiply ContentDBSum by .0031. This is the TotalPropertyDBLogSize before partitioning. This assumes that you use the simple recovery model for SQL Server databases.

  • Multiply ContentDBSum by .00034. This is the property database TempDBSize. Because we recommend having 33 percent of the key tables in the property database in RAM, use of the temporary database is not heavy.

Next, determine the number of property databases you will have, based on your scenario. A general guideline is that a property database should contain up to 50 million items, assuming that there are no query performance issues and that you have a limited number of managed properties (the standard configuration).

  • Divide TotalPropertyDBSize by (number of property databases). This is the PropertyDatabaseSize.

  • Divide TotalPropertyDBLogSize by (number of property databases). This is the PropertyDatabaseLogSize.

  • For RAM, multiply PropertyDatabaseSize by 0.33. This is the minimum amount of RAM that is recommended for this property database.

For a given database server, having multiple property databases on the same server means that you have to arrange for storage and RAM for each of the property databases, given the IOPS and RAM requirements in the "Scaling Details" section of the "Search Query System" section, earlier in this article.

4. Calculate crawl database sizes

Next, determine the size that is needed for the crawl database in the following way:

  • Multiply ContentDBSum by .046. This is the TotalCrawlDBSize before partitioning.

  • Multiply ContentDBSum by .011. This is the TotalCrawlDBLogSize before partitioning. This assumes that you use the simple recovery model for SQL Server databases.

  • Multiply ContentDBSum by .0011. This is the crawl database TempDBSize. Because the search crawl system affects the performance of the temporary database, we do not recommend locating other databases on servers that are hosting the crawl database or databases that would be affected by this usage.

Next, determine the number of crawl databases you will have, based on your scenario. A general guideline is that a crawl database should contain up to 25 million items, assuming there are no crawl performance issues.

  • Divide TotalCrawlDBSize by (number of crawl databases). This is the CrawlDatabaseSize.

  • Divide TotalCrawlDBLogSize by (number of crawl databases). This is the CrawlDatabaseLogSize.

For a given database server, having multiple crawl databases on the same server means that you need to arrange for storage for each of the crawl databases, given the IOPS requirements in the "Scaling Details" section of the "Search Crawl System" section earlier in this article. For RAM, we recommend at least 16 GB on database servers that are dedicated to crawl databases.

5. Calculate search administration database size

Determine the size of the search administration database (assuming Windows authentication) in the following way:

  • Multiply number of items in the index (in millions) by 0.3. This is the SearchAdminDBSize.

  • For RAM, multiply SearchAdminDBSize by 0.33. This is the minimum amount of RAM that is recommended for this search administration database.

For a given database server, having multiple databases on the same server means that you have to arrange for storage and RAM for each of the databases, given the IOPS and RAM requirements in the "Scaling Details" section of the "Search Query System" section earlier in this article.

Optional: Calculate backup size

To determine the disk space that is required for backing up one Search service application, perform the following calculation:

  • TotalCrawlDBSize + TotalPropertyDBSize + TotalIndexSize + SearchAdminDBSize = the basic backup size.

This basic backup size is a starting point. It will also be affected by the following:

  • Additional index size that is included in the TotalIndexSize for any crawling that has occurred since the last master merge.

  • Growth over time due to additional items, queries, and security descriptors.

In addition, you will probably want to retain multiple backups from different times, in addition to reserving space for the next backup.

Sizing exercise

Using the sizing factors previously mentioned, the following is a sizing exercise for a 100 million item farm that will serve queries primarily over SharePoint content. Using the large farm scenario, you would assume the following:

  • Ten logical index partitions are needed to accommodate the 100 million items.

  • To serve queries, you need 10 active query components, one per index partition.

  • Query redundancy is important, so you have 10 failover query components, one per index partition (located on a different server than the active component).

To determine storage and RAM needs, perform the following steps:

  1. In a SharePoint content farm with multiple content databases, add together the content databases you want to crawl to get 20 terabytes.

  2. Using the index coefficient above, multiply 20 terabytes by 0.035 (Index Coefficient) to get 716.8 GB. This is the TotalIndexSize. If you had only one partition, this would be the size of the index, at rest.

  3. Divide TotalIndexSize by the number of partitions: 716.8 GB / 71.68 GB. This is the index size that is required per query component (QueryComponentIndexSize), with one index partition. The size is the same for either active or failover query components.

  4. Multiply TotalIndexSize by 4 if you plan to repartition; otherwise, multiply by 3 to support master merges. 71.68 GB * 4 = 286.72 GB. You should have 286.72 GB available on the query server's disk to support one query component. If you have two query components on the same application server (as in the active/failover topology that we recommended in the large farm scenario), you would have a disk drive layout as follows:

    1. Operating system drive (standard size).

    2. Extra storage system 1: Query Component1_Share (size= at least 300 GB), used for active query component from Index partition 1.

    3. Extra storage system 2: Query Component2_Share (size = at least 300 GB), used for failover (mirror) query component from Index partition 2.

Note:

On this application server, with one active query component, you would want a minimum of 71.68 GB * 0.33 = 23.65 GB of RAM + 3 GB RAM for the operating system, (we use 32 GB), to cache most of the queries.

Software limits

The following table gives software boundaries that are imposed to support an acceptable search experience.

Object | Limit | Additional notes
SharePoint Search Service Application | Recommended maximum of 20 per farm. Absolute maximum of 256 total service applications. | You can deploy multiple Search service applications on the same farm, because you can assign search components and databases to separate servers.
Indexed documents | Overall recommended maximum of 10 million items per index partition and 100 million items per Search service application. | SharePoint search supports index partitions, which each contain a subset of the entire search index. The recommended maximum is 10 million items for a given partition. The overall recommended maximum number of items, including people, list items, documents, and Web pages is 100 million.
Index partitions | Recommended maximum of 20 per Search service application | This index partition is a logical subset of the index of the Search service application. The recommended limit is 20. Increasing the number of index partitions decreases the number of items in the index partition, which reduces the RAM and disk space that is needed on the query server that hosts the query component assigned to the index partition. However, this can affect relevance because the number of items in the index partition is decreased. The hard limit of index partitions is 128.
Property database | Recommended limit is 10 per Search service application | The property database stores the metadata for items in each associated index partition that is associated with it. An index partition can only be associated with one property store. The recommended limit is 10 per Search service application, with a hard limit of 255 (same as index partitions).
Crawl databases | The limit is 32 crawl databases per application | The crawl database stores the crawl data (including time and status) about all items that were crawled. The recommended limit is 25 million items per crawl database, or four total databases for a Search service application.
Crawl components | Recommended limit per application is 16 total crawl components, with two per crawl database, and two per server, assuming the server has at least eight processors (cores). | The total number of crawl components per server must be fewer than 128/(total query components) to minimize propagation I/O degradation. Exceeding the recommended limit might not increase crawl performance. In fact, crawl performance might decrease based on available resources on crawl server, database, and content host.
Query components | Recommended limit per application is 128, with 64/(total crawl components) per server. | The total number of query components is limited by the crawl components' ability to copy files. The maximum number of query components per server is limited by the query components' ability to absorb files propagated from crawl components.
Concurrent crawls | Recommended limit is 20 crawls per Search service application | This is the number of crawls under way at the same time. Crawls are extremely expensive search tasks that can affect database load in addition to other application load. Exceeding 20 simultaneous crawls can cause the overall crawl rate to degrade.
Content sources | Recommended limit of 50 content sources per Search service application. | The recommended limit can be exceeded up to the hard limit of 500 per Search service application. However, fewer start addresses should be used, and the concurrent crawl limit needs to be followed.
Start addresses | Recommended limit of 100 start addresses per content source. | The recommended limit can be exceeded up to the hard limit of 500 per content source. However, fewer content sources should be used. A better approach when you have many start addresses is to put them on an HTML page as links, and then have the HTTP crawler crawl the page, following the links.
Crawl rules | Recommended limit of 100 per Search service application | The recommendation can be exceeded; however, display of the crawl rules in search administration is degraded.
Crawl logs | Recommended limit of 100 million per application | This is the number of individual log entries in the crawl log. It will follow the indexed documents limit.
Metadata properties recognized per item | The hard limit is 10,000. | This is the number of metadata properties that, when an item is crawled, can be determined (and potentially mapped and used for queries).
Crawled properties | 500,000 per Search service application | These are properties that are discovered during a crawl.
Managed properties | 100,000 per Search service application | These are properties used by the search system in queries. Crawled properties are mapped to managed properties. We recommend a maximum of 100 mappings per managed property. Exceeding this limit might degrade crawl speed and query performance.
Scopes | Recommended limit of 200 per site | This is a recommended limit per site. Exceeding this limit might degrade the crawl efficiency in addition to affecting end-user browser latency if the scopes are added to the display group. Also, the display of the scopes in search administration degrades as the number of scopes increases past the recommended limit.
Display groups | 25 per site | These are used for a grouped display of scopes through the user interface. Exceeding this limit will start degrading the search administration scope experience.
Scope rules | Recommended limit is 100 scope rules per scope, and 600 total per Search service application. | Exceeding this limit will degrade freshness and delay potential results from scoped queries.
Keywords | Recommended limit of 200 per site collection | The recommended limit can be exceeded up to the maximum (ASP.NET-imposed) limit of 5,000 per site collection with five Best Bets per keyword. Display of keywords on the site administration user interface will degrade. The ASP.NET-imposed limit can be modified by editing the Web.config and Client.config files (MaxItemsInObjectGraph).
Authoritative pages | Recommended limit of one top-level authoritative page, and as few as possible second-level and third-level pages, while achieving desired relevance. | The hard limit is 200 per relevance level per Search service application, but adding pages might not achieve the desired relevance. Add the key site to the first relevance level. Add subsequent key sites as either second or third relevance levels, one at a time, evaluating relevance after each addition to ensure that the desired relevance effect is achieved.
Alerts | Recommended limit of 1,000,000 per Search service application | This is the tested limit.
Results removal | 100 URLS in one operation | This is the maximum recommended number of URLs that should be removed from the system in one operation.

Optimizations

The following sections discuss methods for improving farm performance.

Many factors can affect performance. These factors include the number of users; the type, complexity, and frequency of user operations; the number of post-backs in an operation; and the performance of data connections. Each of these factors can have a major effect on farm throughput. You should carefully consider each of these factors when you plan the deployment.

Capacity and performance of a search system is highly dependent on its topology. You can either scale up by increasing the capacity of the existing server computers or scale out by adding servers to the topology.

Search query system optimizations

In general, search query optimizations follow one of the following scenarios:

  • Users are complaining about query latency, so I have to decrease query latency.

  • Many more search requests than planned are occurring, and performance has started to degrade, so I have to increase query throughput.

Scaling out or scaling up the query subsystem always involves creating more query components. If you have excess capacity (RAM, IO, and CPU) on an existing query server, you can choose to scale up by creating more query components on that server, increasing RAM, CPU, or IO if you hit a bottleneck. Otherwise, you can choose to create more query components (or move the existing components) to a new server to scale out.

The following section shows various ways of adding query resources to the search query system.

How to reduce query latency

Adding query components to reduce latency

The following graph illustrates the effect of adding active query components on different servers without changing index size.

User Load Impact on Query Latency (75th Percentile

Add more active query components to retain sub-second query latency as the user load on the system (measured in simultaneous user queries) increases.

Adding query processors (Query and Site Settings Service) to reduce latency

The following graph illustrates the effect of adding active query processor services on different servers without changing any other parts of the query system.

User Load Impact on Query Latency (75th Percentile

Start other active instances of the Query and Site Settings Service on different servers to retain sub-second query latency as the user load on the system (measured in simultaneous user queries) increases.

Scale out to increase query throughput

Adding query components to increase query throughput

The following graph illustrates the effect of adding active query components on different servers without changing index size.

User Load Impact on Query Throughput with Differen

Add more active query components to increase query throughput as the user load on the system (measured in simultaneous user queries) increases.

Adding query processors (Query and Site Settings Service) to increase query throughput

The following graph illustrates the effect of adding active query processor services on different servers without changing any other parts of the query system.

User Load Impact on Query Throughput with Addition

Takeaway: Start other active instances of the Query and Site Settings Service on different servers to increase the throughput as the user load on the system (measured in simultaneous user queries) increases.

Search crawl system optimizations

In general, you perform search crawl optimizations when users complain about results that should be there but are not, or are there but are stale.

When you try to crawl the content source start address within freshness goals, you can run into the following crawl performance issues:

  • Crawl rate is low due to IOPS bottlenecks in the search crawl subsystem.

  • Crawl rate is low due to a lack of CPU threads in the search crawl subsystem.

  • Crawl rate is low due to slow repository responsiveness.

Each of these issues assumes that the crawl rate is low. See Use search administration reports (SharePoint Server 2010) (given the software life cycle phases) to establish a baseline for the typical crawl rate for the system over time. When this baseline regresses, the following sub-sections will show various ways of addressing these crawl performance issues.

Crawl IOPS bottleneck

After determining that a crawl database or property database is a bottleneck, you have to scale up or scale out the crawl system to address it by using the appropriate resolutions. The following table shows how adding IOPS (another crawl database) yields an improved crawl rate (until adding more components makes it the bottleneck again).

Takeaway: Always check the crawl database to make sure it is not the bottleneck. If crawl database IOPS are already bottlenecked, adding crawl components or increasing the number of threads does not help.

Topology (Crawl Component/ Crawl database) | CPU percent | RAM: buffer cache hit ratio % | Read latency | Write latency | Crawl speed (docs/sec)
2 / 1 database | 19.5 | 99.6 | 142 ms | 73 ms | 50
4 / 2 database | 8.502 | 99.55 | 45 ms | 75 ms | ~75
6 / 2 database | 22 | 99.92 | 55 ms | 1050 ms | ~75

Crawl CPU thread bottleneck

If you have a large number of hosts and have no other crawl bottlenecks, you have to scale up or scale out the crawl system by using the appropriate resolutions. The crawler can accommodate a maximum of 256 threads per Search service application. We recommend having a quad-core processor to realize the full benefit of the maximum number of threads. When it is conclusively determined that the repository is serving data fast enough (see the "Crawl bottleneck on repository" section later in this article), the crawl throughput can be increased by requesting data faster from the repository by increasing the number of crawler threads. This can be achieved in three ways as follows:

  1. Change the indexer performance level to Partially Reduced or Maximum by using the following Windows PowerShell cmdlet:

    • Get-SPEnterpriseSearchService | Set-SPEnterpriseSearchService -PerformanceLevel "Maximum"

      The Maximum value is used if you are using a processor with fewer than four cores.

  2. Use crawler impact rules to increase the number of threads per host. This should take into consideration that a maximum of 256 threads is supported, and assigning a large number of threads to a few hosts might result in slower data retrieval from other repositories.

  3. If there are a large number of hosts, the ideal solution is to add another crawl component on a separate indexer to crawl the hosts that are to be indexed faster.

The ideal way to seamlessly increase crawl throughput is to add another indexer if the search subsystem is not bottlenecked on IOPS and the repository is serving content fast.

Crawl bottleneck on repository

Sometimes, when a SharePoint Web application with many nested site collections or remote file shares is being crawled, the search crawler might be bottlenecked on the repository. A repository bottleneck can be identified if the following two conditions are true:

  • There is a low (less than 20 percent) CPU utilization on the crawl servers.

  • There is a large number of threads (almost all in the worst case) waiting on the network.

    The bottleneck is identified by looking at the OSS Search Gatherer/Threads Accessing Network performance counter.

What this situation represents is that the threads are blocked while waiting for data from the repository. In an environment with multiple content sources, it might be useful to identify the host whose responsiveness is slow by pausing all other crawls, and then performing a crawl using the content source that has the suspected host as one of its start address.

When a problematic host has been identified, you need to investigate the cause of the slow response times. For SharePoint content in particular, refer to the Capacity management and sizing for SharePoint Server 2010 article.

The crawl throughput can be significantly improved by performance tuning the crawled data repositories.

Troubleshooting performance and scale issues

Understanding the load on the farm is critical before troubleshooting performance. The following section uses data from a live farm that contains 60 million items to show various system metrics at different phases in the search life cycle.

Performance samples during search life cycle

Metric | Index acquisition | Index maintenance | Index cleanup
SQL Server CPU (in %) Property database / crawl database | 14.8 / 19.13 | 35 / 55 | 11 / 63
SQL Server page life expectancy Property database / crawl database | 60,548 / 5,913 | 83,366 / 5,373 | 33,927 / 2,806
SQL Server average disk sec/ write Property database / crawl database | 9 ms / 48 ms MAX: 466 ms / 1,277 ms | 12 ms / 28 ms | 20 ms / 49 ms MAX: 253 ms / 1156 ms
SQL Server average disk sec/ read Property database / crawl database | 8 ms / 43 ms MAX: 1,362 ms / 2,688 ms | 11 ms / 24 ms | 24 ms / 29 ms MAX: 2 039 ms / 2 142 ms
Crawler CPU (in %) Index server 1 (2 crawl components) / Index server 2 (2 crawl components) | 18 / 11 | 25.76 / 21.62 | 8.34 / 7.49 Maximum peaks to 99%
Disk Writes/Sec Index server 1 (2 crawl components) / Index server 2 (2 crawl components) | 64.32 / 42.35 | 93.31 / 92.45 | 99.81 / 110.98
Disk reads/sec Index server 1 (2 crawl components) / Index server 2 (2 crawl components) | 0.23 / 0.20 | 4.92 / 2.03 | 1.38 / 1.97
Average disk sec/ write Index server 1 (2 crawl components) / Index server 2 (2 crawl components) | 11 ms / 11 ms | 1 ms / 2 ms | 5 ms / 4 ms MAX: 1,962 ms / 3,235 ms
Average disk sec/ read Index server 1 (2 crawl components) / Index server 2 (2 crawl components) | 1 ms / 2 ms | 12 ms / 11 ms | 10 ms / 16 ms MAX: 2,366 ms / 5,206 ms

Troubleshooting query performance issues

SharePoint search has an instrumented query pipeline and associated administration reports that can help you troubleshoot server-based query performance issues. For more information, see Use search administration reports (SharePoint Server 2010). This section shows reports and then uses them to help understand how to troubleshoot issues on the server. In addition, this section also contains tools and guidance that is available to assist in addressing client-based (browser) performance issues.

Server-based query issues

Server-based query performance issues can be segregated into the following two levels:

  • Search front-end performance issues

  • Search back-end performance issues

The following two subsections give the details for troubleshooting each of them. Note that these are high-level guidelines.

Front-end performance issues

The first step in troubleshooting front-end performance should be reviewing the Overall Query Latency search administration report. The following is an example report:

Search Query Latency Sample Report

In this report, front-end performance is represented by the following data series:

  • Server Rendering: This value represents, for the given minute, the average time spent per query in the various search Web Parts in the front-end Web server.

  • Object Model: This value represents, for the given minute, the average time spent in communication between the front-end Web server and the search back-end.

Troubleshooting server rendering issues

Server rendering issues can be affected by anything that occurs on the front-end Web server that is serving the search results page. In general, you want to understand how much time is being spent in retrieving the various Web Parts to find where the extra latency is being added. Enable the Developer Dashboard on the search results page for detailed latency reporting. Common issues that manifest as excess server rendering latency include the following:

  • Platform issues such as the following:

    • Slow Active Directory lookups

    • Slow SQL Server times

    • Slow requests to User Profile Application in people queries in SharePoint Server 2010 or all queries in FAST Search Server 2010 for SharePoint

    • Slow requests for fetching the user preferences

    • Slow calls to get the user's token from secure token service

  • Code-behind issues such as modified search results pages (such as results.aspx and peopleresults.aspx) that are checked in but not published.

Troubleshooting object model issues

Object model issues can be affected by the following:

  • Issues with the Windows Communication Foundation (WCF) layer such as the following:

    • Timeouts and threadabortexception in WCF calls in the deployment.

    • Slow communication between the front-end Web server and application server. This can be due to IPsec issues or slow network connections.

  • Issues with communication between the content and service farms (if configured).

Back-end performance issues

The first step in troubleshooting back-end query performance should be reviewing the SharePoint Backend Query Latency search administration report. The following is an example report:

Search Backend Query Latency Sample Report

In this report, back-end performance is represented by the following data series (each is the average time spent per query, in the given minute), grouped by functional component:

  • Query Component:

    • Full-text Query: The average time spent querying the full-text index for results.

  • Property database:

    • Multiple Results Retrieval: The average time spent retrieving document metadata, such as title or author, that is to appear in the query results.

    • Property Store Query: The average time spent querying the property database for property-based queries.

  • Search Administration database:

    • Best Bets: The average time spent determining whether there are Best Bets available for the query terms.

    • High Confidence Results: The average time spent retrieving high confidence results for queries.

  • Query Processor:

    • Security Trimming: The average time spent removing items the user does not have access to.

    • Duplicate Removal: The average time spent removing duplicates.

    • Results Population: The average time spent creating the in-memory table to be passed back to the object model.

Troubleshooting query component performance issues

Query components are resource intensive, especially when the component is active — that is, responding to query requests. Troubleshooting query component performance is one of the more complicated search areas. The following are general areas to consider:

  • The most resource intensive query component event is the master merge, where shadow indexes are merged with the master index. This event occurs independently for each query component. An example of the effect can be seen in the SharePoint Backend Query Latency report mentioned earlier in this article, at times prior to 1:30 P.M. If this event is affecting query latency, it is possible to define blackout periods during which a master merge event is avoided unless the percentage of change exceeds the defined limit.

  • Sustained high values for the environment indicate that you should probably do the following:

    • Examine the index size for each component on the server. Ensure that enough RAM exists on the server to allow approximately 33 percent of the sum of index sizes to be cached.

    • Examine the query component IO channel on the server. Ensure that you are not experiencing an IO bottleneck.

    • If IO and RAM are not the source of the performance issue, you should repartition the query components (adding index partitions), scaling out the additional query components to new servers.

Troubleshooting property database issues

Examine SQL Server health by using concepts in Storage and SQL Server capacity planning and configuration (SharePoint Server 2010). If you are executing custom queries, you might need to look at hints to guide the correct the query plan.

Troubleshooting search administration database issues

Examine SQL Server health by using concepts in Storage and SQL Server capacity planning and configuration (SharePoint Server 2010).

Troubleshooting query processor issues

Troubleshooting query processor issues depends on which of the following areas of the query processor is affecting the query latency:

  • Security trimming:

    • For Windows claims, examine the Active Directory connection from the server that is hosting the query processor.

    • For all cases, the cache size that is used by the query processor can be increased if there is a correlation between a large number of SQL Server round trips (determined by SQL Server profiler). More than 25 percent of the queries should not need a SQL Server call to retrieve security descriptors from the search administration database. If they do, adjust the query processor cache size.

  • Duplicate removal:

    • Look at whether you are crawling the same content in multiple places. Disable duplicate detection in the Search Center.

  • Multiple results retrieval:

    • Examine SQL Server health by using concepts in Storage and SQL Server capacity planning and configuration (SharePoint Server 2010).

Browser-based query issues

Users can be either delighted or exasperated by the speed of search results. Page-load time is one of the important factors in users' satisfaction with the search experience. Most of the focus around page-load time is on the server side, specifically the time it takes the server to return results. Client-side rendering, however, can make up a significant portion of page-load time and is important to consider.

The search user experience is designed to provide sub-second responses for total page-load time. Out of that time, client rendering typically takes less than 280 milliseconds, depending upon the browser and rendering measurement. This experience delights users with very fast results.

Customizations to the results experience can easily degrade rendering performance. Search administrators and developers must be vigilant in measuring the rendering time after each modification to ensure that performance has not regressed significantly. Every addition to the page, from a new Web Part to a new Cascading Style Sheet style, will increase rendering time on the browser and delay results for your users. The amount of delay, however, can vary greatly based on whether you follow best practices when you customize the page.

The following are some general guidelines:

  • Basic branding and style customizations to the page should not add more than approximately 25 ms to page-load time. Measure the page-load time before and after you implement customizations to observe the change.

  • Users typically notice a change (faster or slower) in an increment of 20 percent. Keep this in mind when making changes. 20 percent of the standard rendering time is only 50 ms. (Source: Designing and Engineering Time)

  • Cascading style sheets and JScript are the most common and largest causes of high rendering performance. If you must have customized cascading style sheets and JScript, you should ensure that they are minimized to one file each.

  • JScript can load on-demand after the page renders to provide the user with visible results sooner. Details of how to do this are discussed in the performance considerations article.

  • The more customizations that are added to the page, the slower it will load. Consider whether the added functionality and style is worth the extra delay of results for your users.

In addition to these guidelines, there is a great deal of information on the Internet about how to reduce page-load time and about the effect of slow pages on the user experience.

Troubleshooting crawl performance issues

SharePoint search can experience bottlenecks in the crawl sub-system as the system moves through the index acquisition, maintenance, and deletion phases. To effectively troubleshoot crawl performance issues, the Search Health Monitoring Reports should be used with the "Common bottlenecks and their causes" section later in this article to isolate crawl issues.

Troubleshooting during the index acquisition phase

The first place to identify crawl issues is the Crawl Rate Per Content Source health report. As shown later in this article, the report gives an overview of the crawl rate for each of the content sources in the system. In general, the crawl rate should be more than 15 documents/sec for a people content source and more than 35 documents/sec for all other types of content sources.

Search Crawl Rate Sample Report

When a content source with suboptimal crawl rate is identified, we recommend the following steps:

  1. Pause all other crawls except the content source that is under investigation. Did the crawl rate improve beyond the specified 15 to 35 documents/sec goal?

  2. If the previous step does not help, then ensure that the repository that is being crawled is responsive enough and is not the cause for the slow crawl. Refer to the "Crawl bottleneck on repository" section earlier in in this article.

  3. If the repository is not the bottleneck, identify the bottleneck in the crawl server or database server and optimize around them. Guidance can be found in the "Crawl IOPS bottleneck" and "Crawl CPU thread bottleneck" sections earlier in this article.

Troubleshooting during the index maintenance phase

The primary goal during the index maintenance phase is to keep the index as fresh as possible. Two of the key indicators are the following:

  • Index freshness: Are the crawls finishing in their budgeted time and in accordance with the IT guidelines for index freshness?

  • Incremental crawl speed: If the index freshness goal is not met, investigate whether the incremental crawl speeds are 10 docs/sec for people content sources and 35 documents/sec for all other content sources. If the incremental crawl speeds are suboptimal, a bottleneck analysis should be performed on the crawled repository and the crawl subsystem as described above.

Common bottlenecks and their causes

During performance testing, several different common bottlenecks were revealed. A bottleneck is a condition in which the capacity of a particular constituent of a farm is reached. This causes a plateau or decrease in farm throughput.

The following table lists some common bottlenecks and describes their causes and possible resolutions.

Bottleneck Symptom (performance counter) Resolution

Database RAM

Property database,

Search administration database exhibit:

SQL Server buffer manager/ page life expectancy < 300(s) (should be > 1000 (s))

SQL Server buffer manager/ buffer cache hit ratio < 96% (should be > 98%)

Add memory to the database server.

Defragment the property database, if the weekly defrag rule has been disabled.

Ensure that you are using SQL Server 2008 Enterprise edition, to enable page compression.

Move the database to a separate server, and add multiple property databases, if they are necessary.

Database server IOPS

A property database or crawl database exhibits the following:

Average disk sec/read and Average Disk sec/write ~50 ms or > 50 ms

Ensure that the database server has enough RAM to keep 33 percent of the critical tables (MSSDocSDIDs + MSSDocProps + MSSDocresults) in cache.

Increase the dedicated number of IOPS for the database by doing the following:

Use different storage arrays

Optimize storage configuration; for example, by adding spindles (disk drives) to the storage array.

Run the SharePoint Health Analyzer Search - One or more property databases have fragmented indices rule, if it has been disabled.

Run the SharePoint Health Analyzer Search - One or more crawl databases have fragmented indices rule.

Ensure that you are using SQL Server 2008 Enterprise edition, to enable page compression.

Move database to separate server, adding multiple property databases or crawl databases or both, if they are necessary.

Query component IOPS

The logical disk used for a query component's index exhibits the following:

Average Disk sec/read and Average disk sec/write ~30 ms or > 30 ms for a sustained period of time (that is, most of the day; not only during an index merge).

Ensure that each application server has enough RAM to keep 33 percent of each active query component's index (on that server) in cache (operating system cache).

Increase the dedicated number of IOPS for the drive that is used for the query component's index by doing the following:

Use different storage arrays for different components.

Optimize storage configuration; for example, by adding spindles (disk drives) to the storage array.

About the author

Brion Stone is a Senior Program Manager for SharePoint Server Search at Microsoft.


Estimate performance and capacity requirements for Visio Services in SharePoint Server 2010
See Also

Published: April 14, 2011

Summary: Test how long it takes to render a data-connected Visio drawing and how many drawings can be processed per second in a given scenario.

This article describes the effects of using Visio Services in Microsoft SharePoint Server 2010 on topologies that are running SharePoint Server 2010.

In this article:

  • Test farm characteristics

  • Test results

  • Recommendations

By using Visio Services, users can view Microsoft Visio Web drawings in SharePoint Server 2010. When Web drawings are connected to external data sources, Visio Services makes it possible for users to update the appearance of Web drawings, based on underlying data changes. For more information about Visio Services, see Visio Services overview (SharePoint Server 2010).

This article discusses the effect of topology on the overall service latency (how long it takes to render a drawing) and throughput (how many drawings can be processed in a second) when a typical mix of drawings is rendered. The test outlined in this article measures performance under recommended user load and maximum user load on an instance of Visio Services that is configured with default settings.

With this information, you can better scale deployments based on latency and throughput requirements. You can either scale up by increasing the capacity of the existing servers or scale out by adding additional servers to the topology. It is important to be aware that the specific capacity and performance figures that are presented in this article differ from the figures in real-world environments. The figures presented are intended to provide a starting point for the design of an appropriately scaled environment. After you complete the initial system design, test the configuration to determine whether the system supports the factors in your environment.

For general information about how to plan and run capacity planning for SharePoint Server 2010, see Performance and capacity management (SharePoint Server 2010).

Test farm characteristics

This section describes the dataset, workloads, hardware settings, topology, and test definitions that were used during the performance and capacity testing of Visio Services.

Dataset

Visio Services capacity and performance depends on, among other factors, the makeup of the Web drawings that are hosted on the service. File-related factors that affect performance are listed in the following table.

Factor | Qualitative effect on performance
Drawing disk size | Larger files sizes increase latency on the SharePoint network.
Drawing complexity | Drawings that contain many complex shapes increase rendering latency and resource usage on the application servers.
Drawing data-connectivity | Visio Web drawings can be either static or data-connected. For static drawings, Visio Services loads drawings and renders directly to the browser. For data-connected drawings, Visio Services performs the additional step of polling the underlying data sources for fresh data and updating the drawing before rendering it to the browser. This additional step increases latency and resource usage on application servers.

To simulate the effect of these factors, files were categorized as shown in the following table.

 | Small | Medium | Large
Number of shapes | 20 | 50 | 100
Typical file size | 300 KB | 600 KB | 900 KB

If drawings were data-connected, these additional categories were used.

 | Small | Medium | Large
Number of refreshable elements | 10 | 120 | 180
Number of rows imported | 10 | 40 | 80
Percent of data change | 50% | 50% | 50%

The different file categories were then assembled into a test dataset by using the distribution shown in the following table.

Types of file | Percentage
Small static | 49
Small data-connected | 21
Medium static | 14
Medium data-connected | 6
Large static | 7
Large data-connected | 3
Note:

Data-connected files were connected to a Microsoft SQL Server data source by using Secure Store Service Authentication. This article does not cover the performance effect of drawings that are connected to other external data sources.

Workload

The following test procedure was used for each performance scenario. Note that this test assumes a farm that is dedicated to Visio Services (no other tests running on SharePoint Server) and that only one user is using the service.

Test ID Test name Test description

#1

Rendering a Typical Mix of Visio Web Drawings

  1. From the browser, a simulated user requests Visio Services to render a drawing.

  2. Visio Services renders the drawing by using the Portable Network Graphics (PNG) output format and returns it to the user via the browser. If the drawing is data-connected, the drawing is refreshed before it is rendered.

  3. Visio Services caches the drawing to reduce latency the next time that it is requested.

  4. Steps 1, 2, and 3 are repeated with files randomly selected from the Dataset without any think time between requests.

Green and red zone definitions

For each topology configuration a green zone and red zone user load was determined before throughput tests were run. These configurations are defined in the following table.

Configuration Definition

Recommended (green zone)

The user load at which the test being run consumes approximately half of the bottlenecking resource. In the case of Visio Services, this is the CPU usage on the front-end Web server (WFE).

You should expect the green zone throughput to be sustained for long periods of time in real-world deployments.

Maximum (red zone)

The user load at which maximum throughput was reached for a topology while latency was at minimum. After this point, throughput typically remained stable and latency increased.

You should expect the red zone throughput to be tolerated for a short time on a farm, but it should be avoided.

Hardware settings and topology

Lab hardware

To provide trend information, several farm configurations were used for testing with increasing computing capacity. Farm configurations ranged from two to five Web servers plus a single database server that was running SQL Server 2008. Testing was performed by using one client computer that generated all requests. All Web server computers and the database servers were 64-bit.

The following table lists the specific hardware that was used for testing.

 | DELL PE 2950 | DELL PE 2950 | DELL PE R900
Role | WFE | Application server | SQL Server-based server
Processor (CPU) | 2pX4 (Xeon L5420@2.5GHz) | 2pX4 (Xeon L5420@2.5GHz) | 4pX4 (Xeon E7330@2.4GHz)
RAM in gigabytes (GB) | 16 | 16 | 32
Operating system | Windows Server 2008 R2 Enterprise | Windows Server 2008 R2 Enterprise | Windows Server 2008 R2 Datacenter
Authentication | NTLM | NTLM | NTLM
Storage: Operating System | 4x 146 GB, 10 K RPM, RAID 0 | 4x 146 GB, 10 K RPM, RAID 0 | 2x 146 GB, 15 K RPM, RAID 1
Storage: Backups | -- | -- | 3x 300 GB, 15 K RPM, RAID 5
Storage: SQL Server data | -- | -- | 9x 300 GB, 15 K RPM, RAID 5
Storage: SQL Server logs | -- | -- | 6x 300 GB, 15 K RPM, RAID 5
Number of instances of SQL Server | 0 | 0 | 1, SQL Server 2008 SP1 CU6
Number of network adapters | 1 | 1 | 4
Network adapter speed | 1 GB | 1 GB | 1 GB
Load balancer type | NLB | Not applicable | Not applicable
ULS logging level | Medium | Medium | Medium
Antivirus settings | Microsoft Forefront | Microsoft Forefront | Microsoft Forefront

Lab software

The following table lists the specific software that was installed on the lab computers during testing.

Software | Description
Operating system | Windows Server 2008 R2 Enterprise version 6.1.7600
SQL Server version | SQL Server 2008 version 10.0.2531.0
IIS | Version 7.5.7600.16385
SharePoint Server | SharePoint Server 2010

Topology

The topologies shown in the following diagrams were used to detect scale-out performance trends.

1 WFE x 1 application server x 1 SQL Server data source (1x1x1)

2 WFE x 1 application servers x 1 SQL Server data source (2x1x1)

2 WFE x 2 application servers x 1 SQL Server data source (2x2x1)

3 WFE x 2 application servers x 1 SQL Server data source (3x2x1)

Test results

The following sections show the test results of Visio Services.

After a calibration run that is used to determine the green zone and red zone user loads, the Rendering a Typical Mix of Visio Web Drawings test was run repeatedly. Only the topology was changed, to show its progressive effect on farm performance. The requests per second (RPS) number that is reported in this article is the average RPS of a constant user load test.

Note:

All the tests reported on in this article were conducted without think time, which is a natural delay between consecutive operations. In a real-world environment, each operation is followed by a delay as the user performs the next step in the task. By contrast, in this testing, each operation was immediately followed by the next operation, which resulted in a continual load on the farm. This load introduced database contention and other factors that can adversely affect performance.

For information about bottlenecks in Visio Services, see the Common bottlenecks and their causes section later in this article.

Overall scale

The following table summarizes the effect of adding front-end Web servers and application servers to the throughput of Visio Services.

 | Recommended (green zone) requests per second | Maximum (red zone) requests per second
1x1x1 | 97.5 | 126
2x1x1 | 172.5 | 192
2x2x1 | 195 | 218
3x2x1 | 242 | 266

The following graph shows that the addition of front-end Web servers and application servers increases both green zone and red zone throughput linearly. By slope comparison, the graph of these values also shows that the addition of a front-end Web server has a larger positive effect on the throughput than the addition of application servers. This indicates that front-end Web servers can be a bottleneck for Visio Services deployments.

Throughput vs. Topology

Throughput v. topology

Hardware cost per transaction

The following table highlights the hardware cost of running the Rendering a Typical Mix of Visio Web Drawings test across topologies in the green zone.

Scorecard dashboard | 1x1x1 | 2x1x1 | 2x2x1 | 3x2x1
Average RPS (requests/sec) | 97.5 | 172.5 | 195 | 242
Average WFE server CPU resources (%) | 59.5 | 54.5 | 59.8 | 50.2
Average application server CPU resources (%) | 16.4 | 27.9 | 17.25 | 21.5
Failure rate | 0.006 | 0.006 | 0.01 | 0.02
90% QoS availability | 1 | 1 | 1 | 1
25th percentile latency (seconds) | 0.05 | 0.05 | 0.05 | 0.06
Percent time in garbage collector | WFE: 3.55 App: 6.6x10-7 | WFE: 3.11 App: 0.00014 | WFE: 3.27 App: 0.68 | WFE: 3.13 App: 0.125
Number of WFE server crashes | 0 | 0 | 0 | 0
Average memory used (bytes) | WFE: 210,728,784 App: 210,172,592 | WFE: 664,374,336 App: 810,444,288 | WFE: 203,343,584 App: 229,627,536 | WFE: 199,905,600 App: 259,536,336
Maximum memory used (bytes) | WFE: 212,664,320 App: 211,578,880 | WFE: 719,638,528 App: 1,309,839,360 | WFE: 204,537,856 App: 229,969,920 | WFE: 200,081,408 App: 262,713,344

The following table highlights the hardware cost of running the Rendering a Typical Mix of Visio Web Drawings test across topologies in the red zone.

Scorecard dashboard | 1x1x1 | 2x1x1 | 2x2x1 | 3x2x1
Average RPS (requests/sec) | 124 | 190 | 216 | 264
Average WFE CPU resource (%) | 73.8 | 64 | 71.05 | 59.9
Average application server CPU resources (%) | 18.9 | 31 | 18.35 | 23.0
Failure rate | 0.006 | 0.009 | 0.009 | 0.01
90% QoS availability | 1 | 1 | 1 | 1
25th percentile latency (seconds) | 0.06 | 0.06 | 0.07 | 0.06
Percent time in garbage collector | WFE: 0.000036 App: 0.000074 | WFE: 0.00036 App: 0.00014 | WFE: 1.54 App: 0.805 | WFE: 1.15 App: 0.4
Number of WFE crashes | 0 | 0 | 0 | 0
Average memory used (bytes) | WFE: 631,852,288 App: 820,075,648 | WFE: 748,467,200 App: 884,640,512 | WFE: 659,872,256 App: 511,670,960 | WFE: 730,737,301 App: 827,111,104
Maximum memory used (bytes) | WFE: 708,333,568 App: 1,446,760,448 | WFE: 787,783,680 App: 1,350,569,984 | WFE: 709,833,600 App: 1,319,833,600 | WFE: 1,070,150,997 App: 1,450,207,232

Recommendations

This section provides general performance and capacity recommendations. Use these recommendations to determine which hardware, topology, and configuration settings best meet your particular capacity and performance needs.

Hardware recommendations

The basic hardware requirements for Visio Services are the same as those for SharePoint Server 2010, which can be found in the following article: Hardware and software requirements (SharePoint Server 2010).

Scaled-up and scaled-out topologies

To increase the capacity and performance of one of the starting-point topologies, you have two options. You can either scale up by increasing the capacity of the existing servers or scale out by adding additional servers to the topology.

As a rule, Visio Services is especially sensitive to scaling out. When planning to scale out, use the following general rules:

  1. When you, use the configurations described earlier, favor increasing WFE servers to increasing application servers. If your computers have performance specifications that are comparable to the specifications in this article, a ratio of three WFE servers to one application server is recommended.

  2. Remember that scaling out enables both an increase in throughput and an increase in user load that Visio Services can serve. Use the following graph to gauge the expected throughput on the topology at a particular user load. Notice that throughput tapers off at a certain user load, after which requests are served with increase latency.

Throughput vs. User Load

Throughput v. user load

Settings optimizations

One way to control the performance characteristics of Visio Services is to change the values of its performance-related service settings. The following table discusses the qualitative effect on farm performance of varying these settings.

Setting location Parameter Description Qualitative effect on performance

Central Administration

Maximum Web Drawing Size

The maximum size in MB of a Web drawing that can be rendered.

A larger size limit can lead to reduced throughput and increased latency.

A smaller limit can prevent more complex Web drawings from being rendered but has the opposite effect on performance.

Minimum Cache Age

The minimum number of minutes that a Web drawing is cached in memory.

This value is per user per drawing. The interval begins when a user views a Web drawing. That user cannot refresh that Web drawing until the interval expires. The interval begins for other users when they first view the Web drawing.

Smaller values allow for more frequent data refresh operations for users but increase CPU and memory usage on application servers, which reduces throughput and increases latency.

A larger value increases the refresh window but has the opposite effect on performance metrics.

Maximum Cache Age

The number of minutes after which cached Web drawings are purged.

Larger values decrease file I/O and CPU usage on application servers but increase memory usage on the server. Large values reduce latency for drawings that are rendered often.

A smaller value has the opposite effect on performance.

Maximum Recalc Duration

The number of seconds before the data refresh operations time out. This applies only to data-connected Web drawings.

Longer timeouts allow for more complex data-connected Web drawings to be recalculated but use more processing power, reduce throughput, and increase latency.

A shorter time-out decreases the complexity of the drawings that can be rendered but has the opposite effect on performance.

Web Part

Force Raster Rendering

Forces the Visio Web Access Web Part to render the drawing as a PNG even though Microsoft Silverlight might be installed.

Choosing to render all drawings by using a raster format reduces drawing visual fidelity but increases throughput slightly.

Choosing to render all drawings in XAML increases visual fidelity but reduces throughput slightly.

Common bottlenecks and their causes

The following sections discuss methods for improving farm performance by optimizing service settings and working around common system bottlenecks.

During performance testing, the following bottleneck was revealed. A bottleneck is a condition in which the capacity of a particular constituent of a farm is reached. This causes a plateau or decrease in farm throughput.

Bottleneck | Cause | Resolution
WFE CPU utilization | Because of caching on the application server layer, the throughput of the Visio Services application servers is larger than the front-end Web servers. This causes the WFE layer to be the bottleneck of the system. | Add more front-end Web servers to help reduce the effect of the WFE bottleneck on the overall throughput of Visio Services.

Performance monitoring

To help you determine when you have to scale up or scale out a Visio Services deployment, you can use performance counters to monitor its health. In addition to the performance counters that are included with Windows Server and that measure overall server health, you can use the following list of performance counters to gain a deeper understanding of the specific performance behaviors of Visio Services.

Visio Services performance counters

The following table lists performance counters that monitor key Visio Services application server metrics. All these counters are in the Visio Server: Visio Graphics Service performance counter category.

Logical category | Counter | Measurement
Aggregate counters | Requests Received per Second | Count of requests received per second.
 | Request Processing Time | Average processing time of a rendering request in milliseconds.
Drawing rendering pipeline detail | File Retrieval and Parsing Time | Average time, in milliseconds, to retrieve a drawing from the content database and to parse it.
 | Server Data Refresh Time | Average time, in milliseconds, to retrieve all external data for a data-connected drawing.
 | Server Data Binding Time | Average time, in milliseconds, to update a data-connected drawing.
 | Text Data Binding Time | Average time, in milliseconds, to update text in a data-connected drawing.
 | Server Rasterization Time | Average processing, in milliseconds, to create a PNG representation of a drawing.

Visio Web Access performance counters

The following table lists performance counters that monitor key Visio Web Access server (front-end Web server) metrics. All these counters are in the Visio Server: Visio Web Access performance counter category.

Logical category | Counter | Measurement
Aggregate counters | Request Processing Time | Average time, in milliseconds, to process a drawing render request from arrival to delivery.
 | Requests Received per Second | Count of requests received per second.
 | Requests with Errors per Second | Average number of requests that are returned with errors per second.
 | Average Content Initial Transmission Time | Average transmission time, in milliseconds, of initial HTML plus Java scripts to client computer.

See Also

Concepts

Configure Visio Services for a BI test environment


Estimate performance and capacity requirements for Word Automation Services in SharePoint Server 2010

Published: May 15, 2010

This article contains capacity planning guidance for Word Automation Services. Use this article to help estimate hardware and Microsoft SharePoint Server 2010 farm requirements for Word Automation Services on topologies that are running SharePoint Server 2010.

In this article:

  • Test farm characteristics

  • Test results

  • Recommendations

  • Troubleshooting

Test farm characteristics

This section describes the dataset, workloads, hardware settings, topology, and test definitions that were used during the performance and capacity testing of Word Automation Services 2010.

Dataset

The dataset that was used for testing includes 384 unique, Open XML .docx files that contain the following kinds of Microsoft Word 2007 content:

  • Text with direct formatting

  • Content controls

  • Images

  • Tables

  • Styles

  • Fields

  • OLE objects

  • Hyperlinks

  • Bookmarks

  • Comments

  • Citations

These files ranged from 20 KB to 8.8 MB and had an average size of 225 KB per file. Duplicates of these 384 files were used to create a library of about 20,000 documents. That library was then used as an input library for each test run.

Workload

Testing for Word Automation Services was designed to help develop estimates for how different farm configurations respond to changes in the following variables:

  • Number of Word Automation Services-enabled application servers in the farm

  • Number of active conversion processes per Word Automation Services-enabled application server

  • Number of items in the Word Automation Services database

The specific capacity and performance figures presented in this article will differ from the figures in real-world environments. The figures presented are intended to provide a starting point for the design of an appropriately scaled environment. After you complete an initial system design, test the configuration to determine whether the system will support the factors in the environment.

Test definitions

This section defines the test scenarios for this article and describes the test process that was used for each scenario. For detailed information such as test results and specific parameters, see Test results.

Table 1 Test Definitions for This Article

Test name Test description

Throughput scale

  1. Create a document library in SharePoint Server and populate it with some number of valid Open XML files (.docx).

  2. Create and start a conversion job that uses the library from step 1 as an input library.

  3. When the conversion job is finished and all conversion items have succeeded or failed, use the results in the Word Automation Services database to determine the overall throughput of the service during the conversions.

SQL Server database file size

  1. Create a document library in SharePoint Server and populate it with some number of valid Open XML files.

  2. Start and cancel conversion jobs to populate the database. It is not necessary for the conversion jobs to be completed.

  3. Record the size of the database .ldf and .mdf files.

Hardware, settings and topology

This section describes the hardware, settings, and topologies that were used in the tests.

Lab hardware

To provide a high level of test-result detail, several farm configurations were used for testing. Farm configurations ranged from one to seven application servers and a single database server that was running Microsoft SQL Server 2008 database software. All servers were 64-bit.

The following table lists the specific hardware that was used for testing.

Table 2 Lab Hardware Details for the Word Automation Services Test Topology

Detail | Front-end Web Server-Application Server 1 | Application Servers 2-7 | Database server
Role | Front-end Web server-application server (shared) | Application server (dedicated) | SQL Server cluster (one computer)
Processors | 2px4c @2.33 GHz | 2px4c @2.33 GHz | 4px4c @3.2 GHz
RAM | 8 GB | 8 GB | 16 GB
Operating system | Windows Server 2008 SP2 x64 | Windows Server 2008 SP2 x64 | Windows Server 2008 SP2 x64
Storage and geometry (including. SQL Server disks configuration) | 6 disks * 590 GB | 6 disks * 590 GB | 6 disks * 460 GB
Number of network adapters | 2 | 2 | 2
Network adapter speed | 1 gigabit | 1 gigabit | 1 gigabit
Authentication | NTLM | NTLM | NTLM
Software version | 4762.1000 | 4762.1000 | SQL Server 2008
Number of SQL Server instances | Not applicable | Not applicable | 1
Load balancer type | NLB | NLB | Not applicable
ULS logging level | Medium | Medium | Medium

A dedicated front-end Web server was never used for testing. Instead the front-end Web server that was used to drive testing was also Application Server 1. This is common for a Word Automation Services-dedicated topology because SharePoint Server front-end Web servers are not used to process conversions. The only role of a front-end Web server is to create conversion jobs by way of a custom SharePoint Server solution, such as a custom Web Part. A front-end Web server might have to remain responsive for a SharePoint Server solution to work correctly.

For the Word Automation Services test farm, a simple C# application was used on front-end Web Server-Application Server 1 to occasionally create conversion jobs for testing. Maintaining the responsiveness of the front-end Web server was not a concern for this farm. Therefore, it was appropriate to use the front-end Web server as an application server.

Topology

Diagram 1 - Word Automation Services test farm topology

Test farm topology

Test results

The following tables show the test results of Word Automation Services in SharePoint Server 2010. For each group of tests, only certain specific variables are changed to show the progressive effect on farm performance.

Throughput scale

Effect of active conversion processes on throughput

The two tests in the following table show how the throughput of Word Automation Services increases as the number of active conversion processes is increased gradually on a single application server. Data is shown for two output formats: Open XML (.docx) and PDF. The Open XML conversions provide a baseline throughput for comparison against other output formats, and the PDF conversions provide an example of a more-typical conversion throughout.

Table 3 Example Throughput of an Eight-Core Application Server As Active Conversion Processes Are Added

Active conversion processes | Open XML | PDF
1 | 2.72 | 1.13
2 | 4.65 | 1.78
3 | 5.92 | 1.99
4 | 7.02 | 2.00
6 | 7.73 | 1.87
8 | 9.45 | 1.64
16 | 7.91 | 1.41
24 | 8.06 | 1.37
32 | 7.71 | 1.37

There is a decrease in throughput for PDF that is encountered when Word Automation Services uses six active conversion processes instead of four. This is due to a per-server limitation in Word Automation Services when it converts to PDF (or XPS). In contrast, the throughput of Open XML does not have this limitation and continues to increase until eight active conversion processes are used. However, Open XML encounters another, more common limit when the number of active conversion processes exceeds the number of processing cores on the server. (In this case, that number is eight cores.)

The unusually small improvement in throughput for Open XML when you are using six active conversion processes versus four active conversion processes is a typical variation for Word Automation Services. This demonstrates how throughput can vary from expectations for a given configuration.

The following diagram is a graph of this data.

Example throughput of an eight-core application server as active conversion processes are added

Example throughput for 8-core app server

The 16, 24, and 32 active conversion process numbers demonstrate that having more active conversion processes than there are processing cores adversely affects the throughput of an application server. Conversion items may also be more likely to fail intermittently when Word Automation Services uses an unsupported number of Total Active Conversion Processes for a given application server.

The results of this test illustrate the following important effects of the number of active conversion processes on throughput:

  • The best improvements of throughput for conversion to PDF occur when you increase from one active conversion process to three active conversion processes per server. PDF throughput begins to decrease as approximately four or more active conversion processes are used on any server that has four or more processing cores. This is a limitation of Word Automation Services. The same limitation also applies to XPS.

  • The throughput improvement for other formats, such as Open XML, can scale up very well to n active conversion processes, where n is the number of processing cores on the application server. However, the recommended maximum number of total active conversion processes for application servers is n-1. This is explained more in the Recommendations section.

Effect of an increase in the number of application servers on throughput

The two tests in the following table show how the throughput of Word Automation Services increases as the number of application servers is increased gradually. The number of total active conversion processes was set to eight for the farm. Data is shown for two output formats: Open XML and PDF. The Open XML conversion throughput is a good representative of most output formats while the PDF conversion throughput is better for representing both PDF and XPS.

Table 4 Example Throughput of Farm As the Number of Application Servers Is Increased

Topology | Open XML | PDF
1x1 | 9.5 | 1.64
1x2 | 17.3 | 3.25
1x3 | 23.1 | 4.81
1x4 | 32.8 | 6.52
1x5 | 39.7 | 7.87
1x6 | 45.9 | 9.50
1x7 | 52.1 | 11.48

The following diagram shows that the increase in throughput for both PDF and Open XML remains generally linear for each additional server added.

Chart 2 - Example throughput of farm as the number of application servers is increased

Throughput as application servers increase

Table 5 Percent Increase for Single-Server Throughput

Topology | Open XML | PDF
1x1 | Not applicable | Not applicable
1x2 | 82.11 | 97.57
1x3 | 61.05 | 95.30
1x4 | 102.11 | 103.66
1x5 | 72.63 | 82.21
1x6 | 65.26 | 99.05
1x7 | 65.26 | 120.54

Table 6 Percent Throughput Increase for Z-1 Throughput

Topology | Open XML | PDF
1x1 | Not applicable | Not applicable
1x2 | 82.11 | 97.57
1x3 | 33.53 | 48.24
1x4 | 41.99 | 35.40
1x5 | 21.04 | 20.73
1x6 | 15.62 | 20.69
1x7 | 13.51 | 20.86

Table 5 shows the percentage increase of throughput that is compared to the throughput of a single application server. For example, the 1x4 topology (four application servers) has a 102.11 percent improvement of throughput compared to the 1x1 topology (a single application server).

Table 6 shows the percentage increase of throughput that is compared to the throughput of the previous topology listed in the table. For example, the 1x4 topology has four application servers. Therefore, Z = 4. If Z = 4, then Z-1 = 3, and the Z-1 topology is the 1x3 topology. The 1x4 topology has a 41.99 percent improvement of throughput compared to the 1x3 topology.

These numbers are only a sample of how throughput might increase in a given production deployment of Word Automation Services. Some variations that appear in these tables may not be typical for other SharePoint Server farms.

The number of total active conversion processes was set to eight. Therefore, the PDF results are likely less than what would be expected from these application servers if they had the number of total active conversion processes set to avoid the decrease in throughput for PDF that is due to a per-server limitation in Word Automation Services (as shown in Table 3). The PDF throughput numbers in Table 4 could likely be improved significantly by setting the number of total active conversion processes to four. However, this would undoubtedly decrease the throughput numbers for Open XML, as shown in the results in Table 3. The important characteristic of throughput that can be learned from these observations is that there is a trade-off to consider when you select a value for the Total Active Conversion Processes setting. The recommended Word Automation Services settings in the Recommendations section take this trade-off into consideration by providing two sets of recommended settings.

This data demonstrates that scaling out is a great way to increase Word Automation Services throughput for any output format. The linear improvement in throughput that is shown here is unlikely to increase infinitely as a topology grows. Certain bottlenecks will emerge. For example, the SQL Server computer will eventually reach capacity.

SQL Server database file size

Database size

The Word Automation Services database requires between 1.58 to 0.15 KB of disk space per conversion item in the database, as shown in the following table.

Table 7 .Mdf File Size for a Varying Number of Conversion Items

Items added | .Mdf file size (KB) | KB per item
2,304 | 3,648 | 1.58
4,608 | 3,648 | 0.79
23,040 | 6,720 | 0.29
46,080 | 10,048 | 0.22
230,400 | 37,952 | 0.16
460,800 | 72,000 | 0.16
1,152,000 | 174,400 | 0.15
2,304,000 | 345,408 | 0.15
3,456,000 | 515,392 | 0.15
4,608,000 | 685,376 | 0.15
11,520,000 | 1,707,328 | 0.15
23,040,000 | 3,429,568 | 0.15

What you learn from this data is that the size of the .mdf file increases at an eventual rate of about 0.15 KB for each conversion item that is added to the Word Automation Services database. Approximately the first 50,000 conversion items are an exception. However, the total size of the .mdf file is clearly manageable when the number of conversion items is this small.

In general, we recommend that the Word Automation Services database not grow larger than a size of 2 million conversion items. Otherwise, the performance of some Word Automation Services solutions may decrease as the database grows.

Deleting items from the Word Automation Services database

Approximately 0.2 to 0.5 KB of disk space is used by Word Automation Services in the SQL Server .ldf file for every item deleted from the database. SQL Server uses the .ldf file to maintain recovery data for the Word Automation Services database.

Table 8 .Ldf File Size for a Varying Number of Conversion Item Deletions

Items deleted | .Ldf file size (KB) | KB per item
2,304 | 1,856 | 0.56
4,608 | 2,624 | 0.44
11,520 | 2,624 | 0.18
23,040 | 2,624 | 0.09
46,080 | 20,416 | 0.43
69,120 | 20,416 | 0.29
115,200 | 39,936 | 0.34
172,800 | 53,248 | 0.30
207,360 | 53,248 | 0.25
218,880 | 53,248 | 0.24
228,096 | 53,248 | 0.23
230,400 | 53,248 | 0.23

The size of the .ldf file expands at certain intervals as specified by the autogrowth settings of SQL Server. More information about the growth of the .ldf file can be found in the following article: A transaction log grows unexpectedly (http://go.microsoft.com/fwlink/p/?LinkId=217307).

If left unattended for long, the .ldf file can grow until the SQL Server computer runs out of disk space. Decreasing the size of the .ldf file periodically should be considered part of routine maintenance for any production farm. Information on how to handle an overly large .ldf file can found in the following articleRecover from a full transaction log in a SQL Server database.

Recommendations

Single-server farm

Word Automation Services can be run on a single server installation of SharePoint Server. This server acts as the front-end Web server, the application server, and the database server for the Word Automation Services database and various SharePoint databases.

However, in a production environment, we strongly recommend against using a single-server farm. Word Automation Services, SharePoint Server, and SQL Server will compete for resources, which can result in inconsistent performance from Word Automation Services.

Basic Word Automation Services farm

A basic Word Automation Services farm is composed of two servers: a single server to act as both front-end Web server and application server, and a second server to act as an instance of SQL Server for SharePoint Server and Word Automation Services. Such a configuration should be considered the minimum topology for a production Word Automation Services farm. Expanding beyond this basic topology is explained in Advanced topologies.

Diagram 2 - Simple Word Automation Services farm topology

Simple Word Automation Services farm

Advanced topologies

To increase the capacity and performance of the basic Word Automation Services farm, you can either scale up by increasing the capacity of existing application servers, or scale out by adding additional servers to the topology. This section describes the general performance characteristics and recommended settings of several topologies that combine these two strategies in various configurations. Not all possible topologies are represented; the topologies described here are select examples.

Scaled-out topology 1: more application servers

A scaled out topology increases the capacity of a farm by adding more application servers to the farm. As the test results in Table 4 show, this strategy is effective for increasing a farm's capacity for any output format. Scaling out is a good next step when existing servers that you have scaled up no longer benefit throughput of Word Automation Services.

Diagram 3 - Scaled-out Word Automation Services farm topology with three application servers

Scaled-Out Word Automation Services farm

Scaled-out topology 2: reducing the SQL Server impact

Word Automation Services maintains its own SQL Server database. In a basic Word Automation Services farm, both the Word Automation Services database and the databases that are associated with SharePoint Server exist on the same physical instance of SQL Server. Word Automation Services affects both the databases that are associated with SharePoint Server (for example, input to and output from the content database), and the Word Automation Services database (for example, updating the status of a conversion item when a conversion is completed successfully).

To prevent a shared database server from becoming a bottleneck for both Word Automation Services and SharePoint Server, a separate physical database server can be created to host the Word Automation Services database. This can improve Word Automation Services throughput and reliability if a shared database server is a bottleneck for a farm.

Diagram 4 - Word Automation Services farm with dedicated SQL Server topology

Word Automation Services farm with dedicated SQL

A single database server is typically not a bottleneck for small farms, especially if Word Automation Services is the only service being used.

Scaled-up topology: dedicated Word Automation Services farm

A dedicated Word Automation Services farm, as shown in the following diagram, is the best topology for maximizing Word Automation Services throughput. This kind of topology involves increasing the capacity of individual servers in the farm by configuring Word Automation Services to fully take advantage of application server resources. Several key service settings must be configured correctly to achieve this without experiencing service limits.

Diagram 5 - An example of a dedicated Word Automation Services farm topology

Dedicated Word Automation Services farm

Performance can benefit by running Word Automation Services solutions on a front-end Web server that is separate from the dedicated application servers in the farm if the solution that is driving Word Automation Services is used to create many small conversion jobs. In such a case, a dedicated front-end Web server helps ensure that the solution is responsive, even when the application servers are under load. The previous diagram shows an alternative topology where the front-end Web server is also an application server in such a way that it is still used to process conversions. Such a topology could be ideal if the solution that drives Word Automation Services creates only a few large jobs occasionally.

Dedicated Word Automation Services farms should typically use the following settings:

For PDF and XPS output formats

  • Total Active Conversion Processes is set to the lower of the following values: n-1, where n is the number of available processing cores in each server, or 4

    • Example: This setting would be 4 when the farm applications servers have two quad-core CPUs, because 4 is a lower value than n-1, which is 7.

      Note:

      As shown in Table 3, performance limits of the service when it converts documents to a fixed output format such as PDF greatly limit the scale-up potential of individual servers for PDF and XPS. Four cores is typically the best Total Active Conversion Processes setting for maximizing throughput on an application server when outputting to PDF or XPS. Increasing the value for this setting will actually decrease throughput for PDF and XPS.

  • Frequency with which to start conversions (minutes) is set to 1 minute.

  • Number of conversions to start (per conversion process) is set to 30.

    Note:

    This value enables a maximum RPS of up to 0.5 conversions per second for each active conversion process in the farm. As shown in Tables 3 and 4, this is a reasonable RPS to target so that a maximum possible throughput for a farm is achieved for the PDF and XPS output formats.

For .docx files, .doc files, and other output formats

  • Total Active Conversion Processes is set to n-1 where n is the number of available processing cores in each server

    • Example: This setting would be 7 if the farm application servers have two quad-core CPUs.

    • Note: It is recommended to never set Total Active Conversion Processes to any value larger than n-1. Some reliability and responsiveness problems may start to occur when a larger value is used.

  • Frequency with which to start conversions (minutes) is set to 1 minute.

  • Number of conversions to start (per conversion process) is set to 72.

    Note:

    This value enables a maximum RPS of up to 1.2 conversions per second for each active conversion process in the farm. As shown in Table 4, this is a reasonable RPS to target in such a way that a maximum possible throughput for a farm is always achieved for non-PDF and XPS output formats.

Throttled topology: production SharePoint farm with shared application servers

Because an active conversion process will use at most one processing core at a time, you can throttle Word Automation Services by setting the Total Active Conversion Processes setting to significantly less than the total number of available processing cores for each application server. Throttled application servers in this topology, as shown in the following diagram, will always have processing cores free for other tasks or services, which generally helps prevent application servers from becoming unresponsive when Word Automation Services is under load.

Diagram 6 - An example of a production farm topology with shared application servers running Word Automation Services

Production farm with throttled-down WAS

By default, Word Automation Services is throttled with a Total Active Conversion Processes setting of 1. This is expected to be too conservative for most Word Automation Services deployments, and the following settings should be used on a typical throttled topology:

For PDF and XPS output formats

  • Total Active Conversion Processes is set to the lower of the following values: (n/2)-1 where n is the number of available processing cores in each server, or 4.

    • Example: This setting would be 3 when the farm's application servers have two quad-core CPUs because (8/2)-1 is 3, and 3 is lower than 4.

    • Example: This setting would be 4 when the farm's application servers have four quad-core CPUs, because 4 is lower than (16/2)-1, which is 7.

    Note:

    By leaving a single processing core unused, the application server can remain more predictable even when the Word Automation Services timer job is executing, which can temporarily dominate an additional processing core. This is true for all topologies. These settings basically restrict Word Automation Services to a peak CPU utilization of 50 percent. To decrease the peak CPU utilization of the service even more, decrease the value of this setting to (n/2)-2, (n/2)-3, and so on.

  • Frequency with which to start conversions (minutes) is set to 1 minute.

  • Number of conversions to start (per conversion process) is set to 30.

    Note:

    This value enables a maximum RPS of up to 0.5 conversions per second for each active conversion process in the farm. As shown in Table 4, this is a reasonable RPS to target to ensure that suitable throughput is achieved.

For .docx files, .doc files, and other output formats

  • Total Active Conversion Processes is set to (n/2)-1 where n is the number of available processing cores in each server.

    • Example: This setting would be 3 when the farm's applications servers have two quad-core CPUs.

      Note:

      By leaving a single processing core unused, the application server can remain more predictable even when the Word Automation Services timer job is executing, which can temporarily dominate an additional processing core. This is true for all topologies. These settings basically restrict Word Automation Services to a peak CPU utilization of 50 percent. To decrease the peak CPU utilization of the service even more, decrease the value of this setting to (n/2)-2, (n/2)-3, and so on.

  • Frequency with which to start conversions (minutes) is set to 1 minute.

  • Number of conversions to start (per conversion process) is set to 60.

    Note:

    This value makes it possible to achieve a maximum RPS of up to 1.0 conversions per second for each active conversion process in the farm. As shown in Table 4, this is a reasonably conservative RPS target for output that is not in PDF or XPS formats.

    Note:

    Setting this value to 60 instead of 72 makes it more likely for application servers to have all the processing cores available for a short time (several seconds) per unit of time, as set by the Frequency with which to start conversions (minutes), which in this case is 1 minute. This can be helpful, depending on the needs of the farm. Lowering this setting will also free all application server processing cores for even longer, but at an additional cost to throughput.

Mixed topology: production SharePoint farm with a mix of Word Automation Services-enabled application servers and other application servers

A mixed topology of Word Automation Services-enabled application servers and non-Word Automation Services-enabled application servers is the best way to achieve high Word Automation Services throughput without affecting the performance of other SharePoint services. The advantages of a mixed farm are as follows:

  • Throughput is increased by using dedicated Word Automation Services servers.

  • Other services that run on non-Word Automation Services-enabled application servers are minimally affected by Word Automation Services.

The disadvantages of using a mixed farm are as follows:

  • More physical servers may be required compared to using a shared farm or dedicated farm.

  • All Word Automation Services application servers will use the same settings.

There are two basic configurations for mixed farms:

  • Non-Word Automation Services application servers are mixed with shared, throttled Word Automation Services-enabled application servers.

  • Non-Word Automation Services application servers are mixed with dedicated Word Automation Services application servers that have been configured to take full advantage of application server resources.

A mixed topology might resemble the topology shown in the following diagram.

Diagram 7 - An example of a production farm topology with application servers that are dedicated to Word Automation Services

Production farm with mixed topology

The Word Automation Services-enabled servers in a mixed farm can be configured similarly to either the shared application servers in a Throttled topology: production SharePoint farm with shared application servers or the dedicated application servers in a Scaled-up topology: dedicated Word Automation Services farm to achieve the same throughput of either of those topologies.

Estimating throughput targets

Use the information in this section to determine the target throughput of a given topology with specific settings.

Throughput in conversions per minute per application server

(Total Active Conversion Processes * Number of conversions to start (per conversion process)) / Frequency with which to start conversions (minutes)

Notes:

  • The result of the previous equation, if converted to conversions per second per active conversion process, should not exceed 1.2 for non-PDF or non-XPS output formats, or 0.5 for PDF or XPS output formats. Exceeding these values could lead to decreased throughput and an increase in conversion failures.

  • If the Frequency with which to start conversions (minutes) is increased (that is, the Word Automation Services timer job will run less often) and the total throughput of the farm has to remain the same, the Number of conversions to start (per conversion process) should be increased in direct proportion to Frequency with which to start conversions (minutes).

    For example, a SharePoint administrator wants the Word Automation Services timer job to run less frequently, but she also wants the throughput of Word Automation Services to remain unchanged. The settings that are shown in the following table will achieve this goal.

    Original settings New settings

    Frequency with which to start conversions (minutes)

    1 minute

    10 minutes

    Number of conversions to start (per conversion process)

    72

    720

    Note:

    Total Active Conversion Processes should not be changed in proportion to Frequency with which to start conversions (minutes).

Throughput in conversions per minute for the whole farm

  • For PDF and XPS output formats:

    Multiply the result of the Throughput in conversions per minute per application server equation by the number of application servers that have Word Automation Services enabled. The final result is consistent with the data in Table 5.

  • For other output formats:

    Multiply the result of the Throughput in conversions per minute per application server equation by the number of application servers that have Word Automation Services enabled. Then, multiply that result by 0.65. The final result will reflect the data shown in Table 5.

Troubleshooting

Bottleneck or issue Cause Resolution

The throughout when it converts to PDF or XPS does not improve with more than 3 or 4 active conversion processes even when more processing cores are available.

Word Automation Services is limited in how fast it can convert files to PDF or XPS on a single application server. Specifically, Word Automation Services throughput cannot be increased by scaling up beyond 3 or 4 active conversion processes per application server. Adding more active conversion processes per application server will actually decrease the performance of the service when it converts to PDF or XPS format.

If increasing the throughput of Word Automation Services is necessary for conversions to PDF and XPS, even if active conversion processes per application server is set at 3 or 4, then adding additional application servers will yield almost a-100 percent increase in throughput, given the same computer specifications.

Also, if the number of active conversion processes per application server is set higher than 4, changing this setting to 4 will likely increase throughput by a small margin. However, setting active conversion processes per application server to 4 may significantly decrease throughput for other output formats.

If converting to PDF or XPS is a primary requirement, then it could be more cost effective not to use dedicated Word Automation Services application servers. Shared servers can be used instead so that spare processing cores are available for other farm services.

Conversion items begin to fail more often after you change the settings for Word Automation Services.

The settings of Word Automation Services can easily be set to push the service past its practical limits. Doing so will likely result in:

  • Less overall throughput

  • Conversion items that fail more often

Follow these simple rules to help correct or prevent either of the previously listed symptoms:

Never set Total Active Conversion Processes to be more than n-1, where n is the number of processing cores of the application server.

Never set Number of conversions to start (per conversion process) to be more than what is suggested in Scaled-up topology: dedicated Word Automation Services farm for the desired output formats unless Frequency with which to start conversions (minutes) is also adjusted (in direct proportion) in such a way that the resulting throughput target remains the same.

Other services are less responsive after you change the settings for Word Automation Services.

An active conversion process will at times fully take advantage of a processing core on the application server. An application server configured as recommended in Scaled-up topology: dedicated Word Automation Services farm, can utilize most of the CPU resources during the conversion, because the Word Automation Services timer job also runs on its own core periodically.

If other services such as Excel Web Services or Microsoft Office Web Apps require CPU resources from such an application server, there could be an unacceptable wait time that results in a perceived latency for those other services.

Follow these steps to decrease the effect of Word Automation Services on other services:

  1. Throttle the Total Active Conversion Processes for Word Automation Services to the level recommended in Throttled topology: production SharePoint farm with shared application servers.

  2. Add application servers that are not used by Word Automation Services but are usable for other services, adopting a topology similar to that described in Mixed topology: production SharePoint farm with a mix of Word Automation Services-enabled application servers and other application servers.

Sometimes conversion items fail with error code 3 when the farm was busy, offline, or undergoing maintenance for part of a day or more.

Word Automation Services generally requires that conversion jobs added to the Word Automation Services queue database be fully processed within 24 hours of being submitted. If conversion items for a conversion job are not finished within 24 hours, then the conversion item could fail with error code 3. The error message would read:

"The file could not be downloaded from the input library because the supplied user permissions expired before the file could be retrieved. This likely indicates that the system is under heavy load. Please try resubmitting the job, and contact the system administrator if the error reoccurs."

If users are consistently seeing this error and the farm was not offline for a significant time, some conversion jobs are likely taking longer than 24 hours to complete, probably because the farm is either misconfigured or its usage far exceeds its capacity. This behavior indicates that you should increase the capacity of the farm. This involves either increasing the Total Active Conversion Processes (up to n-1, where n is the number of processing cores on each application server) or, if you cannot do this, adding more application servers to the farm that Word Automation Services can use. The latter could involve merely enabling Word Automation Services on application servers that otherwise have excess capacity, or it may involve adding more physical servers to the farm.

If you increase the capacity of the farm, make sure that the settings for Word Automation Services are configured correctly as described in either Scaled-up topology: dedicated Word Automation Services farm or Throttled topology: production SharePoint farm with shared application servers.

The execution time of a Word Automation Services solution takes progressively longer to run as the service runs.

The execution times of the following Word Automation Services Object Model methods scale with the number of items in the Word Automation Services database:

  • ConversionJob.GetAllActiveJobs

  • ConversionJob.GetAllJobs

In general, we recommend that the Word Automation Services database not grow larger than a size of 2 million conversion items. Delete some conversions items from the database to resolve this problem.

Throughput performance of Word Automation Services does not continue to improve by scaling out the number of application servers.

If adding more application servers to the farm no longer improves throughput, this could be an indication that the instance of SQL Server where the Word Automation Services database resides is at capacity.

The Word Automation Services SQL Server impact for each WAS Action is as follows:

Word Automation Services action | RT per call | Additional RT per item | Notes
ConversionJob.AddFile | 11 | 0 | Low SQL Server IOps
ConversionJob.AddFolder | 9 | 2 | Despite the increase in SQL Server RT versus AddLibrary, this OM call is generally faster to execute than AddLibrary. Low SQL Server IOps
ConversionJob.AddLibrary | 4 | 2 | Low SQL Server IOps
ConversionJob.Start | 3 | 0 | Low SQL Server IOps
ConversionJob.Refresh | 1 | 0 | Low SQL Server IOps
ConversionJob.CancelJob | 1 | 0 | Low SQL Server IOps
ConversionJob.GetAllActiveJobs | 1 | 0 | SQL Server IOps scale up with the number of jobs in the Word Automation Services DB.
ConversionJob.GetAllJobs | 1 | 0 | SQL Server IOps scale up with the number of jobs in the Word Automation Services DB.
ConversionJob.GetItems | 2 | 0 | Low SQL Server IOps
Each Timerjob run | 2 | 1 | Low SQL Server IOps

Some calls have a constant overhead in SQL Server round trips per action and additional SQL Server round trips per action depending on the number of conversion items involved.

This information can be helpful for both developers who plan to create custom solutions for Word Automation Services deployments and farm administrators who must plan for the SQL Server effect of using Word Automation Services.

If the Word Automation Services SQL Server database resides on the same server as other active databases that use the Word Automation Services SQL Server database, its own physical server should remove SQL Server as a bottleneck for most farms.

After scaling out a farm, the timer job does not appear to finish before its next scheduled run.

The execution time of the timer job for Word Automation Services will scale linearly with the number of Word Automation Services-enabled application servers in the farm. It is possible that the timer job will take longer than one minute to complete its run.

No action is needed if this occurs. SharePoint Server will not begin a scheduled timer job run if the previous run is still executing.


Capacity requirements for the Web Analytics Shared Service in SharePoint Server 2010
See Also

Published: November 18, 2010

Initial capacity testing was performed for a simulated midsized deployment of Microsoft SharePoint Server 2010 and other applications that included 30,000 SharePoint entities. This article describes the results of the capacity testing activities and contains guidance on capacity management for the Web Analytics service application in SharePoint Server 2010.

In SharePoint Server 2010, the Web Analytics service application enables you to collect, report, and analyze the usage and effectiveness of SharePoint Server 2010 sites. Web Analytics features include reporting, Web Analytics workflow, and Web Analytics Web Part. For more information, see Reporting and usage analysis overview (SharePoint Server 2010).

The aspects of capacity planning that are described in this article include the following:

  • Description of the architecture and topology.

  • Capacity planning guidelines based on the key factors such as total expected traffic and number of SharePoint components.

  • Description of the other factors that affect the performance and capacity requirements.

Before you continue to read this article, make sure that you understand key concepts related to SharePoint Server 2010 capacity management. The resources that are listed in this section can help you learn about frequently used terms and get an overview of the recommended approach to capacity management. These resources can also help you use the information that is provided in this article more effectively.

For more conceptual information about performance and capacity management, see the following articles:

  • Performance and capacity management (SharePoint Server 2010)

  • Capacity management and sizing for SharePoint Server 2010

In this article:

  • Introduction

  • Hardware specifications and topology

  • Capacity requirements

Introduction

Overview

As part of SharePoint Server 2010, the Web Analytics service application is a set of features that you can use to collect, report, and analyze the usage and effectiveness of a SharePoint Server 2010 deployment. You can organize SharePoint Web Analytics reports into three main categories:

  • Traffic

  • Search

  • Inventory

SharePoint Web Analytics reports are typically aggregated for various SharePoint entities, such as sites, site collections, and Web applications for each farm. To view an architectural overview of the Web Analytics service application in a SharePoint deployment, see Architectural overview later in this article.

The Web Analytics shared service requires resources primarily at the application server and database server level. This article does not cover the Web Server layer capacity planning, because the Web Analytics service's capacity requirements are minimal at this level.

This article contains the capacity requirements for several application servers and Microsoft SQL Server based computers, according to the following criteria:

  • Total expected site traffic (clicks, search queries, ratings).

  • Number of SharePoint components (Site, Site Collection, and Web Application) for each farm.

Other less significant factors which can affect the capacity requirements are summarized in Other factors later in this article.

Architectural overview

The following diagram (Figure 1) shows the flow of the site usage data from a Web browser to the analytics databases, and then back to the Web browser as reports. The usage data is logged to the usage files on the Web servers. The usage timer job calls the Logging Web Service to submit the raw data from the usage files. The Logging Web Service writes it to the staging database, where the raw data is stored for seven days (this is not configurable). The Web Analytics components Log Batcher and User Behavior Analyzer clean and process the raw data on the staging database. The Report Consolidator runs one time every 24 hours. The Report Consolidator aggregates the raw data from the staging database on various dimensions, and then writes it to the reporting database. The aggregated data is stored in the reporting database for a default period of 25 months (this is configurable).

SharePoint Server 2010 Web Analytics Architecture

Figure 1. SharePoint Server 2010 Web Analytics architectural overview

The performance of the Logging Web Service primarily depends on the number of application servers. (Scaling out is available for the application servers.) The performance of the Log Batcher and User Behavior Analyzer depends primarily on the analytics staging database. The Read and Write activities that are performed by all the different components can cause the analytics staging database to slow down the process. (Scaling out is available for the staging database.) The performance of the Report Consolidator also primarily depends on the reporting database. (Scaling out of reporting database is not supported.)

Hardware specifications and topology

This section provides detailed information about the hardware, software, topology, and configuration of a case study environment.

Hardware

Note:

This environment is scaled to accommodate initial builds of SharePoint Server 2010 and other products. Therefore, the deployed hardware has larger capacity than necessary to serve the demand typically experienced by this environment. This hardware is described only to provide additional context for this environment and serve as a starting point for similar environments. It is important to conduct your own capacity management based on your planned workload and usage characteristics. For more information about the capacity management process, see Performance and capacity management (SharePoint Server 2010).

Web servers

This article does not cover the Web server layer capacity planning, because the Web Analytic service's capacity requirements are minimal at this level.

Application servers

The following table describes the configuration of each application server. Based on the site traffic and the number of SharePoint components that are involved, users will need one or more application servers.

Application server Minimum requirement

Processors

4 quad core @ 2.33 GHz

RAM

8 GB

Operating system

Windows Server 2008, 64 bit

Size of the SharePoint drive

300 GB

Number of network adapters

1

Network adapter speed

1 GB

Authentication

NTLM

Load balancer type

SharePoint Load Balancer

Software version

SharePoint Server 2010

Services running locally

  • Central Administration

  • Microsoft SharePoint Foundation Incoming E-mail

  • Microsoft SharePoint Foundation Web Application

  • Microsoft SharePoint Foundation Workflow Timer Service

  • Search Query and Site Settings Service

  • SharePoint Server Search

  • Web Analytics Data Processing Service

  • Web Analytics Web Service

Database servers

Instances of SQL Server were required for both the staging and reporting databases. The following table describes the configuration of each database server.

Database server Minimum requirement

Processors

4 quad core @ 2.4 GHz

RAM

32 GB

Operating system

Windows Server 2008, 64-bit

Disk size

3 terabytes

Note:

Although we used this disk size for our capacity testing, your environment will likely require a much larger disk size to support Web Analytics.

Number of network adapters

1

Network adapter speed

1 GB

Authentication

NTLM

Software version

SQL Server 2008

Note:

We used the configuration that is described in the previous table for our capacity testing. Your environment will likely require fast, enterprise-class storage to support Web Analytics. For example, you will want to use a multi-disk RAID array or a similar disk configuration to increase Input/Output Operations per Second (IOPS) for daily incremental synchronization. In addition, we recommend that you spread the data load for SQL Server across multiple disk spindles.

For more information about best practices for configuring SQL Server, see the following resources:

  • Storage Top 10 Best Practices (http://go.microsoft.com/?linkid=9763249)

  • Disk Partition Alignment Best Practices for SQL Server (http://go.microsoft.com/?linkid=9763104)

  • Analyzing I/O Characteristics and Sizing Storage Systems for SQL Server Database Applications (http://go.microsoft.com/?linkid=9763105)

Topology

The following diagram (Figure 2) shows the Web Analytics topology.

Web Analytics Topology

Figure 2. Web Analytics topology

Capacity requirements

Testing methodology

This section presents the capacity requirements with regard to the total amount of site traffic (this is measured by number of clicks, search queries, and ratings) per day that can be supported by different numbers of application servers and SQL Server based computers. The numbers presented currently are for a midsize SharePoint deployment that has about 30,000 SharePoint entities. The Web Analytics shared service aggregates the data for each day. Therefore, the data volume that is presented corresponds to the total number of records (this is measured by number of clicks, search queries, and ratings) that the SharePoint farm is expected to receive each day.

This section provides diagrams that show the daily site traffic that can be supported by one, two, or three application servers (Figure 3) and the daily site traffic that can be supported that corresponds to the various database configurations (Figure 4). In the diagrams, data is shown by using two colors:

  • Green Green values indicate the safe limit for the site traffic that can be processed for the corresponding number of application servers and SQL Server based computers.

  • Yellow Yellow values indicate the expected limit for the site traffic that can be processed for the corresponding number of application servers and SQL Server based computers.

The green and yellow values are estimates that are based on two key factors:

  • Total site traffic, measured by number of page view clicks, search queries, and ratings.

  • Number of SharePoint entities, such as sites, site collections, and Web applications, for each farm.

The estimates also depend on other properties of the data and the data retention period in the reporting database. For testing, the other properties of the data were maintained as constant as described in Dataset description later in this section.

Also, in smaller SharePoint deployment environments, you can share the application servers and SQL Server based computers together with other SharePoint services and databases. This article contains information about the capacity of the application servers and the SQL Server based computers that are in a test environment so that the Web Analytics shared service is the only major service that is running on the servers. The actual performance results for environments that actively use other shared services at the same time running might vary.

To determine the capacity requirements for your environment, make sure that you estimate the expected daily site traffic and the number of components that you might use for a SharePoint deployment. Then, the number of application servers and SQL Server based computers should be estimated independently, as shown in Figure 3 and Figure 4.

Dataset description

The dataset that was selected for the test environment has approximately 30,000 SharePoint components, which includes all web applications, site collections, and sites. Other characteristics of the data that were kept constant in the environment are also listed in the following table.

Dataset characteristics | Value
Number of SharePoint components | 30,000
Number of unique users | 117,000
Number of unique queries | 68,000
Number of unique assets | 500,000
Data size in the reporting database | 200 GB

The total site traffic, measured by number of clicks, search queries, and ratings, was increased as part of this case study to establish the number of records that can be supported by the corresponding topology.

Important:

Some typically used topologies generally exceed the capacity planning guidance. Those topologies include the following:

  • Team sites

  • My Site Web sites

  • Self-provisioning portals

If you anticipate that you might exceed the capacity planning guidelines, we recommend that you turn off the Web Analytics service application. For more information about how to turn off a service application, see Starting or stopping a service.

Application servers

The following diagram (Figure 3) shows the daily site traffic that can be supported by one, two, or three application servers. The site traffic is represented in millions of records (each click, search query, or rating makes up a record) each day. The yellow line represents the expected number of records for the corresponding topology, whereas the green line represents the safe assumption for the number of records.

Daily Site Traffic vs Application Servers Topology

Figure 3. Daily site traffic vs. the application servers topology

The application servers are not very CPU-intensive or memory intensive. Thus, the CPU and the memory usage are not summarized for this section.

SQL Server based computers

The following diagram (Figure 4) shows the daily site traffic that can be supported that corresponds to the following configurations:

  • One instance of SQL Server for both staging and reporting databases (1S+R).

  • Two instances of SQL Server, one staging database and one reporting database (1S1R).

  • Three instances of SQL Server, two staging databases and one reporting database (2S1R).

The site traffic is represented in millions of records (each click, search, or rating makes up a record) each day. The yellow line represents the expected number of records for the corresponding topology, whereas the green line represents the safe assumption for the number of records.

Daily Site Traffic vs SQL Server Topology

Figure 4. Daily site traffic vs. SQL Server topology

The following table summarizes the CPU and memory usage of the various components on the instances of SQL Server that are hosting the staging database and the reporting database.

Configuration | 1S+R | 1S1R | 1S1R | 2S1R | 2S1R
 | Staging + Reporting | Staging | Reporting | Staging | Reporting
Total sum of percentage of processor time for 8 processor computer | 19 | 192 | 5.78 | 100 | 13.4
SQL Server buffer hit ratio | 99 | 100 | 100 | 100 | 100
% Disk time | 7,142 | 535 | 5.28 | 59.3 | 98.2
Disk queue length | 357 | 28.6 | 0.26 | 2.97 | 4.91

Other factors

Many other factors can affect the performance of various analytics components and can affect the capacity planning. These factors primarily affect the performance of the Report Extractor component because they can affect the size of the data aggregated each day. The total size of the data in the reporting database also affects the performance of the Reporting Extractor, although this is not significant because the data is partitioned daily. Some of these other factors are as follows:

  • Number of unique queries each day.

  • Number of unique users each day.

  • Total number of unique assets clicked each day.

  • Existing data size in the reporting warehouse, based on the data retention in the warehouse.

The overall effect of these factors is less significant than the total data volume and the number of site entities. However, it is important to conduct your own capacity management based on your planned workload and usage characteristics. For more information about the capacity management process, see Performance and capacity management (SharePoint Server 2010).

See Also

Concepts

Performance and capacity management (SharePoint Server 2010)
SharePoint 2010 Administration Toolkit (SharePoint Server 2010)


Estimate performance and capacity requirements for Web Content Management in SharePoint Server 2010

Published: November 4, 2010

This article contains guidance on capacity management that is relevant to Microsoft SharePoint Server 2010 sites that have the Publishing Infrastructure enabled. This document is specific to SharePoint Server 2010, and the information that is discussed does not apply to SharePoint Foundation.

This article discusses the following scenarios:

  • An Internet publishing site - a corporate presence site.

    This kind of site is published to the Internet and lets anonymous Internet users find information about a corporation. Sites such as these are branded and the content is tightly controlled.

  • An intranet publishing site - an internal news site.

    This kind of site is published internally inside an organization. Its primary use is to share information with the authenticated users inside the organization. Information in the site might be managed tightly, or some areas might be less managed.

  • An enterprise wiki - a knowledge repository.

    An enterprise wiki is a single-farm site that grows organically as contributors create new pages and link them to other pages that might or might not exist yet. Enterprise wikis are typically published internally inside an organization. This site enables people across a company or organization to capture and share knowledge by using a solution that is integrated into and enhanced by their SharePoint environment.

After reading this document, you will understand the following concepts:

  • The key metric (throughput) that you should maximize to support lots of read operations.

  • Various potential bottlenecks that are relevant to a Web Content Management SharePoint Server 2010 deployment.

  • The importance of the output cache in maximizing throughput.

  • The effect of write operations on the end-user read experience.

In this article:

  • Prerequisite information

  • Test details and approach

  • Web Content Management deployments

  • What to optimize

  • Test results and recommendations

  • About the authors

Prerequisite information

Before you read this document, make sure that you understand the key concepts behind SharePoint Server 2010 capacity management. The following documentation will help you learn about the recommended approach to capacity management and provide context for helping you understand how to make effective use of the information in this document.

For more conceptual information about performance and capacity that you might find valuable in understanding the context of the data in this article, see the following documents:

  • Capacity management and sizing for SharePoint Server 2010

  • Performance and capacity technical case studies (SharePoint Server 2010)

Test details and approach

In each test, variables that might be present in the real world have been abstracted to show specific recommendations. Therefore, it is very important to test and monitor in your own environment to make sure that you have scaled correctly to meet the request volume that you expect. To learn more about capacity management concepts, you can refer to Capacity management and sizing overview for SharePoint Server 2010.

This article discusses performance with Site Collection Features, SharePoint Server Publishing Infrastructure, and Output caching. These features are available only when the SharePoint Server Publishing Infrastructure is enabled. By default, Publishing Portals have this feature enabled.

Dataset

The tests were conducted by using a dataset that shares common characteristics with actual Web Content Management deployments. Although load was constant, different pages were requested. The following table describes the dataset that was used for these tests.

Dataset

Object | Publishing site
Size of content databases | 2.63 GB
Number of content databases | 1
Number of site collections | 1
Number of Web applications | 1
Number of sites | 50
Number of pages | 20,000 pages, divided into 20 folders that have 1,000 pages each
Composition of pages | Article pages in basic HTML, with references to two images
Page size | 42 KB uncompressed; 12 KB compressed
Images | 3,000 at 30 KB to 1.3 MB each

We recommend configuring Internet Information Services (IIS) to always compress files instead of the default setting to dynamically compress files. When dynamic compression is enabled, IIS compresses pages until CPU utilization exceeds a certain threshold, at which point IIS ceases to compress pages until utilization drops under the threshold. The tests in this article were conducted with compression always on.

This test dataset used only default SharePoint Server 2010 features that are included with the product. Your site probably includes customizations in addition to these basic features. Therefore, it is important to test the performance of your own solution.

Hardware

The number of Web servers in the farm varied by test. But each had identical hardware. The following table describes the Web and application server hardware that was used during these tests.

Hardware specifications for application servers and Web servers

 | Web server
Processors | 2 quad core at 2.33 GHz
RAM | 8 GB
Operating system | Windows Server 2008, 64 bit
Size of the SharePoint drive | 300 GB
Number of network adapters | 2
Network adapter speed | 1 gigabit
Authentication | Windows Basic
Load balancer type | Hardware load balancing
Software version | SharePoint Server 2010 (pre-release version)
Services running locally | Central Administration Microsoft SharePoint Foundation Incoming E-Mail Microsoft SharePoint Foundation Web Application Microsoft SharePoint Foundation Workflow Timer Service

The following table describes the database server hardware that was used during these tests.

Hardware specifications for database servers

 | Database server
Processors | 4 quad core at 3.19 GHz
RAM | 16 GB
Operating system | Windows Server 2008, 64 bit
Storage | 15 disks of 300 GB @ 15,000 RPM
Number of network adapters | 2
Network adapter speed | 1 gigabit
Authentication | NTLM
Software version | Microsoft SQL Server 2008

Glossary

There are some specialized terms that you will encounter in this document. Here are some key terms and their definitions:

  • RPS Requests per second. The number of requests received by a farm or server in one second. This is a common measurement of server and farm load.

    Note that requests differ from page loads; each page contains several components, each of which creates one or more requests when the page is loaded. Therefore, one page load creates several requests. Typically, authentication checks and events that use insignificant resources are not counted in RPS measurements.

  • Green Zone This is the state at which the server can maintain the following set of criteria:

    • The server-side latency for at least 75 percent of the requests is less than 1 second.

    • All servers have a CPU utilization of less than 50 percent.

    • Failure rate is less than 0.01 percent.

Web Content Management deployments

There are two models by which content is authored in SharePoint publishing sites that can affect your choice of server farm topology.

In the author-in-place model, a single site collection is shared by authors and visitors. Authors can create and update content at any time, which leads to variable distributions of read and write operations throughout a given day. This server farm typically experiences lots of reads and a moderate number of writes.

The following diagram shows how authoring-in-place works from a topology perspective.

Diagram shows in-place authoring environment

In the content deployment model, multiple site collections separately and exclusively support content authoring and publishing. Content is created and updated in the authoring environment and then deployed to the publishing environment on a scheduled basis to be read by visitors. The publishing environment primarily serves read requests except when content is being deployed from the authoring environment. Unlike the author-in-place model, the server load that is exerted by content deployment can be adjusted to scheduled intervals.

The following diagram shows how content deployment works from a topology perspective.

Diagram shows content deployment environment

These content authoring models are mutually exclusive.

Although Internet publishing sites and intranet publishing sites can use either the author-in-place model or the content deployment model, enterprise wikis work best with the author-in-place model. An enterprise wiki typically experiences a larger volume of write operations relative to read operations because a larger proportion of users can edit pages. Enterprise wiki pages differ from publishing article pages and exhibit different performance characteristics.

What to optimize

This section discusses information for optimizing your Web Content Management environment. Optimizing the environment includes understanding how to manage throughput, bottlenecks, and caching.

In this section:

  • Throughput is the key metric

  • Bottlenecks and remediation

  • Caching helps

Throughput is the key metric

Throughput and response time are the most important metrics to optimize when you conduct capacity planning for a SharePoint Server 2010 Web Content Management deployment. Throughput is the number of operations that a server farm can perform per second, measured in requests per second (RPS).

Bottlenecks and remediation

A bottleneck is the system resource that, when it is used up, prevents the server farm from serving additional requests. The following diagram shows the elements of a server farm and the resources that can become bottlenecks and that should be monitored.

Diagram shows server farm building blocks

Web server CPU utilization

The Web server CPU should be the bottleneck of a well-tuned topology because it is the most easily scalable component. The load balancer routes requests among Web servers and ensures that no single server is significantly more used than its peers.

Although additional users can visit the site after Web server CPU utilization is fully used, the server response time that these users experience increases. This behavior is useful for managing spikes in request volume. However, sustained load beyond a server farm's capacity eventually results in a backlog of requests that is large enough to exceed the waiting requests threshold. At this point, Web servers throttle requests and respond with HTTP error 503. In the following illustration, server response time decreases after the waiting requests threshold is met because only HTTP errors are served.

Chart shows response time v. resource utilization

The following changes are shown in this diagram:

  1. Response time increases as Web server CPU utilization approaches 100 percent.

  2. After the waiting requests threshold is exceeded, additional requests are served with errors.

Other bottlenecks

If the Web server CPU is not the bottleneck, the next items to investigate for bottlenecks are the farm topology, the farm configuration, or the content of the pages being served. Some potential bottlenecks in these elements include the following:

  1. Network In situations of high throughput, the network might be saturated either between the Web server and the database server or between the Web server and end users. To avoid this situation, we recommend that Web servers use dual gigabit network adapters.

  2. Database server CPU If the database server CPU becomes the bottleneck, adding Web servers to the server farm cannot increase the maximum throughput that the farm can support. A bottleneck with the database CPU but not with the Web server CPUs can reflect two situations:

    1. Poor cache settings or very slow pages, especially those that are not output cached. This is characterized by high database server CPU utilization but low or medium throughput and low or medium Web server utilization.

    2. The database server might have reached capacity for the throughput required for the farm. This is characterized by high Web server and database server CPU utilization at high throughput.

Caching helps

SharePoint Server 2010 uses three kinds of caching. The common goal of these caches is to improve efficiency by reducing calls to the database for data that is frequently requested. Subsequent requests for a page can be served from the cache on the Web server, which results in significantly reduced resource utilization on the Web servers and database servers.

The three kinds of caching are as follows:

  • Output cache This cache stores requested page content in the memory of the Web server. For more information about the output cache, see Output Caching and Cache Profiles (http://go.microsoft.com/fwlink/p/?LinkID=121543).

  • Object cache This cache stores SharePoint objects, such as Web and list item metadata, in the memory of the Web server. For more information about the object cache, see Object Caching (http://go.microsoft.com/fwlink/p/?LinkID=123948).

  • Disk-based cache for Binary Large Objects (BLOBs) This cache stores image, sound, video files, and other large binary files on disk. For more information about the BLOB cache, see Disk-Based Caching for Binary Large Objects (http://go.microsoft.com/fwlink/p/?LinkID=123947).

Each of these caches is important for sustaining high throughput. However, output caching has the largest effect and is discussed in detail throughout this article.

Test results and recommendations

This section discusses specific areas that were tested and provides recommendations that result from those tests.

In this section:

  • Effect of enabling the output cache

  • Anonymous users and authenticated users

  • Scale-out characteristics of read and write operations

  • Output cache caveats

  • Effect of read volume on CPU and response time

  • Effect of write operations on throughout

  • Effect of content deployment

  • Effect of database snapshot during content deployment export

  • Content characteristics

Effect of enabling the output cache

The output cache is a valuable feature to use to optimize a SharePoint Server 2010 solution for lots of read operations.

For these tests, to determine maximum RPS, the number of active users making requests on the farm was increased until CPU utilization of either the database server or the Web servers reached 100 percent and became a bottleneck. The test was conducted on 1x1 (1 Web server and 1 database server), 2x1, 4x1, and 8x1 farm topologies to demonstrate the effect of scaling out the Web servers at different output cache hit ratios.

Output cache hit ratio

The output cache hit ratio is a measure of output cache hits to misses.

  • A cache hit occurs when the cache receives a request for object data that is already stored in the cache.

  • A cache miss occurs when a request is received for object data that is not stored in the cache. When a cache miss occurs, the cache will attempt to store the requested object data so that later requests for that data result in a cache hit.

There are several reasons why a page request might result in a cache miss.

  • Pages that are configured not to use the output cache.

  • Personalized pages, for example, pages that have data that is specific for the current user.

  • First time browse per output cache variation key.

  • First time browse after cached content has expired.

The following diagram shows the effect of output caching on peak throughput in farms ranging from one to four Web servers and one database server.

Chart shows effect of output caching on peak
Note:

The data point for maximum RPS on a 4x1 server farm with a 100 percent output cache hit ratio is extrapolated and was not actually observed. The server farm request volume reached the network bandwidth limit; that is, the data transfer rate approached 1 gigabit per second. In all cases, the Web server CPU utilization is 100 percent.

The following table lists the effects of output cache hit ratios on farm topologies ranging from one to four Web servers and one database server.

Effects of output cache hit ratio on different farm topologies

Output cache hit ratio Measure 1x1 2x1 4x1

100%

Maximum RPS

SQL Server CPU utilization

3,463

0%

7,331

0%

11,032

0%

95%

Maximum RPS

SQL Server CPU utilization

2,137

5.93%

3,945

12.00%

5,937

21.80%

90%

Maximum RPS

SQL Server CPU utilization

1,518

7.12%

2,864

14.40%

4,518

28.00%

50%

Maximum RPS

SQL Server CPU utilization

459

9.86%

913

19.50%

1,596

42.00%

0%

Maximum RPS

SQL Server CPU utilization

172

9.53%

339

19.00%

638

36.30%

Conclusions and recommendations for the effect of enabling the output cache

Higher output cache hit ratios yield significant increases in maximum RPS. Therefore, we recommend enabling output caching to optimize your SharePoint Server 2010 publishing solution. You can configure the output cache on the Output Cache Settings page for the site collection. For more information, see Configure page output cache settings for a site collection (http://go.microsoft.com/fwlink/p/?LinkId=205058) on the Office.Microsoft.com Web site.

In tests that had output caching enabled, the first request that cached a page was excluded; that is, a certain percentage of pages are already stored in the cache. When a user first requests a page that is not cached, the page is added to the cache. If the cache has reached or is approaching capacity, the cache trims the data that was least recently requested.

The 0 percent cache hit ratio simulates the short time in an environment during which the enabled output cache is being filled after it was flushed. For example, this is observed every day in a real-world environment when the application pool recycles. It is important to scale your hardware up or out appropriately to accommodate a situation in which there is a 0 percent cache hit ratio for the brief time between the application pool recycle and the next requesting and caching of pages. The 0 percent cache hit ratio also simulates an environment in which output caching is not enabled.

Anonymous users and authenticated users

The previous test assumes that all requests to the site are made by anonymous readers. However, in your site, some or all users might be authenticated. Examples of authenticated read scenarios include a corporate intranet publishing site and members-only content on an Internet site.

With output cache profiles, you can specify output cache behavior for authenticated users that differs from the behavior for anonymous users.

Cache profiles

Cache profiles aggregate settings that you can apply to pages, page items, content types, and levels of scale in a site deployment. A cache profile defines the following kinds of cache behavior:

  • The length of time that items should be held in the cache.

  • The security trimming policy.

  • The expiration of settings, such as duration and changes.

  • The variations of cached content, for example, based on user permission, user rights, and other custom variables.

Any change to a cache profile immediately affects all applicable content on the site. You can set different cache profiles for anonymous users and for authenticated users.

For anonymous users, the Public Internet (Purely Anonymous) output cache profile was used and for authenticated users, the Extranet (Published Site) output cache profile was used.

The following chart shows the effects of authenticated throughput on database server CPU utilization.

Chart showing effect of authenticated throughput

The authentication model was Windows Basic authentication. Although we do not recommend that you use Windows Basic authentication for Internet sites, this authentication method was selected to demonstrate a minimum overhead that is imposed by authentication. The size of this overhead varies by your specific authentication mechanism. When you are testing your deployment, make sure that you account for the effect of your authentication mechanism. For more information about the authentication mechanisms that are supported by SharePoint Server 2010, see Plan authentication methods (SharePoint Server 2010).

Conclusions and recommendations for anonymous users and authenticated users

Authenticated users experience lower RPS and less scale-out potential because the additional work of validating credentials exerts load on the database server. As demonstrated in the test results, the maximum RPS that is observed when users are authenticated is significantly lower than that of an anonymous access farm.

Scale-out characteristics of read and write operations

Our tests were constructed to record writes per hour. In this article, a write is defined as either the creation and check-in of a new Publishing Page or the editing and check-in of an existing Publishing Page.

For the following tests, readers were added to the system until Web server CPU utilization reached approximately 80-90 percent, and then write operations were performed in the environment by using artificial delay. The total writes per hour for the test was approximately 500. We used a 90 percent output cache hit ratio for all tests. We performed the same test on a 1x1, 2x1, and 4x1 farm and observed the Web server and SQL Server CPU usage in addition to the overall read throughput for each configuration. In addition, we tested an anonymous read-only configuration as a baseline, and we also tested a configuration with authenticated readers by using Windows Basic authentication.

Although the Web server CPU was fully utilized at 100 percent usage during the read-only scale-out tests, we held the Web server CPU between 80-90 percent for the scale-out tests with writes. This was done to leave room for additional CPU utilization when write activity was being performed.

The following chart shows the overall read RPS that were observed during each test. The read RPS scales linearly as additional Web servers are added, even with write activity. However, there is an RPS loss when writes are incorporated.

Chart shows scale out of read/write operations

Database server CPU usage increased as the number of Web servers increased. The following chart shows the growth pattern of SQL Server CPU usage in the various configurations. As observed in the Anonymous users and authenticated users section earlier in this article, authentication affects database server CPU utilization, and this becomes more pronounced as write activity is added (which also affects database server CPU utilization).

Chart shows effect of read/write load on DB server

The extrapolated trend in SQL Server usage demonstrates that SQL Server will become the bottleneck with six Web servers that have authenticated read requests. However, in the anonymous read case, scaling out to a larger number of Web servers is workable.

It is important to be aware that additional factors in a typical deployment affect the load on the database server, and these factors are important to account for when you are conducting capacity planning. To learn more about how to determine a green zone for typical database server CPU utilization, see Capacity management and sizing overview for SharePoint Server 2010.

Conclusions and recommendations for scale-out characteristics of read and write operations

Our data shows that scaling out the number of Web servers is an effective strategy for increasing throughput if the database server does not become the bottleneck. On average, the anonymous read/authenticated writes test mix exerted a 52 percent increase in Web server CPU utilization compared to an anonymous read/no writes test mix. In addition, authenticated reads add a large additional SQL Server load, because each request incurs additional authentication checks, which requires a round trip to SQL Server.

The following chart shows the effect of throughput on database server CPU utilization.

Chart shows effect of throughput on DB server CPU

Output cache caveats

If the only concern in capacity planning were to maximize RPS, these tests would suggest that the optimal cache hit ratio is 100 percent. However, it might not be workable or desirable to enable output caching of any or all pages because of data freshness requirements or memory constraints.

Data freshness

Data that is served from the output cache might not contain recent updates that have been made to the original content. In the source of content deployment or (for authenticated authors) in an author-in-production scenario, authors might want to see the most recent changes immediately after they update existing content.

This is generally eased by setting the Duration property in the cache profile, which specifies how long a cached page persists in the output cache before it expires. When a page expires, it is removed from the cache and a later request results in a cache miss that refreshes the page content.

The Check for Changes cache profile property can also be set so that the server compares the time at which a page was cached with the time at which content was last modified in a site collection. A request for a page that has unmatched time stamps causes cache invalidation for all pages in the site collection. Because the Check for Changes property affects all pages in a site collection, we recommend enabling this option only if there is an authenticated author-in-place solution that is infrequently updated and basically static. Combining this option with a long duration enables all pages to be served from the cache until an update is made to the site.

By default, the Check for Changes property is not enabled. This means that the Web server serves data from the output cache in response to requests for a page that has not yet expired, regardless of whether the underlying, original ASPX page was modified.

In this test, conducted on a 1x1 server farm, all variables are the same as in the tests in the Scale-out characteristics of read and write operations section except for the Check for Changes property. When the Check for Changes property is turned on, the cache is flushed more often, which results in a lower output cache hit ratio.

The following chart shows the effect of the Check for Changes property on throughput.

Chart shows effect of check for changes

We recommend avoiding the Check for Changes output cache profile property except in specific cases. A site that uses the author-in-place model and experiences infrequent changes in content might benefit from this setting for authenticated users together with a long cache duration, but other kinds of sites will most likely have a degradation in RPS.

Depending on your requirements, you might want time-sensitive content to go live instantly or faster than the default settings allow for. In this case, you should decrease the duration or not enable output caching.

Conclusions and recommendations for output cache caveats

Output caching does not solve all the problems that are related to capacity management. There are some situations in which output caching is unsuitable, and you should consider these when you enable the output cache and configure output cache profiles.

Effect of read volume on CPU and response time

This test was conducted on a 1x1 farm with anonymous access and output caching enabled.

The following chart shows the effect of read volume on CPU and response time.

Chart shows effect of reads on CPU and response t

Conclusions and recommendations for effect of read volume on CPU and response time

As discussed in the Bottlenecks and remediation section, server response time will stay generally constant until the Web server receives sufficient request volume to fully use its CPU. As Web server CPU is fully utilized, response time will increase significantly. However, the server farm will still be able to handle some additional request volume.

Effect of write operations on throughout

The ratio of creation to editing operations is distributed evenly through the course of the tests. Writes per hour values were tested up to approximately 500, because creating or editing more than 500 pages per hour is outside the range which most SharePoint deployments would operate. The test did not cover automated processes, such as content deployment, which is discussed in the Effect of content deployment section. These create and edit operations might result in multiple SQL Server operations. Therefore, it is important to be aware that the writes that are measured in these tests are not at the SQL Server level, but instead represent what a user would consider a write operation. All RPS versus writes per hour tests were conducted on a 1x1 farm.

We first added read operations to the test until Web server CPU was between 60 and 80 percent to leave a buffer for traffic spikes, and we maintained this average utilization level throughout the course of the test. We then introduced writes by using an artificial delay to control the number of write operations. However, there were spikes of increased Web server and SQL Server CPU usage while the writes were occurring. Some of these spikes for some cache hit ratios exceeded the threshold for ordinary operation as shown in the following chart, although the average stayed within the range of ordinary operation.

Chart shows effect of write operations on throughp

As shown in the previous chart, there is a minor reduction in throughput as writes are added to the environment. The graph demonstrates the change in throughput between a read-only scenario and read operations during approximately 500 writes per hour. Two data points were recorded for each output cache hit ratio. Therefore, the relationship between data points is not necessarily linear.

The percentage reduction is more pronounced for lower cache hit ratios, as shown in the following chart. Overall read RPS remains largely dependent on the cache hit ratio, regardless of the writes.

Chart shows throughput reduction due to write volu

The following chart demonstrates that the database server CPU utilization did not increase appreciably when writes were added to the system. Note that the vertical scale is from 0 to10 percent of CPU capacity.

Chart shows average DB server CPU v. WPH

Additional SQL Server load was observed during the write operations, which is expected. However, the largest increase was an additional 2.06 percent, which is insignificant. Average database server CPU utilization stayed lower than 10 percent throughout all tests. This test was performed on a 1x1 farm. Database server CPU usage will increase as the number of Web servers is scaled out. This is discussed more in Scale-out characteristics of read and write operations.

Web server CPU utilization was also measured during the tests. The following chart demonstrates that average Web server CPU usage remained in the 60-80 percent range throughout the course of the tests, even as the writes per hour approached 500.

Chart shows Web server CPU utilization v. WPH

However, the actual measured CPU utilization spikes when the writes occur, as shown in in the following chart. In general, these CPU spikes do not represent a problem. The goal of the green zone is to provide CPU head room to absorb some spikes in CPU load. Also, as additional Web servers are added, the effect of the spikes will be distributed across these servers so that the effect on a single Web server CPU will be lessened. However, you should know that such spikes would be expected in a real deployment; write activity is not uniformly distributed, although it does generally occur in bursts.

Chart shows Web server CPU utilization with writes

A 90 percent cache hit ratio is very low for a typical deployment. Most SharePoint Server 2010 deployments with lots of read operations will have an output cache hit ratio of 95 percent or more.

Conclusions and recommendations for effect of write operations on throughput

The data that is presented indicates that write operations will not have a large adverse effect on the overall throughput of the system for readers. You should recognize that write activity can cause spikes in CPU usage and you should plan your typical configuration to expect these spikes. A strategy for leveling these spikes is to scale out to multiple Web servers. This has two advantages:

  • It spreads out the write load to multiple Web servers, which smoothes the overall spikes.

  • It provides increased read RPS, especially at high output cache hit ratios.

Effect of content deployment

An alternative to the author-in-place model, which uses a single environment for editing and reading, is to split the single environment into two separate environments — an authoring environment and a production environment — and to use content deployment to copy content from the authoring environment to the production environment.

In this configuration, the production environment ranges from little write activity to no write activity, except when content deployment is importing content. For these tests, reads were added until the Web server CPU usage entered the 70-80 percent range. The content deployment job then exported 10 sites that have 500 pages each from the authoring site collection as a package and imported this package into the publishing site collection. The size of the deployed package is larger than what is typically observed in real-world environments in order to sufficiently extend the duration of the content deployment job to see test results. For additional information about characteristics of the deployed content, see the Dataset section.

When export was complete, we imported the content into a separate site collection and measured the application server and SQL Server load, in addition to the throughput, while import was in progress. The import test was conducted for several different output cache hit ratios.

The key observation is that import has only a minor effect on overall read RPS, as shown in the following chart. We also observed that import had no significant effect on the Web server CPU utilization, as shown in the following tables, regardless of cache hit ratio. However, there was a more noticeable effect on SQL Server CPU, shown in the following chart. This is expected, because the database server will experience additional load while content is imported in it. However, the SQL Server CPU stayed lower than 12 percent usage at all cache hit ratios tested, even during import.

Chart shows effect of content deployment import

The following tables show the effect of content deployment import on Web server and database server CPU utilization.

Effect of content deployment import on Web server CPU utilization

Cache hit | 100% | 99% | 98% | 95% | 90% | 50% | 0%
Baseline | 72.32% | 73.26% | 71.28% | 73.53% | 71.79% | 68.05% | 63.97%
With import | 70.93% | 74.45% | 69.56% | 74.12% | 70.95% | 67.93% | 63.94%

Effect of content deployment import on database server CPU utilization

Cache hit | 100% | 99% | 98% | 95% | 90% | 50% | 0%
Baseline | 1.19% | 1.64% | 2.01% | 3.00% | 3.73% | 5.40% | 6.82%
With import | 6.03% | 6.82% | 6.97% | 7.96% | 8.52% | 10.29% | 10.56%

Conclusions and recommendations for effect of content deployment

The results from our tests show that performing content deployment operations during ordinary site operations does not pose a significant performance concern. These results show that it is not strictly necessary to deploy content during low-traffic periods to minimize the effect of the operation on overall performance and that deployment times can be driven primarily by business needs instead of performance requirements.

Effect of database snapshot during content deployment export

In SharePoint Server 2010, content deployment can be configured to create a snapshot of the source content database before exporting content from it. This effectively shields the export process from any authoring activity that might be occurring while the export happens. However, snapshots can affect the write performance of the database server, because the snapshot acts as a multiplier for the writes. For example, if you have two snapshots of a source database, and then you write to the source database, the database server copies the existing data to each snapshot, and then it writes the new data into the source database. This means that a single write to the source database incurs three actual writes: one to the source database, and an additional one for each database snapshot.

To determine the effect of a snapshot on the authoring environment, we measured the write RPS, response time, and the CPU utilization of the Web servers, database server, and application server during an export operation while write activity was also occurring. The following tables display the results.

Effect of database snapshots during content deployment

Metric | 4 WPH - No snapshots | 4 WPH - With snapshots
Write RPS | 0.2 | 0.16
Response time | 0.13 | 0.15
Web server CPU % | 0.42% | 0.27%
Application server CPU% | 8.67% | 8.98%
Database server CPU % | 3.34% | 2.41%

Effect of database snapshots during content deployment

Metric | 8 WPH - No snapshots | 8 WPH - With snapshots
Write RPS | 0.44 | 0.44
Response time | 0.13 | 0.13
Web server CPU % | 0.61% | 0.73%
Application server CPU% | 14.6% | 12%
Database server CPU % | 7.04% | 7.86%

Conclusions and recommendations for effect of database snapshot during content deployment export

The results of our tests showed no significant effect on any measured data points with database snapshots. All variance that was recorded was within the margin of error. This confirms that database snapshots can be used without strong performance considerations.

Content characteristics

The tests were conducted on a single dataset that was created to answer a specific set of questions. Your dataset will differ and will change over time. This section investigates how content characteristics, such as the number of pages in the page library and the features that are included on pages, can inform capacity management decisions.

Number of pages

Maximum RPS across many page library sizes was tested. This test was conducted on a 4x1 topology with output caching disabled and with anonymous access. All pages were 42 KB uncompressed, 12 KB compressed. The following table shows the test results.

Effect of library page count on RPS

Number of pages | 3 | 1,000 | 20,000
Maximum RPS | 860 | 801 | 790

Increasing the number of pages to 20,000 did not have a significant effect on maximum RPS.

Multivalued lookup fields

A multivalued lookup field is a column in a list that references one or more items in another list, such as columns that use enterprise managed metadata. These fields are generally used as search keywords for a page and are not necessarily rendered. In some cases, for example enterprise wikis, it makes sense to render these field values into the contents of pages. For instance, pages might be filed into categories when they are created (for example, World News, Human Interest, and Sports on a news site) and the master page includes a placeholder that will show the user which categories the page was tagged with.

Multivalued lookup fields cause more data to be fetched every time a page is requested. Therefore, having many multivalued lookup fields on a page can affect performance.

The following chart shows the effect of multivalued lookup fields on throughput.

Chart shows effect of multivalued lookup fields

The following chart shows the effect of multivalued lookup fields on farm resource utilization.

Chart shows resources effect of multivalued lookup

Maximum RPS degradation occurs as the number of multivalued lookup fields increases due to the effect on the network between the Web server and the database server.

Effect of usage reporting

Usage reporting is a service that helps administrators monitor statistics about the use of their sites. For more information about usage reporting, see Configure usage and health data collection (SharePoint Server 2010).

We tested the effect of usage reporting timer jobs on maximum RPS on a 1x1 farm. The following table describes the results.

Effect of usage logging on performance (in RPS)

 | Usage DB on | Usage DB off | Difference
Output cache on | 3,459 | 3,463 | 4
Output cache off | 629 | 638 | 9

The results show that enabling usage logging does not significantly affect RPS in a read-only scenario.

About the authors

Joshua Stickler is a Program Manager for SharePoint Server 2010 at Microsoft.

Tyler Butler is a Program Manager for SharePoint Server 2010 at Microsoft.

Zhi Liu is a Software Development Engineer in Test for SharePoint Server 2010 at Microsoft.

Cheuk Dong is a Software Development Engineer in Test for SharePoint Server 2010 at Microsoft.

Philippe Flamm is a Software Development Engineer in Test for SharePoint Server 2010 at Microsoft.


Estimate capacity and performance for enterprise managed metadata in SharePoint Server 2010
See Also

Published: March 10, 2011

This article provides recommendations related to sizing and performance optimization of the managed metadata service in Microsoft SharePoint Server 2010. This article also provides best practices on how to configure the service and structure the service application databases for maximum performance.

The information in this article can help you understand the tested performance and capacity limits of the managed metadata service. Use this information to determine whether your planned deployment falls within acceptable performance and capacity limits.

In this article:

  • Test farm characteristics

  • Test results and recommendations

For general information about capacity management and how to plan for SharePoint Server 2010, see Capacity management and sizing for SharePoint Server 2010.

Test farm characteristics

Dataset

The tests were first run against the baseline dataset, which simulates a typical customer dataset. Then, a single variable was changed and the same tests were run again to determine the effect that changing that variable had on performance. In most cases, variables were tested independently. However, in some cases, certain important variables were tested in combination.

Baseline dataset

The baseline dataset contains the data shown in the following table.

Data | Detail
Term set groups | 100
Term sets | 1,000 (10 per group)
Managed terms (this does not include enterprise keywords) | 20,000 (20 per term set)
Enterprise keywords | 80,000
Total terms (this includes managed terms and enterprise keywords) | 100,000
Labels | 100,000 (1 per term)
Term label length | 250 characters per label

The number of terms in the baseline dataset is shown in the following graph.

Ratio of keywords to terms

In these tests, the ratio of keywords to managed terms is always 4:1 in all datasets.

Workload

Several key characteristics of the managed metadata service can potentially affect the performance of the service. These characteristics include the following:

  • Characteristics of the data in the service

    • Term label length

    • Number of terms per term store

    • Number of term labels per term store

  • Characteristics of the load on the service

    • Read/write mix

  • Size of term store cache

  • Number of service applications per database server

  • Performance of service timer jobs (Content Type Hub, Content Type Subscriber, Enterprise Metadata site data update, Taxonomy Update Scheduler)

The specific capacity and performance test results presented in this article might differ from the test results in real-world environments, and are intended to provide a starting point for the design of an appropriately scaled environment. After you have completed your initial system design, test the configuration to determine whether the system will support how you have configured the managed metadata service in your environment.

Test scenarios

The following tests were used for each test scenario:

  • Create a term (Write test)

    This test creates a term in an existing term set.

  • Get suggestions (Read-only test)

    This test searches for terms that begin with a single character string, as used in the suggestions retrieval of the keywords field.

  • Get matches (Read-only test)

    This test searches for terms that match a provided string, as in the value matching of the keywords field or metadata field.

  • Get child terms in a term set by using paging (Read-only test)

    This test retrieves child terms in a term set by using paging.

  • Validate a term (Read-only test)

    This test validates a single term, as in the value validation of the keywords field or metadata field.

Test mix

Most tests (except tests of the effects of write operations) used the same mix of read and write operations, which is shown in the following table.

Test | Percentage of mix
Create a term | 0.125%
Get suggestions | 72.875%
Get matches | 11%
Get child terms in a term set by using paging | 5%
Validate a term | 11%

"Get suggestions" is the most frequently used end-user operation. This is why it is heavily weighted in the test mix.

Hardware, settings, and topology

The test farm is a three-server farm that has a separate, single server each for the Web server, application server, and database computer.

Web server and application server

The Web server and the application server used identical hardware and were configured as shown in the following table.

Component Web server and application server configuration

Processors

Two quad-core, 2.33 GHz each

RAM

8 GB

Operating system

Windows Server 2008, 64-bit

Size of the system drive

300 GB

Number of network adapters

Two

Network adapter speed

1 gigabit per second

Authentication

Windows Basic

Software version

SharePoint Server 2010

Note:

The result may vary depending on which version is used.

Services that run locally

Central Administration

Microsoft SharePoint Foundation Incoming E-Mail

Microsoft SharePoint Foundation Web Application

Microsoft SharePoint Foundation Microsoft SharePoint Foundation Workflow Timer Service

Database server

The database server was configured as shown in the following table.

Component | Database server configuration
Processors | Four quad-core, 3.19 GHz each
RAM | 16 GB
Operating system | Windows Server 2008, 64-bit
Storage | 15 disks of 300 GB, 15,000 RPM each
Number of network adapters | Two
Network adapter speed | 1 gigabit per second
Authentication | Windows NTLM
Software version | Microsoft SQL Server 2008

Test results and recommendations

This section describes test results and gives recommendations for the following characteristics:

  • Data characteristics

  • Load characteristics

  • Performance of timer jobs

Data characteristics

Effect of term label length

These tests were performed on the baseline term store first by using a term label length of 5 characters, and again by using a term label length of 250 characters. In this test, write operations represent a much greater percentage of the total than the mix of read and write operations that we used for most other tests.

Test | Percentage of mix
Create a term | 5%
Get suggestions | 70%
Get matches | 10%
Get child terms in a term set by using paging | 5%
Validate a term | 10%

The requests-per-second (RPS) results for different term label lengths are shown in the following graph. This data suggests that term label length has an insignificant effect on average RPS for both loads.

RPS v. label length

CPU and memory usage are shown in the following graphs.

As shown by the results, the effect of term label length on CPU and memory usage for the Web server and application server is insignificant. However, the load on the database server increases as the term label length increases.

Conclusions and recommendations: Term label length

Term label length does not have a significant effect on the system performance.

Terms per term store

These tests were performed on the baseline term store, and then the term store was scaled up to 1 million terms by increasing the number of managed terms and keywords proportionally.

When the keywords term set was removed from the term store for testing, the difference was not significant among the performance of a term store with 100,000 terms, a term store with 500,000 terms, and a term store with 1 million terms, as shown in the following two graphs.

When the system is under the specified test load, the time that is required to create a keyword increases significantly as the number of keywords increases from 16,000 to 800,000. This trend can be seen in the next graph.

Time to create keyword

Conclusions and recommendations: Terms per term store

The number of terms in a term store does not significantly affect system performance when very few users create keywords or when the number of keywords is small.

The keywords term set is stored in a flat list, unlike other term sets that have a more complex structure. The larger the flat list grows, the longer it takes to check whether there is already a keyword that has the same name. Therefore, it takes longer to create a keyword in a large keywords term set.

The term store administrator should limit the size of the keywords term set to prevent latency when users create keyword terms. One approach is to frequently move keywords into a regular term set, which can improve performance and contribute to better organization of term data.

Any term set that contains more than 150,000 terms in a flat list is subject to latency and performance issues. One alternative is to use a managed term set which usually has a structured collection of terms. For more information about term sets, see Managed metadata overview (SharePoint Server 2010).

Common errors

As the total number of terms in the term store approaches 500,000, users might experience various exceptions when they attempt to access the term store. By checking the related Unified Logging Service (ULS) log, the farm administrator can find the exception and determine whether it applies to client or server.

TimeoutException

When TimeoutException errors occur, you can modify the time-out value in the client.config file or in the web.config file for the managed metadata service. The client.config file can be found in the %PROGRAMFILES%\Microsoft Office Servers\14.0\WebClients\Metadata folder. The web.config file can be found in the %PROGRAMFILES%\Microsoft Office Servers\14.0\WebServices\Metadata folder. There are four time-out values:

  • receiveTimeout A time-out value that specifies the interval of time provided for a receive operation to be completed.

  • sendTimeout A time-out value that specifies the interval of time provided for a send operation to be completed.

  • openTimeout A time-out value that specifies the interval of time provided for an open operation to be completed.

  • closeTimeout A time-out value that specifies the interval of time provided for a close operation to be completed.

These time-out values are defined in the customBinding section. You can increase the time-out value based on the specific operation that is timing out. For example, if the time-out occurs when messages are received, you only need to increase the value of ReceiveTimeout.

Note:

There are time-out values for HTTP and HTTPS, and therefore you must modify the time-out value for either HTTP or HTTPS.

For more information about time-out values, see <customBinding> (http://go.microsoft.com/fwlink/p/?LinkId=214213).

ThreadAbortException

When ThreadAbortException errors occur, you can increase the execution time-out value in the web.config file for the specific Web application. The web.config file is located in the %inetpub%\wwwroot\wss\VirtualDirectories\<Application Port Number> folder. For example, if the request is for TaxonomyInternalService on a Web application, first identify the web.config file for the Web application, and then add the following code into the configuration node.

Copy Code
  <location path="_vti_bin/TaxonomyInternalService.json">
    <system.web>
      <httpRuntime executionTimeout="3600" />
    </system.web>
  </location>
Note:

The default executionTimeout value is 360 seconds.

Term labels per term store

This test was performed on a baseline term store that had 100,000 terms. During the test, the number of labels was incremented for each term, as shown in the following graph.

The average RPS decreases only slightly as the number of labels increases. CPU and memory usage on the Web server, application server, and database server increase only slightly, as shown in the following graphs.

Average CPU Utilization Average RAM Utilization

Conclusions and recommendations: Term labels per term store

The number of labels does not have a significant effect on system performance when the average number of labels per term is less than four.

Summary: Data characteristics

This section reviews the test results for three different characteristics of the term store data: term label length, the number of terms per term store, and the number of term labels per term store. Trends revealed by this test include the following:

  • Increasing the term label length to 250 does not have a significant effect on term store performance.

  • Increasing the average number of labels per term to four does not have a significant effect on term store performance.

  • Increasing the number of terms to 1 million does not have a significant effect on term store performance.

  • When the term store contains more than 150,000 terms in a term set that uses a flat list, it can take a long time to add new terms to the term store.

Load characteristics

Impact of changes in the read/write mix

These tests were performed by using the baseline read/write operation test mix with the "Create taxonomy item" test as the item that varied. The following table shows the specific operations that were used in the baseline test mix and their associated percentages.

Test | Percentage of load
Get suggestions | 73%
Create taxonomy item | 0%
Get matches | 11%
Get paged child terms in a term set | 5%
Validate a term | 11%

For each successive test, the number of terms created was increased. The following table shows the three tests that were performed by looking at the average terms created per minute and then getting the average RPS.

Average terms created/minute | Average RPS
0 | 182
8.4 | 157
20 | 139

As shown in the following graph, RPS decreases as the average number of terms created per minute increases.

RPS average terms created per minute

CPU and memory usage are displayed in the following two graphs.

CPU Average number of terms created per minute RAM Average terms created per minute

Conclusions and recommendations: Impact of changes in the read/write mix

It is expected that term store performance will decrease as the percentage of write operations increases; because write operations hold more exclusive locks on the data, which delays the execution of read operations. Based on the test data, RPS does not significantly decrease until the average number of terms created reaches 20 per minute. However, an average term creation rate of 20 per minute is fairly high and does not ordinarily occur, especially in a mature term set. Making a term set read-only can improve performance by eliminating write operations.

Term store cache

The term store cache exists on all Web servers in a farm. It can contain term set groups, term sets, and terms. These tests were performed to show how the memory footprint of the cache object changes as the number of terms increases. There are other factors that affect the cache size — for example, term descriptions, the number of labels, and custom properties. To simplify the test, every term in the baseline term store has no description or custom properties, and has only one label with 250 characters.

The following graph shows how the memory footprint changes as the number of terms in the cache increases.

Cache size vs. number of terms viewed

Conclusions and recommendations: Term store cache

Memory usage on the Web server increases linearly as the number of the terms in the cache increases. This makes it possible to estimate the cache size if the number of terms is known. Based on the test data, memory usage should not be a performance issue for most systems.

Service applications consumed by a farm

This test shows the difference in performance between one and two managed metadata service applications that have their databases hosted on the same database server.

As shown in the following graph, under the same load, RPS decreases when an additional service application is added. It is expected that RPS will decrease when additional service applications are added.

RPS for two service applications

Latency for most operations is not significantly affected when additional service applications are added. However, unlike other operations, the "get suggestions" operation interacts with all available service applications. Therefore, latency for this operation increases as the number of service applications increases, as shown in the following graph. It is expected that this trend will continue as the number of service applications increases.

Keywords suggestions latency

As shown in the following graphs, database server CPU usage increases significantly when there are two service applications that have databases residing on the same server, but memory usage is not significantly increased.

Average CPU utilization Average RAM utilization

Conclusions and recommendations: Service applications consumed by a farm

If you must maintain more than one managed metadata service application, make sure that latency for keyword suggestion operations is at an acceptable level. Note that network latency also contributes to total effective latency. We recommend that managed metadata service applications be consolidated as much as possible.

If a single SQL Server computer is used to host all service applications, the server must have enough CPU and memory resources to support acceptable performance targets.

Performance of timer jobs

This section shows the performance characteristics of two timer jobs in the managed metadata service: the Content Type Subscriber timer job and the Taxonomy Update Scheduler timer job. Both timer jobs enumerate the site collections in a given Web application, and can potentially run for a long time and consume significant system resources in a large farm.

Content Type Subscriber timer job

The Content Type Subscriber timer job distributes the published content types to all appropriate site collections of a Web application. The overall time that this timer job takes to run depends on many factors, such as the number of content types that need to be distributed, the number and type of fields in the content type, and the number of site collections. This test shows how the following scaling factors affect the overall time to distribute a content type:

  • The number of site collections in a Web application

  • The number of content types

The first test was done by publishing 10 content types and distributing them to a different number of site collections. As shown in the following graph, the relationship between time to distribute content types and the number of site collections is almost linear.

Syndication times vs. number of site collections

In this test, one content type was published to 1,000 site collections, and then ten content types were published to 1,000 site collections. The distribution time for ten content types is approximately 10 times the distribution time for one content type, again showing an almost linear increase.

Syndication time vs. number of content types

Conclusions and recommendations: Content Type Subscriber timer job

Test results show that the average time for a single content type to be distributed to a single site collection is almost a constant. Therefore, it is safe to run this timer job on a large collection of site collections. You can use the average distribution time to estimate how long the timer job will take to execute, given the number of site collections and the number of content types to distribute. If those numbers are extremely large, you might find it takes hours or even days to run the timer job. Nevertheless, you can pause and resume this timer job, and content type publishing is not a frequent activity.

Note that the time that is required to execute this timer job can increase significantly if a content type pushdown occurs during the timer job, especially if many lists are involved. For more information about content type pushdown, see the Managed Metadata Connections section in the Managed metadata service application overview (SharePoint Server 2010).

Tip:

When you try to publish a very large content type, you might see the following error:

WebException: the request was aborted.

The cause is that the size of the content type exceeds the 4 MB default maximum HTTP request size for the service application. To prevent this error, you can increase the maximumRequestLength value in the web.config file for the service application.

Taxonomy Update Scheduler timer job

The Taxonomy Update Scheduler timer job keeps the hidden taxonomy list on every site collection of a Web application in sync with the term store. The overall time that this timer job takes to run depends on the number of items that need to be updated and the number of site collections that contain updated items. This test shows how the size of the hidden list and the number of site collections in the Web application affects the average update time of a single item for a site collection.

The following graph shows the relationship between the number of site collections and the average time to update one term in one site collection.

Average time to update term

As shown in the following graph, the average time to update one term in one site collection increases slightly as the size of the hidden list increases.

Average time to update a term in a hidden list

Conclusions and recommendations: Taxonomy Update Scheduler timer job

An increase in the number of site collections does not have a significant effect on the average time to update a term in a site collection. Therefore, it is safe to run this timer job on a Web application that has a large number of site collections. You can estimate the overall execution time of the timer job by multiplying the average time to update a term in a site collection by the number of site collections and the average number of updated terms in each site collection. You can also pause and resume this timer job.

The size of the taxonomy hidden list increases over time as more and more terms are used by the site collection. The timer job might take longer to execute as the hidden list grows in size.

See Also

Other Resources

Resource Center: Managed Metadata and Taxonomy in SharePoint Server 2010


Estimate performance and capacity planning for workflow in SharePoint Server 2013
See Also

Published: December 9, 2010

This performance and capacity planning article provides guidance on the effect that the use of workflow has on topologies that run Microsoft SharePoint Server 2010.

For general information about capacity planning for SharePoint Server 2010, see Performance and capacity management (SharePoint Server 2010).

Contents

  • Test farm characteristics

  • Test results

  • Recommendations

  • Troubleshooting

Test farm characteristics

The following sections describe the characteristics of the test farm:

  • Dataset

  • Workload

  • Hardware, settings, and topology

Dataset

To get benchmarks, most tests ran on a default Team Site on a single site collection in the farm. The manual start tests started workflows by using a list that has 8,000 items.

Workload

Testing for this scenario helps develop estimates of how different farm configurations respond to changes to the following variables:

  • Effect of the number of front-end servers on throughput for manually starting declarative workflows across multiple computers

  • Effect of the number of front-end servers on throughput for automatically starting declarative workflows on item creation across multiple computers

  • Effect of the number of front-end servers on throughput for completing tasks across multiple computers

The specific capacity and performance figures presented in this article will differ from the figures in real-world environments. The figures presented are intended to provide a starting point for the design of an appropriately scaled environment. After you complete the initial system design, test the configuration to determine whether it will support the factors in your environment.

This section defines the test scenarios and discusses the test process that was used for each scenario. Detailed information such as test results and specific parameters are given in each test result section later in this article.

Test name Test description

Throughput for starting workflows manually

  1. Associate the included MOSS Approval workflow with a list that creates one task.

  2. Populate the list with list items.

  3. Call the StartWorkflow Web service method on Workflow.asmx against the items in the list for five minutes.

  4. Calculate throughput by looking at the number of workflows in progress.

Throughput for starting workflows automatically when an item is created

  1. Associate the included MOSS Approval workflow with a list that creates one task, set to automatically start when an item is created.

  2. Create items in the list for five minutes.

  3. Calculate throughput by looking at the number of workflows in progress.

Throughput for completing workflow tasks

  1. Associate the included MOSS Approval workflow with a list that creates one task, set to automatically start when an item is created.

  2. Create items in the list.

  3. Call the AlterToDo Web service method on Workflows.asmx against the items in the task list that was created by the workflows that started.

  4. Calculate throughput by looking at the number of workflows completed.

Hardware, settings, and topology

Topologies that were used for these tests use a single computer for the content database and from one to four front-end computers that have the default installation for SharePoint Server 2010. Although the workflows that were used in these tests are not available in Microsoft SharePoint Foundation 2010, the results can be used to estimate similar scenarios on those deployments. The dataset that was used for these tests contains a single site collection with a single site that is based on the Team Site template on a single content database.

To provide a high level of test-result detail, several farm configurations were used for testing. Farm configurations ranged from one to four Web servers and a single computer that is running Microsoft SQL Server 2008. Testing was performed with one client computer. The database server and all Web servers were 64-bit, and the client computer was 32-bit.

The following table lists the specific hardware that was used for testing.

 | Web server | Database server
Processor | 2px4c@2.33GHz | 4px4c@2.4GHz
RAM | 4 GB | 16 GB
Operating system | Windows Server 2008 R2 x64 | Windows Server 2008 R2 x64
Storage | 680 GB | 4.2 terabyte
Number of network adapters | 2 | 2
Network adapter speed | 1 gigabit | 1 gigabit
Authentication | NTLM | NTLM
Software version | 4747 | SQL Server 2008 R1
Number of SQL Server instances | 1 | 1
Load balancer type | No load balancer | No load balancer
ULS logging level | Medium | Medium

Workflow Capacity Planning Topology

Workflow planning topology

Test results

The following tables show the test results for workflow in SharePoint Server 2010. For each group of tests, only certain specific variables are changed to show the progressive effect on farm performance.

All the tests reported in this article were conducted without think time, a natural delay between consecutive operations. In a real-world environment, each operation is followed by a delay as the user performs the next step in the task. By contrast, in the test, each operation was immediately followed by the next operation, which resulted in a continual load on the farm. This load can cause database contention and other factors that can adversely affect performance.

Effect of scaling the Web server on throughput

The following throughput tests were run by using the Approval workflow that is included with SharePoint Server 2010. The workflow association assigns one task, and all instances are run on a single list. Each instance of this workflow creates the following in the content database:

  • An entry in the Workflows table to store workflow status

  • Five secondary list items (one task and four history items)

  • Four event receivers to handle events on the workflow's parent item and task

Workflow Postpone Threshold was set to be very large so that workflow operations would never get queued. Each test was run five times, and each test ran for five minutes.

Manual start throughput

The test in the following table shows how the addition of front-end servers affects the throughput of starting workflows synchronously through the Web service. This test was run with a user load of 25 concurrent users continuously calling the StartWorkflow method on Workflow.asmx and no other load on the farm. The user load was the optimal load before dropped Web requests occurred. The list is prepopulated with up to 8,000 items.

Topology | Approval workflow maximum RPS
1x1 | 14.35
2x1 | 24.08
3x1 | 29.7
4x1 | 30.77

The following graph shows how throughput changes. The addition of front-end servers does not necessarily affect farm throughput in a linear manner but instead peaks off at around three to four front-end servers. In summary, the maximum throughput for manually starting workflows is around 30 workflows per second, and adding more than four front-end servers will likely have an insignificant effect.

Manual start throughput

Manual start throughput

Automatically starting workflows when items are created throughput

The test in the following table shows how the addition of front-end servers affects the throughput of starting workflows automatically when items are created. This test was run with a user load of 150 concurrent users continuously calling the list Web service to create new list items in a single list and no other operations on the server. The list started as an empty list.

Topology | Approval workflow maximum RPS
1x1 | 13.0
2x1 | 25.11
3x1 | 32.11
4x1 | 32.18

The following graph shows how throughput changes. The throughput is very close to the manual start operations. Similar to the manual start test, throughput peaks at approximately three or four front-end servers at approximately 32 workflows per second maximum. Adding more than three or four front-end servers will have an insignificant effect.

Autostart workflow throughput

Autostart workflow throughput

Task completion throughput

The test in the following table shows how the addition of front-end servers affects the throughput of completing workflow tasks. The task list that was used by autostart workflows in the previous test was the list that was used to complete tasks. This test was run with a user load of 25 concurrent users continuously calling the AlterToDo method on Workflow.asmx and no other operations on the server. The list started as an empty list.

Topology | Approval workflow maximum RPS
1x1 | 13.5
2x1 | 23.86
3x1 | 27.06
4x1 | 27.14

The following graph shows how throughput changes. Similar to the manual start test, throughput peaks at approximately three or four front-end servers at approximately 32 workflows per second maximum. Adding more than three front-end servers will have an insignificant effect.

Task completion throughput

Task completion throughput

Effect of list size and number of workflow instances on throughput

The test in the following table shows how throughput changes as list size and number of workflows increases. Data population was done by running the autostart workflow test continuously until 1 million items were created in the list, and stopping at different checkpoints throughout the test to perform throughput measurements as we did with the core throughput tests. Tests were performed on a 4x1 topology.

To maintain reliability during data population, we had to keep workflow queuing turned on to avoid reaching the maximum number of connections on the database server. If no connections are available and a workflow operation cannot connect to the content database, the operation will be unable to run. See Recommendations for more information about workflow queuing.

Number of items or workflows | Baseline solution maximum (RPS)
0 | 32.18
10 | 32
1,000 | 28.67
10,000 | 27.16
100,000 | 16.98
1,000,000 | 9.27

Autostart throughput as number of items and workflows increases

Throughput as number of items, workflows increase

For a single list and single task and history list, throughput decreases steadily between 1,000 and 100,000 items. However, the rate of degradation reduces after that point. We attribute degradation of throughput to many factors.

One factor is the number of rows added to many tables in the content database per instance. As mentioned earlier, workflows create several list items in addition to event receivers that each workflow instance registers. As table sizes grow large in different scopes, adding rows becomes slower, and the aggregate slowdown for these additions becomes a more significant degradation than what is experienced with only list item creation.

Task list size contributes additional overhead. In comparing throughput for workflows run on new lists versus new task lists, task lists had a bigger effect on performance. This is because task lists register for more event receivers than the parent list items. The following chart describes the differences.

Throughput with different list configurations (workflows started per second) | Million item task list | Empty task list
Million item list | 9.27 | 12
Empty item list | 9.3 | 13

If you know that you will have to run lots of workflows against large lists and need more throughput than what your tests show you can get, consider whether your task lists can be separated between workflow associations.

Recommendations

This section provides general performance and capacity recommendations. Use these recommendations to determine the capacity and performance characteristics of the starting topology that you created to decide whether you have to scale out or scale up the starting topology.

For specific information about minimum and recommended system requirements, see Hardware and software requirements (SharePoint Server 2010).

Scaled-out topologies

You can increase workflow throughput by scaling out to up to four Web servers. Then, additional increase will be insignificant. Workflow throughput can be restricted by performance-related workflow settings. These settings are described in more detail in Workflow queuing and performance-related settings.

Estimating throughput targets

Many factors can affect throughput. These factors include the number of users, and the type, complexity, and frequency of user operations. More complex workflows that perform many operations against the content database or register for more events will run slower and consume more resources than other workflows.

The workflow used in this test creates several entries in the content database that are built in to the task activities. If you expect to have workflows with small numbers of tasks, you can expect similar throughput characteristics. If most workflows contain very lightweight operations, throughput may be increased. If your workflows will consist of lots of tasks or intense back-end operations or processing power, you can expect throughput to decrease.

In addition to understanding what the workflows will do, consider where the workflows will run and whether they will run against large lists, on which throughput will decrease over time.

SharePoint Server 2010 can be deployed and configured in many ways. As a result, there is no simple way to estimate how many users can be supported by a given number of servers. Therefore, make sure that you conduct testing in your own environment before you deploy SharePoint Server 2010 in a production environment.

Workflow queuing and performance-related settings

Workflow uses a queuing system to control workflow-related stress on farm resources and the content database. By using this system, when the number of workflows executing against a database reaches an administrator-configured threshold, successive workflow operations are added to the queue to be run by the Workflow Timer service. By default, this service receives a batch of workflow work items through timer jobs every minute.

Several farm administrator settings directly and indirectly related to the queuing mechanism affect the performance and scaling for workflow. The following sections describe what these settings do and how to adjust them to meet performance requirements.

Understanding the basic queue settings

Farm administrators can adjust the following settings to configure basic characteristics of the queuing system:

  • Workflow Postpone Threshold (Set-SPFarmConfig -WorkflowPostponeThreshold <integer>)

    The maximum number of workflows that can execute against a single content database before additional requests and operations are queued. Queued workflows show a status of Starting. This is a farm-wide setting that has a default value of 15. This represents the number of workflow operations that are being processed at a time, not the maximum number of workflows that can be in progress. As workflow operations are completed, successive operations will be able to run.

  • Workflow Event Delivery Batch Size (Set-SPWorkflow -BatchSize <integer>)

    The Workflow Timer service is an exception to the postpone threshold limit and will retrieve batches of items from the queue and execute them one at a time. These batches can be larger than the postpone threshold. The number of work items that the service receives per run is set by using the BatchSize property. The BatchSize property can be set one time per service instance. The default value is 100. When running on application servers that are not configured to be front-end servers, the Workflow Timer service requires workflow configuration settings in Web.config to be set in the configuration database. This must be done through a script that calls UpdateWorkflowConfigurationSettings() on the SPWebApplication object, which will copy the Web.config settings from a front-end server.

  • Workflow Timer Job Frequency (Set-SPTimerJob job-workflow -schedule <string>)

    The frequency with which the Workflow Timer service runs can be adjusted through timer job settings. By default, the service is set to run every five minutes. This means that there can be a five-minute delay before the work items at the top of the queue are processed.

    Note:

    Scheduled work items such as task due date expirations are also picked up by the same timer mechanism. Therefore, they will be delayed by the same time interval.

The Workflow Timer service can be turned off on each server by using Shared Services Administration in Central Administration. By default, it will run on every front-end server in the farm. Each job will iterate through all the Web applications and content databases in the farm.

The combination of the postpone threshold, batch size, and timer frequency can be used to limit workflow operations against the database. Maximum throughput will be affected by how quickly operations get queued and processed from the queue.

For example, with the default settings, a single timer service, and a single content database, if there are 1,000 items in the queue, it will take ten timer job runs to execute them all, which will take 50 minutes to execute. However, if you set the batch size to 1,000 and set the timer job to run every minute, the operations would all begin execution after a minute. If you set the postpone threshold higher, more operations will run synchronously, reducing the number of requests that get queued and reducing the total time that is required to process those workflows.

Note:

We recommend setting the postpone threshold no larger than 200, because concurrent workflow instances run in their own threads and will each open new SQL Server connections, potentially hitting the maximum connection limits on the database server over time.

If you do not want workflows running on front-end servers and know that operations do not have to occur immediately, you can isolate the Workflow Timer service to run on select application servers, set the postpone threshold to a very low number to force workflows to usually run in the timer service, and set the batch size large so that it receives items more quickly and frequently. If you want to make sure workflows run more synchronously across the system, set the postpone threshold larger so that workflows are not postponed often and have a more immediate effect.

Modify these settings to optimize for how you want workflows to operate. We recommend experimenting with different settings and testing them to optimize them for your environments and requirements.

Adjusting settings for queuing

If the farm will sustain heavy workflow load for long periods of time or there will be many delay events queued from workflows in the system, the number of queued workflow operations will grow. In addition to the basic queue settings, you may have to tune the following settings to keep the queue in good health:

  • Work Item Event Delivery Batchsize

    The table that workflow uses for queued events is a general work item table that is shared with other non-workflow features in SharePoint Server 2010. Thus, there is another timer job that dequeues non-workflow work items. Similar to the workflow event delivery batch size, the work item event delivery batch size specifies the number of non-workflow work items that are dequeued at a time.

  • Workflow Failover Timer Job Frequency

    In rare circumstances, if workflow events cannot be delivered to a workflow instance, the event delivery will be scheduled on the queue as a failover work item to be retried later (starting with 5 minutes later, and then 10 minutes if it fails again, and then 20 minutes, and so on). A workflow failover timer job dequeues failover work items, and this setting adjusts the frequency at which the failover timer will run. By default, this runs every 15 minutes.

  • Workflow Failover Batchsize

    Similar to the workflow and work item batch size settings, this setting controls the number of failover events that each failover timer job will dequeue.

    Because there are many timer jobs that operate on the same table, lots of queued items can cause database contention and reduce throughput and reliability. To reduce contention, we recommend the following:

    • Balance Postpone Threshold and Workflow Batchsize so that batch size is small enough or timer job frequency high enough that a timer job can be completed before the next timer job starts in order to avoid building up too many parallel timer job runs that cannot finish.

    • To avoid table locks, do not set either of the two batch size settings larger than 5,000.

Tip:

Offset the frequency of the workflow, work item, and failover timer jobs so that they are not always executing at the same times. To get a large list that has workflows, four minutes for the workflow timer job and six minutes for the failover worked well in our data population scripts.

Improving scaling for task and history lists

Workflows generate many tasks and history items per instance. By default, these lists are indexed to help with scaling, but as these lists grow, performance will always decrease. To reduce the rate of the decrease, keep separate history and task lists for different workflow associations, and periodically change these lists in the workflow association settings as lists become large.

Workflow also has a daily timer job (job-workflow-autoclean) that will automatically delete workflow instances and tasks for instances that have been finished for more than 60 days. Leave this timer job on to keep the task lists and events on the task list as clean as possible. If data must be preserved, write the data to other lists or archive locations. Workflow history items are not deleted by this timer job. If you have to clean these up, this should be done with a script or manually through the list user interface.

Other considerations

Removing columns on lists causes a database operation proportional to the number of items in the list. Removing workflow associations will remove the workflow status column from the list. This causes a large operation on large lists. If you know that a list has millions of items, set the workflow to No New Instance instead of removing workflows.

Troubleshooting

Bottleneck Cause Resolution

Database contention (locks)

Database locks prevent multiple users from making conflicting modifications to a set of data. When a set of data is locked by a user or process, no other user or process can change that same set of data until the first user or process is complete, changing the data and relinquishing the lock.

To help reduce the incidence of database locks, you can do the following:

  • Distribute workflows to more document libraries.

  • Scale up the database server.

  • Tune the database server hard disk for read/write.

Methods exist to circumvent the database locking system in SQL Server 2005, such as the NOLOCK parameter. However, we do not recommend or support use of this method because of the possibility of data corruption.

Database server disk I/O

When the number of I/O requests to a hard disk exceeds the disk's I/O capacity, the requests will be queued. As a result, the time to complete each request increases.

Distributing data files across multiple physical drives allows for parallel I/O. The blog SharePoint Disk Allocation and Disk I/O (http://go.microsoft.com/fwlink/p/?LinkId=129557) contains useful information about resolving disk I/O issues.

Web server CPU utilization

When a Web server is overloaded with user requests, average CPU utilization will approach 100 percent. This prevents the Web server from responding to requests quickly and can cause timeouts and error messages on client computers.

This issue can be resolved in one of two ways. You can add Web servers to the farm to distribute user load, or you can scale up the Web server or servers by adding faster processors.

Web servers

The following table shows performance counters and processes to monitor for Web servers in a farm.

Performance counter Apply to object Notes

Processor time

Total

Shows the percentage of elapsed time that this thread used the processor to execute instructions.

Memory utilization

Application pool

Shows the average utilization of system memory for the application pool. You must determine the correct application pool to monitor.

The basic guideline is to determine peak memory utilization for a given Web application, and assign that number plus 10 to the associated application pool.

Database servers

The following table shows performance counters and processes to monitor for database servers in your farm.

Performance counter | Apply to object | Notes
Average disk queue length | Hard disk that contains SharedServices.mdf | Average values larger than 1.5 per spindle indicate that the write times for that hard disk are insufficient.
Processor time | SQL Server process | Average values larger than 80 percent indicate that processor capacity on the database server is insufficient.
Processor time | Total | Shows the percentage of elapsed time that this thread used the processor to execute instructions.
Memory utilization | Total | Shows the average utilization of system memory.

See Also

Other Resources

Workflow Scalability and Performance in Windows SharePoint Services 3.0 (http://go.microsoft.com/fwlink/p/?LinkId=207353)


Estimate performance and capacity requirements for large scale document repositories in SharePoint Server 2010
See Also

Published: September 7, 2011

This article contains guidance on performance and capacity planning for large-scale document management solutions. The focus of this article is on the performance characteristics of document libraries as size increases and throughput of high volume operations, such as policy update and retention. Testing conducted by Microsoft has shown that single document libraries can support tens of millions of documents. This limit should be considered as the limit for documents in a single site, site collection, and content database.

Capacity planning testing has indicated that there are certain limits to the scale of large document libraries and the throughput of certain high volume operations. Considerations must be made for these limitations. Document management repositories are heavily dependent on Microsoft SQL Server performance because list operations, such as queries and document uploads, consume SQL Server resources. Front-end Web servers can be scaled out to support additional throughput, but in most cases for this scenario the instance of SQL Server will become the bottleneck. To continue to scale, content must be split across multiple instances of SQL Server databases.

High volume operations, such as policy update, retention actions, and document uploading, have a throughput limitation because the operations are single threaded. To increase throughput you can split content across multiple content databases. To ensure that items are uploaded appropriately and expire appropriately, proper planning of the input and expiration of content must be conducted.

In large document repository scenarios, planning for throughput will involve considering how quickly content can be uploaded and how quickly it can expire without a large effect on overall performance. The Record Center site template has characteristics that make it ideal to use as a site for large-scale document repositories.

For general information about how to plan and run your capacity planning for Microsoft SharePoint Server 2010, see Capacity management and sizing for SharePoint Server 2010. To learn more about large lists, see Designing large lists and maximizing list performance (SharePoint Server 2010).

In this article:

  • Test farm characteristics

  • Test results

  • Recommendations

  • Estimating throughput targets

Test farm characteristics

This article is the result of a series of performance tests that were conducted by using SharePoint Server 2010. Most of the tests were conducted in a similar manner. This section includes an explanation of the testing methodology that was used for tests that are discussed in this article. Deviations from this methodology are noted where data is presented.

Workload

Testing for this scenario was designed to help develop estimates of how different farm configurations are affected by large document repositories. This document shows how performance responds to changes to the following variables:

  • Additional front-end Web servers for one database server

  • Document Center versus Record Center site templates

The specific capacity and performance figures presented in this article are different from the figures in real-world environments. The figures that are presented are intended to provide a starting point for the design of an appropriately scaled environment. After you have completed your initial system design, test the configuration to determine whether your system will support the factors in your environment.

Test definitions

This section defines the test scenarios and provides an overview of the test process that was used for each scenario. Detailed information such as test results and specific parameters are given in each of the test results sections later in this article.

Test name Test description

Document Upload

  1. Upload a document.

  2. Edit and update the properties of the document.

Document Upload and Route

  1. Upload a document.

  2. Edit and update the properties of the document.

  3. Route the document matching a routing rule.

Document Download

  • Download a document.

Access Document Library

  • Access a document library list view page.

Access Home Page with Content Query Web Parts

  1. Access a Document Center home page that has 3 content query Web Parts.

  2. Cached content query Web Part returns 15 highest rated documents.

  3. Cached content query Web Part returns the 15 newest documents.

  4. Non-cached content query Web Part returns the 15 most recent items modified by the current user.

Managed Metadata Fallback Query

  • A list view query that returns more than 5,000 results filtering on a single value, managed metadata column. A fallback query returns more results than the list view threshold, so only a subset of the results are returned.

Managed Metadata Selective Query

  • A list view query that returns 4,000 results filtering on a single value, managed metadata column. A selective query returns fewer results than the list view threshold, so all results that match are returned.

Content Type Fallback Query

  • A list view query that returns more than 5,000 results filtering by content type.

Test mix

Test mix | Test name | % in the mix
1 | Document Upload | 5%
 | Document Upload and Route | 5%
 | Document Download | 10%
 | Access Document Library | 16%
 | Access Home Page with Content Query Web Parts | 24%
 | Managed Metadata Fallback Query | 10%
 | Managed Metadata Selective Query | 10%
 | Content Type Fallback Query | 10%
 | Content Type Selective Query | 10%
2 | Document Upload | 15%
 | Document Upload and Route | 0%
 | Document Download | 6%
 | Access Document Library | 10%
 | Access Home Page with Content Query Web Parts | 15%
 | Managed Metadata Fallback Query | 11%
 | Managed Metadata Selective Query | 16%
 | Content Type Fallback Query | 16%
 | Content Type Selective Query | 11%

The test mixture that was used for a test varied, based on the particular test. Tests were conducted by using a Microsoft Visual Studio 2010 Test System. Specific data points for each test were populated, and then the test mix was run for 2 minutes of warm up and 10 minutes of data collection. The results that are presented in this document are averaged over those 10 minutes.

Note:

The mixture of operations that was used to measure performance for the purpose of this article is artificial. All results are only intended to illustrate performance characteristics in a controlled environment under a specific set of conditions. These test mixtures are made up of an uncharacteristically high amount of list queries that consume a large amount of SQL Server resources compared to other operations. Your specific environmental variables and mix of operations will vary.

Test load

Tests were conducted at an optimal load point, or Green Zone, with a general mix of operations. To measure particular changes, tests were conducted at each point that a variable was altered. To find the optimal load point, additional threads were added to saturate the environment while remaining under the following metrics:

  • 75th percentile latency is less than 1 second

  • Front-end Web server CPU is less than 50%

  • SQL Server CPU is less than 50%

  • Application server CPU is less than 50%

  • Failure rate is less than 0.01

Hardware settings and topology

To provide a high level of test-result detail, several farm configurations were used for testing. Farm configurations ranged from one to five front-end Web servers, one application server, and one database server that is running SQL Server 2008. Testing was performed with two client computers. All Web server computers and the database server computers were 64-bit, and the client computers were 32-bit. Two separate farms were used for testing. One farm was for testing a document library with up to 30 million documents, and another farm was for scaling front-end Web servers and comparing Document Center and Record Center site template performance.

One aspect of the test configuration was significantly different from most real-world deployments. The application servers contained SQL Server instances used as a logging database. This was done to reduce load on the main SQL Server instance because the logging level was much higher than in real-world deployments.

Farm #1 Large Document Library tests

The following table lists the specific hardware that was used for testing.

 | Front-end Web servers (2) | Application server (1)
Processor(s) | 2 quad core @2.33 GHz | 2 quad core @2.33GHz
RAM | 8 GB | 8 GB
Operating system | Windows Server 2008 R2, 64-bit | Windows Server 2008 R2, 64-bit
Size of the SharePoint drive | 50 GB + 18 GB + 205 GB 15K SAS Disk 1: Operating system Disk 2: Swap and BLOB cache Disk 3: Logs and Temp directory | 50 GB + 18 GB + 300 GB 15K SASDisk 1: Operating system Disk 2: Swap and BLOB cache Disk 3: Logs and Temp directory
Number of NICs | 2 | 2
NIC speed | 1 Gigabit | 1 Gigabit
Authentication | Windows NTLM | Windows NTLM
Load balancer type | Hardware load balancing | Hardware load balancing
Software version | SharePoint Server 2010 (pre-release version) | SharePoint Server 2010 (pre-release version)
Services running locally | N/A | Search Crawler Search Query Logging Database

 | SQL Server database server (1)
Processor(s) | 4 quad core @3.2 GHz
RAM | 32 GB
Operating system | Windows Server 2008 R2, 64-bit
Storage and geometry | 15x450 GB 15K SAS
Number of NICs | 2
NIC speed | 1 Gigabit
Authentication | NTLM
Software version | SQL Server 2008 R2 CTP3

Farm 1 topology

Farm 1 topology

Dataset #1 Large Document Library

Documents | 500,000 | 5 million | 10 million | 20 million | 30 million
Database size | 50 GB | .5 TB | 1 TB | 2 TB | 3 TB
Average document size | 20 KB | 20 KB | 20 KB | 20 KB | 20 KB
Number of folders | 25 | 250 | 500 | 1,000 | 1,500
Number of documents per folder | 20,000 | 20,000 | 20,000 | 20,000 | 20,000

Farm #2 Scale Out and Document Parser tests

The following table lists the specific hardware that was used for testing. The main difference between this configuration and Farm #1 is that the SQL Server database server has half the memory.

 | Front-end Web servers (2-4) | Application server (1)
Processor(s) | 2 quad core @2.33 GHz | 2 quad core @2.33GHz
RAM | 8 GB | 8 GB
Operating system | Windows Server 2008 R2, 64-bit | Windows Server 2008 R2, 64-bit
Size of the SharePoint drive | 50 GB + 18 GB + 205 GB 15K SAS Disk 1: Operating system Disk 2: Swap and BLOB cache Disk 3: Logs and Temp directory | 50 GB + 18 GB + 300 GB 15K SAS Disk 1: Operating system Disk 2: Swap and BLOB cache Disk 3: Logs and Temp directory
Number of NICs | 2 | 2
NIC speed | 1 Gigabit | 1 Gigabit
Authentication | Windows NTLM | Windows NTLM
Load balancer type | Hardware load balancing | Hardware load balancing
Software version | SharePoint Server 2010 (pre-release version) | SharePoint Server 2010 (pre-release version)
Services running locally | N/A | Search Crawler Search Query Logging Database

 | SQL Server database server
Processor(s) | 4 quad core @3.2 GHz
RAM | 16 GB
Operating system | Windows Server 2008 R2, 64-bit
Storage and geometry | 15x450 GB 15K SAS
Number of NICs | 2
NIC speed | 1 Gigabit
Authentication | NTLM
Software version | SQL Server 2008 R2 CTP3

Farm 2 topology

Farm 2 topology

Test results

The following tables show the test results with a mix of operations being run against document libraries in SharePoint Server 2010. For each group of tests, only certain specific variables are changed to show the progressive effect on farm performance.

All the tests reported on in this article were conducted without think time, a natural delay between consecutive operations. In a real-world environment, each operation is followed by a delay as the user performs the next step in the task, although there might be many users so load might be continuous. In this testing, each operation was immediately followed by the next operation, which resulted in a continuous even load on the farm. This load introduced database contention and other factors that can adversely affect performance.

For information about bottlenecks with large-scale document repositories in SharePoint Server 2010, see Common bottlenecks and their causes later in this article.

Farm #1 Large Document Library

Performance as list size increases

SharePoint Server 2010 supports document libraries with tens of millions of items. As list size increases, performance gradually decreases. It is important to plan your solution appropriately. List size is one of several factors that affect performance of document libraries. Testing was conducted on document libraries ranging in size from 500,000 to 30 million documents by using Test Mix 1. Overall throughput gradually decreased and the latency of specific operations increased.

Throughput as list size increases

Throughput as list size increases

SQL Server CPU as list size increases

SQL Server CPU as list size increases

Latency of select operations

Latency of select operations

Document uploading performance

The following graph shows the performance of uploading documents into SharePoint Server 2010. Two factors are measured that affect performance. The Record Center site template has document parsing disabled, which makes it much faster to upload content (at the cost of no promotion/demotion, which is not used to ensure that the file is not modified). There is also a difference between uploading content directly and using the OfficialFile.asmx Web service and matching a content organizer rule. The tests that are marked with upload show the results of uploading content directly to a final location. The tests that are marked with send to show the submitting of content to the OfficialFile.asmx Web service and the content matches a content organizer rule to move the document to a final location. The graph shows the average performance of uploading 100,000 documents and 500,000 documents, which shows a slight degradation as the content size increases, in part due to the uploading being performed without the benefit of what would generally be regularly scheduled database maintenance.

Document uploading comparison

Document uploading comparison

Farm #2 Scale Out

Effect of front-end Web server scale on throughput

Operations on document libraries have a larger effect on SQL Server resources in general compared to other kinds of operations, such as cached web pages. In heavy document management workloads, scaling front-end Web servers might result in minimal performance gains because the bottleneck is I/O and potentially lock contention in SQL Server. The following graphs show the performance effect of adding additional front-end Web servers. Test Mix 2 was used to load the farm.

The following graph shows that under the specific test conditions, SQL Server performance becomes the limitation when using between two and three front-end web servers and additional servers will not increase performance. The test mix used is heavily weighted towards operations that have a significant effect on SQL Server performance that is not realistic of most actual user environments. Scaling up the SQL Server or a more typical real-world workload will support more front-end Web servers to achieve higher throughput. This graph is included only to illustrate that heavy document management loads are database intensive and that there is a point where scaling front-end Web servers will not increase throughput.

Throughput of scaling front-end Web servers

Throughput of scaling front-end Web servers

CPU utilization scaling front-end Web servers

CPU utilization scaling front-end Web servers

SQL Server disk I/O scaling from Web servers

SQL Server disk IO scaling front-end Web servers

Farm #2: Document Center and Record Center site template comparison

Two site templates were used to conduct the following tests. The key difference is the document parser. In all site templates except the Record Center site template, the document parser is enabled. The document parser is disabled to ensure that the file is not modified by the metadata promotion/demotion mechanism in SharePoint Server 2010. As a side effect, disabling the document parser results in better performance for certain operations, such as upload. This makes the Record Center site template more suitable than other site templates for storing large amounts of content, such as an archive.

Policy update

Policy update is a long-running operation that is handled by a timer job. Policy update occurs when a policy change, such as adding a retention action, is made to a content type. The performance of policy updates is affected by the number of content databases, the capabilities of the hardware that is running SQL Server, and the site template the item is in. To update items faster, you can split content across multiple site collections with separate content databases.

Testing has shown that policy update has a minimal effect on overall farm performance, using approximately 2 percent to 5 percent of SQL Server CPU when the timer job runs. Our test results showed that approximately 11,000 items could be processed per hour and about two million items in a week by using our lab configuration. Very large policy changes are uncommon. However, the update timer job might run for a long period of time if this occurs.

Policy update

Retention actions

Retention actions give an administrator control over the processing and expiration of content to reduce storage size, eDiscovery costs, and legal liability. SharePoint Server 2010 supports multistage content type and location-based retention actions. Several out of box retention actions are available.

In large-scale document repositories a large number of items might have policy and retention actions configured. Retention actions are long-running operations because a large number of items might need to be processed and have the appropriate retention action applied. In cases where a large amount of content will expire, the rate of processing might be a limitation. Proper planning must be done for the rate of expiration.

The rate of expiration is somewhat fixed for a single content database. To improve the rate of expiration, split content across multiple databases. The rate of expiration varies based on the action and site template.

Performance of retention actions

Performance of retention actions

Retention SQL Server performance

Retention SQL Server performance

Recommendations

This section provides general performance and capacity recommendations. Use these recommendations to determine the capacity and performance characteristics of the starting topology that you created and to decide whether you have to scale out or scale up the starting topology.

Hardware recommendations

For specific information about minimum and recommended system requirements, see Hardware and software requirements (SharePoint Server 2010).

Note:

Memory requirements for Web servers and database servers depend on the size of the farm, the number of concurrent users, and the complexity of features and pages in the farm. The memory recommendations in the following table might be sufficient for a small or light usage farm. However, memory usage should be carefully monitored to determine whether more memory must be added.

Scaled-up and scaled-out topologies

You can estimate the performance of your starting-point topology by comparing your topology to the starting-point topologies that are provided in Plan for availability (SharePoint Server 2010). Doing so can help you quickly determine whether you must scale up or scale out your starting-point topology to meet your performance and capacity goals.

To increase the capacity and performance of one of the starting-point topologies, you can do one of two things. You can either scale up by increasing the capacity of your existing server computers or scale out by adding additional servers to the topology. This section describes the general performance characteristics of several scaled-out topologies. The sample topologies represent the following common ways to scale out a topology for an InfoPath Forms Services scenario:

  • To provide for more user load, add Web server computers.

  • To provide for more data load, add capacity to the database server role by increasing the capacity of a single (clustered or mirrored) server or by adding clustered or mirrored servers.

  • Maintain a ratio of no more than eight Web server computers to one (clustered or mirrored) database server computer. Although testing in our lab yielded a specific optimum ratio of Web servers to database servers for each test scenario, deployment of more robust hardware, especially for the database server, can yield better results in your environment.

Estimating throughput targets

Many factors can affect throughput. These factors include the number of users; the type, complexity, and frequency of user operations; the number of post-backs in an operation; and the performance of data connections. Each of these factors can have a major effect on farm throughput. You should carefully consider each of these factors when you plan your deployment.

SharePoint Server 2010 can be deployed and configured in a wide variety of ways. As a result, there is no simple way to estimate how many users can be supported by a given number of servers. Therefore, make sure that you conduct testing in your own environment before you deploy SharePoint Server 2010 in a production environment.

Optimizations

Common bottlenecks and their causes

During performance testing, several different common bottlenecks were revealed. A bottleneck is a condition in which the capacity of a particular constituent of a farm is reached. This causes a plateau or decrease in farm throughput.

The following table lists some common bottlenecks and describes their causes and possible resolutions.

Bottleneck Cause Resolution

Database contention (locks)

Database locks prevent multiple users from making conflicting modifications to a set of data. When a set of data is locked by a user or process, no other user or process can modify that same set of data until the first user or process finishes modifying the data and relinquishes the lock.

To help reduce the incidence of database locks, you can:

  • Distribute content across multiple content databases.

  • Scale up the database server.

  • Tune the database server hard disk for read/write.

Database server disk I/O

When the number of I/O requests to a hard disk exceeds the disk's I/O capacity, the requests will be queued. As a result, the time to complete each request increases.

Distributing data files across multiple physical drives allows for parallel I/O. The blog SharePoint Disk Allocation and Disk I/O (http://go.microsoft.com/fwlink/p/?LinkId=129557) contains useful information about resolving disk I/O issues.

Web server CPU utilization

When a Web server is overloaded with user requests, average CPU utilization will approach 100 percent. This prevents the Web server from responding to requests quickly and can cause timeouts and error messages on client computers.

This issue can be resolved in one of two ways. You can add additional Web servers to the farm to distribute user load, or you can scale up the Web server or servers by adding higher-speed processors.

Performance monitoring

To help you determine when you have to scale up or scale out your system, use performance counters to monitor the health of your system. Use the information in the following tables to determine which performance counters to monitor and the process to which the performance counters should be applied.

Web servers

The following table shows performance counters and processes to monitor for Web servers in your farm.

Performance counter | Apply to object | Notes
Processor time | Total | Shows the percentage of elapsed time that this thread used the processor to execute instructions.

Database servers

The following table shows performance counters and processes to monitor for database servers in your farm.

Performance counter | Apply to object | Notes
Average disk queue length | Hard disk that contains the appropriate database files | Deep queue depths can indicate a problem if the latencies are also high. However, if the queue is deep, but latencies are low that is, getting emptied and refilled very quickly), this might just indicate an active and efficient system. A high queue length does not necessarily imply a performance problem.
Processor time | SQL Server process | Average values greater than 80 percent indicate that processor capacity on the database server is insufficient.
Processor time | Total | Shows the percentage of elapsed time that this thread used the processor to execute instructions.
Memory utilization | Total | Shows the average utilization of system memory.

See Also

Concepts

Designing large lists and maximizing list performance (SharePoint Server 2010)


Scale test report for very large scale document repositories
See Also

Published: October 25, 2011

This white paper provides details about a test lab that was run at Microsoft to show large scale SharePoint Server 2010 content databases. It includes information about how two SharePoint Server 2010 content databases were populated with a total of 120 million documents over 30 terabytes (TB) of Microsoft SQL Server databases. It details how this content was indexed by FAST Search Server 2010 for SharePoint. It describes load testing that was performed on the completed SharePoint Server and FAST Search Server 2010 for SharePoint, shows results from that testing, and includes conclusions about the results from the testing.

Download the white paper: Scale Test Report for Very Large-Scale Document Repositories (http://go.microsoft.com/fwlink/p/?LinkId=229493).

See Also

Concepts

Performance and capacity test results and recommendations (SharePoint Server 2010)


Scale test report for very large scale document repositories (SharePoint Server 2010)

Published: March 6, 2012

This article describes the results of large scale testing of Microsoft SharePoint Server 2010 that was performed at Microsoft. The results of the testing were used to publish requirements for scaling document archive repositories on SharePoint Server to a large storage capacity. The tests involved creating a large number of typical documents that have an average size of 256 KB, loading the documents into a SharePoint Server farm, creating a Microsoft FAST Search Server 2010 for SharePoint index on the documents, and then running tests with Microsoft Visual Studio 2010 Ultimate to simulate usage.

This testing demonstrates both scale-up and scale-out techniques. Scale-up refers to using additional hardware capacity to increase resources of a single environment, which for these purposes means a SharePoint Server content database. A SharePoint Server content database contains all site collections, all metadata, and binary large objects (BLOBs) associated with those site collections that are accessed by SharePoint Server. Scale-out refers to having multiple environments, which for these purposes means using multiple SharePoint Server content databases. A content database consists of a SQL Server database, various configuration data, and any document BLOBs regardless of where the BLOBs are stored.

The workload that was tested for this report is primarily about document archive. This includes a large number of typical Microsoft Office documents that are stored for archival purposes. Storage in this scenario is typically for the long term with infrequent access.

In this article:

  • Test farm characteristics

  • Test Farm Hardware Architecture Details

  • Test Farm SharePoint Server and SQL Server Architecture

  • The Method, Project Timeline and Process for Building the Farm

  • Results from Testing

  • Conclusions

  • Recommendations

Test farm characteristics

This section describes the dataset, workloads, hardware settings, topology, and test definitions that were used during the large scale SharePoint Server testing.

Definition of tested workload

This load test was developed to show large document archive capabilities of SharePoint Server 2010. The document archive workload is characterized by having a large number of documents that are added to, or ingested, slowly, infrequently accessed and almost never updated.

Working with Large Document Archives

Large document archive capabilities

Document archive scale-out architecture

Content routing is recommended for a SharePoint Server 2010 farm that has multiple content databases. Content routing sends documents to the correct content database from an initial drop library. In the tests that are described in this report, content routing was not configured, and the focuses of the tests were scalability and performance of the installation.

While content routing is used to ingest documents into one of multiple SharePoint Server 2010 content databases, Microsoft FAST Search Server 2010 for SharePoint can be used to optimally locate a document in one or more content databases. Microsoft FAST Search Server 2010 for SharePoint builds an index with all documents from all content databases. Searches can use metadata, refiners for selecting by date, author, or other properties. Full text searches can also be performed.

Workload

This article presents the results of a series of performance tests that were conducted on SharePoint Server 2010 and Microsoft FAST Search Server 2010 for SharePoint in a document archive scenario. This section includes an explanation of the testing methodology that was used for tests. Deviations from this methodology are noted where data is presented.

Important:

The specific capacity and performance figures presented in this article differ from the figures in real-world environments. The figures that are presented are intended to provide a starting point for the design of an appropriately scaled environment. After you complete your initial system design, test the configuration to determine whether your system will support the factors in your environment.

Testing workloads were designed according to a large document archive storage scenario and are intended to help develop estimates of how different farm configurations are affected by using a large-scale document repository.

The test farm depicted in this scenario was built to allow scale out and scale up to accommodate additional capacity as required.

The ability to scale out or scale up is as important for small-scale implementations as it is for large-scale document archive scenarios. Scaling out allows you to add more servers to your farm (or farms), such as additional front end Web servers or Application Servers. By scaling up you increase the capacity of your existing servers by adding faster CPUs or memory, or both, to increase throughput and performance. Content routing should also be leveraged in archive scenarios so that users can drop a file and have it dynamically routed to the proper document library and folder, if applicable, based on the metadata of the file.

Test transaction definitions and baseline settings

This section defines the test transactions and other baseline settings, and provides an overview of the test process that was used for each scenario. Detailed information such as test results and specific parameters are given in later sections in this article.

Baseline Item | Baseline Item Description | Baseline Setting (or Transaction Percent)
Document Upload | Upload a document to one of the Document Centers. One unique folder and file were created in each Document Center each hour, 24 hours a day. | 1%
Document Download (Open) | Download or open a document | 30%
Browse | Access of a random Document Center home page, Document Library List view page, or Folder list view page. | 40%
Search | A random search query submitted to the FAST Search Center. | 30%
Think Time | The time between transactions for each user. This represents the time that a user spends reading or thinking between accesses to Web pages. | 10 seconds
Concurrent Users | The number of users who are connecting to the SharePoint Server farm from test agents to the SharePoint Server front-end Web servers. This does not represent a possible total user base, because in a typical environment a small proportion of total users will concurrently access the system. | 10,000
Test Duration | The length of time that the test is run. | 1 hour
Web Caching | Whether Web caching is turned on for the front-end Web servers. | On
FAST Content Indexing | Whether FAST Content indexing is operating during the test. | Paused
Number WFEs | The number of front-end Web servers in the SharePoint Server farm that were used during the test | 3 per content database
User Ramp | Each test was started off with 1,000 users and ramped to the target user load in increments of 100 users. A 30 second ramp time was used and a 10 second step time. | 100 users per 30 seconds
Test Agents | Visual Studio 2010 Ultimate was used to simulate the user transaction load. One test controller virtual machine and 19 test agent virtual machines were used to create this load. | 19

Test baseline mix

This section defines the test mixes that were used and provides an overview of the test results for each test mix scenario.

The test mix that was used for each test varied, based on the particular test and load targets. All tests were conducted by using Visual Studio 2010 Ultimate and were recorded to code-free scripts that were generated exclusively by Visual Studio 2010. Specific data points for each test were populated, and then the test mix was run for different periods using different numbers of concurrent users to determine farm capacities and limits.

Note:

All tests that were conducted in the lab were run using 10 seconds of think time. Think time is a feature of the Visual Studio 2010 Ultimate Test Controller that simulates the time that users pause between clicks on a page in a real-world environment.

Note:

The mix of operations that was used to measure performance for this article is artificial. All results are only intended to illustrate performance characteristics in a controlled environment under a specific set of conditions. These test mixes are made up of an uncharacteristically high amount of list queries that consume a large amount of SQL Server resources compared to other operations. This was intended to provide a starting point for the design of an appropriately scaled environment. After you have completed your initial system design, test the configuration to determine whether your specific environmental variables and mix of operations will vary.

Test Series A - Vary Users

This test series varies the number of users to see how the increased user load affects the system resources in the SharePoint Server and FAST Search Server 2010 for SharePoint farm. Three tests were performed including 4,000 users, 10,000 users, and 15,000 users. The 15,000 user test required an increase of test time to 2 hours to handle the increased user ramp, and it also had increased front-end Web server (WFE) servers to 6 WFEs to handle the increased load.

Test | Number of users | Number of WFEs | Test Time
A.1 | 4,000 | 3 | 1 hour
A.2 | 10,000 | 3 | 1 hour (baseline)
A.3 | 15,000 | 6 | 2 hours

Test Series B - Vary SQL Server RAM

This test series varies the RAM available to Microsoft SQL Server to compare the performance of a SQL Server computer that has a large amount of physical RAM with that of SQL Server computers that have less RAM. Six tests were performed with the maximum SQL Server RAM set to 16 GB, 32 GB, 64 GB, 128 GB, 256 GB, and 600 GB.

Test | SQL Server RAM
B.1 | 16 GB
B.2 | 32 GB
B.3 | 64 GB
B.4 | 128 GB
B.5 | 256 GB
B.6 | 600 GB - (baseline)

Test Series C - Vary Search Mix

This test series varies the proportion of searching done by the test users compared to browsing and opening documents. The test workload that is applied to the farm is a mix of different user transactions, which by default follow the baseline of 30% for Open, 40% for Browse, and 30% for Search. Tests in this series vary the proportion of search and therefore also change the proportion of Open and Browse.

Test | Open | Browse | Search
C.1 | 30% | 55% | 15%
C.2 | 30% | 40% | 30% (baseline)
C.3 | 20% | 40% | 40%
C.4 | 20% | 30% | 50%
C.5 | 25% | 25% | 50%
C.6 | 5% | 20% | 75%

Test Series D - Vary WFE RAM

This test series varies the RAM allocated to the four front-end Web servers that were used for this test. The RAM on the four front-end Web servers was tested at 4 GB, 6 GB, 8 GB and 16 GB.

Test | WFE Memory
D.1 | 4 GB
D.2 | 6 GB
D.3 | 8 GB - (baseline)
D.4 | 16 GB

Test Series E - Vary number of WFEs

This test series varies the number of front-end Web servers that are being used. The different number of servers tested was 2, 3, 4, 5, and 6.

Test | Number of front-end Web servers
E.1 | 2
E.2 | 3 - (baseline)
E.3 | 4
E.4 | 5

Test Series F - SQL Server CPU Restrictions

This test series restricts the number of CPUs available to SQL Server. The different number of CPUs available to SQL Server tested was 2, 4, 8, 16 and 80 CPUs.

Test | CPUs Available to SQL Server
F.1 | 4
F.2 | 6
F.3 | 8
F.4 | 16
F.5 | 80 - (baseline)

Test load

Tests were intended to stay below an optimal load point, or Green Zone, with a general mix of operations. To measure particular changes, tests were conducted at each point that a variable was altered. Test series were designed to exceed the optimal load point in order to find resource bottlenecks in the farm configuration. It is recommended that optimal load point results be used for provisioning production farms so that there is excess resource capacity to handle transitory, unexpected loads. For this project we defined the optimal load point as keeping resources below the following metrics:

  • 75th percentile latency is less than 1 second

  • Front-end Web server CPU is less than 85%

  • SQL Server CPU is less than 50%

  • Application server CPU is less than 50%

  • FAST Search Server 2010 for SharePoint CPU is less than 50%

  • Failure rate is less than 0.01

Resource capture during tests

During each test run, resource usage was captured by using Performance Monitor (Perfmon.exe) and Visual Studio 2010 Ultimate in order to determine the load on the test farm. The following details were captured and are shown in the reports section.

  • CPU for each WFE, SharePoint Server application server, FAST Search Server 2010 for SharePoint Index, Fast Search Service Application (SSA), SQL Server computer

  • RAM usage for each WFE, SharePoint Server application server, FAST Search Server 2010 for SharePoint Index, Fast SSA, SQL Server computer

  • Page refresh time on all test elements

  • Disk queues for each drive

Test Farm Hardware Architecture Details

The Document Center farm is the host for SharePoint Server Central Administration, Document Center 1, Document Center 2, Service Applications and the integrated FAST Search Center. The farm consists of three physical servers and 22 virtual servers.

The following figure shows the physical architecture of the test farm.

Hardware Architecture

Physical architecture of the Document Center farm

The following figure focuses on the physical servers in the Document Center farm.

Physical Servers

Physical Servers in the Document Server farm

Hyper-threading was disabled on the physical servers because additional CPU cores were not needed and were limited to 4 logical CPUs in any one Hyper-V virtual machine. The goal was to avoid any decrease in performance of these servers because of hyper-threading. There were three physical servers in the lab. All three physical servers plus the twenty two virtual servers were connected to a virtual LAN within the lab to isolate their network traffic from other unrelated lab computers. The LAN was hosted by a 1 GBPS Ethernet switch, and each NEC server was connected to two 1 GBPS Ethernet ports.

SPDC01

The Windows Domain Controller and Domain Naming System (DNS) Server for the virtual network that was used in the lab.

4 physical processor cores running at 3.4 GHz

4 GB of RAM

33 GB RAID SCSI Local Disk Device

PACNEC01

The Microsoft SQL Server 2008 R2 that hosts the master and secondary files for content databases, Logs, and TempDB. 100 FAST Document Processors were also run directly on this server.

NEC ExpressServer 5800 1080a

8 Intel E7-8870 CPUs containing 80 physical processor cores running at 2.4 GHz

1 TB of RAM

800 GB of Direct Attached Disk

2x Dual Port Fiber Channel Host Bus Adapter cards capable of 8 GB/s

2x 1 GBPS Ethernet cards

PACNEC02

The Hyper-V Host that serves the SharePoint Server, FAST Search for SharePoint and Test Rig virtual machines within the farm.

NEC ExpressServer 5800 1080a

8 Intel X7560 CPUs containing a total of 64 physical processor cores running at 2.27 GHz

1 TB of RAM

800 GB of Direct Attached Disk

2x Dual Port Fiber Channel Host Bus Adapter cards capable of 8 GB/s

2x 1 GBPS Ethernet cards

Hardware provided by manufacturers

This test was made possible by the support from Microsoft hardware partners.

NEC Corporation of America

NEC provided an NEC Express5800/A1080a (GX) server that contains 8 CPUs (processors) and 1 terabyte of total RAM. Each processor contains 8 cores for a total of 64 cores for the server. As detailed below, this server was used to run Microsoft Hyper-V with several virtual machines that made up the SharePoint Server and FAST Search Server 2010 for SharePoint farms.

Source: www.necam.com/servers/enterprise

Specifications for NEC Express 5800/A1080a server:

  • 8x Westmere CPU (E7-8870) each with 10 processor cores

  • 1 terabyte memory. Each Processor Memory Module has 1 CPU (10 cores) and 16 DIMMs.

  • 2x dual port 8G FC HBA

  • 5 HDDs

Intel

Intel provided a second NEC Express5800/A1080a server that also contained 8 CPUs (processors) and 1 terabyte of RAM. Intel made additional upgrades to this computer to Westmere EX CPUs, which each contained 10 cores for a total of 80 cores for the server. As detailed below, this server was used to run Microsoft SQL Server and FAST Search Server 2010 for SharePoint indexers directly on the computer without using Hyper-V.

EMC

EMC provided an EMC VNX 5700 SAN that contains 300 terabyte of high performance disk.

Source: http://www.emc.com/collateral/software/15-min-guide/h8527-vnx-virt-msapp-t10.pdf

Specifications for EMC VNX 5700:

  • 2 TB drives, 15 per 3U DAE, 5 units = total 75 drives, 150 terabyte raw storage

  • 600 GB drives, 25 per 2U DAE, 10 units = total 250 drives, 150 terabyte raw storage

  • 2x Storage Processors

  • 2x Backup Battery Units

Virtual Servers

These servers all ran on the Hyper-V instance on PACNEC02. All virtual servers started from VHD files that are stored locally on the PACNEC02 server and all had configured access to the lab virtual LAN. Some of these virtual servers were provided direct disk access within the guest operating system to a LUN on the SAN. Direct disk access that was provided increased performance over using a VHD disk and was used for accessing the FAST Search indexes.

Virtual Servers

Virtual Servers in the Document Center farm

The following is a list of the different types of virtual servers that run in the lab and the details of their resources use and services that are provided.

Virtual Server Type Description

Test Rigs (TestRig-1 through TestRig-20)

  • TestRig-1 is the Test Controller from Visual Studio 2010 Ultimate

  • TestRig-2 through TestRig-19 are the Test Agents from Visual Studio Agents 2010 that are controlled by TestRig-1

The Test Controller and Test Agents from Visual Studio 2010 Ultimate for load testing the farm. These virtual servers were configured to use 4 virtual processors and 8 GB memory. These servers used VHD for disk.

SP: Central Admin, Secure Store SA's, Crawler

  • APP-1 - SharePoint Server Central Administration Host and FAST Search Service Application Host.

  • APP-2 - SharePoint Service Applications and FAST Search Service Application Host. This application server ran the following SharePoint Shared Service Applications:

    • Secure Store Service Application.

    • FAST Search Service Application.

These virtual machines host the SharePoint Server Central Administration and Service Applications that used in the farm. These virtual servers were configured with 4 virtual processors and 16 GB memory. These servers used VHD for disk.

FAST Service and Administration

  • FAST-SSA-1 and FAST-SSA-2 - FAST Search Service Applications 1 and 2 respectively.

  • FAST-IS-1, FAST-IS2, FAST-IS3, and FAST-IS4 - FAST Index, Search, Web Analyzer Nodes 1, 2, 3, and 4.

These virtual machines host the FAST Search Service and Administration. Each virtual machine was configured with 4 virtual processors, 16 GB memory. These servers used VHD for disk.

FAST Index-Search

  • FAST-IS-1, FAST-IS2, FAST-IS3, and FAST-IS4 - FAST Index, Search, Web Analyzer Nodes 1, 2, 3, and 4.

These virtual machines host the FAST Index and the Search and Web Analyzer Nodes that are used in the farm. These servers were configured to use 4 virtual processors, 16 GB memory, and they used VHD for their boot disk. These servers had direct access as disks to 3 terabyte of SAN LUNs for storage of the fast index.

Front-end Web server (SharePoint Server and FAST Search)

  • WFE-1, WFE-2, and WFE-3 - Front-end Web server #1, #2, and #3, part of a Windows load-balancing configuration hosting the first Document Center. These virtual servers were configured to use 4 virtual processors and 8 GB memory.

  • WFE-4, WFE-5, and WFE-6 - Front-end Web server #4, #5, and #6, part of a Windows load-balancing configuration hosting the second Document Center. These virtual servers were configured to use 4 virtual processors and 8 GB memory.

These virtual machines host all of the front-end web servers and a dedicated FAST crawler host within the farm. Each content database contained one Document Center site which was configured to use 3 load-balanced SharePoint Server WFEs. This was to facilitate the text mix for load testing across the two content databases. In a real farm each WFE would target multiple content databases. These servers used VHD for disk.

Disk storage

The storage consists of EMC VNX5700 Unified Storage. The VNX5700 array was connected to each of the physical servers, PACNEC01 and PACNEC02, with 8 GBPS Fiber Channel. Each of these physical servers contains two Fiber Channel host bus adapters so that it can connect to both of the Storage Processors on the primary SAN, which provides redundancy and allows the SAN to balance LUNs across the Storage Processors.

Storage Area Network - EMC VNX5700 Array

An EMC VNX5700 array (http://www.emc.com/products/series/vnx-series.htm#/1) was used for storage of the SQL Server databases and FAST Search Server 2010 for SharePoint search index. The VNX5700 was configured to include 300 terabyte of raw disk. The array was populated with 250x 600GB 10,000 RPM SAS drives and 75x 2TB 7,200 RPM Near-line SAS drives (near-line SAS drives have SATA physical interfaces and SAS connectors and the regular SAS drives have SCSI physical interfaces). The drives were configured in a RAID-10 format for mirroring and striping. The configured RAID volume in the Storage Area Network (SAN) was split across 3 pools and LUNs are allocated from a specific pool as shown in the following table.

Pool # | Description | Drive Type | User Capacity (GB) | Allocated (GB)
0 | FAST | SAS | 31,967 | 24,735
1 | Content DB | SAS | 34,631 | 34,081
2 | Spare - not used | NL SAS | 58,586 | 5,261

The Logical Unit Numbers (LUNs) on the VNX 5700 were defined as shown in the following table.

LUN # | Description | Size (GB) | Server | Disk Pool # | Drive Letter
0 | SP Service DB | 1,024 | PACNEC01 | 0 | F
1 | PACNEC02 additional space | 5,120 | PACNEC02 | 0 |
2 | FAST Index 1 | 3,072 | PACNEC02 | 0 | F
3 | FAST Index 2 | 3,072 | PACNEC02 | 0 | G
4 | FAST Index 3 | 3,072 | PACNEC02 | 0 | H
5 | FAST Index 4 | 3,072 | PACNEC02 | 0 | I
6 | SP Content DB 1 | 7,500 | PACNEC01 | 1 | H
7 | SP Content DB 2 | 6,850 | PACNEC01 | 1 | I
8 | SP Content DB 3 | 6,850 | PACNEC01 | 1 | J
9 | SP Content DB 4 | 6,850 | PACNEC01 | 1 | K
10 | SP Content DB TransLog | 2,048 | PACNEC01 | 1 | G
11 | SP Service DB TransLog | 512 | PACNEC01 | 0 | L
12 | Temp DB | 2,048 | PACNEC01 | 1 | M
13 | Temp DB Log | 2,048 | PACNEC01 | 0 | N
14 | SP Usage Health DB | 3,072 | PACNEC01 | 0 | O
15 | FAST Crawl DB / Admin DB | 1,024 | PACNEC01 | 1 | P
16 | Spare - not used | 5,120 | PACNEC01 | 2 |
17 | Bulk Office Doc Content | 3,072 | PACNEC01 | Additional | T
18 | WMs Swap Files | 1,024 | PACNEC02 | Additional | K
19 | DB Backup 1 | 16,384 | PACNEC01 | Additional | R
20 | DB Backup 2 | 16,384 | PACNEC01 | Additional | S

Storage Area Network - Additional Disk Array

An additional lower performance disk array was used for backup and to host the bulk Office document content that was loaded into the SharePoint Server 2010 farm. This array was not used during test runs.

Test Farm SharePoint Server and SQL Server Architecture

The logical architecture was defined to demonstrate the recommended limits of SharePoint Server 2010. The architecture consists of two Web applications that each contain a single site collection in a single unique content database. Each content database was loaded with 60 million documents of type Microsoft Word (.docx), Excel (.xlsx), PowerPoint (.pptx) and Hyper-text Markup Language (.html) pages. The average size of the documents was 250 kilobytes (KB). Content database size was approximately 15 TB each, for a total corpus of 30 TB. The logical architecture for the large-scale lab is shown in the following figure.

Logical architecture for the large-scale lab

The logical architecture for the large-scale lab

The SharePoint Server Document Center farm is intended to be used in a document archival scenario to accommodate lots of documents stored in several document libraries. Document libraries were limited to approximately one million documents each and a folder hierarchy limited the documents per container to approximately 2,000 items. This structure accommodates the large document loading process and prevents the load time from decreasing after exceeding 1 million items in a document library.

SharePoint Server Farm IIS Web Sites

The two content site collections took advantage of the Document Center template. The Search Center site collection leveraged the FAST Search Center template. Each site collection was in a unique Web application. Each Web application used a separate application pool.

Web sites | Description
IIS Web Site - SharePoint Services | The SharePoint Services IIS Web site hosts the shared services used in SharePoint Server 2010. For the purposes of this lab, the, Secure Store was used.
IIS Web Site - SharePoint Central Administration v4 | The Central Administration IIS Web Site hosts the Central Administration site and user interface for SharePoint Server 2010.
IIS Web Site - Document Center 1 | The Document Center 1 IIS Web Site hosts the first Document Center archive.
IIS Web Site - Document Center 2 | The Document Center 2 IIS Web Site hosts the second Document Center archive.
IIS Web Site - FAST Search Center | The Fast Search Center IIS Web Site hosts the search user interface for the farm.

At 70 million items and above the crawl database started to slow noticeably. Tuning work was required to take it from 100 million to 120 million items.

SQL Server Databases

The following SQL Server databases are hosted on the EMC VNX 5700 Storage Area Network (SAN).

DB Name | Purpose | Size (MB)
SharePointAdminContent_<GUID> | SharePoint Server Central Administration Database | 768
SharePoint_Config | SharePoint Server Configuration Database | 1,574
System Databases - tempdb | SQL Server Temporary Database | 16,384
ReportServer | A Microsoft SQL Server database that stores all report metadata including report definitions, report history and snapshots, and scheduling information. | 10
ReportServerTempDB | A Microsoft SQL Server database that stores all of the temporary snapshots while reports are running. | 3
SPContent01 (Document Center 1 content database) | SharePoint Server content databases | 15,601,286
SPContent02 (Document Center 2 content database) | SharePoint Server content databases | 15,975,266
FAST_Query_CrawlStoreDB_<GUID> | Crawler store for the FAST Search Query Search Service Application. This crawl store database is used only for user profiles (People Search). | 15
FAST_Query_DB_<GUID> | Administration database for the FAST Search Query Search Service Application. | 125
FAST_Query_PropertyStoreDB_<GUID> | Stores the metadata properties and security descriptors for the user profile items in the people search index. It is involved in property-based people search queries and returns standard document attributes for people search query results. | 173
FASTContent_CrawlStoreDB_<GUID> | Crawler store for the FAST Search Content Search Service Application. This crawl store database is used for all crawled items except user profiles. | 502,481
FASTContent_DB_<GUID> | Administration database for the FAST Search Content Search Service Application. | 23
FASTSearchAdminDatabase | Administration database for the FAST Search Server 2010 for SharePoint for SharePoint Server farm. Stores and manages search setting groups, keywords, synonyms, document and site promotions and demotions, property extractor inclusions and exclusions, spell check exclusions, best bets, visual best bets, and search schema metadata. | 4
WSS_Content_FAST_Search | FAST Search Center content database. | 52
LoadTest2010 | Load test results repository | 4,099

FAST Search Server 2010 for SharePoint Content Indexes

The FAST Search Server 2010 for SharePoint data directories use a Hyper-V pass through drive directly to the SAN.

On the virtual server FAST-IS1, the data directory is using 745 GB of the 3 terabyte and has no temp space being used (temp items were cleaned up).

The following table shows the data storage in the FAST Search Server 2010 for SharePoint index file folders that are stored on the SAN.

Name | Purpose | Number Files | Size (GB)
data_fixml | Index Source used to Create Index | 6 million | 223
data_index | Actual Search Index used by Queries | 3,729 | 490
sprel | SharePoint Server Relevancy Information, which is used for boosting popular search results to top of list. | 9 | 3
webanalyzer | Boosting search result order for more frequently linked documents. | 135 | 12

The Method, Project Timeline and Process for Building the Farm

This is the approximate project timeline.

Task | Duration
Plan farm architecture | 2 weeks
Install server and SAN hardware | 1 week
Build Virtual Machines for farm | 1 weeks
Creating sample content items | 2 weeks
Load items to SharePoint Server | 3 weeks
Develop test scripts | 1 week
FAST Search indexing of content | 2 weeks
Load testing | 3 weeks
Report writing | 2 weeks

How the sample documents were created

To provide a realistic document archive scenario, document uniqueness was very important. Two separate utilities were used: the first to create a large number of unique documents, and the second to read these files from disk and load them directly into targeted SharePoint Server Web Applications and document libraries.

Bulk Loader tool

Documents were created by using the command-line tool Bulk Loader, which was written using the Microsoft .NET 4.0 Framework. This tool uses a dump file of Wikipedia content as input to enable a user to create up to 10 million unique documents to a disk location. Stock images are used to replace image references from the Wikipedia dumps. BulkLoader is available as source code from http://code.msdn.microsoft.com/Bulk-Loader-Create-Unique-eeb2d084.

LoadBulk2SP tool

Documents were added to SharePoint Server by using the command-line tool LoadBulk2SP, which was written using C# and the Microsoft .NET 3.5 Framework to be compatible with SharePoint Server. LoadBulk2SP tool uses the disk output files from the Bulk Loader tool as input and mimics the same folder and file structure directly into SharePoint Server by using targeted web applications and document libraries that are specified in the application configuration. LoadBulk2SP was used to load over 100 million 250 KB documents into SharePoint Serverwith a peak performance of 233 documents-per-second, and an overall average load time of 137 documents-per-second. LoadBulk2SP is available as source code on http://code.msdn.microsoft.com/Load-Bulk-Content-to-3f379974.

Performance characteristics for large-scale document load

Documents were loaded by using the LoadBulk2SP tool. This tool uses the SubFolderCollection.Add() method to add new folders to specified SharePoint Server document libraries, and the SPFileCollection.Add() method to add files directly into the document library folders. The folder and file structure that is created in SharePoint Server mimics the output hierarchy that is created by the Bulk Loader tool.

Document Library content database sizes

The following table shows the size details of each document library content database, including SQL Server Filegroups, Primary and Secondary files that are used in the farm.

SQL Content File | FileGroup | LUN | Size (KB) | Size (MB) | Size (GB) | Size (TB)
SPCPrimary01.mdf | Primary | H:/ | 53,248 | 52.000 | 0.050 | 0.000
SPCData0102.mdf | SPCData01 | I:/ | 3,942,098,048 | 3,849,697.312 | 3,759.470 | 3.671
SPCData0103.mdf | SPCData01 | J:/ | 4,719,712768 | 4,609,094.500 | 4,501.068 | 4.395
SPCData0104.mdf | SPCData01 | K:/ | 3,723,746,048 | 3,636,470.750 | 3,551.240 | 3.468
SPCData0105.mdf | SPCData01 | H:/ | 3,371,171,968 | 3,292,160.125 | 3,215.000 | 3.139
SPCData0106.mdf | SPCData01 | O:/ | 4,194,394 | 4,096.087 | 4.000 | 0.003
Document Center 1 | Totals: |  | 15,760,968,474 | 15,391,570.775 | 15,030.820 | 14.678
SPCPrimary02.mdf | SPCData02 | H:/ | 52,224 | 51.00 | 0.049 | 0.000
SPCData0202.mdf | SPCData02 | I:/ | 3,240,200,064 | 3,164,257.875 | 3,090.095 | 3.017
SPCData0203.mdf | SPCData02 | J:/ | 3,144,130,944 | 3,070,440.375 | 2,998.476 | 2.928
SPCData0204.mdf | SPCData02 | K:/ | 3,458,544,064 | 3,377,484.437 | 3,298.324 | 3.221
SPCData0205.mdf | SPCData02 | H:/ | 3,805,828,608 | 3,716,629.500 | 3,629.521 | 3.544
SPCData0206.mdf | SPCData02 | O:/ | 2,495,168,448 | 2,436,687.937 | 2,379.578 | 2.323
Document Center 2 | Totals: |  | 16,143,924,352 | 15,765,551.125 | 15,396.046 | 15.035
Corpus Total: |  |  | 31,904,892,826 | 31,157,121.900 | 30,426.876 | 29.713

Document Library hierarchies, folders and files

The following are the details of the document library hierarchies and the total number of folders and documents that are generated by the LoadBulk2SP tool for each Document Center. The totals across both Document Centers are for 60,234 and 120,092,033 files.

Document Center 1

The total number of folders and files that are contained in each document library in the content database are shown in the following table. Documents were limited to 1 million per document library strictly for the purposes of a large content load process. For SharePoint Server farm architecture results and advice related to large document library storage, see Estimate performance and capacity requirements for large scale document repositories in SharePoint Server 2010, which focuses on the performance characteristics of document libraries as size increases and the throughput of high volume operations.

For more information about software boundaries and limits of items in document libraries and items in content databases, see SharePoint Server 2010 capacity management: Software boundaries and limits.

Document Center 1 |  |
Document Library | Folders | Files
DC1 TOTALS: | 30,447 | 60,662,595

Document Center 2

The total number of folders and files that are contained in each document library in the content database are shown in the following table.

Document Center 2 |  |
Document Library | Folders | Files
DC2 TOTALS: | 29,787 | 59,429,438
DC1 TOTALS: | 30,447 | 60,662,595
Corpus Totals: | 60,234 | 120,092,033

The following table shows statistical samples from the top five test runs of the LoadBulk2SP tool that used four concurrent processes, with each process using 16 threads that targeted different Document Centers, document libraries and input folders and files.

Run 26: |  | Time | Seconds | Folders | Files | Docs/Sec
5 Folders @ 2k files | Hours | 0 | 0 | 315 | 639,980 | 233
 | Minutes | 45 | 2,700 |  |  |
 | Seconds | 46 | 46 |  |  | 58264
 |  | Total: | 2,746 |  |  |

Run 9: |  | Time | Seconds | Folders | Files | Docs/Sec
30 Folders @ 2k files | Hours | 5 | 18,000 | 1,920 | 3,839,864 | 178
 | Minutes | 58 | 3,480 |  |  |
 | Seconds | 46 | 46 |  |  |
 |  | Total: | 21,526 |  |  |

Run 10: |  | Time | Seconds | Folders | Files | Docs/Sec
30 Folders @ 2k files | Hours | 6 | 21,600 | 1,920 | 3,839,881 | 162
 | Minutes | 33 | 1,980 |  |  |
 | Seconds | 50 | 50 |  |  |
 |  | Total: | 23,630 |  |  |

Run 8: |  | Time | Seconds | Folders | Files | Docs/Sec
30 Folders @ 2k files | Hours | 6 | 21,600 | 1,920 | 3,839,857 | 155
 | Minutes | 51 | 3,060 |  |  |
 | Seconds | 30 | 30 |  |  |
 |  | Total: | 24,690 |  |  |

Run 7: |  | Time | Seconds | Folders | Files | Docs/Sec
30 Folders @ 2k files | Hours | 6 | 21,600 | 1,920 | 3,839,868 | 154
 | Minutes | 55 | 3,300 |  |  |
 | Seconds | 0 | 0 |  |  |
 |  | Total: | 24,900 |  |  |

Input-Output operations per second (IOPS)

SQLIO is a stress tool that is used to determine the I/O capacity of a given configuration. SQLIO was run on the system after performance tests were completed. Therefore, several disks backed by SAN LUNs could not be included as they had too much existing data on them.

IOPS as tested with SQLIO tool

The SQLIO test runs on each drive letter individually and then runs a test on all drives at one time. You can see the IOPS/GB in the right column, which is calculated by dividing the IOPS by the drive capacity. For these drives all being tested at the same time, 105,730 IOPS was achieved.

LUN | LUN Description | Size (GB) | Reads IOPS (MAX) | Writes IOPS (MAX) | Total IOPS (MAX) | IOPS per GB
F: | SP Service DB | 1024 | 2,736 | 23,778 | 26,514 | 25.89
G: | Content DBs TranLog | 2048 | 3,361 | 30,021 | 33,383 | 16.30
L: | Service DBs TranLog | 512 | 2,495 | 28,863 | 31,358 | 61.25
M: | TempDB | 2048 | 2,455 | 21,778 | 24,233 | 11.83
 | TempDB Log | 2048 | 2,751 | 29,522 | 32,273 | 15.76
N: | Content DBs 5 | 3,072 | 2,745 | 28,767 | 31,511 | 10.26
O: | Crawl/Admin DBs | 1024 | 2,603 | 22,808 | 25,411 | 24.81
P: | All at once | 11776 | 16,665 | 89,065 | 105,730 | 8.98
 | Total: | 11,776 | 19,145 | 185,536 | 310,412 |
 | Average: | 1,682 | 2,735 | 26,505 | 38,801 | 22

IOPS achieved during load testing

Performance Monitor jobs were run consistently together with concurrent FAST Indexing, content loading, and Visual Studio 2010 load tests running. The following table reflects the maximum IOPS achieved by LUN and identifies each LUN, and its description, total size, maximum reads, maximum writes, totals IOPS, and IOPS per GB.

Because these results were obtained during testing, the results reflect the IOPS that the test environment was able to drive into the SAN. Because drives H:, I:, J:, and K: could be included, the total IOPS achieved was much higher than for the SQLIO testing.

LUN | LUN Description | Size (GB) | Reads IOPS (MAX) | Writes IOPS (MAX) | Total IOPS (MAX) | IOPS per GB
G: | Content DBs TranLog | 2048 | 5,437 | 11,923 | 17,360 | 8.48
H: | Content DBs 1 | 6,850 | 5,203 | 18,546 | 23,749 | 3.47
I: | Content DBs 2 | 6,850 | 5,284 | 11,791 | 17,075 | 2.49
J: | Content DBs 3 | 7,500 | 5,636 | 11,544 | 17,180 | 2.29
K: | Content DBs 4 | 7,500 | 5,407 | 11,146 | 16,553 | 2.42
L: | Service DBs TranLog | 512 | 5,285 | 10,801 | 16,086 | 31.42
M: | TempDB | 2048 | 5,282 | 11,089 | 16,371 | 7.99
N: | TempDB Log | 2048 | 5,640 | 11,790 | 17,429 | 8.51
O: | Content DBs 5 | 3072 | 5,400 | 11,818 | 17,218 | 5.60
P: | Crawl/Admin DBs | 1024 | 5,249 | 11,217 | 16,467 | 16.08
 | Total: | 31,365 | 53,824 | 121,667 | 175,491 |
 | Average: | 3,136 | 5,382 | 12,167 | 17,549 | 5.60

FAST Search Server 2010 for SharePoint document crawling

Crawling SharePoint Server sites for search is performed by the crawler that is configured to feed to the FAST Content Distributors. The content Search Service Application (SSA) was configured to run on two servers, APP-1 and APP-2, and the query SSA was run on the servers FAST-1 and FAST-2.

100 FAST indexing document processors were run on the SQL Server computer. The following screen from task manager on the computer shows the activity while both document processing and a 10,000 user load test were running with SQL Server on this computer.

Task Manager on PACNEC01 during FAST Indexing and Load Test

Task Manager during FAST Indexing and Load Test

Results from Testing

In order to generate a significant load during testing, the following software was used: Visual Studio 2010 Ultimate, Visual Studio 2010 Load Control, and Visual Studios Agents 2010. A Test Rig is required to simulate many users and produce a significant load. A Test Rig is made up of a Test Controller computer and one or more Test Agent computers. The test controller manages and coordinates with agent computers, and the agents are used to generate load against SharePoint Server. The Test controller is also responsible for collecting performance monitor data from the computers that are under test and from the agent computers.

This section identifies the results of the performance test runs.

Test Series A - Vary Users

In this test series, the number of users loaded onto the test farm very. The following figure shows the requests per second that the Visual Studio 2010 Ultimate Test Controller was able to process through the SharePoint Server farm during the tests for each of the user load sizes. The chart shows that as additional user load is applied, the requests increase because of the larger user number. When the test reaches 15,000 users, the farm is heavily loaded. Consequently, the requests do not increase as much as the applied load.

Because the 15,000 user test took additional time to ramp up, this test ran for 2 hours instead of the baseline of 1 hour. Due to the load, we also found that 3 front-end Web servers were insufficient. We ran this test with 6 front-end Web servers.

Average RPS for series A

Average RPS for series A chart

In the following graph, you can see that test transaction response time increases together with the page refresh time for the large 15,000 user test. This shows that there is a bottleneck in the system for this large user load. We experienced high IOPS load on the H: drive, which contains the primary data file for the content database during this test. This area could have been investigated further to remove this bottleneck.

Times and WFEs used for series A

Times and WFEs Used for Series A chart

In the following graph, you can see the increasing CPU use as the user load is moved from 4,000 to 10,000 users. CPU use is reduced just for the front-end Web servers (WFEs) as the number of WFEs is doubled from 3 to 6. At the low end of the chart, notice that the APP-1 server has fairly constant CPU use, and the large PACNEC01 SQL Server computer does not reach 3% of total CPU use.

Average CPU use for series A

Average CPU Use for Series A chart

The following table shows a summary of data captured during the three tests in test series A. Data items that show "NA" were not captured.

Test | A.1 | A.2 | A.3
Users | 4,000 | 4,000 | 15,000
WFEs | 3 | 3 | 6
Duration | 1 hour | 1 hour | 2 hours
Avg RPS | 96.3 | 203 | 220
Avg Page Time | 0.31 sec | 0.71 sec | 19.2 sec
Avg Response Time | 0.26 sec | 0.58 sec | 13.2 sec
Avg CPU WFE-1 | 22.3% | 57.3% | 29.7%
Available RAM WFE-1 | 5,828 | 5,786 | 13,311
Avg CPU WFE-2 | 36.7% | 59.6% | 36.7%
Available RAM WFE-2 | 5,651 | 5,552 | 13,323
Avg CPU WFE-3 | 22.8% | 57.7% | 34%
Available RAM WFE-3 | 5,961 | 5,769 | 13,337
Avg CPU PACNEC01 | 1.29% | 2.37% | 2.86%
Available RAM PACNEC01 | 401,301 | 400,059 | 876,154
Avg CPU APP-1 | 6.96% | 14.5% | 13.4%
Available RAM APP-1 | 13,745 | 13,804 | 13,311
Avg CPU APP-2 | 0.73% | 1.09% | 0.27%
Available RAM APP-2 | 14,815 | 14,992 | 13,919
Avg CPU WFE-4 | NA | NA | 29.7%
Available RAM WFE-4 | NA | NA | 13,397
Avg CPU WFE-5 | NA | NA | 30.4%
Available RAM WFE-5 | NA | NA | 13,567
Avg CPU WFE-6 | NA | NA | 34.9%
Available RAM WFE-6 | NA | NA | 13,446
Avg Disk Write Queue Length, PACNEC01 H: SPContent DB1 | 0.0 (with peak of 0.01) | 0.0 (with peak of 0.02) | 0.3 (with peak of 24.1)

Test Series B - Vary SQL Server RAM

In this test series the available RAM to SQL Server is varied. The following figure shows that the requests-per-second was not affected by the RAM allocated to SQL Server.

Average Requests per Second for series B

Average Requests per Second for series B chart

Page and transaction response times for series B

Page and transaction response for series B chart

The following graph shows the CPU use for the front-end Web servers (WFE), the App Server, and the SQL Database Server. The three WFEs were constantly busy for all tests, the App Server is mostly idle, and the database server does not increase above 3% CPU usage.

Average CPU use for series B

Average CPU Use for series B chart

Available RAM for series B

Available RAM for series B chart

The following table shows summary of data that was captured during the three tests in test series B.

Test | B.1 | B.2 | B.3 | B.4 | B.5 | B.6
SQL RAM | 16 GB | 32 GB | 64 GB | 128 GB | 256 GB | 600 GB
Avg RPS | 203 | 203 | 203 | 204 | 203 | 202
Avg Page Time | 0.66 | 0.40 | 0.38 | 0.42 | 0.58 | 0.89
Avg Response Time | 0.56 | 0.33 | 0.31 | 0.37 | 0.46 | 0.72
Avg CPU WFE-1 | 57.1% | 58.4% | 58.8% | 60.6% | 60% | 59%
Available RAM WFE-1 | 6,239 | 6,063 | 6,094 | 5,908 | 5,978 | 5,848
Avg CPU WFE-2 | 55.6% | 60.1% | 57.1% | 59.6% | 60.3% | 58.1%
Available RAM WFE-2 | 6,184 | 6,079 | 6,141 | 6,119 | 5,956 | 5,828
Avg CPU WFE-3 | 59.4% | 56% | 56.9% | 58.4% | 61.4% | 59.8%
Available RAM WFE-3 | 6,144 | 6,128 | 6,159 | 6,048 | 5,926 | 5,841
Avg CPU PACNEC01 | 2.84% | 2.11% | 2.36% | 2.25% | 2.38% | 2.29%
Available RAM PACNEC01 | 928,946 | 923,332 | 918,526 | 904,074 | 861,217 | 881,729
Avg CPU APP-1 | 14.3% | 12.6% | 13.3% | 12.5% | 13.4% | 13.8%
Available RAM APP-1 | 14,163 | 14,099 | 14,106 | 14,125 | 14,221 | 14,268
Avg CPU APP-2 | 1.29% | 1.14% | 1.2% | 1.2% | 1.03% | 0.96%
Available RAM APP-2 | 15,013 | 14,884 | 14,907 | 14,888 | 14,913 | 14,900

Test Series C - vary transaction mix

In this test series, the proportion of search transactions in the workload mix is varied.

Average RPS for series C

Average RPS for series C chart

The following graph shows that test C.5 had significantly longer page response times, which indicates that the SharePoint Server 2010and FAST Search Server 2010 for SharePoint farm was overloaded during this test.

Page and transaction response times for series C

Page and transaction times for series C chart

Average CPU times for series C

Average CPU Time for series C chart

Average RAM for series C

Average RAM for series C chart

The following table shows a summary of data that was captured during the three tests in test series C.

Test | C.4 | C.2 (baseline) | C.1 | C.2 | C.3 | C.5
Open | 30% | 30% | 20% | 20% | 25% | 5%
Browse | 55% | 40% | 40% | 30% | 25% | 20%
Search | 15% | 30% | 40% | 50% | 50% | 75%
Avg RPS | 235 | 203 | 190 | 175 | 168 | 141
Avg Page Time (S) | 1.19 | 0.71 | 0.71 | 0.43 | 0.29 | 25.4
Avg Response Time (S) | 0.87 | 0.58 | 0.20 | 0.33 | 0.22 | 16.1
Avg CPU WFE-1 | 62.2% | 57.30% | 44.2% | 40.4% | 36.1% | 53.1%
Available RAM WFE- | 14,091 | 5,786 | 6,281 | 6,162 | 6,069 | 13,766
Avg CPU WFE-2 | 65.2% | 59.60% | 45.2% | 40.1% | 37.6% | 58.8%
Available RAM WFE-2 | 13,944 | 5,552 | 6,271 | 6,123 | 6,044 | 13,726
Avg CPU WFE-3 | 65.3% | 57.70% | 49.4% | 44.2% | 39.6% | 56.8%
Available RAM WFE-3 | 13,693 | 5,769 | 6,285 | 6,170 | 6,076 | 13,716
Avg CPU PACNEC01 | 2.4% | 2.37% | 2.6% | 2.51% | 2.32% | 3.03%
Available RAM PACNEC01 | 899,613 | 400,059 | 814,485 | 812,027 | 808,842 | 875,890
Avg CPU APP-1 | 8.27% | 14.50% | 17.8% | 20.7% | 18.4% | 16.2%
Available RAM APP-1 | 13,687 | 13,804 | 14,002 | 13,991 | 13,984 | 13,413
Avg CPU APP-2 | 0.28% | NA | 0.88% | 0.8% | 0.79% | 0.14%
Available RAM APP-2 | 13,916 | NA | 14,839 | 14,837 | 14,833 | 13,910
Avg CPU FAST-1 | 8.39% | NA | NA | NA | NA | 16.6%
Available RAM FAST-1 | 13,998 | NA | NA | NA | NA | 13,686
Avg CPU FAST-2 | 8.67% | NA | NA | NA | NA | 16.7%
Available RAM FAST-2 | 14,135 | NA | NA | NA | NA | 13,837
Avg CPU FAST-IS1 | 37.8% | NA | NA | NA | NA | 83.4%
Available RAM FAST-IS1 | 2,309 | NA | NA | NA | NA | 2,298
Avg CPU FAST-IS2 | 30.2% | NA | NA | NA | NA | 66.1%
Available RAM FAST-IS2 | 5,162 | NA | NA | NA | NA | 5,157
Avg CPU FAST-IS3 | 30.6% | NA | NA | NA | NA | 69.9%
Available RAM FAST-IS3 | 5,072 | NA | NA | NA | NA | 5,066
Avg CPU FAST-IS4 | 25.6% | NA | NA | NA | NA | 58.2%
Available RAM FAST IS-4 | 5,243 | NA | NA | NA | NA | 5,234

Test Series D - Vary Front-End Web Server RAM

In this test series, the RAM on each front-end Web server virtual machine is varied.

Average RPS for series D

Average RPS for series D chart

Page and transaction response times for series D

Page and transaction time for series D chart

Average CPU times for series D

Average CPU Time for series D chart

The following graph shows that the available RAM on each front-end Web server is always the RAM allocated to the virtual machine less 2 GB. This shows that for the 10,000 user load and this test transaction mix, the front-end Web servers require a minimum of 2 GB of RAM plus any reserve.

Available RAM for series D

Available RAM for series D chart

The following table shows a summary of data that was captured during the three tests in test series D.

Test | D.1 | D.2 | D.3 | D.4
WFE RAM | 4 GB | 6 GB | 8 GB | 16 GB
Avg RPS | 189 | 188 | 188 | 188
Avg Page Time (S) | 0.22 | 0.21 | 0.21 | 0.21
Avg Response Time (S) | 0.17 | 0.16 | 0.16 | 0.16
Avg CPU WFE-1 | 40.5% | 37.9% | 39.6% | 37.3%
Available RAM WFE-1 | 2,414 | 4,366 | 6,363 | 14,133
Avg CPU WFE-2 | 42.3% | 40% | 40.3% | 39.5%
Available RAM WFE-2 | 2,469 | 4,356 | 6,415 | 14,158
Avg CPU WFE-3 | 42.6% | 42.4% | 42.2% | 43.3%
Available RAM WFE-3 | 2,466 | 4,392 | 6,350 | 14,176
Avg CPU PACNEC01 | 2.04% | 1.93% | 2.03% | 2.14%
Available RAM PACNEC01 | 706,403 | 708,725 | 711,751 | 706,281
Avg CPU APP-1 | 11.8% | 13.1% | 12.9% | 12.3%
Available RAM APP-1 | 13,862 | 13,866 | 13,878 | 13,841
Avg CPU APP-2 | 0.84% | 0.87% | 0.81% | 0.87%
Available RAM APP-2 | 14,646 | 14,650 | 14,655 | 14,636
Avg CPU WFE-4 | 42.3% | 43.6% | 41.9% | 45%
Available RAM WFE-4 | 2,425 | 4,342 | 6,382 | 14,192

Test Series E - Vary number of front-end Web servers

In this test series the number of front-end Web servers in the farm is varied. The following figure shows that the average RPS slightly lower with 2 and 3 front-end Web servers as the system does not completely keep up with the applied user load. But with 4, 5 or 6 front-end Web servers, requests-per-second is constant as the system is handling the full load from the test agents.

Average RPS for Series E

Average RPS for Series E chart

A similar pattern is shown in the following graph where you can see the response times high for 2 and 3 WFEs and then very low for the increased numbers of front-end Web servers.

Page and transaction time for Series E

Page and transaction times for series E chart

The following graph shows that the CPU time is lower when more front-end Web servers are available. Six front-end Web servers clearly reduces the average CPU utilization across the front-end Web servers, but only four front-end Web servers are required for the 10,000 user load. Notice that you cannot tell from this chart which configurations are handling the load and which configurations are not. For three front-end Web servers, which we identified as not completely handling the load, the front-end Web server CPU is just over 50%.

Average CPU for Series E

Average CPU for Series E chart

Available RAM for Series E

Available RAM for Series E chart

The following table shows a summary of data that was captured during the three tests in test series E.

Test | E.1 | E.2 | E.3 | E.4 | E.5
WFE Servers | 2 | 3 | 4 | 5 | 6
Avg RPS | 181 | 186 | 204 | 204 | 205
Avg Page Time (S) | 8.02 | 0.73 | 0.23 | 0.20 | 0.22
Avg Response Time (S) | 6.34 | 0.56 | 0.19 | 0.17 | 0.18
Avg CPU WFE-1 | 77.4 | 53.8 | 45.7 | 39.2 | 32.2
Available RAM WFE-1 | 5,659 | 6,063 | 6,280 | 6,177 | 6,376
Avg CPU WFE-2 | 76.2% | 53.8% | 45.9% | 38.2% | 28.8%
Available RAM WFE-2 | 5,623 | 6,132 | 6,105 | 6,089 | 5,869
Avg CPU WFE-3 | NA | 52.5% | 43.9% | 37.7% | 31.2%
Available RAM WFE-3 | NA | 6,124 | 6,008 | 5,940 | 6,227
Avg CPU WFE-4 | NA | NA | 44.5% | 34.8% | 34.7%
Available RAM WFE-4 | NA | NA | 6,068 | 6,068 | 6,359
Avg CPU WFE-5 | NA | NA | NA | 35.1% | 32%
Available RAM WFE-5 | NA | NA | NA | 6,090 | 6,245
Avg CPU WFE-6 | NA | NA | NA | NA | 33.9%
Available RAM WFE-6 | NA | NA | NA | NA | 5,893
Avg CPU PACNEC01 | 2.13% | 1.93% | 2.54% | 2.48% | 2.5%
Available RAM PACNEC01 | 899,970 | 815,502 | 397,803 | 397,960 | 397,557
Avg CPU APP-1 | 9.77% | 11.7% | 15% | 14.7% | 13.6%
Available RAM APP-1 | 14,412 | 13,990 | 14,230 | 14,227 | 14,191
Avg CPU APP-2 | 1.06% | 0.92% | 1% | 1% | 1.04%
Available RAM APP-2 | 14,928 | 14,841 | 14,874 | 14,879 | 14,869

Test Series F - Vary SQL Server CPUs

In this test series the number of CPUs that are available to SQL Server varies.

Average RPS for series F

Average RPS for series F chart

The following graph shows that despite minimal CPU use on the SQL Server computer, the page and transaction response times increases when SQL Server has fewer CPUs available to work with.

Page and transaction time for series F

Page and transaction time for series F chart

The following graph shows that the SQL Server average CPU usage for the whole computer does not exceed 3%. CPU usage for the three front-end Web servers was approximately 55% throughout the tests.

Average CPU for series F

Average CPU use for series F chart

Available RAM for series F

Available RAM for series F chart

The following table shows a summary of data that were captured during the three series F tests.

Test | F.1 | F.2 | F.3 | F.4 | F.5
SQL CPUs | 4 | 6 | 8 | 16 | 80
Avg RPS | 194 | 200 | 201 | 203 | 203
Avg Page Time (S) | 4.27 | 2.33 | 1.67 | 1.2 | 0.71
Avg Response Time (S) | 2.91 | 1.6 | 1.16 | 0.83 | 0.58
Avg CPU WFE-1 | 57.4% | 57.4% | 56.9% | 55.5% | 57.30%
Available RAM WFE-1 | 13,901 | 13,939 | 13,979 | 14,045 | 5,786
Avg CPU WFE-2 | 60.3% | 58.9% | 62.6% | 61.9% | 59.60%
Available RAM WFE-2 | 13,920 | 14,017 | 13,758 | 14,004 | 5,552
Avg CPU WFE-3 | 56.8% | 62% | 61% | 62.1% | 57.70%
Available RAM WFE-3 | 13,859 | 13,942 | 13,950 | 13,971 | 5,769
Avg CPU PACNEC01 | 1.56% | 2.57% | 2.69% | 2.69% | 2.37%
Available RAM PACNEC01 | 865,892 | 884,642 | 901,247 | 889,479 | 400,059
Avg CPU APP-1 | 12.5% | 12.8% | 12.8% | 12.8% | 14.50%
Available RAM APP-1 | 13,856 | 13,713 | 13,725 | 13,745 | 13,804
Avg CPU APP-2 | 0.22% | 0.25% | 0.26% | 0.25% | NA
Available RAM APP-2 | 14,290 | 14,041 | 14,013 | 13,984 | NA
Avg CPU FAST-1 | 12.8% | 13% | 13% | 13% | NA
Available RAM FAST-1 | 13,913 | 14,051 | 14,067 | 14,085 | NA
Avg CPU FAST-2 | 12.9% | 13.4% | 13.3% | 13.5% | NA
Available RAM FAST-2 | 14,017 | 14,170 | 14,183 | 14,184 | NA

Service Pack 1 (SP1) and June Cumulative Update (CU) Test

After the SharePoint Server 2010 farm was fully populated with 120 million items, SharePoint Server 2010 with SP1 and FAST Search Server 2010 for SharePoint SP1 were applied to determine how long the process would take on a large populated farm.

SharePoint Server 2010

Microsoft SharePoint Server 2010 with Service Pack 1 (SP1) and the June Cumulative Update were applied in the lab to determine a base upgrade time for a large-scale Document Center farm scenario. The following table reflects the servers in the farm that required the SP1 and June CU upgrades, the start and end time of each install, the total time of installs, the start and end time of PSCONFIG upgrade command, the total time of PSCONFIG upgrade command, the total time of the upgrade by server name, and the total installation times.

Server Name | SP1 Start | SP1 End | Diff (h:mm:ss) | June CU Start | June CU End | Diff (h:mm:ss) | PSConfig Start | PSConfig End | Diff (h:mm:ss)
APP-1 | 7/12/2011 4:00:00 | 7/12/2011 4:15:51 | 0:15:51 | 7/29/2011 10:45:00 | 7/29/2011 11:00:05 | 0:15:05 | 7/29/2011 13:25:50 | 7/29/2011 13:30:15 | 0:04:25
APP-2 | 7/12/2011 4:26:07 | 7/12/2011 4:39:31 | 0:13:24 | 7/29/2011 11:02:30 | 7/29/2011 11:17:23 | 0:14:53 | 7/29/2011 13:33:15 | 7/29/2011 13:35:11 | 0:01:56
WFE-1 | 7/12/2011 4:41:05 | 7/12/2011 4:49:16 | 0:08:11 | 7/29/2011 11:23:00 | 7/29/2011 11:31:07 | 0:08:07 | 7/29/2011 13:36:35 | 7/29/2011 13:38:11 | 0:01:36
WFE-2 | 7/12/2011 4:50:24 | 7/12/2011 4:57:47 | 0:07:23 | 7/29/2011 11:32:45 | 7/29/2011 11:40:46 | 0:08:01 | 7/29/2011 13:39:20 | 7/29/2011 13:40:54 | 0:01:34
WFE-3 | 7/12/2011 4:59:00 | 7/12/2011 5:06:39 | 0:07:39 | 7/29/2011 11:42:00 | 7/29/2011 11:49:47 | 0:07:47 | 7/29/2011 13:42:40 | 7/29/2011 13:44:14 | 0:01:34
WFE-4 | 7/12/2011 5:10:060 | 7/12/2011 5:17:30 | 0:07:24 | 7/29/2011 11:51:00 | 7/29/2011 11:58:49 | 0:07:49 | 7/29/2011 13:46:05 | 7/29/2011 13:47:41 | 0:01:36
WFE-5 | 7/12/2011 5:18:49 | 7/12/2011 5:27:07 | 0:08:18 | 7/29/2011 11:59:45 | 7/29/2011 12:08:19 | 0:08:34 | 7/29/2011 13:49:00 | 7/29/2011 13:50:36 | 0:01:36
WFE-6 | 7/12/2011 5:28:25 | 7/12/2011 5:35:40 | 0:07:15 | 7/29/2011 12:09:30 | 7/29/2011 12:17:10 | 0:07:40 | 7/29/2011 13:52:00 | 7/29/2011 13:53:35 | 0:01:35
WFE-CRAWL1 | 7/12/2011 5:37:20 | 7/12/2011 5:44:35 | 0:07:15 | 7/29/2011 12:18:10 | 7/29/2011 12:25:51 | 0:07:41 | 7/29/2011 13:54:35 | 7/29/2011 13:56:19 | 0:01:44
FAST-SSA-1 | 7/12/2011 5:49:00 | 7/12/2011 5:57:45 | 0:08:45 | 7/29/2011 12:39:40 | 7/29/2011 12:48:24 | 0:08:44 | 7/29/2011 13:57:30 | 7/29/2011 13:59:07 | 0:01:37
FAST-SSA-2 | 7/12/2011 5:59:08 | 7/12/2011 6:08:29 | 0:09:21 | 7/29/2011 12:51:30 | 7/29/2011 13:00:11 | 0:08:41 | 7/29/2011 14:00:00 | 7/29/2011 14:01:58 | 0:01:58
Total Time: |  |  | 1:40:46 |  |  | 1:43:02 |  |  | 0:21:11
Grand Total: |  | 3:44:59 |  |  |  |  |  |  |

FAST Search Server 2010 for SharePoint

The FAST Search Server 2010 for SharePoint Service Pack 1 (SP1) upgrade required approximately 15 minutes per node to upgrade.

SQL Server content database backups

A SQL Server database backup was executed on the content database for Document Center 1 (SPContent01). A backup (B/U) was performed pre-SP1, June Cumulative Update (CU), and post-SP1. The following table shows the backup time and size details.

Database Name | B/U Start | B/U End | Diff (h:mm:ss) | Size (TB) | Notes
SPContent01 | 7/10/2011 9:56:00 | 7/10/2011 23:37:00 | 13:41:00 | 14.40 | Pre-SP1
SPContent01 | 7/29/2011 14:22:10 | 7/30/2011 4:28:00 | 14:05:50 | 14.40 | Post- SP1 / June CU

Conclusions

The SharePoint Server 2010 farm was successfully tested at 15,000 concurrent users by using two SharePoint Server content databases that included a total of 120 million documents. The SharePoint Server 2010 farm with three front-end Web servers, as was specified in the baseline environment, was not able to support the load of 15,000 concurrent users. Six front-end Web servers were required for this load.

Recommendations

The following is a summary list of the recommendations. In each section the hardware notes are not intended to be a comprehensive list, but to indicate the minimum hardware that was found to be required for the 15,000 concurrent user load test against a 120 million document SharePoint Server 2010 farm.

Recommendations related to Microsoft SQL Server 2008 R2

  • Hardware notes for load:

    • 64 GB RAM on SQL Server

    • 16 CPU cores on SQL Server

  • Provide sufficient 2 IO Capability per Second per GB stored in the SharePoint Server 2010 content database

  • Set Microsoft SQL Server 2008 R2 property Maximum Degree of Parallelism (MAXDOP)=1; the default is 0

  • Use multiple LUNs (drive letters) on SAN each with a SQL Server data file and one virtual CPU allocated for each LUN used. We used 5 data files all on separate LUNs

Recommendations related to SharePoint Server 2010

  • Hardware notes for load:

    • 8 GB RAM on each front-end Web server

    • 6 front-end Web servers

  • Add the Disable Loopback Check Registry Key at \HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\DisableLoopbackCheck=1

  • Reduce table index fragmentation issues manually during bulk document import by running ALTER INDEX on the affected table indexes.

  • Prefer SPFileCollection.ADD for bulk import of documents over creating duplicate documents by using SPFolder.CopyTo.

Recommendations related to FAST Search Server 2010 for SharePoint

  • Hardware notes for load:

    4 rows of FAST Search Server 2010 for SharePoint index servers

  • Registry Updates for SharePoint Server 2010 document crawler

    On nodes that run the FAST Content SSA crawler (APP-1 and APP-2), the following registry values were updated to improve the crawler performance in the hive:

    HKLM\SOFTWARE\Microsoft\Office Server\14.0\Search\Global\Gathering Manager

    1. FilterProcessMemoryQuota

      Default value of 100 megabytes (MB) was changed to 200 MB

    2. DedicatedFilterProcessMemoryQuota

      Default value of 100 megabytes (MB) was changed to 200 MB

    3. FolderHighPriority

      Default value of 50 was changed to 500

  • Monitor the FAST Search Server 2010 for SharePoint Index Crawl

    The crawler should be monitored at least three times per day. In these tests, 100 million items took about two weeks to crawl. The following four items were checked every time that the crawl was monitored:

    1. rc -r | select-string "# doc"

      Checks how busy the document processors are

    2. Monitoring crawl queue size

      Use reporting or SQL Server Management Studio to see MSCrawlURL

    3. Indexerinfo -a doccount

      Make sure all indexers are reporting to see how many documents are indexed in 1000 milliseconds. This number ran from 40 to 120 depending on the type of documents being indexed at the time.

    4. Indexerinfo -a status

      Monitor the health of the indexers and partition layout

References

  • SharePoint Server 2010 capacity management: Software boundaries and limits

  • Estimate performance and capacity requirements for large scale document repositories in SharePoint Server 2010

  • Storage and SQL Server capacity planning and configuration (SharePoint Server 2010)

  • Capacity Management for SharePoint Server 2010 (http://go.microsoft.com/fwlink/?LinkId=245127)

  • Best practices for virtualization (SharePoint Server 2010)

  • Best practices for SQL Server 2008 in a SharePoint Server 2010 farm

  • Best practices for capacity management for SharePoint Server 2010

  • Performance and Capacity Recommendations for FAST Search Server 2010 for SharePoint

  • Bulk Loader tool (http://go.microsoft.com/fwlink/?LinkId=245128)

  • LoadBulk2SP tool (http://go.microsoft.com/fwlink/?LinkId=245129)

  • SharePoint Performance Testing Scripts (http://go.microsoft.com/fwlink/?LinkID=245130)


Storage and SQL Server capacity planning and configuration (SharePoint Server 2010)
See Also

This article describes how to plan for and configure the storage and Microsoft SQL Server database tier in a Microsoft SharePoint Server 2010 environment.

The capacity planning information in this document provides guidelines for you to use in your planning. It is based on testing performed at Microsoft on live properties. However, your results may vary based on the equipment you use and the features and functionality that you implement for your sites.

Because SharePoint Server often runs in environments in which databases are managed by separate SQL Server database administrators, this document is intended for joint use by SharePoint Server farm implementers and SQL Server database administrators. It assumes significant understanding of both SharePoint Server and SQL Server.

This article assumes that you are familiar with the concepts presented in Capacity management and sizing for SharePoint Server 2010.

Design and configuration process for SharePoint 2010 Products storage and database tier

We recommend that you break the storage and database tier design process into the following steps. Each section provides detailed information about each design step, including storage requirements and best practices:

  • Gather storage and SQL Server space and I/O requirements

  • Choose SQL Server version and edition

  • Design storage architecture based on capacity and I/O requirements

  • Estimate memory requirements

  • Understand network topology requirements

  • Configure SQL Server

  • Validate and monitor storage and SQL Server performance

Gather storage and SQL Server space and I/O requirements

Several SharePoint Server 2010 architectural factors influence storage design. The amount of content, features and service applications used, number of farms, and availability needs are key factors.

Before you start to plan storage, you should understand the databases that SharePoint Server 2010 can use.

In this section:

  • Databases used by SharePoint 2010 Products

  • Understand SQL Server and IOPS

  • Estimate core storage and IOPS needs

  • Estimate service application storage needs and IOPS

  • Determine availability needs

Databases used by SharePoint 2010 Products

The databases that are installed with SharePoint Server 2010 depend on the features that are being used in the environment. All SharePoint 2010 Products environments rely on the SQL Server system databases. This section provides a summary of the databases installed with SharePoint Server 2010. For detailed information, see Database types and descriptions (SharePoint Server 2010) and Database model (http://go.microsoft.com/fwlink/p/?LinkId=187968).

Product version and edition Databases

SharePoint Foundation 2010

Configuration

Central Administration content

Content (one or more)

Usage and Health Data Collection

Business Data Connectivity

Application Registry service (if upgrading from Microsoft Office SharePoint Server 2007 Business Data Catalog)

Subscription Settings service (if it is enabled through Windows PowerShell)

Additional databases for SharePoint Server 2010 Standard edition

Search service application:

  • Search administration

  • Crawl (one or more)

  • Property (one or more)

User Profile service application:

  • Profile

  • Synchronization

  • Social tagging

Web analytics service application

  • Staging

  • Reporting

Secure store

State

Managed Metadata

Word Automation services

Additional databases for SharePoint Server 2010 Enterprise edition

PerformancePoint

Additional databases for Project Server 2010

Draft

Published

Archive

Reporting

Additional database for FAST Search Server

Search administration

If you are integrating more fully with SQL Server, your environment may also include additional databases, as in the following scenarios:

  • Microsoft SQL Server 2008 R2 PowerPivot for Microsoft SharePoint 2010 can be used in a SharePoint Server 2010 environment that includes SQL Server 2008 R2 Enterprise Edition and SQL Server Analysis Services. If in use, you must also plan to support the PowerPivot Application database, and the additional load on the system. For more information, see Plan a PowerPivot deployment in a SharePoint farm (http://go.microsoft.com/fwlink/p/?LinkID=186698).

  • The Microsoft SQL Server 2008 Reporting Services (SSRS) plug-in can be used with any SharePoint 2010 Products environment. If you are using the plug-in, plan to support the two SQL Server 2008 Reporting Services databases and the additional load that is required for SQL Server 2008 Reporting Services.

Understand SQL Server and IOPS

On any server that hosts SQL Server, it is very important that the server achieve the fastest response possible from the I/O subsystem.

More and faster disks or arrays provide sufficient I/O operations per second (IOPS) while maintaining low latency and queuing on all disks.

Slow response from the I/O subsystem cannot be compensated for by adding other types of resources such as CPU or memory; however, it can influence and cause issues throughout the farm. Plan for minimal latency before deployment, and monitor your existing systems.

Before you deploy a new farm, we recommend that you benchmark the I/O subsystem by using the SQLIO disk subsystem benchmark tool. For details, see SQLIO Disk Subsystem Benchmark Tool (http://go.microsoft.com/fwlink/p/?LinkID=105586).

For detailed information about how to analyze IOPS requirements from a SQL Server perspective, see Analyzing I/O Characteristics and Sizing Storage Systems for SQL Server Database Applications (http://sqlcat.com/whitepapers/archive/2010/05/10/analyzing-i-o-characteristics-and-sizing-storage-systems-for-sql-server-database-applications.aspx).

Estimate core storage and IOPS needs

Configuration and content storage and IOPs are the base layer that you must plan for in every SharePoint Server 2010 deployment.

Configuration storage and IOPS

Storage requirements for the Configuration database and the Central Administration content database are not large. We recommend that you allocate 2 GB for the Configuration database and 1 GB for the Central Administration content database. Over time, the Configuration database may grow beyond 1 GB, but it does not grow quickly — it grows by approximately 40 MB for each 50,000 site collections.

Transaction logs for the Configuration database can be large, therefore we recommend that you change the recovery model for the database from full to simple.

Note:

If you want to use SQL Server database mirroring to provide availability for the Configuration database, you must use the full recovery model.

IOPS requirements for the Configuration database and Central Administration content database are minimal.

Content storage and IOPS

Estimating the storage and IOPS required for content databases is not a precise activity. In testing and explaining the following information, we intend to help you derive estimates to use for determining the initial size of your deployment. However, when your environment is running, we expect that you will revisit your capacity needs based on the data from your live environment.

For more information about our overall capacity planning methodology, see Capacity management and sizing for SharePoint Server 2010.

Estimate content database storage

The following process describes how to approximately estimate the storage required for content databases, without considering log files:

  1. Calculate the expected number of documents. This value is referred to as D in the formula.

    How you calculate the number of documents will be determined by the features that you are using. For example, for My Sites or collaboration sites, we recommend that you calculate the expected number of documents per user and multiply by the number of users. For records management or content publishing sites, you may calculate the number of documents that are managed and generated by a process.

    If you are migrating from a current system, it may be easier to extrapolate your current growth rate and usage. If you are creating a new system, review your existing file shares or other repositories and estimate based on that usage rate.

  2. Estimate the average size of the documents that you will be storing. This value is referred to as S in the formula. It may be worthwhile to estimate averages for different types or groups of sites. The average file size for My Sites, media repositories, and different department portals can vary significantly.

  3. Estimate the number of list items in the environment. This value is referred to as L in the formula.

    List items are more difficult to estimate than documents. We generally use an estimate of three times the number of documents (D), but this will vary based on how you expect to use your sites.

  4. Determine the approximate number of versions. Estimate the average number of versions any document in a library will have (this value will usually be much lower than the maximum allowed number of versions). This value is referred to as V in the formula.

    The value of V must be above zero.

  5. Use the following formula to estimate the size of your content databases:

    Database size = ((D × V) × S) + (10 KB × (L + (V × D)))

    The value of 10 KB in the formula is a constant that roughly estimates the amount of metadata required by SharePoint Server 2010. If your system requires significant use of metadata, you may want to increase this constant.

As an example, if you were to use the formula to estimate the amount of storage space required for the data files for a content database in a collaboration environment with the following characteristics, you would need approximately 105 GB.

Input | Value
Number of documents (D) | 200,000 Calculated by assuming 10,000 users times 20 documents
Average size of documents (S) | 250 KB
List items (L) | 600,000
Number of non-current versions (V) | 2 Assuming that the maximum versions allowed is 10

Database size = (((200,000 x 2)) × 250) + ((10 KB × (600,000 + (200,000 x 2))) = 110,000,000 KB or 105 GB

Features that influence the size of content databases

The use of the following SharePoint Server 2010 features can significantly affect the size of content databases:

  • Recycle bins Until a document is fully deleted from both the first stage and second stage recycle bin, it occupies space in a content database. Calculate how many documents are deleted each month to determine the effect of recycle bins on the size of content databases. For more information, see Configure Recycle Bin settings (SharePoint Server 2010).

  • Auditing Audit data can quickly compound and use large amounts of space in a content database, especially if view auditing is turned on. Rather than letting audit data grow without restraint, we recommend that you only enable auditing on the events that are important to meet regulatory needs or internal controls. Use the following guidelines to estimate the space you will need to reserve for auditing data:

    • Estimate the number of new auditing entries for a site, and multiply this number by 2 KB (entries generally are limited to 4 KB, with an average size of about 1 KB).

    • Based on the space that you want to allocate, determine the number of days of audit logs you want to keep.

  • Office Web Apps. If Office Web Apps are being used, the Office Web Apps cache can significantly affect the size of a content database. By default, the Office Web Apps cache is configured to be 100 GB. For more information about the size of the Office Web Apps cache, see Manage the Office Web Apps cache.

Estimate content database IOPS requirements

IOPS requirements for content databases vary significantly based on how your environment is being used, and how much disk space and how many servers you have. In general, we recommend that you compare the predicted workload in your environment to one of the solutions that we tested. For more information, see Performance and capacity test results and recommendations (SharePoint Server 2010).

Important:

The testing for the content in this section is not yet complete. Check back for additional information.

Estimate service application storage needs and IOPS

After estimating content storage and IOPs needs, you must next determine the storage and IOPs required by the service applications that are being used in your environment.

SharePoint Server 2010 service application storage and IOPs requirements

To estimate the storage requirements for the service applications in the system, you must first be aware of the service applications and how you will use them. Service applications that are available in SharePoint Server 2010 that have databases are listed in the following table.

Service application Size estimation recommendation

Search

Search requires three databases. Your environment may include multiple Property and Crawl databases.

The Search administration database is typically small: allocate 10 GB.

To estimate the required storage for your Property and Crawl databases, use the following multipliers:

  • Crawl: 0.046 × (sum of content databases)

  • Property: 0.015 × (sum of content databases)

The IOPS requirements for Search are significant.

  • For the Crawl database, search requires from 3,500 to 7,000 IOPS.

  • For the Property database, search requires 2,000 IOPS.

For detailed information about how to estimate capacity required for Search, see Performance and capacity test results and recommendations (SharePoint Server 2010).

FAST Search Server 2010 for SharePoint has a different architecture. The Crawl database has the same IOPS requirements, but the Property database is only used for people search and there is an additional Search administration database. For detailed information about FAST Search Server 2010 for SharePoint, see Plan search topology (FAST Search Server 2010 for SharePoint) and Performance and capacity management (FAST Search Server 2010 for SharePoint).

User Profile

The User Profile service application is associated with three databases: Profile, Synch, and Social Tagging.

To estimate the required storage for the databases, use the following information:

  • Profile. With default settings, in an environment configured to use Active Directory, the profile database requires approximately 1 MB per user profile.

  • Synchronization. With default settings, in an environment that has few groups per user, the synch database requires approximately 630 KB per user profile. 90% of the space will be used by the data file.

  • Social tagging. With default settings, the social tagging database requires approximately 0.009 MB per tag, comment, or rating. To estimate how many tags and notes users will create, consider the following information about the site del.icio.us:

    • Approximately 10% of users are considered active.

    • Active users create 4.5 tags and 1.8 comments per month.

In a live collaboration environment with 160,000 user profiles, 5 groups, 79,000 tags, comments and ratings (2,500 comments, 76,000 tags, and 800 ratings), and default settings, we saw the following sizes for these databases:

Database name | Database size
Profile | 155 GB
Synchronization | 96 GB
Social tagging | 0.66 GB

Managed metadata

The Managed Metadata service application has one database. The size of the database is affected by the number of content types and keywords used in the system. Many environments will include multiple instances of the Managed Metadata service application.

Web Analytics

Web Analytics has two databases: Staging and Reporting. Many factors influence the size of the databases. They include retention period, the daily volume of data being tracked, and the number of site collections, sites, and subsites in the Web application being analyzed. For detailed information about how to estimate their sizing and IOPS requirements, see Performance and capacity test results and recommendations (SharePoint Server 2010).

Secure store

The size of the Secure Store service application database is determined by the number of credentials in the store and the number of entries in the audit table. We recommend that you allocate 5 MB for each 1,000 credentials for it. It has minimal IOPS.

State

The State service application has one database. We recommend that you allocate 1 GB for it. It has minimal IOPS.

Word Automation service

The Word Automation service application has one database. We recommend that you allocate 1 GB for it. It has minimal IOPS.

PerformancePoint

The PerformancePoint service application has one database. We recommend that you allocate 1 GB for it. It has minimal IOPS.

Determine availability needs

Availability is the degree to which a SharePoint Server 2010 environment is perceived by users to be available. An available system is a system that is resilient — that is, incidents that affect service occur infrequently, and timely and effective action is taken when they do occur.

Availability requirements can significantly increase your storage needs. For detailed information, see Plan for availability (SharePoint Server 2010).

Choose SQL Server version and edition

Although SharePoint 2010 Products can run on Microsoft SQL Server 2008 R2, SQL Server 2008, or SQL Server 2005, we strongly recommend that you consider running your environment on the Enterprise Edition of SQL Server 2008 or SQL Server 2008 R2 to take advantage of the additional performance, availability, security, and management capabilities that it provides. For more information about the benefits of using SQL Server 2008 R2 Enterprise Edition, see SQL Server 2008 R2 and SharePoint 2010 Products: Better Together (white paper) (SharePoint Server 2010).

In particular, you should consider your need for the following features:

  • Backup compression Backup compression can speed up any SharePoint backup, and is available in SQL Server 2008 Enterprise Edition or SQL Server 2008 R2 Standard edition. By setting the compression option in your backup script, or by configuring the server that is running SQL Server to compress by default, you can significantly reduce the size of your database backups and shipped logs. For more information, see Backup Compression (SQL Server) (http://go.microsoft.com/fwlink/p/?LinkId=129381&clcid=0x409).

    Note:

    SQL Server data compression is not supported for SharePoint 2010 Products, except for the Search service application databases.

  • Transparent data encryption If your security requirements include the need for transparent data encryption, you must use SQL Server Enterprise Edition.

  • Web Analytics service application If you plan to use the Web Analytics service application for significant analysis, consider SQL Server Enterprise Edition so that the system can take advantage of table partitioning.

  • Content deployment If you plan to use the content deployment feature, consider SQL Server Enterprise Edition so that the system can take advantage of SQL Server database snapshots.

  • Remote BLOB storage If you want to take advantage of remote BLOB storage to a database or location outside the files associated with each content database, you must use SQL Server 2008 or SQL Server 2008 R2 Enterprise Edition.

  • Resource governor Resource Governor is a technology introduced in SQL Server 2008 that enables you to manage SQL Server workloads and resources by specifying limits on resource consumption by incoming requests. Resource Governor enables you to differentiate workloads and allocate CPU and memory as they are requested, based on the limits that you specify. It is available only in SQL Server 2008 or SQL Server 2008 R2 Enterprise edition. For more information about using Resource Governor, see Managing SQL Server Workloads with Resource Governor.

    We recommend that you use Resource Governor with SharePoint Server 2010 to:

    • Limit the amount of SQL Server resources that the Web servers targeted by the search crawl component consume. As a best practice, we recommend limiting the crawl component to 10 percent CPU when the system is under load.

    • Monitor how many resources are consumed by each database in the system — for example, you can use Resource Governor to help you determine the best placement of databases among computers that are running SQL Server.

  • PowerPivot for SharePoint 2010 Enables users to share and collaborate on user-generated data models and analysis in Excel and in the browser while automatically refreshing those analyses. It is part of SQL Server 2008 R2 Enterprise Edition Analysis Services.

Design storage architecture based on capacity and I/O requirements

The storage architecture and disk types that you select for your environment can affect system performance.

In this section:

  • Choose a storage architecture

  • Choose disk types

  • Choose RAID types

Choose a storage architecture

Direct Attached Storage (DAS), Storage Area Network (SAN), and Network Attached Storage (NAS) storage architectures are supported with SharePoint Server 2010, although NAS is only supported for use with content databases that are configured to use remote BLOB storage. Your choice depends on factors within your business solution and your existing infrastructure.

Any storage architecture must support your availability needs and perform adequately in IOPS and latency. To be supported, the system must consistently return the first byte of data within 20 milliseconds (ms).

Direct Attached Storage (DAS)

DAS is a digital storage system that is directly attached to a server or workstation, without a storage network in between. DAS physical disk types include Serial Attached SCSI (SAS) and Serial Attached ATA (SATA).

In general, we recommend that you choose a DAS architecture when a shared storage platform cannot guarantee a response time of 20 ms and sufficient capacity for average and peak IOPs.

Storage Area Network (SAN)

SAN is an architecture to attach remote computer storage devices (such as disk arrays and tape libraries) to servers in such a way that the devices appear as locally attached to the operating system (for example, block storage).

In general, we recommend that you choose a SAN when the benefits of shared storage are important to your organization.

The benefits of shared storage include the following:

  • Easier to reallocate disk storage between servers.

  • Can serve multiple servers.

  • No limitations on the number of disks that can be accessed.

Network Attached Storage (NAS)

A NAS unit is a self-contained computer that is connected to a network. Its sole purpose is to supply file-based data storage services to other devices on the network. The operating system and other software on the NAS unit provide the functionality of data storage, file systems, and access to files, and the management of these functionalities (for example, file storage).

Note:

NAS is only supported for use with content databases that are configured to use remote BLOB storage. Any network storage architecture must respond to a ping within 1 ms and must return the first byte of data within 20 ms. This restriction does not apply to the local SQL Server FILESTREAM provider, because it only stores data locally on the same server.

Choose disk types

The disk types that you use in the system can affect reliability and performance. All else being equal, larger drives increase mean seek time. SharePoint Server 2010 supports the following types of drives:

  • Small Computer System Interface (SCSI)

  • Serial Advanced Technology Attachment (SATA)

  • Serial-attached SCSI (SAS)

  • Fibre Channel (FC)

  • Integrated Device Electronics (IDE)

  • Solid State Drive (SSD) or Flash Disk

Choose RAID types

RAID (Redundant Array of Independent Disks) is often used to both improve the performance characteristics of individual disks (by striping data across several disks) and to provide protection from individual disk failures.

All RAID types are supported for SharePoint Server 2010; however, we recommend that you use RAID 10 or a vendor-specific RAID solution that has equivalent performance.

When you configure a RAID array, make sure that you align the file system to the offset that is supplied by the vendor. In the absence of vendor guidance, refer to SQL Server Predeployment I/O Best Practices (http://go.microsoft.com/fwlink/p/?LinkID=105583).

For more information about provisioning RAID and the SQL Server I/O subsystem, see SQL Server Best Practices Article (http://go.microsoft.com/fwlink/p/?LinkId=168612).

Estimate memory requirements

The memory required for SharePoint Server 2010 is directly related to the size of the content databases that you are hosting on a server that is running SQL Server.

As you add service applications and features, your requirements are likely to increase. The following table gives guidelines for the amount of memory we recommend.

Note:

Our definitions of small and medium deployments are those described in the Reference architectures section of the article Capacity management and sizing overview for SharePoint Server 2010.

Combined size of content databases | RAM recommended for computer running SQL Server
Minimum for small production deployments | 8 GB
Minimum for medium production deployments | 16 GB
Recommendation for up to 2 terabytes | 32 GB
Recommendation for the range of 2 terabytes to 5 terabytes | 64 GB
Recommendation for more than 5 terabytes | Additional RAM over 64 GB can improve SQL Server caching speed

Note:

These values are higher than those recommended as the minimum values for SQL Server because of the distribution of data required for a SharePoint Server 2010 environment. For more information about SQL Server system requirements, see Hardware and Software Requirements for Installing SQL Server 2008 (http://go.microsoft.com/fwlink/p/?LinkId=129377).

Other factors that may influence the memory required include the following:

  • The use of SQL Server mirroring.

  • The frequent use of files larger than 15 megabytes (MB).

Understand network topology requirements

Plan the network connections within and between farms. We recommend that you use a network that has low latency.

The following list provides some best practices and recommendations:

  • All servers in the farm should have LAN bandwidth and latency to the server that is running SQL Server. Latency should be no greater than 1ms.

  • We do not recommend a wide area network (WAN) topology in which a server that is running SQL Server is deployed remotely from other components of the farm over a network that has latency greater than 1 ms. This topology has not been tested.

  • Plan for an adequate WAN network if you are planning to use SQL Server mirroring or log shipping to keep a remote site up-to-date.

  • We recommend that Web servers and application servers have two network adapters: one network adapter to handle end user traffic and the other to handle communication with the servers running SQL Server.

Configure SQL Server

The following sections describe how to plan to configure SQL Server for SharePoint Server 2010.

In this section:

  • Estimate how many servers are required

  • Configure storage and memory

  • Set SQL Server options

  • Configure databases

Estimate how many servers are required

In general, SharePoint Server 2010 was designed to take advantage of SQL Server scale out — that is, SharePoint Server 2010 may perform better with a large number of medium-size servers that are running SQL Server than with only a few large servers.

Always put SQL Server on a dedicated server that is not running any other farm roles or hosting databases for any other application, unless you are deploying the system on a stand-alone server.

The following is general guidance for when to deploy an additional server that will run SQL Server:

  • Add an additional database server when you have more than four Web servers that are running at full capacity.

  • Add an additional database server when your current server has reached its effective resource limits of RAM, CPU, disk IO throughput, disk capacity, or network throughput.

Note:

Microsoft supports server configurations that do not follow this guidance.

To promote secure credential storage when you are running the Secure Store service application, we recommend that the secure store database be hosted on a separate database instance where access is limited to one administrator.

Configure storage and memory

On the server that is running SQL Server 2008, we recommend that the L2 cache per CPU have a minimum of 2 MB to improve memory.

Follow vendor storage configuration recommendations

For optimal performance when you configure a physical storage array, adhere to the hardware configuration recommendations supplied by the storage vendor instead of relying on the default values of the operating system.

If you do not have guidance from your vendor, we recommend that you use the DiskPart.exe disk configuration utility to configure storage for SQL Server 2008. For more information, see Predeployment I/O Best Practices (http://go.microsoft.com/fwlink/p/?LinkID=105583&clcid=0x409).

Provide as many resources as possible

Ensure that the SQL Server I/O channels to the disks are not shared by other applications, such as the paging file and Internet Information Services (IIS) logs.

Provide as much bus bandwidth as possible. Greater bus bandwidth helps improve reliability and performance. Consider that the disk is not the only user of bus bandwidth — for example, you must also account for network access.

Set SQL Server options

The following SQL Server settings and options should be configured before you deploy SharePoint Server.

  • Do not enable auto-create statistics on a SQL Server that is supporting SharePoint Server. SharePoint Server configures the required settings upon provisioning and upgrade. . Auto-create statistics can significantly change the execution plan of a query from one instance of SQL Server to another instance of SQL Server. Therefore, to provide consistent support for all customers, SharePoint Server provides coded hints for queries as needed to provide the best performance across all scenarios.

  • To ensure optimal performance, we strongly recommend that you set max degree of parallelism (MAXDOP) to 1 SQL Server instances that host SharePoint Server 2010 databases. For more information about how to set max degree of parallelism, see max degree of parallelism Option (http://go.microsoft.com/fwlink/p/?LinkId=189030).

  • To improve ease of maintenance, configure SQL Server connection aliases for each database server in your farm. A connection alias is an alternative name that can be used to connect to an instance of SQL Server. For more information, see How to: Set a SQL Server Alias (SQL Server Management Studio) (http://go.microsoft.com/fwlink/p/?LinkId=132064&clcid=0x409).

Configure databases

The following guidance describes best practices to plan for as you configure each database in your environment.

Separate and prioritize your data among disks

Ideally, you should place the tempdb database, content databases, Usage database, search databases, and SQL Server 2008 transaction logs on separate physical hard disks.

The following list provides some best practices and recommendations for prioritizing data:

  • When you prioritize data among faster disks, use the following ranking:

    1. Tempdb data files and transaction logs

    2. Database transaction log files

    3. Search databases, except for the Search administration database

    4. Database data files

    In a heavily read-oriented portal site, prioritize data over logs.

  • Testing and customer data show that SharePoint Server 2010 farm performance can be significantly impeded by insufficient disk I/O for tempdb. To avoid this issue, allocate dedicated disks for tempdb. If a high workload is projected or monitored — that is, the average read operation or the average write operation requires more than 20 ms — you might have to ease the bottleneck by either separating the files across disks or by replacing the disks with faster disks.

  • For best performance, place the tempdb on a RAID 10 array. The number of tempdb data files should equal the number of core CPUs, and the tempdb data files should be set at an equal size. Count dual core processors as two CPUs for this purpose. Count each processor that supports hyper-threading as a single CPU. For more information, see Optimizing tempdb Performance (http://go.microsoft.com/fwlink/p/?LinkID=148537).

  • Separate database data and transaction log files across different disks. If files must share disks because the files are too small to warrant a whole disk or stripe, or you have a shortage of disk space, put files that have different usage patterns on the same disk to minimize simultaneous access requests.

  • Consult your storage hardware vendor for information about how to configure all logs and the search databases for write optimization for your particular storage solution.

Use multiple data files for content databases

Follow these recommendations for best performance:

  • Only create files in the primary filegroup for the database.

  • Distribute the files across separate disks.

  • The number of data files should be less than or equal to the number of core CPUs. Count dual core processors as two CPUs for this purpose. Count each processor that supports hyper-threading as a single CPU.

  • Create data files of equal size.

Important:

Although you can use the backup and recovery tools that are built in to SharePoint Server 2010 to back up and recover multiple data files, if you overwrite in the same location, the tools cannot restore multiple data files to a different location. For this reason, we strongly recommend that when you use multiple data files for a content database, you use SQL Server backup and recovery tools. For more information about how to back up and recover SharePoint Server 2010, see Plan for backup and recovery in SharePoint Server 2010.

For more information about how to create and manage filegroups, see Physical Database Files and Filegroups (http://go.microsoft.com/fwlink/p/?LinkId=117909).

Limit content database size to improve manageability

Plan for database sizing that will improve manageability, performance, and ease of upgrade for your environment.

To help ensure system performance, we recommended that you limit the size of content databases to 200 GB, except when specific usage scenarios and conditions support larger sizes. For more information about content database size limits, see the Content database limits section in SharePoint Server 2010 capacity management: Software boundaries and limits.

We generally recommend that a site collection should not exceed 100 GB unless it is the only site collection in the database so that you can use the SharePoint Server 2010 granular backup tools to move a site collection to another database if you need to.

For more information about large-scale document repositories, see "Estimate Performance and Capacity Requirements for Large Scale Document Repositories, available from Performance and capacity test results and recommendations (SharePoint Server 2010).

Proactively manage the growth of data and log files

We recommend that you proactively manage the growth of data and log files by considering the following recommendations:

  • As much as possible, pre-grow all data and log files to their anticipated final size.

  • We recommend that you enable autogrowth for safety reasons. Do not rely on the default autogrowth settings. Consider the following guidelines when configuring autogrowth:

    • When you plan content databases that exceed the recommended size (200 GB), set the database autogrowth value to a fixed number of megabytes instead of to a percentage. This will reduce the frequency with which SQL Server increases the size of a file. Increasing file size is a blocking operation that involves filling the new space with empty pages.

    • Set the autogrowth value for the Search service application Property Store database to 10 percent.

    • If the calculated size of the content database is not expected to reach the recommended maximum size of 200 GB within the next year, set it to the maximum size the database is predicted to reach within a year — with 20 percent additional margin for error — by using the ALTER DATABASE MAXSIZE property. Periodically review this setting to make sure it is still an appropriate value based on past growth rates.

  • Maintain a level of at least 25 percent available space across disks to allow for growth and peak usage patterns. If you are managing growth by adding disks to a RAID array or allocating more storage, monitor disk size closely to avoid running out of space.

Validate and monitor storage and SQL Server performance

Test that your performance and backup solution on your hardware enables you to meet your service level agreements (SLAs). In particular, test the I/O subsystem of the computer that is running SQL Server to ensure that performance is satisfactory.

Test the backup solution that you are using to ensure that it can back up the system within the available maintenance window. If the backup solution cannot meet the SLAs your business requires, consider using an incremental backup solution such as System Center Data Protection Manager (DPM) 2010.

It is important to track the following resource components of a server that is running SQL Server: CPU, memory, cache/hit ratio, and I/O subsystem. When one or more of the components seems slow or overburdened, analyze the appropriate strategy based on the current and projected workload. For more information, see Troubleshooting Performance Problems in SQL Server 2008 (http://go.microsoft.com/fwlink/p/?LinkID=168448).

The following section lists the performance counters that we recommend that you use to monitor the performance of the SQL Server databases that are running in your SharePoint Server 2010 environment. Also listed are approximate healthy values for each counter.

For details about how to monitor performance and use performance counters, see Monitoring Performance (http://go.microsoft.com/fwlink/p/?LinkId=189032).

SQL Server counters to monitor

Monitor the following SQL Server counters to ensure the health of your servers:

  • General statistics This object provides counters to monitor general server-wide activity, such as the number of current connections and the number of users connecting and disconnecting per second from computers running an instance of SQL Server. Consider monitoring the following counter:

    • User connections This counter shows the amount of user connections on your computer running SQL Server. If you see this number rise by 500 percent from your baseline, you may see a performance reduction.

  • Databases This object provides counters to monitor bulk copy operations, backup and restore throughput, and transaction log activities. Monitor transactions and the transaction log to determine how much user activity is occurring in the database and how full the transaction log is becoming. The amount of user activity can determine the performance of the database and affect log size, locking, and replication. Monitoring low-level log activity to gauge user activity and resource usage can help you to identify performance bottlenecks. Consider monitoring the following counter:

    • Transactions/sec This counter shows the amount of transactions on a given database or on the entire server per second. This number is more for your baseline and to help you troubleshoot issues.

  • Locks This object provides information about SQL Server locks on individual resource types. Consider monitoring the following counters:

    • Average Wait Time (ms) This counter shows the average amount of wait time for each lock request that resulted in a wait.

    • Lock Wait Time (ms) This counter shows the wait time for locks in the last second.

    • Lock waits/sec This counter shows the number of locks per second that could not be satisfied immediately and had to wait for resources.

    • Number of deadlocks/sec This counter shows the number of deadlocks on the computer running SQL Server per second. This should not rise above 0.

  • Latches This object provides counters to monitor internal SQL Server resource locks called latches. Monitoring the latches to determine user activity and resource usage can help you to identify performance bottlenecks. Consider monitoring the following counters:

    • Average Latch Wait Time (ms) This counter shows the average latch wait time for latch requests that had to wait.

    • Latch Waits/sec This counter shows the number of latch requests that could not be granted immediately.

  • SQL Statistics This object provides counters to monitor compilation and the type of requests sent to an instance of SQL Server. Monitoring the number of query compilations and recompilations and the number of batches received by an instance of SQL Server gives you an indication of how quickly SQL Server is processing user queries and how effectively the query optimizer is processing the queries. Consider monitoring the following counters:

    • SQL Compilations/sec This counter indicates the number of times the compile code path is entered per second.

    • SQL Re-Compilations/sec This counter indicates the number statement recompiles per second.

  • Buffer Manager This object provides counters to monitor how SQL Server uses memory to store data pages, internal data structures, and the procedure cache, as well as counters to monitor the physical I/O as SQL Server reads and writes database pages. Consider monitoring the following counter:

    • Buffer Cache Hit Ratio

    • This counter shows the percentage of pages that were found in the buffer cache without having to read from disk. The ratio is the total number of cache hits divided by the total number of cache lookups over the last few thousand page accesses. Because reading from the cache is much less expensive than reading from disk, you want this ratio to be high. Generally, you can increase the buffer cache hit ratio by increasing the amount of memory available to SQL Server.

  • Plan Cache This object provides counters to monitor how SQL Server uses memory to store objects such as stored procedures, ad hoc and prepared Transact-SQL statements, and triggers. Consider monitoring the following counter:

    • Cache Hit Ratio

    • This counter indicates the ratio between cache hits and lookups for plans.

Physical server counters to monitor

Monitor the following counters to ensure the health of your computers running SQL Server:

  • Processor: % Processor Time: _Total This counter shows the percentage of time that the processor is executing application or operating system processes other than Idle. On the computer that is running SQL Server, this counter should be kept between 50 percent and 75 percent. In case of constant overloading, investigate whether there is abnormal process activity or if the server needs additional CPUs.

  • System: Processor Queue Length This counter shows the number of threads in the processor queue. Monitor this counter to ensure that it remains less than two times the number of core CPUs.

  • Memory: Available Mbytes This counter shows the amount of physical memory, in megabytes, available to processes running on the computer. Monitor this counter to ensure that you maintain a level of at least 20 percent of the total available physical RAM.

  • Memory: Pages/sec This counter shows the rate at which pages are read from or written to disk to resolve hard page faults. Monitor this counter to ensure that it remains under 100.

For more information and memory troubleshooting methods, see SQL Server 2005 Monitoring Memory Usage (http://go.microsoft.com/fwlink/p/?LinkID=105585).

Disk counters to monitor

Monitor the following counters to ensure the health of disks. Note that the following values represent values measured over time — not values that occur during a sudden spike and not values that are based on a single measurement.

  • Physical Disk: % Disk Time: DataDrive This counter shows the percentage of elapsed time that the selected disk drive is busy servicing read or write requests-it is a general indicator of how busy the disk is. If the PhysicalDisk: % Disk Time counter is high (more than 90 percent), check the PhysicalDisk: Current Disk Queue Length counter to see how many system requests are waiting for disk access. The number of waiting I/O requests should be sustained at no more than 1.5 to 2 times the number of spindles that make up the physical disk.

  • Logical Disk: Disk Transfers/sec This counter shows the rate at which read and write operations are performed on the disk. Use this counter to monitor growth trends and forecast appropriately.

  • Logical Disk: Disk Read Bytes/sec and Logical Disk: Disk Write Bytes/sec These counters show the rate at which bytes are transferred from the disk during read or write operations.

  • Logical Disk: Avg. Disk Bytes/Read This counter shows the average number of bytes transferred from the disk during read operations. This value can reflect disk latency — larger read operations can result in slightly increased latency.

  • Logical Disk: Avg. Disk Bytes/Write This counter shows the average number of bytes transferred to the disk during write operations. This value can reflect disk latency — larger write operations can result in slightly increased latency.

  • Logical Disk: Current Disk Queue Length This counter shows the number of requests outstanding on the disk at the time that the performance data is collected. For this counter, lower values are better. Values greater than 2 per disk may indicate a bottleneck and should be investigated. This means that a value of up to 8 may be acceptable for a logical unit (LUN) made up of 4 disks. Bottlenecks can create a backlog that can spread beyond the current server that is accessing the disk and result in long wait times for users. Possible solutions to a bottleneck are to add more disks to the RAID array, replace existing disks with faster disks, or move some data to other disks.

  • Logical Disk: Avg. Disk Queue Length This counter shows the average number of both read and write requests that were queued for the selected disk during the sample interval. The rule is that there should be two or fewer outstanding read and write requests per spindle, but this can be difficult to measure because of storage virtualization and differences in RAID levels between configurations. Look for larger than average disk queue lengths in combination with larger than average disk latencies. This combination can indicate that the storage array cache is being overused or that spindle sharing with other applications is affecting performance.

  • Logical Disk: Avg. Disk sec/Read and Logical Disk: Avg. Disk sec/Write These counters show the average time, in seconds, of a read or write operation to the disk. Monitor these counters to ensure that they remain below 85 percent of the disk capacity. Disk access time increases exponentially if read or write operations are more than 85 percent of disk capacity. To determine the specific capacity for your hardware, refer to the vendor documentation or use the SQLIO Disk Subsystem Benchmark Tool to calculate it. For more information, see SQLIO Disk Subsystem Benchmark Tool (http://go.microsoft.com/fwlink/p/?LinkID=105586).

    • Logical Disk: Avg. Disk sec/Read This counter shows the average time, in seconds, of a read operation from the disk. On a well-tuned system, ideal values are from 1 through 5 ms for logs (ideally 1 ms on a cached array), and from 4 through 20 ms for data (ideally less than 10 ms). Higher latencies can occur during peak times, but if high values occur regularly, you should investigate the cause.

    • Logical Disk: Avg. Disk sec/Write This counter shows the average time, in seconds, of a write operation to the disk. On a well-tuned system, ideal values are from 1 through 5 ms for logs (ideally 1 ms on a cached array), and from 4 through 20 ms for data (ideally less than 10 ms). Higher latencies can occur during peak times, but if high values occur regularly, you should investigate the cause.

    When you are using RAID configurations with the Logical Disk: Avg. Disk Bytes/Read or Logical Disk: Avg. Disk Bytes/Write counters, use the formulas listed in the following table to determine the rate of input and output on the disk.

    RAID level Formula

    RAID 0

    I/Os per disk = (reads + writes) / number of disks

    RAID 1

    I/Os per disk = [reads + (2 × writes)] / 2

    RAID 5

    I/Os per disk = [reads + (4 × writes)] / number of disks

    RAID 10

    I/Os per disk = [reads + (2 × writes)] / number of disks

    For example, if you have a RAID 1 system that has two physical disks, and your counters are at the values that are shown in the following table.

    Counter Value

    Avg. Disk sec/Read

    80

    Logical Disk: Avg. Disk sec/Write

    70

    Avg. Disk Queue Length

    5

    The I/O value per disk can be calculated as follows: (80 + (2 × 70))/2 = 110

    The disk queue length can be calculated as follows: 5/2 = 2.5

    In this situation, you have a borderline I/O bottleneck.

Other monitoring tools

You can also monitor disk latency and analyze trends by using the sys.dm_io_virtual_file_stats dynamic management view in SQL Server 2008. For more information, see sys.dm_io_virtual_file_stats (Transact-SQL) (http://go.microsoft.com/fwlink/p/?LinkID=105587).

See Also

Other Resources

Resource Center: Capacity Management for SharePoint Server 2010
Resource Center: SQL Server and SharePoint Server 2010 Databases


SQL Server and storage (SharePoint Server 2010)

This section describes how to plan for Microsoft SQL Server and storage configuration for Microsoft SharePoint Server 2010. In this section:

  • Overview of SQL Server in a SharePoint environment (SharePoint Server 2010)

    This article describes the relationship between SharePoint Server 2010 and supported versions of SQL Server. It also describes how you can interact with the databases, and introduces ways of using the reporting and business intelligence (BI) features of SQL Server with SharePoint Server 2010.

  • SQL Server 2008 R2 and SharePoint 2010 Products: Better Together (white paper) (SharePoint Server 2010)

    This article describes the benefits of using SharePoint Server 2010 with SQL Server 2008 R2 Enterprise Edition.

  • Storage and SQL Server capacity planning and configuration (SharePoint Server 2010)

    This article describes a process for planning storage and SQL Server capacity for a SharePoint Server 2010 deployment.

  • Overview of RBS (SharePoint Server 2010)

    This article describes how SharePoint Server 2010 works with remote BLOB storage.

  • Plan for RBS (SharePoint Server 2010)

    This article describes the factors to consider when moving to a remote BLOB storage solution.

  • Remote BLOB Storage in SharePoint Server 2010 (video)

    This video, presented by Bill Baer, explains the basic concepts of Remote BLOB Storage (RBS) in SharePoint Server 2010.


Overview of SQL Server in a SharePoint environment (SharePoint Server 2010)

Published: August 27, 2010

This article describes the relationship between Microsoft SharePoint Server 2010 and supported versions of Microsoft SQL Server. It also describes how you can interact with the databases, and it introduces ways of using the reporting and business intelligence (BI) features of SQL Server with SharePoint Server 2010.

For more information about the supported versions of SQL Server, see Hardware and software requirements (SharePoint Server 2010).

In this article:

  • SharePoint 2010 Products and the SQL Server database engine

  • SQL Server as a data platform for business intelligence in SharePoint 2010 Products

  • SharePoint Server 2010 authoring and publishing tools for business intelligence

SharePoint 2010 Products and the SQL Server database engine

SharePoint Server 2010 is an application that is built on the SQL Server database engine. Most content and settings in SharePoint Server 2010 are stored in relational databases. SharePoint Server 2010 uses the following kinds of databases:

  • Configuration The Configuration database and Central Administration content database are called configuration databases. They contain data about farm settings such as the databases used, Internet Information Services (IIS) Web sites or web applications, solutions, Web Part packages, site templates, default quota, and blocked file types. A farm can only have one set of configuration databases.

  • Content Content databases store all site content: site documents, such as files in document libraries, list data; Web Part properties; and user names and rights. All the data for a specific site resides in one content database. Each Web application can contain many content databases. Each site collection can be associated with only one content database, although a content database can be associated with many site collections.

  • Service application Service application databases store data for use by a service application. The databases for service applications vary significantly in what they are used for.

For a full list of all of the databases that support SharePoint Server 2010, see Database types and descriptions (SharePoint Server 2010).

Working with the SQL Server databases that support SharePoint 2010 Products

The SQL Server databases that support SharePoint Server 2010 can be created either by SharePoint Server 2010, or by a database administrator. For more information, see Deploy by using DBA-created databases (SharePoint Server 2010) .

Microsoft does not support directly querying or modifying the databases that support SharePoint Server 2010, except for the Usage and Health Data Collection service application database, which can be queried directly and can have its schema added to.

The SQL Server databases that support SharePoint Server 2010 are subject to sizing limitations and to configuration recommendations that are not standard for SQL Server. For more information, see Storage and SQL Server capacity planning and configuration (SharePoint Server 2010).

SQL Server as a data platform for business intelligence in SharePoint 2010 Products

SharePoint Server 2010 can be used with SQL Server BI tools to analyze and display BI data in meaningful ways. SQL Server provides the primary data infrastructure and business intelligence platform that gives report authors and business users trusted, scalable, and secure data.

The following sections describe the technologies and features in SQL Server that support business intelligence functionality and features in SharePoint Server 2010.

SQL Server database engine

The SQL Server database engine is the core service for storing, processing, and securing data. BI data can be collected from the SQL Server database engine. For more information, see SQL Server Database Engine (http://go.microsoft.com/fwlink/p/?LinkId=199540).

SQL Server Analysis Services (SSAS): multi-dimensional data

Microsoft SQL Server Analysis Services (SSAS) multidimensional data enables you to design, create, and manage multidimensional structures that contain detail and aggregated data from multiple data sources. A cube wizard is available in SQL Server 2008 R2 that simplifies how you can create cubes. Dimensional data or cube data is a prototypical data source for the types of analysis that can be done by using the business intelligence-related service applications in SharePoint Server 2010. To learn how relational and multi-dimensional data helps users analyze data, see Data warehousing, OLAP, and Analysis Services for SharePoint 2010. For more information, see SQL Server Analysis Services - Multidimensional Data (http://go.microsoft.com/fwlink/p/?LinkId=199541).

SQL Server Analysis Services: data mining

SQL Server Analysis Services data mining tools provide a set of industry-standard data mining algorithms and other tools that help you discover trends and patterns in your data. The following Excel add-ins help you perform predictive analysis:

  • Table Analysis Tools for Excel provide easy-to-use tools that take advantage of Analysis Services Data Mining to perform powerful analytics on spreadsheet data. For more information, see SQL Server Analysis Services - Data Mining (http://go.microsoft.com/fwlink/p/?LinkId=199543).

  • Data Mining Client for Excel lets users build, test, and query data mining models within Microsoft Office Excel 2007 by using either worksheet data or external data available through Analysis Services.

Note:

To enable add-ins, you must have a connection to the server.

SQL Server Reporting Services (SSRS)

Microsoft SQL Server Reporting Services (SSRS) and SharePoint Server 2010 are easily integrated. SQL Server Reporting Services has a full range of tools with which you can create, deploy, and manage reports for your organization. It also has features that enable you to extend and customize your reporting functionality.

The available functionality includes:

  • Creating reports with Report Builder 3, one of the SQL Server Reporting Services authoring tools, which you can launch directly from SharePoint Server 2010.

  • Publishing SSRS reports in SharePoint Server 2010.

    You can publish report server content types to a SharePoint library and then view and manage those documents from a SharePoint site.

For more information about SSRS, see SQL Server Reporting Services (http://go.microsoft.com/fwlink/p/?LinkId=199545). For more information about how to install the different integration modes, see Documentation for SSRS reports in SharePoint (overview).

SQL Server Integration Services (SSIS)

Microsoft SQL Server Integration Services (SSIS) provides rich data integration and data transformation solutions. You can create a repeatable extract, transform, and load (ETL) process to automate moving data from sources such as XML data files, flat files, or relational data sources to one or more destinations. If data comes from disparate sources and is not mined or cleansed for the benefits that are provided in BI applications, SQL Server Integration Services helps prepare the data. For more information, see SQL Server Integration Services (http://go.microsoft.com/fwlink/p/?LinkId=199546).

Business Intelligence Development Studio (BIDS)

Microsoft Business Intelligence Development Studio (BIDS) provides intuitive wizards for building integration, reporting, and analytic solutions in a unified environment. BIDS supports the complete development life cycle of developing, testing, and deploying solutions and reports. BIDS is based on the Visual Studio 2005 development environment but customizes it with the SQL Server services-specific extensions and project types for reports, ETL data flows, OLAP cubes, and data mining structure.

PowerPivot for Excel and PowerPivot for SharePoint

PowerPivot is an add-in that enables users to create self-service BI solutions. It also facilitates sharing and collaboration on those solutions in a SharePoint Server 2010 environment. PowerPivot also enables IT organizations to increase operational efficiencies through Microsoft SQL Server 2008 management tools. Components of PowerPivot include the following:

  • PowerPivot for Excel 2010 is a data analysis add-in that delivers computational power directly to Microsoft Excel 2010. PowerPivot for Excel (formerly known as "Gemini") lets users analyze large quantities of data, and its integration with SharePoint Server 2010 helps IT departments monitor and manage how users collaborate. The add-in removes the one-million-row limit for worksheets and provides rapid calculations for large data sets. For more information, see PowerPivot Overview (http://go.microsoft.com/fwlink/p/?LinkId=199547).

  • PowerPivot for SharePoint 2010 extends SharePoint Server 2010 and Excel Services to add server-side processing, collaboration, and document management support for the PowerPivot workbooks that you publish to SharePoint sites. For more information, see PowerPivot for SharePoint (http://go.microsoft.com/fwlink/p/?LinkId=199547).

Master Data Services

SQL Server Master Data Services lets you centrally manage important data assets companywide and across diverse systems to provide more trusted data to your BI applications. Master Data Services helps you create a master data hub that includes a thin-client data management application for a data steward. The application can also apply workflow to assigned owners, apply extensible business rules to safeguard data quality, and apply hierarchy and attribute management strategies. For more information, see Master Data Services (http://go.microsoft.com/fwlink/p/?LinkId=199548).

StreamInsight and complex event processing

Microsoft StreamInsight is a new feature in SQL Server 2008 R2 that provides a powerful platform for developing and deploying complex event processing (CEP) applications. CEP is a technology for processing streams of events with high-throughput and low-latency. StreamInsight lets you analyze data without first storing it, and helps you monitor data from multiple sources to detect patterns, trends, and exceptions almost instantly. The ability to monitor, analyze, and act on data in motion in an event-driven manner provides significant opportunity to make more rapid, informed business decisions. For more information, see Microsoft StreamInsight (http://go.microsoft.com/fwlink/p/?LinkId=199549).

SharePoint Server 2010 authoring and publishing tools for business intelligence

The following are authoring and publishing tools in SharePoint Server 2010 that contribute to how to create KPIs, scorecards, dashboards, and reports. Each of the tools can link to SQL Server relational and multi-dimensional data. To learn more, see Data warehousing, OLAP, and Analysis Services for SharePoint 2010. For more information about the services and to see how each tool uses SQL Server data, see Architecture for business intelligence in SharePoint Server 2010 and Choose the right business intelligence technology to suit your style (white paper).

  • Excel Services Use Excel 2010 and Excel Services to view, refresh, and interact with analytic models connected to data sources. Also use them for analysis, filtering, and presenting locally stored data. Excel 2010 is the authoring tool. Excel Services lets you publish Excel 2010 files to SharePoint Server 2010.

  • Visio Services Use Visio Services to build a visual representation of business structures that are bound to data. Examples include creating visual processes, systems, and resources that show visual performance. For example, an engineer can use the visualization to create data-bound objects to represent a process.

  • PerformancePoint Services Use PerformancePoint Services to create dashboards, scorecards, and key performance indicators (KPIs) that deliver a summarized view of business performance. PerformancePoint Services gives users integrated analytics for monitoring, analyzing, and reporting.

  • Web Analytics service application Use the Web Analytics service application to understand more about visits to the SharePoint sites. The Web Analytics service application collects data about how end-users access SharePoint pages.

Related content

Resource center | Business Continuity Management for SharePoint Server 2010 Business Intelligence in SharePoint Server 2010 (http://go.microsoft.com/fwlink/p/?LinkId=199757) Microsoft Business Intelligence (http://go.microsoft.com/fwlink/p/?LinkId=199758) SQL Server Tech Center (http://go.microsoft.com/fwlink/p/?LinkId=199760) SQL Server Analysis Services Multidimensional Data (SSAS) (http://go.microsoft.com/fwlink/p/?LinkId=199761) SQL Server Analysis Services (SSAS) Data Mining (http://go.microsoft.com/fwlink/p/?LinkId=199762)
Developer content | SharePoint Developer Center (http://go.microsoft.com/fwlink/p/?LinkID=159918) SQL Server Developer Center (http://go.microsoft.com/fwlink/p/?LinkId=199764) SQL Server Database Engine (http://go.microsoft.com/fwlink/p/?LinkId=199765) SQL Server Reporting Services (SSRS) (http://go.microsoft.com/fwlink/p/?LinkId=199766) SQL Server StreamInsight (http://go.microsoft.com/fwlink/p/?LinkId=199767)


Overview of RBS (SharePoint Server 2010)
See Also

This article describes how to use Microsoft SharePoint Server 2010 together with Remote BLOB Storage (RBS) and Microsoft SQL Server to optimize database storage resources.

Before you implement RBS, we highly recommend that you evaluate its potential costs and benefits. For more information and recommendations about how to use RBS in a SharePoint Server 2010 installation, see Plan for RBS (SharePoint Server 2010).

Tip:

RBS can be used with SQL Server 2008 or SQL Server 2008 R2.

Note:

Unless otherwise specified, the information in this article is specific to RBS using the FILESTREAM provider. For guidance specific to another provider, contact the provider manufacturer.

In this article:

  • Introduction to RBS

  • RBS providers

  • Using RBS together with SharePoint 2010 Products

Introduction to RBS

In SharePoint Server 2010, a binary large object (BLOB) is a large block of data stored in a database that is known by its size and location instead of by its structure — for example a Microsoft Office 2010 document or a video file. By default, these BLOBs, also known as unstructured data, are stored directly in the SharePoint content database along with the associated metadata, or structured data. Because these BLOBs can be very large, it might be better to store BLOBs outside the content database. BLOBs are immutable. Accordingly, a new copy of the BLOB must be stored for each version of that BLOB. Because of this, as a database's usage increases, the total size of its BLOB data can expand quickly and grow larger than the total size of the document metadata and other structured data that is stored in the database. BLOB data can consume lots of space and uses server resources that are optimized for database access patterns. Therefore, it can be helpful to move BLOB data out of the SQL Server database, and onto commodity or content addressable storage. To do this, you can use RBS.

RBS is a Microsoft SQL Server library API set that is incorporated as an add-on feature pack for Microsoft SQL Server 2008 R2, SQL Server 2008 or Microsoft SQL Server 2008 R2 Express. The RBS feature enables applications, such as SharePoint Server 2010, to store BLOBs in a location outside the content databases. Storing the BLOBs externally can reduce how much SQL Server database storage space is required. The metadata for each BLOB is stored in the SQL Server database and the BLOB is stored in the RBS store.

SharePoint Server 2010 uses the RBS feature to store BLOBs outside of the content database. SQL Server and SharePoint Server 2010 jointly manage the data integrity between the database records and contents of the RBS external store on a per-database basis.

RBS is composed of the following components:

  • RBS client library

    An RBS client library consists of a managed library that coordinates the BLOB storage with Microsoft SharePoint Server, SQL Server, and RBS provider components.

  • Remote BLOB Storage provider

    An RBS provider consists of a managed library and, optionally, a set of native libraries that communicate with the BLOB store.

    An example of an RBS provider is the SQL FILESTREAM provider. The SQL FILESTREAM provider is a feature of SQL Server 2008 that enables storage of and efficient access to BLOB data by using a combination of SQL Server 2008 and the NTFS file system. For more information about FILESTREAM, see FILESTREAM Overview (http://go.microsoft.com/fwlink/p/?LinkID=166020&clcid=0x409) and FILESTREAM Storage in SQL Server 2008 (http://go.microsoft.com/fwlink/p/?LinkID=165746&clcid=0x409).

  • BLOB store

    A BLOB store is an entity that is used to store BLOB data. This can be a content-addressable storage (CAS) solution, a file server that supports Server Message Block (SMB), or a SQL Server database.

RBS providers

RBS uses a provider to connect to any dedicated BLOB store that uses the RBS APIs. SharePoint Server 2010 supports a BLOB storage implementation that accesses BLOB data by using the RBS APIs through such a provider. There are two kinds of RBS providers, local and remote.

The location in which an RBS provider stores the BLOB data depends on the provider that you use. In the case of the FILESTREAM provider, the data is not stored in the .mdf file. Instead, it is stored in another folder that is associated with the database.

Local RBS provider

A local provider stores the BLOBS outside the database but on the same server that is running SQL Server. You can conserve resources by using the local RBS FILESTREAM provider to put the extracted BLOB data on a different (that is, less resource-intensive) local disk. Because the BLOBs are stored in the same Filegroup as the metadata, SharePoint Server 2010 features, such as backup and restore in Central Administration, can be used.

The RBS FILESTREAM provider is available through the SQL Server Remote BLOB Store installation package from the Feature Pack for Microsoft SQL Server 2008 R2. The RBS FILESTREAM provider uses the SQL Server FILESTREAM feature to store BLOBs in an additional resource that is attached to the same database and stored locally on the server. The FILESTREAM feature manages BLOBs in an SQL database by using the underlying NTFS file system.

Important:

The local FILESTREAM provider is supported only when it is used on local hard disk drives or an attached Internet Small Computer System Interface (iSCSI) device. You cannot use the local RBS FILESTREAM provider on remote storage devices such as network attached storage (NAS).

Remote RBS provider

A remote RBS provider stores the BLOBs on a separate server. This is typically on a separate volume on the same network as the database server.

Because the BLOBs are not stored in the same Filegroup with the metadata, some SharePoint Server 2010 features — for example, backup and restore in Central Administration — cannot be used with remote RBS providers. The metadata and the BLOBs must be managed separately. For more information about what features can be used with the provider, contact the provider manufacturer.

Using RBS together with SharePoint 2010 Products

SharePoint Server 2010 supports the FILESTREAM provider that is included in the SQL Server Remote BLOB Store installation package from the Feature Pack for SQL Server Remote BLOB Store installation package from the Feature Pack for SQL Server 2008 R2. This version of RBS is available at Microsoft® SQL Server® 2008 R2 Feature Pack (http://go.microsoft.com/fwlink/p/?LinkID=177388). Be aware that this is the only version of RBS that is supported by SharePoint Server 2010. Earlier versions are not supported. Third-party RBS providers can also be used with the RBS APIs to create a BLOB storage solution that is compatible with SharePoint Server 2010.

In SharePoint Server 2010, site collection backup and restore and site import or export will download the file contents and upload them back to the server regardless of which RBS provider is being used. This process is known as a deep copy. However, the FILESTREAM provider is the only provider that is currently supported for SharePoint 2010 Products farm database backup and restore operations.

To use RBS, you must install an RBS provider on each server where SharePoint Server 2010 is installed and on each database server in the topology. The provider includes a set of DLLs that implement methods for the RBS APIs and perform the actual operation of externalizing the BLOBs.

To run RBS on a remote server, you must be running SQL Server 2008 R2 Enterprise on the server that is running SQL Server where the metadata is stored in the database.

If you plan to store BLOB data in an RBS store that differs from your SharePoint Server 2010 content databases, you must run SQL Server 2008 with SP1 and Cumulative Update 2. This is true for all RBS providers.

The FILESTREAM provider that is recommended for upgrading from stand-alone installations of Windows SharePoint Services 3.0 that have content databases that are over 4 gigabytes (GB) to SharePoint Server 2010 associates data locally with the current content database, and does not require SQL Server Enterprise.

Important:

Although RBS can be used to store BLOB data externally, accessing or modifying those BLOBs is not supported using any tool or product other than Microsoft SharePoint 2010 Products. All access must occur by using SharePoint 2010 Products only.

See Also

Other Resources

FILESTREAM Overview
FILESTREAM Storage in SQL Server 2008
Remote BLOB Store Provider Library Implementation Specification


Plan for RBS (SharePoint Server 2010)
See Also

This article provides information to help you decide whether to use Remote BLOB Storage (RBS) in a Microsoft SharePoint Server 2010 environment, and if you use RBS, how to plan the RBS deployment.

In SharePoint Server 2010, a binary large object (BLOB) is a file, such as a Microsoft Office 2010 document or a video file. By default, these BLOBs, also named unstructured data, are stored inline in the SharePoint content database together with the metadata, or structured data. Because BLOBs can be very large, it can be helpful to move BLOB data out of the SQL Server database, and onto commodity or content addressable storage. To do this, you can use RBS.

Tip:

RBS can be used with SQL Server 2008 or SQL Server 2008 R2.

Note:

Unless otherwise specified, the information in this article is specific to RBS using the FILESTREAM provider. For guidance specific to another provider, contact the provider manufacturer.

For more information about RBS including information about RBS providers, we highly recommend that you see Overview of RBS (SharePoint Server 2010).

In this article:

  • Implications of using RBS over the IT life cycle

  • Implications of using RBS in different site scenarios

  • Limitations of RBS

  • Benefits and costs of using RBS

  • Benefits and costs of using RBS with the FILESTREAM provider

  • Most optimal use of RBS

  • Least optimal use of RBS

  • Evaluate provider options

Implications of using RBS over the IT life cycle

You should evaluate the implications of using RBS for the whole life cycle of the environment. What might be a good idea for normal operations, such as having large BLOB stores, might present challenges during backup and restore or during an upgrade. By evaluating the effects of using RBS and BLOB store size on the whole life cycle, you can avoid potential problems later.

For example, using a remote RBS provider will require increased IT operations complexity and some cost increases. This is because the content database and the BLOB store must be backed up in synchronization to maintain references consistency.

Another example is that in some cases upgrade operations will enumerate and possibly change each BLOB regardless of where the BLOBs are stored.

Setup

Using RBS can add some complexity to setup because you must install and configure the RBS provider on all Web servers in the farm. For more information about how to set up RBS, see Install and configure RBS (SharePoint Server 2010).

Normal operations

You should consider the average file size and the kind of file access during normal operations. Although using RBS with files larger than 1 MB can improve I/O and processor performance, using RBS with files smaller than 256 KB might decrease overall performance. Storing the BLOBs inline in the content database is more efficient with smaller files. For more information about performance of RBS, see Managing Unstructured Data with SQL Server 2008 (http://go.microsoft.com/fwlink/p/?LinkId=223909).

You should also consider how BLOB content will be used. If users will most frequently read the content but not revise it, RBS can provide performance gains. However, if users will frequently revise the content, using RBS will decrease performance. This is because extensive versioning will cause significant growth in both the metadata in the content database and the size of the BLOB store.

You should weigh any storage cost benefits against potential operational cost increases.

Monitoring and optimization

Using RBS also adds some operations overhead because there are several performance counters that are added to monitor RBS. Several options are available to tune RBS performance. For more information, see Maintain RBS (SharePoint Server 2010).

Database maintenance

You can achieve better efficiency and speed in database index defragmentation and statistics operations when you use RBS. Also regular consistency checks, such as DBCC checks, are also significantly faster when you use RBS.

However, regular database maintenance will become more complex because you must configure and use the RBS Maintainer to maintain link-level consistency between the metadata and the BLOB store and to perform cleanup of orphaned BLOBs. For more information, see Maintain RBS (SharePoint Server 2010).

Backup and restore

If you use the local FILESTREAM provider with RBS, you can use built-in SharePoint tools to back up and restore. These operations back up and restore both the metadata and the BLOB store. If you use the remote RBS provider, you must carefully coordinate the backup and restore processes. This is because the backup and restore processes involve both the metadata and the BLOB store. You should take this into account when planning the RBS configuration. Not all RBS providers support backup and restore of BLOB data. You must check with the manufacturer of the provider to confirm support.

You cannot use Microsoft System Center Data Protection Manager to back up and restore content that is stored in the RBS stores.

Upgrade and update

Under some circumstances, an upgrade, or even applying software updates, can enumerate and iterate through each object to include BLOB data regardless of where that data is stored. Therefore, upgrade operations will be similar in duration whether inline or remote BLOBs are used.

Implications of using RBS in different site scenarios

You should evaluate the implications of using RBS in different site scenarios. Because RBS was created to solve specific problems, RBS might not perform equally well in all scenarios. The scenarios in the following sections are examples.

Team sites

If you are considering using RBS with team sites or other highly-collaborative sites, and the sites typically contain documents smaller than 256 KB, you will not see significant gains by using RBS. Moreover, by using versioning, you can cause the content database to grow very quickly if documents are being revised frequently.

Important:

The use of RBS-enabled content databases larger than 4TB with collaboration sites is not supported. You cannot upload any document larger than 2GB to an RBS-enabled content database. For more information about RBS limits, see the "Content databases" section is SharePoint Server 2010 capacity management: Software boundaries and limits.

Record centers

RBS works well for record centers and other archive sites. Because these sites are mostly read-only and do not use versioning, you can store lots of data in the RBS store.

Limitations of RBS

Each RBS provider will have different capabilities and limitations. The FILESTREAM provider has the following limitations:

  • RBS has specific content database size limitations for specific scenarios. For more information about these limitations, see the "Content database limits" section in Content deployment limits.

  • Encryption is not supported on BLOBs, even if Transparent Data Encryption is enabled.

  • RBS does not support using data compression.

  • Support for database mirroring and log shipping is altered. For more information, see Evaluate provider options later in this article.

To determine the capabilities and limitations of third-party providers, contact the provider manufacturer.

Benefits and costs of using RBS

This section discusses the benefits and costs of using RBS. These benefits and costs usually apply regardless of which provider you use. For more detailed information about how to use the FILESTREAM RBS provider, see Benefits and costs of using RBS with the FILESTREAM provider later in this article. For more detailed information about how to use third-party RBS providers, contact the provider manufacturer.

Benefits

RBS was designed to move the storage of BLOBs from databases on database servers to directories on commodity storage solutions. Therefore, under the specific environments that RBS was intended to be used in, you can experience performance or cost benefits. By using lower-priced storage instead of more expensive storage on a databases server, you can save on costs. RBS saves storage resources when there are fewer large BLOBs. When there are many smaller files, there is no benefit.

Costs

RBS will increase operational costs because the IT staff must perform additional tasks when they back up or restore the content. Large RBS stores can slow down tasks such as backup or restore, updating the environment, upgrading to a newer version of SharePoint Server, or migrating the SharePoint sites to another environment. These costs should be considered when you evaluate whether to use RBS.

Benefits and costs of using RBS with the FILESTREAM provider

This section discusses the benefits and costs of using the FILESTREAM provider. These benefits and costs might not be relevant for another provider. For information about how to use third-party RBS providers, contact the provider manufacturer.

Benefits

Microsoft currently supports only the FILESTREAM RBS provider with SharePoint Server 2010. When you use this provider, the backup and restore features in SharePoint Server 2010 also back up and restore the BLOBs and the structured data in the content database without requiring you to do additional work. The FILESTREAM provider also supports Internet Small Computer System Interface (iSCSI) connected storage devices.

Costs

Using the FILESTREAM provider might increase operational costs because the IT staff must perform additional tasks. Large RBS stores can slow down tasks such as backup or restore, updating the environment, upgrading to a newer version of SharePoint Server, or migrating the SharePoint sites to another environment. These costs should be considered when you evaluate whether to use RBS.

Most optimal use of RBS

Because RBS is a solution created for a specific set of conditions, there is an optimal use of RBS in which the benefits outweigh the costs. The optimal environment for using RBS is an environment where the following is true:

  • You want to store fewer large BLOBs (256 KB or larger) for read-intensive or read-only access.

  • The resources on the computer that is running SQL Server might become a performance bottleneck.

  • The expense of high-cost drive space is greater than the expense of increased IT operations complexity that might be introduced by using RBS.

Least optimal use of RBS

RBS is not a good solution for all environments. The costs will outweigh the benefits most of the time. The least optimal environment for using RBS would be an environment where the following is true:

  • You want to store many small BLOBs (256 KB or less) for write-intensive access.

  • The resources on the computer that is running SQL Server are not a performance bottleneck.

  • The expense of increased IT operations complexity that might be introduced by using RBS is greater than high-cost drive space.

Under these conditions, even a content database less than 200 GB will produce a noticeable performance bottleneck as the small BLOBs are frequently accessed for writing. This occurs because the database contains the metadata for the BLOBs. As the metadata is changed, new rows are added to the table in the database. This can cause the table to quickly grow very large. Large tables can decrease performance.

Although the presence of many small BLOBs can decrease performance, the cost of storage is usually the most important consideration when you evaluate RBS. The predicted decrease in performance is usually an acceptable trade-off for the cost savings in storage hardware.

Evaluate provider options

RBS requires a provider that connects the RBS APIs and SQL Server. Microsoft SQL Server 2008 Express and Microsoft SQL Server 2008 R2 Express include the FILESTREAM provider.

Important:

RBS can be run on the local computer that is running Microsoft SQL Server 2008 R2, SQL Server 2008 or SQL Server 2008 R2 Express. To run RBS on a remote server, you must be running SQL Server 2008 R2 Enterprise. SharePoint Server 2010 requires you to use the version of RBS that is included with the SQL Server Remote BLOB Store installation package from the Feature Pack for Microsoft SQL Server 2008 R2. Earlier versions of RBS will not work with SharePoint Server 2010. In addition, RBS is not supported in SQL Server 2005.

BLOBs can be kept on commodity storage such as direct-attached storage (DAS) or network attached storage (NAS), as supported by the provider. The FILESTREAM provider is supported by SharePoint Server 2010 when it is used on local hard disk drives or iSCSI drives only. You cannot use RBS with FILESTREAM on remote storage devices, such as NAS.

The following table summarizes FILESTREAM benefits and limitations.

Operational requirement | With the FILESTREAM provider | Without the FILESTREAM provider
SQL Server integrated backup and recovery of the BLOB Store | Yes | Maybe 1
System Center Data Protection Manager (DPM) 2010 integrated backup and recovery of the BLOB Store | No | Maybe 1
Scripted migration to BLOBs | Yes | Yes
Supports mirroring | No | Yes
Log shipping | Yes | Yes, with provider implementation
Database snapshots | No2 | No2
Geo replication | Yes | No
Encryption | NTFS only | No
Local drives supported | Yes | Yes, with provider implementation
Network Attached Storage (NAS) | Only supported by SharePoint 2010 Products with iSCSI and if TTFB is less than 20ms. | Yes, with provider implementation
Direct Attached Storage (DAS) | Not supported by SharePoint 2010 Products | Yes, with provider implementation
iSCSI Drives supported | Yes | Yes, with provider implementation

1Only if the RBS provider that you are using does it.

2If the RBS provider that you are using does not support snapshots, you cannot use snapshots for content deployment or backup. The FILESTREAM provider does not support snapshots.

If the FILESTREAM provider is not practical for the environment, you can purchase a supported third-party provider. In this case, you should use the following criteria when you evaluate a provider:

  • Backup and restore capability

  • Tested disaster recovery

  • Deployment and data migration

  • Performance impact

  • Long-term administrative costs

Important:

We do not recommend that you develop a provider unless you are an independent software vendor (ISV) that has significant development experience in designing storage solutions.

See Also

Other Resources

Resource Center: SQL Server and SharePoint Server 2010 Databases


Remote BLOB Storage in SharePoint Server 2010 (video)
See Also

Published: June 28, 2011

This video explains the basic concepts of Remote BLOB Storage (RBS) in SharePoint 2010 Products. Presenter Bill Baer discusses the following topics:

  • Difference between unstructured and structured data

  • RBS storage considerations

  • RBS deployment considerations

  • Migration considerations

  • External BLOB migration considerations

  • Comparison of external BLOB storage and Remote BLOB storage technologies

Remote BLOB Storage in SharePoint Products 2010

Running time: 20:40

Play video Watch the "Remote BLOB storage with SharePoint 2010" video

Download video For an optimal viewing experience, download the "Remote BLOB storage with SharePoint 2010" video

Right-click the link, and then click Save Target As to download a copy. Clicking the link will open a .wmv file in the default video viewer for full-resolution viewing.

Related resources

Resource | Description
Install and configure RBS (SharePoint Server 2010) | This article describes how to install and configure Remote BLOB Storage (RBS) for a Microsoft SQL Server 2008 database server that supports a Microsoft SharePoint Server 2010 farm.
Overview of RBS (SharePoint Server 2010) | This article describes how to use Microsoft SharePoint Server 2010 together with Remote BLOB Storage (RBS) and Microsoft SQL Server to optimize database storage resources.
Plan for RBS (SharePoint Server 2010) | This article provides information to help you decide whether to use Remote BLOB Storage (RBS) in a Microsoft SharePoint Server 2010 environment, and if you use RBS, how to plan the RBS deployment.
SharePoint Products Tech Center (http://technet.microsoft.com/en-us/sharepoint/default.aspx) | Find details about related technologies, downloads, and additional resources.

See Also

Concepts

Video demos and training for SharePoint Server 2010


Plan for business continuity management (SharePoint Server 2010)

Business continuity management consists of the business decisions, processes, and tools you put in place in advance to handle crises. A crisis might affect your business only, or be part of a local, regional, or national event.

Features of Microsoft SharePoint Server 2010 are likely to be part of your business continuity management strategy, but your overall plan should be much more comprehensive and include the following elements:

  • Clearly documented procedures.

  • Offsite storage of key business records.

  • Clearly designated contacts.

  • Ongoing staff training, including practices and drills.

  • Offsite recovery mechanisms.

In this article:

  • Business continuity management capabilities

  • Service level agreements

Business continuity management capabilities

Microsoft SharePoint Server 2010 includes the following capabilities that support business continuity management.

  • Versioning Users can lose data by overwriting a document. With versioning, users can keep multiple versions of the same document in a document library. In the event of an unwanted change, an overwritten document, or document corruption, the previous version can easily be restored by the user. When versioning is enabled, users can recover their data themselves.

    For more information, see Plan to protect content by using recycle bins and versioning (SharePoint Server 2010).

  • Recycle Bin SharePoint Server 2010 includes a two-stage Recycle Bin. Users who have the appropriate permissions can use the first-stage Recycle Bin to recover documents, list items, lists, and document libraries that have been deleted from a site. Site collection administrators can use the second-stage Recycle Bin, also called the Site Collection Recycle Bin, to recover items that have been deleted from the first-stage Recycle Bin. When the first-stage Recycle Bin is enabled, users can recover their data themselves.

    For more information, see Plan to protect content by using recycle bins and versioning (SharePoint Server 2010).

  • Records Center Records Center sites support managing records storage for legal, regulatory, or business reasons. For more information, see Records management planning (SharePoint Server 2010).

  • Backup and recovery You can use Windows PowerShell cmdlets or the SharePoint Central Administration Web site to back up and recover farms, databases, Web applications, and site collections. There are also many external and third-party tools that you can use to back up and recover data. For more information, see Plan for backup and recovery in SharePoint Server 2010.

  • Availability No single feature provides availability within a SharePoint Server 2010 environment. You can choose among many approaches to improve availability, including the following:

    • Fault tolerance of components and the network.

    • Redundancy of server roles and servers within a farm.

    For more information about availability, see Plan for availability (SharePoint Server 2010).

  • Disaster recovery No single feature provides disaster recovery within a SharePoint Server 2010 environment. You can choose among many approaches to improve availability when a data center goes offline, including the following:

    • Offsite storage of backups, both within and outside your region.

    • Shipping images of servers to offsite locations.

    • Running multiple data centers, but serving data only through one, keeping the others available on standby.

    For more information about disaster recovery, see Plan for disaster recovery (SharePoint Server 2010).

Service level agreements

Business continuity management is a key area in which IT groups offer service level agreements (SLAs) to set expectations with customer groups. Many IT organizations offer various SLAs that are associated with different chargeback levels.

The following list describes common features of business continuity management SLAs:

  • Versioning

    • Whether offered.

    • Amount of space allocated.

  • Recycle Bins

    • Whether offered.

    • Amount of space allocated for the first-stage Recycle Bin and second-stage Recycle Bin.

    • Length of time that items are held before they are permanently deleted in each Recycle Bin.

    • Additional charges for recovering items that have been permanently deleted from the second-stage Recycle Bin.

  • Backup and recovery

    Backup and recovery SLAs usually identify objects and services that can be backed up and recovered, and the recovery time objective, recovery point objective, and recovery level objective for each. The SLA may also identify the available backup window for each object. For more information about backup and recovery SLAs, see Plan for backup and recovery in SharePoint Server 2010.

    • Recovery time objective (RTO) is the objective for the maximum time a data recovery process will take. It is determined by the amount of time the business can afford for the site or service to be unavailable.

    • Recovery point objective (RPO) is the objective for the maximum amount of time between the last available backup and any potential failure point. It is determined by how much data the business can afford to lose in the event of a failure.

    • Recovery level objective (RLO) is the objective that defines the granularity with which you must be able to recover data — whether you must be able to recover the entire farm, Web application, site collection, site, list or library, or item.

  • Availability

    For each component within a farm that is covered by an availability plan, an availability SLA may identify availability as a percentage of uptime, often expressed as the number of nines — that is, the percentage of time that a given system is active and working. For example, a system with a 99.999 uptime percentage is said to have five nines of availability.

    Note:

    When calculating availability, most organizations specifically exempt or add hours for planned maintenance activities.

    For more information, see Plan for availability (SharePoint Server 2010).

  • Disaster recovery

    For each component within a farm that is covered by a disaster recovery plan, an SLA may identify the recovery point objective and recovery time objective. Different recovery time objectives are often set for different circumstances, for example a local emergency versus a regional emergency.

    For more information, see Plan for disaster recovery (SharePoint Server 2010).

Related content

Resource center | Business Continuity Management for SharePoint Server 2010 (http://go.microsoft.com/fwlink/p/?LinkId=199235)
IT Pro content | Plan for backup and recovery in SharePoint Server 2010 Backup and recovery overview (SharePoint Server 2010) Plan to protect content by using recycle bins and versioning (SharePoint Server 2010) Plan for availability (SharePoint Server 2010) Availability configuration (SharePoint Server 2010) Plan for disaster recovery (SharePoint Server 2010)
Developer content | Data Protection and Recovery (http://go.microsoft.com/fwlink/p/?LinkId=199237)


Plan to protect content by using recycle bins and versioning (SharePoint Server 2010)
See Also

Plan to use recycle bins and versioning in an environment to help users protect and recover their data. Recycle bins and versioning are key components of a business continuity strategy.

Recycle bins Users can use recycle bins to retrieve deleted objects. Microsoft SharePoint Server 2010 supports two stages of recycle bins, the first-stage Recycle Bin and the Site Collection — also called the second-stage — Recycle Bin. When Recycle Bins are enabled, users can restore items that are in them, including deleted files, documents, list items, lists, and document libraries.

Versioning Users can use versioning to help prevent data loss that is caused by overwriting a document. When a site owner turns on versioning in a document library or a list, the library or list keeps multiple copies of a document, item, or file. In the event of an unwanted change, an overwritten file, or document corruption, the previous version can be easily restored by the user.

In this article:

  • Protecting content by using recycle bins

  • Protecting content by using versioning

Protecting content by using recycle bins

SharePoint Server 2010 supports two stages of recycle bins, the first-stage Recycle Bin and the Site Collection, or second-stage, Recycle Bin. The recycle bins are enabled and configured at the Web application level. The recycle bins collect deleted documents and list items. When a list item is deleted, any attachments to the item are also deleted and can be restored from the Recycle Bin.

The Recycle Bins can contain multiple copies of a document that each have the same file name and source. These documents cannot be restored over an existing copy of a document. The Recycle Bins cannot be used to recover previous versions or accidental overwrites of documents — you must use versioning to enable this functionality.

The following table describes how an item is deleted and recovered from the first-stage Recycle Bin and the second-stage Recycle Bin.

When a user does this | The item is | The item can be restored by
Deletes an item | Held in the first-stage Recycle Bin until the item is deleted from the Recycle Bin or the item has been in the Recycle Bin longer than the time limit configured for an item to be held in the Recycle Bin. | Users or site collection administrators
Deletes an item from the Recycle Bin | Held in the second-stage Recycle Bin | Site collection administrators

Turning off the Recycle Bin for a Web application empties all Recycle Bins and permanently deletes all items in them.

First-stage Recycle Bin

The first-stage Recycle Bin is located at the site level and is available to users who have Contribute, Design, or Full Control permissions on a site.When a user deletes an item from a Web site, the item is sent to the site's first-stage Recycle Bin. Items located in the first-stage Recycle Bin count toward the site quota.Items remain in one of the first-stage Recycle Bins in the site until a specified time period has been reached (the default setting is 30 days).

When an item is deleted from the Recycle Bin, the item is sent to the second-stage Recycle Bin.

Note:

The time limit for the Recycle Bins applies to the total time after the item was first deleted — not the time spent in either Recycle Bin stage.

Second stage (Site Collection) Recycle Bin

The second-stage Recycle Bin is located at the site collection administrator level. The second-stage Recycle Bin is organized into two views: objects in the first-stage Recycle Bins of all sites in the site collection, and objects in the second-stage Recycle Bin. When an item is deleted from the first-stage Recycle Bin, it can be recovered only by a site collection administrator from the second-stage Recycle Bin.

Items remain in the second-stage Recycle Bin until a specified time period has been reached (the default setting is 30 days) or until the second-stage Recycle Bin reaches its size limit, at which time the oldest items are deleted. The time limit for the Recycle Bins applies to the total time after the item was initially deleted — not the time spent in either Recycle Bin stage.

When a second-stage Recycle Bin is enabled for a Web application, we recommend that you designate how much disk space is available to the second-stage Recycle Bin as a percentage of the quota allotted to the Web application. Items stored in the second-stage Recycle Bin do not count toward the site quota; however, the size that is specified for the second-stage Recycle Bin increases the total size of the site and the content database that hosts it. If no site quota has been set, there is no limit on the size of the second-stage Recycle Bin.

For example, if you have allotted 100 megabytes (MB) of space for the Web application, allotting a 50 percent quota for the second-stage Recycle Bin allots 50 MB for the second-stage Recycle Bin and 150 MB for the Web application as a whole. You can allot up to 100 percent for the second-stage Recycle Bin quota.

For more information about setting quotas, see

  • Plan site maintenance and management (SharePoint Server 2010)

  • Create quota templates (SharePoint Server 2010)

For more information about how users can use the Recycle Bin in SharePoint Server 2010, see View, restore, or delete items in the Recycle Bin (http://go.microsoft.com/fwlink/p/?LinkId=90917&clcid=0x409)

For information about configuring the Recycle Bins, see Configure the Recycle Bin (SharePoint Server 2010).

Protecting content by using versioning

Versioning addresses the issue of losing data by overwriting a document. It allows the document library to keep multiple copies of the same document. In the event of an unwanted change, an overwrite, or a document corruption, the previous version can easily be restored by the user. Versioning can be enabled at the library or list level. Items and files can be versioned.

Before configuring versioning, be sure to read Plan site maintenance and management (SharePoint Server 2010).

For more information about configuring versioning, see Enable and configure versioning (SharePoint Server 2010).

Administrators must closely manage versioning, because if sites have many versions of files and documents, the sites can become quite large. If you do not restrict the size of sites, your sites can surpass your storage capacity. Farm administrators can manage this issue by establishing service level agreements with site owners and by setting size quotas on sites. For more information about managing versioning, see Manage versioning by using quotas (SharePoint Server 2010).

See Also

Other Resources

Resource Center: Business Continuity Management for SharePoint Server 2010


Plan for backup and recovery in SharePoint Server 2010
See Also

This article describes the stages involved in planning for backup and recovery, which include determining backup and recovery strategies for a Microsoft SharePoint Server environment and deciding which tools to use. The stages do not have to be done in the order listed, and the process may be iterative.

When you plan for how you will use backup and recovery for disaster recovery, consider common events, failures, and errors; local emergencies; and regional emergencies.

Important:

The SharePoint 2010 Service Pack 1 (SP1) upgrade process alters the schema of some of the farm databases and all content databases. Because of these changes, you might need to take additional steps to restore a backup that you made before the farm was upgraded to SP1 to the farm after it is upgraded to SP1. For more information about doing this, see Restore pre-SP1 backups to an SP1 farm (SharePoint Server 2010).

For detailed information about Microsoft SharePoint Server backup and recovery, see Backup and recovery overview (SharePoint Server 2010).

In this article:

  • Define business requirements for SharePoint farms and services

  • Choose what to protect and recover in your SharePoint environment

  • Choose SharePoint backup and recovery tools

  • Determine SharePoint backup and recovery strategies

  • Plan for performance when designing your SharePoint backup and recovery strategy

Define business requirements for SharePoint farms and services

To define business requirements, determine the following for each farm and service in the environment:

  • Recovery point objective (RPO) is the objective for the maximum time period between the last available backup and any potential failure point. It is determined by how much data that the business can afford to lose if a failure were to occur.

  • Recovery time objective (RTO) is the objective for the maximum time that a data recovery process will take. It is determined by the time the business can afford for the site or service to be unavailable.

  • Recovery level objective (RLO) is the objective that defines the granularity with which you must be able to recover data — whether you must be able to recover the whole farm, Web application, site collection, site, list or library, or item.

Shorter RPO and RTO, and finer granularity of RLO, all typically cost more.

A worksheet to help you plan your strategies for backup and recovery for your SharePoint Server 2010 environment can be downloaded from SharePoint 2010 Products backup and recovery planning workbook (http://go.microsoft.com/fwlink/p/?LinkID=184385).

Choose what to protect and recover in your SharePoint environment

Your business requirements will help you determine which components of the environment that you must protect, and the granularity with which you have to be able to recover them.

The following table lists components of a SharePoint environment that you might decide to protect, and the tools that can be used to back up and recover each component.

Component | SharePoint backup | Microsoft SQL Server 2008 with Service Pack 1 (SP1) and Cumulative Update 2 | System Center Data Protection Manager (DPM) 2010 | File system backup
Farm | Yes |  | Yes6 |
Service applications | Yes |  |  |
Web application | Yes |  |  |
Content databases | Yes | Yes | Yes |
Site collection | Yes1, 2 | Yes1, 2 | Yes1, 2 |
Site | Yes2 | Yes2 | Yes |
Document library or list | Yes2 | Yes2 | Yes |
List item or document |  |  | Yes |
Content stored in remote BLOB stores | Yes3 | Yes3 | No3 |
Customizations deployed as solution packages | Yes7 | Yes7 | Yes6, 7 |
Changes to Web.config made by using Central Administration or an API | Yes | Yes | Yes4 |
Configuration settings (SharePoint) | Yes2, 8 | Yes2, 8 | Yes 2, 9 |
Customizations not deployed as solution packages |  |  | Yes. Files can be recovered if protected as files.4, 5 | Yes
Changes to Web.config not made by using Central administration or an API |  |  | Yes4 | Yes
IIS configurations not set through SharePoint |  |  | Yes5 | Yes
SQL Server Reporting Services databases |  | Yes | Yes |

1Farm-level and database-level backup and restore can be used for site collection recovery if a single site collection is stored in a database.

2Farm-level and database-level backups can be used with SharePoint Server unattached database recovery to restore site collections, sites, lists, and configurations.

3Content stored in remote BLOB stores cannot be restored by using DPM.

4Changes to Web.config can be backed up by using file system backup from DPM 2010.

5IIS configurations can be recovered by using a bare metal backup from DPM 2010.

6 DPM 2010 can recover this item by using a combination of a bare metal backup and SharePoint Server backup. It cannot be backed up and recovered as an object.

7Fully-trusted solution packages are stored in the configuration database, and sandboxed solutions are stored in content databases. They can be recovered as part of farm or content database recovery.

8Configuration settings can be recovered from farm-level backups. For more information, see Restore a farm (SharePoint Foundation 2010) Restore a farm in SharePoint Server 2010.

9The Central Administration content database and the configuration database for a SharePoint Server 2010 farm can be recovered but only as part of a full-farm recovery to the same farm, with the same computers.

Note:

You can register SharePoint Server 2010 with Windows Server Backup by using the stsadm.exe -o -registerwsswriter operation to configure the Volume Shadow Copy Service (VSS) writer for SharePoint Server. Windows Server Backup then includes SharePoint Server 2010 in server-wide backups. When you restore from a Windows Server backup, you can select Microsoft SharePoint Foundation (regardless of which version of SharePoint 2010 Products is installed), and all components reported by the VSS writer for SharePoint Server 2010 on that server at the time of the backup will be restored.

Windows Server Backup is recommended only for use with for single-server deployments.

Choose what to recover from within SharePoint content databases

From within a content database, you can recover site collections, sites, lists and libraries.

Backup and recovery tools provide different levels of recovery for content within a content database. Recovering an object from within a content database is always more complex than recovering the whole content database.

Protecting customizations

Customizations to SharePoint sites can include the following:

  • Master pages, page layouts and cascading style sheets. These objects are stored in the content database for a Web application.

  • Web Parts, site or list definitions, custom columns, new content types, custom fields, custom actions, coded workflows, or workflow activities and conditions.

  • Third-party solutions and their associated binary files and registry keys, such as IFilters.

  • Changes to standard XML files.

  • Custom site definitions (Webtemp.xml).

  • Changes to the Web.config file.

How customizations are deployed, and how changes are made to the Web.config file, have a significant effect on which tools can be used to back up and recover customizations. To provide the greatest opportunity for recovery, we recommend that you deploy customizations by using solution packages and configure the Web.config file by using Central Administration or the SharePoint APIs and object model.

Protecting workflows

Workflows are a special case of customizations that you can back up and recover. Make sure that your backup and recovery plan addresses any of the following scenarios that apply to your environment:

  • Declarative workflows, such as those that you created in Microsoft SharePoint Designer 2010, are stored in the content database for the site collection to which they are deployed. Backing up the content database protects these workflows.

  • Custom declarative workflow actions have components in the following three locations:

    1. The Visual Studio assemblies for the Activities are stored in the global assembly catalog (GAC).

    2. The XML definition files (.ACTIONS files) are stored in the 14\TEMPLATE\{LCID}\Workflow directory.

    3. An XML entry to mark the activity as an authorized type is stored in the Web.config file for the Web applications in which it is used.

    If your farm workflows use custom actions, you should use a file backup system to protect these files and XML entries. Similar to SharePoint Server features such as Web Parts and event receivers, these files should be reapplied to the farm as needed after recovery.

  • Workflows that depend on custom code, such as those that are created by using Visual Studio, are stored in two locations. The Visual Studio assemblies for the workflow are stored in the global assembly catalog (GAC), and the XML definition files are stored in the Features directory. This is the same as other kinds of SharePoint Server features such as Web Parts and event receivers. If the workflow was installed as part of a solution package, backing up the content database protects these workflows.

  • If you create a custom workflow that interacts with a site collection other than the one where the workflow is deployed, you must back up both site collections to protect the workflow. This includes workflows that write to a history list or other custom list in another site collection. Performing a farm backup is sufficient to back up all site collections in the farm and all workflows that are associated with them.

  • Workflows that are not yet deployed must be backed up and restored separately like any other data file. When you are developing a new workflow but have not yet deployed it to the SharePoint Server farm, make sure that you back up the folder where you store your workflow project files by using Windows Backup or another file system backup application.

Protecting service applications

Service applications in a SharePoint Server environment can be made up of both service settings and one or more databases, or only service settings. You cannot restore a complete service application by restoring the database only. However, you can restore the databases for a service application and then provision the service application. For more information, see Restore a service application in SharePoint 2010 Products.

Protecting SQL Server Reporting Services databases

SharePoint Server backup and recovery does not include SQL Server Reporting Services databases. You must use SQL Server tools. For more information, see Backup and Restore Operations for a Reporting Services Installation (http://go.microsoft.com/fwlink/p/?LinkId=186642).

Choose SharePoint backup and recovery tools

To select the correct tools for backup and recovery, you must determine whether you can meet the continuity requirements that you have set for your business within your budget for time and resources.

Key things to consider when you select tools include the following:

  • Speed of backup: Can the tool perform within the maintenance window for your databases? You should test any backup system to ensure that it meets your needs on your hardware.

  • Completeness of recovery.

  • Granularity of objects that can be recovered.

  • Backup type supported (full, differential, or incremental).

  • Complexity of managing the tool.

The following table compares the kind of backup and size of farm that can be backed up in a six-hour window for backup and recovery tools available from Microsoft.

Tool | Backup type | Size of backup completed in six hours1
SharePoint farm backup and recovery | Full, differential | 600 GB
SQL Server | Full, differential | 600 GB
System Center Data Protection Manager | Incremental | Terabytes

1Backup size was determined by backing up a system that totals the specified size on the test hardware listed in the following section.

Note:

The SharePoint Server and SQL Server backups were performed with backup compression turned on.

Test hardware

The following table lists the hardware that was used in the tests that determined the size of backup that could be completed in a six-hour window.

Component | Description
Processor | 64-bit dual processor, 3 GHz
RAM | 8 GB
Disk | 2 terabyte NTFS file system-formatted partition
Network | 100 megabits per second (Mbps) or faster connection between client computers and server
Network share | Network share with 1.25 terabytes free space

Note:

The upper size limit for performing SharePoint Server 2010 site collection backups is 100 GB.

For detailed information about the backup and recovery systems that can be used with Microsoft SharePoint Server, see the following resources:

  • Backup and recovery overview (SharePoint Server 2010)

  • Backing Up and Restoring Databases in SQL Server (http://go.microsoft.com/fwlink/p/?LinkID=186643)

  • Data Protection Manager 2010 Overview (http://go.microsoft.com/fwlink/p/?LinkID=186655)

Determine SharePoint backup and recovery strategies

Based on your business requirements, recovery needs, and the tools that you have selected, determine and document the backup and recovery strategies for your environment.

It is common for IT departments that support SharePoint Server environments to decide to use more than one tool to protect the environment, as they determine the strategies that they will use.

For example, in an environment that has databases that are managed by DBAs, the strategies in the following list might be employed:

  • All databases are backed up by SQL Server. The backup interval that is set is based on the following:

    • The importance of the content or service.

    • The effect on performance that the backup has on the environment.

  • Small, quickly changing, very high-business-affect content databases are additionally protected by SQL Server database snapshots that are stored on a separate physical disk. Only one snapshot is stored per database, and snapshots are discarded regularly so that the effect on performance is minimized. The snapshot interval that is set for each database is based on the following:

    • The importance of the content or service.

    • The standard rate of change for the database.

    • The effect on performance that the snapshot has on the environment.

    • The amount of space that is required to store the snapshot.

    Recovering from a snapshot is faster than standard recovery because a snapshot, and its underlying database, can be treated by SharePoint Server as an unattached database. However, creating snapshots can decrease the performance of the underlying database. We recommend that the effect that snapshots have on the performance of the system be tested before they are implemented, and that snapshots be discarded regularly to reduce the space that is required.

    Note:

    If you are using RBS, and the RBS provider that you are using does not support snapshots, you cannot use snapshots for backup. For example, the FILESTREAM provider does not support snapshots.

  • SharePoint Server backup is used to protect service applications. The backup interval is based on the following:

    • The importance of the service.

    • The standard rate of change for the database.

    • The effect on performance that the backup has on the database.

  • All restore operations are performed through SharePoint Server. The choice of which restore system to use is determined by the kind of backup that is available and the object being restored.

Other tools should be part of your business continuity strategy. Consider how you will use Recycle Bins and versioning in site collections throughout the environment. For more information, see Plan for business continuity management (SharePoint Server 2010).

Plan for performance when designing your SharePoint backup and recovery strategy

As you plan your backup and recovery strategy, consider the following recommendations to help you decrease the effect of backup and recovery on system performance.

By design, most backup jobs consume as many I/O resources as they can to finish the job in the available time for maintenance. Therefore, you might see disk queuing and you might see that all I/O requests come back more slowly than usual. This is typical and should not be considered a problem.

Follow recommendations for configuring SQL Server and storage

Follow the general recommendations for configuring SQL Server and storage for a SharePoint Server environment. For more information, see Storage and SQL Server capacity planning and configuration (SharePoint Server 2010).

Minimize latency between SQL Server and the backup location

In general, it is best to use a local disk, not a network drive, for backups. If you are backing up multiple servers, you may want to have a directly connected computer that both servers can write to. Network drives that have 1 millisecond or less latency between them and the computers that are running SQL Server will perform well. If your farm has multiple servers in it (including the computer that is running SQL Server), you must use UNC network paths for the SharePoint farm backup location.

Avoid processing conflicts

Do not run backup jobs during times in which users must have access to the system.

To avoid I/O bottlenecks, perform the main backup to a separate disk, and only then copy to tape.

Consider staggering backups so that not all databases are backed up at the same time.

SharePoint Server backups use SQL Server backups. When using compression with your backups, be mindful not to overwhelm SQL Server. For example, some third-party backup tools compress data during backup, which can disrupt SQL Server performance. There are tools available to throttle the compression processes and control the effect on SQL Server.

Follow SQL Server backup and restore optimization recommendations

If you are running SQL Server 2008 Enterprise, we recommend that you use backup compression. For more information, see Backup Compression (SQL Server) (http://go.microsoft.com/fwlink/p/?LinkId=179525).

If you are using SQL Server backups, use a combination of full, differential, and transaction log backups for the full recovery model to minimize recovery time. Differential database backups are usually faster to create than full database backups, and they reduce the amount of transaction log required to recover the database.

If you are using the full recovery model in SQL Server 2008, we recommend that you use the truncate option during backup to avoid maintenance issues.

For detailed recommendations about how to optimize SQL Server backup and restore performance, see Optimizing Backup and Restore Performance in SQL Server (http://go.microsoft.com/fwlink/p/?LinkId=126630).

Ensure sufficient write performance on the backup drive

Carefully consider whether to use redundant array of independent disks (RAID) on your disk backup device. For example, RAID 5 has low write performance, approximately the same speed as for a single disk. (This is because RAID 5 maintains parity information.) Using RAID 10 for a backup device may provide faster backups. For more information about how to use RAID with backups, see Configure RAID for maximum SQL Server I/O throughput (http://go.microsoft.com/fwlink/p/?LinkId=126632).

Related content

Resource center | Business Continuity Management for SharePoint Server 2010(http://go.microsoft.com/fwlink/p/?LinkId=199235)
IT Pro content | Backup and recovery overview (SharePoint Server 2010) Backup and recovery for SharePoint Server 2010 Plan for availability (SharePoint Server 2010) Availability configuration (SharePoint Server 2010) Plan for disaster recovery (SharePoint Server 2010)
Developer content | Data Protection and Recovery (http://go.microsoft.com/fwlink/p/?LinkID=199237)

See Also

Other Resources

Resource Center: Architecture Design for SharePoint Server 2010


Backup and recovery overview (SharePoint Server 2010)
See Also

This article describes the backup architecture and recovery processes that are available in Microsoft SharePoint Server 2010, including farm and granular backup and recovery, and recovery from an unattached content database. Backup and recovery operations can be performed through the user interface or through Windows PowerShell cmdlets. Built-in backup and recovery tools may not meet all the needs of your organization.

In this article:

  • Sharepoint backup and recovery scenarios

  • Backup architecture in SharePoint

  • Recovery processes in SharePoint

Sharepoint backup and recovery scenarios

Backing up and recovering data supports many business scenarios, including the following:

  • Recovering unintentionally deleted content that is not protected by the Recycle Bin or versioning.

  • Moving data between installations as part of a hardware or software upgrade.

  • Recovering from an unexpected failure.

Backup architecture in SharePoint

SharePoint Server 2010 provides two backup systems: farm and granular.

Farm backup architecture in SharePoint

The farm backup architecture in SharePoint Server 2010 starts a Microsoft SQL Server backup of content and service application databases, writes configuration content to files, and also backs up the Search index files and synchronizes them with the Search database backups.

The following illustration shows the farm backup system.

Backup architecture (SharePoint Foundation)

Both full and differential backups are supported. Full backups create a new backup of the complete system. Differential backups create a backup of all the data that is stored in databases that has changed since the last full backup.

The farm backup system is organized hierarchically. The components in a farm that can be selected for backup include the following:

  • Farm The farm is the highest-level object. You can select from the following options when you perform a farm backup:

    • Content and configuration data (default)

      The whole server farm is backed up. This includes settings from the configuration database.

    • Configuration-only

      Configuration database settings are backed up so that you can apply configurations across farms. For more information, see Configuration-only backup use and benefits later in this article.

  • Web application Within a Web application, you can select one or more of the content databases to back up.

    A Web application backup includes the following:

    • Application pool name and application pool account

    • Authentication settings

    • General Web application settings such as alerts and managed paths

    • Internet Information Services (IIS) binding information, such as the protocol type, host header, and port number

    • Changes to the Web.config file that have been made through the object model or Central Administration

      Note:

      Changes to the Web.config file that have been made to support claims-based application that uses forms-based authentication are not included in backups, because those changes are made manually. For more information, see Considerations for using farm backups later in this article.

    • Sandboxed solutions

    For recommendations about how to protect these settings, see Plan for backup and recovery in SharePoint Server 2010.

  • Services and service applications (not shared) An example of a service that is not shared is the State Service. Service and service application backups contain the settings for a service or service application and any databases associated with it.

    Important:

    Backups of service applications do not include the related proxy. To back up both the service application and the service application proxy, you must either back up the farm or perform two consecutive backups, selecting the service application in one backup, and selecting the associated service application proxy in the second backup.

    Many service application databases cannot be backed up individually from SharePoint Server 2010. To back up service application databases only, you must use SQL Server backup.

  • Proxies for service applications that are not shared

  • Shared Services Shared services require both a service application and a service application proxy to run. If you select the Shared Services node, all of the service applications and the related service application proxies on the farm will be backed up.

    Note:

    The backup hierarchy enables you to select individual service applications and service application proxies to back up. However, when you select one or all service applications, or one or all proxies, the related objects are not backed up by default. To back up both parts of a specific service, you must either select the Shared Services node or perform two consecutive backups, selecting the service application in one backup, and selecting the associated service application proxy in the second backup.

Note:

Some settings in the SharePoint Server environment are not included in a farm backup. They include the following settings that are stored on Web servers:

  • Application pool account passwords

  • HTTP compression settings

  • Time-out settings

  • Custom Internet Server Application Programming Interface (ISAPI) filters

  • Computer domain membership

  • Internet Protocol security (IPsec) settings

  • Network Load Balancing settings

  • Secure Sockets Layer (SSL) certificates

  • Dedicated IP address settings

Search service application backup process

Backing up and recovering the Search service application is a special case because of the complexity of interactions between the components of the application.

When a backup of the Search service application is started, SharePoint Server 2010 starts a SQL Server backup of the Search administration database, crawl databases, and property databases, and also backs up the index partition files in parallel.

Consider how the backup and recovery processes for the Search service application affect your service-level agreement. For example, consider how pausing all crawls might affect the freshness of search results.

The backup process is as follows:

  1. Master merges are paused to preserve the master index.

  2. A full database backup starts.

  3. The master index is backed up.

  4. Crawls are paused. The pause in crawling is much shorter than during a backup of Microsoft Office SharePoint Server 2007 search, and does not last the full duration of the backup process.

  5. All shadow indexes are backed up.

  6. An incremental database backup starts.

  7. Crawls are resumed.

  8. Master merges are resumed.

Configuration-only backup use and benefits

A configuration-only backup extracts and backs up the configuration settings from a configuration database. By using built-in tools, you can back up the configuration of any configuration database, whether it is currently attached to a farm or not. For detailed information about how to back up a configuration, see Back up a farm configuration in SharePoint Server 2010.

A configuration backup can be restored to the same — or any other — server farm. When a configuration is restored, it will overwrite any settings present in the farm that have values that are set in the configuration backup. If any settings present in the farm are not contained in the configuration backup, they will not be changed. For detailed information about how to restore a farm configuration, see Restore a farm configuration in SharePoint Server 2010.

Note:

Web application and service application settings are not included in a configuration backup. You can use Windows PowerShell cmdlets to document and copy settings for service applications. For more information, see Document farm configuration settings in SharePoint Server 2010 and Copy configuration settings between farms (SharePoint Server 2010).

Situations in which you might want to restore a configuration from one farm to another farm include the following:

  • Replicating a standardized farm configuration to be used throughout an environment.

  • Moving configurations from a development or test environment to a production environment.

  • Moving configurations from a stand-alone installation to a farm environment.

  • Configuring a farm to serve as part of a standby environment.

SharePoint Server stores the following kinds of settings in the configuration-only backup:

  • Antivirus

  • Information rights management (IRM)

  • Outbound e-mail settings (only restored when you perform an overwrite).

  • Customizations deployed as trusted solutions

  • Diagnostic logging

Considerations for using farm backups

Consider the following before you use farm backups:

  • There is no built-in scheduling system for backups. To schedule a backup, we recommend that you create a backup script by using Windows PowerShell, and then use Windows Task Scheduler to run the backup script on a regular basis.

  • We do not recommend that you use IIS metabase backup to protect IIS settings. Instead, document all IIS configurations for each Web server by using a tool that provides the configuration monitoring you want, such asMicrosoft System Center Configuration Manager 2007.

  • SharePoint Server 2010 backup and recovery can be run together with SQL Server Enterprise features such as backup compression and transparent data encryption.

    If you are running SQL Server Enterprise, we strongly recommend that you use backup compression. For more information about backup compression, see Backup Compression (SQL Server) http://go.microsoft.com/fwlink/p/?LinkID=129381).

    If you decide to run databases with transparent data encryption, you must manually back up the key and restore the key — SharePoint Server 2010 backup and restore will not remind you about the key. For more information about transparent data encryption, see Understanding Transparent Data Encryption (TDE) (http://go.microsoft.com/fwlink/p/?LinkID=129384).

  • If a content database is set to use the SQL FILESTREAM remote BLOB storage (RBS) provider, the RBS provider must be installed both on the database server that is being backed up and on the database server that is being recovered to.

  • SharePoint Server 2010 backup does not protect:

    • Changes to the Web.config file on Web servers that are not made through Central Administration or the object model.

    • Customizations to a site that are not deployed as part of a trusted or sandboxed solution.

  • If you are sharing service applications across farms, be aware that trust certificates that have been exchanged are not included in farm backups. You must back up the certificate store separately or keep the certificates in a separate location. When you restore a farm that shares a service application, you must import and redeploy the certificates and then re-establish any inter-farm trusts.

    For more information, see Exchange trust certificates between farms (SharePoint Server 2010).

  • When you restore a farm or Web application that is configured to use any kind of claims-based authentication, duplicate or additional providers may appear to be enabled. If duplicates appear, you must manually save each Web application zone to remove them.

  • Additional steps are required when you restore a farm that contains a Web application that is configured to use forms-based authentication. You must re-register the membership and role providers in the Web.config file, and then redeploy the providers. You must perform these steps whether you are restoring at the Web application level or at the farm level.

    For more information, see Back up a Web application in SharePoint Server 2010, Plan authentication methods (SharePoint Server 2010) and Configure claims authentication (SharePoint Server 2010).

Granular backup and export architecture

The granular backup and export architecture uses Transact-SQL queries and export calls. Granular backup and export is a more read-intensive and processing-intensive operation than farm backup.

From the granular backup system, a user can back up a site collection, or export a site or list.

Note:

Workflows are not included in exports of sites or lists.

If you are running SQL Server Enterprise, the granular backup system can optionally use SQL Server database snapshots to ensure that data remains consistent while the backup or export is in progress. When a snapshot is requested, a SQL Server database snapshot of the appropriate content database is taken, SharePoint Server uses it to create the backup or export package, and then the snapshot is deleted. Database snapshots are linked to the source database where they originated. If the source database goes offline for any reason, the snapshot will be unavailable. For more information about database snapshots, see Database Snapshots (http://go.microsoft.com/fwlink/p/?LinkId=166158).

Benefits of backing up a site collection by using a snapshot include the following:

  • The snapshot ensures that the data that is being read remains consistent while the operation is being performed.

  • Users can continue to interact with the site collection while it is being backed up from the database snapshot. This includes adding, editing, and deleting content. However, the changes that users make to the live site will not be included in the site collection backup because the backup is based on the database snapshot.

However, database snapshots can adversely affect performance. For more information about database snapshots and performance, see Limitations and Requirements of Database Snapshots (http://go.microsoft.com/fwlink/p/?LinkId=166159).

You can use granular backup and export for content that is stored in a database that is configured to use the SQL FILESTREAM RBS provider.

Note:

If the RBS provider that you are using does not support snapshots, you cannot use snapshots for content deployment or backup. For example, the SQL FILESTREAM provider does not support snapshots.

Note:

We do not recommend that you use SharePoint Server 2010 site collection backup for site collections larger than 85 GB.

The following illustration shows the granular backup and export system.

Granular backup/export process

Recovery processes in SharePoint

SharePoint Server 2010 supports the following primary, built-in recovery options:

  • Restore from a farm backup that was created by using built-in tools, or restore from the backup of a component taken by using the farm backup system.

  • Restore from a site collection backup.

  • Connect to a content database by using the unattached content database feature, back up or export data from it, and then restore or import the data.

Restoring from a farm backup

Items that can be recovered from a farm backup include the following:

  • Farm

    • Content and configuration data (default)

      The whole server farm is restored. This includes settings from the configuration database, and trusted solution packages.

    • Configuration-only

      Only the configuration data is restored. This overwrites any settings in the farm that have values that are set within the configuration-only backup.

  • Web applications

    Restores Web applications.

  • Service applications

    Restores service applications. Service application recovery can be complex because SharePoint Server 2010 cannot fully reconfigure service application proxies during the restore process. Service application proxies are restored, but are not put in proxy groups. Therefore, they are not associated with any Web applications. For more information about how to restore a Search service application, see Search service application recovery process. For specific information about the operations involved in restoring specific service applications, see Restore a service application in SharePoint 2010 Products.

  • Content databases

    When content databases are restored, the sandboxed solutions associated with the related site collections are also restored.

Restoring as new versus restoring as overwrite

By default, SharePoint Server 2010 recovery restores any object as a new instance of the object, instead of overwriting any existing instances with the same name.

When you restore a farm or object as new, the following objects will not work without adjustments, because all GUIDs for objects are assigned new values:

  • Farm. When you restore a farm as new, you must do the following:

    • Re-create alternate access mapping settings. SharePoint Server 2010 recovery only restores the Default zone of the Web application.

    • Reconfigure settings for any Business Connectivity Services and Managed Metadata service application external sources.

    • Re-associate service application proxies with proxy groups because service application proxies are not assigned to proxy groups when restored. All Web applications will be associated with the default proxy group. You must associate Web applications with other proxy groups if you want to do that.

  • Web application.

    • If the Web application name and URL that you provide match a Web application name and URL that already exist in the farm, SharePoint Server 2010 recovery combines them.

    • If you do not want to combine Web applications, you must rename the Web application when you restore it as new.

    • When you restore a Web application as new in the same environment but do not combine Web applications, many other parameters and objects must also be changed. For example, you may have to provide different database file paths and different database names.

  • Service applications and service application proxies

    • If you recover a service application and also recover the related service application proxy, you must associate the service application proxy with a proxy group.

    • If you recover a service application and do not also recover the related service application proxy, you must re-create the service application proxy.

    Note:

    You cannot restore a service application as new in the same farm. You can restore a service application as new in another farm.

When you restore an object and overwrite the existing object, no changes are necessary.

Search service application recovery process

The recovery process for the Search service application varies depending on whether you are restoring as new or restoring as overwrite. When you restore as overwrite, no additional steps are necessary.

The restore as new process is as follows:

  1. Restore the service application as new, and specify the new farm topology information as you restore.

  2. Restore the service application proxy as new. If you did not restore the service application proxy, you must create a new service application proxy and associate it with the Search service application.

  3. Associate the service application proxy with the appropriate proxy group and associate the proxy group (if it is not the default proxy group) with the appropriate Web application.

  4. For least-privilege deployments, start the Search service and the Search admin query Web service with the appropriate account.

For more information about how to recover the Search service application, see Restore search in SharePoint Server 2010.

Restoring from a site collection backup

Only site collections can be recovered from a site collection backup.

Recovering from an unattached content database

SharePoint Server 2010 provides the ability to connect to, and back up from, a content database that is attached to an instance of SQL Server but is not associated with a local SharePoint Web application. Unattached databases that you can connect to include read-only content databases that have been restored from any supported backup technology and SQL Server database snapshots of content databases.

Recovery is the following two-stage process:

  1. Back up or export the object from the unattached content database.

  2. Restore or import the output of the prior step into SharePoint Server 2010.

The following items can be backed up or exported from an unattached database by using granular backup and export, and then restored:

  • Site collection

    Back up by using site collection backup, and then recover by using a site collection restore.

  • Site

    Export, and then import.

  • Lists and libraries

    Export, and then import.

You can use import to recover content that you backed up from a database configured to use the SQL FILESTREAM RBS provider. The recovered content will be stored by SharePoint Server 2010 using the currently defined storage provider for that content database — that is, if the content database is not set to use RBS, the data will be stored in the content database; if the content database is set to use RBS, the data will be stored in RBS.

Related content

Resource center | Business Continuity Management for SharePoint Server 2010 (http://go.microsoft.com/fwlink/p/?LinkID=199235)
IT pro content | Plan for backup and recovery in SharePoint Server 2010 Backup and recovery for SharePoint Server 2010
Developer content | Data Protection and Recovery (http://go.microsoft.com/fwlink/p/?LinkID=199237)

See Also

Other Resources

Resource Center: Business Continuity Management for SharePoint Server 2010


Plan for availability (SharePoint Server 2010)
See Also

Updated: March 12, 2013

This article describes key decisions in choosing availability strategies for a Microsoft SharePoint Server 2010 environment.

As you carefully review your availability requirements, be aware that the higher the level of availability and the more systems that you protect, the more complex and costly your availability solution is likely to be.

Not all solutions in an organization are likely to require the same level of availability. You can offer different levels of availability for different sites, different services, or different farms.

In this article:

  • Availability overview

  • Choosing an availability strategy and level

  • Redundancy and failover between closely located data centers configured as a single farm ("stretched" farm)

Availability overview

Availability is the degree to which a SharePoint Server environment is perceived by users to be available. An available system is a system that is resilient — that is, incidents that affect service occur infrequently, and timely and effective action is taken when they do occur.

Availability is part of business continuity management (BCM), and is related to backup and recovery and disaster recovery. For more information about these related processes, see Plan for backup and recovery in SharePoint Server 2010 and Plan for disaster recovery (SharePoint Server 2010).

Note:

When calculating availability, most organizations specifically exempt or add hours for planned maintenance activities.

One of the most common measures of availability is percentage of uptime expressed as number of nines — that is, the percentage of time that a given system is active and working. For example, a system with a 99.999 uptime percentage is said to have five nines of availability.

The following table correlates uptime percentage with calendar time equivalents.

Acceptable uptime percentage | Downtime per day | Downtime per month | Downtime per year
95 | 72.00 minutes | 36 hours | 18.26 days
99 (two nines) | 14.40 minutes | 7 hours | 3.65 days
99.9 (three nines) | 86.40 seconds | 43 minutes | 8.77 hours
99.99 (four nines) | 8.64 seconds | 4 minutes | 52.60 minutes
99.999 (five nines) | 0.86 seconds | 26 seconds | 5.26 minutes

If you can make an educated guess about the number of total hours downtime you are likely to have per year, you can use the following formulas to calculate the uptime percentage for a year, a month, or a week:

% uptime/year = 100 - (8760 - number of total hours downtime per year)/8760

% uptime/month = 100 - ((24 × number of days in the month) - number of total hours downtime in that calendar month)/(24 × number of days in the month)

% uptime/week = 100 - (168 - number of total hours downtime in that week)/168

Costs of availability

Availability is one of the more expensive requirements for a system. The higher the level of availability and the more systems that you protect, the more complex and costly an availability solution is likely to be. When you invest in availability, costs include the following:

  • Additional hardware and software, which can increase the complexity of interactions among software applications and settings.

  • Additional operational complexity.

The costs of improving availability should be evaluated in conjunction with your business needs — not all solutions in an organization are likely to require the same level of availability. You can offer different levels of availability for different sites, different services, or different farms.

Availability is a key area in which information technology (IT) groups offer service level agreements (SLAs) to set expectations with customer groups. Many IT organizations offer various SLAs that are associated with different chargeback levels.

Determining availability requirements

To gauge your organization's tolerance of downtime for a site, service, or farm, answer the following questions:

  • If the site, service, or farm becomes unavailable, will employees be unable to perform their expected job responsibilities?

  • If the site, service, or farm becomes unavailable, will business and customer transactions be stopped, leading to loss of business and customers?

If you answered yes to either of these questions, you should invest in an availability solution.

Choosing an availability strategy and level

You can choose among many approaches to improve availability in a SharePoint Server environment, including the following:

  • Improve the fault tolerance of server hardware components.

  • Increase the redundancy of server roles within a farm.

Hardware component fault tolerance

Hardware component fault tolerance is the redundancy of hardware components and infrastructure systems such as power supplies at the server level. When planning for hardware component fault tolerance, consider the following:

  • Complete redundancy of every component within a server may be impossible or impractical. Use additional servers for additional redundancy.

  • Ensure that servers have multiple power supplies connected to different power sources for maximum redundancy.

In any system, we recommend that you work with hardware vendors to obtain fault-tolerant hardware that is appropriate for the system, including redundant array of independent disks (RAID) arrays. For recommendations, see Performance and capacity management (SharePoint Server 2010) and Storage and SQL Server capacity planning and configuration (SharePoint Server 2010).

Redundancy within a farm

SharePoint Server 2010 supports running server roles on redundant computers (that is, scaling out) within a farm to increase capacity and to provide basic availability.

The capacity that you require determines both the number of servers and the size of the servers in a farm. After you have met your base capacity requirements, you may want to add more servers to increase overall availability. The following illustration shows how you can provide redundancy for each server role.

Availability within a server farm

Single farm availability

The following table describes the server roles in a SharePoint Server 2010 environment and the redundancy strategies that can be used for each within a farm.

Server role | Preferred redundancy strategy within a farm
Front-end Web server | Deploy multiple front-end Web servers within a farm, and use Network Load Balancing (NLB).
Application server | Deploy multiple application servers within a farm.
Database server | Deploy database servers by using clustering or high-availability database mirroring.

Database availability strategies

You can use Microsoft SQL Server failover clustering or SQL Server high-availability database mirroring to support availability of databases in a SharePoint Server environment.

SQL Server failover clustering

Failover clustering can provide availability support for an instance of SQL Server. A failover cluster is a combination of one or more nodes or servers, and two or more shared disks. A failover cluster instance appears as a single computer, but has functionality that provides failover from one node to another if the current node becomes unavailable. SharePoint Server can run on any combination of active and passive nodes in a cluster that is supported by SQL Server.

SharePoint Server references the cluster as a whole; therefore, failover is automatic and seamless from the perspective of SharePoint Server.

For detailed information about failover clustering, see Getting Started with SQL Server 2008 Failover Clustering (http://go.microsoft.com/fwlink/p/?LinkID=102837&clcid=0x409) and Configure availability by using SQL Server clustering (SharePoint Server 2010).

SQL Server high-availability mirroring

Database mirroring is a SQL Server technology that can deliver database redundancy on a per-database basis. In database mirroring, transactions are sent directly from a principal database and server to a mirror database and server when the transaction log buffer of the principal database is written to disk. This technique can keep the mirror database almost up to date with the principal database. SQL Server Enterprise Edition provides additional functionality that improves database mirroring performance. For more information, see SQL Server 2008 R2 and SharePoint 2010 Products: Better Together (white paper) (SharePoint Server 2010).

For mirroring within a SharePoint Server farm, you must use high-availability mirroring, also known as high-safety mode with automatic failover. High-availability database mirroring involves three server instances: a principal, a mirror, and a witness. The witness server enables SQL Server to automatically fail over from the principal server to the mirror server. Failover from the principal database to the mirror database typically takes several seconds.

A change from previous versions is that SharePoint Server is mirroring-aware. After you have configured a database mirror instance of SQL Server, you then use SharePoint Central Administration or Windows PowerShell cmdlets to identify the failover (mirror) database server location for a configuration database, content database, or service application database. Setting a failover database location adds a parameter to the connection string that SharePoint Server uses to connect to SQL Server. In the event of a SQL Server time-out event, the following occurs:

  1. The witness server that is configured for SQL Server mirroring automatically swaps the roles of the primary and mirror databases.

  2. SharePoint Server automatically attempts to contact the server that is specified as the failover database.

For information about how to configure database mirroring, see Configure availability by using SQL Server database mirroring (SharePoint Server 2010).

For general information about database mirroring, see Database Mirroring (http://go.microsoft.com/fwlink/p/?LinkID=180597).

Note:

Databases that have been configured to use the SQL Server FILESTREAM remote BLOB store provider cannot be mirrored.

Comparison of database availability strategies for a single farm: SQL Server failover clustering vs. SQL Server high-availability mirroring

The following table compares failover clustering to synchronous SQL Server high-availability mirroring.

 | SQL Server failover clustering | SQL Server high-availability mirroring
Time to failover | Cluster member takes over immediately upon failure. | Mirror takes over immediately upon failure.
Transactional consistency? | Yes | Yes
Transactional concurrency? | Yes | Yes
Time to recovery | Shorter time to recovery (milliseconds) | Slightly longer time to recovery (milliseconds).
Steps required for failover? | Failure is automatically detected by database nodes; SharePoint Server 2010 references the cluster so that failover is seamless and automatic. | Failure is automatically detected by the database; SharePoint Server 2010 is aware of the mirror location, if it has been configured correctly, so that failover is automatic.
Protection against failed storage? | Does not protect against failed storage, because storage is shared between nodes in the cluster. | Protects against failed storage because both the principal and mirror database servers write to local disks.
Storage types supported | Shared storage (more expensive). | Can use less-expensive direct-attached storage (DAS).
Location requirements | Members of the cluster must be on the same subnet. | Principal, mirror, and witness servers must be on the same LAN (up to 1 millisecond latency round trip).
Recovery model | SQL Server full recovery model recommended. You can use the SQL Server simple recovery model, but the only available recovery point if the cluster is lost will be the last full backup. For more information, see Storage and SQL Server capacity planning and configuration (SharePoint Server 2010). | Requires SQL Server full recovery model.
Performance overhead | Some decrease in performance may occur while a failover is occurring. | High-availability mirroring introduces transactional latency because it is synchronous. It also requires additional memory and processor overhead.
Operational burden | Set up and maintained at the server level. | The operational burden is larger than clustering. Must be set up and maintained for all databases. Reconfiguring after failover is manual.

Service application redundancy strategies

The redundancy strategy you follow for protecting service applications that run in a farm varies, depending on where the service application stores data.

Service applications that store data outside a database

To protect service applications that store data outside a database, install the service application on multiple application servers to provide redundancy within the environment.

In this release of SharePoint Server, when you install a service application on multiple application servers, the timer jobs run either on all the application servers that are running the service instance associated with that service application or on the first available server. If an application server fails, timer jobs that are running on that server will be restarted on another server when the next timer job is scheduled to run.

Installing a service application on multiple application servers keeps the service application running, but does not guarantee against data loss. If an application server fails, the active connections for that application server will be lost and users will lose some data.

The following service applications store data outside a database:

  • Access Services

  • Excel Services Application

Service applications that store data in databases

To help protect service applications that store data in databases, you must follow these steps:

  1. Install the service on multiple application servers to provide redundancy within the environment.

  2. Configure SQL Server clustering or mirroring to protect the data.

The following service applications store data in databases:

  • Search service application, including the following databases:

    • Search Administration

    • Crawl

    • Property

      Note:

      Mirroring the Search databases is supported, but providing redundancy for Search requires additional work. For details, see the section Search redundancy strategies within a farm.

  • User Profile service, including the following databases:

    • Profiles

    • Social

    • Synchronization

      Note:

      Mirroring the Synchronization database is not supported.

  • Business Data Connectivity service application

  • Application Registry service application

    We do not recommend mirroring the Application Registry database, because it is only used when upgrading Microsoft Office SharePoint Server 2007 Business Data Catalog information to SharePoint Server 2010.

  • Usage and Health Data Collection service application

    Note:

    We recommend that you do not mirror the Usage and Health Data Collection service application Logging database.

  • Managed Metadata service application

  • Secure Store service application

  • State service application

  • Web Analytics service application, including the following databases:

    • Reporting

    • Staging

      Note:

      Mirroring the Staging database is not supported.

  • Word Automation Services service application

  • Microsoft SharePoint Foundation Subscription Settings Service

  • PerformancePoint Services

Search redundancy strategies within a farm

Server Only

The Search service application is a special case for redundancy within a farm. The following illustration shows how redundancy and failover can be configured for a medium dedicated Search service application that crawls approximately 40 million items. For more information about the architecture of the Search service application, see "Search Architectures for Microsoft SharePoint Server 2010" in the article Technical diagrams (SharePoint Server 2010).

Redundant Search service application

Highly-available search architecture

  • Query server. A query server hosts query components and index partitions.

    • Query components return search results. Each query component is part of an index partition, which is associated with a specific property database that contains metadata associated with a specific set of crawled content. You can make an index partition redundant by adding "mirror" query components to an index partition and putting them on different farm servers.

      Note:

      The use of the term mirror query components refers to identical file copies, not to SQL Server database mirroring.

    • Index partitions are groups of query components, each of which holds a subset of the full text index and returns search results. Each index partition is associated with a specific property database that contains metadata that is associated with a specific set of crawled content. You can decide which servers in a farm will handle queries by creating a query component on that server. If you want to balance the load of handling queries across multiple farm servers, add query components to an index partition and associate them with the servers that you want to use to handle queries. For more information, see Add or remove a query component. You can make an index partition redundant by adding mirror query components to an index partition and putting them on different query servers.

  • Crawl server. A crawl server hosts crawl components and a search administration component.

    • Crawl components process crawls of content sources, propagate the resulting index files to query components, and add information about the location and crawl schedule of content sources to their associated crawl databases. Crawl components are associated with a single Search service application. You can distribute the crawl load by adding crawl components to different crawl servers. You can have as many crawl components on a given crawl server as resources allow. If you have many content locations, you can add crawl components and crawl databases and dedicate them to specific content. Each crawl component on a given crawl server should be associated with a separate crawl database. For redundancy, we recommend that you have at least two crawl components. Each crawl component should be set to crawl both crawl databases. If a database grows to more than 25 million items, we recommend that you add a new crawl database and crawl component.

    • The search administration component monitors incoming user actions and updates the search administration database. Only one search administration component is allowed per Search service application.The search administration component can run on any server, preferably either a crawl server or a query server.

  • Database servers. Database servers host crawl databases, property databases, the search administration database, and other SharePoint Server 2010 databases.

    • Crawl database

      Crawl databases contain data that is related to the location of content sources, crawl schedules, and other information that is specific to crawl operations for a specific Search service application. You can distribute the database load by adding crawl databases to different computers that are running SQL Server. Crawl databases are associated with crawl components and can be dedicated to specific hosts by creating host distribution rules. For more information about crawl components, see Add or remove a crawl component. For more information about host distribution rules, see Add or remove a host distribution rule. Crawl databases are redundant if they are mirrored or deployed to a SQL Server failover cluster.

    • Property database

      Property databases contain metadata that is associated with crawled content. You can distribute the database load of queries by adding property databases to different computers that are running SQL Server. Property databases are associated with index partitions and return any metadata associated with content in query results.

      Property databases are redundant if they are mirrored or deployed to a SQL Server failover cluster.

    • Search Administration database

      There is only one Search Administration database per Search service application instance in a farm.

      The Search Administration database is only redundant if it is mirrored or deployed to a SQL Server failover cluster.

For more information about search redundancy, see Manage search topology (SharePoint Server 2010).

Redundancy and failover between closely located data centers configured as a single farm ("stretched" farm)

Some enterprises have data centers that are located close to one another with high-bandwidth connections so that they can be configured as a single farm. This is called a "stretched" farm. For a stretched farm to work, there must be less than 1 millisecond latency between SQL Server and the front-end Web servers in one direction, and at least 1 gigabit per second bandwidth.

In this scenario, you can provide fault tolerance by following the standard guidance for making databases and service applications redundant.

The following illustration shows a stretched farm.

Stretched farm

See Also

Other Resources

Resource Center: Business Continuity Management for SharePoint Server 2010

Change History

Date | Description
March 12, 2013 | Updated link to "Search redundancy strategies within a farm."
May 12, 2010 | Initial publication


Plan for disaster recovery (SharePoint Server 2010)
See Also

This article describes key decisions in choosing disaster recovery strategies for a Microsoft SharePoint Server 2010 environment.

In this article:

  • Disaster recovery overview

  • Choose a disaster recovery strategy

  • Planning for cold standby data centers

  • Planning for warm standby data centers

  • Planning for hot standby data centers

  • System requirements for disaster recovery

Disaster recovery overview

For the purposes of this article, we define disaster recovery as the ability to recover from a situation in which a data center that hosts SharePoint Server becomes unavailable.

The disaster recovery strategy that you use for SharePoint Server must be coordinated with the disaster recovery strategy for the related infrastructure, including Active Directory domains, Exchange Server, and Microsoft SQL Server. Work with the administrators of the infrastructure that you rely on to design a coordinated disaster recovery strategy and plan.

The time and immediate effort to get another farm up and running in a different location is often referred to as a hot, warm, or cold standby. Our definitions for these terms are as follows:

Hot standby A second data center that can provide availability within seconds or minutes.

Warm standby A second data center that can provide availability within minutes or hours.

Cold standby A second data center that can provide availability within hours or days.

Disaster recovery can be one of the more expensive requirements for a system. The shorter the interval between failure and availability and the more systems you protect, the more complex and costly a disaster recovery solution is likely to be. When you invest in hot or warm standby data centers, costs include:

  • Additional hardware and software, which often increase the complexity of operations between software applications, such as custom scripts for failover and recovery.

  • Additional operational complexity.

The costs of maintaining hot or warm standby data centers should be evaluated based on your business needs. Not all solutions within an organization are likely to require the same level of availability after a disaster. You can offer different levels of disaster recovery for different content, services, or farms — for example, content that has high impact on your business, or search services, or an Internet publishing farm.

Disaster recovery is a key area in which information technology (IT) groups offer service level agreements (SLAs) to set expectations with customer groups. Many IT organizations offer a variety of SLAs that are associated with different chargeback levels.

When you implement failover between server farms, we recommend that you first deploy and tune the core solution within a farm, and then implement and test disaster recovery.

Choose a disaster recovery strategy

You can choose among many approaches to provide disaster recovery for a SharePoint Server environment, depending on your business needs. The following examples show why companies might choose cold, warm, or hot standby disaster recovery strategies.

  • Cold standby disaster recovery strategy: A business ships backups to support bare metal recovery to local and regional offsite storage on a regular basis, and has contracts in place for emergency server rentals in another region.

    Pros:

    • Often the cheapest option to maintain, operationally.

    • Often an expensive option to recover, because it requires that physical servers be configured correctly after a disaster has occurred.

    Cons: The slowest option to recover.

  • Warm standby disaster recovery strategy: A business ships virtual server images to local and regional disaster recovery farms.

    Pros: Often relatively inexpensive to recover, because a virtual server farm can require little configuration upon recovery.

    Cons: Can be very expensive and time consuming to maintain.

  • Hot standby disaster recovery strategy: A business runs multiple data centers, but serves content and services through only one data center.

    Pros: Often relatively fast to recover.

    Cons: Can be quite expensive to configure and maintain.

Important:

No matter which disaster recovery solution you decide to implement for your environment, you are likely to incur some data loss.

Planning for cold standby data centers

In a cold standby disaster recovery scenario, you can recover by setting up a new farm in a new location, (preferably by using a scripted deployment), and restoring backups. Or, you can recover by restoring a farm from a backup solution such as Microsoft System Center Data Protection Manager 2007 that protects your data at the computer level and lets you restore each server individually. This article does not contain detailed instructions for how to create and recover in cold standby scenarios. For more information, see:

  • Restore a farm in SharePoint Server 2010

  • Restore customizations in SharePoint Server 2010

Planning for warm standby data centers

In a warm standby disaster recovery scenario, you can create a warm standby solution by making sure that you consistently and frequently create virtual images of the servers in your farm that you ship to a secondary location. At the secondary location, you must have an environment available in which you can easily configure and connect the images to re-create your farm environment.

This article does not contain detailed instructions for creating warm standby solutions. For more information about how to plan to deploy farms by using virtual solutions, see Create a virtualization plan (SharePoint Server 2010).

Planning for hot standby data centers

In a hot standby disaster recovery scenario, you can set up a failover farm to provide disaster recovery in a separate data center from the primary farm. An environment that has a separate failover farm has the following characteristics:

  • A separate configuration database and Central Administration content database must be maintained on the failover farm.

  • All customizations must be deployed on both farms.

    Note:

    We recommend that you use scripted deployment to create the primary and failover farm by using the same configuration settings and customizations. For more information, see Install SharePoint Server 2010 by using Windows PowerShell.

  • Updates must be applied to both farms, individually.

  • SharePoint Server content databases can be successfully asynchronously mirrored or log-shipped to the failover farm.

    Note:

    SQL Server mirroring can only be used to copy databases to a single mirror server, but you can log-ship to multiple secondary servers.

  • Service applications vary in whether they can be log-shipped to a farm. For more information, see Service application redundancy across data centers later in this article.

This topology can be repeated across many data centers, if you configure SQL Server log shipping to one or more additional data centers.

Consult with your SAN vendor to determine whether you can use SAN replication or another supported mechanism to provide availability across data centers.

The following illustration shows primary and failover farms before failover.

Primary and failover farms before failover

Primary and failover farms before failover

Service application redundancy across data centers

To provide availability across data centers for service applications, we recommend that for the services that can be run cross-farm, you run a separate services farm that can be accessed from both the primary and the secondary data centers.

For services that cannot be run cross-farm, and to provide availability for the services farm itself, the strategy for providing redundancy across data centers for a service application varies. The strategy employed depends on whether:

  • There is business value in running the service application in the disaster recovery farm when it is not in use.

  • The databases associated with the service application can be log-shipped or asynchronously mirrored.

  • The service application can run against read-only databases.

The following sections describe the disaster recovery strategies that we recommend for each service application. The service applications are grouped by strategy.

Databases that can be log-shipped or asynchronously mirrored

After a service application has been initially deployed on a secondary farm, the databases that support the following service applications can be asynchronously mirrored or log-shipped across farms:

  • Managed Metadata service application

    Databases: Managed Metadata service

    Note:

    If tagging is in use, to successfully use the Managed Metadata service application in the disaster recovery farm, you must run the User Profile Replication Engine that is included in the SharePoint Administration Toolkit. For more information, see User Profile Replication Engine overview (SharePoint Server 2010).

  • PerformancePoint Services

    Databases: PerformancePoint Service application

  • Project Server service application

    Databases: Draft, Published, Archive, Reporting

    Project Server 2010 requires synchronization between its databases. Project Server can be replicated between farms by using an asynchronous replication mechanism (asynchronous database mirroring, log shipping, or asynchronous SAN replication), but, for recovery, you must ensure that the Project database logs are synchronized as you restore.

    Note:

    Although we recommend that you log-ship or mirror the Project Server databases to the disaster recovery farm, the Project Server service application cannot run against read-only databases. Therefore, we recommend that you do not run the Project Server service application on the disaster recovery farm until after failover. To successfully synchronize the Project Server databases on the disaster recovery farm, you must configure either time stamps or log marking for the databases.

  • Secure Store service application

    Databases: Secure Store

  • Usage and Health Data Collection service application

    Databases: Logging

    Note:

    It is possible to log-ship or mirror the Logging database. However, we recommend that you do not run the Usage and Health Data Collection service on the disaster recovery farm, and that you do not mirror nor log-ship the Logging database.

  • Web Analytics service application

    Databases: Staging, Reporting

    Note:

    We recommend that you log-ship or mirror the Web Analytics Staging and Reporting databases. However, we recommend that you not run the Web Analytics service application on the disaster recovery farm until after failover.

Service applications and databases that cannot be log-shipped or asynchronously mirrored

The following service applications must be deployed on both the primary and failover farms, and cannot be log-shipped or asynchronously mirrored. For most of these service applications, we recommend that you deploy them and then verify that the failover farm has the same configuration settings as the primary farm. If configuration changes that affect the service are made on the primary farm, you must update the failover farm.

  • Application Registry service application

    Databases: Application Registry service

    Log-shipping the Application Registry service database is not supported.

  • Business Data Connectivity service application

    Databases: Business Data Connectivity

  • User Profile service application

    Databases: Profile, Synchronization, Social Tagging

    The Profile, Synchronization, and Social Tagging databases cannot be log-shipped.

    To provide redundancy for the User Profile service application, you must first deploy the service application in both the primary and secondary data centers.

    To set up the Profile and Synchronization databases, we recommend that you recover a backup of the databases to the secondary data center and attach them to the User Profile service application in that data center.

    To keep the profiles synchronized, you must run the User Profile Replication Engine that is included in the SharePoint Administration Toolkit after profile data has been updated on the primary farm. For more information, see User Profile Replication Engine overview (SharePoint Server 2010).

  • Microsoft SharePoint Foundation Subscription Settings service application

    Database: Subscription

    Note:

    Log-shipping the Subscription Settings database is not supported.

  • Access Services

    Databases: None

  • Excel Services

    Databases: None

  • Search

    Databases: Crawl, Property, Search Administration

    Search requires complete synchronization between its databases and index. Because of this requirement, search cannot be replicated between farms by using an asynchronous replication mechanism (asynchronous database mirroring, log shipping, or asynchronous SAN replication).

    To provide up-to-date search on a failover farm, you must run search on the secondary farm.

    Important:

    The Search service application on the failover farm must be set to actively crawl the secondary farm. On failover, you must configure the Web application association to use the failover Search service application.

  • State service

    Databases: State

    Note:

    Log-shipping the State database is not supported.

  • Visio Services

    Databases: None

  • Word Automation Services

    Databases: Word Automation Services

    Log-shipping the Word Automation Services database is not supported.

System requirements for disaster recovery

In an ideal scenario, the failover components and systems match the primary components and systems in all ways: platform, hardware, and number of servers. At a minimum, the failover environment must be able to handle the traffic that you expect during a failover. Keep in mind that only a subset of users may be served by the failover site. The systems must match in at least the following:

  • Operating system version and all updates

  • SQL Server versions and all updates

  • SharePoint 2010 Products versions and all updates

Although this article primarily discusses the availability of SharePoint 2010 Products, the system uptime will also be affected by the other components in the system. In particular, make sure that you do the following:

  • Ensure that infrastructure dependencies such as power, cooling, network, directory, and SMTP are fully redundant.

  • Choose a switching mechanism, whether DNS or hardware load balancing, that meets your needs.

See Also

Other Resources

Resource Center: Business Continuity Management for SharePoint Server 2010


Global deployment of multiple farms (SharePoint Server 2010)

Published: November 18, 2010

This section contains resources to help you design architectures that span geographic locations.

In this section:

  • Global solutions for SharePoint 2010 Products (model)

  • Client solutions for WAN environments (SharePoint Server 2010)

  • Optimizing BLOB caching for WAN environments (SharePoint Server 2010)

  • Designing pages for quicker downloads (SharePoint Server 2010)

  • WAN accelerators and third-party tools overview (SharePoint Server 2010)


Global solutions for SharePoint 2010 Products (model)

Published: November 18, 2010

This model illustrates supported architectures for deploying Microsoft SharePoint 2010 Products geographically.

Global Solutions for SharePoint 2010 Products

Global Deployment Model Thumbnail

Visio (http://go.microsoft.com/fwlink/p/?LinkId=206424)

PDF (http://go.microsoft.com/fwlink/p/?LinkId=206429)

XPS (http://go.microsoft.com/fwlink/p/?LinkId=206432)


Client solutions for WAN environments (SharePoint Server 2010)

Published: November 18, 2010

Many organizations include users who are distributed across WAN links and users who are not always connected to the network. Microsoft SharePoint 2010 Products accommodate various network scenarios and work environments. This article describes the client solutions that can be used across slow network connections or when users are offline.

In this article:

  • Mobile views

  • Office Web Apps

  • Office 2010 Document Cache and the MS-FSSHTTP protocol

  • Outlook 2010

  • SharePoint Workspace

  • SharePoint Workspace Mobile for Windows Phone 7

  • SharePoint Workspace with Groove Server

The following tables compare the solutions by indicating the circumstances in which a solution works best and the scope of access a solution provides for SharePoint sites. The rest of this article describes the solutions in more detail.

Mobile views

Mobile views are not only for mobile devices. In low bandwidth or high-latency environments — such as latencies of 300 milliseconds or more — mobile views can provide acceptable performance when they are used to navigate a site hierarchy, complete simple forms, and view textual data.

To display a mobile view in a non-mobile browser, append ?mobile=1 to the URL of any SharePoint site.

By default, mobile views are enabled for most lists or libraries that are created by using default templates. By default, mobile views are not enabled for custom lists, custom libraries, or for lists or libraries that were created in previous versions of the product that have been upgraded to Microsoft SharePoint Foundation 2010. Mobile views are not available for Datasheet and Gantt view types.

To configure mobile views for lists and libraries, see Configure mobile views (SharePoint Server 2010).

Office Web Apps

Microsoft Office Web Apps are online companions to Microsoft Word, Microsoft Excel, Microsoft PowerPoint, and Microsoft OneNote, which enable people to access files and do light editing in a browser without downloading and uploading files over low-bandwidth or high-latency connections.

When Office Web Apps are enabled for a site collection, you can choose to view and edit files in a browser, as shown in the following illustration.

Capabilities provided by Office Web Apps

In most cases, opening files in a browser results in a faster time-to-first-page than opening files in one of the Microsoft Office 2010 client applications.

Additionally, users in your organization can use browser-enabled cell phones and mobile devices to read Word, Excel, and PowerPoint documents that are stored on a SharePoint Server computer if views and content that are enabled for mobile access are published outside a firewall. The following devices provide mobile support for Office Web Apps:

  • Windows Phone 7

  • Windows Mobile

  • BlackBerry

  • iPhone, iPod Touch

  • Nokia S60

  • Feature telephones from Japan, including NTT DOCOMO, SoftBank, and au by KDDI

Microsoft Silverlight can improve the Office Web Apps user experience. Silverlight is a free plug-in that can provide richer Web experiences for many browsers. The Silverlight plug-in is not required to be installed on the client browser to use Office Web Apps. However, installing the Silverlight plug-in on the browser can provide the following benefits:

  • When users use Word Web App on browsers that have the Silverlight plug-in installed, they can experience faster page loading, improved text fidelity at full zoom, Microsoft ClearType tuner settings support, and improved accuracy in location of search string instances when they use the Find on this Page command.

  • When users use PowerPoint Web App on browsers that have the Silverlight plug-in installed, they can experience faster page loading, animations will appear smoother, and presentation slides will scale with the browser window size.

There are no additional benefits in Excel Web App and OneNote Web App when Silverlight is installed on the client browser.

For more information about Silverlight, see Microsoft Silverlight (http://go.microsoft.com/fwlink/p/?LinkId=206068).

For more information about Office Web Apps, see Microsoft Web Apps Deployment (http://go.microsoft.com/fwlink/p/?LinkId=206018).

Office 2010 Document Cache and the MS-FSSHTTP protocol

Office 2010 combined with SharePoint 2010 Products improves the experience of users who are using and managing files over slow network connections. Files that are open from SharePoint 2010 sites are downloaded by using asynchronous file transfer and cached locally. As a result, files open more quickly and users can start using the file before the download is complete. Additionally, only changes to files — not whole files — are transmitted between SharePoint 2010 Products and client computers. These capabilities are made possible by the new File Synchronization via SOAP over HTTP (MS-FSSHTTP) protocol.

The Document Cache settings and features can be accessed and managed through the Upload Center, a new feature of Office 2010 that is automatically installed. Users can access the Upload Center by either clicking the Upload Center icon in the notification area or by opening it from the Start menu.

The Upload Center lists all files that have been cached. Cached versions of files can be taken offline and managed through the Upload Center. Users can monitor the status of files that are in the process of being uploaded. As shown in the following illustration, users can also manage cache settings to determine how long cached files are retained and to delete all cached files, if necessary.

Upload Center cache settings

Users do not have to access and manage the Upload Center to take advantage of the caching abilities of Office 2010. The functionality of Office 2010 takes place in the background, even without user intervention.

Note:

When users are working with earlier versions of Office, such as Office 2007, BranchCache can be used to reduce bandwidth utilization and download times for frequently accessed content. BranchCache, when it is enabled on the server and client computers, greatly reduces the time to open files that have been cached. However, BranchCache does not reduce the amount of network bandwidth that is used when a file is saved back to a SharePoint site. BranchCache cannot be used in combination with Document Cache and the MS-FSSHTTP protocol. If both BranchCache and Document Cache are implemented, communication takes place by using the MS-FSSHTTP protocol. The use of SharePoint Server 2010 in combination with Office 2010 results in significantly better WAN performance overall.

For more information about how to use BrancheCache, see BranchCache in Windows 7 and Windows Server 2008 R2 Overview (http://go.microsoft.com/fwlink/p/?LinkId=206069).

For more information about the Upload Center and Office Document Cache settings, see the following articles:

  • Microsoft Office 2010 Upload Center (http://go.microsoft.com/fwlink/p/?LinkId=206070)

  • Office Document Cache settings (http://go.microsoft.com/fwlink/p/?LinkId=206071)

Outlook 2010

Users can synchronize a SharePoint library, contact list, task list, project task list, and a certain type of SharePoint external list with Outlook 2010. Because many users of SharePoint 2010 Products also use Outlook 2010 to collaborate and coordinate activities and projects, the ability to synchronize these libraries and lists can help users become more efficient, especially when they are working offline or when access to SharePoint sites is not convenient.

Just as in other Office 2010 applications, SharePoint files that are synchronized with Outlook 2010 are downloaded, uploaded, and cached by using the MS-FSSHTTP protocol. The result is better performance over slow network connections than the performance in previous versions.

To synchronize a SharePoint library with Outlook 2010, on the Library tab, in the Connect & Export group, click Connect to Outlook, as shown in the following illustration.

When users are working offline, changes to files are saved locally. When they are online again, users can select to either upload changes to the SharePoint library when the client application first synchronizes or to keep the changed files locally.

Consider the following when planning to use Outlook 2010 in a WAN environment:

  • Outlook 2010 does not provide peer-to-peer synchronization of content in SharePoint sites. Outlook 2010 provides a personal offline experience for individual team members.

  • By default, synchronized files are not checked out automatically. A user cannot check out a file within Outlook 2010. The recommended practice is to check out files within SharePoint 2010 Products before synchronizing and editing the content in Outlook 2010.

For more information, see Synchronize SharePoint 2010 content with Outlook 2010 (http://go.microsoft.com/fwlink/p/?LinkId=206097).

SharePoint Workspace

Microsoft SharePoint Workspace 2010, formerly Microsoft Office Groove, is a client application for Microsoft SharePoint Server 2010 and Microsoft SharePoint Foundation 2010 that supports online and offline collaboration.

SharePoint Workspace 2010 builds on the previous version and adds powerful new tools that let users access and share content that is stored on SharePoint sites, even when users are not connected to corporate networks. SharePoint Workspace 2010 is included with Microsoft Office Professional Plus 2010 and provides the most robust offline experience for SharePoint sites, allowing users to take entire SharePoint sites offline.

The following illustration demonstrates how to synchronize a site with SharePoint Workspace 2010.

For more information, see What's new in SharePoint Workspace 2010 (http://go.microsoft.com/fwlink/p/?LinkId=206098).

SharePoint Workspace Mobile for Windows Phone 7

Windows Phone 7 includes Microsoft Office Mobile, which lets users work with files from their telephones. Microsoft SharePoint Workspace Mobile is part of Office Mobile and already on the telephone in the Office Hub, as shown in the following illustration.

SharePoint Workspace Mobile for Windows Phone 7

Mobile users can use Windows Phone 7 and Microsoft SharePoint Workspace Mobile to do the following:

  • View content hosted on a SharePoint 2010 site.

  • Open and edit Word, Excel, PowerPoint, and OneNote files that are hosted on a SharePoint 2010 site.

  • Browse SharePoint 2010 sites, lists, and document libraries.

  • Increase the security of remote access to corporate resources through Microsoft Forefront Unified Access Gateway (UAG), if their company uses it.

Users can also use Microsoft SharePoint Workspace Mobile to take SharePoint 2010 files offline on the telephone. Users can open and edit the files, and then save them back to the SharePoint site when the users are back online.

For more information, see Office Mobile 2010 for Windows Phone 7 (http://go.microsoft.com/fwlink/p/?LinkId=206099).

SharePoint Workspace with Groove Server

SharePoint Workspace 2010 can also be used together with Microsoft Groove Server to provide peer collaboration that does not require all team members to be connected to SharePoint 2010 Products. Collaboration can be extended outside a private network to trusted partners and field sites. With this configuration, at least one team member must have access to the SharePoint sites. Other team members must have access to either the computer of another team member who has access to the SharePoint sites, or access directly to the SharePoint sites. The following illustration provides an example of this architecture.

SharePoint Workspace connections outside of LAN

For more information about SharePoint Workspace and Groove Server, see Plan for SharePoint Workspace 2010.


Optimizing BLOB caching for WAN environments (SharePoint Server 2010)

Published: June 28, 2011

This article describes how to use BLOB caching in Microsoft SharePoint 2010 Products for WAN environments.

Caching is typically addressed as a way to improve throughput in the rendering pipeline—from the time that a request is received at the server until the time that a response begins to stream back to the client computer. Although this is an important aspect of your overall site performance, this section focuses on caching as it relates to the following:

  • The role of server configuration on client caching.

  • Controlling the size of items that are transmitted over the network from the server to the client.

About BLOB cache

The BLOB cache is a mechanism that is available only with SharePoint Server 2010 publishing features. This makes it an ideal candidate for corporate portal sites that are based on the Collaboration Portal site template and Internet-facing sites that are based on the Publishing Portal site template. The BLOB cache enables you to configure caching directives that are associated with items served from publishing site lists, for example, the Pages library and Site Collection Images. When the browser on the client computer encounters a caching directive, it detects that the item it is retrieving can be saved locally and does not need to be requested again until the caching directive expires. In a geographically distributed environment, this is important because it reduces the number of items requested and sent over the network.

When the BLOB cache in SharePoint Server 2010 is turned on, two different things occur. First, every time that a cacheable item is requested, SharePoint Server 2010 searches the hard disk drive of the Web server that received the request to see whether a copy exists locally. If it does, the file is streamed directly from the local disk to the user. If it is not on the local disk, a copy of the item is made from the SQL database where it is stored, and then the item is sent to the user making the request. Afterward, all requests for the item will be served directly from the Web server until the item's cacheability value indicates that it has expired. This results in better performance in the server farm by reducing contention on the database server.

The other thing turning on BLOB cache does is append a cacheability header to the item when the item is sent to the client. This header instructs the browser how long the item should be cached. For example, if a picture had a cacheability value of three days, the browser uses the copy of the image it has in its local cache if the picture is requested again within the next three days; it does not request it from the server again.

Using Fiddler to gather data about BLOB cache

When testing your site to see what items are cached and how items are being cached, you can use a free debugging application called Fiddler (http://www.fiddlertool.com). The following screen shot shows a Fiddler capture on a simple SharePoint site that is used for publishing. The site was created by using the default Collaboration Portal site template. Some additional text content was added to the page, and several images were added to the master page.

Fiddler tool results

There are several important pieces of information contained in the Fiddler application.

  • The # column on the left indicates that there were a total of 44 HTTP requests made from the browser to the server to render the page.

  • The Result column shows the HTTP result code that was returned from the request for the item; a 200 result means the item was successfully retrieved.

  • The URL column indicates what specific item was being requested.

  • The Body column indicates the size of each item.

  • The Caching column shows the caching directive that was associated with each item. The data in the Caching column shows that several items have a caching directive associated with them; that is, they have a max-age attribute that is greater than 0. Caching directives are expressed in seconds. This mean that for the page illustrated several items are configured to be cached for 365 days (60 seconds in a minute, 60 minutes in an hour, 24 hours in a day = 60x60x24 = 86,400x365 = 31,536,000).

Notice that the items with that cache directive all reside in the _layouts directory. The reason they have this cache setting is because of the way the _layouts/images virtual directory is configured in IIS. When you create a new Web application, SharePoint Server 2010 automatically creates several virtual directories that map to folders on the Web server physical disks. When it creates the _layouts/images virtual directory, it adds a caching directive that applies to the whole directory. The following screen shot shows the configuration for the directory in IIS Manager snap-in.

Set Common HTTP Response Headers dialog box

Because these items all have a non-zero caching directive associated with them, the next time that the page is requested, the browser uses the copy of the item from its local browser cache instead of requesting it from the server again. The following screen shot shows a snapshot of Fiddler when the page is requested a second time.

Fiddler tool results

As the Fiddler data shows, the number of items requested has reduced significantly—from 44 to 11. An important point to note is that the number of requests made may vary depending on how the page is requested. If you use the Refresh button in the browser, all of the items will likely be requested again, whether a local cached version of the item exists or not. Conversely, if the page is requested by going to it by using a link or shortcut, only the uncached items are requested.

The other thing shown in the Fiddler data is that the browser is making a request to the server for the other images on the master page that it already has in its local cache; the 304 response code indicates this. It means that the browser has made a conditional request for an item. The 304 response means that the version on the server has not been modified from the version on the client so that it does not have to be downloaded again. Even though the file is not downloaded over the network, it still has generated a roundtrip to the server to determine whether the local copy is current. In a geographically dispersed environment, server round trips are costly. So, the goal is to reduce these as much as possible. This can be achieved by adding a non-zero caching directive to each of the remaining items (other than the page, which is always returned by the server). The BLOB cache feature adds this caching directive.

Configuring BLOB cache by using Web.config

You configure the BLOB cache by using the Web.config file for the Web application in which the cache will be used. Open the Web.config file in a text editor such as Notepad and search for the BlobCache entry. By default it will be:

<BlobCache location="" path="\.(gif|jpg|jpeg|jpe|jfif|bmp|dib|tif|tiff|ico|png|wdp|hdp|css|js|asf|avi|flv|m4v|mov|mp3|mp4|mpeg|mpg|rm|rmvb|wma|wmv)$" maxSize="10" enabled="false" />

The attributes used in the BlobCache element have the following meanings:

  • location Refers to the location on the Web server hard disk drive where cached items will be stored.

  • path A regex expression of the kinds of files that should be cached.

  • maxSize The size, in GB, that the cache can use.

  • enabled Set to true to enable the BLOB cache.

The following additional attribute—not included by default—is necessary to set a caching expiration value on individual items:

  • max-age The time in seconds that items should be cached on the client computer.

By setting the max-age attribute to a non-zero value, cacheable items have a cache expiration value associated with them so that a browser no longer has to download the item, or even verify that it has the most current version. For example, assume that you want to enable caching and allocate up to 100 MB on the Web server to store items. They should expire one time per day, and in addition to the predefined types that are cached, .htc files should be cached also. To support those requirements, specify the following BlobCache attributes:

<BlobCache location="C:\blobcache" path="\.(gif|jpg|png|css|js|htc)$ " maxSize="100" max-age="86400" enabled="true"/>

Note that this change to the Web.config file has to be made on every Web server in the farm. In most cases, the BLOB cache will start to work immediately, but it is safest to use the iisreset command when you implement the changes. The following screen shot shows Fiddler data for the same page request shown previously, only with the BLOB cache enabled as described.

Fiddler tool results

Notice that all of the items in the /SiteCollectionImages library now have an HTTP status code of 200, which indicates that they have been successfully downloaded. In addition, they all now have a Caching directive associated with them that specifies they will not expire for one day (86,400 seconds). If the page is requested again, Fiddler shows that none of the images are requested again; the total number of requests to service that page has therefore gone from 44 down to three, and two of the remaining three requests are merely the NTLM authentication negotiation that occurs between the Web server and client application. The following figure shows Fiddler data when the page is requested again.

Fiddler tool results

Additional considerations when you are using BLOB cache

Additionally, consider the following when you work with the BLOB cache:

  • It requires some additional effort to configure because you have to update the Web.config file on each Web server. However, the benefits are worth the effort.

  • Survey your site contents and determine whether there are any other file types that should also be served from cache. A good example is .htc files. Because .htc files are used in most publishing sites, you should add that file type to the list of file types being cached.

  • The BLOB cache only works on items that are stored in SharePoint libraries; it cannot be used to cache content from other sources.

  • Some lists by default do not work for anonymous users. If there are anonymous users who are accessing the site, permissions have to be manually configured for the following lists in order to have items within them cached:

    • Master Page Gallery

    • Style Library

There are two other configuration options to be aware of when you are working with the BLOB cache. The first relates to clearing out the BLOB cache. If the cache has to be cleared out for particular site, browse to that site collection and then click the Site Actions…Site Settings…Modify All Site Settings menu. In the list of Site Collection Administration tasks. click the Site collection object cache link. In the Disk Based Cache Reset section, select the Force this server to reset its disk-based cache check box and then click OK.


Designing pages for quicker downloads (SharePoint Server 2010)

Published: September 7, 2011

Microsoft SharePoint Server 2010 includes features that help to optimize page loading over a wide area network (WAN). Designing pages to make them as small and responsive as possible complements these performance improvements.

Different techniques are not specific to Microsoft SharePoint Server 2010. General methods that you can use on any Web site are not discussed in great detail in this article. Instead, this article focuses on the features in Microsoft SharePoint Server 2010, elements that are included in the page, and ways in which you can speed up an initial visit to a SharePoint site.

Page elements

A page on a SharePoint site consists of several unique elements, as shown in the following figure.

SharePoint site page with control overlay

When the page is rendered, it brings together the master page, the layout page, and content for the page. The page content includes the values for each of the page fields, but also a number of other elements such as the theme, style sheets, images, and navigation. The following table shows an example of the files and streams that are present in a single page from a SharePoint site. This example is a capture of all the HTTP requests that were made on an initial visit to the default home page of a collaboration portal site.

URL | Size (bytes)
http://myServer/_layouts/images/topnavhover.gif | 96
http://myServer/Pages/Default.aspx | 1656
http://myServer/Pages/Default.aspx | 1539
http://myServer/Pages/Default.aspx | 66084
http://myServer/_layouts/1033/styles/controls.css?rev=EhwiQKSLiI%2F4dGDs6DyUdQ%3D%3D | 1448
http://myServer/_layouts/1033/styles/HtmlEditorCustomStyles.css?rev=8SKxtNx33FmoDhbbfB27UA%3D%3D | 642
http://myServer/_layouts/1033/styles/HtmlEditorTableFormats.css?rev=guYGdUBUxQit03E2jhSdvA%3D%3D | 1317
http://myServer/_layouts/1033/styles/core.css?rev=5msmprmeONfN6lJ3wtbAlA%3D%3D | 13596
http://myServer/_layouts/1033/init.js?rev=VhAxGc3rkK79RM90tibDzw%3D%3D | 15732
http://myServer/_layouts/1033/core.js?rev=F8pbQQxa4zefcW%2BW9E5g8w%3D%3D | 54367
http://myServer/_layouts/portal.js?rev=INhSs9mWTnUTqdwwIXYMaQ%3D%3D | 954
http://myServer/_layouts/1033/ie55up.js?rev=Ni7%2Fj2ZV%2FzCvd09XYSSWvA%3D%3D | 20508
http://myServer/_layouts/1033/search.js?rev=yqBjpvg%2Foi3KG5XVf%2FStmA%3D%3D | 5092
http://myServer/_layouts/1033/EditingMenu.js?rev=eh0f0CwzvHQ7Ii0JvdsIjQ%3D%3D | 2735
http://myServer/WebResource.axd?d=__WrA1TRLicJgwGEmYKqSA2&t=633214754549731034 | 5383
http://myServer/WebResource.axd?d=h_u9v0Coj_eDqsvEkDrdtw2&t=633214754549731034 | 8258
http://myServer/_layouts/images/blank.gif | 43
http://myServer/_layouts/images/helpicon.gif | 1025
http://myServer/_layouts/images/Menu1.gif | 68
http://myServer/_layouts/images/titlegraphic.gif | 1299
http://myServer/_layouts/images/gosearch.gif | 19933
http://myServer/WebResource.axd?d=puevA5kEAx44yxozBd-hspPZ9eA51Rh9u95VwVGLFCc1&t=633214754549731034 | 224
http://myServer/WebResource.axd?d=wyTuS1folQ6wX2Tc_7NOOaeElHHqL6rtdeAeRRUR36s1&t=633214754549731034 | 218
http://myServer/_layouts/images/whitearrow.gif | 68
http://myServer/_layouts/images/recycbin.gif | 1004
http://myServer/PublishingImages/newsarticleimage.jpg | 10710
http://myServer/_layouts/images/icongo01.gif | 1171
http://myServer/_layouts/images/menudark.gif | 68
http://myServer/_layouts/images/topnavhover.gif | 96

Note the following:

  • A total of 29 requests were required to download the page.

  • The total page size was 235 kilobytes (KB).

  • This represents the initial page load; almost all of the items in the request have a caching directive that instructs the browser not to load them again for one year. The second and subsequent page loads produce only three requests. Of those, two are part of the NTLM negotiation that occurs, so only one item is actually downloaded—the HTML for the page.

  • The default IIS Compression level 0 was used, which is the least amount of compression possible. Additional compression would result in even smaller download sizes.

  • Of the different file types loaded, there were:

    • 4 .axd resource requests

    • 4 .css resource requests

    • 12 image resource requests

    • 6 .js resource requests (several of which were duplicates)

    • 3 page resource requests for default.aspx (two of which are part of the NTLM negotiation)

Most of these file types are fairly obvious, with the possible exception being the .axd resource type. An .axd resource is part of a new feature in ASP.NET version 2.0. A developer can add a resource, such as script file or style sheet, to a control. In the control, the developer uses the ClientScript class to include a method called GetWebResourceUrl. When the control is rendered at runtime, it dynamically generates a URL for the resource. The resource itself is compiled into the control assembly, so this methodology provides a way to stream that resource out of the assembly and down to the client just as if it were a separate file located on the Web server.

Knowing the resource requests used by the page can help you understand where and how optimizations can be applied. You can measure this kind of information by using a variety of different tools and techniques. For this article, a freeware tool called Fiddler (http://go.microsoft.com/fwlink/p/?LinkId=108593) was used. Fiddler can be run on a client workstation and tracks all of the HTTP requests being made for a page. It then displays the results in a grid, as shown in the following figure.

Fiddler results for SharePoint site

As you change your site to optimize it, test it with Fiddler. To get the most accurate idea of what items are being requested, what items are being cached, and the size of each item:

  1. Start Fiddler.

  2. Delete all of your browser's temporary files by using Fiddler's Clear Cache toolbar button.

  3. Close and reopen the browser.

  4. Request your page.

    Note:

    Be sure that you request the page by clicking a link. If you just click the Refresh button, the system automatically requests items again and won't accurately reflect any optimization changes that have been made.

The Developer Dashboard in Microsoft SharePoint Server 2010 reveals performance bottlenecks, such as performance of Web Parts and database calls, other than HTTP requests. While not specifically a WAN optimization tool, the dashboard can help identify performance issues with a page.

Screen shot of the Developer Dashboard

For more information see Using the Developer Dashboard (http://go.microsoft.com/fwlink/p/?LinkID=224025).

Optimizing Page Downloads

After you understand the composition of the page, you can use different methods to optimize the download experience for that page. In general, the goal is to minimize the number of round trips between client computers and server computers and to reduce the amount of data that goes over the network. The guidance in this article includes recommendations that can be applied broadly to a variety of different implementations of Microsoft SharePoint Server 2010.

You should categorize page optimization techniques into one of two categories: first page request and subsequent page requests.

Optimizations for the first page request (page load time 1 or PLT1) are those kinds of optimizations that are implemented the first time the page is requested, but that don't necessarily affect subsequent page requests:

  • Optimize HTML markup.

  • Use consolidated images and files; for example, combine multiple CSS files into one, and combine images into an image strip or cluster.

  • Use compression (crunch) techniques.

  • Verify the production versions of JavaScript files are used for those that have both debug and production versions; for example, JQuery.

Optimizations for subsequent page requests (page load time 2 or PLT2) are those that can improve the user experience for a subsequent page load. The key is that you need to balance loss in functionality against the gain achieved. If gain is only realized the first time a user hits a site, the optimization might not be worth the loss in functionality.

You can use caching directives. Tools that can be used include Aptimize and Microsoft Visual Round Trip Analyzer (http://go.microsoft.com/fwlink/p/?LinkId=227443).

Compress (Crunch) files

Files that contain JavaScript and styles can often be significantly reduced in size by removal of whitespace, style inheritance, and code reuse. Some libraries come with both regular (debug) and compressed (crunched) versions. A variety of tools that can automate crunching can be found by searching the Internet.

Verify the compressed versions are deployed to production servers. This example shows how a CSS file can be reduced in size by some relatively simple rewriting. Before compression, the CSS file is 655 characters:

Copy Code
.article-ByLine  {
  font-family: Tahoma,sans-serif; font-size: 9.5pt; font-style: normal; line-height: normal; font-weight: normal; color: #000000}
.article-Caption {
  font-family: Tahoma,sans-serif; font-size: 8pt; font-style: normal; line-height: normal; font-weight: normal; color: #000000}
.article-Headline {
  font-family: Tahoma,sans-serif; font-size: 14pt; font-style: normal; line-height: normal; font-weight: bold; color: #000000}
.article-SubHead  {
  font-family: Tahoma, sans-serif; font-size: 11pt; font-style: normal; line-height: normal; font-weight: normal; color: #000000}
.article-Text {
  font-family: Tahoma, sans-serif; font-size: 10pt; font-style: normal; line-height: normal; font-weight: normal; color: #000000}

If you see the same words repeated over and over, the CSS file is not written in an efficient way. After compression, the CSS file is 127 characters:

Copy Code
BODY {font:100% Tahoma,sans-serif}
.art-By  {font: 79%}
.art-Cap {font: 67%}
.art-Head {font: bold 117%}
.art-Sub  {font: 92%}
.art-Txt {font: 83%}

Be careful with entity tags

Entity tags (ETags) tend to cause performance problems. They are meant to uniquely identify files by using a number that the server generates. In clusters of servers, each server will create a different number. For example, let's say a browser is sending a Get method with an If-Modified header field for a file that it found in its cache. If there is only one server, the file will most likely match and a 304 Not-Modified error will be sent. But, if the user is accessing a large server farm, it's most likely to hit a different server with a different entity tag, causing that server to reload the entire file to the browser.

Verify that caching is working

Use Fiddler or a similar tool to verify that caching is working as expected. Here are common reasons for caching to not work:

  • No Expiration date is being set.

  • A query string that is changing.

  • Max-age + last-modified date must be greater than today's date.

    Note:

    Max-age, if used, supersedes the expiration date. Internet Explorer will ignore the expiration if max-age is used.

  • Proxy servers may not support max-age. Expiration dates are preferred.

  • Cache-control = no-cache will not cache. 'Private' also tends to not cache correctly

BLOB cache

The binary large object (BLOB) cache can be used to apply cache directives to items on a page that are stored in Microsoft SharePoint Server 2010. If those cache directives are included, the browser won't try to download those items again until the cached item expires. As was illustrated with the previous home page example, almost all of the items included in the default home page for the Collaboration Portal site template had a caching directive associated with them, which is why they were not requested on subsequent page hits. For more details about setting up and configuring the BLOB cache, see Optimizing BLOB caching for WAN environments (SharePoint Server 2010).

Minimize secured items on the page

When a user authenticates to Microsoft SharePoint Server 2010, two things happen. First, the system validates credentials to confirm the identity of the user. Second, the role provider enumerates the list of SharePoint groups to which the user belongs. Each time a page is requested, the role provider is called again to enumerate all of the groups to which the user belongs.

This call for group membership can happen multiple times on a single page. For example, the default Collaboration Portal site template page requires two calls to the role provider when you go to the home page—one for the page itself and one for the image on the page. Each image on the page that is stored in a SharePoint library will force an additional call to the role provider to verify permissions, even if all of the images are stored in the same image library. That verification occurs whether the images are added as fields on the page—that is, part of the page's content—or whether they are added to the master page for the site.

A site that is developed for a limited bandwidth or high latency environment should be designed to minimize the number of images on the page. Many sites use several images as part of the master page to create different visual effects. Because the latency will increase with the increased number of security checks, design sites for these environments by using the smallest number of possible images.

Minimizing the number and size of images

As described in the previous section, you should minimize the number of images in your site. To help with that effort, you can embed multiple images in a single file and then reference individual images in your page. Not only will file download size decrease, but fewer files result in less network traffic. It is more complicated to author pages by using this technique, but in situations where every round trip and file size counts, it can prove to be valuable way to help improve performance. The following figure shows an example of a single image file that contains multiple images.

Six icon images in a row

The following figure shows how this image is subsequently changed to display as individual pictures in a table.

Six icon images in a table

Manipulation of the images was done entirely through style sheet classes. There were two primary classes used in div and img elements in each table cell. Those classes are as follows:

.cluster {

   height:50px;

   position:relative;

   width:50px;

}

.cluster img {

   position:absolute;

}

Each image has a class associated with it based on the identifier (ID) for the image. That style clips the picture and defines an offset from the initial picture in the cluster. Those classes are as follows:

#person {

   border:none;

   clip:rect(0, 49, 49, 0);

}

#keys {

   clip:rect(0, 99, 49, 50);

   left:-50px;

}

#people {

   clip: rect(0, 149, 49, 100);

   left:-100px;

}

#lock {

   clip:rect(0, 199, 49, 150);

   left:-150px;

}

#phone {

   clip:rect(0,249, 49, 200);

   left:-200px;

}

#question {

   clip:rect(0, 299, 49, 250);

   left:-250px;

}

The HTML for the table includes the div and img tags with the appropriate ID values and class names, as follows:

<table border="1">

   <tr>

      <td><div class="cluster"><img id="person" src="Icons50x50.gif" width="300" height="50"/></div></td>

      <td><div class="cluster"><img id="keys" src="Icons50x50.gif" width="300" height="50"/></div></td>

      <td><div class="cluster"><img id="people" src="Icons50x50.gif" width="300" height="50"/></div></td>

   </tr>

   <tr>

      <td><div class="cluster"><img id="lock" src="Icons50x50.gif" width="300" height="50"/></div></td>

      <td><div class="cluster"><img id="phone" src="Icons50x50.gif" width="300" height="50"/></div></td>

      <td><div class="cluster"><img id="question" src="Icons50x50.gif" width="300" height="50"/></div></td>

   </tr>

</table>

Multiple Microsoft Web properties and products, such as Microsoft Office Outlook Web Access (OWA), now use this technique. The MSN team has conducted some performance tests to analyze the impact of the changes and has seen a load time improvement for the first page of 50 to 75 percent.

There is an important point to consider if you are authoring your pages in Microsoft SharePoint Designer 2010. When you create a new page in Office SharePoint Designer 2007, it automatically adds the following XHTML schema markup to the page:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

It then adds this namespace to the HTML element:

<html xmlns="http://www.w3.org/1999/xhtml">

If you use this schema, the images will not line up correctly. You must remove the xmlns attribute from the HTML tag to make the images appear as intended.

Optimizing list view pages

The Microsoft Services team has worked to quantify and improve the performance of list view page rendering times. A list view page is the AllItems.aspx page that is used by each list and library to enable browsing of content. The rendering time of that page can vary widely based on the number of columns that are visible in the view and the format of the columns. For example, displaying options and enabling presence icons can greatly affect rendering time. Group Collapsed took significantly longer than Group Expanded to render, and both of those were slower than no grouping at all.

These sorts of nuances are why it is important to carefully consider how views are constructed in list view pages, especially over slow network connections. When working with lists that contain a lot of data, it is important to carefully design all views, especially the default view. In general, you can speed up the rendering time of list view pages by using the following techniques:

  • Show fewer columns.

  • Exclude columns that include presence information.

  • Use a link (but no edit menu) to view the item details.

The following table describes customizations that reduce the time that is required for a view to render.

Item | Description
View type | Create a view as a datasheet view instead of a standard view.
View: Item Limit | Anything over 1,000 will likely render slowly. Over a slow connection it is important to experiment to find the right balance between the quantity of data shown at a time and the number of round trips necessary to view all the data. The more rows that are shown at a time, the fewer round trips, but larger pages.
View: Filter | Use [Today] and [Me] to filter items by freshness or assignment. Use Status fields to show only active items in default views.
View: Columns | Include the smallest number of columns. Create a default view with few columns that allows high-level browsing after which people can drill down.

The following table describes customizations that will increase the time that is required for a view to render. Each additional column increases rendering time by a slight amount: up to a half-second per column over a fast network connection for a list of 1,000 items. Some columns increase rendering time more than others, as noted in the table.

Item | Description
Group By | Grouping adds HTML and JScript, which slows down rendering for large lists. Making all groups collapsed by default actually increases rendering time further because of additional operations on the browser object model.
Column - title linked to item with edit menu | The option "linked to item with edit menu" takes the longest; the similar option "linked to item" does not increase rendering time noticeably.
Column - Lookup User with Presence | Adding a user lookup field with presence adds HTML for each link to open the presence menu. In addition it also uses bandwidth to determine presence availability.

The following table describes customizations that have a relatively small impact on the time required for a view to render.

Item | Description
Sort, Totals | Applying multiple sorts and totals will increase the rendering time by a noticeable amount, but each one typically adds less than a second for a list of 1,000 items.


WAN accelerators and third-party tools overview (SharePoint Server 2010)

Published: October 18, 2011

This article describes WAN accelerators and third-party tools that can be used with SharePoint 2010 Products that are deployed in geographically distributed environments.

In a WAN environment, WAN accelerators and third-party tools can help to speed up communications between clients and servers or between server farms. More efficient communication provides the ability to work offline and synchronize content, replicate or synchronize content between farms, and consolidate management of multiple farms.

In this article:

  • WAN accelerators

  • Offloading and cache devices

  • Content delivery networks

  • Client solutions

  • Data replication, multi-master synchronization, and configuration administration

  • Multi-farm manageability and reporting

  • Byte-level or hardware-based replication

Because each environment is different, we do not recommend specific partner solutions. Moreover, partner solutions address opportunities in different ways. Consequently, each solution has different strengths. It is important to evaluate each solution, depending on the specific needs of your environment and the relative strengths of the partner solution.

Many partners offer solutions to enhance or optimize SharePoint Server 2010 solutions. For an updated list of partners, see the SharePoint 2010 Partner web site (http://go.microsoft.com/fwlink/p/?LinkId=231024).

In this article:

WAN accelerators

WAN accelerators benefit intranet deployments. These solutions typically optimize traffic at several levels. First, WAN acceleration solutions compress network level packets and optimize the underlying protocol to reduce the raw traffic. Second, WAN accelerators optimize content by comparing content blocks against a history of recently sent blocks, which enables only differences to be sent instead of all the content. Third, application-aware devices optimize the application-level protocol which reduces the application chatter. Different partner solutions use different combinations of optimization techniques and algorithms.

WAN accelerators work in pairs. One device is in the data center next to the servers that are running SharePoint Server 2010, and another device is in the branch office or on a client device outside an office. Vendors claim 90% or more reduction in response time for second and successive requests over high-latency networks.

Important criteria to consider when you choose a network accelerator include the following:

  • How many concurrent connections can the solution handle?

  • Can you virtualize the solution or is it a physical device?

  • Can you centrally manage the solution?

  • Does the solution handle secure sockets layer Secure Sockets Layer (SSL) traffic

  • Is the solution application-aware; specifically, SharePoint Server, Common Internet File System (CIFS), and Server Message Block (SMB) aware?

  • Does the solution offer a component that clients can install for mobile workers? If this is the case, what types of clients does it support?

Example solutions include the following: Certeon, Cisco, Citrix, Packeteer, Riverbed, and F5.

Offloading and cache devices

While caching techniques within SharePoint 2010 Products can reduce traffic, partners that provide offloading and cache devices can help bridge the latency gap between the clients and servers.

If you are hosting a SharePoint site over the Internet and your goal is to optimize network traffic and reduce the number of requests that hit your servers, then offloading and cache devices can play a role. Different partners target solutions to optimize the process of hosting content that is exposed to the Internet. Strategies that are employed in this space include caching and related proprietary techniques, offloaded compression with varying algorithms, warm ups and pre-fetching, and various shopping cart techniques. Some partners excel at delivering content securely and efficiently to specific types of clients, such as public kiosks, computers in Internet cafes across the globe, or other small devices that are not well-connected.

Also in the Internet arena there are global caching, network-optimization routing techniques to reduce dropped packets. For example, to optimize network traffic some solutions send only the changes within client requests to the server. These types of solutions reduce WAN traffic and can also produce quicker page returns because the number of round-trip communications between the client and server or between other intermediary devices is reduced.

Similar to Microsoft Forefront Unified Access Gateway (UAG), some solutions provide offloaded or delegated authentication as a gateway for accessing information. These solutions add another layer of security. To address multiple requirements, look for products or solutions that provide a firewall, load balancing, and intelligence for offloading and caching. Expect to see even more consolidation of these types of features in the future.

Example solutions include the following: Cisco, F5. Microsoft: UAG Server, TMG Server.

Content delivery networks

A content delivery network (CDN) provides global caching and network optimization routing by building server farms in multiple locations around the world. User requests are routed to the closest server farm, which eliminates what might otherwise be a high latency connection back to a central location. The CDN provider can often provide detailed statistics about user response time based on location.

The server farms operate as caches. A central SharePoint farm, known as the "source" or "origin", populates and refreshes the caches. It is possible to mix content types, so that the central SharePoint farm serves pages and documents, but the CDN serves images and media files. The cached content can either expire naturally based on an age setting, or a Web Service call to a CDN management endpoint can forcibly expire cached content.

CDNs typically host only anonymous content. However, even sites that host secured documents can benefit from a CDN if a significant portion of the traffic is composed of non-secured files such as images, scripts, style sheets, transforms, and other resource type files. The benefit should be compared to the cost because CDNs can be expensive, and they add administration complexity especially for the authoring process. For example, it can be difficult to resolve issues such as adding links to a wiki page that references an image that has not been published to a CDN or that is published as a different version.

Example solutions include the following: Akamai, Limelight, Level 3 Communications, and Microsoft Windows Azure.

Client solutions

Some partners focus on how to optimize the client experience, instead of on how to address the network and server infrastructure. Techniques such as pre-fetching, background synchronization, compression, ad blockers, and image filters can significantly reduce the time that is required to retrieve content on the Internet. This is especially true if text is the primary target and you can manage without images.

Several client applications enable users to synchronize with SharePoint sites automatically. After the client initially synchronizes with a site, the client application automatically caches the contents of the site on the client computer in the background or when the client is online. For example, when a user clicks a document, the document is already locally available and the user is not affected by WAN links. Similarly, when a user adds or updates a document, the client application deals with synchronizing the changes with the online site. These client applications typically manage any conflicts that arise and enable users to decide how to resolve conflicts.

Microsoft Outlook 2010 can synchronize a SharePoint library, contact list, task list, Project task list, and certain types of SharePoint external lists. Once you synchronize a library, the library is displayed as a folder in the SharePoint Lists section of the Outlook Navigation Pane. You can also take the libraries offline, work with the Office files in the library, bring them back online, and then synchronize the changes.

To provide a good offline experience across a WAN, Microsoft SharePoint Workspace 2010 enables real-time synchronization of desktop content with SharePoint documents and lists. Information workers can easily synchronize online and offline content with a designated SharePoint site or collaborate with external partners and offsite team members through shared workspaces. To minimize workload, updated packets are transmitted over the network instead of whole files or documents.

For more information, see Client solutions for WAN environments (SharePoint Server 2010).

Partners: Colligo Networks, Infonic, Microsoft Outlook 2010, SharePoint Workspace 2010, Microsoft Office Web Apps

Data replication, multi-master synchronization, and configuration administration

Slow WAN links between two offices or failure recovery requirements with a multi-master requirement might make replication necessary in deployment plans. SQL Server provides log shipping and database mirroring for data recovery or site failover. However, the failover site is either in warm standby or read-only mode. When you must have two separate server farms that both provide read/write access, then a partner replication solution is required.

Some partner solutions include a server cache similar to a WAN accelerator. The solutions continue to provide content from the cache at a remote site if a WAN link fails.

Other partners synchronize data in almost real-time or when sites are connected after extended periods of being disconnected. For example, a ship that arrives to a dock after being at sea can synchronize with a central site.

Note:

No multi-master synchronization solution can completely avoid update conflicts.

Consider these questions when you evaluate a solution.

  • How does the solution detect updates? For example, is it based on change logs, event receivers, or other?

  • Can the solution scope replication to specific sites or libraries?

  • How does the solution address update conflicts?

  • How is the replication traffic secured?

  • How much bandwidth is required for replication? For example, are only differences or complete files replicated? Can the bandwidth consumption be throttled?

  • Can the solution keep up with the predicted rate of updates over the network link?

  • How resilient is the solution to network errors or outages? How does the solution recover from network problem?

  • How is the solution managed? For example, does it use an integrated SharePoint user interface, Windows PowerShell, other?

A common need is to replicate user profile information between farms. User profile replication eliminates the requirement to import user profile data to remote farms. Instead, the profiles are imported to the central farm, and then profiles are replicated to the remote farms. The User Profile Replication Engine, which is part of the SharePoint Server 2010 Administration Toolkit, can perform either full or incremental user profile replication between two or more farms. For more information, see SharePoint 2010 Administration Toolkit (SharePoint Server 2010).

Note:

The product team has not yet tested publishing features of SharePoint Server 2010 in WAN environments. The publishing features might provide some value in publishing content from a central farm to read-only environments. However, without test results, we cannot provide specific guidance for this scenario.

Partner solutions include the following: Syntergy, AvePoint, Infonic. Microsoft: User Profile Replication Engine.

Multi-farm manageability and reporting

In global deployments that include multiple server farms, managing settings across the farms and sites can be challenging. Several partners offer tools that are designed to streamline the administration of configuration settings, permissions administration, effective user rights, and content elements such as master pages and content types. If you decide to deploy multiple server farms in your environment, consider partner tools that can help manage multiple farms and large volumes of sites.

If your deployment has several similarly configured farms, you can use a configuration-only backup and restore to replicate configuration settings between farms. You can restore a configuration backup to the same — or any other — server farm. When you restore a configuration, it will overwrite all settings in the farm that have values that are set within the configuration backup. For more information, see Copy configuration settings between farms (SharePoint Server 2010).

You can use Windows PowerShell 2.0 to manage SharePoint Server 2010. Windows PowerShell scripts can automate tasks and streamline administration. Windows PowerShell 2.0 introduces a new capability to manage your systems remotely from your desktop by using Windows Remote Management (WinRM). WinRM includes methods known as fan-out remoting and background jobs. After the necessary security is configured and WinRM is enabled on the remote servers by executing the Enable-PSRemoting cmdlet, you can execute script blocks on remote servers by using sessions and the Invoke-Command cmdlet. For more information, see Microsoft Press: Using Windows PowerShell to Perform and Automate Farm Administrative Tasks.

Partner solutions include the following: Quest Software, echoTechnology, idera, AvePoint, CorasWorks, CommVault, and Symantec.

Byte-level or hardware-based replication

Partners that provide hardware-based or byte-level replication make it very easy to fail over and to synchronize environments between data centers. If you implement a shared disk such as a storage area network (SAN), the shared disk can become a point of failure. Hardware vendors use various methods to provide redundant channels, redundant fiber, redundant disks, and various array configurations. Different solutions provide varying levels of fault tolerance.

If you want to eliminate hardware as the potential source for failure, evaluate Microsoft Cluster Service (MSCS). MSCS provides hardware-based fault tolerance. Software-based failover solutions such as SQL Server log shipping and SQL Server mirroring provide hardware fault tolerance, but failover is not automatic when you use it with SharePoint Server 2010.

In some cases, implementing a solution that provides replication at a lower level in the stack can address specific business needs. Byte-level replication, which creates a clone or a mirror of the primary environment, can also create a secondary environment to fail over to. Continuous byte-level replication can provide a means for either automatic or manual failover.

An important caution when you evaluate these types of replication solutions is to understand that server names, Web application names, and accounts are hard-coded in the configuration database. This means that a service that is replicated to a server that has a different name does not work. If the names of the server in the primary environment and replicated environment are the same, these types of solutions can work. Regardless of the solution, you must test a tool that provides replication outside the functionality of the application to make sure that the tool works in a failover environment.

Partner solutions include the following: Neverfail and Double-Take.

Solutions that are built into hardware, such as SAN-based replication, include the following: HP, EMC Centera, Dell, and Hitachi Data Systems.


Planning worksheets for SharePoint Server 2010

In this article:

  • Planning worksheets by task

  • Planning worksheets by title

This article provides links to worksheets that you can use to record information that you gather and decisions that you make as you plan your deployment of Microsoft SharePoint Server 2010. Use these worksheets in conjunction with — not as a substitute for — Planning and architecture for SharePoint Server 2010.

Planning worksheets by task

For this task | Use this worksheet | To do this
Plan sites and site collections (SharePoint Server 2010) | Site planning data worksheet (http://go.microsoft.com/fwlink/p/?LinkID=167837) | Plan top-level site collections and sites, and record decisions about site themes and navigation.
Plan site navigation (SharePoint Server 2010) | Site planning data worksheet (http://go.microsoft.com/fwlink/p/?LinkID=167837) | Plan top-level site collections and sites, and record decisions about site themes and navigation.
Plan for using themes (SharePoint Server 2010) | Site planning data worksheet (http://go.microsoft.com/fwlink/p/?LinkID=167837) | Plan top-level site collections and sites, and record decisions about site themes and navigation.
Plan incoming e-mail (SharePoint Server 2010) | Plan incoming e-mail worksheet (http://go.microsoft.com/fwlink/p/?LinkId=200542) | Plan incoming e-mail to enable SharePoint sites to receive and store e-mail messages and attachments in lists and libraries.
Plan content deployment (SharePoint Server 2010) | Content deployment data worksheet (http://go.microsoft.com/fwlink/p/?LinkID=167835) | Plan the export and import servers in the farms in your content deployment topology, and to plan the content deployment paths and jobs.
Plan managed metadata (SharePoint Server 2010) | Term sets planning worksheet(http://go.microsoft.com/fwlink/p/?LinkId=163486) | Determine basic taxonomy, including term, usage, owner, and group.
Plan managed metadata (SharePoint Server 2010) | Detailed term set planning worksheet(http://go.microsoft.com/fwlink/p/?LinkId=163487) | Determine taxonomy, including detailed identifying characteristics such as measurements.
Plan managed metadata (SharePoint Server 2010) | Managed metadata services planning worksheet(http://go.microsoft.com/fwlink/p/?LinkId=164578) | Plan to share metadata information by using managed metadata services and connections.
Document management planning (SharePoint Server 2010) | Document management participants worksheet (http://go.microsoft.com/fwlink/p/?LinkID=165871) | Identify document management planning stakeholders and record document management practices.
Document management planning (SharePoint Server 2010) | Analyze document usage worksheet (http://go.microsoft.com/fwlink/p/?LinkID=165873) | Record information gathered when analyzing document usage.
Document management planning (SharePoint Server 2010) | Policy worksheet (http://go.microsoft.com/fwlink/p/?LinkID=165883) | Plan information management policies for content types.
Records management planning (SharePoint Server 2010) | In-place records planning worksheet(http://go.microsoft.com/fwlink/p/?LinkId=185011) | Identify record types and content types to be stored in normal document libraries.
Plan for backup and recovery in SharePoint Server 2010 | Backup and recovery planning workbook (http://go.microsoft.com/fwlink/p/?LinkID=184385) | Help you plan strategies for backup and recovery for a SharePoint Server 2010 environment.
Document management planning (SharePoint Server 2010) | Document management planning (SharePoint Server 2010) | Plan a content type.
Plan and prepare for upgrade (SharePoint Server 2010) | Upgrade worksheet (http://go.microsoft.com/fwlink/p/?LinkId=179928) | Record information about your environment while you prepare for upgrade.
Metadata-based routing and storage planning (SharePoint Server 2010) | Content Organizer settings worksheet (http://go.microsoft.com/fwlink/p/?LinkId=189018) | Determine and record how the content organizer settings in your site can be an effective part of your metadata-based content routing and storage solution.
Metadata-based routing and storage planning (SharePoint Server 2010) | Content Organizer rule worksheet (http://go.microsoft.com/fwlink/p/?LinkId=189019) | Plan rules that will be an effective part of your metadata-based routing and storage solution.
Audience and content targeting planning (SharePoint Server 2010) | Audience and content targeting worksheet (http://go.microsoft.com/fwlink/p/?LinkId=214814) | Plan for audience and content targeting.
Document management planning (SharePoint Server 2010) | Content type and workflow planning worksheet (http://go.microsoft.com/fwlink/p/?LinkID=165878) | Plan how to integrate content types and workflows.

Planning worksheets by title

Use this worksheet | For this task | To do this
Audience and content targeting worksheet (http://go.microsoft.com/fwlink/p/?LinkId=214814) | Audience and content targeting planning (SharePoint Server 2010) | Plan for audience and content targeting.
Analyze document usage worksheet (http://go.microsoft.com/fwlink/p/?LinkID=165873) | Document management planning (SharePoint Server 2010) | Record information gathered when analyzing document usage.
Backup and recovery planning workbook (http://go.microsoft.com/fwlink/p/?LinkID=184385) | Plan for backup and recovery in SharePoint Server 2010 | Help you plan strategies for backup and recovery for a SharePoint Server 2010 environment.
Content deployment data worksheet (http://go.microsoft.com/fwlink/p/?LinkID=167835) | Plan content deployment (SharePoint Server 2010) | Plan the export and import servers in the farms in your content deployment topology, and to plan the content deployment paths and jobs.
Content Organizer rules worksheet (http://go.microsoft.com/fwlink/p/?LinkId=189019) | Metadata-based routing and storage planning (SharePoint Server 2010) | Plan rules that will be an effective part of your metadata-based routing and storage solution.
Content Organizer settings worksheet (http://go.microsoft.com/fwlink/p/?LinkID=167835) | Metadata-based routing and storage planning (SharePoint Server 2010) | Determine and record how the content organizer settings in your site can be an effective part of your metadata-based content routing and storage solution.
Content type and workflow planning worksheet (http://go.microsoft.com/fwlink/p/?LinkID=165878) | Document management planning (SharePoint Server 2010) | Plan how to integrate content types and workflows.
Detailed term set planning worksheet(http://go.microsoft.com/fwlink/p/?LinkId=163487) | Plan managed metadata (SharePoint Server 2010) | Determine taxonomy, including detailed identifying characteristics such as measurements.
Document management participants worksheet (http://go.microsoft.com/fwlink/p/?LinkID=165871) | Document management planning (SharePoint Server 2010) | Identify document management planning stakeholders and record document management practices.
In-place records planning worksheet(http://go.microsoft.com/fwlink/p/?LinkId=185011) | Records management planning (SharePoint Server 2010) | Identify record types and content types to be stored in normal document libraries.
Managed metadata services planning worksheet(http://go.microsoft.com/fwlink/p/?LinkId=164578) | Plan managed metadata (SharePoint Server 2010) | Plan to share metadata information by using managed metadata services and connections.
Plan incoming e-mail worksheet (http://go.microsoft.com/fwlink/p/?LinkId=200542) | Plan incoming e-mail (SharePoint Server 2010) | Plan incoming e-mail to enable SharePoint sites to receive and store e-mail messages and attachments in lists and libraries.
Policy worksheet (http://go.microsoft.com/fwlink/p/?LinkID=165883) | Document management planning (SharePoint Server 2010) | Plan information management policies for content types.
Site planning data worksheet (http://go.microsoft.com/fwlink/p/?LinkID=167837) | Plan sites and site collections (SharePoint Server 2010) Plan site navigation (SharePoint Server 2010) Plan for using themes (SharePoint Server 2010) | Plan top-level site collections and sites, and record decisions about site themes and navigation.
Term sets planning worksheet(http://go.microsoft.com/fwlink/p/?LinkId=163486) | Plan managed metadata (SharePoint Server 2010) | Determine basic taxonomy, including term, usage, owner, and group.
Upgrade worksheet (http://go.microsoft.com/fwlink/p/?LinkId=179928) | Plan and prepare for upgrade (SharePoint Server 2010) | Record information about your environment while you prepare for upgrade.


Development for SharePoint Server 2010

See the SharePoint Server Developer Portal (http://go.microsoft.com/fwlink/p/?LinkId=159918).


Deployment for SharePoint Server 2010

Welcome to the deployment guide for Microsoft SharePoint Server 2010. The articles in this guide help you prepare to install and configure SharePoint Server 2010. The deployment guide includes information about deployment scenarios, step-by-step installation instructions, and post-installation configuration steps. It also describes how to upgrade to SharePoint Server 2010.

Before installing SharePoint Server 2010, be sure you have reviewed the information in Planning and architecture for SharePoint Server 2010.

In this section:

  • Deployment overview (SharePoint Server 2010)

    This article provides information about deploying SharePoint Server 2010. The goal of this article is to provide information that can help you and your teams make fundamental decisions about deploying SharePoint Server 2010-based solutions in your organization.

  • Install prerequisites from a network share (SharePoint Server 2010)

    This article explains how to use PrerequisiteInstaller.exe to install prerequisites from a network share. Doing so can result in a more consistent deployment.

  • Installing SharePoint Server 2010

    This video illustrates how to install and configure Microsoft SharePoint Server 2010 and how to create your first site collection.

  • Prepare for deployment (SharePoint Server 2010)

    This section provides essential steps to take before you deploy Microsoft SharePoint Server 2010.

  • Deployment scenarios (SharePoint Server 2010)

    Follow the steps in this section to deploy a single server or server farm with SharePoint Server 2010, or to deploy the Office Web Apps for use with SharePoint Server 2010.

  • Initial configuration (SharePoint Server 2010)

    Follow the steps in this section to install language packs, configure farm settings and services, and create site collections.

  • Uninstall SharePoint Server 2010

    This article explains how to uninstall SharePoint Server 2010.

  • Deploy customizations - overview (SharePoint Server 2010)

    The articles in this section describe how to deploy site elements that have been customized by developers or Web designers in a SharePoint Server 2010 environment.

  • Deploy software updates for SharePoint Server 2010

    Microsoft periodically releases software updates for SharePoint Server 2010. Follow the steps in this section to apply these updates to your servers running SharePoint Server.

  • Upgrading to SharePoint Server 2010

    Follow the steps in the upgrade guide to plan, prepare, and perform an upgrade to SharePoint Server 2010.

Note:

If you plan to use Office Web Apps, you must install and configure them to work with SharePoint 2010 Products. For more information, see Deploy Office Web Apps (Installed on SharePoint 2010 Products).

Additional resources:

  • For a graphical overview of the deployment process, download the SharePoint 2010 Products Deployment model from the Technical diagrams (SharePoint Server 2010) article.

  • For a demo video about installing, see Installing SharePoint Server 2010.


Deployment overview (SharePoint Server 2010)

This article contains an overview of a Microsoft SharePoint Server 2010 farm deployment. Although Microsoft SharePoint Server farms vary in complexity and size, a combination of careful planning and a phased deployment that includes ongoing testing and evaluation significantly reduces the risk of unexpected outcomes.

Note:

For information about site and solution planning, which is not in scope for this article, see Plan for sites and solutions (SharePoint Server 2010).

For a visual representation of the information in this article, see the SharePoint 2010 Products Deployment model in the Technical diagrams (SharePoint Server 2010) topic. Related technical diagrams include "Topologies for SharePoint Server 2010 and Services in SharePoint 2010 Products".

In this article:

  • Concepts

  • Physical architecture

  • Installation and configuration

  • Deployment stages

Concepts

The logical result of SharePoint Server's flexibility and richness can be a high degree of complexity around installing and configuring SharePoint Server correctly. A fundamental understanding of the following key structural elements in a SharePoint Server environment is required in order to correctly deploy and support SharePoint Server 2010 products:

  • Server farm: The top-level element of a logical architecture design for SharePoint Server.

  • Web application: An IIS Web site that is created and used by SharePoint Server 2010.

  • Content database: Provides storage Web application content. You can separate content into multiple content databases at the site collection level.

  • Site collection: A set of Web sites that have the same owner and share administration settings.

  • Site: One or more related Web pages and other items (such as lists, libraries, and documents) that are hosted inside a site collection.

For more information about these and other architectural components, see Logical architecture components (SharePoint Server 2010).

In addition to understanding the elements of a SharePoint Server environment and how they have to be configured for your solution, you must consider the following additional factors: physical architecture, installation and configuration, and the various stages of deployment.

Physical architecture

The physical architecture, which consists of one or more servers and the network infrastructure, enables you to implement the logical architecture for a SharePoint Server solution. The physical architecture is typically described in two ways: by its size and by its topology. Size, which can be measured in several ways, such as the number of users or the number of documents, is used to categorize a farm as small, medium, or large. Topology uses the idea of tiers or server groups to define a logical arrangement of farm servers.

Size

Size uses the number of users and number of content items as a fundamental measure to indicate whether a server farm is small, medium, and large, as follows:

  • A small server farm typically consists of at least two Web servers and a database server. One of the Web servers hosts the Central Administration site and the other handles additional farm-related tasks, such as serving content to users.

    The small farm can be scaled out to three tiers using a dedicated application server in response to the number of users, the number of content items, and the number of services that are required.

  • A medium server farm typically consists of two or more Web servers, two application servers, and more than one database servers. We recommend that you start with the preceding configuration and then scale out to accommodate the workload placed on the servers.

    In scenarios where services are known to use a disproportionate amount of resources, you can scale out the application tier. Performance data will indicate which services you should consider off-loading to a dedicated server.

  • A large server farm can be the logical result of scaling out a medium farm to meet capacity and performance requirements or by design before a SharePoint Server solution is implemented. A three-tier topology environment typically uses dedicated servers on all the tiers. Additionally, these servers are often grouped according to their role in the farm. For example, all client-related services can be grouped onto one or two servers and then scaled out by adding servers to this group as needed in response to user demand for these services.

    Note:

    The recommendation for scaling out a farm is to group services or databases with similar performance characteristics onto dedicated servers and then scale out the servers as a group. In large environments, the specific groups that evolve for a farm depend on the specific demands for each service in a farm.

For specific numbers related to small, medium, and large farms, see Performance and capacity management (SharePoint Server 2010).

Topology

Topology uses tiers as a model for logically arranging farm servers according to the components that they host or their roles in a server farm. A SharePoint Server farm is deployed on one, two, or three tiers, as follows:

  • In a single-tier deployment, SharePoint Server and the database server are installed on one computer.

  • In a two-tier deployment, SharePoint Server components and the database are installed on separate servers. This kind of deployment maps to what is called a small farm. The front-end Web servers are on the first tier and the database server is located on the second tier. In the computer industry, the first tier is known as the Web tier. The database server is known as the database tier or database back-end.

  • In a three-tier deployment, the front-end Web servers are on the first tier, the application servers are on the second tier, which is known as the application tier, and the database server is located on the third tier. A three-tier deployment is used for medium and large farms.

Installation and configuration

After you finish planning your SharePoint Server solution you can create a SharePoint Server farm to host the solution. The first step is to install SharePoint Server 2010 and create the farm that is required for the solution. The process of preparing your environment consists of the following phases:

  1. Prepare the servers

  2. Create the farm

  3. Configure settings, services, solutions, and sites

Note:

The farm that you create and deploy will undergo significant changes in size, topology, and complexity as you move through the different deployment stages illustrated in the SharePoint 2010 Products Deployment model. This is typical and the expected result of a phased deployment. This is why we recommend that you follow all of the stages described in the "Deployment stages" section of this article.

Prepare the servers

In this phase, you get your servers ready to host the product. This includes the supporting servers and the servers that will have SharePoint Server installed. The following servers must be configured to support and host a farm:

  • Domain controller: The required farm accounts have to be configured for the domain and directory synchronization must be configured.

    Important:

    SharePoint Server 2010 does not support single label domain (SLD) names or single label forests, in either the domain of the SharePoint service accounts or the SharePoint end user's domain. Because the use of SLD names is not a recommended practice, SharePoint 2010 Products are not tested in this scenario. Therefore, there may be incompatibility issues when SharePoint 2010 Products are implemented in a single label domain environment. For more information, see Information about configuring Windows for domains with single-label DNS names (http://go.microsoft.com/fwlink/p/?LinkID=193849) and the DNS Namespace Planning Solution Center (http://go.microsoft.com/fwlink/p/?LinkId=198010).

    For information about required accounts, see:

    • Initial deployment administrative and service accounts (SharePoint Server 2010)

    • About Directory Synchronization (http://go.microsoft.com/fwlink/p/?LinkId=193169)

  • Database server: The required version of SQL Server, including service packs and cumulative updates must be installed on the database server. The installation must include any additional features, such as SQL Analysis Services, and the appropriate SharePoint Server logins have to be added and configured. The database server must be hardened and, if it is required, databases must be created by the DBA. For more information, see:

    • Hardware and software requirements (SharePoint Server 2010)

    • Harden SQL Server for SharePoint environments (SharePoint Server 2010)

    • Deploy by using DBA-created databases (SharePoint Server 2010)

  • Application servers and front-end Web servers: The farm servers that will have SharePoint Server installed must be prepared as follows: verify that they meet the hardware requirements, have the operating system hardened, have the required networking and security protocols configured, have the SharePoint Server 2010 software prerequisites installed and hardened, and have the required authentication configured. For more information, see:

    • System requirements (SharePoint Server 2010)

    • "Installing software prerequisites" in Hardware and software requirements (SharePoint Server 2010)

    • Plan security hardening (SharePoint Server 2010)

    • Plan authentication (SharePoint Server 2010)

Create the farm

In this phase, you install the product and configure each server to support its role in the farm. You also create the configuration database and the SharePoint Central Administration Web site. The following servers are required for a SharePoint Server farm:

  • Database server: Unless you plan to use DBA-created databases, the configuration database, content database, and other required databases are created when you run the SharePoint Products Configuration Wizard.

  • Application server: After you prepare the application server, install any additional components that are required to support functions such as Information Rights Management (IRM) and decision support. Install SharePoint Server on the server that will host SharePoint Central Administration Web site and then run the SharePoint Products Configuration Wizard to create and configure the farm.

  • Front-end Web server: Install SharePoint Server on each Web server, install language packs, and then run the SharePoint Products Configuration Wizard to add the Web servers to the farm.

    Note:

    After you add and configure all the front-end Web servers, you can add any additional application servers that are part of your topology design to the farm.

For more information about supported deployment scenarios, see Deployment scenarios (SharePoint Server 2010).

Configure settings, services, solutions, and sites

In this phase, you prepare the farm to host your site content by completing the following tasks:

  • Configure global settings. For more information, see Configure farm settings (SharePoint Server 2010)

  • Configure services. For more information, see Configure services (SharePoint Server 2010)

  • Deploy solutions and customizations. For more information, see Deploy customizations - overview (SharePoint Server 2010)

  • Create and populate the sites. For more information, see Prepare to host sites (SharePoint Server 2010)

Note:

Farm configuration steps are not isolated to a specific tier in the server infrastructure.

Deployment stages

By deploying a SharePoint Server 2010 solution in stages, you gain the benefits that are provided by a systematic approach, such as collecting performance and usage data that you can use to evaluate your solution. Additional benefits include verifying your capacity management assumptions and identifying issues before the farm is put into production.

We recommend that you deploy your farm in the following stages:

  • Planning

  • Development

  • Proof of concept (POC)

  • Pilot

  • User acceptance test (UAT)

  • Production

Planning

Before you can deploy a farm, you must plan the solution that you want to deploy and determine the infrastructure requirements, such as server resources and farm topology. When you finish the planning stage, you should have documented the following:

  • An infrastructure design to support your solution

  • A detailed description of how you will implement the farm and the solution

  • A plan for testing and validating the solution

  • A site and solution architecture

  • An understanding of the monitoring and sustained engineering requirements to support the solution

  • A record of how the solution will be governed

  • An understanding of how the solution will be messaged to the user to drive adoption of the solution

We recommend that you use the planning resources and articles described in Planning and architecture for SharePoint Server 2010.

Important:

Resource and time issues may pressure you to be less rigorous during the planning stage. We recommend that you try to be as diligent as possible because missed or lightly touched planning elements can resurface as significant issues after you are in production. These issues can create much additional work, consume unbudgeted resources, and potentially take away from the success of your SharePoint Server.

After the planning stage, you move through the following deployment stages, updating and revising your plans, configurations, and topologies as you test.

Development

During the development stage you will deploy SharePoint Server on a single server or on multiple servers to develop, test, evaluate, and refine the solution that you intend to implement. This environment is scaled according to your needs during solution development and can be retained as a scaled down environment for future development and testing. This is not a stable environment and there are no service-level agreements.

Proof of concept (POC)

During the proof of concept stage, the objective is two-fold: to understand SharePoint Server and to evaluate SharePoint Server in the context of how it can address your business needs. The first level of product evaluation can be done by installing all of the product components on a single server. You do a more extensive product evaluation by a proof-of-concept deployment.

A proof-of-concept deployment on a single server or on a small farm enables you to expand the scope of your evaluation. In this deployment, non-IT staff is added to the evaluation team, which provides a broader view of how SharePoint Server features might be actually be used in the organization. The benefit of a proof-of-concept deployment is that you can collect data that can be used to refine your original plan. This data—such as page views, user behavior patterns, and server resource consumption—also enables you to start to build a benchmark for sizing your farm. A proof of concept is also good when you evaluate service applications and determining what feature sets that you will offer your end users.

It is important during the proof-of-concept stage that you understand the unique characteristics and functionality of these features because this understanding will help you define your overall topology. Be aware that a proof-of-concept deployment requires additional resources and extends the time required to put SharePoint Server into production.

Tip:

Virtualization provides a good platform for evaluating SharePoint Server because a virtual environment provides flexibility, rapid deployment capability, and the ability to roll back virtual machines to previous states.

Pilot

A pilot is used to test your solution on a small scale. There are two approaches to using a pilot deployment. In the first approach, the focus is on functional testing without using real data. By using the second approach you test for production characteristics by using real data and have your pilot users test different kinds of tasks. We recommend the second approach because of the broader scope and real-world data that you can collect and use to refine your solution design.

A pilot deployment provides many benefits. It enables you to collect data that you can use to validate the following aspects of your farm design:

  • Infrastructure design

  • Capacity management assumptions

  • Site and solution architecture

  • Solution usage assumptions

The pilot stage also enables you to determine additional data that should be collected to increase the breadth and depth of your benchmarks. This is important if you want to assess the potential effect of additional features or services that you want to add to the farm before the user acceptance test.

At the conclusion of the pilot deployment, you can use the data that you collect to adjust the various components of the solution and its supporting infrastructure.

User acceptance test (UAT)

A user acceptance test deployment—also known as a pre-production environment—is used by organizations as a transitional step from the pilot deployment to a production deployment. An organization's business processes determine the scope, scale, and duration of user accept testing.

The topology of the pre-production environment should be the same as, or very similar to the planned production topology. During user acceptance testing, the SharePoint Server solution is tested against a subset or a complete copy of production data. This deployment stage provides a final opportunity for performance tuning and validating operational procedures such as backups and restores.

Production

The final stage is rolling your farm into a production environment. At this stage, you will have incorporated the necessary solution and infrastructure adjustments that were identified during the user acceptance test stage.

Putting the farm into production requires you to complete the following tasks:

  • Deploy the farm.

  • Deploy the solution.

  • Implement the operations plan.

  • If required, deploy additional environments such as authoring and staging farms, and services farms.


Install prerequisites from a network share (SharePoint Server 2010)

This article describes how to install Microsoft SharePoint Server 2010 prerequisites from an offline shared network location using the prerequisite installer (PrerequisiteInstaller.exe) tool.

Installing prerequisites from an offline location is typically required when the servers on which you want to install Microsoft SharePoint Server are isolated from the Internet. Even if this is not the case, installing prerequisites from an offline central location enables you to ensure farm server consistency by installing a well-known and controlled set of images.

Note:

The Microsoft SharePoint Products Preparation Tool is a user interface built on PrerequisiteInstaller.exe. The Microsoft SharePoint Products Preparation Tool accepts no user input.

In this article:

  • Installer switches and arguments

  • Download and consolidate the prerequisites on a file share

  • Install the prerequisites from the command line

  • Install the prerequisites using an arguments file

  • Known issues

Installer switches and arguments

By using PrerequisiteInstaller.exe with switches and arguments, you have control over which versions of the required software are installed and the location from where they are installed.

PrequisiteInstaller.exe accepts single or multiple switch and argument pairs. A switch identifies the prerequisite and the argument specifies the action and the location of the prerequisite.

A switch and argument pair uses the following format:

/switch: <path>

Where:

  • /switch is a valid switch to identify a prerequisite. For example, /NETFX35SP1: is the switch for .NET Framework 3.5 Service Pack 1.

  • <path> is expressed as the path to a local file or the path to a file share, for example, "C:\foldername\dotnetfx35.exe " or "\\<servername>\<sharename>\dotnetfx35.exe".

Each switch and its argument are separated by a colon and a space. The argument is enclosed in quotes.

The switch and argument pairs can be passed to PrerequisiteInstaller.exe at the command prompt or read from an arguments text file.

Download and consolidate the prerequisites on a file share

The process for downloading and consolidating prerequisites consists of the steps described in the following procedures.

To identify prerequisites

  1. Refer to the Hardware and software requirements (SharePoint Server 2010) article, which contains a list of all the required and optional software for SharePoint Server 2010. Additionally, this document provides the download location for each prerequisite that is available for download on the Internet.

  2. From the command prompt, navigate to the root of the SharePoint Server 2010 installation media or folder location.

  3. At the command prompt, type PrerequisiteInstaller.exe /?. This displays a list of the command-line options and switches and their corresponding arguments for installing a prerequisite from the command-line.

    Tip:

    To copy the contents of the active About window to the Clipboard, press CTRL+C.

  4. Verify that you have an accurate list of the required software. Compare the output from the prerequisite installer to the list of prerequisites in Step 1.

  5. Download the prerequisites to a computer that has Internet access.

Next, use the following procedure to create a central location that you can use for installing SharePoint Server prerequisites on all the farm servers.

To consolidate prerequisites

  1. Create a shared folder on a computer that can be accessed by the servers on which the prerequisites will be installed.

  2. Copy the files that you downloaded from the Internet to the shared folder.

After you finish creating an accessible network location for the prerequisites, use the procedure in the following section to install SharePoint Server 2010 prerequisites on a server.

Install the prerequisites from the command line

You can install one or all of the prerequisites from the command line using the following procedure.

To install from the command line

  1. From the Start menu, open the Command Prompt window using the Run as administrator option.

  2. Navigate to the SharePoint Server source directory.

  3. Type the prerequisite program switch and corresponding argument for the program that you want to install, and then press ENTER, for example:

    PrerequisiteInstaller.exe /SQLNCli: "\\o14-sf-admin\SP_prereqs\sqlncli.msi"

    Note:

    To install more than one prerequisite, type in each switch and argument pair, taking care to separate each pair by a space, for example:

    PrerequisiteInstaller.exe /SQLNCli: "\\o14-sf-admin\SP_prereqs\sqlncli.msi" /ChartControl: "\\o14-sf-admin\SP_prereqs\MSChart.exe" /W2K8SP2: "\\o14-sf-admin\SP_prereqs\Windows6.0-KB948465-X64.exe" /NETFX35SP1: "\\o14-sf-admin\SP_prereqs\dotnetfx35setup.exe"

Install the prerequisites using an arguments file

You can install the prerequisites from the file share using an arguments file that consists of switches and corresponding path statements to the programs that need to be installed.

When you run PrerequisiteInstaller.exe with an arguments file, the following happens:

  1. PrerequisiteInstaller.exe reads the argument file to verify that each switch is valid and that the program identified in the path statement exists.

    Note:

    If you specify an argument, PrerequisiteInstaller.exe ignores the arguments file and only processes the command-line argument.

  2. PrerequisiteInstaller.exe scans the local system to determine if any of the prerequisites are already installed.

  3. PrerequisiteInstaller.exe installs the programs in the argument file and returns one of the following exit codes:

    • 0 - Success

    • 1 - Another instance of this application is already running

    • 2 - Invalid command line parameter

    • 1001 - A pending restart blocks installation

    • 3010 - A restart is needed

  4. If a prerequisite requires a restart, a 3010 code is generated and you are prompted to click Finish to restart the system. The behavior of the installer after a 3010 code is different depending on which of the following conditions exist on the computer:

    • If Windows Server 2008 Service Pack 2 (SP2) is already installed on the system, the 3010 code is generated and the remaining prerequisites are installed. After the last prerequisite is installed you are prompted to restart the system.

    • If Windows Server 2008 SP2 is installed on the system by PrerequisiteInstaller.exe, the installer generates the 3010 code, and the installation of the remaining prerequisites is skipped. You are prompted to restart the system.

      After the system restarts, PrerequisiteInstaller.exe starts running again because the startup file that is created before the restart contains a /continue flag.

      After a restart, PrerequisiteInstaller.exe ignores the arguments file and attempts to download and install the remaining prerequisites from the Internet. For more information, see Known issues.

Use the following procedure to create an arguments file.

To create an arguments file

  1. Using a text editor, create a new text document named PrerequisiteInstaller.Arguments.txt. Save this file to the same location as PrerequisiteInstaller.exe. This file will contain the switches and arguments that are used when you run the Microsoft SharePoint Products Preparation Tool.

  2. Using a text editor, edit PrerequisiteInstaller.Arguments.txt and provide file paths to the installation source for each prerequisite switch, using the following syntax:

    /switch: <path>

    Where /switch is a valid switch and <path> is a path to the installation source.

    The following example shows a complete arguments file that uses a file share as a common installation point.

    /SQLNCli: "\\o14-sf-admin\SP_prereqs\sqlncli.msi"
    /ChartControl: "\\o14-sf-admin\SP_prereqs\MSChart.exe"
    /W2K8SP2: "\\o14-sf-admin\SP_prereqs\Windows6.0-KB948465-X64.exe"
    /NETFX35SP1: "\\o14-sf-admin\SP_prereqs\dotnetfx35setup.exe"
    /PowerShell: "\\o14-sf-admin\SP_prereqs\Windows6.0-KB968930-x64.msu"
    /KB976394: "\\o14-sf-admin\SP_prereqs\Windows6.0-KB976394-x64.msu"
    /KB976462: "\\o14-sf-admin\SP_prereqs\Windows6.1-KB976462-v2-x64.msu"
    /IDFX: "\\o14-sf-admin\SP_prereqs\Windows6.0-KB974405-x64.msu"
    /Sync: "\\o14-sf-admin\SP_prereqs\Synchronization.msi"
    /FilterPack: "\\o14-sf-admin\SP_prereqs\FilterPackx64.exe"
    /ADOMD: "\\o14-sf-admin\SP_prereqs\SQLSERVER2008_ASADOMD10.msi"
    /ReportingServices: "\\o14-sf-admin\SP_prereqs\rsSharePoint.msi"
    /Speech: "\\o14-sf-admin\SP_prereqs\SpeechPlatformRuntime.msi"
    /SpeechLPK: "\\o14-sf-admin\SP_prereqs\MSSpeech_SR_en-US_TELE.msi"

    Important:

    For readability, the switches and path statements in the preceding example are displayed on separate lines. When you actually create a PrerequisitesInstaller.Arguments.txt file do not use line breaks, but separate each switch and path statement by a space. For more information, see Known issues.

  3. After you finish editing PrerequisiteInstaller.Arguments.txt, save your edits, and verify that this file is in the same directory as PrerequisiteInstaller.exe.

Use the following procedure to install the prerequisites.

To install the prerequisites using an arguments file

  1. Run PrerequisiteInstaller.exe from the command prompt to install the prerequisites.

    Caution:

    If you are prompted to click Finish to restart the system, do not do so. Click Cancel. For more information, see Known issues before proceeding to the next step.

  2. Restart the system manually.

  3. Run PrerequisiteInstaller.exe from the command prompt.

Known issues

There are two known issues that affect the use of an arguments file:

  • Using line breaks in the arguments file

    If you create an arguments file and use line breaks to put each switch and argument on a separate line, the prerequisite installer fails. The workaround is to enter all the switch and argument pairs on a single line.

  • After a computer restart, the arguments file is not used

    After a restart, PrerequisiteInstaller.exe executes the startup command file, which contains a /continue flag. The /continue flag forces the installer to ignore the arguments file.

    You must prevent a restart by deleting the startup task in this command file using one of the following options:

    Option 1

    1. Run PrerequisiteInstaller.exe by double-clicking it. The program will display the first screen with the list of prerequisites.

    2. Click Cancel. PrerequisiteInstaller.exe deletes the startup task.

    Option 2

    1. From the Start menu, choose Run and then type regedit to open the registry.

    2. Open the key HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders.

    3. Check the value for "Common Startup". This shows the directory where the startup tasks are listed.

    4. Close the registry editor without making any changes.

    5. Navigate to the startup directory, which is usually <systemdir>\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup.

    6. Delete the startup task by deleting "SharePointServerPreparationToolStartup_0FF1CE14-0000-0000-0000-000000000000.cmd".


Installing SharePoint Server 2010
See Also

This video by Asif Rehmani illustrates how to install and configure Microsoft SharePoint Server 2010 and how to create your first Site Collection.

Asif Rehmani, SharePoint MVP, MCT, is president of SharePoint-Videos.com. For more videos from Asif, see http://www.Sharepoint-Videos.com (http://go.microsoft.com/fwlink/?LinkId=187074).

Install SharePoint Server 2010

Running time: 8:48

Play video Watch the "Installing SharePoint Server 2010" video

Download video For an optimal viewing experience, download the "Installing SharePoint Server 2010" video.

Right-click the link, and then click Save Target As to download a copy. Clicking the link will open a .wmv file in the default video viewer for full-resolution viewing.

About the author

Asif is an independent SharePoint Trainer and Consultant who is a SharePoint Server MVP and a Microsoft Certified Trainer (MCT). He is the co-author of the Wrox publication "Professional SharePoint Designer 2007." Over the years, Asif has provided SharePoint consulting and training to many large clients including: Department of Defense, NASA, Hersheys, Toshiba, State Farm, Federal Home Loan Bank, US Army and many more. Here are some conferences at which Asif has been a speaker:

  • Microsoft's SharePoint Conference

  • Microsoft's TechEd Conference

  • SharePoint Connections

  • Advisor Live

Asif is very active in the Chicago SharePoint community. He is the co-founder and an active leader of the Chicago SharePoint User Group.

Related resources

Resource | Description
Deployment for SharePoint Server 2010 | Learn about deployment scenarios, step-by-step installation instructions, and post-installation configuration for SharePoint Server 2010.
SharePoint-Videos.com (http://go.microsoft.com/fwlink/?LinkId=187074) | Find more videos from Asif Rehmani.
SharePoint Products Tech Center (http://go.microsoft.com/fwlink/?LinkID=177939) | Find details about related technologies, downloads, and additional resources.

See Also

Concepts

Video demos and training for SharePoint Server 2010


Prepare for deployment (SharePoint Server 2010)
See Also

This section provides essential steps to take before you deploy Microsoft SharePoint Server 2010.

In this section:

  • Hardware and software requirements (SharePoint Server 2010)

    This article provides the minimum hardware and software requirements necessary to install SharePoint Server 2010.

  • Initial deployment administrative and service accounts (SharePoint Server 2010)

    This article provides information about the administrative and service accounts that are required for an initial SharePoint Server 2010 deployment. Additional accounts and permissions are required to fully implement all aspects of a production farm.

  • Harden SQL Server for SharePoint environments (SharePoint Server 2010)

    This article describes how to harden Microsoft SQL Server for Microsoft SharePoint 2010 Products environments.

See Also

Concepts

Deployment overview (SharePoint Server 2010)
Deployment scenarios (SharePoint Server 2010)


Initial deployment administrative and service accounts (SharePoint Server 2010)
See Also

This article provides information about the administrative and service accounts that are required for an initial Microsoft SharePoint Server 2010 deployment. Additional accounts and permissions are required to fully implement all aspects of a production farm.

Note:

For a complete list of permissions, see Account permissions and security settings (SharePoint Server 2010).

Required permissions

To deploy SharePoint Server 2010 on a server farm, you must provide credentials for several different accounts.

The following table describes the accounts that are used to install and configure SharePoint Server 2010.

Account Purpose Requirements

SQL Server service account

The SQL Server service account is used to run SQL Server. It is the service account for the following SQL Server services:

  • MSSQLSERVER

  • SQLSERVERAGENT

If you do not use the default SQL Server instance, in the Windows Services console, these services will be shown as the following:

  • MSSQL$InstanceName

  • SQLAgent$InstanceName

Use either a Local System account or a domain user account.

If you plan to back up to or restore from an external resource, permissions to the external resource must be granted to the appropriate account. If you use a domain user account for the SQL Server service account, grant permissions to that domain user account. However, if you use the Network Service or the Local System account, grant permissions to the external resource to the machine account (domain_name\SQL_hostname$).

The instance name is arbitrary and was created when Microsoft SQL Server was installed.

Setup user account

The Setup user account is used to run the following:

  • Setup

  • SharePoint Products Configuration Wizard

  • Domain user account.

  • Member of the Administrators group on each server on which Setup is run.

  • SQL Server login on the computer that runs SQL Server.

  • Member of the following SQL Server security roles:

    • securityadmin fixed server role

    • dbcreator fixed server role

If you run Windows PowerShell cmdlets that affect a database, this account must be a member of the db_owner fixed database role for the database.

Server farm account or database access account

The server farm account is used to perform the following tasks:

  • Configure and manage the server farm.

  • Act as the application pool identity for the SharePoint Central Administration Web site.

  • Run the Microsoft SharePoint Foundation Workflow Timer Service.

  • Domain user account.

Additional permissions are automatically granted for the server farm account on Web servers and application servers that are joined to a server farm.

The server farm account is automatically added as a SQL Server login on the computer that runs SQL Server. The account is added to the following SQL Server security roles:

  • dbcreator fixed server role

  • securityadmin fixed server role

  • db_owner fixed database role for all SharePoint databases in the server farm

Note:

We recommend that you install SharePoint Server 2010 by using least-privilege administration.

See Also

Other Resources

Resource Center: Installation and Deployment for SharePoint Server 2010


Harden SQL Server for SharePoint environments (SharePoint Server 2010)

This article describes how to harden Microsoft SQL Server for Microsoft SharePoint 2010 Products environments.

In this article:

  • Summary of hardening recommendations

  • Configure a SQL Server instance to listen on a non-default port

  • Block default SQL Server listening ports

  • Configure Windows Firewall to open manually assigned ports

  • Configure a SQL Server client alias

  • Test the SQL Server client alias

Summary of hardening recommendations

For secure server farm environments, the recommendation is to do the following:

  • Block UDP port 1434.

  • Configure named instances of SQL Server to listen on a nonstandard port (other than TCP port 1433 or UDP port 1434).

  • For additional security, block TCP port 1433 and reassign the port that is used by the default instance to a different port.

  • Configure SQL Server client aliases on all front-end Web servers and application servers in the server farm. After you block TCP port 1433 or UDP port 1434, SQL Server client aliases are necessary on all computers that communicate with the computer running SQL Server.

For more information about these recommendations, see Plan security hardening (SharePoint Server 2010).

Configure a SQL Server instance to listen on a non-default port

Use SQL Server Configuration Manager to change the TCP port that is used by an instance of SQL Server.

  1. On the computer running SQL Server, open SQL Server Configuration Manager.

  2. In the left pane, expand SQL Server Network Configuration.

  3. Click the corresponding entry for the instance that you are configuring. The default instance is listed as Protocols for MSSQLSERVER. Named instances will appear as Protocols for named_instance.

  4. In the right pane, right-click TCP/IP, and then click Properties.

  5. Click the IP Addresses tab. For every IP address that is assigned to the computer running SQL Server, there is a corresponding entry on this tab. By default, SQL Server listens on all IP addresses that are assigned to the computer.

  6. To globally change the port that the default instance is listening on, follow these steps:

    1. For each IP address except IPAll, clear all values for both TCP dynamic ports and TCP Port.

    2. For IPAll, clear the value for TCP dynamic ports. In the TCP Port field, enter the port that you want the instance of SQL Server to listen on. For example, enter 40000.

  7. To globally change the port that a named instance is listening on, perform the following steps:

    1. For each IP address including IPAll, clear all values for TCP dynamic ports. A value of 0 for this field indicates that SQL Server uses a dynamic TCP port for the IP address. A blank entry for this value means that SQL Server will not use a dynamic TCP port for the IP address.

    2. For each IP address except IPAll, clear all values for TCP Port.

    3. For IPAll, clear the value for TCP dynamic ports. In the TCP Port field, enter the port that you want the instance of SQL Server to listen on. For example, enter 40000.

  8. Click OK. You will receive a message indicating that the change will not take effect until the SQL Server service is restarted. Click OK.

  9. Close SQL Server Configuration Manager.

  10. Restart the SQL Server service and confirm that the computer running SQL Server is listening on the port that you selected. You can confirm this by looking in the event viewer log after restarting the SQL Server service. Look for an information event similar to the following event:

    Event Type:Information

    Event Source:MSSQL$MSSQLSERVER

    Event Category:(2)

    Event ID:26022

    Date:3/6/2008

    Time:1:46:11 PM

    User:N/A

    Computer:computer_name

    Description:

    Server is listening on [ 'any' <ipv4>50000]

Block default SQL Server listening ports

Windows Firewall with Advanced Security uses Inbound Rules and Outbound Rules to secure incoming and outgoing network traffic. Because Windows Firewall blocks all incoming unsolicited network traffic by default, you do not have to explicitly block the default SQL Server listening ports. For more information, see Windows Firewall with Advanced Security (http://go.microsoft.com/fwlink/p/?LinkId=214109) and Configuring the Windows Firewall to Allow SQL Server Access (http://go.microsoft.com/fwlink/p/?LinkId=210584)

Configure Windows Firewall to open manually assigned ports

  1. In Control Panel, open System and Security.

  2. Click Windows Firewall, and then click Advanced Settings to open the Windows Firewall with Advanced Security dialog box.

  3. In the navigation pane, click Inbound Rules to display the available options in the Actions pane.

  4. Click New Rule to open the New Inbound Rule Wizard.

  5. Use the wizard to complete the steps that are required to allow access to the port that you defined in Configure a SQL Server instance to listen on a non-default port.

Note:

You can configure the Internet Protocol security (IPsec) to help secure communication to and from your computer that is running SQL Server by configuring the Windows firewall. You do this by selecting Connection Security Rules in the navigation pane of the Windows Firewall with Advanced Security dialog box.

Configure a SQL Server client alias

If you block UDP port 1434 or TCP port 1433 on the computer running SQL Server, you must create a SQL Server client alias on all other computers in the server farm. You can use SQL Server client components to create a SQL Server client alias for computers that connect to SQL Server.

  1. Run Setup for SQL Server on the target computer, and select the following client components to install:

    1. Connectivity Components

    2. Management Tools

  2. Open SQL Server Configuration Manager.

  3. In the left pane, click SQL Native Client Configuration.

  4. In the right pane, right-click Aliases, and select New Alias.

  5. In the Alias dialog box, enter a name for the alias and then enter the port number for the database instance. For example, enter SharePoint_alias.

  6. In the Port No field, enter the port number for the database instance. For example, enter 40000. Ensure that the protocol is set to TCP/IP.

  7. In the Server field, enter the name of the computer running SQL Server.

  8. Click Apply, and then click OK.

Test the SQL Server client alias

Test connectivity to the computer running SQL Server by using Microsoft SQL Server Management Studio, which is available by installing SQL Server client components.

  1. Open SQL Server Management Studio.

  2. When you are prompted to enter a server name, enter the name of the alias that you created, and then click Connect. If the connection is successful, SQL Server Management Studio is populated with objects that correspond to the remote database.

    Note:

    To check connectivity to additional database instances from within SQL Server Management Studio, click Connect, and then click Database Engine.


Deployment scenarios (SharePoint Server 2010)

Testing and implementing Microsoft SharePoint Server 2010 solutions at different stages of the deployment life cycle requires deployments on various topologies.

This section describes how to deploy Microsoft SharePoint Server 2010 on one or more servers to create different topologies that you can use for testing and implementing Microsoft SharePoint Server 2010 solutions at different stages of the deployment life cycle.

In this section:

  • Deploy a single server with SQL Server (SharePoint Server 2010)

    This article describes how to install SharePoint Server 2010 on a single server. This deployment uses Microsoft SQL Server and can easily be scaled out to create two- and three-tier farm topologies.

  • Deploy a single server with a built-in database (SharePoint Server 2010)

    This article describes how to install SharePoint Server 2010 on a single server. This deployment uses SQL Server Express and is typically used for evaluating SharePoint Server 2010.

  • Multiple servers for a three-tier farm (SharePoint Server 2010)

    This article describes how to install SharePoint Server 2010 on multiple servers. This deployment uses Microsoft SQL Server and the resulting three-tier topology provides the foundation for implementing any solution.

  • Quick start: Deploy single server in an isolated Hyper-V environment (SharePoint Server 2010)

    This article describes how to use Windows PowerShell to install SharePoint Server 2010 on a single server that uses either SQL Server Express or Microsoft SQL Server. Use the included Windows PowerShell code to quickly install SharePoint Server 2010 in an isolated Hyper-V environment that you can use for to evaluate SharePoint Server 2010.

  • Deploy by using DBA-created databases (SharePoint Server 2010)

    This article describes how to deploy Microsoft SharePoint Server 2010 in a farm environment that uses DBA-created databases.

  • Deploy in a virtual environment (SharePoint Server 2010)

    This article describes guidance for deploying a virtual environment.

  • Install SharePoint Server 2010 by using Windows PowerShell

    This article explains how to use a scripted module to deploy SharePoint Server 2010.

  • Deploy on Windows Azure virtual machines

    This article explains how to deploy SharePoint Server 2010 on Windows Azure Virtual Machines.


Deploy a single server with SQL Server (SharePoint Server 2010)
See Also

This article describes how to perform a clean installation of Microsoft SharePoint Server 2010 on a single server farm.

In this article:

  • Overview

  • Before you begin

  • Install SharePoint Server 2010

  • Post-installation steps

Overview

When you install SharePoint Server 2010 on a single server farm, you can configure SharePoint Server 2010 to meet your specific needs. After Setup and the SharePoint Products Configuration Wizard have been completed, you will have installed binaries, configured security permissions, registry settings, the configuration database, and the content database, and installed the SharePoint Central Administration Web site. Next, you can choose to run the Farm Configuration Wizard to configure the farm, select the services that you want to use in the farm, and create the first site collection, or you can manually perform the farm configuration at your own pace.

A single server farm typically consists of one server that runs both Microsoft SQL Server and SharePoint Server 2010. You can deploy SharePoint Server 2010 in a single server farm environment if you are hosting only a few sites for a limited number of users. This configuration is also useful if you want to configure a farm to meet your needs first, and then add servers to the farm at a later stage.

Tip:

We recommend that you use the Configure SharePoint Server 2010 as a single server with Microsoft SQL Server Test Lab Guide before you deploy a single-server farm. This guide, which identifies the required steps and recommended sequence to deploy the farm, is a valuable tool for validating your deployment plan.

Note:

This guide does not explain how to install SharePoint Server 2010 in a multiple server farm environment or how to upgrade from previous releases of SharePoint Server. For more information, see Multiple servers for a three-tier farm (SharePoint Server 2010). For more information about upgrade, see Upgrading to SharePoint Server 2010.

Before you begin

Before you begin deployment, do the following:

  • Ensure that you are familiar with the operating-system guidelines described in Performance Tuning Guidelines for Windows Server 2008 and Performance Tuning Guidelines for Windows Server 2008 R2.

  • Ensure that you have met all hardware and software requirements. For more information, see Hardware and software requirements (SharePoint Server 2010).

  • Ensure that you perform a clean installation of SharePoint Server 2010. You cannot install the RTM version of SharePoint Server 2010 without first removing the beta version of SharePoint Server 2010.

  • Ensure that you are prepared to set up the required accounts with appropriate permissions, as described in Initial deployment administrative and service accounts (SharePoint Server 2010).

    Note:

    As a security best practice, we recommend that you install SharePoint Server 2010 by using least-privilege administration.

  • Ensure that you have decided which services to use for your Web application, as described in Configure services (SharePoint Server 2010).

    Note:

    If you want to use User Profile Synchronization for your My Sites, then you must configure your permissions correctly in directory services and business systems before you install SharePoint Server 2010. For more information, see Plan for profile synchronization (SharePoint Server 2010) and Configure profile synchronization (SharePoint Server 2010).

Install SharePoint Server 2010

To install and configure SharePoint Server 2010, follow these steps:

  1. Run the Microsoft SharePoint Products Preparation Tool, which installs all required prerequisites to use SharePoint Server.

  2. Run Setup, which installs binaries, configures security permissions, and edits registry settings for SharePoint Server 2010.

  3. Run SharePoint Products Configuration Wizard, which installs and configures the configuration database, the content database, and installs the SharePoint Central Administration Web site.

  4. Configure browser settings.

  5. Run the Farm Configuration Wizard, which configures the farm, creates the first site collection, and selects the services that you want to use in the farm.

  6. Perform post-installation steps.

Important:

To complete the following procedures, you must be a member of the Administrators group on the local computer.

Run the Microsoft SharePoint Products Preparation Tool

Use the following procedure to install software prerequisites for SharePoint Server 2010.

To run the Microsoft SharePoint Products Preparation Tool

  1. Insert your SharePoint Server 2010 installation disc.

  2. On the SharePoint Server 2010 Start page, click Install software prerequisites.

    Note:

    Because the prerequisite installer downloads components from the Microsoft Download Center, you must have Internet access on the computer on which you are installing SharePoint Server.

  3. On the Welcome to the Microsoft SharePoint Products Preparation Tool page, click Next.

  4. On the License Terms for software product page, review the terms, select the I accept the terms of the License Agreement(s) check box, and then click Next.

  5. On the Installation Complete page, click Finish.

Run Setup

The following procedure installs binaries, configures security permissions, and edits registry settings for SharePoint Server 2010. At the end of Setup, you can choose to start the SharePoint Products Configuration Wizard, which is described later in this section.

To run Setup

  1. On the SharePoint Server 2010 Start page, click Install SharePoint Server.

  2. On the Enter Your Product Key page, enter your product key, and then click Continue.

  3. On the Read the Microsoft Software License Terms page, review the terms, select the I accept the terms of this agreement check box, and then click Continue.

  4. On the Choose the installation you want page, click Server farm.

  5. On the Server Type tab, click Complete.

  6. Optional: To install SharePoint Server 2010 at a custom location, click the File Location tab, and then either type the location or click Browse to find the location.

  7. Click Install Now.

  8. When Setup finishes, a dialog box prompts you to complete the configuration of your server. Ensure that the Run the SharePoint Products and Technologies Configuration Wizard now check box is selected.

  9. Click Close to start the configuration wizard.

Note:

If Setup fails, check log files in the Temp folder of the user who ran Setup. Ensure that you are logged in as the user who ran Setup, and then type %temp% in the location bar in Windows Explorer. If the path in Windows Explorer resolves to a location that ends in a "1" or "2", you will need to navigate up one level to view the log files. The log file name is SharePoint Server Setup (<timestamp>).

Tip:

If you have closed the SharePoint Products Configuration Wizard, you can access it by clicking Start, pointing to All Programs, and then clicking Microsoft SharePoint 2010 Products. If the User Account Control dialog box appears, click Continue.

Run the SharePoint Products Configuration Wizard

Use the following procedure to install and configure the configuration database and the content database, and install the SharePoint Central Administration Web site.

To run the SharePoint Products Configuration Wizard

  1. On the Welcome to SharePoint Products page, click Next.

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

  3. On the Connect to a server farm page, click Create a new server farm, and then click Next.

  4. On the Specify Configuration Database Settings page, do the following:

    1. In the Database server box, type the name of the computer that is running SQL Server.

    2. In the Database name box, type a name for your configuration database or use the default database name. The default name is SharePoint_Config.

    3. In the Username box, type the user name of the server farm account. Ensure that you type the user name in the format DOMAIN\user name.

      Important:

      The server farm account is used to create and access your configuration database. It also acts as the application pool identity account for the SharePoint Central Administration application pool, and it is the account under which the Microsoft SharePoint Foundation Workflow Timer service runs. The SharePoint Products Configuration Wizard adds this account to the SQL Server Login accounts, the SQL Server dbcreator server role, and the SQL Server securityadmin server role. The user account that you specify as the service account must be a domain user account, but it does not need to be a member of any specific security group on your front-end Web servers or your database servers. We recommend that you follow the principle of least privilege and specify a user account that is not a member of the Administrators group on your front-end Web servers or your database servers.

    4. In the Password box, type the user password.

  5. Click Next.

  6. On the Specify Farm Security Settings page, type a passphrase, and then click Next.

    Ensure that the passphrase meets the following criteria:

    • Contains at least eight characters

    • Contains at least three of the following four character groups:

      • English uppercase characters (from A through Z)

      • English lowercase characters (from a through z)

      • Numerals (from 0 through 9)

      • Nonalphabetic characters (such as !, $, #, %)

      Note:

      Although a passphrase is similar to a password, it is usually longer to enhance security. It is used to encrypt credentials of accounts that are registered in SharePoint Server; for example, the SharePoint Server system account that you provide when you run the SharePoint Products Configuration Wizard. Ensure that you remember the passphrase, because you must use it each time you add a server to the farm.

  7. On the Configure SharePoint Central Administration Web Application page, do the following:

    1. Either select the Specify port number check box and type the port number you want the SharePoint Central Administration Web application to use, or leave the Specify port number check box cleared if you want to use the default port number.

    2. Click either NTLM or Negotiate (Kerberos).

  8. Click Next.

  9. On the Completing the SharePoint Products Configuration Wizard page, review your configuration settings to verify that they are correct, and then click Next.

    Note:

    The Advanced Settings option is not available in SharePoint Server 2010.

  10. On the Configuration Successful page, click Finish.

    Note:

    If the SharePoint Products Configuration Wizard fails, check the PSCDiagnostics log files, which are located on the drive on which SharePoint Server is installed, in the %COMMONPROGRAMFILES%\Microsoft Shared\Web Server Extensions\14\LOGS folder.

    Note:

    If you are prompted for your user name and password, you might need to add the SharePoint Central Administration Web site to the list of trusted sites and configure user authentication settings in Internet Explorer. You might also want to disable the Internet Explorer Enhanced Security settings. Instructions for how to configure or disable these settings are provided in the following section.

    Tip:

    If you see a proxy server error message, you might need to configure your proxy server settings so that local addresses bypass the proxy server. Instructions for configuring proxy server settings are provided in the following section.

Configure browser settings

After you run the SharePoint Products Configuration Wizard, you should ensure that SharePoint Server works properly for local administrators in your environment by configuring additional settings in Internet Explorer.

Note:

If local administrators are not using Internet Explorer, you might need to configure additional settings. For information about supported browsers, see Plan browser support (SharePoint Server 2010).

If you are prompted for your user name and password, perform the following procedures:

  • Add the SharePoint Central Administration Web site to the list of trusted sites

  • Disable Internet Explorer Enhanced Security settings

If you receive a proxy server error message, perform the following procedure:

  • Configure proxy server settings to bypass the proxy server for local addresses

For more information, see Getting Started with IEAK 8 (http://go.microsoft.com/fwlink/p/?LinkId=151359).

To add the Central Administration Web site to the list of trusted sites

  1. In Internet Explorer, on the Tools menu, click Internet Options.

  2. On the Security tab, in the Select a zone to view or change security settings area, click Trusted Sites, and then click Sites.

  3. Clear the Require server verification (https:) for all sites in this zone check box.

  4. In the Add this Web site to the zone box, type the URL to your site, and then click Add.

  5. Click Close to close the Trusted Sites dialog box.

  6. Click OK to close the Internet Options dialog box.

To disable Internet Explorer Enhanced Security settings

  1. Click Start, point to All Programs, point to Administrative Tools, and then click Server Manager.

  2. In Server Manager, select the root of Server Manager.

  3. In the Security Information section, click Configure IE ESC.

    The Internet Explorer Enhanced Security Configuration dialog box opens.

  4. In the Administrators section, click Off to disable the Internet Explorer Enhanced Security settings, and then click OK.

To configure proxy server settings to bypass the proxy server for local addresses

  1. In Internet Explorer, on the Tools menu, click Internet Options.

  2. On the Connections tab, in the Local Area Network (LAN) settings area, click LAN Settings.

  3. In the Automatic configuration area, clear the Automatically detect settings check box.

  4. In the Proxy Server area, select the Use a proxy server for your LAN check box.

  5. Type the address of the proxy server in the Address box.

  6. Type the port number of the proxy server in the Port box.

  7. Select the Bypass proxy server for local addresses check box.

  8. Click OK to close the Local Area Network (LAN) Settings dialog box.

  9. Click OK to close the Internet Options dialog box.

Run the Farm Configuration Wizard

You have now completed Setup and the initial configuration of SharePoint Server 2010. You have created the SharePoint Central Administration Web site. You can now create your farm and sites, and you can select services by using the Farm Configuration Wizard.

To run the Farm Configuration Wizard

  1. On the SharePoint Central Administration Home page, under Quick Launch, click Configuration Wizards, and then click Launch the Farm Configuration Wizard.

  2. On the Help Make SharePoint Better page, click one of the following options, and then click OK:

    • Yes, I am willing to participate (Recommended.)

    • No, I don't want to participate.

  3. On the Configure your SharePoint farm page, click Walk me through the settings using this wizard, and then click Next.

  4. On the Configure your SharePoint farm page, in the Service Account section, click the service account option that you want to use to configure your services.

    Note:

    For security reasons, we recommend that you use a different account from the farm administrator account to configure services in the farm.

    If you decide to use an existing managed account — that is, an account that SharePoint Server is aware of — ensure that you click that option before you continue.

  5. Select the services that you want to use in the farm, and then click Next.

    Note:

    For more information, see Configure services (SharePoint Server 2010). If you are using Microsoft Office Web Apps, see Office Web Apps (Installed on SharePoint 2010 Products).

  6. On the Create Site Collection page, do the following:

    1. In the Title and Description section, in the Title box, type the name of your new site.

    2. Optional: In the Description box, type a description of what the site contains.

    3. In the Web Site Address section, select a URL path for the site.

    4. In the Template Selection section, in the Select a template list, select the template that you want to use for the top-level site in the site collection.

      Note:

      To view a template or a description of a template, click any template in the Select a template list.

  7. Click OK.

  8. On the Configure your SharePoint farm page, review the summary of the farm configuration, and then click Finish.

Post-installation steps

After you install and configure SharePoint Server 2010, your browser window opens to the Central Administration Web site of your new SharePoint site. Although you can start adding content to the site or customizing the site, we recommend that you first perform the following administrative tasks by using the SharePoint Central Administration Web site.

  • Configure usage and health data collection You can configure usage and health data collection in your server farm. The system writes usage and health data to the logging folder and to the logging database. For more information, see Configure usage and health data collection (SharePoint Server 2010).

  • Configure diagnostic logging You can configure diagnostic logging that might be required after initial deployment or upgrade. The default settings are sufficient for most situations, but depending upon the business needs and lifecycle of the farm, you might want to change these settings. For more information, see Configure diagnostic logging (SharePoint Server 2010).

  • Configure incoming e-mail You can configure incoming e-mail so that SharePoint sites accept and archive incoming e-mail. You can also configure incoming e-mail so that SharePoint sites can archive e-mail discussions as they happen, save e-mailed documents, and show e-mailed meetings on site calendars. In addition, you can configure the SharePoint Directory Management Service to provide support for e-mail distribution list creation and management. For more information, see Configure incoming e-mail (SharePoint Server 2010).

  • Configure outgoing e-mail You can configure outgoing e-mail so that your Simple Mail Transfer Protocol (SMTP) server sends e-mail alerts to site users and notifications to site administrators. You can configure both the "From" e-mail address and the "Reply" e-mail address that appear in outgoing alerts. For more information, see Configure outgoing e-mail (SharePoint Server 2010).

  • Configure a mobile account You can configure a mobile account so that SharePoint sends text message (SMS) alerts to your, or site users', mobile phones. For more information, see Configure a mobile account (SharePoint Server 2010).

  • Install and configure Remote BLOB Storage You can install and configure Remote BLOB Storage (RBS) for an instance of SQL Server 2008 that supports a SharePoint farm. For more information, see Install and configure RBS (SharePoint Server 2010).

  • Configure Search settings You can configure Search settings to crawl the content in SharePoint Server 2010. For more information, see Configure enterprise search (SharePoint Server 2010).

  • Configure and use the Exchange connector You can create a crawl rule and add a content source for crawling Microsoft Exchange Server public folders. For more information, see Configure and use the Exchange connector (SharePoint Server 2010).

See Also

Other Resources

Resource Center: Installation and Deployment for SharePoint Server 2010


Deploy a single server with a built-in database (SharePoint Server 2010)
See Also

This article describes how to perform a clean installation of Microsoft SharePoint Server 2010 on a single server with a built-in database.

In this article:

  • Overview

  • Before you begin

  • Install SharePoint Server 2010

  • Post-installation steps

Overview

You can quickly publish a SharePoint site by deploying SharePoint Server 2010 on a single server with a built-in database. This configuration is useful if you want to evaluate SharePoint Server 2010 features and capabilities, such as collaboration, document management, and search. This configuration is also useful if you are deploying a small number of Web sites and you want to minimize administrative overhead. When you deploy SharePoint Server 2010 on a single server with a built-in database by using the default settings, Setup installs Microsoft SQL Server 2008 Express and the SharePoint product, and then the SharePoint Products Configuration Wizard creates the configuration database and content database for your SharePoint sites. Additionally, the SharePoint Products Configuration Wizard installs the SharePoint Central Administration Web site and creates your first SharePoint site collection.

Note:

This article does not describe how to install SharePoint Server 2010 in a farm environment, or how to upgrade from previous releases of SharePoint Server. For more information about installing SharePoint Server 2010 on a single server farm, see Deploy a single server with SQL Server (SharePoint Server 2010). For more information about installing SharePoint Server 2010 on a multiple server farm, see Multiple servers for a three-tier farm (SharePoint Server 2010). For more information about upgrade, see Upgrading to SharePoint Server 2010.

Consider the following restrictions of this method of installation:

  • You cannot install the single server with built-in database version of SharePoint Server on a domain controller.

  • A SQL Server 2008 Express database cannot be larger than 4 GB.

  • You cannot use User Profile Synchronization in a single server with built-in database installation. If you want to use User Profile Synchronization, you must use a server farm installation of SharePoint. For more information, see Deploy a single server with SQL Server (SharePoint Server 2010) or Multiple servers for a three-tier farm (SharePoint Server 2010), and Configure profile synchronization (SharePoint Server 2010).

Before you begin

Before you begin deployment, ensure that you have met all hardware and software requirements. For more information, see Hardware and software requirements (SharePoint Server 2010). Also, ensure that you perform a clean installation of SharePoint Server 2010. You cannot install the released version of SharePoint Server 2010 without first removing the beta version of SharePoint Server 2010.

Install SharePoint Server 2010

To install and configure SharePoint Server 2010, follow these steps:

  1. Run the Microsoft SharePoint Products Preparation Tool.

  2. Run Setup, which installs SQL Server 2008 Express and the SharePoint product.

  3. Run SharePoint Products Configuration Wizard, which installs and configures the configuration database, the content database, and installs the SharePoint Central Administration Web site. This wizard also creates your first SharePoint site collection.

  4. Configure browser settings.

  5. Perform post-installation steps.

Important:

To complete the following procedures, you must be a member of the Administrators group on the local computer.

Run the Microsoft SharePoint Products Preparation Tool

Use the following procedure to install software prerequisites for SharePoint Server 2010.

To run the Microsoft SharePoint Products Preparation Tool

  1. Insert your SharePoint Server 2010 installation disc.

  2. On the SharePoint Server 2010 Start page, click Install software prerequisites.

    Note:

    Because the prerequisite installer downloads components from the Microsoft Download Center, you must have Internet access on the computer on which you are installing SharePoint Server.

  3. On the Welcome to the Microsoft SharePoint Products Preparation Tool page, click Next.

  4. On the Installation Complete page, click Finish.

Run Setup

The following procedure installs SQL Server 2008 Express and the SharePoint product. At the end of Setup, you can choose to start the SharePoint Products Configuration Wizard, which is described later in this section.

To run Setup

  1. On the SharePoint Server 2010 Start page, click Install SharePoint Server.

  2. On the Read the Microsoft Software License Terms page, review the terms, select the I accept the terms of this agreement check box, and then click Continue.

  3. On the Choose the installation you want page, click Standalone.

  4. When Setup finishes, a dialog box prompts you to complete the configuration of your server. Ensure that the Run the SharePoint Products Configuration Wizard now check box is selected.

  5. Click Close to start the configuration wizard.

    Note:

    If Setup fails, check log files in the Temp folder of the user who ran Setup. Ensure that you are logged in as the user who ran Setup, and then type %temp% in the location bar in Windows Explorer. If the path in Windows Explorer resolves to a location that ends in a "1" or "2", you will need to navigate up one level to view the log files. The log file name is SharePoint Server Setup (<timestamp>).

    Tip:

    If you have closed the SharePoint Products Configuration Wizard, you can access it by clicking Start, pointing to All Programs, and then clicking Microsoft SharePoint 2010 Products. If the User Account Control dialog box appears, click Continue.

Run the SharePoint Products Configuration Wizard

Use the following procedure to install and configure the configuration database and the content database, and install the SharePoint Central Administration Web site. This also creates your first SharePoint site collection.

To run the SharePoint Products Configuration Wizard

  1. On the Welcome to SharePoint Products page, click Next.

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

  3. On the Configuration Successful page, click Finish.

    Note:

    If the SharePoint Products Configuration Wizard fails, check the PSCDiagnostics log files, which are located on the drive on which SharePoint Server is installed, in the %COMMONPROGRAMFILES%\Microsoft Shared\Web Server Extensions\14\LOGS folder.

  4. On the Template Selection page, select one of the following options, and then click OK:

    • In the Template Selection section, click a predefined template.

    • In the Solutions Gallery section, click Solutions Gallery, and customize your own site template.

  5. On the Set Up Groups for this Site page, specify who should have access to your site, and then either create a new group or use an existing group for these users by doing one of the following:

    • To create a new group, click Create a new group, and then type the name of the group and the members you want to be part of this group.

    • To use an existing group, click Use an existing group, and then select the user group in the Item list.

  6. Click OK.

Note:

If you are prompted for your user name and password, you might need to add the SharePoint Central Administration Web site to the list of trusted sites and configure user authentication settings in Internet Explorer. You might also want to disable the Internet Explorer Enhanced Security settings. Instructions for how to configure or disable these settings are provided in the following section.

Tip:

If you see a proxy server error message, you might need to configure your proxy server settings so that local addresses bypass the proxy server. Instructions for configuring proxy server settings are provided in the following section.

Configure browser settings

After you run the SharePoint Products Configuration Wizard, you should ensure SharePoint Server 2010 works properly for local administrators in your environment by configuring additional settings in Internet Explorer.

Note:

If local administrators are not using Internet Explorer, you might need to configure additional settings. For information about supported browsers, see Plan browser support (SharePoint Server 2010).

If you are prompted for your user name and password, perform the following procedures:

  • Add the SharePoint Central Administration Web site to the list of trusted sites

  • Disable Internet Explorer Enhanced Security settings

If you receive a proxy server error message, perform the following procedure:

  • Configure proxy server settings to bypass the proxy server for local addresses

For more information, see Getting Started with IEAK 8 (http://go.microsoft.com/fwlink/p/?LinkId=151359).

To add the Central Administration Web site to the list of trusted sites

  1. In Internet Explorer, on the Tools menu, click Internet Options.

  2. On the Security tab, in the Select a zone to view or change security settings area, click Trusted Sites, and then click Sites.

  3. Clear the Require server verification (https:) for all sites in this zone check box.

  4. In the Add this Web site to the zone box, type the URL to your site, and then click Add.

  5. Click Close to close the Trusted Sites dialog box.

  6. Click OK to close the Internet Options dialog box.

To disable Internet Explorer Enhanced Security settings

  1. Click Start, point to All Programs, point to Administrative Tools, and then click Server Manager.

  2. In Server Manager, select the root of Server Manager.

  3. In the Security Information section, click Configure IE ESC.

    The Internet Explorer Enhanced Security Configuration dialog box opens.

  4. In the Administrators section, click Off to disable the Internet Explorer Enhanced Security settings, and then click OK.

To configure proxy server settings to bypass the proxy server for local addresses

  1. In Internet Explorer, on the Tools menu, click Internet Options.

  2. On the Connections tab, in the Local Area Network (LAN) settings area, click LAN Settings.

  3. In the Automatic configuration area, clear the Automatically detect settings check box.

  4. In the Proxy Server area, select the Use a proxy server for your LAN check box.

  5. Type the address of the proxy server in the Address box.

  6. Type the port number of the proxy server in the Port box.

  7. Select the Bypass proxy server for local addresses check box.

  8. Click OK to close the Local Area Network (LAN) Settings dialog box.

  9. Click OK to close the Internet Options dialog box.

Post-installation steps

After you install SharePoint Server 2010, your browser window opens to the Central Administration Web site of your new SharePoint site. Although you can start adding content to the site or you can start customizing the site, we recommend that you first perform the following administrative tasks by using the SharePoint Central Administration Web site:

  • Configure usage and health data collection You can configure usage and health data collection in your server farm. The system writes usage and health data to the logging folder and to the logging database. For more information, see Configure usage and health data collection (SharePoint Server 2010).

  • Configure diagnostic logging You can configure diagnostic logging that might be required after initial deployment or upgrade. The default settings are sufficient for most situations, but depending upon the business needs and lifecycle of the farm, you might want to change these settings. For more information, see Configure diagnostic logging (SharePoint Server 2010).

  • Configure incoming e-mail You can configure incoming e-mail so that SharePoint sites accept and archive incoming e-mail. You can also configure incoming e-mail so that SharePoint sites can archive e-mail discussions as they happen, save e-mailed documents, and show e-mailed meetings on site calendars. In addition, you can configure the SharePoint Directory Management Service to provide support for e-mail distribution list creation and management. For more information, see Configure incoming e-mail (SharePoint Server 2010).

  • Configure outgoing e-mail You can configure outgoing e-mail so that your Simple Mail Transfer Protocol (SMTP) server sends e-mail alerts to site users and notifications to site administrators. You can configure both the "From" e-mail address and the "Reply" e-mail address that appear in outgoing alerts. For more information, see Configure outgoing e-mail (SharePoint Server 2010).

  • Configure a mobile account You can configure a mobile account so that SharePoint sends text message (SMS) alerts to your, or site users', mobile phones. For more information, see Configure a mobile account (SharePoint Server 2010).

  • Install and configure Remote BLOB Storage You can install and configure Remote BLOB Storage (RBS) for an instance of SQL Server 2008 that supports a SharePoint server farm. For more information, see Install and configure RBS (SharePoint Server 2010).

  • Configure search settings You can configure search settings to crawl the content in SharePoint Server 2010. For more information, see Configure enterprise search (SharePoint Server 2010).

  • Configure and use the Exchange connector You can create a crawl rule and add a content source for crawling Microsoft Exchange Server public folders. For more information, see Configure and use the Exchange connector (SharePoint Server 2010).

See Also

Other Resources

Resource Center: Installation and Deployment for SharePoint Server 2010


Multiple servers for a three-tier farm (SharePoint Server 2010)
See Also

You can install Microsoft SharePoint Server 2010 on multiple servers to create a Microsoft SharePoint Server farm that is deployed across three tiers.

The farm consists of two front-end Web servers, an application server, and a database server. The deployment sequence and configurations that are described in this article are based on recommended best practices. The resulting farm configuration is not complex, but provides a fundamental infrastructure for implementing a SharePoint Server solution on similar — or more complex — farms.

The farm is provisioned with Search Service Application; Search is configured to crawl the content that is created as part of this deployment.

Tip:

We recommend that you use the Configure SharePoint Server 2010 in a Three-Tier Farm Test Lab Guide before you deploy the farm. This guide, which identifies the required steps and recommended sequence to deploy the farm, is a valuable tool for validating your deployment plan.

In this article:

  • Overview

  • Prepare the farm servers

  • Install SharePoint Server 2010 on the farm servers

  • Create and configure the farm

  • Add Web servers to the farm

  • Configure diagnostic logging and usage and health data collection

  • Create and configure a new Search Service Application

  • Create a site

  • Add content sources and configure a search crawl schedule

  • Post-installation steps

Overview

The basic steps in this deployment are as follows:

  • Ensure that you are familiar with the concept of a three-tier topology.

  • Ensure that you have done all the planning and preparatory work, such as verifying hardware and software requirements.

  • Install the required software updates on all servers that will be part of the farm.

  • Install the SharePoint Server prerequisites on servers in the application and Web tiers.

  • Install SharePoint Server on the application server and the Web servers.

  • Create and configure the SharePoint farm.

  • Provision services.

  • Complete post-deployment tasks as required.

Topology overview

This topology is typically used for the medium and large farms described in Deployment overview (SharePoint Server 2010). In terms of performance, capacity, and scalability, a three-tier topology is recommended over a two-tier topology. A three-tier topology provides the most efficient physical and logical layout to support scaling out or scaling up, and provides better distribution of services across the member servers of the farm. The following illustration shows the three-tier deployment that is described in this article.

SharePoint Server 2010: three tier topology

Referring to the preceding illustration, note the following:

  • You can add Web servers to the Web tier. These servers can be configured as conventional Web servers to handle user requests, or they can be configured to host dedicated query components or other service components.

  • You can add farm servers to the application tier and configure them as dedicated servers that will host the Central Administration Web site or other services on the farm that require dedicated resources or isolation from the Web tier — for example, crawl components, query components, and profile pages.

  • You can add database servers to the database tier to implement a stand-alone instance, database mirroring, or a failover cluster. If you are configuring the farm for high availability, database mirroring or a failover cluster is required on the database tier.

Before you begin

Before you begin deployment, do the following:

  • Ensure that you are familiar with the operating-system guidelines described in Performance Tuning Guidelines for Windows Server 2008 and Performance Tuning Guidelines for Windows Server 2008 R2.

  • Ensure that you have met all hardware and software requirements. For more information, see Hardware and software requirements (SharePoint Server 2010)

  • Ensure that you are prepared to set up the required accounts with appropriate permissions, as described in Initial deployment administrative and service accounts (SharePoint Server 2010)

    Note:

    As a security best practice, we recommend that you install SharePoint Server by using least-privilege administration.

Using the Microsoft SharePoint 2010 Products Preparation Tool

The Microsoft SharePoint Products Preparation Tool checks for the presence of prerequisites, and installs and configures any programs that are required. The Microsoft SharePoint Products Preparation Tool requires an Internet connection to download and configure SharePoint Server prerequisites. If you do not have an Internet connection for the farm servers, you will have to obtain installable images for the required software. For installation locations, see Software requirements in "Determine hardware and software requirements (SharePoint Server 2010)."

If you decide to obtain installable images, we recommend that you create an installation point that you can use for storing the images. You can use this installation point for installing future software updates.

Database server

Ensure that SQL Server 2005 or SQL Server 2008 is updated to the required level and configured as follows:

  • SQL Server 2005: Local and remote connections are enabled and are configured to use the TCP/IP protocol.

  • SQL Server 2008: The TCP/IP protocol is enabled for the network configuration.

In organizations whose database administrators operate independently from SharePoint administrators, you will need to ensure that the correct version of SQL Server is available and updated to the required level. In addition, you will have to request a DBA-created database that is configured for your farm.

Note:

The procedures in this article do not use a DBA-created database; these procedures will be different in a DBA-created database deployment. For more information, see Deploy by using DBA-created databases (SharePoint Server 2010).

Public updates and hotfix packages

Ensure that public updates and the required hotfix packages are installed for the operating system, SQL Server, and SharePoint Server. We recommend that all servers be updated to the same software version before you apply the public updates. The following hotfixes must be applied for this release of SharePoint Server:

  • SQL Server 2008: Install this update before deploying the farm. Cumulative update package 2 for SQL Server 2008 Service Pack 1

  • After you install the prerequisites on each farm server, you will need to install Error message when you use the "IMSAdminBase::CopyKey" method as a part of the IIS 6.0 Compatibility components in IIS 7.0: "Exception from HRESULT: 0x80070003" on the application server first, and then on the two Web servers.

Prepare the farm servers

Before you install SharePoint Server , you must check for and install all the prerequisites on the application server and the Web servers by using the Microsoft SharePoint Products Preparation Tool.

Tip:

If you decide to install prerequisites manually, you can still run the Microsoft SharePoint Products Preparation Tool to verify which prerequisites are required on each server.

Use the following procedure to install prerequisites on each of the farm servers.

To run the preparation tool

  1. Download SharePoint Server 2010 (http://go.microsoft.com/fwlink/p/?LinkId=168780) from the product installation location, and then double-click the appropriate executable file.

  2. If you install from a bootable image, click Install software prerequisites on the splash screen.

    Note:

    You can download all of the prerequisites and install them from a network share. For more information, see Install prerequisites from a network share (SharePoint Server 2010).

  3. On the Welcome to the Microsoft SharePoint Products Preparation Tool page, click Next.

    Note:

    The preparation tool may have to restart the local server to complete the installation of some of the prerequisites. The installer will continue to run after the server is restarted, and no manual intervention is required. However, you will have to log back on to the server.

  4. On the Installation Complete page, click Finish.

    Note:

    After you complete the Microsoft SharePoint Products Preparation Tool, you must install KB 949516 (http://go.microsoft.com/fwlink/p/?LinkId=148917) and KB 971831 (http://go.microsoft.com/fwlink/p/?LinkID=165750). You might also need to restart the server after installing this hotfix.

    Note:

    If the error message "Loading this assembly would produce a different grant set from other instances. (Exception from HRESULT: 0x80131401)" is displayed when you start the IIS worker process (w3wp.exe), another service, or a managed application on a server that is also running SharePoint Server 2010, you must install KB963676 (http://go.microsoft.com/fwlink/p/?LinkId=151358). You must restart the computer after you apply this hotfix.

Install SharePoint Server 2010 on the farm servers

After the prerequisites are installed, use the following procedure to install SharePoint Server on each of the farm servers.

To run Setup

  1. On the Start page, click Install Office SharePoint ServerInstall SharePoint Foundation.

  2. On the Read the Microsoft Software License Terms page, review the terms, select the I accept the terms of this agreement check box, and then click Continue.

  3. On the Choose the installation you want page, click Server Farm.

  4. On the Server Type tab, click Complete.

  5. On the File Location tab, accept the default location or change the installation path, and then click Install Now.

    Note:

    As a best practice, we recommend that you install SharePoint Server on a non-system drive.

  6. When Setup finishes, a dialog box prompts you to complete the configuration of your server. Clear the Run the SharePoint Products and Technologies Configuration Wizard now check box.

    Note:

    For consistency of approach, we recommend that you do not run the configuration wizard until SharePoint Server has been installed on all application and front-end Web servers that will participate in the server farm.

  7. Click Close to finish Setup.

Create and configure the farm

To create and configure the farm, you run the SharePoint Products Configuration Wizard. This wizard automates several configuration tasks, including creating the configuration database, installing services, and creating the Central Administration Web site. It is recommended that you run the SharePoint Products Configuration Wizard on the server that will host the Central Administration Web site before you run the wizard on the other servers in the farm.

To run the configuration wizard and configure the farm

  1. On the server that will host Central Administration (the application server), click Start, point to All Programs, and then click Microsoft SharePoint 2010 Products.

  2. In the list of available options, click SharePoint Products and Technologies Configuration Wizard.

  3. On the Welcome to SharePoint Products and Technologies page, click Next.

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

  5. On the Connect to a server farm page, click Create a new server farm, and then click Next.

  6. On the Specify Configuration Database Settings page, do the following:

    1. In the Database server box, type the name of the computer that is running SQL Server.

    2. In the Database name box, type a name for your configuration database, or use the default database name. The default name is SharePoint_Config.

    3. In the Username box, type the user name of the server farm account in DOMAIN\username format.

      Important:

      The server farm account is used to create and access your configuration database. It also acts as the application pool identity account for the SharePoint Central Administration application pool, and it is the account under which the Windows SharePoint Services Timer service runs. The SharePoint Products Configuration Wizard adds this account to the SQL Server Login accounts, the SQL Server dbcreator server role, and the SQL Server securityadmin server role. The user account that you specify as the service account must be a domain user account, but it does not need to be a member of any specific security group on your Web servers or your database servers. We recommend that you follow the principle of least privilege, and specify a user account that is not a member of the Administrators group on your Web servers or your database servers.

    4. In the Password box, type the user password.

  7. Click Next.

  8. On the Specify Farm Security Settings page, type a passphrase, and then click Next.

    Ensure that the passphrase meets the following criteria:

    • Contains at least eight characters

    • Contains at least three of the following four character groups:

      • English uppercase characters (from A through Z)

      • English lowercase characters (from a through z)

      • Numerals (from 0 through 9)

      • Nonalphabetic characters (such as !, $, #, %)

      Note:

      Although a passphrase is similar to a password, it is usually longer to enhance security. It is used to encrypt credentials of accounts that are registered in SharePoint Server 2010. For example, the SharePoint Server 2010 system account that you provide when you run the SharePoint Products Configuration Wizard wizard. Ensure that you remember the passphrase, because you must use it each time you add a server to the farm.

  9. On the Configure SharePoint Central Administration Web Application page, do the following:

    1. Either select the Specify port number check box and type a port number if you want the SharePoint Central Administration Web application to use a specific port number, or leave the Specify port number check box cleared if you want to use the default port number.

      Note:

      If you want to access the SharePoint Central Administration Web site from a remote computer, ensure that you allow access to the port number that you configure in this step. You do this by configuring the inbound rule for SharePoint Central Administration v4 in Windows Firewall with Advanced Security.

    2. Click either NTLM or Negotiate (Kerberos).

  10. Click Next.

  11. On the Configuration Successful page, click Finish.

    Note:

    If the SharePoint Products Configuration Wizard fails, check the log files on the drive on which SharePoint Server 2010 is installed, which are located in the %COMMONPROGRAMFILES%\Microsoft Shared\Web Server Extensions\14\LOGS folder.

  12. The Central Administration Web site will open in a new browser window.

    On the Help Make SharePoint Better page, click one of the following options and then click OK.

    1. Yes, I am willing to participate (Recommended).

    2. No, I don't wish to participate.

  13. On the Configure your SharePoint farm page, you have the option to use a wizard to configure services or you can decide to configure services manually. For the purpose of this article, we use the manual option. Click Cancel.

    The choice you make here is a matter of personal preference. The Farm Configuration Wizard will configure some services automatically when it is run; however, if you configure services manually you have greater flexibility in designing your logical architecture.

    For information about using the wizard to configure services, see Configure services (SharePoint Server 2010). If you are using Microsoft Office Web Apps, see Office Web Apps (Installed on SharePoint 2010 Products).

    Important:

    If you are using a DBA-created database you cannot use the Farm Configuration Wizard, you must use SharePoint Products Configuration Wizard.

Add Web servers to the farm

After you create the farm on the application server, you can add the servers for the Web tier by following the same process described earlier in this topic for installing SharePoint Server on the server that hosts Central Administration. The only difference is that during Setup, you will be prompted to join and existing farm. Follow the wizard steps to join the farm.

For additional information about adding servers to a farm, see Add a Web or application server to the farm (SharePoint Server 2010). This article also provides detailed information for the steps in the following procedure.

Configure diagnostic logging and usage and health data collection

After you add the front-end Web servers, configure initial diagnostic logging and usage and health data collection for the farm.

Diagnostic logging can help identify and isolate issues as they occur in your server farm. Accept the default settings when you configure diagnostic logging on new installations. Then, when issues occur in your server farm, you can revisit these settings and adjust the levels accordingly. This will help to identify the cause and isolate the issues. Usage and health reporting can be used to show where diagnostic logging settings deviate from the default values.

For more information about diagnostic and health usage, see:

  • Configure diagnostic logging (SharePoint Server 2010)

  • Configure usage and health data collection (SharePoint Server 2010)

Use the following procedures to complete the initial configuration of diagnostic logging and usage and health data collection.

Note:

Because this is an initial farm deployment without any benchmark data, default settings are accepted unless otherwise noted.

To configure diagnostic logging

  1. On the Central Administration Home page, click Monitoring.

  2. In the Reporting section, click Configure diagnostic logging.

  3. On the Diagnostic Logging page, verify that Enable Event Log Flood Protection is selected. If not, click the corresponding check box to enable this feature.

  4. The default location for the trace log is on the drive where you installed SharePoint Server. As a best practice, we recommend that the trace log be stored on a non-system drive.

    Important:

    If you change the trace log path to a non-system drive, this location must exist on all the servers in the farm. Existing or new servers cannot log data if the location does not exist. In addition, you will not be able to add new servers unless the path you specify exists on the new server. You cannot use a network share for logging purposes.

  5. Click OK to save your changes.

After you finish configuring diagnostic logging, configure usage and health data collection.

To configure usage and health data collection

  • On the Central Administration Monitoring page, click Configure usage and health data collection.

  • Click the check box to enable Usage Data Collection.

  • Click the check box to enable Health Data Collection.

  • Click OK.

Create and configure a new Search Service Application

As a best practice, we recommend that you install search components on the Web and application tiers in order to optimize performance by distributing the load placed on the servers in the farm. To distribute search components across the farm tiers, you must follow these steps:

  • Create a new Search Service Application

  • Move the query components to the Web tier

For more information about service applications, see:

  • About service applications and services (SharePoint Server 2010)

  • Service application and service management (SharePoint Server 2010)

To create a Search Service Application

  1. On the server that hosts the Central Administration Web site, open Central Administration.

  2. Under the Application Management section, click Manage service applications.

  3. On the ribbon, click New, and then click Search Service Application.

  4. On the Create New Search Service Application page, accept the default value for Name, or type in a new name for the search service application.

  6. For the Search Service Account, accept the default for the farm, or create a new account for the Search Service. For more information about farm accounts, see Initial deployment administrative and service accounts (SharePoint Server 2010).

    Security Note:

    We recommend that you create a new account for the Search Service. If you accept the default account, the Search Service will use the highly privileged farm administrator account. This is not recommended because the content access account, which defaults to the Search Service account, would crawl all the drafts and Help files in your corpus, thus exposing all content in the search results.

  7. For the Application Pool for Search Admin Web Service, accept the default (Create new application pool), and then type a name for the application pool.

  8. For the Application Pool for Search Query and Site Settings Web Service, use the same application pool that you created for the Search Admin Web Service. Click Use existing application pool, and then select the pool name from the drop-down list.

  9. Click OK.

After you create a Search Service Application, the result is a topology where the search administration and crawl components are configured on the server that hosts the Central Administration Web site. The next step is to move the query components to the servers on the Web tier, the crawl and property store (query) databases are provisioned on the SQL server instance that was specified for the SharePoint Server farm.

Important:

The search administration component cannot be moved to another server: it resides on the server where the Search Service Application was created. There can only be one search administration component per farm.

To move the query component to a Web server

  1. On the Central Administration Home page, click Manage service applications.

  2. On the Services Applications page, click Search Service Application.

  3. On the Search Administration page, in the Search Application Topology section, click Modify.

  4. On the Topology for Search Service Application: Search Service Application page, in the Index Partition section, click Query component 0, and then click Edit Properties.

  5. On the Edit Query Component page, select one of the front-end Web servers from the Server drop-down list, and then click OK.

  6. On the Topology for Search Service Application: Search Service Application page, in the Index Partition section, click Query component 0, and then click Add mirror.

    Note:

    A query component mirror is a replica of the index partition on another server — in this case, on one of the front-end Web servers.

  7. On the Add mirror query component page, in the Server drop-down list, select the front-end Web server that you identified on the Edit Query Component page, and then click OK.

  8. Repeat the preceding steps and configure the second front-end Web server as a host for a query component and its mirror.

Create a site

To create a site during this phase of the deployment, you must create a Web application and a site collection. Use the procedures in the following articles to create a Web application by using Central Administration, and then create a top-level Web site that is associated with the Web application.

  • Create a Web application

    Important:

    When creating a new Web application or extending the existing Web application into a new zone initially, ensure that the public URL is the URL that end users will use to browse to the Web application. If you are using reverse proxy servers or load balancers, you may also have to add internal URLs for alternate access mapping (AAM). We recommend that you configure AAM before creating a site collection. For more information, see Logical architecture components (SharePoint Server 2010).

  • Create a site collection (SharePoint Server 2010)

Add content sources and configure a search crawl schedule

The final step is to identify a content source for search, and then configure the initial and incremental crawl schedule.

Use the following procedure to add a content source and configure the crawl schedule. In this procedure, the default content source is used for configuring crawl, but you can choose a different content source in your environment.

To add a content source and configure a crawl schedule

  1. On the Central Administration Home page, click Manage service applications in the Application Management section.

  2. On the Service Applications tab, click Search Service Application

  3. On the Search Administration page, in the Crawling section, click Content Sources.

  4. On the Manage Content Sources page, Local SharePoint sites are displayed as the available content source. You can configure crawl for the existing source, or click New Content Source to add a content source.

    Note:

    For the purpose of this article, the default source is used for configuring crawl.

  5. Click Local SharePoint sites.

  6. On the Edit Content Source page, click Create schedule in the Full Crawl section.

    On the Manage Schedules page, configure the type of schedule and the schedule settings that you want to use.

  7. On the Edit Content Source page, click Create schedule in the Incremental Crawl section.

    On the Manage Schedules page, configure the type of schedule and the schedule settings that you want to use.

  8. Click Start full crawl of this content source.

  9. Click OK.

Post-installation steps

After you install and configure SharePoint Server 2010, your browser window opens to the Central Administration Web site of your new SharePoint site. Although you can start adding content to the site or customizing the site, we recommend that you first perform the following administrative tasks by using the SharePoint Central Administration Web site.

  • Configure outgoing e-mail You can configure outgoing e-mail so that your Simple Mail Transfer Protocol (SMTP) server sends e-mail alerts to site users and notifications to site administrators. You can configure both the "From" e-mail address and the "Reply" e-mail address that appear in outgoing alerts. For more information, see Configure outgoing e-mail (SharePoint Server 2010).

    Note:

    You can configure incoming e-mail so that SharePoint sites accept and archive incoming e-mail. However, we recommend that you undertake this task after you complete the initial farm deployment and configuration. For more information, see Configure incoming e-mail (SharePoint Server 2010).

  • Configure a mobile account You can configure a mobile account so that SharePoint sends text message (SMS) alerts to your, or site users', mobile phones. For more information, see Configure a mobile account (SharePoint Server 2010).

See Also

Other Resources

Resource Center: Installation and Deployment for SharePoint Server 2010


Quick start: Deploy single server in an isolated Hyper-V environment (SharePoint Server 2010)
See Also

You can use an isolated and secure Hyper-V virtual machine to test the features and behavior of SharePoint Server 2010. This approach uses minimal hardware resources and enables you to isolate the SharePoint Server 2010 test system from a production environment. This isolation is recommended in order to eliminate potential security threats to a corporate network and server environment.

By using the manual steps or the Windows PowerShell 2.0 commands that are provided in this article, you can quickly deploy SharePoint Server 2010 on a single server that uses one of the following databases:

  • The built-in SQL Server 2008 Express database that is provided with SharePoint Server

  • Microsoft SQL Server 2005 with Service Pack 3 (SP3) and Cumulative Update 3 installed

  • Microsoft SQL Server 2008 with Service Pack 1 (SP1) and Cumulative Update 2

Important:

The single server SharePoint Server deployment described in this article is only intended to be used for evaluation and testing purposes, and should not be used in a production environment.

In this article:

  • Requirements and recommendations

  • Required permissions

  • Pre-deployment tasks

  • Deploy SharePoint Server 2010 manually

  • Deploy SharePoint Server 2010 by using Windows PowerShell scripts

Requirements and recommendations

The following requirements and recommendations for the Hyper-V virtualization server, virtual machine, and the deployment environment only apply to the single server deployment scenario described in this article.

Virtualization server and virtual machine configuration

The following table provides the minimum and recommended configurations for the virtualization server and the virtual machines. These configurations will support the database options that are available for a single server deployment.

Resource Minimum Recommended

CPU

Dual processor, 2 gigahertz (GHz)

Dual processor, 2 GHz

Memory

4 gigabytes (GB)

8 GB

Hard drive

Fixed-size virtual hard disk that has a capacity of 40 GB

Tip:

To speed up the creation of a fixed-size virtual hard disk, initially configure the hard disk as dynamically expanding. After you install all the required software (including SharePoint Server), convert the virtual hard disk to a fixed-size hard disk.

Fixed-size virtual hard disk that has a capacity of 80 GB

Network adapter type

Synthetic

Synthetic

Network type

Internal to ensure virtual machine isolation and enable virtualization server-virtual machine communications

Tip:

For ease of access to—and installation of—required and recommended software, use an External network. When you are ready to install SharePoint Server, configure the virtual machines to use an Internal network.

Internal to ensure virtual machine isolation and enable virtualization server-virtual machine communications

The following configuration guidance is provided for the virtualization server:

  • The logical-to-virtual processor (core) ratio should be as low as possible, with 1:1 being optimal.

  • Using the 1:1 logical-to-virtual processor ratio, you should configure the virtualization server so the total number of processors on the virtual machines is less than the total number of physical cores. For example, if you are using a four-core virtualization server, the best practice is to create three virtual machines that use a single processor, or one virtual machine that has two processors and one virtual machine that uses one processor. Either of these configurations would leave one core free for virtualization server processes.

In addition to the preceding requirements for the virtual environment, review the Hardware and software requirements (SharePoint Server 2010) article before you start deploying SharePoint Server 2010 on the virtual machine.

Deployment environment

A domain is required to deploy SharePoint Server 2010.

If you do not have an isolated virtual domain available to deploy SharePoint Server 2010, you must create a virtual domain on a Hyper-V that is configured to use the following:

  • A domain controller with Active Directory Domain Services (AD DS)

  • A domain controller with a DNS server

You can deploy SharePoint Server on a domain controller. However, some configuration is required. Start Windows PowerShell with the Run as administrator option and run the following commands to enable deployment on a domain controller:

Copy Code
$acl = Get-Acl HKLM:\System\CurrentControlSet\Control\ComputerName
$person = [System.Security.Principal.NTAccount]"Users"
$access = [System.Security.AccessControl.RegistryRights]::FullControl
$inheritance = [System.Security.AccessControl.InheritanceFlags]"ContainerInherit, ObjectInherit"
$propagation = [System.Security.AccessControl.PropagationFlags]::None
$type = [System.Security.AccessControl.AccessControlType]::Allow
$rule = New-Object System.Security.AccessControl.RegistryAccessRule($person, $access, $inheritance, $propagation, $type)
$acl.AddAccessRule($rule)
Set-Acl HKLM:\System\CurrentControlSet\Control\ComputerName $acl

Required permissions

In order to install SharePoint Server 2010, the logon account that you are using on the virtual machine must be a member of:

  • The local Administrators group on the virtual machine

  • The SQL Server dbcreator fixed server role

  • The SQL Server securityadmin server role

For more information, see Initial deployment administrative and service accounts (SharePoint Server 2010).

Pre-deployment tasks

Complete the following tasks before you deploy SharePoint Server 2010:

  • On the virtualization server, create an installation point that contains the SharePoint Server software or provide media, such as an ISO image, that can be accessed from the virtual machine.

  • Create a virtual machine that meets the minimum requirements described in the "Requirements and recommendations" section earlier in this article.

  • On the virtual machine:

    • Install the operating system and the mandatory and recommended security updates.

    • Install the edition of SQL Server that you want to use if you are not using the built-in version that is provided with SharePoint Server.

    • Install the mandatory and recommended updates for the edition of SQL Server that you install.

    • Configure the Windows Server firewall to enable SQL Server access. For more information, see Configuring the Windows Firewall to Allow SQL Server Access (http://go.microsoft.com/fwlink/p/?LinkID=134724).

    • Review the Hardware and software requirements (SharePoint Server 2010) article to determine the programs and hotfixes that must be obtained and installed before you install SharePoint Server 2010.

Deploy SharePoint Server 2010 manually

For information about how to manually deploy SharePoint Server 2010 on a single server, see Deploy a single server with a built-in database (SharePoint Server 2010) or Deploy a single server with SQL Server (SharePoint Server 2010).

Deploy SharePoint Server 2010 by using Windows PowerShell scripts

You can use Windows PowerShell scripts to deploy SharePoint Server 2010 on a single server.

Security Note:

As a best practice, you should not run unsigned scripts.

For more information about signing Windows PowerShell scripts, see Windows PowerShell: Sign Here Please (http://go.microsoft.com/fwlink/p/?linkid=160357) in TechNet Magazine. For more information about code signing in general, see Introduction to Code Signing (http://go.microsoft.com/fwlink/p/?linkid=59273) on MSDN. For more information about setting up your own certification authority (CA), see Active Directory Certificate Services (http://go.microsoft.com/fwlink/p/?linkid=136444) in the TechNet Library.

Create and use one of the following Windows PowerShell script files to deploy SharePoint Server on a single server.

  • simplesingleserver.ps1: Installs SharePoint Server 2010 using the built-in database to store configuration information and documents.

  • simplefarm.ps1: Installs SharePoint Server 2010 using either SQL Server 2005 or SQL Server 2008 to store configuration information and documents.

simplesingleserver.ps1

This script deploys SharePoint Server 2010 on a single server that uses the built-in database.

Copy the following code to a text editor and save it as simplesingleserver.ps1 in the directory of your choice:

Copy Code

$SetupPath         = Read-Host -Prompt "Please specify the path to the install media (D:)"

## Here is the script to install SharePoint Server 2010 with SQL Express and create Central Admin ##
& $SetupPath\PrerequisiteInstaller.exe /unattended | Write-Host
if( $lastexitcode -eq 0 ) {
    & $SetupPath\setup.exe /config $SetupPath\Files\SetupSilent\config.xml | Write-Host
    if( $lastexitcode -eq 0 ) {
        Write-Host "Install successful..."
    } else { Write-Error "ERROR: $lastexitcode" }
} else { Write-Error "ERROR: $lastexitcode" }

To run simplesingleserver.ps1

  1. Navigate to the Files\SetupSilent directory on the installation source and open config.xml in a text editor.

  2. Locate the <!--<PIDKEY Value="Enter Product Key Here" />--> line.

  3. Replace "Enter Product Key Here" with one of the following PIDKEYs: PKXTJ-DCM9D-6MM3V-G86P8-MJ8CY or BV7VC-RMR6B-26P6Y-BTQDG-DX2KQ

  4. Remove the comment markers for the line of code you edited and then save the config.xml file.

  5. Start Windows PowerShell 2.0 using the Run as administrator option.

  6. Navigate to the directory where you saved simplesingleserver.ps1.

  7. Run .\simplesingleserver.ps1 from the Windows PowerShell command prompt.

simplefarm.ps1

This script deploys SharePoint Server 2010 on a single server that uses a SQL Server database. Copy the following code to a text editor and save it as simplefarm.ps1 in the directory of your choice:

Copy Code

## Settings you may want to change ##
$err = $null
$SetupPath         = Read-Host -Prompt "Please specify the path to the install media (D:)"
Write-Host "Please specify the Farm Administrator credentials"
$FarmCredential    = Get-Credential "DOMAIN\<Farm Admin>"
$DBServer          = Read-Host -Prompt "Please enter the name of your database server"
$Passphrase        = Read-Host -Prompt "Please enter the farm passphrase (optional)" -AsSecureString
$FarmName          = Read-Host -Prompt "Please enter a farm name (optional)"
$CAPort            = Read-Host -Prompt "Please enter the Central Administration port number (optional)"

if ([String]::IsNullOrEmpty($SetupPath))
{
    Write-Error "You must enter the install media path"
    return
}
if ([String]::IsNullOrEmpty($FarmCredential))
{
    Write-Error "You must enter a Farm Administrator's user name and password"
    return
}
if ([String]::IsNullOrEmpty($DBServer))
{
    Write-Error "You must enter a database server"
    return
}
if ($Passphrase.Length -eq 0)
{
    Write-Warning "You didn't enter a farm passphrase, using the Farm Administrator's password instead"
    $Passphrase = $FarmCredential.Password
}
if ([String]::IsNullOrEmpty($FarmName))
{
    Write-Warning "You didn't enter a farm name, using the machine name instead"
    $FarmName = $env:COMPUTERNAME
}
if ([String]::IsNullOrEmpty($CAPort))
{
    Write-Warning "You didn't enter a Central Administration port number, using 5000 instead"
    $CAPort = 5000
}

## Here is the script to install SharePoint Server 2010 and create Central Admin ##
Write-Host "[1/15] Running prerequisite installer..."
& $SetupPath\PrerequisiteInstaller.exe /unattended | Write-Host
if( $lastexitcode -eq 0 ) {
    Write-Host "[2/15] Running silent farm binary installation... (this will take some time)"
    & $SetupPath\setup.exe /config $SetupPath\Files\SetupFarmSilent\config.xml | Write-Host
    Write-Host "[3/15] Completed silent farm binary installation."
    if( $lastexitcode -eq 0 ) {
        Add-PSSnapin Microsoft.SharePoint.PowerShell -erroraction SilentlyContinue
        Write-Host "[4/15] Creating new configuration database..."
        New-SPConfigurationDatabase -DatabaseName ("{0}_SharePoint_Configuration_DB" -f $FarmName) -DatabaseServer $DBServer -AdministrationContentDatabaseName ("{0}_AdminContent_DB" -f $FarmName) -FarmCredentials $FarmCredential -Passphrase $Passphrase -ErrorVariable err
        Write-Host "[5/15] Verifying farm creation..."
        $spfarm = get-spfarm
            if ($spfarm -ne $null) {
            Write-Host "[6/15] ACLing SharePoint Resources..."
            Initialize-SPResourceSecurity -ErrorVariable err
            if ([String]::IsNullOrEmpty($err) -eq $true) {
                Write-Host "[7/15] Installing Services..."
                Install-SPService -ErrorVariable err
                    if ([String]::IsNullOrEmpty($err) -eq $true) {
                    Write-Host "[8/15] Installing Features..."
                    Install-SPFeature -AllExistingFeatures -ErrorVariable err
                    if ([String]::IsNullOrEmpty($err) -eq $true) {
                        Write-Host "[9/15] Provisioning Central Administration..."
                        New-SPCentralAdministration -Port $CAPort -WindowsAuthProvider "NTLM" -ErrorVariable err
                        if ([String]::IsNullOrEmpty($err) -eq $true) {
                            Write-Host "[10/15] Installing Help..."
                            Install-SPHelpCollection -All -ErrorVariable err
                            if ([String]::IsNullOrEmpty($err) -eq $true) {
                                Write-Host "[11/15] Installing Application Content..."
                                Install-SPApplicationContent -ErrorVariable err
                                if ([String]::IsNullOrEmpty($err) -eq $true) {
                                    Write-Host "[12/15] Basic configuration completed."
                                    $SPManagedAccount = Get-SPManagedAccount $FarmCredential.UserName
                                    Write-Host "[13/15] Creating Web Application and Application Pool..."
                                    $webApp = New-SPWebApplication -Name "SharePoint - 80" -ApplicationPool "SharePoint - 80" -ApplicationPoolAccount $SPManagedAccount -DatabaseServer $DBServer -DatabaseName ("{0}_Content_DB" -f $FarmName) -Url "http://localhost" -ErrorVariable err
                                    if ([String]::IsNullOrEmpty($err) -eq $true) {
                                        Write-Host "[14/15] Creating site collection..."
                                        $SPSite = New-SPSite -url "http://localhost" -OwnerAlias $FarmCredential.UserName -ErrorVariable err
                                        if ([String]::IsNullOrEmpty($err) -eq $true) {
                                            Write-Host "[15/15] Port 80 Web application and site collect created.  Browse to http://localhost to pick a template for the Web..."
                                        } else { Write-Error "ERROR: $err" }
                                    } else { Write-Error "ERROR: $err" }
                                } else { Write-Error "ERROR: $err" }
                            } else { Write-Error "ERROR: $err" }
                        } else { Write-Error "ERROR: $err" }
                    } else { Write-Error "ERROR: $err" }
                } else { Write-Error "ERROR: $err" }
            } else { Write-Error "ERROR: $err" }
        } else { Write-Error "ERROR: $err" }
    } else { Write-Error "ERROR: $lastexitcode" }
} else { Write-Error "ERROR: $lastexitcode" }

$exitprompt = Read-Host -Prompt "Press Enter to exit..."

To run simplefarm.ps1

  1. Navigate to the Files\SetupFarmSilent directory on the installation source and open config.xml in a text editor.

  2. Locate the <!--<PIDKEY Value="Enter Product Key Here" />--> line.

  3. Replace "Enter Product Key Here" with one of the following PIDKEYs: PKXTJ-DCM9D-6MM3V-G86P8-MJ8CY or BV7VC-RMR6B-26P6Y-BTQDG-DX2KQ

  4. Remove the comment markers for the line of code you edited and then save the config.xml file.

  5. Start Windows PowerShell 2.0 using the Run as administrator option.

  6. Navigate to the directory where you saved simplefarm.ps1.

  7. Run .\simplefarm.ps1 from the Windows PowerShell command prompt.

See Also

Other Resources

Resource Center: Installation and Deployment for SharePoint Server 2010
Resource Center: Virtualization for SharePoint Server 2010


Deploy by using DBA-created databases (SharePoint Server 2010)
See Also

This article describes how to deploy Microsoft SharePoint Server 2010 in a farm environment that uses DBA-created databases. In organizations where database administrators (DBAs) operate independently from SharePoint administrators, the DBAs create and manage all the databases. This is typical in IT environments where security requirements and company policies require a separation of administrator roles. The farm administrator provides Microsoft SharePoint Server 2010 database requirements to the database administrator, who in turn, creates the necessary Microsoft SharePoint Server databases and sets up the logins that are required for the farm.

In this article:

  • Before you begin

  • About configuring DBA-created databases

  • Create and configure databases for Central Administration

  • Create and configure additional databases

Before you begin

Before you start this deployment, ensure that you have all the information that you require in order to successfully deploy and configure SharePoint Server on all of the farm servers. The following sections provide the information that you will need to ensure a successful SharePoint Server deployment.

Farm server requirements

Ensure that all the farm servers and the database server meet the requirements that are documented in the following articles.

  • Hardware and software requirements: Hardware and software requirements (SharePoint Server 2010)

  • Administrative and service accounts: Initial deployment administrative and service accounts (SharePoint Server 2010)

Database requirements

Deploying SharePoint Server 2010 on DBA-created databases involves working with the DBA to ensure that all the SharePoint Server databases that you need are created and correctly configured before you create and configure the farm.

The following list shows some, but not necessarily all, of the information that a DBA needs in order to create databases for the farm. Additional information may be required by the DBA in your organization:

  • SQL Server version information as well as service pack and cumulative update level. For more information, see Hardware and software requirements (SharePoint Server 2010).

  • The required login accounts with associated roles and permissions. For more information, see Initial deployment administrative and service accounts (SharePoint Server 2010).

  • The number of databases that are required as well as SharePoint configuration specifics. This information can be obtained by deploying SharePoint Server.

  • SharePoint data storage requirements, such as data type, data volume, type of database activity (read or write) and Input/Output operations per second (IOPS).

  • The DBA must configure surface area settings so that local and remote connections use TCP/IP or named pipes.

  • All of the databases required by SharePoint Server use the Latin1_General_CI_AS_KS_WS collation.

  • All of the SharePoint Server databases require that the farm Setup user account is assigned to them as the database owner (dbo).

  • SharePoint user Service Level Agreement considerations.

About configuring DBA-created databases

Use the procedures in this article as a guide for deploying a farm that uses DBA-created databases. This deployment includes all the databases that are required for the farm.

Note:

This article only applies to the SQL Server database versions supported by SharePoint Server 2010.

For each procedure you must use Windows PowerShell 2.0 or SharePoint Server command-line tools to configure the farm.

We recommend that you use Windows PowerShell when performing command-line administrative tasks. The Stsadm command-line tool has been deprecated, but is included to support compatibility with previous product versions.

Note:

Psconfig is located in the following folder: Program Files\Common Files\Microsoft Shared\web server extensions\14\BIN.

In order to use Windows PowerShell to configure the farm:

  1. Verify that the user account has access to one of the servers on which Windows PowerShell 2.0 is running, and that the user account is a Farm Administrator and is a member of the SharePoint_Shell_Access role for the SQL Server-based source content database, the administration content database, the destination content database, and the configuration database.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell prompt, type the appropriate command, and then press ENTER.

For the purpose of illustrating the required procedures, the basic farm that needs to be configured consists of:

  1. Central Administration

  2. A Web portal

  3. Diagnostic logging and usage and health data collection

  4. Enterprise search

The following databases are required and are typically used by the farm administrator in the following sequence as the farm is created. The databases in the following list use the default names that are provided when you use the SharePoint Products Configuration Wizard to set up a farm. You can, of course, use database names that you choose.

  • The configuration database (SharePoint_Config)

  • The Central Administration content database (SharePoint_AdminContent_GUID)

  • The Web site content database, which is created automatically by the SharePoint Server Setup program (WSS_Content_GUID)

  • The diagnostic logging database (WSS_Logging_GUID)

  • Databases for the SharePoint Server search service application that is required for enterprise search. For more information, see Manage service applications and services (SharePoint Foundation 2010) Service application and service management (SharePoint Server 2010).

    • The search crawl database (Search_Service_1_CrawlStoreDB_GUID

    • The search administration database (Search_Service_1_DB_GUID)

    • The search property database (Search_Service_1_PropertyStoreDB_GUID

Create and configure databases for Central Administration

Use the procedures in this section to create the required databases and give the accounts membership in the database Users security group and database roles.

The procedures require action by the DBA and the Setup user account. The labels [DBA] or [Setup] respectively are used for each step to indicate which role performs the action.

The following procedure only has to be performed once for the farm, on the server that you want to run the Central Administration Web site. The farm has one configuration database and one content database for Central Administration.

To create and configure the configuration database, the Central Administration content database, and the Central Administration Web application

  1. [DBA] Create the configuration database and the Central Administration content database using the LATIN1_General_CI_AS_KS_WS collation sequence and set the database owner (dbo) to be the Setup user account.

  2. [Setup] Run Setup on each server computer in the farm. You must run Setup on at least one of these computers by using the Complete installation option. The steps for this option are described in Deploy a single server with SQL Server (SharePoint Server 2010).

  3. [Setup] Do not run the SharePoint Products Configuration Wizard after Setup finishes.

    From the SharePoint 2010 Management Shell, use the New-SPConfigurationDatabase command to create a new configuration database, for example:

    Copy Code
    New-SPConfigurationDatabase -DatabaseName "SharePointConfigDB1" -DatabaseServer "SQL-01" -Passphrase (ConvertTo-SecureString "MyPassword" -AsPlainText -force) -FarmCredentials (Get-Credential)

    For more information, see New-SPConfigurationDatabase.

  4. [Setup] After the command has finished, run the SharePoint Products Configuration Wizard and complete the rest of the configuration for the server. This creates the Central Administration Web application and performs other setup and configuration tasks.

  5. [DBA] After the SharePoint Products Configuration Wizard has finished, perform the following actions for both the configuration database and the Central Administration content database:

    • Add the SharePoint Server search account, default content access account, and the services account to the Users group.

    • Add the SharePoint Server search service account, default content access account, and the services account to the WSS_Content_Application_Pools role.

  6. [Setup] To confirm that the databases were created and configured correctly, verify that the home page of the Central Administration Web site can be accessed. However, do not configure anything by using Central Administration at this point. If the Central Administration page does not render, verify the accounts that are used in this procedure and ensure that they are properly assigned.

The rest of the farm servers will be configured after the procedures in the article are finished and the farm is established. You will run the SharePoint Products Configuration Wizard on these servers by selecting the Yes, I want to connect to an existing server farm option, instead of by using the commands that are used in this procedure.

The following procedure will only have to be performed once for the farm. The farm has only one SharePoint Foundation search database.

Create and configure the SharePoint Foundation search database and start the search service

  1. [DBA] Create the SharePoint Foundation search database using the LATIN1_General_CI_AS_KS_WS collation sequence and set the database owner (dbo) to be the Setup user account.

  2. [Setup] Open the command line, and then use the Get-SPSearchService, Set-SPSearchService, Get-SPSearchServiceInstance, and Set-SPSearchServiceInstance cmdlets to configure the database and start the search service. Use the following example as a guide.

    Copy Code
    $searchService = Get-SPSearchService
Set-SPSearchService -MaxBackupDuration 120
Get-SPSearchServiceInstance -Local
Get-SPSearchServiceInstance -Local | Set-SPSearchServiceInstance -ProxyType proxy

    For more information, see the following topics:

    • Get-SPSearchService

    • Set-SPSearchService

    • Get-SPSearchServiceInstance

    • Set-SPSearchServiceInstance

Create and configure additional databases

After you finish configuring the databases required for Central administration, complete your farm deployment by creating and configuring the databases that are required for Web content and any service applications that you want to use.

The following procedure will have to be performed once for each portal site in the farm.

The procedures described here are used for the following SharePoint Server 2010 operations:

  • Start the search service on servers that are hosting search query components or search crawl components. For more information, see Manage search topology (SharePoint Server 2010).

  • Create and configure the portal site Web application content database.

  • Create and configure the search service application databases.

The following procedure must be performed once for each server that runs search queries or database crawls in the farm.

To start the SharePoint Server Search service on each server that will run search queries or crawls

  1. [Setup] From the SharePoint 2010 Management Shell, use the Get-SPEnterpriseSearchService, Set- SPEnterpriseSearchService, and Get-SPEnterpriseSearchServiceInstance cmdlets. Use the following example as a guide.

    Copy Code
    $searchService = Get-SPEnterpriseSearchService
$password = Read-Host -AsSecureString
**********
Set-SPEnterpriseSearchService -IgnoreSSLWarnings $true -ServiceAccount contoso\adminAccount -ServicePassword $password
$ssInstance = Get-SPEnterpriseSearchServiceInstance -Local
Get-SPEnterpriseSearchServiceInstance -Local | Start-SPEnterpriseSearchServiceInstance

    For more information, see the following topics:

    • Get-SPEnterpriseSearchService

    • Set-SPEnterpriseSearchService

    • Get-SPEnterpriseSearchServiceInstance

The following procedure must be performed once for each service application in the farm. In the scenario used for this article, a search service application is used for the farm. The search service application requires the following databases:

  1. Search administration database (Search_Service_DB)

  2. Search crawl database (Search_Service_CrawlStoreDB)

  3. Search property database (Search_Service_PropertyStoreDB)

All the command-line instructions in the following procedure use Windows PowerShell.

To create and configure databases for search

  1. [DBA] Add the SharePoint 2010 Management Shell administration account to the dbcreator and securityadmin roles as temporary SQL Server logins.

  2. [Setup] Create the search service application on the temporary server, as follows:

    1. Create the necessary application pools for the search administration and search query Web services, as follows:

      Copy Code
      # Create managed account for DOMAIN\QryPool
$SearchCR = Get-Credential;$managedAccount = New-SPManagedAccount -Credential $SearchCR
# Create managed account for DOMAIN\AdminPool
$SearchCR = Get-Credential;$managedAccount = New-SPManagedAccount -Credential $SearchCR

    2. Create a new search service application using a temporary Microsoft SQL Server database, as follows:

      Copy Code
      Write-Host -ForegroundColor white Creating the Search service application
$searchAppName="SearchAppTest"
$appQueryPoolName=$searchAppName+"_AppQueryPool"
$appAdminPoolName=$searchAppName+"_AppAdminPool"
$appQueryPool = New-SPServiceApplicationPool -name $appQueryPoolName -account DOMAIN\QryPool
$appAdminPool = New-SPServiceApplicationPool -name $appAdminPoolName -account DOMAIN\AdminPool

$searchApp = New-SPEnterpriseSearchServiceApplication -Name $searchAppName -ApplicationPool $appQueryPool -AdminApplicationPool $appAdminPool -DatabaseServer <Temp_SQL_Server>

Write-Host -ForegroundColor white Initializing the administration component
$searchInstance = Get-SPEnterpriseSearchServiceInstance -Local
$searchApp | get-SPEnterpriseSearchAdministrationComponent | set-SPEnterpriseSearchAdministrationComponent -SearchServiceInstance $searchInstance
$admin = ($searchApp | get-SPEnterpriseSearchAdministrationComponent)
Write-Host -ForegroundColor white Waiting for the admin component to be initialized
do {write-host -NoNewline .;Start-Sleep 10;} while (-not $admin.Initialized)

Write-Host -ForegroundColor white Creating a new crawl topology
$InitialCrawlTopology = $searchApp | Get-SPEnterpriseSearchCrawlTopology -Active
$InitialCrawlTopology
$searchInstance0 = Get-SPEnterpriseSearchServiceInstance -Local
$CrawlTopology = $searchApp | New-SPEnterpriseSearchCrawlTopology
$CrawlDatabase0 = ([array]($searchApp | Get-SPEnterpriseSearchCrawlDatabase))[0]
$CrawlComponent0 = New-SPEnterpriseSearchCrawlComponent -CrawlTopology $CrawlTopology -CrawlDatabase $CrawlDatabase0 -SearchServiceInstance $searchInstance0 -IndexLocation $searchInstance0.DefaultIndexLocation
$CrawlTopology | Set-SPEnterpriseSearchCrawlTopology -Active
Write-Host -ForegroundColor white Waiting for the old crawl topology to become inactive
do {write-host -NoNewline .;Start-Sleep 10;} while ($InitialCrawlTopology.State -ne "Inactive")
$InitialCrawlTopology | Remove-SPEnterpriseSearchCrawlTopology

Write-Host -ForegroundColor white Creating a new query topology
$InitialQueryTopology = $searchApp | Get-SPEnterpriseSearchQueryTopology -Active
$InitialQueryTopology
$searchInstance0 = Get-SPEnterpriseSearchServiceInstance -Local
# Create a new query topology
$QueryTopology = $searchApp | New-SPEnterpriseSearchQueryTopology -Partitions 1
$IndexPartition0= (Get-SPEnterpriseSearchIndexPartition -QueryTopology $QueryTopology)
$QueryComponent0 = New-SPEnterpriseSearchQuerycomponent -QueryTopology $QueryTopology -IndexPartition $IndexPartition0 -SearchServiceInstance $searchInstance0 -IndexLocation $searchInstance0.DefaultIndexLocation
# Get the default property store
$PropertyDatabase0 = ([array]($searchApp | Get-SPEnterpriseSearchPropertyDatabase))[0]
$IndexPartition0 | Set-SPEnterpriseSearchIndexPartition -PropertyDatabase $PropertyDatabase0
$QueryTopology | Set-SPEnterpriseSearchQueryTopology -Active
Write-Host -ForegroundColor white Waiting for the old query topology to become inactive
do {write-host -NoNewline .;Start-Sleep 10;} while ($InitialQueryTopology.State -ne "Inactive")
# Delete the old query topology
$InitialQueryTopology | Remove-SPEnterpriseSearchQueryTopology

Write-Host -ForegroundColor white Creating the Search application proxy
$searchAppProxy = new-spenterprisesearchserviceapplicationproxy -name ($searchApp.Name+"_proxy") -Uri $searchApp.Uri
Write-Host -ForegroundColor white Search provisioning finished

    3. Pause the search service application

      Copy Code
      $searchApp.Pause()

  3. [DBA] Back up all the search databases: SearchAppTest, SearchAppTest_CrawlStore, and SearchAppTest_PropertyStore.

  4. [DBA] Restore all the search databases to the production SQL Server database server.

  5. [DBA] Add the following accounts to the SQL ServerLogins on the production SQL Server database server using the default settings (leave the Public role checked for Server roles):

    • Search service account

    • Search Query and Site Settings Web Service application pool account

    • Search Admin Web Service application pool account (if different from the search service application pool)

  6. [DBA] If the SQL Server database has not been used to provision farm databases, add the following accounts to the SQL ServerLogins

    • The SharePoint_Shell_Access role for the SQL Server-based source content database, the administration content database, the destination content database, and the configuration database

    • The farm administrator account

  7. [Setup] Switch over to the new production database environment.

    1. Switch the search administration database to the new search administration production database.

      Copy Code
      $searchapp | Set-SPEnterpriseSearchServiceApplication -DatabaseServer <Production_SQL_server>

    2. Wait for the search service instances to finish re-provisioning.

      Copy Code
      do {write-host -NoNewline .;Sleep 10; $searchInstance = Get-SPEnterpriseSearchServiceInstance -Local} while ($searchInstance.Status -ne "Online")

    3. Switch the search crawl database to the new search crawl production database.

      Copy Code
      $CrawlDatabase0 | Set-SPEnterpriseSearchCrawlDatabase -DatabaseServer <Production_SQL_server>

    4. Wait for the search service instances to finish re-provisioning.

      Copy Code
      do {write-host -NoNewline .;Sleep 10; $searchInstance = Get-SPEnterpriseSearchServiceInstance -Local} while ($searchInstance.Status -ne "Online")

    5. Switch the search property database to the new search property production database.

      Copy Code
      $PropertyDatabase0 | Set-SPEnterpriseSearchPropertyDatabase -DatabaseServer <Production_SQL_server>

    6. Wait for the search service instances to finish re-provisioning.

      Copy Code
      do {write-host -NoNewline .;Sleep 10; $searchInstance = Get-SPEnterpriseSearchServiceInstance -Local} while ($searchInstance.Status -ne "Online")

    7. Restart the search service instances.

      Copy Code
      get-SPEnterpriseSearchServiceInstance | start-SPEnterpriseSearchServiceInstance

    8. Resume the search service application.

      Copy Code
      $searchapp.Resume()

Use the following procedure to create and configure the portal site Web application and its content database.

To create and configure the portal site Web application

  1. [DBA] Create the portal site Web application content database using the LATIN1_General_CI_AS_KS_WS collation sequence and set the database owner (dbo) to be the Setup user account.

  2. [DBA] Using SQL ServerManagement Studio, add the service application service account to the Users group and then to the db_owner role for the portal site Web application content database.

  3. [Setup] From the SharePoint 2010 Management Shell, use the New-SPWebApplication and Get-SPWebApplication cmdlets to configure the portal site Web application content database. Use the following example as a guide.

    Copy Code
    New-SPWebApplication -Name "Contoso Internet Site" -Port 80 -HostHeader "http://sharepoint.contoso.com" -URL "https://www.contoso.com" -ApplicationPool "ContosoAppPool" -ApplicationPoolAccount (Get-SPManagedAccount "DOMAIN\jdoe")
Get-SPWebApplication http://somesite | Set-SPWebApplication -Zone "Extranet" -HostHeader "http://www.contoso.com" - AllowAnonymousAccess

    For more information, see New-SPWebApplication and Get-SPWebApplication.

    Important:

    This command must be run on the same computer that is running the Web application. The host name and port combination must not describe a Web application that already exists or an error results and the Web application is not created.

  4. [Setup] From a command prompt, run the following command to restart IIS: iisreset /noforce

See Also

Other Resources

Resource Center: SQL Server and SharePoint Server 2010 Databases


Deploy in a virtual environment (SharePoint Server 2010)
See Also

This section contains articles that provide guidance for configuring virtual machines for Microsoft SharePoint Server 2010 servers in a virtual environment.

In this section:

  • Use best practice configurations to prepare the Hyper-V environment (SharePoint Server 2010)

See Also

Other Resources

Resource Center: Virtualization for SharePoint Server 2010


Use best practice configurations to prepare the Hyper-V environment (SharePoint Server 2010)
See Also

This article provides guidance for configuring a virtual machine (VM) that uses Windows Server 2008 Hyper-V technology and that is used in a Microsoft SharePoint Server 2010 farm. This includes farm servers on the Web server tier, application server tier, and database server tier. Before you configure a virtual machine for a SharePoint farm, we recommend that you read the Hyper-V Getting Started Guide (http://go.microsoft.com/fwlink/p/?LinkId=187754). Because every configuration decision you make for a virtual machine or its infrastructure has an impact on performance or functionality (SharePoint Server 2010 and Hyper-V)—understanding each configuration option is important.

In a Hyper-V environment, you have the option of specifying the configuration of virtual networking and the configuration for each virtual machine. Additionally, you can configure how the VM interacts with the virtualization host, as well as VM stop and restart behavior if the running state of the virtual machine is interrupted.

In this article:

  • Networking

  • Network adapters

  • Virtual machine configuration

  • Integration services

  • Using snapshots

Networking

You can configure Hyper-V networking before you create any virtual machines or after you create one or more VMs. You can also create more than one virtual network for a Hyper-V host.

Using Virtual Network Manager (accessed from Hyper-V Manager), you have three different types of virtual networks to choose from. The following table provides a summary of the network types and their characteristics.

Type | Description
External | Use this type when you want to allow VMs to communicate with externally located servers and the management operating system (sometimes referred to as the parent partition). This type also allows VMs on the same physical server to communicate with each other.
Internal | Use this type when you want to allow communication between VMs on the same physical server and VMs and the management operating system. An internal virtual network is a virtual network that is not bound to a physical network adapter. It is commonly used to build a test environment where you need to connect to the VMs from the management operating system.
Private | Use this type when you want to allow communication only between VMs on the same physical server. A private virtual network is a virtual network without a virtual network adapter in the management operating system. Private virtual networks are commonly used when you want to isolate VMs from network traffic in the management operating system and in the external networks.

Use SharePoint Server farm requirements to determine which of the three networking configurations that you want to use on a virtualization host. For example, in the Quick start: Deploy single server in an isolated Hyper-V environment (SharePoint Server 2010) article, we used an Internal network to isolate the test environment from a production environment.

After determining the type of network that you want to use, you can specify the range of media access control (MAC) addresses that are automatically assigned to virtual adapters. The R2 release of Microsoft Hyper-V Server 2008 enables you to provide static MAC addresses to an adapter in order to avoid collisions on a network.

From a networking performance perspective, the ability to create virtual local area networks (VLANs) can provide performance gains. Virtual machines on the same VLAN can communicate through the virtual switch, which means that network traffic is faster because it does not have to use the physical network adapter. Another benefit of a VLAN configuration is the fact that is software-based, computers can easily be moved and still maintain their network configurations.

The following links provide more information about virtual networking concepts and how to configure virtual networks.

  • How does basic networking work in Hyper-V? (http://go.microsoft.com/fwlink/p/?LinkId=128228)

  • Hyper-V: What are the uses for different types of virtual networks? (http://go.microsoft.com/fwlink/p/?LinkId=128085)

  • Understanding Hyper-V VLANs (http://go.microsoft.com/fwlink/p/?LinkId=180709)

  • Hyper-V VLANs Part II (http://go.microsoft.com/fwlink/p/?LinkId=18775)

  • Configuring Virtual Networks (http://go.microsoft.com/fwlink/p/?LinkId=158767)

Network adapters

Two types of network adapters can be attached to a virtual machine: a network adapter and a legacy adapter. A network adapter provides better performance than the legacy network adapter. The legacy adapter emulates an Intel 21140-based PCI Fast Ethernet Adapter, which results in a lower data transfer than the network adapter. A legacy network adapter also supports network-based installations because it includes the ability to boot to the Pre-Boot Execution Environment (PXE).

Unless you need to use a legacy adapter until you can install the virtual machine driver, or need to do a network boot, we recommend that you configure the VM with a network adapter.

Note:

You can use the legacy adapter initially to do a network boot, and when that is no longer required, add a network adapter and delete the legacy adapter.

As is the case with physical servers, you can install multiple adapters on a virtual machine.

Virtual machine configuration

Hyper-V provides numerous options for configuring a virtual machine. These options can be changed after you have started the virtual machine and installed Microsoft SharePoint Server. You will have to shut the virtual machine down in order to the change the configuration. Based on the capacity management and high availability planning that you did for Create a detailed design and system specifications for a virtual farm (SharePoint Server 2010), configure the following for each virtual machine:

  • The boot sequence (legacy network adapter, CD, IDE, or floppy disk)

  • The amount of memory

  • The number of virtual processors, up to a limit of four

  • The type and number of controllers

  • The type and number of disks

  • The type and number of network adapters

In addition to the preceding configurations, you also have the option to configure COM ports and to configure a virtual floppy disk.

From a SharePoint Server perspective, the primary configuration considerations are memory, processor, and the type and number of controllers and hard disks.

Memory

After factoring in a 2 GB RAM reserve for the virtualization host, you can configure a virtual machine to have any amount of the remaining memory. You will, of course have to take into account the amount of memory that you provide to other virtual machines running on the same virtualization host.

Note:

The 2 GB of RAM reserved for the virtualization host is used as a guide and not a required or enforced amount of memory. Typically the actual amount of RAM committed to the physical server is less.

The actual memory overhead on Hyper-V is fairly small. This is well-illustrated if you download the Hyper-V RAM Calculator.xls (http://go.microsoft.com/fwlink/p/?LinkId=187756) and use it to calculate RAM use on a host of a given size with a several virtual machines.

Processor

You can configure multiple virtual processors for a virtual machine, up to a limit of four processors. You cannot configure more processors per VM that there are logical (cores) processors on the virtualization host. For example, given a dual core physical server, you are limited to configuring two virtual processors for a VM. Although Hyper-V supports up to eight virtual processors per core, a configuration that uses this ratio (1 logical: 8 virtual) is referred to as being oversubscribed. For any virtual machine used in a SharePoint farm, we recommend a ratio of 1:1. Oversubscribing the CPU on the virtualization host will work, but performance will degrade depending on the amount of oversubscription.

Controller and hard disk

You can select either integrated device electronics (IDE) or SCSI devices on virtual machines, as follows:

  • IDE devices: Hyper-V uses emulated devices with IDE controllers. You can have up to two IDE controllers with two disks on each controller. The startup disk (sometimes referred to as the boot disk) must be attached to one of the IDE devices. The startup disk can be either a virtual hard disk or a physical disk. Although a virtual machine must use an IDE device as the startup disk to start the guest operating system, you have many options to choose from when selecting the physical device that will provide the storage for the IDE device.

  • SCSI devices: Each virtual machine supports up to 256 SCSI disks (four SCSI controllers with each controller supporting up to 64 disks). SCSI controllers use a type of device developed specifically for use with virtual machines and use the virtual machine bus to communicate. The virtual machine bus must be available when the guest operating system is started. Therefore, virtual hard disks attached to SCSI controllers cannot be used as startup disks.

    Note:

    Although the I/O performance of physical SCSI and IDE devices can differ significantly, this is not true for the virtualized SCSI and IDE devices in Hyper-V. IDE and SCSI devices both offer equally fast I/O performance when integration services are installed in the guest operating system. Support for hot swappable hard drives, which is supported by the Hyper-V implementation of SCSI, is a better reason for selecting SCSI drives than performance gains.

The version of Hyper-V released with Windows Server 2008 R2 provides dramatic improvements in virtual hard disk performance. For more information, see Virtual Hard Disk Performance: Windows Server 2008 / Windows Server 2008 R2 / Windows 7 (http://go.microsoft.com/fwlink/p/?LinkId=186519). For a summary of virtual machine drive options, see the "How to choose your Hyper-V and VHD Storage Container Format" section of this white paper. Also, heed the authors' advice: When choosing the right VHD for your environment, consider both the access performance and storage needs. When using Windows Server 2008 R2, the choice has less to do with the access speed and more to do with the amount of memory used due to advanced caching.

Important:

There is not a generic storage solution for every virtual environment. Selecting the optimal virtual machine drive option for your SharePoint Server servers requires research and extensive testing to implement the best storage solution for your virtual environment.

Integration services

Hyper-V includes a software package for supported guest operating systems that improves integration between the physical computer and the virtual machine. This package is referred to as integration services. You should verify that the management operating system (which runs the Hyper-V role) and virtual machines are running the same version of integration services. For more information, see Version Compatibility for Integration Services (http://go.microsoft.com/fwlink/p/?LinkId=188011).

For each virtual machine you can configure the following integration items between the VM and the virtualization host:

  • Operating system shutdown

  • Time synchronization

  • Data exchange

  • Heartbeat

  • Backup (volume snapshot)

Important:

Disable the time synchronization for each SharePoint Server virtual machine. SharePoint Server 2010 implements timer jobs extensively and the latency during time synchronization will cause unpredictable results in the SharePoint Server environment.

Automatic stop and start

For each virtual machine you can configure automatic stop and start behavior if a physical machine shuts down. The options for stop are:

  • Save the virtual machine state. The current state of the virtual machine is saved and when the VM is started, Hyper-V attempts to restore the VM to the state it was in.

  • Turn off the virtual machine. This is the equivalent of pulling the power plug on a server.

  • Shut down the guest (virtual machine) operating system. This is the equivalent of shutting down the machine using the Windows Shut down option.

For a SharePoint Server virtual machine, do not configure the virtual machine to save state. Virtual machines that come up from saved state will be out of synchronization with the other servers in the farm. We recommend that you configure the virtual machine to use a shutdown because it provides the cleanest method to minimize virtual machine corruption. When a shutdown occurs any timer jobs that are running are allowed to finish and there will not be any synchronization issues when the VM restarts.

The opposite of an automatic stop is an automatic start. Hyper-V provides the following startup options when the physical server restarts:

  • Do nothing. You will have to start the VM manually regardless of its state when the physical server shut down.

  • Automatically start if the machine was running when the service stopped.

  • Always start this virtual machine automatically. Hyper-V will start the machine regardless of its state when the physical server shut down.

We recommend that you either of the first two options. Either option is valid, but the decision is ultimately up to the IT team that is managing and maintaining the virtual environment.

In addition to the preceding start options, you can configure a startup time delay for a virtual machine. We recommend that you do so in order to reduce resource contention on a virtualization host. However, if your start option is to do nothing, this is not an issue.

Using snapshots

Snapshots provide a very useful tool for capturing the current state of a running, paused, or stopped virtual machine. The snapshot feature enables you to quickly and easily revert to a previous virtual machine configuration. This capability is particularly well-suited to a development or test environment.

As a best practice, we recommend that you do not use the snapshot feature on virtual machines in a production environment for the following reasons:

  • Clock synchronization: When you take a snapshot of a running virtual machine, there is latency between the time the snapshot is started and the time the snapshot is finished. This latency affects SharePoint Server timer jobs and, as a result, time synchronization between farm servers.

    Important:

    If you choose to take a snapshot of a virtual machine, shut down the machine to allow running jobs to finish before taking the snapshot. We recommend that you closely monitor the virtual machine and other farm servers after the virtual machine is restarted to ensure that there are no time synchronization issues.

  • Performance: When you create a snapshot for a virtual machine you have, in effect, created a differencing disk. There is a continuous exchange of configuration data between the virtual machine and the snapshot, which affects performance.

See Also

Other Resources

Resource Center: Virtualization for SharePoint Server 2010


Install SharePoint Server 2010 by using Windows PowerShell

This article discusses how to do a clean installation of Microsoft SharePoint Server 2010 on a stand-alone server or on a server farm by using Windows PowerShell.

Installation process overview:

  • Farm server requirements

  • Prepare SPModule

  • Install Microsoft SharePoint Server 2010 by running Install-SharePoint

  • Configure the farm by using New-SharePointFarm

  • Create a Web Application using Windows PowerShell

  • Deploy services using the SharePoint 2010 Farm Configuration Wizard

  • Create a site collection by using Windows PowerShell

  • Perform additional configuration tasks

  • Add servers to the farm by using Join-SharePointFarm

  • Configure the trace log

You can streamline deployment by using Windows PowerShell to install Microsoft SharePoint Server 2010 in combination with other administrator tools to automate unattended installations and configure the farm.

Farm server requirements

Before you install SharePoint Server 2010, review the following information about permissions, hardware requirements, and software requirements and steps to perform before beginning the process:

  • Ensure that you have met all hardware and software requirements. You must have a 64-bit version of Windows Server 2008 or Windows Server 2008 R2. For server farms, you must also have a 64-bit version of SQL Server 2005 or SQL Server 2008. For more information about these requirements (such as specific updates that you must install), see Determine hardware and software requirements (SharePoint Server 2010).

  • Ensure that you are prepared to set up the required accounts by using appropriate permissions. For detailed information, see Administrative and service accounts required for initial deployment (SharePoint Server 2010).

Prepare SPModule

The SPModule.zip file is a Windows PowerShell module written by members of the SharePoint Product Group that will install a SharePoint farm.

To use the SPModule.zip file, use the steps below:

  1. Download the SPModule.zip and text file from the following Download Center page (http://go.microsoft.com/fwlink/p/?LinkId=187924).

  2. Extract the files to a folder named SPModule and then add that folder to your environment path. The PSModulePath environment variable is used to store paths to the locations of the modules that are installed on disk. To view paths specified in the PSModulePath variable, from a Windows PowerShell command prompt, type $env:PSModulePath. For more information, see PSModule Environment Variable (http://go.microsoft.com/fwlink/p/?LinkId=187757). After extraction, the SPModule folder should contain two files: SPModule.misc and SPModule.setup.

    Note:

    If the SPModule folder is not added to the PSModulePath variable, you must specify a full path to load the SPModule.

  3. Decide on the type of signing to provide.

    Note:

    The downloaded files are unsigned. To provide self-signed scripts, see AllSigned: Signing Your PowerShell Scripts (http://go.microsoft.com/fwlink/p/?LinkId=187758).

    By default, Windows PowerShell execution policy is set to Restricted so that no scripts can be run. To change an execution policy, run the Set-ExecutionPolicy cmdlet. For additional information about execution polices, see About_Signing (http://go.microsoft.com/fwlink/p/?LinkId=187759).

  4. Load the SPModule.misc and SPModule.setup files into Windows PowerShell.

    1. Click Start, point to All Programs, and then click Windows PowerShell V2. Once the Windows PowerShell Command Prompt window opens, the first thing we need to do is add the path to the module to your Windows PowerShell module path (presuming you created a folder called "SPModule" on your server):

    2. Right-click Windows PowerShell V2, and then click Run as administrator.

      Note:

      If you already have Microsoft SharePoint Server 2010 installed, you could open the SharePoint 2010 Management Shell instead.

    3. Once the Command Prompt window is displayed, we need to import the module into the current Windows PowerShell session and add it to a path by typing the following syntax from a Windows PowerShell command prompt:

      Copy Code
      Import-Module SPModule.misc
      Copy Code
      Import-Module SPModule.setup

When you import the SPModule.misc module, you will invoke an update check. In version 1.0, this will check a text file to see if there is a newer version available. If you are notified that there is, you can go and download the newer version. Once the Import-Module commands have completed successfully, you are ready to use SPModule.

Important:

The following commands should only be used in the context of the SPModule and the process in this article.

  1. Install-SharePoint: Installs all of the binary files for SharePoint Server 2010. For more information, see Scripted deployment reference (SharePoint Server 2010).

  2. New-SharePointFarm: Creates a SharePoint farm and performs the following related tasks:

    • Configures security

    • Creates a shared service Web application that you can populate with service applications.

    • Creates and configures the Central Administration Web site.

    • Installs all of the product Help files.

    • Installs all farm features.

    For more information, see Scripted deployment reference (SharePoint Server 2010).

  3. Join-SharePointFarm: Adds servers to the farm, and then configures them. For more information, see Scripted deployment reference (SharePoint Server 2010)..

After Windows PowerShell version 2.0 is installed, you can use a new feature of Windows PowerShell called Remoting. By using the remoting feature and a couple lines of Windows PowerShell code, an administrator can remotely install multiple servers in a farm. For information about Remoting and SPModule, see Remote Install with SPModule (http://go.microsoft.com/fwlink/p/?LinkId=187923).

Install Microsoft SharePoint Server 2010 by running Install-SharePoint

After you have determined the required accounts for the installation, you can installSharePoint Server 2010. The product DVD contains examples of configuration (Config.xml) files. These example files are stored under the \Files folder in the root directory of the DVD, in folders that correspond to different scenarios. These example files are described in the following table.

Configuration file | Description
Setup\Config.xml | Stand-alone server installation, using Microsoft SQL Server 2005 Express Edition
SetupFarm\Config.xml | Server farm installation
SetupFarmSilent\Config.xml | Server farm installation in silent mode
SetupFarmUpgrade\Config.xml | In-place upgrade of an existing farm
SetupSilent\Config.xml | Stand-alone server installation, usingSQL Server 2005 Express Edition, in silent mode
SetupSingleUpgrade\Config.xml | In-place upgrade of an existing single-server installation

To run Install-SharePoint with a Config.xml file at a Windows PowerShell command prompt

  1. On the drive on which the SharePoint Server 2010 product DVD is located, change to the root directory to locate the setup.exe file.

  2. Run SPModule.Setup Install-SharePoint with the selected Config.xml file, as follows:

    Install-SharePoint -SetupExePath<path and file name>-ConfigXml<path and file name>

    Note:

    You can select one of the example files, or customize your own configuration file.

  3. Press ENTER.

Setup is now finished.

The following example shows the configuration file for setting up a single server in silent mode (SetupSilent).

Copy Code
<Configuration>
<Package Id="sts">
  <Setting Id="LAUNCHEDFROMSETUPSTS" Value="Yes" />
  </Package>
<Package Id="spswfe">
  <Setting Id="SETUPCALLED" Value="1" />
  </Package>
  <Logging Type="verbose" Path="%temp%" Template="SharePoint Server Setup(*).log" />
- <!--
<PIDKEY Value="Enter Product Key Here" />
  -->
  <Display Level="none" CompletionNotice="no" />
  <Setting Id="SERVERROLE" Value="APPLICATION" />
  <Setting Id="USINGUIINSTALLMODE" Value="0" />
  <Setting Id="SETUP_REBOOT" Value="Never" />
  <Setting Id="SETUPTYPE" Value="CLEAN_INSTALL" />
  </Configuration>

You can also customize your own configuration file. To control the installation, first edit the Config.xml file in a text editor to include the elements that you want with the appropriate settings for those elements. Next, run Install-SharePoint -SetupExePath -ConfigXML to specify that Setup runs and uses the options that you set in the Config.xml file.

Some typical configuration options include the following:

  • Bypassing the prompt for the product key by providing the key as a value, <PIDKEY Value="Enter PID Key Here" />, in the Config.xml file.

  • Adding a location for a log file, <Logging Type="off" | "standard"(default) | "verbose" Path="path" Template="file name.log"/>, which you can view if command-line installation fails.

Important:

Use a text editor, such as Notepad, to edit Config.xml. Do not use a general-purpose XML editor, such as Microsoft Office Word 2007. To validate that your XML file is well-formed, use any supported browser.

Run Install-SharePoint using a PID key

To run Setup in silent mode without using a configuration XML file, type one of the following commands at a Windows PowerShell command prompt:

  • For stand-alone server: Install-SharePoint -SetupExePath "<drive letter>:\SharePoint 2010\Setup\setup.exe" -PIDKey "PVRYW-RRP8H-FG6G2-YGMQW-3V9VX" -ServerRole "SINGLESERVER"

  • For a farm deployment: Install-SharePoint -SetupExePath "<drive letter>:\SharePoint 2010\Setup\setup.exe" -PIDKey "PVRYW-RRP8H-FG6G2-YGMQW-3V9VX"

To run Setup in silent mode using a configuration XML file, type one of the following commands at a Windows PowerShell command prompt:

  • For a stand-alone server: Install-SharePoint -SetupExePath "G:\SharePoint 2010\Setup\setup.exe" -ConfigXML "G:\SharePoint 2010\Setup\Config\singleserver_config.xml"-PIDKey "PVRYW-RRP8H-FG6G2-YGMQW-3V9VX" -ServerRole "SINGLESERVER"

  • For a farm deployment: Install-SharePoint -SetupExePath "G:\SharePoint 2010\Setup\setup.exe" -ConfigXML "G:\SharePoint 2010\Setup\Config\appserver_config.xml"-PIDKey "PVRYW-RRP8H-FG6G2-YGMQW-3V9VX"

Configure the farm by using New-SharePointFarm

You use the New-SharePointFarm command to configure SharePoint Server 2010 after the Install-SharePoint command has finished. The configuration options are different depending on whether you install SharePoint Server 2010 on a stand-alone server or on a server farm.

Configure SharePoint Server 2010 on a stand-alone server

In stand-alone server deployments, you can run New-SharePointFarm. After you have logged on by using the Setup user account that you previously created and configured, you configure SharePoint Server 2010.

To configure SharePoint Server 2010 on a stand-alone server by using New-SharePointFarm

  • At the Windows PowerShell command prompt, type the following command:

    Copy Code
    New-SharePointFarm -DatabaseServer <String> -DatabaseAccessAccount <(Get-Credential domain\account)> -FarmName <string>

    Where:

    • <String> is name database server. For example, "SQL01"

    • <PSCredential> is the DOMAIN\password of the user account that is performing the installation.

    • <String> is the name of the farm. For example, "Farm1"

The New-SharePointFarm command describes the configuration steps as they occur, and notes the successful completion of configuration. For a stand-alone server installation, this is the final step in a command-line installation.

We strongly recommend that you install and configure SharePoint Server 2010 on all of the farm servers before you create sites.

Caution:

Do not run the New-SharePointFarm and Join-SharePointFarm commands simultaneously on multiple computers as contention issues and unpredictable behavior can occur.

Note:

If any of these commands fail, look in the post-setup configuration log files. The log files are available at %COMMONPROGRAMFILES%\Microsoft shared\Web server extensions\14\Logs, and can be identified by a file name that begins with PowerShell_ConfigurationDiagnostics and the .log file name extension.

Note:

The Windows PowerShell cmdlets mentioned in this section must be run from the SharePoint 2010 Management Shell.

To connect to an existing configuration database and join the server to an existing server farm, the Connect-SPConfigurationDatabase cmdlet must be run along with the following Windows PowerShell cmdlets, in this order:

  • Install-SPHelpCollection

  • Initialize-SPResourceSecurity

  • Install-SPService

  • Install-SPFeature -AllExistingFeatures

  • Install-SPApplicationContent

Create a Web Application using Windows PowerShell

Use the New-SPWebApplication cmdlet to create the Web application and a new content database. Use the following example as a guide.

To create a Web application

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell command prompt, type the following command:

    Copy Code
    New-SPWebApplication -Name <InternetSite> -ApplicationPoolAccount (Get-SPManagedAccount <DOMAIN\UserName>

    Where:

    • <InternetSite> is name of the Web application.

    • Domain\UserName is the name of the application pool account.

For more information, see New-SPWebApplication.

Note:

We recommend that you use Windows PowerShell when performing command-line administrative tasks. The Stsadm command-line tool has been deprecated, but is included to support compatibility with previous product versions.

Deploy services using the SharePoint 2010 Farm Configuration Wizard

Use the SharePoint Products Configuration Wizard to deploy services on your installation. For information about services and service applications, see Service application and service management (SharePoint Server 2010).

Create a site collection by using Windows PowerShell

You create the top-level site collection by using the New-SPSite cmdlet. The New-SPSite cmdlets creates a site collection at a specific URL with a specified user as a site owner.

To create a site collection

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell command prompt, type the following command:

    Copy Code
    New-SPSite <SiteURL> -OwnerAlias <DOMAIN\UserName>

    Where:

    • <SiteURL> is the URL of the new site.

    • <DOMAIN\UserName> is the user login name of the site owner.

For more information, see New-SPSite.

Note:

We recommend that you use Windows PowerShell when performing command-line administrative tasks. The Stsadm command-line tool has been deprecated, but is included to support compatibility with previous product versions.

If you do not specify the site template to use, site owners can choose the site template when they first browse to the site. You can use the Get-SPWebTemplate cmdlet to display a list of templates.

For a complete list of common templates in SharePoint Server 2010, see Scripted Deployment Reference (SharePoint Server).

If you want to create additional site collections by using Windows PowerShell, you can use the New-SPSite cmdlet.

Note:

If you want to create a new content database with the new site, use the New-SPContentDatabase cmdlet or the New-SPSite with the ContentDatabase parameter.

After creating sites, you might want to configure alternate access mappings. Alternate access mappings direct users to the correct URLs during their interaction with SharePoint Server 2010 (while browsing to the home page of a SharePoint site, for example). Alternate access mappings enable SharePoint Server 2010 to map Web requests to the correct Web applications and sites, and they enable SharePoint Server 2010 to serve the correct content back to the user. For more information, see Set-SPAlternateUrl.

Perform additional configuration tasks

After you have installedSharePoint Server 2010, we recommend that you perform the following administrative tasks:

  • Configure outgoing e-mail settings.

  • Configure workflow settings.

  • Configure diagnostic logging settings.

  • Configure antivirus settings.

Add servers to the farm by using Join-SharePointFarm

You must run the Join-SharePointFarm command on all servers you want to add to the farm. To connect to an existing configuration database and join the server to an existing server farm, type the following command on the server (after installing SharePoint Server 2010):

Copy Code
Join-SharePointFarm -DatabaseServer <String> -ConfigurationDatabaseName <String> -Passphrase <SecureString>

Where:

  • <String> is the name of the database server, for example, SQL01.

  • <SecureString> is the password of the user account in the form DOMAIN\password.

Configure the trace log

The trace log can be useful for analyzing problems that might occur. You can use events that are written to the trace log to determine what configuration changes were made in SharePoint Server 2010 before the problem occurred.

By default, SharePoint Server 2010 saves 14 days of events in the trace log files. This means that trace log files that contain events that are older than 14 days are deleted. You can use the Set-SPLogLevel cmdlet to configure all diagnostic logging.

You can use the Diagnostic Logging page in Central Administration to configure the maximum number of trace log files to maintain, and how long (in minutes) to capture events to each log file.

You can also specify where the log files are written or accept the default path by using the Set-SPLogLevel cmdlet.

Trace log files can help you troubleshoot issues related to configuration changes to the Microsoft SharePoint Foundation Search service. Because problems related to configuration changes are not always immediately discovered, we recommend that you save all trace log files that the system creates on any day that you make any configuration changes. Store these log files for some time in a safe location that will not be overwritten. We recommend that you store log files on a hard disk drive partition that is used to store log files only.

For additional information about diagnostic logging, see Configure diagnostic logging (SharePoint Server 2010).


Deploy on Windows Azure virtual machines
See Also

Published: September 4, 2012

You can deploy Microsoft SharePoint Server 2010 on virtual machines running on Hyper-V virtualization host servers on-premise or as a hosted solution running on Windows Azure Virtual Machines. This whitepaper provides an overview of Windows Azure and the benefits of using a hosted virtualization solution. In addition to describing four typical usage scenarios that can leverage Microsoft's Infrastructure as a Service (IaaS) offering, this paper provides detailed information about setting up Azure Virtual Machines and deploying SharePoint Server 2010.

Download this guide as a Microsoft Word document (.docx).

SharePoint Deployment on Windows Azure Virtual Machines (http://go.microsoft.com/fwlink/p/?LinkId=263505)

See Also

Concepts

Deployment scenarios (SharePoint Server 2010)


Initial configuration (SharePoint Server 2010)

After the installation of Microsoft SharePoint Server 2010, you must perform an initial configuration. If you are using different languages in the server farm, ensure that you install the correct language packs on your Web servers. Next, you can start to configure server farm settings. The configuration of additional settings is optional, but many key features are not available unless these settings are configured. When you have created a Web application and configured the services that you want to use for this Web application, you can start to create site collections.

The articles in this section help you perform the initial configuration of SharePoint Server 2010.

  • Deploy language packs (SharePoint Server 2010)

    Language packs enable site owners and site collection administrators to create SharePoint sites and site collections in multiple languages without requiring separate installations of SharePoint Server 2010. This article describes how you install language packs on Web servers.

  • Configure farm settings (SharePoint Server 2010)

    This article describes how to configure additional settings in the server farm, for example outgoing and incoming e-mail, mobile account, and diagnostic logging.

  • Configure services (SharePoint Server 2010)

    Individual services can be configured independently, and you can implement only the services that your organization needs. Services that are deployed are named service applications. A service application provides a resource that can be shared across sites within a farm or sometimes across multiple farms, and can be accessed by users through a hosting Web application. This article covers how to start, stop, and configure services, and how to manage and publish service applications.

  • Configure a managed metadata service application (SharePoint Server 2010)

    A managed metadata service application is used to manage metadata and share content across site collections and Web applications. The service application can be configured manually or by using Windows PowerShell. This article provides links to articles that provide detailed information about how to configure the key elements of a managed metadata service application.

  • Prepare to host sites (SharePoint Server 2010)

    After you have installed SharePoint Server 2010 and performed the initial configuration, you can begin to create SharePoint sites. This article describes how you create a Web application and a site collection which are the basis for creating SharePoint sites.


Deploy language packs (SharePoint Server 2010)
See Also

In this article:

  • About language IDs and language packs

  • Downloading language packs

  • Installing language packs on the web and application servers

  • Uninstalling language packs

Language packs enable site owners and site collection administrators to create SharePoint sites and site collections in multiple languages without requiring separate installations of Microsoft SharePoint Server 2010. You install language packs, which contain language-specific site templates, on web and application servers. When an administrator creates a site or a site collection that is based on a language-specific site template, the text that appears on the site or the site collection is displayed in the site template's language. Language packs are typically used in multinational deployments where a single server farm supports people in different locations, or when sites and web pages must be duplicated in one or more languages.

product logo for Microsoft Project If users are accessing Microsoft Project Server 2010 in the SharePoint Server 2010 farm and have to view their project data in another language, they will also have to install a corresponding Project Server 2010 language pack. For more information about Project Server 2010 language packs, see Deploy Language Packs (Project Server 2010).

Note:

You cannot change an existing site, site collection, or web page from one language to another by applying different language-specific site templates. After you use a language-specific site template for a site or a site collection, the site or site collection will always display content in the language of the original site template.

Word breakers and stemmers enable you to efficiently and effectively search across content on SharePoint sites and site collections in multiple languages without requiring separate installations of SharePoint Server 2010. Word breakers and stemmers are automatically installed on web servers by Setup.

Important:

If you are uninstalling SharePoint Server 2010, you must uninstall all language packs before you uninstall SharePoint Server 2010.

About language IDs and language packs

When site owners or site collection administrators create sites or site collections, they can select a language for each site or site collection.

The language that they select has a language identifier (ID). The language ID determines the language that is used to display and interpret text that is put on the site or site collection. For example, when a site owner creates a site in French, the site's toolbars, navigation bars, lists, and column headings appear in French. Similarly, if a site owner creates a site in Arabic, the site's toolbars, navigation bars, lists, and column headings appear in Arabic. In addition, the default left-to-right orientation of the site changes to a right-to-left orientation to correctly display Arabic text.

The list of available languages that people can use to create a site or site collection is generated by the language packs that are installed on the web and application servers. By default, sites and site collections are created in the language in which SharePoint Server 2010 was installed. For example, if you install the Spanish version of SharePoint Server 2010, the default language for sites, site collections, and web pages is Spanish. If someone has to create sites, site collections, or web pages in a language other than the default SharePoint Server 2010 language, you must install the language pack for that language on the web and application servers. For example, if you are running the French version of SharePoint Server 2010, and a site owner wants to create sites in French, English, and Spanish, you must install the English and Spanish language packs on the web and application servers.

Note:

By default, when a site owner creates a new web page in a site, the site displays text in the language that is specified by the language ID.

Language packs are not bundled into multilingual installation packages. You must install a specific language pack for each language that you want to support. Also, language packs must be installed on each web and application server to ensure that each web and application server can display content in the specified language.

Important:

You cannot change an existing site, site collection, or web page from one language to another by applying different language-specific site templates. After you use a language-specific site template for a site or a site collection, the site or site collection will always display content in the language of the original site template.

For a list of all the language packs available, see Language packs (SharePoint Server 2010).

Although a site owner specifies a language ID for a site, some user interface elements such as error messages, notifications, and dialog boxes do not display in the language that was specified. This is because SharePoint Server 2010 relies on several supporting technologies — for example, the Microsoft .NET Framework, Microsoft Windows Workflow Foundation, Microsoft ASP.NET, and Microsoft SQL Server 2005 — some of which are localized into only a limited number of languages. If a user interface element is generated by any of the supporting technologies that is not localized into the language that the site owner specified for the site, the user interface element appears in English. For example, if a site owner creates a site in Hebrew, and the .NET Framework component displays a notification message, the notification message will not display in Hebrew because the .NET Framework is not localized into Hebrew. This situation can occur when sites are created in any language except the following: Chinese, French, German, Italian, Japanese, Korean, and Spanish.

Important:

Each language pack that you install creates a folder at %COMMONPROGRAMFILES%\Microsoft Shared\Web server extensions\14\LAYOUTS\Locale_ID that contains culture-specific data. In each locale_ID folder. you must have only one HTML error file that contains the error information that is used when a file cannot be found. Anytime a file cannot be found for any site in that culture, this file will be used. You can specify which file to use by setting the SPWebApplication.FileNotFoundPage property for each web application. For more information, see SPWebApplication.FileNotFoundPage Property. (http://go.microsoft.com/fwlink/p/?LinkId=169319)

In some cases, some text might originate from the original installation language, which can create a mixed-language experience. This kind of mixed-language experience is typically seen only by content creators or site owners and is not seen by site users.

Downloading language packs

You must follow these steps for each language that you want to support. If you decide to download more than one language, please be aware that a unique file that has a common name is downloaded for each language. Therefore, make sure that you download each language pack to a separate folder on the hard disk so that you do not overwrite a language pack of a different language.

Important:

By default, the Windows PowerShell 2.0 Help files are installed in English (en-us). To view these files in the same language as the operating system, you must install the language pack for the same language that the operating system was installed in.

You can download language packs at 2010 Server Language Packs for SharePoint Server 2010, Project Server 2010, Search Server 2010, and Office Web Apps 2010 Language Packs for SharePoint Foundation 2010.

Important:

If you are upgrading from an earlier version of Microsoft SharePoint Server and you are using the Group Approval (eApproval) features, you must install all the following language packs before you run the SharePoint Products Configuration Wizard:

  • Chinese (Simplified) - 2025

  • Chinese (Traditional) - 1028

  • Japanese - 1041

  • Korean - 1042

After installing the language packs, run the following command in the %COMMONPROGRAMFILES%\Microsoft Shared\Web Server Extensions\14 folder:

psconfig.exe -cmd upgrade -inplace v2v

Download the language pack

  1. Download the 64-bit version of the language pack by using one of the download links.

  2. On the download page, select the language that you want from the Change Language list, and then click Change.

  3. Click Download on the web page.

  4. In the dialog box that appears, click Save to download a copy of the file to the local computer.

Note:

If you are uninstalling SharePoint Server 2010, you must uninstall all language packs before you uninstall SharePoint Server 2010.

Installing language packs on the web and application servers

After you install the necessary language files on the web and application servers, you can install the language packs. Language packs are available as individual downloads (one download for each supported language). If you have a server farm environment and you are installing language packs to support multiple languages, you must install the language packs on each of the web and application servers.

Important:

The language pack is installed in its native language. For example, the Russian language pack executable file is in Russian. The procedure that follows is for the English language pack.

SharePoint Foundation 2010 language packs are not required for SharePoint Server 2010.

Install a language pack

  1. Run setup.exe.

  2. On the Read the Microsoft Software License Terms page, review the terms, select the I accept the terms of this agreement check box, and then click Continue.

  3. The Setup wizard runs and installs the language pack.

  4. Rerun the SharePoint Products Configuration Wizard by using the default settings. If you do not run the SharePoint Products Configuration Wizard after you install a language pack, the language pack will not be installed correctly.

Rerun the SharePoint 2010 Products Configuration Wizard

  1. Click Start, point to All Programs, click Microsoft SharePoint 2010 Products, and then click SharePoint 2010 Products Configuration Wizard.

  2. On the Welcome to SharePoint Products page, click Next.

  3. Click Yes in the dialog box that alerts you that some services might have to be restarted during configuration.

  4. On the Modify Server Farm Settings page, click Do not disconnect from this server farm, and then click Next.

  5. If the Modify SharePoint Central Administration Web Administration Settings page appears, do not change any of the default settings, and then click Next.

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

  7. On the Configuration Successful page, click Finish.

When you install language packs, the language-specific site templates are installed in the %COMMONPROGRAMFILES%\Microsoft Shared\Web server extensions\14\TEMPLATE\LanguageID directory, where LanguageID is the Language ID number for the language that you are installing. For example, the United States English language pack installs to the %COMMONPROGRAMFILES%\Microsoft Shared\Web Server Extensions\14\TEMPLATE\1033 directory. After you install a language pack, site owners and site collection administrators can create sites and site collections based on the language-specific site templates by specifying a language when they are creating a new SharePoint site or site collection.

Important:

After you install a new language pack, you must deactivate and then reactivate any language-specific features before you use the new language pack.

Note:

After you install a new language pack, you can start user profile synchronization manually, or you can wait up to 24 hours for the new language pack to take effect. For the procedure to start profile synchronization manually, see Start profile synchronization manually (SharePoint Server 2010). For more information about user profile synchronization, see Manage profile synchronization (SharePoint Server 2010).

Uninstalling language packs

If you no longer have to support a language for which you have installed a language pack, you can remove the language pack by using the Control Panel. Removing a language pack removes the language-specific site templates from the computer. All sites that were created that have those language-specific site templates will no longer work (the URL will produce a HTTP 500 - Internal server error page). Reinstalling the language pack will make the site functional.

Note:

You cannot remove the language pack for the version of SharePoint Server 2010 that you have installed on the server. For example, if you are running the Japanese version of SharePoint Server 2010, you cannot uninstall the Japanese language support for SharePoint Server 2010.

See Also

Other Resources

Resource Center: Installation and Deployment for SharePoint Server 2010


Configure farm settings (SharePoint Server 2010)
See Also

After the initial installation of Microsoft SharePoint Server 2010, you can configure several additional settings. Some of these settings include configuring usage and health data collection to ensure that you collect relevant data to analyze, configuring several diagnostic logging settings to help with troubleshooting, and configuring a mobile account so that users can receive alerts by means of Short Message Service (SMS) when changes have been made in a SharePoint list or item. The configuration of additional settings is optional, but many key features are not available unless these settings are configured.

The articles in this section describe how you configure the server farm.

  • Configure usage and health data collection (SharePoint Server 2010)

    This article describes how to configure usage and health data collection in SharePoint Server 2010.

  • Configure diagnostic logging (SharePoint Server 2010)

    This article describes how to configure diagnostic logging that might be required after initial deployment or upgrade and possibly throughout the system's life cycle.

  • E-mail integration (SharePoint Server 2010)

    This article describes how to configure incoming and outgoing e-mail in the server farm.

  • Configure a mobile account (SharePoint Server 2010)

    This article discusses how to configure and manage a mobile account for SharePoint Server 2010 to enable users to subscribe to alerts that are sent by using SMS.

  • Install and configure RBS (SharePoint Server 2010)

    This article describes how to install and configure Remote BLOB Storage (RBS) for a Microsoft SQL Server 2008 database server that supports a Microsoft SharePoint Server 2010 farm.

  • Configure and use the Exchange connector (SharePoint Server 2010)

    This article describes how to create a crawl rule and add a content source for crawling Microsoft Exchange Server public folders.

  • Deploy Business Intelligence Indexing Connector (SharePoint Server 2010)

    These articles describe deployment steps for Microsoft Business Intelligence Indexing Connector.

See Also

Other Resources

Resource Center: Installation and Deployment for SharePoint Server 2010


Configure usage and health data collection (SharePoint Server 2010)
See Also

This article provides information about configuring usage and health data collection in Microsoft SharePoint Server 2010.

The system writes usage and health data to the logging folder and to the logging database. To configure settings for the logging database, you must use Windows PowerShell.

In this article:

  • Configure usage and health data collection by using Central Administration

  • Configure usage data collection by using Windows PowerShell

  • To configure usage data collection for a specific event type by using Windows PowerShell

  • Log usage data in a different logging database by using Windows PowerShell

Note:

You cannot configure health data collection settings by using Windows PowerShell.

Configure usage and health data collection by using Central Administration

You can use only Central Administration to configure usage and health data collection.

To configure usage and health data collection by using Central Administration

  1. Verify that the user account performing this procedure is a member of the Farm Administrators group.

    Note:

    The usage and health data settings are farm-wide and cannot be set for individual servers in the farm.

  2. In Central Administration, on the Home page, click Monitoring.

  3. On the Monitoring page, in the Reporting section, click Configure usage and health data collection.

  4. On the Configure usage and health data collection page, in the Usage data collection section, enable usage data collection by selecting the Enable usage data collection text box.

  5. In the Event Selection section, select the events to log by selecting the check box next to the events in the Events to log list.

    Note:

    Logging uses system resources and can affect performance and disk usage. Only log those events for which you want regular reports. For ad hoc reports or investigations, enable logging for specific events, and then disable logging for the events after the report or investigation is complete.

  6. In the Usage data collection settings section, type the path of the folder you want usage and health information to be written to in the Log file location box. The path that you specify must exist on all farm servers.

    Note:

    These settings are applied to all events. To set event collection settings for individual event types, you must use Windows PowerShell.

  7. Type the maximum disk space for the logs in gigabytes (between 1 and 20 GB) in the Maximum log file size box.

  8. In the Health data collection section, select the Enable health data collection check box. To change the collection schedules, click Health Logging Schedule. A list of timer jobs that collect health data is listed. Click any of the timer jobs to change its schedule, or disable that timer job.

  9. In the Logging Database Server section, to change the authentication used, select either the Windows authentication or SQL authentication option.

    Note:

    To change the Database Server and Database Name values, you must use Windows PowerShell.

Configure usage data collection by using Windows PowerShell

Note:

You can configure usage data collection by using Windows PowerShell, but you cannot configure health data collection by using Windows PowerShell.

To configure usage data collection by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell command prompt (that is, PS C:\>), type the following command, and then press ENTER:

    Set-SPUsageService [-LoggingEnabled {1 | 0}] [-UsageLogLocation <Path>] [-UsageLogMaxSpaceGB <1-20>] [-Verbose]

    Important:

    You must specify a path for UsageLogLocation that exists on all farm servers.

    Enable usage data logging by typing -LoggingEnabled 1. Specify the maximum amount of drive space used for logging with the UsageLogMaxSpaceGB parameter.

For more information, see Set-SPUsageService.

To configure usage data collection for a specific event type by using Windows PowerShell

The event types listed on the Configure usage and health data collection page in Central Administration are the same as Usage Definitions in Windows PowerShell. You can use only Windows PowerShell to configure usage definitions individually. Moreover, you can configure only the DaysRetained setting.

To configure usage data logging for a specific event type using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell command prompt (that is, PS C:\>), type the following command, and then press ENTER:

    Set-SPUsageDefinition -Identity <GUID> [-Enable] [-DaysRetained <1-30>] [-Verbose]

    Use the Enabled switch to enable usage logging for this usage definition. Use DaysRetained to specify how long the usage data is retained in the log before being deleted. The range is 1 to 30 days. To view the progress of the command, use the Verbose parameter.

For more information, see Set-SPUsageDefinition.

Log usage data in a different logging database by using Windows PowerShell

Note:

You can use only Windows PowerShell to change this setting.

To log usage data in a different logging database by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell command prompt (that is, PS C:\>), type the following command, and then press ENTER:

    Set-SPUsageApplication -DatabaseServer <Database server name> -DatabaseName <Database name> [-DatabaseUsername <User name>] [-DatabasePassword <Password>] [-Verbose]

    You must specify the value for the DatabaseServer parameter, even if the new database is on the same database server as the old one. You must use both the DatabaseUsername and the DatabasePassword parameters if the database owner is a different user account that the one you with which you are logged on. To view the progress of the command, use the Verbose parameter.

For more information, see Set-SPUsageApplication.

See Also

Concepts

Monitoring overview (SharePoint Server 2010)


Configure diagnostic logging (SharePoint Server 2010)
See Also

This article provides information about configuring diagnostic logging in Microsoft SharePoint Server 2010.

In this article:

  • Best practices

  • Configure diagnostic logging by using Central Administration

  • Configure diagnostic logging by using Windows PowerShell

Best practices

The SharePoint Server 2010 environment might require configuration of the diagnostic loggings settings after initial deployment or upgrade and possibly throughout the system's life cycle. The guidelines in the following list can help you form best practices for the specific environment.

  • Change the drive that logging writes to. By default, diagnostic logging is configured to write logs to the same drive and partition that SharePoint Server 2010 was installed on. Because diagnostic logging can use lots of drive space and writing to the logs can affect drive performance, you should configure logging to write to a drive that is different from the drive on whichSharePoint Server 2010 was installed. You should also consider the connection speed to the drive that logs are written to. If verbose-level logging is configured, lots of log data is recorded. Therefore, a slow connection might result in poor log performance.

  • Restrict log disk space usage. By default, the amount of disk space that diagnostic logging can use is not limited. Therefore, limit the disk space that logging uses to make sure that the disk does not fill up, especially if you configure logging to write verbose-level events. When the disk restriction is used up, the oldest logs are removed and new logging data information is recorded.

  • Use the Verbose setting sparingly. You can configure diagnostic logging to record verbose-level events. This means that the system will log every action that SharePoint Server 2010 takes. Verbose-level logging can quickly use drive space and affect drive and server performance. You can use verbose-level logging to record a greater level of detail when you are making critical changes and then re-configure logging to record only higher-level events after you make the change.

  • Regularly back up logs. The diagnostic logs contain important data. Therefore, back them up regularly to make sure that this data is preserved. When you restrict log drive space usage, or if you keep logs for only a few days, log files are automatically deleted, starting with the oldest files first, when the threshold is met.

  • Enable event log flooding protection. Enabling this setting configures the system to detect repeating events in the Windows event log. When the same event is logged repeatedly, the repeating events are detected and suppressed until conditions return to a typical state.

You can set the level of diagnostic logging for the event log and for the trace log. This will limit the types and amount of information that will be written to each log. The following tables define the levels of logging available for the event log and trace log:

Event log levels

Level | Definition
None | No logging occurs.
Critical | This message type indicates a serious error that has caused a major failure in the solution.
Error | This message type indicates an urgent condition. All error events should be investigated.
Warning | This message type indicates a potential problem or issue that might require attention. Warning messages should be reviewed and tracked for patterns over time.
Information | Information messages do not require any action, but they can provide valuable data for monitoring the state of your solution.
Verbose | This event log level corresponds to lengthy events or messages.

Trace log levels

Level | Definition
None | No trace logs are written.
Unexpected | This level is used to log messages about events that cause solutions to stop processing. When set to log at this level, the log will only include events at this level.
Monitorable | This level is used to log messages about any unrecoverable events that limit the solution's functionality but do not stop the application. When set to log at this level, the log will also include critical errors (Unexpected level).
High | This level is used to log any events that are unexpected but which do not stall the processing of a solution. When set to log at this level, the log will include warnings, errors (Monitorable level) and critical errors (Unexpected level).
Medium | When set to this level, the trace log includes everything except Verbose messages. This level is used to log all high-level information about operations that were performed. At this level, there is enough detail logged to construct the data flow and sequence of operations. This level of logging could be used by administrators or support professionals to troubleshoot issues.
Verbose | When set to log at this level, the log includes messages at all other levels. Almost all actions that are performed are logged when you use this level. Verbose tracing produces many log messages. This level is typically used only for debugging in a development environment.

Configure diagnostic logging by using Central Administration

You can use Central Administration to configure diagnostic logging.

To configure diagnostic logging by using Central Administration

  1. Verify that the user account that is performing this procedure is a member of the Farm Administrators SharePoint group.

  2. In Central Administration, on the Home page, click Monitoring.

  3. On the Monitoring page, in the Reporting section, click Configure diagnostic logging.

  4. On the Diagnostic Logging page, in the Event Throttling section, you can configure event throttling as follows:

    To configure event throttling for all categories:

    1. Select the All Categories check box.

    2. Select the event log level from the Least critical event to report to the event log list.

    3. Select the trace log level from the Least critical event to report to the trace log list.

    To configure event throttling for one or more categories:

    1. Select the check boxes next to the categories that you want.

    2. Select the event log level from the Least critical event to report to the event log list.

    3. Select the trace log level from the Least critical event to report to the trace log list.

    To configure event throttling for one or more sub-categories (you can expand one or more categories and select any sub-category):

    1. Click (+) next to the category to expand the category.

    2. Select the check box next to the sub-category.

    3. Select the event log level from the Least critical event to report to the event log list.

    4. Select the trace log level from the Least critical event to report to the trace log list.

    To configure event throttling for all categories back to default settings:

    1. Select the All Categories check box.

    2. Select Reset to default from the Least critical event to report to the event log list.

    3. Select Reset to default from the Least critical event to report to the trace log list.

  5. In the Event Log Flood Protection section, select the Enable Event Log Flood Protection check box.

  6. In the Trace Log section, in the Path box, type the path of the folder to which you want logs to be written.

  7. In the Number of days to store log files box, type the number of days (1-366) that you want logs to be kept. After this time, logs will automatically be deleted.

  8. To restrict how much disk space the logs can use, select the Restrict Trace Log disk space usage check box, and then type the number gigabytes (GB) you want to restrict log files to. When logs reach this disk size, older logs will automatically be deleted.

  9. After you have made the changes that you want on the Diagnostic Logging page, click OK.

Configure diagnostic logging by using Windows PowerShell

You can use Windows PowerShell to configure diagnostic logging.

To configure diagnostic logging by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell command prompt (that is, PS C:\>), type the following command, and then press ENTER:

    Set-SPLogLevel -TraceSeverity {None | Unexpected | Monitorable | Medium | High | Verbose} -EventSeverity {None | Information | Warning | Error | Critical | Verbose} [-Identity <Category name…>]  -Verbose

    You can use the Identity parameter to specify one or more categories to change — for example, Administration. If you do not specify the value for the Identity parameter, all categories are changed.

    To view the current settings, type Get-SPLogLevel, and then press ENTER.

    To set all categories back to default levels, type Clear-SPLogLevel, and then press ENTER.

For more information, see Set-SPLogLevel.

Note:

We recommend that you use Windows PowerShell when performing command-line administrative tasks. The Stsadm command-line tool has been deprecated, but is included to support compatibility with previous product versions.

See Also

Concepts

Monitoring overview (SharePoint Server 2010)

Other Resources

Resource Center: Installation and Deployment for SharePoint Server 2010


E-mail integration (SharePoint Server 2010)

After the initial installation of Microsoft SharePoint Server 2010, you can configure incoming and outgoing e-mail. These additional settings are optional, but might be useful if you want to work with e-mail in the server farm.

  • Configure incoming e-mail (SharePoint Server 2010)

    This article describes how to configure incoming e-mail so that SharePoint sites accept and archive incoming e-mail. It also describes how to configure incoming e-mail so that SharePoint sites can archive e-mail discussions as they happen, save e-mailed documents, and show e-mailed meetings on site calendars. In addition, this article describes how to configure the SharePoint Directory Management Service to provide support for e-mail distribution list creation and management.

  • Configure outgoing e-mail (SharePoint Server 2010)

    This article describes how to configure outgoing e-mail so that your Simple Mail Transfer Protocol (SMTP) server sends e-mail alerts to site users and notifications to site administrators.


Configure incoming e-mail (SharePoint Server 2010)
See Also

This article describes how to configure incoming e-mail for a server farm for Microsoft SharePoint Server 2010. This article also describes how to install and configure the SMTP service that you must use to enable incoming e-mail.

In this article:

  • Overview

  • Install and configure the SMTP service

  • Configure incoming e-mail in a basic scenario

  • Configure incoming e-mail in an advanced scenario

  • Prepare your environment for incoming e-mail in an advanced scenario

  • Are attachments missing from e-mail messages that are sent to a SharePoint document library?

Overview

When incoming e-mail is enabled, SharePoint sites can receive and store e-mail messages and attachments in lists and libraries. This article describes two scenarios, one basic and one advanced. The basic scenario applies to a single-server farm environment and is recommended if you want to use default settings, whereas the advanced scenario applies to a single-server farm or a multiple-server farm and contains several advanced options from which to choose. For more information, see Plan incoming e-mail (SharePoint Server 2010).

Before you perform these procedures, confirm that:

  • Your system is running SharePoint Server 2010.

  • You have read Plan incoming e-mail (SharePoint Server 2010).

  • If you are using the basic scenario, each SharePoint front-end Web server must be running the Simple Mail Transfer Protocol (SMTP) service and the Microsoft SharePoint Foundation Web Application service.

  • If you are using the advanced scenario, you can use one or more servers in the server farm to run the SMTP service and to have a valid SMTP server address. Alternatively, you must know the name of a server outside the farm that is running the SMTP service and the location of the e-mail drop folder.

If you have not installed and configured the SMTP service and do not choose to use an e-mail drop folder, you must perform the following procedures before you configure incoming e-mail:

  • Install and configure the SMTP service.

Install and configure the SMTP service

Incoming e-mail for SharePoint Server 2010 uses the SMTP service. You can use the SMTP service in one of two ways. You can install the SMTP service on one or more servers in the farm, or administrators can provide an e-mail drop folder for e-mail that is forwarded from the service on another server. For more information about the e-mail drop folder option, see Plan incoming e-mail (SharePoint Server 2010).

Install the SMTP service

If you are not using a drop folder for e-mail, the SMTP service must be installed on every front-end Web server in the farm that you want to configure for incoming e-mail. To install the SMTP service, use the Add Features Wizard in Server Manager. After the procedure is complete, a default SMTP configuration has been created. You can customize this default SMTP configuration to meet the requirements of your environment.

To install the SMTP service

  1. Verify that you have the following administrative credentials:

    • You must be a member of the Administrators group on the local computer.

  2. Click Start, point to Administrative Tools, and then click Server Manager.

  3. In Server Manager, click Features.

  4. In Features Summary, click Add Features to open the Add Features Wizard.

  5. On the Select Features page, select SMTP Server.

  6. In the Add Features Wizard dialog box, click Add Required Features, and then click Next.

  7. On the Confirm Installation Selections page, click Install.

  8. On the Installation Results page, ensure that the installation finished successfully, and then click Close.

Install IIS 6.0 Management tools

To manage the SMTP service on Windows Server 2008 and Windows Server 2008 R2, you must use Internet Information Services (IIS) 6.0 Manager.

To install IIS 6.0 Manager

  1. Verify that you have the following administrative credentials:

    • You must be a member of the Administrators group on the local computer.

  2. Click Start, point to Administrative Tools, and then click Server Manager.

  3. In Server Manager, click Roles.

  4. In Role Services, click Add Role Services.

  5. On the Select Role Services page, select Management Tools and IIS 6 Management compatibility, and then click Install.

Configure the SMTP service

After you install the SMTP service, you configure it to accept e-mail from the mail server for the domain. You can decide to accept relayed e-mail from all servers except those that you specifically exclude. Alternatively, you can block e-mail from all servers except those that you specifically include. You can include servers individually, or in groups by subnet or domain.

After you configure the service, set it to start automatically.

To configure the SMTP service

  1. Verify that you have the following administrative credentials:

    • You must be a member of the Administrators group on the local computer.

  2. Click Start, point to Administrative Tools, and then click Internet Information Services (IIS) 6.0 Manager.

  3. In IIS Manager, expand the server name that contains the SMTP server that you want to configure.

  4. Right-click the SMTP virtual server that you want to configure, and then click Start.

  5. Right-click the SMTP virtual server that you want to configure, and then click Properties.

  6. On the Access tab, in the Access control area, click Authentication.

  7. In the Authentication dialog box, verify that Anonymous access is selected.

  8. Click OK.

  9. On the Access tab, in the Relay restrictions area, click Relay.

  10. To enable relaying from any server, click All except the list below.

  11. To accept relaying from one or more specific servers, follow these steps:

    1. Click Only the list below.

    2. Click Add, and then add servers one at a time by IP address, or in groups by using a subnet or domain.

    3. Click OK to close the Computer dialog box.

  12. Click OK to close the Relay Restrictions dialog box.

  13. Click OK to close the Properties dialog box.

To set the SMTP service to start automatically

  1. Click Start, point to Administrative Tools, and then click Services.

  2. In Services, right-click Simple Mail Transfer Protocol (SMTP), and then select Properties.

  3. In the Simple Mail Transfer Protocol (SMTP) Properties dialog box, on the General tab, in the Startup type list, select Automatic.

  4. Click OK.

Configure incoming e-mail in a basic scenario

You can use the following procedure to configure incoming e-mail in a basic scenario by selecting the Automatic settings mode and using the default settings. After the procedure is complete, users can send e-mail to lists and libraries.

To configure incoming e-mail in a basic scenario

  1. Verify that you have the following administrative credentials:

    • You must be a member of the Administrators group on the computer that is running the SharePoint Central Administration Web site.

  2. In Central Administration, click System Settings.

  3. On the System Settings page, in the E-Mail and Text Messages (SMS) section, click Configure incoming e-mail settings.

  4. If you want to enable sites on this server to receive e-mail, on the Configure Incoming E-Mail Settings page, in the Enable Incoming E-Mail section, click Yes.

  5. Select the Automatic settings mode.

  6. In the Incoming E-Mail Server Display Address section, in the E-mail server display address box, type a display name for the e-mail server, for example, mail.fabrikam.com.

  7. Use the default settings for all other sections, and then click OK.

After you configure incoming e-mail, users who have Manage Lists permissions can configure e-mail-enabled lists and document libraries.

Configure incoming e-mail in an advanced scenario

You can use the following procedure to configure incoming e-mail in an advanced scenario by selecting the Advanced settings mode and additional options that you want to use for your incoming e-mail environment. After the procedure is complete, users can send e-mail to lists and libraries.

Note:

You can also use the Automatic settings mode in an advanced scenario. The main difference is that in the Automatic settings mode, you can select to receive e-mail that has been routed through a safe-e-mail server application, whereas in the Advanced settings mode, you can instead specify a drop folder. For more information, see Plan incoming e-mail (SharePoint Server 2010).

Several of these steps mention pre-requisite procedures that are documented in the Configure incoming e-mail in an advanced scenario section of this article.

To configure incoming e-mail in an advanced scenario

  1. Verify that you have the following administrative credentials:

    • You must be a member of the Administrators group on the computer that is running the SharePoint Central Administration Web site.

  2. In Central Administration, click System Settings.

  3. On the System Settings page, in the E-Mail and Text Messages (SMS) section, click Configure incoming e-mail settings.

  4. If you want to enable sites on this server to receive e-mail, on the Configure Incoming E-mail Settings page, in the Enable Incoming E-Mail section, click Yes.

  5. Select the Advanced settings mode.

    If you select Advanced, you can specify a drop folder instead of using an SMTP server.

    Note:

    You can also select the Automatic settings mode and select whether to use Directory Management Service and whether to accept e-mail from all e-mail servers or from several specified e-mail servers. For more information, see Plan incoming e-mail (SharePoint Server 2010).

  6. If you want to connect to Directory Management Service, in the Directory Management Service section, click Yes.

    If you select this option, you must first configure Active Directory Domain Services (AD DS). If you use Exchange Server, you must also configure the DNS Manager and add an SMTP connector. For more information, see the "Configure AD DS to be used with Directory Management Service", "Configure DNS Manager", and "Add an SMTP connector in Exchange Server 2010" sections later in this article.

    1. In the Active Directory container where new distribution groups and contacts will be created box, type the name of the container in the format OU=ContainerName, DC=domain, DC=com, where ContainerName is the name of the OU in AD DS, domain is the second-level domain, and com is the top-level domain.

      Note:

      The application pool identity account for Central Administration must be delegated the Create, delete, and manage user accounts task for the container. Access is configured in the properties for the OU in AD DS.

    2. In the SMTP mail server for incoming mail box, type the name of the SMTP mail server. The server name must match the FQDN in the A resource record entry for the mail server in DNS Manager.

    3. To accept only messages from authenticated users, click Yes for Accept messages from authenticated users only. Otherwise, click No.

    4. To enable users to create distribution groups from SharePoint sites, click Yes for Allow creation of distribution groups from SharePoint sites. Otherwise, click No.

    5. Under Distribution group request approval settings, select the actions that will require approval. Actions include the following:

      • Create new distribution group

      • Change distribution group e-mail address

      • Change distribution group title and description

      • Delete distribution group

  7. If you want to use a remote Directory Management Service, select Use remote.

    If you select this option and you are using Exchange Server, you must configure the DNS Manager and add an SMTP connector. For more information, see the "Configure DNS Manager" and "Add an SMTP connector in Exchange Server 2010" sections later in this article. The AD DS has most likely already been configured, so you do not need to do this.

    1. In the Directory Management Service URL box, type the URL of the Directory Management Service that you want to use. The URL is typically in the following format: http://server:adminport/_vti_bin/SharePointEmailWS.asmx.

    2. In the SMTP mail server for incoming mail box, type the name of the SMTP mail server. The server name must match the FQDN in the A resource record entry for the mail server in DNS Manager on the domain server.

    3. To accept messages from authenticated users only, click Yes for Accept messages from authenticated users only. Otherwise, click No.

    4. To allow creation of distribution groups from SharePoint sites, click Yes for Allow creation of distribution groups from SharePoint sites. Otherwise, click No.

  8. If you do not want to use Directory Management Service, click No.

  9. In the Incoming E-Mail Server Display Address section, in the E-mail server display address box, type a display name for the e-mail server (for example, mail.fabrikam.com). You typically use this option together with the Directory Management Service.

    Tip:

    You can specify the e-mail server address that is displayed when users create an incoming e-mail address for a list or group. Use this setting together with Directory Management Service to provide an e-mail server address that is easy to remember.

  10. In the E-Mail Drop Folder section, in the E-mail drop folder box, type the name of the folder from which SharePoint 2010 Timer service retrieves incoming e-mail from the SMTP service. If you select this option, ensure that you configure the necessary permissions to the e-mail drop folder. For more information, see the "Configure permissions to the e-mail drop folder" section later in this article.

    It is useful to have a dedicated e-mail drop folder if the default e-mail drop folder is full or almost full.

    Ensure that the logon account for the SharePoint 2010 Timer service has Modify permissions on the e-mail drop folder. For more information, see "To configure e-mail drop folder permissions for the logon account for the SharePoint 2010 Timer service" procedure later in this article.

    Note:

    This option is available only if you selected Advanced settings mode.

  11. In the Safe E-Mail Servers section, select whether you want to accept e-mail from all e-mail servers or from several specified e-mail servers.

    Note:

    This option is available only if you selected Automatic settings mode.

  12. Click OK.

After you configure incoming e-mail, site administrators can configure e-mail-enabled lists and document libraries.

If you selected Directory Management Service, contact addresses that are created for document libraries appear automatically in Active Directory Users and Computers. The addresses are displayed in the OU of AD DS for SharePoint Server 2010 and must be managed by the administrator of AD DS. The AD DS administrator can add more e-mail addresses for each contact. For more information about AD DS, see Using Active Directory Service (http://go.microsoft.com/fwlink/p/?LinkId=151348).

Alternatively, the Exchange Server computer can be configured by adding a new Exchange Server Global recipient policy. The policy automatically adds external addresses that use the second-level domain name and not the subdomain or host name for SharePoint Server 2010. For more information about how to manage Exchange Server, see Recipient Configuration Node (http://go.microsoft.com/fwlink/p/?LinkId=151348).

Prepare your environment for incoming e-mail in an advanced scenario

Before you configure incoming e-mail in an advanced scenario, you need to perform additional procedures depending on how you want your incoming e-mail environment to work.

If you want to use Directory Management Service, you must first configure AD DS, and if you use Exchange Server, you must also configure the DNS Manager and add an SMTP connector.

If you want to use a specific e-mail drop folder, ensure that you configure the necessary permissions to the e-mail drop folder.

In this section:

  • Configure AD DS to be used with Directory Management Service

  • Configure DNS Manager

  • Add an SMTP connector in Microsoft Exchange Server 2010

  • Configure permissions to the e-mail drop folder

Configure AD DS to be used with Directory Management Service

If you plan to use Directory Management Service you should first create an organizational unit (OU) and make the necessary configurations in AD DS.

To use Directory Management Service on a SharePoint farm or on a remote server farm, you must configure the application pool identity account for the SharePoint Central Administration Web site to have the Create, delete, and manage user accounts user right to the container that you specify in AD DS. The preferred way to do this is by assigning the right to the application pool identity account for the SharePoint Central Administration Web site. An AD DS administrator must set up the OU and assign the Create, delete, and manage user accounts right to the container. The advantage of using Directory Management Service on a remote server farm is that you do not have to assign rights to the OU for multiple farm service accounts.

The following procedures are performed on a domain controller that runs Windows Server 2008 with DNS Manager. In some deployments, these applications might run on multiple servers in the same domain.

To create an OU in AD DS

  1. Verify that you have the following administrative credentials:

    • You must be a member of the Domain Administrators group or a delegated authority for domain administration on the domain controller that is running DNS Manager.

  2. Click Start, point to Administrative Tools, and then click Active Directory Users and Computers.

  3. In Active Directory Users and Computers, right-click the folder for the second-level domain that contains your server farm, point to New, and then click Organizational Unit.

  4. Type the name of the OU, and then click OK.

    After you create the OU, you must delegate the Create, delete, and manage user accounts right to the container of the OU to manage the user accounts.

To delegate the right to the application pool identity account for Central Administration

  1. Verify that you have the following administrative credentials:

    • You must be a member of the Domain Administrators group or the Enterprise Administrators group in AD DS, or a delegated authority for domain administration.

  2. In Active Directory Users and Computers, find the OU that you created.

  3. Right-click the OU, and then click Delegate control.

  4. On the Welcome page of the Delegation of Control Wizard, click Next.

  5. On the Users and Groups page, click Add, and then type the name of the application pool identity account that the Central Administration uses.

  6. In the Select Users, Computers, and Groups dialog box, click OK.

  7. On the Users or Groups page of the Delegation of Control Wizard, click Next.

  8. On the Tasks to Delegate page of the Delegation of Control Wizard, select the Create, delete, and manage user accounts check box, and then click Next.

  9. On the last page of the Delegation of Control Wizard, click Finish to exit the wizard.

To create and delete child objects, you must also delegate Create all Child Objects and Delete all Child Objects control of the OU to the application pool identity account for Central Administration. After this procedure is complete, the application pool identity account for Central Administration has Create all Child Objects and Delete all Child Objects control on the OU, and you can enable incoming e-mail.

To delegate Create all Child Objects and Delete all Child Objects control of the OU to the application pool identity account for Central Administration

  1. Verify that you have the following administrative credentials:

    • You must be a member of the Domain Administrators group or the Enterprise Administrators group in AD DS, or a delegated authority for domain administration.

  2. Right-click the OU, and then click Delegate control.

  3. In the Delegation of Control Wizard, click Next.

  4. Click Add, and then type the name of the application pool identity account for Central Administration.

  5. Click OK.

  6. Click Next.

  7. On the Tasks to Delegate page of the Delegation of Control Wizard, select Create a custom task to delegate, and then click Next.

  8. Click This folder, existing objects in this folder, and creation of new objects in this folder, and then click Next.

  9. In the Permissions section, select Create all Child Objects and Delete all Child Objects.

  10. Click Next.

  11. On the last page of the Delegation of Control Wizard, click Finish to exit the wizard.

Delegating Create all Child Objects and Delete all Child Objects control of the OU to the application pool identity account for Central Administration enables administrators to enable e-mail for a list. After these controls have been delegated, administrators cannot disable e-mail for the list or document library because the Central Administration account tries to delete the contact from the whole OU instead of from the list.

To avoid this problem, you must add Delete Subtree permissions for the application pool identity account for Central Administration. Use the following procedure to add these permissions. After this procedure is complete, you can disable incoming e-mail for a list.

To add Delete Subtree permissions for the application pool identity account for Central Administration

  1. Verify that you have the following administrative credentials:

    • You must be a member of the Domain Administrators group or the Enterprise Administrators group in AD DS, or a delegated authority for domain administration.

  2. In Active Directory Users and Computers, click the View menu, and then click Advanced Features.

  3. Right-click the OU, and then click Properties.

  4. In the Properties dialog box, click the Security tab, and then click Advanced.

  5. In the Permission Entries area, double-click the application pool identity account for Central Administration.

    Note:

    If the application pool identity account is listed more than once, select the first one.

  6. In the Permissions area, select Allow, for Delete Subtree.

  7. Click OK to close the Permissions dialog box.

  8. Click OK to close the Properties dialog box.

  9. Click OK to close Active Directory Users and Computers.

After you add these permissions, you must restart Internet Information Services (IIS) for the farm.

For more information, see Active Directory Users, Computers, and Groups (http://go.microsoft.com/fwlink/p/?LinkId=151331).

Configure DNS Manager

If you are using Exchange Server and are routing e-mail internally in your organization, you must create a host (A) resource record in DNS Manager to associate DNS domain names of computers (or hosts) to their IP addresses. Your organization might have already configured DNS Manager and created an A resource record. If not, then use the following procedure.

To create an A resource record for a subdomain

  1. Verify that you have the following administrative credentials:

    • You must be a member of the Administrators group on the local computer.

  2. In DNS Manager, select the forward lookup zone for the domain that contains the subdomain for SharePoint Server 2010.

  3. Right-click the zone, and then click New Host (A or AAAA).

  4. In the New Host dialog box, in the Name text box, type the host or subdomain name for SharePoint Server 2010.

  5. In the Fully qualified domain name (FQDN) text box, type the FQDN for the server that is running SharePoint Server 2010. This is typically in the format subdomain.domain.com.

    Note:

    Ensure that the domains that are listed under the SMTP server in IIS match the FQDN of the server that receives e-mail. If they do not match, you must create a local domain, which is described in the following procedure.

  6. In the IP address text box, type the IP address to which you want the FQDN to resolve.

  7. Click Add Host.

  8. In the message that confirms the creation of the host record, click OK.

  9. In the New Host dialog box, click Done.

    The A resource record now appears in DNS Manager.

If you use the E-mail server display address option and if the e-mail address to which you are sending e-mails is not the same as your machine name, you must create a local domain.

To create a local domain

  1. Click Start, point to Administrative Tools, and then click Internet Information Services (IIS) 6.0 Manager.

  2. In IIS Manager, expand the SMTP server.

  3. Right-click Domains, and on the Action menu, point to New, and then click Domain.

  4. In the New SMTP Domain Wizard dialog box, select Alias, and then click Next.

  5. In the Domain Name area, in the Name box, type the address of the mail that is to be received by this domain.

    This address must be the same as the one that you specified in step 4 in the "To Create an A Resource Record for the Subdomain" procedure, and in step 6b in the "To Configure Incoming E-Mail in an Advanced Scenario" procedure.

  6. Click Finish.

  7. In the message that confirms the creation of the host record, click OK.

Note:

Restart the SMTP server so that any e-mail messages that are still in the Queue folder move to the Drop folder. The messages are then sent by the SharePoint 2010 Timer service to their destination list or library.

Note:

If you are routing e-mail from outside your organization to an SMTP server, you must use an MX record. For more information, see Add a mail exchanger (MX) resource record to a zone (http://go.microsoft.com/fwlink/p/?LinkId=150827).

Add an SMTP connector in Microsoft Exchange Server 2010

An SMTP connector gives you more control over the message flow in your organization. Other reasons to use an SMTP connector are to set delivery restrictions or to specify a specific address space. If you use Exchange Server to route incoming e-mail to SharePoint lists and libraries, you must have an SMTP connector so that all mail that is sent to the SharePoint Server 2010 domain uses the SharePoint Server 2010 servers that are running the SMTP service.

Use the following procedure to add an SMTP connector in Exchange Server. After the procedure is complete, the SMTP connector ensures that incoming e-mail messages are sent to the correct list and library in the farm.

To add an SMTP connector in Exchange Server

  1. Verify that you have the following administrative credentials:

    • You must be a member of the Administrators group on the computer that is running Exchange Server.

  2. In Exchange Management Console, expand the Organization Configuration group, right-click Hub Transport, point to New Send Connector.

    The New Send Connector wizard appears.

  3. On the Introduction page, do the following and then click Next:

    1. In the Name box, type a name for the SMTP connector.

    2. In the Select the intended use for this Send connector box, select the Custom usage type for the connector.

  4. On the Address Space page, click Add, and then click SMTP Address Space.

  5. In the SMTP Address Space dialog box, do the following:

    1. In the Address box, type an e-mail domain for the connector.

    2. In the Cost box, assign an appropriate cost. By default, the cost is 1.

  6. Click OK to return to the Address Space page, and then click Next.

  7. On the Network settings page, select Use domain name system (DNS) "MX" records to route mail automatically, and then click Next.

  8. On the Source Server page, click Next.

    The Source server page only appears on Hub Transport servers. By default, the Hub Transport server that you are currently working on is listed as a source server.

  9. On the New Connector page, review your options and then click New to create the new send connector.

  10. On the Completion page, ensure that the send connector was created, and then click Finish.

    In the Hub Transport pane, you can see that the send connector has been enabled automatically.

For more in-depth information, see Create an SMTP Send Connector (http://go.microsoft.com/fwlink/p/?LinkId=195321).

Configure permissions to the e-mail drop folder

You can specify a particular e-mail drop folder, which enables SharePoint Server 2010 to retrieve incoming e-mail from a network share on another server. You can use this option if you do not want to use an SMTP service. However, the drawback of using this option is that SharePoint Server 2010 cannot detect configuration changes on the remote e-mail server that is delivering e-mail to the drop folder. The result is that SharePoint Server 2010 cannot retrieve e-mail if the location of the e-mail messages has changed. However, this feature is useful if the default e-mail drop folder is full or almost full.

If you specified an e-mail drop folder, you must ensure that the application pool identity accounts for Central Administration and for the Web application have the required permissions to the e-mail drop folder.

Configure e-mail drop folder permissions for the application pool identity account for a Web application

If your deployment uses different application pool identity accounts for Central Administration and for one or more Web applications, each application pool identity account must have permissions to the e-mail drop folder. If the application pool identity account for the Web application does not have the required permissions, e-mail will not be delivered to document libraries on that Web application.

In most cases, when you configure incoming e-mail and select an e-mail drop folder, permissions are added for the following worker process groups:

  • WSS_Admin_WPG, which includes the application pool identity account for Central Administration and the logon account for the SharePoint 2010 Timer service, and has Full Control permissions.

  • WSS_WPG, which includes the application pool accounts for Web applications, and has Read & Execute, List Folder Contents, and Read permissions.

In some cases, these groups might not be configured automatically for the e-mail drop folder. For example, if Central Administration is running as the Network Service account, the groups or accounts that are needed for incoming e-mail will not be added when the e-mail drop folder is created. Check to find out whether these groups have been added automatically to the e-mail drop folder. If the groups have not been added automatically, you can add them or add the specific accounts that are required.

To configure e-mail drop folder permissions for the application pool identity account for a Web application

  1. Verify that you have the following administrative credentials:

    • You must be a member of the Administrators group on the computer that contains the e-mail drop folder.

  2. In Windows Explorer, right-click the drop folder, click Properties, and then click the Security tab.

  3. On the Security tab, under the Group or user names box, click the Edit button.

  4. In the Permissions for Windows Explorer dialog box, click the Add button.

  5. In the Select Users, Computers, or Groups dialog box, in the Enter the object names to select box, type the name of the worker process group or application pool identity account for the Web application, and then click OK.

    Note:

    This account is listed on the Identity tab of the Properties dialog box for the application pool in IIS.

  6. In the Permissions for User or Group box, next to Modify, select Allow.

  7. Click OK.

Configure e-mail drop folder permissions for the logon account for the SharePoint 2010 Timer service

Ensure that the logon account for the SharePoint 2010 Timer service has Modify permissions on the e-mail drop folder. If the logon account for the service does not have Modify permissions, e-mail-enabled document libraries will receive duplicate e-mail messages.

To configure e-mail drop folder permissions for the logon account for the SharePoint 2010 Timer service

  1. Verify that you have the following administrative credentials:

    • You must be a member of the Administrators group on the computer that contains the e-mail drop folder.

  2. In Windows Explorer, right-click the drop folder, click Properties, and then click the Security tab.

  3. On the Security tab, under the Group or user names box, click the Edit button.

  4. In the Permissions for Windows Explorer dialog box, click the Add button.

  5. In the Select Users, Computers, or Groups dialog box, in the Enter the object names to select box, type the name of the logon account for the SharePoint 2010 Timer service, and then click OK.

    Note:

    This account is listed on the Log On tab of the Properties dialog box for the service in the Services console.

  6. In the Permissions for User or Group box, next to Modify, select Allow.

  7. Click OK.

Are attachments missing from e-mail messages that are sent to a SharePoint document library?

If attachments are missing from e-mail messages that are sent to a SharePoint Server 2010 document library, it might be because you associated the document library with an e-mail address. When you do this, Directory Management Service may not add the following two attributes:

  • internet Encoding = 1310720

  • mAPIRecipient = false

You must use Active Directory Service Interfaces (ADSI) to manually add these two missing attributes.

Note:

On servers that are running Windows Server 2008 or Windows Server 2008 R2, ADSI Edit is installed when you install the AD DS role to make a server a domain controller. You can also install Windows Server 2008 Remote Server Administration Tools (RSAT) on domain member servers or stand-alone servers. For more information, see Installing or Removing the Remote Server Administration Tools Pack (http://go.microsoft.com/fwlink/p/?LinkId=143345).

To add attributes by using ADSI Edit

  1. Click Start, and then click Run.

  2. In the Run dialog box, type Adsiedit.msc, and then click OK.

  3. In the ADSI Edit window, expand ADSI Edit, expand Domain [DomainName], expand DC=DomainName, DC=com, and then expand CN=Users.

  4. Right-click the user name to which you want to add the missing attributes, and then click Properties.

  5. In the Properties dialog box, double-click internet Encoding on the Attribute Editor tab.

  6. In the Integer Attribute Editor dialog box, type 1310720 in the Value box, and then click OK.

  7. In the Properties dialog box, double-click mAPIRecipient on the Attribute Editor tab.

  8. In the Boolean Attribute Editor dialog box, click False, and then click OK two times.

See Also

Concepts

Plan incoming e-mail (SharePoint Server 2010)

Other Resources

Resource Center: Installation and Deployment for SharePoint Server 2010


Configure outgoing e-mail (SharePoint Server 2010)
See Also

This article describes how to configure outgoing e-mail for a farm or for a specific Web application for Microsoft SharePoint Server 2010. This article also describes how to install and configure the SMTP service that you must use to enable outgoing e-mail.

In this article:

  • To install the SMTP service

  • To install IIS 6.0 Management tools

  • To configure the SMTP service

  • To set the SMTP service to start automatically

  • To configure outgoing e-mail for a farm by using Central Administration

  • To configure outgoing e-mail for a farm by using the Stsadm command-line tool

  • To configure outgoing e-mail for a specific Web application by using Central Administration

  • To configure outgoing e-mail for a specific Web application by using the Stsadm command-line tool

After you have installed SharePoint Server 2010 and performed the initial configuration of your server farm, you can configure outgoing e-mail. Doing so enables users to create alerts to track such site items as lists, libraries, and documents. In addition, site administrators can receive administrative messages about site administrator issues, such as the information that site owners have exceeded their specified storage space. For more information, see Plan outgoing e-mail (SharePoint Server 2010).

If you want to configure outgoing e-mail for a specific Web application, you must first configure the default outgoing e-mail for all Web applications in the farm. If you configure the outgoing e-mail for a specific Web application, that configuration will override the default configuration for all Web applications in the farm.

Note:

You cannot configure outgoing e-mail by using Windows PowerShell.

Before you perform these procedures, confirm that:

  • Your system is running SharePoint Server 2010.

  • One or more servers in the server farm are running the Simple Mail Transfer Protocol (SMTP) service and have a valid SMTP server address. Alternatively, you must know the name of a server outside the farm that is running the SMTP service.

If you have not installed and configured the SMTP service, you must perform the following procedures before you configure outgoing e-mail:

  • Install and configure the SMTP service.

Install and configure the SMTP service

Before you can enable outgoing e-mail, you must determine which SMTP server to use. This SMTP server must be configured to allow anonymous SMTP e-mail submissions. The SMTP server can be a server in the farm or outside the farm.

Note:

If your organization does not allow anonymous SMTP e-mail messages to be sent by using Microsoft Exchange Server, you can use a local SMTP server in the SharePoint farm that accepts anonymous e-mail messages. The local SMTP server automatically authenticates the messages and then forwards them to the Exchange Server computer.

Install the SMTP service

To install the SMTP service, use the Add Features Wizard in Server Manager. After the wizard finishes, a default SMTP configuration has been created. You can customize this default SMTP configuration to meet the requirements of your organization.

Note:

If you already have the SMTP service installed on a server, you can skip the following procedure.

To install the SMTP service

  1. Verify that you have the following administrative credentials: You must be a member of the Administrators group on the local computer

  2. Click Start, point to Administrative Tools, and then click Server Manager.

  3. In Server Manager, click Features.

  4. In Features Summary, click Add Features to open the Add Features Wizard.

  5. On the Select Features page, select SMTP Server.

  6. In the Add Features Wizard dialog box, click Add Required Features, and then click Next.

  7. On the Confirm Installation Selections page, click Install.

  8. On the Installation Results page, ensure that the installation is complete, and then click Close.

Configure the SMTP service

After you install the SMTP service, you must configure the service to accept e-mail messages from servers in the farm.

You can decide to accept relayed e-mail messages from all servers except those that you specifically exclude. Alternatively, you can block messages from all servers except those that you specifically include. You can include servers individually or in groups by subnet or domain.

If you enable anonymous access and relayed e-mail messages, you increase the possibility that the SMTP server will be used to relay unsolicited commercial e-mail messages (spam). It is important to limit this possibility by carefully configuring mail servers to help protect against spam. One way that you can do this is by limiting relayed e-mail messages to a list of specific servers or to a domain, and by preventing relayed e-mail messages from all other servers.

Note:

To manage the SMTP service on Windows Server 2008, you must use Internet Information Services (IIS) 6.0 Manager. Ensure that you install IIS 6.0 Management tools in Server Manager.

To install IIS 6.0 Management tools

  1. Verify that you have the following administrative credentials: You must be a member of the Administrators group on the local computer.

  2. Click Start, point to Administrative Tools, and then click Server Manager.

  3. In Server Manager, click Roles.

  4. In the Role Services section, click Add Role Services.

  5. On the Select Role Services page, select Management Tools and IIS 6 Management compatibility, and then click Install.

To configure the SMTP service

  1. Verify that you have the following administrative credentials: You must be a member of the Administrators group on the local computer.

  2. Click Start, point to Administrative Tools, and then click Internet Information Services (IIS) 6.0 Manager.

  3. In IIS Manager, expand the server name that contains the SMTP server that you want to configure.

  4. Right-click the SMTP virtual server that you want to configure, and then click Start.

  5. Right-click the SMTP virtual server that you want to configure, and then click Properties.

  6. On the Access tab, in the Access control area, click Authentication.

  7. In the Authentication dialog box, verify that Anonymous access is selected.

  8. Click OK.

  9. On the Access tab, in the Relay restrictions area, click Relay.

  10. To enable relayed e-mail messages from any server, click All except the list below.

  11. To accept relayed e-mail messages from one or more specific servers, follow these steps:

    1. Click Only the list below.

    2. Click Add, and then add servers one at a time by IP address, or in groups by using a subnet or domain.

    3. Click OK to close the Computer dialog box.

  12. Click OK to close the Relay Restrictions dialog box.

  13. Click OK to close the Properties dialog box.

Note:

Ensure that the SMTP service is running and set to start automatically. To do this, use the following procedure.

To set the SMTP service to start automatically

  1. Click Start, point to Administrative Tools, and then click Services.

  2. In Services, right-click Simple Mail Transfer Protocol (SMTP), and then select Properties.

  3. In the Simple Mail Transfer Protocol (SMTP) Properties dialog box, on the General tab, in the Startup type list, select Automatic.

  4. Click OK.

Configure outgoing e-mail for a farm

You can configure outgoing e-mail for a farm by using the SharePoint Central Administration Web site or by using the Stsadm command-line tool. Use the following procedures to configure outgoing e-mail. After you complete the procedures, end users can track changes and updates to individual site collections. In addition, site administrators can, for example, receive notices when users request access to a site.

To configure outgoing e-mail for a farm by using Central Administration

  1. Verify that you have the following administrative credentials: You must be a member of the Farm Administrators group on the computer that is running the SharePoint Central Administration Web site.

  2. In Central Administration, click System Settings.

  3. On the System Settings page, in the E-Mail and Text Messages (SMS) section, click Configure outgoing e-mail settings.

  4. On the Outgoing E-Mail Settings page, in the Mail Settings section, type the SMTP server name for outgoing e-mail (for example, mail.example.com) in the Outbound SMTP server box.

  5. In the From address box, type the e-mail address as you want it to be displayed to e-mail recipients.

  6. In the Reply-to address box, type the e-mail address to which you want e-mail recipients to reply.

  7. In the Character set list, select the character set that is appropriate for your language.

  8. Click OK.

To configure outgoing e-mail for a farm by using the Stsadm command-line tool

  1. Verify that you have the following administrative credentials: You must be a member of the Administrators group on the local computer.

  2. On the drive on which SharePoint Products and Technologies is installed, change to the following directory: %COMMONPROGRAMFILES%\Microsoft shared\Web server extensions\14\Bin.

  3. Type the following command, and then press ENTER:

    stsadm -o email

    -outsmtpserver <SMTP server name>

    -fromaddress <valid e-mail address>

    -replytoaddress <valid e-mail address>

    -codepage <valid code page>

Example

stsadm -o email -outsmtpserver mail.example.com -fromaddress someone@example.com -replytoaddress someone@example.com -codepage 65001

For more information, see Email: Stsadm operation (Office SharePoint Server) (http://go.microsoft.com/fwlink/p/?LinkId=150045).

Configure outgoing e-mail for a specific Web application

You can configure outgoing e-mail for a specific Web application by using the Central Administration Web site or by using the Stsadm command-line tool. Use the following procedures to configure outgoing e-mail. After you complete the procedures, end users can track changes and updates to individual site collections. In addition, site administrators can, for example, receive notices when users request access to a site.

Note:

If you want to configure outgoing e-mail for a specific Web application, you must first configure the default outgoing e-mail for all Web applications in the farm. If you configure the outgoing e-mail for a specific Web application, that configuration will override the default configuration for all Web applications in the farm.

To configure outgoing e-mail for a specific Web application by using Central Administration

  1. Verify that you have the following administrative credentials: You must be a member of the Farm Administrators group on the computer that is running the SharePoint Central Administration Web site.

  2. In Central Administration, in the Application Management section, click Manage web applications.

  3. On the Web Applications Management page, select a Web application, and then in the General Settings group on the Ribbon, click Outgoing E-mail.

  4. On the Web Application Outgoing E-Mail Settings page, in the Mail Settings section, type the SMTP server name for outgoing e-mail (for example, mail.fabrikam.com) in the Outbound SMTP server box.

  5. In the From address box, type the e-mail address (for example, the site administrator alias) as you want it to be displayed to e-mail recipients.

  6. In the Reply-to address box, type the e-mail address (for example, a help desk alias) to which you want e-mail recipients to reply.

  7. In the Character set list, click the character set that is appropriate for your language.

  8. Click OK.

To configure outgoing e-mail for a specific Web application by using the Stsadm command-line tool

  1. Verify that you have the following administrative credentials: You must be a member of the Administrators group on the local computer.

  2. On the drive on which SharePoint Products and Technologies is installed, change to the following directory: %COMMONPROGRAMFILES%\Microsoft shared\Web server extensions\14\Bin.

  3. Type the following command, and then press ENTER:

    stsadm -o email

    -outsmtpserver <SMTP server name>

    -fromaddress <valid e-mail address>

    -replytoaddress <valid e-mail address>

    -codepage <valid code page>

    [-url <URL name>]

Example

stsadm -o email -outsmtpserver mail.example.com -fromaddress someone@example.com -replytoaddress someone@example.com -codepage 65001 -url http://server_name

For more information, see Email: Stsadm operation (Office SharePoint Server) (http://go.microsoft.com/fwlink/p/?LinkId=150045).

See Also

Concepts

Plan outgoing e-mail (SharePoint Server 2010)
Configure alert settings for a Web application (SharePoint Server 2010)

Other Resources

Resource Center: Installation and Deployment for SharePoint Server 2010


Configure a mobile account (SharePoint Server 2010)
See Also

This article discusses how to configure and manage a mobile account for Microsoft SharePoint Server 2010 to enable users to subscribe to alerts that are sent by using Short Message Service (SMS). The alerts are sent to users' mobile phones when changes are made to a SharePoint list or item.

The mobile alert feature resembles a feature that already exists in SharePoint Server 2010 that enables outgoing e-mail alerts. However, instead of receiving alerts via e-mail when changes are made in a SharePoint list or item, users receive the alerts on their mobile phones. For more information about e-mail alerts, see Configure outgoing e-mail (SharePoint Server 2010).

A SharePoint site is usually located on an intranet. As a result, access to the SharePoint site can be difficult when users are away from the office — for example, when they are traveling or attending a business dinner. The mobile alert feature enables users to react quickly when they receive an SMS alert that an item in a SharePoint list has changed.

You can configure one mobile account for all Web applications in a server farm, or you can configure the mobile account for a specific Web application; however, you can only configure one mobile account in the farm. The scale of your implementation might determine whether you configure the mobile account for the farm or for a specific Web application. If you configure the mobile account for a server farm, everyone in the organization can subscribe to alerts. This is useful, for example, in a small organization in which management wants all users to receive certain alerts. If you have several Web applications that divide your organization into groups, you might want to configure a mobile account for only one of those groups; for example, you want to configure a mobile account to enable everyone in the sales group to subscribe to alerts.

Before you perform these procedures, confirm that:

  • The Server farm account has permission to access the Internet for sending alerts.

  • You have obtained the root certificate for the service provider's HTTPS Web address. You can obtain the root certificate from your service provider or by using your Web browser.

Procedures in this article:

  • Import a root certificate and create a trusted root authority

  • Configure a mobile account

  • Retrieve mobile account information

  • Delete a mobile account

Import a root certificate and create a trusted root authority

Before you configure a mobile account, you must import the root certificate of the service provider's HTTPS Web address, and then create a trusted root authority. This step can only be performed manually by using Windows PowerShell.

To import a root certificate and create a trusted root authority by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin. Additionally, you must be a member of the Farm Administrators group and a member of the local Administrators group on the computer running Windows PowerShell.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. To get the root certificate, at the Windows PowerShell command prompt, type the following command:

    Copy Code
    $cert = Get-PfxCertificate <ObtainedCertificatePath>

    To create a trusted root authority, at the Windows PowerShell command prompt, type the following command:

    Copy Code
    New-SPTrustedRootAuthority -Name <Name> -Certificate $cert

    Where:

    • <Name> is the name of the trusted root authority that you want to create.

    • <ObtainedCertificatePath> is the location of the root certificate file.

    Note:

    In the Certificate window, on the Certification Path tab, ensure that you use only the root certificate, and not the other certificates listed. The SharePoint Trusted Root Authorities list should only list root certificates.

For more information, see New-SPTrustedRootAuthority.

Configure a mobile account

You can configure a mobile account for a server farm or for a specific Web application, either by using Central Administration or Windows PowerShell.

Note:

If you cannot configure a mobile account, you may have the wrong certificate file. In that case, contact your service provider.

To configure or edit a mobile account for a server farm by using Central Administration

  1. Verify that you have the following administrative credentials:

    • To configure a mobile account for a server farm, you must be a member of the Farm Administrators group on the computer that is running the SharePoint Central Administration Web site.

  2. On the Central Administration Home page, click System Settings.

  3. On the System Settings page, in the E-Mail and Text Messages (SMS) section, click Configure mobile account.

  4. On the Mobile Account Settings page, in the Text Message (SMS) Service Settings section, click the Microsoft Office Online link to access a list of service providers.

  5. On the Find an Office 2010 Mobile Service Provider page, in the Choose your wireless service provider's country/region list, select the country or region in which your wireless service provider is located.

  6. On the Find an Office 2010 Mobile Service Provider page, in the Choose your current wireless service provider list, select the wireless service provider that you want to use.

    After you make this selection, you are directed to the Web site of the service provider that you selected. On the Web site, you apply for the SMS service. When you receive the required information from the service provider, return to the Mobile Accounts Settings page.

  7. In the The URL of Text Message (SMS) Service box, type the URL of the SMS service.

    Note:

    Ensure that the service URL you enter is an HTTPS URL.

  8. In the User Name box and Password box, type the user name and password that you received from the SMS service provider.

  9. To confirm that the URL and user credentials are correct, click Test Service.

  10. Click OK.

To configure or edit a mobile account for a server farm by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin. Additionally, you must be a member of the Farm Administrators group and a member of the local Administrators group on the computer running Windows PowerShell.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell command prompt, type the following command:

    Copy Code
    Set-SPMobileMessagingAccount -Identity sms -WebApplication <WebApplicationUrl> [-ServiceUrl <ServiceUrl>] [-UserId <UserId>] [-Password <Password>]

    Where:

    • <WebApplicationUrl> is the Central Administration URL.

    • <ServiceUrl> is the URL to server where the SMS service is located.

    • <UserId> is the user name that you received from the SMS service provider.

    • <Password> is the user password that you received from the SMS service provider.

    Example:

    Copy Code
    Set-SPMobileMessagingAccount -Identity sms -WebApplication http://myserver:8080 -ServiceUrl https://www.example.com/omsservice.asmx -UserId someone@example.com -Password password1

    Or, if you use the pipeline operator, type the following command:

    Copy Code
    Get-SPWebApplication -Identity http://myserver:8080 | Set-SPMobileMessagingAccount -Identity sms -ServiceUrl https://www.example.com/omsservice.asmx -UserId someone@example.com -Password password1
    Note:

    Ensure that the service URL you enter is an HTTPS URL.

For more information, see Set-SPMobileMessagingAccount and Get-SPWebApplication.

To configure or edit a mobile account for a Web application by using Central Administration

  1. Verify that you have the following administrative credentials:

    • To configure a mobile account for a server farm, you must be a member of the Farm Administrators group on the computer that is running the SharePoint Central Administration Web site.

  2. On the Central Administration Home page, in the Application Management section, click Manage web applications.

  3. On the Web Applications page, select the Web application for which you want to configure a mobile account. In General Settings on the ribbon, click Mobile Account.

  4. On the Web Application Text Message (SMS) Service Settings page, in the Text Message (SMS) Service Settings section, click the Microsoft Office Online link to access a list of service providers.

  5. On the Find an Office 2010 Mobile Service Provider page, in the Choose your wireless service provider's country/region list, select the country or region in which your wireless service provider is located.

  6. On the Find an Office 2010 Mobile Service Provider page, in the Choose your current wireless service provider list, select the wireless service provider that you want to use.

    After you make this selection, you are directed to the Web site of the service provider that you selected. On the Web site, you apply for the SMS service. When you receive the required information from the service provider, return to the Mobile Accounts Settings page and type in the information.

  7. In the The URL of Text Message (SMS) Service box, type the URL of the SMS service.

    Note:

    Ensure that the service URL you enter is an HTTPS URL.

  8. In the User Name box and Password box, type the user name and password that you received from the SMS service provider.

  9. To confirm that the URL and user credentials are correct, click Test Service.

  10. Click OK.

To configure or edit a mobile account for a Web application by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin. Additionally, you must be a member of the Farm Administrators group and a member of the local Administrators group on the computer running Windows PowerShell.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. From the Windows PowerShell command prompt (that is, PS C:\>), type the following command:

    Copy Code
    Set-SPMobileMessagingAccount -Identity sms -WebApplication <WebApplicationUrl> [-ServiceUrl <ServiceUrl>] [-UserId <UserId>] [-Password <Password>]

    Where:

    • <WebApplicationUrl> is the Web application URL.

    • <ServiceUrl> is the URL to server where the SMS service is located.

    • <UserId> is the user name that you received from the SMS service provider.

    • <Password> is the user password that you received from the SMS service provider.

    Example:

    Copy Code
    Set-SPMobileMessagingAccount -Identity sms -WebApplication http://localhost -ServiceUrl https://www.example.com/omsservice.asmx -UserId someone@example.com -Password password1

    Or, if you use the pipeline operator, type the following command:

    Copy Code
    Get-SPWebapplication -Identity http://localhost | Set-SPMobileMessagingAccount -Identity sms -ServiceUrl https://www.example.com/omsservice.asmx -UserId someone@example.com -Password password1
    Note:

    Ensure that the service URL you enter is an HTTPS URL.

For more information, see Set-SPMobileMessagingAccount and Get-SPWebApplication.

Retrieve mobile account information

You can retrieve mobile account information for a server farm or for a Web application by using Windows PowerShell. You might want to do this to view the mobile account information or, for example, verify that the set cmdlet works correctly.

To retrieve mobile account information for a server farm by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin. Additionally, you must be a member of the Farm Administrators group and a member of the local Administrators group on the computer running Windows PowerShell.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell command prompt, type the following command:

    Copy Code
    Get-SPMobileMessagingAccount -WebApplication <WebApplicationUrl>

    Where <WebApplicationUrl> is the Central Administration URL.

    Example

    Copy Code
    Get-SPMobileMessagingAccount -WebApplication http://myserver

    Or, if you use the pipeline operator, type the following command:

    Copy Code
    Get-SPWebApplication -Identity http://myserver | Get-SPMobileMessagingAccount -AccountType sms

For more information, see Get-SPMobileMessagingAccount and Get-SPWebApplication.

To retrieve mobile account information for a Web application by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin. Additionally, you must be a member of the Farm Administrators group and a member of the local Administrators group on the computer running Windows PowerShell.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell command prompt, type the following command:

    Copy Code
    Get-SPMobileMessagingAccount -WebApplication <WebApplicationUrl>

    Where <WebApplicationUrl> is the Web application URL.

    Example

    Copy Code
    Get-SPMobileMessagingAccount -WebApplication http://localhost

    Or, if you use the pipeline operator, type the following command:

    Copy Code
    Get-SPWebApplication -Identity http://localhost | Get-SPMobileMessagingAccount -AccountType sms

For more information, see Get-SPMobileMessagingAccount and Get-SPWebApplication.

Delete a mobile account

You can delete a mobile account for a server farm or for a Web application. This makes the account unavailable so users can no longer subscribe to SMS alerts, but it does not delete the account that you set up with the service provider. You might want to delete a mobile account if, for example, the organization decides that there is no business value in sending out SMS alerts to users.

Note:

There is no equivalent Windows PowerShell functionality.

To delete a mobile account for a server farm

  1. Verify that you have the following administrative credentials:

    • To delete a mobile account for a server farm, you must be a member of the Farm Administrators group on the computer that is running the SharePoint Central Administration Web site.

  2. On the Central Administration Home page, click System Settings.

  3. On the System Settings page, in the E-mail and Text Messages (SMS) section, click Configure mobile account.

  4. On the Mobile Account Settings page, clear entries from all the boxes, and then click OK.

To delete a mobile account for a Web application

  1. Verify that you have the following administrative credentials:

    • To delete a mobile account for a server farm, you must be a member of the Farm Administrators group on the computer that is running the SharePoint Central Administration Web site.

  2. On the Central Administration Home page, in the Application Management section, click Manage web applications.

  3. In General Settings on the ribbon, click Mobile Account.

  4. On the Web application Text Message (SMS) Service Settings page, delete entries from all the boxes, and then click OK.

See Also

Concepts

Configure outgoing e-mail (SharePoint Server 2010)

Other Resources

Resource Center: Installation and Deployment for SharePoint Server 2010


Install and configure RBS (SharePoint Server 2010)
See Also

Published: April 10, 2012

This article describes how to install and configure Remote BLOB Storage (RBS) for a database server that supports a Microsoft SharePoint Server 2010 farm.

Tip:

RBS can be used with SQL Server 2008 or SQL Server 2008 R2. However, you must install the SQL Server 2008 R2 RBS binaries. The binaries are part of the SQL Server 2008 Feature Pack, October 2008 and the SQL Server 2008 R2 Feature Pack.

To use RBS, you must do the following:

  • Enable FILESTREAM on the database server - By default, FILESTREAM components are installed but are not enabled.

  • Provision a BLOB store for each content database- BLOB stores are folders where the BLOB data is stored on the file system. You must provision a BLOB store for each content database for which you want to use RBS.

  • Install the RBS client library on each Web server - The RBS client library stores the BLOB data on the file system, enable fidelity checks, and perform other tasks.

  • Enable RBS for each content database - You must enable RBS for each content database for which you want to use RBS.

  • Test the RBS installation

The user account that you use to perform the procedures that are described in this article must have the following memberships:

  • Administrators group on the Web servers and application servers.

  • SQL Server dbcreator and securityadmin fixed server roles on the computer that is running SQL Server 2008.

Enable FILESTREAM on the database server

By default, the FILESTREAM feature is installed when you install SQL Server 2008, but it is not enabled. You must enable and configure FILESTREAM on the computer that is running SQL Server 2008 that hosts the SharePoint Server 2010 databases. To enable and configure FILESTREAM, follow the instructions in How to: Enable FILESTREAM (http://go.microsoft.com/fwlink/p/?LinkID=166110&clcid=0x409). You only have to enable FILESTREAM one time for each database server where you want to use RBS.

Provision a BLOB store for each content database

After you have enabled and configured FILESTREAM, provision a BLOB store on the file system as described in the following procedure. You must provision a BLOB store for each content database.

To provision a BLOB store

  1. Click Start, click All Programs, click Microsoft SQL Server 2008, and then click SQL Server Management Studio.

  2. Connect to the instance of Microsoft SQL Server that hosts the content database.

  3. Expand Databases.

  4. Click the content database for which you want to create a BLOB store, and then click New Query.

  5. Paste the following SQL queries in Query pane, and then execute them in the sequence listed. In each case, replace [WSS_Content] with the content database name, and replace c:\BlobStore with the volume\directory in which you want the BLOB store created. The provisioning process creates a folder in the location that you specify. Be aware that you can provision a BLOB store only one time. If you attempt to provision the same BLOB store multiple times, you will receive an error.

    Tip:

    For best performance, simplified troubleshooting, and as a general best practice, we recommend that you create the BLOB store on a volume that does not contain the operating system, paging files, database data, log files, or the tempdb file.

    Copy Code
    use [WSS_Content]
if not exists
(select * from sys.symmetric_keys
where name = N'##MS_DatabaseMasterKey##')
create master key encryption by password = N'Admin Key Password !2#4'
    Copy Code
    use [WSS_Content]
if not exists
(select groupname from sysfilegroups
where groupname=N'RBSFilestreamProvider')
alter database [WSS_Content]
add filegroup RBSFilestreamProvider contains filestream
    Copy Code
    use [WSS_Content]
alter database [WSS_Content]
 add file (name = RBSFilestreamFile, filename =
'c:\Blobstore')
to filegroup RBSFilestreamProvider

Install the RBS client library on each Web server

You must install RBS client library on all Web servers in the SharePoint farm. The RBS client library is installed only once per Web server, but RBS is configured separately for each associated content database. The client library consists of a client-side dynamic link library (DLL) that is linked into a user application, and a set of stored procedures that are installed on Microsoft SQL Server.

Warning:

Do not install the RBS client library by running the RBS.msi file and starting the Install SQL Remote BLOB Storage wizard. The wizard sets certain default values that are not recommended for SharePoint Server 2010.

To install the RBS client library on the on the first Web server

  1. On any Web server, browse to http://go.microsoft.com/fwlink/?LinkID=188395&clcid=0x409 if you are running SQL Server 2008 or http://download.microsoft.com/download/E/4/8/E48816F7-4612-432E-B135-0F90C0211701/RBS_X64.msi if you are running SQL Server 2008 R2 and download the MSI file for 64-bit platforms.

  2. Click Start, click Run, type cmd into the Run text box, and then click OK.

  3. Copy and paste the following command into the Command Prompt window. Replace WSS_Content with the database name, replace RBS with "RBS.msi" if you are running SQL Server 2008 R2 or "RBS_64.msi" if you are running SQL Server 2008, and replace DBInstanceName with the SQL Server instance name. You should run this command by using the specific database name and SQL Server instance name only one time. The operation should finish within approximately one minute.

    Copy Code
    msiexec /qn /lvx* rbs_install_log.txt /i "RBS" TRUSTSERVERCERTIFICATE=true FILEGROUP=PRIMARY DBNAME="WSS_Content" DBINSTANCE="DBInstanceName" FILESTREAMFILEGROUP=RBSFilestreamProvider FILESTREAMSTORENAME=FilestreamProvider_1

To install the RBS client library on all additional Web and application servers

  1. On a Web server, download the RBS.msi at http://go.microsoft.com/fwlink/?LinkID=188395&clcid=0x409.

  2. Click Start, click Run, type cmd into the Run text box, and then click OK.

  3. Copy and paste the following command into the Command Prompt window. Replace WSS_Content with the database name, and replace DBInstanceName with the name of the SQL Server instance. The operation should finish within approximately one minute.

    Copy Code
    msiexec /qn /lvx* rbs_install_log.txt /i RBS.msi DBNAME="WSS_Content" DBINSTANCE="DBInstanceName" ADDLOCAL=Client,Docs,Maintainer,ServerScript,FilestreamClient,FilestreamServer

  4. Repeat this procedure for all Web servers and application servers in the SharePoint farm.

To confirm the RBS client library installation

  1. The rbs_install_log.txt log file is created in the same location as the RBS.msi file. Open the rbs_install_log.txt log file by using a text editor and scroll toward the bottom of the file. Within the last 20 lines of the end of the file, an entry should read as follows: Product: SQL Remote Blob Storage - Installation completed successfully.

  2. On the computer that is running SQL Server 2008, verify that the RBS tables were created in the content database. Several tables should be listed under the content database that have names that are preceded by the letters "mssqlrbs".

Enable RBS for each content database

You must enable RBS on one Web server in the SharePoint farm. It is not important which Web server that you select for this activity, as long as RBS was installed on it by using the previous procedure. You must perform this procedure once for each content database.

Note:

You can only enable RBS by using Windows PowerShell.

To enable RBS by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell command prompt, type the following command:

    Copy Code
    $cdb = Get-SPContentDatabase <ContentDatabaseName>
$rbss = $cdb.RemoteBlobStorageSettings
$rbss.Installed()
$rbss.Enable()
$rbss.SetActiveProviderName($rbss.GetProviderNames()[0])
$rbss

    Where:

    • <ContentDatabaseName> is the name of the content database.

For more information, see Get-SPContentDatabase.

Test the RBS installation

You should test the RBS installation on one Web server in the SharePoint farm to make sure that the system works correctly.

To test the RBS data store

  1. On the computer that contains the RBS data store, click Start, and then click Computer.

  2. Browse to the RBS data store directory.

  3. Confirm that the folder is empty.

  4. On the SharePoint farm, upload a file that is at least 100 kilobytes (KB) to a document library.

  5. On the computer that contains the RBS data store, click Start, and then click Computer.

  6. Browse to the RBS data store directory.

  7. Browse to the file list and open the file that has the most recent changed date. This should be the file that you uploaded.

See Also

Concepts

Overview of RBS (SharePoint Server 2010)
Plan for RBS (SharePoint Server 2010)

Other Resources

How to: Enable FILESTREAM
Resource Center: Installation and Deployment for SharePoint Server 2010


Configure and use the Exchange connector (SharePoint Server 2010)

This article describes how to create a crawl rule and add a content source for crawling Microsoft Exchange Server public folders.

Before you begin, ensure that the crawler has at least Read permission to the public folder.

Create a crawl rule

This section describes the steps that are required to create a crawl rule. You must create a crawl rule if the default content access account does not have Read permission to the Exchange public folders that you want to crawl.

To create a crawl rule

  1. Verify that the user account that is performing this procedure is an administrator for the Search service application.

  2. On the Home page of the SharePoint Central Administration Web site, in the Application Management section, click Manage service applications.

  3. On the Manage Service Applications page, click Search Service Application.

  4. On the Search Administration page, in the Crawling section, click Crawl Rules.

  5. On the Manage Crawl Rules page, click New Crawl Rule.

  6. In the Path section, in the Path box, type a path to be crawled.

    When creating a crawl rule, the URL that you type in the Path box should be in the following form: <protocol>://hostname/*
    where <protocol> is the protocol that you want to use (typically http or https), and hostname is the NetBIOS or fully qualified domain name of the server that is running Exchange Server.

  7. In the Crawl Configuration section, select one of the following:

    • Exclude all items in this path (Default)

    • Include all items in this path

  8. In the Specify Authentication section, select the type of crawl authentication to use. This section is used only when Include all items in this path is selected.

  9. Click OK to add the crawl rule.

Add a content source for Microsoft Exchange public folders

Use the following procedures to create a content source for Exchange Server public folders. Note that there are two procedures listed that describe separate processes to add a content source based on the Exchange Server version. The first procedure describes how to add a content source for Exchange Server 2007 and earlier, the second describes how to add a content source from Exchange Server 2007 with Service Pack 2 (SP2) and later versions. This includes Microsoft Exchange Server 2010.

To add a content source for Exchange Server 2007 and earlier public folders

  1. Verify that the user account that is performing this procedure is an administrator for the Search service application.

  2. On the SharePoint Central Administration Home page, in the Application Management section, click Manage service applications.

  3. On the Manage Service Applications page, click Search Service Application.

  4. On the Search Administration page, in the Crawling section, click Content Sources.

  5. On the Manage Content Sources page, click New Content Source.

  6. On the Add Content Source page, in the Name box, type the name that you want to use for the content source.

  7. In the Content Source Type section, select Exchange Public Folders.

  8. In the Start Addresses section, type the URLs for the Exchange Server public folders that you want to crawl. These URLs are typically in one of the following forms:

    • <protocol>://host name/public

      where <protocol> can be http or https, and host name is the NetBIOS or fully qualified domain name (FQDN) of the server that is running Exchange Server.

    • <protocol>://host name/public/subfolder

      where <protocol> can be http or https, host name is the NetBIOS or FQDN of the server that is running Exchange Server, and subfolder is the name of the specific subfolder that you want to crawl.

    For example, if you want to crawl all subfolders in the public folder on a server that is named exch-01 and that is in the Contoso domain, and that server does not use SSL, you could type either http://exch-01/public or http://exch-01.contoso.com. To crawl only a specific subfolder named Bob in the same public folder, type http://exch-01/public/bob or http://exch-01.contoso.com/bob.

    Note:

    For performance reasons, you cannot add the same start addresses to multiple content sources.

  9. In the Crawl Settings section, select the behavior for the kind of content that you selected.

  10. In the Crawl Schedules section, you can optionally specify when to start full and incremental crawls:

    • You can create a full crawl schedule by clicking the Create Schedule link below the Full Crawl list.

    • You can create an incremental crawl schedule by clicking the Create schedule link below the Incremental Crawl list.

  11. Click OK.

  12. Repeat steps 4 through 10 for any additional content sources that you want to create.

To add content sources for Microsoft Exchange 2007 SP2 and later versions public folders

  1. Verify that the user account that is performing this procedure is an administrator for the Search service application.

  2. Open a Web browser and navigate to the Outlook Web Access Web page for the Exchange Server that has the public folders that you want to crawl.

  3. Log on to Outlook Web Access using any user account that has Read access to the public folders that you want to crawl.

  4. Navigate to the public folder that you want to crawl, right-click that folder, and then select Open in New Window.

  5. When the new window opens, navigate to the new window's address bar and copy the complete URL. This is the Outlook Web Access public folder address.

  6. On the SharePoint Central Administration Web site, in the Application Management section, click Manage service applications.

  7. On the Manage Service Applications page, click Search Service Application.

  8. On the Search Administration page, in Crawling section, click Content Sources.

  9. Click New Content Source.

  10. On the Add Content Source page, in the Name box, type the name that you want to use for the content source.

  11. In the Content Source Type section, select Exchange Public Folders.

  12. In the Start Addresses section, paste the Outlook Web Access public folder address that you copied in step 5.

  13. In the Crawl Settings section, select the behavior for the kind of content that you selected.

  14. In the Crawl Schedules section, you can optionally specify when to start full and incremental crawls:

    • You can create a full crawl schedule by clicking the Create Schedule link below the Full Crawl list.

    • You can create an incremental crawl schedule by clicking the Create schedule link below the Incremental Crawl list.

  15. To create the content source, click OK.


Deploy Business Intelligence Indexing Connector (SharePoint Server 2010)

Important:

The Microsoft Business Intelligence Indexing Connector free download was removed from the download site. Customers who have downloaded the Business Intelligence Indexing Connector as of March 2011 will continue to be supported as per standard support procedures. However, Business Intelligence Indexing Connector will not be tested or supported for SharePoint Server 2010 Service Pack 1.

This section describes deployment steps for Microsoft Business Intelligence Indexing Connector.

  • Install and configure BI Indexing Connector (back end)

    This article describes how to install and configure the Microsoft Business Intelligence Indexing Connector for the back end after you have successfully installed Microsoft FAST Search Server 2010 for SharePoint as a back-end.

  • Install or uninstall SharePoint Solution Pack for BI Indexing Connector (front end)

    This article describes how to install and configure Microsoft Business Intelligence Indexing Connector.

  • Install or uninstall SharePoint Solution Pack language pack for BI Indexing Connector (front end)

    These instructions describe how to apply a language pack for the installation of SharePoint Solution Pack.


Install and configure BI Indexing Connector (back end)
See Also

Important:

The Microsoft Business Intelligence Indexing Connector free download was removed from the download site. Customers who have downloaded the Business Intelligence Indexing Connector as of March 2011 will continue to be supported as per standard support procedures. However, Business Intelligence Indexing Connector will not be tested or supported for SharePoint Server 2010 Service Pack 1.

This article describes how to install and configure the Microsoft Business Intelligence Indexing Connector for the back end. To download the Business Intelligence Indexing Connector (back end), see Microsoft Business Intelligence Indexing Connector - Back end (http://go.microsoft.com/fwlink/p/?LinkId=195026).

Microsoft FAST Search Server 2010 for SharePoint must be installed first to provide indexing and query matching capabilities, and the administration of these features. For more information, see Add FAST Search Server 2010 for SharePoint as back-end for SharePoint Server (FAST Search Server 2010 for SharePoint).

Important:

Microsoft SharePoint Server 2010 and FAST Search Server 2010 for SharePoint must not be installed on the same server.

Before you start

Make sure that you have performed the steps for Installation and initial configuration of FAST Search Server 2010 for SharePoint.

Review Determine software requirements for Business Intelligence Indexing Connector (SharePoint Server 2010) and Overview of Business Intelligence Indexing Connector architecture (SharePoint Server 2010).

We recommend that you grant the Service Identity account, the account under which Business Intelligence Indexing Connector service is run, the following fixed database roles:

  • db_datareader

  • db_denydatawriter

The Service Identity account should be added to the FASTSearchAdministrators group so that business intelligence properties are recognized on a document.

Considerations for crawling external data sources

This section explains how you can successfully crawl external data sources, specifically Microsoft SQL Server Reporting Services (SSRS) report server, Microsoft SQL Server 2008 R2 PowerPivot for Microsoft SharePoint 2010, and other files.

To crawl files that are created by Microsoft SQL Server PowerPivot for Microsoft Excel, you must deploy the same version of PowerPivot for Excel onto the instance of Microsoft FAST Search Server 2010 for SharePoint that is installed on the client. The client files that are crawled must be Microsoft Excel 2010 files that have the same version of PowerPivot for Excel that is installed on FAST Search Server 2010 for SharePoint.

To crawl SSRS .rdl files on a computer that is running Microsoft SharePoint Server with the Reporting Services Add-in, you must append NoGetRedirect="TRUE" so that the tag in %ProgramFiles%\Common Files\Microsoft Shared\Web Server Extensions\14\TEMPLATE\XML\ServerFiles_ReportServer.xml resembles the following.

<Mapping FileExtension="rdl" RedirectUrlTemplate="/_layouts/ReportServer/RSViewerPage.aspx?rv:RelativeReportUrl=|0" NoGetRedirect="TRUE"/>

If you have multiple SharePoint Web applications in a farm configuration, you must change the ServerFiles_ReportServer.xml file on each computer that has a front-end Web and is configured to manage report server content.

Note:

If the Business Intelligence Indexing Connector front end (SharePoint Server 2010) and back end (FAST Search Server 2010 for SharePoint) are installed on the same computer, you do not have to render the SSRS report in the browser. Clicking an .rdl document (SSRS report) in a PowerPivot Gallery gives you the option to download the .rdl document rather than rendering the report in the browser. This does not affect other SharePoint document libraries, which will render SSRS reports in the browser.

To query dynamic data in SSRS reports, you must specify the HTTP redirect as the URL after you select Enable External Data Source Crawling. The redirect would resemble the following.

http://<computername>/_vti_bin/reportserver

To crawl SSRS report files, you must have the Business Intelligence Indexing Connector installed on the admin server. By default, all servers in a multiple server deployment, except the admin server, are non-admin servers. To learn how to determine whether a configured admin server is running, see Installation and initial configuration of FAST Search Server 2010 for SharePoint.

Install the Business Intelligence Indexing Connector

When you click Download on the download page, a Microsoft Installer Package (MSI) runs on your computer and a wizard opens. Follow the procedures in sequence.

To install the Business Intelligence Indexing Connector

  1. A welcome page appears. Click Next to continue with installation.

  2. Browse to change the default destination folder location. The default install location is %Program Files%\Microsoft\Business Intelligence Indexing Connector. Click Next and then click Install.

  3. Click Finish.

To configure the Business Intelligence Indexing Connector

  1. On the Start Menu, point to All Programs, and then locate FAST Search Server 2010 for SharePoint. Select Business Intelligence Indexing Connector to start the wizard. A welcome page opens. Click Next

  2. On the BI Indexing Connector Service Settings page, select service identity account settings and optionally change the port. Click Next.

    Note:

    To crawl external data sources, such as SSRS report server, you must enter an account that has database access.

  3. On the BI Indexing Connector Filters Settings page, you have to option to enable external data source crawling. You can also select an SSRS report server as an external data source.

    If you select to Enable External Data Source Crawling for Excel or SSRS, you must apply security restrictions to indexed information about Active Directory service accounts. Security restrictions give you the option to select one or more user accounts and one or more groups.

    Click Next.

    Warning:

    If you select Enable External Data Source Crawling, you may enable search users to breach the network security because of design limitations. If your file has specific data-level permissions lower than the file security, consider excluding that specific report from the crawl completely. You can do this by isolating it in a secure content source or by not giving access to the report—or underlying data—from the Service Identity account.

    Warning:

    Users with write access to external data sources, including the Master database, can potentially index the complete database schema and execute SQL scripts. As a best practice, the database administrator should only grant read access to the Service Identity account.

  4. Click Configure to complete the configuration of your choices.

Changes on the configuration made through the configuration wizard may stop and restart the FAST Search Server 2010 for SharePoint service after configuration has completed successfully. If the service stops after configuration or cannot restart, refer to Troubleshooting BI Indexing Connector (SharePoint Server 2010).

Note:

If you reinstall Office Filter Pack after the Business Intelligence Indexing Connector is configured, you must re-run the configuration wizard.

Verification of configuration

When configuration is completed successfully, the BI Indexing Connector service is set to start automatically.

See Also

Concepts

Determine software requirements for Business Intelligence Indexing Connector (SharePoint Server 2010)
Overview of Business Intelligence Indexing Connector architecture (SharePoint Server 2010)


Uninstall Business Intelligence Indexing Connector (SharePoint Server 2010)

Important:

The Microsoft Business Intelligence Indexing Connector free download was removed from the download site. Customers who have downloaded the Business Intelligence Indexing Connector as of March 2011 will continue to be supported as per standard support procedures. However, Business Intelligence Indexing Connector will not be tested or supported for SharePoint Server 2010 Service Pack 1.

This article describes how to uninstall the Microsoft Business Intelligence Indexing Connector.

Note:

When you uninstall the Business Intelligence Indexing Connector, the related managed and crawled properties are not removed from the Microsoft FAST Search Server 2010 for SharePoint back-end installation. You can remove these properties by using the SharePoint Central Administration Web site. Removing the managed and crawled properties manually requires you to re-index your content.

To uninstall the Business Intelligence Indexing Connector

  1. Open the Uninstall or change a program control panel item.

  2. Select Business Intelligence Indexing Connector.

  3. Click Uninstall.


Install or uninstall SharePoint Solution Pack for BI Indexing Connector (front end)
See Also

Important:

The Microsoft Business Intelligence Indexing Connector free download was removed from the download site. Customers who have downloaded the Business Intelligence Indexing Connector as of March 2011 will continue to be supported as per standard support procedures. However, Business Intelligence Indexing Connector will not be tested or supported for SharePoint Server 2010 Service Pack 1.

This article describes how to install and configure Microsoft Business Intelligence Indexing Connector (front end). This article does not show how to install Microsoft SQL Server or Microsoft SharePoint Server 2010.

Before you start

Before you start deployment, do the following.

  • Review the topology for back-end and front-end deployments of Business Intelligence Indexing Connector. See Overview of Business Intelligence Indexing Connector architecture (SharePoint Server 2010).

  • Make sure the following are ready as part of your SharePoint Server 2010 setup.

    • FAST Search Server 2010 for SharePoint is configured as a back-end for Microsoft SharePoint Server 2010. For more information, see Deploy FAST Search Server 2010 for SharePoint (http://go.microsoft.com/fwlink/p/?LinkId=171127).

    • A FAST Search site collection using the Enterprise FAST Search template exists. You will use the URL later in the process in this section. For more information about how to create a site collection, see Create a site collection (SharePoint Server 2010).

  • Verify that you have necessary administrative credentials. To enable Business Intelligence Indexing Connector (front end), you must be a member of the farm administrators group.

SharePoint Solution Pack for SharePoint Server

By installing the SharePoint Solution Pack, you add a Reports tab to the front-end FAST Search site that enables users to use the Business Intelligence Indexing Connector.

To install SharePoint Solution Pack

  1. At a command prompt, type the following command to extract the contents of BIConnectorFrontend.exe. BIConnectorFrontend.exe /extract:<folder location>

    Example: BIConnectorFrontend.exe /extract:C:\BIConnectorFrontendFolder

  2. Open a Command Prompt window and navigate to where Stsadm.exe is located: %ProgramFile%\Common Files\Microsoft Shared\Web Server Extensions\14\Bin.

  3. Type the following stsadm command and make sure that you indicate the folder location of the BIConnectorFrontend.wsp file. This file was extracted in step 1.

    stsadm -o addsolution -filename <folder location>\FullPack\BIConnectorFrontend.wsp

    Press ENTER.

  4. After the operation completes successfully, type the following Stsadm command.

    stsadm -o deploysolution -name BIConnectorFrontend.wsp -local -allowgacdeployment

    Press ENTER.

  5. After the operation completes successfully, type the following Stsadm command and make sure that you indicate the URL of the FAST Search site collection that you created.

    stsadm -o activatefeature -name BIIndexingConnector -url [Website URL]

    Press ENTER.

  6. Note:

    Before testing the Reports tab in your FAST Search site, wait 60 seconds for Reports search scope to be deployed. Otherwise, you will receive the error: "The scope selected is not valid".

    Go to the FAST Search site to verify that a Reports tab was added.

    Note:

    Only a single SharePoint Solution Pack from any language can be installed.

Uninstall SharePoint Solution Pack

This section shows how to uninstall the SharePoint Solution Pack for SharePoint Server.

Note:

All language packs must be uninstalled before you continue with the uninstallation of the SharePoint Solution Pack.

To uninstall SharePoint Solution Pack

  1. Open a Command Prompt window and navigate to where Stsadm.exe is located: %ProgramFile%\Common Files\Microsoft Shared\Web Server Extensions\14\Bin.

  2. Type the following Stsadm command and make sure that you indicate the URL of the FAST Search site collection that you used in the SharePoint Solution Pack installation.

    stsadm -o deactivatefeature -name BIIndexingConnector -url <Website URL>

    Press ENTER.

  3. After the operation completes successfully, type the following Stsadm command.

    stsadm -o retractsolution -name BIConnectorFrontend.wsp -local

    Press ENTER.

  4. After the operation completes successfully, type the following Stsadm command and press ENTER.

    stsadm -o deletesolution -name BIConnectorFrontend.wsp

See Also

Concepts

Determine software requirements for Business Intelligence Indexing Connector (SharePoint Server 2010)
Overview of Business Intelligence Indexing Connector architecture (SharePoint Server 2010)


Install or uninstall SharePoint Solution Pack language pack for BI Indexing Connector (front end)
See Also

Important:

The Microsoft Business Intelligence Indexing Connector free download was removed from the download site. Customers who have downloaded the Business Intelligence Indexing Connector as of March 2011 will continue to be supported as per standard support procedures. However, Business Intelligence Indexing Connector will not be tested or supported for SharePoint Server 2010 Service Pack 1.

The following instructions show how to apply a language pack for the installation of SharePoint Solution Pack for Microsoft Business Intelligence Indexing Connector (front end).

SharePoint Solution Pack language pack

By installing the SharePoint Solution Pack with a language pack, you add a Reports tab to the front-end FAST Search site that enables international audiences to use Business Intelligence Indexing Connector.

To install SharePoint Solution Pack language pack

  1. Create a localized FAST Search site collection using the Enterprise FAST Search template. You will use the URL later. For more information about how to create a site collection, see Create a site collection (SharePoint Server 2010).

  2. Open a Command Prompt window and navigate to where you installed BIConnectorFrontend.exe.

  3. Extract the contents of BIConnectorFrontend.exe by typing the following command.

    BIConnectorFrontend.exe /extract:<folder location>

  4. Open a Command Prompt window and navigate to where Stsadm.exe is located at %ProgramFiles%\Common Files\Microsoft Shared\Web Server Extensions\14\Bin.

  5. Type the following Stsadm command and make sure that you indicate the folder location of the BIConnectorFrontend.wsp file. This file is extracted in step 1. Also indicate the LCID code of the language that you want to install.

    stsadm -o addsolution -filename <folder location>\LanguagePack\BIConnectorFrontend.wsp -lcid <code>

    Press ENTER.

  6. After the operation is completed successfully, type the following Stsadm command and make sure that you indicate the LCID code of the language that you want to install.

    stsadm -o deploysolution -name BIConnectorFrontend.wsp -local -allowgacdeployment -lcid <code>

    Press ENTER.

  7. After the operation is completed successfully, type the following Stsadm command and make sure that you indicate the URL of the FAST Search site collection that you created.

    stsadm -o activatefeature -name BIIndexingConnector -url <Website URL>

    Press ENTER.

    Note:

    Any number of language packs can be deployed with each SharePoint Solution Pack.

Uninstall SharePoint Solution Pack Language Pack

This section shows how to uninstall the SharePoint Solution Pack language pack.

Note:

All language packs must be uninstalled before you continue with the uninstallation of the SharePoint Solution Pack.

To uninstall SharePoint Solution Pack for SharePoint Server Language Pack

  1. Open a Command Prompt window and navigate to where Stsadm.exe is located, %ProgramFile%\Common Files\Microsoft Shared\Web Server Extensions\14\Bin.

  2. Type the following Stsadm command and make sure that you indicate the URL of the FAST Search site collection that you used in your Language Pack installation.

    stsadm -o deactivatefeature -name BIIndexingConnector -url <Website URL>

    Press ENTER.

  3. After the operation is completed successfully, type the following Stsadm command and make sure that you indicate the LCID code of the language that you want to un-install.

    stsadm -o retractsolution -name BIConnectorFrontend.wsp -local -lcid <code>

    Press ENTER.

  4. After the operation is completed successfully, type the following Stsadm command and make sure that you indicate the LCID code of the language that you want to uninstall.

    stsadm -o deletesolution -name BIConnectorFrontend.wsp -lcid <code>

See Also

Concepts

Determine software requirements for Business Intelligence Indexing Connector (SharePoint Server 2010)
Overview of Business Intelligence Indexing Connector architecture (SharePoint Server 2010)


Troubleshooting BI Indexing Connector (SharePoint Server 2010)

Important:

The Microsoft Business Intelligence Indexing Connector free download was removed from the download site. Customers who have downloaded the Business Intelligence Indexing Connector as of March 2011 will continue to be supported as per standard support procedures. However, Business Intelligence Indexing Connector will not be tested or supported for SharePoint Server 2010 Service Pack 1.

This article describes considerations when you install, configure, and crawl data sources for business intelligence assets by using Microsoft Business Intelligence Indexing Connector.

Data sources

Business Intelligence Indexing Connector crawls files and can optionally crawl external data sources to data-driven files such as an Microsoft Excel file connected to a Microsoft SQL Server source or a Microsoft SQL Server Reporting Services (SSRS) .rdl file connected to a SQL Server database. This is so that you can see the database name of the data source and also elements of the data, including dimensions and measures of a Microsoft SQL Server Analysis Services (SSAS) cube. The following are considerations and issues that you may encounter when Business Intelligence Indexing Connector crawls Excel and SSRS .rdl files.

Excel and PowerPivot files

Crawling Excel files with custom SQL statements is not supported. If a data source for an Excel file has a custom SQL statement for the data source query, you will receive an error message in an enabled event log that the SQL query cannot be read.

To crawl files for Microsoft SQL Server PowerPivot for Microsoft Excel, you must deploy PowerPivot for Excel 2010 on the instance of FAST Search Server 2010 for SharePoint that is installed on the client. The client files that are crawled must be Excel 2010 files with the same version of PowerPivot for Excel that is installed on FAST Search Server 2010 for SharePoint.

Unified Logging Service log file or trace logs

Any changes on the configuration made through the configuration wizard will stop and restart the service after configuration has completed successfully. If the service stops or cannot restart after configuration, review the Unified Logging Service (ULS) log. The ULS writes Microsoft SharePoint Server 2010 events to SharePoint Server 2010 Trace Logs which are located at:

%ProgramFile%\Common Files\Microsoft Shared\web server extensions\14\LOGS.

Collectively this location and its files are commonly referred to as the "ULS Logs" though MSDN calls them the Trace Logs. The ulscommoncore.msi file is installed when FAST Search Server 2010 for SharePoint is installed. If it has not been installed, run ulscommoncore.msi from %FastSetupFolder%\installer\files to enable the Business Intelligence Indexing Connector log file.


Configure services (SharePoint Server 2010)
See Also

In Microsoft SharePoint Server 2010, individual services can be configured independently, and you can implement only the services that your organization needs. For information about how to start, stop, and configure services, see Manage services on the server (SharePoint Server 2010).

Services that are deployed are named service applications. A service application provides a resource that can be shared across sites within a farm or sometimes across multiple farms, and can be accessed by users through a hosting Web application. Service applications are associated to Web applications by service application connections. For more information about managing and publishing service applications, see Service application and service management (SharePoint Server 2010).

For more information about service applications and services, see Technical diagrams (SharePoint Server 2010).

Note:

If you plan to use Office Web Apps, you must install and configure them to work with SharePoint 2010 Products. For more information, see Office Web Apps (Installed on SharePoint 2010 Products).

This section contains the following articles:

  • Manage service applications (SharePoint Server 2010)

    This article discusses the structures of service applications and services in Microsoft SharePoint Server 2010, and explains how service applications and services can be managed.

  • Configure a service application by using a Windows PowerShell script (SharePoint Server 2010)

    This article describes how to configure a service application by using a Windows PowerShell script instead of using the SharePoint Products Configuration Wizard.

  • Configure the security token service (SharePoint Server 2010)

    This article provides guidance to help you to configure the Microsoft SharePoint Server 2010 security token service (STS). An STS is a specialized Web service that is designed to respond to requests for security tokens and provide identity management.

  • Configure the Secure Store Service (SharePoint Server 2010)

    This article describes the Microsoft SharePoint Server 2010 Secure Store Service operations that solution designers can use to create target applications that map user and group credentials to the credentials of external data sources.

  • Configure enterprise search (SharePoint Server 2010)

    Configuring enterprise search consists of the following post-installation steps: create and configure a Search service application; create a Search Center site; enable people search.

See Also

Other Resources

Resource Center: Installation and Deployment for SharePoint Server 2010


Service application and service management (SharePoint Server 2010)
See Also

Articles in this section discuss the structures of service applications and services in Microsoft SharePoint Server 2010, and explain how service applications and services can be managed. These articles are for farm administrators and service application administrators who will operate SharePoint Server 2010.

In This Section

  • About service applications and services (SharePoint Server 2010)

    Provides an introduction to the logical infrastructure of service applications and services.

  • Manage service applications (SharePoint Server 2010)

    Describes how to manage, create, configure, and share service applications.

  • Manage services on the server (SharePoint Server 2010)

    Describes how services can be started, stopped, and configured.

See Also

Concepts

Web applications management (SharePoint Server 2010)
Technical diagrams (SharePoint Server 2010)


Configure a service application by using a Windows PowerShell script (SharePoint Server 2010)

Published: March 31, 2011

This article describes how a user can use a Windows PowerShell script to replicate the functionality of the SharePoint Products Configuration Wizard in Microsoft SharePoint Server 2010.

Note:

The following Windows PowerShell script replicates the majority of the functionality of the SharePoint Products Configuration Wizard with the exception of the Application Registry service and the Lotus Notes connector. To configure both of these services, see Application Registry Service administration (SharePoint Server 2010) and Configure and use the Lotus Notes connector (SharePoint Server 2010) respectively.

To create and configure the farm, you run the SharePoint Products Configuration Wizard. This wizard automates several configuration tasks, including creating the configuration database, installing services, creating service application and service application proxies, and creating the Central Administration Web site.

For additional information about deploying a farm, see Multiple servers for a three-tier farm (SharePoint Server 2010).

One of the limitations of using the SharePoint Products Configuration Wizard is in order to provision the services in the farm, all of the steps must be performed consecutively until the SharePoint Products Configuration Wizard is complete. Alternatively, by using the following Windows PowerShell script, an administrator can be selective in what services are run by copying and pasting the appropriate code into a separate .ps1 file.

Some of the services are dependent on each other to run, so both must appear in your version of the script. For example, to use Web Analytics reporting, the Web Analytics service requires the State service to be started. The following table shows services and their dependencies.

Service name | Dependent service
Access Service | None
Business Data Connectivity service | None
Excel Services Application | None
Managed Metadata Web service | None
PerformancePoint Service | Excel Services State Service
SharePoint Server Search | Usage and Health Data Collection Service
State Service | None
Secure Store Service | None
Usage and Health Data Collection Service | None
User Profile Synchronization Service | None
Visio Graphics service | State Service
Web Analytics service | State Service
Word Automation Services | None

To configure a service application by using a Windows PowerShell script

  1. Verify that you meet the following minimum requirements:

    • See Add-SPShellAdmin.

    • You must read about_Execution_Policies (http://go.microsoft.com/fwlink/p/?LinkId=193050).

  2. Copy the following code and paste it into a text editor, such as Notepad.

    Note:

    The $appPoolUserName uses a sample account, CONTOSO\SAAppPoolAccount, which needs to be changed to a valid account within your organization.

    Copy Code
    ################################################################################
## This script replicates most of the functionality found in the SharePoint Products Configuration Wizard##
################################################################################

Add-PSSnapin Microsoft.SharePoint.PowerShell -erroraction SilentlyContinue

## Settings you may want to change ##
$databaseServerName = "sp2010dev.contoso.com"
$searchServerName = $databaseServerName
$saAppPoolName = "SharePoint Web Services"
$appPoolUserName = "CONTOSO\SAAppPoolAccount"

## Service Application Service Names ##
$accesssSAName = "Access Services"
$bcsSAName = "Business Data Connectivity Service"
$excelSAName = "Excel Services Application"
$metadataSAName = "Managed Metadata Web Service"
$performancePointSAName = "PerformancePoint Service"
$searchSAName = "SharePoint Server Search"
$stateSAName = "State Service"
$secureStoreSAName = "Secure Store Service"
$usageSAName = "Usage and Health Data Collection Service"
$userProfileSAName = "User Profile Synchronization Service"
$visioSAName = "Visio Graphics Service"
$WebAnalyticsSAName = "Web Analytics Service"
$WordAutomationSAName = "Word Automation Services"

$saAppPool = Get-SPServiceApplicationPool -Identity $saAppPoolName -EA 0
if($saAppPool -eq $null)
{
  Write-Host "Creating Service Application Pool..."

  $appPoolAccount = Get-SPManagedAccount -Identity $appPoolUserName -EA 0
  if($appPoolAccount -eq $null)
  {
      Write-Host "Please supply the password for the Service Account..."
      $appPoolCred = Get-Credential $appPoolUserName
      $appPoolAccount = New-SPManagedAccount -Credential $appPoolCred -EA 0
  }

  $appPoolAccount = Get-SPManagedAccount -Identity $appPoolUserName -EA 0

  if($appPoolAccount -eq $null)
  {
    Write-Host "Cannot create or find the managed account $appPoolUserName, please ensure the account exists."
    Exit -1
  }

  New-SPServiceApplicationPool -Name $saAppPoolName -Account $appPoolAccount -EA 0 > $null

}

Write-Host "Creating Usage Service and Proxy..."
$serviceInstance = Get-SPUsageService
New-SPUsageApplication -Name $usageSAName -DatabaseServer $databaseServerName -DatabaseName "UsageDB" -UsageService $serviceInstance > $null

Write-Host "Creating Access Services and Proxy..."
New-SPAccessServiceApplication -Name $accesssSAName -ApplicationPool $saAppPoolName > $null
Get-SPServiceInstance | where-object {$_.TypeName -eq "Access Database Service"} | Start-SPServiceInstance > $null

Write-Host "Creating BCS Service and Proxy..."
New-SPBusinessDataCatalogServiceApplication -Name $bcsSAName -ApplicationPool $saAppPoolName -DatabaseServer $databaseServerName -DatabaseName "BusinessDataCatalogDB" > $null
Get-SPServiceInstance | where-object {$_.TypeName -eq "Business Data Connectivity Service"} | Start-SPServiceInstance > $null

Write-Host "Creating Excel Service..."
New-SPExcelServiceApplication -name $excelSAName -ApplicationPool $saAppPoolName > $null
Set-SPExcelFileLocation -Identity "http://" -ExcelServiceApplication $excelSAName -ExternalDataAllowed 2 -WorkbookSizeMax 10 -WarnOnDataRefresh:$true
Get-SPServiceInstance | where-object {$_.TypeName -eq "Excel Calculation Services"} | Start-SPServiceInstance > $null

Write-Host "Creating Metadata Service and Proxy..."
New-SPMetadataServiceApplication -Name $metadataSAName -ApplicationPool $saAppPoolName -DatabaseServer $databaseServerName -DatabaseName "MetadataDB" > $null
New-SPMetadataServiceApplicationProxy -Name "$metadataSAName Proxy" -DefaultProxyGroup -ServiceApplication $metadataSAName > $null
Get-SPServiceInstance | where-object {$_.TypeName -eq "Managed Metadata Web Service"} | Start-SPServiceInstance > $null

Write-Host "Creating Performance Point Service and Proxy..."
New-SPPerformancePointServiceApplication -Name $performancePointSAName -ApplicationPool $saAppPoolName > $null
New-SPPerformancePointServiceApplicationProxy -Default -Name "$performancePointSAName Proxy" -ServiceApplication $performancePointSAName > $null
Get-SPServiceInstance | where-object {$_.TypeName -eq "PerformancePoint Service"} | Start-SPServiceInstance > $null

##START SEARCH

Write-Host "Creating Search Service and Proxy..."
Write-Host "  Starting Services..."
Start-SPEnterpriseSearchServiceInstance $searchServerName
Start-SPEnterpriseSearchQueryAndSiteSettingsServiceInstance $searchServerName

Write-Host "  Creating Search Application..."
$searchApp = New-SPEnterpriseSearchServiceApplication -Name $searchSAName -ApplicationPool $saAppPoolName -DatabaseServer $databaseServerName -DatabaseName "SearchDB"
$searchInstance = Get-SPEnterpriseSearchServiceInstance $searchServerName

Write-Host "  Creating Administration Component..."
$searchApp | Get-SPEnterpriseSearchAdministrationComponent | Set-SPEnterpriseSearchAdministrationComponent -SearchServiceInstance $searchInstance

##Crawl
Write-Host "  Creating Crawl Component..."
$InitialCrawlTopology = $searchApp | Get-SPEnterpriseSearchCrawlTopology -Active
$CrawlTopology = $searchApp | New-SPEnterpriseSearchCrawlTopology
$CrawlDatabase = ([array]($searchApp | Get-SPEnterpriseSearchCrawlDatabase))[0]
$CrawlComponent = New-SPEnterpriseSearchCrawlComponent -CrawlTopology $CrawlTopology -CrawlDatabase $CrawlDatabase -SearchServiceInstance $searchInstance
$CrawlTopology | Set-SPEnterpriseSearchCrawlTopology -Active

Write-Host -ForegroundColor white "  Waiting for the old crawl topology to become inactive" -NoNewline
do {write-host -NoNewline .;Start-Sleep 6;} while ($InitialCrawlTopology.State -ne "Inactive")
$InitialCrawlTopology | Remove-SPEnterpriseSearchCrawlTopology -Confirm:$false
Write-Host

##Query
Write-Host "  Creating Query Component..."
$InitialQueryTopology = $searchApp | Get-SPEnterpriseSearchQueryTopology -Active
$QueryTopology = $searchApp | New-SPEnterpriseSearchQueryTopology -Partitions 1
$IndexPartition= (Get-SPEnterpriseSearchIndexPartition -QueryTopology $QueryTopology)
$QueryComponent = New-SPEnterpriseSearchQuerycomponent -QueryTopology $QueryTopology -IndexPartition $IndexPartition -SearchServiceInstance $searchInstance
$PropertyDatabase = ([array]($searchApp | Get-SPEnterpriseSearchPropertyDatabase))[0]
$IndexPartition | Set-SPEnterpriseSearchIndexPartition -PropertyDatabase $PropertyDatabase
$QueryTopology | Set-SPEnterpriseSearchQueryTopology -Active

Write-Host "  Creating Proxy..."
$searchAppProxy = New-SPEnterpriseSearchServiceApplicationProxy -Name "$searchSAName Proxy" -SearchApplication $searchSAName > $null

#####END SEARCH

Write-Host "Creating State Service and Proxy..."
New-SPStateServiceDatabase -Name "StateServiceDB" -DatabaseServer $databaseServerName | New-SPStateServiceApplication -Name $stateSAName | New-SPStateServiceApplicationProxy -Name "$stateSAName Proxy" -DefaultProxyGroup > $null

Write-Host "Creating Secure Store Service and Proxy..."
New-SPSecureStoreServiceapplication -Name $secureStoreSAName -Sharing:$false -DatabaseServer $databaseServerName -DatabaseName "SecureStoreServiceAppDB" -ApplicationPool $saAppPoolName -auditingEnabled:$true -auditlogmaxsize 30 | New-SPSecureStoreServiceApplicationProxy -name "$secureStoreSAName Proxy" -DefaultProxygroup > $null
Get-SPServiceInstance | where-object {$_.TypeName -eq "Secure Store Service"} | Start-SPServiceInstance > $null

Write-Host "Creating User Profile Service and Proxy..."
$userProfileService = New-SPProfileServiceApplication -Name $userProfileSAName -ApplicationPool $saAppPoolName -ProfileDBServer $databaseServerName -ProfileDBName "ProfileDB" -SocialDBServer $databaseServerName -SocialDBName "SocialDB" -ProfileSyncDBServer $databaseServerName -ProfileSyncDBName "SyncDB"
New-SPProfileServiceApplicationProxy -Name "$userProfileSAName Proxy" -ServiceApplication $userProfileService -DefaultProxyGroup > $null
Get-SPServiceInstance | where-object {$_.TypeName -eq "User Profile Service"} | Start-SPServiceInstance > $null

Write-Host "Creating Visio Graphics Service and Proxy..."
New-SPVisioServiceApplication -Name $visioSAName -ApplicationPool $saAppPoolName > $null
New-SPVisioServiceApplicationProxy -Name "$visioSAName Proxy" -ServiceApplication $visioSAName > $null
Get-SPServiceInstance | where-object {$_.TypeName -eq "Visio Graphics Service"} | Start-SPServiceInstance > $null

Write-Host "Creating Web Analytics Service and Proxy..."
$stagerSubscription = "<StagingDatabases><StagingDatabase ServerName='$databaseServerName' DatabaseName='StagerDB'/></StagingDatabases>"
$reportingSubscription = "<ReportingDatabases><ReportingDatabase ServerName='$databaseServerName' DatabaseName='WarehouseDB'/></ReportingDatabases>"
New-SPWebAnalyticsServiceApplication -Name $WebAnalyticsSAName -ApplicationPool $saAppPoolName -ReportingDataRetention 20 -SamplingRate 100 -ListOfReportingDatabases $reportingSubscription -ListOfStagingDatabases $stagerSubscription > $null
New-SPWebAnalyticsServiceApplicationProxy -Name "$WebAnalyticsSAName Proxy" -ServiceApplication $WebAnalyticsSAName > $null
Get-SPServiceInstance | where-object {$_.TypeName -eq "Web Analytics Web Service"} | Start-SPServiceInstance > $null
Get-SPServiceInstance | where-object {$_.TypeName -eq "Web Analytics Data Processing Service"} | Start-SPServiceInstance > $null

Write-Host "Creating Word Conversion Service and Proxy..."
New-SPWordConversionServiceApplication -Name $WordAutomationSAName -ApplicationPool $saAppPoolName -DatabaseServer $databaseServerName -DatabaseName "WordAutomationDB" -Default > $null
Get-SPServiceInstance | where-object {$_.TypeName -eq "Word Automation Services"} | Start-SPServiceInstance > $null

  3. Save the file, naming it Services.ps1.

    Note:

    You can use a different file name, but you must save the file as an ANSI-encoded text file whose extension is .ps1.

  4. On the Start menu, click All Programs.

  5. Click Microsoft SharePoint 2010 Products.

  6. Click SharePoint 2010 Management Shell.

  7. Change to the directory where you saved the file.

  8. At the Windows PowerShell command prompt, type the following command:

    Copy Code
    ./Services.ps1

For additional information about Windows PowerShell scripts and .ps1 files, see Running Windows PowerShell Scripts.


Configure the security token service (SharePoint Server 2010)
See Also

This article provides guidance to enable you to configure the Microsoft SharePoint Server 2010 security token service (STS). An STS is a specialized Web service that is designed to respond to requests for security tokens and provide identity management. The core functionality of every STS is the same, but the nature of the tasks that each STS performs depends on the role the STS plays in relation to the other STS Web services in your design.

In this article:

  • How Web applications that use an STS work

  • Configure a SharePoint claims-based Web application by using Windows PowerShell

  • Edit bindings

  • Configure a Web application that uses an STS

How Web applications that use an STS work

Web applications that use a security token service handle requests to issue, manage, and validate security tokens. Security tokens consist of a collection of identity claims (such as a user's name, role, or an anonymous identifier). Tokens can be issued in different formats, such as Security Assertion Markup Language (SAML) tokens. Security tokens can be protected with an X.509 certificate to protect the token's contents in transit and to enable validation of trusted issuers. For additional information about the Security Token Service, see Plan authentication methods (SharePoint Server 2010).

An Identity Provider-STS (IP-STS) is a Web service that handles requests for trusted identity claims. An IP-STS uses a database called an identity store to store and manage identities and their associated attributes. The identity store for an identity provider may be a simple, such as a SQL database table. An IP-STS may also use a complex identity store, such as Active Directory Domain Services (AD DS) or Active Directory Lightweight Directory Service (AD LDS).

An IP-STS is available to clients who want to create and manage identities, and to relying party applications that must validate identities presented to them by clients. Each IP-STS has a federated trust relationship with, and issues tokens to, federation partner Relying Party STS Web applications, each of which are referred to as an RP-STS. Clients can create or provision managed Information Cards (using a card selector such as CardSpace) that represent identities registered with the IP-STS. Clients interact with the IP-STS when they request security tokens that represent an identity that is contained in the identity store of the IP-STS. After authentication, the IP-STS issues a trusted security token that the client can present to a relying party application. Relying party applications can establish trust relationships with an IP-STS. This enables them to validate the security tokens issued by an IP-STS. After the trust relationship is established, relying party applications can examine security tokens presented by clients and determine the validity of the identity claims they contain.

A relying party STS (RP-STS) is an STS that receives security tokens from a trusted federation partner IP-STS. In turn, the RP-STS issues new security tokens to be consumed by a local relying party application. The use of RP-STS Web applications in federation with IP-STS Web applications enables organizations to offer Web single-sign-on (SSO) to users from partner organizations. Each organization continues to manage its own identity stores.

Configure a SharePoint claims-based Web application by using Windows PowerShell

Perform the following procedures to use Windows PowerShell to configure a SharePoint claims-based Web application.

To configure a SharePoint claims-based Web application by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. From the Windows PowerShell command prompt (that is, PS C:\>), create an x509Certificate2 object, as shown in the following example:

    Copy Code
    $cert = New-Object
System.Security.Cryptography.X509Certificates.X509Certificate2("path to cert file")

  6. Create a claim type mapping to use in your authentication provider, as shown in the following example:

    Copy Code
    New-SPClaimTypeMapping "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress"
-IncomingClaimTypeDisplayName "EmailAddress" -SameAsIncoming

  7. Create a trusted login provider by first creating a value for the realm parameter, as shown in the following example:

    Copy Code
    $realm = "urn:" + $env:ComputerName + ":domain-int"

  8. Create a value for the signinurl parameter that points to the Web application, as shown in the following example:

    Copy Code
    $signinurl = "https://test-2/FederationPassive/"

  9. Create the trusted login provider, using the same IdentifierClaim value as in a claim mapping ($map1.InputClaimType), as shown in the following example:

    Copy Code
    $ap = New-SPTrustedIdentityTokenIssuer -Name
"WIF" -Description "Windows® Identity Foundation" -Realm
$realm -ImportTrustCertificate $cert
-ClaimsMappings $map1[,$map2..] -SignInUrl
$signinurl -IdentifierClaim $map1.InputClaimType

  10. Create a Web application by first creating a value for the application pool account (for the current user), as shown in the following example:

    Copy Code
    $account = "DOMAIN\" + $env:UserName
    Note:

    The application pool account must be a managed account. To create a managed account, use New-SPManagedAccount.

  11. Create a value for the Web application URL ($webappurl = "https://" + $env:ComputerName), as shown in the following example:

    Copy Code
    $wa = New-SPWebApplication -name "Claims WIF"
-SecureSocketsLayer -ApplicationPool "SharePoint SSL"
-ApplicationPoolAccount $account -Url $webappurl -Port 443
-AuthenticationProvider $ap

  12. Create a site by first creating a claim object, as shown in the following example:

    Copy Code
    $claim = New-SPClaimsPrincipal
-TrustedIdentityTokenIssuerr $ap -Identity
$env:UserName

  13. Create a site, as shown in the following example:

    Copy Code
    $site = New-SPSite $webappurl -OwnerAlias
$claim.ToEncodedString() -template "STS#0"

Edit bindings

After you have configured a SharePoint claims-based Web application, edit the bindings.

To edit bindings

  1. Start IIS Manager by typing INETMGR at a command prompt.

  2. Go to the Claims Web Application site in IIS.

  3. In the left pane, right-click Claims Web Application, and select Edit Bindings.

  4. Select https and click Edit.

  5. Under SSL Certificate, select any listed certificate.

Configure a Web application that uses an STS

After you have configured a SharePoint Server 2010 claims-based Web application, edited the bindings and configured the Web.Config file, you can use the procedure in this section to configure a Security Token Service Web application.

To configure a Web application that uses an STS

  1. Open the Active Directory Federation Services (AD FS) 2.0Management console.

  2. In the left pane, expand Policy, and select Relying Parties.

  3. In the right pane, click Add Relying Party. This opens the Active Directory Federation Services (AD FS) 2.0 configuration wizard.

  4. On the first page of the wizard, click Start.

  5. Click Enter relying party configuration manually, and click Next.

  6. Type a relying party name and click Next.

  7. Make sure Active Directory Federation Services (AD FS) 2.0 Server Profile is selected, and click Next.

  8. If you are not planning to use an encryption certificate, click Next.

  9. Select Enable support for Web-browser-based identity federation.

  10. Type the name of the Web application URL, and append /_trust/ (for example: https://servername/_trust/). Click Next.

  11. Type an identifier, and click Add. Click Next.

  12. On the Summary page, click Next and then click Close. This opens the Rules Editor Management console. Use this console to configure the mapping of claims from an LDAP Web application to SharePoint.

  13. In the left pane, expand New Rule, and select Predefined Rule.

  14. Select Create Claims from LDAP Attribute Store.

  15. In the right pane, from the Attribute Store drop-down list, select Enterprise Active Directory User Account Store.

  16. Under LDAP Attribute, select sAMAccountName.

  17. Under Outgoing Claim Type, select E-Mail Address.

  18. In the left pane, click Save.

See Also

Other Resources

Resource Center: Installation and Deployment for SharePoint Server 2010
Resource Center: Security and Authentication for SharePoint Server 2010


Configure the Secure Store Service (SharePoint Server 2010)
See Also

This article describes how to configure the Secure Store Service on a Microsoft SharePoint Server 2010 farm. Secure Store has important planning considerations associated with it. Be sure to read Plan the Secure Store Service (SharePoint Server 2010) before you begin the procedures in this article.

In this article:

  • Configuring Secure Store

  • Working with encryption keys

  • Create a target application

  • Set credentials for a target application

  • Enable the audit log

Note:

You use the SharePoint Central Administration Web site to complete the following procedures. If you want to use Windows PowerShell, see Configure Secure Store Service by using Windows PowerShell (http://go.microsoft.com/fwlink/p/?LinkId=207030) on the Script Center and the "Creating Secure Store Service and Proxy" lines from Todd Carter's following blog post, The Wizard Likes His GUIDs (http://go.microsoft.com/fwlink/p/?LinkId=207031). Additionally, if you want to use an audit log, you have to use the AuditingEnabled and AuditlogMaxSize parameters of either the New-SPSecureStoreServiceApplication cmdlet or the Set-SPSecureStoreServiceApplication cmdlet.

Video demonstration

This video shows the steps necessary to configure a Secure Store service application.

Screenshot of video

Running time: 6:41

Play video Watch the video.

Download video For an optimal viewing experience, download the video.

Right-click the link, and then click Save Target As to download a copy. Clicking the link opens a .wmv file in the default video viewer for full-resolution viewing.

Configuring Secure Store

Configuring Secure Store consists of the following steps:

  1. Registering a managed account in SharePoint Server 2010 to run the Secure Store application pool.

  2. Starting the Secure Store Service on an application server in the farm.

  3. Creating a Secure Store Service service application.

To run the application pool, you must have a standard domain account. No specific permissions are required for this account. Once the account has been created in Active Directory, follow these steps to register it with SharePoint Server 2010.

To register a managed account

  1. On the SharePoint Central Administration Web site home page, in the left navigation, click Security.

  2. On the Security page, in the General Security section, click Configure managed accounts.

  3. On the Managed Accounts page, click Register Managed Account.

  4. In the User name box, type the name of the account.

  5. In the Password box, type the password for the Contoso\ExcelAppPool account.

  6. If you want SharePoint Server 2010 to handle changing the password for the account, select the Enable automatic password change box and specify the password change parameters that you want to use.

  7. Click OK.

Once you have configured the registered account, you must start the Secure Store Service on an application server in the farm. Because Secure Store deals with sensitive information, we recommend that you use a separate application server just for the Secure Store Service for better security.

To start the Secure Store Service

  1. On the Central Administration home page, in the System Settings section, click Manage services on server.

  2. Above the Service list, click the Server drop-down list, and then click Change Server.

  3. Select the application server where you want to run the Secure Store Service.

  4. In the Service list, click Start next to Secure Store Service.

Once the service is started, you must create a Secure Store Service service application. Use the following procedure to create the service application.

To create a Secure Store Service service application

  1. On the Central Administration home page, in the Application Management section, click Manage service applications.

  2. On the Manage Service Applications page, click New, and then click Secure Store Service.

  3. In the Service Application Name box, type a name for the service application (for example, Secure Store Service).

  4. In the Database Server box, type the instance of SQL Server where you want to create the Secure Store database.

    Note:

    Because the Secure Store database contains sensitive information, we recommend that you deploy the Secure Store database to a different instance of SQL Server from the rest of SharePoint Server 2010.

  5. Select the Create new application pool option and type a name for the application pool in the text box.

  6. Select the Configurable option, and from the drop-down list, select the account for which you created the managed account earlier.

  7. Click OK.

The Secure Store Service has now been configured. The next step is to generate an encryption key for encrypting the Secure Store database.

Working with encryption keys

Before using the Secure Store Service, you must generate an encryption key. The key is used to encrypt and decrypt the credentials that are stored in the Secure Store Service database.

Generate an encryption key

The first time that you access the Secure Store service application, your only option is to generate a new encryption key. Once the key has been generated, the rest of the Secure Store functionality becomes available.

To generate a new encryption key

  1. On the Central Administration home page, in the Application Management section, click Manage service applications.

  2. Click the Secure Store service application.

  3. In the Key Management group, click Generate New Key.

  4. On the Generate New Key page, type a pass phrase string in the Pass Phrase box, and type the same string in the Confirm Pass Phrase box. This pass phrase is used to encrypt the Secure Store database.

    Important:

    A pass phrase string must be at least eight characters and must have at least three of the following four elements:

    • Uppercase characters

    • Lowercase characters

    • Numerals

    • Any of the following special characters

      "! " # $ % & ' ( ) * + , - . / : ; < = > ? @ [ \ ] ^ _ ` { | } ~

    Important:

    The pass phrase that you enter is not stored. Make sure that you write this down and store it in a safe place. You must have it to refresh the key, such as when you add a new application server to the server farm.

  5. Click OK.

For security precautions or as part of regular maintenance you may decide to generate a new encryption key and force the Secure Store Service to be re-encrypted based on the new key. You can use this same procedure to do this.

Caution:

You should back up the database of the Secure Store Service application before generating a new key.

Refresh the encryption key

Refreshing the encryption key propagates the key to all the application servers in the farm. You may be required to refresh the encryption key if:

  • You add a new application server to the server farm.

  • You restore a previously backed up Secure Store Service database and have since changed the encryption key.

  • You receive an "Unable to get master key" error message.

To refresh the encryption key

  1. On the Central Administration home page, in the Application Management section, click Manage service applications.

  2. Click the Secure Store service application.

  3. In the Key Management group, click Refresh Key.

  4. In the Pass Phrase box, type the pass phrase that you first used to generate the encryption key.

    This phrase is either the pass phrase that you used when you initialized the Secure Store Service service application or one that you used when you created a new key by using the Generate a New Key command.

  5. Click OK.

Storing credentials in Secure Store

Storing credentials in Secure Store is accomplished by using a Secure Store target application. A target application maps the credentials of a user, group, or claim to a set of encrypted credentials stored in the Secure Store database. After a target application is created, you can associate it with an external content type or application model, or use it with a Business Intelligence Service Application such as Excel Services or Visio Services to provide access to an external data source. When a SharePoint Server 2010 service application calls the target application, Secure Store confirms that the user making the request is an authorized user of the target application and then retrieves the encrypted credentials. The credentials are then used on the user's behalf by the SharePoint Server 2010 service application.

To create a target application, you must do the following:

  1. Create the target application itself, specifying the type of credentials that you want to store in the Secure Store database, the administrators for the target application, and the credential owners.

  2. Specify the credentials that you want to store.

Create a target application

Target applications are configured on the Secure Store Service Application page in Central Administration. Use the following procedure to create a target application.

To create a target application

  1. On the Central Administration home page, in the Application Management section, click Manage service applications.

  2. Click the Secure Store service application.

  3. In the Manage Target Applications group, click New.

  4. In the Target Application ID box, type a text string.

    This is the unique string that you will use externally to identify this target application.

  5. In the Display Name box, type a text string that will be used to display the identifier of the target application in the user interface.

  6. In the Contact Email box, type the e-mail address of the primary contact for this target application.

    This can be any legitimate e-mail address and does not have to be the identity of an administrator of the Secure Store Service application.

  7. When you create a target application of type Individual (see below), you can implement a custom Web page that lets users add individual credentials for the destination data source. This requires custom code to pass the credentials to the target application. If you did this, type the full URL of this page in the Target Application Page URL field. There are three options:

    • Use default page: Any Web sites that use the target application to access external data will have an individual sign-up page that was added automatically. The URL of this page will be http:/<samplesite>/_layouts/SecureStoreSetCredentials.aspx?TargetAppId=<TargetApplicationID>, where <TargetApplicationID> is the string typed in the Target Application ID box. By publicizing the location of this page, you can enable users to add their credentials for the external data source.

    • Use custom page: You provide a custom Web page that lets users provide individual credentials. Type the URL of the custom page in this field.

    • None: There is no sign-up page. Individual credentials are added only by a Secure Store Service administrator who is using the Secure Store Service application.

  8. In the Target Application Type drop-down list, choose the target application type: Group, for group credentials, or, Individual if each user is to be mapped to a unique set of credentials on the external data source.

    Note:

    There are two primary types for creating a target application:

    • Group, for mapping all the members of one or more groups to a single set of credentials on the external data source.

    • Individual, for mapping each user to a unique set of credentials on the external data source.

  9. Click Next.

  10. Use the Specify the credential fields for your Secure Store Target Application page to configure the various fields which may be required to provide credentials to the external data source. By default, two fields are listed: Windows User Name and Windows Password.

    To add an additional field for supplying credentials to the external data source, on the Specify the credential fields for your Secure Store Target Application page, click Add Field.

    By default, the type of the new field is Generic. The following field types are available:

    Field Description

    Generic

    Values that do not fit in any of the other categories.

    User Name

    A user account that identifies the user.

    Password

    A secret word or phrase.

    PIN

    A personal identification number.

    Key

    A parameter that determines the functional output of a cryptographic algorithm or cipher.

    Windows User Name

    A Windows user account that identifies the user.

    Windows Password

    A secret word or phrase for a Windows account.

    • To change the type of a new or existing field, click the arrow that appears next to the type of the field, and then select the new type of field.

      Note:

      Every field that you add will be required to have data when you set the credentials for this target application.

    • You can change the name that a user sees when interacting with a field. In the Field Name column of the Specify the credential fields for your Secure Store Target Application page, change a field name by selecting the current text and typing new text.

    • When a field is masked, each character that a user types is not displayed but is replaced with a mask character such as the asterisk "*". To mask a field, click the check box for that field in the Masked column of the page.

    • To delete a field, click the delete icon for that field in the Delete column of the page.

    When you have finished editing the credential fields, click Next.

  11. In the Specify the membership settings page, in the Target Application Administrators Field, list all users who have access to manage the target application settings.

  12. If the target application type is group, in the Members field, list the user groups to map to a set of credentials for this target application.

  13. Click OK to complete configuring the target application.

Set credentials for a target application

After creating a target application, an administrator of that target application can set credentials for it. These credentials are used by the calling application to provide access to an external data source. If the target application is of type Individual, you can also enable users to supply their own credentials.

To set credentials for a target application

  1. On the Central Administration home page, in the Application Management section, click Manage service applications.

  2. Click the Secure Store service application.

  3. In the target application list, point at the target application for which you want to set credentials, click the arrow that appears, and then, in the menu, click Set credentials.

    If the target application is of type Group, type the credentials for the external data source. Depending on the information that is required by the external data source, the fields for setting credentials will vary.

    If the target application is of type Individual, type the user name of the individual who will be mapped to this set of credentials on the external data source, and type the credentials for the external data source. Depending on the information that is required by the external data source, the fields for setting credentials will vary.

  4. Click OK.

Once you have set the credentials for the target application, it is ready to be used by a SharePoint Server 2010 service such as Business Connectivity Services or Excel Services.

Enable the audit log

Audit entries for the Secure Store service are stored in the Secure Store Service database. By default, the audit log file is disabled.

An audit log entry stores information about a Secure Store Service action, such as when it was performed, whether it succeeded, why it failed if it didn't succeed, the Secure Store Service user who performed it, and optionally the Secure Store Service user on whose behalf it was performed. Therefore, a valid reason to enable an audit log file is to troubleshoot an authentication issue.

Note:

If the Secure Store Service database is set to read-only, the audit log file must be disabled, otherwise the following error message will be displayed during authentication: "Cannot complete this action as the Secure Store Shared Service is not responding. Please contact your administrator."

To enable the audit log by using Central Administration

  1. On the Central Administration home page, in the Application Management section, click Manage service applications.

  2. Select the Secure Store service application. (That is, select the service application, but do not click the link to go to the Secure Store Service application settings page.)

  3. On the ribbon, click Properties.

  4. From the Enable Audit section, click to select the Audit log enabled box.

  5. To change the number of days that entries will be purged from the audit log file, specify a number in days in the Days Until Purge field. The default value is 30 days.

  6. Click OK.

Video demonstration

This video gives an overview of how target applications are used in Secure Store.

Screenshot of video

Running time: 13:33

Play video Watch the video.

Download video For an optimal viewing experience, download the video.

Right-click the link, and then click Save Target As to download a copy. Clicking the link opens a .wmv file in the default video viewer for full-resolution viewing.

See Also

Other Resources

How to: Use Secure Store Service to Connect to an External System
Resource Center: Installation and Deployment for SharePoint Server 2010
Resource Center: Security and Authentication for SharePoint Server 2010


Configure enterprise search (SharePoint Server 2010)

Configuring enterprise search includes the following tasks:

  • Create and configure a new Search service application (SharePoint Server 2010). Create and configure a Search service application as part of a new deployment of Microsoft SharePoint Server 2010 or as needed.

  • Create a Search Center site (SharePoint Server 2010). Create a Search Center site for users to use when searching.

  • Deploy people search. Learn about the prerequisites and how to implement people search to help users find other people in the organization.


Create and configure a new Search service application (SharePoint Server 2010)

Published: December 2, 2010

This article describes how to create and configure a Search service application in Microsoft SharePoint Server 2010. Before you deploy search, we highly recommend that you review Enterprise search planning (SharePoint Server 2010) and Performance and capacity test results and recommendations (SharePoint Server 2010).

Note:

If you used the Farm Configuration Wizard after you installed SharePoint Server 2010, a Search service application may have been created at that time. To verify whether a Search service application exists, you can click Manage service applications in the Application Management section on the Central Administration home page.

Video demonstration

This video show the steps required to create and configure a new Search service application.

Screenshot of video

Running time: 8:04

Play video Watch the video.

Download video For an optimal viewing experience, download the video.

Right-click the link, and then click Save Target As to download a copy. Clicking the link will open a .wmv file in the default video viewer for full-resolution viewing.

When you deploy and configure a Search service application, you perform the following basic steps:

  1. Create accounts - Domain user accounts are required to run the various search services and components.

  2. Create a Search service application - A Search service application provides enterprise search features and functionality.

  3. Configure the Search service application - Basic configuration of a Search service application includes configuring a default content access account, an e-mail contact, and content sources.

  4. Configure the Search topology - You can deploy crawl components, query components, and the administration component on different servers in the farm. You can also specify which instance of SQL Server is used to host the administration, crawl, and property databases.

Create accounts

The following table lists the accounts that are required to run the services that are associated with a Search service application.

Account | Description
Search service application | The Windows user account that is used for the SharePoint Server Search service, the Search Admin Web Service application pool, and Search Query and Site Settings Web Service application pool.
Default content access | The identity that is used by the Search service application to access content when crawling.

You can use the same account for the Search service account, Search Admin Web Service, and Search Query and Site Settings Web Service. For the default content access account, we recommend that you use a separate account to provide security isolation.

The service account for search (the account used for the Search service account, the Search Admin Web Service, and the Search Query and Site Settings Web Service) must be registered as a managed account in SharePoint Server 2010 to make it available when you create the Search service application. Use the following procedure to register this account as a managed account.

To register a managed account

  1. On the Central Administration home page, in the Quick Launch, click Security.

  2. On the Security page, in the General Security section, click Configure managed accounts.

  3. On the Managed Accounts page, click Register Managed Account.

  4. On the Register Managed Account page, in the Account Registration section, type the user name and password that you want to use as credentials for the service account.

  5. If you want SharePoint Server 2010 to manage password changes for this account, select the Enable automatic password change check box and configure the parameters for automatic password change.

  6. Click OK.

After you have registered the managed account, the next step is to create a Search service application.

Create a Search service application

Before users can perform searches by using SharePoint Server 2010, you must create and configure a Search service application.

You can create multiple Search service applications if you have to have multiple search indexes. For example, if you want to segregate sensitive content, such as employee benefits information, into a separate index so that the content does not appear to users who do not have permission to that content, you can create a separate Search service application, which will have a separate index.

Use the following procedure to create a Search service application.

To create a Search service application

  1. Verify that the user account that is performing this procedure is a member of the Farm Administrators group for the farm for which you want to create the service application.

  2. On the Central Administration Home page, in the Application Management section, click Manage service applications.

  3. On the Manage Service Applications page, on the ribbon, click New, and then click Search Service Application.

  4. On the Create New Search Service Application page, accept the default value for Name, or type in a new name for the Search service application.

  5. In the Search Service Account list, click the account that you created in the previous procedure to run the Search service.

  6. In the Application Pool for Search Admin Web Service section, do the following:

    1. Select the Create new application pool option, and then type a name for the application pool in the Application pool name text box.

    2. In the Select a security account for this application pool section, select the Configurable option, and then select the account that you created to run the application pool for the Search Admin Web Service from the list.

  7. In the Application Pool for Search Query and Site Settings Web Service section, do the following:

    1. Choose the Create new application pool option, and then type a name for the application pool in the Application pool name text box.

    2. In the Select a security account for this application pool section, select the Configurable option, and then select the account that you created to run the application pool for the Search Query and Site Settings Web Service from the list.

  8. Click OK.

After the Search service application has been created, the next step is to configure it.

Configure the Search service application

You configure a Search service application on the Search Administration page for that service application. Use the following procedure to navigate to the Search Administration page for a particular Search service application.

To go to the Search Administration page

  1. Verify that the user account that is performing this procedure is an administrator for the Search service application that you want to configure.

  2. On the Home page of the Central Administration Web site, in the Application Management section, click Manage service applications.

  3. On the Manage Service Applications page, click the Search service application that you want to configure.

On the Search Administration page, configure the following settings as described in the following sections:

  • Default content access account

  • Contact email address

  • Content sources

Specify the default content access account

When you create a Search service application, the account that you specify for the Search Service Account is automatically configured as the default content access account. The crawler uses this account to crawl content that does not have an associated crawl rule that specifies a different account. For the default content access account, we recommend that you specify a domain user account that has read access to the content that you want to crawl. You can change the default content access account at any time.

If you need to crawl certain content using a different account, you can create a crawl rule and specify a different account for crawling. For information about how to create a crawl rule, see Manage crawl rules (SharePoint Server 2010).

Use the following procedure to specify the default content access account.

To specify the default content access account

  1. On the Search Administration page, in the System Status section, click the link in the Default content access account row.

  2. In the Default Content Access Account dialog box, in the Account box, type the account that you created for content access in the form domain\user name.

  3. Type the password for this account in the Password and Confirm Password boxes.

  4. Click OK.

Specify the contact e-mail address

The contact e-mail address is written to the logs of crawled servers. The default contact e-mail address, someone@example.com, is a placeholder. We recommend that you change this to an account that an external administrator can contact when a crawl might be contributing to a problem such as a decrease in performance on a server that the search system is crawling.

Use the following procedure to specify the contact email address.

To specify the contact e-mail address

  1. On the Search Administration page, in the System Status section, click the link for the Contact e-mail address.

  2. In the Search Email Setting dialog box, in the E-mail Address box, type the e-mail address that you want to appear in the logs of servers that are crawled by the search system.

  3. Click OK.

Create content sources

Crawling requires at least one content source. A content source called Local SharePoint sites is created automatically during installation and is automatically configured for crawling all of the SharePoint sites in the server farm.

If you choose the Standalone installation option when you install SharePoint Server 2010, a full crawl of local SharePoint sites is automatically performed following installation and an incremental crawl is scheduled to occur every 20 minutes after that. If you perform a Server Farm installation of SharePoint Server 2010, no crawls are automatically scheduled or performed.

You can add content sources to specify what other content is crawled and how the system crawls that content. For more information, see Add, edit, or delete a content source (SharePoint Server 2010). When you create and configure a content source in SharePoint Server 2010, you do it in the same way that you did in the previous product version, with the following exceptions:

  • The Business Data Catalog is now a subset of the Line of Business Data content source type.

  • There is a new content source type for crawling custom repositories. This option requires that one or more custom connectors are registered.

  • On the Add/Edit Content Source page, there is a new section named Content Source Priority. You can use this section to specify that the content source has either normal or high priority. The default setting is Normal.

Configure the Search Application topology

When you create a Search service application, the SharePoint Server Search service is started on the application server that is hosting the Central Administration Web site, and the search administration component together with one crawl component and one query component are deployed to that server. If you have more than one application server in your farm, you can deploy these components on other application servers, depending on your requirements. You can deploy multiple instances of each crawl component and each query component.

For information about how to plan the topology of your Search deployment, see Plan the topology for enterprise search (SharePoint Server 2010).


Create a Search Center site (SharePoint Server 2010)

Published: November 29, 2011

Summary: Learn how to create a Search Center and grant access to users or watch a video that shows how to create a Basic Search Center site.

A Search Center provides an interface for users to submit search queries. It is a richer interface than the search box that appears by default on each SharePoint site.

Depending on the kind of installation that you performed and the site collection template that you selected at that time, you might already have a Search Center site. To check this, browse to the top-level site for the site collection that you created during installation. If that site is not a Search Center or if it does not have a tab named Search, create a Search Center site by using the following procedure.

To create a Search Center site

  1. Verify that the user account that is performing this procedure is a member of the Farm Administrators group.

  2. On the Home page of the Central Administration Web site, in the Application Management section, click Create site collections.

  3. On the Create Site Collection page, do the following:

    1. In the Web Application section, specify the Web application that you want to use or create a new Web application.

    2. In Title and Description section, in the Title box, type the name for this Search Center site. Optionally, type a description in the Description box.

    3. In the Web Site Address section, type the last part of the URL for this site.

    4. In the Template Selection section, click the Enterprise tab and then select the Enterprise Search Center template or the Basic Search Center template. If you intend to use people search, you must select the Enterprise Search Center template. Unlike the Basic Search Center, the Enterprise Search Center provides a tab for people search.

    5. In the Primary Site Collection Administrator section, in the User name box, type the user name of the primary site collection administrator for this site collection in the form domain\user name.

    6. (Optional) In the Secondary Site Collection Administrator section, type the user name of a secondary site collection administrator in the form domain\user name.

    7. In the Quota Template section, select a predefined quota template to limit resources that are used for this site collection, or choose No Quota.

    8. Click OK.

  4. On the Top-Level Site Successfully Created page, click the link to the Search Center site that you created.

After you create the Search Center site, you must grant access to users by using the following procedure.

To grant all Windows users access to the Search Center

  1. Verify that the user account that is performing this procedure is a site collection administrator for the Search Center site.

  2. In a Web browser, go to the Search Center site.

  3. On the Site Actions menu, click Site Permissions.

  4. On the ribbon, click Grant Permissions.

  5. In the Users/Groups box, type NT Authority\authenticated users, and then click the Check Names icon to resolve the name.

  6. In the Grant Permissions section, select the Add users to a SharePoint group option, and then choose Search Center Visitors [Read] from the drop-down list.

  7. Click OK.

Video demonstration

This video shows the steps required to create a Search Center site and grant access to users.

Screenshot of video

Running time: 2:41

Play video Watch the video.

Download video For an optimal viewing experience, download the video.

Right-click the link, and then click Save Target As to download a copy. Clicking the link will open a .wmv file in the default video viewer for full-resolution viewing.


Deploy people search

Published: November 29, 2011

People search helps users find other people in the organization. People search has the following prerequisites:

  • Search - A Search service application must be configured. For more information, see Create and configure a new Search service application (SharePoint Server 2010).

  • User Profile synchronization - If you have not already configured User Profile synchronization, you must complete the procedures in Phase 0: Configure the farm and Phase 1: Start the User Profile Synchronization service. We also recommend that you review Plan for profile synchronization (SharePoint Server 2010) and consider a complete deployment of User Profile synchronization for best possible people search results.

  • Managed Metadata - A Managed Metadata service application must be configured. For more information, see Create, update, publish, or delete a managed metadata service application (SharePoint Server 2010). For more information, see Create a Search Center site (SharePoint Server 2010).

Each of the above listed prerequisites must be deployed before you deploy people search. People search also requires a Search Center that uses the Enterprise Search Center template.

To make people search available and useful, you must deploy people search and populate the data for people search.

Deploy people search

To deploy people search, you must configure My Sites settings and configure crawling.

Configure My Sites settings

You must configure the My Sites settings in the User Profile service application to specify the My Site Host location and to confirm other settings. Use the following procedure to configure My Sites settings.

To configure My Sites settings

  1. Verify that the user account that is performing this procedure is an administrator for the User Profile service application that you want to configure.

  2. On the SharePoint Central Administration home page, in the Application Management section, click Manage service applications.

  3. On the Manage Service Applications page, click the row that contains the User Profile service application.

  4. In the Operations group on the ribbon, click Manage.

  5. On the Manage Profile Service page, in the My Site Settings section, click Setup My Sites.

  6. In the Preferred Search Center section, in the Preferred Search Center box, ensure that the path of the Search Center site is correct.

  7. In the Search scope for finding people list, ensure that People is selected.

  8. In the Search scope for finding documents list, select the search scope that you want to use for finding documents.

    We recommend that you select the All Sites scope.

  9. In the My Site Host section, in the My Site Host location box, ensure that the path to the My Sites host is correct.

  10. In the Site Naming Format section, select the format you want to use to name new personal sites.

    The default format is User name (do not resolve conflicts).

  11. In the Language Options section, optionally choose whether to allow users to choose the language of their personal site and whether the user profile will be edited using the language of their personal site.

  12. In the Read Permission Level section, optionally enter one or more accounts that will be granted the Read permission level in the personal site when it is created.

    By default, all authenticated users are granted this permission level.

  13. In the My site E-mail Notifications section, optionally specify a different name that will appear in all e-mail notifications sent from all My Sites.

  14. Click OK.

After you have configured My Sites settings, the next step is to configure crawling.

Configure crawling

When you configure My Sites, the following updates are made to the Search service application:

  • The URL to crawl the profile store is added to the default content source.

  • The default content access account is given Retrieve People Data for Search Crawlers permissions on the User Profile service application.

We recommend that you create a separate content source to crawl the profile store on a different schedule than you use to crawl SharePoint sites.

Depending on your needs, you may want to use an account other than the default content access account to crawl the profile store. If this is the case, you must make sure that the account that you use has access to the profile store. Use the following procedure to configure crawl account access to the user profile store.

To configure crawl account access to the user profile store

  1. On the Manage Service Applications page, click the row that contains the User Profile service application, and then in the ribbon, click Administrators.

  2. In the Administrators for User Profile Service Application dialog box, in the To add an account… box, type the user account in the form domain\user name.

  3. Click Add

  4. In the Permissions list box, select the Retrieve People Data for Search Crawlers check box.

  5. Click OK.

After you have given the crawl account access to the user profile store, you must create a crawl rule to specify that you want to use that account when you crawl the user profile store. Use the following procedure to create a crawl rule.

To create a crawl rule to authenticate to the User Profile service application

  1. On the Home page of the Central Administration Web site, in the Application Management section, click Manage service applications.

  2. On the Manage Service Applications page, click Search Service Application.

  3. On the Search Administration page, in the Quick Launch, in the Crawling section, click Crawl rules.

  4. On the Manage Crawl Rules page, click New Crawl Rule.

  5. In the Path section, in the Path box, type the start address for the User Profile service application in the form sps3://<hostname>, where <hostname> is the URL for the Web application where you deployed the My Sites site collection.

  6. In the Crawl Configuration section, select Include all items in this path.

  7. In the Specify Authentication section, select Specify a different content access account.

  8. In the Account box that appears, type the user account that you gave access to the User Profile store in the form domain\user name.

  9. Type the password for the account that you specified in the Password and Confirm Password boxes.

  10. Click OK.

For more information about how to manage crawl rules, see Manage crawl rules (SharePoint Server 2010).

If you want to use a separate content source to crawl the profile store, you must create a new content source and remove the URL for the profile store from the default content source. Use the following procedure to create a new content source that specifies how to crawl the profile store.

To create a content source that specifies how to crawl the profile store

  1. Verify that the user account that is performing this procedure is an administrator for the Search service application.

  2. On the Home page of the Central Administration site, in the Application Management section, click Manage service applications.

  3. On the Manage Service Applications page, click Search Service Application.

  4. On the Search Administration page, in the Quick Launch, in the Crawling section, click Content Sources.

  5. On the Manage Content Sources page, click New Content Source.

  6. On the Add Content Source page, in the Name section, type a name for this content source.

  7. In the Content Source Type section, ensure that SharePoint Sites is selected.

  8. In the Start Addresses section, type the start address in the form sps3://<hostname>, where <hostname> is the URL for the Web application where you deployed the My Sites site collection.

  9. In the Crawl Settings section, leave the default value of Crawl everything under the host name for each start address.

  10. In the Crawl Schedules section, optionally create schedules for full and incremental crawls.

  11. In the Start Full Crawl section, select the Start full crawl of this content source check box, and then click OK.

After you have created a content source that specifies how to crawl the profile store, you must remove the URL for the profile store from the default content source to avoid duplicate crawls. Use the following procedure to remove the URL for the profile store from the default content source.

To remove the profile store URL from the default content source

  1. Verify that the user account that is performing this procedure is an administrator for the Search service application.

  2. On the Home page of the Central Administration site, in the Application Management section, click Manage service applications.

  3. On the Manage Service Applications page, click Search Service Application.

  4. On the Search Administration page, in the Quick Launch, in the Crawling section, click Content sources.

  5. On the Manage Content Sources page, click the link to the default content source (Local SharePoint sites).

  6. In the Start Addresses section, remove the URL for the profile store (sps3://<hostname>, where <hostname> is the URL for the Web application where you deployed the My Sites site collection).

  7. Click OK.

Populate data for people search

To get the best results from people search, you should add as much information as you can by adding user profiles to the profile store and adding information to My Sites.

Add user profiles to the profile store

Before you can obtain meaningful people search results, you must add user profiles to the User Profile service application. You can do this in the following ways:

  • Import user profiles from the directory service — for example, Active Directory Domain Services (AD DS) — into the new farm. For more information, see Plan for profile synchronization (SharePoint Server 2010) and Configure profile synchronization (SharePoint Server 2010).

  • Copy user profiles from the old farm to the new farm by using the User Profile Replication Engine (UPRE). The UPRE is an optional component of Microsoft SharePoint Server 2010 that is part of the SharePoint Administration Toolkit. You can download the toolkit at Microsoft SharePoint 2010 Administration Toolkit v1.0Microsoft SharePoint 2010 Administration Toolkit v1.0 (http://go.microsoft.com/fwlink/p/?LinkID=196866&clcid=0x409). For more information, see User Profile Replication Engine overview (SharePoint Server 2010).

  • Add user profiles manually.

  • Synchronize with an external data source by using the Business Data Connectivity service.

Important:

For a test environment, we recommend that you do not synchronize the profile store to a directory service or other external data source that is in a production environment. Instead, create a copy of the directory service and synchronize the copy with the profile store.

Use the following procedure to view existing user profiles.

To view a list of user profiles

  1. On the Home page of the Central Administration site, in the Application Management section, click Manage service applications.

  2. On the Manage Service Applications page, click the User Profile service application.

  3. On the Manage Profile Service Application page, in the People section, click Manage User Profiles.

  4. On the Manage User Profiles page, in the Find profiles box, type the name of the domain of which the users are members.

    Do not type the fully qualified domain name. For example, if users are members of the Contoso.com domain, type Contoso in the Find profiles box.

  5. Click Find.

Add information to My Sites

My Sites store information in the User Profile service application databases. The User Profile service application stores much of the information that appears in results for people search. The more information users add to their My Sites, the fuller people search results will be.

The first time a user accesses their My Site, a My Site is created for them and a profile is automatically added to the User Profile service application.

To add information to My Sites, log on as a user for whom a user profile has been created in the User Profile service application, and then go to that user's My Site. In the user's My Site, you can provide information about the user's expertise and interests. To see how the information that you added affects what people search results appear, perform a crawl of the profile store, and then search on the user's name.


Configure a managed metadata service application (SharePoint Server 2010)
See Also

Published: September 9, 2010

In Microsoft SharePoint Server 2010, you can configure a managed metadata service application manually or by using Windows PowerShell.

The following articles provide detailed information about how to configure a managed metadata service application and a managed metadata service connection:

  • Create, update, publish, or delete a managed metadata service application (SharePoint Server 2010)

  • Create, update, or delete a managed metadata service connection (SharePoint Server 2010)

See Also

Concepts

Managed metadata service application overview (SharePoint Server 2010)


Prepare to host sites (SharePoint Server 2010)

After you have installed Microsoft SharePoint Server 2010 and performed the initial configuration, you can begin to create SharePoint sites. Before you create a site collection, you must first create a Web application in which to create the site collection. If you want to use Kerberos authentication or claims-based authentication, you must also configure Web application authentication.

The articles in this section help you determine the hierarchy of your SharePoint sites and how to configure claims authentication and Kerberos authentication in the server farm.

  • Create a Web application (SharePoint Server 2010)

    SharePoint sites are hosted by Web applications, so you must create one or more Web applications before you can create any sites. This article covers how to create a Web application from the Central Administration Web site or by using Windows PowerShell 2.0.

  • Configure claims authentication (SharePoint Server 2010)

    This article describes how to configure a SharePoint Server 2010 claims-based Web application that will provide a claims-based sign-in and services infrastructure for your farm. The article also describes how to configure anonymous access for your claims-based Web application and how to configure your Web application zones for forms-based authentication or Web SSO authentication, as appropriate.

  • Plan for Kerberos authentication (SharePoint Server 2010)

    To deploy a server farm running SharePoint Server 2010 using Kerberos authentication, you must install and configure a variety of applications on your computers. This article describes an example server farm running SharePoint Server 2010 and provides guidance for deploying and configuring the farm to use Kerberos authentication to work in a SharePoint server farm.

  • Create a site collection (SharePoint Server 2010)

    After you have created a Web application, you can create a site collection. This article helps you create a site collection from the Central Administration Web site or by using Windows PowerShell 2.0. If you want to enable users to create their own sites, you need to configure self-service site management for the Web application.


Create a Web application (SharePoint Server 2010)
See Also

A Web application is composed of an Internet Information Services (IIS) Web site that acts as a logical unit for the site collections that you create. Before you can create a site collection, you must first create a Web application.

Each Web application is represented by a different IIS Web site with a unique or shared application pool. You can assign each Web application a unique domain name, which helps to prevent cross-site scripting attacks.

You use Web applications to isolate content. When you create a new Web application, you also create a new content database and define the authentication method used to connect to the database. In addition, you define an authentication method to be used by the IIS Web site in SharePoint Server 2010.

SharePoint Server 2010 offers two ways of authenticating users, as follows:

  • Classic mode authentication, through which users log on to a Web application by using Windows authentication. For more information, see Create a Web application that uses Windows-classic authentication (SharePoint Server 2010).

  • Claims-based authentication, through which users log on to a Web application by using Windows authentication, forms-based authentication (FBA), or Trusted Identity provider (SAML). If you use FBA or SAML, you must perform additional configuration steps. For more information about claims-based authentication, see Create claims-based web applications in SharePoint 2010.

  • Although digest authentication provides the same functionality as basic authentication, digest authentication encrypts user credentials to increase security. User credentials are sent as an MD5 message digest in which the original user name and password cannot be deciphered. For more information about Digest authentication, see Configure Digest authentication for a classic-mode Web application (SharePoint Server 2010)

  • Zones represent different logical paths for gaining access to the network services that are available within the same Web application. In some instances, you might want to configure Basic authentication for one or more zones within a Microsoft SharePoint Server 2010 classic-mode Web application. For more information, see Configure Basic authentication for a classic-mode Web application (SharePoint Server 2010).

For more information about both types of authentication, see Plan authentication methods (SharePoint Server 2010).

SharePoint Server 2010 provides a set of services applications that are available for each Web application. You can select which service applications you want to use for each Web application that you create. For more information, see Technical diagrams (SharePoint Server 2010), Define managed paths (SharePoint Server 2010), and Service application and service management (SharePoint Server 2010).

In this section:

  • Create a Web application that uses Windows-classic authentication (SharePoint Server 2010)

  • Create claims-based web applications in SharePoint 2010

See Also

Concepts

Extend a Web application (SharePoint Server 2010)
Create a site collection (SharePoint Server 2010)
Logical architecture planning (SharePoint Server 2010)

Other Resources

Configure Web Server Security (IIS 7)
Resource Center: Installation and Deployment for SharePoint Server 2010
Resource Center: Security and Authentication for SharePoint Server 2010


Create a Web application that uses Windows-classic authentication (SharePoint Server 2010)
See Also

Published: October 7, 2010

This article describes how to create a Web application that uses Windows-classic authentication.

Tip:

If you want to use Windows-claims authentication instead, see Create claims-based web applications in SharePoint 2010.

Before you perform this procedure, confirm that:

  • Your system is running Microsoft SharePoint Server 2010.

  • You have your logical architecture design in place. For more information, see Logical architecture components (SharePoint Server 2010).

  • You have planned authentication for your Web application. For more information, see Plan authentication methods (SharePoint Server 2010), Plan for Kerberos authentication (SharePoint Server 2010) and Choose security groups (SharePoint Server 2010).

  • You have selected the service applications that you want to use for your Web application. For more information, see Service application and service management (SharePoint Server 2010).

  • If you use Secure Sockets Layer (SSL), you must associate the SSL certificate with the Web application's IIS Web site after the IIS Web site has been created. For more information about setting up SSL, see How to Setup SSL on IIS 7.0 (http://go.microsoft.com/fwlink/p/?LinkId=187887).

  • You have read about alternate access mappings.

  • If you have User Account Control (UAC) turned on in Windows, and you use Windows PowerShell 2.0 to create a Web application, you must right-click the SharePoint 2010 Management Shell and select Run as administrator.

You can create a Web application by using the SharePoint Central Administration Web site or Windows PowerShell. You typically use Central Administration to create a Web application. If you want to automate the task of creating a Web application, which is common in enterprises, use Windows PowerShell. After the procedure is complete, you can create one or several site collections on the Web application that you have created.

To create a Web application that uses Windows-classic authentication by using Central Administration

  1. Verify that you have the following administrative credentials:

    • To create a Web application, you must be a member of the Farm Administrators SharePoint group and member of the local Administrator group on the computer running Central Administration.

  2. On the Central Administration Home page, in the Application Management section, click Manage web applications.

  3. On the ribbon, click New.

  4. On the Create New Web Application page, in the Authentication section, click Classic Mode Authentication.

  5. In the IIS Web Site section, you can configure the settings for your new Web application by selecting one of the following two options:

    • Click Use an existing web site, and then select the Web site on which to install your new Web application.

    • Click Create a new IIS web site, and then type the name of the Web site in the Name box.

  6. In the IIS Web Site section, in the Port box, type the port number you want to use to access the Web application. If you are creating a new Web site, this field is populated with a random port number. If you are using an existing Web site, this field is populated with the current port number.

    Note:

    The default port number for HTTP access is 80, and the default port number for HTTPS access is 443. If you want users to access the Web application without typing in a port number, they should use the appropriate default port number.

  7. Optional: In the IIS Web Site section, in the Host Header box, type the host name (for example, www.contoso.com) you want to use to access the Web application.

    Note:

    In general, this field is not set unless you want to configure two or more IIS Web sites that share the same port number on the same server, and DNS has been configured to route requests to the same server.

  8. In the IIS Web Site section, in the Path box, type the path to the IIS Web site home directory on the server. If you are creating a new Web site, this field is populated with a suggested path. If you are using an existing Web site, this field is populated with the current path of that Web site.

  9. In the Security Configuration section, configure authentication and encryption for your Web application.

    1. In the Authentication Provider section, click Negotiate (Kerberos) or NTLM.

      Note:

      To enable Kerberos authentication, you must perform additional configuration. For more information, see Plan for Kerberos authentication (SharePoint Server 2010).

    2. In the Allow Anonymous section, click Yes or No. If you choose to allow anonymous access, this enables anonymous access to the Web site by using the computer-specific anonymous access account (that is, IIS_IUSRS).

      Note:

      If you want users to be able to access any site content anonymously, you must enable anonymous access for the entire Web application zone before you enable anonymous access at the SharePoint site level; later, site owners can configure how anonymous access is used within their sites. If you do not enable anonymous access at the Web application level, you cannot enable anonymous access later, at the site level. For more information, see Choose security groups (SharePoint Server 2010).

    3. In the Use Secure Sockets Layer (SSL) section, click Yes or No. If you choose to enable SSL for the Web site, you must configure SSL by requesting and installing an SSL certificate. For more information about setting up SSL, see How to Setup SSL on IIS 7.0 (http://go.microsoft.com/fwlink/p/?LinkId=187887).

  10. In the Public URL section, type the URL for the domain name for all sites that users will access in this Web application. This URL will be used as the base URL in links shown on pages within the Web application. The default URL is the current server name and port, and is automatically updated to reflect the current SSL, host header, and port number settings on the page. If you are deploying SharePoint Server 2010 behind a load balancer or proxy server, then this URL may need to be different than the SSL, host header, and port settings on this page.

    The Zone value is automatically set to Default for a new Web application.

    Note:

    You can change the zone when you extend a Web application. For more information, see Extend a Web application (SharePoint Server 2010).

  11. In the Application Pool section, do one of the following:

    • Click Use existing application pool, and then select the application pool you want to use from the drop-down menu.

    • Click Create a new application pool, and then type the name of the new application pool or keep the default name.

    For more information, see Logical architecture components (SharePoint Server 2010).

  12. Under Select a security account for this application pool, do one of the following:

    • Click Predefined to use a predefined security account, and then select the security account from the drop-down menu.

    • Click Configurable to specify a new security account to be used for an existing application pool.

    Note:

    You can create a new account by clicking the Register new managed account link.

  13. In the Database Name and Authentication section, choose the database server, database name, and authentication method for your new Web application, as described in the following table.

    Item Action

    Database Server

    Type the name of the database server and Microsoft SQL Server instance you want to use in the format <SERVERNAME\instance>. You can also use the default entry.

    Database Name

    Type the name of the database, or use the default entry.

    Database Authentication

    Select the database authentication to use by doing one of the following:

    • If you want to use Windows authentication, leave this option selected. We recommend this option because Windows authentication automatically encrypts the password when it connects to SQL Server.

    • If you want to use SQL authentication, click SQL authentication. In the Account box, type the name of the account you want the Web application to use to authenticate to the SQL Server database, and then type the password in the Password box.

      Note:

      SQL authentication sends the SQL authentication password to the SQL Server unencrypted. We recommend that you only use SQL authentication if you force protocol encryption to the SQL Server of encrypt your network traffic by using IPsec.

  14. If you use database mirroring, in the Failover Server section, in the Failover Database Server box, type the name of a specific failover database server that you want to associate with a content database.

  15. In the Service Application Connections section, select the service application connections that will be available to the Web application. In the drop-down menu, click default or custom. You use the custom option to choose the services application connections that you want to use for the Web application.

  16. In the Customer Experience Improvement Program section, click Yes or No.

  17. Click OK to create the new Web application.

To create a Web application that uses Windows-classic authentication by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin. You also need to be a member of the local Administrators group on the computer running Windows PowerShell. In addition, some procedures require membership in the SQL Server fixed server roles dbcreator and securityadmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell command prompt, type the following command:

    Copy Code
    New-SPWebApplication -Name <Name> -ApplicationPool <ApplicationPool> -ApplicationPoolAccount <ApplicationPoolAccount> -Port <Port> -URL <URL>

    Where:

    • <Name> is the name of the new Web application.

    • <ApplicationPool> is the name of the application pool.

    • <ApplicationPoolAccount> is the user account that this application pool will run as.

    • <Port> is the port on which the Web application will be created in IIS.

    • <URL> is the public URL for the Web application.

      Example

      Copy Code
      New-SPWebApplication -Name "Contoso Internet Site" -ApplicationPool "ContosoAppPool" -ApplicationPoolAccount (Get-SPManagedAccount "DOMAIN\jdoe") -Port 80 -URL "http://www.contoso.com"

For more information, see New-SPWebApplication.

Note:

We recommend that you use Windows PowerShell when performing command-line administrative tasks. The Stsadm command-line tool has been deprecated, but is included to support compatibility with previous product versions.

See Also

Concepts

Extend a Web application (SharePoint Server 2010)
Create a site collection (SharePoint Server 2010)
Create claims-based web applications in SharePoint 2010

Other Resources

Configure Web Server Security (IIS 7)


Create claims-based web applications in SharePoint 2010
See Also

This article describes how to create a Web application that uses Windows-claims authentication.

Tip:

If you want to use Windows-classic authentication instead, see Create a Web application that uses Windows-classic authentication (SharePoint Server 2010).

Before you perform this procedure, confirm that:

  • Your system is running Microsoft SharePoint Server 2010.

  • You have your logical architecture design in place. For more information, see Logical architecture components (SharePoint Server 2010).

  • You have planned authentication for your Web application. For more information, see Plan authentication methods (SharePoint Server 2010), Plan for Kerberos authentication (SharePoint Server 2010) and Choose security groups (SharePoint Server 2010).

  • You have selected the service applications that you want to use for your Web application. For more information, see Service application and service management (SharePoint Server 2010).

  • If you use Secure Sockets Layer (SSL), you must associate the SSL certificate with the Web application's IIS Web site after the IIS Web site has been created. For more information about setting up SSL, see How to Setup SSL on IIS 7.0 (http://go.microsoft.com/fwlink/p/?LinkId=187887).

  • You have read about alternate access mappings.

  • If you have User Account Control (UAC) turned on in Windows, and you use Windows PowerShell 2.0 to create a Web application, you must right-click the SharePoint 2010 Management Shell and select Run as administrator.

You can create a Web application by using the SharePoint Central Administration Web site or Windows PowerShell. You typically use Central Administration to create a Web application. If you want to automate the task of creating a Web application, which is common in enterprises, use Windows PowerShell. After the procedure is complete, you can create one or several site collections on the Web application that you have created.

To create a Web application with Windows-claims authentication by using Central Administration

  1. Verify that you have the following administrative credentials:

    • To create a Web application, you must be a member of the Farm Administrators SharePoint group and a member of the local Administrators group on the computer running Central Administration.

  2. On the Central Administration Home page, in the Application Management section, click Manage web applications.

  3. On the ribbon, click New.

  4. On the Create New Web Application page, in the Authentication section, click Claims Based Authentication.

  5. In the IIS Web Site section, you can configure the settings for your new Web application by selecting one of the following two options:

    • Click Use an existing web site, and then select the Web site on which to install your new Web application.

    • Click Create a new IIS web site, and then type the name of the Web site in the Name box.

  6. In the IIS Web Site section, in the Port box, type the port number you want to use to access the Web application. If you are creating a new Web site, this field is populated with a random port number. If you are using an existing Web site, this field is populated with the current port number.

    Note:

    The default port number for HTTP access is 80, and the default port number for HTTPS access is 443. If you want users to access the Web application without typing in a port number, they should use the appropriate default port number.

  7. Optional: In the IIS Web Site section, in the Host Header box, type the host name (for example, www.contoso.com) you want to use to access the Web application.

    Note:

    In general, this field is not set unless you want to configure two or more IIS Web sites that share the same port number on the same server, and DNS has been configured to route requests to the same server.

  8. In the IIS Web Site section, in the Path box, type the path to the IIS Web site home directory on the server. If you are creating a new Web site, this field is populated with a suggested path. If you are using an existing Web site, this field is populated with the current path of that Web site.

  9. In the Security Configuration section, choose whether or not to use allow anonymous access and whether or not to use Secure Sockets Layer (SSL).

    1. Under Allow Anonymous, click Yes or No. If you choose to allow anonymous access, this enables anonymous access to the Web site by using the computer-specific anonymous access account (that is, IIS_IUSRS).

      Note:

      If you want users to be able to access any site content anonymously, you must enable anonymous access for the entire Web application zone before you enable anonymous access at the SharePoint site level; later, site owners can configure how anonymous access is used within their sites. If you do not enable anonymous access at the Web application level, you cannot enable anonymous access later, at the site level. For more information, see Choose security groups (SharePoint Server 2010).

    2. Under Use Secure Sockets Layer (SSL), click Yes or No. If you choose to enable SSL for the Web site, you must configure SSL by requesting and installing an SSL certificate. For more information about setting up SSL, see How to Setup SSL on IIS 7.0 (http://go.microsoft.com/fwlink/p/?LinkId=187887).

  10. In the Claims Authentication Types section, select the authentication that you want to use for the Web application.

    1. If you want to enable Windows authentication, select Enable Windows Authentication and, in the drop-down menu, select Negotiate (Kerberos) or NTLM. For more information, see Plan for Kerberos authentication (SharePoint Server 2010).

      If you do not want to use Integrated Windows authentication, clear Integrated Windows authentication.

      If you want users' credentials to be sent over a network in a nonencrypted form, select Basic authentication (password is sent in clear text).

      Note:

      You can select basic authentication or integrated Windows authentication, or both. If you select both, SharePoint Server 2010 will offer both authentication types to the client Web browser. The client Web browser then determines which type of authentication to use. If you only select basic authentication, ensure that SSL is enabled; otherwise, the credentials can be intercepted by a malicious user.

    2. If you want to enable forms-based authentication, select Enable Forms Based Authentication (FBA), and then enter the membership provider name and the role manager name in the boxes.

      For more information, see Configure forms-based authentication for a claims-based Web application (SharePoint Server 2010).

      Note:

      If you select this option, ensure that SSL is enabled; otherwise, the credentials can be intercepted by a malicious user.

    3. If you have set up Trusted Identity Provider authentication in Windows PowerShell, the Trusted Identity provider check box is selected.

      For more information, see Configure authentication using a SAML security token (SharePoint Server 2010).

    You can use one or more claims authentication types. For more information, see Plan authentication methods (SharePoint Server 2010).

  11. In the Sign In Page URL section, choose one of the following options to sign into SharePoint Server 2010:

    • Select Default Sign In Page URL if you want users to be redirected to a default sign-in Web site for claims-based authentication.

    • Select Custom Sign In page URL and then type the sign-in URL if you want users to be redirected to a customized sign-in Web site for claims-based authentication.

  12. In the Public URL section, type the URL for the domain name for all sites that users will access in this Web application. This URL will be used as the base URL in links shown on pages within the Web application. The default URL is the current server name and port, and is automatically updated to reflect the current SSL, host header, and port number settings on the page. If you are deploying SharePoint Server 2010 behind a load balancer or proxy server, then this URL may need to be different than the SSL, host header, and port settings on this page.

    The Zone value is automatically set to Default for a new Web application.

    Note:

    You can change the zone when you extend a Web application. For more information, see Extend a Web application (SharePoint Server 2010).

  13. In the Application Pool section, do one of the following:

    • Click Use existing application pool, and then select the application pool you want to use from the drop-down menu.

    • Click Create a new application pool, and then type the name of the new application pool or keep the default name.

    For more information, see Logical architecture components (SharePoint Server 2010).

  14. Under Select a security account for this application pool, do one of the following:

    • Click Predefined to use a predefined security account, and then select the security account from the drop-down menu.

    • Click Configurable to specify a new security account to be used for an existing application pool.

    Note:

    You can create a new account by clicking the Register new managed account link.

  15. In the Database Name and Authentication section, choose the database server, database name, and authentication method for your new Web application as described in the following table.

    Item Action

    Database Server

    Type the name of the database server and Microsoft SQL Server instance you want to use in the format <SERVERNAME\instance>. You can also use the default entry.

    Database Name

    Type the name of the database, or use the default entry.

    Database Authentication

    Select the database authentication to use by doing one of the following:

    • If you want to use Windows authentication, leave this option selected. We recommend this option because Windows authentication automatically encrypts the password when it connects to SQL Server.

    • If you want to use SQL authentication, click SQL authentication. In the Account box, type the name of the account you want the Web application to use to authenticate to the SQL Server database, and then type the password in the Password box.

      Note:

      SQL authentication sends the SQL authentication password to the SQL Server unencrypted. We recommend that you only use SQL authentication if you force protocol encryption to the SQL Server of encrypt your network traffic by using IPsec.

  16. If you use database mirroring, in the Failover Server section, in the Failover Database Server box, type the name of a specific failover database server that you want to associate with a content database.

  17. In the Service Application Connections section, select the service application connections that will be available to the Web application. In the drop-down menu, click default or custom. You use the custom option to choose the services application connections that you want to use for the Web application.

  18. In the Customer Experience Improvement Program section, click Yes or No.

  19. Click OK to create the new Web application.

To create a Web application that uses Windows-claims authentication by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin. You also need to be a member of the local Administrators group on the computer running Windows PowerShell. In addition, some procedures require membership in the SQL Server fixed server roles dbcreator and securityadmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. To create a Windows-claims authentication provider, at the Windows PowerShell command prompt, type the following command:

    Copy Code
    $ap = New-SPAuthenticationProvider

    To create a Web application that uses Windows-claims authentication, at the Windows PowerShell command prompt, type the following command:

    Copy Code
    $wa = New-SPWebApplication -Name <ClaimsWindowsWebApplication> -ApplicationPool <ClaimsApplicationPool> -ApplicationPoolAccount <ClaimsApplicationPoolAccount> -URL <URL> -Port <Port> -AuthenticationProvider $ap
    Note:

    We recommend that the application pool account is a managed account on the server farm.

    Where:

    • <Name> is the name of the new Web application that uses Windows claims authentication.

    • <ApplicationPool> is the name of the application pool.

    • <ApplicationPoolAccount> is the user account that this application pool will run as.

    • <URL> is the public URL for the Web application.

    • <Port> is the port on which the Web application will be created in IIS.

      Example

      Copy Code
      $ap = New-SPAuthenticationProvider
      Copy Code
      $wa = New-SPWebApplication -Name "Contoso Internet Site" -ApplicationPool "ContosoAppPool" -ApplicationPoolAccount (Get-SPManagedAccount "DOMAIN\jdoe") -URL "http://www.contoso.com" -Port 80 -AuthenticationProvider $ap

For more information, see New-SPWebApplication and New-SPAuthenticationProvider.

Note:

We recommend that you use Windows PowerShell when performing command-line administrative tasks. The Stsadm command-line tool has been deprecated, but is included to support compatibility with previous product versions.

See Also

Concepts

Extend a Web application (SharePoint Server 2010)
Create a site collection (SharePoint Server 2010)
Configure forms-based authentication for a claims-based Web application (SharePoint Server 2010)
Configure authentication using a SAML security token (SharePoint Server 2010)
Create a Web application that uses Windows-classic authentication (SharePoint Server 2010)

Other Resources

Configure Web Server Security (IIS 7)


Configure Digest authentication for a classic-mode Web application (SharePoint Server 2010)
See Also

Published: January 20, 2011

This article describes how to configure digest authentication for one or more zones within a Microsoft SharePoint Server 2010 classic-mode Web application. A Web application is an IIS Web site that SharePoint Server 2010 creates and uses. Zones represent different logical paths for gaining access to the same Web application. Within each Web application, you can create up to five zones. A different Web site in IIS represents each zone. Use zones to enforce different access and policy conditions for large groups of users. To configure digest authentication for one or more zones in a SharePoint Server 2010 Web application, use the IIS Management Console to directly configure IIS.

Although digest authentication provides the same functionality as basic authentication, digest authentication encrypts user credentials to increase security. User credentials are sent as an MD5 message digest in which the original user name and password cannot be deciphered. Digest authentication uses a challenge/response protocol that requires the authentication requestor to present valid credentials in response to a challenge from the server. To authenticate against the server, the client has to supply an MD5 message digest in a response that contains a shared secret password string. The MD5 Message-Digest Algorithm is described in detail in RFC 1321. For access to RFC 1321, see The Internet Engineering Task Force (http://go.microsoft.com/fwlink/p/?LinkId=159913).

To use digest authentication, note the following requirements:

  • The user and IIS server must be members of, or trusted by, the same domain.

  • Users must have a valid Windows user account stored in Active Directory Domain Services (AD DS) on the domain controller.

  • The domain must use a Microsoft Windows Server 2008 domain controller.

Configure IIS to enable digest authentication

Use the IIS Management Console to configure IIS to enable digest authentication for one or more of the following zones for a classic-mode Web application:

Note:

The Default zone is the zone that is first created when a Web application is created. The other zones are created by extending a Web application.

  • Default

  • Intranet

  • Extranet

To configure IIS to enable digest authentication

  1. Verify that you have one of the following administrative credentials:

    • You must be a member of the Administrators group on the server on which you are configuring IIS.

  2. On the Start menu, point to All Programs, click Administrative Tools, and then click Internet Information Services (IIS) Manager to start the IIS Management Console.

  3. Expand Sites on the console tree, right-click the IIS Web site that corresponds to the Web application zone on which you want to configure digest authentication.

  4. In Features View, double-click Authentication.

  5. On the Authentication page, select Digest Authentication.

  6. In the Actions pane, click Enable to use Digest authentication with the default settings.

  7. In the Actions pane, click Edit to enter a realm name.

  8. In the Edit Digest Authentication Settings dialog box, in the Realm text box, type the appropriate realm and click OK.

At this point, the Web site is configured to use digest authentication.

See Also

Other Resources

What is Digest Authentication? (http://go.microsoft.com/fwlink/p/?LinkId=209085)


Configure Basic authentication for a classic-mode Web application (SharePoint Server 2010)
See Also

Published: January 27, 2011

This article describes how to configure Basic authentication for one or more zones within a Microsoft SharePoint Server 2010 classic-mode Web application. A Web application is an Internet Information Services (IIS) Web site that SharePoint Server 2010 creates and uses. Zones represent different logical paths for gaining access to the network services that are available within the same Web application. Within each Web application, you can create up to five zones. A different Web site in IIS represents each zone. Use zones to enforce different access and policy conditions for large groups of users. To configure Basic authentication for one or more zones in a SharePoint Server 2010 Web application, use the IIS Management Console to directly configure IIS.

Basic authentication requires previously assigned Windows account credentials for user access. Basic authentication enables a Web browser to provide credentials when the browser makes a request during an HTTP transaction. Because user credentials are not encrypted for network transmission but are sent over the network in plaintext, we recommend that you do not use Basic authentication over an unsecured HTTP connection. To use Basic authentication, you should enable Secure Sockets Layer (SSL) encryption.

Configure IIS to enable Basic authentication

Use the IIS Management Console to configure IIS to enable Basic authentication for one or more of the following zones for a claims-based Web application:

Note:

The Default zone is the zone that is first created when a Web application is created. The other zones are created by extending a Web application.

  • Default

  • Intranet

  • Extranet

To configure IIS to enable Basic authentication

  1. Verify that you have one of the following administrative credentials:

    • You must be a member of the Administrators group on the server on which you are configuring IIS.

  2. On the Start menu, point to All Programs, click Administrative Tools , and then click Internet Information Services (IIS) Manager to start the IIS Management Console.

  3. Expand Sites on the console tree, right-click the IIS Web site that corresponds to the Web application zone on which you want to configure Basic authentication.

  4. In Features View, double-click Authentication.

  5. On the Authentication page, select Basic Authentication.

  6. In the Actions pane, click Enable to use Basic authentication with the default settings.

  7. In the Actions pane, click Edit to enter a realm name.

  8. In the Edit Basic Authentication Settings dialog box, in the Realm text box, type the appropriate realm and click OK.

At this point, the Web site is configured to use Basic authentication.

See Also

Concepts

Create a Web application that uses Windows-classic authentication (SharePoint Server 2010)


Configure claims authentication (SharePoint Server 2010)
See Also

In this section:

  • Create claims-based web applications in SharePoint 2010

  • Configure anonymous access for a claims-based Web application (SharePoint Server 2010)

  • Configure forms-based authentication for a claims-based Web application (SharePoint Server 2010)

  • Configure Kerberos authentication for the claims to Windows token service (SharePoint Server 2010)

  • Configure authentication using a SAML security token (SharePoint Server 2010)

  • Configure claims-based authentication using Windows Live ID (SharePoint Server 2010)

  • Configure Digest authentication for a claims-based Web application (SharePoint Server 2010)

  • Configure Basic authentication for a claims-based Web application (SharePoint Server 2010)

  • Configure Client Certificate Authentication (SharePoint Server 2010)

See Also

Other Resources

Resource Center: Installation and Deployment for SharePoint Server 2010


Configure anonymous access for a claims-based Web application (SharePoint Server 2010)
See Also

Administrators can configure anonymous access, which is not enabled by default, for a claims-based Web application.

This article is obsolete.

For information about how to configure anonymous access for a claims-based Web application, see Create claims-based web applications in SharePoint 2010.

See Also

Concepts

Plan authentication methods (SharePoint Server 2010)
Choose security groups (SharePoint Server 2010)


Configure forms-based authentication for a claims-based Web application (SharePoint Server 2010)
See Also

Procedures in this article illustrate how to configure a forms-based Web application to use an LDAP provider.

The procedures in this article provide guidance to enable you to configure forms-based authentication for a Microsoft SharePoint Server 2010 claims-based Web application. If you need to migrate an existing Microsoft Office SharePoint Server 2007 Web application from forms-based authentication to claims-based authentication in SharePoint Server 2010, see Migrate from forms-based authentication to claims-based authentication (SharePoint Server 2010).

  • Configure a forms-based Web application to use an LDAP provider by using Central Administration

  • Configure the LDAP Web.Config files

  • Configure a forms-based Web application to use an LDAP provider by using Windows PowerShell

Configure a forms-based Web application to use an LDAP provider by using Central Administration

Perform the steps in the following procedure to use Central Administration to configure forms-based authentication for a claims-based Web application.

To configure forms-based authentication for a claims-based Web application by using Central Administration

  1. Verify that the user account that is performing this procedure is a site collection administrator.

  2. In Central Administration, in the Application Management section, click Manage web applications.

  3. In the Contribute group of the ribbon, click New.

  4. In the Authentication section of the Create New Web Application dialog box, click Claims Based Authentication.

  5. In the Claims Authentication Types section, select Enable Forms Based Authentication (FBA).

  6. Type a membership provider name and a role manager name. In the example Web.Config file depicted in this article, the name of the membership provider is membership, and the name of the role manager is rolemanager.

  7. Click OK to create the Web application.

Configure the LDAP Web.Config files

After you have successfully created the Web application (described in the preceding procedure), modify the following Web.Config files:

  • The Central Administration Web application Web.Config file

  • The Security Token Service Web.Config file

  • The forms-based authentication claims-based Web application Web.Config file

To configure the Central Administration Web.Config file

  1. Start IIS Manager by typing INETMGR at a command prompt.

  2. Go to the SharePoint Central Administration site in IIS.

  3. Right-click SharePoint Central Administration and then click Explore.

  4. Open the Web.Config file.

  5. Find the <Configuration> <system.web> section and add the following entry:

Copy Code
<membership defaultProvider="AspNetSqlMembershipProvider">
      <providers>
        <add name="membership"
             type="Microsoft.Office.Server.Security.LdapMembershipProvider, Microsoft.Office.Server, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c"
             server="yourserver.com"
             port="389"
             useSSL="false"
             userDNAttribute="distinguishedName"
             userNameAttribute="sAMAccountName"
             userContainer="OU=UserAccounts,DC=internal,DC=yourcompany,DC= distinguishedName (of your userContainer)"
             userObjectClass="person"
             userFilter="(ObjectClass=person)"
             scope="Subtree"
             otherRequiredUserAttributes="sn,givenname,cn" />
      </providers>
    </membership>
    <roleManager enabled="true" defaultProvider="AspNetWindowsTokenRoleProvider" >
      <providers>
        <add name="roleManager"
             type="Microsoft.Office.Server.Security.LdapRoleProvider, Microsoft.Office.Server, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c"
             server="yourserver.com"
             port="389"
             useSSL="false"
             groupContainer="DC=internal,DC=yourcompany,DC= distinguishedName (of your groupContainer)"
             groupNameAttribute="cn"
             groupNameAlternateSearchAttribute="samAccountName"
             groupMemberAttribute="member"
             userNameAttribute="sAMAccountName"
             dnAttribute="distinguishedName"
             groupFilter="((ObjectClass=group)"
             userFilter="((ObjectClass=person)"
             scope="Subtree" />
      </providers>
 </roleManager>
Important:

After you have added the preceding entry, save and close the Web.Config file.

To configure the Security Token Service Web.Config file

  1. Start IIS Manager by typing INETMGR at a command prompt.

  2. Go to the SharePoint Web Services site.

  3. Go to the SecurityTokenServiceApplication sub-site.

  4. Right-click SecurityTokenServiceApplication and then click Explore.

  5. Open the Web.Config file.

  6. Find the <Configuration> <system.web> section and add the following entry:

Copy Code
<membership>
      <providers>
        <add name="membership"
             type="Microsoft.Office.Server.Security.LdapMembershipProvider, Microsoft.Office.Server, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c"
             server="yourserver.com"
             port="389"
             useSSL="false"
             userDNAttribute="distinguishedName"
             userNameAttribute="sAMAccountName"
             userContainer="OU=UserAccounts,DC=internal,DC=yourcompany,DC=com"
             userObjectClass="person"
             userFilter="(&amp;(ObjectClass=person))"
             scope="Subtree"
             otherRequiredUserAttributes="sn,givenname,cn" />
      </providers>
    </membership>
    <roleManager enabled="true" >
      <providers>
        <add name="rolemanager"
             type="Microsoft.Office.Server.Security.LdapRoleProvider, Microsoft.Office.Server, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c"
             server="yourserver.com"
             port="389"
             useSSL="false"
             groupContainer="DC=internal,DC=yourcompany,DC=com"
             groupNameAttribute="cn"
             groupNameAlternateSearchAttribute="samAccountName"
             groupMemberAttribute="member"
             userNameAttribute="sAMAccountName"
             dnAttribute="distinguishedName"
             groupFilter="(&amp;(ObjectClass=group))"
             userFilter="(&amp;(ObjectClass=person))"
             scope="Subtree" />
      </providers>
    </roleManager>
Important:

After you have added the preceding entry, save and close the Web.Config file.

To configure the forms-based authentication claims-based Web application Web.Config file

  1. Start IIS Manager by typing INETMGR at a command prompt.

  2. Go to the Claims Forms site.

  3. Right-click Claims Forms and then click Explore.

  4. Open the Web.Config file.

  5. Find the <Configuration> <system.web> section.

  6. Find the <membership defaultProvider="i"> section and add the following entry:

Copy Code
<add name="membership"
             type="Microsoft.Office.Server.Security.LdapMembershipProvider, Microsoft.Office.Server, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c"
             server="yourserver.com"
             port="389"
             useSSL="false"
             userDNAttribute="distinguishedName"
             userNameAttribute="sAMAccountName"
             userContainer="OU=UserAccounts,DC=internal, DC=yourcompany,DC=com"
             userObjectClass="person"
             userFilter="(&amp;(ObjectClass=person))"
             scope="Subtree"
             otherRequiredUserAttributes="sn,givenname,cn" />

Find the <roleManager defaultProvider="c" enabled="true" cacheRolesInCookie="false"> section and add the following entry:

Copy Code
<add name="roleManager"
             type="Microsoft.Office.Server.Security.LdapRoleProvider, Microsoft.Office.Server, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c"
             server="yourserver.com"
             port="389"
             useSSL="false"
             groupContainer="DC=internal,DC=yourcompany,DC=com"
             groupNameAttribute="cn"
             groupNameAlternateSearchAttribute="samAccountName"
             groupMemberAttribute="member"
             userNameAttribute="sAMAccountName"
             dnAttribute="distinguishedName"
             groupFilter="(&amp;(ObjectClass=group))"
             userFilter="(&amp;(ObjectClass=person))"
             scope="Subtree" />
Important:

After you have added the preceding entry, save and close the Web.Config file.

Warning:

Do not overwrite any existing entries in this Web.Config file.

Configure a forms-based Web application to use an LDAP provider by using Windows PowerShell

Perform the steps in the following procedure to use Windows PowerShell to configure forms-based authentication for a claims-based Web application.

To configure a forms-based Web application to use an LDAP provider by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. From the Windows PowerShell command prompt, type the following:

    Copy Code
    $ap = New-SPAuthenticationProvider -Name "ClaimsForms" -ASPNETMembershipProvider "membership" -ASPNETRoleProviderName "rolemanager"
$wa = New-SPWebApplication -Name "Claims Windows Web App" -ApplicationPool "Claims App Pool" -ApplicationPoolAccount "internal\appool"
  -Url http://servername -Port 80 -AuthenticationProvider $ap
    Note:

    The value of the ApplicationPoolAccount parameter must be a managed account on the farm.

  6. After you have successfully created an authentication provider and a Web application, modify the following Web.Config files by using the sample entries provided in the Configure the LDAP Web.Config files section of this article:

    • To configure the Central Administration Web.Config file

    • To configure the Security Token Service Web.Config file

    • To configure the forms-based authentication claims-based Web application Web.Config file

  7. After you have modified the Web.Config files, create a SPClaimsPrincipal and a site collection, as shown in the following example:

    Copy Code
    $cp = New-SPClaimsPrincipal -Identity "membership:SiteOwner" -IdentityType FormsUser
$sp = New-SPSite http://servername:port -OwnerAlias $cp.Encode() -Template "STS#0"

    For more information, see New-SPClaimsPrincipal.

Note:

We recommend that you use Windows PowerShell when performing command-line administrative tasks. The Stsadm command-line tool has been deprecated, but is included to support compatibility with previous product versions.

See Also

Concepts

Migrate from forms-based authentication to claims-based authentication (SharePoint Server 2010)

Other Resources

Resource Center: Security and Authentication for SharePoint Server 2010


Configure Kerberos authentication for the claims to Windows token service (SharePoint Server 2010)
See Also

This article is obsolete.

For information about how to configure Kerberos authentication, see Configuring Kerberos Authentication for Microsoft SharePoint 2010 Products and Technologies (white paper). (http://go.microsoft.com/fwlink/p/?LinkID=197178) white paper.

See Also

Concepts

Plan authentication methods (SharePoint Server 2010)

Other Resources

Resource Center: Installation and Deployment for SharePoint Server 2010


Configure authentication using a SAML security token (SharePoint Server 2010)
See Also

The procedures in this article explain how to configure authentication using a Security Assertion Markup Language (SAML) security token for a Microsoft SharePoint Server 2010 claims-based Web application.

SAML sign-in is typically used in enterprise federation scenarios, for example, to provide access to a business partner. SAML sign-in is also deployed to provide access to internal users whose accounts reside in a domain that is not part of the forest that contains SharePoint Server 2010.

Before you configure authentication using a SAML security token for a SharePoint Server 2010 claims-based Web application, you must configure an identity provider that supports WS-Federation, such as Active Directory Federation Services (AD FS) 2.0. For information about configuring a server to run AD FS 2.0, see the AD FS 2.0 Deployment Guide (http://go.microsoft.com/fwlink/p/?LinkId=191723).

In this article:

  • Configure an Identity Provider STS (IP-STS) Web application by using Windows PowerShell

  • Configure a Relying Party STS (RP-STS) Web application

  • Establish a trust relationship with an Identity Provider STS (IP-STS) by using Windows PowerShell

  • Export the trusted IP-STS certificate by using Windows PowerShell

  • Define a unique identifier for claims mapping by using Windows PowerShell

  • Create a new SharePoint Web application and configure it to use SAML sign-in

  • Enable token replay protection

Configure an Identity Provider STS (IP-STS) Web application by using Windows PowerShell

Perform the following procedures to use Windows PowerShell to configure a SharePoint claims-based Web application.

To configure an Identity Provider STS (IP-STS) Web application by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. From the Windows PowerShell command prompt, create an x509Certificate2 object, as shown in the following example:

    Copy Code
    $cert = New-Object
System.Security.Cryptography.X509Certificates.X509Certificate2("path to cert file")

  6. Create a claim type mapping to use in your trusted authentication provider, as shown in the following example:

    Copy Code
    New-SPClaimTypeMapping "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress"
-IncomingClaimTypeDisplayName "EmailAddress" -SameAsIncoming

  7. Create a trusted login provider by first creating a value for the realm parameter, as shown in the following example:

    Copy Code
    $realm = "urn:" + $env:ComputerName + ":domain-int"

  8. Create a value for the signinurl parameter that points to the Security Token Service Web application, as shown in the following example:

    Copy Code
    $signinurl = "https://test-2/FederationPassive/"

  9. Create the trusted login provider, using the same IdentifierClaim value as in a claim mapping ($map1.InputClaimType), as shown in the following example:

    Copy Code
    $ap = New-SPTrustedIdentityTokenIssuer -Name
"WIF" -Description "Windows® Identity Foundation" -Realm
$realm -ImportTrustCertificate $cert
-ClaimsMappings $map1[,$map2..] -SignInUrl
$signinurl -IdentifierClaim $map1.InputClaimType

  10. Create a Web application by first creating a value for the application pool account (for the current user), as shown in the following example:

    Copy Code
    $account = "DOMAIN\" + $env:UserName
    Note:

    The application pool account must be a managed account. To create a managed account, use New-SPManagedAccount.

  11. Create a value for the Web application URL ($webappurl = "https://" + $env:ComputerName), as shown in the following example:

    Copy Code
    $wa = New-SPWebApplication -name "Claims WIF"
-SecureSocketsLayer -ApplicationPool "SharePoint SSL"
-ApplicationPoolAccount $account -Url $webappurl -Port 443
-AuthenticationProvider $ap

  12. Create a site by first creating a claim object, as shown in the following example:

    Copy Code
    $claim = New-SPClaimsPrincipal
-TrustedIdentityTokenIssuerr $ap -Identity
$env:UserName

  13. Create a site, as shown in the following example:

    Copy Code
    $site = New-SPSite $webappurl -OwnerAlias
$claim.ToEncodedString() -template "STS#0"

Configure a Relying Party STS (RP-STS) Web application

Use the procedure in this section to configure a relying-party STS Web application.

To configure a Relying Party STS (RP-STS) Web application

  1. Open the Active Directory Federation Services (AD FS) 2.0 Management console.

  2. In the left pane, expand Policy, and select Relying Parties.

  3. In the right pane, click Add Relying Party. This opens the Active Directory Federation Services (AD FS) 2.0 configuration wizard.

  4. On the first page of the wizard, click Start.

  5. Select Enter relying party configuration manually, and click Next.

  6. Type a relying party name and click Next.

  7. Make sure Active Directory Federation Services (AD FS) 2.0 Server Profile is selected, and click Next.

  8. Do not use an encryption certificate. Click Next.

  9. Select Enable support for Web-browser-based identity federation.

  10. Type the name of the Web application URL, and append /_trust/ (for example: https://servername/_trust/). Click Next.

  11. Type the name of an identifier (for example: urn:COMPUTERNAME:Geneva), and click Add. Click Next.

  12. On the Summary page, click Next and then click Close. This opens the Rules Editor Management console. Use this console to configure the mapping of claims from an LDAP Web application to SharePoint.

  13. In the left pane, expand New Rule, and select Predefined Rule.

  14. Select Create Claims from LDAP Attribute Store.

  15. In the right pane, from the Attribute Store drop-down list, select Enterprise Active Directory User Account Store.

  16. Under LDAP Attribute, select sAMAccountName.

  17. Under Outgoing Claim Type, select E-Mail Address.

  18. In the left pane, click Save.

Establish a trust relationship with an Identity Provider STS (IP-STS) by using Windows PowerShell

Use the procedure in this section to establish a trust relationship with an IP-STS.

To establish a trust relationship with an IP-STS by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. From the Windows PowerShell command prompt, establish a trust relationship, as shown in the following example:

    Copy Code
    $waurl = "https://" + $env:ComputerName
$title = "SAML-Claims"

Export the trusted IP-STS certificate by using Windows PowerShell

Use the procedure in this section to export the certificate of the IP-STS with which you want to establish a trust relationship, and then copy the certificate to a location that Microsoft SharePoint Server 2010 can access.

To export the trusted IP-STS certificate by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. From the Windows PowerShell command prompt, export the trusted IP-STS certificate, as shown in the following example:

    Copy Code
    $cert = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2("c:\geneva.cer")

Define a unique identifier for claims mapping by using Windows PowerShell

Use the procedure in this section to define an e-mail address that will serve as a unique identifier for claims mapping. Typically, the administrator of the trusted STS will have to provide this information because only the owner of the STS knows which value in the token will be always unique for each user. Note that the administrator of the trusted STS can create a URI to represent the e-mail address.

To define a unique identifier for claims mapping by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. From the Windows PowerShell command prompt, create a mapping, as shown in the following example:

    Copy Code
    $map = New-SPClaimTypeMapping -IncomingClaimType "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress" -IncomingClaimTypeDisplayName "EmailAddress" -SameAsIncoming

Create a new authentication provider

Use the procedure in this section to create a new authentication provider that the Web application will use.

To create a new authentication provider by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. From the Windows PowerShell command prompt, create a new authentication provider, as shown in the following example. Note that the realm is the parameter used by the trusted STS to identify a specific SharePoint farm.

    Copy Code
    $realm = "urn:" + $env:ComputerName + ":Geneva"
$ap = New-SPTrustedIdentityTokenIssuer -Name "Geneva" -Description "Geneva" -Realm $realm -ImportTrustCertificate $cert -ClaimsMappings $map -SignInUrl "https:// test-2/FederationPassive/" -IdentifierClaim "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress"

Create a new SharePoint Web application and configure it to use SAML sign-in

In this step, you create and configure the Web application.

To create a new SharePoint Web application and configure it to use SAML sign-in by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. From the Windows PowerShell command prompt, create a new SharePoint Web application and configure it to use SAML sign-in. Note that you must replace "WebAppUrl" and "domain\admin" with the valid values.

    Copy Code
    $wa = New-SPWebApplication -Name "SAML Sign-In" -SecureSocketsLayer -ApplicationPool "SAML Sign-In" -ApplicationPoolAccount "domain\admin" -
Url "WebAppUrl" -Port 443 -AuthenticationProvider $ap
    Note:

    You are enabling SSL, because with SAML sign-in, cookies are used as the single sign-on ticket for the user. This allows administrators to grant access to the SharePoint resources for the duration of the token without the need of re-authenticate the user. Without SSL, these cookies can be easily hijacked by a malicious user and be used to impersonate the original user.

When you have completed these procedures, create a SharePoint site and assign an owner. For information about creating a SharePoint site, see Create a site collection (SharePoint Server 2010).

Enable token replay protection

To provide additional security for web applications that use SAML-based claims authentication, you can use the token replay detection feature. Token replay protection can prevent an attacker from trying to intercept and use a user's security token. For more information, see Replay Detection.

Use the procedure in this section to enable replay detection on a web application that is configured for SAML claims authentication.

To enable replay protection

  1. On the server running , open the Internet Information Services (IIS) Manager snap-in.

  2. In the console tree of Internet Information Services (IIS) Manager, right-click the site that corresponds to the name of the web application, and then click Explore.

  3. In the folder window, double-click the Web.Config file.

  4. In the <Configuration> section, find the <microsoft.identityModel> section.

  5. Add the following as a new section to the <microsoft.identityModel> section:

    Copy Code
    <service>
    <tokenReplayDetection enabled="true" capacity="<NumberOfTokensToBeCached>" expirationPeriod="<TokenCacheExpiration>">
</service>

    in which:

    • <NumberOfTokensToBeCached> is the number of tokens to store in the token replay detection cache.

    • <TokenCacheExpiration> is the time after which a token in the replay detection cache is removed, in <hours>:<minutes>:<seconds> format.

  6. Save your changes to the Web.Config file.

For important considerations about enabling token replay protection in a load-balanced environment, see ACS Security Guidelines.

See Also

Other Resources

Resource Center: Security and Authentication for SharePoint Server 2010


Configure claims-based authentication using Windows Live ID (SharePoint Server 2010)
See Also

Published: September 9, 2010

Claims-based authentication in Microsoft SharePoint Server 2010 can delegate authentication to the Windows Live ID Security Token Service (STS). This is important if you want to implement a scenario in which you use Windows Live ID for password management. The Windows Live ID service is configured as the identity provider for SharePoint Server 2010. A one-way, certificate-based trust relationship is established between SharePoint Server 2010 and the Windows Live ID service. When a user provides Windows Live ID credentials, the Windows Live ID service returns a Passport Unique Identity (PUID) and e-mail information encapsulated in a Security Assertion Markup Language (SAML) version 1.1 claims token. The Windows Live ID public key, which is part of Windows Live ID Metadata XML, encrypts this claims token.

For more information about Windows Live ID, refer to the following resources:

  • Introduction to Windows Live ID (http://go.microsoft.com/fwlink/?LinkId=201477)

  • Microsoft Federation Gateway (http://go.microsoft.com/fwlink/?LinkId=150843)

  • Windows Live Developer Center (http://go.microsoft.com/fwlink/?LinkId=191075)

The Windows Live ID cookie is cached on the client computer and sent to SharePoint Server 2010 by way of a POST response to a successful authentication request. SharePoint Server 2010 converts the Windows Live ID SAML token to a SharePoint Server 2010 SAML token. The PUID for the user is generated based on the user principal name (UPN) claim returned in the SAML token. This value is used throughout SharePoint Server 2010 to uniquely identify the user and perform access control. SharePoint Server 2010 can augment user tokens with additional claims by using a custom claims provider, which is configured in the SharePoint Server 2010 Web application. The SharePoint Server 2010 cookie is also returned to the client computer and cached for subsequent requests. When the Windows Live ID or SharePoint Server 2010 cookie expires, the user is redirected to a Windows Live ID server.

In this article:

  • Configure the Windows Live ID Security Token Service

  • Configure SharePoint for Windows Live ID authentication

  • Convert a Windows Live ID internal environment to a production environment

  • Create different types of SharePoint claims-based Web applications

  • Grant permissions to all Windows Live ID authenticated users

Configure the Windows Live ID Security Token Service

The WS-Federation protocol is implemented by the Windows Live ID service, and provides the infrastructure of the Live ID STS that is designated as a trusted identity provider. You can extract a Windows Live ID public certificate from a metadata XML X509Certificate node and save it to an Internet security certificate with a .cer file extension. If the metadata XML contains multiple X509Certificate nodes, you can use any of them. Provide read access to the SharePoint Server 2010 farm application pool account in Internet security certificate (.cer file).

Configure the Microsoft Services Manager (MSM) using the following values:

Value | Description
Domain Name | The domain name for which authentication requests to the Live ID STS will be generated. Use a Fully Qualified Domain Name (FQDN).
Default Return URL | The URL that the Windows Live ID STS will redirect a user to after successful authentication, for example: https://username.global.corp.contoso.com/_trust/default.aspx.
DNS Name | The unique identifier provided in an authentication request to the Windows Live ID STS. This unique identifier enables look-up functionality for the Default Return URL. The DNS Name must correspond to the realm value specified in Windows Live ID authentication request.
WRealm Parameter | The WRealm parameter must match the DNS field in the MSM Site configuration. The WRealm parameter must be created by using one of the following formats: sub.domain.top or Urn:domain:name.
Override Authentication Policy | Configure the Override Authentication Policy by using the following value: MBI_FED_SSL.

Configure SharePoint for Windows Live ID authentication

Use the procedures in this section to configure SharePoint Server 2010 for Windows Live ID authentication.

To configure SharePoint for Windows Live ID authentication by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. From the Windows PowerShell command prompt (that is, PS C:\>), define the realm value to match the DNS Name value specified in the Microsoft Services Manager. The realm value in Windows Live ID integration should correspond to the correct DNS name, as shown in the following example:

    Copy Code
    $realm = "urn:" + $env:ComputerName + ":ServerName"

  6. Get the PUID value of the account that you will use as the Farm Administrator account by first signing in to following Web site: Windows Live ID(https://accountservices.passport-int.net/?ru=https://accountservices.passport-int.net/Credentials.srf%3Fvv%3D750%26mkt%3DEN-US%26lc%3D1033&vv=750&mkt=EN-US&lc=1033&id=10), and then locating the Unique ID field on the Credentials page.

  7. Specify the PUID value using the following format: PUID@live.com.

  8. Locate one of the <X509Certificate> nodes in the following source: Metadata XML URL (https://nexus.passport-int.com/federationmetadata2/2007-06/federationmetadata.xml).

  9. Copy the contents of either of the two X509Certificate nodes, as shown in the following example:

    Copy Code
    MIICWzCCAcSgAwIBAgIJAJEzHoaEodSoMA0GCSqGSIb3DQEBBQUAMCkxJzAlBgNV
BAMTHkxpdmUgSUQgU1RTIFNpZ25pbmcgUHVibGljIEtleTAeFw0wODEwMzAyMjA5
MjNaFw0xMzEwMjkyMjA5MjNaMCkxJzAlBgNVBAMTHkxpdmUgSUQgU1RTIFNpZ25p
bmcgUHVibGljIEtleTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEArz97XPae
GNAC4UnKl5zReyhgk3Bzf08U+CgD0R9+GZOahmpakJXFpI213gQWiHrUGaMN9nsK
4kzSfDPiquAMsV6vBYyWuPLZ0XrMzTAOV/WHSK3bCsYWWQZeH9Xn8G1Hkz+gQSC/
92lBbq9oBCZfLv3OlkobOmT8d+ldRKGU4pUCAwEAAaOBijCBhzAdBgNVHQ4EFgQU
VbJyIcGL0AjB4/Wm4DqUZux6uUkwWQYDVR0jBFIwUIAUVbJyIcGL0AjB4/Wm4DqU
Zux6uUmhLaQrMCkxJzAlBgNVBAMTHkxpdmUgSUQgU1RTIFNpZ25pbmcgUHVibGlj
IEtleYIJAJEzHoaEodSoMAsGA1UdDwQEAwIBxjANBgkqhkiG9w0BAQUFAAOBgQAO
/5vGfu+Vg1TKBuxsAIMqjqKXX7aRrANNZM/5ACdwAUtMDG/n8INoXgOKr851fbF6
4yBesmFjg2TbR8y0/ITAD+d+iyEpR7IO3/is9rWAj4ggbw8yqaDWn26eh3bAdoa+
p38qtqJHkUGF5vApeHiu6zO573bKs+nXcKVM8mNbjA==

  10. Paste the contents of either X509Certificate node into a new Notepad file and save the Notepad file with the following file name: LiveID-INT.cer.

  11. Configure the Windows Live ID certificate (extracted from metadata XML), as shown in the following example:

    Copy Code
    $certloc = "C:\LiveIDWithSAML\LiveID-INT.cer"

  12. Define a new trusted root authority in SharePoint Server 2010, as shown in the following example:

    Copy Code
    $rootcert = Get-PfxCertificate $certloc
New-SPTrustedRootAuthority "NewRootAuthority" -Certificate $rootcert | Out-Null

  13. Create an object with a Windows Live ID certificate, as shown in the following example:

    Copy Code
    $cert = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2($certloc)

  14. Define the claim you will use as the unique identifier of the user. Map the UPN claim to the reserved claim name Identifier. The e-mail Address claim can also be mapped, as shown in the following example:

    Copy Code
    $map1 = New-SPClaimTypeMapping -IncomingClaimType "http://schemas.xmlsoap.org/claims/EmailAddress" -IncomingClaimTypeDisplayName "http://schemas.xmlsoap.org/claims/EmailAddress" -SameAsIncoming
$map2 = New-SPClaimTypeMapping -IncomingClaimType "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier" -IncomingClaimTypeDisplayName "UPN" -LocalClaimType "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn"

  15. Create a new SharePoint Server 2010 authentication provider for a new Web application, as shown in the following example:

    Copy Code
    $apSAML = New-SPTrustedIdentityTokenIssuer -Name "LiveID" -Description "LiveID" -Realm $realm -ImportTrustCertificate $cert -ClaimsMappings $map1,$map2 -SignInUrl "https://login.live-int.com/login.srf" -IdentifierClaim "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier"

  16. Create a new SharePoint Server 2010 Web application to use with the authentication provider created in the previous step, as shown in the following example:

    Copy Code
    $waurl = https://" + $env:ComputerName - You might use FQDN url of your site here.
$title = "Site Title"
$waexe = New-SPWebApplication -Name $title -ApplicationPool $title -ApplicationPoolAccount $owner -Url $waurl -AuthenticationProvider
$scexe = New-SPSite $siteurl -Name $title -Description $title -Template 'STS#1' -OwnerAlias

  17. Start IIS Manager by typing INETMGR at a command prompt.

  18. Go to the Claims Web Application site in IIS.

  19. In the left pane, right-click Claims Web Application, and select Edit Bindings.

  20. Select https and click Edit.

  21. Under SSL Certificate, select any listed certificate. Consider using a self-signed certificate.

  22. Import the Windows Live ID public certificate to the Local computer, SharePoint Server 2010, and Trusted People folders.

Convert a Windows Live ID internal environment to a production environment

Use the procedures in this section to convert a Windows Live ID internal environment to a production environment.

To convert a Windows Live ID internal environment to a production environment

  1. Make sure the site is migrated to a production environment in MSM, and that compliance is complete. A compliance review is not required if the Windows Live ID environment in MSM is internal.

  2. Make sure that the authentication policy of the Windows Live ID production environment is configured with the following value: MBI_FED_SSL.

  3. Make sure that the Windows Live ID production environment uses HTTPS-based URLs because the production environment authentication policy is configured for SSL transport. The production environment sites send POST requests over SSL to https://login.live.com. In the SPTrustedIdentityTokenIssuer there is a Provider URI that should be the live login URI. Make sure the live logon URI is HTTPS-based.

  4. If the Windows Live ID claims provider is configured to use an e-mail address instead of a PUID, the production environment site should be in the Microsoft policy group. Be aware that this policy group is auto-approved for internal partners, and explicit approval is required for external partners.

Create different types of SharePoint claims-based Web applications

Use the procedures in this section to run a Windows PowerShell script to create different types of SharePoint Server 2010 claims-based Web applications.

To create different types of SharePoint claims-based Web applications by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. From the Windows PowerShell command prompt, run the DeployLiveIdWithSAML script, as shown in the following example:

    Copy Code
    #.SYNOPSIS
#    Script for creating different types of claims web applications from the Windows PowerShell command line.
#.DESCRIPTION
#    Script will create ANON, WIN, FBA, MULTI, MIXED, SAML and combinations of these web applications.
#.NOTES
#    Script: ClaimsWA.ps1
#    Remark: The script will load/unload additional snap-ins depending on where it's being executed from.
#    Update: 1/15/2010 (v2.0)
#.PARAMETER type
#   Indicates the type of claims web app to create (see examples for full list of valid supported types)
#If not specified, this will default to ALL and each of the supported types of claims web apps will be created
#.PARAMETER port
#   Indicates the port number to create the web app on (See reserved ports at http://support.microsoft.com/kb/832017)
#If not specified, this will default to port 201 and will be incremented in sequence for multiple web apps
#.PARAMETER owner
#   Indicates the domain account that will be used for App Pool (should be registered as a SharePoint Server managed account)
#If not specified, this will default to logged on user and will use USERDOMAIN & USERNAME environment values
#.EXAMPLE
#   claimswa.ps1 WIN (create WIN-claims web app at port# 201 and use logged on user for app pool account)
#
#   Here are some more examples of HOWTO use the script:
#      claimswa.ps1 ANON (create ANON web app at port# 201)
#      claimswa.ps1 ANON/FBA 701 (create ANON/FBA web app at port# 701)
#      claimswa.ps1 FBA (create FBA web app at port# 201 using LDAP provider; default is REDMOND instance)
#      claimswa.ps1 FBA/IBM (create FBA web app at port# 201 using LDAP provider pointing to the IBM instance)
#      claimswa.ps1 FBA/SQL 851 (create forms-based authentication web app at port# 851 using SQL provider)
#      claimswa.ps1 WIN/FBA/MIXED 501 (create Windows/forms-based authentication mixed-mode web apps at port# 501)
#      claimswa.ps1 WIN/SAML/MULTI 901 (create Windows/SAML multi-auth web apps at port# 901)
#
#   Here is the full list of all the support TYPEs (combine options delimited with slash for your config):
#
#   Basic auth types:
#      WIN   : create Windows claims web application on the port# specified on command line
#      FBA   : create forms-based authentication claims web apps with the specified membership provider (SQL Server/LDAP listed below)
#      SAML  : create SAML-claims web application on the default HTTPS port# 443
#      ANON  : indicator switch for creating the web application to allow ANON mode
#   Complex auth types:
#      MULTI : create claims web application with multiple auth types using a single URL to access
#      MIXED : create claims web application with multiple auth types using multiple URLs to access
#   FBA membership/rolemanager providers
#      RED   : use the REDMOND domain LDAP provider; this is the default setting if a provider is not specified
#      SQL   : use the SQL Server provider for connecting to forms-based authentication web apps (connects to the ASPNETDB instance on ZADANG)
#      PPL   : use the PEOPLEDC domain LDAP provider that is a private domain used for testing PEOPLE features
#      SUN   : use the SUNOne LDAP provider in the PEOPLEDC domain which is used for profile import/sync testing
#      IBM   : use the IBM LDAP provider in the PEOPLEDC domain which is used for profile import/sync testing
#      NVL   : use the Novell LDAP provider in the PEOPLEDC domain which is used for profile import/sync testing

# TODO (no specific ETA for these updates):
#    1. Set the default IIS cert bindings for SAML web
#    2. Use IIS CMDlets instead of updating XML object
#    3. We should be able to define MixedMode base auth
#    4. Use the domain for logged on user for LDAP string
#    5. Do not attempt to write to CA/STS if running on WFE

# Define the args list that we will accept & work with
param ([string]$type, [int]$port, [string]$owner)

function main() {
    # Valid options list
    $auths  = @("WIN", "FBA", "SAML", "ANON")
    $extnd  = @("MULTI", "MIXED")
    $provs  = @("SQL", "RED", "PPL", "SUN", "IBM", "NVL")
    $optns  = @("APP", "FIX")
    $typeOK = $true

    # Do we have the minimum args data before we can proceed
    # I'm not doing extensive validation but at least minimum
    foreach ($arg in $type.split("/")) {
        if (($auths+$extnd+$optns+$provs) -notcontains $arg) {
            write-host -Fore Red "`nInvalid TYPE argument was specified; execution aborted!`nTo see a list of valid TYPEs, execute with -examples option`n"
            $typeOK=$false; break
        }
    }

    if ($typeOK) {
        $type = @($type.toupper().split("/") | Sort | Get-Unique)
        switch ($type.count) {
            1 {
                foreach ($arg in $type) {
                    if (($auths+$extnd+$optns) -notcontains $arg) {
                        write-host -Fore Red "`nInvalid AUTH argument was specified; execution aborted!`nTo see a list of valid AUTHs, execute with -examples option`n"
                        $typeOK=$false; break
                    }
                }
                if (($type -eq "MULTI") -or ($type -eq "MIXED")) {
                    $type += @("WIN", "FBA"); write-host -Fore Yellow "MULTI/MIXED auth combo not specified; defaulting to $type"
                }
                if ($type -eq "ANON") {
                    $type += @("WIN"); write-host -Fore Yellow "ANON auth combo not specified; defaulting to $type"
                }
            }

            2 {
                if ($type -contains "ANON") {
                    foreach ($arg in $type) {
                        if ($auths -notcontains $arg) {
                            write-host -Fore Red "`nInvalid ANON combo was specified; execution aborted!`nTo see a list of valid PROVIDERs, execute with -examples option`n"
                            $typeOK=$false; break
                        }
                    }
                }
                else {
                    $multiOK=$true
                    foreach ($arg in $type) {
                        if ($auth -notcontains $arg) {
                            $multiOK=$false; break
                        }
                    }
                    if ($multiOK) {$type += @("MULTI"); write-host -Fore Yellow "Multiple auth types specified; defaulting to $type"}
                }
            }
        }

        if (($type -contains "MULTI") -or ($type -contains "MIXED") -and ($type.count -lt 3)) {
            write-host -Fore Red "`nMULTI/MIXED option requires 2 base auth types be specified!`nTo see a list of valid TYPEs, execute with -examples option`n"
            $typeOK=$false
        }
    }

    if ($typeOK) {
        # We seem to have the TYPE argument, let's check the others

        if (-not $port) {
            if ($type -contains "SAML") {$port=443} else {$port=201}
            write-host -Fore Yellow "PORT not specified; defaulting to $port"
        }

        if (-not $owner) {
            $owner = $env:UserDomain + "\" + $env:UserName.tolower()
            write-host -Fore Yellow "OWNER not specified; defaulting to $owner"
        }

        #In case somebody attempts to execute this script in the regular PS/ISE console,
        #let's load the IIS/SP snap-in to ensure we have everything we need to work with
        Manage-SnapIns (1)

        # check what flavor of SERVER we're running
        $product = Get-SPProduct | Where-Object {$_.ProductName.contains("SharePoint Server 2010")};
        if ($product.ProductName.contains("Debug")) {$flavor="DEBUG"} else {$flavor="SHIP"}
        write-host -Fore Green "Detected $flavor flavor of MOSS installed on this farm!"

        if ($type -contains "APP") {
            Write-WEBConfigs 0 "APP"
        }
        elseif ($type -contains "FIX") {
            Fix-Environment
        }
        else {
            Create-WebApp $type $port
        }

        # We're done with the snap-ins, so let's unload them
        Manage-SnapIns (0)
    }
}

function Fix-Environment {
    # This is just a series of steps to clean up
    # Not recommended to use unless you know why!
    Remove-SPTrustedRootAuthority NewRootAuthority
    Remove-SPTrustedIdentityTokenIssuer ServerName

    # I need to add the other clean up stuff here...
}

# This is the core script block that creates the different web apps
function Create-WebApp ([string]$type, [int]$port) {
    $waurl = http://" + $env:ComputerName

    if ($type.contains("SAML")) { $waurl = $waurl.replace("http", "https") }
    $siteurl = $waurl + ":" + $port
    $title = "ClaimsWA-$port-" + $type.replace(" ","-")

    # Let's construct the WA/SC CMDlet call that we'll invoke later
    $waexe = "New-SPWebApplication -Name $title -ApplicationPool $title -ApplicationPoolAccount $owner -Url $waurl -AuthenticationProvider"
    $scexe = "New-SPSite $siteurl -Name $title -Description $title -Template 'STS#1' -OwnerAlias"

    write-host -Fore Cyan "`nSetting up $title on port $port now:"

    if ($type.contains("WIN")) {
        $apWIN = New-SPAuthenticationProvider -DisableKerberos:$true
        $cpWIN = New-SPClaimsPrincipal -Identity $owner -IdentityType 1
    }

    if ($type.contains("FBA")) {
        if ($type.contains("SQL")) {
            $membership="SQLms"; $rolemanager="SQLrm"; $identity = "sqlms:user1"
        }
        elseif ($type.contains("PPL")) {
            $membership="PPLms"; $rolemanager="PPLrm"; $identity = "pplms:fbauser1"
        }
        elseif ($type.contains("SUN")) {
            $membership="SUNms"; $rolemanager="SUNrm"; $identity = "sunms:fbauser1"
        }
        elseif ($type.contains("IBM")) {
            $membership="IBMms"; $rolemanager="IBMrm"; $identity = "ibmms:fbauser1"
        }
        elseif ($type.contains("NVL")) {
            $membership="NVLms"; $rolemanager="NVLrm"; $identity = "nvlms:fbauser1"
        }
        else {
            $membership="REDms"; $rolemanager="REDrm"; $identity = ("redms:$env:UserName").tolower()
        }

        $apFBA = New-SPAuthenticationProvider -ASPNETMembershipProvider $membership -ASPNETRoleProviderName $rolemanager;
        $cpFBA = New-SPClaimsPrincipal -Identity $identity -IdentityType 4
    }

    if ($type.contains("SAML")) {
        $realm = "urn:" + $env:ComputerName + ":ServerName"
        $user  = "000300008448E34D@live.com"
        $certloc = "C:\LiveIDWithSAML\LiveID-INT.cer"

        $rootcert = Get-PfxCertificate $certloc
        New-SPTrustedRootAuthority "NewRootAuthority" -Certificate $rootcert | Out-Null

       $cert = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2($certloc)
       $map1 = New-SPClaimTypeMapping -IncomingClaimType "http://schemas.xmlsoap.org/claims/EmailAddress" -IncomingClaimTypeDisplayName "http://schemas.xmlsoap.org/claims/EmailAddress" -SameAsIncoming
       $map2 = New-SPClaimTypeMapping -IncomingClaimType "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier" -IncomingClaimTypeDisplayName "UPN" -LocalClaimType "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn"

       $apSAML = New-SPTrustedIdentityTokenIssuer -Name "LiveID" -Description "LiveID" -Realm $realm -ImportTrustCertificate $cert -ClaimsMappings $map1,$map2 -SignInUrl "https://login.live-int.com/login.srf" -IdentifierClaim "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier"
       $cpSAML = New-SPClaimsPrincipal -TrustedIdentityTokenIssuer $apSAML -Identity $user.tolower()
    }

    if ($type.contains("WIN")) {
        $waexe += " `$apWIN"; $scexe += " `$cpWIN.ToEncodedString()"
    }
    elseif ($type.contains("FBA")) {
        $waexe += " `$apFBA"; $scexe += " `$cpFBA.ToEncodedString()"
    }
    else {
        $waexe += " `$apSAML -SecureSocketsLayer"; $scexe += " `$cpSAML.ToEncodedString()"
    }

    if ($type.contains("MULTI")) {
        if ($type.contains("WIN")) {
            if ($type.contains("FBA")) {
                $waexe += ",`$apFBA"; $scexe += " -SecondaryOwnerAlias `$cpFBA.ToEncodedString()"
            }
            if ($type.contains("SAML")) {
                $waexe += ",`$apSAML -SecureSocketsLayer"; if (!$scexe.contains("Secondary")) { $scexe += " -SecondaryOwnerAlias `$cpSAML.ToEncodedString()" }
            }
        }
        else {
            $waexe += ",`$apSAML -SecureSocketsLayer"; $scexe += " -SecondaryOwnerAlias `$cpSAML.ToEncodedString()"
        }
    }

    # Check if we're creating the ANON web apps
    if ($type.contains("ANON")) { $waexe += " -AllowAnonymousAccess" }

    $waexe += " -Port $port | Out-Null"; $scexe += " | Out-Null"

    write-host -Fore Cyan "Deploying app..." -noNewLine
    Invoke-Expression $waexe

    # We could do this with a simple if/else but there may be other auth types too
    if ($type.contains("WIN"))  { Create-UserPolicy $siteurl $cpWIN.ToEncodedString()  }
    if ($type.contains("FBA"))  { Create-UserPolicy $siteurl $cpFBA.ToEncodedString()  }
    if ($type.contains("SAML")) { Create-UserPolicy $siteurl $cpSAML.ToEncodedString() }

    write-host -Fore Cyan "Creating site..." -noNewLine
    Invoke-Expression $scexe

    # If this is the ANON web app, then set the root site access to entire web
    if ($type.contains("ANON")) { $web = Get-SPWeb $siteurl; $web.AnonymousState="On"; $web.Update() }

    # At this time, let's also check if it's going to be a MixedMode web app
    if ($type.contains("MIXED")) {
        # If it's a Mixed-Mode web app we need to extend the base app to another auth type too
        $port++; write-host -Fore Cyan "Extending port $port..." -noNewLine
        $waurl = $waurl.replace("https", "http")
        $waexe = "Get-SPWebApplication $siteurl | New-SPWebApplicationExtension -Name $title-Ext -Zone `"Intranet`" -URL $waurl -Port $port -AuthenticationProvider"
        if ($type.contains("WIN")) {
            if ($type.contains("FBA")) { $waexe += " `$apFBA" } else { $waexe += " `$apSAML" }
        }
        else {
            $waexe += " `$apSAML"
        }
        Invoke-Expression $waexe
    }

    # If we've created a FBA web app, then it's time to update the CA/STS/FBA web.config files
    if ($type.contains("FBA")) { Write-WEBConfigs 0 $port.tostring() }; write-host -Fore Cyan "done!"
}

function Create-UserPolicy ([string]$weburl, [string]$encodeduser) {
    $webapp = Get-SPWebApplication $weburl
    $policy = $webapp.Policies.Add($encodeduser, "ClaimsWA.ps1 User")
    $role = $webapp.PolicyRoles.GetSpecialRole([Microsoft.SharePoint.Administration.SPPolicyRoleType]::FullControl)
    $policy.PolicyRoleBindings.Add($role)
    $webapp.Update()
}

function Write-WEBConfigs ([int]$begin, [string]$vroot) {
    # For now I'm using the XML object to load/save the config files
    # Eventually we should use the IIS:CMDlets from WebAdministration

    write-host -Fore Cyan "Writing WEBConfig..." -noNewLine
    #$filei = "\\back\scratch\suntoshs\backup\webconfigs.xml"
    $filei = "\\back\scratch\suntoshs\scripts\oobinstall\webconfigs.xml"

    $xmli = [xml](get-content $filei)
    $root = $xmli.get_DocumentElement()

    for ($j=$begin; $j -le 2; $j++) {
        if ($j -eq 0) {
            [void][reflection.assembly]::LoadWithPartialName("Microsoft.SharePoint")
            $fileo = [Microsoft.SharePoint.Administration.SPAdministrationWebApplication]::Local.IisSettings.get_Item(0).Path.FullName + "\web.config"
        }
        elseif ($j -eq 1) {
            $fileo = $env:CommonProgramFiles + "\Microsoft Shared\Web Server Extensions\14\WebServices\SecurityToken\web.config"
            if ($flavor -eq "DEBUG") { $fileo = $fileo.replace("Shared", "Shared Debug") }
        }
        else {
            if ($vroot -ne "APP") { $fileo = $env:HomeDrive + "\inetpub\wwwroot\wss\VirtualDirectories\$vroot\web.config" }
        }

        $xmlo = [xml](get-content $fileo)
        $perf = $xmlo.CreateElement("clear")

        if ($flavor -eq "DEBUG") {
            $ship = $root.config[1].tokens.token[0].value
            $debug = $root.config[1].tokens.token[1].value
            $token = $root.config[0]["system.web"].membership.providers.add[0].type
            $root.config[0]["system.web"].membership.providers.add[0].SetAttribute("type", $token.replace($ship,$debug)) | Out-Null
            $token = $root.config[0]["system.web"].rolemanager.providers.add[0].type
            $root.config[0]["system.web"].rolemanager.providers.add[0].SetAttribute("type", $token.replace($ship,$debug)) | Out-Null
        }

        if ($j -eq 0) {
            # Update the CA web config
            if (-not $xmlo.SelectSingleNode("/configuration/connectionStrings")) {
                $xmlo.configuration["system.web"].membership.ParentNode.RemoveChild($xmlo.configuration["system.web"].membership) | Out-Null
                $xmlo.configuration["system.web"].roleManager.ParentNode.RemoveChild($xmlo.configuration["system.web"].roleManager) | Out-Null
                $xmlo.SelectSingleNode("/configuration").AppendChild($xmlo.ImportNode($root.config[0]["connectionStrings"], $true)) | Out-Null
                $xmlo.SelectSingleNode("/configuration/system.web").AppendChild($xmlo.ImportNode($root.config[0]["system.web"].membership, $true)) | Out-Null
                $xmlo.SelectSingleNode("/configuration/system.web/membership/providers").PrependChild($xmlo.ImportNode($perf, $true)) | Out-Null
                $xmlo.SelectSingleNode("/configuration/system.web").AppendChild($xmlo.ImportNode($root.config[0]["system.web"].rolemanager, $true)) | Out-Null
                $xmlo.SelectSingleNode("/configuration/system.web/roleManager/providers").PrependChild($xmlo.ImportNode($perf, $true)) | Out-Null
            }
        }
        elseif ($j -eq 1) {
            # Update the STS web config
            if (-not $xmlo.SelectSingleNode("/configuration/system.web")) {
                $xmlo.SelectSingleNode("/configuration").AppendChild($xmlo.ImportNode($root.config[0]["connectionStrings"], $true)) | Out-Null
                $xmlo.SelectSingleNode("/configuration").AppendChild($xmlo.ImportNode($root.config[0]["system.web"], $true)) | Out-Null
            }
        }
        else {
            # Update the FBA web config
            if ($vroot -ne "APP") {
                if ($type.contains("PPL")) {$provider=1} elseif ($type.contains("SUN")) {$provider=2} elseif ($type.contains("IBM")) {$provider=3} elseif ($type.contains("NVL")) {$provider=4} elseif ($type.contains("SQL")) {$provider=5} else {$provider=0}
                $xmlo.SelectSingleNode("/configuration").AppendChild($xmlo.ImportNode($root.config[0]["connectionStrings"], $true)) | Out-Null
                $xmlo.SelectSingleNode("/configuration/system.web/membership/providers").PrependChild($xmlo.ImportNode($root.config[0]["system.web"].membership.providers.add[$provider], $true)) | Out-Null
                $xmlo.SelectSingleNode("/configuration/system.web/membership/providers").PrependChild($xmlo.ImportNode($perf, $true)) | Out-Null
                $xmlo.SelectSingleNode("/configuration/system.web/roleManager/providers").PrependChild($xmlo.ImportNode($root.config[0]["system.web"].rolemanager.providers.add[$provider], $true)) | Out-Null
                $xmlo.SelectSingleNode("/configuration/system.web/roleManager/providers").PrependChild($xmlo.ImportNode($perf, $true)) | Out-Null
            }
        }
        $xmlo.Save($fileo)
    }
}

function Manage-SnapIns ([int]$action) {
    #The OWSTimer process always causes an update conflict (known bug) while
    #creating multiple web apps; let's temporarily shut it down until we're done

    if ($action -eq 1) { Stop-Service "SPTimerV4" }

    # We need to do this only if we're running on ISE so check it
    if ($host.name.contains("ISE")) {
        if ($action -eq 1) {
            write-host -Fore Yellow "Detecting host and loading dependent snap-ins..."
            # Add-PSSnapIn WebAdministration (later!)
            Add-PSSnapIn Microsoft.Sharepoint.PowerShell
        }
        else {
            write-host -Fore Yellow "Unloading dependent snap-ins loaded earlier on..."
            # Remove-PSSnapIn WebAdministration (later!)
            Remove-PSSnapIn Microsoft.Sharepoint.PowerShell
        }
    }
    if ($action -eq 0) {Start-Service "SPTimerV4"; write-host -Fore Yellow "`nAll done; if there were errors please research PS database for known issues!`n"}
}

main

  6. Start IIS Manager by typing INETMGR at a command prompt.

  7. Go to the Claims Web Application site in IIS.

  8. In the left pane, right-click Claims Web Application, and select Edit Bindings.

  9. Select https and click Edit.

  10. Under SSL Certificate, select any listed certificate. Consider using a self-signed certificate.

  11. Import the Windows Live ID public certificate to the Local computer, SharePoint Server 2010, and Trusted People folders.

  12. Perform IIS reset and browse the site URL.

Grant permissions to all Windows Live ID authenticated users

Use the procedures in this section to grant permissions to all Windows Live Id authenticated users.

To grant permissions to all Windows Live ID authenticated users

  1. Browse to the SharePoint Server 2010 site that you created and log on using the administrator account.

  2. On the Site Actions menu click Site Settings.

  3. In the Users and Permissions section, click Site Permissions.

  4. Click Site Name Visitors group, where Site Name is the name of the site.

  5. Click New, and then click Add Users.

  6. In the Grant Permissions window, click the browse icon.

  7. In the Select People and Groups window, click All Users, and then click All Users (LiveIDSTS) in the right pane.

  8. Click Add.

  9. Click OK.

  10. Verify that All Users (LiveIDSTS) is now part of the visitor's group. You should now be able to log on to the SharePoint Server 2010 site with any other Live ID user's credentials.

About the author

Birendra Acharya is a Senior Software Design Engineer for MSIT at Microsoft.

See Also

Other Resources

Understanding WS-Federation (http://go.microsoft.com/fwlink/p/?LinkId=192377)


Configure Client Certificate Authentication (SharePoint Server 2010)
See Also

Published: March 10, 2011

Client Certificate Authentication enables Web-based clients to establish their identity to a server and provides an additional layer of security for your network.

Note:

For more information about Client Certificate Authentication, see Certificate-based Authentication Protocols (http://go.microsoft.com/fwlink/p/?LinkId=212507).

Microsoft SharePoint Server 2010 does not provide built-in support for Client Certificate Authentication, but Client Certificate Authentication is available through integration with Active Directory Federation Services (AD FS) 2.0, or any third-party identity management system that supports standard security protocols such as claims-based authentication, WS-Trust, WS-Federation, and SAML 1.1.

Note:

For more information about SharePoint Server 2010 protocol requirements, see SharePoint Front-End Protocols (http://go.microsoft.com/fwlink/p/?LinkId=212509).

SharePoint Server 2010 makes it possible to use a variety of Security Token Services (STS) through claims-based authentication. If you use claims-based authentication and you configure AD FS 2.0 as your STS, SharePoint Server 2010 can support any Identity Provider that is trusted by AD FS 2.0, including Client Certificate Authentication.

Note:

For more information about AD FS 2.0, see Active Directory Federation Services Overview (http://go.microsoft.com/fwlink/p/?LinkId=212512).

In the following model, an administrator needs to configure SharePoint Server 2010 as a relying partner for an Identity Provider STS. (This example uses AD FS 2.0 for the STS, but you can also use a third-party STS.) AD FS 2.0 can authenticate user accounts via several different types of authentication methods: forms-based authentication, Active Directory Domain Services (AD DS), client certificates, and smart cards. When you configure SharePoint Server 2010 as a relying partner for an STS, SharePoint Server 2010 trusts the accounts that the STS validates, which is how SharePoint Server 2010 supports Client Certificate Authentication.

SharePoint Server 2010 with ADFS 2.0

Configure Client Certificate Authentication

The following topics explain how to configure SharePoint Server 2010 with Client Certificate authentication or Smart Card authentication by using AD FS 2.0 as your STS.

Note:

The required steps will be similar for a third-party STS.

  • Configure AD FS 2.0 or third-party STS to support CBA, and thereby Client Certificate authentication or Smart Card authentication.

    For information on making these configuration changes, see AD FS 2.0 - How to change the local authentication type (http://go.microsoft.com/fwlink/p/?LinkId=212513).

  • Configure SharePoint Server 2010 as relying party in AD FS 2.0 or third-party STS.

    For information on making these configuration changes using AD FS 2.0, see Configuring SharePoint 2010 and AD FS v2 End to End (http://go.microsoft.com/fwlink/p/?LinkID=207629).

  • Configure the Identity Provider STS, for example AD FS 2.0, inside SharePoint Server 2010 as a trusted identity provider.

    For information on making these configuration changes using AD FS 2.0, see Configure authentication using a SAML security token (SharePoint Server 2010).

  • Create a Web application that uses Claims-Based Authentication with a SAML security token, and thereby Client Certificate authentication or Smart Card authentication.

    For information on creating a Web application that uses SAML security tokens, see Configure authentication using a SAML security token (SharePoint Server 2010).

See Also

Concepts

Configure the security token service (SharePoint Server 2010)
Configure authentication using a SAML security token (SharePoint Server 2010)

Other Resources

Planning and Architecture: AD FS 2.0 (http://go.microsoft.com/fwlink/p/?LinkId=212521)
AD FS 2.0 Deployment Guide (http://go.microsoft.com/fwlink/p/?LinkId=212520)
Using Active Directory Federation Services 2.0 in Identity Solutions (http://go.microsoft.com/fwlink/p/?LinkID=209776)
Configure SharePoint as relying party in ADFS 2.0 or third-party STS (http://go.microsoft.com/fwlink/?LinkID=207629)


Configure Digest authentication for a claims-based Web application (SharePoint Server 2010)
See Also

Published: January 20, 2011

This article describes how to configure digest authentication for one or more zones within a Microsoft SharePoint Server 2010 claims-based Web application. A Web application is an IIS Web site thatSharePoint Server 2010 creates and uses. Zones represent different logical paths for gaining access to the same Web application. Within each Web application, you can create up to five zones. A different Web site in IIS represents each zone. Use zones to enforce different access and policy conditions for large groups of users. To configure digest authentication for one or more zones in a SharePoint Server 2010 Web application, use the IIS Management Console to directly configure IIS.

Although digest authentication provides the same functionality as basic authentication, digest authentication encrypts user credentials to increase security. User credentials are sent as an MD5 message digest in which the original user name and password cannot be deciphered. Digest authentication uses a challenge/response protocol that requires the authentication requestor to present valid credentials in response to a challenge from the server. To authenticate against the server, the client has to supply an MD5 message digest in a response that contains a shared secret password string. The MD5 Message-Digest Algorithm is described in detail in RFC 1321. For access to RFC 1321, see The Internet Engineering Task Force (http://go.microsoft.com/fwlink/p/?LinkId=159913).

To use digest authentication, note the following requirements:

  • The user and IIS server must be members of, or trusted by, the same domain.

  • Users must have a valid Windows user account stored in Active Directory Domain Services (AD DS) on the domain controller.

  • The domain must use a Microsoft Windows Server 2008 domain controller.

Configure IIS to enable digest authentication

Use the IIS Management Console to configure IIS to enable digest authentication for one or more of the following zones for a claims-based Web application:

Note:

The Default zone is the zone that is first created when a Web application is created. The other zones are created by extending a Web application.

  • Default

  • Intranet

  • Extranet

To configure IIS to enable digest authentication

  1. Verify that you have one of the following administrative credentials:

    • You must be a member of the Administrators group on the server on which you are configuring IIS.

  2. On the Start menu, point to All Programs, click Administrative Tools , and then click Internet Information Services (IIS) Manager to start the IIS Management Console.

  3. Expand Sites on the console tree, right-click the IIS Web site that corresponds to the Web application zone on which you want to configure digest authentication.

  4. In Features View, double-click Authentication.

  5. On the Authentication page, select Digest Authentication.

  6. In the Actions pane, click Enable to use Digest authentication with the default settings.

  7. In the Actions pane, click Edit to enter a realm name.

  8. In the Edit Digest Authentication Settings dialog box, in the Realm text box, type the appropriate realm and click OK.

At this point, the Web site is configured to use digest authentication.

See Also

Other Resources

What is Digest Authentication? (http://go.microsoft.com/fwlink/p/?LinkId=209085)


Configure Basic authentication for a claims-based Web application (SharePoint Server 2010)

Published: January 20, 2011

This article describes how to configure basic authentication for one or more zones within a Microsoft SharePoint Server 2010 claims-based Web application. A Web application is an Internet Information Services (IIS) Web site that SharePoint Server 2010 creates and uses. Zones represent different logical paths for gaining access to the network services that are available within the same Web application. Within each Web application, you can create up to five zones. A different Web site in IIS represents each zone. Use zones to enforce different access and policy conditions for large groups of users. To configure basic authentication for one or more zones in a SharePoint Server 2010 Web application, use the IIS Management Console to directly configure IIS.

Basic authentication requires previously assigned Windows account credentials for user access. Basic authentication enables a Web browser to provide credentials when the browser makes a request during an HTTP transaction. Because user credentials are not encrypted for network transmission but are sent over the network in plaintext, we do not recommend using basic authentication over an unsecured HTTP connection. To use basic authentication, you should enable Secure Sockets Layer (SSL) encryption.

Configure IIS to enable basic authentication

Use the IIS Management Console to configure IIS to enable basic authentication for one or more of the following zones for a claims-based Web application:

Note:

The Default zone is the zone that is first created when a Web application is created. The other zones are created by extending a Web application.

  • Default

  • Intranet

  • Extranet

To configure IIS to enable basic authentication

  1. Verify that you have one of the following administrative credentials:

    • You must be a member of the Administrators group on the server on which you are configuring IIS.

  2. On the Start menu, point to All Programs, click Administrative Tools , and then click Internet Information Services (IIS) Manager to start the IIS Management Console.

  3. Expand Sites on the console tree, right-click the IIS Web site that corresponds to the Web application zone on which you want to configure Basic authentication.

  4. In Features View, double-click Authentication.

  5. On the Authentication page, select Basic Authentication.

  6. In the Actions pane, click Enable to use Basic authentication with the default settings.

  7. In the Actions pane, click Edit to enter a realm name.

  8. In the Edit Basic Authentication Settings dialog box, in the Realm text box, type the appropriate realm and click OK.

At this point, the Web site is configured to use basic authentication.

For information about creating a claims-based Web application in SharePoint Server 2010, see Create claims-based web applications in SharePoint 2010.

If you want credentials of users to be sent over a network in a form that is not encrypted, select Basic authentication (password is sent in clear text).

Security Note:

You can select basic authentication or integrated Windows authentication, or both. If you select both, SharePoint Server 2010 will offer both authentication types to the client Web browser. The client Web browser then determines the type of authentication to use. If you only select basic authentication, ensure that SSL is enabled; otherwise, the credentials can be intercepted by a malicious user.


Create a site collection (SharePoint Server 2010)
See Also

A site collection is a group of Web sites that have the same owner and share administration settings, for example, permissions. When you create a site collection, a top-level site is automatically created in the site collection. You can then create one or more subsites below the top-level site.

A site collection must exist within a Web application. You can create a site collection based on an existing Web application, or you can create a Web application and then create a site collection within that application. For more information, see Create a Web application (SharePoint Server 2010).

If your Web application is for a single project or for use by a single team, you should use a single site collection to avoid the overhead of managing multiple sites. However, complex solutions benefit from multiple site collections because it is easier to organize content and manage permissions for each site collection. For example, because there is no built-in navigation from one site collection to another, having multiple site collections can provide an additional layer of security for site content.

SharePoint provides site templates in the following categories: collaboration, meetings, enterprise, publishing, and custom. When you create a site collection, you select the template that matches what you want the site to do. For example, choose the Publishing Portal template if you want to create a large intranet site that has many more readers than contributors.

Before you create a site collection, ensure that the following prerequisites are available:

  • A Web application in which to create the site collection.

  • A quota template, if you plan to define values that specify how much data can be stored in a site collection and the storage size that triggers an e-mail alert to the site collection administrator. For more information, see Create, edit, and delete quota templates (SharePoint Server 2010).

  • A custom managed wildcard path, if you plan to create the site collection somewhere other than under the root (/) directory or the /sites/ directory. For more information, see Define managed paths (SharePoint Server 2010).

In this article:

Create a site collection by using Central Administration

Create a site collection by using Windows PowerShell

Create a site collection by using Central Administration

You typically use the Central Administration Web site to create a site collection in a stand-alone deployment.

To create a site collection by using Central Administration

  1. Verify that you have the following administrative credentials:

    • To create a site collection, you must be a member of the Farm Administrators SharePoint group on the computer that is running the SharePoint Central Administration Web site.

  2. On the Central Administration Web site, in the Application Management section, click Create site collections.

  3. On the Create Site Collection page, in the Web Application section, if the Web application in which you want to create the site collection is not selected, on the Web Application menu click Change Web Application, and then click the Web application in which you want to create the site collection.

  4. In the Title and Description section, type the title and description for the site collection.

  5. In the Web Site Address section, select the path to use for your URL (for example, a wildcard inclusion path such as /sites/, or the root directory (/).

    If you select a wildcard inclusion path, you must also type the site name to use in your site's URL.

  6. In the Template Selection section, in the Select a template list, select the template that you want to use for the top-level site in the site collection, or click the Custom tab to create an empty site and apply a template later.

  7. In the Primary Site Collection Administrator section, type the user name (in the form DOMAIN\username) for the user who will be the site collection administrator.

  8. In the Secondary Site Collection Administrator section, type the user name for the secondary administrator of the site collection.

    Designating a secondary site collection administrator is a best practice to ensure that someone can manage the site collection when a primary site collection administrator is not present.

  9. If you are using quotas to manage storage for site collections, in the Quota Template section, click a template in the Select a quota template list.

  10. Click OK.

Create a site collection by using Windows PowerShell

You typically use Windows PowerShell to create a site collection when you want to automate the task, which is common in enterprises.

To create a site collection by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. From the Windows PowerShell command prompt (that is, PS C:\>), type the following command and press ENTER:

    Copy Code
    Get-SPWebTemplate
$template = Get-SPWebTemplate "STS#0"
New-SPSite -Url "<URL for the new site collection>" -OwnerAlias "<domain\user>" -Template $template

    This example retrieves a list of all available site templates and then creates a site collection by using the Team Site template. For more information, see New-SPSite and Get-SPWebTemplate.

    We recommend that you use Windows PowerShell when performing command-line administrative tasks. The Stsadm command-line tool has been deprecated, but is included to support compatibility with previous product versions.

See Also

Other Resources

Resource Center: Installation and Deployment for SharePoint Server 2010


Configure Kerberos authentication for SharePoint 2010 Products (white paper)
See Also

Published: July 15, 2010

This document gives you information that will help you understand the concepts of identity in Microsoft SharePoint 2010 Products, how Kerberos authentication plays a very important role in authentication and delegation scenarios, and the situations where Kerberos authentication should be used or may be required in solution designs. Scenarios include business intelligence implementations which secure access to external data sources such as SQL Server.

The document also shows how to configure Kerberos authentication end-to-end within your environment, including scenarios that use various service applications in Microsoft SharePoint Server. Additional tools and resources are described to help you test and validate Kerberos configuration. The "Step-by-Step Configuration" sections of this document cover the following scenarios for SharePoint Server 2010.

  • Scenario 1: Core Configuration

  • Scenario 2: Kerberos Authentication for SQL OLTP

  • Scenario 3: Identity Delegation for SQL Analysis Services

  • Scenario 4: Identity Delegation for SQL Reporting Services

  • Scenario 5: Identity Delegation for Excel Services

  • Scenario 6: Identity Delegation for PowerPivot for SharePoint

  • Scenario 7: Identity Delegation for Visio Services

  • Scenario 8: Identity Delegation for PerformancePoint Services

  • Scenario 9: Identity Delegation for Business Connectivity Services

Two options

The information about Configuring Kerberos authentication for SharePoint 2010 Products is available in two forms:

  • You can download the white paper in .doc format: Configuring Kerberos Authentication for Microsoft SharePoint 2010 Products and Technologies (http://go.microsoft.com/fwlink/p/?LinkId=196600) (7.3 MB)

  • All the same information is available as a set of articles here in the TechNet Library. To begin, see: Overview of Kerberos authentication for Microsoft SharePoint 2010 Products

See Also

Other Resources

Resource Center: Installation and Deployment for SharePoint Server 2010
Resource Center: Security and Authentication for SharePoint Server 2010


Uninstall SharePoint Server 2010
See Also

Published: July 15, 2010

This article describes how to uninstall Microsoft SharePoint Server 2010.

You remove SharePoint Server 2010 by uninstalling it from Control Panel. When you uninstall SharePoint Server 2010, most files and subfolders located in the installation folders are removed. However, Web.config files, index files, log files, and customizations that you might have are not automatically removed when you uninstall SharePoint Server 2010. Also, Microsoft SQL Server databases are detached, but are not removed from the database server. If you uninstall a single server that has a built-in database, Microsoft SQL Server Express is not removed. When you uninstall SharePoint Server 2010, all user data remains in the database files.

Before you perform this procedure, confirm that you have uninstalled any language packs that you might have on the server.

Uninstall SharePoint Server 2010

Use this procedure to uninstall SharePoint Server 2010.

To uninstall SharePoint Server 2010

  1. Verify that you are a member of the Farm Administrators group or a member of the Administrators group on the local computer.

  2. On the computer that runs SharePoint Server 2010, log on as a local or domain administrator.

  3. Click Start, and then click Control Panel.

  4. In the Programs area, click Uninstall a program.

  5. In the Uninstall or change a program dialog box, click Microsoft SharePoint Server 2010.

  6. Click Change.

  7. On the Change your installation of Microsoft SharePoint Server 2010 page, click Remove, and then click Continue. A confirmation message appears.

  8. Click Yes to remove SharePoint Server 2010. A warning message appears.

  9. Click OK to continue. A confirmation message appears.

  10. Click OK.

    You might be prompted to restart the server.

Note:

If you did not remove the language template packs before you uninstalled and then reinstalled SharePoint Server 2010, you must run Repair from the SharePoint Products Configuration Wizard for each language template pack on the server. After the repair operation is complete, you must restart the server. Finally, complete the language template pack configuration by running the SharePoint Products Configuration Wizard.

See Also

Concepts

Add a Web or application server to the farm (SharePoint Server 2010)
Remove a server from the farm (SharePoint Server 2010)
Hardware and software requirements (SharePoint Server 2010)
Deploy a single server with a built-in database (SharePoint Server 2010)
Deploy a single server with SQL Server (SharePoint Server 2010)
Multiple servers for a three-tier farm (SharePoint Server 2010)
Deploy language packs (SharePoint Server 2010)


Deploy customizations - overview (SharePoint Server 2010)
See Also

The articles in this chapter describe how to deploy site elements that have been customized by developers or Web designers in a Microsoft SharePoint Server 2010 environment.

In this article:

  • Process overview

  • Before you begin

  • About the two kinds of customizable site elements

  • Deploying developed site elements

  • Deploying authored site elements

Process overview

Deploying customizations can be quite complex, particularly because there are many deployment methods available in SharePoint Server 2010, and the advantages of using one method over another are not always obvious.

You deploy these different types of site elements, or artifacts, by using different methods. You cannot deploy the full range of customizable site elements by using a single deployment method. There are other unique deployment considerations that apply to each type of element because they are likely to originate from different groups of designers, and because they are subject to different upgrade considerations. The different kinds of site elements are described in About the two kinds of customizable site elements, later in this article.

For specific deployment tasks and related considerations, see the following articles:

  • Deploy solution packages (SharePoint Server 2010)

  • Deploy authored site elements (SharePoint Server 2010)

  • Deploy site elements by using Features (SharePoint Server 2010)

  • Deploy templates (SharePoint Server 2010)

  • Workflow deployment process (SharePoint Server 2010)

Before you begin

Before you deploy any custom code to the environment, you should establish a baseline of the environment's performance so that you can analyze how customizations affect performance. After you have established a performance baseline, test the custom code thoroughly in a test or integration environment and compare the results with the baseline. Make sure that you thoroughly test all customizations before you deploy them to the production environment.

You should also test any code that you acquire from third parties before you deploy it to the production environment, even if you acquire it from a trusted source.

The descriptions and guidance in these articles apply to a SharePoint Server environment that has been deployed and configured to meet the requirements in Plan for server farms and environments (SharePoint Server 2010).

About the two kinds of customizable site elements

Developed site elements are solution artifacts and are typically created by developers. A solution can include assemblies, which are SharePoint components that are written in Microsoft .NET Framework-based languages and compiled before being deployed. Developed site elements, except timer jobs assemblies and site definitions, are typically grouped into Features and deployed as part of a solution package. Developed site elements include:

  • Web Parts

  • Workflows

  • Site and list definitions

  • Document converters

  • Event receivers

  • Timer jobs

  • Assemblies

Authored site elements, which are typically created by Web designers, are not explicitly compiled and reside in a content database. Authored site elements include:

  • Master pages

  • Cascading style sheets

  • Forms

  • Layout pages

These two kinds of customizable site elements are differentiated by:

  • Where the files are stored in a SharePoint Server 2010 farm.

  • Which team in the organization is responsible for administering the site element.

  • What deployment mechanism the site element requires.

Some elements can be either solution artifacts or authored artifacts. For example, a content type can be defined in an XML file as a developed solution artifact, or created through a browser as an authored artifact. Site elements that can be solution artifacts or authored artifacts include site columns and list instances. Also, solution artifacts can be used to provision files into Web sites and set to be cached in memory on the front-end Web server.

Deploying developed site elements

Developed site elements can be generally defined as site elements that are created in a code-development environment and are deployed directly to front-end Web servers and application servers. These site elements are customized typically by developers by using Microsoft Visual Studio 2010 Tools for SharePoint 2010, Microsoft Office SharePoint Designer, or XML editing tools. For more information, see SharePoint Foundation Development Tools (http://go.microsoft.com/fwlink/p/?LinkId=183360).

Note:

This article does not discuss the deployment of developed site elements that are deployed as sandboxed solutions. Sandboxed solutions are solutions that can access a subset of the server object model and a subset of feature elements that site collection administrators can deploy. For more information, see Sandboxed solutions overview (SharePoint Server 2010).

A best practice is to use solution packages and Windows PowerShell to deploy developed site elements. The SharePoint Server Solution Framework simplifies and standardizes the process of deploying new and upgrade site elements across the farm and synchronizing a front-end Web server so that its state is consistent with the state of other servers in the farm. For example, solution packages simplify the process of rebuilding a farm. Deploying site elements by manually handling code and files can lead to inconsistencies in the upgrade process and can result in servers that are not synchronized with other servers. You can use solution packages to deploy developed site elements from developer environments to integration farms and then to staging, pilot, and production farms.

You can use Windows PowerShell cmdlets to create, import, export and provision solution packages, which leverage the Solution Framework to distribute developed site element customizations. Windows PowerShell cmdlets are useful for deployment of site customizations in most environments because they are included with both SharePoint Server 2010 and SharePoint Foundation 2010, and you can use them alone or in conjunction with other methods. You can use Windows PowerShell cmdlets to deploy both artifacts and developed site elements. You can also use cmdlets to activate Features that are deployed in a solution package.

Deploying authored site elements

Authored site elements differ from developed site elements in that they are stored in the content database, although they can depend on resources that exist in the file system of Web servers or — less typically — application servers. In some cases, authored site elements do not function because they require that developed site elements be deployed first.

In environments where customization deployments are entirely automated, the required deployment order can be enforced by the system to eliminate synchronization issues. However, if customization deployment is partially or wholly manual, you must ensure that all required resources are in place on the Web servers and application servers before you deploy any content that relies on those resources.

You deploy authored site elements from authoring environments to staging, pilot, and production farms by using one or more of several different systems. The following table describes these systems and their associated interfaces and usage scenarios.

Deployment system Usage scenario

SharePoint Central Administration Web site

In environments where source and destination farms are connected by a network, you can use the content deployment features in Central Administration to create a content deployment package on the source farm and export the package to another farm.

This method is easy to configure and use, and can be used to automate deployment of authored site elements with very little setup time and maintenance.

Content Migration object model

Depending on the method you use (programming by using the deployment namespace APIs, using Simple Object Access Protocol (SOAP) calls to a Web service, or moving a whole site by using Windows PowerShell cmdlets), you can control what content is migrated and how. Using the API to import and export content is the only supported method that retains globally unique identifiers (GUIDs).

For more information, see Content Migration (http://go.microsoft.com/fwlink/p/?LinkId=183372).

Windows PowerShell

You can use Windows PowerShell cmdlets to perform import and export operations against the whole site, preserving time stamps, security information, and user information. Windows PowerShell cmdlets are most useful when you want to move basic content from a whole Web site.

Windows PowerShell is useful for deployment of site customizations in most environments because it is included with SharePoint 2010 Products, and you can use it alone or with other methods. You can use Windows PowerShell cmdlets to deploy both artifacts and developed site elements.

For more information, see SharePoint 2010 Products administration by using Windows PowerShell.

Custom Web service

You can create a custom Web service that automates content migration and deployment. You can write custom scripts and Windows applications to execute specific tasks within this process.

For more information about programmatic methods for writing a custom Web service, see the following resources in the Microsoft SharePoint 2010 Software Development Kit (SDK):

  • Sites Methods (http://go.microsoft.com/fwlink/p/?LinkID=183373)

  • Sites.ExportWeb Method (http://go.microsoft.com/fwlink/p/?LinkId=183377)

  • Sites.ImportWeb Method (http://go.microsoft.com/fwlink/p/?LinkId=183378)

Manual code handling

In smaller, disconnected environments, or in environments in which authored site elements are not continually customized, you can manually deploy site elements and related resources. In smaller connected environments, consider using the content deployment features in Central Administration to deploy authored site element customizations.

Solution packages and Features

Elements such as page layouts, master pages, forms, and style sheets, can be grouped and deployed in Features as part of a solution package. Features deployed from a solution package can be activated on the scopes where authored elements need to be provisioned.

For more information, see Deploy site elements by using Features (SharePoint Server 2010).

Custom templates

A user can save an existing site, with or without its specific content, as a custom template. This provides a means for reusing customized sites. A custom site template is stored as a .wsp file. Site templates are saved in the Solution Gallery of the top-level site in a site collection, where they become available for subsite creation on all Web sites in the site collection. Site templates can be downloaded and moved to other site collection galleries.

See Also

Concepts

Deploy solution packages (SharePoint Server 2010)
Deploy authored site elements (SharePoint Server 2010)
Deploy templates (SharePoint Server 2010)
Deploy templates (SharePoint Server 2010)

Other Resources

Resource Center: Installation and Deployment for SharePoint Server 2010


Deploy solution packages (SharePoint Server 2010)

This article describes solution packages and the role they play in deploying authored and developed customizations in Microsoft SharePoint Server 2010. It includes procedures for importing and deploying solution packages, and an example for building and deploying a solution package by using Microsoft Visual Studio 2010.

In this article:

  • What is a solution package?

  • Deploying site elements by using solution packages

  • Creating and deploying a custom Web Part solution package by using Visual Studio 2010

What is a solution package?

A solution package is a distribution package that delivers your custom SharePoint Server 2010 development work to the Web servers or the application servers in your server farm. Use solutions to package and deploy custom Features, site definitions, templates, layout pages, Web Parts, cascading style sheets, and assemblies.

This article does not discuss the deployment of sandboxed solutions. You can deploy a Microsoft SharePoint Server 2010 solution directly onto your SharePoint Server farm, or you can deploy the solution into a sandbox. A sandbox is a restricted execution environment that enables programs to access only certain resources, and that keeps problems that occur in the sandbox from affecting the rest of the server environment. For more information, see Sandboxed solutions overview (SharePoint Server 2010).

A solution package is a CAB file with a .wsp file name extension and a manifest file. It is recommended that you use Visual Studio 2010 Tools for SharePoint 2010 to develop and package SharePoint solutions. You can also create solution packages manually by using a tool such as Makecab.exe.

Components that can be packaged in a solution include:

  • .NET Framework assemblies, typically Web part assemblies and event receiver assemblies.

  • Deployment files such as resource files, pages, or other helper files.

  • Features, which allow you to activate and deactivate code in a Web site and provide functionality that include elements such as custom lists, libraries, fields, and content types.

  • New templates and site definitions.

  • Configurations that must be performed at the Web-server level — for example, deploying customizations to the Web.config files for the registration of Web Parts. You can also modify these configurations with a Feature that is distributed with a Feature.

  • Web content such as Web pages and images that are called by Web pages. If you must deploy Web content in a disconnected environment, you should use a content deployment package.

Deploying site elements by using solution packages

In this section:

  • When to use solution packages

  • Deploying farm solutions

  • Adding a solution package

  • Deploying a solution package

  • About creating a solution package

When to use solution packages

A best practice for deploying customizations is to use solution packages as part of a straightforward, safe, and consistent application lifecycle management process. Solution packages make it simpler to change the Features and functionality of the Web sites after the sites are created.

You can use solution packages to deploy new solutions and upgrade existing solutions across the farm. You can package all your SharePoint Server entities as one file, add the file to the solution store, and deploy it to the front-end Web servers in the farm. Use solution packages to synchronize a front-end Web server so that its state is consistent with the state of other Web servers in the farm.

You can use solution packages to deploy authored site element customizations from an integration farm to authoring, pilot, or production farm. In SharePoint Server, users can save a customized site as a template. This creates a solution package with a .wsp file name extension that can be deployed on another farm.

You can use solution packages to deploy customizations between these environments:

  • From developer workstations, to an integration farm or a software configuration management system

  • From an integration farm and authoring client workstations, to pilot or production farms

Deploying farm solutions

Farm solutions are deployed either locally or by using a timer service. Both local and timer-based deployments can be triggered either by using command-line instructions or programmatically by using the object model.

Local deployment

In a local deployment, solution files are deployed only to the computer from which the deployment operation was initiated. The solution is not marked as "deployed" in the configuration database until the solution files are deployed to all applicable servers in the server farm. Then solution features are installed, and schema and definition files are committed to the configuration store.

Timer Service deployments

In deployments that use the timer service, the deployment creates a timer job. This timer job is picked up by the timer service on each Web server in the server farm. Initially, manifest and feature manifests are parsed to find assembly and _layouts files, which are copied to the appropriate locations. All other files contained within a feature directory are copied to the feature directory. After solution files are copied to the target computers, a configuration reset is scheduled for all front-end Web servers; the reset then deploys the files and restarts Microsoft Internet Information Services (IIS). Solution features are then registered, and schema and definition files are committed to the configuration store.

For more information about the solution store, deployment, and synchronization, see Deploying a Solution (http://go.microsoft.com/fwlink/p/?LinkId=186995) in the Microsoft SharePoint 2010 Software Development Kit (SDK)

Adding a solution package

Before you can deploy a solution package, you must add it to the solution database of a SharePoint Server farm.

Important:

You must be a member of the Administrators group on any computer on which you run Windows PowerShell.

To import a solution package by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin..

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell command prompt, type the following command:

    Copy Code
    Add-SPSolution -LiteralPath <SolutionPath>

The solution is added to the farm's solution store. To use the solution, follow the procedure in the next section in this article. For more information, see Add-SPSolution.

Deploying a solution package

You can deploy imported solutions by using the Central Administration Web site or by using Windows PowerShell. After a solution has been added to the solution store by using the Windows PowerShellAdd-SPSolution cmdlet, it must be deployed to a site before it can be accessed.

Note:

You cannot add a solution to the solution store by using the Solution Management page in Central Administration.

The following procedures show how to deploy an imported solution to a site in the farm by using either the Central Administration Web site or Windows PowerShell.

To deploy a solution by using Central Administration

  1. On the Central Administration Home page, click System Settings.

  2. In the Farm Management section, click Manage farm solutions.

  3. On the Solution Management page, click the solution that you want to deploy.

  4. On the Solution Properties page, click Deploy Solution.

  5. On the Deploy Solution page, in the Deploy When section, select one of the following:

    • Now

    • At a specified time. If you select this option, specify a time by using the date and time boxes. We recommend that you select a time when the load on the destination servers is low.

  6. In the Deploy To? section, in the A specific web application list, click either All web applications or select a specific Web application.

  7. Click OK.

To deploy a solution package to a single Web application by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell command prompt, type the following command:

    Copy Code
    Install-SPSolution -Identity <SolutionName> -WebApplication <URLname>

    Where:

    • <SolutionName> is the name of the solution.

    • <URLname> is the URL of the Web application to which you want to deploy the imported solution.

    By default, the solution is immediately deployed. You can also schedule the deployment by using the time parameter. For more information, see Install-SPSolution.

To deploy a solution package to all Web applications by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell command prompt, type the following command:

    Copy Code
    Install-SPSolution -Identity <SolutionName> -AllWebApplications -time <TimeToDeploy> -GACDeployment -CASPolicies

    Where:

    • GACDeployment is the parameter that enables SharePoint Server 2010 to deploy the assemblies in the global assembly cache.

    • CASPolicies enables the creation of a custom code access security (CAS) policy file and the activation of it in the Web.config file of the targeted site collection.

    The solution is immediately deployed by default. You can also schedule the deployment by using the time parameter.

About creating a solution package

SharePoint Server 2010 does not include a tool for creating solution packages. This section describes ways to create solution packages that contain developed site elements and artifacts.

Visual Studio 2010

You can use Visual Studio 2010 to group related SharePoint elements into a Feature, and then bundle multiple Features, site definitions, assemblies, and other files into a single package (.wsp file) to deploy to servers running SharePoint Server 2010. You can use Visual Studio 2010 to debug and test the .wsp file on the server running SharePoint Server 2010. You can also customize the deployment steps on the development computer.

Developers can build their SharePoint solutions in Visual Studio 2010 and produce .wsp files by using the automated build process. Source code of the Visual Studio SharePoint project that is used to generate the .wsp file can also be added to the source code control system by using Visual Studio 2010 integration. Visual Studio 2010 can import .wsp files and create projects to further extend them and to create new .wsp files. The primary source of .wsp files that are imported into Visual Studio 2010 is templates saved from sites by using the Save As Template command on SharePoint Server 2010 sites. These templates can be used to save all of site customizations to a SharePoint solution.

For more information, see SharePoint Development in Visual Studio (http://go.microsoft.com/fwlink/p/?LinkId=187000).

Makecab

Solution packages can be created manually by using tools such as Makecab.exe. The Makecab.exe tool takes a pointer to a .ddf file, which describes the structure of the CAB file. The format of a .ddf file is similar to that of an .inf file — that is, you declare a standard header and then enumerate, one file per line, the set of files by where they are located on disk and where they should be located in the CAB file.

The Makecab.exe tool is available for download in the Microsoft Cabinet Software Development Kit (http://go.microsoft.com/fwlink/p/?LinkId=107292).

About customizing solution packages

If you need to make any of the following customizations in SharePoint Server 2010 solutions, it is recommended that you use Visual Studio 2010 to customize solution packages. You can also make these customizations by manually creating SharePoint solution packages.

  • Deploy .NET Framework assemblies in the private application folder instead of the global assembly cache.

  • Add code access security permissions to the solution that must be applied during the deployment.

  • Deviate from the names used by default for the Feature folders.

  • Localize the solution.

  • Associate Feature event handlers to certain types of SharePoint Foundation 2010 solutions, such as Web Part solutions.

  • Add resources (XML files, pictures, .dll files, and assemblies) to the solution package.

Manually create a solution file

In most SharePoint Server 2010 development scenarios, we recommend that you use Visual Studio 2010 Tools for SharePoint 2010 to develop and package SharePoint solutions. In Visual Studio 2010, the deployment process copies the .wsp file to the server running SharePoint Server 2010, installs the solution, and then activates the Features.

You can also manually create a solution file. The following are the basic steps of creating a solution file:

  1. Collect all individual solution files in a folder. There are no concrete guidelines about how you should do this, but a best practice is to separate the different types of solution files into their own subfolders.

  2. Create a manifest.xml file that lists the components of the solution.

  3. Create a .ddf file that defines the structure of the solution file. This file contains the list of individual solution files that determine the output .wsp file.

  4. Execute Makecab.exe with the .ddf file as input and the .wsp file as output.

About the solution manifest file

The solution manifest (always called manifest.xml) is stored at the root of a solution file. This file defines the list of Features, site definitions, resource files, Web Part files, and assemblies to process. It does not define the file structure — if files are included in a solution but not listed in the manifest.xml file, they are not processed in any way.

Following is an example of the structure of a manifest.xml file, shown in XML.

<?xml version="1.0" encoding="utf-8" ?>

<Solution xmlns="http://schemas.microsoft.com/sharepoint/"

SolutionId="{79d1a62e-3627-11db-963e-00e08161165f}"

ResetWebServer="TRUE">

    <Assemblies>

        <Assembly DeploymentTarget="GlobalAssemblyCache"

Location="Example.Sharepoint.Webparts\

Example.SharePoint.WebParts.dll">

            <SafeControls>

                <SafeControl Assembly="Example.Sharepoint.Webparts,

Version=1.0.0.0, Culture=Neutral, PublicKeyToken=63cce650e8605f5d"

Namespace="Example.Sharepoint.Webparts" TypeName="*"/>

            </SafeControls>

        </Assembly>

        <Assembly DeploymentTarget="GlobalAssemblyCache"

Location="Example.Sharepoint.Timer/Example.Sharepoint.Timer.dll"/>

    </Assemblies>

    <FeatureManifests>

        <FeatureManifest Location="Example.Sharepoint.Timer\Feature.xml"/>

        <FeatureManifest Location="Example.CustomType\Feature.xml"/>

        <FeatureManifest Location="Example.ExampleLibrary\Feature.xml"/>

        <FeatureManifest Location="Example.Columns\Feature.xml"/>

        <FeatureManifest Location="Example.Workflow.ProcessExample\Feature.xml"/>

        <FeatureManifest Location="Example.Workflow.ProvisionExample\Feature.xml"/>

    </FeatureManifests>

    <SiteDefinitionManifests>

        <SiteDefinitionManifest Location="EXAMPLE">

            <WebTempFile Location="1033\XML\WEBTEMPExample.XML"/>

        </SiteDefinitionManifest>

    </SiteDefinitionManifests>

</Solution>

In addition, you can add a DwpFiles element to specify .webpart or .dwp files, or a ResourceFiles element to specify resource files, site definitions, application resources, and code access security policies.

Optionally, annotate your Feature.xml files by using <ElementFile> tags.

If your solution contains Features, in the <ElementManifests> tag in your Feature.xml file, add <ElementFile Location="..."/> for all the extra files in your feature, such as ASP.NET pages (for example, allitems.aspx) or master pages, and so on.

For more information about solution manifest files that define the constituent parts of a solution, see Solution Schema (http://go.microsoft.com/fwlink/p/?LinkID=183466).

Creating and deploying a custom Web Part solution package by using Visual Studio 2010

For an example walkthrough that shows you how to use Visual Studio 2010 to create, customize, debug, and deploy a SharePoint list definition to track project tasks, see Walkthrough: Deploying a Project Task List Definition (http://go.microsoft.com/fwlink/?LinkID=189612) in the MSDN Library.

This walkthrough illustrates the following tasks:

  • Creating a SharePoint list definition project that contains tasks.

  • Adding the list definition to a SharePoint Feature.

  • Adding an event receiver to the list.

  • Creating and customizing a SharePoint package to deploy your Feature.

  • Building and deploying your SharePoint solution.

When you build the sample project in this walkthrough, Visual Studio 2010 automatically deploys the solution to the server running SharePoint Server 2010 on your development computer for testing and debugging. You can also create a solution package file that you can add and deploy on another computer. For more information, see How to: Deploy a SharePoint Solution (http://go.microsoft.com/fwlink/p/?LinkID=187004). You can use the Add-SPSolutionWindows PowerShell cmdlet to import the solution to another computer.

You can use the Solution Management page in Central Administration to deploy the solution package. Alternatively, you can use the Install-SPSolutionWindows PowerShell cmdlet to deploy the solution package.

In the walkthrough, the scope of the project list feature is Web. To activate the Feature, on the Web site, expand the Site Actions menu, and then click Site Settings. Under Site Actions, click Manage site features. On the Features page, next to the Feature name, click Activate.


Deploy authored site elements (SharePoint Server 2010)

This article discusses the deployment of authored site element customizations in Microsoft SharePoint Server 2010, including deployment procedures, general considerations, and best practices related to deploying custom content.

In this article:

  • About deploying authored site elements

  • Before you begin

  • Deploy content by using content deployment jobs

  • Deploy content by using the Content Migration API

  • Create a content deployment package by using Windows PowerShell

About deploying authored site elements

Authored site elements can be thought of as the "content" in your sites. They are the Web pages, images, layout pages, cascading style sheets, and other resources that compose your SharePoint Server 2010 Web site. Authored site elements include:

  • Artifacts These are site elements — typically authored by using a design tool such as Microsoft SharePoint Designer 2010 — that compose the framework in which your site's content appears. Examples of artifacts include master pages and layouts.

  • Web content These are site elements — typically authored directly in the Web browser or in a client authoring program such as Word 2010 — that supply the content of your site. Examples of Web content include Web pages and images.

This article does not discuss deployment of developed site elements such as Web Parts and other code. For more information, see Deploy solution packages (SharePoint Server 2010) and Deploy templates (SharePoint Server 2010).

Authored site elements can be deployed by various methods:

  • Content deployment is a built-in system that enables you to create content deployment jobs in the Central Administration Web site. Content deployment is intended for regularly updating content or moving content to a destination site collection.

  • Use the object model to handle scenarios such as writing scripts to automate common tasks and setting custom properties for export and import that tailor the deployment. The object model provides the most control over your data migration scenarios.

  • Content deployment packages are intended for a one-time move or migration of content to a destination site collection. Content deployment packages are CAB files that can contain part or all of the authored site elements in a Web site, and can be deployed in a disconnected environment. Windows PowerShell cmdlets are used to create content deployment packages.

Note:

This article does not discuss using solution packages to deliver your custom SharePoint Server 2010 development work to the front-end Web servers or the application servers in your server farm. By using solution packages, you can deploy artifacts in a disconnected environment, and you can deploy artifacts and developed site elements in the same package. For more information, see Deploy solution packages (SharePoint Server 2010).

When to use the content deployment feature

The content deployment feature in SharePoint Server 2010 provides a simple and effective method of automating the deployment of content from one farm to another. You can also use content deployment to move artifacts and content between a staging environment and the production environment in a scenario where content is staged before it is published.

You can use the content deployment feature to deploy authored site elements in one or both of the following scenarios:

  • Connected environments The content deployment feature can only be used in a connected environment — that is, in an environment in which the source and destination farms can communicate over a network.

  • Automated environments If you want to automate the deployment of authored site elements from one server farm to another, the content deployment feature provides a built-in system for setting up automated deployment jobs.

The content deployment feature can be used to deploy authored site element customizations between an authoring site and multiple target sites. A best practice is to deploy customizations between the authoring site and the staging site or pilot environment. If you verify through testing that all site elements function as expected in network and security conditions that match the production environment, you can deploy the customizations from the authoring site to the production environment.

Note:

Content deployment is always one-way. It is a "single master" system that always moves from a source farm or site collection to a destination farm or site collection.

For general guidance about how to plan to use content deployment with your SharePoint Server 2010 sites, see Plan content deployment (SharePoint Server 2010).

When to use a content deployment package

You can use content deployment packages to deploy authored site elements in one or more of the following scenarios:

  • One-time content migration Use a content deployment package to move content to a destination site collection only once. If you plan to update content regularly on a destination site collection, use the content deployment feature or the Content Migration API.

  • Disconnected environments If the farms are disconnected, you can create a content deployment package for asynchronous transfer to the integration farm.

  • Sample content If authored site element customizations need to be deployed from the authoring environment to the integration environment to be used as samples for development purposes, you can use a content deployment package to simplify this process.

Before you begin

To eliminate potential synchronization issues, you must often deploy developed site elements before you deploy authored site elements. Farm solutions and Web application solutions must be installed and deployed to the destination farm prior to content deployment. Also be aware that you must install on the destination server any language packs that are in use on the source server; if you fail to install the required language packs, content deployment will fail.

Before performing the procedures in this article, familiarize yourself with the concepts related to the deployment of site element customizations. For more information about planning and designing sites and site collections, see Fundamental site planning (SharePoint Server 2010). Also, download an Excel version of the Content deployment planning worksheet (http://go.microsoft.com/fwlink/p/?LinkID=167835).

Deploy content by using content deployment jobs

You can deploy content by using content deployment jobs between farms that are connected by a network. In many customization environments, content deployment jobs are run at regular intervals between farms. For example, every night a content deployment job may deploy all customizations that were developed on the authoring farm to the integration farm. This frees the authors and authoring farm administrators from the responsibility of manually migrating customizations, and you can time the migration to coincide with deployment of customizations from the developer workstations to the integration farm to ensure that customizations are deployed in the appropriate order.

Perform the following procedure to configure automated content deployment.

To configure automated content deployment

  1. On the destination server farm, create an empty site to receive the initial content deployment job. Do not apply a template to the site that you create. In SharePoint Server 2010, you cannot deploy content to a site that has had any blank template applied to it.

  2. On the destination farm, on the Content Deployment Settings page in SharePoint Central Administration, configure the farm to accept incoming deployment jobs, assign a front-end Web server as the import server to manage incoming deployment jobs, and specify whether to require encryption on the connection between the source and destination farms.

  3. On the source farm, on the Content Deployment Settings page, assign a Web server as the export server to manage outgoing deployment jobs.

  4. On the source farm, on the Manage Content Deployment Paths and Jobs page in Central Administration, create one or more deployment paths.

  5. On the source farm, on the Manage Content Deployment Paths and Jobs page, create one or more deployment jobs for each path.

  6. Run the initial deployment job to initiate the content on the destination farm.

  7. If the path does not deploy all security information, you should replicate the source farm's users, SharePoint groups, and permissions on content and sites on the destination farm.

For more information about how to plan for automated content deployment, see Plan content deployment (SharePoint Server 2010).

Deploy content by using the Content Migration API

Most deployment scenarios can be accomplished by using Central Administration without the need for scripts. However, you can use the object model to handle other scenarios, such as writing scripts to automate common tasks and setting custom properties for export and import that you cannot configure you set up a deployment by using the SharePoint Central Administration site. You can also create code that exports and imports a content package in situations where connectivity between a source farm and a destination farm may be limited or unavailable.

For more information about content migration and the content migration APIs, see Content Migration Overview (http://go.microsoft.com/fwlink/p/?LinkId=187033). For an overview of the content deployment feature and the background and resources necessary to build and implement custom deployment solutions, see Deploying Content Between Servers (http://go.microsoft.com/fwlink/p/?LinkID=181466). For a code example that shows how to use the object model to create paths and jobs that deploy content between site collections, see How to: Deploy Content Between Servers (http://go.microsoft.com/fwlink/p/?LinkId=187034). For a code sample and information about how to export and import a content package by using the Content Migration API, see How to: Customize Deployment for Disconnected Scenarios (http://go.microsoft.com/fwlink/p/?LinkID=181076).

Create a content deployment package by using Windows PowerShell

You can use Windows PowerShell to create a content deployment package that contains the authored site elements for a whole site (including all the content in the site) or a list or a document library.

Note:

Use content deployment packages for a one-time migration of content to a destination site collection. Use the content deployment feature or the Content Migration API to periodically move content from a source site collection to a destination site collection.

Content deployment packages are implemented as CMP (Content Migration Package) files. You export this package from the source server, and then import it into the destination server. You can use this method of content deployment in both connected and disconnected environments.

If you are using a software configuration management system, follow the steps for exporting the content deployment package, and then use the procedure appropriate to your software configuration management system to save the exported file.

To create a content deployment package by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell command prompt, type the following command:

    Copy Code
    Export-SPWeb -Identity <URLname> -path <ExportFileName> -IncludeUserSecurity -IncludeVersions 4 -NoFileCompression

    Where:

    • <URLname> is the site to export. This site is written to the content deployment package together with all the subsites beneath it.

    • IncludeUserSecurity causes the new site to have the same permissions as the original site.

    • IncludeVersions is set to 4 to specify that all versions should be included.

    • NoFileCompression causes the content deployment package to be output to an uncompressed folder instead of a single CAB file. This makes it more complicated to deploy the deployment package to a different server, but makes it easier to edit the individual files.

For more information, see Export-SPWeb.

Note:

We recommend that you use Windows PowerShell when performing command-line administrative tasks. The Stsadm command-line tool has been deprecated, but is included to support compatibility with previous product versions.

To import a content deployment package by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell command prompt, type the following command:

    Copy Code
    Import-SPWeb -Identity <URLname> -path <ImportFileName> -IncludeUserSecurity

    Where:

    • <URLname> is the site that will be imported, together with all the subsites beneath it.

For more information, see Import-SPWeb.

Note:

We recommend that you use Windows PowerShell when performing command-line administrative tasks. The Stsadm command-line tool has been deprecated, but is included to support compatibility with previous product versions.


Deploy site elements by using Features (SharePoint Server 2010)

This article describes how to deploy developed site element customizations by using Features. By using Features, you can control the scope within which the site customization can be activated and deactivated, and easily deploy the customizations across multiple server farms.

In this section:

  • What is a Feature?

  • When to use Features

  • Create a Feature

  • Install and activate a Feature by using Windows PowerShell

What is a Feature?

A Feature is a container of various defined extensions for SharePoint Server 2010, and is composed of a set of XML files that are deployed to front-end Web servers and application servers. You can deploy a Feature as part of a solution package, and you can individually activate a Feature in SharePoint Server sites.

Features reduce the complexity involved in making simple site customizations. Features eliminate the need to copy large chunks of code to change simple functionality, and therefore they reduce versioning and inconsistency issues that can arise among front-end Web servers.

Features make it easier to activate or deactivate functionality in the course of a deployment, and administrators can easily transform the template or definition of a site by turning on or turning off a particular Feature in the user interface.

An element is an atomic unit within a Feature. The Feature element is used in a Feature.xml file to define a Feature and to specify the location of assemblies, files, dependencies, or properties that support the Feature. A Feature includes a Feature.xml file and any number of files describing individual elements. Another Feature element from a different schema is used in an Onet.xml file to specify that a Feature be activated when a site is created from the site definition.

A Feature.xml file typically points to one or more XML files whose top-level <Elements> tag contains definitions for elements that support the Feature. Elements in SharePoint Server 2010 often correspond to what were discrete nodes in the Onet.xml or Schema.xml file of Microsoft Office SharePoint Portal Server 2003. There are several types of elements —for example, a custom menu item or an event handler.

  • For more information about the capabilities of Features, see Using Features (http://go.microsoft.com/fwlink/p/?LinkId=183450).

  • For specific information about the file format and XML elements used in the Feature.xml file, see Feature.xml Files (http://go.microsoft.com/fwlink/p/?LinkId=183451).

  • For information about how features affect the file format of the Onet.xml file in a site definition, see Site Definition (Onet.xml) Files (http://go.microsoft.com/fwlink/p/?LinkId=183454).

  • For more information about Feature element types, see Element Types (http://go.microsoft.com/fwlink/p/?LinkId=183455).

When to use Features

Features are the recommended method for deploying pieces of functionality, customizations, or configuration changes to front-end Web servers. Features are a flexible way to manage functionality through its lifecycle, including activation, upgrade, and eventually deactivation.

You can use Features to deploy developed site elements in one or more of the following scenarios:

  • Need for activation and deactivation When you deploy site element customizations in a Feature, you can install, activate, and deactivate the Feature by using Windows PowerShell or by using the object model. You can also activate and deactivate a Feature by using the Central Administration Web site.

  • Flexibility of scope You can activate a Feature for a single scope, including farm, Web application, site collection, or Web site.

  • Ease of distributed deployment A Feature is easy to deploy to multiple server farms as part of a solution.

  • Control through the Feature object model The Feature object model enables you to specify the list of installed features within a given scope and to control whether features are enabled at the farm and site levels.

Use solution packages to package Features to deploy to different environments. For example, use a solution package to deploy customizations between developer workstations and an integration farm, and also between either an integration farm or authoring client workstations, and pilot or production farms.

Create a Feature

When you create a custom Web page in SharePoint Server 2010 by using the browser or SharePoint Designer, the ASPX page can belong only to the root site collection of the server that is running SharePoint Server 2010. To create a page under a site collection that is available to the whole farm and in all site collections, use a solution to deploy the page under the \14\Template\Layouts folder (by using the TemplateFiles element in the solution manifest file).

A best practice on a farm is to deploy Features by using a solutions package. If a server must be rebuilt or another server is added to the farm, the Feature will not have to be manually added to each front-end Web server. By using solutions packages, you can deploy new and upgraded Features across the farm and synchronize a front-end Web server so that its state is consistent with the state of other servers in the farm.

To control the availability of a custom page in a site collection or a Web site, deploy the custom Web page as a SharePoint Feature as part of a solution. Use the module element in the Feature.xml file to deploy a Web page by using a scope of site collection and Web site. Modules are frequently used to implement a Web Part Page in the site.

A Feature that is deployed as part of a solution is installed automatically. If you manually deploy a Feature, you must install and activate it. See Install and activate a Feature by using Windows PowerShell, later in this article.

To create and deploy a custom Feature

  1. Create a Feature.xml file. The following is an example Feature.xml file, which is necessary for giving the feature a unique ID and pointing to the Module.xml file.

    Copy Code
    <?xml version="1.0"?>
<Feature Id="8C4DD0CB-5A94-44da-9B7F-E9ED49C2B2DC" Title=
"Custom Web page"
Description="This simple example feature adds an ASPX page
with a hosted XmlFormView control"
Version="1.0.0.0" Scope="Web"
xmlns="http://schemas.microsoft.com/sharepoint/">
<ElementManifests>
    <ElementManifest Location="Module.xml"/>
</ElementManifests>
</Feature>

  2. Create a Module.xml file. The following is an example Module.xml file, which contains information about the page or pages that are part of the solution.

    Copy Code
    <?xml version="1.0"?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
    <module name="file" url="" path="">
        <file url="XmlFormViewPage.aspx" type="ghostable"> </file>
    </module>
</Elements>

  3. Change the file url value to the name of your ASPX page.

  4. Add a subfolder for the Feature definition within the Features setup directory on the server computer, typically located at %COMMONPROGRAMFILES%\Microsoft shared\Web server extensions\14\TEMPLATE\FEATURES.

    Important:

    A best practice is to use detailed, qualified names for the subfolders that you create for Feature definitions. This practice minimizes the likelihood that you will add multiple Features that have the same names and overwrite the Feature.xml file for another Feature. For example, use HR_Contract and Finance_Contract rather than Contract.

  5. Add your custom .aspx page to this subfolder for the Feature definition.

  6. Add Feature.xml and Module.xml files to the same location.

  7. Add the Feature to a solution package.

    You can use Visual Studio 2010 to add the Feature to a solution, or you can manually add a FeatureManifests element to the solution Manifest.xml file.

  8. Create the solution package.

    You can use Visual Studio 2010 to build the solution package. You can also use the Makecab.exe tool to create the solution package.

  9. Import and deploy the solution package.

    Add the solution to the solution store by using the Windows PowerShellAdd-SPSolution cmdlet, and then deploy the solution from the solution store by using the Central Administration Web site or by using Windows PowerShell.

For more information about using Visual Studio 2010 to add Features to a solution packages, see Creating SharePoint Solution Packages (http://go.microsoft.com/fwlink/p/?LinkId=187035). For more information about manually creating a solution package or using the Makecab.exe tool to make the package, see Creating a Solution (http://go.microsoft.com/fwlink/?LinkId=187036).. For more information about deploying solutions, see Deploy solution packages (SharePoint Server 2010).

Install and activate a Feature by using Windows PowerShell

You can install and activate a Feature by using Windows PowerShell or by using the object model. You can also activate a Feature by using the Manage Web Applications Features page or the Features page of the site collection or site on which you want to activate the Feature. Installing a Feature makes its definition and elements known throughout a server farm, and activating the Feature makes the Feature available at a particular scope.

Note:

Features that are deployed as part of a solution package are installed by the deployment and manual installation is not required.

You install Features in the 14\Template\Features folder, with each Feature in its own subfolder. At the root of this folder, a Feature.xml file defines the contents of the Feature. You must install individual Features before you can use them, and —unless the Feature is scoped to the farm — you must activate them after you install them. If a Feature is scoped to the farm or Web application, it is activated automatically.

To uninstall a Feature so that its definition is no longer available within a server farm, you first must deactivate the feature by using the Windows PowerShellDisable-SPFeature cmdlet, unless the Feature is scoped for Web applications or farms. After you deactivate the Feature, you can use the Uninstall-SPFeature cmdlet to uninstall it. For more information, see Uninstall-SPFeature. After uninstalling a Feature, reset Internet Information Services (IIS) so that the changes can take effect.

To deactivate a Feature so that it becomes inactive at its originally assigned scope without uninstalling it, you can use the Disable-SPFeature cmdlet. For more information, see Disable-SPFeature.

Use the following procedures to install and activate a Feature.

To install a Feature by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell command prompt, type the following command:

    Copy Code
    Install-SPFeature -path <Path> [-force]

    Where:

    • <Path> is a valid file path; for example, MyFeature. The path to the feature must be a literal path to the 14\Template\Features folder name. The Feature.xml file name is implied and does not need to be provided.

For more information, see Install-SPFeature.

Note:

We recommend that you use Windows PowerShell when performing command-line administrative tasks. The Stsadm command-line tool has been deprecated, but is included to support compatibility with previous product versions.

To activate a feature by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell command prompt, type the following command:

    Copy Code
    Enable-SPFeature -Identity <FeatureID> [-url] <URLname> [-force]

    Where:

    • <FeatureID> is the name of the Feature folder located in the 14\Template\Features folder. It must be a valid file path; for example, MyCustom.

    • <URLname> is the Feature parent URL of the Web application, site collection, or Web site for which the Feature is being activated; for example, http://somesite.

For more information, see Enable-SPFeature.

Note:

We recommend that you use Windows PowerShell when performing command-line administrative tasks. The Stsadm command-line tool has been deprecated, but is included to support compatibility with previous product versions.


Deploy templates (SharePoint Server 2010)

This article describes how to create a custom site definition and deploy it by using a solution package.

In this article:

  • What are site definitions?

  • Site definitions and configurations

  • Create a custom site definition and configuration

  • Deploy a site definition by using a solution package

What are site definitions?

In Microsoft SharePoint Server 2010, a user creates a site through the user interface (UI) by selecting a site definition configuration or custom site template that defines how to instantiate the site. A site definition is a template that determines, for example, the lists, files, Web Parts, Features, or settings with which to provision a new SharePoint site.

A site definition is a family of site definition configurations. Each site definition specifies a name and contains a list of the site definition configurations. In SharePoint Server 2010, a site definition consists of a set of XML files that can be applied to provision new sites. The files are located on Web servers.

Site definitions consist primarily of multiple XML and ASPX files stored on a front-end Web server in folders under the %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\SiteTemplates folder.

A site created from a site definition adds to, but does not repeat, the structural and content information from the original site definition. Throughout their lifecycle, sites continue to depend on the site definition that is their ultimate foundation. For this reason, Microsoft does not support changing or removing a site definition after sites have been created from it. Such changes may cause sites created from the definition to stop working properly or may prevent the creation of new sites based directly, or indirectly, on the site definition. To customize a site definition, developers can add a Feature that includes the changes to the site definition. The site definition itself is not modified.

For more information about what kinds of customizations of site definitions are supported by Microsoft, see Supported and unsupported scenarios for working with custom site definitions and custom area definitions in Windows SharePoint Services, in SharePoint Portal Server 2003, and in Office SharePoint Server 2007 (http://go.microsoft.com/fwlink/p/?LinkId=187678).

In the object model, an SPWebTemplate represents a site definition (and configuration). For more information about site templates and site definitions, see Site Templates and Definitions (http://go.microsoft.com/fwlink/p/?LinkID=184756).

Note:

The STP format of a custom site template (.stp file) is deprecated in SharePoint Server 2010 and replaced with WSP format site templates. In Office SharePoint Server 2007, users can save an existing site as a custom site template. The site template is stored in the database as a model, and users can select the site template as a foundation that defines how to instantiate the site. In SharePoint Server 2010, users can save an existing site as a template. The template is saved as a .wsp file in the Solution Gallery of the top-level site in a site collection, where it becomes available for subsite creation on all Web sites in the site collection..

For more information about site definitions, see Site Definitions and Configurations (http://go.microsoft.com/fwlink/p/?LinkId=183458).

Site definitions and configurations

A site definition defines a specific SharePoint site. There are five site definitions natively installed in SharePoint Server 2010. A site definition can include more than one site definition configuration. SharePoint Web sites are based on specific site definition configurations that include the following:

  • STS includes the site definition configurations for Team Site, Blank Site, and Document Workspace.

  • MPS includes the site definition configurations for Basic Meeting Workspace, Blank Meeting Workspace, Decision Meeting Workspace, Social Meeting Workspace, and Multipage Meeting Workspace.

  • CENTRALADMIN provides a site definition configuration for Central Administration Web sites.

  • WIKI provides a site definition configuration for Web sites that support community content by using wiki technology.

  • BLOG provides a site definition configuration for blogs.

Each site definition consists of files that are placed in the \\Program Files\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\SiteTemplates subfolders of front-end Web servers during installation of SharePoint Server 2010. Site definition files include .xml, .aspx, .ascx, and .master page files, in addition to document template files — such as .dot and .htm — and content files, such as .gif and .doc.

Uncustomized pages and page customization

Site definition files are cached in memory on the server at process startup of Microsoft Internet Information Services (IIS). This allows uncustomized pages to be reused across sites. The information contained in these files is pulled from the cache at run time. Pages and list schemas are read from the site definition files but appear to be actual files within a site. New Web Part pages are also considered to be uncustomized.

When site pages are customized — excluding browser-based customizations such as modifications to Web Parts — their contents are stored in the content database, and the customized site page is used instead of the original page from the site definition. Uploaded .aspx files are automatically considered to be customized.

For more information about ghosting and page customization, see Site Definitions and Configurations (http://go.microsoft.com/fwlink/p/?LinkId=183458).

Core schema files

The following table lists the core XML files that can be modified for a site definition and shows their locations in the file system.

WebTemp.xml | Identifies the site definitions and provides information about their configurations. Located in: \TEMPLATE\1033\XML
Onet.xml | Defines the navigation areas, specifies the list definitions available, specifies document templates and their files, defines the base types for lists, and defines configurations and modules for site definitions. Located in: \TEMPLATE\SiteDefinitions\site_type\XML
Schema.xml | Defines the views, forms, toolbar, and special fields in a list definition. Each definition has its own Schema.xml file. Located in: \TEMPLATE\FEATURES\List_Definition_Name
DocIcon.xml | Each front-end Web server in a SharePoint Server deployment contains a DocIcon.xml file that maps file programmatic identifiers (ProgIDs) and file name extensions of document types to specific icons and to controls for opening each type. Changes to DocIcon.xml are global to a SharePoint Server deployment and affect all site definitions on the front-end Web server. Located in: \TEMPLATE\XML

These XML files use Collaborative Application Markup Language (CAML) (http://go.microsoft.com/fwlink/p/?LinkID=183464) for defining aspects of a site. For more information about these core XML files that you can use to customize site definitions, see Site Definitions and Configurations (http://go.microsoft.com/fwlink/p/?LinkID=183458).

Create a custom site definition and configuration

You can create custom site definitions by manually copying an existing site definition or by importing a .wsp file into Visual Studio 2010.

Import items from an existing SharePoint site

This method requires saving a site as a template from SharePoint Server to generate a .wsp file, and then importing the .wsp file into Visual Studio 2010 by using the solution import project template. The Import SharePoint Solution Package project template lets you reuse elements such as content types, list definitions, and fields from existing SharePoint sites in a new Visual Studio SharePoint solution. For more information about importing items from an existing SharePoint site into a Visual Studio SharePoint project, see Importing Items from an Existing SharePoint Site (http://go.microsoft.com/fwlink/p/?LinkID=187040). This chapter includes a walkthrough that demonstrates the following tasks:

  1. Customizing a SharePoint site by adding a custom site column.

  2. Exporting a SharePoint site to a .wsp file.

  3. Importing the .wsp file into Visual Studio SharePoint project by using the .wsp Import project.

Copy an existing SharePoint site

This method involves copying an existing site definition, modifying the copy, and changing two schema files: the copy of a WebTemp.xml file, and the copy of an Onet.xml file.

Warning:

Do not modify the originally installed WebTemp.xml file.

  1. Copy an existing site definition folder located in the Local_Drive:\Program Files\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\SiteTemplates\ directory. Your copy should be a peer of the original, and you can give it any name that contains no spaces.

    For example, to create a custom site definition that derives from the team site definition for Microsoft SharePoint Server, copy the \sts folder.

  2. Make a copy of the WebTemp.xml file. This file is located in Local_Drive:\Program Files\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\1033\XML.

    Give the file a unique name by appending a string to the name of the original file; for example, WebTempAction.xml. At run time, the compiler merges information contained in this file with the information contained in the original file to specify which site definition configurations are available for creating new sites.

  3. Customize the contents of the new WebTemp file.

    Each WebTemp.xml file contains a collection of Template elements and Configuration subelements, which identify to the compiler all the site definition configurations that can be instantiated. The Configuration element defines, for example, a title, a description, the URL for the image displayed in the user interface (UI), and a display category that specifies the tab on which to display the template in the Template Selection section of the Create Site Collection page.

    Important:

    In each Template element defined in the WebTemp file, the Name attribute must contain the same name that is assigned to the new folder.To avoid conflict with IDs already used in SharePoint Server 2010, use unique values greater than 10,000 for the ID attribute.

The following example uses two Configuration elements in the WebTemp.xml file to define different site definition configurations for instantiating a site, one for a Research Collaboration site and the other for a Research Document Workspace site. This example uses only two configurations within a single site definition, but you can include multiple site definitions, each with multiple configurations, within a single WebTemp.xml file. Each site definition references a different site definition folder and its Onet.xml file.

Copy Code
<?xml version="1.0" encoding="utf-8" ?>
<Templates xmlns:ows="Microsoft SharePoint">
  <Template Name="RESEARCH" ID="10001">
    <Configuration ID="0" Title="Research Collaboration site"
      Hidden="FALSE" ImageUrl="_layouts/images/stsprev.jpg"
      Description="This definition creates a site for the Research
      team to create, organize, and share general information."
      DisplayCategory="Collaboration">
    </Configuration>
    <Configuration ID="1" Title="Research Workspace" Hidden="FALSE"
      ImageUrl="_layouts/images/dwsprev.jpg" Description="This
      definition creates a site for Research team colleagues to
      work together on specific documents."
      DisplayCategory="Collaboration">
    </Configuration>
  </Template>
</Templates>

As indicated by the value of the Name attribute in the Template element, this example assumes that a site definition directory named "RESEARCH" exists. If a WebTemp*.xml file specifies more than one site definition, the definitions are distinguished by their unique ID values.

Each Configuration element also contains an ID attribute. The combination of this ID and the value of the Name attribute in the Template element provides a reference to the contents of a specific Configuration element in a specific Onet.xml file. In the example, the Name attribute contains RESEARCH and the ID attributes contain 0 and 1, which reference the RESEARCH site definition and configurations with IDs of 0 or 1 in Onet.xml.

You may need to reset IIS to cause the new definition configuration to appear as an option in the UI. To do this, enter iisreset at a command prompt.

For more information about defining each site definition configuration in Onet.xml, see How to: Use Site Definition Configurations (http://go.microsoft.com/fwlink/p/?LinkId=183465).

Deploy a site definition by using a solution package

To deploy a custom site definition by using a solution package, add a SiteDefinitionManifest element to the manifest file of the solution package. Add the TemplateFiles element to define the template files that must be deployed in a subfolder of the \14\Template folder

Add a SiteDefinitionManifest element

The SiteDefinitionManifest element has a Location attribute that picks up all the files in the specified folder and creates the required folder in the \14\Template\SiteTemplates folder. The WebTempFile child element deploys the webtemp*.xml file to make the template known to SharePoint 2010 Products, as shown in the following example:

Copy Code
  <SiteDefinitionManifests>
    <SiteDefinitionManifest Location="LitwareSiteTemplate">
      <WebTempFile Location="1033\xml\webtempLitware.xml" />
    </SiteDefinitionManifest>
  </SiteDefinitionManifests>

Add a TemplateFile element

The TemplateFile element in a solution manifest file is used to define the template files that must be deployed in a subfolder of the \14\Template folder. An example of the kind of file you can deploy in this way is the fldtypes*.xml file, which defines the details of a custom field type. Use the Location attribute to specify the relative path to the file, which is indicated by the string "Text" in the following example:

Copy Code
  <TemplateFiles
    <TemplateFile
      Location="Text"/>
      ...
  </TemplateFiles>

For more information about how to deploy solutions, see Deploy solution packages (SharePoint Server 2010).


Workflow deployment process (SharePoint Server 2010)
See Also

After you prepare a workflow for use in Microsoft SharePoint Server 2010, deployment of the workflow varies depending on whether you use a predefined workflow, a Microsoft Office SharePoint Designer workflow, or a Microsoft Visual Studio custom workflow.

This article contains information and procedures about how to deploy workflows in SharePoint Server 2010.

In this article:

  • Overview

  • Before you begin

  • Deploying workflows

  • Verification

Overview

SharePoint Server 2010 provides a set of predefined workflows that can be used to guide and track common tasks such as document review or approval.

You can also use Office SharePoint Designer to define your own workflows, or you can use Visual Studio to create code-based custom workflows. Workflows are built on Windows Workflow Foundation. For more information, see Windows Workflow Foundation (http://go.microsoft.com/fwlink/p/?LinkId=166185). The workflows run in SharePoint sites and are integrated with and available across the Microsoft Office system, as follows:

  • SharePoint Server 2010: Used to host workflows. After a workflow is deployed to the host, you can activate, configure, start, participate in, and track the workflow.

  • SharePoint Designer 2010: Used to create user-defined workflows.

  • Visual Studio: Used by developers to create workflows.

  • Microsoft Visio 2010: Used together with SharePoint Designer 2010 to visualize and create user-defined workflows.

  • Microsoft Word, Microsoft PowerPoint, Microsoft Excel, and InfoPath Forms Services: Used to start and participate in workflows.

  • Microsoft Outlook: Used to receive workflow notifications and track tasks.

Important:

The last two items in this list that relate to integration with the Microsoft Office 2010 suites and InfoPath Forms Services are available only in SharePoint Server 2010. They are not available in SharePoint Foundation 2010.

Note:

To use Visio 2010 for workflow visualization, you must be running the Enterprise version of SharePoint Server 2010 and Visio 2010 Premium.

Before you begin

Before you perform the deployment procedures in this article, confirm that the server is running the Standard or Enterprise version of SharePoint Server 2010.

Deploying workflows

A number of predefined workflows have already been installed as SharePoint Features in SharePoint Server 2010.

Workflows in a SharePoint Web site are stored as workflow templates. As an alternative to using the predefined workflows, you can create SharePoint workflow templates in Office SharePoint Designer and Visual Studio, and then deploy them to a SharePoint Server 2010 Web site. Use SharePoint administration tools as needed to add the template to libraries or lists on a SharePoint Server 2010 Web site.

To deploy a predefined workflow, you activate it for the site, associate it with a list, library, content type, or site, and then start the workflow.

To deploy workflows in SharePoint Server 2010, use the appropriate procedure from the following:

  • Deploy predefined workflows

  • Deploy SharePoint Designer workflows

  • Deploy Visual Studio workflows

Deploy predefined workflows

Activate the workflow

As described earlier in this article, before you can use a predefined workflow, it must be active in the site or site collection. Only active workflows can be associated with the lists and libraries on the site or site collection.

Many of the predefined workflows are active by default when a site or site collection is created. Because workflows can be deactivated, you can check the site or site collection to determine whether the predefined workflow that you want to use is active. Use the following procedure to determine whether the predefined workflow that you want to use is active, and then activate the predefined workflow as necessary.

Note:

In SharePoint Foundation 2010 there is only one predefined workflow, the Three-state workflow, and it is active by default when a site or site collection is created in SharePoint Foundation 2010.

To activate a workflow that is deployed as a feature, such as the predefined workflows, see Activate or deactivate a workflow (SharePoint Server 2010).

Add the workflow association to a list, library, content type, or site

When you add a workflow, you associate the workflow with a list, library, content type, or site. You configure the workflow by specifying parameters such as the workflow name, start options, participants, and completion options.

To add a workflow association, see Add a workflow association (SharePoint Server 2010).

Start the workflow

After you activate a workflow and add it to a list, library, content type, or site, an authenticated user can run the workflow on an item in the list, on a document in the library, or on a site in the case of a site workflow. When you add the workflow, you specify whether you want the workflow to run automatically or manually. If the workflow is configured to start automatically, the default settings are always used when the workflow begins. If the workflow is configured to start manually, a user can modify the default settings, such as specifying workflow participants and specifying a due date. The workflow runs on items in the list or documents in the library with which the workflow is associated.

The procedure for starting a workflow depends on whether it was configured to start manually or automatically and whether you start it from SharePoint Foundation 2010 or SharePoint Server 2010, or from the Office system.

Note:

To enable users to start workflows in the Office 2010 suites, you must be running SharePoint Server 2010. SharePoint Foundation 2010 does not enable users to start workflows in the Office 2010 suites.

For more information, see Start a workflow instance (SharePoint Server 2010).

Deploy SharePoint Designer workflows

When user-defined workflows are enabled, users can deploy Office SharePoint Designer workflows on their sites.

Enable user-defined workflows

To allow users to create and run SharePoint Designer 2010 workflows, you must ensure that user-defined workflows are enabled for the site collection. By default, this setting is enabled. When this setting is enabled, users can define workflows in a declarative workflow editor such as the SharePoint Designer 2010 workflow editor. A declarative workflow is a workflow that is built from conditions and actions that are assembled into rules and steps, and that sets the parameters for the workflow without writing code. Unlike code-centric workflows such as those that are created by using Visual Studio, declarative workflows are not deployed to SharePoint Server 2010 as compiled code. Instead they are compiled at runtime.

Because the capability to use declarative workflows on the Web application can be turned off, you can check the Web application to determine whether declarative workflows are active.

For information, see Enable or disable declarative workflows (SharePoint Server 2010).

Create a SharePoint Designer workflow

By using the Workflow Designer wizard in SharePoint Designer 2010, you can create workflows that add application logic to the site or site collection without writing custom code. The Workflow Designer incorporates the tasks of creating the workflow, activating the workflow, and adding it to the list, library, or site. You do not have to perform any manual configuration tasks outside the designer to deploy the workflow. However, if you publish a workflow template to a SharePoint site collection, you can download that template as a WSP file and then deploy it to other site collections. For more information, see Deploy a workflow as a WSP file (SharePoint Server 2010).

Start the workflow

Because SharePoint Designer 2010 can automatically activate the workflow and add it to a list, library, or site, an authenticated user can then run the workflow on an item in the list, on a document in the library, or on a site in the case of a site workflow. When you create the workflow in SharePoint Designer 2010, you specify whether you want the workflow to run automatically or manually. If the workflow is configured to start automatically, the default settings are always used when the workflow begins. If the workflow is configured to start manually, a user can modify the default settings, such as specifying workflow participants and specifying a due date, as allowed by the workflow template. When started, the workflow runs on items in the list, on documents in the library, or on the site with which the workflow is associated.

The procedure for starting a workflow depends on whether it was configured to start manually or automatically and whether you start it from SharePoint Server 2010, or from the Office system.

Note:

To enable users to start workflows in the Microsoft Office 2010 suites, you must be running SharePoint Server 2010. SharePoint Foundation 2010 does not enable users to start workflows in the Office 2010 suites.

For more information, see Start a workflow instance (SharePoint Server 2010).

Deploy Visual Studio workflows

After a Visual Studio custom workflow is created and installed, the processing to deploy it resembles that of a predefined workflow.

Create a custom workflow

When a custom workflow is created by using Visual Studio, it is packaged as a SharePoint Feature. Feature packaging is a way of encapsulating SharePoint solutions and functionality for ease of deployment. After the development team has created a workflow and packaged it as a Feature, deploy the workflow using the Install-SPFeatureWindows PowerShell command as described in the following section.

Install the custom workflow

You install Features in the \Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\Template\Features directory. Each Feature is in its own subdirectory. At the root of this folder, a Feature.xml file defines the contents of the Feature. Use the Windows PowerShellInstall-SPFeature cmdlet to install the Feature. For details, see Install-SPFeature.

Important:

To run Windows PowerShell, you must be a member of the Administrators group on the local computer. Also, Windows PowerShell must be enabled as a feature on the server on which you are installing a workflow.

Activate the workflow

Before you can use a Visual Studio workflow that was deployed as a feature, you must activate it for the site collection. Only active workflows can be associated with the lists, libraries, content types, and sites.

To activate a workflow that is deployed as a feature, see Activate or deactivate a workflow (SharePoint Server 2010).

Add the workflow to a list, library, content type, or site

When you add a workflow, you associate the workflow with a list, library, content type, or site, and you configure the workflow by specifying parameters such as the workflow name, start options, participants, and completion options.

To add a workflow association, see Add a workflow association (SharePoint Server 2010).

Start the workflow

After you activate a workflow and add it to a list, library, content type, or site, an authenticated user can run the workflow on an item in the list or a document in the library or in the case of a site workflow, on a site. When you add the workflow, you specify whether you want the workflow to run automatically or manually. If the workflow is configured to start automatically, the default settings are always used when the workflow begins. If the workflow is configured to start manually, the user can modify the default settings, such as specifying workflow participants and specifying a due date. The workflow runs on items in the list or documents in the library with which the workflow is associated.

The procedure for starting a workflow depends on whether it was configured to start manually or automatically and whether you start it from SharePoint Foundation 2010 or SharePoint Server 2010, or from the Office system.

Note:

To enable users to start workflows in the Office 2010 suites, you must be running SharePoint Server 2010. SharePoint Foundation 2010 does not enable users to start workflows in the Office 2010 suites.

For more information about starting a workflow, see Start a workflow instance (SharePoint Server 2010).

Verification

After you deploy a workflow, we recommend that you test the workflow to ensure that it is functioning correctly, sending e-mail notifications to the correct workflow participants at the correct stages in the workflow, and delivering the expected results.

See Also

Other Resources

Resource Center: Installation and Deployment for SharePoint Server 2010
Resource Center: Workflows in SharePoint Server 2010


Deploy software updates for SharePoint Server 2010

Published: July 8, 2010

Microsoft periodically releases software updates for Microsoft SharePoint Server 2010. It is important to understand what these updates are and how to deploy them to servers or server farms. This section describes the software update process for SharePoint Server.

In this section:

  • Software updates overview (SharePoint Server 2010)

    This article provides an overview of the software update process for SharePoint Server.

  • Prepare to deploy software updates (SharePoint Server 2010)

    This article helps you determine which approach to use to update the servers or server farms in your environment, and lists the steps that you must take before you can start to install the update.

  • Install a software update (SharePoint Server 2010)

    This article contains instructions for installing a software update and upgrading your content to that level.

  • Service Pack 1 (SP1) for SharePoint Server 2010 (white paper)

    This article describes the features that are included in Microsoft SharePoint Server 2010 with Service Pack 1 (SP1), and provides guidelines to help ensure your solutions work with current and future releases of SharePoint Server 2010.

  • Deploying SharePoint Server 2010 updates on mission critical sites

    This article describes a build-to-build upgrade that uses the database attach approach to deploy a software update on a Microsoft SharePoint Server 2010 farm


Software updates overview (SharePoint Server 2010)
See Also

Published: July 8, 2010

This article provides an overview of deploying software updates on a Microsoft SharePoint Server 2010 farm.

In this article:

  • Improvements and new features

  • Intended audience and scope

  • Software update process

  • Software update strategy

  • Software update deployment cycle

Improvements and new features

SharePoint Server 2010 introduces improvements and new features that facilitate a better end-to-end software update experience. Some of these features are as follows:

  • There is support for backward compatibility between update versions on different servers, which enables you to install the update binary files and postpone update completion to a later time.

  • You can update multiple Microsoft SharePoint Server servers concurrently to shift the workload to the database servers.

  • There is full support for automatic updates that use Windows Server Update Services (WSUS), Windows Update, and Microsoft Update.

    Note:

    An automatic update will install the binary files on the farm servers, but you must complete the software update by running the upgrade on the servers.

  • Administrators can monitor the status of the update by using the Central Administration Web site or Windows PowerShell.

For more information about SharePoint Server improvements and new features, see What's new in upgrade (SharePoint Server 2010).

Intended audience and scope

The information that is provided about the software update process is intended for all IT professionals who maintain SharePoint Server 2010. However, the specific instructions for installing a software update are intended for IT professionals who have to deploy software updates on a SharePoint Server server farm.

The information in this article applies to the following products:

  • SharePoint Server 2010

  • SharePoint Server 2010 language pack

  • Microsoft Filter Pack

Note:

The process for installing software updates in stand-alone environments of SharePoint Server is a simpler process than the process for installing software updates in a server farm and does not require all the steps that are required for a server farm.

Software update process

It is important to understand that deploying updates in a SharePoint Server 2010 environment is a two-phase process: patching and upgrading. The term patch is used in this article to differentiate between updating the software and upgrading the software.

Each phase has specific steps and results. It is possible to postpone the upgrade phase.

Caution:

Inconsistent farm behavior may result from postponing the upgrade for more than several days. The longer the postponement, the larger the risk is that farm behavior issues will occur.

Update phase

The patch phase has two steps, the patching step and the deployment step. During the patching step, new binary files are copied to the Central Administration server. Any services that are using files that have to be replaced are temporarily stopped. Stopping services reduces the requirement to restart the server to replace files that are being used. However, there are some instances when you must restart the server.

The second step in the patch phase is the deployment step. In this step, the installer copies support files to the appropriate directories on the server that is running SharePoint Server. This step ensures that all the Web applications are running the correct binary files and will function correctly after the update is installed. The update phase is complete after the deployment step.

The next and final phase to deploy software updates is the upgrade phase.

Upgrade phase

After you finish the patch phase, you must complete the update installation by starting the upgrade phase. The upgrade phase is task intensive and, therefore, takes the most time to finish. The first action is to upgrade all the SharePoint Server processes that are running. After the processes are upgraded, the databases are crawled and upgraded. Because the upgrade process can run on a single server, the other servers in the farm can continue to serve requests.

For more information about upgrades, see Upgrade process overview (SharePoint Server 2010).

Software update strategy

The update strategy that you select will be based primarily on one of the following factors:

  • The amount of downtime that is acceptable for installing the update.

  • The additional staff and computing resources that are available to reduce downtime.

When you are determining your update strategy, consider how the strategy enables you to manage and control the update.

In terms of downtime reduction, the following options, ordered from most to least downtime, are available:

  • Install the update and do not postpone the upgrade phase.

  • Install the update and postpone the upgrade phase.

  • Install the update with the shortest possible downtime and postpone the upgrade phase.

Software update deployment cycle

The cycle that is used for upgrading SharePoint Server farms and servers also applies to deploying software updates, which are a subset of an upgrade. We recommend that you use the update cycle that is shown in the following illustration as a guide to deploy software updates.

The software update deployment cycle

Learn

During this phase of the cycle the purpose is to learn what is required to install the update. This information also affects new servers that you want to update and then add to the farm.

Requirements and prerequisites

First, ensure that the system can be provisioned as a farm server. For more information, see Hardware and software requirements (SharePoint Server 2010). Ensure that any server that you plan to update is running the same version of the operating system as the other farm servers. This includes updates, service packs, and security hotfixes.

Update strategy

Determine which strategy you want to use to update the farm. Depending on your requirements, you can use one of the following strategies:

  • In-place

  • Database attach

You can use either of the previous strategies to create a hybrid approach that is tailored to your environment. For more information, see Determine upgrade approach (SharePoint Server 2010).

Downtime reduction

Research and assess the options that are available for reducing downtime. The first thing to check for is missing dependencies, which may extend the amount of downtime. Identify all the dependencies for the update and either address these dependencies before you start to deploy the update, or factor the time cost into your schedule. Consider using read-only content databases and doing parallel upgrades to reduce downtime.

Important:

We strongly advise against using alternate access mapping URL redirection (AAM) with database attach as an option for downtime reduction. AAM was not designed to deploy software updates. For more information, see Using AAM URL redirection as part of the upgrade process (SharePoint Server 2010) (white paper).

Common issues

Identify and address common issues such as missing or out-of-date dependencies and lack of space on the servers where the update will be installed.

Prepare

Prepare for the software update by documenting the environment and planning an update strategy to ensure that the update will go as planned in the expected downtime window.

Document the environment

The purpose of documenting the environment is to determine what is unique in your farm. You can use several techniques to gather information about your farm, such as manual inspection, comparisons by using WinDiff, and Windows PowerShell commands.

Document, as appropriate, the following elements of the environment:

  • Farm topology and site hierarchy

  • Language packs and filter packs that are installed

  • Customizations that could be affected by the update

Manage customizations

Customizations are typically one of the top issues during a farm upgrade or software update. Identify your farm customizations and determine whether they might be affected by the update. If in doubt, err on the side of caution and determine how you will manage the customizations. You must ensure that customizations will work after the software update. You can use the Stsadm command, ExportIPFSAdminObjects, to collect and export customizations.

For more information, see Determine how to handle customizations (SharePoint Server 2010).

Plan the update strategy

During the Learn phase of the update cycle, you should have determined an update strategy and the required downtime minimization. In addition to determining hardware, space, and software requirements, you must include the following in your update strategy:

  • The update sequence for the farm servers

  • The order of operations

  • The downtime limits and how you plan to reduce downtime

  • A rollback process if there is a major problem

Tip:

Clean up the farm environment before you deploy the update. The benefits of a cleanup are improved update installation performance and the elimination of potential issues during and after the software update. For more information, see Clean up an environment before upgrade (SharePoint Server 2010).

The two final requirements for the update strategy are a communication plan and an update schedule.

It is very important to communicate with site owners and users about what to expect during an upgrade. The administrator should inform them about downtime and the risk that the upgrade may take longer than expected or that some sites may need some rework after upgrade. For more information, see Create a communication plan (SharePoint Server 2010).

Create a benchmark update operations schedule that contains the start times of operations related to the update deployment. At a minimum, the plan should include the following operations:

  • Back up the farm.

  • Start the update of the farm servers.

  • Start the upgrade of the farm databases.

  • Start a rollback of the environment, if it is required.

  • Resume the upgrade, if it is required.

  • Verify that the environment is completely working, either as the original version if you rolled back or the new version if you completed the upgrade.

Make farm items update-ready

Ensure that farm items are ready for the update. Farm items are ready if they are backed up, documented, or updated to ensure that the update can be installed. Verify that the following aspects of a farm are update-ready:

  • Solutions

  • Features

  • Site definitions

  • Web Parts

Test

The rigor, thoroughness, and detail of your tests determine the success or failure of the software update deployment. In a production computer environment there are no safe shortcuts, and there are consequences from insufficient testing. For more information, see Use a trial upgrade to find potential issues (SharePoint Server 2010).

Build a test farm

Build a test farm that is representative of the production environment. We recommend that you use a copy of the production data to determine potential problem areas and monitor overview system performance during the upgrade. The key indicator is the length of time it takes from the beginning to the end of the deployment process. This should include backup and validation. You can incorporate this information into the update schedule.

If possible, use hardware in the test environment that has equivalent performance capabilities to the production servers.

Tip:

Consider the use of a test farm in a virtual environment. After you finish the tests, you can shut down the virtual farm and use it later for future updates.

Evaluate techniques

A test farm also enables you to evaluate the techniques that you plan to use to update the production environment. In addition to testing and assessing your downtime reduction strategy, you can refine update monitoring. This is especially important in the areas of validating and troubleshooting the software update.

Implement

The update strategy that you use will determine whether you have to build a new farm or deploy the update on the current farm servers.

Build or update farms

Whether you build a new farm or do an in-place update, the most important farm elements to consider are as follows:

  • Content

  • Services

  • Service applications

Deploy customizations

Use solutions whenever possible so that you can quickly deploy any customizations.

Reduce downtime

Reduce downtime by using techniques such as read-only databases and update parallelism. For more information, see Determine upgrade approach (SharePoint Server 2010).

Monitor progress

The refined techniques that you use to monitor the software update in the test environment carry over to deploying the update in the production environment. Use the Upgrade and Migration page in Central Administration to monitor the status indicators that are available. This feature enables live monitoring and provides a single location to view the patch status for all farm servers. Additionally, you can use the Upgrade and Migration page to view the update status for individual servers and the status and type of farm databases. Finally, a valuable aspect of monitoring by using Central Administration is identifying farm servers that must be updated.

The following tables describe the status information that is available in Central Administration.

Status value | Description | Hyperlink
No action required | Farm server does not currently require any action to be taken by the administrator. | No hyperlink
Installation required | Farm server is missing an .msi file that is set to mandatory for all farm servers, or has a patch level below the individual farm-wide effective patch version. | Hyperlink to the Patch Deployment State page
Upgrade in progress | Farm server is currently undergoing an upgrade operation. | Hyperlink to the Upgrade Status page
Upgrade available | Farm server is running in backward-compatibility mode. | Hyperlink to the Upgrade and Migration page
Upgrade required | Farm server is outside the backward-compatibility mode range with one or more databases. | Hyperlink to the Upgrade and Migration page
Upgrade blocked | If an upgrade is available and any farm server requires installation, the remaining servers that do not require installation will be set to this status unless they are currently undergoing an upgrade. | Hyperlink to the Patch Deployment State page

Status value | Description
Installed | Indicates that no action is required
Missing/Required | Displayed if a product is required on each server or if a patch for a specific .msi file is located on one server but not on the server for which this status is shown
Missing/Optional | Displayed if a product is not required on each server
Superseded | Displayed if an update is no longer required on a server because a newer patch supersedes it

Other tools to monitor the update process are log files and Windows PowerShell commands.

Important:

Remember to monitor the length of time that the update is taking. Compare current update processes against the benchmark schedule to determine whether the update will meet the downtime window. If not, you should communicate this information to the farm users.

Validate

You can start to validate the success of the update during the implementation phase and continue validation after the update is implemented.

Logged event failures

Review the event logs to discover any issues that occurred during the deployment. Resolve these issues and then resume or restart the update as appropriate.

User interface or experience issues

Any user interface or user experience issues will surface on site pages. Look for the following issues:

  • Ghosting

  • User interface version mismatch

  • HTML and XHTML compliance

Additional issues may include missing templates, user identifiers, and content issues such as large lists.

Data issues

Data issues result from the condition of the farm databases and can include all or some of the following:

  • Connectivity issues to data sources

  • Database corruption

  • Orphaned items

  • Hidden column data

In some cases there may be minor issues that you can troubleshoot and then resume or restart the update. Be prepared to roll back the update as soon as there are issues that cannot be easily resolved.

See Also

Other Resources

Resource Center: Updates for SharePoint 2010 Products


Prepare to deploy software updates (SharePoint Server 2010)
See Also

Published: July 8, 2010

This article describes the required and recommended tasks that have to be completed before you install software updates on servers in a Microsoft SharePoint Server 2010 farm.

In this article:

  • Verify account permissions and security settings

  • Determine the update approach

  • Back up the environment

  • Document the environment

  • Determine whether related items need to be updated

  • Obtain the software update and prepare the installation source (optional)

Verify account permissions and security settings

Verify that you have the required account permissions and know which security settings are in place on the farm. For more information, see Account permissions and security settings (SharePoint Server 2010).

Determine the update approach

There are two basic options for deploying a software update on a farm: in-place and database attach. Additionally, these options can be combined to use one of the hybrid approaches that are described in Determine upgrade approach (SharePoint Server 2010).

Note:

Because installing a software update is a subset of a software upgrade, documentation about software upgrades applies to deploying software updates.

The differences between the two update approaches are as follows:

  • In-place update: This approach is the easiest to do. With this method, the amount of downtime required is directly related to the size and complexity of the farm. You have two choices for an in-place update:

    • In-place without backward compatibility - The update is installed on all the farm servers at the same time and the content is upgraded without using backward compatibility. No downtime reduction is available for this method.

    • In-place with backward compatibility to reduce downtime - The update is installed in stages and uses postponed upgrade with backward compatibility to reduce downtime.

  • Database attach: This approach is more complex than an in-place update, and it costs more in person time and hardware resources. This update method uses two farms to provide high availability for existing content.

When you use either the in-place with backward compatibility method or the database attach method, you can use a postponed upgrade so that you can choose to upgrade the content first and then the farm and servers afterward.

We recommend that you use the following flowchart, which presents the key decision points and subsequent actions, for determining which update approach to use.

Decision flow chart to determine update strategy

Whichever method you choose to use for updating your servers, you can use either the SharePoint Products Configuration Wizard or Windows PowerShell cmdlets to upgrade your content.

Back up the environment

To ensure that you can recover the existing environment in case something goes wrong during the update deployment process, we recommend that you back up the SharePoint Server 2010 environment before you start to install the update. A failed software update can be caused by factors other than the update process, such as the following:

  • Media failure

  • User errors (such as deleting a file by mistake)

  • Hardware failures (such as a damaged hard disk or permanent loss of a server)

  • Power failures

  • Natural disaster

You can back up all or part of a farm. The following list summarizes the farm components that can be backed up individually:

  • Configuration settings

  • Web applications

  • Service applications

  • Search

  • Secure store service

  • Site collections

  • Logs

For more information about how to determine what you need to back up and which method to use to do so, see Plan for backup and recovery in SharePoint Server 2010. After you determine which farm elements you will back up, refer to the articles listed in Backup SharePoint Server 2010. These articles provide detailed instructions and guidance for backing up all or part of a farm.

Important:

Test the farm backups before you start to deploy the software update. You have to be sure that these backups are valid so that you can recover if there is a hardware failure or data corruption during the update process.

Document the environment

Be sure to document the farm, including any custom components in the farm, in case you need to rebuild. For more information about creating an inventory of customizations, see Identify and install customizations in the Upgrade guide. In addition, document unique things about your farm, such as the following:

  • Any large lists

  • Any sites with large access control lists (ACLs)

  • Any sites that are critical to your organization

Having a list of these items will help you more quickly validate your environment after you apply an update.

Determine whether related items need to be updated

Consider whether the following related items need to be updated when you update your farm:

  • Filter packs

  • Office Web applications

  • Language packs

All these items are updated separately from SharePoint Server 2010. Check to see if any updates to these items are available, and evaluate whether you want to apply the updates to your farm when you apply the updates for SharePoint Server 2010. Language packs are usually only updated when service packs (SP1, SP2, and so on) are released.

Obtain the software update and prepare the installation source (optional)

If the servers on which you want to install SharePoint Server 2010 are isolated from the Internet, it is usually necessary to install software updates from an offline location. Even if the servers are not isolated, if you install software updates from an offline central location, you can ensure farm server consistency by installing a well-known and controlled set of images. Use the following procedure to prepare a software update for installation on a farm server.

You do not need to perform this procedure if you are downloading and installing the update directly to your servers.

To prepare an installation source

  1. Download the software update that you want to install.

  2. Extract the software update to a shared location by using the following command:

    <package> /extract:<path>

    The /extract switch prompts you to provide a folder name for the files. An example of a folder name for x64 systems is as follows:

    sps-kb999999-x64-fullfile-en-us.exe /extract:<\\computername\updateshare\Updates>

  3. Copy the extracted files from the shared location to an Updates folder that you create on the computer where you want to start to install the update.

    Note:

    You must use the name Updates for this updates folder. If you use the SupdateLocation="path-list" property to specify a different location, Setup stops responding.

You can now use this location as an installation point, or you can create an image of this source that you can burn to physical media or save as an ISO file.

Slipstream package

In server farm deployments, all the Web servers must have the same software update version applied. This means that, before you add a new Web server to an existing server farm, the new Web server must have the same software updates as the rest of the Web servers in your server farm. Likewise, when you create a farm, all servers in the farm must have the same software updates. To make sure that all new servers have the same software updates applied, we recommend that you create an installation source that contains a copy of the release version of the software, together with software updates that match those installed on your server farm (also known as a slipstreamed installation source). When you run Setup from this updated installation source, the new Web server will have the same software update version as the rest of the Web servers in your server farm. For more information, see Create an installation source that includes software updates (Office SharePoint Server 2007) [http://technet.microsoft.com/en-us/library/cc261890(office.12).aspx].

See Also

Other Resources

Resource Center: Updates for SharePoint 2010 Products


Install a software update (SharePoint Server 2010)
See Also

Published: July 8, 2010

This article describes how to install a software update on servers in a Microsoft SharePoint Server 2010 farm. Additionally, three example scenarios are discussed and an update procedure is provided for each scenario.

In this article:

  • Verify the update strategy

  • Monitor installation progress

  • Handle update failures

  • Review update scenarios

  • Use the in-place method without backward compatibility

  • Use the in-place method with backward compatibility

  • Use the database attach method for high availability of existing content

  • Verify update completion and success

Verify the update strategy

Before you start to deploy the software update, verify that the update strategy that you plan to use is optimal for your Microsoft SharePoint Server environment. There are several factors, such as downtime reduction, cost, and complexity that determine which strategy to use to deploy a software update. Use the flowchart in the "Determine Update Strategy" section of Prepare to deploy software updates (SharePoint Server 2010) to verify the update strategy that you want to use: in-place, database attach, or a hybrid.

Monitor installation progress

Monitor the update deployment process during the update to verify that the update is proceeding as planned. There may be issues that will block the update or that will result in an updated farm that has elements that do not work as expected. Pay extra attention to database synchronization and customizations.

We recommend that you use the Upgrade and Migration view in Central Administration as the primary tool for viewing product and patch installation status, data status, and upgrade status in real time.

After Setup runs, you can also view the log files and use Windows PowerShell to obtain the current results of the installation progress.

Handle update failures

SharePoint Server 2010 provides an improved approach to handling upgrade failures after the patching phase finishes. If an update fails and you are running in backward compatibility mode, you can restore the SharePoint Server database and continue to run in backward compatibility mode. After the update issue is resolved for the site, you can resume the upgrade. Any tasks that were completed are not run again. For more information, see Testing and troubleshooting upgrade (SharePoint Server 2010).

If an update failed in earlier SharePoint Products and Technologies environments, you usually had to uninstall the product, install the older version, and then restore from a backup.

Review update scenarios

The following software update scenarios are discussed in this article:

  • In-place without backward compatibility - The update is installed on all the farm servers at the same time and the content is upgraded without using backward compatibility.

  • In-place with backward compatibility to reduce downtime - The update is installed in stages and uses deferred upgrade with backward compatibility to reduce downtime.

  • Database attach for high content availability - This update uses two farms to provide high availability for existing content.

For more information about how the in-place and database attach processes work, see the diagrams in the following article: Upgrade process overview (SharePoint Server 2010). Note that these articles are about how to upgrade across software versions, not how to install software updates. However, the general process is very similar.

The following illustration shows the farm topology that is used as an example for each patching scenario that is described in this article.

Example farm for installing software update

Initial state and required conditions

The preceding illustration shows the initial state of the farm before you install the update. Verify that the following conditions are true:

  • All the front-end Web servers are load balanced together and are in rotation with the load balancer.

  • All the farm servers are operating correctly.

  • All the databases are active and operating correctly.

Do not start the software if any of the preceding conditions are not true. Resolve all issues before you continue.

Use the in-place method without backward compatibility

In this scenario the complete farm is shut down by disabling incoming requests to the front-end Web servers and then installing the update on all the farm servers. This strategy combines the update and the upgrade phase described in the "Software Update Process" section in Software updates overview (SharePoint Server 2010).

The following illustration shows the sequence of steps to follow to install the update on the farm.

In-place update without backward compatibility

Use the preceding illustration as a guide for using the recommended steps in the following procedure.

To install an update without backward compatibility

  1. Remove the Web servers (WEB-1 to WEB-4) from rotation in the load balancer, or pause the load balancer to stop incoming requests to the servers.

  2. Run the executable file to install the update on the application server that hosts Central Administration (APP-1).

  3. Run the executable file to install the update on the application server that hosts the search query component (APP-2).

  4. Verify that all the servers were updated successfully.

  5. Log on to the first Web server (WEB-1).

  6. Run the executable file to install the update on the Web server.

  7. Run the executable file to install the update on the remaining Web servers (WEB-2, WEB-3, and WEB-4).

  8. Verify that all the servers were updated successfully.

  9. Run the SharePoint Products Configuration Wizard on the Central Administration server (APP-1) to upgrade the configuration database and upgrade each content database serially.

  10. Run the SharePoint Products Configuration Wizard on the application server that hosts the search query component (APP-2).

  11. Run the SharePoint Products Configuration Wizard on the first Web server (WEB-1).

    Note:

    Run the configuration wizard to ensure that if the update fails for a specific server, the error is not propagated to the other Web servers. For example, a failed upgrade for one server could make the upgrade fail for one or more site collections.

  12. Repeat the preceding step for each remaining Web server.

  13. Verify update completion and success. For more information, see Verify update completion and success.

  14. Add the Web servers (WEB-1 to WEB-4) to the rotation in the load balancer, or start the load balancer to enable incoming requests to the servers.

Use the in-place method with backward compatibility

This scenario takes advantage of the backward compatibility of SharePoint Server 2010 and the deferred upgrade feature to reduce the downtime that is required to deploy a software update. However, downtime is not completely eliminated. The sites and services will not be available while the content is being upgraded.

This software update scenario uses two phases to install the update on farm servers. These phases are as follows:

  • Update to install the update on the farm servers.

  • Upgrade to complete the patching process.

During the update phase, the farm can continue to be in production with minimal to no downtime. However, during the upgrade phase, the farm will be unavailable. If you attempt to access content while the farm is upgrading, the result could be failed upgrades or excessive slowdowns in the upgrade process because of resource contention and locking. Such an attempt is unsupported and untested.

For more information about the software update process, see "The Software Update Process" section in Software updates overview (SharePoint Server 2010).

Update phase

The following illustration shows the sequence of steps that are required to install the update on the farm.

In-place update with backward compatibility

Use the preceding illustration as a guide for using the recommended steps in the following procedure.

To install the update on farm servers

  1. Remove half of the Web servers (WEB-1 and WEB-2) from rotation in the load balancer, or pause the load balancer to stop incoming requests to the servers.

  2. Run the executable file to install the update on each Web server that is out of the load-balancing rotation (WEB-1 and WEB-2). Do not run the SharePoint Products Configuration Wizard on either of these servers. Verify that both of the Web servers were updated successfully.

  3. Remove the remaining Web servers (WEB-3 and WEB-4) from rotation in the load balancer, or pause the load balancer to stop incoming requests to the servers. At this point none of the front-end Web servers are receiving requests for the farm.

  4. Add the updated Web servers (WEB-1 and WEB-2) back into the load-balancing rotation.

  5. Run the executable file to install the update on each Web server that is still out of the load-balancing rotation. Do not run the SharePoint Products Configuration Wizard on either of these servers. Verify that both of the Web servers were updated successfully.

  6. Add the updated Web servers (WEB-3 and WEB-4) back into the load-balancing rotation.

  7. Run the executable file to install the update on the application server that hosts the search query component (APP-2). Do not run the SharePoint Products Configuration Wizard on this server.

  8. Run the executable file to install the update on the Central Administration server (APP-1). Do not run the SharePoint Products Configuration Wizard on this server.

  9. Verify that both of the application servers (APP-1 and APP-2) were updated successfully.

  10. Verify update completion and success. For more information, see Verify update completion and success.

At this point in the process, the databases and other components such as settings, features, and site-level data must still be upgraded because the SharePoint Products Configuration Wizard was not run on any of the farm servers. However, the farm should be capable of running in backward compatibility mode.

Upgrade phase

The following illustration shows the sequence of steps that are required to finish the patching process by upgrading the farm servers. During this process, the sites that are being upgraded will not be available to users.

Upgrade phase of an in-place software update

Use the preceding illustration as a guide for using the recommended steps in the following procedure.

Important:

Monitor the status of the upgrade on each server before you upgrade the next server in the sequence. It is highly recommended that you create a backup of the farm before beginning upgrade.

The following procedure shows all the steps to upgrade the farm. You can upgrade all components within the same outage window, or you can take some smaller outage windows and upgrade separate parts of the farm at different times. If you want to break up the upgrade stage, you can upgrade the following components in separate outage windows:

  • Services

    If the software update contains updates to services that must be applied, you can upgrade the service, and then resume operating the farm (steps 7 and 8 in the procedure) until it is possible to take a longer farm outage to complete the content and farm upgrade.

  • Content databases

    You can take a short farm outage to upgrade only a few content databases (steps 1 through 3 in the procedure) each time and then resume farm operation (steps 7 and 8). You can repeat the process over successive outage windows until all content is upgraded and the farm servers are ready to be upgraded.

    You can also upgrade individual content databases in parallel for a very small number of content databases at the same time. However, do not attempt to upgrade too many content databases in parallel because it will slow down the overall upgrade process and extend the outage time. We recommend that you do not upgrade more than two content databases on the same Microsoft SQL Server volume at a time and that you stage the starting time of the upgrade for each content database that will occur in parallel by several minutes to prevent lock contention as the upgrade process starts. In addition, limit the number of content databases that are being upgraded on a single Web or application server because each additional upgrade process will consume a relatively large amount of resources. The typical number of content databases that can be upgraded per Web or application server is four databases. However, be sure not to exceed the number of databases that are being upgraded per SQL Server volume, no matter which Web or application server originates the upgrade.

To upgrade the farm

  1. Remove the Web servers (WEB-1 to WEB-4) from rotation in the load balancer, or pause the load balancer to stop incoming requests to the servers.

    Important:

    The sites and services will not be available until upgrade is complete and the servers are returned to an active load-balancing state.

  2. Upgrade specific services, as needed.

    Some updates might also require you to run additional Windows PowerShell cmdlets to upgrade specific service applications. If the notes for the software update indicate that a specific service must be upgraded so that it will continue to operate after patching, as in the case in which a service cannot operate in backward compatibility mode, a short farm outage can be taken so that the service can be upgraded without having to upgrade the complete farm. The additional Windows PowerShell cmdlets to upgrade specific service applications should be indicated in the notes if this is required.

  3. Use the Windows PowerShell Upgrade-SPContentDatabase cmdlet to upgrade each content database.

    This is an optional step, but it will help ensure that all content databases are upgraded first. It has the advantage of enabling some parallelism to reduce the outage time. If it is not performed, all remaining non-upgraded content databases will be upgraded serially when you run the SharePoint Products Configuration Wizard to upgrade the farm servers.

    Important:

    Run the Upgrade-SPContentDatabase cmdlet for each database. You can run this cmdlet from any of the upgraded Web servers or application servers. Note that the content for each database will be unavailable while this process is running on that database.

  4. Run the SharePoint Products Configuration Wizard on the Central Administration server (APP-1).

    Important:

    The SharePoint Products Configuration Wizard also starts an immediate upgrade of the configuration database and any other databases that are not already upgraded. Because it is likely that the content databases are the only databases that have already been upgraded, as described in the previous step, all the service application databases are also upgraded in this step. Your sites will not be available while this process runs.

  5. Run the SharePoint Products Configuration Wizard on the remaining application server (APP-2).

  6. Run the SharePoint Products Configuration Wizard on the Web servers (WEB-1 to WEB-4).

  7. Verify update completion and success. For more information, see Verify update completion and success.

  8. Add the upgraded Web servers (WEB-1 to WEB-4) back into rotation in the load balancer.

Use the database attach method for high availability of existing content

To ensure high availability for existing content, this scenario uses read-only databases on the existing farm. The update is installed on a new farm and user traffic is rerouted to this farm.

The following illustration shows the sequence of steps to follow to install the update on a new farm by using the database attach method. For more information, see Attach databases and upgrade to SharePoint Server 2010.

Install a software update using database attach

Use the preceding illustration as a guide for using the recommended steps in the following procedure.

To install the update by using database attach

  1. Create a new farm where you will install the software update. This farm does not require front-end Web servers. For more information, see Prepare the new SharePoint Server 2010 environment for a database attach upgrade.

    Note:

    If the original farm uses a database mirror, you must configure mirroring after you finish deploying the software update on the new farm.

  2. Configure the databases on the existing farm so that they are in a read-only state.

    Note:

    If the existing farm is mirrored, you must pause mirroring before setting the databases to read-only.

    For more information about how to configure read-only databases, see the "Set the Previous Version Databases to Be Read-Only (Database Attach with Read-Only Databases)" section in Attach databases and upgrade to SharePoint Server 2010 and Run a farm that uses read-only databases (SharePoint Server 2010).

  3. Configure the service application databases on the existing farm so that they are in a read-only state. This prevents unexpected changes to service applications.

  4. If you are patching the User Profile Service service application database, then you must export the User Profile Synchronization Service encryption key from the old database and then import the key into the new database. This key is also known as the Microsoft Identity Integration Server (MIIS) key, the Synchronization Service encryption key, and the Forefront Identity Manager 2010 (FIM 2010) key. If you do not export and then import the key correctly, the Synchronization Service will not start. To export the encryption key, complete these steps:

    1. Use farm administrator credentials to log on to the computer that contains the old User Profile Service service application database.

    2. Open the Command Prompt window, and then change to the following folder:

      %Program Files%\Microsoft Office Servers\14.0\Synchronization Service\Bin\

    3. Type the following command, and then press Enter:

      miiskmu.exe /e <Path>

      Where <Path> is the full path of the file to which you want to export the key, and the user name and password are the credentials for the farm administrator.

  5. Back up the content databases on the existing farm. For more information, see Backup and recovery for SharePoint Server 2010.

  6. To import the encryption key, complete these steps:

    1. Use farm administrator credentials to log on to the computer that contains the new User Profile Service service application database.

    2. Attempt to start the User Profile Synchronization service. Because you have not yet imported the encryption key, the service will not start. Confirm that the service did not start by using the ULS log or by making sure that the status of the service is Stopped.

    3. Open the Command Prompt window, and then change to the following folder:

      %Program Files%\Microsoft Office Servers\14.0\Synchronization Service\Bin\

    4. Type the following command, and then press Enter:

      miiskmu.exe /i <Path> {0E19E162-827E-4077-82D4-E6ABD531636E}

      Where <Path> is the full path of the file to which you exported the key.

    5. (Optional) To check that the encryption key was imported correctly, at the command prompt, type the following command, and then press Enter:

      miiskmu.exe /c {0E19E162-827E-4077-82D4-E6ABD531636E}

  7. Restore the content databases to the new database server.

  8. Create service applications on the new farm for each existing service application in the old farm.

    You must duplicate all the settings from your existing farm.

  9. Use database attach to create the databases on the new farm. For more information, see Perform a database attach upgrade to SharePoint Server 2010 and Attach and restore a read-only content database (SharePoint Server 2010).

  10. Verify that there are no issues with the new farm.

  11. Enable the new farm as the production farm by configuring DNS to point to the new farm or by making sure that the new farm is load balanced. Verify that users can access the new farm.

  12. Allow time for users to switch from cached DNS, and then decommission the old farm.

  13. Verify update completion and success. For more information, see Verify update completion and success.

Verify update completion and success

Regardless of the update strategy that you use and the monitoring that you do during the software update, you must verify update completion and success. For more information, see Verify upgrade and review upgraded sites (SharePoint Server 2010).

See Also

Other Resources

Resource Center: Updates for SharePoint 2010 Products


Service Pack 1 (SP1) for SharePoint Server 2010 (white paper)

Published: June 28, 2011

The Service Pack 1 (SP1) for SharePoint Foundation 2010 and SharePoint Server 2010 (http://go.microsoft.com/fwlink/p/?LinkId=221773) white paper describes the features that are included in Microsoft SharePoint Server 2010 Service Pack 1 (SP1). In addition, this paper provides some guidelines you can follow so that your solutions work with current and future versions of SharePoint Server 2010.

Download this white paper (http://go.microsoft.com/fwlink/p/?LinkId=221773).


Deploying SharePoint Server 2010 updates on mission critical sites

Published: October 4, 2011

This article describes a build-to-build upgrade that uses the database attach approach to deploy a software update on a Microsoft SharePoint Server 2010 farm.

In this article:

  • Introduction

  • Goals of the update strategy

  • Database attach conceptual overview

  • Update phases, guidance, and key tasks

  • Automation as part of an update strategy

  • Logical step-by-step approach for a database attach upgrade on a single farm

  • Logical step-by-step approach for a database attach upgrade on a federated farm

  • Appendix A. Supported upgrade options

  • Appendix B. Configuring a SQL Server database as read-only

  • Appendix C. Guidance for deploying customizations

  • Appendix D. Techniques for replicating farm content and data

  • Appendix E. Service application migration reference

  • Appendix F. Automation resources

  • Appendix G. Additional Resources

Introduction

During the lifetime of a typical SharePoint Server 2010 environment, one or more software updates will have to be installed, typically in the form of a cumulative update or a service pack. By selecting the appropriate upgrade method, creating a detailed deployment plan, automating by using scripts, and conducting extensive tests, you can make sure that deploying a software update will meet your organization's requirements for availability, user experience, and rollback, should it prove necessary.

This article describes how to deploy a software update on a single farm and on a federated farm using the database attach method for a build-to-build upgrade of the farm servers.

Note:

Planning for a build-to-build upgrade is out of scope for this article. We recommend that you refer to Plan and prepare for upgrade (SharePoint Server 2010) for planning guidance.

About software updates

It is important to understand that deploying updates in a SharePoint Server 2010 environment is a two-phase process: patching and upgrading. The term patch is used in this article to differentiate between updating the software and upgrading the software.

Each phase has specific steps and results. It is possible to postpone the upgrade phase but inconsistent farm behavior may result from postponing the upgrade for more than several days. The longer the postponement, the greater the risk is that farm behavior issues will occur.

Patch phase

The patch phase has two steps, the patching step and the deployment step. During the patching step, new binary files are copied to the Central Administration server. Any services that are using files that have to be replaced are temporarily stopped. Stopping services reduces the requirement to restart the server to replace files that are being used. However, there are some instances when you must restart the server.

The second step in the patch phase is the deployment step. In this step, the installer copies support files to the appropriate directories on the server that is running Microsoft SharePoint Server. This step ensures that all the Web applications are running the correct binary files and will function correctly after the update is installed. The update phase is complete after the deployment step.

The next and final phase to deploy software updates is the upgrade phase.

Upgrade phase

After you finish the patch phase, you must complete the update installation by starting the upgrade phase. The upgrade phase is task intensive and, therefore, takes the most time to finish. The first action is to upgrade all the SharePoint Server processes that are running. After the processes are upgraded, the databases are crawled and upgraded. Because the upgrade process can run on a single server, the other servers in the farm can continue to serve requests.

Goals of the update strategy

We recommend the software update strategy that is used in this white paper for SharePoint farms that support mission-critical applications. Mission critical applications are typically defined as applications that are necessity for the normal running of a business. Application unavailability or failure to complete an update within a specific time frame, which is also called a recovery time objective (RTO), significantly affects an enterprise's business. For example, earnings, regulatory requirements, and contractual obligations might be affected.

Our update strategy is designed to meet the following goals and objectives, which are also key indicators of a successful update.

  • Reduce and manage downtime - The strategy should strive to return full service to users as soon as possible to reduce impact to the users, maintain a high degree of user satisfaction, and meet service-level agreements by managing downtime effectively.

  • Provide recoverability - If a catastrophic failure occurs during an update, administrators must restore the farm and applications to the pre-update state as quickly as possible to return full service to users.

  • Provide consistency - After the update, all servers running Microsoft SharePoint Server should be updated to the same version level and have the same configuration. An inconsistent environment will most likely lead to unplanned downtime, bugs, and issues.

  • Provide expected functionality - After the update, the farm should be in the expected functional state. This includes the functionality that existed before the software update and any new or improved functionality that was expected by installing the service pack or cumulative update.

Database attach conceptual overview

To meet the stated goals and objectives, notably reduced and well-managed downtime, as well as the ability to recover to a pre-update state, you must use the database attach approach. This approach provides the highest level of availability during the software update and the least degree of risk compared to the other supported method, the in-place update.

For more information about upgrade options, see Appendix A. Supported upgrade options, which provides a detailed comparison of the two upgrade methods and a flowchart that captures the decision points that you can use to determine your upgrade approach. This flowchart also provides a high-level view of the steps for installing a software update.

Important:

The software update process described in Software update process (http://technet.microsoft.com/en-us/library/ff806329.aspx#updateprocess) highlights a key task that is required for the in-place upgrade and that may be required for a database attach upgrade. You must run the SharePoint Products and Technologies configuration wizard on all the farm servers to finish the update.

Description

The database attach approach involves creating a duplicate of the production farm that will be updated with the service pack and the cumulative update refresh. The new farm, which we'll call bNext (next build), includes the production farm infrastructure, applications, and data. The bNext farm is updated, without content, to the desired build, and then the content databases are attached. The following diagram shows an abbreviated version of the database attach approach, where bCurrent (current build) farm is the existing farm and bNext farm is the copy of the bCurrent farm.

Install update using database attach

Referring to the previous illustration, it is important to note that multiple databases can be upgraded in parallel. This capability can significantly reduce the amount of downtime during the upgrade.

Update phases, guidance, and key tasks

The process for a database attach upgrade consists of the following major phases:

  • Testing the upgrade in a pre-production environment

  • Provisioning the new farm

  • Locking down the production farm

  • Replicating production content and data

  • Upgrading the new farm with production content and data

  • Finishing the upgrade on the new farm

  • Validating the upgrade on the new farm

  • Restoring full service

Testing the upgrade in a pre-production environment

Before starting the full upgrade it is very import to test all aspects of the upgrade and results in a pre-production environment. After you create the pre-production environment, we recommend that you test the following aspects and elements of the planned upgrade.

Ideally, the farm that is used in pre-production testing is a duplicate of the production farm. However, this is not a mandatory requirement. Typically pre-production farms may not be scaled out to the same extent as a production farm. For example, there might only be two front end Web servers instead of three or four, and the farm databases are not configured to be highly available. The important thing is to have a test environment that is suitable for fully testing the upgrade and its possible effect on the production environment.

Note:

If you intend to test only functionality and not performance, then a virtual environment can be used instead of physical computers.

You can use the pre-production farm infrastructure again for the bNext farm. As a best practice, we recommend that the servers that are used for pre-production testing are wiped clean. This includes the operating system. Rebuild them for the new farm. Cleaning off the servers is not mandatory. However, if you choose to re-use the pre-production farm, make sure that you remove all artifacts from the pre-production testing environment. For more information, see Clean up an environment before upgrade (SharePoint Server 2010) (http://go.microsoft.com/fwlink/p/?LinkId=225682).

After you create the pre-production environment we recommend that you test the following aspects and elements of the planned upgrade.

  • Review the instructions that are provided with the cumulative update or service pack. A software update may contain additional steps or workarounds that are required for the upgrade.

  • Review your update plan and checklists. Use pre-production testing to validate and adjust your update planning documents. We recommend that you use the Checklist for database attach upgrade (SharePoint Server 2010) article as a guide to deploy a software update.

  • Test the behavior of the current farm in read-only mode. During the process of moving farm content and service application data to the bNext farm, the existing farm is in a read-only state. Complete functional tests on the existing farm to make sure that the user experience is acceptable during the upgrade. We recommend that you consult the User experience on read-only sites (SharePoint Server 2010) article before locking down the production farm as part of the upgrade planning process.

  • Use build automation to provision farms. We recommend that you take advantage of automation wherever possible instead of using manual processes to create the pre-production and bNext environments. Automation guarantees configuration consistency across the farm servers and eliminates errors that can be introduced when provisioning servers manually. Test the scripts, tools, and processes that are related to automation.

    Use the script collections in Appendix F. Automation resources as guides for developing custom automation for your environment. These scripts use Windows PowerShell 2.0 to deploy SharePoint Server and configure a farm.

  • Establish a benchmark for downtime window. It is very important that you know how long that it will take to complete the upgrade. The most important element is the time that the production farm will have to be in read-only mode. Use this information to revise your update plan if it is necessary.

  • Verify the results of the upgrade. Verify that the results of the upgrade are as expected and identify regression bugs that may require a workaround.

Provisioning the new farm

The bNext farm, with the software update installed, is the upgraded version of the current production farm. When you provision the bNext farm, make it a duplicate of the current production environment. This includes, for example, the farm topology, the number of sites, server specifications (physical or virtual), logins, and security settings. We strongly recommend that you do not implement any physical design changes because changes complicate the upgrade and introduce unknowns, which can increase the risk factor for the upgrade.

As was the case with the pre-production environment, we recommend that you use build automation to create and test the bNext farm. Taking advantage of build automation will significantly reduce the possibility of configuration errors and decrease overall build time. In addition, automated testing helps in the discovery of any misconfigurations that might affect the upgrade.

Before proceeding further, conduct tests to verify that the farm configuration is correct before attaching the content database and creating the service applications.

Locking down the production farm

After the upgrade process is tested and the bNext farm built, it is time to put the production environment into a read-only state to complete the upgrade. Locking down the farm guarantees content fidelity by preventing content creation, deletion, or updating on the production farm during the upgrade.

Important:

If the farm uses database mirroring, you must pause mirroring before you set the read-only flag on any database.

At a minimum, the content databases must be in read-only mode while the new farm is being upgraded to the same build level. You can also configure a read-only setting to any of the service application databases that support running in read-only mode. For more information, see Appendix E. Service application migration reference.

Note:

When a database is set to read-only, all connections except the one that is setting the read-only flag are stopped. The database does not commit pending changes. After the read-only flag is set, other connections are enabled.

For information about how to configure a database as read-only, see Appendix B. Configuring a SQL Server database as read-only.

For information about how to run a read-only Microsoft SharePoint Server farm, see Run a farm that uses read-only databases (SharePoint Server 2010).

Replicating production content and data

To update the bNext farm by using the database attach method, copies of all content databases and service application databases have to be installed on the bNext database server. You must make a backup of the databases on the production farm and then copy the backups to bNext. The next steps are to restore the backups on bNext and then attach them to the database server.

Note:

There are other techniques for replicating content and data. For more information, see Appendix D. Techniques for replicating farm content and data.

Upgrading the new farm with production content and data

After the content and service application database backups are copied and restored to the bNext environment's servers that are running SQL Server, the actual database attach process can occur. Attach and upgrade steps differ from database to database and require slightly different techniques.

Add service applications to the new farm

You will have to use more than one method to add the production farm's service applications to the bNext farm. This is because many service applications have specific requirements for moving the service application or restoring the service application. There is not a single method that works across all service applications. For more information, see Appendix E. Service application migration reference. One of the following methods will enable you to add a service application to the bNext farm.

  • Database attach - The service application database is created by restoring and attaching the database that is copied from the production farm.

  • Recreate - The service application is recreated from scratch in the new bNext environment. We recommend that you use automation to migrate settings from the production farm to the bNext farm.

  • SharePoint backup and restore - The service application is backed up by using Central Administration or Windows PowerShell, and then restored to the bNext farm.

In addition to the content and service application databases, you have to create the following configuration databases again on the bNext farm:

  • WSS_Search

  • SharePoint Configuration

  • SharePoint Admin Content

Add the content database to the new farm

Before you attach the content database to the new farm, make sure that that the target web application to which you will mount the database does not already have site collections with URL paths that collide with site collections in the database that you are restoring. Attach the database using the following steps:

  • Test the database that you want to mount using the Test-SPContentDatabase cmdlet.

  • Mount the content database to the target web application by using the Mount-SPContentDatabase cmdlet.

Finishing the upgrade on the new farm

Some tasks that are required for the upgrade can only occur after the databases are attached and active. Some of these steps include (but are not limited to) the following:

  • Verify the SQL Server configuration - Verify that the required maintenance plans are restored correctly and configured correctly for the bNext farm. For example, check maintenance jobs to maintain statistics and indexes, backup jobs, database mirroring, and so on.

  • Run profile import - We recommend that you start an incremental import of user profile data to make sure that the profile database is up-to-date and to make sure that profile sync is working correctly in the new environment.

  • Content crawl - Start an incremental crawl to make sure that the index is synchronized with the upgraded content database and to make sure that crawl is functioning correctly.

Validating the upgrade on the new farm

Functional tests are run against the bNext farm as the final step before redirecting users to the new production farm. These can be manual but we recommend that you use automation which enables more rigorous testing than manual tests. Additionally, automation means that tests are consistent across the farm servers.

We recommend that you use the guidance and troubleshooting steps in the following articles to validate the upgrade:

  • Verify upgrade and review upgraded sites (SharePoint Server 2010)

  • Troubleshoot upgrade issues (SharePoint Server 2010)

Restoring full service

When the bNext farm is fully operational and ready to accept user requests, the traffic that is currently being directed to the read-only production farm must be redirected to the bNext farm. We recommend that this redirect be configured at the load-balancer (if applicable). This makes sure that the virtual IP addresses of applications do not change, bypassing the requirement to push out DNS changes to the environment which can take hours to complete for all clients.

Automation as part of an update strategy

Automation can play a key role in deploying software updates in large or complex SharePoint Server 2010 environments. Automated provisioning to servers and farms helps impose build consistency between the current SharePoint Server environments and the new environment that is created as part of the upgrade. In addition to build consistency and error reduction, automation decreases farm build time which will decrease overall environment upgrade time.

An automation solution should include the follow elements:

  • Infrastructure provisioning - If you are running SharePoint Server 2010 in a virtual environment, this would include creating and provisioning virtual machines, disks, virtual networks, and other infrastructure components of a virtual environment.

  • Operating system installation and configuration - This includes automatically installing and configuring Windows Server and important updates. Multiple deployment techniques including images that you have prepared to deploy by using the System Preparation Tool (Sysprep), Windows Deployment Services, and scripted operating system configuration can be used to automate provisioning.

  • Server installation and configuration - After the server is provisioned, SQL Server and SharePoint Server 2010 can be installed and configured. You can use Windows PowerShell 2.0 scripts to install and configure both products. Remember to upgrade these products to the current update version level; which can also be done by using scripts.

  • Application Migration and Restoration -The final element of automating the bNext farm build is automating the migration and upgrade of databases, final application configuration, and functional testing. When you plan and implement the automation scripts, consider scripts for the following tasks:

    • Changing the current farm to read-only mode

    • Changing the current farm back to read/write mode (if upgrade has to be rolled back)

    • Configuring the load balancer

    • Installing custom SharePoint Server solutions

    • Moving databases from the current farm's database server to the upgraded database server

    • Mounting databases on the bNext farm database server

    • Functional testing

Automation architecture

The following model shows a layered, conceptual architecture of a SharePoint Server automation solution.

Architecture for automating software updates

At the highest level is the SharePoint Server "Workload." A workload represents the logical function of an environment, for example, a .COM web content management workload. The workloads are made up of one or more farms. In the web content management scenario, this might be the production and staging farms. Each farm will have a topology of servers depending on the workload and environment. Finally, the configuration of the servers will require the successful execution of one or more "Build tasks." For example, a build task could be "join server to farm."

If you reduce the target environment to discrete build tasks, you can design and build automation scripts that have limited scope, which makes them much easier to design, build, and stabilize. After you have unit tested a set of build task scripts, you can use them in higher level orchestration scripts or orchestration products such as Opalis, which works with Microsoft System Center. For more information, see the Microsoft Server and Cloud Platform page (http://go.microsoft.com/fwlink/p/?LinkID=186236).

Automation tools and resources

Multiple technology options can automate the deployment and configuration of a SharePoint Server environment. Typically, an automation solution will use a combination of the following techniques.

Windows PowerShell 2.0

Windows Server 2008, SharePoint Server 2010, and SQL Server 2008 all support automation by using Windows PowerShell. Windows PowerShell is a powerful, robust scripting language and runtime which makes it the preferred technology for automation. Windows PowerShell can also use product-specific cmdlets, .NET API calls, and command-line tools.

Command-line tools

Windows Server 2008, SharePoint Server 2010, and SQL Server 2008 also ship command-line tools to enable automated deployment and configuration. However, many command-line options for these technologies are deprecated and replaced with Windows PowerShell cmdlets. (Before you use another command-line tool, determine whether there is a Windows PowerShell option that supersedes the command).

.NET API

Windows Server 2008, SharePoint Server 2010, and SQL Server 2008 use supported APIs, most of which can be accessed by using the Microsoft .NET Framework, to expose product functionality. If a particular product automation capability does not exist as a Windows PowerShell cmdlet or command-line tool, you may be able to use the product APIs to achieve the level of required automation.

Existing script collections

The following script collections can be used to deploy SharePoint Server and to configure a farm. They can be used as is or serve as a guide for developing custom scripts for your environment.

  • SPModule.zip. The SPModule.zip file is an unsupported sample of a Windows PowerShell module written by members of the SharePoint Product Group. The module can be used to perform simple administrative tasks that are related to installing a SharePoint farm. Download SPModule.zip (http://go.microsoft.com/fwlink/p/?LinkId=229657).

  • AutoSPInstaller. This project consists of Windows PowerShell 2.0 scripts, an XML input file, and a standard Windows batch file that is used to start the deployment and configuration process. Download the AutoSPInstaller project (http://go.microsoft.com/fwlink/p/?LinkId=229659).

Run book automation

Run Book Automation (RBA) enables you to fully automate the provisioning of a SharePoint Server environment. RBA lets you define, build, orchestrate, manage, and report on the workflows that you create for your system and network operational processes. Orchestration enables you to execute build tasks in a particular order as part of a workflow that can include complex dependency and validation logic. The recommended approach to implement orchestration is to use a product such as Opalis, but other products and techniques can be used for this purpose.

Logical step-by-step approach for a database attach upgrade on a single farm

The farm topology in the following illustration shows a typical three tier farm that provides high availability.

Three tier SharePoint Server 2010 farm

Referring to the previous illustration, notice the following:

  • The two front-end Web servers (WEB-1 and WEB-2) are load balanced together and are in rotation with the load balancer. These servers are running Windows Server 2008 R2, updated to the same version level as the bCurrent farm.

  • Two application servers (APP-1 and APP-2) are used to provide high availability for search. The third server, APP-3, hosts Central Administration and the service applications. These servers are running Windows Server 2008 R2, updated to the same version level as the bCurrent farm.

  • The farm database server (DB-1) is mirrored (DB-2) to provide high availability. These servers are running Windows Server 2008 R2 and Microsoft SQL Server 2008 R2, updated to the same version level as the bCurrent farm.

Upgrade steps for a single farm

Our step-by-step approach to deploy a SharePoint update is divided into two parts. The first part addresses the pre-production environment. Tasks in the second part cover the creation and configuration of the new farm (bNext).

The pre-production farm

The following steps describe how to configure the pre-production test farm.

  1. Create a test farm that contains the core components of the production farm topology. Consider using automation for server provisioning and farm deployment. The lessons learned can carry forward to implementing automation for the bNext farm.

    For pre-production testing, you only need the minimum number of servers that are required for running tests. Based on the single farm scenario shown in the preceding illustration, the following servers are the minimum required for pre-production testing:

    • Two front-end web servers. This is the minimum requirement for load balancing.

    • One application server. If redundancy is not required for testing, you can use this server for Central Administration and all the services that are installed on the production farm.

    • One database server. If redundancy is not required for testing, a mirrored database server is not needed.

  2. Configure the test farm to match the configuration of the bCurrent farm. Use the following steps as a guide to provision a test farm, and then completing a minimum set of pre-production tests.

    Important:

    You must customize the test topology and tests to reflect your production environment.

    • Restore a full content backup of the production farm to the test farm. Gather benchmark information, such as elapsed times for copying files or for restoring backups, which can be used to plan the upgrade.

    • Install a copy of the applications and customizations that are on the production farm. Record any benchmark data that can be used for planning, upgrade, and troubleshooting. For information about customizations, see Determine how to handle customizations (SharePoint Server 2010).

  3. Download a copy of the software update and prepare the installation source. For more information, see Obtain the software update and prepare the installation source (optional). You can use this installation source for pre-production testing and for installing the update on the bNext farm.

  4. Test the software update. Ensure that expected SharePoint Server functionality exists after the software update is installed. That is to say, there are no regression bugs.

  5. Monitor production farm functionality. Monitor the functionality of the production farm when content and service application databases are set to read-only.

  6. Validate processes and tools. Validate the processes for the upgrade and test the tools that are used to automate the upgrade or post-upgrade testing.

The bNext farm

The following steps describe how to provision and configure the bNext farm so that it can be put into production as the new bCurrent farm.

Note:

If you reuse the pre-production servers, we recommend that you rebuild the servers from the operating system up. This approach is best to make sure that that there are no test artifacts that may affect the bNext farm SharePoint Server deployment.

  1. Use automation scripts to provision the servers that are required for the bNext farm. In this scenario in this article, this includes the following servers: three-front end Web servers, three application servers, and the farm database server, which is mirrored.

    Provisioning includes updating the operating system to at least the same service pack level or software update level as the servers in the production farm. If applicable, and appropriate, apply the latest operating system updates to the bNext servers.

  2. Provision the bNext database server. This includes the following tasks:

    • Install SQL Server and during setup, configure it to match the settings of the production farm.

    • Update SQL Server to at least the same version level as the production farm.

    • Copy the bCurrent logons and permissions to the bNext database server.

    • Configure the required services, firewall settings, and then verify database functionality.

      Important:

      Do not mirror the primary database until you have run the SharePoint Products and Technologies configuration wizard to complete the farm software update.

  3. Install the SharePoint Server binaries on the bNext servers.

    • Install SharePoint Server but do not run the configuration wizard.

    • Install the cumulative update or service pack binaries but do not run the configuration wizard.

  4. Run the SharePoint Products and Technologies Configuration Wizard to create a new farm.

    Important:

    Do not create any service applications. You will create or restore them from backups later in the process.

    Complete the following tasks to prepare bNext as a copy of the production farm:

    • Configure the general farm settings.

    • Create and configure the web applications.

    • Copy your custom solutions from the bCurrent farm to the bNext environment. Note any dependencies that may affect the successful deployment of these solutions. For example, there may be a dependency on a service application that does not exist at this point in the farm configuration. For more information, see Appendix C. Guidance for deploying customizations.

  5. Do a full backup of the production farm's databases. This includes the content databases and the service application databases that support SQL Server backup and recovery.

  6. Start taking transaction log backups of the databases described in the previous step. We recommend transaction log backups instead of differential backups for the following reasons:

    • They minimize work loss exposure.

    • Because the backup files are smaller, they take less time to transfer over a network. In addition, you can copy the backup files to the bNext farm daily, instead of all at the same time.

    • File size and design enable you to fully restore the production databases to the bNext farm. For more information, see Working with Transaction Log Backups (http://go.microsoft.com/fwlink/p/?LinkId=152194).

  7. Restore the full backups of the production databases to the bNext SQL Server environment.

    Important:

    Use the NORECOVERY option to restore the backups so that backups of transaction logs can be restored on to the full backups. For more information, see Understanding How Restore and Recovery of Backups Work in SQL Server (http://go.microsoft.com/fwlink/p/?LinkId=134473).

  8. Change the production farm (bCurrent) content database and appropriate service application databases to ready-only mode. Take note of the following points before you lock down the production farm:

    • Some service applications do not support read-only mode and others, such as Microsoft SharePoint Server Search and Usage and Health Data Collection, will not work if their databases are set to read-only. For more information, see Appendix E. Service application migration reference.

    • There might be changes to configuration settings and service applications while the farm is locked down. For example, the Search service will not work in read-only mode; therefore it is possible for an administrator to change settings. This change will not be carried over to the new farm. You have to consider and plan for this so that you can minimize the downtime window to reduce the potential for data loss.

    • When a database is set to read-only, all connections except the one that is setting the read-only flag are stopped. After the read-only flag is set, other connections are enabled.

    • If the existing farm is mirrored, as is the case with our example farm, you must pause mirroring before setting the databases to read-only. For more information, see Database Mirroring Administration How-to Topics (Database Engine) (http://go.microsoft.com/fwlink/p/?LinkId=225804).

  9. Complete the following tasks to prepare to install Microsoft SharePoint Server Search on the bNext farm:

    1. Use SharePoint backup to take a backup of the search databases and copy these backups to the bNext farm.

    2. Copy the index partitions to the application servers on the bNext farm.

    3. Export the search topology to an XML file, and then copy this file to the bNext database server.

  10. Complete the following tasks to restore Microsoft SharePoint Server Search on the bNext farm:

    • Unless the bNext servers have the same names as the bCurrent servers, you have to edit the XML file that contains the exported search topology. Edit this file and provide the new server names.

    • Use the Restore-SPEnterpriseSearchServiceApplication cmdlet to restore search.

  11. Recreate farm services on bNext and, where applicable, associate services with application service databases that are restored from bCurrent backups.

  12. Install the SharePoint custom solutions in the bNext environment.

    Important:

    We recommend installing customizations after the services are recreated because the extent and nature of the customizations may have a dependency on a service.

  13. Complete the following tasks after you install the custom solutions:

    • Delete all the empty content databases that were created when the web applications were first created on the bNext farm.

    • Use the Test-SPContentDatabase cmdlet to test content databases against the newly created web applications to make sure that all required customizations are deployed and no issues exist.

  14. Mount the content databases on bNext farm by using the Mount-SPContentDatabase cmdlet.

    Important:

    If there is more than one content database, mount the database that contains the root site collection first.

  15. Upgrade the content databases on the bNext farm by using the Upgrade-SPContentDatabase cmdlet.

  16. After the upgrade is complete, complete the following database server tasks:

    • Re-establish database mirroring if it was enabled on the bCurrent farm.

    • Restore and test all the database maintenance jobs.

  17. Start the following SharePoint processes:

    • Search Crawl

    • Profile Import

  18. Verify that all the required services are running.

  19. Perform functional tests against the bNext farm to verify that the upgrade was successful. For more information, see Verify upgrade and review upgraded sites (SharePoint Server 2010).

  20. Redirect user requests to the bNext farm. Keep the read-only bCurrent farm in case you have to roll back the upgrade.

  21. Continue testing and monitoring the new bCurrent farm (bNext) during the stabilization period that you defined in the upgrade plan. When you are confident that you will not have to roll back to the previous build, you can delete the old bCurrent farm and recycle the servers so you can use them for other purposes.

  22. Take an inventory of the new farm's configuration so that you have up-to-date information that can be used for future software updates.

Logical step-by-step approach for a database attach upgrade on a federated farm

Installing a SharePoint Server 2010 update on a federated farm requires more preliminary planning than installing an upgrade a single farm. However, the philosophy and fundamental approach to using the database attach method to install an update on a federated farm is the same as for a single farm. Depending on the architecture of the federated environment, the nuances of patching and upgrading farm servers may vary between the farms.

Upgrade order and backwards compatibility

The most frequently asked question about upgrading a federated farm environment concerns the patching order and n-1 backwards compatibility across farms. For SharePoint Server 2010 you can upgrade the federated services farms in either of the following sequences:

  • Upgrade the provider farm first, and then upgrade the consumer farm

  • Upgrade the consumer farm first, and then upgrade the provider farm

Known issues with Microsoft SharePoint Server 2010 Service Pack 1 (SP1)

There is the potential for n-1 compatibility issues when patching the services consumer farm first without running the SharePoint Products and Configuration Wizard (psconfig.exe) to upgrade the provider services farm. Potential issues include: the SharePoint Server Search service does not work; the SharePoint Server indexing service does not work; and claims requests do not work for user deployed solutions.

Important:

If you choose to upgrade the consumer farm first, we recommend that stay in the n-1 state for a short a time as possible after you patch the consumer farm to SP1. For more information, visit the Updates for SharePoint 2010 Products (http://go.microsoft.com/fwlink/p/?LinkID=209614) site.

Upgrade steps for a federated farm

The federated farm environment shown in the following illustration is used as an example to show the sequence and steps that are required to install a SharePoint Server update across three farms.

Federated services farm with two consumer farms

The federated farm in the preceding illustration consists of the following elements:

  • One federated service provider farm with federated search ("Provider farm" in the illustration)

  • Two federated consumer farms ("Consumer A" and "Consumer B" in the illustration)

For the purpose of illustration, the provider farm is upgraded first, followed by the two consumer farms.

Before continuing with the upgrade of the services provider farm, we recommend that you familiarize yourself with the information and guidance about pre-production environments and the database attach method that is already provided in this article.

The bNext provider farm

The following steps describe how to provision and configure the bNext provider farm so that you can it put into production as the new bCurrent provider farm.

  1. Use automation scripts to provision the servers that are required for the bNext farm. In this scenario in this article, this includes the following servers: three-front end Web servers, three application servers, and the farm database server, which is mirrored.

    Provisioning includes updating the operating system to at least the same service pack level or software update level as the servers in the production farm. If applicable, and appropriate, apply the latest operating system updates to the bNext servers.

  2. Provision the bNext database server. This includes the following tasks:

    • Install SQL Server and during setup, configure it to match the settings of the production farm.

    • Update SQL Server to at least the same version level as the production farm.

    • Copy the bCurrent logons and permissions to the bNext database server.

    • Configure the required services, firewall settings, and then verify database functionality.

      Important:

      Do not mirror the primary database until you have run the SharePoint Products and Technologies configuration wizard to complete the farm software update.

  3. Install the SharePoint Server binaries on the bNext servers.

    • Install SharePoint Server but do not run the configuration wizard.

    • Install the cumulative update or service pack binaries but do not run the configuration wizard.

  4. Run the SharePoint Products and Technologies Configuration Wizard to create a new farm.

    Important:

    Do not create any service applications. You will create or restore them from backups later in the process.

    Complete the following tasks to prepare bNext as a copy of the production farm:

    • Configure the general farm settings.

    • Create and configure the web applications.

    • Copy your custom solutions from the bCurrent farm to the bNext environment. Note any dependencies that may affect the successful deployment of these solutions. For example, there may be a dependency on a service application that does not exist at this point in the farm configuration. For more information, see Appendix C. Guidance for deploying customizations.

  5. Do a full backup of the production farm's databases. This includes the content databases and the service application databases that support SQL Server backup and recovery.

  6. Start making transaction log backups of the databases described in the previous step. We recommend transaction log backups instead of differential backups for the following reasons:

    • They minimize work loss exposure.

    • Because the backup files are smaller, they take less time to transfer over a network. In addition, you can copy the backup files to the bNext farm daily, instead of all at the same time.

    • File size and design enable you to fully restore the production databases to the bNext farm. For more information, see Working with Transaction Log Backups (http://go.microsoft.com/fwlink/p/?LinkId=152194).

  7. Restore the full backups of the production databases to the bNext SQL Server environment.

    Important:

    Use the NORECOVERY option to restore the backups so that backups of transaction logs can be restored onto the full backups. For more information, see Understanding How Restore and Recovery of Backups Work in SQL Server (http://go.microsoft.com/fwlink/p/?LinkId=134473).

  8. Change the production farm (bCurrent) content database and appropriate service application databases to ready-only mode. Take note of the following points before you lock down the production farm:

    • Some service applications do not support read-only mode and others, such as Microsoft SharePoint Server Search and Usage and Health Data Collection, will not work if their databases are set to read-only. For more information, see Appendix E. Service application migration reference.

    • There might be changes to configuration settings and service applications while the farm is locked down. For example, the Search service will not work in read-only mode; therefore it is possible for an administrator to change settings. This change will not be carried over to the new farm. You have to consider and plan for this so that you can minimize the downtime window to reduce the potential for data loss.

    • When a database is set to read-only, all connections except the one that is setting the read-only flag are stopped. After the read-only flag is set, other connections are enabled.

    • If the existing farm is mirrored, as is the case with our example farm, you must pause mirroring before setting the databases to read-only. For more information, see Database Mirroring Administration How-to Topics (Database Engine) (http://go.microsoft.com/fwlink/p/?LinkId=225804).

  9. Complete the following tasks to prepare to install Microsoft SharePoint Server Search on the bNext farm:

    1. Use SharePoint backup to take a backup of the search databases and copy these backups to the bNext farm.

    2. Copy the index partitions to the application servers on the bNext farm.

    3. Export the search topology to an XML file, and then copy this file to the bNext database server.

  10. Complete the following tasks to restore Microsoft SharePoint Server Search on the bNext farm:

    • Unless the bNext servers have the same names as the bCurrent servers, you have to edit the XML file that contains the exported topology. Edit this file and provide the new server names.

    • Use the Restore-SPEnterpriseSearchServiceApplication cmdlet to restore search.

  11. Recreate farm services on bNext and, where applicable, associate services with application service databases that are restored from bCurrent backups.

  12. Install the SharePoint custom solutions in the bNext environment.

    Important:

    We recommend installing customizations after the services are recreated because the extent and nature of the customizations may have a dependency on a service.

  13. Complete the following tasks after you install the custom solutions:

    • Delete all the empty content databases that were created when the web applications were first created on the bNext farm.

    • Use the Test-SPContentDatabase cmdlet to test content databases against the newly created web applications to make sure that all required customizations are deployed and no issues exist.

  14. Mount the content databases on bNext farm by using the Mount-SPContentDatabase cmdlet.

    Important:

    If there is more than one content database, mount the database that contains the root site collection first.

  15. Upgrade the content databases on the bNext farm by using the Upgrade-SPContentDatabase cmdlet.

  16. After the upgrade is complete, complete the following database server tasks:

    • Establish database mirroring again if it was enabled on the bCurrent farm.

    • Restore and test all the database maintenance jobs.

  17. Start the following SharePoint processes:

    • Search Crawl

    • Profile Import

  18. Verify that all the required services are running.

  19. Perform functional tests against the bNext farm to verify that the upgrade was successful. For more information, see Verify upgrade and review upgraded sites (SharePoint Server 2010).

  20. Redirect user requests to the bNext farm. Keep the read-only bCurrent farm in case you have to roll back the upgrade.

  21. Continue testing and monitoring the new bCurrent farm (bNext) during the stabilization period that you defined in the upgrade plan. When you are confident that you will not have to roll back to the previous build, you can delete the old bCurrent farm and recycle the servers so you can use them for other purposes.

  22. Take an inventory of the new farm's configuration so that you have up-to-date information that can be used for future software updates.

The bNext consumer farm

The following steps describe how to provision and configure the bNext consumer farm, "Consumer A" in our example, so that it can be put into production as the new bCurrent consumer farm.

  1. Use automation scripts to provision the servers that are required for the bNext farm. In this scenario in this article, this includes the following servers: three-front end Web servers, three application servers, and the farm database server, which is mirrored.

    Provisioning includes updating the operating system to at least the same service pack level or software update level as the servers in the production farm. If applicable, and appropriate, apply the latest operating system updates to the bNext servers.

  2. Provision the bNext database server (CADB-1, CADB-2). This includes the following:

    • Install SQL Server and during setup, configure it to match the settings of the production farm.

    • Update SQL Server to at least the same version level as the production farm.

    • Copy the bCurrent logons and permissions to the bNext database server.

    • Configure the required services, firewall settings, and then verify database functionality.

      Important:

      Do not mirror the primary database until you have run the SharePoint Products and Technologies configuration wizard to complete the farm software update.

  3. Install the SharePoint Server binaries on the bNext servers.

    • Install SharePoint Server but do not run the configuration wizard.

    • Install the cumulative update or service pack binaries but do not run the configuration wizard.

  4. Run the SharePoint Products and Technologies Configuration Wizard to create a new farm.

    Important:

    Do not create any service applications. You will recreate or restore them from backups later in the process.

    Complete the following tasks to prepare bNext as a copy of the production farm:

    1. Configure the general farm settings.

    2. Create and configure the web applications.

    3. Copy your custom solutions from the bCurrent farm to the bNext environment. Note any dependencies that may affect the successful deployment of these solutions. For example, there may be a dependency on a service application that does not exist at this point in the farm configuration. For more information, see Appendix C. Guidance for deploying customizations.

  5. Do a full backup of the production farm's databases. This includes the content databases and the service application databases that support SQL Server backup and recovery.

  6. Start making backups of transaction logs of the databases described in the previous step. We recommend backups of transaction logs instead of differential backups for the following reasons:

    • They minimize work loss exposure.

    • Because the backup files are smaller, they take less time to transfer over a network. In addition, you can copy the backup files to the bNext farm daily, instead of all at the same time.

    • File size and design enable you to fully restore the production databases to the bNext farm. For more information, see Working with Transaction Log Backups (http://go.microsoft.com/fwlink/p/?LinkId=152194).

  7. Restore the full backups of the production databases to the bNext SQL Server environment.

    Important:

    Use the NORECOVERY option to restore the backups so that backups of transaction logs can be restored on to the full backups. For more information, see Understanding How Restore and Recovery of Backups Work in SQL Server (http://go.microsoft.com/fwlink/p/?LinkId=134473).

  8. Change the production farm (bCurrent) content database and appropriate service application databases to ready-only mode. Take note of the following points before you lock down the production farm:

    • Some service applications do not support read-only mode and others, such as Microsoft SharePoint Server Search and Usage and Health Data Collection, will not work if their databases are set to read-only. For more information, see Appendix E. Service application migration reference.

    • There might be changes to configuration settings and service applications while the farm is locked down. For example, the Search service will not work in read-only mode; therefore it is possible for an administrator to change settings. This change will not be carried over to the new farm. You have to consider and plan for this so that you can minimize the downtime window to reduce the potential for data loss.

    • When a database is set to read-only, all connections except the one that is setting the read-only flag are stopped. After the read-only flag is set, other connections are enabled.

    • If the existing farm is mirrored, as is the case with our example farm, you must pause mirroring before setting the databases to read-only. For more information, see Database Mirroring Administration How-to Topics (Database Engine) (http://go.microsoft.com/fwlink/p/?LinkId=225804).

  9. Complete the following tasks to prepare to install Microsoft SharePoint Server Search on the bNext farm:

    • Use SharePoint backup to make a backup of the search databases and copy these backups to the bNext farm.

    • Copy the index partitions to the application servers on the bNext farm.

    • Export the search topology to an XML file, and then copy this file to the bNext database server.

  10. Complete the following tasks to restore Microsoft SharePoint Server Search on the bNext farm:

    • Unless the bNext servers have the same names as the bCurrent servers, you have to edit the XML file that contains the exported topology. Edit this file and provide the new server names.

    • Use the Restore-SPEnterpriseSearchServiceApplication cmdlet to restore search.

  11. Recreate farm services on bNext and, where applicable, associate services with application service databases that are restored from bCurrent backups.

  12. Install the SharePoint custom solutions in the bNext environment.

    Important:

    We recommend installing customizations after the services are recreated because the extent and nature of the customizations may have a dependency on a service.

  13. Complete the following tasks after you install the custom solutions:

    • Delete all the empty content databases that were created when the web applications were first created on the bNext farm.

    • Use the Test-SPContentDatabase cmdlet to test content databases against the newly created web applications to make sure that all required customizations are deployed and no issues exist.

  14. Mount the content databases on the bNext farm by using the Mount-SPContentDatabase cmdlet.

    Important:

    If there is more than one content database, mount the database that contains the root site collection first.

  15. Upgrade the content databases on the bNext farm by using the Upgrade-SPContentDatabase cmdlet.

  16. After the upgrade is complete, complete the following database server tasks:

    • Establish database mirroring again if it was enabled on the bCurrent farm.

    • Restore and test all the database maintenance jobs.

  17. Start the following SharePoint processes:

    • Search Crawl

    • Profile Import

  18. Verify that all the required services are running.

  19. Perform functional tests against the bNext farm to verify that the upgrade was successful. For more information, see Verify upgrade and review upgraded sites (SharePoint Server 2010).

  20. Redirect user requests to the bNext farm. Keep the read-only bCurrent farm in case you have to roll back the upgrade.

  21. Continue testing and monitoring the new bCurrent farm (bNext) during the stabilization period that you defined in the upgrade plan. When you are confident that you will not have to roll back to the previous build, you can delete the old bCurrent farm and recycle the servers so you can use them for other purposes.

  22. Take an inventory of the new farm's configuration so that you have up-to-date information that can be used for future software updates.

After you finish testing the "Consumer A" farm, repeat the preceding steps to provision, update, and configure the remaining bNext consumer farm, "Consumer B" in our example, so you can put into production as the remaining new bCurrent consumer farm.

Conclusion

The guidance and steps provided in this article will work on farms of different sizes and complexity. They can also be used together with the in-place upgrade in a multi-farm scenario. You can, and should, customize these steps to suit your environment. We recommend that you use these steps and the record of your upgrade experience as a template for installing future software updates.

Appendix A. Supported upgrade options

As noted in the introduction, there are two supported options for installing SharePoint Server 2010 software updates in a build-to-build upgrade scenario: in-place and database attach. Each has advantages and disadvantages, which you have to consider in the context of the environment that you are upgrading.

In-place upgrade

An in-place upgrade occurs on the same hardware as the current version of the SharePoint Server installation. The software update is installed on the computers in a production environment. When an in-place upgrade is used, all the servers in the farm are upgraded to a new build level as part of a single, fixed process.

Advantages of the in-place upgrade

The in-place upgrade has the following advantages over the database attach upgrade method:

  • There is no need for additional infrastructure - the existing environment's infrastructure continues to be used after the upgrade.

  • Farm-wide settings are preserved and upgraded.

  • Customizations are available in the environment after the upgrade, although manual steps may be required to upgrade or rework them.

Disadvantages of the in-place upgrade

The in-place upgrade has the following disadvantages compared to the database attach upgrade method:

  • Long production downtime - The upgrade proceeds continuously. Consequently, you must allocate enough time for all content to be upgraded in sequence. In addition, the production farm must be stopped to perform the upgrade portion of the installation. Although some approaches can be used to update farm servers in a manner that does not take all the servers down, when the upgrade is running against the farm to update the databases, the whole farm is unavailable to service requests.

  • Inability to uninstall - Cumulative updates and service packs cannot be uninstalled if there is an upgrade failure. The only supported method of "rolling back" would be to restore farm server images to their pre-upgrade state, or rebuild the SharePoint farm. In both cases the content databases must be restored from pre-upgrade backups.

  • Consistency across environments - Unless the upgrade is tested in a pre-production environment, it is possible that configuration differences and errors will cause the upgrade to fail. Even with pre-production tests, it is possible to encounter upgrade errors because of differences that were not observed or because of human error during the upgrade process.

For more information about an in-place upgrade, see Install a software update (SharePoint Server 2010).

Database attach upgrade

The database attach upgrade happens on a new farm that is created for the upgrade. This farm is a duplicate of the farm that is getting upgraded.

Advantages of the database attach upgrade

The database attach upgrade has the following advantages over the in-place upgrade method:

  • For large and mission-critical sites, there is some degree of availability during the upgrade.

  • It enables effective management of downtime and, therefore, a more predictable upgrade.

  • If a catastrophic failure occurs during the upgrade, the existing production environment is readily available to users.

Disadvantages of the database attach upgrade

The database attach upgrade has the following disadvantages compared to the in-place upgrade method:

  • Cost. The strategy relies on duplication of infrastructure (physical or virtual) and duplication of data which increases the overall cost of the upgrade.

  • Complexity. From a configuration and operations perspective, the process is more complex than an in-place upgrade, for example:

    • A secondary production SharePoint Server environment has to be created, upgraded, configured, and validated.

    • It requires the complete recreation of some service applications and the reconfiguration of other service applications.

    • It requires a load balancing or DNS solution to redirect users from one farm to another.

  • Although the original farm is available during the upgrade, this strategy does not provide 100% read/write availability for users during the upgrade. The production farm will be in a read-only state during the upgrade. The duration of this status depends on individual environments and includes factors such as database size and complexity, and the automation capability.

Decision points and processes for software updates

The following flowchart shows the key decision points that have to be considered when planning a software update. The flowchart also shows the high-level processes and their sequence when you install a software update.

Software update decision points and process.

Appendix B. Configuring a SQL Server database as read-only

Setting a SQL Server database to read-only for the farm update requires the following actions:

  • Disable AUTO_UPDATE_STATISTICS_ASYNC

  • Stop all the running asynchronous statistics update jobs

  • Set the database to single-user mode

  • Set the database to the desired state (READ_ONLY)

For more information, see ALTER DATABASE (Transact-SQL) (http://go.microsoft.com/fwlink/p/?LinkID=148619). This article also provides information about how to configure a database to be read/write, which requires setting the database back to multi-user mode and then re-enabling the AUTO_UPDATE_STATISTICS_ASYNC option.

Appendix C. Guidance for deploying customizations

Special care should be taken to make sure that customizations are deployed without any issues during the upgrade. Use the following guidance to deploy customizations on the test farm:

  • Test customizations in read-only mode. Make sure customizations continue to function or gracefully disable themselves when the farm is put into read-only mode.

  • Test solution deployment and feature activation. Ensure that customizations can be deployed successfully without content. The solution packages are deployed as part of the farm build process before databases are attached. Test solution package deployment and feature activation without data.

  • Remediate issues before you attempt the upgrade. We recommend that you immediately address customization issues found during testing. The database attach method is a complex process. Adding additional complexity by using workarounds to deploy customizations will put the upgrade at risk of failure.

Appendix D. Techniques for replicating farm content and data

Several techniques can be used for replicating production farm content and data so that it can be used on a new farm.

File copy

Traditional file copy of each supported database to the new environment.

Advantages Disadvantages

  • No additional software is required

  • Easy to use and run

  • The copy operation cannot start until the database is put in read-only mode.

  • The length of time for a file copy is typically the longest because the whole database must be copied in a single operation.

  • The length of time that is required makes this method the most affected by network latency and dropped packets.

SQL Server backup and restore

This involves using a combination of SQL Server full, differential, or incremental backups to replicate the production content which is then restored in the new environment.

Note:

Incremental backups are faster than differential because an incremental backup backs up only the changes since the last incremental backup. A differential backup on the other hand, backs up all changes since the last full backup. Typically time and storage space are the determining factors in selecting one back up method over the other. For more information, see Backing Up and Restoring Databases in SQL Server (http://go.microsoft.com/fwlink/p/?LinkID=215815).

Advantages Disadvantages

  • An intrinsic function of SQL Server

  • An incremental backup reduces the amount of data that has to be backed up and copied at the time databases are in read-only mode

  • Can use SQL compression to reduce the volume of data that has to be copied to the new environment

  • Backups should already be available (if following operational best practices)

  • A partial restoration to the new database server can occur before production databases are put into read-only mode

  • Can take longer than some other data replication methods

  • The last incremental backup must occur during production freeze

Database mirroring

Database mirroring is a feature of SQL Server where SQL Server will write to two databases at the same time. In most cases, you do this for the high availability of both the database server and the data. This approach for replicating content for upgrade requires that one half of the mirror be broken so that the mirrored databases can be copied and upgraded. For more information about SQL Server database mirroring see Database Mirroring (http://go.microsoft.com/fwlink/p/?LinkID=216767).

Advantages Disadvantages

  • An intrinsic function of SQL Server

  • Requires the least time between the lockdown of the production farm and the restoration of content to the new farm

  • If desired, the mirrored database server can become the primary SQL Server for the new farm. This further reduces time to upgrade (although this will temporarily affect high availability)

  • Puts the production farm in a state where it is temporarily not highly available (at the SQL/data tier)

  • Requires time to re-establish the mirror either on successful upgrade or failback

Log shipping

Log shipping can be used to replicate transaction logs and ship them to the new environment so that they can be replayed to reconstitute the data on database servers. For more information, see Log Shipping (http://go.microsoft.com/fwlink/p/?LinkID=149021)

Advantages Disadvantages

  • An intrinsic function of SQL Server

  • Logs can be shipped to multiple locations such as the new farm and a disaster recovery location

  • Does not affect production SQL Server high availability for the production environment

  • Enables transaction logs to be replayed to rebuild most of the production data corpus before the farm content was configured as read-only

  • Requires monitoring and management

  • Log replication times can vary and network latency has a noticeable effect on log shipping times

  • Places a continuous load on the production server

Data Protection Manager or third party backup and restore

SQL Server supports Microsoft and third-party backup utilities that can decrease backup times and increase storage efficiency. For information about Microsoft System Center Data Protection Manager, see the Microsoft Server and Cloud Platform (http://go.microsoft.com/fwlink/p/?LinkID=179139) web site.

Advantages Disadvantages

  • Faster backup and recovery operations than native SQL Server backup and restore

  • Improved storage efficiency

  • Requires additional licensing

  • Requires additional infrastructure

  • Not all scenarios may be supported by the utility, such as .NET Framework remoting

Appendix E. Service application migration reference

The following table describes the supported methods for moving each SharePoint Server service application to another database server.

Service application Database Supported approach Supports read-only Notes

Access Services

None

not available

not available

Application Discovery and Load Balancing

None

not available

not available

Application Registry Service

Application Registry Service

Recreate

No

Business Data Connectivity

Business Data Connectivity

  • Database attach

  • Recreate

Excel Services

none

not available

not available

Microsoft SharePoint Foundation Subscription Settings

Subscription

Database attach

Managed Metadata Service

Managed Metadata Service

  • Database attach

  • Recreate

PerformancePoint Services

PerformancePoint Services

Recreate

PowerPoint Service

None

not available

not available

Project Server service application

  • Draft

  • Published

  • Archive

  • Reporting

Database attach

No

  • Requires synchronization between the databases

  • Need to configure time stamps or log marking

For more information, see Database-attach full upgrade to Project Server 2010

SharePoint Server Search

  • Search Administration

  • Crawl

  • Property

  • Recreate

  • SharePoint backup and restore

No

  • The index partitions are copied to the new farm and then restored on the new database server.

  • The search topology is exported and then restored to the new server.

Secure Store

Secure Store

  • Database attach

  • Recreate

The pass phrase for the new database must be identical to the source database.

Security Token Service

Recreate

State Service

State

Recreate

No

Usage and Health Data Collection

Logging

Recreate

No

User Profile

  • Profile

  • Synchronization

  • Social tagging

  • Database attach

  • Recreate

Profile requires the restoration of an encrypted FIM key

Visio Graphics Service

None

not available

not available

Web Analytics Service

  • Staging

  • Reporting

  • Database attach

  • Recreate

Word Automation Service

Word Automation Services

Recreate

not available

Word Viewing Service

None

not available

not available

Appendix F. Automation resources

Scripts

The following script collections can be used to deploy SharePoint Server and configure a farm. They can be used as is or serve as a guide for developing a custom scripts for your environment.

  • SPModule.zip. The SPModule.zip file is an unsupported sample of a Windows PowerShell module written by members of the SharePoint Product Group. The module can be used to perform simple administrative tasks that are related to installing a SharePoint farm. Download SPModule.zip (http://go.microsoft.com/fwlink/p/?LinkId=229657).

  • AutoSPInstaller. This project consists of Windows PowerShell 2.0 scripts, an XML input file, and a standard Windows batch file that is used to start the deployment and configuration process. Download the AutoSPInstaller project (http://go.microsoft.com/fwlink/p/?LinkId=229659).

Appendix G. Additional Resources

We recommend that you consult the following resources before and during the upgrade.

Article | Description
Plan and prepare for upgrade (SharePoint Server 2010) | Provides links to articles that help you plan and prepare for upgrading from Microsoft Office SharePoint Server 2007 toMicrosoft SharePoint Server 2010.
Testing and troubleshooting upgrade (SharePoint Server 2010) | Provides links to articles about how to test an upgrade and use the information from the test to predict how much time and how much space that you will need for upgrade. Articles also include steps that you can take to clean up your environment before you perform an actual upgrade.
Best practices for testing upgrade (SharePoint Server 2010) | Provides best practice guidance for conducting accurate and useful tests of the upgrade process.
Checklist for database attach upgrade (SharePoint Server 2010) | A checklist for all the necessary steps required to prepare for upgrade, perform the upgrade, and perform post-upgrade steps.
Perform a database attach upgrade to SharePoint Server 2010 | Provides links to articles that describe how to use database attach to perform a version-to-version upgrade.
Perform post-upgrade steps for a database attach upgrade (SharePoint Server 2010) | Describes additional steps to make sure that the infrastructure that supports that content is ready to start servicing user requests again.
Installation reference (SharePoint Server 2010) | Provides links to reference information about how to install Microsoft SharePoint Server by using the Psconfig command-line tool, Config.xml, and Windows PowerShell.


Upgrading to SharePoint Server 2010
See Also

Welcome to the upgrade guide for Microsoft SharePoint Server 2010. The articles in this guide help you plan for and perform an upgrade from Microsoft Office SharePoint Server 2007 to SharePoint Server 2010.

For a graphical overview of the upgrade process, and information about how to plan and test upgrade, see the following upgrade models:

  • Upgrade planning (http://go.microsoft.com/fwlink/p/?LinkId=178376)

  • Upgrade approaches (http://go.microsoft.com/fwlink/p/?LinkId=178377)

  • Upgrade services (http://go.microsoft.com/fwlink/p/?LinkId=178379)

  • Test your upgrade process (http://go.microsoft.com/fwlink/p/?LinkId=178378)

In this guide:

  • About the upgrade process (SharePoint Server 2010)

    Learn about what's new in upgrade and how the upgrade process works.

  • Plan and prepare for upgrade (SharePoint Server 2010)

    Determine which approach you should take to upgrade to SharePoint Server 2010 and plan your upgrade process.

  • Testing and troubleshooting upgrade (SharePoint Server 2010)

    Learn how to test your upgrade process ahead of time to understand what issues you might face in your actual upgrade, and determine the time and space you will need for upgrade. Also, learn how to troubleshoot issues that come up during the actual upgrade.

  • Perform pre-upgrade steps (SharePoint Server 2010)

    Find out what steps you need to take before upgrading, including information about how to run the pre-upgrade checker.

  • Perform an in-place upgrade (SharePoint Server 2010)

    Follow the steps in this section if you are upgrading in-place to SharePoint Server 2010. When you upgrade in-place, you install SharePoint Server 2010 on the same hardware, and then upgrade the content and settings on the server or server farm as part of a single process.

  • Perform a database attach upgrade to SharePoint Server 2010

    Follow the steps in this section if you are using the database attach upgrade method to upgrade to SharePoint Server 2010. When you use the database attach upgrade method, you upgrade the content for the environment on a separate farm.

  • Perform post-upgrade steps (SharePoint Server 2010)

    Find out how to tell whether upgrade was completed successfully and what steps you need to perform after the upgrade to get your environment ready for users again.

  • Upgrade from other versions or other products (SharePoint Server 2010)

    Articles in this section contain information about how to upgrade to Microsoft SharePoint Server 2010 from related SharePoint products.

  • Perform a search-first migration (SharePoint Server 2010)

    If your organization is not ready to perform a complete upgrade from Office SharePoint Server 2007, you can still take advantage of end-user enterprise search capabilities of SharePoint Server 2010 by performing a search-first migration.

  • Using AAM URL redirection as part of the upgrade process (SharePoint Server 2010) (white paper)

    This white paper describes the process for using alternate access mapping URL redirection to avoid an unacceptably long period of downtime during upgrade. This is an advanced technique and requires careful planning.

  • Migrate from forms-based authentication to claims-based authentication (SharePoint Server 2010)

    This article provides guidance to help you migrate existing Microsoft Office SharePoint Server 2007 Web applications, which were configured to use forms-based authentication, to work in a Microsoft SharePoint Server 2010 environment as claims-based Web applications.

  • Migrate from classic-mode to claims-based authentication (SharePoint Server 2010)

    The procedures in this article provide guidance to help you migrate existing Microsoft SharePoint Server 2010 Web applications, which were configured to use classic-mode authentication, to use claims-based authentication.

  • Upgrade reference (SharePoint Server 2010)

    Find IDs for default templates, features, and content types in Office SharePoint Server 2007 or Windows SharePoint Services 3.0 so you can identify them in your environment before upgrade.

See Also

Other Resources

Downloadable book: Upgrading to SharePoint Server 2010
Resource Center: Upgrade and Migration for SharePoint Server 2010


About the upgrade process (SharePoint Server 2010)
See Also

The first step in any upgrade process is to learn about the process itself so that you can plan and prepare appropriately. This section of the upgrade guide contains articles that help you understand how upgrade works and how the services in Microsoft Office SharePoint Server 2007 are affected when you upgrade to Microsoft SharePoint Server 2010.

In this section:

  • What's new in upgrade (SharePoint Server 2010)

    Find out about new requirements, approaches, and features that are available for upgrade to Microsoft SharePoint Server 2010.

  • Upgrade process overview (SharePoint Server 2010)

    Get a visual overview of the steps involved in each upgrade approach.

  • How upgrade affects search features (SharePoint Server 2010)

    Learn what can and cannot be upgraded for Search in Office SharePoint Server 2007, and understand additional steps that must be performed to upgrade Search to SharePoint Server 2010.

  • How other services are affected by upgrade (SharePoint Server 2010)

    Office SharePoint Server 2007 included several shared services. The services model is different for SharePoint Server 2010, which means that you must configure services that can be upgraded and you must migrate data or information for the services that cannot be upgraded. Find out which approach can upgrade which services and what steps that you must take before, during, and after upgrade for your existing shared services.

  • Upgrade farms that share services (parent and child farms) (SharePoint Server 2010)

    In Office SharePoint Server 2007, it was possible to configure parent farms and child farms to share services. In such an environment, the parent farm hosts one or more Shared Services Providers (SSPs) from which one or more child farms consume services. Learn how to approach upgrading these environments.

See Also

Other Resources

Downloadable book: Upgrading to SharePoint Server 2010
Resource Center: Upgrade and Migration for SharePoint Server 2010


What's new in upgrade (SharePoint Server 2010)
See Also

Microsoft SharePoint Server 2010 has been designed for scale and performance and as such requires new hardware and software requirements that are described in this article. These requirements apply to both the in-place and the database attach upgrade approaches. For more information, see Determine upgrade approach (SharePoint Server 2010).

In order to facilitate a predictable upgrade and minimize the impact of customization and environmental issues that may prevent a successful upgrade, you can use the Windows PowerShell test-spcontentdatabase cmdlet, the new Visual Upgrade option, or the preupgradecheck Stsadm operation.

In this article:

  • Upgrade requirements

  • Pre-upgrade checker

  • Windows PowerShell command to check databases before attaching

  • Visual Upgrade

  • Feature Upgrade

  • New options for reducing downtime during upgrade

  • Changes in key features between versions

Upgrade requirements

Before you can perform an in-place upgrade or database attach upgrade to SharePoint Server 2010, your existing Office SharePoint Server 2007 environment or new SharePoint Server 2010 environment must meet the following minimum requirements.

Note:

For more information about general system requirements for SharePoint Server 2010, see Hardware and software requirements (SharePoint Server 2010). For more information about upgrade requirements, see Review system requirements for upgrade (SharePoint Server 2010).

Hardware requirement: 64-bit

SharePoint Server 2010 can only run on a 64-bit edition of the Windows Server 2008 R2 or Windows Server 2008 with SP2 operating system. If you plan an in-place upgrade, your Office SharePoint Server 2007 installation must be running in a 64-bit Windows Server 2008 environment. If your Office SharePoint Server 2007 installation is currently in a 32-bit environment, you cannot perform an in-place upgrade on the existing server or server farm. You must install SharePoint Server 2010 on a different server or farm that supports 64-bit applications, and then move your data to that server or farm by using database attach upgrade.

To more easily discover and address any issues in the migration and upgrade processes, we recommend that you do not combine the actions of migrating to a 64-bit environment and upgrading in-place to SharePoint Server 2010. Because you must have a 64-bit environment to be able to upgrade in place to SharePoint Server 2010, you must migrate to a 64-bit operating system before you perform an in-place upgrade. If you are using a database attach upgrade, you can migrate to 64-bit as part of your upgrade process.

Before you migrate to a 64-bit environment:

  • Update Office SharePoint Server 2007 to the same service pack or software update level on all computers in the source farm.

  • Find out whether you have to recompile existing 32-bit applications and custom assemblies — for example, Web Parts and event receivers — to run in the 64-bit environment. (Some applications can run in both environments and do not have to be recompiled.) If the existing applications are third-party applications, check with the third-party vendor about 64-bit versions and compatibility.

For more information about how to plan and perform a migration to a 64-bit environment, see the article Migrate an existing server Farm to a 64-bit environment (Office SharePoint Server 2007) on TechNet (http://go.microsoft.com/fwlink/p/?LinkId=155576).

Operating system requirement: Windows Server 2008 or Windows Server 2008 R2

SharePoint Server 2010 must be run on a 64-bit edition of Windows Server 2008 R2 or Windows Server 2008 with Service Pack 2 (SP2). If you are currently running Office SharePoint Server 2007 on Windows Server 2003 and intend to upgrade to SharePoint Server 2010, you must plan to have a sufficient number of Windows Server licenses for the deployment on the newer operating system.

To more easily discover and address any issues in the migration and upgrade processes, we recommend that you do not combine the actions of upgrading or migrating to Windows Server 2008 or Windows Server 2008 R2 with the process of upgrading to SharePoint Server 2010. You can combine migration to 64-bit hardware with migration to Windows Server 2008 or Windows Server 2008 R2.

  • If you are already running 64-bit hardware, you can upgrade from Windows Server 2003 to Windows Server 2008 or Windows Server 2008 R2. For more information about how to perform an in-place upgrade to Windows Server 2008, see the article Upgrading to Windows Server 2008 for Windows SharePoint Services 3.0 with SP1 on TechNet (http://go.microsoft.com/fwlink/p/?LinkId=155575).

  • If you are migrating to 64-bit hardware, take the opportunity to also migrate to Windows Server 2008 or Windows Server 2008 R2 at the same time. For more information about how to install Windows Server 2008 on Windows Server 2008, see the article Deploy a simple farm on the Windows Server 2008 Operating System (Office SharePoint Server) on TechNet (http://go.microsoft.com/fwlink/p/?LinkID=145932).

Database requirement: 64-bit SQL Server 2005 SP3 or SQL Server 2008 SP1

SharePoint Server 2010 requires that its database server must be a 64-bit version of one of the following: Microsoft SQL Server 2008 R2, SQL Server 2008 with Service Pack 1 (SP1) and Cumulative Update 2, or SQL Server 2005 with SP3 and Cumulative Update 3. If your current Office SharePoint Server 2007 installation uses SQL Server 2000, you must upgrade to one of these versions before you can upgrade to SharePoint Server 2010.

To more easily discover and address any issues in the migration and upgrade processes, we recommend that you do not combine the actions of migrating to 64-bit SQL Server with the process of upgrading to SharePoint Server 2010. You can combine the migration to 64-bit SQL Server with the overall process of migration to 64-bit hardware.

  • If you are combining the migration to SQL Server 2005 SP3 or SQL Server 2008 on 64-bit hardware with an overall migration to a 64-bit environment, follow the guidance about how to migrate to a 64-bit environment earlier in this article.

    For more information about how to migrate all databases, see the article Move all databases (Office SharePoint Server 2007) on TechNet (http://go.microsoft.com/fwlink/p/?LinkId=159761).

  • If you already have 64-bit hardware, but have to upgrade to SQL Server 2005 SP3 or SQL Server 2008, follow the guidance in the SQL Server documentation.

Pre-upgrade checker

The pre-upgrade checker is a command-line tool that you run in a Office SharePoint Server 2007 environment to find any potential issues for upgrade and to review recommendations and best practices.

STSADM.exe -o preupgradecheck

By using the pre-upgrade checker, you can find information such as the following:

  • A list of all servers and components in the farm, and whether the servers meet the following requirements for upgrading: 64-bit hardware and the Windows Server 2008 operating system.

  • The alternate access mapping URLs that are being used in the farm.

  • A list of all site definitions, site templates, features, and language packs that are installed in the farm.

  • Whether there are customizations in the farm that are not supported (such as database schema modifications).

  • Whether there are any database or site orphans in the farm.

  • Whether there are missing or invalid configuration settings in the farm (such as a missing Web.config file, invalid host names, or invalid service accounts).

  • Whether the databases meet the requirements for upgrade — for example, databases are set to read/write, and any databases and site collections that are stored in Windows Internal Database are not larger than 4 GB.

The pre-upgrade checker is available with Office SharePoint Server 2007 Service Pack 2 and has been updated in the October 2009 Cumulative Update for Windows SharePoint Services 3.0 and Office SharePoint Server 2007. You can download and install the October 2009 Cumulative Update from October 2009 Cumulative Update Packages for SharePoint Server 2007 and Windows SharePoint Services 3.0 are published (http://go.microsoft.com/fwlink/p/?LinkID=169179). For more information about how to use the pre-upgrade checker, see the following articles on TechNet:

  • Preupgradecheck: Stsadm operation (Office SharePoint Server) (http://go.microsoft.com/fwlink/p/?LinkID=149848)

  • Pre-upgrade scanning and reporting for future releases (Office SharePoint Server) (http://go.microsoft.com/fwlink/p/?LinkID=148375)

  • Run the pre-upgrade checker (SharePoint Server 2010)

Windows PowerShell command to check databases before attaching

You can use the Windows PowerShell cmdlet test-spcontentdatabase before you attach a content database to SharePoint Server 2010 to determine whether any server-side customizations are missing from the environment. For more information, see Attach databases and upgrade to SharePoint Server 2010 and Test-SPContentDatabase.

Visual Upgrade

A new feature that is available with upgrade allows the server administrator or site owner to determine when and if the new look for SharePoint Server 2010 is used for a particular site collection. Server administrators can choose to adopt the new look and feel for all sites during upgrade, let site owners make the choice after upgrade, or keep the old look and feel for all sites.

If the server administrator lets the site owners decide, after a site is upgraded by using an in-place upgrade, a preview option is available in the site user interface. This option provides a preview of the SharePoint Server 2010 look for the site:

  • If the owner likes how the site looks and functions, the owner can accept the visual upgrade.

  • If the owner wants the site to keep the old look and feel, the owner can revert to the Office SharePoint Server 2007 look.

By default, the Office SharePoint Server 2007 look is retained. For more information, see Plan visual upgrade (SharePoint Server 2010).

Feature Upgrade

SharePoint Foundation 2010 provides new members and types that make it possible for you to upgrade custom Features through versioning and declarative upgrade actions. You can update any Features you created for Office SharePoint Server 2007 to work with SharePoint Server 2010 by using these members. For more information, see Upgrading Features.

New options for reducing downtime during upgrade

Depending on the environment and the complexity and number of SharePoint sites, the upgrade process can take a long time. To reduce downtime during this process, SharePoint Server 2010 supports the following options:

  • Upgrade multiple databases at the same time (parallel upgrade) When you upgrade to SharePoint Server 2010, you can manually initiate upgrade for multiple databases at the same time by using the detach databases hybrid approach for upgrade. In Office SharePoint Server 2007, only one upgrade process could run at a time, so that each database needed to be processed sequentially. There is a performance impact when you run the upgrade on multiple databases instead of on a single database, but it may be faster to upgrade multiple databases at the same time than to upgrade them sequentially. The number of databases that can be upgraded in parallel will depend on the hardware in your environment and on the structure of the content within the databases. For more information, see Roadmap: in-place upgrade with detached databases (SharePoint Server 2010).

  • Use read-only databases to provide continuous access to data If you perform a database attach upgrade — and if you set the original databases to read-only mode — the old farm can continue to serve content to users while you upgrade a copy of the databases on a new farm. If you do this, users can continue to access the data, although they cannot add new data or update the data. When the new farm is ready and all content has been successfully upgraded, users can be switched over to the new live farm.

    For more information about read-only databases, see the article Run a farm that uses read-only databases (Office SharePoint Server) (http://go.microsoft.com/fwlink/p/?LinkID=148373).

For more information about these techniques to reduce downtime, see the article Determine upgrade approach (SharePoint Server 2010).

Changes in key features between versions

SharePoint Server 2010 has a new architecture and includes many new capabilities. The following tables list some of the key changes to terminology and features that immediately affect the administration and site management process after upgrading. For more information, see Evaluation guide for SharePoint Server 2010 (white paper).

Concept, term, or feature New or changed Comments

Pre-upgrade checker

New

The pre-upgrade checker is an Stsadm command-line operation that you run in an Office SharePoint Server 2007 environment to find any potential issues for upgrade and to review recommendations and best practices.

Unlike the pre-upgrade scan tool (Prescan.exe) that was used when upgrading to Office SharePoint Server 2007, the pre-upgrade checker does not make any changes to your environment. For more information, see Run the pre-upgrade checker (SharePoint Server 2010).

SharePoint Central Administration Web site

Changed

The Central Administration Web site has been redesigned with such new available options and functionality as the following:

  • The ribbon makes it easier for you to view or change details about a Web application by supplying all the options on the same page. For more information about Web applications, see Web applications management (SharePoint Server 2010).

  • Configuration Wizards have been added to make the configuration process easier by guiding you through the steps to configure the server farm. For more information, see Deploy a single server with SQL Server (SharePoint Server 2010).

  • You can now perform a backup from the Backup and Restore page. For more information, see Backup SharePoint Server 2010.

You now use the Central Administration Web site to manage services, instead using a separate administration site.

Ribbon

New

The ribbon user interface has been introduced to ensure a consistent user experience and to make it easier for you to work with SharePoint sites. The ribbon is contextual so that you only see the options that are relevant to the tasks that you want to perform. The ribbon is also customizable.

Service applications

New

New services architecture allows you to effectively manage and centralize services. Individual services can be configured independently and third-party companies can add services to the platform. For more information, see Configure services (SharePoint Server 2010).

Master pages

Changed

A site owner can now apply branding to their site, independent of other sites, and administrators can specify whether the system pages in the _Layouts folder are rendered by using the site master pages provided by site owners or by default master pages available across the system. Also, it is possible to use Windows PowerShell to specify a customer master page to system error pages, login pages, confirmation pages, and other non-site-specific pages.

Themes

Changed

SharePoint Server 2010 has changed the way themes work, making them easier to customize. You can import Microsoft PowerPoint 2010 themes directly into SharePoint Server 2010. Additionally, themes can now be applied to all subsites from this interface. For more information, see Plan for using themes (SharePoint Server 2010).

Business Connectivity Services (BCS)

New

Business Connectivity Services (BCS) builds on the Business Data Catalog functionality available in the previous product version to provide access to external systems from SharePoint-based solutions. BCS supports interacting with external systems using SharePoint lists and Web Parts, and also supports interacting with data from rich Office clients. For more information, see Business Connectivity Services overview (SharePoint Server 2010).

Claims-based authentication

New

Claims-based authentication is a new, more powerful and flexible authentication model that works with any corporate identity system, including Active Directory Domain Services (AD DS), LDAP-based directories, application-specific databases, and new user-centric identity models such as LiveID. For more information, see Configure forms-based authentication for a claims-based Web application (SharePoint Server 2010).

Throttling and list controls

New

Throttling and list controls are two new performance controls. Throttling provides a way to control server resources and is designed so that the server can be protected from overload during peak business hours. SharePoint Server 2010 also provides several different settings that will restrict the queries that can be run against a large list. These settings can be configured for each Web application.

SharePoint Designer

Changed

SharePoint Server 2010 gives administrators added control over how SharePoint Designer is used in each Web application; for example, administrators control whether site administrators are allowed to customize master pages and layout pages, and whether site administrators can manage the URL structure of their site.

Developer dashboard

New

This is a new addition to server diagnostics and displays detailed information for each page load and therefore helps troubleshoot performance issues.

Sandboxed solutions

New

You can now enable site administrators to upload custom user code by using sandboxed solutions. For more information, see Sandboxed solutions planning (SharePoint Server 2010).

See Also

Other Resources

Downloadable book: Upgrading to SharePoint Server 2010
Resource Center: Upgrade and Migration for SharePoint Server 2010
Resource Center: What's New in Microsoft SharePoint Server 2010


Upgrade process overview (SharePoint Server 2010)
See Also

You can choose between two basic upgrade approaches when you upgrade from Microsoft Office SharePoint Server 2007 to Microsoft SharePoint Server 2010: in-place upgrade and database attach upgrade. An in-place upgrade is used to upgrade all Microsoft SharePoint sites on the same hardware. A database attach upgrade enables you to move your content to a new farm or new hardware. You can also combine these two types of upgrade in hybrid approaches that reduce downtime during an upgrade.

For more information about these approaches, see Determine upgrade approach (SharePoint Server 2010).

This article helps you understand the steps that are involved in performing upgrades by using these approaches so that you can plan your upgrade process. For detailed information about how to use one of these upgrade processes, see the following topics:

  • Upgrade in place to SharePoint Server 2010

  • Attach databases and upgrade to SharePoint Server 2010

In this article:

  • In-place upgrade

  • Database attach upgrade

  • Hybrid approach 1: Read-only databases

  • Hybrid approach 2: Detach databases

Important:

It is important that the server administrator communicate with site owners and users about what to expect during an upgrade. The administrator should inform them about downtime and the risk that the upgrade may take longer than expected or that some sites may need some rework after upgrade. For more information, see Create a communication plan (SharePoint Server 2010).

In-place upgrade

An in-place upgrade takes place on the same hardware as your previous version installation. When you run an in-place upgrade, the process upgrades the complete installation in a fixed order.

The following steps explain what happens as the in-place upgrade process runs:

  1. After the server administrator performs all pre-upgrade steps, the administrator runs Setup for SharePoint Server 2010 on the server that runs the SharePoint Central Administration Web site. Because the previous version was installed, an in-place upgrade is automatically selected.

  2. After Setup runs on the server that hosts the Central Administration Web site, the server administrator runs Setup on the remaining front-end Web servers and application servers in the farm.

  3. The server administrator runs the SharePoint Products Configuration Wizard on the server that hosts the Central Administration Web site. This server, the configuration database, the services, and the content databases are upgraded sequentially.

    When the configuration wizard finishes, the Central Administration Web site opens. A timer job schedules the upgrade process to run for each site collection. The upgrade process timer job upgrades each site collection. After all sites are upgraded, the upgrade process ends.

  4. The server administrator runs the SharePoint Products Configuration Wizard on all the other servers in the farm.

    In-place upgrade process

  5. The server administrator confirms that the upgrade has finished successfully.

  6. If Visual Upgrade is being used, the server administrator or site owner previews sites in the Microsoft SharePoint Server 2010 look. When the administrator or site owner is ready, he or she completes the change to the SharePoint Server 2010 look.

Database attach upgrade

A database attach upgrade enables you to move to new hardware or a new farm. During a database attach upgrade, you detach all the content databases from an existing farm and then attach the databases to a new server farm installation. When you attach the databases to the new server farm, the upgrade process runs and upgrades the data in place.

The following steps explain what happens during a database attach upgrade:

  1. The server administrator sets up and configures a new SharePoint Server 2010 farm. The administrator transfers all customizations to the new farm and tests the environment.

    For more information about how to configure the new environment, see Prepare the new SharePoint Server 2010 environment for a database attach upgrade.

  2. The server administrator detaches the content databases from the old Office SharePoint Server 2007 farm and takes the old farm offline (for example, by changing the load balancer or IIS Web applications to stop service requests, or by turning off all the components and services on each server computer in the farm).

  3. The server administrator attaches the content databases to the new farm and upgrades the content.

    Database migration upgrade process

  4. The server administrator confirms that the upgrade has finished successfully and then configures the new farm to start serving requests at the new URL.

Hybrid approach 1: Read-only databases

This approach gives users continuous read-only access to their data while you upgrade. The content databases in the original farm are set to read-only, and copies of the databases are upgraded on a new farm.

The following steps explain what happens during a database attach upgrade with read-only databases:

  1. The server administrator sets up and configures a new SharePoint Server 2010 farm. The administrator transfers all customizations to the new farm and tests the environment.

  2. The server administrator changes the content databases to read-only. The administrator then uses SQL Server to back up the content databases on the Office SharePoint Server 2007 farm and restore them to the new farm.

    Read-only databases upgrade process - part1

  3. The server administrator attaches the new copies of the content databases, and the upgrade process runs and upgrades the content.

    Read-only databases upgrade process - part2

  4. After the upgrade process runs, the server administrator confirms that the upgrade has finished successfully. The administrator then configures the new farm to start serving requests at the new URL and takes the original farm offline (for example, by changing the load balancer or IIS Web applications to stop service requests, or by turning off all the components and services on each server computer in the farm).

Hybrid approach 2: Detach databases

This approach enables you to speed up the upgrade process by detaching and attaching databases to upgrade multiple databases at the same time. It is an in-place upgrade because you are upgrading the original farm; however, you can also use another farm to perform the upgrade and then attach the upgraded databases to your original farm. Note that the original farm cannot serve requests during the upgrade process. As in a standard in-place upgrade, users cannot access their content while the upgrade is in progress.

The following steps explain what happens during an in-place upgrade with detached databases:

  1. The server administrator takes the original farm offline (for example, by changing the load balancer or IIS Web applications to stop service requests, or by turning off all of the components and services on each server computer in the farm).

  2. The server administrator detaches the content databases from the original farm.

  3. The server administrator runs an in-place upgrade on the original farm servers, services, and configuration database.

  4. The server administrator attaches the content databases to the original farm and upgrades the content.

    Detach databases upgrade process - part1

Alternatively, you can use a separate, temporary small farm to perform the upgrade. In this approach, you attach the databases to the original farm after they have been upgraded.

The following steps explain what happens during an in-place upgrade with detached databases and a temporary small farm to upgrade the content databases:

  1. The server administrator sets up a temporary small farm that is running the new version. Then the administrator takes the original farm offline (for example, by changing the load balancer or IIS Web applications to stop service requests, or by turning off all the components and services on each server computer in the farm).

  2. The server administrator detaches the content databases from the original farm.

  3. The server administrator runs an in-place upgrade on the original farm to upgrade the servers, services, and configuration database.

  4. The server administrator attaches the content databases to the temporary small farm and upgrades them in parallel.

  5. The server administrator reattaches the content databases to the original farm.

    Detach databases upgrade process - part2

  6. The server administrator confirms that the upgrade has finished successfully.

  7. If Visual Upgrade is being used, the server administrator or site owner previews sites in the Microsoft SharePoint Server 2010 look. When the administrator or site owner is ready, he or she completes the change to the Microsoft SharePoint Server 2010 look.

See Also

Other Resources

Downloadable book: Upgrading to SharePoint Server 2010
Resource Center: Upgrade and Migration for SharePoint Server 2010


How upgrade affects search features (SharePoint Server 2010)
See Also

When you upgrade from Microsoft Office SharePoint Server 2007 to Microsoft SharePoint Server 2010, several aspects of the search system are affected. The following articles describe effects of product upgrade on the search system:

  • How upgrade affects search system architecture (SharePoint Server 2010)

    This article describes how the following features or functions are affected by upgrade:

    • Search service

    • Search service configuration dependencies

    • Databases

    • Crawling

    • Serving queries

    • Content index

    • Propagation of content index

    • Shared Services Provider (SSP) and Search service application naming

  • How upgrade affects Search Center sites (SharePoint Server 2010)

    Search Center sites that an administrator creates in SharePoint Server 2010 have a new look compared to the look of sites created in Office SharePoint Server 2007. During product upgrade, a server administrator can upgrade old sites to the new look. After upgrade, site owners can upgrade old sites one at a time.

See Also

Other Resources

Downloadable book: Upgrading to SharePoint Server 2010
Resource Center: Upgrade and Migration for SharePoint Server 2010
Resource Center: Enterprise Search in SharePoint Server 2010


How upgrade affects search system architecture (SharePoint Server 2010)
See Also

Published: July 15, 2010

The information in the following table describes how features and functions of the search system architecture are affected when you upgrade from Microsoft Office SharePoint Server 2007 to Microsoft SharePoint Server 2010.

Feature or function Feature or function in Office SharePoint Server 2007 Corresponding feature or function in SharePoint Server 2010

Search service

A Shared Services Provider (SSP) hosts one or more centrally managed, reusable services. These services can be consumed by multiple Web applications in a farm. One of the services is the Office SharePoint Server Search service (OSearch). The OSearch service is used to crawl content repositories, index the crawled content, and serve search queries that are issued by end-users.

However, an administrator might want to define more than one group of search settings for a farm-wide search configuration. For example, for security reasons the administrator might want to dedicate one content index to one set of content sources, and another content index to another set of content sources. To define an additional group of settings for a farm-wide search system, the search administrator must configure the OSearch service in a different SSP. If there is no other SSP in the farm that can be used for this purpose, the farm administrator must create a new SSP. However, each SSP requires maintenance and can consume system resources in addition to those that are used for the OSearch service.

For each SSP that existed in the farm before upgrade, the upgrade process automatically creates a Search service application. At upgrade time, the administrative settings from the OSearch service in an SSP are copied to the corresponding new Search service application. For example, the new Search service application contains the content sources, scopes, and crawl rules from the OSearch service in the corresponding SSP.

Search service configuration dependencies

In an SSP, the search administrator configures the OSearch service to define one group of settings (such as content sources and scopes) for a farm-wide search system. Each SSP can contain only one OSearch service. Therefore, an SSP can contribute only one group of settings to the farm-wide search system.

Each Search service application contributes one group of settings (such as content sources and scopes) for a farm-wide search system. A Search service application requires no host such as an SSP. To add a new group of settings to a farm-wide search system, the search administrator merely creates and configures an additional Search service application.

Databases

For each SSP, there are two databases:

  • The SSP database. This database contains:

    • Administrative settings for search, such as content sources and scopes.

    • The profile store (Office SharePoint Server 2007 only).

  • The search database. This database contains:

    • Crawler internal data, such as crawl logs.

    • The property store, which includes the metadata from crawled documents.

For each SSP that existed before upgrade, the following three databases are created and associated with the corresponding Search service application:

  • The search administration database. This database contains the administrative settings for search that were stored in the SSP database.

  • The crawl database. This database contains the crawler internal data that was stored in the SSP database.

  • The property database. This database is largely the same as the search database that existed before upgrade. (Some information that was in the search database before upgrade is moved into the search administration database and crawl database.)

There is only one search administration database per Search service application. After an upgrade, however, the crawl database and property database can be scaled out.

Crawling

An index server has a single crawler.

A crawl server contains one or more crawl components that can crawl content independently of one another.

Serving queries

A query server has only one component to serve search queries.

A query server can host one or more query components, each of which serves search queries.

Content index

Each SSP can contain only one OSearch service, and there is one corresponding content index.

For each SSP that existed before upgrade, one index partition is created with one query component. An in-place upgrade copies the entire content index from the SSP to the new index partition. After upgrade, the administrator can scale out to multiple index partitions. Each index partition contains a discrete part of the index. For example, in a topology with two index partitions, each partition contains half of the index.

In a database-attach upgrade, the old content index is not retained. To create an index, it is necessary to perform a full crawl after the upgrade.

Propagation of content index

The search system stores the content index in the file system of the index server. The search system also propagates a copy of the content index to the file system of each query server.

Each crawl component propagates the content index to the index partitions on the query servers. The search system stores the content index in the file systems of the query servers. The crawl server does not keep a copy of the content index.

Naming of SSP and Search service application

Each SSP in a server farm has a unique name — for example, SharedServices1.

Each Search service application that is created during the upgrade process has a default name that is based on the name of the corresponding SSP from Microsoft Office SharePoint Server 2007. For example, if the SSP was named SharedServices1, by default the corresponding Search service application is named SharedServices1_Search. However, the administrator can customize these database names with an XML file that is used at upgrade time.

See Also

Concepts

How upgrade affects Search Center sites (SharePoint Server 2010)

Other Resources

Downloadable book: Upgrading to SharePoint Server 2010
Resource Center: Upgrade and Migration for SharePoint Server 2010


How upgrade affects Search Center sites (SharePoint Server 2010)
See Also

Published: July 15, 2010

Search Center sites that an administrator creates in SharePoint Server 2010 have a new look compared to the look of Search Center sites created in Office SharePoint Server 2007. During product upgrade, a server administrator can upgrade old sites to the new look. After product upgrade, a site owner can upgrade old sites one at a time.

Note:

This article is specific to the effect of upgrade on Search Center sites. It does not pertain to the effect of upgrade on other types of SharePoint sites.

In this article:

  • Server administrator options for upgrading sites during product upgrade

  • Site owner options for upgrading sites after product upgrade

Server administrator options for upgrading sites during product upgrade

During product upgrade, the server administrator can specify one of the following three options for upgrading Search Center sites to the new look:

  • Keep the old look for all existing sites.

  • Keep the old look for sites that were customized, and apply the new look to sites that were not customized.

  • Apply the new look to all existing sites.

The effect of the server administrator's choice on an existing site depends on which of the following three levels of customization the existing site has:

  • No customization

  • Minor customization (such as minor modifications to Web Part properties and cascading style sheets)

  • Extensive customization (such as significant modifications to page layout, cascading style sheets, and master-pages)

The following table shows how the look of a Search Center site after product upgrade is affected by the level of customization of the existing site and the visual upgrade option that the server administrator selects at upgrade time.

This visual upgrade option | Has this effect on Search Center sites that were created in Office SharePoint Server 2007
 | Sites with no customization | Sites with minor customization | Sites with extensive customization
Keep old look for all sites. | All sites keep the old look. | All sites keep the old look and old customizations. | All sites keep the old look and old customizations.
Keep old look for sites that were customized, and apply new look to all sites that were not customized. | All sites get the new look. | Sites that were not customized get the new look. Sites that were customized keep the old look. | Sites that were not customized get the new look. Sites that were customized keep the old look. It might be necessary to adjust some cascading style sheets so that the upgraded Search Center closely matches the old look. If the page layout was customized before upgrade, after upgrade the administrator must add code so that the new layout displays the ribbon. For more information, see Displaying the Server Ribbon and Site Actions Menu on Customized Search Pages Upgraded to SharePoint 2010 Using Visual Upgrade (http://go.microsoft.com/fwlink/p/?LinkId=178924).
Apply new look to all sites. | All sites get the new look. | All sites get the new look. Old customizations are carried over. | All sites get the new look. Old customizations that an administrator provided in separate page layout and master page files that are on disk (not in the product database) are retained following upgrade. However, old customizations of native Office SharePoint Server 2007 search page layouts and master pages are lost.
Note:

  • Some kinds of Search Center site customizations are not supported. This includes customizations that directly alter related files on disk. Also, transfer of such customizations during the upgrade process and use of the customizations after upgrade are not supported.

  • Web Parts that are new in SharePoint Server 2010 are not added to upgraded sites. For example, the Refinement Web Part is new in SharePoint Server 2010 and is not added during upgrade. The site owner can add it to the left zone manually after upgrade.

Site owner options for upgrading sites after product upgrade

Following the product upgrade, site owners can upgrade sites from the old look to the new look one at a time. However, the site owner's options are affected by the decisions that the administrator specifies during upgrade. For example, if the administrator upgraded all existing sites to the new look, the site owner has no choices remaining in this regard after upgrade.

Before committing to upgrade a site to the new look, the site owner can preview the new look for a site by using the Title, Description, and Icon link on the Site Settings page. This preview capability is especially helpful when the site was customized in Office SharePoint Server 2007 because it enables the site owner to determine how much work might be required to upgrade the site to the new look.

See Also

Concepts

How upgrade affects search system architecture (SharePoint Server 2010)

Other Resources

Downloadable book: Upgrading to SharePoint Server 2010
Resource Center: Upgrade and Migration for SharePoint Server 2010


How other services are affected by upgrade (SharePoint Server 2010)
See Also

When you upgrade from Microsoft Office SharePoint Server 2007 to Microsoft SharePoint Server 2010, you have the opportunity to take advantage of new features and new configuration options. In SharePoint Server 2010, the services infrastructure has been updated to give you more flexibility in how you configure services, and there are many more services than were available in Office SharePoint Server 2007. Because of this architectural change, upgrading your services data requires planning and thought beforehand. You need to understand the new services infrastructure, how services upgrade works, and the considerations to think about for specific services that you want to upgrade to the new version.

In this article:

  • Updated services infrastructure for SharePoint Server 2010

  • In-place upgrade with services

  • Database attach upgrade with services

  • Considerations for specific services

Updated services infrastructure for SharePoint Server 2010

In SharePoint Server 2010, services are no longer contained in a Shared Services Provider (SSP). Instead, the infrastructure for hosting services moves into Microsoft SharePoint Foundation 2010 and the configuration of service offerings is much more flexible. Individual services can be configured independently, and third-party companies can add services to the platform. Many services that stored data in the SSP database have their own databases — in some cases, several databases. When you enable new services, new databases are also created to store the data for those services. The following table lists services databases in your pre-upgrade and post-upgrade environments. This list is only an example. The list of databases will vary depending on which services are enabled in your environment.

Microsoft Office SharePoint Server 2007 services databases before upgrade SharePoint Server 2010 databases after in-place upgrade

  • Search database

  • SSP database

  • SSP Admin Site content database

  • Application Registry database

  • BDC Service database

  • Search Service Admin database

  • Search Service Crawl Store database

  • Search Service Property Store database

  • Session state service database

  • State service database

  • Taxonomy database

  • User Profile databases

  • WSS Usage database

  • More…

Before you begin the upgrade process for services, review the updated services infrastructure and determine which services you have to upgrade and which new services you want to incorporate into your upgraded environment. Plan the logical and physical architecture you need to support the services and service applications you want to host in your SharePoint Server 2010 environment. For more information, see Logical architecture components (SharePoint Server 2010) and the Services models in Technical diagrams (SharePoint Server 2010).

In-place upgrade with services

When you perform an in-place upgrade, all of your services infrastructure and the settings for the services themselves are upgraded as part of the process. The following sections and diagrams explain what happens to the different services components during the upgrade process.

  • Shared Service Providers (SSPs)

    During an in-place upgrade, any SSPs are converted to service applications and service application proxies, one per service. They are given default names (for example, if the SSP was named SharedServices1, the service applications will be named SharedServices1_service, such as "SharedServices1_Search). All SSPs that are upgraded keep their associations with the Web applications that consumed from that SSP. All SSP administrators are added to the SharePoint Central Administration Web site as delegated administrators.

  • Databases

    The SSP database is upgraded and data is copied into new user profiles and taxonomy databases. Other services information is moved into other service databases or the configuration database.

  • Sites

    The SSP Admin site is upgraded as a mostly blank site except for the Business Data Catalog profile pages. The site can be deleted after upgrade if it is not needed for Business Data Catalog pages.

Before in-place upgrade

  • Collect any settings that must be reapplied, such as scheduled timer job settings.

  • Review your services architecture and determine what, if any, changes to make after upgrade.

For detailed information about steps to perform before you begin an in-place upgrade, see Upgrade in place to SharePoint Server 2010.

During in-place upgrade

If you have a single SSP, all proxies for service applications are added to the default proxy group. The following diagrams show the changes to your farm that are made during in-place upgrade.

Services infrastructure before upgrade:

Upgrading one Shared Services Provider (before)

Services infrastructure after upgrade:

Upgrading one Shared Services Provider (after)

If you have multiple SSPs, they will all be upgraded together, and you will have multiple proxy groups after the upgrade. The following diagrams show the changes to your farm that are made during in-place upgrade.

Services infrastructure before upgrade:

Upgrading multiple SSPs (before)

Services infrastructure after upgrade:

Upgrading multiple SSPs (after)

For more information and detailed steps for performing an in-place upgrade, see Upgrade in place to SharePoint Server 2010.

After in-place upgrade

  • Configure new and upgraded services

    Many new services are available in SharePoint Server 2010. You can enable these new services after you perform an in-place upgrade.

    • You must create service applications to host any new services. You can use the Farm Configuration Wizard to quickly select and enable several new services in your farm, or you can configure the services manually.

    • You can also add proxies for any service applications that you want to use with different Web applications.

  • For Profile Services, upgrade any taxonomy data manually.

  • For Excel Services, provision a new unattended service account for the Secure Store Service.

  • For Business Data Catalog, consider migrating the Business Data Catalog profile pages to a new location.

For detailed information about post-upgrade steps for services, see Perform post-upgrade steps for an in-place upgrade (SharePoint Server 2010).

Database attach upgrade with services

Most services settings will need to be reconfigured when you upgrade via database attach. When you move your databases to a new farm and upgrade the content, you must create your services infrastracture in the new farm, and configure the services appropriately for your new farm and new version. You can attach the SSP databases from your old farm, but only the profile information in that database will be upgraded — any search information or other services settings will not be upgraded. You cannot upgrade Search databases by using the database attach upgrade approach.

If you are using the database attach approach for upgrading to SharePoint Server 2010, there are several steps to perform before, during, and after the upgrade to successfully reconfigure the services infrastructure.

Before database attach upgrade

  • When you configure the new farm, you must also configure the new service applications and service application proxies for the farm, and configure the settings for all services that you want to use.

  • If you are using Profile Services, and you have taxonomy data in your database, configure the Managed Metadata service before you upgrade. That way, you can upgrade any taxonomy data from the shared services database when you attach that database.

  • For InfoPath Forms Services, export any administrator-deployed form templates (.xsn files) and data connection files (.udcx files) from your Office SharePoint Server 2007 farm by using the following command:
    Stsadm.exe -o exportipfsadminobjects -filename<path to export CAB>

  • For InfoPath Forms Services, import any administrator-deployed form templates and data connection files to your new farm before you attach the content databases. Use the Import-SPIPAdministrationFilesWindows PowerShell cmdlet to import the forms.

For more information about how to configure your new environment before you perform a database attach upgrade, see Prepare the new SharePoint Server 2010 environment for a database attach upgrade.

During database attach upgrade

When you attach and upgrade the content databases, you also attach and upgrade the SSP database, which upgrades the profile information in the database. The following table provides an example of the services databases that exist before and after upgrade.

Microsoft Office SharePoint Server 2007 services databases that can be upgraded by using the database attach approach SharePoint Server 2010 databases after a database attach upgrade

  • SSP database

  • SSP database

    Only contains user profile data, no search or other services data. Note that the name does not change during a database attach upgrade.

  • Taxonomy database

    If the Managed Metadata service was configured before upgrading, and if taxonomy data existed in the SSP database, this database contains that data.

For more information and procedures for performing a database attach upgrade, see Attach databases and upgrade to SharePoint Server 2010.

After database attach upgrade

  • Reapply administrator permissions for services. By default, farm administrators have permissions to all services when you perform a database attach upgrade.

  • For Excel Services, you must provision a new unattended service account that uses the Secure Store Service to interact with Excel Services.

  • For InfoPath Forms Services, update any links that are used in the upgraded form templates by using the Update-SPInfoPathAdminFileURLWindows PowerShell cmdlet.

  • For Profile Services, upgrade any taxonomy data. You use the Move-SPProfileManagedMetadataPropertyWindows PowerShell cmdlet to upgrade profile taxonomy data manually to the Taxonomy database and reconnect the data to the Managed Metadata and User Profiles service applications. The User Profiles service and Managed Metadata service must be in the same proxy group to upgrade and use the data.

  • For Business Data Catalog, consider migrating the Business Data Catalog profile pages to a new location.

For detailed information about post-upgrade steps for services, see Perform post-upgrade steps for a database attach upgrade (SharePoint Server 2010).

Considerations for specific services

The following services were available in Office SharePoint Server 2007 and can be upgraded to SharePoint Server 2010. Changes in the services infrastructure mean that there are additional things to consider when planning and performing an upgrade for an environment where these services are present.

User profiles

  • Services

    Two services are now used for user profiles and taxonomy information: the User Profile service and the Managed Metadata service. During in-place upgrade, these two services are automatically enabled and configured. If you are using the database attach upgrade approach, you can enable and configure the Managed Matadata service before you upgrade the User Profile service to upgrade the taxonomy data as part of the upgrade.

  • Databases

    • During in-place upgrade, user profile data from Office SharePoint Server 2007 is upgraded from the SSP database into a new user profile database. Any taxonomy data is upgraded, and you can copy the taxonomy data into a Taxonomy database for use by the Managed Metadata service after upgrade is complete by using the Move-SPProfileManagedMetadataPropertyWindows PowerShell cmdlet.

    • During a database attach upgrade, user profile and taxonomy data from the SSP database is upgraded when the SSP database is attached, but the database is not copied and renamed. You can copy the taxonomy data into a Taxonomy database for use by the Managed Metadata service after upgrade is complete by using the Move-SPProfileManagedMetadataPropertyWindows PowerShell cmdlet.

  • Any scheduled timer jobs will need to be reconfigured after upgrade. During upgrade, they are set back to their default times. Be sure to record your timer job schedules before upgrade so you can reapply the times.

  • Persisted properties that relate to the profiles (such as the MySite Host URL) are preserved during an in-place upgrade, but are not upgraded when you use database attach because they are stored in the configuration database, not the services database.

    The following properties are preserved during in-place upgrade, but not during a database attach upgrade:

    • MySiteHostURL

    • SearchCenterURL

    • EnablePersonalFeaturesforMultipleDeployments

    • ProfileStoreLanguage

    • ProfileStoreLanguagePacksApplied

    • ProfileStoreCollationID

    • DaysWorthOfEventsToKeep

My Sites

Upgrade the My Sites host at the same time that you upgrade the profile services. You do not need to upgrade the My Sites at the same time. For best results, upgrade My Sites (or at least the My Sites host) at the same time as your main intranet site.

Office SharePoint Server Search

Before you perform an in-place upgrade, you should review and adjust your Search topology after upgrade to suit the new recommendations and requirements. For more information, see Plan search (Office SharePoint Server) and the Search models in Technical diagrams (SharePoint Server 2010).

You cannot upgrade search data by using the database attach method for upgrading. If you are using database attach upgrade, you must configure Search in your new farm separately from (either before or after) you upgrade your other content.

  • Service applications

    During upgrade, for each SSP that hosts the Search service in your Office SharePoint Server 2007 farm, a new service application is created in your SharePoint Server 2010 farm.

    The application server that was serving as the index server becomes the crawl component on the same server.

    Any query servers become query components on the same servers, all in the same index partition.

  • Databases

    In SharePoint Server 2010, the Search service uses three databases:

    • Search administration database (new): contains Search administration settings that were stored in the SSP database in Office SharePoint Server 2007.

    • Search Service Crawl Store database (new): contains crawl history information that was stored in the SSP database in Office SharePoint Server 2007.

    • Search Service Property Store database (reused Search database): contains the metadata for search.

  • Index files

    Before upgrade, index files are stored on the index server and the query servers. After upgrade, only servers that have query components will store index files.

Tip:

Upgrade will be faster if you scale down to one query server before you upgrade. With only one server, there is less data to copy. You can scale out again after upgrade to multiple mirrored query components.

Windows SharePoint Services Search

The Windows SharePoint Services Search service has been re-architected in SharePoint Server 2010. During an in-place upgrade, the Windows SharePoint Services Search service is stopped and reprovisioned. Windows SharePoint Services Search stores index files on the application server in Office SharePoint Server 2007 and also has a database (WSS_Search, one per server in your farm). During an in-place upgrade, the database is restructured and reused. The old data is not kept and is not upgraded.

InfoPath Forms Services

When you upgrade by using the database attach upgrade approach, you must export any administrator-deployed form templates (.xsn files) and data connection files (.udcx files) before you perform the database attach, and then import them to the new farm by using the Export-SPInfoPathAdministrationFilesWindows PowerShell cmdlet. If the URL of the new server differs from the URL of the previous server, you can run the Update-SPInfoPathAdminFileUrlWindows PowerShell cmdlet to update links that are used in the upgraded form templates.

For more information about how to upgrade forms and form templates, see Plan to upgrade form templates during an upgrade to SharePoint Server 2010.

Excel Services

  • Excel Services remains a local service for SharePoint Server 2010 — this means that you need to run the service in the same farm that consumes it.

  • For in-place upgrade, any configuration information stored in the SSP database for Excel Services is upgraded and moved into the configuration database. For the database attach upgrade approach, you must reconfigure Excel Services in your new farm.

  • After upgrade (either in-place or database attach), you must provision a new unattended service account that uses the Secure Store Service to interact with Excel Services.

Business Data Catalog

During an in-place upgrade, data that was stored in the SSP database is moved and upgraded to a separate database. New service applications are created for the SharePoint Server 2010 service. A new service, the Application Registry Backwards-compatible service, is used to manage the old Business Data Catalog connections.

The Business Data Catalog is not upgraded when you use the database attach upgrade method.

For more information, see Plan to upgrade to Business Connectivity Services (SharePoint Server 2010).

Single sign-on

The Single Sign-On (SSO) service is being replaced with the Secure Store Service in SharePoint Server 2010. You can use Windows PowerShell cmdlets to upgrade application definitions from SSO to the Secure Store Service. Note that passwords are not upgraded. After you upgrade the application definitions, you can make the Secure Store Service the default SSO provider. For more information, see Perform post-upgrade steps for an in-place upgrade (SharePoint Server 2010).

See Also

Other Resources

Downloadable book: Upgrading to SharePoint Server 2010
Resource Center: Upgrade and Migration for SharePoint Server 2010


Upgrade farms that share services (parent and child farms) (SharePoint Server 2010)
See Also

In Microsoft Office SharePoint Server 2007, it was possible to configure parent farms and child farms to share services. In such an environment, the parent farm hosts one or more Shared Services Providers (SSPs) from which one or more child farms consume services. You can choose one of two approaches to upgrade farms that share services. The recommended approach is to upgrade a duplicate of the parent farm (the farm that hosts the shared services). If you need additional time to complete the upgrade of all farms, you can use a temporary parent farm to upgrade the child farms (the farms that consume shared services) until the original parent farm can be fully upgraded. Both approaches require you to create an additional parent farm: In the first case, this parent farm is a duplicate of the original parent farm that you immediately upgrade; in the second case, this parent farm is a new parent farm built on Microsoft SharePoint Server 2010.

When you upgrade parent and child farms, you must perform the upgrade steps in a specific order so that your services (such as Search or User Profile) can continue to work as required. This article describes considerations to keep in mind while you plan to upgrade parent and child server farms, and contains high-level illustrations of the upgrade processes.

Before you begin, make sure that you have reviewed the general upgrade information available in About the upgrade process (SharePoint Server 2010).

In this article:

  • About upgrading parent and child farms

  • Considerations for upgrading parent and child farms

  • Process overview: Upgrading a duplicate parent farm

  • Process overview: Upgrading by using a temporary parent farm

Information in this article is also available in a downloadable poster, "Upgrading Parent and Child Farms" (http://go.microsoft.com/fwlink/p/?LinkId=190984). This Visio diagram is also available in PDF or XPS format.

About upgrading parent and child farms

The following list describes the two approaches to upgrading parent and child farms, and the advantages of each:

  • Minimal downtime: Duplicate parent farm (recommended) With this approach, you duplicate and upgrade the original parent farm, and then upgrade each child farm individually. After each child farm is upgraded, you configure it to consume services from the upgraded parent farm. After all child farms have been upgraded, you can remove the original parent farm.

    This approach is optimized for minimal downtime during the upgrade process. Because the original parent farm is still available to host services for any child farms that are not yet upgraded, your users can continue to work with sites on those farms.

  • Child first: Temporary parent farm With this approach, you create a new parent farm, and then upgrade child farms individually and configure them to consume services from the new parent. After all child farms have been upgraded, you can upgrade or remove the original parent farm.

    This approach is optimized for allowing individual child farms to be upgraded over time. Whenever a child farm is ready to be upgraded, it can be upgraded and start to consume services from the new parent farm without affecting the original parent farm or other child farms.

Considerations for upgrading parent and child farms

As you plan for and perform an upgrade for parent and child farms that share services, you must take the following considerations into account:

  • Authentication types cannot be changed during upgrade.

    Because both parent farms need to be able to crawl the same content, you should not change authentication types until all farms have been upgraded. If you plan to change the authentication type in the upgraded farm, complete the upgrade and then make the change.

  • You need to plan to upgrade your services before you begin either type of upgrade.

    Search, User Profiles, Business Data Catalog, and other services have specific steps that must be performed before, during, and after upgrade. For more information, see How upgrade affects search features (SharePoint Server 2010), How other services are affected by upgrade (SharePoint Server 2010), Plan to upgrade form templates during an upgrade to SharePoint Server 2010 and Plan to upgrade to Business Connectivity Services (SharePoint Server 2010).

  • Child farms that have not been upgraded will not have access to the Web analytics available in SharePoint Server 2010.

    This might not matter in the short term, but — depending on how long your farms are in a mixed upgrade state — the data could be skewed because it is split between two analytics systems and will not be combined.

For more information about how to plan your upgrade, see Plan and prepare for upgrade (SharePoint Server 2010).

Process overview: Upgrading a duplicate parent farm

To provide maximum uptime during the upgrade process, you want to keep the original parent farm running until all the child farms have been upgraded to SharePoint Server 2010. However, because a SharePoint Server 2010 farm cannot consume services from a Office SharePoint Server 2007 farm, this means that you must create another SharePoint Server 2010 farm to provide services to the child farms until the whole environment is upgraded.

In this approach, you duplicate the parent farm, upgrade the duplicate version, and then upgrade the child farms. After upgrade, you continue with the duplicated parent and turn off the original parent farm.

  1. Duplicate the original parent farm.

    1. Back up the original parent farm (Parent Farm 1).

    2. Restore Parent Farm 1 to a new farm, Parent Farm 2.

    Diagram of upgrading parent farm (Before)

  2. Upgrade the new parent farm.

    1. Upgrade Parent Farm 2 to SharePoint Server 2010.

    2. Optional: Configure user profile synchronization for Parent Farm 1 and Parent Farm 2.

      The synchronization steps are optional, but will ensure that the child farms have a smooth experience with minimal loss of services configuration or content as they move from the Office SharePoint Server 2007 parent farm to the SharePoint Server 2010 parent farm. The next version of the Administrative Toolkit will contain a tool called the Profile Replication Engine that you can use to synchronize profiles between Office SharePoint Server 2007 and SharePoint Server 2010.

  3. Publish the service applications that will be used by child farms (at a minimum, these include Search, Business Data Catalog, and User Profiles).

  4. Upgrade the first child farm.

    1. Upgrade the first child farm, Child Farm 1, to SharePoint Server 2010.

    2. Ensure that local service applications (such as Excel Services) are configured and working on Child Farm 1.

    3. Configure Child Farm 1 to start to consume services from Parent Farm 2.

    Diagram of upgrading parent farm (during)

  5. Upgrade the remaining child farms.

    Repeat step 4 for all remaining child farms in the environment.

  6. Remove the original parent farm.

    Diagram of upgrading parent farm (After)

Process overview: Upgrading by using a temporary parent farm

If you need to upgrade a child farm before you are ready to upgrade the parent farm, you can do so by creating a temporary parent farm in SharePoint Server 2010.

  1. Create and configure a new parent farm, Parent Farm 2, in SharePoint Server 2010.

    Diagram of upgrading child farm (Before)

  2. Upgrade the first child farm.

    1. Upgrade the first child farm, Child Farm 1, to SharePoint Server 2010.

    2. Ensure that local service applications (such as Excel Services) are configured and working on Child Farm 1.

    3. Configure Child Farm 1 to start consuming services from Parent Farm 2.

    Diagram of upgrading parent farm (During)

  3. Upgrade the remaining child farms

    Repeat step 2 for all remaining child farms in the environment.

  4. Upgrade the original parent farm, Parent Farm 1, in SharePoint Server 2010.

    You can either re-associate the child farms with the upgraded Parent Farm 1 after it has been upgraded, or continue to use the new Parent Farm 2 to host services for the child farms.

    Diagram of upgrading parent farm (After)

See Also

Concepts

Publish a service application (SharePoint Server 2010)
Manage service applications (SharePoint Server 2010)

Other Resources

User Profile Replication Engine (Office SharePoint Server)
Downloadable book: Upgrading to SharePoint Server 2010
Resource Center: Upgrade and Migration for SharePoint Server 2010


Plan and prepare for upgrade (SharePoint Server 2010)
See Also

Now that you have learned how the upgrade process works by reading the articles in About the upgrade process (SharePoint Server 2010), you can begin your upgrade planning. This section contains articles that help you plan and prepare for upgrading from Microsoft Office SharePoint Server 2007 to Microsoft SharePoint Server 2010.

In this section:

  • Determine upgrade approach (SharePoint Server 2010)

    Learn about the different upgrade approaches and choose the one that is best suited to your environment.

  • Review upgrade best practices (SharePoint Server 2010)

    Avoid problems during the upgrade process by following these best practices.

  • Review supported and unsupported upgrade paths (SharePoint Server 2010)

    Understand which topologies, editions, and other products can be upgraded to SharePoint Server 2010.

  • Review system requirements for upgrade (SharePoint Server 2010)

    Review the requirements to help ensure that your environment can be upgraded to SharePoint Server 2010.

  • Determine how to handle customizations (SharePoint Server 2010)

    Learn how to identify and evaluate the customizations in your environment, and determine whether you will upgrade them, and how.

  • Create a communication plan (SharePoint Server 2010)

    Create a plan to coordinate and communicate with the upgrade team, site owners and users, and stakeholders.

  • Plan to upgrade to Business Connectivity Services (SharePoint Server 2010)

    Describes how upgrading from the Office SharePoint Server 2007 Business Data Catalog to the Microsoft Business Connectivity Services in SharePoint Server 2010 works and provides guidance about how to upgrade various types of solutions that use the Business Data Catalog.

  • Plan to upgrade form templates during an upgrade to SharePoint Server 2010

    Find out what to do before, during, and after upgrade to keep your form templates working in the new version.

  • Plan visual upgrade (SharePoint Server 2010)

    Learn about the different visual upgrade options and how to choose the option that best suits your business needs.

A worksheet is available so you can record information about your environment while you prepare for upgrade. Download the worksheet from http://go.microsoft.com/fwlink/p/?LinkId=179928.

See Also

Other Resources

Downloadable book: Upgrading to SharePoint Server 2010
Resource Center: Upgrade and Migration for SharePoint Server 2010


Determine upgrade approach (SharePoint Server 2010)
See Also

Before you run any process to upgrade from Microsoft Office SharePoint Server 2007 to Microsoft SharePoint Server 2010, you have to determine which upgrade approach to take. Use the information in this article to help compare the pros and cons for each approach and to review information about special cases that might influence your approach. In addition to the information in this article, be sure to read Review supported and unsupported upgrade paths (SharePoint Server 2010) to understand exactly which upgrade situations are valid and lead to successful upgrades.

Note:

To perform an upgrade, you must have installed Office SharePoint Server 2007 with Service Pack 2 (SP2).

In this article:

  • Choose an upgrade approach

  • Special cases

Choose an upgrade approach

There are two basic approaches to upgrade: in-place and database attach. In addition, there are various techniques you can use to combine aspects of these basic approaches to mitigate downtime or potentially improve performance.

The following table compares the in-place and database attach approaches.

Approach | Description | Pros | Cons
In-place upgrade | You can install SharePoint Server 2010 on the same hardware. You can also upgrade the content and settings in the server farm as part of a single process. | Farm-wide settings are preserved and upgraded. Customizations are available in the environment after the upgrade, although manual steps may be required to upgrade or rework them. | Servers and farms are offline while the upgrade is in progress. The upgrade proceeds continuously. Consequently, you must allocate enough time for all content to be upgraded in sequence.
Database attach upgrade | You can upgrade the content for the environment on a separate farm. The result is that you do not upgrade any of the services or farm settings. You can upgrade the databases in any order and upgrade several databases at the same time. While each database is being upgraded, the content in that database is not available to users. | You can upgrade multiple content databases at the same time, which results in faster upgrade times overall than an in-place upgrade. You can use a database attach upgrade to combine multiple farms into one farm. | The server and farm settings are not upgraded. You must manually transfer settings that you want to preserve from the old farm to the new farm. Any customizations must also be transferred to the new farm manually. Any missing customizations may cause unintended losses of functionality or user experience issues. Copying databases over a network takes time and bandwidth. You must plan for that. You need direct access to the database servers.

For more information about how in-place and database attach upgrades work, see Upgrade process overview (SharePoint Server 2010).

The following table lists the downtime mitigation techniques that you can use during upgrade to reduce the amount of time that users cannot access their content or to potentially increase upgrade performance.

Technique Description Pros Cons

Parallel upgrade

You can attach and upgrade multiple databases at a time to speed up the upgrade process overall. The maximum number of parallel upgrades depends on your hardware. This technique works for either in-place or database attach upgrades.

Faster upgrade times for your overall environment.

This is a manual process that requires additional steps and monitoring.

Hybrid approach 1: Database attach with read-only databases

Lets you continue to provide read-only access to content during the upgrade process. For this approach, you set the databases to read-only while the upgrade is in progress on another farm. This method reduces perceived downtime for your users.

The existing farm can continue to host non-upgraded sites (in read-only mode) while you upgrade the content. As a result, there is minimal downtime for users.

You can upgrade multiple content databases at the same time, which results in faster upgrade times overall than an in-place upgrade.

You can upgrade hardware in addition to software.

The server and farm settings are not upgraded. You must manually transfer settings that you want to preserve from the old farm to the new farm.

Any customizations must also be transferred and upgraded manually. Any missing customizations may cause unintended losses of functionality or user experience issues.

Copying databases over a network takes time and bandwidth. You must plan for that.

You need direct access to the database servers.

Hybrid approach 2: In-place upgrade with detached databases

Lets you take advantage of an in-place upgrade's ability to upgrade content and settings, while adding the speed of a database attach upgrade. For this approach, you use an in-place upgrade to upgrade the farm and settings, and to detach and upgrade multiple databases in parallel (on the same farm or a separate farm).

Farmwide settings can be preserved and upgraded.

Customizations are available in the environment after upgrade, although manual steps may be required to upgrade or rework them.

You can upgrade multiple content databases at the same time, which results in faster upgrade times overall than an in-place upgrade.

Copying databases over a network takes time and bandwidth. You must plan for that.

You need direct access to the database servers.

Be aware that you can also combine these techniques. For example, you can set your original farm to read-only mode, create a copy of the farm and upgrade it without the content databases, use parallel upgrade to rapidly upgrade all the user content, and then finally switch users to the new farm after upgrade is completed. For more information about these downtime mitigation techniques work, see Upgrade process overview (SharePoint Server 2010).

Another option to consider if you are facing an overly long outage window is to use Alternate Access Mapping URL Redirection with a database attach approach, so that you temporarily redirect users to an existing farm while you upgrade the content on a new farm. This is an advanced method and should not be used unless other downtime mitigation techniques are not sufficient. For more information, see Using AAM URL redirection as part of the upgrade process (SharePoint Server 2010) (white paper).

Special cases

You might have other requirements or additional goals that you want to achieve when you perform an upgrade. The following table lists special cases and describes which upgrade approach is appropriate for each case.

Case Upgrade approach

Upgrading from a 32-bit to a 64-bit edition of SQL Server?

If you are running a 32-bit edition of SQL Server, you must migrate to a 64-bit edition. We recommend that you perform this migration before you upgrade to SharePoint Server 2010 to ensure best performance benefits. Ensure that you perform only one kind of upgrade or migration at a time to avoid upgrade failure. For more information, see Migrate an existing server farm to a 64-bit environment (Office SharePoint Server 2007).

The following are two options for upgrading from a 32-bit to a 64-bit edition of SQL Server:

  • You can back up the whole set of databases for the farm, perform the upgrade, and then restore the databases. (This option is supported and recommended because you will have a full backup, and after you restore the databases, you do not have to change anything within SharePoint Server 2010).

  • You can move the SQL Server databases that you want to upgrade to a different 64-bit edition of SQL Server. You must add the different 64-bit edition, and then run a command to the computers running SharePoint Server 2010 to point them to the new 64-bit edition of SQL Server. (This option is supported but not recommended because it requires more work in SharePoint Server 2010 when, for example, the databases change location).

Note:

If you upgrade a SQL Server version — for example, from SQL Server 2005 SP2 to SQL Server 2008 — you can perform this upgrade before, during, or after you upgrade from a 32-bit to a 64-bit edition of SQL Server.

Upgrading from a 32-bit operating system to a 64-bit operating system?

If you are using a 32-bit operating system, you must migrate to a 64-bit operating system before you upgrade. For more information, see Migrate an existing server farm to a 64-bit environment (Office SharePoint Server 2007).

Upgrading an environment that uses forms-based authentication?

Additional steps are required to upgrade when you are using forms-based authentication. For more information, see Configure forms-based authentication for a claims-based Web application (SharePoint Server 2010).

Upgrading very large databases?

In general, very large databases — particularly databases that have a large number or large size of document versions inside them — take longer to upgrade than smaller databases. However, the complexity of the data determines how long it takes to upgrade, not the size of the database itself. If the upgrade process times out, it is usually because of connection issues. In Office SharePoint Server 2007, the upgrade process often timed out because of the time needed to execute a process, but this is rarely the case with SharePoint Server 2010. For more information about how long upgrade might take for your environment, see Estimate how long the upgrade process will take and the space that you need (SharePoint Server 2010).

Upgrading databases with a large number of site collections?

If you have 5,000 or more site collections in a database, consider breaking them out into multiple databases. In Office SharePoint Server 2007, there was a default warning at 9,000 site collections and a hard limit at 15,000 site collections. In SharePoint Server 2010, these values change to 2,000 site collections for the warning and 5,000 site collections for the limit. To avoid errors during upgrade or broken sites after upgrade, we recommend that you move some site collections into separate databases. If you have multiple content databases, you can also speed up your upgrade process by upgrading multiple databases in parallel.

For more information about site collection limits, see SharePoint Server 2010 capacity management: Software boundaries and limits. For more information about moving site collections to a new database, see Move site collections to a new database (split a content database) (Office SharePoint Server 2007).

Upgrading from SharePoint Portal Server 2003?

Use a database attach upgrade method to upgrade to Microsoft Office SharePoint Server 2007, and then upgrade to SharePoint Server 2010. For more information about this upgrade process, see Upgrade from SharePoint Portal Server 2003 to SharePoint Server 2010.

Upgrading from Windows SharePoint Services 3.0?

Use the database attach upgrade approach to attach and upgrade the content databases from Windows SharePoint Services 3.0 to SharePoint Server 2010. This process upgrades the data in the content databases, but does not transfer any farm settings.

Upgrading Microsoft Office Forms Server 2007 to SharePoint Server 2010

Office Forms Server 2007 is no longer available for purchase. However, the capabilities of Office Forms Server 2007 have been integrated into SharePoint Server 2010. If you want to use forms, you must upgrade to SharePoint Server 2010 by using a database attach upgrade method. For more information, see Perform a database attach upgrade to SharePoint Server 2010 and Plan to upgrade form templates during an upgrade to SharePoint Server 2010.

Note:

Before you upgrade Office Forms Server 2007, ensure that you have installed The 2007 Microsoft Office Servers Service Pack 2 (SP2) (http://go.microsoft.com/fwlink/p/?LinkId=192132).

Changing languages?

You have two choices, depending on whether a single site or your entire environment is changing languages:

  • To change the language for a specific site, upgrade in the same language, and then install the new language pack and change to that language.

    Caution:

    You must have the appropriate language packs installed to upgrade any sites based on a localized site definition. If you do not have the new language pack, the sites will not be accessible. Wait for the new language packs to be released before attempting to upgrade those sites.

    Also, you must have any language packs you used for Office SharePoint Server 2007 installed before you can perform an in-place upgrade.

  • To change the installation language for your servers, use the database migration approach to migrate your data from the old version and language to the new version and language.

Using internationalized domain names?

Although Office SharePoint Server 2007 supported internationalized domain names (IDNs), SharePoint Server 2010 does not. If you currently use IDNs with Office SharePoint Server 2007 and you plan to upgrade or migrate to SharePoint Server 2010, you must stop using IDNs, delete any IDN settings, and set up a non-IDN environment before doing so. For more information, see Plan for multilingual sites (SharePoint Server 2010).

See Also

Other Resources

Downloadable book: Upgrading to SharePoint Server 2010
Resource Center: Upgrade and Migration for SharePoint Server 2010


Review upgrade best practices (SharePoint Server 2010)
See Also

To ensure a smooth upgrade from Microsoft Office SharePoint Server 2007 to Microsoft SharePoint Server 2010, follow these best practices:

  1. Update your servers to Service Pack 2 (SP2) of Microsoft Office SharePoint Server 2007 or later.

    Your environment must be updated to Service Pack 2 of Office SharePoint Server 2007 to run the upgrade process, either for an in-place or database attach upgrade. We recommend that you install the October 2009 Cumulative Update because it includes improvements to the pre-upgrade checker tool. For more information about how to install service packs and updates, see the Updates Resource Center for SharePoint Products and Technologies. For a list of all available updates, see Update Center for Microsoft Office, Office Servers, and Related Products.

  2. Ensure that the environment is fully functioning before you perform an upgrade.

    An upgrade does not solve any problems that might already exist in your environment. Therefore, ensure that the environment is fully functioning before you perform an upgrade. For example, if you have Web applications that are no longer being used, unextend them before you upgrade. If you want to delete a Web application in Internet Information Services (IIS), unextend the Web application before you delete it; otherwise, SharePoint Server 2010 will try to upgrade the Web application even though it does not exist, and the upgrade will fail. If you find and solve problems beforehand, you are more likely to meet the upgrade schedule that you have estimated.

  3. Before you try an in-place upgrade, migrate to 64-bit servers. Upgrade your operating system to a 64-bit version of Windows Server 2008 R2 or Windows Server 2008 with Service Pack 2 (SP2). If you are using SQL Server, upgrade or migrate to a 64-bit version of Microsoft SQL Server 2008 R2, SQL Server 2008 with Service Pack 1 (SP1) and Cumulative Update 2, or SQL Server 2005 with SP3 and Cumulative Update 3.

    Do not try to combine these operations with your upgrade process. You cannot perform an in-place upgrade unless your system already runs on a supported operating system and platform. For more information, see What's new in upgrade (SharePoint Server 2010).

  4. Run the pre-upgrade checker to look for potential issues.

    The pre-upgrade checker reports missing customizations and issues with orphaned sites, and more, so that you can address these issues before you perform your upgrade. For more information, see Run the pre-upgrade checker (SharePoint Server 2010).

  5. Perform a trial upgrade on a test farm first.

    Back up the live farm, restore to test servers, and then perform the upgrade. Examine the results to set expectations for what the live upgraded sites will look like, to determine how much post-upgrade customization will have to be done, and to estimate how long the upgrade will take. Try a full search indexing crawl. For more information, see Use a trial upgrade to find potential issues (SharePoint Server 2010).

  6. Plan for capacity.

    Ensure that you have disk, processor, and memory capacity sufficient to handle upgrade requirements. For more information about system requirements, see Review system requirements for upgrade (SharePoint Server 2010). For more information about how to plan the disk space that is required for upgrade, see Estimate how long the upgrade process will take and the space that you need (SharePoint Server 2010). For more information about how to plan for capacity, see Performance and capacity management (SharePoint Server 2010).

  7. Back up your environment.

    Perform a full backup of your environment before upgrading. That way, you can recover your environment if you must roll back from an upgrade. For more information, see Back up environment before an in-place upgrade (SharePoint Server 2010).

  8. Optimize your environment before upgrade.

    A few key limits have changed in SharePoint Server 2010, such as query throttling on large lists and lower limits on the number of site collections allowed per content database (from 5,000 warning and 15,000 limit to 2,000 warning and 5,000 limit). Be sure to optimize your Office SharePoint Server 2007 environment to meet these limits or restrictions before upgrade to mitigate errors during the upgrade process or broken lists or sites after upgrade. For more information about the site collection limit, see SharePoint Server 2010 capacity management: Software boundaries and limits. For more information about large lists and addressing the lower limit on site collections, see Clean up an environment before upgrade (SharePoint Server 2010).

  9. (Optional) If you are using the database attach upgrade method, set the original databases to read-only.

    If you expect a long outage window while you perform a database attach upgrade, you can set the databases in the original environment to be read-only so that users can continue to access their data without changing it. For more information, see Attach databases and upgrade to SharePoint Server 2010.

  10. Do not add any servers to your server farm after you begin the upgrade process.

    Running the SharePoint Products Configuration Wizard upgrades the configuration database. The configuration database contains the list of servers in the farm. Servers added to the farm after the configuration wizard has been run are not included in the database. Therefore, servers added after the wizard runs do not appear in the upgraded version topology. If you need to add servers to your farm, do so either before you start the upgrade or after you have completed the upgrade process.

  11. After upgrade, review the Upgrade Status page and upgrade logs to determine whether there are issues that must be addressed. Then review the upgraded sites.

    The Upgrade Status page reports on the upgrade progress, and the upgrade logs list any errors or warnings that occurred during the upgrade process. You should verify all of the sites and test them before you consider the upgrade complete. For more information, see Verify upgrade and review upgraded sites (SharePoint Server 2010).

See Also

Other Resources

Downloadable book: Upgrading to SharePoint Server 2010
Resource Center: Upgrade and Migration for SharePoint Server 2010


Review supported and unsupported upgrade paths (SharePoint Server 2010)
See Also

When you plan your upgrade process, make sure that you verify that the upgrade path you want to pursue is supported. This article describes supported and unsupported upgrade paths for an in-place upgrade, and covers which specific topologies, editions, and products can be upgraded in place to Microsoft SharePoint Server 2010.

In this article:

  • Review supported topologies for upgrade

  • Supported editions for upgrade

  • Supported cross-product upgrades

Review supported topologies for upgrade

When you upgrade, you must upgrade to the same kind of installation: stand-alone to stand-alone, or server farm to server farm. You cannot migrate from stand-alone to farm or vice versa during an in-place upgrade process. However, either before or after you upgrade, you can change the size and scale of a server farm to suit your requirements. Or, if you perform a database attach upgrade, you can attach the databases to a different installation type.

Physical topology guidance

The Microsoft SQL Server topology — in addition to your network, physical storage, and caching — can significantly affect system performance. In planning your hardware, remember that for in-place upgrade, the server or server farm that you upgrade must be running a 64-bit version of Windows Server 2008 R2 or Windows Server 2008 with Service Pack 2 (SP2). For server farms, you must also be running a 64-bit version of Microsoft SQL Server 2008 R2, SQL Server 2008 with Service Pack 1 (SP1) and Cumulative Update 2, or SQL Server 2005 with SP3 and Cumulative Update 3. To learn more about mapping your solution design to the farm size and hardware that will support your business goals, see Performance and capacity management (SharePoint Server 2010). For more information about upgrade requirements, see Review system requirements for upgrade (SharePoint Server 2010).

Supported topologies

The following table lists the supported starting topologies in Microsoft Office SharePoint Server 2007, and the supported and unsupported ending topologies when you upgrade in place to SharePoint Server 2010.

Starting topology (Office SharePoint Server 2007) | Supported ending topology (SharePoint Server 2010) | Unsupported ending topology (SharePoint Server 2010)
Stand-alone server with SQL Server 2005 Express Edition | Stand-alone server with Microsoft SQL Server 2008 Express | Any farm
Single server with SQL Server | Single server with SQL Server | Stand-alone server with Microsoft SQL Server 2008 Express
Any size farm | Any size farm | Stand-alone server with Microsoft SQL Server 2008 Express

Migrating from a stand-alone server to a server farm

If you want to change from a stand-alone server to a server farm, you can do so before you upgrade. To migrate from a stand-alone server to a server farm configuration, you must first create a new farm, and then move the databases from the stand-alone server to the server farm. For more information, see Migrate a stand-alone installation to a server farm installation (Office SharePoint Server 2007). After you have migrated, you can perform your upgrade to SharePoint Server 2010.

Migrating from 32-bit hardware

You cannot upgrade in-place from Office SharePoint Server 2007 to SharePoint Server 2010 if you are on 32-bit hardware. If you start in 32-bit, you must first migrate to 64-bit hardware. For more information, see Migrate an existing server farm to a 64-bit environment (Office SharePoint Server 2007).

Supported editions for upgrade

The following table lists the editions available for Microsoft Office SharePoint Server 2007 and the supported and unsupported ending editions when you upgrade in place to Microsoft SharePoint Server 2010.

Starting edition | Supported ending edition | Unsupported ending edition
Office SharePoint Server 2007 with SP2, Standard edition | SharePoint Server 2010, Standard edition | SharePoint Server 2010, Enterprise edition
SharePoint Server 2010, Standard edition | SharePoint Server 2010, Enterprise edition |
Office SharePoint Server 2007 with SP2, Enterprise Edition | SharePoint Server 2010, Enterprise edition | SharePoint Server 2010, Standard edition. This path is also not supported for database attach upgrades.
Office SharePoint Server 2007 with SP2, Trial edition | SharePoint Server 2010, Trial edition | SharePoint Server 2010, full product
SharePoint Server 2010, Trial edition | SharePoint Server 2010, full product |

Supported cross-product upgrades

The following table lists which Microsoft server products can be upgraded in place to Microsoft SharePoint Foundation 2010 or SharePoint Server 2010.

Starting product | Supported ending products | Unsupported ending product
Windows SharePoint Services 3.0 with SP2 | Microsoft SharePoint Foundation 2010 SharePoint Server 2010 (by using database attach upgrade only) | SharePoint Server 2010 (by using in-place upgrade)
SharePoint Foundation 2010 | SharePoint Server 2010 |
Microsoft Search Server 2008 | SharePoint Server 2010 or Microsoft Search Server 2010 | SharePoint Foundation 2010
Microsoft Office Forms Server 2007 | SharePoint Server 2010 | SharePoint Foundation 2010
Microsoft Office PerformancePoint Server 2007 | SharePoint Server 2010 |
Microsoft Office Project Server 2007 with Windows SharePoint Services 3.0 with SP2 or Office SharePoint Server 2007 with SP2 | SharePoint Server 2010, Enterprise Edition plus Microsoft Project 2010 | SharePoint Foundation 2010 plus Project 2010

See Also

Other Resources

Downloadable book: Upgrading to SharePoint Server 2010
Resource Center: Upgrade and Migration for SharePoint Server 2010


Review system requirements for upgrade (SharePoint Server 2010)
See Also

Before you can upgrade your environment from Microsoft Office SharePoint Server 2007 to Microsoft SharePoint Server 2010, your servers must meet the following minimum requirements:

  • The hardware and software must meet or exceed the minimum system requirements to run the new version.

    This includes the requirement for 64-bit hardware and 64-bit versions of the operating system and Microsoft SQL Server. Before you begin the upgrade process, make sure that your system meets or exceeds the minimum requirements in Hardware and software requirements (SharePoint Server 2010). Before upgrading, determine how much production capacity you have to have in your upgraded environment and identify the hardware that you must have for your upgrade based on that information. For more information, see Performance and capacity management (SharePoint Server 2010).

  • Office SharePoint Server 2007 must be updated to Service Pack 2

    Your environment must be updated to at least Service Pack 2 of Office SharePoint Server 2007 to run the upgrade process, either for an in-place or database attach upgrade. We recommend that you install the October 2009 Cumulative Update because it includes improvements to the pre-upgrade checker tool. For more information about how to install service packs and updates, see the Updates Resource Center for SharePoint Products and Technologies. For a list of all available updates, see Update Center for Microsoft Office, Office Servers, and Related Products.

About these requirements

It is important that your hardware meet at least the minimum requirements that are listed in the article Hardware and software requirements (SharePoint Server 2010); otherwise, you might encounter issues during the upgrade process. For example, if your database server has insufficient memory or processor power, it may be unable to keep up with the number of transactions that occur during the upgrade process, and the upgrade may fail.

We recommend that you use a trial upgrade to determine exactly what hardware capacity you must have for an acceptable upgrade experience. For more information, see Use a trial upgrade to find potential issues (SharePoint Server 2010). If you experience capacity problems with your hardware during the trial upgrade, you can increase the capacity and repeat the upgrade until you are satisfied that you have found the optimal level of upgrade performance.

Important:

It is important to track the following three resource components for a server that is running SQL Server: CPU, memory, and I/O subsystem. When one or more of these components seems to have reached capacity, analyze the appropriate strategy based on the current and projected work load, and determine whether to add more resources or to scale out to a new server that is running SQL Server. In general, we recommend that you consider scaling out, in addition to adding more resources.

See Also

Other Resources

Downloadable book: Upgrading to SharePoint Server 2010
Resource Center: Upgrade and Migration for SharePoint Server 2010


Determine how to handle customizations (SharePoint Server 2010)
See Also

If you have extensively customized your sites based on Microsoft Office SharePoint Server 2007, you must determine how you want to handle your customized sites when you upgrade to Microsoft SharePoint Server 2010. Your approach will vary based on the extent of the customizations, the kind of customization, the complexity of your site, and your goals for upgrading. Before you upgrade, you must identify and then evaluate the customizations in your environment and determine whether you will upgrade them, and how.

In this article:

  • Identify customizations in your environment

  • Evaluate the customizations

  • Considerations for specific customizations

  • Ensure that future customizations follow best practices

Identify customizations in your environment

As part of your upgrade testing process, you should create an inventory of the server-side customizations in your environment (solutions, features, Web Parts, event handlers, master pages, page layouts, CSS files, and so on). For more information about how to identify customizations, see Use a trial upgrade to find potential issues (SharePoint Server 2010). You can use the Upgrade Planning worksheet to list specific customizations and then record the results of your evaluation in the next section. Download the worksheet from http://go.microsoft.com/fwlink/p/?LinkId=179928.

Evaluate the customizations

After you have identified the customizations, you can decide what to do about them. The following questions can help you evaluate the customizations:

  • Is the customization still valuable?

    • Does it serve a useful business need?

    • Is it widely deployed and used?

  • Is the customization well-designed?

    • Is it built on supported, predefined site definitions?

    • Does it follow best practices for customizations?

    • Is it a supported kind of customization, or does it introduce risk into your environment?

As you evaluate each individual customization, you can also think about your overall approach for customizations. You can choose from among these options:

  1. Keep the customizations Use Visual Upgrade to continue to use the previous version's user experience for specific sites. Although you can use this approach to keep the same functionality, you will not be able to take advantage of the new visuals — such as the Fluent user interface (UI), also called the ribbon — and capabilities that are available in the new version.

  2. Replace or redo the customizations If you want to use new functionality, plan to redesign your sites, or are significantly changing the information architecture, the upgrade is your opportunity to start over with new features, a new look, or a new organization. When you replace or redo customizations, you can take advantage of the new capabilities, modify your design slightly if you want, or move to a more manageable design.

    For more information about redoing and redeploying solutions, see Redeploying Customizations and Solutions in SharePoint Foundation 2010 and SharePoint Server 2010 (http://go.microsoft.com/fwlink/p/?LinkId=182335).

  3. Discard the customizations Replace the customizations by using default functionality. You can reset pages to the default site definitions and remove any Web Parts or features that you no longer want to support. If you decide to discard any customizations, you must fix any issues that result from removing the customizations in the sites that used them. You can use your customizations inventory to determine which sites require this kind of attention before or after upgrade.

Considerations for specific customizations

In addition to your overall decision about how to treat customizations in your environment during upgrade, you must examine specific types of customizations to determine whether you must perform any additional actions to make them work in the upgraded environment.

The following table lists some common customizations and a recommendation for addressing that kind of customization.

Customization type Recommendation

Site templates (.stp files)

Site templates (.stp files) are a deprecated feature in SharePoint Server 2010. New site templates in SharePoint Server 2010 are saved as .wsp files (solution packages).

A site that was provisioned by using a site template will be upgraded, but you will be unable to create new sites that are based on that template. If you want to be able to create new sites, you can create and deploy a solution package instead. For more information, see Troubleshoot upgrade issues (SharePoint Server 2010).

Site definition

Migrate sites to a supported, predefined site definition, then apply custom features by using solution deployment.

You can also continue to use a custom site definition. You do not have to create a new site definition that is based on SharePoint Server 2010.

However, if you must perform custom upgrade actions for the definition, you might have to create an upgrade definition file for that site definition. For more information, see Upgrade Definition Files (http://go.microsoft.com/fwlink/p/?LinkId=182339) on MSDN.

"Fabulous 40" application templates

Microsoft is not creating new versions of these templates. Sites that are based on these templates can be upgraded, but make sure that you test each site before you upgrade the production environment. For more information, see Troubleshoot upgrade issues (SharePoint Server 2010).

Feature

Evaluate, then redesign or redeploy if necessary.

Workflows and server controls

Depends on the solution. Contact the vendor to find out whether there is an updated solution. If a workflow is compatible with the new version, redeploy.

Event handler

Rewrite and redeploy as a feature.

Managed paths (inclusions/exclusions)

Re-create inclusions for a database attach upgrade. Exclusions are assumed and do not have to be re-created.

Themes

Because of the extensive changes to the UI, custom themes that are based on Office SharePoint Server 2007 will not work in SharePoint Server 2010. Use Visual Upgrade to continue to use the sites in the old user experience until you can create and apply a new theme that is based on SharePoint Server 2010.

Toolbar actions

Move to the ribbon (Fluent UI).

Master pages and CSS files

Rework to accommodate the new user experience.

JavaScript

Test to determine whether any actions are required. In some cases, you might have to adjust the scripts to work with the new page model. Verify that it works on an upgraded site, and in both Visual Upgrade modes.

Search provider or security trimmer

Test to determine whether any actions are required.

Web Parts

Test to determine whether any actions are required. You might have to adjust the Web Parts to work with strict XHMTL mode.

If a Web Part is located on a page but not in a Web Part Zone (so that it is, basically, HTML code embedded directly in a page), it will not work if you revert the page to the default template.

Services

Test to determine whether any actions are required. Redesign or adjust code, as needed.

Authentication providers

Test to determine whether any actions are required. Redeploy the provider on a test farm and ensure that it works correctly with claims authentication.

The following kinds of customizations are not supported. If you have any of these customizations in your environment, you must replace them by using a supported kind of customization before you can upgrade. Otherwise, you might experience upgrade issues that cannot be fixed:

  • Predefined files, features, or site definitions that have been modified.

    Warning:

    Some predefined file types — such as document icons or actions — can be modified and although they will not be upgraded, their changes can be carried forward in a supportable way. Modifications to other predefined files, such as server-side ASPX pages, will be lost during upgrade if you revert to the site template. Depending on the files that have been changed and the extent of these changes, the upgrade experience can vary significantly. The best practice is to revert all changes in all files on the disk.

  • SharePoint databases that have been modified, either by directly changing data or changing the schema, including adding or removing triggers, tables, views, or indexes.

If you have any of these kinds of customizations, remove them and replace them with supported customizations before you attempt to upgrade. This is a best practice for helping to ensure that not only your current upgrade will work, but any future upgrades will go more smoothly. Changing predefined files and databases will remain unsupported.

Ensure that future customizations follow best practices

Ensure that your environment performs well and follows best practices. Deploy only those customizations that follow the best practices described in the following articles on MSDN and TechNet:

  • Best Practices: Using Disposable Windows SharePoint Services Objects (http://go.microsoft.com/fwlink/p/?LinkId=105945&clcid=0x409).

  • Development Tools and Techniques for Working with Code in Windows SharePoint Services 3.0 (Part 1 of 2) (http://go.microsoft.com/fwlink/p/?LinkID=101494&clcid=0x409).

  • Best Practices: Common Coding Issues When Using the SharePoint Object Model (http://go.microsoft.com/fwlink/p/?LinkId=105946&clcid=0x409).

  • SharePoint Products and Technologies customization policy (http://go.microsoft.com/fwlink/p/?LinkId=105947&clcid=0x409).

See Also

Other Resources

Downloadable book: Upgrading to SharePoint Server 2010
Resource Center: Upgrade and Migration for SharePoint Server 2010


Create a communication plan (SharePoint Server 2010)
See Also

It is important that you communicate with your users during the upgrade process from Microsoft Office SharePoint Server 2007 to Microsoft SharePoint Server 2010. Site users need to know what to expect when they visit their sites again after upgrade, and site owners need to know how they can help prepare for upgrade and what they will have to do after upgrade. Both site users and site owners need to know when the upgrade will occur. As part of the planning process, determine the following:

  • Who are the members of your upgrade team, what other stakeholders are involved, and who will be affected by the upgrade.

  • What information must the upgrade team have, and when.

  • What information must site users and other stakeholders have, and when.

This article describes how to create your communication plan so that your upgrade team, your stakeholders, and your users know what to expect before, during, and after the upgrade.

In this article:

  • Who is on the upgrade team?

  • When and what to communicate to the upgrade team

  • When and what to communicate to site users

Who is on the upgrade team?

For small deployments in which sites have not been customized to any great degree, the upgrade team might consist of only one person. For larger deployments, on the other hand, several people with different roles can be required, as described in the following list:

  • Server administrators The server administrator performs most of the upgrade tasks. There must be at least one server administrator on the upgrade team because running the Setup wizard requires someone who is a member of the local Administrators group on each front-end Web server.

    Note:

    Farm administrators might not be local administrators for the server.

  • Database administrators If you have a separate database administration team, you must coordinate with them to schedule the upgrade and perform the upgrade, especially if you plan to use the database attach upgrade method.

  • Server security teams You must coordinate with your security teams, such as the Active Directory directory services team, to verify accounts and permissions or to take advantage of the new policy settings you can apply for SharePoint Server 2010.

  • Client deployment team Communicate with client deployment teams to coordinate deployments of new client and server applications. Client deployment might have to occur before you upgrade, or it could be an option available to users after their sites have been upgraded.

  • Services administrators For Office SharePoint Server 2007, you must communicate with the administrators for shared services, such as the Search service, to make sure that they are ready for the upgrade and they can configure the appropriate settings in the new version.

  • Site collection owners You must notify site collection owners when the upgrade process is about to occur, and warn them about any issues that you find when you run the pre-upgrade checker or when you upgrade their sites. If you are using Visual Upgrade, you must also communicate with site collection owners about the change to the new user interface and whether the farm administrators or site collection administrators will be completing that change.

  • Site designers and developers If you have custom templates, Web Parts, Web services, or other custom elements associated with your sites, you must work with the people responsible for developing or customizing those elements to ensure that you can create new versions of these custom elements or verify that these elements have been upgraded correctly. For more information about potential issues with custom elements, see Use a trial upgrade to find potential issues (SharePoint Server 2010).

  • Site users Although you do not have to include site users in making decisions about the upgrade process, you must tell site users when it will happen and what they should expect.

  • Sponsors and other stakeholders You might have other people in your organization involved in the upgrade planning process. Make sure that you include them in your communication plan appropriately.

    Note:

    An upgrade team can include one or more members in each role, depending on your organization.

When and what to communicate to the upgrade team

In general, the server administrators and shared services administrators set the timeline for upgrade, and site owners are notified only when the process is about to begin. However, because team members have their own tasks to perform at particular points in the overall upgrade process, it is critical that you have a solid plan to communicate the progress of the upgrade to all team members so that everyone knows when it is time to perform their particular tasks.

The whole upgrade team needs to work together to determine the following:

  • The upgrade approach to use The Determine upgrade approach (SharePoint Server 2010) article contains information to help you decide which kind of upgrade to perform. The report generated by the pre-upgrade checker is also important to consider when you make this decision.

  • Dates and times to perform the upgrade We recommend (especially for an in-place upgrade) that you upgrade when site usage is low. For small single-server deployments, upgrade may be completed in less than a day. For larger deployments, such as server farms with large amounts of data, the database attach upgrade method or the in-place upgrade with detached databases method can be used to distribute the upgrade process over several outage windows. There is no way to determine the precise length of time that will be required to upgrade any particular site collection. Because of this, it is very important to communicate with other team members involved in the upgrade process in addition to end users. The day or days that you choose for upgrading should be far enough in the future that the upgrade team has enough time to complete all of the preliminary steps. When you plan the timeline, make sure that you schedule time to validate the upgraded sites and time to implement any changes or do any work to re-brand sites.

It is important to communicate with site owners, designers, and developers at the following points during the upgrade process:

  • Before the process begins, so that they know the general timeline and what their roles in the process will be.

  • After the pre-upgrade checker has been run, so that they can address any issues that have been identified by the checker. For more information about the pre-upgrade checker, see Run the pre-upgrade checker (SharePoint Server 2010). For example, issues such as customized site templates or custom Web Parts should be reported to the appropriate site owner, designer, or developer before you schedule the upgrade, to give them time to investigate the issues and take preliminary steps. Or a developer might decide that it would be prudent to rebuild a Web Part before the upgrade occurs. And site owners might want to note any customizations that have been done to their sites, including site templates and changes to core Active Server Page Extension (ASPX) files.

  • After their sites have been upgraded, so that they can review the sites and make any changes that are needed.

When and what to communicate to site users

It is equally important to communicate with the users of the sites to tell them about the following issues:

  • When their sites will be upgraded In the case of an in-place upgrade, they must also be informed that their sites will be unavailable during the upgrade.

  • When to expect their upgraded sites to be ready This means that the upgrade team has not only upgraded, but also verified the functionality of, the upgraded sites.

  • How the upgrade might affect them and what they should know about the new environment For example, the site will look different and function slightly differently in the new user interface. If you are using Visual Upgrade, inform your users whether they will see the new or old user experience and what to expect. You can also point them to available content, such as What's New articles or training materials, to learn about the new version. For more information about feature changes and visual upgrade, see Plan visual upgrade (SharePoint Server 2010) and Changes in key features between versions in the article "What's New in Upgrade".

  • How to get help If they find an issue with their site after upgrade, where can they go to address it?

See Also

Other Resources

Downloadable book: Upgrading to SharePoint Server 2010
Resource Center: Upgrade and Migration for SharePoint Server 2010


Plan visual upgrade (SharePoint Server 2010)
See Also

This article discusses the new visual upgrade feature in Microsoft SharePoint Server 2010. If your organization plans to perform an upgrade of Microsoft Office SharePoint Server 2007, you can take advantage of this new feature. By default, the look and feel of sites is preserved during an upgrade from Office SharePoint Server 2007. Site owners can switch to the new user interface permanently, or they can choose to preview the new user interface for their SharePoint sites. By using the visual upgrade feature, you can choose to move all sites to the new user interface. If you select the latter option, you override the user interface for site collection owners and site owners. You can also choose to either preserve customized pages or you can choose to reset all customized pages. Both choices will update the look and feel of template pages, but the latter option deletes modifications from customized pages and cannot be undone.

Note:

The visual upgrade feature is not available if you are performing an upgrade on a single server with built-in database through the SharePoint Products Configuration Wizard. However, the visual upgrade feature is still available if you use the PSConfig command-line tool for upgrade.

This article lists key considerations for planning to use visual upgrade, and it also discusses known issues. For more information, see Manage visual upgrade (SharePoint Server 2010).

In this article:

  • Key planning phase of visual upgrade

  • Training site collection owners and site owners

  • Known issues

Key planning phase of visual upgrade

Visual upgrade is a feature that is part of the upgrade process. Before you perform the upgrade, ensure that you know about the effects of choosing between the two different options visual upgrade has to offer.

Preserving the existing user interface

If you choose to preserve the look and feel of existing SharePoint sites, you give site collection owners control over their site collections and site owners control over their sites. All the data and settings from the original sites are preserved, and layout, command organization, and styles preserve the previous user interface. Regardless of the type of farm upgrade that you select, you receive all the infrastructure benefits of Microsoft SharePoint Server 2010 including improved reliability, scalability, and manageability. Preserving the previous user interface reduces the likelihood that customized content will cease to function. This ensures that you and the users can continue to use existing SharePoint sites until all upgrade work, including troubleshooting and updating customizations, has been completed.

Upgrading to the new user interface

If you choose to change all the existing SharePoint sites to the new user interface, site collection owners and site owners have no control over the upgrade. All the data and settings from the existing SharePoint sites are upgraded to the new user interface. You might want to choose this option if there are no customizations or if you have tested any customizations that you need before the upgrade. Even if you choose this option, you still have the option of either preserving customized pages or resetting customized pages. If you need to keep customizations, or if you are unsure whether to keep customizations, you should choose to preserve customized pages. Resetting the customized pages removes customizations and cannot be undone. Choose this option if you do not need the customizations any longer and if you know that no important data will be lost. For more information, see Determine how to handle customizations (SharePoint Server 2010), Use a trial upgrade to find potential issues (SharePoint Server 2010), and Redeploying Customizations and Solutions in SharePoint Foundation 2010 and SharePoint Server 2010 (http://go.microsoft.com/fwlink/p/?LinkId=186372).

Training site collection owners and site owners

It is important that you train users about the effects of either preserving the look and feel of existing SharePoint sites or upgrading all sites to the new user interface. Educated users are prepared and know what to expect, which will minimize helpdesk support and frustrations.

If you upgrade all sites to the new user interface, inform users about changes and new features, such as the ribbon, the new page editing interface, and interactive calendars. Also, let them know about possible issues that they can expect. For instance, they might have issues with customizations, such as pages not displaying correctly. For information about general upgrade issues, see Troubleshoot upgrade issues (SharePoint Server 2010).

If you choose to preserve the look and feel of existing SharePoint sites, explain to site collection owners and site owners that the user interface will not change during upgrade, and tell them about the choices they can make.

By default, site owners have control over their sites. They can use the Preview New Visuals option (under Site Settings) to preview the new user interface and then switch between the previous and new user interface. This gives them time to ensure that everything works correctly, and they can fix any issues with their pages that appeared after upgrade. When site owners are ready, they can update their sites to the new user interface. However, site collection owners can choose to finalize the new user interface, which overrides the control that site owners have over visual upgrade for their sites. If site collection owners want to keep the previous user interface for their site collection, they also have an option to hide visual upgrade settings from site owners.

Site owners also need to know that if they make changes in the new user interface while they are in preview mode and then switch back to the previous user interface, this information may not display correctly.

We recommend that you have a plan and set a time limit for how long the previous user interface should be used in your SharePoint deployment. For example, each site collection administrator may be given 90 days to work with his or her site owners to transition from the previous to the new user interface. This time limit ensures that users are given a reasonable time to become familiar with the new user interface and to resolve any issues that might have occurred during the upgrade. Ensure that you communicate the time limit to the users, and that they know you can force through an upgrade of all sites. Also, you can view the current status of the user interface of upgraded sites to monitor the progress of these sites. For more information, see Manage visual upgrade (SharePoint Server 2010).

If site collection owners decide to use the new user interface for all sites within their site collection, they cannot change their minds. However, as a farm administrator, you can change these settings by reverting sites to the previous user interface with Windows PowerShell or SharePoint Object Model. For more information, see Manage visual upgrade (SharePoint Server 2010).

It is important to tell site collection owners and site owners that as long as sites use the previous user interface, new features—such as the ribbon, in-place editing for Wiki pages, interactive calendars, and list relationships—will not be available. However, once sites switch to the new user interface, application features automatically appear. Also, it is important to note that all new sites created after the upgrade use the new user interface by default.

Known issues

There are a few known issues to consider:

  • Because of the social networking enhancements in Microsoft SharePoint Server 2010, existing My Site templates default to the new user interface after upgrade with the preserve the existing user interface option selected. However, all subpages have the user interface specified by visual upgrade.

  • Project Web Access (PWA) sites, which are used to track project data in Microsoft Project Server 2010, require the new user interface and do not follow visual upgrade settings.

  • In Excel Services Web Parts, the new SharePoint Server 2010 Web Part properties are exposed once an upgrade is complete, but before sites have been moved to the new user interface. Therefore, some properties can be set, but will not do anything until the page is updated to the new UI.

  • If you use SharePoint Server 2010, ensure that you use the same version and service pack of SharePoint Designer.

See Also

Concepts

Upgrade in place to SharePoint Server 2010
Attach databases and upgrade to SharePoint Server 2010
Upgrading to SharePoint Server 2010

Other Resources

Downloadable book: Upgrading to SharePoint Server 2010
Resource Center: Upgrade and Migration for SharePoint Server 2010


Testing and troubleshooting upgrade (SharePoint Server 2010)
See Also

Before you upgrade from Microsoft Office SharePoint Server 2007 to Microsoft SharePoint Server 2010, you should take time to test your upgrade process and understand what issues you might face in your actual upgrade. This section includes information about how to test upgrade and use the information from that test to predict how much time and how much space you will need for upgrade, and what steps you can take to clean up your environment before you perform your actual upgrade.

During and after upgrade, use the articles in this section to address any issues and resume the upgrade process.

In this section:

  • Best practices for testing upgrade (SharePoint Server 2010)

    Follow these best practices to get the most out of your upgrade testing.

  • Use a trial upgrade to find potential issues (SharePoint Server 2010)

    Find out how to plan for success by testing upgrade by using your actual data in either a physical or virtual environment.

  • Estimate how long the upgrade process will take and the space that you need (SharePoint Server 2010)

    Use your test information to understand how long your upgrade will take.

  • Clean up an environment before upgrade (SharePoint Server 2010)

    Upgrade runs more smoothly when you prepare your environment by cleaning up extra sites or data. This article lists common things that you should consider cleaning up before you start the upgrade process.

  • Troubleshoot upgrade issues (SharePoint Server 2010)

    Follow these recommendations to troubleshoot any issues that occur during upgrade. You can also look up common issues and find out how to address them.

  • Recovering after a failed upgrade (SharePoint Server 2010)

    If you created a backup of your environment and databases before you began an in-place upgrade, or if you set your environment to read-only before you began a database attach upgrade, you can recover your environment if the upgrade process fails.

  • Resume upgrade (SharePoint Server 2010)

    If you encounter errors during upgrade, you can address them by using the troubleshooting article, and then use this article to restart or resume upgrade.

In addition, the following resources can be helpful when you test your upgrade process:

  • SharePoint Products 2010 Upgrade Worksheet

    Use this worksheet to record information about your environment while you test your upgrade. Download the worksheet from http://go.microsoft.com/fwlink/p/?LinkId=179928.

  • Microsoft SharePoint 2010 Products - Test Your Upgrade Process model

    This poster has a visual display of information about how to test your upgrade process. Download the poster from http://go.microsoft.com/fwlink/p/?LinkId=166303.

See Also

Other Resources

Downloadable book: Upgrading to SharePoint Server 2010
Resource Center: Upgrade and Migration for SharePoint Server 2010


Best practices for testing upgrade (SharePoint Server 2010)
See Also

To understand your environment before you try to perform an upgrade, and to plan accurately for the time that an upgrade will require, you should perform one or more trial upgrades. The goal of testing upgrade is to find issues early and address them so that you can have confidence in your process and the outcome when you perform the real upgrade. To perform an accurate and useful test of the upgrade process from Microsoft Office SharePoint Server 2007 to Microsoft SharePoint Server 2010, follow these best practices:

  1. Make your test environment as similar as possible to your real environment.

    If possible, use the same kind of hardware and configure it by using the same settings, the same URLs, and so on. The more you can minimize the differences between your test environment and your real environment, the better. The more differences you introduce, the more time that you are likely to spend time tracking down unrelated issues to make sure that they will not occur during the actual upgrade.

  2. Know what is in your environment. Do a full survey first.

    Take the time to document the hardware and software that is present in your environment, what server-side customizations are installed and used, and where, and what settings you need. This will help you plan more fully, and also help you recover if upgrade fails. A worksheet is available so that you can record information about your environment while you prepare for upgrade. Download the worksheet from http://go.microsoft.com/fwlink/p/?LinkId=179928.

  3. Use real data.

    Use copies of your actual databases to run the tests. When you test by using real data, you can identify any trouble areas and also determine your upgrade performance. It also gives you the opportunity to measure how long different upgrade sequences and actions take on different kinds of data. If you cannot test all the data, test a representative subset of the data to make sure that you have uncovered any issues with the different kinds and sizes of sites, lists, libraries, and customizations that are present in your environment.

  4. Run multiple tests.

    A single test can tell you whether you will encounter big problems, but multiple tests will help ensure that you have uncovered all the issues that you might face and can also give you a more accurate timeline for the process. By running multiple tests, you can determine which upgrade approaches will work best for your environment, which downtime mitigation techniques you should plan to use, and how the process or performance may change after you address the issues that you uncovered in your first tests. Your final test pass can help you validate whether you have addressed all of the errors and are ready to upgrade your production environment.

  5. Do not ignore warnings.

    Even though it is not an error, a warning can lead to problems later in the upgrade process. Work through errors, yes, but also investigate any warnings to make sure that you know what the effect of that warning might be.

  6. Test the upgraded environment, not just the upgrade process.

    Check your service applications and services. Run a search crawl and review the log files. Verify that My Sites is working.

  7. Verify sites in both Visual Upgrade modes.

    Do not assume that because the site can be previewed well in one mode that it will work correctly in the other mode. Check both the previous version and new version user experience.

  8. Consider a preview environment.

    You can create a preview environment in which your users can verify their sites after a test upgrade, so that they can help you verify the upgrade and find issues. You can use a read-only environment, or you can let your users make changes but warn them that any changes they make will not be saved. Consider limiting this preview environment to a small set of representative sites, and limiting access to interested parties only, to reduce the time that you will need to host the preview environment and the amount of feedback you receive.

For more information about how to test upgrade, see Use a trial upgrade to find potential issues (SharePoint Server 2010) and the "Test your upgrade process" poster available at http://go.microsoft.com/fwlink/p/?LinkId=166303.

See Also

Other Resources

Downloadable book: Upgrading to SharePoint Server 2010
Resource Center: Upgrade and Migration for SharePoint Server 2010


Use a trial upgrade to find potential issues (SharePoint Server 2010)
See Also

Before you begin the process of upgrading from Microsoft Office SharePoint Server 2007 to Microsoft SharePoint Server 2010, you will want to test the upgrade process to make sure that you know exactly what you have to do to have a successful upgrade. By using a trial upgrade to test the process, you can find out:

  • What customizations you have in your environment, so that you can plan for how to deal with them during upgrade.

  • Whether you should upgrade your hardware to make your upgrade run more efficiently and more quickly.

  • The timing for your upgrade, or how long upgrade will take for your environment.

  • What you need to plan for, operationally — for example, resources to have available.

In addition, you can use the trial upgrade to become familiar with the upgrade tools and the process itself, so that you know what to expect when you go through the actual process. Through testing, you can find out:

  • Which special cases apply to your environment and which upgrade approach will be most efficient for you?

  • What does the upgrade user interface look like? How do you know when you have finished one phase and are moving through another?

  • Where are the log files, and how do you read them? What information do they provide?

  • Which techniques can you use to mitigate downtime?

This article provides basic steps for testing upgrade, and it gives recommendations for reviewing the results and adjusting your upgrade plans based on what you learn during the tests.

In this article:

  • Set up a test environment

  • Identify and install customizations

  • Copy real data to the test environment and try the upgrade

  • Review your results

  • Adjust your plans and test again

In addition, the following resources can be helpful when you test your upgrade process:

  • SharePoint Products 2010 Upgrade Worksheet

    Use this worksheet to record information about your environment while you test your upgrade. Download the worksheet from http://go.microsoft.com/fwlink/p/?LinkId=179928.

  • Microsoft SharePoint 2010 Products - Test Your Upgrade Process model

    This poster has a visual display of information about testing your upgrade process. Download the poster from http://go.microsoft.com/fwlink/p/?LinkId=166303.

Set up a test environment

You can use either virtual or physical hardware to test the upgrade process. Every environment is unique, so there are no general guidelines for how long upgrade will take or how difficult a particular customization will be to upgrade. The best way to gauge how your upgrade will go is to perform a series of trial upgrades.

When you create your test environment:

  • Make your test farm as similar as possible to your real farm — for example, hardware, software, and space available.

  • Use the same URLs in your test farm as in your real farm. (Otherwise, you will waste time diagnosing issues relating to the URLs that will not come up in the real upgrade.)

  • Be sure that you transfer all of your settings and customizations to the test environment. The section Identify and install customizations provides information about gathering this information.

Using a virtual test environment

When you test by using a virtualized environment, you do not need a lot of hardware. You can replicate your environment by using just two servers that are running Hyper-V. One server has images for the front-end Web servers and application servers, and the other server has images for the database servers.

Virtual test environment for trial upgrade

Using a physical test environment

When you test by using a physical environment, you need to replicate your entire server farm environment as closely as possible. If you simplify the number of front-end Web servers, application servers, or database servers too much, you will not have an accurate estimate of how long the upgrade process will take and you may not account for complications that arise from interactions between servers in the same role (such as SQL Server transactions). If you have multiple servers in a role in your original farm, use at least two servers for that role in the test farm to test for such issues.

Physical test farm for a trial upgrade

Additional test environments for database attach upgrade

If you are using the database attach upgrade approach, you might need to create one additional test environment: a single server farm that is running Office SharePoint Server 2007 that you can use to run the pre-upgrade checker before you attempt to upgrade the data.

You can avoid this step by running the pre-upgrade checker on your existing production farm.

Identify and install customizations

To have an accurate test process, you must find all the customizations in your current environment and copy them to the test environment. For more information about the types of customizations you need to identify, see Determine how to handle customizations (SharePoint Server 2010).

  • Use the pre-upgrade checker to identify site definitions, site templates, and features in your environment.

    The pre-upgrade checker steps through each site collection and generates a report about the state of each site. It also saves list definition information for each list. You can review the reports to find issues and address them before you start the upgrade process. Unlike the pre-upgrade scan tool for Office SharePoint Server 2007, the pre-upgrade checker is a read-only tool and does not change your sites. For more information about this tool and steps for running it, see Pre-upgrade scanning and reporting for future releases (Office SharePoint Server) and Run the pre-upgrade checker (SharePoint Server 2010).

  • Use the Stsadm -o enumallwebs operation on all content databases in your Office SharePoint Server 2007 environment to identify specific customizations in subsites. This operation lists an ID for each site collection and subsite in your environment and the templates that the site relies on. This operation was first introduced in Office SharePoint Server 2007 with Service Pack 2 (SP2). For more information, see Enumallwebs: Stsadm operation (Office SharePoint Server).

  • Use a tool such as WinDiff (a tool that is provided with most Microsoft operating systems) to compare your production environment servers with your test farm servers. You can use this tool to see which files exist on your servers and the differences between them.

  • Check the web.config files for any changes, and look in the SafeControls element to find any custom controls.

  • Use the SharePoint Diagnostics Tool (SPDiag) to find deployed solutions. For more information, see SharePoint Diagnostics Tool (SPDiag).

  • Create a list of all customizations that you find. Identify the source of the customizations, if possible. For example, are there third-party add-ins or templates that were customized in-house? After you identify the source, you can then check for updated or upgraded versions of the customizations. A worksheet is available that you can use to fill in information about your environment, based on the data you find in the results from the pre-upgrade checker and in your research on your customizations. Download the worksheet from http://go.microsoft.com/fwlink/p/?LinkId=179928 and customize it to suit your needs.

Tip:

Whom do you contact about customizations that you did not create?

  • Contact Microsoft if you are having trouble with a template that you downloaded from the Microsoft Web site (such as the Windows SharePoint Services 3.0 Application Templates).

  • Contact your third-party solution vendor if you are having trouble with a template or component that they supplied you for the previous version. They may have an upgraded version available.

After you identify all the customizations, copy them to the appropriate servers in your test farm. You can use the Windows PowerShell cmdlet test-spcontentdatabase before you attach a database to SharePoint Server 2010 to determine whether any customizations are missing from the environment. Run this command for each database after you restore the databases to your database server, but before you run the upgrade. Note that this cmdlet runs silently — it will not return any output unless there is an error.

Copy real data to the test environment and try the upgrade

You cannot achieve your testing goals unless you use your actual data. You can use the following methods to create a copy of your data:

  • For in-place upgrade, create a farm backup and then restore it to the test environment. For more information, see Back up and restore an entire farm (Office SharePoint Server 2007).

  • For database attach upgrade, you need to use the Microsoft SQL Server backup and restore tools to create a copy of your content databases and any other databases that you want to upgrade. For more information, see Back up and restore databases (Office SharePoint Server).

There is no better way to tell what may come up during upgrade than to perform the test on a copy of all of your data; however, this might not always be a realistic option for initial testing. You can phase the testing by testing one database at a time (if the databases are large) so that you can make sure you test whatever is unique about that data set, or you can assemble a subset of data from representative sites in your environment. If you want to first test by using a subset of your data, be sure that the subset has the following characteristics:

  • The data subset contains sites that are typical of the sites you support in your environment.

  • The size and complexity of the data subset is very similar to the actual size and complexity of your environment.

Important:

Testing a subset of your data does not produce a valid benchmark for how long it will take to process the entire volume of data for your environment.

After copying the data, take a first pass through the upgrade process to see what happens. This is just the preliminary round.

Try in-place upgrade

If you want to try an in-place upgrade approach, use the following steps to try out the upgrade process:

  1. Create a backup of your farm.

  2. Restore the backup to your test farm.

    For more information, see Back up and restore an entire farm (Office SharePoint Server 2007).

  3. Run the pre-upgrade checker. Make note of any issues it finds. You will want to address these issues in your original environment before you run the actual upgrade on your product farm. For more information, see Run the pre-upgrade checker (SharePoint Server 2010).

  4. Follow the steps in Perform an in-place upgrade (SharePoint Server 2010) to try the in-place upgrade.

  5. Review the results.

Try a database attach upgrade

  1. Create a SQL Server backup of your content databases and Shared Services Provider (SSP) databases.

  2. Use SQL Server to restore the backups into your single-server test farm and attach the content databases to that environment.

    For more information, see Back up and restore databases (Office SharePoint Server).

  3. Run the pre-upgrade checker. Make note of any issues it finds and any changes it makes. You will want to address these issues and make these changes in your original environment before you run the actual upgrade on your product farm. For more information, see Run the pre-upgrade checker (SharePoint Server 2010).

  4. Follow the steps in Prepare the new SharePoint Server 2010 environment for a database attach upgrade to configure the test environment for a database attach upgrade.

  5. Follow the steps in Attach databases and upgrade to SharePoint Server 2010 to try the database attach upgrade process.

Review your results

After your test upgrade has been completed, you can review the results and revisit your plans. Look at the log files, look at the upgraded sites, and check out your customizations. How did upgrade work for your environment? What did you find out? What do you need to rethink about your upgrade plan?

Review the log files

Review the following log files:

  • The pre-upgrade checker log file.

    The log files for the pre-upgrade checker (stsadm -o preupgradecheck) are located at %COMMONPROGRAMFILES%\Microsoft Shared\Web server extensions\12\LOGS. The log files are named in the following format: PreUpgradeCheck_YYYYMMDD-HHMMSS-SSS-random-number.log, where YYYYMMDD is the date and HHMMSS-SSS is the time (hours in 24-hour clock format, minutes, seconds, and milliseconds) and the random number is used to differentiate between possible simultaneous attempts to run the pre-upgrade checker.

  • The SharePoint Products Configuration Wizard (Psconfig.exe) log file (generated when you run this wizard as part of your trial in-place upgrade).

    The PSCDiagnostics log files are located at %COMMONPROGRAMFILES%\Microsoft Shared\Web server extensions\14\LOGS.

  • The upgrade log file and the upgrade error log file (generated when you run the upgrade).

    The upgrade log file (.log) and the upgrade error log file (.err) are located at %COMMONPROGRAMFILES%\Microsoft Shared\Web server extensions\14\LOGS. The log files are named in the following format: Upgrade-YYYYMMDD-HHMMSS-SSS.log, where YYYYMMDD is the date and HHMMSS-SSS is the time (hours in 24-hour clock format, minutes, seconds, and milliseconds).

To review the log files to find and troubleshoot issues. start at the top of the files. Errors or warnings may be repeated if they occur for several site collections in the environment, or if they block the upgrade process altogether. For example, if you cannot connect to the configuration database, the upgrade process will try (and fail) several times and these attempts will be listed in the log file.

Search, or visually scan, for the following entries:

  • Finished upgrading SPFarm Name=<Name of Configuration Database>

  • In-place upgrade session finishes. Root object = SPFarm=<Name of Configuration Database>, recursive = True. 0 errors and 0 warnings encountered.

If you find these entries, the installation was successful.

If you do not find the entries from the previous step, you can identify specific issues that may have contributed to the failure by searching, or visually scanning, through the Upgrade.log file for the following terms:

  • Search for ERROR in the log files to find any failures (such as failing components or faulty database connections).

  • Search for WARNING to find issues such as missing features or components.

To find upgrade issues, you may find it useful to use a log parser to run queries against the log files.

Restart upgrade, if necessary

During a database attach upgrade, any sites that cannot be upgraded will be skipped. During an in-place upgrade, if the server restarts or the upgrade fails, you will need to restart the upgrade process to upgrade the remaining sites.

To see whether any sites were missed or skipped during upgrade, run the following Stsadm operation stsadm -o localupgradestatus on every front-end Web server in your SharePoint Server 2010 server farm. For more information about this operation, see Localupgradestatus: Stsadm operation (Office SharePoint Server).

If the upgrade skipped any site collections, you can restart the upgrade process for the database that contains that site collection by using the following Windows PowerShell cmdlet: upgrade-spcontentdatabase -id <GUID>. For more information about this cmdlet, see Upgrade-SPContentDatabase.

For more information, see Resume upgrade (SharePoint Server 2010).

Review upgraded sites

Review your upgraded sites to identify any issues that need to be addressed before you run the upgrade process on your production environment. For more information about specific things to look for, see Verify upgrade and review upgraded sites (SharePoint Server 2010).

Adjust your plans and test again

Repeat the testing process until you are sure that you have found all the issues that you may face and that you know how to deal with them. Your goal is to know what your plan is if it is 4:00 P.M. on Sunday, you have to be back online Monday morning, and it is not going well. Is there a point of no return? Test your rollback plan and make sure that it works before you begin your real upgrade.

See Also

Other Resources

Downloadable book: Upgrading to SharePoint Server 2010
Resource Center: Upgrade and Migration for SharePoint Server 2010


Estimate how long the upgrade process will take and the space that you need (SharePoint Server 2010)
See Also

An important part of planning your upgrade from Microsoft Office SharePoint Server 2007 to Microsoft SharePoint Server 2010 is determining how long the upgrade process will take and how much storage space will be required. Every environment is unique and includes different hardware capabilities and different site characteristics. The space and the length of time that you need to run an upgrade will vary greatly depending on your environment. The best way to estimate these factors is to perform a trial upgrade, and then review the space and time that it took. For more information about how to perform a trial upgrade, see Use a trial upgrade to find potential issues (SharePoint Server 2010).

In this article:

  • Estimate the space that you need for the upgrade

  • Estimate how long the upgrade will take

Estimate the space that you need for the upgrade

During both the in-place upgrade and database attach upgrade approaches, the databases might expand during upgrade. Also, many transactions take place while the upgrade process runs, so you must make sure that the log files have room to expand to accommodate the changes that are occurring. You have to plan for growth in both the databases and the log files.

When planning your upgrade, make sure that your current environment follows the best practices for storage for Office SharePoint Server 2007 so that you have the best experience and performance during upgrade. For more information, see Physical storage recommendations (Office SharePoint Server). You should also review the best practices for SharePoint Server 2010 and make any adjustments needed to your upgraded environment.

Because of the changes in table structures in the new version, the databases grow temporarily while the data is reorganized. This space can be recovered after upgrade, but you should ensure that there is room for the databases to grow up to 50 percent larger than their current sizes during either an in-place or database attach upgrade (be aware that after upgrade, you can reduce the database again to recover much of this space). You should also make sure that there is room on your database servers for your databases to grow over time with typical use. To find out how large your databases currently are, use Enterprise Manager in Microsoft SQL Server. In addition to database space, you also must have room for the following items:

  • The temporary databases. Ensure that you have enough database space to enable quick growth of the temporary databases. If you have insufficient space, the upgrade process might time out and the upgrade will fail.

  • The upgrade log files.

  • The transaction log files for the databases. These log files must grow quickly to accommodate the number of changes occurring in the databases.

    Note:

    In very large environments, there is a possibility that the default growth rate for the transaction log files (10 percent) is not enough to keep up with the upgrade process; this can cause a time-out. Again, a trial upgrade is the best way to determine whether the transaction log files can keep up with the upgrade process. If your environment is very large, or if the process timed out during a trial upgrade, consider expanding the SQL Server transaction log files beforehand to make sure you have room for the number of transactions that must be processed. For more information about how to expand the SQL Server transaction logs, see Expanding a Database (SQL Server 2005) (http://go.microsoft.com/fwlink/p/?LinkId=182619) or Expanding a Database (SQL Server 2008) (http://go.microsoft.com/fwlink/p/?LinkId=182620).

Estimate how long the upgrade will take

With your disk space estimates in hand, and some testing under your belt, you can now calculate a rough estimate of how long the actual upgrade process will take. Upgrade times vary widely among environments. The performance for an upgrade depends greatly on the hardware being used, the complexity of the sites, and the particular characteristics of your implementation. For example, if you have many large document libraries, these may take longer to upgrade than a simpler site.

Factors that influence performance are described in the following table.

Content factors Hardware factors

The number of:

  • Site collections

  • Subwebs

  • Lists

  • Document versions (number and size)

  • Documents

  • Links

Plus the overall database size itself.

  • SQL Server disk input/output per second

  • SQL Server database to disk layout

  • SQL Server temporary database optimizations

  • SQL Server CPU and memory characteristics

  • Web server CPU and memory characteristics

  • Network bandwidth and latency

How your data is structured can affect how long it takes to upgrade it. For example, 10,000 lists with 10 items each will have a longer upgrade time than 10 lists with 10,000 items. The actions required to upgrade the list infrastructure must be performed for each list, regardless of the number of items; therefore, more lists equals more actions. The same goes for most of the items in the "content factors" column in the table above.

The structure of your hardware can also have a big effect on performance. Generally, the database server performance is more important than Web server performance, but underpowered hardware or connectivity issues at either tier can significantly affect upgrade performance.

The upgrade approach you have chosen will also make a big difference in how long the process will take. Performing a database attach upgrade is the quickest method (however, the pre-upgrade and post-upgrade steps for this approach take longer than for in-place upgrade). An in-place upgrade takes a little more time because you are upgrading the environment in addition to the sites, but you do not have as many pre-upgrade and post-upgrade steps when you use this approach.

The best way to estimate overall time is to do a trial upgrade of a small part or all of the data, and then review the upgrade log files. The log files contain the duration for your upgrade — look for Total Elapsed Time at the bottom of the upgrade log file. Use this time to project a duration for your full set of content. You can also use the log files to check your progress during the upgrade process. The upgrade.log file is located at %COMMONPROGRAMFILES%\Microsoft Shared\web server extensions\14\LOGS.

The estimate you arrive at based on your trial upgrade is for the actual upgrade process for the data; it does not include all of the steps that you have to perform before and after this step, which can take more time than the upgrade of the data itself. When estimating how long the upgrade will take, in addition to the time that is required for data to be processed, you must also estimate how long the activities during the pre-upgrade and post-upgrade phases will take.

For pre-upgrade steps, consider the following factors:

  • Creating custom elements Upgrading Web Parts or re-doing custom templates to take advantage of new features will take some time. The process of creating custom elements should begin early, during the evaluation phase of your project.

  • Backing up the databases For in-place upgrade, you must perform a full backup — not a differential backup — of your entire environment to make sure that you can recover in the remote possibility that the upgrade fails and you must rebuild your server farm. For large environments, this step can take a significant amount of time. In particular, if you are backing up to a network location, network latency issues can slow this process down.

For post-upgrade steps, consider the following factors:

  • Verifying sites and making changes Allow enough time for users to validate their sites after the upgrade. This may take several days. For more information, see Verify upgrade and review upgraded sites (SharePoint Server 2010).

  • Creating service applications and configuring services This step only applies during a database attach upgrade (during an in-place upgrade, the service applications are created as part of the upgrade process). Creating service applications and configuring services does not take long; however, if you need to contact a database administrator to pre-create the databases for you, you might need a day or two of lead time.

  • Converting profile properties to taxonomy data and updating the photo store for User Profile services You must convert user profile properties that include choice lists to use taxonomy features provided by the Managed Metadata service. Depending on the number of user profiles in your environment, these steps can add one or more hours to the upgrade process.

  • Running a people crawl For large organizations, this step can take more than 24 hours.

  • Running a search crawl on all content For large sites, this step can take more than 24 hours.

Additional factors in your environment can also contribute to longer upgrade times, including the following:

  • Very large document libraries A document library with more than 250,000 documents all in the root of the document library (instead of in folders) will take a long time to upgrade, and the upgrade might not be successful. Following the Microsoft Office SharePoint Server 2007 guidelines for using folders to break up large document libraries can help you manage the library size. For example, if you rearrange the same document library so that the 250,000 documents are divided into 125 folders, it should upgrade more easily.

  • Very large databases Databases larger than 100 GB can take a long time to upgrade.

    Note:

    If you have content databases that are larger than 100 GB and include mixed site types (such as My Sites and team sites together with published sites), we recommend that you divide them up into smaller databases that contain a consistent type of data before you run the upgrade. Larger databases not only take longer to upgrade, but they can make it harder to recover if the upgrade is not completed successfully.

    You can use the mergecontentdbs or the backup and restore operations in Stsadm.exe to move sites between databases. For more information, see Mergecontentdbs: Stsadm operation (Office SharePoint Server) and Backup and restore: Stsadm operations (Office SharePoint Server).

    If you have a very large database (more than 100 GB) that you cannot break up because most of the content is in a single site collection, you may want to reconsider your upgrade approach. A database attach upgrade approach is more difficult with very large databases, because backing up and restoring such large databases is problematic.

    Caution:

    Be sure that you are following the capacity planning guidelines from the previous and new versions before you attempt the upgrade. If you have exceeded the guidelines for best performance, the upgrade process might take longer, or it might not succeed (for example, the process might time out repeatedly on the same large document library). If your deployment does not meet the recommended capacity guidelines, consider whether you need to do some work to meet those guidelines before you try the upgrade. Again, a trial upgrade can help you with that decision.

  • Communications requirements

    You need to notify your users and your team of the upgrade schedule, and give them time to do their tasks. For more information, see Create a communication plan (SharePoint Server 2010).

  • Managing system center alerts and alarms

    You need to monitor system performance during upgrade, but you will not need to monitor specific features. Pause any unnecessary alarms and alerts from Microsoft Systems Center Operations Manager or Microsoft Operations Manager, and then turn them on again after upgrade.

  • Turning SQL mirroring and log shipping on/off

    You should turn off mirroring and log shipping before you upgrade, and then turn them on again after you are sure that your environment is running correctly after the upgrade. We recommend that you do not run mirroring or log shipping during upgrade, because this creates additional load on the servers running SQL Server and also wastes resources mirroring or shipping temporary data.

Test your upgrade process to find out how long it may take, then create a schedule for your upgrade operations and test that to determine your timeline. You should include the time that you need to do the pre-upgrade and post-upgrade steps in your operations timeline: If it takes 5 hours to back up your environment before you start, you need to include that time in your outage window. Also include buffer time in case you need to restore or recover — you should determine both your planned outage (realistic case) and your emergency outage (worst case) timelines.

See Also

Other Resources

Downloadable book: Upgrading to SharePoint Server 2010
Resource Center: Upgrade and Migration for SharePoint Server 2010


Clean up an environment before upgrade (SharePoint Server 2010)
See Also

Before you begin upgrading from Microsoft Office SharePoint Server 2007 to Microsoft SharePoint Server 2010, you should make sure that your environment is functioning in a healthy state and that you clean up any content that you do not have to upgrade. You can also take the time to remove or rearrange content so that you will have the structure that you want after you perform the upgrade.

In this article:

  • Items to clean up

  • Making structural changes

Items to clean up

Many of these items can be removed or repaired by using Stsadm.exe commands.

Important:

To run the Stsadm command-line tool, you must be a member of the Administrators group on the local computer.

Delete unused or underused site collections and subwebs

You do not want to upgrade content that you do not have to keep. If it has been unused for a long time and will not be needed in the future, back it up, and then delete it to free storage and administrative resources, improve upgrade performance, and reduce upgrade risk. Be sure to communicate with site owners or organizational contacts regarding the site status — you want to make sure that the site is not needed before you delete it (for example, you do not want to delete sites that are required for compliance, such as emergency procedures, even though they may not be updated frequently).

For more information about how to delete site collections and subwebs, see:

  • Deletesite: Stsadm operation (Office SharePoint Server)

  • Deleteweb: Stsadm operation (Office SharePoint Server)

Address large lists

By default, large list query throttling is applied after an upgrade to SharePoint Server 2010. If a list is very large, and users use a view or perform a query that exceeds the limit or throttling threshold, the view or query will not be permitted. Check any large lists in your environment and have the site owner or list owner address the issue before upgrade. For example, they can create indexed columns by using filtered views, organize items into folders, set an item limit on the page for a large view, or use an external list. For more information about how to address issues with large lists, see Manage lists and libraries with many items (http://go.microsoft.com/fwlink/p/?LinkId=182370) on Office Online.

Address large numbers of site collections in a content database

If you have 5,000 or more site collections in a database, consider breaking them out into multiple databases. In Office SharePoint Server 2007, there was a default warning at 9,000 site collections and a hard limit at 15,000 site collections. In SharePoint Server 2010, these values change to 2,000 site collections for the warning and 5,000 site collections for the limit. To avoid errors during upgrade or broken sites after upgrade, we recommend that you move some site collections into separate databases. If you have multiple content databases, you can also speed up your upgrade process by upgrading multiple databases in parallel.

For more information about site collection limits, see SharePoint Server 2010 capacity management: Software boundaries and limits. For more information about moving site collections to a new database, see Move site collections to a new database (split a content database) (Office SharePoint Server 2007).

Address large ACLs

Using item-level permissions frequently can result in large access control list (ACL) entries, which can in turn create performance problems on your servers. For information about this issue and for tips on how to handle lots of users, see Knowledge Base Article 953132: How to add lots of users to a site, to a list, or to a document library in Windows SharePoint Services 3.0 and in SharePoint Server 2007 (http://go.microsoft.com/fwlink/p/?LinkId=182327).

Remove extraneous document versions

Large numbers of document versions can slow down an upgrade significantly. If you do not have to keep multiple versions, you can have users delete them manually or use the object model to find and remove them. For more information about how to programmatically remove extraneous versions, see Versions Web Service (http://go.microsoft.com/fwlink/p/?LinkId=182330) on MSDN.

Remove unused templates, features, and Web Parts

First, verify that no sites are using the template, feature, or Web Part. You can use the pre-upgrade checker (Stsadm -o preupgradecheck) and the Stsadm -o EnumAllWebs operation to identify these customizations in your environment. Both of these operations were updated in the October 2009 Cumulative Update (CU) and now identify Web Parts, features, event handlers, and setup files that are being used in your environment. The pre-upgrade checker specifies which server-side files exist in your environment and how many times they are used. The EnumAllWebs command specifies which files are used by which sites.

For more information about how to identify customizations in your environment, see Use a trial upgrade to find potential issues (SharePoint Server 2010). If customizations are not being used, delete them. For more information about how to manage these kinds of customizations, see Features and Templates (http://go.microsoft.com/fwlink/p/?LinkId=182338) and Solutions and Web Part Packages (http://go.microsoft.com/fwlink/p/?LinkId=182332) on MSDN.

Repair data issues

Make sure that you repair any issues in your databases or site content before you upgrade. In particular, check the following items:

  • Check databases for corrupted data

    Clean up your databases to remove any orphaned sites or other corrupted data, such as a corrupted list. Consider defragmenting if you have removed sites or subsites from the database. For more information, see:

    • Databaserepair: Stsadm operation (Office SharePoint Server)

    • Forcedeletelist: Stsadm operation (Office SharePoint Server)

  • Check databases for duplicate or orphaned site collections

    Make sure that site collections exist in only one content database. Occasionally, site collections can leave behind duplicate or orphaned references in old content databases if they are moved to new ones, or if a duplicate copy of a database was attached to the farm, or if there was an error when a site collection was provisioned. If a site collection is referenced in more than one content database or there is more than one instance of the site collection in a content database, it can cause issues when you upgrade by using the database attach upgrade method. If you upgrade a duplicate version of the site collection first, the site map in your configuration database might end up pointing to that version of the site rather than the current version.

    Before you upgrade, use the pre-upgrade checker tool to identify all site collections and look for any duplicate or orphaned sites - any sites with the same URL or the same GUID as another site. For more information, see Run the pre-upgrade checker (SharePoint Server 2010). Also, use the enumallwebs operation in Stsadm.exe to find out which sites are in which content databases and compare the results. For more information, see Enumallwebs: Stsadm operation (Office SharePoint Server). If you find duplicate or orphaned sites, you can use the deletesite operation in Stsadm.exe to remove the duplicate or orphaned sites from the database. To delete a site from a specific content database, use the following command:

    Copy Code
    Stsadm -o deletesite -force -siteid <SiteID> -database <databasename> -databaseserver <Servername>

    For more information, see Deletesite: Stsadm operation (Office SharePoint Server).

  • Check variations

    In publishing environments, check for any variations that must be fixed. For more information, see Variationsfixuptool: Stsadm operation (Office SharePoint Server).

Making structural changes

If you want to make structural changes to your environment, such as moving site collections around or changing how your databases are allocated, you can use the following methods:

  • Stsadm -o mergecontentdbs Use this to move site collections between databases. Upgrade is most efficient when databases contain similar data. Therefore, it is best if any site collections that share a content database are similar types. You can also use this operation to divide large databases if they contain multiple site collections. This can also help increase upgrade efficiency.

    For more information, see Mergecontentdbs: Stsadm operation (Office SharePoint Server).

  • Export and import sites Use this method to move subwebs or site collections within a farm or between farms. For more information, see Import and export: Stsadm operations (Office SharePoint Server).

See Also

Other Resources

Downloadable book: Upgrading to SharePoint Server 2010
Resource Center: Upgrade and Migration for SharePoint Server 2010


Troubleshoot upgrade issues (SharePoint Server 2010)
See Also

Even after you test the upgrade process to identify potential issues, you might experience unexpected issues during an upgrade from Microsoft Office SharePoint Server 2007 to Microsoft SharePoint Server 2010. If you experience issues after upgrade, the sooner you detect and fix them, the better the end-user experience will be.

This article describes general principles for identifying and addressing upgrade issues, and includes a list of common issues. After you have identified and addressed the issues, you can resume upgrade. For more information about how to resume upgrade, see Resume upgrade (SharePoint Server 2010).

In this article:

  • General principles for identifying issues

  • Common issues

    • Missing or deprecated server-side files or customizations

    • Incorrectly configured or missing settings for server farm, Web application, or services

    • Inconsistent or incorrect update levels

    • Missing global navigation for blogs

    • Data issues

    • UI changes

    • Lack of space

    • Forms-based authentication

    • Security and permissions

    • .Stp files are not working after upgrade

    • Cannot find new versions of the Fabulous 40 application templates

    • Upgrading data from SharePoint Portal Server 2003: pre-upgrade checker reports corrupted databases

General principles for identifying issues

Start by checking the upgrade status to see where upgrade stopped (if it did stop), and check log files to find any errors or warnings. Next, address the issues that you find before you resume the upgrade.

First, check upgrade status and log files

Upgrade status indicators and log files should give you an indication of what went wrong during the upgrade process. We recommend that you carefully review all the errors that were logged in the upgrade log files. Warnings might not always indicate an issue, but you should review them all to determine whether any of them are likely to cause even more issues.

  1. Check upgrade status by doing one or both of the following:

    • Review the Upgrade Status page in the SharePoint Central Administration Web site.

    • Use the Stsadm.exe operation localupgradestatus to check upgrade status.

    For more information about how to check upgrade status, see Verify upgrade and review upgraded sites (SharePoint Server 2010).

  2. Review the following log files:

    • The Setup.exe log file.

    • The SharePoint Products Configuration Wizard (Psconfig.exe) log file.

    • The upgrade error log file and the upgrade log file (which contains more detailed information than the upgrade error log file).

    • ULS or trace log files.

      These files are stored in the %COMMONPROGRAMFILES%\Microsoft Shared\Web Server Extensions\14\LOGS folder and are named Servername_YYYYMMDD-MMSS.log.

    • The application event log file.

      This file can be viewed by using the Event Viewer.

    For more information about the Setup.exe, PSconfig.exe, and upgrade log files, see Verify upgrade and review upgraded sites (SharePoint Server 2010). For more information about the trace log file, see Trace Logs (http://go.microsoft.com/fwlink/p/?LinkId=182380) on MSDN.

Then, address issues in order

Some issues have more effect than others. For example, a missing server-side file can cause many seemingly unrelated errors at the site level.

Address issues in the following order:

  1. Missing server-side files or customizations, such as features or Web Parts.

  2. Configuration issues in the server farm, Web application, or services, such as managed paths or services that are not started.

  3. Additional issues that you discover on a site-by-site basis, starting with high-impact, high-profile sites.

As you identify and fix the top-level issues, you can try running upgrade again to see whether any issues further along in the upgrade process have also been fixed.

Common issues

Check to see whether any of the following issues are causing an upgrade error or warning.

Missing or deprecated server-side files or customizations

One common error during upgrade is missing server-side files — either files that were installed with Office SharePoint Server 2007 or customized files. When you prepared for upgrade, you should have created an inventory of the server-side customizations (such as site definitions, templates, features, Web Parts, assemblies) that your sites required. (The pre-upgrade checker can help identify these items.) Check this inventory to make sure that all the files that are needed for your customizations are installed in your upgrade environment.

If you are performing a database attach upgrade, you can use the test-spcontentdatabaseWindows PowerShell cmdlet before you upgrade the database to identify any missing files. You can also use the enumallwebs operation in Stsadm.exe to identify server-side customizations that are being used.

In the upgrade log files, you may see errors such as the following:

  • ERROR Found Reference Count web(s) using missing web template Site Template Identifier (lcid: Site Template Language Code) in ContentDatabase Content Database Name.

  • ERROR Found a missing feature Id = [Feature Identifier]

  • ERROR File [Relative File Path] is referenced [Reference Count] times in the database, but is not installed on the current farm.

  • WARNING WebPart class [Web Part Identifier] is referenced [Reference Count] times in the database, but is not installed on the current farm.

  • WARNING Assembly [Assembly Path] is referenced in the database, but is not installed on the current farm.

  • WARNING Feature could not be upgraded. Exception: Feature definition id 'Feature Identifier' could not be found.

If you can obtain a missing server-side file or dependency, install it and then run upgrade again for the affected sites. If the file or dependency (such as a Web Part) has been deprecated, you have to investigate whether you want to rebuild the site, page, or Web Part to use a different template, feature, or Web Part. If you can redo the customization by using dependencies that have not been deprecated, you can run upgrade again for the affected sites. If you cannot remove the dependency, you cannot upgrade the site.

After you install the missing file or dependency, use the test-SPContentDatabaseWindows PowerShell cmdlet on a test server to determine whether any other files for that database are missing. If you only run the pre-upgrade checker or run upgrade again, the error might not appear in the log files, even though it might still be occurring.

Incorrectly configured or missing settings for server farm, Web application, or services

Verify your farm and Web application settings, and create and start any missing services.

Verify that any managed paths (included or excluded paths) are configured correctly for each Web application.

In the upgrade log files, you may see errors such as the following:

  • ERROR Template Template Id: SPSite Id=Site Id could not be accessed due to exception. Skipping SPWeb Id=Web Id for template upgrade. Exception: System.IO.FileNotFoundException: The site with the id Site Id could not be found.

    This error indicates that a managed path is missing. Add the managed path for the site collection into the Web application and restart upgrade for the content database that contains this site collection.

Inconsistent or incorrect update levels

You must be running Office SharePoint Server 2007 with Service Pack 2 to run upgrade. If you do not meet this minimum requirement, you will see an error and upgrade will not run.

In addition, your servers must be updated correctly. For example, if you have applied the Windows SharePoint Services 3.0 version of an update, but not the Office SharePoint Server 2007 version of the update, upgrade will not run. The version number for Windows SharePoint Services 3.0 is displayed on the Servers in Farm page in SharePoint Central Administration. The version number for Office SharePoint Server 2007 is the version number of the file Microsoft.SharePoint.portal.dll in the %COMMONPROGRAMFILES%\Microsoft Shared\Web server extensions\12\ISAPI folder. The version numbers on the Servers in Farm page and for the Microsoft.SharePoint.portal.dll files must match, and must be at 12.0.6420.1000 or higher to upgrade. For more information, see Deploy software updates for Office SharePoint Server 2007.

Missing global navigation for blogs

Another common error is the global navigation is missing for upgraded blogs. This occurs because the MySiteNavigation (6adff05c-d581-4c05-a6b9-920f15ec6fd9) feature is not enabled during the upgrade. To enable this feature, run the Enable-SPFeatureWindows PowerShell 2.0 cmdlet.

For more information, see Enable-SPFeature.

Data issues

The following data issues can cause errors or warnings during upgrade:

  • Connectivity to data sources. If your servers cannot connect to the databases, they cannot be upgraded.

  • Orphaned sites or lists, or other database corruptions. For more information, see Clean up an environment before upgrade (SharePoint Server 2010).

  • Hidden column data. If the upgrade process adds a column to a list, and a custom column that has that same name already exists in the list, the custom column is renamed. After upgrade, you might have to readjust your views to include the renamed column.

In the upgrade log files, you may see errors such as the following:

  • WARNING The orphaned sites could cause upgrade failures.

  • ERROR Database [Content Database Name] contains a site (Id = [Site Collection Identifier], Url = [Site Collection URL]) that is not found in the site map.

Fix any orphaned items or database corruptions, and then run upgrade again.

UI changes

Changes to the user interface (UI), such as the addition of the Fluent UI (also known as the ribbon) or adherence to XHTML standards, can cause problems in sites. Occasionally, custom elements (such as a content type) may have a name that conflicts with a name in the new version. You may also have pages that must be reverted to the standard site definition, or large lists for which you have to create new views.

For more information about how to review UI issues in sites, see Verify upgrade and review upgraded sites (SharePoint Server 2010).

In the upgrade log files, you may see errors such as the following:

  • Failed to activate site collection features on site Site Url. Exception: A duplicate content type name "name" was found.

    This error indicates that a 3rd party "Summary Info" content type was added to the specified site in o12 and during upgrade to o14 it name conflicts with our out of the box "Summary Info" content type. Delete or rename the 3rd party content type in the specified site to something other than "Summary Info" and re-run upgrade.

Lack of space

If you run out of space (for example, for transaction log files on your database servers), upgrade cannot continue. Free some space, or increase the size of the transaction log file before you resume upgrade. For more information, see Managing the Size of the Transaction Log File (http://go.microsoft.com/fwlink/p/?LinkID=124882).

Forms-based authentication

Additional steps are necessary if you are upgrading an environment that uses forms-based authentication. Follow the steps in Configure forms-based authentication for a claims-based Web application (SharePoint Server 2010) to upgrade forms-based authentication providers.

Security and permissions

If you receive an error about an unknown account, or if a database is not upgraded, verify the following:

  • For an in-place upgrade, make sure that the account that you use to run the SharePoint Products Configuration Wizard is a member of the db_owner fixed database role for all the databases that you want to upgrade. If it is not a member of this role, you might see an error about an unknown user account when the wizard starts to upgrade the databases.

  • For a database attach upgrade, if you are moving databases between instances of SQL Server, make sure that you verify that security is configured correctly. Check that the accounts that you are using have the appropriate fixed roles and permissions on the databases, and that they will still be valid accounts if you are upgrading across domains.

.Stp files are not working after upgrade

Site templates (.stp files) are deprecated in SharePoint Server 2010 and cannot be used to create new sites. Existing sites that are based on .stp files will continue to function as usual. Solution packages (.wsp files) are the supported method for creating sites that are based on a template in SharePoint Server 2010. You can convert an .stp file to a .wsp file to continue to use the template after upgrade.

To convert an .stp file to a .wsp file

  1. In Office SharePoint Server 2007, create a site that is based on the template, and then upgrade the site to SharePoint Server 2010.

  2. In SharePoint Server 2010, on the Site Actions menu in the upgraded site, click Site Settings.

  3. On the Site Settings page, under Site Actions, click Save site as template.

  4. On the Save as Template page, enter a File name and Template name, and then click OK.

    The site template is saved as a .wsp file to the Solutions Gallery for that site collection and you can create new sites that are based on that solution.

Cannot find new versions of the Fabulous 40 application templates

Many people have used the "Fabulous 40" templates that were created for Windows SharePoint Services 3.0. Some of these templates were created as site admin templates (.stp files) and some were created as server admin templates (.wsp files). Microsoft is not releasing new versions of these templates for SharePoint 2010 Products. Also, .stp files are deprecated and cannot be used to create new sites when you upgrade to SharePoint Server 2010.

You can upgrade sites that are based on these templates. However, you should try to upgrade these sites in a test environment before you upgrade the production environment so that you can discover any potential issues. Use the pre-upgrade checker to discover any issues. (Some people have seen problems with custom workflows or CAML-based views in the templates.) Note that after upgrade, you will be unable to use .stp files to create new templates.

The following table describes how the templates can be used.

Type of template | Can I upgrade sites that are based on this template? | Can I use the template after upgrade?
Site admin (.stp file or site template) | Yes | No
Server admin (.wsp file or solution package) | Yes* | Yes*

*There are issues with some .wsp files after upgrade. In particular, after upgrade, some customers cannot create new sites that are based on the following templates: Absence Request and Vacation Schedule Management, Call Center, Help Desk, IT Team Workspace, Knowledge Base, and Physical Asset Tracking and Management. If you have problems using any of these templates, you can post an issue to the SharePoint 2010 - Setup, Upgrade, Administration and Operation TechNet Forum (http://go.microsoft.com/fwlink/p/?LinkId=201600), or contact Microsoft Customer Support.

If you want to continue to create sites that are based on the site admin templates (.stp files) in SharePoint Server 2010, you must convert them to solution packages (.wsp files). For more information, see the section .Stp files are not working after upgrade earlier in this article.

Upgrading data from SharePoint Portal Server 2003: pre-upgrade checker reports corrupted databases

When a content database in an Office SharePoint Server 2007 farm was upgraded from a Microsoft Office SharePoint Portal Server 2003 content database, you might see the following error when you run the pre-upgrade checker:

Failed : Content database with modified database schemas

If you did not make any manual schema changes to the database, you can ignore this error and continue with the ugprade. This is a residual error from the upgrade process from SharePoint Portal Server 2003 to Office SharePoint Server 2007. For more information, see the Microsoft Knowledge Base article 954772.

See Also

Concepts

Use a trial upgrade to find potential issues (SharePoint Server 2010)
Verify upgrade and review upgraded sites (SharePoint Server 2010)
Resume upgrade (SharePoint Server 2010)

Other Resources

Downloadable book: Upgrading to SharePoint Server 2010
Resource Center: Upgrade and Migration for SharePoint Server 2010


Recovering after a failed upgrade (SharePoint Server 2010)
See Also

If the upgrade to Microsoft SharePoint Server 2010 has failed and you do not have time to continue to troubleshoot the issues or resume the upgrade process, you have to recover your Microsoft Office SharePoint Server 2007 environment. The steps differ depending on the type of backup you have. If you were performing a database attach upgrade and you kept your original environment available — either by using read-only databases or by taking the environment offline — you can recover your environment easily. If you were performing an in-place upgrade, you must recover your entire environment and restore the data.

If you do have time, you should troubleshoot the issues and resume upgrade. For more information, see Troubleshoot upgrade issues (SharePoint Server 2010) and Resume upgrade (SharePoint Server 2010).

In this article:

  • Recovering when you have read-only databases on a standby environment (database attach upgrade)

  • Recovering when you have a full environment backup (in-place upgrade)

  • Recovering when you have database backups (in-place upgrade)

Recovering when you have read-only databases in a standby environment (database attach upgrade)

When you perform a database attach upgrade, you can choose to leave your existing environment available, but with the databases set to read-only. Recovering when you are in this state is the simplest recovery path, because your original environment is still available, it is merely set to read-only. If you have to recover your environment, you can merely switch the databases to read/write again and resume serving requests. The article Run a farm that uses read-only databases (Office SharePoint Server) describes the steps you take to set a farm to use read-only databases. To return the read-only farm to full operations, you set the Database Read-Only entry back to False, and then re-enable the timer jobs listed in the article.

Recovering when you have a full environment backup (in-place upgrade)

If you created a full backup of your environment before you started the upgrade process, you can restore that full backup to recover your environment. For more information about how to restore from a full backup, see Restore a farm by using built-in tools (Office SharePoint Server 2007).

Recovering when you have database backups (in-place upgrade)

If you only created backups of your content and Shared Services Provider (SSP) databases, you can still recover your environment, but it will take longer and involve more steps. You basically have to build out your environment again and then restore the database backups. For more information about how to recover an environment and restore backed up content databases, see Restore a farm after a configuration database problem (Office SharePoint Server).

See Also

Other Resources

Downloadable book: Upgrading to SharePoint Server 2010
Resource Center: Upgrade and Migration for SharePoint Server 2010


Resume upgrade (SharePoint Server 2010)
See Also

In some cases, you might have to restart upgrade to finish upgrading your sites from Microsoft Office SharePoint Server 2007 to Microsoft SharePoint Server 2010. For example:

  • During an in-place upgrade, if the server restarts or the upgrade fails, you must restart the upgrade process by using Psconfig.exe to upgrade the remaining sites.

  • During a database attach upgrade, any sites that cannot be upgraded will be skipped. After you have corrected any issues in the sites (such as a missing template or language pack, or the site being set to read-only or having exceeded its quota), you can restart upgrade by using a Windows PowerShell command to upgrade just the skipped sites.

Note:

One frequent cause of failures during upgrade is that the environment is missing customized features, solutions, or other elements. Be sure that any custom elements that you need are installed on your front-end Web servers before you begin the upgrade process. You can use the pre-upgrade checker — and, for a database attach upgrade, the test-spcontentdatabaseWindows PowerShell cmdlet — to identify any custom elements that your sites might be using. For more information, see Identify and install customizations in the article "Use a trial upgrade to find potential issues."

In this article:

  • Restart upgrade for a server farm by using Psconfig.exe

  • Restart upgrade for a database by using Windows PowerShell

Restart upgrade for a server farm by using Psconfig.exe

If you determine that upgrade stopped or failed before the SharePoint Products Configuration Wizard was completed, you can restart the upgrade from that point by running the SharePoint Products Configuration Wizard again or by using a command line operation. This process is also known as forcing a software upgrade. Be sure to research and address the problem that caused the failure or stoppage before you restart upgrade.

To restart upgrade for the server farm

  1. Verify that you have the following administrative credentials:

    • To use Psconfig.exe, you must be a member of the local Administrators group on the server.

  2. Open a Command Prompt window and navigate to the following directory:

    %COMMONPROGRAMFILES%\Microsoft shared\Web server extensions\14\Bin\

  3. Type the following command:

    psconfig -cmd upgrade -inplace v2v -passphrase <passphrase> -wait

    Where <passphrase> is the passphrase that was specified when SharePoint Products Configuration Wizard was run. The passphrase is used to join the server farm. The passphrase value must be the same on all servers in the farm if the farm is to function correctly.

    There is an optional parameter, -force, that can force the upgrade to continue if the command does not work. Add -force to the end of the command string to force the upgrade process to continue.

Note:

You can enable Windows Installer logging before you start the software upgrade installation again. To enable logging for Windows Installer, see Microsoft Knowledge Base article 99206: How to enable Windows Installer logging (http://go.microsoft.com/fwlink/p/?LinkID=99206).

Restart upgrade for a database by using Windows PowerShell

If the upgrade skipped any site collections during in-place upgrade or database attach upgrade, you can restart the upgrade process for the database that contains that site collection by using a Windows PowerShell cmdlet.

To restart upgrade for a database by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell command prompt (PS C:\>), type the following command:

    upgrade-spcontentdatabase -id <GUID>

    Where GUID is the identifier for the database. You can run the following cmdlet to find the GUID for a content database:

    Get-SPContentDatabase -Identity<content_database_name>

For more information, see Upgrade-SPContentDatabase.

See Also

Other Resources

Downloadable book: Upgrading to SharePoint Server 2010
Resource Center: Upgrade and Migration for SharePoint Server 2010


Perform pre-upgrade steps (SharePoint Server 2010)
See Also

After you have planned your upgrade process to Microsoft SharePoint Server 2010, you can start the upgrade process by following the required pre-upgrade steps.

In this section:

  • Run the pre-upgrade checker (SharePoint Server 2010)

    The pre-upgrade checker identifies potential upgrade issues in your environment. Run this as you plan your upgrade and before you start the upgrade process, so that you can address these issues.

  • Back up environment before an in-place upgrade (SharePoint Server 2010)

    Create a full backup of your environment to ensure that you can recover if upgrade does not go as planned.

See Also

Other Resources

Downloadable book: Upgrading to SharePoint Server 2010
Resource Center: Upgrade and Migration for SharePoint Server 2010


Run the pre-upgrade checker (SharePoint Server 2010)
See Also

You can use the pre-upgrade checker to report on the status of your environment and SharePoint sites before you upgrade to Microsoft SharePoint Server 2010. We highly recommend that the server administrator run the pre-upgrade checker and resolve as many problems as possible before scheduling the upgrade.

The pre-upgrade checker is an Stsadm operation that you run in a Microsoft Office SharePoint Server 2007 environment to find any potential issues for upgrade and to review recommendations and best practices. The operation is available with Office SharePoint Server 2007 Service Pack 2 and has been updated in the October 2009 Cumulative Update for Windows SharePoint Services 3.0 and Office SharePoint Server 2007. You can download and install the October 2009 Cumulative Update from October 2009 Cumulative Update Packages for SharePoint Server 2007 and Windows SharePoint Services 3.0 are published (http://go.microsoft.com/fwlink/p/?LinkID=169179).

Note:

You might need to run the pre-upgrade checker more than once. For example, if you run the tool to evaluate your server farm but do not perform the upgrade for a few weeks, you can run the tool again just before you perform the upgrade to scan any new sites and to ensure that no additional issues have appeared in the meantime.

In this article:

  • About the pre-upgrade checker report

  • Run the pre-upgrade checker

Note:

One frequent cause of failures during upgrade is that the environment is missing customized features, solutions, or other elements. Be sure that any custom elements you need are installed on your front-end Web servers before you begin the upgrade process. You can use the pre-upgrade checker — and, for a database attach upgrade, the test-spcontentdatabaseWindows PowerShell cmdlet — to identify any custom elements that your sites might be using. For more information, see Identify and install customizations in the article "Use a trial upgrade to find potential issues."

About the pre-upgrade checker report

The pre-upgrade checker reports information about the status of your environment and the SharePoint sites in that environment, including:

  • Upgrade readiness and supported paths Returns a list of all servers and components in the farm and information about whether the servers meet requirements for upgrading.

  • Alternate access mapping settings Returns a list of the alternate access mapping URLs that are being used in the farm.

  • Installed elements Returns a list of all site definitions, site templates, features, and language packs that are installed in the farm. You need to know which site templates have been installed or used so that you can verify that they are available after an upgrade or database attach. You also need to know which elements have been customized so you can verify the customizations again after the upgrade. For example, you need to know whether a site depends on a language pack for Office SharePoint Server 2007 that does not exist yet for SharePoint Server 2010, so you can plan how to handle that site during upgrade.

  • Unsupported customizations Reports whether any server-side customizations that are not supported (such as database schema modifications) exist in the farm.

  • Orphaned objects Lists any database or site orphans in the farm. Objects such as list items, lists, documents, Web sites, and site collections can become orphaned — that is, the objects exist but are not associated with a particular site. Because orphaned objects do not work in the previous version, they won't work after the upgrade. If you perform an in-place upgrade, the orphaned items will still exist, but will not work. We recommend that you repair any orphaned objects before upgrading.

    Tip:

    Members of the Administrators group on the front-end Web servers can repair orphaned items before the upgrade by following the steps in Knowledge Base article 918744, Description of a new command-line operation that you can use to repair content databases in Windows SharePoint Services (http://go.microsoft.com/fwlink/p/?linkid=69958&clcid=0x409).

  • Valid configuration settings Reports any missing or invalid configuration settings (such as a missing Web.config file, invalid host names, or invalid service accounts) that exist in the farm.

  • Database requirements Reports whether the databases meet the requirements for upgrade — for example, databases are set to read/write, and any databases and site collections that are stored in the Windows Internal Database are not larger than 4 GB.

Use the information gathered from the pre-upgrade checker to determine:

  • Whether to perform an in-place upgrade or a database attach upgrade.

    Determine upgrade approach (SharePoint Server 2010) provides information to help you decide which type of upgrade to perform. It is important to consider the report generated by the pre-upgrade checker when you make this decision. If your servers do not meet the requirements for in-place upgrade, you need to consider performing a database attach upgrade.

  • Whether to upgrade some or all site collections that contain customized sites.

  • Which sites need to have customizations reapplied or redone after upgrade and therefore might take longer than others in the review stage.

A worksheet is available so you can record information about your environment while you prepare for upgrade. Download the worksheet from http://go.microsoft.com/fwlink/p/?LinkId=179928.

Run the pre-upgrade checker

Before you perform this procedure, confirm that:

  • Your system is running Office SharePoint Server 2007 with Service Pack 2

To run the pre-upgrade checker

  1. Verify that you have the following administrative credentials:

    • To use Stsadm, you must be a member of the local Administrators group on the server.

  2. Click Start, right-click Command Prompt, and then click Run as administrator.

  3. In the Command Prompt window, navigate to the following directory:

    %COMMONPROGRAMFILES%\Microsoft Shared\Web Server Extensions\12\bin

  4. Type the following command and press ENTER:

    STSADM.EXE -o preupgradecheck

    This command checks both the local server and your farm-level settings. For a list of other parameters you can use with this operation, see Preupgradecheck: Stsadm operation (Office SharePoint Server). For a list of rules included in the pre-upgrade checker, see Pre-upgrade scanning and reporting for future releases (Office SharePoint Server).

After you run the pre-upgrade checker, the report automatically opens in your default browser. You can also view the report by opening it from its location in the %COMMONPROGRAMFILES%\Microsoft Shared\Web Server Extensions\12\LOGS directory. The report is named in the following format: PreUpgradeCheck_YYYYMMDD-HHMMSS-SSS-random-number.htm, where YYYYMMDD is the date and HHMMSS-SSS is the time (hours in 24-hour clock format, minutes, seconds, and milliseconds), and the random number is used to differentiate between possible simultaneous attempts to run the pre-upgrade checker. There are also TXT and XML versions of the report in the same location.

Use the report to find and troubleshoot issues. You can also share the relevant results with other members of the upgrade team. For example, you can report issues such as customized site templates or custom Web Parts to the appropriate site owner, Web designer, or developer before scheduling the upgrade, to give them time to resolve the issues.

See Also

Other Resources

Downloadable book: Upgrading to SharePoint Server 2010
Resource Center: Upgrade and Migration for SharePoint Server 2010


Back up environment before an in-place upgrade (SharePoint Server 2010)
See Also

To ensure that you can recover the existing environment in case something goes wrong during the upgrade process, you must back up the Microsoft Office SharePoint Server 2007 environment before you run the upgrade process.

If you are running Office SharePoint Server 2007 in a Hyper-V virtual environment, see Using SharePoint Products and Technologies in a Hyper-V virtual environment (http://go.microsoft.com/fwlink/p/?LinkID=125834&clcid=0x409).

Back up the environment in SharePoint

You can do a full backup of the Office SharePoint Server 2007 environment. We recommend that you perform a full backup of the farm before upgrading.

To back up the Office SharePoint Server 2007 environment, use the procedures described in Back up a farm by using built-in tools (Office SharePoint Server 2007) (http://go.microsoft.com/fwlink/p/?LinkID=105986&clcid=0x409).

If you have deployed customizations, you must also back up the customizations. For more information, see Back up and restore customizations (Office SharePoint Server 2007) (http://go.microsoft.com/fwlink/p/?LinkId=186626).

Test the backups in SharePoint

You have to be sure that these backups are valid so that you can recover if there is a hardware failure or data corruption during the upgrade process. To test the backups, set up a non-production Office SharePoint Server 2007 farm, restore the backups and install any customizations (such as site definitions, Web Parts, and so on), and then verify that the restored backup is functional.

To do this, use the procedures described in Restore a farm by using built-in tools (Office SharePoint Server 2007) (http://go.microsoft.com/fwlink/p/?LinkID=105987&clcid=0x409).

See Also

Other Resources

Back up and restore a farm (Office SharePoint Server 2007)
Downloadable book: Upgrading to SharePoint Server 2010
Resource Center: Upgrade and Migration for SharePoint Server 2010


Perform an in-place upgrade (SharePoint Server 2010)
See Also

Now that you have learned about the upgrade process by reading the articles in About the upgrade process (SharePoint Server 2010), and planned for your upgrade by following the steps in the articles in Plan and prepare for upgrade (SharePoint Server 2010), you are ready to perform the in-place upgrade to Microsoft SharePoint Server 2010. You can use the steps in this section for both a trial upgrade and your actual in-place upgrade on your production farm.

In this section:

  • Checklist for in-place upgrade (SharePoint Server 2010)

    Use this checklist to make sure that you follow all necessary steps as you prepare for upgrade, perform the upgrade, and perform post-upgrade steps.

  • Upgrade in place to SharePoint Server 2010

    Get all the steps that you need to perform an in-place upgrade, from installing prerequisites to upgrading sites.

  • Roadmap: in-place upgrade with detached databases (SharePoint Server 2010)

    Understand the process for using the detach databases hybrid approach to upgrade. This approach combines an in-place upgrade with the efficiency and speed of upgrading multiple databases at the same time.

  • Install available language template packs (SharePoint Server 2010)

    Install any language packs that you need for your environment, after you run Setup and before you run the SharePoint Products Configuration Wizard.

See Also

Other Resources

Downloadable book: Upgrading to SharePoint Server 2010
Resource Center: Upgrade and Migration for SharePoint Server 2010


Checklist for in-place upgrade (SharePoint Server 2010)
See Also

This article contains a checklist you can use to make sure that you followed all necessary steps as you prepare for upgrade, perform the upgrade, and perform post-upgrade steps.

In this article:

  • Prepare for upgrade

  • Perform the upgrade

  • Perform post-upgrade steps

Some of the steps include notes about the amount of time the steps might take. These are rough estimates only, to give you a relative idea of the duration of the step. To find out how much time each step will take for your environment, we recommend that you perform trial upgrades in a test environment. For more information, see Estimate how long the upgrade process will take and the space that you need (SharePoint Server 2010) and Use a trial upgrade to find potential issues (SharePoint Server 2010).

Prepare for upgrade

Follow these steps in order before you begin an in-place upgrade:

Pre-upgrade steps for an in-place upgrade |  | Notes
[ ] | Run the pre-upgrade checker Run the pre-upgrade checker and address any issues. Use the report that is generated by the tool to fill out the Upgrade planning worksheet. Detailed steps: Run the pre-upgrade checker (SharePoint Server 2010). | Perform this step multiple times as you clean up your environment and test your upgrade process. Running the checker takes only a few minutes, but addressing any issues might take days or weeks.
[ ] | Clean up your environment Before you begin the upgrade, make sure that your environment functions in a healthy state and that you clean up any content that you do not have to keep. Remove or repair any orphaned sites or data, address any large lists or large access control lists (ACLs), remove extraneous document versions, and remove any unused templates, features, or Web Parts. Detailed steps: Clean up an environment before upgrade (SharePoint Server 2010). | Perform this step once for the whole environment. This process might take days or weeks to complete.
[ ] | Record settings for user profile synchronization Record the settings used for user profile synchronization in your previous environment in the upgrade worksheet. You will apply them to your new environment when you create and enable the User Profile Synchronization service. Record settings for connections, property mappings, and filters. | Perform this step once for the whole environment.
[ ] | Record blocked file types Blocked file types are not preserved during upgrade. Copy the list of blocked file types and save the list in the upgrade worksheet so you can reapply the settings after upgrade. | Perform this step once for the whole environment.
[ ] | Back up your environment Back up your entire environment to ensure that you can recover the existing environment in case something goes wrong during the upgrade process. Detailed steps: Back up environment before an in-place upgrade (SharePoint Server 2010). | Perform this step once for the whole environment. This step can take an hour, several hours, or longer, depending on your data set and your environment.

Perform the upgrade

Follow these steps in order during an in-place upgrade. Steps required for in-place upgrade with detached databases are also included.

Perform the in-place upgrade Notes

[ ]

Run the pre-upgrade checker

Run the pre-upgrade checker again to identify any new or remaining issues before you start the upgrade.

Detailed steps: Run the pre-upgrade checker (SharePoint Server 2010).

Running the checker takes only a few minutes, but addressing any issues might take longer.

[ ]

Install prerequisites on all servers

Before you can upgrade, you must run the prerequisite installer successfully on each Web server that has Office SharePoint Server 2007 installed.

Detailed steps: Install prerequisites in the "Upgrade in place to SharePoint Server 2010" article.

Perform this step on each Web server and application server in your environment.

[ ]

Detach databases (in-place upgrade with detached databases only)

If you are performing an in-place upgrade with detached databases, detach the databases before you run Setup.

Detailed steps: Roadmap: in-place upgrade with detached databases (SharePoint Server 2010).

Perform this step for each content database and Shared Services Provider (SSP) database in your environment.

[ ]

Disconnect users

If you are upgrading a server farm, disconnect all the users from the server farm by stopping the World Wide Web Publishing Service (W3SVC) on all Web servers.

Perform this step on each Web server in your environment.

[ ]

Run Setup on all servers

Run Setup on all servers to upgrade the software.

Detailed steps: Run Setup on all servers in the "Upgrade in place to SharePoint Server 2010" article.

Perform this step on each Web server and application server in your environment.

This step might take a few minutes or more than an hour, depending on how many servers are in your environment.

[ ]

Install language packs

Install any language packs you need before you run the SharePoint Products Configuration Wizard.

Detailed steps: Install available language template packs (SharePoint Server 2010).

Perform this step on each Web server in your environment.

This step should take only a few minutes per Web server.

[ ]

Run the SharePoint Products Configuration Wizard

If you are upgrading a server farm, first run the SharePoint Products Configuration Wizard on the server that is running SharePoint Central Administration, pause and run the wizard on the other servers in the farm, and then return to the first server to complete the wizard.

Important:

You must upgrade SharePoint Central Administration before you attempt to upgrade any other content in the farm. Completing the wizard on the server running SharePoint Central Administration allows you to do so.

Detailed steps: Run the SharePoint Products Configuration Wizard in the "Upgrade in place to SharePoint Server 2010" article.

Perform this step on each Web server and application server in your environment.

This step might take an hour or more.

[ ]

Configure forms-based authentication for a claims-based Web application (in-place upgrade with detached databases only)

For Web applications that were configured to use forms-based authentication or Web single sign-on (Web SSO) authentication, you must perform additional steps before you attach and upgrade the databases. First, you convert the Office SharePoint Server 2007 Web applications to claims authentication. After you convert the Web applications to claims authentication, you configure your Web application zones for forms-based authentication (or Web SSO authentication, as appropriate). Then, you can migrate users and permissions to SharePoint Server 2010.

Detailed steps: Configure forms-based authentication for a claims-based Web application (SharePoint Server 2010).

Perform this step now if you are following the in-place upgrade with detached databases approach. If you are following a standard in-place upgrade approach, perform this step after upgrade is completed.

Perform this step for any Web applications that used forms-based authentication in Office SharePoint Server 2007.

[ ]

Attach databases (in-place upgrade with detached databases only)

If you are performing an in-place upgrade with detached databases, attach the databases and then upgrade the data.

Detailed steps: Roadmap: in-place upgrade with detached databases (SharePoint Server 2010).

Perform this step for each content database and SSP database in your environment.

This step might take an hour, several hours, or days, depending on your data set, whether you are upgrading multiple databases in parallel, and the hardware on the Web servers, database servers, and storage subsystem.

[ ]

Monitor upgrade progress

Use the Upgrade Status page in SharePoint Central Administration to monitor progress as your sites are upgraded.

Detailed steps: Verify upgrade and review upgraded sites (SharePoint Server 2010).

Perform this step once for the whole environment.

This step might take an hour, several hours, or days, depending on your data set.

Perform post-upgrade steps

Perform the following steps in order after you perform an in-place upgrade.

Post-upgrade steps for an in-place upgrade Notes

[ ]

Configure forms-based authentication for a claims-based Web application

For Web applications that were configured to use forms-based authentication or Web single sign-on (Web SSO) authentication, you must perform additional steps after upgrading. First, you convert the Office SharePoint Server 2007 Web applications to claims authentication. After you convert the Web applications to claims authentication, you configure your Web application zones for forms-based authentication (or Web SSO authentication, as appropriate). Then, you can migrate users and permissions to SharePoint Server 2010.

Detailed steps: Configure forms-based authentication for a claims-based Web application (SharePoint Server 2010).

Perform this step for any Web applications that used forms-based authentication in Office SharePoint Server 2007.

[ ]

Configure new and upgraded services after in-place upgrade

Many new services are available in SharePoint Server 2010. You can enable these new services after you perform an in-place upgrade by using the Farm Configuration Wizard or by configuring them individually.

Perform this step once for your environment.

[ ]

Upgrade profile properties to taxonomy data and update the photo store for User Profile services

Data in profile properties in Microsoft Office SharePoint Server 2007 that had multiple values was stored in the SSP database as part of the Profile Services data. For SharePoint Server 2010, this data must be converted to taxonomy data and be stored in the managed metadata database. When you upgrade, any photos that were stored as profile pictures must be updated. If you do not update the photo store data, either no photos will be displayed or some photos might appear distorted. You perform these actions from the command line by using Windows PowerShell cmdlets.

Detailed steps: Upgrade profile properties to taxonomy data and update the photo store for Profile Services

Perform this step once for each User Profile service application in your environment.

This step contains a lot of smaller steps. Depending on the complexity of your user profile data and your configuration, this might take an hour or several hours to complete.

[ ]

Create and configure the Secure Store service application and migrate SSO data to the Secure Store service

The SSO service that was available in Office SharePoint Server 2007 has been replaced with the Secure Store service in SharePoint Server 2010. There is no direct upgrade path for the data and settings from SSO to the Secure Store service, but you can migrate data from the SSO database to a new Secure Store database. Excel Services Application needs the Secure Store service account to function correctly.

Detailed steps: Create and configure the Secure Store service application and migrate SSO data to the Secure Store service

Perform this step for each Secure Store service application that needs data from a previous SSO service.

[ ]

Upgrade solutions that depend on the Business Data Catalog

If your Business Data Catalog solution depended on the Web Parts that are provided by Office SharePoint Server 2007 and SharePoint Server 2010 by default (such as the Business Data List Web Part or the Business Data Actions Web Part), you must upgrade your solution to use the upgraded application definitions (called "BDC models") in the Business Data Connectivity service, because those Web Parts have been upgraded to use the new object model provided by the new service.

Detailed steps: Upgrading solutions that depend on the Business Data Catalog and Plan to upgrade to Business Connectivity Services (SharePoint Server 2010).

Perform this step once for your entire environment.

[ ]

Verify upgrade and review upgraded sites

Review sites to be sure that they have been upgraded successfully and are ready for users to view.

Detailed steps: Verify upgrade and review upgraded sites (SharePoint Server 2010).

Perform this step for every upgraded Web application and site collection in your environment.

This step might take an hour, several hours, or days, depending on your content.

You should also have site owners review their sites and report any issues.

[ ]

Start a full crawl

After all content is upgraded and all settings are configured, you can start a full search crawl of your content. This might take several hours or several days to complete, depending on how much content exists in your environment.

Perform this step once for your entire environment.

Performing a full crawl can take several hours or days to complete, depending on the amount of content in your environment.

See Also

Other Resources

Upgrade Worksheet for SharePoint 2010 Products
Downloadable book: Upgrading to SharePoint Server 2010
Resource Center: Upgrade and Migration for SharePoint Server 2010


Upgrade in place to SharePoint Server 2010
See Also

When you run an in-place upgrade from Microsoft Office SharePoint Server 2007 to Microsoft SharePoint Server 2010, the configuration data for the farm and all the content in the farm is upgraded on the existing hardware, in a fixed order. When you start the in-place upgrade process, Setup takes the Web server offline and the Web sites are unavailable until the upgrade is finished, and then Setup restarts the Web server. After you begin an in-place upgrade, you cannot pause the upgrade or roll back to the previous version.

Note:

One frequent cause of failures during upgrade is that the environment is missing customized features, solutions, or other elements. Be sure that any custom elements you have to have are installed on your front-end Web servers before you begin the upgrade process. You can use the pre-upgrade checker to identify any custom elements that your sites might be using. For more information, see Identify and install customizations in the article "Use a trial upgrade to find potential issues."

Important:

If you are running a stand-alone installation of SharePoint Server 2010, the User Profile Synchronization service is not available. If you need to synchronize user profiles with directory sources such as Active Directory, you must uninstall and reinstall in server farm mode.

You can also use many of the procedures in this article to perform a detach databases hybrid approach to upgrade, where you upgrade the server and infrastructure in place but upgrade the content databases by detaching and attaching them in parallel. For information about the detach databases process, see Roadmap: in-place upgrade with detached databases (SharePoint Server 2010). For more information about how to choose an upgrade approach, see Determine upgrade approach (SharePoint Server 2010) and Upgrade process overview (SharePoint Server 2010).

Important:

You must be running Service Pack 2 (SP2) of Office SharePoint Server 2007 in a 64-bit Windows Server 2008 environment to perform an in-place upgrade to SharePoint Server 2010. If you are in a server farm environment, you must also be running a 64-bit version of Microsoft SQL Server 2008 R2, SQL Server 2008 with Service Pack 1 (SP1) and Cumulative Update 2, or SQL Server 2005 with SP3 and Cumulative Update 3.

In this article:

  • Process overview

  • Before you begin

  • Install prerequisites

  • Run Setup on all servers

  • Run the SharePoint Products Configuration Wizard

  • Check upgrade status for sites

  • Verification

  • Additional steps

Process overview

By using the procedures in this article, you install SharePoint Server 2010 and upgrade all of the SharePoint sites in the environment. We recommend that you try out the upgrade process on a test environment before you attempt to upgrade your production environment. For more information, see Use a trial upgrade to find potential issues (SharePoint Server 2010).

When you upgrade a server farm, install and configure the new version to the servers in the following order:

  1. Install SharePoint Server 2010 on all servers in the server farm.

  2. Install any language packs for SharePoint Server 2010 that you need. For more information, see Install available language template packs (SharePoint Server 2010).

  3. Run the SharePoint Products Configuration Wizard on the front-end Web server that contains the SharePoint Central Administration Web site.

    To determine which server is running SharePoint Central Administration, open the Servers in Farm page (http://server_name:adminport/_admin/farmservers.aspx) and note which server or servers have Central Administration services running. Perform this step before you install SharePoint Server 2010, while SharePoint Central Administration for Office SharePoint Server 2007 is still available.

    Note:

    If you have multiple servers that are running SharePoint Central Administration, pick one and use that as the initial server on which to run upgrade. After you have completed the process on that one, you can continue with any other servers that are running SharePoint Central Administration.

  4. Run the SharePoint Products Configuration Wizard on the remaining front-end Web servers and application servers in the farm in any order.

For an overview and diagrams of the each upgrade approach, see Upgrade process overview (SharePoint Server 2010).

Note:

If you are using the detach databases hybrid approach for upgrading, the process you follow is similar, but you detach all content databases before you run Setup, and then attach them again after you run the SharePoint Products Configuration Wizard. For more information about the detach databases upgrade approach, see Roadmap: in-place upgrade with detached databases (SharePoint Server 2010).

Before you begin

Before you begin the in-place upgrade, review the following information about permissions, hardware requirements, and software requirements and steps to perform before beginning the process.

  • Make sure that you have run the pre-upgrade checker tool (stsadm -o preupgradecheck, available in Office SharePoint Server 2007 Service Pack 2 and updated in the October 2009 Cumulative Update) and addressed any issues before you begin the upgrade process. For more information, see Run the pre-upgrade checker (SharePoint Server 2010).

  • We recommend that you back up your environment before you begin the upgrade process. For more information, see Back up environment before an in-place upgrade (SharePoint Server 2010).

  • Ensure that you have met all hardware and software requirements. You must have a 64-bit version of Windows Server 2008 or Windows Server 2008 R2. For server farms, you must also have a 64-bit version of SQL Server 2005 or SQL Server 2008. For more information about these requirements (such as specific updates that you must install), see Determine hardware and software requirements (SharePoint Server 2010).

  • Ensure that you are prepared to set up the required accounts by using appropriate permissions. For detailed information, see Administrative and service accounts required for initial deployment (SharePoint Server 2010).

  • Ensure that the account that you use to run the SharePoint Products Configuration Wizard is a member of the db_owner fixed database role for all the databases that you want to upgrade.

Install prerequisites

Before you can upgrade, you must run the prerequisite installer successfully on each Web server that has Office SharePoint Server 2007 installed. A prerequisite installer is available to install software needed to support SharePoint Server 2010.

To run the prerequisite installer

  1. From the product disc, open the installation folder and run PrerequisiteInstaller.exe.

    The Microsoft SharePoint Products Preparation Tool opens.

  2. Click Next.

  3. On the License Terms page, select the I accept the terms of the License Agreement(s) check box, and then click Next.

    The tool runs, installing and configuring required software.

  4. Click Next.

  5. On the Installation Complete screen, verify that each prerequisite is listed as successfully installed or already installed.

  6. Click Finish to close the wizard.

Run Setup on all servers

After all of the prerequisites are installed, you can run Setup.exe on all Web servers in your server farm.

Note:

If you are using the detach databases hybrid approach for upgrading, you should detach your content databases before you run Setup. For more information about how to detach databases, see Roadmap: in-place upgrade with detached databases (SharePoint Server 2010).

Important:

If you are running an in-place upgrade on a server farm, disconnect all the users from the server farm by stopping the World Wide Web Publishing Service (W3SVC) on all front-end Web servers. If you allow users in a server farm to connect after the files and databases have been updated on one Web server, but before the other Web servers have been updated, users will not be able to browse the Web sites.

To install the new version

  1. Run Setup.exe.

  2. On the Enter your Product Key page, type your product key, and then click Continue.

  3. On the Read the Microsoft Software License Terms page, review the terms, select the I accept the terms of this agreement check box, and then click Continue.

  4. On the Upgrade earlier versions page, click Install Now.

  5. Setup runs and installs SharePoint Server 2010.

    On the completion page, clear the Run the SharePoint Products Configuration Wizard now check box, and then click Close.

Before you run the SharePoint Products Configuration Wizard, install any language template packs for SharePoint Server 2010. For more information, see Install available language template packs (SharePoint Server 2010).

Run the SharePoint Products Configuration Wizard

If you are upgrading a single server, you can run the SharePoint Products Configuration Wizard on only that server and start to upgrade content. If you are upgrading a server farm, first run the SharePoint Products Configuration Wizard on the server that is running SharePoint Central Administration, pause and run the wizard on the other servers in the farm, and then return to the first server to complete the wizard. It is important to upgrade SharePoint Central Administration before you attempt to upgrade any other content in the farm, and completing the wizard on the server that is running SharePoint Central Administration allows you to do so.

Important:

Ensure that the account you use to run the SharePoint Products Configuration Wizard is a member of the db_owner fixed database role for all the databases that you want to upgrade. If it is not, you might see an error about an unknown user account when the wizard starts to upgrade the databases.

Be sure that you have installed any language template packs before you run the SharePoint Products Configuration Wizard.

Caution:

After you run the SharePoint Products Configuration Wizard, Office SharePoint Server 2007 will no longer be available. You cannot pause or roll back the setup and upgrade process. Be sure that you have a current and valid backup of your environment before you proceed with installing SharePoint Server 2010.

To run the SharePoint Products Configuration Wizard

  1. Click Start, point to All Programs, point to Administrative Tools, and then click SharePoint Products Configuration Wizard.

  2. In the SharePoint Products Configuration Wizard, on the Welcome to SharePoint Products page, click Next.

    A message appears, notifying you that Internet Information Services (IIS), the SharePoint Administration Services v4, and the SharePoint Timer Service v4 may need to be restarted or reset during configuration.

  3. Click Yes to continue with the wizard.

  4. On the Specify Farm Settings page, in the Passphrase box, type a passphrase and in the Confirm passphrase box, type the same passphrase.

    The passphrase should consist of at least eight characters and should contain characters from at least three of the following four groups:

    • English uppercase characters (from A through Z)

    • English lowercase characters (from a through z)

    • Numerals (from 0 through 9)

    • Nonalphabetic characters (such as !, $, #, %)

  5. On the Visual Upgrade page, select one of the following options:

    • Change existing SharePoint sites to use the new user experience. Administrators control the user experience for end users.

      This option allows you to change all sites over to the new user experience without previewing that experience first. If you select this option, you can also choose between the following two options:

      • Preserve customized pages, but update template and application pages to use the new UI.

      • Reset all customized pages to their original templates. This option will delete modifications from customized pages and cannot be undone.

    • Preserve the look and feel of existing SharePoint sites, and allow end users to update their sites' user experience.

      This is the default option. This option allows the site owners to preview their sites in the new user experience and determine when they are ready to switch the sites over to the new user experience permanently.

  6. On the Completing the SharePoint Products Configuration Wizard page, verify the settings, and then click Next.

    The SharePoint Products Configuration Wizard runs and configures the configuration database and SharePoint Central Administration for SharePoint Server 2010.

  7. A message appears, notifying you that if you have a server farm with multiple servers, you must run Setup on each server to install new binary files before you continue the SharePoint Products Configuration Wizard.

    • If this is the only server in your farm, or if you have already run Setup on all the servers in your farm, click OK to continue with the wizard.

    • If you have not yet run Setup on all the servers in your farm, run Setup on the remaining servers now, and then return to this server and click OK to continue with the wizard.

    The SharePoint Products Configuration Wizard continues the upgrade process by setting up the configuration database and installing SharePoint Central Administration.

  8. On the Configuration Successful, Upgrade in Progress page, review the settings that have been configured, and then click Finish.

    The SharePoint Products Configuration Wizard closes and the Upgrade Status page opens. You might be prompted to enter your user name and password before the Upgrade Status page will open. The upgrade process might take awhile to complete, depending on how much data you have in your farm.

    Note:

    If you are following the detach databases hybrid approach for upgrade, you can now begin to attach content databases to upgrade them. For more information, see Roadmap: in-place upgrade with detached databases (SharePoint Server 2010).

  9. If you are upgrading a server farm, you can now complete the SharePoint Products Configuration Wizard on the other servers in the farm.

Check upgrade status for sites

After the SharePoint Products Configuration Wizard has finished, you can monitor the upgrade process for each site from the Upgrade Status page in SharePoint Central Administration or by using the localupgradestatus operation in Stsadm.exe. For more information, see Verify upgrade and review upgraded sites (SharePoint Server 2010).

After upgrade is completed successfully for all sites, if you stopped the World Wide Web Publishing Service (W3SVC) on all front-end Web servers before the upgrade, manually start the World Wide Web Publishing Service on the front-end Web servers to make the Web servers available to users.

Note:

Search results might be incomplete or might not be returned for a few minutes after upgrade. This is because the Search Synchronization Timer job must run after upgrade, and search results are not available until the job has finished.

Verification

If upgrade fails or reports issues, you can refer to the log and error files for more information. For more information about how to review the log files and how to restart upgrade after a failure, see Verify upgrade and review upgraded sites (SharePoint Server 2010). If you are using Visual Upgrade, for more information about previewing sites and changing to the new user interface, see Manage visual upgrade (SharePoint Server 2010).

Additional steps

After you have completed the upgrade, there are several steps that you should take to complete the configuration for your upgraded farm. For more information, see Perform post-upgrade steps for an in-place upgrade (SharePoint Server 2010).

See Also

Concepts

Troubleshoot upgrade issues (SharePoint Server 2010)

Other Resources

Downloadable book: Upgrading to SharePoint Server 2010
Resource Center: Upgrade and Migration for SharePoint Server 2010


Roadmap: in-place upgrade with detached databases (SharePoint Server 2010)
See Also

When you upgrade from Microsoft Office SharePoint Server 2007 to Microsoft SharePoint Server 2010, you can perform an in-place upgrade or a database attach upgrade, or you can combine certain aspects of both approaches to increase availability or throughput during the upgrade process. This article describes how to perform a hybrid approach that combines in-place upgrade with detaching and attaching databases so that you can upgrade multiple databases at the same time, possibly even on separate hardware. You can use this approach to upgrade two or more content databases at a time, and therefore upgrade more quickly than if you used a standard in-place upgrade (which upgrades individual content databases and site collections serially). This approach uses the following hybrid techniques:

  • Use an in-place upgrade to upgrade the farm and settings.

  • Detach and upgrade multiple databases in parallel.

  • Alternative upgrade sequence: Upgrade databases on a temporary small farm.

Note that if you decide to use a temporary small farm to perform the actual upgrade, you must have direct access to the database servers to copy the databases from. Copying databases over the network takes time and bandwidth — make sure you test this process to determine whether you have the resources you need to use a temporary small farm.

For more information about the pros and cons of the different upgrade approaches, see Determine upgrade approach (SharePoint Server 2010). For a brief overview and graphical description of the steps you take for each approach, see Upgrade process overview (SharePoint Server 2010).

Note:

One frequent cause of failures during upgrade is that the environment is missing customized features, solutions, or other elements. Be sure that any custom elements you need are installed on your front-end Web servers before you begin the upgrade process. You can use the pre-upgrade checker — and, for a database attach upgrade, the test-spcontentdatabaseWindows PowerShell cmdlet — to identify any custom elements that your sites might be using. For more information, see Identify and install customizations in the article "Use a trial upgrade to find potential issues."

In this article:

  • Process overview

  • Before you begin

  • To detach databases and upgrade them in parallel on the same farm

  • To detach databases and upgrade them in parallel on a temporary small farm

  • Verification

  • Additional steps

Important:

You must be running Service Pack 2 (SP2) of Office SharePoint Server 2007 in a 64-bit Windows Server 2008 environment to perform an in-place upgrade to SharePoint Server 2010. If you are in a server farm environment, you must also be running a 64-bit version of one of the following: Microsoft SQL Server 2008 R2, SQL Server 2008 with Service Pack 1 (SP1) and Cumulative Update 2, and SQL Server 2005 with SP3 and Cumulative Update 3.

Process overview

Because this upgrade approach is a hybrid of the techniques used for in-place upgrade and database attach upgrade, this article describes how the steps from each approach fit together into the hybrid process. It does not provide details for every step in the process, because those steps are available in the following articles:

  • Upgrade in place to SharePoint Server 2010

  • Attach databases and upgrade to SharePoint Server 2010

These articles, combined with this roadmap, give you the information you need to perform this hybrid upgrade.

There are two ways in which you can perform this type of hybrid upgrade: using one farm throughout or using a temporary small farm to perform the actual upgrade. The sections below provide the steps you need to take to perform the upgrade by using each of these methods.

Before you begin

Before you begin the in-place upgrade, review the following information about permissions, hardware requirements, and software requirements and steps to perform before beginning the process.

  • Be sure you have run the pre-upgrade checker tool (stsadm -o preupgradecheck, available in Office SharePoint Server 2007 Service Pack 2 and updated in the October 2009 Cumulative Update) and addressed any issues before you begin the upgrade process. For more information, see Run the pre-upgrade checker (SharePoint Server 2010).

  • We recommend that you back up your environment before you begin the upgrade process. For more information, see Back up environment before an in-place upgrade (SharePoint Server 2010).

  • Ensure that you have met all hardware and software requirements. You must have a 64-bit version of Windows Server 2008 or Windows Server 2008 R2. For server farms, you must also have a 64-bit version of SQL Server 2005 or SQL Server 2008. For more information about these requirements (such as specific updates that you must install), see Determine hardware and software requirements (SharePoint Server 2010).

  • Ensure that you are prepared to set up the required accounts by using appropriate permissions. For detailed information, see Administrative and service accounts required for initial deployment (SharePoint Server 2010).

To detach databases and upgrade them in parallel on the same farm

This section describes the steps to take to use the detach databases upgrade approach on a single farm.

Process for upgrading in-place with detached databases (same farm)

Detach databases

  1. Use the following operation to detach the content databases:

    Stsadm.exe -o deletecontentdb -url http://servername-databasename ContentDatabaseName

    For more information about this operation, see Deletecontentdb: Stsadm operation (Office SharePoint Server).

Upgrade the farm in place

  1. Install all prerequisites to all servers in the farm.

  2. Run Setup on all servers in the farm.

  3. Run the SharePoint Products Configuration Wizard on all servers in the farm.

For detailed procedures that describe these steps, see Upgrade in place to SharePoint Server 2010.

Attach the databases and upgrade the content

  1. Add the content databases to the Web applications.

    Use the following Windows PowerShell cmdlet to add and upgrade the content databases:

    Copy Code
    Mount-SPContentDatabase -Name <DatabaseName> -DatabaseServer <ServerName> -WebApplication <URL> [-Updateuserexperience]

  2. Verify upgrade for the first database.

  3. Repeat the restore-and-add-database procedures for remaining databases in parallel.

For detailed procedures that describe these steps, see Perform a database attach upgrade to SharePoint Server 2010.

To detach databases and upgrade them in parallel on a temporary small farm

This section describes the steps to take to use the detach databases upgrade approach on two farms: the original farm and a temporary small farm.

Process for upgrading in-place with detached databases (temporary small farm)

Set up a temporary small farm to use in upgrading the databases

For detailed procedures that describe these steps, see Prepare the new SharePoint Server 2010 environment for a database attach upgrade.

2 - Detach databases from the original farm

  1. Back up the previous version databases by using SQL Server tools.

    For detailed procedures about backing up the databases, see Perform a database attach upgrade to SharePoint Server 2010.

  2. Use the following operation to detach the content databases:

    Stsadm.exe -o deletecontentdb -url http://servername-databasename ContentDatabaseName

    For more information about this operation, see Deletecontentdb: Stsadm operation (Office SharePoint Server).

Upgrade the original farm in place

  1. Install all prerequisites to all servers in the farm.

  2. Run Setup on all servers in the farm.

  3. Run the SharePoint Products Configuration Wizard on all servers in the farm.

For detailed procedures that describe these steps, see Perform an in-place upgrade (SharePoint Server 2010).

Attach the databases to the temporary small farm and upgrade the content

  1. Restore the backup copy to the new farm.

  2. Add the content databases to the Web applications.

    Use the following Windows PowerShell cmdlet to add and upgrade the content databases:

    Copy Code
    Mount-SPContentDatabase -Name <DatabaseName> -DatabaseServer <ServerName> -WebApplication <URL> [-Updateuserexperience]

  3. Verify upgrade for the first database.

  4. Repeat the restore-and-add-database procedures for remaining databases in parallel.

For detailed procedures that describe these steps, see Perform a database attach upgrade to SharePoint Server 2010.

Back up the databases from the temporary small farm and attach them to the original farm

  1. Back up the upgraded databases by using SQL Server tools.

  2. Restore the backup copy to the original farm.

  3. Add the upgraded content databases to the original Web applications.

This is basically the same process as the previous step; however, you are moving the databases from the temporary small farm back to the original farm. The same procedures apply as in the previous steps.

Verification

If upgrade fails or reports issues, you can refer to the log and error files for more information. For more information about reviewing the log files, and about restarting upgrade after a failure, see Verify upgrade and review upgraded sites (SharePoint Server 2010).

Additional steps

After you have completed the upgrade, there are several steps that you should take to complete the configuration for your new farm. For more information, see Perform post-upgrade steps for an in-place upgrade (SharePoint Server 2010).

See Also

Other Resources

Downloadable book: Upgrading to SharePoint Server 2010
Resource Center: Upgrade and Migration for SharePoint Server 2010


Install available language template packs (SharePoint Server 2010)
See Also

Before you can upgrade any sites that are based on a language pack for the previous version, you have to install the language pack for the new version.

In this article:

  • About installing language packs and upgrading sites

  • About changing languages

  • Moving from a fully localized product to a language pack

  • Changing languages to a new language pack

About installing language packs and upgrading sites

If you want to install a language pack for Microsoft SharePoint Server 2010, do so after running Setup and before running the SharePoint Products Configuration Wizard. This way, you can upgrade any sites based on a language pack for a previous version along with the other sites during the upgrade process. For more information about installing language packs, see Deploy language packs (SharePoint Server 2010) in the Deployment Guide.

You can also install a language pack after you have run the SharePoint Products Configuration Wizard, and after you have upgraded the sites in your environment that are not based on a language pack. If you choose this option, you must then use the PSConfig command-line tool to upgrade the sites based on the newly installed language pack.

About changing languages

Generally, a cross-language upgrade is not supported. You must upgrade from and to the same language. For example, if you are running U.S. English in the previous version, you need to upgrade to U.S. English in the new version. If you want to change languages, you must first perform the upgrade and then change the language for the site.

However, this process is complicated in some cases — for example, when the previous version had a fully localized product for a particular language but the new version only has a language pack, or when the new version has a language pack for a new language that was not available in the previous version.

Moving from a fully localized product to a language pack

Use the following procedure on each Web server to upgrade from a language that was supported with a fully localized product in the previous version, but that is only supported by a language pack in the new version:

To move from a fully localized product to a language pack

  1. Verify that the user account that is performing this procedure is a member of the Farm Administrators SharePoint group.

  2. Choose a language to install for the new version (for example, English). This is the language that the SharePoint Central Administration Web site will use.

  3. In the SharePoint Products Configuration Wizard, when you are prompted to install language packs, stop the wizard and install the appropriate language pack.

    If you had additional previous-version language packs installed, install the corresponding SharePoint Server 2010 language packs now by canceling the wizard, and then running the appropriate Setup programs to install the language packs.

    Note:

    You must be a member of the Administrators group on the local computer to perform this step.

    For more information about installing language packs, see Deploy language packs (SharePoint Server 2010) in the Deployment Guide.

  4. Start the configuration wizard again to complete the upgrade process.

Changing languages to a new language pack

Use the following process to upgrade from a language in the previous version to a different language in the new version (for example, if the language you want was not available in the previous version, but is now available as a language pack in the new version).

To change languages to a new language pack

  1. Verify that the user account performing the next two steps is a member of the Administrators group on the local computer.

  2. Upgrade to the new version in the same language that you used for the previous version.

  3. After the upgrade is complete, install the new language pack.

  4. Verify that the user account performing the next two steps is a member of the Farm Administrators SharePoint group.

  5. Create new sites based on the new language pack.

  6. Manually move your content to the new sites.

See Also

Concepts

Deploy language packs (SharePoint Server 2010)

Other Resources

Downloadable book: Upgrading to SharePoint Server 2010
Resource Center: Upgrade and Migration for SharePoint Server 2010


Perform a database attach upgrade to SharePoint Server 2010
See Also

Now that you have learned about the upgrade process by reading the articles in About the upgrade process (SharePoint Server 2010), and planned for your upgrade by following the steps in the articles in Plan and prepare for upgrade (SharePoint Server 2010), you are ready to perform a database attach upgrade to Microsoft SharePoint Server 2010. You can follow the steps in this section for both a trial upgrade and your actual upgrade on your production farm.

In this section:

  • Checklist for database attach upgrade (SharePoint Server 2010)

    Use this checklist to make sure that you follow all necessary steps as you prepare for upgrade, perform the upgrade, and perform post-upgrade steps.

  • Prepare the new SharePoint Server 2010 environment for a database attach upgrade

    Before you can attach and upgrade your databases, you must fully configure your new environment.

  • Attach databases and upgrade to SharePoint Server 2010

    After your new environment is fully configured, follow these steps to attach the databases and upgrade your SharePoint sites.

  • Database attach upgrade videos (SharePoint Server 2010)

    These videos demonstrate how to use a database attach upgrade method with read-only databases to upgrade from Microsoft Office SharePoint Server 2007 to Microsoft SharePoint Server 2010.

See Also

Other Resources

Downloadable book: Upgrading to SharePoint Server 2010
Resource Center: Upgrade and Migration for SharePoint Server 2010


Checklist for database attach upgrade (SharePoint Server 2010)
See Also

This article contains a checklist you can use to make sure that you followed all necessary steps as you prepare for upgrade, perform the upgrade, and perform post-upgrade steps.

In this article:

  • Prepare for upgrade

  • Perform the upgrade

  • Perform post-upgrade steps

Some of the steps include notes about the amount of time the steps might take. These are rough estimates only, to give you a relative idea of the duration of the step. To find out how much time each step will take for your environment, we recommend that you perform trial upgrades in a test environment. For more information, see Estimate how long the upgrade process will take and the space that you need (SharePoint Server 2010) and Use a trial upgrade to find potential issues (SharePoint Server 2010).

Prepare for upgrade

Follow these steps in order before you begin a database attach upgrade:

Pre-upgrade steps for a database attach upgrade Notes

Prepare for upgrade

[ ]

Run the pre-upgrade checker

Run the pre-upgrade checker and address any issues. Use the report that is generated by the tool to fill out the Upgrade planning worksheet.

Detailed steps: Run the pre-upgrade checker (SharePoint Server 2010).

Perform this step multiple times as you clean up your environment and test your upgrade process.

Running the checker takes only a few minutes, but addressing any issues might take days or weeks.

[ ]

Create an inventory of server-side customizations in the environment

Create an inventory of the server-side customizations in your environment (solutions, features, Web Parts, event handlers, master pages, page layouts, CSS files, and so on). Much of this information is reported when you run the pre-upgrade checker. Record all customizations needed for your environment in the upgrade worksheet.

Detailed steps: Identify and install customizations in the "Use a trial upgrade to find potential issues" article.

Perform this step for the whole environment. Check each Web server to make sure that you don't miss any customizations. Keep the inventory up to date as you prepare for the upgrade.

[ ]

Clean up your environment

Before you begin upgrading, you should make sure that your environment is functioning in a healthy state and that you clean up any content that you do not have to upgrade. Clean up any orphaned sites or data, address any large lists and large ACLs, remove extraneous document versions, and remove any unused templates, features and Web Parts.

Detailed steps: Clean up an environment before upgrade (SharePoint Server 2010).

Perform this step once for the whole environment.

This process might take days or weeks to complete.

Prepare the new environment

Also see Prepare the new SharePoint Server 2010 environment for a database attach upgrade.

[ ]

Install and configure SharePoint Server 2010 and any language packs

Install the prerequisite software, and then install and configure SharePoint Server 2010.

Perform these steps on each server in your farm.

This step might take one or more hours, depending on how many servers are in your environment.

[ ]

Configure service applications

Enable and configure the services you need in your new environment. Do not configure the User Profile service application yet. You will enable and configure the User Profile service application when you upgrade the Shared Services Provider (SSP) database.

Perform this step once for the whole environment.

[ ]

Configure general farm settings

Reapply any general farm settings that you must have from your previous farm — such as blocked file types and e-mail and quota settings — and add users or groups to the Farm Administrators group. Configure new settings such as usage and health data collection, diagnostic logging, and mobile accounts.

Important:

If you had disabled the Workflow Auto Cleanup timer job in your Office SharePoint Server 2007 environment, make sure that you disable this timer job in your new environment also. If this timer job is enabled in the new environment and disabled in the previous version environment, you might lose workflow associations when you upgrade. For more information about this timer job, see Disable preservation of workflow history (SharePoint Server 2010).

Perform this step once for the whole environment.

[ ]

Create and configure Web applications

Create a Web application for each Web application that existed in the old environment.

Perform this step once for the whole environment.

[ ]

Reapply server-side customizations

Manually transfer all server-side customizations into your new farm. Refer to the inventory you created in the upgrade worksheet to make sure that you install any components that your sites depend on to work correctly.

Make sure that you reapply customizations to all Web servers in the farm.

[ ]

Verify the new environment

After you set up the new environment, you can perform tests to make sure it contains all the components you have to have before you upgrade your data.

Perform this step once for the whole environment.

Perform the upgrade

Follow these steps in order during a database attach upgrade. Steps required for database attach with read-only databases are also included.

Detailed steps: Attach databases and upgrade to SharePoint Server 2010.

Perform the database attach upgrade |  | Notes
[ ] | Run the pre-upgrade checker Run the pre-upgrade checker again to identify any new or remaining issues before you set the databases to read-only or back up the databases. Detailed steps: Run the pre-upgrade checker (SharePoint Server 2010). | Running the checker takes only a few minutes, but addressing any issues might take longer.
[ ] | Set the previous version databases to be read-only (database attach with read-only databases) If you want your original environment to remain available to users in a read-only state, set the databases to read-only before you back them up. | Perform this step for each content database in your environment. Depending on your organization, you might need a database administrator to perform this task.
[ ] | Back up databases Back up all of your content and SSP databases before you begin the database attach upgrade process. | Perform this step for each content database and SSP database in your environment. This step can take an hour, several hours, or longer, depending on your data set and your environment. Depending on your organization, you might need a database administrator to perform this task.
[ ] | Detach the previous version databases (standard database attach) If you are going to upgrade the original databases (rather than a backup copy), detach the original databases from the instance of Microsoft SQL Server so that you can move them to the new environment. | Perform this step for each content database and SSP database in your environment. Depending on your organization, you might need a database administrator to perform this task.
[ ] | Restore a backup copy of the database (database attach with read-only databases) If you are going to upgrade a copy of the databases, restore the databases from the backup. | Perform this step for each content database and SSP database in your environment. This step can take an hour or longer, depending on your data set and your environment. Depending on your organization, you might need a database administrator to perform this task.
[ ] | Set the restored databases to be read-write (database attach with read-only databases) Before you can attach and upgrade the databases you copied to the new environment, they must be set to read-write. | Perform this step for each content database in your environment. Depending on your organization, you might need a database administrator to perform this task.
[ ] | Verify custom components Use the Test-SPContentDatabaseWindows PowerShell cmdlet to verify that you have all the custom components that you need for that database. | Perform this step for each content database in your environment. Running the cmdlet takes only a few minutes, but addressing any issues might take longer.
[ ] | Verify permissions Ensure that the account that you use to attach the databases is a member of the db_owner fixed database role for the content databases that you want to upgrade. |
[ ] | Attach a content database to a Web application Attach the first content database that you want to upgrade. You must perform this action from the command line. You can use the Mount-SPContentDatabaseWindows PowerShell cmdlet or the AddContentDB Stsadm operation. | Perform this step for one content database in your environment. This step might take an hour, several hours, or longer, depending on your data set and hardware on the Web servers, database servers, and storage subsystem.
[ ] | Verify upgrade for the first database Verify that upgrade succeeded for the first database, and review the site to see if there are any issues. Detailed steps: Verify upgrade and review upgraded sites (SharePoint Server 2010). | Perform this step for the content database you just attached.
[ ] | Upgrade the SSP database and configure user profiles Before you upgrade any My Sites, you need to upgrade the SSP database and configure the User Profile service application. | Perform this step for each SSP that you had in your original environment. This step might take an hour or more to complete, depending on your data set and hardware on the Web servers, database servers, and storage subsystem.
[ ] | Upgrade My Sites Configure the My Site host URL and upgrade the My Sites. | Perform this step for each content database that contains My Sites in your environment. This step might take an hour, several hours, or longer, depending on your data set, whether you are upgrading multiple databases in parallel, and the hardware on the Web servers, database servers, and storage subsystem.
[ ] | Attach remaining databases Attach and upgrade the remaining content databases in your environment. You must perform this action from the command line. | Perform this step for each of the remaining content databases in your environment. This step might take an hour, several hours, or longer, depending on your data set, whether you are upgrading multiple databases in parallel, and the hardware on the Web servers, database servers, and storage subsystem.
[ ] | Monitor upgrade progress Use the Upgrade Status page in SharePoint Central Administration to monitor progress as your sites are upgraded. Detailed steps: Verify upgrade and review upgraded sites (SharePoint Server 2010). | Perform this step for each content database that you upgrade. This step might take an hour, several hours, or days, depending on your data set.
[ ] | Verify upgrade for the remaining database Verify that upgrade succeeded for the remaining databases, and review the sites to see if there are any issues. Detailed steps: Verify upgrade and review upgraded sites (SharePoint Server 2010). | Perform this step for each of the remaining content databases in your environment. This step might take an hour, several hours, or days, depending on your content.

Perform post-upgrade steps

Follow these steps in order after you perform a database attach upgrade.

Post upgrade steps for database attach upgrade Notes

[ ]

Reapply administrator permissions for services

By default, farm administrators have permissions to all services when you perform a database attach upgrade. If you want to apply more restrictive permissions, do so now.

Perform this step for any services that require restricted permissions.

[ ]

Upgrade profile properties to taxonomy data and update the photo store for User Profile services

Data in profile properties in Microsoft Office SharePoint Server 2007 that had multiple values was stored in the SSP database as part of the Profile Services data. For SharePoint Server 2010, this data must be converted to taxonomy data and be stored in the managed metadata database. When you upgrade, any photos that were stored as profile pictures must be updated. If you do not update the photo store data, either no photos will be displayed or some photos might appear distorted. You perform these actions from the command line by using Windows PowerShell cmdlets.

Detailed steps: Upgrade profile properties to taxonomy data and update the photo store for Profile Services

Perform this step once for each User Profile service application in your environment.

This step contains a lot of smaller steps. Depending on the complexity of your user profile data and your configuration, this might take an hour or several hours to complete.

[ ]

Create and configure the Secure Store service application and migrate SSO data to the Secure Store service

The SSO service that was available in Office SharePoint Server 2007 has been replaced with the Secure Store service in SharePoint Server 2010. There is no direct upgrade path for the data and settings from SSO to the Secure Store service, but you can migrate data from the SSO database to a new Secure Store database. Excel Services Application needs the Secure Store service account to function correctly.

Detailed steps: Create and configure the Secure Store service application and migrate SSO data to the Secure Store service

Perform this step for each Secure Store service application that needs data from a previous SSO service.

[ ]

Upgrade solutions that depend on the Business Data Catalog

If you used the database attach method to upgrade and you want to continue to use the external data that is accessed through one or more application definitions, you perform several additional tasks.

Detailed steps: Upgrading solutions that depend on the Business Data Catalog

Perform this step once for your entire environment.

[ ]

Update links that are used in any upgraded InfoPath form templates

For a database attach upgrade, you exported and imported any InfoPath form templates in your environment when you created the new environment. After upgrade, you can now update the links that are used in those upgraded form templates to point to the correct URLs by using a Windows PowerShell cmdlet.

Detailed steps: Update links that are used in any upgraded InfoPath form templates

Perform this step once for your entire environment.

[ ]

Verify upgrade and review upgraded sites

Review sites to be sure that they have been upgraded successfully and are ready for users to view.

Detailed steps: Verify upgrade and review upgraded sites (SharePoint Server 2010).

Perform this step for every upgraded database and site collection in your environment.

This step might take an hour, several hours, or days, depending on your content.

You should also have site owners review their sites and report any issues.

[ ]

Start a full crawl

After all content is upgraded and all settings are configured, you can start a full search crawl of your content. This might take several hours or several days to complete, depending on how much content exists in your environment.

Perform this step once for your entire environment.

Performing a full crawl can take several hours or days to complete, depending on the amount of content in your environment.

See Also

Other Resources

Upgrade Worksheet for SharePoint 2010 Products


Prepare the new SharePoint Server 2010 environment for a database attach upgrade
See Also

When you upgrade from Microsoft Office SharePoint Server 2007 to Microsoft SharePoint Server 2010 by using the database attach approach, you upgrade only the content for your environment and not the configuration settings. Using a database attach upgrade is useful when you are changing hardware or want to reconfigure your server farm topology as part of the upgrade process. For more information about how to choose an upgrade approach, see Determine upgrade approach (SharePoint Server 2010).

Before you can upgrade the data, you must configure a new server or server farm by using SharePoint Server 2010. This article explains the elements you need to configure to create that new environment. For more information about the general process of upgrading by using the database attach upgrade approach, see Upgrade process overview (SharePoint Server 2010).

Important:

To perform the steps in this article, you must have administrator rights on the local server computer. For more information, see Initial deployment administrative and service accounts (SharePoint Server 2010).

In this article:

  • Before you begin

  • Create and configure the new environment

  • Verify the new environment

  • Perform the upgrade

Before you begin

Before you begin to create the new environment for a database attach upgrade, review the following information about permissions, hardware requirements, and software requirements.

  • Ensure that you have met all hardware and software requirements. You must have a 64-bit version of Windows Server 2008 or Windows Server 2008 R2. For server farms, you must also have a 64-bit version of SQL Server 2005 or SQL Server 2008. For more information about these requirements (such as specific updates that you must install), see Determine hardware and software requirements (SharePoint Server 2010).

  • Ensure that you are prepared to set up the required accounts by using appropriate permissions. For detailed information, see Administrative and service accounts required for initial deployment (SharePoint Server 2010).

  • Run the pre-upgrade checker on your original environment. The pre-upgrade checker identifies potential upgrade issues in your environment so that you can address them before you upgrade. It can also help you identify settings that you need in your new environment. For more information, see Run the pre-upgrade checker (SharePoint Server 2010).

Create and configure the new environment

The process of creating and configuring the new environment contains several steps, which must be performed in the correct sequence. These steps are:

  1. Install SharePoint Server 2010 on the server or servers.

  2. Configure service applications.

  3. Configure general farm settings.

  4. Create and configure Web applications.

  5. Reapply customizations.

The remainder of this section describes these steps and provides links to other articles that contain step-by-step instructions for performing them. After you have performed these steps, you can verify the environment and then perform the upgrade.

Install

The first step in creating your new environment is to install SharePoint Server 2010 and configure your new server or server farm. You must do the following:

  1. Run the Microsoft SharePoint Products Preparation Tool to install all required software.

  2. Run Setup to install the product.

  3. Install any language packs that you need in your environment.

  4. Run the SharePoint Products Configuration Wizard to configure your server or servers.

The following articles provide step-by-step instructions for performing these tasks.

  • Install and configure the product

    Follow the steps in one of the following articles to install and configure SharePoint Server 2010 on a single server or server farm:

    • Deploy a single server with SQL Server (SharePoint Server 2010)

    • Multiple servers for a three-tier farm (SharePoint Server 2010)

    For more deployment scenarios (such as installing in a stand-alone environment with SQL Express), see Deployment scenarios (SharePoint Server 2010).

  • Install and configure language packs

    Follow the steps in Deploy language packs (SharePoint Server 2010) to install and configure any language packs that are needed for the sites in your environment.

Configure service applications

You must create the services settings on your new farm before you upgrade the data in a database attach upgrade. The steps included in the deployment scenarios articles listed above describe how to use the Initial Farm Configuration Wizard to enable all services. After running the wizard, you must transfer any custom settings from your original environment to your new environment and configure any additional services and settings you need.

Use the Initial Farm Configuration Wizard to enable the following service applications:

  • Business Data Connectivity service

    Data from the Business Data Catalog service is not upgraded to the Business Data Connectivity service when you perform a database attach upgrade. If you want to continue to use the external data that is accessed through one or more application definitions, you must complete the following tasks:

    • In your original environment, export any application definitions (models) that are required by your solution from the Office SharePoint Server 2007 Business Data Catalog. For more information, see Export application definition.

    • Update the solution to use the object model and features of the Microsoft Business Connectivity Services. This includes updating the application definition file to be compatible with Microsoft Business Connectivity Services. For information about the Business Data Connectivity service object model, see Microsoft SharePoint 2010 Software Development Kit (http://go.microsoft.com/fwlink/p/?LinkId=166117).

    • In your new environment, configure the Business Data Connectivity service application.

    • After upgrade, import the updated model into the Business Data Connectivity service. For more information, see Manage BDC models (SharePoint Server 2010).

  • Excel Services Application

    You must reconfigure this service application when you perform a database attach upgrade. Make sure that you re-create any trusted data connections. For more information, see Excel Services administration (SharePoint Server 2010).

  • Managed Metadata service

    This is a new service in SharePoint Server 2010. Before you can upgrade user profile data in a database attach upgrade, you must enable and configure this service application. For more information, see Create, update, publish, or delete a managed metadata service application (SharePoint Server 2010).

  • Search service application

    Search settings are not preserved during a database attach upgrade. You must manually reconfigure Search before you upgrade. For more information about how to configure Search, see Configure enterprise search (SharePoint Server 2010).

  • Secure Store service

    You need to enable and configure this service application so that you can upgrade Excel Services Application and Business Data Catalog data. For more information, see Create and configure the Secure Store service application and migrate SSO data to the Secure Store service in the article Perform post-upgrade steps for a database attach upgrade (SharePoint Server 2010).

Important:

Do not enable and configure the User Profile service application by using the Initial Farm Configuration Wizard. Although you must have configured this service application and the User Profile Synchronization service before you upgrade the SSP database, specific steps are required to configure these services. The steps required to configure these services and upgrade the SSP database are included in the Upgrade the shared services database section of the article "Attach databases and upgrade to SharePoint Server 2010."

You must also enable and configure the following service:

  • InfoPath Forms Service

    Configure InfoPath Forms Services by using the Configure InfoPath Forms Services link on the General Application Settings page in SharePoint Central Administration. Export any administrator-deployed form templates (.xsn files) and data connection files (.udcx files) from your Office SharePoint Server 2007 environment, and then import them to your new SharePoint Server 2010 environment. For more information, see Configure InfoPath Forms Services (SharePoint Server 2010)and Plan to upgrade form templates during an upgrade to SharePoint Server 2010.

Configure general farm settings

The next step in creating the new environment is to apply general farm settings. You must manually reapply configuration settings from your previous version farm, including the following:

  • Incoming and outgoing e-mail settings

  • Any farm-level security and permission settings, such as adding user or group accounts to the Farm Administrators group.

  • Blocked file types

  • Quota templates

And you must configure any new farm-level settings that you want to use, such as the following:

  • Usage and health data collection

  • Diagnostic logging

  • Mobile accounts

For more information about how to configure these settings, see Configure farm settings (SharePoint Server 2010).

Important:

If you had disabled the Workflow Auto Cleanup timer job in your Office SharePoint Server 2007 environment, make sure that you disable this timer job in your new environment also. If this timer job is enabled in the new environment and disabled in the previous version environment, you might lose workflow associations when you upgrade. For more information about this timer job, see Disable preservation of workflow history (SharePoint Server 2010).

Create and configure Web applications

Create a Web application for each Web application that existed in the original environment. For each Web application, do the following:

  • Use the same URL and configure any alternate-access mapping settings.

    Note:

    If you use a different URL, Microsoft Office applications might not be redirected correctly to the new URLs and any bookmarks to the old URLs will not work.

  • Use the same authentication method.

    Important:

    If you were using forms-based authentication, you will need to configure claims-based authentication instead. You must also create a Web application policy to grant Full Control to the user account that will be performing the database attach upgrade.

    For more information, see Configure forms-based authentication for a claims-based Web application (SharePoint Server 2010).

  • Re-create included paths (such as /Sites).

  • Enable self-service site creation for any Web application that used it in the previous environment.

For more information about how to configure Web applications and authentication, see the following articles:

  • For classic authentication: Create a Web application (SharePoint Server 2010)

  • For claims-based authentication: Create claims-based web applications in SharePoint 2010 and Configure forms-based authentication for a claims-based Web application (SharePoint Server 2010)

Reapply customizations

One frequent cause of failures during upgrade is that the environment is missing customized features, solutions, or other elements. Make sure that any custom elements you have to have are installed on your front-end Web servers before you begin the upgrade process. You can use the pre-upgrade checker to compile a list of server-side customizations in your environment. For more information, see Identify and install customizations in the article "Use a trial upgrade to find potential issues."

In this step, you manually transfer all customizations into your new farm. Make sure to install any components that your sites depend on to work correctly, including the following:

  • Custom site definitions

    Note:

    If the site definition was created in Office SharePoint Server 2007, you can copy it over to the new environment as-is. If, however, it was created in Microsoft Office SharePoint Portal Server 2003, you might have to create an upgrade definition file to map the site definition to the new features in Office SharePoint Server 2007. For more information, see Develop new custom site definitions and create upgrade definition files (Office SharePoint Server) and Deploy upgrade definition files and new site definitions (Office SharePoint Server).

  • Custom style sheets, including cascading style sheets, and images

  • Custom Web Parts

  • Custom Web services

  • Custom features and solutions

  • Custom assemblies

  • Web.config changes (such as security)

    Ensure that you transfer any unique settings from the Web.config files for each Web application to the new servers.

  • Administrator-approved form templates (.xsn files) and data connection files (.udcx files) for InfoPath

    You must export form templates and data connection files from the original environment and then import them to the new environment. For more information, see Plan to upgrade form templates during an upgrade to SharePoint Server 2010 and Perform post-upgrade steps for a database attach upgrade (SharePoint Server 2010).

  • Any other components or files on which your sites depend.

For more information about how to update customizations for use in SharePoint Server 2010, see: Redeploying Customizations and Solutions in SharePoint Foundation 2010 and SharePoint Server 2010. For more information about how to deploy customizations to your environment, see Deploy customizations - overview (SharePoint Server 2010).

Verify the new environment

After you have set up the new environment, you can perform tests to make sure it contains all the components you need before you upgrade your data. To test your new environment, you can use the following methods:

  • Create a new Web application and then use the Windows PowerShellTest-SPContentDatabase cmdlet to verify that all the server-side customizations that are needed for that content database are present in the new environment. Do not attach or upgrade the database. For more information, see Test-SPContentDatabase.

    Note:

    You can also run this command on the original content database, but the database should not be in active use at the time.

  • Use the enumallwebs Stsadm operation in your Office SharePoint Server 2007 environment to see which template each site is associated with and then verify whether the template is installed in your SharePoint Server 2010 environment. The October Cumulative Update includes improvements to the enumallwebs operation that can help you find customizations in use. For more information about this operation, see Enumallwebs: Stsadm operation (Office SharePoint Server).

Perform the upgrade

After you finish preparing the new environment, you can attach and upgrade the databases.

Follow the steps in Attach databases and upgrade to SharePoint Server 2010 to attach and upgrade the databases from the Office SharePoint Server 2007 server or server farm to the new SharePoint Server 2010 server or server farm.

See Also

Other Resources

Downloadable book: Upgrading to SharePoint Server 2010
Resource Center: Upgrade and Migration for SharePoint Server 2010


Attach databases and upgrade to SharePoint Server 2010
See Also

When you upgrade from Microsoft Office SharePoint Server 2007 to Microsoft SharePoint Server 2010 by using the database attach upgrade approach, you upgrade only the content for your environment and not the configuration settings. Using a database attach upgrade approach is useful when you are changing hardware or want to reconfigure your server farm topology as part of the upgrade process. For more information about how to choose an upgrade approach, see Determine upgrade approach (SharePoint Server 2010).

The first step in the process is to set up a new environment to host the upgraded content. If you have not yet set up and configured the new environment, follow the steps in Prepare the new SharePoint Server 2010 environment for a database attach upgrade to do so. You must create a Web application in the new environment for every Web application in the old environment, copy any server-side customizations, configure services, and apply any farm settings to the new environment.

After you set up the new environment, you can use the procedures in this article to detach and then reconnect the databases to perform the actual upgrade. This article contains the steps required to perform a standard database attach upgrade and a database attach upgrade with read-only databases.

In this article:

  • Process overview

  • Before you begin

  • Set the previous version databases to be read-only (database attach with read-only databases)

  • Back up the previous version databases by using SQL Server tools

  • Detach the previous version databases (standard database attach)

  • Restore a backup copy of the database (database attach with read-only databases)

  • Set the databases to read-write (database attach with read-only databases)

  • Verify custom components

  • Attach a content database to a Web application

  • Verification: Verify upgrade for the first database

  • Upgrade the shared services database

  • Upgrade My Sites

  • Attach the remaining databases

  • Verification: Verify upgrade for additional databases

Note:

One frequent cause of failures during upgrade is that the environment is missing customized features, solutions, or other elements. Be sure that any custom elements you have to have are installed on your front-end Web servers before you begin the upgrade process. Use the pre-upgrade checker — and, for a database attach upgrade, also use the test-spcontentdatabaseWindows PowerShell cmdlet — to identify any custom elements that your sites might be using. For more information, see Identify and install customizations in the article "Use a trial upgrade to find potential issues."

For more information about the general process of upgrading by using the database attach upgrade approach, see Upgrade process overview (SharePoint Server 2010).

Process overview

When you upgrade by using database attach upgrade, you detach the databases in the old farm and then attach them to the new farm. When you attach a database to the new farm, the upgrade process runs and upgrades the whole database. The database attach upgrade process is similar to the in-place upgrade process. The difference is that the database attach upgrade process is performed manually, and is performed in a separate environment.

If you want to preserve your original farm and allow users to continue to access their data, you must set the databases to read-only and then attach a backup copy of the databases.

You can attach and upgrade databases from either Microsoft Office SharePoint Server 2007 or Windows SharePoint Services 3.0 to a new Microsoft SharePoint Server 2010 environment. For both sources, the steps to set up and attach databases to the new environment are the same.

Note:

The part of the process in this article that is specific to moving a database from one computer that is running Microsoft SQL Server to a different computer that is running SQL Server is known as planned relocation. For more information about planned relocation, see Moving User Databases (http://go.microsoft.com/fwlink/p/?LinkId=148425).

For a general overview of the upgrade process, see Upgrade process overview (SharePoint Server 2010).

Before you begin

Before you begin the database attach upgrade, review the following information about permissions, hardware requirements, and software requirements. Follow the specified steps to install or configure prerequisite software or to modify settings.

  • Verify that your planned upgrade path is supported. For more information, see Review supported and unsupported upgrade paths (SharePoint Server 2010).

  • Ensure that you have met all hardware and software requirements. You must have a 64-bit version of Windows Server 2008 or Windows Server 2008 R2. For server farms, you must also have a 64-bit version of SQL Server 2005 or SQL Server 2008. For more information about these requirements (such as specific updates that you must install), see Determine hardware and software requirements (SharePoint Server 2010).

  • Ensure that you are prepared to set up the required accounts by using appropriate permissions. For detailed information, see Administrative and service accounts required for initial deployment (SharePoint Server 2010).

  • Ensure that the account you use to attach the databases is a member of the db_owner fixed database role for the content databases that you want to upgrade.

  • Run the pre-upgrade checker tool on the sites that are stored in the databases. The pre-upgrade checker identifies potential upgrade issues in your environment so that you can address them before you upgrade. For more information, see Run the pre-upgrade checker (SharePoint Server 2010).

  • Create a new server farm environment. For information about how to create the new environment, see Prepare the new SharePoint Server 2010 environment for a database attach upgrade.

  • Check for and repair any database consistency errors. For more information, see Database maintenance for Office SharePoint Server 2007 (white paper).

Set the previous version databases to be read-only (database attach with read-only databases)

If you are using the read-only databases hybrid approach to upgrade, set the previous version databases to read-only before you back up the databases. In any type of database attach upgrade, you can also set the databases to read-only temporarily to ensure that you capture all the data in the backup so that you are restoring and upgrading the current state of the environment. If the databases are set to read-only, users can continue to view content, but they will be unable to add or change content.

Important:

You cannot upgrade a database that is set to read-only. If you are using a database attach with read-only databases, you restore a copy of the database and perform the upgrade on the copy. If you are not using this method, but want to set content databases to read-only temporarily while you back up the current data, make sure that you set the databases to read-write before you attach and upgrade the databases.

Important:

Be sure you have run the pre-upgrade checker before you perform this procedure. For more information, see Run the pre-upgrade checker (SharePoint Server 2010).

To set a database to read-only in SQL Server 2000

  1. In SQL Server Enterprise Manager, right-click the name of the database that you want to set to read-only, and then click Properties.

  2. In the Properties dialog box, click the Options tab.

  3. Under Access, select the Read-only check box, and then click OK.

To set a database to read-only in SQL Server 2005

  1. In SQL Server Management Studio, right-click the name of the database that you want to set to read-only, and then click Properties.

  2. In the Select a page section, click Options.

  3. In the right pane, under Other options, in the State section, next to Database Read-Only, click the arrow, and then select True.

To set a database to read-only in SQL Server 2008

  1. In SQL Server Management Studio, in Object Explorer, connect to an instance of the Database Engine, expand the server, and then expand Databases.

  2. Select the database that you want to configure to be read-only, right-click the database, and then click Properties.

  3. In the Database Properties dialog box, in the Select a page section, click Options.

  4. In the right pane, under Other options, in the State section, next to Database Read-Only, click the arrow, and then select True.

You can configure the READ_ONLY database availability option by using Transact-SQL. For more information about how to use the SET clause of the ALTER DATABASE statement, see Setting Database Options (http://go.microsoft.com/fwlink/p/?LinkId=148362).

Back up the previous version databases by using SQL Server tools

Follow the appropriate procedure to back up databases in SQL Server 2000, SQL Server 2005, or SQL Server 2008. Repeat the procedure for each of the following databases in the original server farm:

  • Content

  • Shared services

    For more information about upgrade and shared services, see How other services are affected by upgrade (SharePoint Server 2010).

You do not have to back up the configuration or admin content databases, because you will re-create these databases in the new server farm. For more information about the kinds of databases that you might have in a Office SharePoint Server 2007 server farm, see Database types and descriptions (Office SharePoint Server).

At the end of this procedure, you will have created duplicates of the read-only content databases.

To back up a database in SQL Server 2000

  1. On the database server, click Start, point to All Programs, point to Microsoft SQL Server, and then click Enterprise Manager.

  2. In SQL Server Enterprise Manager, expand Microsoft SQL Servers.

  3. Expand SQL Server Group.

  4. Expand (local) (Windows NT).

  5. Expand Databases.

  6. Right-click the database that you want to back up, point to All Tasks, and then click Backup Database.

  7. In the SQL Server Backup dialog box, in the Name box, specify a name for the backup, and then in the Backup area, select Database - complete.

  8. In the Destination area, either select an existing destination or do the following:

    1. Click Add.

    2. In the Select Backup Destination box, select File Name, and then next to the File Name box, click Browse.

    3. In the Backup Device Location - (local) dialog box, in the File name box, type a file name, and then click OK.

    4. Click OK again to close the Select Backup Destination dialog box.

  9. Click OK to start the backup process.

  10. Click OK to acknowledge that the backup process is complete.

Repeat the previous procedure to back up all the content and shared services databases that are used by Office SharePoint Server 2007 in your environment.

To back up a database in SQL Server 2005

  1. On the database server, click Start, point to All Programs, point to Microsoft SQL Server 2005, and then click SQL Server Management Studio.

  2. In the Connect to Server box, fill in the connection information, and then click Connect.

  3. After you connect to the appropriate instance of the SQL Server 2005 Database Engine, in Object Explorer, expand the server tree by expanding the server name.

  4. Expand Databases, right-click the database that you want to back up, point to Tasks, and then click Back Up. The Back Up Database dialog box appears.

  5. In the Source area, in the Database box, verify the database name.

  6. In the Backup type box, select Full.

  7. Under Backup component, select Database.

  8. In the Backup set area, in the Name text box, either accept the default backup set name that is suggested or type a different name for the backup set.

  9. In the Destination area, specify the type of backup destination by selecting Disk or Tape, and then specify a destination. To create a different destination, click Add.

  10. Click OK to start the backup process.

Repeat the previous procedure to back up all the content and shared services databases that are used by Office SharePoint Server 2007 in your environment.

To back up a database in SQL Server 2008

  1. On the database server, click Start, point to All Programs, point to Microsoft SQL Server 2008, and then click SQL Server Management Studio.

  2. In the Connect to Server box, fill in the connection information, and then click Connect.

  3. After you connect to the appropriate instance of the SQL Server 2008 Database Engine, in Object Explorer, expand the server name.

  4. Expand Databases, right-click the database that you want to back up, point to Tasks, and then click Back Up. The Back Up Database dialog box appears.

  5. In the Source area, in the Database box, verify the database name.

  6. In the Backup type box, select Full.

  7. Under Backup component, select Database.

  8. In the Backup set area, in the Name text box, either accept the default backup set name or type a new name.

  9. In the Destination area, specify the type of backup destination by selecting Disk or Tape, and then specify a destination. To create a different destination, click Add.

  10. Click OK to start the backup process.

Repeat the previous procedure to back up all the content and shared services databases that are used by Office SharePoint Server 2007 in your environment.

Detach the previous version databases (standard database attach)

Before you can attach your databases to the new environment and upgrade the data, you need to detach them from the current environment. After you have detached the databases, you can move them to a new database server or leave them on the existing database server and attach them to the Web applications.

Important:

Do not use the following procedure if you are performing a database attach upgrade with read-only databases. To continue to provide your users with access to their content, you need to leave the databases attached, and follow the steps in the Restore a backup copy of the database (database attach with read-only databases) section later in this article to make a copy of the databases instead.

To detach a content database from a Web application

  1. In Central Administration, on the Application Management page, in the SharePoint Web Application Management section, click Content databases.

  2. On the Manage Content Databases page, click the content database you want to detach.

    Note:

    If the content database does not appear, it might be associated with another Web application. To select another Web application, on the Web Application menu, click Change Web Application.

  3. On the Manage Content Database Settings page, in the Remove Content Database section, select the Remove content database check box, and then click OK.

    Note:

    Removing the content database does not delete the database; it only removes the association of the database with the Web application.

  4. Repeat steps 2 and 3 for each content database that you want to detach.

You can also use the deletecontentdb Stsadm operation to detach a content database from a Web application. For more information, see Deletecontentdb: Stsadm operation (Office SharePoint Server).

If you are moving the databases to a different database server, you must also detach the databases from the instance of SQL Server before you move them and attach them to the new instance of SQL Server after you move them.

Important:

If you move your databases to a different instance of SQL Server, make sure to verify that security is configured correctly. Check that the accounts you use have the appropriate fixed roles and permissions on the databases, and that they will still be valid accounts if you are moving across domains.

To detach a database from an instance of SQL Server and move it to another instance of SQL Server

  1. In SQL Server 2005 Management Studio, open the source instance of SQL Server, and then expand the Databases node.

  2. Right-click the content database, point to Tasks, and then click Detach. Repeat this step for each content database that you want to detach and move.

    Note:

    Use this procedure to move only content databases. Do not detach any other databases.

  3. In Windows Explorer, browse to the location of the .mdf and .ldf files for the content databases.

  4. Select the .mdf and .ldf files for the database you want to move and either copy or move them to the destination directory.

  5. In SQL Server 2005 Management Studio, open the source instance of SQL Server.

  6. Right-click the Databases node, point to Tasks, and then click Attach.

  7. In the Attach Database dialog box, browse to the location to which you transferred the .mdf and .ldf files, select the .mdf file for the database you want to attach, and then click OK.

  8. Repeat steps 6 and 7 for each content database that you are moving.

Restore a backup copy of the database (database attach with read-only databases)

After you configure the new server farm, you can restore the backup copies of the databases on one of the following: Microsoft SQL Server 2008 R2, SQL Server 2008 with Service Pack 1 (SP1) and Cumulative Update 2, and SQL Server 2005 with SP3 and Cumulative Update 3. Note that you must restore to a 64-bit version of SQL Server 2008 R2, SQL Server 2008 with SP1 and Cumulative Update 2, and SQL Server 2005 with SP3 and Cumulative Update 3. Start with one database, and then verify that the restoration has worked before you restore the other databases.

The following section provides procedures for restoring the backups.

To restore a backup copy of a database in SQL Server 2005 Enterprise Edition

  1. In SQL Server Management Studio, right-click Databases, and then click Restore Database. The Restore Database dialog box appears.

  2. In the Restore Database dialog box, on the General page, in the To database box, type the name of the database you are restoring.

  3. In the To a point in time text box, keep the default (Most recent possible).

  4. To specify the source and location of the backup sets to restore, click From device, and then click Browse to select the backup file.

  5. In the Specify Backup dialog box, in the Backup media box, make sure that File is selected.

  6. In the Backup location area, click Add.

  7. In the Locate Backup File dialog box, select the file that you want to restore, and then click OK.

  8. In the Select the backup sets to restore grid, select the Restore check box next to the most recent full backup.

  9. In the Restore Database dialog box, on the Options page, under Restore options, select the Overwrite the existing database check box.

  10. Click OK to start the restore process.

To restore a backup copy of a database in SQL Server 2008 Enterprise

  1. After you connect to the appropriate instance of the SQL Server 2008 Database Engine, in Object Explorer, expand the server name.

  2. Right-click Databases, and then click Restore Database. The Restore Database dialog box appears.

  3. In the Restore Database dialog box, on the General page, type the name of the database to be restored in the To database list.

  4. In the To a point in time text box, retain the default (Most recent possible).

  5. To specify the source and location of the backup sets to restore, click From device, and then click Browse to select the backup file.

  6. In the Specify Backup dialog box, in the Backup media box, be sure that File is selected.

  7. In the Backup location area, click Add.

  8. In the Locate Backup File dialog box, select the file that you want to restore, click OK, and then, in the Specify Backup dialog box, click OK.

  9. In the Restore Database dialog box, under Select the backup sets to restore grid, select the Restore check box next to the most recent full backup.

  10. In the Restore Database dialog box, on the Options page, under Restore options, select the Overwrite the existing database check box.

  11. Click OK to start the restore process.

Set the databases to read-write (database attach with read-only databases)

You must also set the databases back to read-write before you attach and upgrade them.

To set a database to read-write in SQL Server 2008

  1. In SQL Server Management Studio, in Object Explorer, connect to an instance of the Database Engine, expand the server, and then expand Databases.

  2. Select the database that you want to configure to be read-write, right-click the database, and then click Properties.

  3. In the Database Properties dialog box, in the Select a page section, click Options.

  4. In the right pane, under Other options, in the State section, next to Database Read-Only, click the arrow, and then select False.

To set a database to read-write in SQL Server 2000

  1. In SQL Server Enterprise Manager, right-click the name of the database that you want to set to read-write, and then click Properties.

  2. In the Properties dialog box, click the Options tab.

  3. Under Access, clear the Read-only check box, and then click OK.

Verify custom components

Before you attach the content databases to the Web applications, use the Test-SPContentDatabaseWindows PowerShell cmdlet to verify that you have all the custom components that you need for that database.

To verify custom components are available by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell command prompt, type the following command:

    Copy Code
    Test-SPContentDatabase -Name <DatabaseName> -WebApplication <URL>

    Where:

    • <DatabaseName> is the name of the database you want to test.

    • <URL> is the URL for the Web application that will host the sites.

For more information, see Test-SPContentDatabase.

Attach a content database to a Web application

When you attach a content database, make sure that the root site for the Web application is included in the first content database that you attach. In other words, before you continue, examine the root of the Web application in the original server farm to determine the first site collection. After you attach the database that contains the root site, you can attach the other content databases for the Web application in any order. You do not have to create any site collections to store the content before you attach the database; this process creates the site collections for you. Make sure that you do not add any new site collections until you have restored all the content databases. When you created the Web applications in the new environment, a content database was created for each Web application by default. You can ignore these default databases until after you have attached your previous version databases, and then you can delete the default databases.

Important:

If you are moving the content databases across domains or forests or into another environment that has different service accounts, ensure that the permissions for the service accounts are still correct before you attach the databases.

You can use either the Mount-SPContentDatabase cmdlet in Windows PowerShell or the addcontentdb Stsadm command to attach a content database to a Web application. Using the SharePoint Central Administration pages to attach a content database is not supported for upgrading.

Ensure that the account you use to attach the databases is a member of the db_owner fixed database role for the content databases that you want to upgrade.

Important:

If you were using forms-based authentication, you will need to configure claims-based authentication for your Web application before you attach any databases. You must also create a policy to grant Full Control to the Web application to the user account that will be performing the database attach upgrade.

For more information, see Configure forms-based authentication for a claims-based Web application (SharePoint Server 2010).

Tip:

You cannot attach the same content database more than once to a farm, even on different Web applications. Each site collection in a content database has a GUID that is associated with it, which is registered in the configuration database. Therefore, you cannot add the same site collection twice to the farm, even in separate Web applications. Although you can successfully attach the database in this situation, you will be unable to start the site collection.

If you need a duplicate copy of a site collection in the same farm, first attach the database that contains the site collection to a separate farm, and then use the Stsadm backup and restore operations to copy the site collection over to the other farm. The Stsadm backup and restore process creates a new GUID for the site collection.

To attach a content database to a Web application by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell command prompt, type the following command:

    Copy Code
    Mount-SPContentDatabase -Name <DatabaseName> -DatabaseServer <ServerName> -WebApplication <URL> [-Updateuserexperience]

    Where:

    • <DatabaseName> is the name of the database you want to upgrade.

    • <ServerName> is server on which the database is stored.

    • <URL> is the URL for the Web application that will host the sites.

    • Updateuserexperience is the choice to update to the new user experience or stay in the old user experience (part of Visual Upgrade). When you include this parameter, the site is set to preview the new user experience. Omit this parameter if you want the site to remain in the old user experience after upgrade. For more information, see Plan visual upgrade (SharePoint Server 2010).

For more information, see Mount-SPContentDatabase.

Note:

We recommend that you use Windows PowerShell when performing command-line administrative tasks. The Stsadm command-line tool has been deprecated, but is included to support compatibility with previous product versions.

To attach a content database to a Web application by using the Stsadm command-line tool

  1. On the drive on which SharePoint Products and Technologies is installed, change to the following directory: %COMMONPROGRAMFILES%\Microsoft shared\Web server extensions\14\Bin.

  2. Type the following command, and then press ENTER:

    stsadm -o addcontentdb -url<URL> -databasename<DatabaseName>

    [-databaseserver<ServerName>] [-databaseuser<UserName>]

    [-databasepassword<Password>] [-sitewarning<SiteWarningCount>]

    [-preserveolduserexperience true/false]

    [-sitemax<SiteMaxCount>]

    [-assignnewdatabaseid][-clearchangelog]

    Note:

    When you set the preserveolduserexperience parameter to true, the sites in the content database keep the look of the previous version after upgrade. When you set this parameter to false, the sites are upgraded to the new look and feel. The default for this parameter is true, which preserves the old look and feel.

    This parameter is part of the Visual Upgrade feature. For more information, see Plan visual upgrade (SharePoint Server 2010).

    For more information, see Addcontentdb: Stsadm operation (Office SharePoint Server).

Verification: Verify upgrade for the first database

After you have attached a database, you can use the Upgrade Status page in Central Administration to check the status of upgrade on your site collections. After the upgrade process is complete, you can review the upgrade log file to see whether there were any issues during upgrade. Also, you can review each upgraded site to find and address any issues with how the content is displayed. For more information, see Verify upgrade and review upgraded sites (SharePoint Server 2010).

To view the Upgrade Status page

  • In Central Administration, click Upgrade and Migration, and then click Check upgrade status.

To open the upgrade log file

  • The upgrade error log file and the upgrade log file are located at %COMMONPROGRAMFILES%\Microsoft Shared\web server extensions\14\LOGS. The logs are named in the following format: Upgrade-YYYYMMDD-HHMMSS-SSS-error.log and Upgrade-YYYYMMDD-HHMMSS-SSS.log, where YYYYMMDD is the date and HHMMSS-SSS is the time (hours in 24-hour clock format, minutes, seconds, and milliseconds). An example for an upgrade error log is Upgrade-20090415-132126-374-error.log, and an example for an upgrade log is Upgrade-20090415-132126-374.log.

    Note:

    The upgrade log file includes the name of the content database being upgraded.

Upgrade the shared services database

Before you can upgrade any My Sites in your environment, you must configure the User Profile service and Managed Metadata service and upgrade the Shared Services Provider (SSP) database. To do this, you must perform the following tasks:

  1. Create an application pool for the User Profile service.

  2. Verify that the Managed Metadata service is enabled.

  3. Enable the User Profile service and upgrade the SSP database.

    Upgrading the SSP database also upgrades audience information.

  4. Create a new proxy for the User Profile service application and associate it with the default proxy group.

The following procedures provide the steps for these tasks.

Important:

The steps in the following sections assume that you have not yet enabled the User Profile service application or the User Profile Synchronization service. If you have already enabled these services, follow these steps to create a separate instance of the User Profile service application. You can associate your existing User Profile Synchronization service with the new User Profile service application.

To create an application pool for the User Profile service by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. To create the application pool, at the Windows PowerShell command prompt, type the following command:

    Copy Code
    New-SPServiceApplicationPool -Name <ApplicationPoolName>
 -Account <DOMAIN\username>

    Where:

    • <ApplicationPoolName> is the name you want to use for the application pool.

    • <DOMAIN\username> is a valid account. You can use a domain account, or you can use the name of a managed account in the farm. Use the Get-SPManagedAccount cmdlet to view the existing managed account in the farm.

For more information, see New-SPServiceApplicationPool.

To verify that the Managed Metadata service is enabled

  1. In SharePoint Central Administration, on the Application Management page, click Manage service applications.

  2. Verify that the Managed Metadata service is started.

    For more information about how to enable and manage this service, see Managed metadata administration (SharePoint Server 2010).

To enable the User Profile service and upgrade your SSP database by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. To enable the User Profile service and upgrade the SSP database, at the Windows PowerShell command prompt, type the following command:

    Copy Code
    New-SPProfileServiceApplication -applicationpool <ApplicationPoolName> -Name <ServiceApplicationName> -Profiledbname <DatabaseName> [-Profiledbserver <ServerName>]

    Where:

    • <ApplicationPoolName> is the application pool name that you created in the previous step.

    • <ServiceApplicationName> is the service application name you want to use.

    • <DatabaseName> is the name of the SSP database from the old environment.

    • <ServerName> is the name of the server to which you are attaching the database.

For more information, see New-SPProfileServiceApplication.

To create the proxy for the User Profile service and associate it with the default proxy group by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. To configure the proxy for the User Profile service, at the Windows PowerShell command prompt, type the following command:

    Copy Code
    New-SPProfileServiceApplicationProxy -ServiceApplication <ProfileServiceApplicationID> -Name <ProxyName> -DefaultProxyGroup

    Where:

    • <ProfileServiceApplicationID> is the GUID of the service application you created in the previous step.

      Tip:

      If you need to find the GUID, you can run the Get-SPServiceApplication cmdlet to return a list of all service application IDs.

    • <ProxyName> is the proxy name you want to use.

    • DefaultProxyGroup specifies that the User Profile service application proxy be added to the default proxy group for the local farm.

For more information, see New-SPProfileServiceApplicationProxy.

Make sure that your farm administration account has Full Control of the Use Profile service. Use the following procedure to grant the farm administration account full control.

Update permissions on the User Profile service

  1. In SharePoint Central Administration, on the Application Management page, click Manage Service Applications.

  2. Click the User Profile Service Application row (not the link) and then, on the ribbon, click Administrators.

  3. In the Administrators for User Profile Service Application dialog box, in the To add an account, or group, type or select it below and click 'Add' box, type the farm administrator account and the account you are using to run the User Profile service, and then click Add.

  4. In the Permissions for <account name> box, select the Full Control check box, and then click OK.

Start the User Profile Synchronization service

  1. In SharePoint Central Administration, on the System Settings page, click Manage Services on Server.

  2. Next to the User Profile Synchronization service, click Start.

  3. In the Select the User Profile Application dialog box, select the application you just created.

  4. In the Service Account Name and Password section, type and confirm the password for the service account.

  5. Click OK.

Important:

After you have enabled the User Profile Synchronization service, you can reapply the settings that you used for User Profile Synchronization from your Office SharePoint Server 2007 environment in your new environment. Reapply settings such as connections, property mappings, and filters. For more information about how to configure this service, see Configure profile synchronization (SharePoint Server 2010).

Note that the User Profile Synchronization service is not available in a stand-alone environment. You must have a server farm installation to use this service.

Now you are ready to upgrade My Sites.

Upgrade My Sites

If you have My Sites in your environment, you can upgrade them after you have upgraded the Shared Services Provider (SSP) database. You should have created the My Site host Web application when you created your new environment. To upgrade My Sites, you configure the My Site host URL, and then upgrade the content databases that contain My Sites.

To configure the My Site host URL

  1. In Central Administration, on the Manage Service Applications page, click the User Profile service application that you want to associate with My Sites.

  2. On the Manage Profile Service: User Profile Service page, click Setup My Sites.

  3. Enter the information to set up My Sites, including the new My Site host location and personal site location.

    The My Site host is a site collection on the content database, which will have a URL like http://Fabrikam/my. The personal site path is the managed path at which all My Sites will be created. If you entered "personal" in the Location box, My Sites would be created at http:// Fabrikam/personal/username).

  4. After you set up My Sites, you must reset Internet Information Services (IIS) by opening a Command Prompt window and typing iisreset /noforce at the command prompt.

Now that you have created the My Site host URL, you can upgrade My Sites. Follow the steps in Attach a content database to a Web application later in this article to attach and upgrade the database or databases that contain My Sites. You can upgrade My Sites at any time after you have upgraded the SSP database and configured the My Site host URL.

Attach the remaining databases

After you restore the first content database and verify the upgrade by reviewing the upgrade log file, you can continue by restoring and upgrading the next database or databases. You can attach multiple databases at the same time in separate Command Prompt windows to run multiple upgrades at one time. After you successfully restore and upgrade all the sites, content databases, and SSP databases, you can review the sites to make sure that they were upgraded correctly.

Verification: Verify upgrade for additional databases

After upgrading any additional databases, view the Upgrade Status page to monitor progress and verify that the upgrade process is complete. Review the log file to identify any other issues, and then review each upgraded site to find and address any issues with how the content is displayed. For more information, see Verify upgrade and review upgraded sites (SharePoint Server 2010) and Manage visual upgrade (SharePoint Server 2010).

Additional steps

After you have completed the upgrade, there are several steps that you should take to complete the configuration for your upgraded farm. For more information, see Perform post-upgrade steps for a database attach upgrade (SharePoint Server 2010).

See Also

Concepts

Troubleshoot upgrade issues (SharePoint Server 2010)

Other Resources

Resource Center: Updates for SharePoint 2010 Products


Database attach upgrade videos (SharePoint Server 2010)
See Also

Published: July 14, 2011

The following videos demonstrate how to use a database attach upgrade method with read-only databases to upgrade from Microsoft Office SharePoint Server 2007 to Microsoft SharePoint Server 2010. The first video explains how to upgrade content databases to upgrade sites based on Office SharePoint Server 2007. The second video explains how to upgrade shared services (the SSP database) and My Sites based on Office SharePoint Server 2007.

Video still image

Running time: 7:35

Play video Watch the "Use read-only databases during a database attach upgrade" video

Download video For an optimal viewing experience, download the "Use read-only databases during a database attach upgrade" video.

Right-click the link, and then click Save Target As to download a copy. Clicking the link will open a .wmv file in the default video viewer for full-resolution viewing.

Still image of video screen

Running time: 11:17

Play video Watch the "Database attach upgrade for SSPs and My Sites" video

Download video For an optimal viewing experience, download the "Database attach upgrade for SSPs and My Sites" video.

Right-click the link, and then click Save Target As to download a copy. Clicking the link will open a .wmv file in the default video viewer for full-resolution viewing.

Related resources

Resource | Description
Upgrade and Migration for SharePoint Server 2010 Resource Center (http://go.microsoft.com/fwlink/p/?LinkID=178032) | Contains many resources about upgrade and migration for SharePoint Server 2010.
Checklist for database attach upgrade (SharePoint Server 2010) Attach databases and upgrade to SharePoint Server 2010 Perform post-upgrade steps for a database attach upgrade (SharePoint Server 2010) | These articles contain the full steps to use for procedures in the videos.
Prepare the new SharePoint Server 2010 environment for a database attach upgrade | Contains steps to take to get your new environment ready for attaching and upgrading databases.
Configure profile synchronization (SharePoint Server 2010) | Contains information about the Profile Synchronization service. Supplemental information to the "Database attach upgrade for SSPs and My Sites" video.
SharePoint Products Tech Center (http://go.microsoft.com/fwlink/p/?LinkId=188761) | Find details about related technologies, downloads, and additional resources.

See Also

Concepts

Video demos and training for SharePoint Server 2010


Perform post-upgrade steps (SharePoint Server 2010)
See Also

After you have performed an in-place upgrade or a database attach upgrade to Microsoft SharePoint Server 2010, you can verify your upgrade and follow the necessary configuration steps to get your environment ready for your users again.

In this section:

  • Perform post-upgrade steps for an in-place upgrade (SharePoint Server 2010)

    Before you give your users access to the upgraded environment, perform these steps to make sure everything is working as planned. This article contains steps specific to an in-place upgrade.

  • Perform post-upgrade steps for a database attach upgrade (SharePoint Server 2010)

    Similar to the article described above, this article contains steps for making sure that everything is working as planned after a database attach upgrade.

  • Configure forms-based authentication for a claims-based Web application (SharePoint Server 2010)

    Upgrade existing Microsoft Office SharePoint Server 2007 Web applications that were configured to use forms-based authentication to work with SharePoint Server 2010.

  • Verify upgrade and review upgraded sites (SharePoint Server 2010)

    Find out how to tell whether upgrade was completed successfully (both from the software standpoint and from a visual review of your sites) or any issues remain to address. If you must restart upgrade after a failure, you will find the steps to do so in this article.

  • Recovering after a failed upgrade (SharePoint Server 2010)

    Follow these steps if the upgrade to Microsoft SharePoint Server 2010 has failed and you do not have time to continue to troubleshoot the issues or resume the upgrade process.

See Also

Other Resources

Downloadable book: Upgrading to SharePoint Server 2010
Resource Center: Upgrade and Migration for SharePoint Server 2010


Perform post-upgrade steps for an in-place upgrade (SharePoint Server 2010)
See Also

After you have upgraded the content in your environment to Microsoft SharePoint Server 2010, you must perform some additional steps to make sure that the infrastructure supporting that content is ready to start servicing user requests again. This article describes how to complete these tasks.

In this article:

  • Configure new and upgraded services after in-place upgrade

  • Upgrade profile properties to taxonomy data and update the photo store for Profile Services

  • Create and configure the Secure Store service application and migrate SSO data to the Secure Store service

  • Upgrading solutions that depend on the Business Data Catalog

  • Have users migrate private My Links to private tags (Optional)

Configure new and upgraded services after in-place upgrade

Many new services are available in SharePoint Server 2010. You can enable these new services after you perform an in-place upgrade. You must create service applications to host any new services. You can use the Farm Configuration Wizard to quickly select and enable new services in your farm, or you can configure the services manually. You can also add proxies for any service applications that you want to use with different Web applications. For more information, see Manage service applications (SharePoint Server 2010).

Be sure to configure the Document Conversions Load Balancer service and the Document Conversions Launcher service, and enable document conversions for your Web applications. By default, these services are disabled after upgrade and you must enable them before your users can use document conversions. For more information, see Manage document conversions (SharePoint Server 2010).

Note:

If you changed the content access account from the default setting in Office SharePoint Server 2007, you must specify a valid password for the content access account in SharePoint Server 2010. For more information, see Change the password for the default content access account (SharePoint Server 2010).

Upgrade profile properties to taxonomy data and update the photo store for Profile Services

Multi-value profile properties data from Microsoft Office SharePoint Server 2007 was stored in the Shared Services Provider (SSP) database as part of the Profile Services data. For SharePoint Server 2010, this data must now be converted to taxonomy data and be stored in the managed metadata database. To move and upgrade the data, you must have created a service application for the Managed Metadata service. After that is complete, you can use a Windows PowerShell cmdlet to upgrade the profile and taxonomy data and move it to the Taxonomy database. This cmdlet reconnects the data to the Managed Metadata and User Profile service applications. You must run this cmdlet for each Managed Metadata property that you want to upgrade; there is no option to specify all properties. Note that the Managed Metadata service does not accept certain characters (such as semicolons, angle brackets, pipes, quotation marks, or tab characters) that were allowable in user profile properties based on choice lists in Office SharePoint Server 2007. If a term or term set uses a character that is no longer accepted, the character is removed and replaced with a space when it is upgraded.

Important:

To upgrade and use taxonomy data, the User Profile service application proxy and Managed Metadata service application proxy must be in the same proxy group.

Before you upgrade the taxonomy data, look up the ID for the User Profile service application proxy (called the SPServiceApplicationProxyPipeBand in Windows PowerShell), locate the list of the managed metadata properties, and then choose the properties you want to upgrade.

To find the User Profile service application proxy ID by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell command prompt, type the following command:

    Copy Code
    Get-SPServiceApplicationProxy

    This returns a list of service application proxies. Copy the ID for the User Profile service application proxy.

For more information, see Get-SPServiceApplicationProxy.

To view the name of a managed metadata property

  1. On the SharePoint Central Administration Home page, click Application Management.

  2. Under Service Applications, click Manage Service Applications.

  3. Click the User Profile service application for your environment to open the Manage Profile Service: Service name page.

  4. Under People, click Manage User Properties.

  5. Click a property name, and then click Edit.

  6. Copy the string from the Name box.

    This is the name to use as the identity for the managed metadata property when you upgrade the taxonomy data.

Important:

You must be an administrator for the Managed Metadata to upgrade taxonomy data. You use the Move-SPProfileManagedMetadataProperty cmdlet to upgrade the taxonomy data. This cmdlet can take a long time to run, depending on how many profiles are in your environment.

To upgrade taxonomy data by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin. You must also be a member of the Term store administrator role for the Managed Metadata service. For more information, see Managed metadata roles (SharePoint Server 2010).

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell command prompt, type the following command:

    Copy Code
    Move-SPProfileManagedMetadataProperty -ProfileServiceApplicationProxy <SPServiceApplicationProxyPipeBind> -Identity <Identity> [-AvailableForTagging Yes] [-TermSetName]

    Where

    • <SPServiceApplicationProxyPipeBind> is the ID for the User Profile service application proxy

    • <Identity> is the name of the managed metadata property you want to move

    • AvailableForTagging determines whether the terms in the resulting term set can be used for managed metadata tagging. The default value is No. Do not mark term sets that include more than 20,000 terms with this property. This is because terms marked as available for tagging are cached on the client side and if you have thousands or millions of terms marked as available for tagging, it can significantly reduce client performance.

    • TermSetName specifies whether to create the term set name. If this parameter is not specified, the property is mapped to the Keywords term set.

For more information, see Move-SPProfileManagedMetadataProperty.

When you upgrade, any photos that were stored as profile pictures must be updated. If you do not update the photo store data, either no photos will be displayed or some photos might appear distorted. To update the photo store, you use the Update-SPProfilePhotoStoreWindows PowerShell cmdlet. This cmdlet might take a long time to run if you have many profiles and many photos. The cmdlet copies the user photos from wherever they are stored (usually in the Shared Pictures library on their My Site) and puts them in the User Photos library on the My Sites host. The process also generates small, medium, and large thumbnail sizes of the pictures that are the correct sizes to be used in the various controls and Web Parts for My Sites profile photos. Before you run this cmdlet, check the quotas for your My Sites and make sure there is plenty of space available for storing the photos — you must have at least 10 KB of space per user.

To update photo store data by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin. You must also be a site collection administrator for the My Sites host, and you must be a User Profile service application administrator with the Manage Profiles permission.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell command prompt, type the following command:

    Copy Code
    Update-SPProfilePhotoStore -MySiteHostLocation <URL of the My Sites Host>

For more information, see Update-SPProfilePhotoStore.

Create and configure the Secure Store service application and migrate SSO data to the Secure Store service

The Single Sign-on (SSO) service that was available in Office SharePoint Server 2007 has been replaced with the Secure Store service in SharePoint Server 2010. There is no direct upgrade path for the data and settings from SSO to the Secure Store service, but you can migrate data from the SSO database to a new Secure Store database. Excel Services Application must have the Secure Store service account to function correctly. To upgrade SSO data to the Secure Store service for use with Excel Services Application and Business Data Connectivity services, you perform the following steps:

  1. Provision a Secure Store service application and provision the new, unattended service account for use with Excel Services Application.

    You must provision the Secure Store service before you can upgrade data from the SSO service. And you must configure an unattended service account for Excel Services Application to function correctly. For detailed steps to create and configure the Secure Store service application and create the unattended service account, see Use Excel Services with Secure Store (SharePoint Server 2010).

  2. Use the Windows PowerShell Upgrade-SPSingleSignOnDatabase cmdlet to migrate the application definitions from the SSO database to the Secure Store database as target applications.

  3. Use the Windows PowerShell Disable-SPSingleSignOn cmdlet to disable the SSO service on an upgraded farm server (in-place upgrade only).

To upgrade SSO data to the Secure Store service by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin. You must have read access to both the old SSO database and the new Secure Store service database to run this cmdlet.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell command prompt, type the following command:

    Copy Code
    Upgrade-SPSingleSignOnDatabase -SSOConnectionString <SSOConnectionstring> -SecureStoreConnectionString <SecureStoreConnectionstring> -SecureStorePassphrase Passphrase>

    Where:

    • <SSOConnectionString> is a valid connection string to the SSO database.

    • <SecureStoreConnectionstring> is a valid connection string to the Secure Store database.

    • <Passphrase> is the passphrase to use when connecting to the Secure Store service.

For more information, see Upgrade-SPSingleSignOnDatabase.

To disable the SSO service by using Windows PowerShell (in-place upgrade only)

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell command prompt, type the following command:

    Copy Code
    Disable-SPSingleSignOn -ServerName <ServerName>

    Where:

    • <ServerName> is the name of the server running the SSO service.

For more information, see Disable-SPSingleSignOn.

Upgrading solutions that depend on the Business Data Catalog

During upgrade from Office SharePoint Server 2007 to SharePoint Server 2010, for each Business Data Catalog service running in Office SharePoint Server 2007, two services are instantiated in SharePoint Server 2010:

  • An Application Registry service to store application definitions that are compatible with the Office SharePoint Server 2007 Business Data Catalog object model.

  • A Business Data Connectivity service to store BDC models, which are compatible with the new SharePoint Server 2010 Business Data Connectivity services object model.

For each application definition in the Business Data Catalog, a copy of it is placed in the Application Registry service and an upgraded version of it, based on the new object model, is placed in the Business Data Connectivity service.

Solutions that used custom Web Parts, custom search connectors, and other custom code that depended on application definitions in Office SharePoint Server 2007 will continue to work in SharePoint Server 2010 by using the Application Registry service. However, if your solution depends on the Web Parts that are provided by Office SharePoint Server 2007 and SharePoint Server 2010 by default (such as the Business Data List Web Part or the Business Data Actions Web Part), you must upgrade your solution to use the upgraded application definitions (called "BDC models") in the Business Data Connectivity service, because those Web Parts have been upgraded to use the new object model provided by the new service.

For more information about upgrading the Business Data Catalog service to SharePoint Server 2010, see Plan to upgrade to Business Connectivity Services (SharePoint Server 2010).

Have users migrate private My Links to private tags (Optional)

The My Sites feature in Office SharePoint Server 2007 included a bookmarking feature known as My Links. In SharePoint Server, this functionality is replaced by private tags. Users can continue to use the My Links Web Part, or they can migrate their links manually to their set of private tags. This is a manual process that each user can perform on his or her My Site.

To convert a private link to a private tag

  1. Navigate to the following URL: http://my_site_url/_layouts/myquicklinks.aspx.

  2. Select the check box next to the link or links that you want to convert.

  3. Click Create Tag from Link.

To view the tags, on your Profile page (http://my_site_url/Person.aspx), click Tags and Notes, and then under Refine by type, click Private.

See Also

Other Resources

Downloadable book: Upgrading to SharePoint Server 2010
Resource Center: Upgrade and Migration for SharePoint Server 2010


Perform post-upgrade steps for a database attach upgrade (SharePoint Server 2010)
See Also

After you have upgraded the content in your environment to Microsoft SharePoint Server 2010, you must perform some additional steps to make sure that the infrastructure supporting that content is ready to start servicing user requests again. This article describes how to complete these tasks.

In this article:

  • Reapply administrator permissions for services

  • Upgrade profile properties to taxonomy data and update the photo store for Profile Services

  • Create and configure the Secure Store service application and migrate SSO data to the Secure Store service

  • Upgrading solutions that depend on the Business Data Catalog

  • Update links that are used in any upgraded InfoPath form templates

  • Have users migrate private My Links to private tags (Optional)

Reapply administrator permissions for services

By default, farm administrators have permissions to all services when you perform a database attach upgrade. If you want to apply more restrictive permissions, do so now.

Upgrade profile properties to taxonomy data and update the photo store for Profile Services

Multi-value profile properties data from Microsoft Office SharePoint Server 2007 was stored in the Shared Services Provider (SSP) database as part of the Profile Services data. For SharePoint Server 2010, this data must now be converted to taxonomy data and be stored in the managed metadata database. To move and upgrade the data, you must have created a service application for the Managed Metadata service. After that is complete, you can use a Windows PowerShell cmdlet to upgrade the profile and taxonomy data and move it to the Taxonomy database. This cmdlet reconnects the data to the Managed Metadata and User Profile service applications. You must run this cmdlet for each Managed Metadata property that you want to upgrade; there is no option to specify all properties. Note that the Managed Metadata service does not accept certain characters (such as semicolons, angle brackets, pipes, quotation marks, or tab characters) that were allowable in user profile properties based on choice lists in Office SharePoint Server 2007. If a term or term set uses a character that is no longer accepted, the character is removed and replaced with a space when it is upgraded.

Important:

To upgrade and use taxonomy data, the User Profile service application proxy and Managed Metadata service application proxy must be in the same proxy group.

Before you upgrade the taxonomy data, look up the ID for the User Profile service application proxy (called the SPServiceApplicationProxyPipeBand in Windows PowerShell), locate the list of the managed metadata properties, and then choose the properties you want to upgrade.

To find the User Profile service application proxy ID by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell command prompt, type the following command:

    Copy Code
    Get-SPServiceApplicationProxy

    This returns a list of service application proxies. Copy the ID for the User Profile service application proxy.

For more information, see Get-SPServiceApplicationProxy.

To view the name of a managed metadata property

  1. On the SharePoint Central Administration Home page, click Application Management.

  2. Under Service Applications, click Manage Service Applications.

  3. Click the User Profile service application for your environment to open the Manage Profile Service: Service name page.

  4. Under People, click Manage User Properties.

  5. Click a property name, and then click Edit.

  6. Copy the string from the Name box.

    This is the name to use as the identity for the managed metadata property when you upgrade the taxonomy data.

Important:

You must be an administrator for the Managed Metadata to upgrade taxonomy data. You use the Move-SPProfileManagedMetadataProperty cmdlet to upgrade the taxonomy data. This cmdlet can take a long time to run, depending on how many profiles are in your environment.

To upgrade taxonomy data by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin. You must also be a member of the Term store administrator role for the Managed Metadata service. For more information, see Managed metadata roles (SharePoint Server 2010).

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell command prompt, type the following command:

    Copy Code
    Move-SPProfileManagedMetadataProperty -ProfileServiceApplicationProxy <SPServiceApplicationProxyPipeBind> -Identity <Identity> [-AvailableForTagging Yes] [-TermSetName]

    Where

    • <SPServiceApplicationProxyPipeBind> is the ID for the User Profile service application proxy

    • <Identity> is the name of the managed metadata property you want to move

    • AvailableForTagging determines whether the terms in the resulting term set can be used for managed metadata tagging. The default value is No. Do not mark term sets that include more than 20,000 terms with this property. This is because terms marked as available for tagging are cached on the client side and if you have thousands or millions of terms marked as available for tagging, it can significantly reduce client performance.

    • TermSetName specifies whether to create the term set name. If this parameter is not specified, the property is mapped to the Keywords term set.

For more information, see Move-SPProfileManagedMetadataProperty.

When you upgrade, any photos that were stored as profile pictures must be updated. If you do not update the photo store data, either no photos will be displayed or some photos might appear distorted. To update the photo store, you use the Update-SPProfilePhotoStoreWindows PowerShell cmdlet. This cmdlet might take a long time to run if you have many profiles and many photos. The cmdlet copies the user photos from wherever they are stored (usually in the Shared Pictures library on their My Site) and puts them in the User Photos library on the My Site host. The process also generates small, medium, and large thumbnail sizes of the pictures that are the correct sizes to be used in the various controls and Web Parts for My Site profile photos. Before you run this cmdlet, check the quotas for your My Sites and make sure there is plenty of space available for storing the photos — you must have at least 10 KB of space per user.

To update photo store data by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin. You must also be a site collection administrator for the My Site host, and you must be a User Profile service application administrator with the Manage Profiles permission.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell command prompt, type the following command:

    Copy Code
    Update-SPProfilePhotoStore -MySiteHostLocation <URL of the My Site Host>

For more information, see Update-SPProfilePhotoStore.

Create and configure the Secure Store service application and migrate SSO data to the Secure Store service

The Single Sign-on (SSO) service that was available in Office SharePoint Server 2007 has been replaced with the Secure Store service in SharePoint Server 2010. There is no direct upgrade path for the data and settings from SSO to the Secure Store service, but you can migrate data from the SSO database to a new Secure Store database. Excel Services Application must have the Secure Store service account to function correctly. To upgrade SSO data to the Secure Store service for use with Excel Services Application and Business Data Connectivity services, you perform the following steps:

  1. Provision a Secure Store service application and provision the new, unattended service account for use with Excel Services Application.

    You must provision the Secure Store service before you can upgrade data from the SSO service. And you must configure an unattended service account for Excel Services Application to function correctly. For detailed steps to create and configure the Secure Store service application and create the unattended service account, see Use Excel Services with Secure Store (SharePoint Server 2010).

  2. Use the Windows PowerShellUpgrade-SPSingleSignOnDatabase cmdlet to migrate the application definitions from the SSO database to the Secure Store database as target applications.

  3. Use the Windows PowerShellDisable-SPSingleSignOn cmdlet to disable the SSO service on an upgraded farm server (in-place upgrade only).

To upgrade SSO data to the Secure Store service by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin. You must have read access to both the old SSO database and the new Secure Store service database to run this cmdlet.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell command prompt, type the following command:

    Copy Code
    Upgrade-SPSingleSignOnDatabase -SSOConnectionString <SSOConnectionstring> -SecureStoreConnectionString <SecureStoreConnectionstring> -SecureStorePassphrase Passphrase>

    Where:

    • <SSOConnectionString> is a valid connection string to the SSO database.

    • <SecureStoreConnectionstring> is a valid connection string to the Secure Store database.

    • <Passphrase> is the passphrase to use when connecting to the Secure Store service.

For more information, see Upgrade-SPSingleSignOnDatabase.

To disable the SSO service by using Windows PowerShell (in-place upgrade only)

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell command prompt, type the following command:

    Copy Code
    Disable-SPSingleSignOn -ServerName <ServerName>

    Where:

    • <ServerName> is the name of the server running the SSO service.

For more information, see Disable-SPSingleSignOn.

Upgrading solutions that depend on the Business Data Catalog

If you used the database attach method to upgrade and you want to continue to use the external data that is accessed through one or more application definitions, you must complete the following tasks:

  1. In your previous environment, export the application definitions (models) that are required by your solution from the Office SharePoint Server 2007 Business Data Catalog. For more information, see Export application definition.

  2. Update the solution to use the object model and features of the Microsoft Business Connectivity Services. This includes updating the application definition file to be compatible with Microsoft Business Connectivity Services. For information about the Business Data Connectivity service object model, see Microsoft SharePoint 2010 Software Development Kit (http://go.microsoft.com/fwlink/p/?LinkId=166117).

  3. In your new environment, after upgrade, import the updated model into the Business Data Connectivity service. For more information, see Manage BDC models (SharePoint Server 2010).

Update links that are used in any upgraded InfoPath form templates

For a database attach upgrade, you exported and imported any InfoPath form templates in your environment when you created the new environment. After upgrade, you can now update the links that are used in those upgraded form templates to point to the correct URLs by using a Windows PowerShell cmdlet. Note that this cmdlet does not update any links that were hard-coded into scripts, data connections, or assemblies.

To update InfoPath form template links by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click Administrative Tools.

  3. Click SharePoint 2010 Management Shell.

  4. At the Windows PowerShell command prompt), type the following command:

    Copy Code
    Update-SPInfoPathAdminFileURL -find <OldUURLtoReplace> -replace <NewURL>

For more information, see Update-SPInfoPathAdminFileUrl.

Have users migrate private My Links to private tags (Optional)

The My Site feature in Office SharePoint Server 2007 included a bookmarking feature known as My Links. In SharePoint Server, this functionality is replaced by private tags. Users can continue to use the My Links Web Part, or they can migrate their links manually to their set of private tags. This is a manual process that each user can perform on his or her My Site.

To convert a private link to a private tag

  1. Navigate to the following URL: http://my_site_url/_layouts/myquicklinks.aspx.

  2. Select the check box next to the link or links that you want to convert.

  3. Click Create Tag from Link.

To view the tags, on your Profile page (http://my_site_url/Person.aspx), click Tags and Notes, and then under Refine by type, click Private.

See Also

Other Resources

Downloadable book: Upgrading to SharePoint Server 2010
Resource Center: Upgrade and Migration for SharePoint Server 2010


Verify upgrade and review upgraded sites (SharePoint Server 2010)
See Also

After you have performed either an in-place upgrade or a database attach upgrade to Microsoft SharePoint Server 2010, you must verify that the content was successfully upgraded to the new version. You can verify the status of the upgrade (is it still in progress, or has it been completed successfully or with errors or failures?) and then also review the upgraded sites to see whether any issues remain for you to address. When you follow these steps as part of a trial upgrade, you can use them to identify customizations that have to be reworked before you attempt to upgrade your production environment. When you upgrade your production environment, it is even more critical that you know when the upgrade was completed, which sites have been upgraded successfully, and which sites require additional work before you allow users access to them again.

In some cases, you might have to restart upgrade to finish upgrading your sites. For more information about how to restart upgrade, see Resume upgrade (SharePoint Server 2010).

In this article:

  • Verify upgrade status

  • Validate the upgraded environment

  • Review upgraded sites

Verify upgrade status

The upgrade process has several phases. For in-place upgrade, you run Setup.exe to install the new software, and then run the SharePoint Products Configuration Wizard to upgrade the configuration database and the admin content database, and then the SharePoint Central Administration Web site opens. At this point, the content upgrade process starts. There are different ways to check the status of the upgrade process during each of these phases: You can review log files for Setup.exe, for the SharePoint Products Configuration Wizard, and for the content upgrade. In SharePoint Central Administration, you can view the version number to make sure that it is correct for the version that you upgraded to. Also, you can use the Upgrade Status page in SharePoint Central Administration or the localupgradestatus operation in Stsadm to find out which sites have been — or are currently being — upgraded. If upgrade was not successfully completed, you can view the log files to find the issues, address them, and then restart the upgrade process.

Review the log files

To verify that upgrade has succeeded, you can review the following log and error files:

  • The Setup.exe log file for SharePoint Server 2010.

    The Setup log file is stored in the temp directory for the user account that is running Setup (%USERTEMP% or %WINDIR%\Users\user account\AppData\Local\Temp). It is named SharePoint Server Setup(YYYYMMDDHHMMSSSSS).log, where YYYYMMDD is the date and HHMMSSSSS is the time (hours in 24-hour clock format, minutes, seconds, and milliseconds).

  • The SharePoint Products Configuration Wizard (Psconfig.exe) log file.

    The Psconfig.exe log files are located at %COMMONPROGRAMFILES%\Microsoft Shared\Web server extensions\14\LOGS. The logs are named in the following format: PSCDiagnostics_MM_DD_YYYY_HH_MM_SS_SSS_randomnumber.log, where MM_DD_YY is the date and HH_MM_SS_SSS is the time (hours in 24-hour clock format, minutes, seconds, and milliseconds), and the random number is used to differentiate between possible simultaneous attempts to run the Psconfig.exe program.

  • The upgrade log file and the upgrade error log file.

    The upgrade log file and the upgrade error log file are located at %COMMONPROGRAMFILES%\Microsoft Shared\Web server extensions\14\LOGS. The logs are named in the following format: Upgrade-YYYYMMDD-HHMMSS-SSS.log, where YYYYMMDD is the date and HHMMSS-SSS is the time (hours in 24-hour clock format, minutes, seconds, and milliseconds). The upgrade error log file combines all errors and warnings into a shorter file and is named Upgrade-YYYYMMDD-HHMMSS-SSS-error.log.

To review the log files to find and troubleshoot issues, start at the top of the files. Errors or warnings may be repeated if they occur for several site collections in the environment, or if they block the upgrade process completely. For example, if you cannot connect to the configuration database, the upgrade process will try (and fail) several times and these attempts will be listed in the log file.

To review the log files

  1. Verify that you have the following administrative credentials:

    • To view the log files, you must be a member of the local Administrators group on the server.

  2. In Windows Explorer, change to the directory that contains the log file that you want to view.

  3. Use a text editor to open the log file.

  4. In the upgrade log file, search, or visually scan, for the following entry:

    Upgrade session finished successfully!

    If you find this entry, the installation was successful.

  5. If you do not find the entries from the previous step in the upgrade log file, or if you are reviewing one of the other log files, you can identify specific issues that may have contributed to a failure by searching, or visually scanning, through the file for the following terms:

    • Search for ERROR in the log files to find any failures (such as failing components and faulty database connections).

    • Search for WARNING to find issues such as missing features or components.

To find issues, you may find it useful to use a log parser to run queries against the log files.

If you find blocking issues in the log file, you can resolve the issues and then restart upgrade to continue with the process.

Verify the version number

In addition to viewing the upgrade log file, you can verify that the upgrade was successful by using the SharePoint Central Administration Web site to view the version number on the Servers in Farm page.

To verify the version number on the Servers in Farm page

  1. Verify that you have the following administrative credentials:

    • To use SharePoint Central Administration, you must be a member of the Farm Administrators group.

  2. On the Central Administration Home page, under System Settings, click Manage servers in this farm.

  3. Under Farm Information, next to Configuration database version, verify that the number starts with "14".

Check upgrade status for sites

To find out which sites have been upgraded or are currently being upgraded, you can use either the Upgrade Status page in SharePoint Central Administration or the localupgradestatus operation in Stsadm.exe.

The Upgrade Status page lists the upgrade sessions and gives details about the state of each session — whether it succeeded or failed, and how many errors or warnings occurred for each server. The Upgrade Status page also includes information about the log and error files for the upgrade process and suggests remedies for issues that might have occurred.

To see which sites were missed or skipped during upgrade, you can use the localupgradestatus operation in Stsadm.exe. You must run the command on every front-end Web server in a server farm.

To view upgrade status in SharePoint Central Administration

  1. Verify that you have the following administrative credentials:

    • To use SharePoint Central Administration, you must be a member of the Farm Administrators group.

  2. On the Central Administration Home page, under Upgrade and Migration, click Check upgrade status.

To view upgrade status from the command line

  1. Verify that you have the following administrative credentials:

    • To use Stsadm, you must be a member of the local Administrators group on the server.

  2. Click Start, right-click Command Prompt, and then click Run as administrator.

  3. In the Command Prompt window, navigate to the following directory:

    %COMMONPROGRAMFILES%\Microsoft Shared\Web Server Extensions\14\bin

  4. Type the following command and press ENTER:

    Stsadm -o localupgradestatus

For more information about the localupgradestatus operation, see Localupgradestatus: Stsadm operation (Office SharePoint Server).

Validate the upgraded environment

After you have determined that upgrade was completed successfully, take time to validate your environment. Review the following items:

  • Service applications

    • Are they configured correctly?

    • Are the service application proxies configured the way that you want?

    • Do you have to create new connections between farms?

  • My Sites

    • Are all the Web Parts working?

    • Are all features associated with the My Sites working?

    • Can users access the sites, or are they seeing "Access Denied" errors?

      If the My Site host that they are visiting is not the default My Site host, they may see this error. Check that the service application and proxy associations are correct, and then check that the My Site host is referenced correctly in the User Profile service application. Reset Internet Information Services (IIS) to apply any changes.

  • Search

    • Run a crawl, and review the log files.

    • Run search queries, and verify that the queries work as expected and provide appropriate results. Twenty-four hours later, view the query reports and look for issues.

    • Search for people and profiles.

    • Check any Search customizations to make sure that they work as expected.

Review upgraded sites

Review your upgraded sites to identify any issues that must be addressed before you run the upgrade process on your production environment. If you performed an in-place upgrade and chose to use Visual Upgrade, you can use the Visual Upgrade feature to preview the sites in the new user interface. For more information about previewing sites using Visual Upgrade, see Manage visual upgrade (SharePoint Server 2010).

If you want to verify basic functionality, you can create a new site collection by using a representative set of lists, libraries, Web Parts, and so on. Review the new site to make sure that the common, basic elements of your sites are working.

If pages are not rendered, you can check the Site Settings page by going directly to the URL (http:// siteurl/_layouts/settings.aspx). If the Site Settings page works and the upgrade has succeeded, there might be issues with the master page or home page. If the Site Settings page does not work, go to the log file to see whether you can get more information about the problem.

Begin by validating high-impact or high-profile sites, and then move on to lower-priority sites. As part of the planning process, you should have identified which sites are high-impact and high-profile and require immediate attention, and which can wait a bit longer.

Use the following checklists to review your upgraded sites and look for issues.

Web Parts

The following table lists issues with Web Parts that can occur after upgrade and how to address them.

Tip:

To test your Web Parts quickly, you can build a new Web Part page that contains all of your custom Web Parts before you test your upgrade, and then review the page for any missing or broken Web Parts after the trial upgrade.

What to check What to do if there is a problem

Do all the Web Parts from your original site appear in your upgraded site?

If a Web Part zone exists in a customized (unghosted) page, but not in the site definition, the Web Parts from that Web Part zone may have been moved into the bottom zone on the page during the upgrade.

Either in Edit Mode for the page in the browser or in Microsoft SharePoint Designer 2010, look for missing Web Parts in the bottom zone or other zones, or check to see whether the Web Parts have been closed. For more information about how to work with Web Parts and Web Part zones in SharePoint Designer 2010, see the SharePoint Designer Help system.

Are the Web Parts displayed correctly (in the correct zone, location, and size)?

Either in Edit Mode for the page in the browser or in SharePoint Designer 2010, drag the Web Part into the correct zone or modify the Web Part properties to correct any sizing or positioning problems.

Are there any extra or missing Web Parts?

Open the page either in Edit Mode for the page in the browser or in SharePoint Designer 2010. If you see extra Web Parts on your page, look for closed or inactive Web Parts on the original version of the page. Were the closed or inactive Web Parts opened by the upgrade process? If so, you can modify the Web Part properties to close these Web Parts.

If Web Parts are missing, look for errors in SharePoint Designer 2010 such as "Error Rendering Control" or "Missing Assembly." These errors indicate that the Web Part was not installed or was configured incorrectly for the new environment and must be reinstalled or reconfigured.

Do the Web Parts work correctly?

Open the page either in Edit Mode for the page in the browser or in SharePoint Designer 2010, and look for errors that indicate that a component or service is missing. Make sure that any components or services that the Web Parts rely on exist in the upgraded site. Particularly for the database attach upgrade approach, you must make sure that you have installed all the components or services that you must have for your Web Parts, and that you have configured them correctly (for example, you have configured the Web.config Safe Controls list).

Update and redeploy any Web Parts that exist but no longer function correctly.

Are any Web Parts pages still checked out?

If you check out a page to make changes, make sure that you check in the page again.

Are your Excel Web Access Web Parts working correctly? Did you re-create your connections correctly? Are external data sources still working?

Verify all connections and external data sources.

Tip:

If you have problems with a Web Part, append contents=1 to the end of the URL syntax (http:// siteurl/default.aspx?contents=1), and then press ENTER. This opens the Web Part Maintenance page where you can remove and repair the broken Web Part.

Large lists

By default, large list query throttling is applied after an upgrade to SharePoint Server 2010. If a list is very large, and users use a view or perform a query that exceeds the limit or throttling threshold, the view or query will not be permitted. Check any large lists in your environment and have the site owner or list owner address the issue. For example, they can create indexed columns with filtered views, organize items into folders, set an item limit on the page for a large view, or use an external list.

Styles and appearance

The following table lists common issues with the style and appearance of your Web site after upgrade and how to address them.

Tip:

Most of the issues in this section can be solved by correcting the links to an item.

What to check | What to do if there is a problem
Are all the images on your pages displayed correctly? | Verify or fix the links to the images.
Are the appropriate cascading style sheet colors and styles used in the appropriate locations? | Verify or fix the links to the cascading style sheet file. Verify the link on the master page.
Does the theme that you applied to your site still look the same? | Your site's home page, or other pages on your site, may look different after the site is upgraded. You may have to re-create or revise a theme and reapply it.
Do you have any scripted controls that are not working? | Verify or fix the links to the controls.
Are your pages displayed correctly in Windows Internet Explorer 8? | Verify that any HTML on the page is in strict XHTML mode.
Are any script errors displayed on any pages? | Verify the scripts and links, and verify that any HTML is in strict XHTML mode.

Permissions

Do the appropriate people and groups still have the correct level of permissions to sites, pages, lists, and items?

You can use the Check Permissions button in the Permission Tools section of the ribbon to see who has permissions to which items in a site or subsite.

Customized (unghosted) pages

Customized (unghosted) pages are pages that have been edited and are now unique versions of the pages, instead of the default template pages. The following table lists issues with customized pages that can occur after upgrade and how to address them.

What to check What to do if there is a problem

Are your customizations still in the correct locations?

Determine whether you have only one issue or a larger problem with the whole page.

If you added a brand new page to your original site (for example, if you replaced Default.aspx with a different file instad of changing the existing Default.aspx file), the new page has no association with the site definition. Therefore, it might not resemble the other pages on the upgraded site — nor can it be reset to resemble them. If you want your customized page to have the same look and feel as the other pages on your site, consider creating a brand-new page that is based on the site definition and then transferring your customizations to that new page.

Can you still access the editing controls on the pages?

If you customized the editing controls (for example, the Site Actions link or the Edit Page link), check whether they still appear. If they don't appear, you can replace them with the editing controls of the new version by resetting the page to the default version.

Use the Reset to Template command in SharePoint Designer to reset the page to the default version (also known as reghosting). After you have restored the default page, you can then reapply your customizations in the browser by applying a different master page, or by reapplying the customizations in SharePoint Designer.

Are your customizations still appropriate in the new environment, or do you want to update to the new functionality and look?

If you want the new functionality and features, you must reset any customized pages to use the template. Resetting the page basically discards the customizations and attaches your page to the appropriate master page. Any customizations you want can then be transferred to the master page instead of being stored in individual pages.

Use the Reset to Template command in SharePoint Designer to reset the page to the default version (that is, reghost it). After you have restored the default page, you can then reapply your customizations in the browser by applying a different master page, or by reapplying the customizations in SharePoint Designer.

Are any pages still checked out?

If you check out a page to make changes, make sure that you check in the page again.

See Also

Concepts

Resume upgrade (SharePoint Server 2010)
Troubleshoot upgrade issues (SharePoint Server 2010)

Other Resources

Downloadable book: Upgrading to SharePoint Server 2010
Resource Center: Upgrade and Migration for SharePoint Server 2010


Manage visual upgrade (SharePoint Server 2010)
See Also

This article provides procedures related to the Visual Upgrade feature. When you upgrade from Microsoft Office SharePoint Server 2007 to Microsoft SharePoint Server 2010, you can choose to use the Visual Upgrade feature to give site collection owners and site owners the opportunity to preserve the previous user interface temporarily. This allows them to update customizations to work in the new user interface. For a full description of Visual Upgrade and related choices, see Plan visual upgrade (SharePoint Server 2010).

In this article:

  • About using Visual Upgrade

  • View status of current user interface

  • Revert sites to previous user interface

  • Force an upgrade to the new user interface

  • Site owner options for visual upgrade

About using Visual Upgrade

When you upgrade, either by using in-place upgrade or by using the database attach upgrade method, you can choose to use Visual Upgrade.

During an in-place upgrade, you make the choice to use Visual Upgrade as a step in the SharePoint Products Configuration Wizard. The visual upgrade feature is not available in the SharePoint Products Configuration Wizard if you are performing an upgrade on a stand-alone server with built-in database. However, the Visual Upgrade feature is available in this case from the Psconfig command-line tool. You can then use the syntax: psconfig.exe -cmd upgrade [-preserveolduserexperience <true|false>].

During a database attach upgrade, the choice to update to the new user experience or stay in the old user experience is accomplished by using either:

  • The Updateuserexperience parameter of the Mount-SPContentDatabase Windows PowerShell cmdlet.

  • The preserveolduserexperience parameter of the addcontentdatabase Stsadm operation.

For additional information about using these parameters during an upgrade, see Attach databases and upgrade to SharePoint Server 2010.

View status of current user interface

You can view the current user interface status by generating a list of all Web sites in a site collection and their corresponding visual upgrade data. This is useful if you have set a time limit by which site owners must have prepared their sites for the new user interface and you want to monitor their progress. The following procedure shows you how to view the current user interface status.

To view status of current user interface by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell command prompt, type the following command:

    Copy Code
    $sc = Get-SPSite http://machinename/sites/collectionname; $sc.GetVisualReport() | Format-Table

For more information, see Get-SPSite.

Revert sites to previous user interface

If a site collection owner or site owner finalizes the new user interface by mistake, or if they have a problem that they cannot solve, you can revert back to the previous user interface by using Windows PowerShell. This procedure shows you how to revert one or all sites in a site collection to the previous user interface.

To revert sites to the previous user interface by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. To revert a specific site in a site collection to the previous UI, at the Windows PowerShell command prompt, type the following command:

    Copy Code
    Get-SPSite http://machinename/sites/V3UI | Get-SPWeb "webname" | Foreach{$_.UIVersionConfigurationEnabled=1;$_.UIVersion=3;$_.Update();}

    To reverts all sites in a site collection to the previous user interface, at the Windows PowerShell command prompt, type the following command:

    Copy Code
    Get-SPSite http://machinename/sites/V3UI | Foreach{$_.UIVersionConfigurationEnabled=1;$_.UIVersion=3;$_.Update();}

For more information, see Get-SPSite.

Force an upgrade to the new user interface

If you want to forcibly apply the new user interface after an upgrade has taken place, you might first want to give site collection owners and site owners a specified time during which they can preview the new user interface and fix any issues they might have. When you force an upgrade to the new user interface, you can use a script or use the SharePoint Products Configuration Wizard during the initial upgrade. For information about upgrade and the SharePoint Products Configuration Wizard, see Run the SharePoint Products Configuration Wizard. The following procedure shows you how to programmatically upgrade all site collections and all sites to the new user interface.

To force through an upgrade to the new user interface by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell command prompt, type the following command:

    Copy Code
    $webapp = Get-SPWebApplication http://sitename
    Copy Code
    foreach ($s in $webapp.sites)
    Copy Code
    {$s.VisualUpgradeWebs() }

For more information, see Get-SPWebApplication

To upgrade a single site collection to the new user interface, type the following commands at the Windows PowerShell command prompt:

Copy Code
$site = Get-SPSite http://server
Copy Code
$site.VisualUpgradeWebs()

To upgrade a single site to the new user interface, type the following commands at the Windows PowerShell command prompt:

Copy Code
$web = Get-SPWeb http://server/site
Copy Code
$web.UIVersion = 4
Copy Code
$web.UIVersionConfigurationEnabled = 0
Copy Code
$web.Update()

Site owner options for visual upgrade

The site owner can use the Site Setting user interface to toggle between the Use the previous user interface and Preview the updated user interface options. Once the site owner is satisfied with how the site looks, the new UI can be finalized by selecting the Update the user interface option.

The following table describes the different upgrade options that are available for the site owner to choose for their sites. The upgrade modes are available from the Site Settings page in the Title, Description, and Icon section.

Mode type | Description
Use the previous user interface | Site owners use this mode to have all their sites use the interface from Microsoft Office SharePoint Server 2007.
Preview the updated user interface | Site owners use this mode to evaluate how their sites will look and function in the new interface. When this mode is chosen, features from the previous version interface will not be available.
Update the user interface | Site owners use this option when they are satisfied with the changes and are ready to switch to the new user interface. If needed, an administrator can restore the user interface to the previous version interface.

See Also

Concepts

Plan visual upgrade (SharePoint Server 2010)

Other Resources

Downloadable book: Upgrading to SharePoint Server 2010
Resource Center: Upgrade and Migration for SharePoint Server 2010


Upgrade from other versions or other products (SharePoint Server 2010)
See Also

Published: June 10, 2010

This section contains information about how to upgrade to Microsoft SharePoint Server 2010 from related SharePoint products.

In this section:

  • Upgrade from SharePoint Portal Server 2003 to SharePoint Server 2010

    Understand using database attach upgrades to upgrade your content from Microsoft Office SharePoint Portal Server 2003 to SharePoint Server 2010.

  • Upgrade from SharePoint Foundation 2010 to SharePoint Server 2010

    Follow the steps in this article to upgrade your content from Microsoft SharePoint Foundation 2010 to SharePoint Server 2010 by using either the in-place or database attach upgrade methods, and then apply the new features to existing sites.

  • Upgrade paths from Search Server 2008 or Search Server 2008 Express

    Learn about supported and unsupported upgrade paths.

  • Upgrade from a SharePoint Server 2010 Standard CAL to an Enterprise CAL

    Find out how you upgrade from a Standard to an Enterprise edition of SharePoint Server 2010.

  • Upgrade from a trial version of SharePoint Server 2010

    Use the procedure in this article to upgrade from a trial version to a licensed edition of SharePoint Server 2010.

For descriptions of additional cross-product upgrade paths that are allowed, see the following articles:

  • Review supported and unsupported upgrade paths (SharePoint Server 2010)

  • Determine upgrade approach (SharePoint Server 2010)

See Also

Other Resources

Downloadable book: Upgrading to SharePoint Server 2010
Resource Center: Upgrade and Migration for SharePoint Server 2010


Upgrade from SharePoint Portal Server 2003 to SharePoint Server 2010
See Also

You cannot upgrade directly from Microsoft Office SharePoint Portal Server 2003 to Microsoft SharePoint Server 2010.

The changes between versions are too great, and the hardware requirements differ so much between versions that a direct, in-place upgrade is not possible or supported. You can, however, perform a series of database attach upgrades to first upgrade your content to Microsoft Office SharePoint Server 2007 and then to SharePoint Server 2010. This article describes the process of performing this double-database attach upgrade. In addition, this article describes the steps that you have to complete to support Web browsers during and after the upgrade process.

Note:

During this entire process, your old environment should be offline, to prevent users from making changes in the old environment while you are upgrading. After you have finished and validated the upgrade, you can grant access to your users again in the SharePoint Server 2010 environment.

In this article:

  • Process overview

  • Before you begin

  • Prepare to upgrade

  • Prepare your farms

  • Perform the first upgrade

  • Perform the second upgrade

Process overview

Because this upgrade approach combines two upgrade processes that have already been documented, this article describes how the steps from each process fit together into the overall process. It does not provide details for every step, because those steps are available in the following articles:

  • Deploy a new server farm, then migrate content databases (Upgrade)

  • Attach databases and upgrade to SharePoint Server 2010

These articles, combined with this roadmap, give you the information you need to perform the double-database attach upgrade.

Important:

Make sure that you try out this entire process in a test environment before you attempt to upgrade your actual live content. For more information about how to test your upgrade processes, see the following content:

  • Use a trial upgrade to find potential issues (Office SharePoint Server)

  • Use a trial upgrade to find potential issues (SharePoint Server 2010) and the Test your upgrade process model on TechNet.

Upgrade sequence

To upgrade your content across the two versions, follow these steps.

  1. Prepare to upgrade

    1. Prepare your original farm by running the pre-upgrade scan tool and making an inventory of all of your customizations.

    2. Upgrade Web browsers in your organization.

    3. Set up a small, temporary farm that is running Office SharePoint Server 2007.

    4. Set up your full SharePoint Server 2010 farm, and verify that it is configured and running correctly.

  2. First upgrade: Upgrade the content to Office SharePoint Server 2007

    1. Detach the content databases from the old farm, and then take that farm offline.

      Alternatively, you can leave the databases attached and make a copy of the databases if you want to ensure that your original farm can be restored to use quickly.

    2. Attach the content databases to the Office SharePoint Server 2007 farm and upgrade them.

    3. Verify that the content has been upgraded and that the Office SharePoint Server 2007 farm is working correctly.

  3. Second upgrade: Upgrade the content to SharePoint Server 2010

    1. Detach the content databases from the Office SharePoint Server 2007 farm.

    2. Attach the content databases to the SharePoint Server 2010 farm and upgrade them (optionally, you can upgrade them in parallel).

    3. Verify that the content was upgraded and that the SharePoint Server 2010 farm is working correctly.

  4. Start serving requests on the SharePoint Server 2010 farm

The following diagrams illustrate this process:

The database attach upgrade to Office SharePoint Server 2007.

Database attach to Office SharePoint Server 2007

The database attach upgrade to SharePoint Server 2010.

Database attach to SharePoint Server 2010

Before you begin

Before you begin your upgrade, review the following information about permissions, hardware requirements, and software requirements. Follow the specified steps to install or configure prerequisite software or to modify settings.

Review required permissions

  • When you create your temporary environment for Office SharePoint Server 2007, you must have the appropriate permissions. For more information, see Plan for administrative and service accounts (Office SharePoint Server).

  • When you create and configure your destination SharePoint Server 2010 farm, you must have the appropriate permissions. For more information, see Initial deployment administrative and service accounts (SharePoint Server 2010).

Review required hardware and software

  • When you create your temporary environment for Office SharePoint Server 2007, you must meet specific hardware and software requirements. For more information, see Determine hardware and software requirements (Office SharePoint Server).

  • When you create and configure your destination SharePoint Server 2010 farm, you must meet different hardware and software requirements. For more information, see Hardware and software requirements (SharePoint Server 2010).

In some environments, you must coordinate the procedures for moving databases to a separate farm with the database administrator. Make sure that you follow any applicable policies and guidelines for handling databases.

Prepare to upgrade

Because you are performing two upgrades, you need to understand all of the steps involved both in upgrading to Office SharePoint Server 2007 and to SharePoint Server 2010. The following content is available to help you understand these upgrade processes:

Prepare to upgrade to Office SharePoint Server 2007

  • Read the Plan and prepare for upgrade chapter on TechNet. In particular, read the following articles:

    • How the upgrade process works (Office SharePoint Server)

    • Determine how to handle customizations (Office SharePoint Server)

    • Develop new custom site definitions and create upgrade definition files (Office SharePoint Server)

  • Read the Perform pre-upgrade steps chapter on TechNet. You must perform the following steps for a database attach upgrade (called database migration in this version):

    • Install Service Pack 3 for Windows SharePoint Services 2.0 and SharePoint Portal Server 2003

    • Run the pre-upgrade scan tool (Office SharePoint Server)

    Important:

    You follow these steps on your existing SharePoint Portal Server 2003 farm.

Prepare to upgrade to SharePoint Server 2010

  • Plan and prepare for upgrade. Read the following article on TechNet:

    • Upgrade process overview (SharePoint Server 2010)

  • Perform pre-upgrade steps. Read the following article on TechNet:

    • Run the pre-upgrade checker (SharePoint Server 2010)

    Important:

    You perform these steps on your temporary Office SharePoint Server 2007 farm.

Prepare your farms

In this step, you follow the pre-upgrade steps on your existing farm, upgrade the Web browsers in your organization, create your temporary farm for the upgrade to Office SharePoint Server 2007, and create your destination SharePoint Server 2010 farm. Use the following steps and related content when you prepare your farm for the upgrades.

Perform pre-upgrade steps on your existing farm

For information, see Perform pre-upgrade steps.

Upgrade Web browsers in your organization

SharePoint Portal Server 2003 and SharePoint Server 2010 support different versions of Internet Explorer and other popular Web browsers. You should review the details of the Web browser that you have or plan to use in your organization to ensure that the Web browser works with SharePoint Server 2010 and according to your business needs. For information about Web browsers supported by SharePoint Server 2010, see Plan browser support (SharePoint Server 2010). If you use Internet Explorer 6 or earlier, you must upgrade the Web browsers on your organization's computers before you upgrade the farm.

For the best user experience and to maintain backward compatibility, you should upgrade your organization's computers to Windows 7 and Internet Explorer 8. You can use Windows XP and Internet Explorer 8 with SharePoint Portal Server 2003, however, the Rich Text Editor in the Content Editor Web Part will not work. By default, when you use Internet Explorer 8 to connect to a fully up-to-date deployment of SharePoint Portal Server 2003 that is in the local intranet zone, Internet Explorer is automatically configured as follows:

  • Browser mode is set to EmulateIE7

  • Document mode is set to quirks

This combination of settings allows the browser to display content in IE5 mode, maintaining backward compatibility with SharePoint Portal Server 2003, provided no DOCTYPE is set on the pages. By default, DOCTYPE is not set for SharePoint Portal Server 2003 pages. If a DOCTYPE is set on the pages, you must manually configure these modes. For instructions, see Advanced Solutions: Some Web sites may not be displayed correctly or work correctly in Internet Explorer 8 (http://go.microsoft.com/fwlink/p/?LinkId=209852). For more information about browser compatibility modes, see Defining Document Compatibility (http://go.microsoft.com/fwlink/p/?LinkId=209853), and for Windows 7, also see Mitigation Strategies and Solutions (http://go.microsoft.com/fwlink/p/?LinkId=209854).

Create the temporary Office SharePoint Server 2007 farm

In a virtual or physical environment, create a temporary small farm that is running Office SharePoint Server 2007 with Service Pack 2 (SP2) and the October 2009 Cumulative Update. You will use this farm to upgrade your content to Office SharePoint Server 2007 on the way to SharePoint Server 2010.

Tip:

For best results, we recommend that you apply the latest updates to the environment. The October 2009 Cumulative Update includes changes to the pre-upgrade checker that can help identify issues before upgrade. For a list of available updates, see Update Center for Microsoft Office, Office Servers, and Related Products (http://go.microsoft.com/fwlink/p/?LinkID=181115). For more information about applying updates, see Updates Resource Center for SharePoint Products and Technologies (http://go.microsoft.com/fwlink/p/?LinkID=181116).

  1. Download the software for the temporary farm.

    You can use the trial version of Microsoft Office SharePoint Server 2007 in this temporary environment if you do not have a license agreement for the full product. The trial version can be used for 180 days. Download the trial version at one of the following links:

    • x86 version: Download details: SharePoint Server 2007 Trial Version (http://go.microsoft.com/fwlink/p/?LinkID=120683)

    • x64 version: Download details: SharePoint Server 2007 Trial Version (x64) (http://go.microsoft.com/fwlink/p/?LinkID=120684)

  2. Install any language template packs needed for your sites. For more information, see Install available language template packs (Office SharePoint Server).

  3. Configure the farm by using the appropriate farm settings for your environment and reapplying all of the customizations needed by your content. Make sure that you deploy the customizations and the upgrade definition files needed for any custom site definitions that might exist in your environment. You must create Web applications on the temporary farm for every virtual server that you had in your original farm. The URL for the new Web applications should match either the source farm URLs or the destination farm URLs, otherwise you risk adding references to additional temporary URLs to the content. Ideally, you should use the same URLs for the source farm and destination farm, so that the temporary farm URLs are exactly the same as well, including the port numbers used.

    For more information about configuring the farm, see Prepare the new Microsoft Office SharePoint Server 2007 environment. For more information about deploying custom site definitions and upgrade definitions, see Deploy upgrade definition files and new site definitions (Office SharePoint Server).

Set up your full SharePoint Server 2010 farm

This is the farm you will use for your production environment eventually, so make sure that you plan your infrastructure appropriately to support the solution you are hosting. For more information about how to plan your server farm, see Plan for server farms and environments (SharePoint Server 2010).

  1. Create your farm on 64-bit hardware with database servers that are running a 64-bit version of Microsoft SQL Server 2008 with Service Pack 1 (SP1) and Cumulative Update 2. For more information, see Multiple servers for a three-tier farm (SharePoint Server 2010).

  2. Install any language template packs needed for your sites. For more information, see Install available language template packs (SharePoint Server 2010).

  3. Configure the farm by using the appropriate farm settings for your environment and reapplying all of the customizations needed by your content. Again, you must create Web applications on the destination farm for every virtual server that you had in your original farm.

    For more information about how to create and configure a server farm for a database attach upgrade, see Prepare the new SharePoint Server 2010 environment for a database attach upgrade.

Perform the first upgrade

With your farms set up and configured, you are ready to upgrade your content databases to Office SharePoint Server 2007.

Important:

Make sure that you have run the pre-upgrade scan tool on your original farm before you detach the databases. The upgrade process will not run if you have not scanned the databases. For more information, see Run the pre-upgrade scan tool (Office SharePoint Server).

To perform a database attach upgrade (called database migration for this version), follow these steps:

  1. Back up the content databases.

    Content databases are any databases that use the suffix "_site".

  2. Restore the backed-up copies to your temporary farm.

  3. Add the databases to the Web applications to start the upgrade process.

For complete information and steps to follow, see Migrate databases.

After upgrade, you also need to import the profile information. For more information, see the section "User profiles: start a full import" in Perform post-upgrade steps for an in-place upgrade.

Verify the first upgrade

To verify the upgrade, do the following:

  • Review the upgrade log file. For more information, see Migrate databases.

  • Review the upgraded sites to make sure that they still work as expected and that your Web Parts and other custom elements work correctly.

Perform the second upgrade

After you have verified that your sites work correctly, you can begin the upgrade to SharePoint Server 2010.

Important:

Run the pre-upgrade checker and review the report so that you can address any potential issues on your temporary farm before you upgrade the content. For more information, see Run the pre-upgrade checker (SharePoint Server 2010).

To perform the database attach upgrade, follow these steps:

  1. Back up the content databases.

  2. Restore the backed-up copies to your destination farm.

  3. Add the databases to the Web applications to start the upgrade process. In SharePoint Server 2010, you can attach databases in parallel to speed up the upgrade process.

For complete information and steps to follow, see Attach databases and upgrade to SharePoint Server 2010.

Verify the second upgrade

To verify the upgrade, do the following:

  • Review the upgrade log file.

  • Review the upgraded sites to make sure that they still work as expected and that your Web Parts and other custom elements work correctly.

For more information, see Verify upgrade and review upgraded sites (SharePoint Server 2010).

See Also

Other Resources

Downloadable book: Upgrading to SharePoint Server 2010
Resource Center: Upgrade and Migration for SharePoint Server 2010


Upgrade from SharePoint Foundation 2010 to SharePoint Server 2010
See Also

Published: June 10, 2010

If you are running Microsoft SharePoint Foundation 2010 and have decided that you need the functionality of Microsoft SharePoint Server 2010, you can upgrade from SharePoint Foundation 2010 to SharePoint Server 2010. You can upgrade by using either the in-place or database attach upgrade approaches. To upgrade in place, you install SharePoint Server 2010 over SharePoint Foundation 2010 and then perform the additional configurations that SharePoint Server 2010 requires. To upgrade by using the database attach upgrade approach, you create a separate environment to run SharePoint Server 2010. Then you copy the content databases to that environment, attach the databases, and upgrade the data.

In this article:

  • Before you begin

  • Upgrade in place from SharePoint Foundation 2010 to SharePoint Server 2010

  • Attach databases and upgrade from SharePoint Foundation 2010 to SharePoint Server 2010

  • Enable new features on existing sites and subsites

We recommend that you perform a trial upgrade on a test environment before you upgrade the production environment. For more information, see Use a trial upgrade to find potential issues (SharePoint Server 2010). Before you begin, make sure that you back up the whole environment, including any custom templates, features, or solutions that you are using. For more information, see Back up the entire environment before an in-place upgrade (SharePoint Foundation 2010). You should also communicate with the users before you make this change so that they can be aware of how their sites will change and how long their sites might be unavailable while you perform these steps. For more information, see Create a communication plan (SharePoint Foundation 2010).

Because SharePoint Server 2010 has many more capabilities and features than SharePoint Foundation 2010, you should spend some time planning which capabilities you want to take advantage of in your current sites; which new sites you want to create; and how to keep the new environment available, secure, and performing well. For more information, see Planning and architecture for SharePoint Server 2010.

Before you begin

Before you begin the upgrade, review the following information about permissions, hardware requirements, software requirements, and steps to perform before you begin the process.

  • Ensure that you have met all hardware and software requirements. You must have a 64-bit version of Windows Server 2008 or Windows Server 2008 R2. For server farms, you must also have a 64-bit version of SQL Server 2005 or SQL Server 2008. For more information about these requirements (such as specific updates that you must install), see Determine hardware and software requirements (SharePoint Server 2010).

  • Ensure that you are prepared to set up the required accounts by using appropriate permissions. For detailed information, see Administrative and service accounts required for initial deployment (SharePoint Server 2010).

  • Ensure that the account that you use to run the SharePoint Products Configuration Wizard for an in-place upgrade, or to attach the databases for a database attach upgrade, is a member of the db_owner fixed database role for all the databases that you want to upgrade.

  • For a database attach upgrade, check for and repair any database consistency errors. For more information, see Database maintenance for Windows SharePoint Services 3.0 (white paper).

Upgrade in place from SharePoint Foundation 2010 to SharePoint Server 2010

To install and configure SharePoint Server 2010, you run Setup on all Web servers in the server farm. Then you install any language packs, and then run the SharePoint Products Configuration Wizard to begin upgrading the data. Then, you use the Farm Configuration Wizard to select the service applications that you want to use and enable the new features for existing sites.

Note:

If you are using the detach databases hybrid approach for upgrading, you should detach your content databases before you run Setup. For more information about how to detach databases, see Roadmap: in-place upgrade with detached databases (SharePoint Server 2010).

We recommend that you back up the environment before you begin the upgrade process. For more information, see Back up the entire environment before an in-place upgrade (SharePoint Foundation 2010).

Important:

If you are running an in-place upgrade on a server farm, disconnect all the users from the server farm by stopping the World Wide Web Publishing Service (W3SVC) on all Web servers. If you allow users in a server farm to connect after the files and databases have been upgraded on one Web server, but before the other Web servers have been upgraded, users will be unable to browse the Web sites.

To install SharePoint Server 2010

  1. Run Setup.

  2. On the Enter your Product Key page, type your product key, and then click Continue.

  3. On the Read the Microsoft Software License Terms page, review the terms, select the I accept the terms of this agreement check box, and then click Continue.

  4. On the Choose a file location page, click Install Now.

    Setup runs and installs SharePoint Server 2010.

  5. On the completion page, clear the Run the SharePoint Products Configuration Wizard now check box, and then click Close.

Before you run the SharePoint Products Configuration Wizard:

  • Ensure that the account you use to run the SharePoint Products Configuration Wizard is a member of the db_owner fixed database role for all the databases that you want to upgrade. If it is not, you might see an error about an unknown user account when the wizard starts to upgrade the databases.

  • Be sure that you have installed any language packs for SharePoint Server 2010. For more information, see Install available language template packs (SharePoint Server 2010).

  • Be sure that you have updated all the servers in your farm with the same updates and service packs. If you have different levels of updates applied, you might see a message about missing updates.

If you are upgrading a single server, you can run the SharePoint Products Configuration Wizard on only that server and start to upgrade content. If you are upgrading a server farm, first run the SharePoint Products Configuration Wizard on the server that is running the SharePoint Central Administration Web site. Pause the wizard and run the wizard on the other servers in the farm, and then return to the first server to complete the wizard. It is important to upgrade Central Administration before you attempt to upgrade any other content in the farm, and completing the wizard on the server that is running Central Administration enables you to do so.

Caution:

After you run the SharePoint Products Configuration Wizard, SharePoint Foundation 2010 will no longer be available. You cannot pause or roll back the setup and upgrade process. Be sure that you have a current and valid backup of your environment before you proceed with installation of SharePoint Server 2010.

To run the SharePoint Products Configuration Wizard

  1. Click Start, point to All Programs, point to Administrative Tools, and then click SharePoint Products Configuration Wizard.

  2. In the SharePoint Products Configuration Wizard, on the Welcome to SharePoint Products page, click Next.

    A message appears that notifies you that Internet Information Services (IIS), the SharePoint Administration Services v4, and the SharePoint Timer Service v4 may need to be restarted or reset during configuration.

  3. Click Yes.

  4. On the Completing the SharePoint Products Configuration Wizard page, verify the settings, and then click Next.

    The SharePoint Products Configuration Wizard runs and configures the configuration database and Central Administration for SharePoint Server 2010.

  5. On the Configuration Successful page, review the settings that have been configured, and then click Finish.

    Note:

    If the SharePoint Products Configuration Wizard fails, check the PSCDiagnostics log files and the upgrade log files, which are located on the drive on which SharePoint Server 2010 is installed, in the %COMMONPROGRAMFILES%\Microsoft Shared\Web Server Extensions\14\LOGS folder. For more information about viewing these log files, see Verify upgrade status.

    The SharePoint Products Configuration Wizard closes, and Central Administration opens on the Configure your SharePoint farm page.

    In the next procedure, you use this page to configure your farm to have the service applications and services that you want to use.

  6. If you are upgrading a server farm, you can now complete the SharePoint Products Configuration Wizard on the other servers in the farm.

To run the Farm Configuration Wizard

  1. On the Configure your SharePoint farm page, click Start the Wizard.

  2. On the Configure your SharePoint farm page, in the Services section, select services that you want to use in the farm, and then click Next.

    Note:

    You cannot change the service account for your farm from this page.

    Provisioning the services might take some time.

  3. On the Create Site Collection page, click Skip.

  4. On the Configure your SharePoint farm page, review the summary of the farm configuration.

    Note:

    If you are following the detach databases hybrid approach for upgrade, you can now begin to attach content databases to upgrade them. For more information, see Roadmap: in-place upgrade with detached databases (SharePoint Server 2010).

  5. Click Close.

    The Feature Pushdown command lets you update all site collections by using the features that are available in SharePoint Server 2010. However, you might want to make these features available only in certain site collections. For information about how to control the features that you make available and the steps to enable the features for sites and subsites, see Enable new features on existing sites and subsites, later in this article.

In a server farm environment, you might want some servers to act as application servers, such as an index server. SharePoint Foundation 2010 does not have the application server role. Therefore, all servers in your farm were originally front-end Web servers. When you ran Setup, you chose a server type (either Complete for an application server, or Web Front End for a Web server) for each server in the farm. For the application servers, you now must use Central Administration to configure the appropriate services for that server. For more information about how to manage services and change your farm topology, see Service application and service management (SharePoint Server 2010) and Farm topology management (SharePoint Server 2010).

You can monitor the upgrade process for each site from the Upgrade Status page in Central Administration or by using the localupgradestatus operation in the Stsadm command-line tool. For more information, see Verify upgrade and review upgraded sites (SharePoint Server 2010).

After upgrade is completed successfully for all sites, if you stopped the World Wide Web Publishing Service (W3SVC) on all front-end Web servers before the upgrade, manually start the W3SVC on the front-end Web servers to make the Web servers available to users.

After you upgrade to SharePoint Server 2010, we recommend that you configure Search settings to crawl the content. For more information, see Configure enterprise search (SharePoint Server 2010).

Attach databases and upgrade from SharePoint Foundation 2010 to SharePoint Server 2010

If you are changing hardware when you upgrade to SharePoint Server 2010, or if you want to move your SharePoint Foundation 2010 content into an existing SharePoint Server 2010 farm, you can perform a database attach upgrade. This section provides a guide to the steps that you must perform for this type of upgrade. Further information for each step is available in the Perform a database attach upgrade to SharePoint Server 2010 section of the Upgrade Guide.

To upgrade by using the database attach method, you perform the following steps:

  1. Prepare the new environment.

    You must set up your new environment before you can attach databases and upgrade to SharePoint Server 2010. Be sure to create new Web applications in the SharePoint Server 2010 environment for each Web application in the SharePoint Foundation 2010 environment. For more information, see Prepare the new SharePoint Server 2010 environment for a database attach upgrade.

  2. Back up the databases.

    Create a backup of each database that you are going to attach. For more information, see Back up the previous version databases by using SQL Server tools.

  3. Detach the previous version databases, or create a copy of the databases.

    You can either detach the databases from the SharePoint Foundation 2010 environment or upgrade a copy of the databases. For more information, see Detach the previous version databases (standard database attach) and Restore a backup copy of the database (database attach with read-only databases).

  4. Verify custom components.

    Before you attach the content databases to the Web applications, use the Test-SPContentDatabaseWindows PowerShell cmdlet to verify that you have all the custom components that you must have for that database. For more information, see Verify custom components.

  5. Attach and upgrade the databases.

    Attach the databases to upgrade them to SharePoint Server 2010. For more information, see Attach a content database to a Web application.

  6. Verify the sites.

    After you upgrade the databases, check the upgrade status and verify the sites. For more information, see Verification: Verify upgrade for the first database.

  7. Enable new features.

    After you upgrade, you can enable the new features for your site collections.

Enable new features on existing sites and subsites

After you assign services to servers and configure shared services, you can enable the newly installed SharePoint Server 2010 features for the existing site collections on the server farm. Any new sites that you create will automatically have these features. However, existing sites do not receive the new features until you enable them. You can select one of the following:

  • Enable the new features for all site collections (all site collections get all of the new features).

  • Enable only the features that you want, and enable them only for specific site collections and subsites.

To enable the SharePoint Server 2010 features for all existing sites in your server farm, use the following procedure. You perform this procedure only once to update all sites in your server farm.

Note:

The process for enabling features for all site collections uses a SharePoint Timer Service job and may take a long time to complete, depending on the number of sites in your server farm.

Enable SharePoint Server 2010 features on all existing sites

  1. In Central Administration, click Upgrade and Migration.

  2. On the Upgrade and Migration page, click Enable Features on Existing Sites.

  3. On the Enable features on existing sites page, select the Enable all sites in this installation to use the following set of features check box, and then click OK.

    After you click OK, the Feature Enabling Status page opens. This page is periodically updated with current status.

If you do not want all site collections to have the full set of SharePoint Server 2010 features, you can enable just the features that you want for any specific site collection or subsite by using the Site Settings page for that site collection or subsite.

Note:

If you decide to enable features on a per-site basis, instead of on all existing site collections, you may have to start the features at the Web application level first. To activate features for a Web application, in Central Administration, on the Application Management page, click Manage Web applications. On the Web Application Management page, select the Web application that contains the sites, and then in the ribbon, click Manage Features. In the Manage Web Application Features dialog box, next to any features that you want that Web application to use, click Activate.

To enable specific features for a specific site collection, perform the following procedure.

Enable specific features for a specific site collection

  1. In the top-level site for the site collection, on the Site Actions menu, click Site Settings.

  2. On the Site Settings page, in the Site Collection Administration section, click Site collection features.

  3. On the Features page, next to any features that you want that site collection to use, click Activate.

To enable specific features for a specific subsite, perform the following procedure.

Enable specific features for a specific subsite

  1. In the subsite, on the Site Actions menu, click Site Settings.

  2. On the Site Settings page, in the Site Actions section, click Site features.

  3. On the Features page, next to any features that you want that subsite to use, click Activate.

See Also

Other Resources

Downloadable book: Upgrading to SharePoint Server 2010
Resource Center: Upgrade and Migration for SharePoint Server 2010


Upgrade paths from Search Server 2008 or Search Server 2008 Express

This article describes supported and unsupported upgrade paths from Microsoft Search Server 2008 or Microsoft Search Server 2008 Express. It also discusses considerations for the different kinds of upgrade that you can perform — in-place, database attach, and new installation.

In this article:

  • Supported upgrade paths

  • Unsupported upgrade paths

  • Considerations for upgrading from Search Server 2008 Express to Search Server 2010 Express, Search Server 2010, or SharePoint Server 2010

  • Considerations for upgrading from Search Server 2008 to Search Server 2010 or SharePoint Server 2010

Supported upgrade paths

The following table describes supported upgrade paths from Search Server 2008 Express and Search Server 2008 Express and summarizes the benefits of upgrade.

Upgrading from this product To this product Includes these benefits

Search Server 2008 Express

Search Server 2010 Express

Many enhanced search capabilities for end-users

Search Server 2010

Many enhanced search capabilities for end users, and significantly increased capacity and performance

SharePoint Server 2010

  • Many enhanced search capabilities for end users, and significantly increased capacity and performance

  • Advanced document-collaboration features

Search Server 2008

Search Server 2010

Many enhanced search capabilities for end users, and significantly increased capacity and performance

SharePoint Server 2010

  • Many enhanced search capabilities for end users, and significantly increased capacity and performance

  • Advanced document-collaboration features

For more information about upgrade benefits and how upgrade affects search features, see the following articles:

  • What's new in enterprise search (Search Server 2010)

  • What's new in enterprise search (SharePoint Server 2010)

  • What's new in Microsoft SharePoint Server 2010

  • How upgrade affects search features (Search Server 2010)

  • How upgrade affects search features (SharePoint Server 2010)

Unsupported upgrade paths

The following table describes upgrade paths that are not supported.

You cannot upgrade from this product | To this product | Notes
Search Server 2008 | Search Server 2010 Express | Unsupported upgrade path
Search Server 2008 or Search Server 2008 Express | Microsoft SharePoint Foundation 2010 | SharePoint Foundation 2010 is a Web-based collaboration platform that provides only site-based search capability. Search Server 2010 and Search Server 2010 Express provide a wider range of search capability. This includes search across SharePoint sites, file shares, external Web sites, Microsoft Exchange Server 2010 public folders, and third-party content repositories.
Search Server 2008 or Search Server 2008 Express | Microsoft FAST Search Server 2010 for SharePoint | Although you cannot upgrade directly to FAST Search Server 2010 for SharePoint from Search Server 2008 or Search Server 2008 Express, you can upgrade to SharePoint Server 2010 first, and then upgrade to FAST Search Server 2010 for SharePoint. For more information, see Upgrading from SharePoint Server 2010 to FAST Search Server 2010 for SharePoint.

For more information about the upgrade paths that are listed in the previous table, see Considerations for upgrading from Search Server 2008 to Search Server 2010 or SharePoint Server 2010 later in this article.

Considerations for upgrading from Search Server 2008 Express to Search Server 2010 Express, Search Server 2010, or SharePoint Server 2010

The following table lists things to consider when you upgrade from Search Server 2008 Express to Search Server 2010 Express, Search Server 2010, or SharePoint Server 2010.

When you perform this kind of upgrade from Search Server 2008 Express Consider these factors

In-place

  • Search Server 2008 Express is a 32-bit application, whereas Search Server 2010 Express, Search Server 2010, and SharePoint Server 2010 are 64-bit applications. For a production environment, Search Server 2010 Express, Search Server 2010, and SharePoint Server 2010 require Windows Server 2008 or Windows Server 2008 R2. Therefore, if you want to upgrade in place and Search Server 2008 Express is not already running on Windows Server 2008 or Windows Server 2008 R2, you should first upgrade the computer that hosts Search Server 2008 Express to Windows Server 2008 R2 with the most recent service packs and updates.

  • When you perform an in-place upgrade, search settings at the Shared Services Provider (SSP) level in Search Server 2008 Express are replicated in a corresponding new search service application in Search Server 2010 Express, Search Server 2010, or SharePoint Server 2010. For more information, see How upgrade affects search features (Search Server 2010) or How upgrade affects search features (SharePoint Server 2010).

Database attach

Search Server 2008 Express is not intended to be used as a document-collaboration tool. If you are not using Search Server 2008 Express as a collaboration tool, there are no content databases to upgrade. Therefore, a database attach upgrade is not necessary.

New installation

If you configured search settings extensively in Search Server 2008 Express — for example, if you created many content sources — you might want to use those search settings as a guide for configuring search settings in Search Server 2010 Express, Search Server 2010, or SharePoint Server 2010. There are various ways to reproduce search settings in a new farm. For more information, see Migrate search settings for search-first migration (SharePoint Server 2010). (Although the article describes how to migrate search settings for a search-first migration from Office SharePoint Server 2007 to SharePoint Server 2010, you can use similar methods to migrate search settings from Search Server 2008 Express to Search Server 2010 Express, Search Server 2010, or SharePoint Server 2010.)

Considerations for upgrading from Search Server 2008 to Search Server 2010 or SharePoint Server 2010

The following table lists things to consider when you upgrade from Search Server 2008 to Search Server 2010 or SharePoint Server 2010.

When you perform this kind of upgrade from Search Server 2008 Consider these factors

In-place

  • Search Server 2008 is a 32-bit application, whereas Search Server 2010 and SharePoint Server 2010 are 64-bit applications. For a production environment, Search Server 2010 and SharePoint Server 2010 require Windows Server 2008 or Windows Server 2008 R2. Therefore, if you want to upgrade in place and Search Server 2008 is not already running on Windows Server 2008 or Windows Server 2008 R2, you should first upgrade the computer that hosts Search Server 2008 to Windows Server 2008 R2 with the most recent service packs or updates.

  • When you perform an in-place upgrade, search settings at the Shared Services Provider (SSP) level in Search Server 2008 are replicated in a corresponding new search service application in Search Server 2010 or SharePoint Server 2010. For more information, see How upgrade affects search features (Search Server 2010) or How upgrade affects search features (SharePoint Server 2010).

Database attach

Search Server 2008 is not intended to be used as a document collaboration tool. If you are not using Search Server 2008 as a collaboration tool, there are no content databases to upgrade. Therefore, a database attach upgrade is not necessary.

New installation

If you configured search settings extensively in Search Server 2008 — for example, if you created many content sources — you might want to use those search settings as a guide for configuring search settings in Search Server 2010 or SharePoint Server 2010. There are various ways to reproduce search settings in a new farm. For more information, see Migrate search settings for search-first migration (SharePoint Server 2010). (Although the article discusses how to migrate search settings for a search-first migration from Office SharePoint Server 2007 to SharePoint Server 2010, you can use similar methods to migrate search settings from Search Server 2008 to Search Server 2010 or SharePoint Server 2010.)


Upgrade from a SharePoint Server 2010 Standard CAL to an Enterprise CAL
See Also

Published: July 15, 2010

This article provides information and procedures on how to upgrade from a Microsoft SharePoint Server 2010 Standard client access license (CAL) to an Enterprise CAL.

In this article:

  • Process overview

  • View the list of features that are included in each license type

  • Enable Enterprise features on existing sites

  • Verification

Process overview

The same Setup program can install both the Standard and Enterprise editions of SharePoint Server 2010. It is the product key that you enter when you run Setup that determines which set of features is available for use. If you installed SharePoint Server 2010 by using a Standard CAL, and now want to convert the license type to the Enterprise CAL, you can enable and then push the Enterprise feature set to all sites in your server farm.

If you are unsure about upgrading and want to evaluate the different feature sets, we recommend that you configure a separate installation and deploy SharePoint Server 2010 Trial Version. To download the trial version, see SharePoint Server 2010 Trial (http://go.microsoft.com/fwlink/p/?LinkId=196695).

Before you perform the following procedures, confirm that you have purchased the Enterprise CAL.

View the list of features that are included in each license type

Features that are available with the Standard license type include the following:

  • Collaboration

  • Enterprise content management

  • Workflow

  • My Sites

  • Profiles and personalization

  • Enterprise search

  • Business Data Catalog

Additional features that are available with the Enterprise license type include the following:

  • Access Services

  • Excel Services

  • Visio Services

  • Forms Services

  • PerformancePoint Services

For a complete list of the features that are available in the two CALs, see Compare SharePoint Editions (http://go.microsoft.com/fwlink/p/?LinkId=196571).

Enable Enterprise features on existing sites

To convert the license type to the Enterprise CAL, you enable the Enterprise features on the SharePoint Central Administration Web site. Any new sites that you create will automatically have these features. However, existing sites do not receive the Enterprise feature set until you perform the steps to enable the features on existing sites. You have to perform these procedures only one time to update all sites in the server farm.

This procedure uses a SharePoint 2010 Timer service and may take a long time to complete, depending on the number of sites in the server farm.

To enable Enterprise features for the server farm

  1. Verify that you have the following administrative credentials:

    • To enable enterprise features, you must be a member of the Farm Administrators group on the computer that is running Central Administration.

  2. On the Central Administration Web site, click Upgrade and Migration.

  3. In the Upgrade and Patch Management section, click Enable Enterprise Features.

  4. Enter the product key, and then click OK.

After you have enabled the features for the farm, you can enable the features on existing sites in the farm.

To enable Enterprise features on existing sites by using Central Administration

  1. Verify that you have the following administrative credentials:

    • To enable enterprise features on existing sites, you must be a member of the Farm Administrators group on the computer that is running Central Administration.

  2. On the Central Administration Web site, click Upgrade and Migration.

  3. In the Upgrade and Patch Management section, click Enable Features on Existing Sites.

  4. On the Enable Features on Existing Sites page, select the Enable all sites in this installation to use the following set of features check box, and then click OK.

To enable Enterprise features on existing sites by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell command prompt, type the following command:

    Copy Code
    Enable-SPFeature [-Identity] <FeatureID> [-URL] <site URL>

    Where:

    • <Identity> specifies the name of the feature or GUID to install.

    • <URL> specifies the URL of the Web application, site collection, or Web site for which the feature is being activated.

    Example

    Copy Code
    Enable-SPFeature -Identity MyCustom -URL http://somesite

For more information, see Enable-SPFeature.

Note:

We recommend that you use Windows PowerShell when performing command-line administrative tasks. The Stsadm command-line tool has been deprecated, but is included to support compatibility with previous product versions.

Verification

Use the following procedure to verify that the enterprise features have been enabled on existing sites.

To verify that enterprise features are enabled on existing sites

  1. Verify that you have the following administrative credentials:

    • To verify that enterprise features are enabled on existing sites, you must be a member of the Farm Administrators SharePoint group on the computer that is running Central Administration.

  2. On the site collection Web site, on the Site Actions menu, click Site Settings.

  3. On the Site Settings page, in the Site Administration section, click Site features.

    In the Status column for SharePoint Server Enterprise Site features, ensure that Active appears.

See Also

Concepts

Uninstall SharePoint Server 2010
Deploy a single server with a built-in database (SharePoint Server 2010)
Deploy a single server with SQL Server (SharePoint Server 2010)
Multiple servers for a three-tier farm (SharePoint Server 2010)

Other Resources

How To: Detect the Installed SKU of SharePoint 2010 (http://go.microsoft.com/fwlink/p/?LinkId=199101)
Downloadable book: Upgrading to SharePoint Server 2010
Resource Center: Upgrade and Migration for SharePoint Server 2010


Upgrade from a trial version of SharePoint Server 2010
See Also

Published: July 15, 2010

This article provides information and a procedure on how to upgrade from a trial version of Microsoft SharePoint Server 2010 to a full product edition.

In this article:

  • Process overview

  • Upgrade from a trial version of SharePoint Server 2010

Process overview

If you are using a trial version of SharePoint Server 2010 and want to upgrade to a licensed product edition, you can purchase a license and perform the upgrade on the SharePoint Central Administration Web site. For more information about purchasing a license, see How to buy Microsoft SharePoint Server 2010 (http://go.microsoft.com/fwlink/p/?LinkId=196728).

The following upgrade options of a trial version of SharePoint Server 2010 to a licensed product edition are available:

  • Standard trial version to Standard licensed edition

  • Enterprise trial version to Enterprise licensed edition

  • Standard trial version to Enterprise trial version to Enterprise licensed edition

    Caution:

    You cannot upgrade directly from a Standard trial version to an Enterprise licensed version. You must upgrade to the Enterprise trial version first. Follow the steps in this article to upgrade to the Enterprise trial version and then to the Enterprise licensed version, and then follow the steps in the following article to enable the Enterprise features: Upgrade from a SharePoint Server 2010 Standard CAL to an Enterprise CAL.

Upgrade from a trial version of SharePoint Server 2010

After you have purchased a license to upgrade to the licensed edition of SharePoint Server 2010, you can use the Convert License Type page on the Central Administration Web site to enter the new product key.

Use the following procedure to convert a license type and enter the product key.

To convert a license type and enter the product key

  1. Verify that you have the following administrative credentials:

    • To convert a license type, you must be a member of the Farm Administrators SharePoint group on the computer that is running Central Administration.

  2. On the Central Administration Web site, in the Upgrade and Migration section, click Convert farm license type.

  3. On the Convert License Type page, in the Enter the Product Key box, type the new product key and then click OK.

You can verify that you have the licensed product edition of SharePoint Server 2010 by going back to the Convert License Type page and making sure that the license type has changed.

Note:

If you upgraded from a Standard client access license (CAL) to an Enterprise CAL, you must enable the enterprise features on existing sites in your server farm. For more information, see Upgrade from a SharePoint Server 2010 Standard CAL to an Enterprise CAL.

See Also

Concepts

Upgrade from a SharePoint Server 2010 Standard CAL to an Enterprise CAL
Upgrading to SharePoint Server 2010

Other Resources

Downloadable book: Upgrading to SharePoint Server 2010
Resource Center: Upgrade and Migration for SharePoint Server 2010


Perform a search-first migration (SharePoint Server 2010)
See Also

Published: February 10, 2011

Upgrading to Microsoft SharePoint Server 2010 from Microsoft Office SharePoint Server 2007 provides significant improvements in enterprise search capability. However, policy or resource constraints in an organization sometimes pose challenges that can prevent or postpone a complete upgrade. Even if your organization is not ready to perform a complete upgrade from Microsoft Office SharePoint Server 2007, you can take advantage of end-user enterprise search capabilities of Microsoft SharePoint Server 2010 from your SharePoint Server 2007 deployment by performing a search-first migration.

The following articles describe the process of search-first migration. In these articles, it is assumed that you are knowledgeable about deploying, configuring, and operating Microsoft Office SharePoint Server 2007 and Microsoft SharePoint Server 2010, especially with regard to search functionality.

  • Introduction to search-first migration (SharePoint Server 2010)

    Provides an overview of search-first migration and a list of supported and unsupported migration paths.

  • Plan a SharePoint Server 2010 farm for search-first migration (SharePoint Server 2010)

    Discusses planning considerations for deploying and configuring a new server farm to provide SharePoint Server 2010 end-user search capabilities for the existing SharePoint Server 2007 farm.

  • Plan to configure the SharePoint Server 2010 farm for search-first migration (SharePoint Server 2010)

    Describes considerations for planning Search Centers and people search in the new SharePoint Server 2010 farm.

  • Configure the SharePoint Server 2010 farm for search-first migration (SharePoint Server 2010)

    Describes how to configure a new SharePoint Server 2010 farm for a search-first migration.

  • Configure the SharePoint Server 2007 farm for search-first migration (SharePoint Server 2010)

    Describes how to configure the existing SharePoint Server 2007 farm for search-first migration.

  • Migrate search settings for search-first migration (SharePoint Server 2010)

    Describes ways to retrieve search settings from the SharePoint Server 2007 farm and reproduce the settings in the SharePoint Server 2010 farm.

  • Train end users to use the search-first environment (SharePoint Server 2010)

    Describes what end users need to know about conducting searches after the search-first migration is complete.

You can also download this content as a technical white paper in any of the following formats:

  • Word (http://go.microsoft.com/fwlink/p/?LinkId=211048)

  • PDF (http://go.microsoft.com/fwlink/p/?LinkId=211049)

  • XPS (http://go.microsoft.com/fwlink/p/?LinkId=211050)

See Also

Concepts

Deployment for SharePoint Server 2010

Other Resources

Downloadable book: Upgrading to SharePoint Server 2010
Resource Center: Upgrade and Migration for SharePoint Server 2010


Introduction to search-first migration (SharePoint Server 2010)
See Also

Published: May 26, 2011

Upgrading to Microsoft SharePoint Server 2010 from Microsoft Office SharePoint Server 2007 provides significant improvements in enterprise search capability. However, policy or resource constraints in an organization sometimes pose challenges that can prevent or postpone a complete upgrade. Even if your organization is not ready to perform a complete upgrade from Office SharePoint Server 2007, you can take advantage of end-user enterprise search capabilities of SharePoint Server 2010 by performing a search-first migration.

To perform a search-first migration, you deploy and configure a new SharePoint Server 2010 farm for search. You then migrate only the search settings from the existing Office SharePoint Server 2007 farm to the new farm, and configure the Office SharePoint Server 2007 farm to forward search queries to the new farm, where the queries will be processed. When the search-first migration is complete, the new farm provides search functionality of SharePoint Server 2010 for searches in the SharePoint Server 2007 farm or the SharePoint Server 2010 farm. For example, a user who types a search query in either farm can take advantage of SharePoint Server 2010 features such as prefix matching, Boolean query syntax, phonetic name matching, and query suggestions. For queries that do not use contextual scopes, the user views the search results on a site in the SharePoint Server 2010 farm and can use search features there such as results refinement, social tags integration, and relevance improvements.

After the search-first migration, the organization can complete the product upgrade at any time that is convenient. In the meantime, the SharePoint Server 2007 farm can continue to provide other SharePoint Server 2007 functionality for the organization as usual. SharePoint Server 2007 features such as content databases and the Business Data Catalog are not migrated or upgraded as part of a search-first migration. Functionality that is not related to search does not have to be configured in the new SharePoint Server 2010 farm.

Supported and unsupported paths for search-first migration

Search-first migration supports only the migration of search capability from a SharePoint Server 2007 farm to a SharePoint Server 2010 farm.

Examples of paths that Microsoft does not support for search-first migration include the following:

  • Migration that involves a stand-alone FAST-based product, or a stand-alone FAST-based product that has a Search Center in SharePoint Server 2010. (Stand-alone FAST-based products include FAST Enterprise Search Platform, Microsoft FAST Search Server 2010 for SharePoint Internet Sites, and FAST Search for Intranet Applications.)

  • Migration that involves Microsoft Search Server 2008 or Microsoft Search Server 2008 Express.

  • Migration that involves Microsoft Search Server 2010 or Microsoft Search Server 2010 Express.

  • Migration from FAST Search Platform (ESP) to FAST Search Server 2010 for SharePoint.

  • Migration that involves Windows SharePoint Services 3.0 or Microsoft SharePoint Foundation 2010.

High-level steps for performing a search-first migration

The initial state of the system for performing a search-first migration is a SharePoint Server 2007 production farm that has at least one Shared Services Provider (SSP) in which enterprise search functionality is configured and operational. In addition, the User Profile service might be enabled to provide My Sites and people-search capability. Other shared services might also be enabled in SSPs in the SharePoint Server 2007 farm, but those shared services are not relevant to search-first migration.

To complete a search-first migration, you must perform the following main steps:

  1. Deploy a new SharePoint Server 2010 farm.

    When the search-first migration is complete, this farm provides SharePoint Server 2010 search functionality to end users when they submit search queries in the SharePoint Server 2007 farm or the SharePoint Server 2010 farm.

  2. Prepare the new farm for search by configuring the following:

    • A Web application for search

    • At least one Search service application

    • At least one Enterprise Search Center

    • Optional:

      • A User Profile service application (to provide the people-search capability of SharePoint Server 2010)

      • A Managed Metadata service application (to provide the ability to search on social-tags and certain user-profile properties)

  3. Configure the SharePoint Server 2007 farm for search-first migration as follows:

    1. Configure all search boxes to forward queries to the SharePoint Server 2010 farm. You can perform this process manually, or you can use the scripts in the Metalogix Search Redirection Toolkit for SharePoint Server 2007 to automate the process.

    2. Ensure that all links to Search Centers or Advanced Search pages point to appropriate pages in the SharePoint Server 2010 farm.

    3. Optional: Install the Search Box Replacement Control from Metalogix.

      When users type search queries in the SharePoint Server 2007 farm, this control does the following:

      • Displays query suggestions that it obtains from the search query history in the SharePoint Server 2010 farm.

      • Displays the custom scopes that are in the SharePoint Server 2007 farm, or in the SharePoint Server 2010 farm, or both.

    For more information about using the Metalogix Software tools mentioned here, see the Metalogix Search-First Migration User Guide, which is available from the Metalogix Search First Migration Accelerator download page (http://go.microsoft.com/fwlink/p/?LinkId=210942).

  4. Migrate search settings from the SharePoint Server 2007 farm to the new farm. This includes farm-level, SSP-level, site-collection level, and site-level search settings.

  5. Crawl content in both farms as follows:

    • Crawl all content in the SharePoint Server 2007 farm by using the search system in the SharePoint Server 2010 farm.

    • Crawl content in the SharePoint Server 2007 farm by using the search system in the SharePoint Server 2007 farm.

After you perform the previous steps and the SharePoint Server 2010 farm finishes full crawls of all content sources, the migration of search to the new farm is complete. You can then notify SharePoint Server 2007 users that they can start to use the enhanced search functionality that is provided by SharePoint Server 2010. For more information, see Train end users to use the search-first environment (SharePoint Server 2010). When the organization is ready to complete the upgrade, you can migrate the SharePoint Server 2010 content databases and sites and configure other features of the new farm that you want to use. For more information, see Upgrading to SharePoint Server 2010.

See Also

Concepts

Plan a SharePoint Server 2010 farm for search-first migration (SharePoint Server 2010)
Plan to configure the SharePoint Server 2010 farm for search-first migration (SharePoint Server 2010)
Configure the SharePoint Server 2010 farm for search-first migration (SharePoint Server 2010)
Configure the SharePoint Server 2007 farm for search-first migration (SharePoint Server 2010)
Migrate search settings for search-first migration (SharePoint Server 2010)
Train end users to use the search-first environment (SharePoint Server 2010)


Plan a SharePoint Server 2010 farm for search-first migration (SharePoint Server 2010)
See Also

Published: May 26, 2011

This article discusses planning considerations for deploying and configuring a new server farm for a search-first migration. For this article, it is assumed that you are knowledgeable about the following:

  • Deploying, configuring, and operating Microsoft Office SharePoint Server 2007 and Microsoft SharePoint Server 2010, especially with regard to search functionality.

  • The information in the article Introduction to search-first migration (SharePoint Server 2010).

For brevity in this article, the following terms are used:

Original farm | The SharePoint Server 2007 farm that the organization is using in a production environment, with SharePoint enterprise search deployed.
New farm | A new SharePoint Server 2010 farm that you deploy and initially use only for the search-first migration.
Search-first environment | An environment in which a search-first migration is complete. In this environment, end users can use SharePoint Server 2010 search-query features and search-results features when they submit search queries in the original farm or the new farm.

The first main step in a search-first migration is to deploy a new SharePoint Server 2010 farm. In a search-first environment, the purpose of the new farm is to provide SharePoint Server 2010 search functionality for end users when they perform searches in the original farm. To provide search results for the content that is in the original farm, the search system in the new farm must crawl that content, create a content index, and respond to queries from users of the original farm. Therefore, the new farm must accommodate the crawl, index, and query demands that were previously handled by the original farm only. Beyond this minimum requirement, planning the new farm is similar to planning any new search deployment. Depending on how much search load is expected in the new farm, the organization might design the new deployment as a dedicated search farm. On the other hand, it might be appropriate to plan the deployment so that it can later also provide other SharePoint Server 2010 services. In either case, the organization should design the new farm to keep the search infrastructure flexible, so that the farm can be scaled out later as necessary to meet evolving business and user requirements. Other planning considerations for the new farm include geographic distribution, governance, high availability, and disaster recovery.

Planning resources

The following resources on TechNet provide information about how to plan search for a SharePoint Server 2010 farm:

  • Gather information about the current search environment (SharePoint Server 2010). This article provides a list of information to collect about the SharePoint Server 2007 search environment to help you determine requirements as you plan the new farm.

  • Planning and architecture for SharePoint Server 2010. This section provides guidance about how to design the logical and physical aspects of a SharePoint Server 2010 farm to provide a scalable, highly reliable, and consistently available system. The section includes resources such as the following:

    • Services architecture planning (SharePoint Server 2010)

    • Technical diagrams:

      • Search Environment Planning for Microsoft SharePoint Server 2010 (http://go.microsoft.com/fwlink/p/?LinkID=166636)

      • Search Architectures for SharePoint Server 2010 (http://go.microsoft.com/fwlink/p/?LinkID=166637)

      • Design Search Architectures for Microsoft SharePoint Server (http://go.microsoft.com/fwlink/p/?LinkID=166638)

  • Plan for availability (SharePoint Server 2010). This article describes key decisions in choosing availability strategies for a SharePoint Server 2010 environment.

  • Performance and capacity management:

    • Capacity management and sizing for SharePoint Server 2010

    • Storage and SQL Server capacity planning and configuration (SharePoint Server 2010)

    • SharePoint Server 2010 capacity management: Software boundaries and limits

See Also

Concepts

Introduction to search-first migration (SharePoint Server 2010)
Plan to configure the SharePoint Server 2010 farm for search-first migration (SharePoint Server 2010)
Configure the SharePoint Server 2010 farm for search-first migration (SharePoint Server 2010)
Configure the SharePoint Server 2007 farm for search-first migration (SharePoint Server 2010)
Migrate search settings for search-first migration (SharePoint Server 2010)
Train end users to use the search-first environment (SharePoint Server 2010)


Plan to configure the SharePoint Server 2010 farm for search-first migration (SharePoint Server 2010)
See Also

Published: May 26, 2011

This article describes considerations for planning Search Centers and people search in the new farm. Before you read this article, you should be familiar with the information in the following articles about search-first migration:

  • Introduction to search-first migration (SharePoint Server 2010)

  • Plan a SharePoint Server 2010 farm for search-first migration (SharePoint Server 2010)

For brevity in this article, the following terms are used:

Original farm | The Microsoft Office SharePoint Server 2007 farm that the organization is using in a production environment, with SharePoint enterprise search deployed.
New farm | A new Microsoft SharePoint Server 2010 farm that you deploy and initially use only for the search-first migration.
Search-first environment | An environment in which a search-first migration is complete. In this environment, end users can use SharePoint Server 2010 search-query features and search-results features when they submit search queries in the original farm or the new farm.

Plan Search Center deployment

To configure the new farm for search-first migration, you must deploy at least one Enterprise Search Center site. Search results for queries that are forwarded from the original farm are displayed on a search results page that is associated with a Search Center in the new farm.

In Microsoft Office SharePoint Server 2007 and Microsoft SharePoint Server 2010, search administrators can configure Search Center access for end users by using one of the following approaches:

  • Centralized Search Center. The farm provides search functionality from a single Web application with an associated site collection and a single Search Center. All queries from the original farm, regardless of which Search Center or other site they originate from, are redirected to the same search results page in the new farm.

  • Decentralized Search Center. Multiple site collections provide Search Centers.

  • Hybrid of centralized and decentralized Search Centers. End users access search functionality primarily from one Search Center, but for business reasons such as security, some site collections have separate Search Centers.

For the purpose of search-first migration, we recommend that you use a centralized Search Center in the new farm. A single Search Center is more likely to meet search demands in SharePoint Server 2010 than in Office SharePoint Server 2007 for the following reasons:

  • A Search service in the SSP of a SharePoint Server 2007 farm can index approximately 50 million items. Users can query in an associated Search Center to obtain search results from that index. By comparison, a Search service application in SharePoint Server 2010 can index approximately 100 million items. Users can query in a single associated Search Center to obtain results from that much larger index.

  • In SharePoint Server 2010, a Search Center can serve multiple site collections, which is not the case in SharePoint Server 2007. Therefore, in SharePoint Server 2010, a single Search Center might suffice even when many new site collections are added.

Providing a single Search Center in the new farm also has the following advantages:

  • It is quicker and easier to configure the original farm to forward queries to a single Search Center in the new farm.

  • It can reduce the amount of work that is required for customization and branding.

As the organization completes the upgrade from SharePoint Server 2007, you can modify the new farm to use a different Search Center approach from the one that you used for the search-first migration. For example, the original farm might use a decentralized or a hybrid Search Center approach, but you might configure the new farm to use a centralized Search Center for the search-first migration. However, as the organization completes the upgrade, you might choose to modify the new farm to use the same Search Center approach as the original farm uses.

Plan people search

You might also want to consider options for providing people-search functionality in the search-first environment. People search enables end users to find other people in the organization by searching on attributes such as name, department, job title, expertise, or interests. SharePoint Server 2007 and SharePoint Server 2010 can provide this user-related information in profiles that users can access on My Sites. You can crawl user profiles in either of the following ways:

  • Deploy and crawl user profiles in the new farm. When you use this approach, end users can take advantage of the new people-search capabilities of SharePoint Server 2010.

  • Crawl user profiles that are in the original farm. When you use this approach, end users can take advantage of the people-search capabilities of SharePoint Server 2007 only. People-search capabilities that are new in SharePoint Server 2010, such as phonetic name matching and nickname matching, are not available.

In the first approach, you bring user profiles into the new farm and configure the search system in the new farm to crawl the profiles there. Therefore, in the new farm you have to provision a User Profile service application, create a My Site host location, and deploy My Sites. For more information, see Plan for My Sites (SharePoint Server 2010) and Plan user profiles (SharePoint Server 2010). If additional user-related information is available in a separate business-application database, you can use a Business Connectivity Services connector to import that data and then use the data to augment the information that is in the user profiles in the new farm. When the search-first migration is complete and an end user performs a people search, the search results appear on a search results page in the new farm. Clicking a people-search result on that page takes the user to a site in the new farm that hosts the content for the search result.

In the second approach, you configure the search system in the new farm to crawl user profiles that are in the original farm. In this case, the only configuration requirement for the new farm is that you must create a content source there that specifies that the system will crawl the user profiles in the original farm. When the search-first migration is complete and a user performs a people search, the search results appear on a search results page in the new farm. Clicking a people-search result on that page takes the user to a site in the original farm that hosts the content for the search result.

If you plan to deploy and crawl user profiles in the new farm, you can use one of the following methods to bring user profiles into the new SharePoint Server 2010 farm:

  • Import user profiles from the directory service — for example, Active Directory Domain Services (AD DS) — into the new farm. For more information, see Plan for profile synchronization (SharePoint Server 2010).

  • Copy user profiles from the original farm to the new farm by using the User Profile Replication Engine (UPRE). The UPRE is an optional component of SharePoint Server 2010 that is part of the SharePoint Administration Toolkit. You can download the toolkit from the Microsoft Download Center. For more information, see Configure enterprise search (SharePoint Server 2010) and User Profile Replication Engine overview (SharePoint Server 2010).

In some cases, organizations face constraints in importing user profiles from the directory service. In such cases, an organization can use the UPRE to bring user profiles into the new farm. Otherwise, the organization can delay bringing user profiles into the new farm (and then crawling the profiles in the new farm) until it is more convenient. In the meantime, the administrator can configure the new farm to crawl the user profiles that are in the original farm.

See Also

Concepts

Introduction to search-first migration (SharePoint Server 2010)
Plan a SharePoint Server 2010 farm for search-first migration (SharePoint Server 2010)
Configure the SharePoint Server 2010 farm for search-first migration (SharePoint Server 2010)
Configure the SharePoint Server 2007 farm for search-first migration (SharePoint Server 2010)
Migrate search settings for search-first migration (SharePoint Server 2010)
Train end users to use the search-first environment (SharePoint Server 2010)


Configure the SharePoint Server 2010 farm for search-first migration (SharePoint Server 2010)
See Also

Published: May 26, 2011

This article describes how to configure a new farm for a search-first migration. The section assumes that you have planned and deployed the new farm to meet the needs of your organization so that you are ready to configure the farm for search. Before you read you read this article, you should be familiar with the information in the preceding articles in this section about search-first migration:

  • Introduction to search-first migration (SharePoint Server 2010)

  • Plan a SharePoint Server 2010 farm for search-first migration (SharePoint Server 2010)

  • Plan to configure the SharePoint Server 2010 farm for search-first migration (SharePoint Server 2010)

For brevity in this article, the following terms are used:

Original farm | The SharePoint Server 2007 farm that the organization is using in a production environment, with SharePoint enterprise search deployed.
New farm | A new SharePoint Server 2010 farm that you deploy and initially use only for the search-first migration.
Search-first environment | An environment in which a search-first migration is complete. In this environment, end users can use SharePoint Server 2010 search-query features and search-results features when they submit search queries in the original farm or the new farm.

To configure the new farm for a search-first migration, you must do the following:

  • 1. Ensure that a Web application exists for search.

  • 2. Ensure that a Search service application exists.

  • 3. Ensure that the Web application is associated with a Search service application.

  • 4. Ensure that an Enterprise Search Center exists.

To configure the new farm for a search-first migration, you can also do one or both of the following:

  • Optional: Provide people search.

  • Optional: Provide social tag search.

1. Ensure that a Web application exists for search

You must ensure that there is at least one Web application for search. This Web application will consume a Search service application and will host the site collections of one or more Enterprise Search Centers. For performance and governance reasons, we recommend that you configure a Web application that is dedicated to search.

To ensure that a Web application exists for search

  1. Verify that the user account that is performing this procedure is a member of the Farm Administrators group.

  2. On the Home page of the Central Administration Web site, in the Application Management section, click Manage web applications. The Web Applications Management page opens and shows a list of all Web applications in the server farm.

  3. Determine whether there is a Web application in the list that you want to dedicate to search.

  4. Create a Web application to dedicate to search if one does not already exist.

    Note:

    When you use the Farm Configuration Wizard to create a site collection, the wizard automatically creates a Web application named SharePoint - 80. You can dedicate this Web application for search, or you can create a different Web application for this purpose. For more information, see Create a Web application (SharePoint Server 2010).

2. Ensure that a Search service application exists

You must ensure that there is at least one Search service application in the new farm that is associated with the Web application that you want to dedicate to search.

To determine whether a Search service application exists

  1. Verify that the user account that is performing this procedure is a member of the Farm Administrators group.

  2. On the Home page of the Central Administration Web site, in the Application Management section, click Manage service applications.

  3. On the Manage Service Applications page, if there is no Search service application in the list of service applications, create a Search service application by using the following procedure.

To create a Search service application

  • Use the procedure Create and configure a new Search service application (SharePoint Server 2010).

    Or:

  • Use the Farm Configuration Wizard to create a Search service application by doing the following:

    1. On the Home page of the Central Administration Web site, in the Quick Launch, click Configuration Wizards.

    2. On the Configuration Wizards page, click Launch the Farm Configuration Wizard.

    3. On the Help Make SharePoint Better page, click the option that is appropriate for your organization, and then click OK.

    4. On the Configure your SharePoint farm page, select Yes, walk me through the configuration of my farm using this wizard, and then click Start the Wizard.

    5. On the Configure your SharePoint farm page, in the Services section, ensure that the Search service application check box is selected.

    6. On the Configure your SharePoint farm page, ensure that other settings are configured as appropriate for your organization.

    7. On the Create Site Collection page, click Skip.

    8. On the Configure your SharePoint farm page, click Finish.

3. Ensure that the Web application is associated with a Search service application

You must ensure that the Web application that you want to use is associated with a Search service application.

To ensure that the Web application is associated with a Search service application

  1. On the Central Administration home page, in the Application Management section, click Manage web applications.

  2. On the Web applications management page, click the Web application that you want to use.

  3. In the Web applications tab, click Service Connections.

  4. In the Configure Service Application Associations dialog box, ensure that the Search service application that you want to associate with the Web application is selected, and then click OK.

4. Ensure that an Enterprise Search Center exists

You must ensure that there is at least one Enterprise Search Center in the new farm. For more information, see "Plan Search Center deployment" in the article Plan to configure the SharePoint Server 2010 farm for search-first migration (SharePoint Server 2010). If there is no Enterprise Search Center in the farm yet, use the following procedure to create one.

To ensure that there is an Enterprise Search Center in the new farm

  1. To determine whether there is an Enterprise Search Center site in the farm, go to the Central Administration home page, click Application Management, and then in the Site Collections section, click View all site collections.

  2. Browse to the top-level site of each site collection. If none of the top-level sites is an Enterprise Search Center site and none of those sites has a tab named Search, do the following:

    1. Create an Enterprise Search Center site by doing one of the following:

      1. Automatically create an Enterprise Search Center by using the Create Site Collection page in the Farm Configuration Wizard. For more information, see "To run the Initial Farm Configuration Wizard" in Install Search Server 2010 or Search Server 2010 Express.

      2. Manually create an Enterprise Search Center by using the procedure "To create a Search Center site" in Configure enterprise search (SharePoint Server 2010).

    2. Grant all authenticated users access to the Enterprise Search Center by doing the following:

      1. Verify that the user account that is performing this procedure is a site collection administrator for the Enterprise Search Center site.

      2. In a Web browser, go to the Enterprise Search Center site.

      3. On the Site Actions menu, click Site Settings.

      4. In the Users and Permissions section, click People and groups.

      5. In the Quick Launch, click Enterprise Search Center Visitors

      6. In the New menu, click Add Users.

      7. In the Users/Groups box, type NT Authority\authenticated users.

      8. Click OK.

Optional: Provide people search

To provide people search for a search-first environment, do one of the following:

  • Configure the search system in the new farm to crawl the user profiles that are in the original farm.

  • Bring user profiles into the new farm, and configure the search system in the new farm to crawl the user profiles that are in the new farm.

Crawl user profiles that are in the original farm

To crawl user profiles that are in the original farm, do the following:

To crawl user profiles that are in the original farm:

  1. Create a content source in the new farm that you will configure for crawling user profiles in the original farm.

  2. In the content source, add the start address for crawling the user profiles that are in the original farm. The start address should be in the following form: sps3://<HostName> where <HostName> is the name of the server in the original farm that hosts My Sites.

  3. If the default content access account does not have permission to crawl the user profiles that are in the original farm, do one of the following:

    1. Change the default content access account to an account that has permission to crawl the user profiles in the original farm and that has permission to crawl SharePoint content in the new farm. For more information, see Change the default content access account (SharePoint Server 2010).

    2. Create a crawl rule that specifies a different content access account for crawling the user profiles that are in the original farm. For more information, see Manage crawl rules (SharePoint Server 2010).

Crawl user profiles that are in the new farm

To crawl user profiles that are in the new farm, do the following:

  1. Ensure that a User Profile service application exists.

  2. Bring user profiles into the new farm.

  3. Provide My Sites to host the user-profile content.

  4. Crawl the user profiles that are in the new farm.

To ensure that a User Profile service application exists

  1. Verify that the user account that is performing this procedure is a member of the Farm Administrators group.

  2. On the Home page of the Central Administration Web site, in the Application Management section, click Manage service applications.

  3. On the Manage Service Applications page, if there is no User Profile service application in the list of service applications, create a User Profile service application. For more information, see Create, edit, or delete a User Profile service application (SharePoint Server 2010).

Bring user profiles into the new farm

You can use one of the following methods to bring user profiles into the new farm:

  • Import user profiles from the directory service — for example, Active Directory Domain Services (AD DS) — into the new farm. For more information, see Configure profile synchronization (SharePoint Server 2010).

  • Copy user profiles from the original farm to the new farm by using the User Profile Replication Engine (UPRE). The UPRE is an optional component of Microsoft SharePoint Server 2010 that is part of the SharePoint Administration Toolkit. You can download the toolkit from http://go.microsoft.com/fwlink/p/?LinkID=196866. For more information, see Configure enterprise search (SharePoint Server 2010) and User Profile Replication Engine overview (SharePoint Server 2010).

Provide My Sites to host user-profile content

To enable users to access people-search results for content that is in user profiles, you must provide My Sites. To do this, you create a My Site host location and associate it with My Sites. For more information, see Create and manage a My Site host location (SharePoint Server 2010) and Set up My Sites (SharePoint Server 2010).

Crawl user profiles that are in the new farm

Use the following procedure to crawl user profiles that are in the new farm.

To crawl user profiles that are in the new farm

  1. In the new farm, create a content source that you want to use for crawling user profiles in the new farm.

  2. In the content source, add the start address for crawling the user profiles that are in the new farm. The start address should be in the following form: sps3://<HostName> where <HostName> is the name of the server in the new farm that hosts My Sites.

  3. Create a crawl rule that specifies a content access account for crawling the user profiles that are in the new farm. For more information, see Manage crawl rules (SharePoint Server 2010).

Optional: Provide social tag search

To enable users to get search results for queries that contain social tags, the Web application that is associated with the Search service application must be connected to a Managed Metadata service application. For information about how to set up this configuration, see the following articles:

  • Create, update, publish, or delete a managed metadata service application (SharePoint Server 2010)

  • Create, update, or delete a managed metadata service connection (SharePoint Server 2010)

  • Grant permission to access the managed metadata service (SharePoint Server 2010)

See Also

Concepts

Introduction to search-first migration (SharePoint Server 2010)
Plan a SharePoint Server 2010 farm for search-first migration (SharePoint Server 2010)
Plan to configure the SharePoint Server 2010 farm for search-first migration (SharePoint Server 2010)
Configure the SharePoint Server 2007 farm for search-first migration (SharePoint Server 2010)
Migrate search settings for search-first migration (SharePoint Server 2010)
Train end users to use the search-first environment (SharePoint Server 2010)


Configure the SharePoint Server 2007 farm for search-first migration (SharePoint Server 2010)
See Also

Published: May 26, 2011

This article provides the following procedures that describe how to configure the Microsoft Office SharePoint Server 2007 farm for a search-first migration:

  • Configure crawling

  • Configure search boxes and related search links

  • Optional: Enable query suggestions and custom scopes by using the Search Box Replacement Control

Before you read you read this article, you should be familiar with the following articles about search-first migration:

  • Introduction to search-first migration (SharePoint Server 2010)

  • Plan a SharePoint Server 2010 farm for search-first migration (SharePoint Server 2010)

  • Plan to configure the SharePoint Server 2010 farm for search-first migration (SharePoint Server 2010)

  • Configure the SharePoint Server 2010 farm for search-first migration (SharePoint Server 2010)

For brevity in this article, the following terms are used:

Original farm | The SharePoint Server 2007 farm that the organization is using in a production environment, with SharePoint enterprise search deployed.
New farm | A new SharePoint Server 2010 farm that you deploy and initially use only for the search-first migration.
Search-first environment | An environment in which a search-first migration is complete. In this environment, end users can use SharePoint Server 2010 search-query features and search-results features when they submit search queries in the original farm or the new farm.

Configure crawling

In a search-first environment, the search system in the original farm automatically serves any query in the original farm that uses a contextual scope — that is, the This Site scope or the This List scope. You configure the search system in the original farm to forward all other queries to the search system in the new farm to provide search results. For more information, see Configure search boxes and related search links later in this article.

You must configure the search system in the original farm to crawl all of the SharePoint sites in the original farm on which contextual scopes are enabled for searches. This enables the search system in the original farm to serve queries in the original farm that use contextual scopes.

Note:

In addition, you must configure the search system in the new farm to crawl all of the SharePoint content in the original farm. For the search-first environment, typically both search systems must crawl SharePoint content in the original farm. You might also want to crawl user profiles in the original farm, as discussed in "Plan people search" in the article Plan to configure the SharePoint Server 2010 farm for search-first migration (SharePoint Server 2010).

If contextual scopes are disabled for the search boxes on a large site or large list in the original farm, you might want to verify that the search system in the original farm is not configured to crawl that site or list. This helps to ensure that you will not use crawl resources in that farm unnecessarily. For example, if you install the Search Box Replacement Control in the original farm and set its scope mode to 2010, this automatically disables contextual scopes for all non-custom search boxes in the original farm. In this situation, you do not have to configure the search system in the original farm to crawl content there. For more information, see Optional: Enable query suggestions and custom scopes by using the Search Box Replacement Control later in this article.

You should also ensure that the search system in the original farm is not configured to crawl content other than SharePoint sites. If you want the search-first environment to provide search results for content other than the SharePoint sites in the original farm, you should configure the search system in the new farm to crawl that other content. (For information about migrating content sources from the original farm, see Migrate search settings for search-first migration (SharePoint Server 2010).) Therefore, content sources in the original farm should not contain start addresses for locations such as file shares or Microsoft Exchange Server public folders. You should also ensure that no content source in the original farm contains the start address for crawling user profiles. If you want the search-first environment to provide people search, you should configure the search system in the new farm to crawl the user profiles. This is the case regardless of whether you are using user profiles in the original farm or user profiles that you bring into the new farm. For more information about crawling user profiles in the original farm or the new farm, see Plan a SharePoint Server 2010 farm for search-first migration (SharePoint Server 2010) and Configure the SharePoint Server 2010 farm for search-first migration (SharePoint Server 2010).

To configure crawling in the new farm, perform the following procedure for each SSP in the original farm that uses the Office SharePoint Server Search service.

To configure crawling in the original farm

  1. Verify that the account that is performing this procedure is a member of the Farm Administrators group.

  2. In Central Administration, in the Quick Launch, click the SSP — for example, SharedServices1.

  3. On the Shared Services Administration page for the SSP, in the Search section, click Search settings.

  4. On the Configure Search Settings page, click Content sources and crawl schedules.

  5. On the Manage Content Sources page, for each content source in the list, do the following:

    1. Click the content source.

    2. On the Edit Content Source page, in the Start Addresses section, do the following:

      1. If there is a start address for crawling user profiles (this start address has the form sps3://<HostName>), do the following:

        1. Make a note of the address for later. If you plan to use the search system in the new farm to crawl user profiles in the original farm, you will have to ensure that this start address is added to a content source in the new farm.

        2. Delete the address. When you delete the address, if there are other start addresses remaining in this content source, ensure that each start address begins on a new line.

      2. For each address that remains in the list that is not a start address for one or more SharePoint sites in the original farm, do the following:

        1. Make a note of the address for later. You will have to ensure that this start address is added to a content source in the new farm.

        2. Delete the address.

      3. Optional: if you deleted all start addresses in the content source, you can deactivate or delete the content source by doing the following:

        • To deactivate the content source, on the Edit Content Source page, set the full crawl schedule to None and set the incremental crawl schedule to None.

        • To delete the content source, on the Manage Content Sources page, click the arrow next to the content source name, and then click Delete.

Configure search boxes and related search links

You must configure search boxes and related links in the original farm so that when an end user submits a search query or clicks a related link there, the search system in the original farm forwards the query to the new farm. The new farm processes the query and displays the results on a search results page in the new farm. The search results page in the new farm provides Microsoft SharePoint Server 2010 search functionality such as results refinement and relevance improvements to help the user view and interact with search results.

To configure search boxes in the original farm to forward search queries to the new farm, you must adjust settings for search boxes and Advanced Search links in the original farm. You can perform this configuration in one of the following two ways:

  • Automatically, by using the Search Redirection Toolkit for SharePoint Server 2007 that is provided by Metalogix Software. The toolkit is a set of Windows PowerShell 2.0 cmdlets that helps you automate the configuration of non-custom search boxes to forward search queries from the original farm to the new farm. For information about obtaining and using this toolkit, see the Metalogix Search-First Migration User Guide, which is available from the Metalogix Search First Migration Accelerator download page (http://go.microsoft.com/fwlink/p/?LinkId=210942).

    To understand how to use the cmdlets in the Search Redirection Toolkit, it is helpful to understand the manual process of forwarding search queries from the original farm to the new farm, which is described next in this list.

  • Manually, by separately configuring each search box and its associated Advanced Search link, and other related links, in the original farm. This process consists of the following procedures:

    • Configure the delegate-control search box for each site collection

    • Configure search boxes on Search Centers

    • Configure other non-custom search boxes

    • Configure custom search boxes

    • Modify links to Search Centers or Advanced Search pages in the original farm

The following sections explain how to perform these procedures.

Note:

  • You should deploy and configure the Microsoft SharePoint Server 2010 farm for search before you perform the procedures in the following sections. For more information, see Plan to configure the SharePoint Server 2010 farm for search-first migration (SharePoint Server 2010).

  • The manual procedures for forwarding search queries can be time-consuming for large Microsoft Office SharePoint Server 2007 farms that have many search boxes. After you understand how to manually perform the process and how long it will take, you might decide to automate the process by using the Search Redirection Toolkit for SharePoint Server 2007 that was mentioned previously in this section.

Configure the delegate-control search box for each site collection

For each site collection in the original farm, perform the following procedure to configure the delegate control to forward search queries to the new farm. The delegate control is the default search box that is located near the top right of non-custom master pages for site collections.

To configure the delegate-control search box for a site collection

  1. Verify that the account that is performing this procedure is an administrator of the site collection.

  2. Go to the top-level site of the site collection.

  3. On the Site Actions menu, click Site Settings, and then click Modify All Site Settings.

  4. In the Site Collections Administration section, click Search settings.

  5. On the Search Settings page, in the Search Center and Custom Scopes section, do the following:

  6. Click the Use custom scopes. Display richer results using the following Search Center button.

  7. In the associated text box, type the following URL:

    http://<Web application>/pages

    Where <Web application> is the Web application that is associated with the Search Center and Search service application in the new farm.

    This is the URL to which you want the search system in the original farm to forward queries that users submit from the delegate control of this site collection.

    Note:

    This action will also automatically update the Advanced Search link on the Search Center site to point to http:// <Web application>/pages. When you type the URL http://<Web application>/pages, do not type a trailing .aspx extension. The search system will automatically append results.aspx or advanced.aspx, depending on the type of query that the user issues.

Configure search boxes on Search Centers

Perform the following procedure on each Search Center in the original farm that you want to configure to forward user search queries to the new farm.

To configure search boxes on Search Centers

  1. Verify that the user account that is performing this procedure has Contribute permission for site content on the Search Center site.

  2. Perform the following steps, depending on whether there are tabs on the Search Center site:

    • If there are no tabs on the Search Center site, do the following:

      1. On the Site Actions menu, click Edit Page.

      2. In the Search Web Part, click the edit arrow, and then click Modify Shared Web Part.

      3. In the Web Part Properties window, click Miscellaneous.

      4. Ensure that Use Site Level Defaults is selected.

      5. Click OK.

      6. Follow the steps that your organization uses to save, submit, approve, and publish the page.

    • If there are tabs on the Search Center site, do the following:

      1. Select the tab that you want to configure.

      2. Click the Site Actions menu, and then click Edit Page.

      3. In the Search Web Part, click the edit arrow, and then click Modify Shared Web Part.

      4. In the Web Part Properties window, click Miscellaneous.

      5. Perform the following steps in the Miscellaneous section, depending on the tab that you are configuring:

        • If you are configuring the All Sites tab, ensure that Use Site Level Defaults is selected.

        • If you are configuring the People tab, do the following:

          1. Ensure that the Use Site Level Defaults check box is cleared.

          2. Ensure that the Target search results page URL field contains the URL of the people-search results page in the new farm.

            Typically, the URL of a people-search results page has the following form: http://<Web application>/pages/peoplesearch.aspx

            where <Web application> is the Web application that is associated with the Search Center and Search service application in the new farm. This is the URL to which you want the search system in the original farm to forward queries that users submit in the people-search text box.

          3. In the Miscellaneous section, if Display advanced search link is selected, ensure that the Advanced Search page URL text box indicates the location of the Advanced Search page in the new farm.

            Typically, the Advanced Search page URL text box contains only the following portion of the Advanced Search page URL:

            /pages/advanced.aspx

            Note:

            Do not use the Advanced Search Web Part for this purpose.

        • If you are configuring a custom search tab, do the following:

          1. Configure the search box by doing the following:

            1. Ensure that the Use Site Level Defaults check box is cleared.

            2. Ensure that the Target search results page URL field contains the URL of the search results page in the new farm.

            3. In the Miscellaneous section, If the Display advanced search link is selected, ensure that the Advanced Search page URL text box indicates the location of the Advanced Search page in the new farm.

              Typically, the Advanced Search page URL text box contains only the following portion of the Advanced Search page URL:

              /pages/advanced.aspx

              Note:

              Do not use the Advanced Search Web Part for this purpose.

          2. Configure the people-search box by doing the following:

            1. Ensure that the Use Site Level Defaults check box is cleared.

            2. Ensure that the Target search results page URL field contains the URL of the people-search results page in the new farm.

              Typically, the URL of the people results page has the following form:

              http://<Web application>/pages/peoplesearch.aspx

              where <Web application> is the Web application that is associated with the Search Center and Search service application in the new farm. This is the URL to which you want the search system in the original farm to forward queries that users submit in the people-search text box that you are configuring.

            3. If Display advanced search link is selected, ensure that the Advanced Search page URL text box indicates the location of the Advanced Search page in the new farm.

              Typically, the Advanced Search page URL text box contains only the following portion of the Advanced Search page URL:

              /pages/advanced.aspx

              Note:

              Do not use the Advanced Search Web Part for this purpose.

            4. Click OK.

            5. Follow the steps that your organization uses to save, submit, approve, and publish the page.

Configure other non-custom search boxes

Developers or administrators can add non-custom search text boxes and non-custom people-search text boxes to pages on SharePoint sites. Typically, such pages are not part of a Search Center. From each page that has such a text box, perform the following procedure to configure the search box to forward users' queries to the new farm.

To configure other non-custom search boxes

  1. Go to a page that has one or more non-custom search text boxes and people-search text boxes.

  2. Verify that the account that is performing the remainder of this procedure has Contribute permission for site content on that page.

  3. Click the Site Actions menu, and then click Edit Page.

  4. In the Search Web Part for the search text box or people-search text box, click the edit arrow, and then click Modify Shared Web Part.

  5. In the Web Part Properties window, click Miscellaneous.

  6. In the Miscellaneous section, do one of the following:

    • If you are configuring a search text box, select the Use site level Defaults check box.

    • If you are configuring a people-search text box, do the following:

      1. Clear the Use site level Defaults check box.

      2. In the Target search results page URL text box, type the URL for the people-search results page in the following form:

        http://<Web application>/pages/peoplesearch.aspx

        where <Web application> is the Web application that is associated with the Search Center and Search service application in the new farm. This is the URL to which you want the original farm to forward queries that users submit in the people-search text box that you are configuring.

      3. In the Miscellaneous section, if Display advanced search link is selected, ensure that the Advanced Search page URL text box indicates the location of the Advanced Search page in the new farm.

        Typically, the Advanced Search page URL text box contains only the following portion of the Advanced Search page URL:

        /pages/advanced.aspx

  7. Click OK.

  8. Follow the steps that your organization uses to save, submit, approve, and publish the page.

Configure custom search boxes

If there are custom search text boxes in the original farm, you will probably want to configure those search boxes to forward search queries to the new farm. For site collections for which you have already configured the delegate-control search box, you can test the behavior of custom search text boxes to determine whether those text boxes use the site-level defaults. For custom search text boxes in those site collections that do not use site-level defaults, or for custom search text boxes in other site collections, we recommend that you contact the developer to determine how to configure the custom search text boxes to forward search queries to the new farm.

Modify links to Search Centers or Advanced Search pages in the original farm

If sites in the original farm have links that refer to Search Centers or Advanced Search pages, content contributors or others who have appropriate permissions should manually update the links as appropriate to refer to Search Centers or Advanced Search pages in the new farm.

Optional: Enable query suggestions and custom scopes by using the Search Box Replacement Control

The Search Box Replacement Control is a search Web Part from Metalogix Software that you can install and use in the original farm to take the place of all delegate controls there. Delegate controls are the non-custom search boxes in the top-right corner of SharePoint sites. The Search Box Replacement Control looks and works the same as search boxes that it replaces because it inherits its appearance and functionality from the standard Search Box Web Part. However, the Search Box Replacement Control provides two additional functions for search queries in the original farm — query suggestions and search scopes.

Note:

Replacing custom search boxes with the Search Box Replacement Control is not supported. We recommend that you contact the developer of the custom search boxes to determine how to reconfigure custom search boxes to meet the requirements of your organization.

If you do not use the Search Box Replacement Control or some other solution for the same purpose, neither custom scopes nor query suggestions will be available when the search-first migration is complete. Nonetheless, some organizations might not want to use the Search Box Replacement Control. This might be the case, for example, if the organization has custom search boxes in the original farm or if there are certain restrictions on installing software in the environment.

You should plan to notify end users that search functionality will not be available in the original farm while you install and configure the Search Box Replacement Control.

For more information about installing and using the Search Box Replacement Control, see the Metalogix Search-First Migration User Guide, which is available from the Metalogix Search First Migration Accelerator download page.

Query suggestions

SharePoint Server 2010 provides query suggestions as a user types a query in a search box. Office SharePoint Server 2007 does not provide this functionality. However, after a search-first migration is complete, search boxes in the original farm that you replace with the Search Box Replacement Control can provide query suggestions for users who type search queries in the original farm. The replacement control obtains query suggestions from the log of search queries that have been submitted in the new farm.

Note:

Unless query suggested have been pre-populated, no query suggestions will be available immediately after a search-first migration is completed because no searches have been conducted in the new farm. However, query suggestions will become available as more searches are conducted in the new farm. For more information, see Manage query suggestions (SharePoint Server 2010).

Search scopes

In SharePoint Server 2007 and SharePoint Server 2010, site collection administrators can define search scopes to help end users narrow their searches. Available scopes can be displayed in a drop-down box next to the search box. An end user can select a scope in the drop-down box at query time to narrow a search.

If you install the Search Box Replacement Control, you can specify one of the scope modes that the replacement control can display. The scope mode specifies the server farm from which scopes are available when users submit search queries in the original farm. These modes are described in the following table.

If you select this Scope Mode | The Search Box Replacement Control displays these scopes
2007 | Scopes that a standard search box displays in a Office SharePoint Server 2007 farm
2010 | Service application-level scopes that were created in the new farm. Contextual scopes (This Site scopes and This List scopes) are not displayed.
MIX | Scopes from both farms
Note:

  • For all scope modes, each site-collection-level scope is usable only if you map it to a service application-level scope with the same name in the new farm and you specify the URL of the appropriate site collection in an associated scope rule. For more information, see To map a site collection-level scope to a service application-level scope in the article Migrate search settings for search-first migration (SharePoint Server 2010).

  • For each site-collection-level scope in the original farm that you mapped to a service application-level scope with the same name in the new farm, the Search Box Replacement Control displays the scope name only once.

  • For scope modes 2010 or MIX, each Search Box Replacement Control displays each service application-level scope that was created in the new farm. This can be confusing to end users because not all service application-level scopes will necessarily pertain to all search boxes in the original farm.

See Also

Concepts

Introduction to search-first migration (SharePoint Server 2010)
Plan a SharePoint Server 2010 farm for search-first migration (SharePoint Server 2010)
Plan to configure the SharePoint Server 2010 farm for search-first migration (SharePoint Server 2010)
Configure the SharePoint Server 2010 farm for search-first migration (SharePoint Server 2010)
Migrate search settings for search-first migration (SharePoint Server 2010)
Train end users to use the search-first environment (SharePoint Server 2010)


Migrate search settings for search-first migration (SharePoint Server 2010)
See Also

Published: May 26, 2011

This article describes methods that you can use in a search-first migration to retrieve search settings from the original farm and reproduce the settings in the new farm.

Before you read you read this article, you should be familiar with the following articles about search-first migration:

  • Introduction to search-first migration (SharePoint Server 2010)

  • Plan a SharePoint Server 2010 farm for search-first migration (SharePoint Server 2010)

  • Plan to configure the SharePoint Server 2010 farm for search-first migration (SharePoint Server 2010)

  • Configure the SharePoint Server 2010 farm for search-first migration (SharePoint Server 2010)

  • Configure the SharePoint Server 2007 farm for search-first migration (SharePoint Server 2010)

For brevity in this article, the following terms are used:

Original farm | The Office SharePoint Server 2007 farm that the organization is using in a production environment, with SharePoint enterprise search deployed.
New farm | A new SharePoint Server 2010 farm that you deploy and initially use only for the search-first migration.
Search-first environment | An environment in which a search-first migration is complete. In this environment, end users can use SharePoint Server 2010 search-query features and search-results features when they submit search queries in the original farm or the new farm.

The following table indicates ways that you can migrate various search settings.

To migrate this search setting to the new farm You can use this method

Best Bets, keywords, synonyms, SSP-level scopes and associated scope rules and display groups

SharePoint Enterprise Search Migration Tool for SharePoint Server 2010

Note:

  • The Enterprise Search Migration Tool does not migrate any other settings from a Microsoft Office SharePoint Server 2007 farm to a Microsoft SharePoint Server 2010 farm. For example, it does not export the Search Center URL, search box drop-down mode, or search-results page URL.

  • The Enterprise Search Migration Tool does not migrate site collection-level scopes if there are no corresponding site collections in the new farm. Typically in a search-first migration there are no site collections in the new farm because there is no content in that farm yet. For more information, see Migrating SSP-level scopes and Migrating site collection-level scopes later in this article.

Farm-level search settings (such as crawler impact rules, proxy settings, and time-out settings)

Database-attach upgrade. For more information, see Perform a database attach upgrade to SharePoint Server 2010.

Thesaurus files

Manually copy thesaurus files to the new farm. For more information, see Manage thesaurus files (SharePoint Server 2010).

Stop word files

Manually copy stop word files to the new farm. For more information, see Manage stop word files (SharePoint Server 2010).

Custom dictionaries

Manually copy custom dictionaries to the new farm. For more information, see Create a custom dictionary (SharePoint Server 2010).

IFilters that are not installed with the product

Manually install the IFilters in the new farm. For more information, see File types and IFilters reference (SharePoint Server 2010).

Protocol handlers that are not installed with the product

Manually install the protocol handlers in the new farm. In SharePoint Server 2010, protocol handlers are called connectors. For more information, see Default connectors (SharePoint Server 2010).

Content sources

  1. Manually or programmatically retrieve the content sources that are associated with the Office SharePoint Search service of each SSP. For information about how to programmatically retrieve content sources from a Office SharePoint Server 2007 farm, see How to: Retrieve the Content Sources for a Shared Services Provider.

  2. Manually or programmatically reproduce the content sources in the new farm. For information about how to use Windows PowerShell to create a content source in a SharePoint Server 2010 farm, see New-SPEnterpriseSearchCrawlContentSource.

File types

  1. Manually or programmatically retrieve file type settings that are associated with the Office SharePoint Search service of each SSP. For information about how to programmatically retrieve file type settings from a SharePoint Server 2007 farm, see Extension Class.

  2. Manually reproduce the file type settings in the new farm.

Authoritative pages

  1. Manually or programmatically retrieve the authoritative pages that are associated with the Office SharePoint Search service of each SSP. For information about how to programmatically retrieve authoritative pages by using the AuthorityPages collection of the Ranking class, see Ranking.AuthorityPages Property.

  2. Manually or programmatically reproduce the authoritative pages in the new farm. For information about how to use Windows PowerShell in a SharePoint Server 2010 farm to create an authoritative page and set its properties, see New-SPEnterpriseSearchQueryAuthority and Set-SPEnterpriseSearchQueryAuthority.

Alerts

Manually reproduce alert settings.

Server-name mappings

Manually reproduce server-name mappings.

Federated locations

Export federated locations from the original farm and import them into the new farm. For configuration information for a federated location in SharePoint Server 2010, see LocationConfiguration Class.

Crawled properties

  1. Manually or programmatically retrieve the crawled properties that are associated with the Office SharePoint Search service of each SSP. For information about how to programmatically retrieve crawled properties from a SharePoint Server 2007 farm, see How to: Retrieve the Crawled Properties for a Category in the Search Schema.

  2. Manually or programmatically reproduce the crawled properties in the new farm. For information about how to use Windows PowerShell in a SharePoint Server 2010 farm to create a crawled property and set its properties, see New-SPEnterpriseSearchMetadataCrawledProperty and Set-SPEnterpriseSearchMetadataCrawledProperty.

Managed properties

  1. Manually or programmatically retrieve the managed properties that are associated with the Office SharePoint Search service of each SSP. For information about how to programmatically retrieve managed properties from a SharePoint Server 2007 farm, see How to: Retrieve the Managed Properties for a Shared Services Provider.

  2. Manually or programmatically reproduce the managed properties in the new farm. For information about how to use Windows PowerShell in a SharePoint Server 2010 farm to create a managed property and set its properties, see New-SPEnterpriseSearchMetadataManagedProperty and Set-SPEnterpriseSearchMetadataManagedProperty.

Migrating SSP-level scopes

You can migrate SSP-level scopes in either of the following ways:

  • Automatically, by using the SharePoint Enterprise Search Migration Tool for SharePoint Server 2010. For each SSP-level scope in the original farm, the tool automatically creates in the new farm a corresponding service application-level scope with the same name.

  • Manually, by creating a service application-level scope in the new farm with the same name as a corresponding SSP level-scope in the original farm. You can do this for any or all SSP-level scopes.

By using either of these methods, you create a one-to-one mapping between SSP-level scopes in the original farm and service application-level scopes in the new farm. When a user submits a query that uses a SSP-level scope that is mapped to a service application-level scope, the search system in the new farm receives the query from the original farm and uses the mapped scope to narrow the search results according to the SSP-level scope.

Migrating site collection-level scopes

In a search-first migration, it is not possible to migrate site collection-level scopes. This is because the new farm contains no SharePoint content or site collections yet. Therefore, when a user selects a site collection-level scope in the original farm, the scope is not usable and the user will see an error message to the effect that the scope does not exist. As a workaround, you can manually map the site collection-level scope in the original farm to a new service application-level scope that you create in the new farm. You can do this for any site collection-level scopes in the original farm. (A potential disadvantage is that this will be time-consuming if there are many site collection-level scopes that you want to map.) When an end user submits a query in the original farm that uses a site collection-level scope that is mapped to a service application-level scope, the search system in the new farm receives the query and uses the scope mapping that you created to narrow the search results to the site collection level. For more information, see To map a site collection-level scope to a service application-level scope later in this article.

Note:

It is not possible to have multiple service application-level scopes in the new farm that have the same name. Therefore, the results of the workaround might be unpredictable for cases in which you attempt to map multiple scopes from the original farm (site collection-level scopes or SSP-level scopes) that have the same name. For example, the results might be unpredictable if you migrate an SSP-level scope named "Sales" to a service-application-level scope named "Sales", and you map a site-collection level scope named "Sales" to a service application-level scope named "Sales".

To map a site collection-level scope to a service application-level scope

  1. Verify that the user account that is performing this procedure is a member of the Farm Administrators group in the new farm.

  2. Refer to Manage search scopes (SharePoint Server 2010) as you perform the following tasks:

    1. Create a service application-level scope that has the same name as the site collection-level scope in the original farm.

    2. Create a scope rule for the new service application-level scope.

    3. On the Add Scope Rule page for the new scope rule, in the Scope Rule Type section, click Web address.

    4. On the same Add Scope Rule page, in the Web Address section, specify the URL of the site collection in the original farm that you want to map to this service application. This ensures that the service-application level scope in the new farm applies only to the site collection that you specify in the original farm.

Note:

After you migrate content databases to the new farm, you can delete service application-level scopes that you no longer want.

See Also

Concepts

Introduction to search-first migration (SharePoint Server 2010)
Plan a SharePoint Server 2010 farm for search-first migration (SharePoint Server 2010)
Plan to configure the SharePoint Server 2010 farm for search-first migration (SharePoint Server 2010)
Configure the SharePoint Server 2010 farm for search-first migration (SharePoint Server 2010)
Configure the SharePoint Server 2007 farm for search-first migration (SharePoint Server 2010)
Train end users to use the search-first environment (SharePoint Server 2010)


Train end users to use the search-first environment (SharePoint Server 2010)
See Also

Published: May 26, 2011

After a search-first migration, end users can continue to perform tasks in the original server farm and use familiar Microsoft Office SharePoint Server 2007 features and functionality. When users conduct searches, they have the additional advantage of new search features and functionality in Microsoft SharePoint Server 2010.

For brevity in this article, the following terms are used:

Original farm | The SharePoint Server 2007 farm that the organization is using in a production environment, with SharePoint enterprise search deployed.
New farm | A new SharePoint Server 2010 farm that you deploy and initially use only for the search-first migration.
Search-first environment | An environment in which a search-first migration is complete. In this environment, end users can use SharePoint Server 2010 search-query features and search-results features when they submit search queries in the original farm or the new farm.

It is important to educate users about what they can do with the enhanced search capabilities in the search-first environment, and to explain to users how to navigate when they perform searches in the new environment. The search system displays pages in the original farm or the new farm depending on users' actions, and this might confuse users at first. This section provides information that you can use to help users understand how to use the capabilities in a search-first environment.

Search-related navigation

In a search-first environment, end users can submit search queries from search boxes in the original farm or in the new farm. Typically, a user initiates a query from a search box in the original farm because that is the main SharePoint working environment. If the query uses a contextual scope (that is, the This Site scope or the This List scope), the user's Web browser displays the results on a search results page in the original farm. In that case, there is no change in the way that the user goes from site to site, because all of the navigation stays in the original farm and works in the familiar way.

On the other hand, if the search query does not use a contextual scope, the user's Web browser displays the results on a search results page in the new farm. Similarly, when a user clicks an Advanced Search link in the original farm to perform an advanced search, the user's Web browser displays an Advanced Search page in the new farm. The user types the search parameters on the Advanced Search page in the new farm and submits the query there. The search system displays the results on a search results page in the new farm.

After viewing the search results in the new farm, the user can do any of the following:

  • Click the Back button in the browser to return to the site in the original farm or the new farm where the user typed the query.

  • Click a Did You Mean or Related Searches link to get suggestions for related searches.

  • Use the Refinement Panel on the search results page in the new farm to narrow the search results.

  • Type a new search query in the search box on the search results page in the new farm.

  • Click a search result on the search results page in the new farm.

In a search-first environment, when a user clicks a search result, the user's Web browser displays the site that hosts the content, whether the site is in the original farm or the new farm. SharePoint content is typically located in the original farm because content has not been migrated to the new farm yet. However, if you brought user profiles into the new farm to crawl them and host them on My Sites there, the corresponding content is in the new farm. For more information, see "Plan people search" in the article Plan to configure the SharePoint Server 2010 farm for search-first migration (SharePoint Server 2010). The user can continue to work as usual after the system displays the search-result content.

SharePoint Server 2010 functionality for search queries

End users have access to SharePoint Server 2010 search features, whether they type queries in the original farm or in the new farm. The following table summarizes the new search query features that are available, depending on the way that you configured the search-first migration.

End users can take advantage of this Microsoft SharePoint Server 2010 search feature If you do this when you perform a search-first migration For more information, see

  • Prefix matching

  • Boolean query syntax

No special steps required

What's new in enterprise search (SharePoint Server 2010)

Phonetic name matching

You crawl user profiles in the new farm rather than the original farm

"Configure crawling" in the article Plan to configure the SharePoint Server 2010 farm for search-first migration (SharePoint Server 2010)

Query suggestions

You install the Search Box Replacement Control

Optional: Enable query suggestions and custom scopes by using the Search Box Replacement Control in the article Configure the SharePoint Server 2007 farm for search-first migration (SharePoint Server 2010) *

*The search system will provide query suggestions in cases where there are related queries in the query history in the new farm.

SharePoint Server 2010 functionality for viewing and interacting with search results

The following table describes the conditions under which end users have access to Microsoft SharePoint Server 2010 search functionality when they view search results.

When an end user submits a query in a non-custom search box in the original farm | The results are displayed on a search results page in | Are Microsoft SharePoint Server 2010 features available when viewing search results?
And the query does not use a contextual scope | The new farm | Yes: for example, results refinement and relevance improvements
And the query uses a contextual scope* | The original farm | No

*To use a contextual scope for a search on SharePoint content that is in the original farm, the user must submit the search query from a search box in the original farm. When typing a query in a non-custom search box in the new farm, it is not possible to specify a contextual scope to search SharePoint content that is in the original farm.

Other user interface differences

Users might be accustomed to the appearance and behavior of Search Centers in the original farm, and to customizations that the organization applied there. Search Centers in the new farm provide refinement capability and might have other look-and-feel differences from Search Centers in the original farm. In addition, the new farm might have fewer Search Centers than the original farm. For more information, see "Plan Search Center deployment" in the article Plan to configure the SharePoint Server 2010 farm for search-first migration (SharePoint Server 2010).

Many navigation paths and shortcuts that are used in the original farm will also be different or unavailable in the new farm. This is because the new farm is a different farm and because it has less SharePoint content than the original farm.

See Also

Concepts

Introduction to search-first migration (SharePoint Server 2010)
Plan a SharePoint Server 2010 farm for search-first migration (SharePoint Server 2010)
Plan to configure the SharePoint Server 2010 farm for search-first migration (SharePoint Server 2010)
Configure the SharePoint Server 2010 farm for search-first migration (SharePoint Server 2010)
Configure the SharePoint Server 2007 farm for search-first migration (SharePoint Server 2010)
Migrate search settings for search-first migration (SharePoint Server 2010)


Using AAM URL redirection as part of the upgrade process (SharePoint Server 2010) (white paper)
See Also

This white paper describes the planning activities that you need to successfully deploy and use the alternate access mapping (AAM) URL redirection feature in Microsoft SharePoint Server 2010 to help mitigate downtime during a server computer or server farm upgrade. It also describes the procedures necessary to successfully complete the configuration of this feature by modifying existing Microsoft Office SharePoint Server 2007 server computers.

Important:

The process described in this white paper is an advanced technique for avoiding downtime during upgrade. It should only be used if other techniques, such as read-only databases and upgrade in-place with detached databases, would cause an unacceptably long period of downtime for your users. Do not consider using this technique unless you know your upgrade process will take more than a long weekend. If your upgrade is not likely to take that long, you won't save any time by performing the procedures in this paper. For more information about other approaches to upgrade, see Determine upgrade approach (SharePoint Server 2010).

Download this white paper as a Microsoft Word document (.doc). (http://go.microsoft.com/fwlink/p/?LinkId=168857)

Download this white paper as a PDF file. (http://go.microsoft.com/fwlink/p/?LinkId=168858)

See Also

Other Resources

Downloadable book: Upgrading to SharePoint Server 2010
Resource Center: Upgrade and Migration for SharePoint Server 2010


Migrate from forms-based authentication to claims-based authentication (SharePoint Server 2010)
See Also

Published: September 23, 2010

The procedures in this article provide guidance to help you migrate existing Microsoft Office SharePoint Server 2007 Web applications, which were configured to use forms-based authentication, to work in a Microsoft SharePoint Server 2010 environment as claims-based Web applications.

After upgrading to SharePoint Server 2010, upgraded Web applications retain the logon method that the Office SharePoint Server 2007 applicataions used. Office SharePoint Server 2007 Web applications that were configured to use Windows authentication require no additional steps for upgrade. However, you must convert Office SharePoint Server 2007 Web applications that were configured to use forms-based authentication to use claims-based authentication before the Office SharePoint Server 2007 Web applications can be used in SharePoint Server 2010. After you convert the Office SharePoint Server 2007 Web applications to claims-based authentication, configure the Web application zones for forms-based authentication. The final step is to migrate users and permissions to SharePoint Server 2010. This article provides the following procedures to complete Web application migration:

  • Convert SharePoint Server 2007 Web applications that use forms-based authentication to use claims-based authentication

  • Migrate users and permissions from SharePoint Server 2007 to SharePoint Server 2010

Convert SharePoint Server 2007 Web applications that use forms-based authentication to use claims-based authentication

Perform the steps in the following procedure to use Windows PowerShell to convert existing Web applications to claims-based authentication.

To convert Web applications to claims-based authentication

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. From the Windows PowerShell command prompt, type the following:

    Copy Code
    $w = Get-SPWebApplication "http://<server>/"
$w.UseClaimsAuthentication = 1
$w.Update()

$w.ProvisionGlobally()
Note:

We recommend that you use Windows PowerShell when performing command-line administrative tasks. The Stsadm command-line tool has been deprecated, but is included to support compatibility with previous product versions.

Migrate users and permissions from SharePoint Server 2007 to SharePoint Server 2010

Perform the steps in the following procedure to use Windows PowerShell to migrate users and permissions.

To migrate users and permissions from SharePoint Server 2007 to SharePoint Server 2010

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. From the Windows PowerShell command prompt, type the following:

    Copy Code
    $w = Get-SPWebApplication "http://<server>/"
$w.MigrateUsers($True)
Note:

We recommend that you use Windows PowerShell when performing command-line administrative tasks. The Stsadm command-line tool has been deprecated, but is included to support compatibility with previous product versions.

See Also

Concepts

Configure forms-based authentication for a claims-based Web application (SharePoint Server 2010)

Other Resources

Downloadable book: Upgrading to SharePoint Server 2010
Resource Center: Upgrade and Migration for SharePoint Server 2010


Migrate from classic-mode to claims-based authentication (SharePoint Server 2010)
See Also

Published: October 14, 2010

The procedures in this article provide guidance to help you migrate existing Microsoft SharePoint Server 2010 Web applications, which were configured to use classic-mode authentication, to use claims-based authentication. You might decide to do this if you want to implement an authentication method other than Windows authentication (for example, if you want to create a Web application that supports forms-based authentication). For more information, see Plan authentication methods (SharePoint Server 2010).

Warning:

After you migrate a Web application to claims-based authentication, you cannot revert it to classic-mode authentication.

Convert SharePoint Server 2010 Web applications that use classic-mode authentication to use claims-based authentication

Perform the steps in the following procedure to use Windows PowerShell to convert existing Web applications to claims-based authentication.

To convert Web applications to claims-based authentication

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. From the Windows PowerShell command prompt, type the following to set the specified user account as an administrator for the site:

    Copy Code
    $WebAppName = "http://yourWebAppUrl"
$wa = get-SPWebApplication $WebAppName
$wa.UseClaimsAuthentication = $true
$wa.Update()

  6. From the Windows PowerShell command prompt, type the following to configure the policy to enable the user to have full access:

    Copy Code
    $account = "yourDomain\yourUser"
$account = (New-SPClaimsPrincipal -identity $account -identitytype 1).ToEncodedString()
$wa = get-SPWebApplication $WebAppName
$zp = $wa.ZonePolicies("Default")
$p = $zp.Add($account,"PSPolicy")
$fc=$wa.PolicyRoles.GetSpecialRole("FullControl")
$p.PolicyRoleBindings.Add($fc)
$wa.Update()

  7. From the Windows PowerShell command prompt, type the following to perform user migration:

    Copy Code
    $wa.MigrateUsers($true)

  8. After migration completes, type the following from the Windows PowerShell command prompt to perform provisioning:

    Copy Code
    $wa.ProvisionGlobally()
Note:

We recommend that you use Windows PowerShell when performing command-line administrative tasks. The Stsadm command-line tool has been deprecated, but is included to support compatibility with previous product versions.

Additional migration guidelines

After you perform the steps in the previous procedures, you might experience one or more of the following issues.

  • Users who submit valid credentials might be notified that they do not have permissions. If this occurs, the portalsuperuseraccount property and the portalsuperreaderaccount property of the Web application were probably configured prior to migration. If this is the case, you must update the portalsuperuseraccount property and the portalsuperreaderaccount property to use the new claims-based account name. After migration, you can find the new claims-based account name in the Web application policy for the migrated Web application.

  • If existing alerts are not invoked after migration, you might have to delete and recreate the alerts.

  • If Search crawl does not function after migration, make sure the Search crawl account lists the new converted account name. If the new converted account name is not listed, you must manually create a new policy for the crawl account.

See Also

Other Resources

Downloadable book: Upgrading to SharePoint Server 2010
Resource Center: Upgrade and Migration for SharePoint Server 2010


Deploy Office Web Apps (Installed on SharePoint 2010 Products)

Published: May 16, 2012

Learn about Microsoft Office Web Apps and how to deploy them on Microsoft SharePoint 2010 Products on-premises in your organization.

Office Web Apps are the online companions to Microsoft Word, Microsoft Excel, Microsoft PowerPoint, and Microsoft OneNote applications. Office Web Apps enable users to access documents from anywhere by using a Web browser. Users can view, share, and work on documents with other users online across personal computers and mobile devices.

Office Web Apps requires a supported device, an Internet connection, and a supported browser. Some mobile functionality requires Office Mobile 2010, which is not included in Office 2010 applications, suites, or Office Web Apps. There are some differences among the features of Office Web Apps, Office Mobile 2010, and the Office 2010 applications. For more information about Office Web Apps requirements, see Planning Office Web Apps (Installed on SharePoint 2010 Products).

Important:

Do not install Office Web Apps on a computer that is configured as a domain controller. Instead, run Office Web Apps and the domain controller on separate computers. If you only have one computer, consider running Office Web Apps and the domain controller configuration as separate virtual machine instances on the single host computer, by using Hyper-V or other virtualization software.

Unless otherwise noted, SharePoint 2010 Products in this article refers to Microsoft SharePoint Server 2010 and Microsoft SharePoint Foundation 2010, which must be installed before you install Office Web Apps. This article does not provide guidance or instructions about how to deploy SharePoint 2010 Products. For more information about how to deploy SharePoint 2010 Products, see Deployment scenarios (SharePoint Server 2010) or Deployment scenarios (SharePoint Foundation 2010).

Before you deploy Office Web Apps in your organization, ensure that you understand the concepts and terminology in Understanding Office Web Apps (Installed on SharePoint 2010 Products) and Planning Office Web Apps (Installed on SharePoint 2010 Products).

Caution:

When you install Office Web Apps on server farm, it becomes tightly integrated into SharePoint 2010 Products.

Before you install Office Web Apps on a server farm in a production environment, we strongly recommend that you install Office Web Apps in a test environment and thoroughly evaluate it to ensure that it fully meets your organization's needs. This evaluation should include verifying that you have appropriate licenses to install and run Office Web Apps in a production environment. For more information about Office Web Apps licensing, see How to buy Office 2010 through Volume Licensing (http://go.microsoft.com/fwlink/p/?LinkId=220251).

Uninstalling Office Web Apps will result in some downtime for the farm. For more information, see Deactivate or Uninstall Office Web Apps (Installed on SharePoint 2010 Products).

To download Office Web Apps, go to the Office Professional Plus 2010 32-bit or Office Standard 2010 32-bit page on the Microsoft Volume Licensing Service Center (http://go.microsoft.com/fwlink/p/?LinkID=191841).

In this article:

  • Understanding Office Web Apps deployment

  • Deployment scenarios

Understanding Office Web Apps deployment

For stand-alone SharePoint 2010 Products servers and server farms, deploying Office Web Apps involves three phases:

Installing Office Web Apps Includes running Setup.exe for the Office Web Apps on a stand-alone SharePoint 2010 Products server or on each server in a SharePoint server farm. Running Setup.exe installs Office Web Apps files and components on a server.

Activating the Office Web Apps services Includes starting the services, and creating the service applications and service application proxies. How you activate the services depends on the state of your SharePoint 2010 Products installation before you install Office Web Apps. If the SharePoint Products Configuration Wizard and the SharePoint Farm Configuration Wizard have been previously run, which is usually the case when you are installing on an existing stand-alone server or server farm, you must activate the services manually or by using Windows PowerShell. If the configuration wizards have not been run before you install Office Web Apps, which is the case when you are installing on a new stand-alone server or server farm, you can run the configuration wizards after the installation to automatically activate the services.

Note:

When this article refers to the SharePoint Products Configuration Wizard, alternately you can use the Psconfig command-line tool to complete the task. For more information, see Psconfig command-line reference (SharePoint Server 2010).

Activating the Office Web Apps feature Includes activating the Office Web Apps feature on each existing SharePoint site collection where you want Office Web Apps to be available. If the SharePoint Farm Configuration Wizard was run before you installed Office Web Apps, the wizard will have created at least one site collection for which Office Web Apps are activated. After you have installed Office Web Apps, the Office Web Apps feature is activated automatically for new site collections that you create.

Some procedures in this article require you to run SharePoint 2010 cmdlets or scripts by using either Windows PowerShell or SharePoint 2010 Management Shell. To run SharePoint 2010 cmdlets in Windows PowerShell, you must add the Microsoft.SharePoint.PowerShell snap-in by using the Add-PSSnapin cmdlet. For more information about the Add-PSSnapin cmdlet, see Add-PSSnapin (http://go.microsoft.com/fwlink/p/?LinkId=188450). By default, the Microsoft.SharePoint.PowerShell snap-in is already registered and added to the SharePoint 2010 Management Shell. To run SharePoint 2010 cmdlets, you must be a member of the SharePoint_Shell_Access role on the configuration database and a member of the WSS_ADMIN_WPG local group on the computer where SharePoint 2010 Products is installed. See Add-SPShellAdmin. To run scripts in Windows PowerShell or SharePoint 2010 Management Shell, you must set the execution policy by using the set-executionpolicy cmdlet with the unrestricted parameter. For more information about how to use Windows PowerShell with SharePoint 2010 Products, see SharePoint 2010 Products administration by using Windows PowerShell.

Deployment scenarios

Based on your SharePoint 2010 Products installation type, choose the appropriate option to install and configure Office Web Apps:

  • Install and configure Office Web Apps on an existing stand-alone SharePoint 2010 Products server

  • Install and configure Office Web Apps on a new stand-alone SharePoint 2010 Products server

  • Install and configure Office Web Apps on an existing SharePoint server farm

  • Install and configure Office Web Apps on a new SharePoint server farm

Install and configure Office Web Apps on an existing stand-alone SharePoint 2010 Products server

Complete the procedures in this section only if you are installing Office Web Apps on an existing stand-alone SharePoint 2010 Products server on which the SharePoint Products Configuration Wizard has been previously run.

Note:

To complete the following procedures, you must be a member of the Administrators group on the local computer.

Run Office Web Apps Setup

Complete this procedure to install Office Web Apps components and files on a server.

To run Office Web Apps Setup

  1. From the root folder of the Office Web Apps files, run Setup.exe.

  2. On the Enter your Product Key page, enter your product key, and then click Continue.

  3. On the Choose a file location page, do one of the following:

    • To install to the default location, click Install Now.

    • To install to a different location, specify the location that you want to install to, and then click Install Now.

  4. On the Run Configuration Wizard page, ensure that the Run the SharePoint Products Configuration Wizard now check box is selected, and then click Close to start the SharePoint Products Configuration Wizard.

Run the SharePoint Products Configuration Wizard to register the services

Complete this procedure to register the Office Web Apps services on the SharePoint 2010 Products server.

To run the SharePoint Products Configuration Wizard to register the services

  1. If you left the Run the SharePoint Products Configuration Wizard now check box selected in the previous procedure, the SharePoint Products Configuration Wizard will start. If the wizard does not start, click Start, click All Programs, click Microsoft SharePoint 2010 Products, and then click SharePoint Products Configuration Wizard.

  2. On the Welcome to SharePoint Products page, click Next.

  3. In the dialog box that notifies you that some services might have to be started or reset during configuration, click Yes to begin the configuration.

  4. On the Configuration Successful page, click Finish.

Start the services

You must start the services before you create the service applications and the service application proxies. You can start the services by using Central Administration or by using Windows PowerShell.

Complete the procedures in this section to start the services on the server.

To start the services by using Central Administration

  1. On the Central Administration Web site, in System Settings, click Manage services on server.

  2. On the Services on Server page, for Excel Calculation Services, PowerPoint Service, and Word Viewing Service, click Start.

    Note:

    On a server that is running SharePoint Server 2010 Enterprise, the Excel Calculation Services service is installed and started by default. The OneNote Web App does not require a SharePoint service.

To start the services by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin. Also verify that the account that you use to perform this procedure is a member of the Administrators group on the computer that is running Windows PowerShell.

  2. Copy the following code and paste it into a text editor, such as Notepad:

    Copy Code
    $machinesToActivate = @("<ServerName>")
$serviceInstanceNames = @("Word Viewing Service", "PowerPoint Service", "Excel Calculation Services")
foreach ($machine in $machinesToActivate)
{
  foreach ($serviceInstance in $serviceInstanceNames)
  {
     $serviceID = $(Get-SPServiceInstance | where {$_.TypeName -match $serviceInstance}).ID
     Start-SPServiceInstance -Identity $serviceID
  }
}

  3. Replace the following placeholders with values where:

    <ServerName> is the name of the SharePoint 2010 Products server on which you want to start the services.

  4. Save the file, naming it Start-WebAppSvcs.ps1.

    Note:

    You can use a different file name. However, you must save the file as an ANSI-encoded text file that has the extension .ps1.

  5. Click Start, click All Programs, and then click Microsoft SharePoint 2010 Products.

  6. Right-click SharePoint 2010 Management Shell, and then click Run as administrator.

  7. Change to the directory where you saved the file.

  8. At the Windows PowerShell command prompt, type the following command:

    Copy Code
    ./Start-WebAppSvcs.ps1

Create the service applications and the service application proxies

Note:

You must start the services before you complete the procedures in this section.

After you have started the services, you must create the service applications and the service application proxies that connect the SharePoint Web front-end servers to the service applications. You can create the service applications and the service application proxies for the Word Web App, PowerPoint Web App, and Excel Web applications by using Central Administration or by using Windows PowerShell. After you create the service applications, they will automatically run on the services that you have started.

Note:

On a server that is running SharePoint Server 2010 Enterprise, the Excel Calculation Services service application is created by default. The OneNote Web App does not require a service application.

Complete the procedures in this section to create the Office Web Apps service applications and service application proxies for the Excel Web App, PowerPoint Web App and Word Web App.

To create the service applications and the service application proxies by using Central Administration

  1. On the Central Administration Web site, in Application Management, click Manage service applications.

  2. On the Manage Service Applications page, click New, and then click PowerPoint Service Application.

  3. In the PowerPoint Service Application dialog box, do the following:

    1. In the Name box, type PowerPoint Service Application or other descriptive name.

    2. In the Application Pool area, click Use existing application pool, and then in the list, select SharePoint Web Services Default.

    3. In the Add to default proxy list area, verify that the Add this service application's proxy to the farm's default proxy list check box is selected (default), and then click OK.

    Note:

    When you create a new application pool, you can specify a security account that is used by the application pool to be either a predefined Network Service account or a managed account. The account must have db_datareader, db_datawriter, and execute permissions for the SharePoint configuration database, and be assigned to the db_owner role for the content databases. For more information about services account permissions in SharePoint 2010 Products, see Account permissions and security settings (SharePoint Server 2010).

  4. On the Service Applications page, click New, and then click Word Viewing Service.

  5. In the Word Viewing Service Application dialog box do the following:

    1. In the Name box, type Word Viewing Service Application or other descriptive name.

    2. In the Application Pool area, click Use existing application pool, and then in the list, select SharePoint Web Services Default.

    3. In the Add to default proxy list area, verify that the Add this service application's proxy to the farm's default proxy list check box is selected (default), and then click OK.

  6. On a server that is running SharePoint Server 2010 Enterprise, the Excel Calculation Services service application is created by default. If an Excel Calculation Services service application does not already exist, on the Manage Service Applications page, click New, and then click Excel Services Application.

  7. In the Create New Excel Services Application dialog box, do the following:

    1. In the Name box, type either Excel Services Application or another descriptive name.

    2. In the Application Pool area, do one of the following:

      • Click Use existing application pool, and then, in the list, click SharePoint Web Services Default.

      • Click Create new application pool, and then, in the Application pool name box, type the name that you want to use for the application pool, and then select a managed account from the Configurable list.

    3. In the Add to default proxy list area, either leave the Add this service application's proxy to the farm's default proxy list check box selected or clear it, and then click OK.

    Note:

    You might have to refresh the Manage Service Applications page in your browser to see the new service applications and service application proxies.

To create the service applications and the service application proxies by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin. Also verify that the account that you use to perform this procedure is a member of the Administrators group on the computer that is running Windows PowerShell.

  2. On a computer that is running SharePoint Server 2010 Enterprise, the Excel Calculation Services service application is created by default. Copy the following code and paste it into a text editor, such as Notepad:

    Copy Code
    $appPool = Get-SPServiceApplicationPool -Identity "SharePoint Web Services Default"
New-SPWordViewingServiceApplication -Name "WdView" -ApplicationPool $appPool | New-SPWordViewingServiceApplicationProxy -Name "WdProxy"
New-SPPowerPointServiceApplication -Name "PPT" -ApplicationPool $appPool | New-SPPowerPointServiceApplicationProxy -Name "PPTProxy" -AddToDefaultGroup

    If an Excel Calculation Services service application does not already exist, copy the following code and paste it into a text editor, such as Notepad:

    Copy Code
    $appPool = Get-SPServiceApplicationPool -Identity "SharePoint Web Services Default"
New-SPWordViewingServiceApplication -Name "WdView" -ApplicationPool $appPool | New-SPWordViewingServiceApplicationProxy -Name "WdProxy"
New-SPPowerPointServiceApplication -Name "PPT" -ApplicationPool $appPool | New-SPPowerPointServiceApplicationProxy -Name "PPTProxy" -AddToDefaultGroup
New-SPExcelServiceApplication -Name "Excel" -ApplicationPool $appPool
    Note:

    This script uses the SharePoint Web Services Default application pool as an example. You can use another existing application pool or create a new one.

  3. Save the file, naming it Create-SrvAppsProx.ps1.

    Note:

    You can use a different file name. However, you must save the file as an ANSI-encoded text file that has the extension .ps1.

  4. Click Start, click All Programs, and then click Microsoft SharePoint 2010 Products.

  5. Right-click SharePoint 2010 Management Shell, and then click Run as administrator.

  6. Change to the directory where you saved the file.

  7. At the Windows PowerShell command prompt, type the following command:

    Copy Code
    ./Create-SrvAppsProx.ps1
Note:

You might have to refresh the Manage Service Applications page in your browser to see the new service applications and service application proxies.

Activate the Office Web Apps feature

After the services have been started and the service applications and service application proxies have been created, you must enable the Office Web Apps feature on any existing site collections. You can enable the feature on a single site collection either by using the Site Settings page or by using Windows PowerShell. If you have many site collections, you can enable the feature on all existing site collections at the same time by using Windows PowerShell.

Note:

You do not have to complete this procedure for new site collections that you create after you have installed Office Web Apps.

Complete the procedures in this section to enable the Office Web Apps feature on one or more existing site collections.

Note:

To complete the procedures in this section, you must be an administrator for the site collection.

To activate the Office Web Apps feature on a single site collection by using Site Settings

  1. In a supported browser, open the SharePoint site, click Site Actions, and then click Site Settings.

  2. On the Site Settings page, in Site Collection Administration, click Site collection features.

  3. On the Features page, for Office Web Apps, click Activate.

To activate the Office Web Apps feature on a single site collection by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin. Also verify that the account that you use to perform this procedure is a member of the Administrators group on the computer that is running Windows PowerShell, and is a member of the Farm Administrators SharePoint group.

  2. Copy the following code and paste it into a text editor, such as Notepad:

    Copy Code
    $webAppsFeatureId = $(Get-SPFeature -limit all | where {$_.displayname -eq "OfficeWebApps"}).ID
$singleSiteCollection = Get-SPSite -Identity <SiteCollURL>
Enable-SPFeature $webAppsFeatureId -Url $singleSiteCollection.URL

  3. Replace the following placeholders with values where:

    <SiteCollURL> is the URL for the site collection

  4. Save the file, naming it Activate-WebApps.ps1.

  5. Click Start, click All Programs, and then click Microsoft SharePoint 2010 Products.

  6. Right-click SharePoint 2010 Management Shell, and then click Run as administrator.

  7. Change to the directory where you saved the file.

  8. At the Windows PowerShell command prompt, type the following command:

    Copy Code
    ./Activate-WebApps.ps1

To activate the Office Web Apps feature on all site collections by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin. Also verify that the account that you use to perform this procedure is a member of the Administrators group on the computer that is running Windows PowerShell, and is a member of the Farm Administrators SharePoint group.

  2. Copy the following code and paste it into a text editor, such as Notepad:

    Copy Code
    $webAppsFeatureId = $(Get-SPFeature -limit all | where {$_.displayname -eq "OfficeWebApps"}).ID
Get-SPSite -limit ALL | foreach {Enable-SPFeature $webAppsFeatureId -url $_.URL}

  3. Save the file, naming it Activate-AllWebApps.ps1.

  4. Click Start, click All Programs, and then click Microsoft SharePoint 2010 Products.

  5. Right-click SharePoint 2010 Management Shell, and then click Run as administrator.

  6. Change to the directory where you saved the file.

  7. At the Windows PowerShell command prompt, type the following command:

    Copy Code
    ./Activate-AllWebApps.ps1

Install and configure Office Web Apps on a new stand-alone SharePoint 2010 Products server

This section applies only if you are installing Office Web Apps on a new SharePoint 2010 Products server on which the SharePoint Products Configuration Wizard has not been previously run.

Note:

To complete the following procedures, you must be a member of the Administrators group on the local computer.

Run Office Web Apps Setup

Complete the procedures in this section to install Office Web Apps components and files on a new stand-alone SharePoint 2010 Products server.

To run Office Web Apps Setup

  1. From the root folder of the Office Web Apps files, run Setup.exe.

  2. On the Enter your Product Key page, enter your product key, and then click Continue.

  3. On the Choose a file location page, do one of the following:

    • To install to the default location, click Install Now.

    • To install to a different location, specify the location that you want to install to, and then click Install Now.

  4. After Setup is complete, on the Run Configuration Wizard page, ensure that the Run the SharePoint Products Configuration Wizard now check box is selected, and then click Close to start the SharePoint Products Configuration Wizard.

To register and start the services by using the SharePoint Products Configuration Wizard

Complete this procedure to register and start the Office Web Apps services. Running the SharePoint Products Configuration Wizard on a new, stand-alone SharePoint 2010 Products server also creates the service applications and service application proxies, and enables the Office Web Apps feature on all existing site collections. The Office Web Apps feature is also enabled automatically for all new site collections.

To register and start the services by using the SharePoint Products Configuration Wizard

  1. If you left the Run the SharePoint Products Configuration Wizard now check box selected in the previous procedure, the SharePoint Products Configuration Wizard will be started automatically. If the wizard does not start, click Start, click All Programs, click Microsoft SharePoint 2010 Products, and then click SharePoint Products Configuration Wizard.

  2. On the Welcome to SharePoint Products page, click Next.

  3. In the dialog box that notifies you that some services might have to be started or reset during configuration, click Yes to begin the configuration.

  4. On the Configuration Successful page, click Finish. Your new SharePoint site opens to the Template Selection page.

  5. On the Template Selection page, click one of the following options, and then click OK:

    • In the Template Selection section, click a predefined template.

    • In the Solutions Gallery section, click Solutions Gallery, and then customize your own site template.

  6. On the Set Up Groups for this Site page, specify who should have access to your site, and then either create a new group or use an existing group for these users by doing one of the following:

    • To create a new group, click Create a new group, and then type the name of the group and the members that you want to add to this group.

    • To use an existing group, click Use an existing group, and then select the user group in the Item list.

  7. Click OK.

Install and configure Office Web Apps on an existing SharePoint server farm

Perform the procedures in this section only if you are installing Office Web Apps on an existing SharePoint 2010 Products server farm on which the SharePoint Products Configuration Wizard has been previously run.

Note:

When you run Setup.exe, Office Web Apps Setup configures the default open behavior for SharePoint to open Microsoft Word, Excel, PowerPoint, and OneNote documents in the browser by using their associated Web application.

If you have run Office Web Apps Setup on a live production server farm, but have not yet started the services, created the service applications, and activated the Office Web Apps feature, a user might not be able to access site collections or might get broken link error messages when he or she tries to open a document in the browser.

You can avoid end users getting these error messages while you complete additional deployment tasks on a live production server. We recommended that you enable the OpenInClient feature on all existing site collections prior to running Setup. For more information, see Configure the default open behavior for browser-enabled documents (Office Web Apps).

Note:

To complete the following procedures, you must be a member of the Administrators group on the local computer.

Run Office Web Apps Setup

Complete this procedure to install Office Web Apps on a single SharePoint 2010 Products server. You must perform this procedure on every server in the farm.

To run Office Web Apps Setup

  1. From the root folder of the Office Web Apps files, run Setup.exe.

  2. On the Enter your Product Key page, enter your product key, and then click Continue.

  3. On the Choose a file location page, do one of the following:

    • To install to the default location, click Install Now.

    • To install to a different location, specify the location that you want to install to, and then click Install Now.

  4. After Setup is complete, on the Run Configuration Wizard page, do one of the following:

    • Leave the Run the SharePoint Products Configuration Wizard now selected and leave the page open until you have installed Office Web Apps on all servers, and then click Close.

    • Clear the Run the SharePoint Products Configuration Wizard now check box, and then click Close.

  5. You must repeat this procedure on each server in the farm before proceeding to the next procedure.

Run the SharePoint Products Configuration Wizard to register the services

Complete this procedure to register the Office Web Apps services on a single SharePoint 2010 Products server. You must perform this procedure on every server in the farm.

To run the SharePoint Products Configuration Wizard to register the services

  1. To start the SharePoint Products Configuration Wizard, click Start, click All Programs, click Microsoft SharePoint 2010 Products, and then click SharePoint 2010 Products Configuration Wizard.

  2. On the Welcome to SharePoint Products page, click Next.

  3. In the dialog box that notifies you that some services might need to be started or reset during configuration, click Yes.

  4. On the Completing the SharePoint Products Configuration Wizard page, click Next to begin the configuration.

  5. On the Configuration Successful page, click Finish, and then, on the Configure your SharePoint farm page, click Cancel.

  6. On the Configure your SharePoint farm page, click No, I will configure everything myself. Cancel.

    Important:

    Do not run the Farm Configuration Wizard; you will configure the server farm for Office Web Apps by using the procedures that follow in this section.

  7. You must repeat this procedure on each server in the farm before proceeding to the next procedure.

Start the services

Note:

You should complete this procedure after you have installed Office Web Apps and run the SharePoint Products Configuration Wizard on each server in the farm.

A service provides the physical location for a service application. For each server that you want to run the Office Web Apps service applications, you must start the services. You can start the services by using Central Administration or by using Windows PowerShell.

Complete the procedures in this section to start the services before proceeding to the next procedure. Start the services on the Web front-end servers on which you want users to view and edit documents in the browser.

To start the services by using Central Administration

  1. On the Central Administration Web site, in System Settings, click Manage services on server.

  2. On the Services on Server page, do the following:

    1. In the list of services on the selected server, for Excel Calculation Services, PowerPoint Service, and Word Viewing Service, click Start.

    2. Click the Server button at the top, click Change Server, and then in the Select Server dialog box, click a different server name.

    3. Repeat these steps until the services have been started on all Web front-end servers on which you want users to view and edit documents in the browser.

    Note:

    On a server that is running SharePoint Server 2010 Enterprise, the Excel Calculation Services service is created and started by default. The OneNote Web App does not require a SharePoint service.

To start the services by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin. Also verify that the account that you use to perform this procedure is a member of the Administrators group on the computer that is running Windows PowerShell.

  2. Copy the following code and paste it into a text editor, such as Notepad:

    Copy Code
    $machinesToActivate = @("<ServerName1>","<ServerName2>")
$serviceInstanceNames = @("Word Viewing Service","PowerPoint Service","Excel Calculation Services")
foreach ($machine in $machinesToActivate)
{
  foreach ($serviceInstance in $serviceInstanceNames)
  {
     $serviceID = $(Get-SPServiceInstance | where {$_.TypeName -match $serviceInstance} | where {$_.Server -match "SPServer Name="+$machine}).ID
     Start-SPServiceInstance -Identity $serviceID
  }
}

  3. Replace the following placeholders with values where:

    <ServerName1> and <ServerName2> are names of SharePoint 2010 Products servers on which you want to start the services.

  4. Save the file, naming it Start-WebAppSvcs.ps1.

    Note:

    You can use a different file name. However, you must save the file as an ANSI-encoded text file that has the extension .ps1.

  5. Click Start, click All Programs, and then click Microsoft SharePoint 2010 Products.

  6. Right-click SharePoint 2010 Management Shell, and then click Run as administrator.

  7. Change to the directory where you saved the file.

  8. At the Windows PowerShell command prompt, type the following command:

    Copy Code
    ./Start-WebAppSvcs.ps1

Create the service applications and the service application proxies

Note:

You must start the services before you complete the procedures in this section. You need to complete the procedures in this section on only one server in the farm.

After you have started the services, you must create the service applications and the service application proxies that connect the SharePoint Web front-end servers to the service applications. You can create the service applications and the service application proxies for the, Word Web App, PowerPoint Web App, and Excel Calculation Services Web applications by using Central Administration or by using Windows PowerShell. After the service applications are created, they will run automatically on the services that have been started.

Note:

On a server that is running SharePoint Server 2010 Enterprise, the Excel Calculation Services service application is created by default. The OneNote Web App does not require a service application.

To create the service applications and the service application proxies by using Central Administration

  1. On the Central Administration Web site, click Application Management, and then, in the Service Applications area, click Manage service applications.

  2. On the Manage Service Applications page, click New, and then click PowerPoint Service Application.

  3. In the New PowerPoint Service Application dialog box, do the following:

    1. In the Name box, type either PowerPoint Service Application or another descriptive name.

    2. In the Application Pool area, do one of the following:

      • Click Use existing application pool, and then in the list click SharePoint Web Services Default.

      • Click Create new application pool, in the Application pool name box, type a name for the application pool, and then select a managed account from the Configurable list.

        Note:

        When you create a new application pool, you can specify a security account used by the application pool to be either a predefined Network Service account or a managed account. The account must have db_datareader, db_datawriter, and execute permissions for the SharePoint configuration database, and be assigned to the db_owner role for the content databases. For more information about services account permissions in SharePoint 2010 Products, see Account permissions and security settings (SharePoint Server 2010).

    3. In the Default Application Proxy Group area, either leave the Add application proxy to default group check box selected, or clear it and then click OK.

  4. On the Manage Service Applications page, click New, and then click Word Viewing Service.

  5. In the Word Viewing Service Application dialog box, do the following:

    1. In the Name box, either type Word Viewing Service Application or another descriptive name.

    2. In the Application Pool area, do one of the following:

      • Click Use existing application pool, and then, in the list, click SharePoint Web Services Default.

      • Click Create new application pool, and then, in the Application pool name box, type a name for the application pool, and then select a managed account from the Configurable list.

        Note:

        When you create a new application pool, you can specify a security account used by the application pool to be either a predefined Network Service account or a managed account. The account must have db_datareader, db_datawriter, and execute permissions for the SharePoint configuration database, and be assigned to the db_owner role for the content databases. For more information about services account permissions in SharePoint 2010 Products, see Account permissions and security settings (SharePoint Server 2010).

    3. In the Add to default proxy list area, either leave the Add this service application's proxy to the farm's default proxy list check box selected or clear it, and then click OK.

  6. On a server that is running SharePoint Server 2010, the Excel Calculation Services service application is created and started by default. If an Excel Calculation Services service application does not exist already, on the Manage Service Applications page, click New, and then click Excel Services Application.

  7. In the Create New Excel Services Application dialog box, do the following:

    1. In the Name box, type either Excel Services Application or another descriptive name.

    2. In the Application Pool area, do one of the following:

      • Click Use existing application pool, and then in the list click SharePoint Web Services Default

      • Click Create new application pool, and then, in the Application pool name box, type a name for the application pool, and then select a managed account from the Configurable list.

    3. In the Add to default proxy list area, either leave the Add this service application's proxy to the farm's default proxy list check box selected or clear it, and then click OK.

    Note:

    You might need to refresh the Manage Service Applications page in your browser to see the new service applications and service application proxies.

To create the service applications and the service application proxies by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin. Also verify that the account that you use to perform this procedure is a member of the Administrators group on the computer that is running Windows PowerShell.

  2. On a computer that is running SharePoint Server 2010 Enterprise, the Excel Calculation Services service application is created by default. Copy the following code and paste it into a text editor, such as Notepad:

    Copy Code
    $appPool = Get-SPServiceApplicationPool -Identity "SharePoint Web Services Default"
New-SPWordViewingServiceApplication -Name "WdView" -ApplicationPool $appPool | New-SPWordViewingServiceApplicationProxy -Name "WdProxy"
New-SPPowerPointServiceApplication -Name "PPT" -ApplicationPool $appPool | New-SPPowerPointServiceApplicationProxy -Name "PPTProxy" -AddToDefaultGroup

    If an Excel Calculation Services service application does not already exist, copy the following code and paste it into a text editor, such as Notepad:

    Copy Code
    $appPool = Get-SPServiceApplicationPool - Identity "SharePoint Web Services Default"
New-SPWordViewingServiceApplication -Name "WdView" -ApplicationPool $appPool | New-SPWordViewingServiceApplicationProxy -Name "WdProxy"
New-SPPowerPointServiceApplication -Name "PPT" -ApplicationPool $appPool | New-SPPowerPointServiceApplicationProxy -Name "PPTProxy" -AddToDefaultGroup
New-SPExcelServiceApplication -Name "Excel" -ApplicationPool $appPool
    Note:

    This script uses the SharePoint Web Services Default application pool as an example. You can use another existing application pool or create a new one.

  3. Save the file, naming it Create-SvcAppsProx.ps1.

    Note:

    You can use a different file name. However, you must save the file as an ANSI-encoded text file that has the extension .ps1.

  4. Click Start, click All Programs, and then click Microsoft SharePoint 2010 Products.

  5. Right-click SharePoint 2010 Management Shell, and then click Run as administrator.

  6. Change to the directory where you saved the file.

  7. At the Windows PowerShell command prompt, type the following command:

    Copy Code
    ./Create-SvcAppsProx.ps1
Note:

You might need to refresh the Manage Service Applications page in your browser to see the new service applications and service application proxies.

Activate the Office Web Apps feature

After you have started the services and created the service applications and service application proxies, you must activate the Office Web Apps feature on existing site collections. You can activate the feature on a single site collection by using the Site Settings page or by using Windows PowerShell. If you have a large number of site collections, you can activate the feature on all site collections at one time by using Windows PowerShell.

Complete the procedures in this section to activate the Office Web Apps feature on one or more existing site collections.

To activate the Office Web Apps feature by using the Site Settings page, you must be an administrator for the site collection. To activate the Office Web Apps feature by using Windows PowerShell, you must use an account that has read/write and execute permissions for the content databases and the SharePoint configuration database, and be assigned to the db_owner role for the content databases. For more information about services account permissions in SharePoint 2010 Products, see Account permissions and security settings (SharePoint Server 2010).You do not have to complete this procedure for new site collections that you create.

Important:

If you activated the OpenInClient feature on all existing site collections prior to running Setup to prevent users from getting broken link error messages, you should disable the OpenInClient feature after you activate the Office Web Apps feature. For more information, see Configure the default open behavior for browser-enabled documents (Office Web Apps).

To activate the Office Web Apps feature on a single site collection by using the Site Settings page

  1. In a supported browser, open the SharePoint site, click Site Actions, and then click Site Settings.

  2. On the Site Settings page, in Site Collection Administration, click Site collection features.

  3. On the Features page, for Office Web Apps, click Activate.

  4. Repeat this procedure for each existing site collection on which you want to activate the Office Web Apps feature.

To activate the Office Web Apps feature on a single site collection by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin. Also verify that the account that you use to perform this procedure is a member of the Administrators group on the computer that is running Windows PowerShell, and is a member of the Farm Administrators SharePoint group.

  2. Copy the following code and paste it into a text editor, such as Notepad:

    Copy Code
    $webAppsFeatureId = $(Get-SPFeature -limit all | where {$_.displayname -eq "OfficeWebApps"}).ID
$singleSiteCollection = Get-SPSite -Identity <SiteURL>
Enable-SPFeature $webAppsFeatureId -Url $singleSiteCollection.URL

  3. Replace the following placeholders with values where:

    SiteURL is the URL of the site collection

  4. Save the file, naming it ActivateWebApps.ps1.

    Note:

    You can use a different file name. However, you must save the file as an ANSI-encoded text file that has the extension .ps1.

  5. Click Start, click All Programs, and then click Microsoft SharePoint 2010 Products.

  6. Right-click SharePoint 2010 Management Shell, and then click Run as administrator.

  7. Change to the directory where you saved the file.

  8. At the Windows PowerShell command prompt, type the following command:

    Copy Code
    ./ActivateWebApps.ps1

To activate the Office Web Apps feature on all site collections by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin. Also verify that the account that you use to perform this procedure is a member of the Administrators group on the computer that is running Windows PowerShell, and is a member of the Farm Administrators SharePoint group.

  2. Copy the following code and paste it into a text editor, such as Notepad:

    Copy Code
    $webAppsFeatureId = $(Get-SPFeature -limit all | where {$_.displayname -eq "OfficeWebApps"}).ID
Get-SPSite -limit ALL |foreach {Enable-SPFeature $webAppsFeatureId -url $_.URL}

  3. Save the file, naming it ActivateWebAppsAll.ps1.

    Note:

    You can use a different file name. However, you must save the file as an ANSI-encoded text file that has the extension .ps1.

  4. Click Start, click All Programs, and then click Microsoft SharePoint 2010 Products.

  5. Right-click SharePoint 2010 Management Shell, and then click Run as administrator.

  6. Change to the directory where you saved the file.

  7. At the Windows PowerShell command prompt, type the following command:

    Copy Code
    ./ActivateWebAppsAll.ps1

Install and configure Office Web Apps on a new SharePoint server farm

Perform the procedures in this section only if you are installing Office Web Apps on a new SharePoint 2010 Products server farm on which neither the SharePoint Products Configuration Wizard nor the Farm Configuration Wizard have been previously run.

Note:

To complete the following procedures, you must be a member of the Administrators group on the local computer.

Run Office Web Apps Setup

Complete this procedure to install the Office Web Apps files and components on a single SharePoint 2010 Products server in a new server farm on which neither the SharePoint Products Configuration Wizard nor the Farm Configuration Wizard has not previously been run. You must complete this procedure on each server in the server farm.

To run Office Web Apps Setup

  1. From the root folder of the Office Web Apps files, run Setup.exe.

  2. On the Enter your Product Key page, enter your product key, and then click Continue.

  3. On the Choose a file location page, do one of the following:

    • To install to the default location, click Install Now.

    • To install to a different location, specify the location that you want to install to, and then click Install Now.

  4. After Setup is complete, on the Run Configuration Wizard page, ensure that the Run the SharePoint Products Configuration Wizard now check box is selected, and then click Close to open the wizard.

  5. Complete the following procedure before you install Office Web Apps on the other servers in the farm.

Run the SharePoint Products Configuration Wizard to register services

Complete this procedure to run the SharePoint Products Configuration Wizard to register the Office Web Apps services on a single SharePoint 2010 Products server. You must complete this procedure on each server in the server farm.

Important:

Install Office Web Apps and run the SharePoint Products Configuration Wizard first on a server on which you want to host the Central Administration Web application. The first time that you run the SharePoint Products Configuration Wizard, the wizard creates the configuration database that all successive servers that you add to farm will share. Then, install Office Web Apps and run the SharePoint Products Configuration Wizard on the other servers that you want to add to the new farm.

To run the SharePoint Products Configuration Wizard to register the services

  1. To start the SharePoint Products Configuration Wizard, click Start, click All Programs, click Microsoft SharePoint 2010 Products, and then click SharePoint 2010 Products Configuration Wizard.

  2. On the Welcome to SharePoint Products page, click Next.

  3. In the dialog box that notifies you that some services might have to be started or reset during configuration, click Yes.

  4. On the Connect to a server farm page, do one of the following:

    • To create a new server farm, on the first SharePoint 2010 Products server, click Create a new server farm, and then click Next.

    • To add more SharePoint 2010 Products servers to the farm, click Connect to an existing server farm, and then click Next.

  5. On the Specify Configuration Database Settings page, do the following:

    1. In the Database server box, type the name of the computer that is running SQL Server.

      • To create the new configuration database on the first SharePoint 2010 Products server, in the Database name box, type the name that you want to use for your configuration database or use the default database name. The default name is SharePoint_Config.

      • To add more SharePoint 2010 Products servers to the farm, click Retrieve Database Names, and then, in the Database name box, select the appropriate database from the list or type the name of your server farm's configuration database.

    3. On the first SharePoint 2010 Products server, to specify a database access account, do the following:

      • In the Username box, type the user name of the server farm account in DOMAIN\user name format.

        Important:

        The server farm account is used to create and access your configuration database. It also acts as the application pool identity account for the Central Administration application pool, and it is the account under which the Windows SharePoint Services Timer service runs. The SharePoint Products Configuration Wizard adds this account to the SQL Server Login accounts, the SQL Server dbcreator fixed server role, the SQL Server securityadmin fixed server role, and the db_owner fixed database role for all SharePoint databases in the server farm. The user account that you specify as the service account must be a domain user account. However, it does not have to be a member of any specific security group on your Web servers or your database servers. We recommend that you follow the least-privilege principle and specify a user account that is not a member of the Administrators group on your Web servers or your database servers.

      • In the Password box, type the user password.

    4. Click Next.

  6. On the Specify Farm Security Settings page, type a passphrase for your farm, and then click Next.

    Although a passphrase resembles a password, it is usually longer to increase security. It is used to encrypt credentials of accounts that are registered in SharePoint 2010 Products. For example, the SharePoint Server system account that you provide when you run the SharePoint Products Configuration Wizard. Ensure that the passphrase meets the following criteria:

    • Contains at least eight characters

    • Contains at least three of the following four character groups:

      • English uppercase characters (from A through Z)

      • English lowercase characters (from a through z)

      • Numerals (from 0 through 9)

      • Nonalphabetic characters (such as !, $, #, %)

      Important:

      Ensure that you remember the passphrase, because you must use it every time that you add a server to the farm.

  7. On the Configure SharePoint Central Administration Web Application page, do the following:

    Note:

    This page does not appear if you have added the first server to the farm and are adding an additional server to farm.

    1. To use the default port number for the Central Administration Web application, leave the Specify port number check box cleared, or — to use a specific port number — select the Specify port number check box, and then type the port number that you want to use.

      Note:

      If you want to access the Central Administration Web site from a remote computer, ensure that you enable access to the port number that you configure in this step. You do this by configuring an inbound rule for SharePoint Central Administration v4 in Windows Firewall with Advanced Security.

    2. Click either NTLM or Negotiate (Kerberos), and then click Next.

  8. On the Completing the SharePoint Products Configuration Wizard page, review the configuration settings, and then do one of the following:

    • If you are running the wizard on the first server in the farm, click Next to begin the configuration.

    • If you are adding an additional server to the farm and you want to use the server to host the Central Administration Web application, click Advanced Settings, and then click Use this machine to host the web site.

      Note:

      If you are adding an additional server to the farm, the default setting is Do not use this machine to host the web site.

  9. On the Configuration Successful page, click Finish. Your new SharePoint site opens to the Configure your SharePoint farm page.

    Important:

    Do not run the SharePoint Farm Configuration Wizard until you have installed Office Web Apps and run the SharePoint Products Configuration Wizard on every server in the farm.

Run the SharePoint Farm Configuration Wizard

After you have installed Office Web Apps and run the SharePoint Products Configuration Wizard on all servers in the farm, complete this procedure to run the SharePoint Farm Configuration Wizard. You need to run the Farm Configuration Wizard on only one server. Running the SharePoint Farm Configuration Wizard does the following on each server in the farm:

  • Starts the services

  • Creates the service applications and service application proxies

  • Activates the Office Web Apps feature for any existing site collections

On the Configure your SharePoint farm page, you can decide to use a wizard to configure services or you can configure services manually.

The choice that you make here is a matter of personal preference. The Farm Configuration Wizard will configure some services automatically when it is run. However, if you configure services manually, you have more flexibility in designing your logical architecture. For more information about how to configure the services manually, see Multiple servers for a three-tier farm (SharePoint Foundation 2010) or Multiple servers for a three-tier farm (SharePoint Server 2010).

Important:

If you are using DBA-created databases, see Deploy by using DBA-created databases (SharePoint Server 2010).

To run the SharePoint Farm Configuration Wizard

  1. To run the Farm Configuration Wizard, on the Central Administration Web site, click Configuration Wizards, and then click Launch the Farm Configuration Wizard.

  2. On the Configure your SharePoint Farm page, in the Service Account area, click Use an existing managed account, and then select the server farm account that you created in an earlier procedure.

  3. In the Services area, select the Office Web Apps services and other services that you want to enable, and then click Next.

  4. On the Create Site Collection page, either complete the optional page to create a new top-level site or click Skip to continue without creating a new top-level site at this point. For more information about how to create a top-level site, see Create a site collection (SharePoint Server 2010).

  5. On the Configure your SharePoint Farm page, click Finish.


Operations for SharePoint Server 2010

Welcome to the operations guide for Microsoft SharePoint Server 2010. The articles in this guide help you operate and maintain your servers, server farms, sites, and solutions.

In this section:

  • Server and server farm administration (SharePoint Server 2010)

    This section describes how to maintain servers and server farms within a SharePoint Server 2010 environment. It includes articles about backup and recovery, managing databases, Web application management, service application management, health and monitoring, and security and permissions administration.

  • Site and solution administration (SharePoint Server 2010)

    This section describes how to maintain sites and solutions within a SharePoint Server 2010 environment. It includes articles about managing site collections, service applications and services, features such as workflow, and sandboxed solutions.


Best practices (SharePoint Server 2010)

Published: June 3, 2011

Some design decisions that you make for Microsoft SharePoint Server 2010 can have a lasting effect on your environment and affect how well the solution performs. There are also operational practices that can improve performance and availability and provide a better experience for users and administrators. Many problems experienced by administrators and users can be avoided by reviewing concise descriptions of best practices for designing and operating SharePoint Server 2010 environments. The articles in this section summarize current knowledge and research from Microsoft Consulting Services and the SharePoint Server 2010 product team into a must-read quick reference for key design decisions and operational practices. Each article briefly describes the best practices for a particular environment or product area and provides links for additional reading.

Follow these best practices to help ensure that you avoid many common pitfalls and keep your SharePoint Server 2010 environment available and performing well. Use these articles as cheat sheets to help you get the most out of SharePoint Server 2010.

In this section:

  • Best practices for operational excellence (SharePoint Server 2010)

  • Best practices for extranet environments (SharePoint Server 2010)

  • Best practices for team collaboration sites (SharePoint Server 2010)

  • Best practices for virtualization (SharePoint Server 2010)

  • Best practices for My Sites (SharePoint Server 2010)

  • Best practices for content deployment (SharePoint Server 2010)

  • Best practices for publishing sites (SharePoint Server 2010)

  • Best practices for SQL Server 2008 in a SharePoint Server 2010 farm

  • Backup and recovery best practices (SharePoint Server 2010)

  • Best practices for people and profiles (SharePoint Server 2010)

  • Best practices for search in SharePoint Server 2010

  • Best practices for capacity management for SharePoint Server 2010


Best practices for operational excellence (SharePoint Server 2010)
See Also

Published: May 12, 2011

Microsoft SharePoint Server 2010 is used for a broad set of applications and solutions, either stand-alone or in concert with other systems. To achieve this flexibility, the platform supports lots of possible architectures and configurations. Some parts of the system are well-known, but we still see variances to these parts. This article focuses on the top configuration best practices that you should consider, such as front-end Web server configuration, database configuration, servicing, and patching.

This article is one of a series of best practices articles for SharePoint Server 2010. This article describes best practices for operational excellence. For more articles in the series, see Best practices (SharePoint Server 2010). For additional information and resources about Best Practices for SharePoint Server 2010, see the Best Practices Resource Center (http://go.microsoft.com/fwlink/p/?LinkId=221383).

1. Use lots of memory, and fast network adapters

To get the performance you want from an environment, make sure that you use lots of memory on the Web and application servers.

Network speed is also important for performance of the environment. Take the following actions to make network traffic move quickly:

  • Use gigabit network adapters for all server roles.

  • For front-end Web servers and application servers, use dual network adapters in production environments. Use one network adapter for users and one for Microsoft SQL Server communication.

  • Use private network adapters for inter-server communications for tasks such as management and backups so that this traffic does not affect the overall farm performance.

  • Under heavy load, consider using virtual local area networks (VLANs) to reduce network traffic.

For more information, see Hardware and software requirements (SharePoint Server 2010) and Performance and capacity management (SharePoint Server 2010).

2. Stay close: Do not put too much network distance between front-end Web servers, application servers, and database servers

No front-end Web server or application server should have more than one millisecond (ms) of latency between it and the database server. In practice, this generally means that you should keep all the servers in a farm in the same data center. All servers in a farm must be in the same time zone.

For more information, see Global solutions for SharePoint 2010 Products (model).

3. Consider performance and availability when you configure Web servers and application servers

The way that you configure Web servers and application servers can have a big effect on throughput and availability. Follow the following recommendations for best results:

  • Separate system components into logical drives and use RAID for redundancy.

    Components on drive Recommended RAID level

    Windows and program files drive

    RAID 1

    Operating system swap drive and temp directory

    RAID 1

    Log files

    RAID 1

    Boot disk for imaging and Windows Desktop Search (optional)

    RAID 1

  • Use at least four physical disks and use separate disks to keep the log files and swap drive separate from the Windows and program files drive.

  • In most production environments, we recommend that you allocate at least 200 GB of disk space for the operating system and temporary files and 150 GB of disk space for logs.

  • Be sure to test the Web server capacity and provide sufficient servers for the number of users and requests that are in the farm. For high availability, make sure that you allocate an additional server so that you can pull one server out of a network load-balancing server farm and recycle it without affecting service availability.

For more information, see the following resources:

  • Planning for server farms (SharePoint Server 2010)

  • Plan for availability (SharePoint Server 2010)

  • Capacity management and sizing overview for SharePoint Server 2010

  • Enterprise intranet collaboration environment technical case study (SharePoint Server 2010)

  • Enterprise intranet publishing environment technical case study (SharePoint Server 2010)

4. Consider performance and availability when you configure database servers

As is also the case with Web servers and application servers, the configuration for database servers affects how well SharePoint Server 2010 performs. Certain databases require specific co-location with or separation from other databases. For more information, see Data scale in the Capacity management and sizing overview for SharePoint Server 2010 article and Storage and SQL Server capacity planning and configuration (SharePoint Server 2010).

The databases listed in the following table should be kept separate from other databases.

Database name | Size | Read/write optimization | Co-location
TempDB | Medium |  | Must be on a separate spindle from all other databases.
Secure Store | Small |  | Host on a separate database instance. Limit access to one administrator.
Search Crawl | Extra large | Optimize for read | This is a large-scale database. Host on a separate server from the Search Property database.
Search Property | Large to extra large | Optimize for write | This is a large-scale database. Host on its own server.
Usage | Extra large | Optimize for write | Must be on a separate spindle.
Note:

The usage database can be on a separate server, and does not need performance to be as high as other databases. The speed of the usage database does not affect the performance of the site.

The databases in the following table must be stored in the same location as other databases.

Database name | Size | Co-location
Configuration Central Admin content | Small | Must be located together
SQL Server ReportServer ReportServerTempDB | Small Varies | Must be on the same database server

More information about database sizing and read/write mix for specific databases is available in the Databases That Support SharePoint 2010 Products model(http://go.microsoft.com/fwlink/p/?LinkId=187970).

5. Keep it clean: Maintain databases in a healthy state

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 you use SQL Server mirroring, do not store more than 50 databases on a single physical instance of SQL Server .

    • Limit content databases to 200 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 correctly 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 percent

    • Free disk space: more than 25 percent

    • Buffer cache hit ratio: 90 percent or better

For more information, see the following resources:

  • SharePoint Diagnostic Studio 2010 (SPDiag 3.0) (SharePoint Server 2010)

  • Good List of Performance Counters (http://go.microsoft.com/fwlink/p/?LinkId=123925)

    (Although this link points to content for Microsoft Office SharePoint Server 2007, the guidance it contains is still valid for SharePoint Server 2010.)

6. Keep servers current by using the latest updates

It is important to keep current by applying the latest hotfixes, updates, and service packs. These updates contain important product enhancements and improvements. However, make sure that you thoroughly test these updates on the pre-production environments before you apply them to the production environments. Follow the recommended procedure to deploy the updates, including the following:

  • Turn on Windows Update to download updates automatically, but not install automatically.

  • Schedule time to install updates at off-peak hours.

  • For high availability, rotate servers out of service one at a time during the update process.

Make sure that you are patching the BIOS (server computers, controllers, and disks), Windows operating system, Microsoft SharePoint Foundation 2010 and SharePoint Server 2010, and SQL Server.

For more information, see the Updates for SharePoint 2010 Products Resource Center (http://go.microsoft.com/fwlink/p/?LinkID=209614).

7. Use different accounts for different actions

Use appropriate accounts for the Web applications and services. All accounts should be domain accounts. (Reminder: Do not use Network Service.) For best results, use separate accounts for the following:

  • Web applications: Use different accounts based on your security requirements.

  • Search account: Use one account for the farm.

  • Excel Services account: Use one account for external connections.

For more information, see Account permissions and security settings (SharePoint Server 2010).

There are many more accounts that are used by SharePoint Server 2010, such as SQL Server services accounts, the Central Administration application pool identity, the SharePoint Foundation Timer service account, the default content access account, the single sign-on account, and the profile import account. Be sure to follow recommended procedures to keep their passwords current and ensure that the services keep working.

For more information, see Change passwords used for administration accounts (SharePoint Server 2010).

8. Follow recommendations for backing up and restoring data

In general, it is best to use a local disk, not a network drive, for backups, and then copy the data later. Use compression when you can, but when you use compression with backups, be mindful not to overwhelm SQL Server. For example, LiteSpeed for SQL Server compresses during backup, which can disrupt SQL Server performance.

For large databases, rely on incremental backups such as those available with System Center Data Protection Manager (DPM) 2010. Do not rely on full backups as your primary mechanism. They are too large to restore quickly.

For more information, see Backup and recovery best practices (SharePoint Server 2010).

9. Be sure that you back up and truncate the log files

Do not only back up the data. Back up the log files, too. The usage logs, IIS logs, transaction logs, and SMTP e-mail logs all must be backed up if you want to be able to fully recover your environment. For transaction logs, you should back up and truncate the log file every five minutes. However, never shrink the transaction log because you may experience performance issues while the log re-grows.

For more information, see Back up or archive logs in SharePoint Server 2010 and How to stop the transaction log of a SQL Server database from growing unexpectedly (http://go.microsoft.com/fwlink/p/?LinkID=111458).

10. Restore data: Test backups and have a standby environment available for service continuity

Routinely test backups and validate their consistency. Do not assume that the backup will work when you want it to. Make sure that it will. Practice recovery to learn what else you must do to bring back the whole environment. For geographically dispersed environments, prepare for disaster recovery by setting up a remote farm. Then you can restore the environment by using the database attach command to upload a copy of the database to the remote farm and redirect users. Similarly, you can set up a standby environment that runs the same version of software as the production environment so that you can restore the databases and recover documents quickly. Keep databases small to speed recovery.

For more information, see Procedural best practices when backing up and restoring SharePoint.

If you are using DPM 2010 for backup and recovery, make sure that you plan for backup and recovery of service applications separately. DPM 2010 does not back up Search or other service applications.

For more information, see Choose what to protect and recover in your SharePoint environment and How to protect SharePoint with DPM 2010 whitepaper (http://go.microsoft.com/fwlink/p/?LinkId=218153).

Acknowledgments

The SharePoint Server 2010 Content Publishing team thanks the following contributors to this article:

  • Aaron Saikovski, Microsoft Consulting Services

  • Ali Mazaheri, Microsoft Consulting Services

  • Bryan Porter, Microsoft Consulting Services

  • Chris Holder, Microsoft SharePoint Customer Engineering

  • Dan Winter, Microsoft SharePoint Customer Engineering

  • Eric Charran, Microsoft Consulting Services

  • Gus Apostol, Microsoft SQL Server Customer Programs

  • John S. Moh, Microsoft Consulting Services

  • Luca Bandinelli, Microsoft SharePoint Customer Engineering

  • Rahim Dossa, Microsoft Consulting Services

  • Steve Peschka, Microsoft Consulting Services

  • Steve Walker, Microsoft SharePoint Customer Engineering

  • Tajeshwar Singh, Microsoft Consulting Services

See Also

Concepts

Health monitoring (SharePoint Server 2010)

Other Resources

Health monitoring (SharePoint Foundation 2010)


Best practices for extranet environments (SharePoint Server 2010)

Published: May 26, 2011

This article describes planning and design recommendations for extranet environments based on SharePoint Server in which users outside the internal network are given access to sites. This article is one of a series of Best Practices articles for Microsoft SharePoint Server 2010.

1. Get started with the Extranet Topologies for SharePoint 2010 Products model

The Extranet Topologies for SharePoint 2010 Products model illustrates the specific extranet topologies that have been tested with SharePoint 2010 Products. It also provides a comparison of Internet Security and Acceleration (ISA) Server, Forefront Threat Management Gateway (TMG), and Forefront Unified Access Gateway (UAG) when used as a firewall or gateway product with SharePoint 2010 Products.

Extranet Topologies for SharePoint 2010 Products

Extranet topologies for SharePoint 2010 Products

Click the image to zoom into the Extranet Topologies for SharePoint 2010 Products model

Download the Extranet Topologies for SharePoint 2010 Products model (http://go.microsoft.com/fwlink/p/?LinkId=219527)

2. Choose the appropriate server license

The license or combination of licenses for servers depends on several factors. For SharePoint Server 2010 see Planning for server farms (SharePoint Server 2010) for a discussion of the various considerations and licensing options that apply to extranet environments.

3. Leverage multiple authentication mechanisms

Do not try to standardize all users to a single authentication mechanism. Use the authentication mechanism that gives the best experience for each user audience. For example, using SAML claims-based authentication for partners enables these users to use one set of credentials. Take advantage of the flexibility that SharePoint Server provides for configuring authentication, rather than deploying a single authentication mechanism to everyone in an organization.

For an example of a design that utilizes multiple authentication mechanisms, see Design sample: Corporate deployment (SharePoint Server 2010)

4. Maintain consistency in user authentication for users

Ensure that users can use the same account and credentials to log on to sites whether they are inside or outside the internal network. This is important because if users connect to sites through two different authentication providers, SharePoint Server creates two different accounts and profiles for each user.

If you use Windows authentication internally, there are at least two options to ensure that users can log on with the same account internally and externally:

  • Use forms-based authentication on the firewall or gateway product to collect Windows credentials that are forwarded to the SharePoint farm. This works in environments that use classic-mode authentication in which forms-based authentication for SharePoint sites is not supported.

  • Using Secure Sockets Layer (SSL) to implement only one URL that can be used both internally and externally. In other words, employees use the same zone that is configured for SSL regardless of where they are located.

5. Configure zones identically across Web applications

In an extranet environment, the design of zones is critical. Ensure that the configuration of zones meets the following requirements:

  • Configure zones across multiple Web applications to mirror each other. The configuration of authentication, zones, and users who are assigned to zones should be the same. However, the policies that are associated with zones can differ across Web applications. For example, ensure that the intranet zone is used for the same employees across all Web applications. In other words, do not configure the intranet zone for internal employees in one Web application and remote employees in another Web application.

  • Configure alternate access mappings appropriately and accurately for each zone and each resource. Alternate access mappings are automatically created when you create the zone. However, SharePoint Server can be configured to crawl content in external resources, such as a file share. You must use alternate access mappings to manually create links for each zone to these external resources.

6. Take advantage of a reverse proxy server

Protect your environment from direct user requests by using a reverse proxy server, where request inspection rules can be applied to each request. A reverse proxy can prevent information disclosure about the configuration of an internal network, and it can be used to securely terminate client SSL sessions to avoid SSL overhead on the Web servers.

Forefront Unified Access Gateway (UAG) is a reverse-proxy server that provides many capabilities when you combine it with SharePoint Server in extranet environments. For more information, see the following resources:

  • SharePoint publishing solution guide

  • Why enable SharePoint extranet access with Forefront UAG?

7. Configure cross-firewall access and settings for mobile devices

A cross-firewall access zone is used to generate external URLS for mobile alert messages. It also enables users to click the E-mail a link button on the ribbon to send an externally accessible URL. Some configuration is necessary to ensure that SharePoint sites are accessible for mobile devices, such as Windows Phone 7, when the devices are used outside the corporate firewall.

For more information, see the following articles:

  • Configure external access for mobile devices (SharePoint Server 2010)

  • Plan for mobile devices (SharePoint Server 2010)

8. Configure the People Picker for multiple domains

Because extranet environments can span multiple domains, be sure to configure the People Picker to return users, groups, and claims from the intended domains.

For more information, see the following resources:

  • Using People Picker with multiple forests or domains

  • Enable cross-forest or cross-domain queries when using a one-way trust

9. Configure antivirus settings

SharePoint Server includes an antivirus scanner that you can configure by using either Central Administration or by using the stsadm command-line tool.

10. Use the Secure Store Service to manage credentials for services that access back-end data sources

Service applications that use a delegated Windows identity (Excel Services, PerformancePoint Services, InfoPath Forms Services, andVisio Services) to access external data sources put additional requirements on the environment. Either external data sources must reside within the same domain as the SharePoint farm that hosts the service, or the service application must be configured to use the Secure Store Service. If the Secure Store Service is not used and farm servers are split between two domains, the application servers must reside in the same domain as the external data sources. If external data sources do not reside within the same domain, authentication to the external data sources will fail.

11. Configure DNS for split back-to-back topologies

If Web servers are split between the internal network and the perimeter network, ensure that DNS is configured with the appropriate records in each network zone to direct traffic to the intended Web servers.

For more information about configuring DNS, see "Zones and URLs" in the following article:Design sample: Corporate deployment (SharePoint Server 2010)

The SharePoint Server 2010 Content Publishing team thanks the following contributors to this article:

  • Ali Mazaheri, Microsoft Consulting Services

  • Bryan Porter, Microsoft Consulting Services

  • Steve Walker, Microsoft SharePoint Customer Engineering

  • Tajeshwar Singh, Microsoft Consulting Services


Best practices for team collaboration sites (SharePoint Server 2010)

Published: June 3, 2011

This article is one of a series of best practices articles for Microsoft SharePoint Server 2010. This article describes the typical characteristics and best practices for hosting collaboration sites in a SharePoint Server 2010 environment. For additional information and resources about best practices for SharePoint Server 2010, see Best Practices for SharePoint Server 2010 (http://go.microsoft.com/fwlink/p/?LinkId=220280).

SharePoint Server 2010 makes team collaboration easier with features such as My Sites, blogs, wikis, and co-authoring. When you plan for team collaboration sites, remember that these sites typically exhibit the following characteristics:

  • Write-operation intensive Compared to other kinds of sites (such as publishing sites), there is a larger write ratio for Microsoft SQL Server resources for collaboration sites.

  • No-content or low-content caching Because content is more frequently updated and freshness is very important to the dynamics of collaboration, content caching is rarely used.

  • Client application interaction is very important Compared to other kinds of sites, collaboration sites have a greater level of interaction with client applications in Microsoft Office 2010.

Each of the following sections describes best practices for team collaboration sites.

1. Plan and allocate database servers to support collaboration

Collaboration is characterized by the significant effect it has on Microsoft SQL Server resources, such as memory and CPU, because of its relatively high write ratio and content model that does not use caching. The practices recommended in the following white paper will help you ensure that you have the SQL Server resources that are required to support this kind of site: Planning and Monitoring SQL Server Storage for Office SharePoint Server: Performance Recommendations and Best Practices (white paper).

Plan and configure storage and capacity according to your estimated content size. For more information, see Hardware and software requirements (SharePoint Server 2010) and Storage and SQL Server capacity planning and configuration (SharePoint Server 2010).

You should also lay out the disk drives for optimal performance. For more information, see Best practices for operational excellence (SharePoint Server 2010).

For more information, see SharePoint Server 2010 capacity management: Software boundaries and limits and Performance and capacity test results and recommendations (SharePoint Server 2010).

2. Monitor sites and content, and perform cleanups regularly

When team sites are loosely structured, it tends to make collaboration easier. Establish and communicate appropriate service level agreements (SLAs) for archiving and deleting content. Consider that teams often use self-service site creation to collaborate about projects that have limited life spans. Use life-cycle management to remove and archive inactive sites regularly.

  • Identify and monitor large lists, files, and sites. This includes lists that have lots of items (more than tens of thousands) or many fields, operations that involve very large files (more than 50 MB), and items that have undergone many revisions. For more information, see the following resources:

    • Designing large lists and maximizing list performance (SharePoint Server 2010)

    • Large lists (http://go.microsoft.com/fwlink/p/?LinkID=191156). Download the LargeScaleDocRepositoryCapacityPlanningDoc document.

    • File Name, Length, Size and Invalid Character Restrictions and Recommendations (http://go.microsoft.com/fwlink/p/?LinkID=123967)

    • Plan to protect content by using recycle bins and versioning (SharePoint Server 2010)

  • Monitor Web Part statistics, site activity (last updated, last read), and disk storage to determine site health. The Microsoft SharePoint 2010 Products Management Pack for System Center Operations Manager 2007 (http://go.microsoft.com/fwlink/p/?LinkID=203252) can help you monitor the environment.

  • Watch for orphaned sites (that is, sites that are not listed in the configuration database, or sites that are listed in the configuration database but do not exist). Orphaned sites can cause problems when it is time to apply updates or perform database maintenance tasks. Detect and clean them up by using the Stsadm databaserepair operation. For more information, see Databaserepair: Stsadm operation (Office SharePoint Server).

3. Enforce site and content size limits

Follow recommended guidelines for managing site collections, sites, lists, and documents according to business needs.

Large lists, versioning, and workflows can affect both the storage capacity and performance of the environment. For example, some organizations turn off the Workflow History Cleanup Job as described in Disable preservation of workflow history (SharePoint Server 2010) to preserve workflow history for longer than 60 days. Be sure to use quotas to control site sizes, especially if you are enabling self-service site creation.

For more information, see the following resources:

  • Site and site collection administration (SharePoint Server 2010)

  • SharePoint Server 2010 capacity management: Software boundaries and limits

  • Plan site maintenance and management (SharePoint Server 2010)

  • Working with Large Lists in SharePoint 2010 - List Throttling (http://go.microsoft.com/fwlink/p/?LinkID=220247)

4. Manage security and permissions

For each site collection, you can apply security principals (users and groups). Because these security principals can affect the performance of your farm, use groups and roles as much as you can to grant access, instead of adding users individually. For more information, see SharePoint Server 2010 capacity management: Software boundaries and limits.

Minimize the use of custom or fine-grained permissions. The more fine-grained permissions that you apply, the more difficult it is to track who has access to what. Moreover, fine-grained permissions can affect performance because additional security checks must be performed for each item to which they are applied. For more information, see Best practices for using fine-grained permissions (white paper) (SharePoint Server 2010).

Periodically review who has access to subsites, lists, libraries, and items. You can use third-party security administration tools to help you discover the fine-grained permissions that are applied to elements in SharePoint Server 2010. One example is Lightning Tools (http://go.microsoft.com/fwlink/p/?LinkID=220248).

5. Use one or more dedicated Web applications to host team sites

To host team collaboration sites on a dedicated Web application has several advantages:

  • Optimize performance When you host team sites on a dedicated Web application, you have several content databases that contain only team site collections. If content databases host sites that have similar data characteristics, SQL Server database software operates more efficiently because SQL Server uses a query plan based on the characteristics of the database. Therefore, by putting content for team sites in dedicated databases, you can optimize performance for SQL Server, which results in better performance for the overall server farm.

  • Optimize manageability Because creating separate Web applications results in separate sites and databases, you can implement different site limits (recycle bin, expiration, and size) and negotiate different service-level agreements. For example, you might allow more time to restore self-service sites if this is not the most important kind of content within your organization. This lets you restore more important content before you restore these sites.

  • Enforce permissions A dedicated Web application provides the opportunity to enforce permissions on the Web application level. For example, you can create a policy on internal collaboration sites to explicitly deny access to partner accounts. Policies for a Web application are enforced regardless of permissions configured on individual sites or documents within the Web application.

For more information, see the Web applications section in the Logical architecture components (SharePoint Server 2010) article.

6. Watch out for high network latency

High network latency can reduce user satisfaction by making even a high-performing environment feel slow. Attempting to collaborate on large files over a network that has high latency creates a frustrating user experience.

No front-end Web server or application server should have more than 1 millisecond (ms) of latency between it and the database server. In practice, this generally means that you should keep all the servers in a farm in the same data center. All servers in a farm must be in the same time zone.

For multinational and global enterprises, if the teams in the organization are typically centered around local geographies, deploy multiple, smaller team collaboration farms closer to end users. This reduces network latency and WAN bandwidth costs. Consider using WAN acceleration or background caching by using a product such as Microsoft Groove Server 2010 to help with latency issues.

For more information, see the Four fundamentals of performance section in the Capacity management and sizing overview for SharePoint Server 2010 article.

7. Teach end users how to get the most out of the tools

Most end users are not Web site designers, nor do they want to be. Expect that they may start to use team collaboration sites but have little or no previous experience in configuring SharePoint sites or using built-in features such as linking Contacts and Calendars to Microsoft Outlook 2010. Microsoft provides ready access to online training and how-to materials on Office.com (http://go.microsoft.com/fwlink/p/?LinkID=89166). There is also an End-User Training Kit that you can deploy to the SharePoint environment available at the Productivity Hub 2010 (http://go.microsoft.com/fwlink/p/?LinkId=220249). Drive awareness and usage of these materials in the organization so that users are better equipped to do things on their own. Doing so will lessen the number of calls to the help desk for routine tasks.

8. Ensure that you have a governance policy

Governance is important in collaboration environments. To keep collaboration sites manageable, ensure that you follow governance recommendations for consistent information architecture, education, taxonomy, and navigation. For more information, see Governance in SharePoint Server 2010 (http://go.microsoft.com/fwlink/p/?LinkID=220213), Plan site maintenance and management (SharePoint Server 2010), and SharePoint Server 2010 Operations Framework and Checklists (white paper).

9. Manage content to improve team collaboration

Because collaboration sites are typically self-serve, the content can be unstructured and is generally not uniform. Therefore, it might be a good idea to take advantage of a feature such as metadata navigation to help filter and find user content in document libraries. Also, if you use the manage metadata service, you can ensure uniformity in the taxonomy of your organization. For more information, see Metadata navigation overview (SharePoint Server 2010).

Acknowledgements

The SharePoint Server 2010 Content Publishing team thanks the following contributors to this article:

  • Aaron Saikovski, Microsoft Consulting Services

  • Bryan Porter, Microsoft Consulting Services

  • Israel Vega, Microsoft Consulting Services

  • Steve Caravajal, Microsoft Technical Sales

  • Steve Peschka, Microsoft Consulting Services

  • Steve Walker, Microsoft SharePoint Customer Engineering

  • Tajeshwar Singh, Microsoft Consulting Services


Best practices for virtualization (SharePoint Server 2010)
See Also

Published: June 16, 2011

Microsoft SharePoint Server 2010 is fully supported when you deploy it in a virtual environment that is supported by Windows Server 2008 or by Windows Server 2008 Hyper-V technology. SharePoint Server 2010 is also supported for virtualization technologies that are accredited by the Server Virtualization Validation Program (http://go.microsoft.com/fwlink/p/?LinkId=125649) environment.

This article is one of a series of Best Practice articles for Microsoft SharePoint Server. This article describes best practices for SharePoint Server 2010 virtualization. For more articles in the series, see Best practices (SharePoint Server 2010). For additional information and resources regarding Best Practices for SharePoint Server 2010, see the Best Practices Resource Center (http://go.microsoft.com/fwlink/p/?LinkID=125981).

The best practices in this article are ordered based on the sequence in which they would apply as you move from creating a virtual machine to deploying SharePoint Server.

1. Use hardware-assisted virtualization

If the host computer processor supports hardware-assisted virtualization (HAV), enable this option. Hardware-assisted virtualization helps to improve performance of virtualization software and application response times. Depending on workload, hardware-assisted virtualization can provide a 5% or better gain in throughput. You can use the Microsoft Hardware-assisted Virtualization Detection Tool (http://go.microsoft.com/fwlink/p/?LinkId=219550) to determine if a computer processor supports hardware-assisted virtualization and whether this setting is enabled.

Hardware-assisted virtualization is provided by the Intel Virtualization Technology (Intel VT) processor family and the AMD Virtualization (AMD-V) processor family.

2. Enable hyper-threading on processors that support this technology

Hyper-threading is a technology that is available with processors that support symmetric multithreading (SMT). This technology provides two threads for each processor core. The net effect is a doubling of logical processors for each core.

Performance tests on an 8-core server with hyper-threading enabled showed that throughput increased, on average, by 16% on a workload that is not specific to Microsoft SharePoint Server 2010.

For more information, see Requirements and Limits for Virtual Machines and Hyper-V in Windows Server 2008 R2.

3. Configure Non-Uniform Memory Access correctly

Non-uniform memory access (NUMA) is a computer memory design that is used in multiprocessors to improve performance by reducing memory access latency and increasing memory bandwidth. For more information, see Understanding Non-uniform Memory Access (http://go.microsoft.com/fwlink/p/?LinkID=164492) and Inside Windows Server 2008 Kernel Changes (http://go.microsoft.com/fwlink/p/?LinkId=219551).

However, incorrectly sized NUMA boundaries can reduce, instead of increase throughput. Ensure that virtual machines on a host server that supports non-uniform memory access are allocated the correct amount of memory in relation to the NUMA boundary. The NUMA boundary is calculated by dividing the memory on the host server by the number of processor sockets. Performance is reduced by approximately 8% when the virtual machine memory allocation is larger than the NUMA boundary.

4. Configure the Hyper-V host for optimal performance

Use the following recommendations to configure the host server for optimal performance.

  • Dedicate the host computer to Hyper-V. Do not run additional applications on the host.

  • Install and configure only the required roles and services.

  • Do not store virtual machine data on system drives. The root partition should only contain the operating system and Hyper-V.

  • Use more than one network adapter on the physical server and dedicate one adapter to Hyper-V Server administration. Do not bind any virtual networks to this adapter. If virtual machines are sharing a network adapter, monitor latency and throughput to ensure that the adapter is not oversubscribed.

5. Maintain version compatibility for integration services

For optimal performance, ensure that the management operating system and guest operating system run the same version of integration services. To upgrade the integration services on a guest operating system to a newer version, perform the upgrade when the virtual machine is running on the version of Hyper-V that includes the version of integration services to which you want to upgrade. For more information, see Version Compatibility for Integration Services.

Do not deploy virtual machines that support integration services together with virtual machines that cannot use integration services on the same host.

6. Determine storage options that are based on virtual machine roles and workloads

Hyper-V supports two storage options for virtual machines: attached physical storage (also known as pass-through disks) and virtual hard disks (VHDs).

Pass-through disks can be local storage or a storage area network (SAN). Pass-through disks are marginally faster than VHDs. When you use physical storage, you lose the benefits of VHDs, such as portability, snapshots, and thin provisioning.

Note:

As a best practice, snapshots are not recommended for a production environment.

We recommend that you use pass-through disks only when a virtual machine's storage requirement exceeds 2 Terabytes or when the application on the virtual machine is I/O bound. A good example is a SQL Server database server versus a front-end web server.

Of the three options for virtual hard disks (fixed size, dynamically expanding, and differencing), we recommend fixed-size disks. Fixed-size disks provide the best overall performance and reduce the risk of exceeding physical storage space when a dynamically expanding VHD is not carefully monitored.

Note:

Only install the base operating system on the IDE boot drive. Use virtual SCSI hard drives for additional programs and data storage. A virtual machine that is configured to use a SCSI controller lets you add hard drives without shutting down the VM.

For more information about virtual machine storage, see:

  • Planning for Disks and Storage

  • Virtual Hard Disk Performance (http://go.microsoft.com/fwlink/p/?LinkID=186519)

7. Configure general virtual machine settings for performance and stability

Configure general and specific virtual machine settings for best performance and stability. We recommend the following configurations:

  • Start up

    If the virtual machines are configured for automatic start, use a time delay to reduce resource contention on the host.

  • Shut down

    Do not save state before shutdown—let the virtual machine shutdown exactly like a physical computer.

  • Clock synchronization

    Do not synchronize virtual machine clocks to their host. Many SharePoint Server 2010 features use timer jobs. Any latency in time synchronization between a virtual machine and the host affects SharePoint reliability.

8. Do not use snapshots in a production environment

Virtual machine snapshots are file-based snapshots of the state, disk data, and configuration of a virtual machine at a specific point in time. Do not use snapshots in a production environment for the following reasons:

  • Microsoft SharePoint Server uses timer jobs extensively; snapshot latency adversely affects time-sensitive operations and can result in data corruption or data loss.

    Important:

    Do not configure a virtual machine to save state during shutdown as this is also affected by latency.

  • Snapshots reduce virtual machine performance and increase physical storage requirements.

For more information, see Hyper-V Virtual Machine Snapshots: FAQ.

9. Design the virtual topology for optimal performance

Design the virtual SharePoint Server farm topology across hosts to maximize overall throughput. We recommend the following:

  • Maximize overall throughput by mixing farm server roles on each host. For example, you can reduce disk contention by mixing front-end web servers with application servers because they usually do not write to disk at the same time.

  • Monitor the performance of the front-end web servers on a single host to ensure that scaling out the virtual machines does not result in diminishing or negative performance returns. If this is the case, scale out by deploying the additional virtual machines on a different host.

For more information, see Hyper-V performance tests.

10. Do not overload the Hyper-V host

Avoid overloading the Hyper-V host computer by using careful planning to ensure that the following key host resources are not over-subscribed.

  • Processor

    The ratio of virtual processors to logical processors is one of the determining elements in measuring processor load. When the ratio of virtual processors to logical processors is not 1:1, the CPU is said to be oversubscribed, which has a negative effect on performance.

  • Memory

    The root and child partitions require adequate memory to operate effectively. The root partition must have sufficient memory (a minimum of 512 MB) to provide services such as I/O virtualization, snapshot, and management to support the child partitions. A good standard for the memory overhead of each VM is 32 MB for the first 1 GB of virtual RAM plus another 8 MB for each additional GB of virtual RAM. This should be factored in the calculations of how many VMs to host on a physical server. The memory overhead varies depending on the actual load and amount of memory that is assigned to each VM.

Carefully plan virtual machine configuration and deployment based on the following:

  • Overhead

    Allow for the processing and physical memory requirements of the operating system and Hyper-V.

  • High availability

    In a live migration environment, any host that is part of the cluster must have the capacity to host additional virtual machines.

  • Scale up or scale out

    It may be necessary to increase the resources for a virtual machine or add virtual machines to address performance issues on SharePoint Server farm servers.

11. Do not run resource intensive jobs on the Hyper-V host and virtual machines at the same time.

To ensure consistent and optimal performance, carefully monitor the Hyper-V host and virtual machines to ensure that resource intensive jobs are not run at the same time. For example, if you run a backup program on the physical computer and the virtual machines at the same time, there will be resource contention.

Acknowledgements

The Microsoft SharePoint Server 2010 Content Publishing team thanks the following Microsoft colleagues for contributions to this article:

  • Bill Baer, Senior Technical Product Manager, SharePoint

  • Luca Bandinelli, Senior Program Manager, SharePoint Customer Advisory/Engineering Excellence

  • Bryan Porter, Senior Consultant, Microsoft Consulting Services

  • Steve Peschka, Senior Principal Service Engineer, SharePoint Online

  • Craig Schwandt, Principal Consultant, Microsoft Consulting Services

See Also

Other Resources

Best Practices Analyzer for Hyper-V
KB977238: Update for the Best Practices Analyzer for Hyper-V for Windows Server 2008 R2 x64 Edition (http://go.microsoft.com/fwlink/p/?LinkId=219554)


Best practices for My Sites (SharePoint Server 2010)

Published: June 28, 2011

This article describes the typical characteristics and best practices for My Sites in Microsoft SharePoint Server 2010. This article is one of a series of Best Practices articles for SharePoint Server 2010. For more articles in the series, see Best practices (SharePoint Server 2010). For additional information and resources about Best Practices for SharePoint Server 2010, see the Best Practices Resource Center.

1. Use My Sites to promote social computing and enterprise collaboration

My Sites continue to give users a personal location to store and share documents as in Microsoft Office SharePoint Server 2007, and in Microsoft SharePoint Server 2010, My Sites have become a key part of social computing and collaboration in an enterprise.

My Sites are hosted by a Web application that is connected to a User Profile service application in SharePoint Server. The User Profile service application enables My Sites users to tag, comment on, and rate content of interest to them. My Sites also give users personal newsfeeds of activities based on colleagues and activities that the users have specified an interest in. Additionally, the User Profile service application contains user profiles with information that users can view by accessing another user's My Site, and search for people by using names or expertise.

For more information, see My Sites overview (SharePoint Server 2010), Plan for My Sites (SharePoint Server 2010), and Best practices for people and profiles (SharePoint Server 2010).

2. Deploy My Site farms based on the geographical distribution of your workforce

We recommend that very large organizations with geographically-distributed workforces consider multiple My Site farms and User Profile service applications to host My Sites, with the farms and User Profile service applications regionally located. This approach also applies to very large organizations, where the whole workforce is local. We also recommend that multiple My Site farms and User Profile service applications be located within the same data center. In both cases, this approach helps limit the number of content databases per farm and positions My Sites geographically closest to the site owners and users. Multiple My Site farms can also ease the effort and time that is required to deploy updates and service packs to any given farm.

When you have multiple My Site farms and User Profile service applications, you have to configure trusted My Site host locations and potentially use the User Profile Replication Engine to keep data synchronized among the User Profile service applications.

For more information, see:

  • Planning for geographically distributed deployments in "Plan for My Sites"

  • Web application limits in "SharePoint Server 2010 capacity management: Software boundaries and limits"

  • User Profile Replication Engine overview (SharePoint Server 2010)

  • Estimate core storage and IOPS needs in "Storage and SQL Server capacity planning and configuration"

3. Plan for improved performance

Because each My Site is a site collection, the usage pattern of My Sites (even when as small as possible) can negatively affect the backup and recovery processes, as well as the availability of other Web applications in the farm, especially in a large organization. To improve performance during backup and restore operations, large organizations with 100,000 employees or more might consider performing these operations in smaller increments and performing them over time. If performance during backup and restore operations is critical to your organization, you might consider putting My Sites into a separate farm. We also recommend a maximum of 250,000 site collections per Web application.

For more information, see:

  • SharePoint Server 2010 capacity management: Software boundaries and limits

  • Social environment technical case study (SharePoint Server 2010)

  • Microsoft SharePoint Server 2010 social environment: Lab study

4. Isolate My Sites in a dedicated Web application

We recommend that you host My Sites in a dedicated Web application and create the My Site host site collection at the root of this Web application. This improves performance, manageability, and security by isolating My Sites from other Web applications in the farm.

The Web application that hosts My Sites has special security considerations because you must enable self-service site creation in the Web application to give users permission to create their individual site collections. A malicious My Site owner could perform cross-site scripting attacks. Isolating the My Sites Web application prevents such attacks from affecting other Web applications in the farm.

For more information, see My Sites architecture in "Plan for My Sites" and Additional information about the Self-Service Site Creation feature in Office SharePoint Server 2010.

5. Use dedicated content databases for My Sites

My Sites have a different usage pattern than other kinds of SharePoint sites. This difference affects the underlying content databases that contain the individual site collections for My Sites. My Sites typically have a larger write profile compared to other site types. Therefore, you should plan for dedicated content databases. Pre-create the content databases before you deploy My Sites in your organization so that the individual site collections are automatically distributed across the content databases.

The amount of space that you allocate to the databases will depend on the number of users in your organization whom you let create My Sites and how many of those users that you expect to use their My Site for storage. Some users might rely less on the storage aspect of their My Site than the social computing and collaboration features of My Sites.

For more information, see SharePoint Server 2010 capacity management: Software boundaries and limits and Storage and SQL Server capacity planning and configuration (SharePoint Server 2010).

6. Configure storage quotas for My Sites

The Personal Site quota template is automatically applied when each user creates an individual site collection in his or her My Site by clicking the My Content tab. By default, this quota template has a storage limit of 100 MB.

We recommend that you configure the storage limit for the Personal Site quota template based on your database size estimates from your previous content database planning, and suggest 500 MB.

You should configure the quota template before you deploy My Sites in your enterprise because subsequent changes will not affect existing site collections. If you decide to configure the quota template later, you can use Windows PowerShell to script an update for existing site collections. For more information about how to update site collections, see How To: Update Site Collection Quotas for Existing Site Collections (http://go.microsoft.com/fwlink/p/?LinkId=221950).

For more information, see Planning for storage requirements in "Plan for My Sites" and Storage and SQL Server capacity planning and configuration (SharePoint Server 2010).

7. Plan for provisioning of individual site collections

Following a full directory service import, each employee whose profile is imported will be able to view only his or her profile details and activities, even if the user has not yet created an individual site collection on My Sites by clicking the My Content tab. The profile page enables basic employee information to be displayed in search results, and the newsfeed page displays activities that a user is interested in. After a user creates their individual site collection, they will also have access to their content page to contain their documents, blogs, and other data.

You can pre-provision users' individual site collections to more predictably control resource usage and facilitate the initial deployment. Pre-provisioning My Sites can be a time-consuming process, potentially taking many days or weeks depending on the size of your organization. Pre-provisioning also requires some scripting knowledge, requires more storage, and adds time during upgrades. For a mid-sized organization, the increased administrative costs of pre-provisioning may worthwhile to facilitate a smooth rollout. For larger organizations, we recommend that you let users create their individual site collections on demand.

For more information, see My Sites overview (SharePoint Server 2010) and My Sites architecture in "Plan for My Sites."

8. Plan for search integration

The SharePoint Search service application is an important part of the social experience with My Sites. Users can conduct searches of user profile data from their My Sites to find people in their organization based on either names or areas of expertise.

Note:

If you decide to disable My Sites completely, you can still get the benefits of People Search. You can configure permissions so that users can update their profiles without enabling them to create a My Site. This enables you to block the creation of site collections in My Sites, but still enables users to access their own profile information and to search for and view the profiles of other users.

In addition to enabling searches based on names or expertise, the Search service application performs security trimming. Security trimming refers to the process that the Search service application uses to display only the content that each user has permission to view among all the crawled items. This determines which activities a user sees in his or her newsfeed, and which tags and notes the user can see.

If you deploy Microsoft FAST Search Server 2010 for SharePoint in your organization to crawl the farm, you still need to configure SharePoint Search to index all social aspects such as tags and notes, newsfeeds, and people search. You can use FAST Search Server 2010 for SharePoint to index the rest of the SharePoint content.

For more information, see My Sites overview (SharePoint Server 2010), the "Search service application" section in Plan for My Sites (SharePoint Server 2010), and Privacy and security implications of social tagging (SharePoint Server 2010).

9. Customize My Sites

Like other sites in SharePoint Server, you can customize the look and feel of My Sites by using custom master pages and modifying page layouts to better suit your organizational needs. For example, you might want to change the styling and navigation to incorporate specific branding, or customize Web Parts to include certain functionality for users. For more information about master pages and page layouts, see Page Layouts and Master Pages.

Important:

Modifying the site definition is not supported. The supported approach to customize My Sites is to design a Feature and then use Feature Stapling to associate that Feature with the site definition. For example, you might design a Feature that uploads and uses a custom master page for My Sites, and specifies certain Web Parts that you want available for users on their My Sites. For more information about how to customize My Sites, see Changing the Master Page on SharePoint 2010 My Sites and Customizing My Sites in Microsoft SharePoint 2010.

For more information, see also Deploy site elements by using Features (SharePoint Server 2010) and Governance features (SharePoint Server 2010).

10. Educate users about the purpose of their My Sites document libraries

Although a My Site contains document libraries for an individual user's personal and shared documents, it is not meant to be a replacement for other document storage such as network drives.

Help users to understand when they should use their My Site to store content instead of another location, such as in a document library on a team site or a shared network drive. Good uses for My Sites document libraries include personal works-in-progress and other documentation that do not belong to a team or project, but do require governance, collaboration, and other functionality that is provided by SharePoint Server.

Users typically store a lot of content on network drives that is outdated or otherwise unnecessary to be managed in a SharePoint document library. If you want SharePoint Server to include content from network drives, index those drives and surface it through SharePoint search instead. This reduces the SharePoint storage required to manage the actual data while still enabling users to find content that is stored outside SharePoint Server. For more information, see Plan for crawling and federation (SharePoint Server 2010) and Manage crawling (SharePoint Server 2010).

Acknowledgements

The SharePoint Server 2010 Content Publishing team thanks the following contributors to this article:

  • Ali Mazaheri, Technology Architect

  • Bassem Yacoube, Senior Consultant

  • Bill Holden, Software Developer Engineer in Test

  • Reed Pankhurst, Software Developer Engineer in Test

  • Craig Schwandt, Principal Consultant

  • Bryan Porter, Senior Consultant

  • Steve Peschka, Senior Principal Service Engineer

  • Tajeshwar Singh, Senior Consultant


Best practices for content deployment (SharePoint Server 2010)
See Also

Published: July 14, 2011

This article is one of a series of Best Practices articles for Microsoft SharePoint Server 2010. This article describes best practices for using content deployment. For additional information and resources about content deployment, see Web content management in SharePoint Server 2010 (http://go.microsoft.com/fwlink/p/?LinkID=220230).

For more articles in the series, see Best practices (SharePoint Server 2010). For additional information and resources about best practices for SharePoint Server 2010, see the Best Practices for SharePoint Server 2010 resource center (http://go.microsoft.com/fwlink/p/?LinkID=220280).

1. Ensure that the source and destination server farms have identical updates

Content deployment is only supported if the update levels on the source servers are identical to the update levels on the destination servers. To help ensure that content deployment jobs are successful, use the following guidelines:

  • Ensure that all servers in the farms have had all the current SharePoint Server 2010, Windows Server 2008 R2, and Windows Server 2008 SP2 updates applied.

    A content deployment job between servers that have different update levels might fail if hotfix releases have changed the schema of the export packages so that the source server has a higher update level than the destination server. This applies to content deployment jobs run by using the Central Administration Web site or by using the Windows PowerShell Export-SPWeb and Import-SPWeb cmdlets.

  • Language packs used in the source site collection must also be installed on the destination farm. A content deployment job fails if a required language pack is missing from the destination farm. For more information, see Deploy language packs (SharePoint Server 2010).

  • If you have custom code or custom SharePoint solution packages on the source server, you must also deploy those items on the destination server. This includes any assemblies that are not included in the .wsp file that must be installed in the global assembly cache on the destination server.

  • If you have features that are installed on the source server, you must install — but not activate — them on the destination server before you run a content deployment job that deploys content to the destination server. Typically, deploying a solution package should install all features to the destination server. However, if you are not using .wsp files, ensure that all features are installed but not activated.

    During the import process on the destination server, any site collection features that are required by items that are included in the import are activated. The content deployment job fails if features that it requires are not installed on the destination server. For more information, see "Problem 9: Features used in the site collection are missing on the exporting server" in Content Deployment - Best Practices (http://go.microsoft.com/fwlink/p/?LinkId=223429).

2. Make sure that the destination server can accommodate the size of the CAB files for import

Content deployment first exports all content to the file system as XML and binary files, and then packages these files into CAB files. The CAB files are then uploaded by using HTTP POST to the destination server, where they are extracted and imported. The preconfigured maximum size of the CAB files generated by the content deployment process is 10 megabytes (MB). However, IIS 7.0 has a preconfigured upload limit of 28 MB. SharePoint Server 2010 does not split single exported files into multiple CAB files. Therefore, if a SharePoint Server 2010 site contains single files that cannot be compressed to smaller than 10 MB, and the resulting CAB file size exceeds the IIS 7.0 default upload limit of 28 MB, the content deployment job fails.

If the size of CAB files in content deployment jobs on the server exceeds 28 MB, make sure that you adjust the allowed file size on the destination server by modifying the Web.config file of the Central Administration Web site. To do this, add an entry similar to the following:

Copy Code
<system.webServer>
    <security>
        <requestFiltering>
            <requestLimits maxAllowedContentLength="52428800"/>
         </requestFiltering>
    </security>
</system.webServer>

The value of the maxAllowedContentLength property is a number, expressed in bytes, that represents the maximum size of the CAB file to be uploaded to the server. In this example, 52,428,800 equals 50 MB. You should adjust this value to the specific needs of the deployment environment.

For more information, see KB article 925083, Error message when you try to upload a large file to a document library on a Windows SharePoint Services 3.0 site: "Request timed out" (http://go.microsoft.com/fwlink/p/?LinkId=149968).

3. Make sure that the value for maximum upload size on the destination Web application is large enough to accommodate the files that are being deployed

The Web application that hosts the Central Administration Web site on the destination server is often created with default values, which means that the maximum upload size is set to 50 MB. If the source site collection contains files that are bigger than the upload limit on the destination server, the content deployment job fails.

Make sure that the maximum upload size of the Web application that hosts the Central Administration Web site on the destination server is at least as large as the largest item in the source site collection. For information about how to change the maximum upload size for a Web application, see Configure settings for a Web application (SharePoint Server 2010).

Note:

Although the content deployment job succeeds, parts of the site may not have been deployed, so make sure that you review the content deployment report for warnings or non-fatal errors, even if the status of the job is Succeeded. For more information, see View content deployment job reports and history.

4. Make sure the source and destination servers have enough hard disk space for storing the files that are used during export and import

During export, all files to be included in the content deployment job are stored in a temporary directory in the export server farm and are compressed before they are sent to the destination server for import. Likewise, during import, files to be imported into the database are stored in a temporary directory on the destination server farm. By default, the compressed and uncompressed files are put in separate directories. Make sure that the locations of the temporary directories for each server farm have sufficient disk space to accommodate the files that are included in the deployment job. For more information, see "Temporary files" in Content Deployment - The Complete Guide - Part 3 - Configuration (http://go.microsoft.com/fwlink/p/?LinkId=223430).

5. The export and import servers must each host an instance of the Central Administration Web site

When you configure content deployment settings for the server farm, you select the servers in the server farm to designate as export servers and import servers for content deployment. The Central Administration Web site must be deployed on each export and import server. If you configure an export or import server and later remove the Central Administration Web site from the server, no error message is displayed, and the export or import phase of the content deployment job does not start.

6. Always deploy an initial content deployment job to an empty site collection

If a site collection already contains content, the initial content deployment job might fail. To create an empty site collection on the destination server, use the < Select template later > option on the Custom tab of the Create Site Collection page in Central Administration. The first time that the content deployment job runs, the correct template and all associated configuration settings are applied to the destination server.

Note:

Do not use the Blank Site template to create a destination site collection. The Blank Site template does not create an empty site collection and can cause the content deployment job to fail.

7. If content deployment jobs will run infrequently, adjust the time for keeping changes in the change log

By default, the change log is configured to keep a record of any changes for 60 days. If the time between two incremental deployment jobs exceeds this time — for example, if it was 70 days since the last content deployment job was run — the change log will not contain entries from before the last change token. If the time between jobs will be more than 60 days, change the number of days specified for the Web application in Central Administration. For information about how to change the length of time that entries are kept in the change log, see Understand and Configure Resource Throttling on SharePoint Server 2010 (http://go.microsoft.com/fwlink/p/?LinkId=223768).

8. Do not run content deployment jobs in parallel if the same path is used by both jobs

Changes that were made by one job might conflict with changes that were made by another job that is running along the same content deployment path at the same time. If this happens, the content deployment job might fail.

9. Run custom deployment jobs and scheduled content deployment jobs at different times

Do not mix scheduled content deployment jobs with custom content deployment jobs that are created by using Windows PowerShell 2.0, the Stsadm command-line tool, or custom code. If you try to run both kinds of content deployment jobs at the same time, the jobs may fail.

10. Educate users before you enable Quick Deploy jobs

A Quick Deploy job might fail if a page author includes references to sites, lists, or other items that have not already been deployed by a non-Quick Deploy deployment job. If you plan to enable Quick Deploy jobs within the farm, make sure that users understand the content deployment process and the timing and scope of content deployment jobs used by your organization. Also consider limiting the number of users who are members of the Quick Deploy users group. For more information about Quick Deploy jobs, see Content Deployment - The Complete Guide - Part 5 - Quick Deployment (http://go.microsoft.com/fwlink/p/?LinkId=223431).

11. Do not edit the destination site directly

If you have to quickly deploy content changes, do not directly edit the destination site because the next time content is deployed, it will be overwritten. Instead, use a Quick Deploy job to quickly update the site. For more information, see Manage Quick Deploy jobs.

12. Use SQL Server database snapshots on the export server

By using the SQL Server database snapshot option, you eliminate the possibility that users might edit content in the content database while a content deployment job is running. When the database snapshots option is enabled, a snapshot of the source content database is created before the export phase of the content deployment job starts. The content deployment job then uses the database snapshot to perform the export, instead of exporting directly from the live content database. After the export is successfully completed, the snapshot is deleted. The SQL Server database snapshot option is available only if the database server is running Microsoft SQL Server 2008 Enterprise.

13. Make the code content deployment-aware

Care must be taken when solution packages deploy features that add data to the content database. The data must be added to the content database on only the source farm. Content deployment will move any necessary data from the source site to the destination site during the deployment job. To avoid conflicts during the import operation, make sure that any custom event receivers or feature receivers that modify site content on the destination site use the SPImportContext class. This class enables event handlers and feature activation code to detect whether they are running in the context of an import operation. In this manner, developers can implement code to avoid potential problems during the import phase of content deployment. For example, if a feature receiver contains custom code that adds a new item to a list, the developer must make sure that the feature receiver algorithm detects whether it is running in the context of a content deployment operation and — if it is — skip any data updates if the detected role is a destination site. During import, the new list item feature receiver will be activated on the destination site. If the feature receiver does not detect the site's role, it will add the new piece of content to the destination site. The import process will then try to import the same content from the source site. This can result in either an import error or duplicate content on the destination site. Developers who create feature receivers must be aware of this limitation and write appropriate code. For more information, see SPImportContext Class (http://go.microsoft.com/fwlink/p/?LinkId=223433) and Write content deployment aware Event Handlers and Feature Activation code in SP2010 (http://go.microsoft.com/fwlink/p/?LinkId=223432).

Acknowledgements

The SharePoint Server 2010 Content Publishing team thanks the following contributors to this article:

  • Ethan Gur-Esh, Microsoft Enterprise Content Management

  • Israel Vega, Jr., Microsoft Consulting Services

  • Josh Stickler, Microsoft Enterprise Content Management

  • Stefan Goβner, Microsoft SharePoint Escalation Services

  • Steve Walker, Microsoft SharePoint Customer Advisory Team

See Also

Concepts

Best practices (SharePoint Server 2010)


Best practices for publishing sites (SharePoint Server 2010)

Published: July 14, 2011

This article is one of a series of Best Practices articles for Microsoft SharePoint Server 2010. This article describes best practices for publishing sites that are based on SharePoint Server 2010.

Publishing sites differ from collaboration or intranet SharePoint sites that must support various authentication and authorization models. In publishing sites, most user operations are reads, so these sites typically allow anonymous authentication for most users. For additional information and resources about Web content management Best Practices for SharePoint Server 2010, see the Best Practices for SharePoint Server 2010 (http://go.microsoft.com/fwlink/p/?LinkID=220280) resource center.

1. Start with a well-configured infrastructure

Your server farm should be well-configured and should use the recommended hardware for SharePoint Server 2010. You should also verify that your SharePoint license supports the kind of deployment that you want to use. For information about licensing requirements and how to determine the number of server farms that you need, see Planning for server farms (SharePoint Server 2010). Be sure to follow the recommendations in the Hardware requirements—Web servers, application servers, and single server installations section of Hardware and software requirements (SharePoint Server 2010).

Because Internet-facing sites have stricter expectations around performance and availability than team collaboration sites, make sure that you plan for the availability and capacity expectations of your publishing sites. For more information, see Plan for availability (SharePoint Server 2010) and Capacity planning for SharePoint Server 2010.

2. Make query-driven Web Parts efficient

Web Parts that query lists can be very resource-intensive. Understand the scope of each operation that a Web Part performs when it combines data from its queries.

When using query-driven Web Parts, such as the Content Query Web Part, do the following:

  • Select data from as few lists as possible.

  • Index the columns that are used to filter on in the Content Query Web Parts. For more information, see Index a column(http://go.microsoft.com/fwlink/p/?LinkId=221926) in Manage lists and libraries with many items(http://go.microsoft.com/fwlink/p/?LinkId=221934).

  • To query large amounts of data that is distributed across different sites or site collections, use SharePoint Search. It is much more efficient at these kinds of queries than the Microsoft.SharePoint.SPQuery object.

  • If you are building a custom Web Part, make sure that you use the CrossListQueryCache class for query caching. The SPQuery object does not provide any caching functionality and using it could lead to decreased performance.

  • Be sure that queries follow the guidance about large lists in the white paper Designing Large Lists and Maximizing List Performance (DesigningLargeListsMaximizingListPerformance.docx) (http://go.microsoft.com/fwlink/p/?LinkID=191156).

3. Organize content to optimize query performance

Follow the recommended limits for lists and databases to optimize query performance. Exceeding list and database limits directly affects the performance of SharePoint Server 2010 features and behavior. For information about specific limits, see SharePoint Server 2010 capacity management: Software boundaries and limits and Enterprise content storage planning (SharePoint Server 2010).

When planning your site, consider your user base and how they will interact with the site. Structure the site collection and sites in a way that separates authors based on which groups of people will create what content. Place the Content Organizer at the top level of the site collection, and use content types to sort and move the content to the appropriate sites. For more information about the Content Organizer, see Metadata-based routing and storage overview (SharePoint Server 2010).

4. Use author-in-place on a single server farm

You can use a single server farm for both authoring and publishing. This is known as an author-in-place model, because you author on the same server that is used for publishing. This differs from a two-stage model in which you have separate servers on which you author and publish content. In general, the author-in-place model is the preferred model to use for publishing because it means that you have fewer servers to manage and content can go live more quickly. When you use the author-in-place model, authors access the server from the intranet, so you can specify what users and groups have permission to author and approve content. You also use the publishing workflow to determine when content is approved for publishing and to specify the dates and times the content goes live. To prevent unauthorized users from creating content on the site, you extend the Web application to a new zone that uses a separate URL, such as for an Internet or extranet site. Although the site at the new URL uses the same content database as the intranet site, you can restrict access to the public site so that anonymous users have read-only permission. For information about how to extend Web applications, see Extend a Web application (SharePoint Server 2010).

If your security policies require that internal and external-facing sites must be on separate servers, you should use content deployment to push content from the authoring environment to the production environment. For more information, see Best practices for content deployment (SharePoint Server 2010).

5. Plan ahead for variations

If you think there is a possibility that you might have to set up variations sites, you should plan for them beforehand. It is very difficult to integrate variations sites into a site collection after the site structure is implemented. The following factors can affect your ability to easily move to using variations sites later in the life of your site:

  • Custom code Code that contains references to the location of the root variations site.

  • Site customizations Site navigation, Master Pages, and other customizations.

  • Search Search scopes must be created for each variation label, and the site properties of each variations site must be modified.

For more information about how to plan for variations, see Plan variations (SharePoint Server 2010).

6. Use caching

Caching can provide big benefits to a publishing site. Be sure to use the different kinds of caching appropriately. When caching is used correctly, it can significantly improve throughput and user response time.

SharePoint Server 2010 provides the following kinds of caches:

  • Output cache This cache stores requested page content in the memory of the Web server. For more information, see Output Caching and Cache Profiles (http://go.microsoft.com/fwlink/p/?LinkID=121543).

  • Object cache This cache stores SharePoint objects, such as Web and list item metadata, in the memory of the Web server.

    The object cache makes its database queries as one of two user accounts: the Portal Super User and the Portal Super Reader. These user accounts must be configured correctly to ensure that the object cache works correctly. The Portal Super User account must be an account that has Full Control access to the Web application. The Portal Super Reader account must be an account that has Full Read access to the Web application. For information about how to configure these accounts, see Configure object cache user accounts. For more information about the object cache, see Object Caching (http://go.microsoft.com/fwlink/p/?LinkID=123948).

  • BLOB cache This cache can store image, sound, video files, and other large binary files on disk. You should always cache .js, .css, and any other file types that are related to the branding of your site. For more information about the BLOB cache, see Disk-Based Caching for Binary Large Objects (http://go.microsoft.com/fwlink/p/?LinkID=123947). If you will be using the BLOB cache with rich media such as video files, you should also enable Bit Rate Throttling in Internet Information Services (IIS). For more information, see Bit Rate Throttling in Plan for caching and performance (SharePoint Server 2010).

    Note:

    If you are using file types that are not cached by default, you must configure the BLOB cache settings in the web.config file to include the file name extensions that you want to cache. For information about how to configure the BLOB cache settings, see Configure cache settings for a Web application (SharePoint Server 2010).

In geographically distributed environments, consider using third-party cache devices with SharePoint Server 2010 to move content closer to users and avoid round trips. For more information, see WAN accelerators and other third-party tools in Optimizing Office SharePoint Server for WAN environments. (Although this content was written for Microsoft Office SharePoint Server 2007, the guidance it contains is still valid for SharePoint Server 2010.) You might also consider using a CDN for jQuery libraries with your Web application. For more information about jQuery and CDN, see Microsoft Ajax Content Delivery Network (http://go.microsoft.com/fwlink/p/?LinkId=218875).

For more information, see Plan for caching and performance (SharePoint Server 2010), Estimate performance and capacity requirements for Web Content Management in SharePoint Server 2010, and SharePoint Server Caches Overview (SharePointServerCachesPerformance.docx) (http://go.microsoft.com/fwlink/p/?LinkID=191156).

7. Be careful of custom code that uses AllowUnsafeUpdates

When you set the AllowUnsafeUpdates property to true, your site becomes vulnerable to cross-site scripting attacks. This can be especially important with Internet-facing sites where anonymous users access the site. If you have custom code that uses AllowUnsafeUpdates with either the SPSite class or the SPWeb class, make sure that you use a try/catch block to handle any errors, and use a finally block to set AllowUnsafeUpdates back to false. For more information, see "Working with AllowUnsafeUpdates Property" in SharePoint Coding Practices - A Quick Overview (http://go.microsoft.com/fwlink/p/?LinkId=218876), and SharePoint Security Best Practices: Cross-Site Request Forgery(http://go.microsoft.com/fwlink/p/?LinkId=221924) in Security Best Practices for Developers in SharePoint 2010(http://go.microsoft.com/fwlink/p/?LinkId=221925).

8. Enable ViewFormPagesLockdown

By default, when a site collection uses the Publishing Portal template, anonymous users cannot access Forms pages on a site. This feature, which is known as ViewFormPagesLockdown, locks down a site from anonoymous users and prompts users for credentials before it allows them access to Forms pages on a site. If you activated the publishing features for a non-publishing site, you should make sure that you enable the ViewFormsPagesLockdown feature for the site. For more information, see Lockdown Mode in SharePoint 2010 (http://go.microsoft.com/fwlink/p/?LinkId=218877) and Anonymous Users, Forms Pages, and the Lockdown Feature (http://go.microsoft.com/fwlink/p/?LinkId=218878). (Although this content was written for Microsoft Office SharePoint Server 2007, the guidance it contains is still valid for SharePoint Server 2010.)

Acknowledgements

The SharePoint Server 2010 Content Publishing team thanks the following contributors to this article:

  • Aaron Saikovski, Microsoft Consulting Services

  • Bryan Porter, Microsoft Consulting Services

  • Ethan Gur-Esh, Microsoft Enterprise Content Management

  • Israel Vega, Jr., Microsoft Consulting Services

  • Josh Stickler, Microsoft Enterprise Content Management

  • Oleg Kofman, Microsoft Consulting Services

  • Steve Peschka, Microsoft Consulting Services

  • Steve Walker, Microsoft SharePoint Customer Advisory Team


Best practices for SQL Server 2008 in a SharePoint Server 2010 farm

Published: July 14, 2011

This article describes best practices for configuring and maintaining Microsoft SQL Server 2008 in a Microsoft SharePoint Server 2010 environment. These practices are ordered based on the sequence in which they would apply, from installing and configuring SQL Server 2008, to deploying SharePoint Server, and then maintaining the farm.

This article is one of a series of Best Practice articles for SharePoint Server. For more articles in the series, see Best practices (SharePoint Server 2010). For additional information and resources about Best Practices for SharePoint Server 2010, see the Best Practices Resource Center (http://go.microsoft.com/fwlink/p/?LinkID=220280).

1. Use a dedicated server for SQL Server 2008

To ensure optimal performance for farm operations, we recommend that you install SQL Server 2008 on a dedicated server that is not running any other farm roles and is not hosting databases for any other application. The only exception is if you are deploying SharePoint Server 2010 on a stand-alone server, which is not recommended for large-scale production environments.

Note:

The recommendation to use a dedicated server for the database also applies to any environment where SQL Server 2008 is virtualized.

2. Configure specific SQL Server 2008 settings before you deploy SharePoint Server 2010

To ensure consistent behavior and performance, configure the following options and settings before you deploy SharePoint Server 2010.

  • Do not enable auto-create statistics on a SQL Server that is supporting SharePoint Server.

  • Set max degree of parallelism (MAXDOP) to 1 for SQL Server instances that host SharePoint Server 2010 databases to ensure that each request is served by a single SQL Server process.

    Important:

    In a SharePoint Server environment, any other setting will result in a sub-optimal query plan being selected for execution, which will decrease overall performance.

  • To improve ease of maintenance, and make it easier to relocate the database if it is required in the future, create DNS aliases that point to the IP address for all instances of SQL Server.

For more information, see Set SQL Server options.

3. Harden the database server before you deploy SharePoint Server 2010

We recommend that you plan for, and harden the database server before you deploy SharePoint Server 2010. This includes securing the database server role for SharePoint Server and SQL Server. For more information, see:

  • Plan security hardening (SharePoint Server 2010)

  • Harden SQL Server for SharePoint environments (SharePoint Server 2010)

4. Configure database servers for performance and availability

As is the case with web servers and application servers, the configuration for database servers affects how well SharePoint Server 2010 performs. Certain databases require specific co-location with or separation from other databases. For more information, see:

  • Capacity management and sizing overview for SharePoint Server 2010

  • Storage and SQL Server capacity planning and configuration (SharePoint Server 2010)

For highly available databases that use mirroring, consult the best practice guidance in Database Mirroring Best Practices and Performance Considerations (http://go.microsoft.com/fwlink/p/?LinkID=185119).

5. Design storage for optimal throughput and manageability

We recommend that you separate, and prioritize your data among the disks on the database server. Ideally, you should place the tempdb database, content databases, usage database, search databases, and SQL Server 2008 transaction logs on separate physical hard disks. The following list provides some best practices and recommendations for prioritizing and managing data and logs. For more information, see Configure databases.

  • For collaboration or update-intensive sites, use the following ranking for storage distribution:

    1. tempdb data files and transaction logs on the fastest disks

    2. Content database transaction log files

    3. Search databases, except for the Search administration database

    4. Content database data files

  • In a heavily read-oriented portal site, prioritize data and search over transaction logs as follows:

    1. tempdb data files and transaction logs on the fastest disks

    2. Content database data files

    3. Search databases, except for the Search administration database

    4. Content database transaction log files

  • Testing and user data shows that overall farm performance can be significantly impeded by insufficient disk I/O for tempdb. To avoid this issue, allocate dedicated disks for tempdb.

  • For best performance, place the tempdb on a RAID 10 array. The number of tempdb data files should equal the number of core CPUs, and the tempdb data files should be set at an equal size.

  • Separate database data and transaction log files across different disks. If files must share disks because the files are too small to warrant a whole disk or stripe, or you have a shortage of disk space, put files that have different usage patterns on the same disk to minimize concurrent access requests.

  • Use multiple data files for heavy-use content databases, each on their own disk

  • To improve manageability, limit content database size to 50 GB

Proper configuration of I/O subsystems is very important to the optimal performance and operation of SQL Server systems. For more information, see Storage Top 10 Best Practices

6. Proactively manage the growth of data and log files

We recommend that you proactively manage the growth of data and log files by considering the following recommendations:

  • When possible, pre-grow all data files and log files to their expected final size, or periodically increase these at set periods, for example, every month or every six months, or before rollout of a new storage-intensive site such as during file migrations.

  • We recommend that you enable database auto-growth as a protective measure to ensure that you do not run out of space in data and log files. Consider the following:

    Important:

    You must factor in the performance and operations issues associated with using auto-growth. For more information, see Considerations for the "autogrow" and "autoshrink" settings in SQL Server (http://go.microsoft.com/fwlink/p/?LinkID=117750)

    • Do not rely on the default settings for auto-growth, use the guidance provided in Set SQL Server options.

    • Set autogrow values as a percentage instead of fixed number of megabytes. The bigger the database, the bigger the growth increment should be.

      Consider for example, a scenario where content is gradually increased, say at 100MB increments, with autogrowth set at 10MB. Then suddenly a very large quantity of data storage is required for a new document management site, perhaps with initial size of 50 GB; we would want this to grow at 500 MB increments not 10MB increments.

    • For a managed production system, you must consider auto-growth to be merely a contingency for unexpected growth. Do not manage your data and log growth on a day-to-day basis using the autogrow option.

  • Maintain a level of at least 25 percent available space across disks to accommodate growth and peak usage patterns. If you are managing growth by adding disks to a RAID array or allocating more storage, monitor disk size closely to avoid running out of space.

7. Continuously monitor SQL Server storage and performance

We recommend that you continuously monitor SQL Server storage and performance to ensure that production database server is adequately handling the load put on it. Additionally, continuous monitoring enables you to establish benchmarks that you can use for resource planning.

Take a holistic view of resource monitoring; do not limit monitoring to resources that are specific to SQL Server. It is equally important to track the following resource components of a server that is running SQL Server: CPU, memory, cache/hit ratio, and the I/O subsystem.

When one or more of the components of the database server seems slow or overburdened, analyze the appropriate strategy based on the current and projected workload. For more information, see:

  • Monitoring and Tuning for Performance (http://go.microsoft.com/fwlink/p/?LinkID=131173)

  • Troubleshoot performance problems in SQL Server 2008 (http://go.microsoft.com/fwlink/p/?LinkID=168448).

  • Performance Monitoring Getting Started Guide

8. Use backup compression to speed up backups and reduce file sizes

Backup compression can speed up any SharePoint backup, and is available in SQL Server 2008 Enterprise Edition or SQL Server 2008 R2 Standard edition. By setting the compression option in your backup script, or by configuring the server that is running SQL Server to compress by default, you can significantly reduce the size of your database backups and shipped logs. For more information, see Backup Compression (SQL Server) (http://go.microsoft.com/fwlink/p/?LinkId=129381) and Data Compression: Strategy, Capacity Planning and Best Practices (http://go.microsoft.com/fwlink/p/?LinkId=223674).

Acknowledgements

The SharePoint Server 2010 Content Publishing team thanks the following contributors to this article:

  • Stephen Dillon, Senior Consultant

  • Gus Apostal, Senior Program Manager, SQL Server


Backup and recovery best practices (SharePoint Server 2010)

Published: October 14, 2010

This article describes best practices that you can use to help ensure that backup and recovery operations in Microsoft SharePoint Server 2010 are successful and that the environment is protected against data loss or continuity gaps. The article includes best practices for performance, quality assurance, security, and operational excellence.

In this article:

  • Performance best practices for Sharepoint backup and recovery

  • Quality assurance best practices when backing up a Sharepoint farm

  • Procedural best practices when backing up and restoring SharePoint

Performance best practices for Sharepoint backup and recovery

Backup and restore operations can consume server resources and limit server performance while the operations are running. By following these best practices, you can reduce resource usage and increase the performance of servers and the backup or restore operation.

Minimize latency between SQL Server and the backup location

In general, it is best to use a local disk on the database server, not a network drive, for backups, and then copy the data later to a shared folder on the network. Network drives with 1 millisecond or less latency between them and the database server will perform well.

To avoid I/O bottlenecks, perform the main backup to a separate disk from the disk running Microsoft SQL Server 2008 with Service Pack 1 (SP1) and Cumulative Update 2.

By design, most backup jobs consume all available I/O resources to complete the job. Therefore, you might see disk queuing, which can result in greater than usual I/O request latency. This is typical and should not be considered a problem.

Avoid processing conflicts

Do not run backup jobs during times when users require access to the system. Consider staggering backups so that not all databases are backed up at the same time.

Keep databases small for faster recovery times

Keep databases small to speed both backup and recovery. You can do this by using multiple content databases for a Web application instead of one large content database.

Use incremental backups for large databases

Use incremental backups for large database such as those available with DPM 2010. Incremental backups can be restored faster and more efficiently than full backups for larger databases. For more information about backup types, see Backup Overview (SQL Server) (http://go.microsoft.com/fwlink/p/?LinkId=203863).

Use compression during backup

In some circumstances, you can use compression to improve backup size (30% decrease) and times (25% decrease). Backup compression has been in introduced in SQL Server 2008 Enterprise. For more information about how backup compression affects performance in SQL Server, see Backup Compression (SQL Server) (http://go.microsoft.com/fwlink/p/?LinkID=129381).

Follow SQL Server backup and restore optimization recommendations

If you are using SQL Server backups, use a combination of full, differential, and transaction log backups (for the full or bulk-logged recovery model) to minimize recovery time. Differential database backups are usually faster to create than full database backups and reduce the amount of transaction log required to recover the database.

If you are using the full recovery model, we recommend that you periodically truncate the transaction log files to avoid maintenance issues.

For detailed recommendations about how to optimize SQL Server backup and restore performance, see Optimizing Backup and Restore Performance in SQL Server (http://go.microsoft.com/fwlink/p/?LinkId=126630).

Use RAID 10 if you are going to use RAID

Carefully consider whether to use redundant array of independent disks (RAID) on the disk backup device. For example, RAID 5 has low write performance, approximately the same speed as for a single disk. (This is because RAID 5 has to maintain parity information.) Using RAID 10 for a backup device may provide faster backups. For more information about how to use RAID with backups, see Configure RAID for maximum SQL Server I/O throughput (http://go.microsoft.com/fwlink/p/?LinkId=126632).

Configure SharePoint settings for better backup or restore performance

You can configure settings in both Central Administration and Windows PowerShell to increase backup or restore efficiency and performance.

If you are using the Export-SPWeb Windows PowerShell cmdlet, you can use the NoFileCompression parameter. By default, SharePoint Server 2010 uses file compression while exporting Web applications, site collection, lists, or document libraries. You can use this parameter to suppress file compression while exporting and importing. File compression can use up to 30% more resources, but the exported file will use approximately 25% less disk space. If you use the NoFileCompression parameter when exporting, you must also use it when you import the same content.

You can also use the NoLogFile parameter. By default, SharePoint Server 2010 always creates a log file when you export content. You can use this parameter to suppress log file creation to save resources. However, we recommend that you always create logs. This is because logs can be used in troubleshooting. Moreover, log creation does not use many resources.

Note:

These settings are not available through Central Administration.

If you are using the Backup-SPFarm cmdlet, you can use the BackupThreads parameter to specify how many threads SharePoint Server 2010 will use during the backup process. The more threads you specify, the more resources that backup operation will take, but the faster that it will finish, if sufficient resources are available. However, each thread is reported individually in the log files, so using fewer threads makes interpreting the log files easier. By default, three threads are used. The maximum number of threads available is 10.

Note:

This setting is also available through Central Administration on the Default Backup and Restore Settings page in the Backup and Restore section.

Consider site collection size when determining the tools to use

If the business requires site collection backups in addition to farm-level or database-level backups, select the tools that you will use based on the site collection size.

  • Less than 15 gigabytes (GB): Use the Windows PowerShell command Backup-SPSite. For more information, see Back up a site collection in SharePoint Server 2010.

  • 15-100 GB: Use a SharePoint Products and Technologies tool, a SQL Server tool, or other database backup tool to protect the content database that contains the site collection. For more information, see Back up a site collection in SharePoint Server 2010.

  • Larger than 100 GB: Use a differential backup solution, such as Microsoft SQL Server 2005 or DPM 2010, instead of the built-in backup and recovery tools.

Quality assurance best practices when backing up a Sharepoint farm

You can follow these best practices to help ensure the quality of the backups of the farm environment and reduce the chances of data loss.

Ensure you have adequate storage space

Be certain that the system has adequate disk space to accommodate the backup.

Routinely test backup quality

Routinely test backups and validate their consistency. Run practice recovery operations to validate the contents of the backup and to ensure that you can restore the entire environment. For geographically dispersed environments, prepare for disaster recovery by setting up a remote farm. Then you can restore the environment by using the database attach command to upload a copy of the database to the remote farm and redirect users. Periodically perform a trial data recovery operation to verify that the files are correctly backed up. A trial restoration can expose hardware problems that do not show up with software verifications.

Back up ULS trace logs

The SharePoint Server 2010 tools do not back up the ULS trace logs. Data in ULS trace logs can be useful for performance analysis, troubleshooting, monitoring compliance with service-level agreements, and legal, regulatory, or business reasons. Therefore, protect this data as part of the routine maintenance. For more information about backing up the ULS logs, see Back up or archive logs in SharePoint Server 2010.

Store a copy of backup files off-site

To safeguard against loss from a catastrophic event, such as a fire or earthquake, maintain duplicate copies of backups in a separate location from the servers. Doing so can help protect you against the loss of critical data. As a best practice, keep three copies of the backup media, and keep at least one copy offsite in a controlled environment. This should include all backup and recovery materials, documents, database and transaction log backups, and usage and trace log backups.

Procedural best practices when backing up and restoring SharePoint

You can use these procedural best practices to help plan and perform backup and restore operations with better documentation, more ease, and greater assurance.

Use FQDN server names

When referring to servers in a different domain, always use fully qualified domain names (FQDN).

Keep accurate records

When you deploy SharePoint Server 2010, record the accounts that you create, and the computer names, passwords, and setup options that you choose. Keep this information in a safe place.

Have a recovery environment ready

Prepare for restore testing and disaster recovery by setting up a remote farm. Then you can restore the environment by using the database attach command to upload a copy of the database to the remote farm and redirect users. Similarly, you can set up a standby environment running the same version of software as the production environment so that you can restore the databases and recover documents quickly.

Schedule backup operations

If you want to schedule backups, you can use the Windows Task Scheduler to run them by using a Windows PowerShell script file (*.ps1).

Use the SQL FILESTREAM provider with BLOB storage

If you are using BLOB storage using the SQL FILESTREAM provider and you back up the content database with that Remote BLOB Store (RBS) defined, both the RBS and the content database will be backed up and restored when you use SharePoint tools or SQL Server tools. We do not recommend that you use RBS with other restore methods.


Best practices for people and profiles (SharePoint Server 2010)
See Also

Published: August 11, 2011

This article is one of a series of best practices articles for Microsoft SharePoint Server 2010. This article describes the typical characteristics and best practices for working with user profiles in SharePoint Server. For additional information and resources about best practices for SharePoint Server 2010, see Best Practices for SharePoint Server 2010 (http://go.microsoft.com/fwlink/p/?LinkId=220280).

1. Clean up the directory service

The organization of objects in your directory service has a large impact on how long it takes to synchronize profile information. To improve the performance of synchronization, prune the objects in the directory service.

  • SharePoint Server uses Microsoft Forefront Identity Manager (FIM) to import all of the objects in the containers that you select, and then applies the synchronization filters to the imported objects. To the extent possible, move user accounts that you do not want to be imported into containers that are not synchronized. Similarly, move groups that you do not want to be synchronized into containers that you are not synchronizing with.

  • Audit your organization's use of groups within the directory service, and delete any groups that are no longer needed.

  • Ensure that you do not synchronize the same group membership information multiple times. For example, if you represent the same distribution group on multiple farms, place all except one instance of the distribution group into containers that you are not synchronizing.

2. Use synchronization filters

Use filters to synchronize only the users whom you want to have profiles in SharePoint Server. For example, if user accounts and service accounts both exist in a directory service container that you are synchronizing with, create a filter to exclude service accounts from synchronization. For more information about synchronization filters, see the About exclusion filters section in the Plan for profile synchronization (SharePoint Server 2010) article.

3. Configure policies for profile properties

Use policies to specify privacy settings for profile properties. There are default policies for properties. However, you should review them and determine whether to change them depending on your organization, company, and governmental rules. You can allow users to override a policy setting or specify that the policy cannot be changed.

For more information about these policies, see the About property policies section in the Plan user profiles (SharePoint Server 2010) article.

4. Specify the domain controller to synchronize with

When you create a synchronization connection to a forest that has multiple domain controllers, select a specific domain controller to synchronize with. The connection between the domain controller and the synchronization server should have as low latency as possible. For information about how to specify a domain controller when you create a profile synchronization connection, see the Create a synchronization connection to a directory service section in the Configure profile synchronization (SharePoint Server 2010) article.

In a very large directory services forest, optimize the domain controller itself. Move as much of the directory service database as possible to RAM, and use fast disk drives. This will reduce the time that is required for profile synchronization. For more information about the directory service database for Active Directory Domain Services (AD DS), see Administering the Active Directory Database (http://go.microsoft.com/fwlink/p/?LinkId=225582).

5. Make friends with the directory service administrator

Stay in contact with the administrators of the directory services that you synchronize with. Make sure that you are notified if the administrator plans to restart a domain controller or to make large changes to the directory service, and try to get those events scheduled for a time when profile synchronization is not occurring.

6. Restart the synchronization service after installing updates

Whenever you install an update to Microsoft SharePoint Server 2010, stop and then restart the User Profile Synchronization service.

When you start the User Profile Synchronization service, SharePoint Server provisions a version of Microsoft Forefront Identity Manager (FIM) to participate in synchronization. If you install a SharePoint Server 2010 service pack, cumulative update, or other update that modifies the SharePoint Server private version of FIM, the modification will not take effect until FIM is reprovisioned. To reprovision FIM, stop and then restart the User Profile Synchronization service. For instructions about how to start and stop a service, see Manage services on the server (SharePoint Server 2010).

7. Run database maintenance jobs before synchronizing profiles

If profile synchronization will have to process many changes, run a full scan of the profiles database before starting profile synchronization.

Microsoft SQL Server uses historical statistics about a database to optimize queries. For the optimization to be as good as possible, the statistics should be as fresh as possible. Running a full scan generates the most accurate statistics. To update statistics with a full scan of the database, run the Health Analyzer rule Databases used by SharePoint have outdated index statistics.

8. Optimize the profile and synchronization databases

The configuration of the profile database and the synchronization database has a significant impact on the overall performance of profile synchronization. For recommendations about how to optimize database performance, see Storage and SQL Server capacity planning and configuration (SharePoint Server 2010) and Best practices for SQL Server 2008 in a SharePoint Server 2010 farm. In particular, if you have many user profiles, consider the following:

  • Proactively manage the size of the profiles database. Use a fixed size data (.mdf) file and log file, but also enable autogrowth in case the size is too small.

  • If you enable autogrowth, use a fixed growth size — for example, 100 MB — instead of a growth percentage.

  • Profile synchronization creates a lot of disk I/O. For the profiles and synchronization databases, use disk drives that can perform high Input/Output Operations Per Second (IOPS), and consider using solid-state drives (SSD).

  • If you have many profiles and you run profile synchronization frequently, consider placing the data (.mdf) file and the log file on separate physical disks.

  • Have at least one data (.mdf) file for tempdb per CPU core. For more information about how to optimize tempdb, see Optimizing tempdb Performance (http://go.microsoft.com/fwlink/p/?LinkId=225583).

  • In the event of heavy utilization, consider a dedicated SQL Server instance to support the User Profile service application databases.

9. Check timer job settings

Timer jobs propagate information through SharePoint Server and to and from directory services. In some cases, one timer job performs work that another timer job takes further action on. For example, the User Profile Incremental Import job updates SharePoint Server user profiles with information about the user that has changed in the directory service. The Activity Feed job computes activities to be shown in the Activity Feed section of a user's My Site. If a user's job title changes in the directory service, that change might not show up in the activity feeds of the user's colleagues, depending on the progress of one timer job relative to the other timer job. To get more consistent results and improve performance, adjust the timing at which timer jobs run.

For more information about the SharePoint Server timer jobs, see Timer job reference (SharePoint Server 2010).

10. Do not synchronize during large directory service updates

Ensure that profile synchronization is not running while you are making large changes to the directory service. For example, stop profile synchronization if you are updating directory service schemas or preparing a Microsoft Exchange Server forest. When the directory service changes are complete, perform a full synchronization.

11. Avoid synchronizing large objects

A user's profile is probably not the best place to store large binary data. Consider storing binary large objects (BLOBs) elsewhere, such as in a database, and keeping only a link to the BLOB in the profile.

The time that is required to run profile synchronization is related to the size of the attributes being synchronized, and also the frequency with which the attributes change. If you replicate profile information across farms, the impact of storing large objects in profiles is even greater.

Acknowledgements

The SharePoint Server 2010 Content Publishing team thanks the following contributors to this article:

  • Chris Gideon, Microsoft Premier Field Engineering

  • Steve Peschka, Microsoft Consulting Services

  • Bill Baer, Microsoft SharePoint Technical Product Marketing

  • Yancho Yanev, Microsoft SharePoint Product Team

  • Siva Subbiah, Microsoft SharePoint Product Team

  • Jon Rosenberg, Microsoft SharePoint Product Team

  • Spencer Harbar, Enterprise Architect

  • Todd Lehmann, Microsoft Information Services

  • Sheyi Adenouga, Microsoft Customer Support Services

  • Joe McTaggart, Microsoft Premier Field Engineering

  • Ron Grzywacz, Microsoft Premier Field Engineering

  • Bassem Yacoube, Microsoft Consulting Services

See Also

Concepts

Best practices (SharePoint Server 2010)
User Profile Service administration (SharePoint Server 2010)
User Profile Service administration (SharePoint Server 2010)
Plan for profile synchronization (SharePoint Server 2010)
User Profile service application overview (SharePoint Server 2010)


Best practices for search in SharePoint Server 2010

Published: September 7, 2011

This article is one of a series of Best Practices articles for Microsoft SharePoint Server 2010. This article describes the best practices for enterprise search. Unless otherwise noted, this article applies to both SharePoint Server 2010 and Microsoft Search Server 2010. For more articles in the series, see Best practices (SharePoint Server 2010). For additional information about best practices for SharePoint Server 2010, see Best practices (SharePoint Server 2010) and Performance and capacity management (SharePoint Server 2010).

In this article:

  • 1. Plan the deployment

  • 2. Start with a well-configured infrastructure

  • 3. Manage access by using Windows security groups or by using role claims for forms-based authentication or authentication using a Security Assertion Markup Language (SAML) security token

  • 4. Defragment the search database

  • 5. Monitor SQL Server latency

  • 6. Test the crawling and querying subsystems after you change any configuration or apply updates

  • 7. Review the antivirus policy

  • Acknowledgements

1. Plan the deployment

  • Plan the search topology and plan for capacity and performance. You must plan an appropriate topology for enterprise search to provide an optimal search experience. For information about how to plan a search topology, see Plan the topology for enterprise search (SharePoint Server 2010). For information about capacity planning for SharePoint Server 2010 search, see Estimate performance and capacity requirements for SharePoint Server 2010 Search. For information about SharePoint Server 2010, see Performance and capacity management (SharePoint Server 2010).

  • Plan for findability. For a search technology to be useful, users must be able to easily find what they are looking for. For a good discussion of findability, see Organizing Information in SharePoint Server 2010 (http://go.microsoft.com/fwlink/p/?LinkId=226827) by Microsoft MVP Bill English.

  • Use managed properties and scopes to enhance the end-user search experience. Managed properties enable search administrators to create a one-to-many mapping of related properties to help users refine their search queries. For example, a search administrator can map crawled properties named "writer" and "author2" to the managed property "author" so that users who include the "author" property in their query also get search results for "writer" and "author2." For more information about managed properties, see Plan metadata properties for search (SharePoint Server 2010). You can help users refine their search queries by using search scopes, which limit searches to a content subset, such as a specific site. For more information, see Plan search scopes (SharePoint Server 2010). If you use custom queries, make sure that the appropriate properties are set to be used in scopes. For more information, see Manage metadata properties for search (SharePoint Server 2010)

  • Plan for IFilters .The crawler uses IFilters to read individual file types when it crawls content. If you are currently using 32-bit IFilters in a Microsoft Office SharePoint Server 2007 farm, you must obtain 64-bit IFilters from the appropriate vendor for SharePoint Server 2010. For information about the 64-bit IFilters that are included in SharePoint Server 2010 by default, see File types and IFilters reference (SharePoint Server 2010).

  • Create service level agreements. Ensure that service level agreements (SLAs) for content crawls are agreed to before deployment. For information about how to plan content crawls, see Plan for crawling and federation (SharePoint Server 2010).

2. Start with a well-configured infrastructure

  • Deploy two or more query components and crawl components for redundancy and increased availability. For more information, see Search architectures for SharePoint Server 2010: Model. Increasing the number of query components and crawl components can improve performance. For more information, see Estimate performance and capacity requirements for SharePoint Server 2010 Search.

  • Use at least two database servers to host the content databases and the databases for the Search service application (including crawl, property, and administrative databases). For more database recommendations, see Storage and SQL Server capacity planning and configuration (SharePoint Server 2010) and Best practices for SQL Server 2008 in a SharePoint Server 2010 farm.

  • Use a gigabit network for intra-farm connections.

3. Manage access by using Windows security groups or by using role claims for forms-based authentication or authentication using a Security Assertion Markup Language (SAML) security token

We recommend that you add users to Windows security groups or role claims instead of adding users to SharePoint groups for the following reasons:

  • Because changes to Windows security groups do not directly affect the access control entries (ACEs) on SharePoint sites, you do not have to perform a new crawl when user accounts within those Windows security groups are changed.

  • During the indexing process, the system stores the ACE of each user who was added to a SharePoint group instead of the ACE of the SharePoint group itself. This process supports approximately 1000 users per access control list (ACL), after which the "Parameter is incorrect" error causes crawling to fail.

For more information, see Choose security groups (SharePoint Server 2010) and Configure claims authentication (SharePoint Server 2010).

4. Defragment the search database

The search database contains metadata and ACLs of crawled content. Over a series of crawls, the search database can become fragmented. To improve performance of crawls and queries, periodically defragment the search database. For more information, see Database maintenance for SharePoint 2010 Products.

Important:

If you are mirroring the computers that run SQL Server, turn mirroring off before you defragment the search database and turn it back on after defragmentation is completed.

5. Monitor SQL Server latency

Search is I/O intensive for SQL Server. For best search performance, we recommend that you follow the guidance for small, medium, and large farms that is provided in Estimate performance and capacity requirements for SharePoint Server 2010 Search.

6. Test the crawling and querying subsystems after you change any configuration or apply updates

We recommend that you test the crawling and querying functionality of the server farm after you make configuration changes or apply updates. An easy way to do this is to create a temporary content source that is used only for this purpose. To test, we recommend that you crawl ten items — for example .txt files on a file share — and then perform search queries for those files. Make sure that the test items are currently not in the index. It is helpful if they contain unique words that will be displayed at the top of the search results page when queried. After the test is complete, we recommend that you delete the content source that you created for this test. Doing this removes the items that you crawled from the index and those test items will not appear in search results after you are finished testing. For information about crawling content, see Plan for crawling and federation (SharePoint Server 2010) and Manage crawling (SharePoint Server 2010).

7. Review the antivirus policy

When you use certain file-level antivirus software programs in SharePoint Server 2010, you should exclude certain folders from being scanned. If you do not exclude these folders, you can experience many unexpected issues. For more information, see the following article in the Microsoft Knowledge Base: 952167: Certain folders may have to be excluded from antivirus scanning when you use a file-level antivirus program in SharePoint (http://go.microsoft.com/fwlink/p/?LinkId=123963).

Acknowledgements

The SharePoint Server 2010 Content Publishing team thanks the following contributors to this article:

  • Luca Bandinelli, Microsoft SharePoint Customer Advisory Team

  • Dan Blood, Microsoft SharePoint Customer Advisory Team

  • Sid Shah, Microsoft SharePoint Search Product Team

  • James Sturms, Microsoft SharePoint Search Product Team


Best practices for capacity management for SharePoint Server 2010

Published: September 13, 2011

This article describes the best practices for Microsoft SharePoint Server 2010. For more articles in the Best Practices series, see the Best Practices Resource Center for SharePoint Server 2010 (http://go.microsoft.com/fwlink/p/?LinkID=221383).

For additional information about performance and capacity planning, see the Capacity Management Resource Center for SharePoint Server 2010 (http://go.microsoft.com/fwlink/p/?LinkID=194748).

Best Practices

  1. Read the available documentation for information about planning, deploying, testing, monitoring and maintaining your SharePoint Server 2010 deployment.

    • For prescriptive guidance on planning, deploying, testing, monitoring and maintaining SharePoint Server 2010, see Capacity management and sizing for SharePoint Server 2010.

    • For feature-specific capacity management guidance, test results and recommendations, see Performance and capacity test results and recommendations (SharePoint Server 2010).

    • For a list of available technical case studies, see Performance and capacity technical case studies (SharePoint Server 2010).

    • For information about capacity planning and configuration of SQL Server in a SharePoint Server 2010 environment, see Storage and SQL Server capacity planning and configuration (SharePoint Server 2010).

    • Aggressive availability targets can have a major effect on the complexity and scope of the farm topology. For more information, see Plan for availability (SharePoint Server 2010).

    • Global deployments may require special measures to ensure sufficient performance and adoption. For more information, see Global deployment of multiple farms (SharePoint Server 2010).

    • If virtualization will be used to host SharePoint Server 2010 computers, research the effect that virtualization will have on sizing. Although virtualization can provide many benefits, it is important to understand how it may affect memory and processor utilization, the performance and capacity of shared disks, and several other key factors. For more information, see Virtualization planning for on-premise or hosted technologies (SharePoint Server 2010).

  2. Document your capacity management strategy as early as possible in the planning process, and then refine and update it through the product lifecycle. Implementing early planning and an iterative design process can significantly reduce your risk of discovering that you have underestimated your hardware needs after the deployment has already started.

    Many values in a production deployment will change over the lifecycle of the deployment. Regular review and analysis of SharePoint Server 2010 logs, Internet Information Services (IIS) and Unified Logging Service (ULS) logs, performance counters, and measurements of end user latency on critical sites are necessary to understand the health of the SharePoint Server 2010 deployment, and when it may be necessary to make changes in your topology or add hardware resources.

    Document information in the following areas:

    • The number of users, requests per second (RPS), number of sites, number of documents, and the amount of data that is stored are important numbers to record.

    • The geographic location of users and their expected usage characteristics and workloads.

    • For Search, the expected or current index size and the number of content sources, including external content sources such as line-of-business applications.

    • User authentication access methods, the number of user accounts, and document requirements for Profile Synchronization and My Sites.

    • Some projects will also have extensive or complex migration requirements for data and applications, and may contain complex integration or customization code. Estimate the number of customized sites and the location and migration requirements for custom code and data.

  3. Plan for growth and change, so that your SharePoint Server 2010 environment can continue to deliver an effective business solution.

    Capacity management is an ongoing process, because no implementation remains static with regard to content and usage. Follow the capacity management model to help you validate and tune the initial architecture and to iteratively design and optimize the production environment until it can support design goals with optimal choices of hardware, topology, and configuration.

    Use available monitoring and test tools to validate your environment and to periodically review farm performance against expected results.

    • For more information about the capacity management model, see Capacity management and sizing overview for SharePoint Server 2010.

    • For more information about monitoring SharePoint Server, see Monitoring and maintaining SharePoint Server 2010.

    • The Load Testing Kit (LTK) and SharePoint Diagnostic Studio are tools that are provided in the SharePoint 2010 Administration Toolkit (SharePoint Server 2010). These tools can help you test, analyze, and troubleshoot your environment.

      • For more information about the Load Testing Kit, see Load Testing Kit (SharePoint Server 2010).

      • For more information about the SharePoint Diagnostic Studio (SPDiag 3.0), see SharePoint Diagnostic Studio 2010 (SPDiag 3.0) (SharePoint Server 2010).

  4. Carefully plan content database sizes and ensure that your design expectations do not exceed supported limits. Under most circumstances, we recommend that you limit content database sizes to 200 GB to enable fast and reliable backups and to avoid list contention issues during peak usage.

    There are, however, circumstances in which larger content databases are supported. For more information about content database sizing, see the Content Database Limits section of SharePoint Server 2010 capacity management: Software boundaries and limits, and also see Managing Multi-Terabyte Content Databases with Microsoft SharePoint 2010 (http://go.microsoft.com/fwlink/p/?LinkId=228262).

    Also note the following information:

    • Large lists (lists that contain more than 5,000 items) should be carefully planned. For more information about how to plan for large lists, see Designing large lists and maximizing list performance (SharePoint Server 2010) and Estimate performance and capacity requirements for large scale document repositories in SharePoint Server 2010.

    • The time to execute a backup and the probability that it will be reliable are both depend on the storage configuration that is being used for the SharePoint Server 2010 databases.

    • Measure the time that is required to execute and the reliability of the backup-and-restore process for realistically sized data sets in a lab before you move the site to a production environment, and before you create process definitions. Your environment might require content databases much smaller than 200 GB to ensure timely and reliable backup execution.

  5. Document the logical topology as a part of an early design process. SharePoint Server 2010 logical planning documentation should include, at minimum, records of the following information:

    • Farms

    • Service applications

    • Database locations, storage specifications and topology

    • Web applications

    • Content databases

    • Site collections

    • Sites

    • Custom applications

    • Proxy groups

    • Managed paths

    • URLs

    • Authentication and authorization

    For each of these items, be aware of the following considerations:

    • All the previous items have limits that must be respected. Limits and software boundaries are documented in SharePoint Server 2010 capacity management: Software boundaries and limits.

    • Before deployment for all these items, consider the following issues:

      • Whether the limits are likely to be exceeded

      • The trigger rules for items that have to be in place for an administrator to detect an over-limit condition

      • The actions that must be taken to resolve the condition

      Note:

      Certain limits are affected by other factors which may reduce the effective number of objects, such as site collections, that can be supported by a given web application. Care must be exercised to avoid exceeding supported limits when a container object, such as a content database, contains a large number of other objects.

    • Managing software boundaries is an iterative process. Respecting all the relevant boundaries for a large installation can be difficult and may require splitting a farm into two separate farms. Make sure that you allow for enough time and effort to complete the planning for this phase.

  6. Be familiar with recommended SharePoint Server 2010 scenarios and technical case studies. Compare your application to the following scenarios and case studies, and use them to guide your detailed sizing decisions.

    • Design server farms and topologies (SharePoint Server 2010) contains resources to help you learn about and plan topologies for SharePoint Server 2010.

    • Performance and capacity technical case studies (SharePoint Server 2010) contains a list of case studies for existing SharePoint Server 2010 production environments.

    • Performance and capacity test results and recommendations (SharePoint Server 2010) contains a list of feature-specific test results and related performance and capacity recommendations.

  7. Plan your monitoring strategy by identifying the monitoring rules that you will use to trigger the appropriate scale-out and scale-up options. Also, plan the processes that those triggers start. The following are some of the more important triggers:

    • A content database reaches its limit.

    • The recommended maximum site count in a site collection is reached.

    • The recommended maximum site collection count in a content database is reached.

    • Other limits can be found in SharePoint Server 2010 capacity management: Software boundaries and limits and Managing Multi-Terabyte Content Databases with Microsoft SharePoint 2010 (http://go.microsoft.com/fwlink/p/?LinkId=228262).

  8. Optimize your applications. In general, the optimization of applications will provide more long-term benefits (including faster performance and reduced load on the server) than the addition of hardware to the farm with no further optimizations. Make sure that there is governance in place to ensure that the customizations and applications that are deployed meet minimum standards for performance and resource utilization.

    For more information about testing and optimizing customizations, see the following articles:

    • Checklist for Testing SharePoint Web Parts (http://go.microsoft.com/fwlink/p/?LinkId=135710)

    • Using the Developer Dashboard (http://go.microsoft.com/fwlink/p/?LinkId=199580)

    • Team Foundation Server Resource Center (http://go.microsoft.com/fwlink/p/?LinkId=135712)

    • Plan for sites and solutions (SharePoint Server 2010)

  9. Stress test your environment before deploying it to production. Even if exact user behavior is difficult to predict and simulate before deployment, stress testing provides the following benefits:

    • Customization performance issues can be identified and addressed.

    • Customization quality issues can be uncovered before they affect farm users.

    • The mitigation of issues immediately following deployment leads to more rapid and successful adoption, which ultimately improves the return on investment for the deployment.

    Use available test tools to validate your environment and to periodically review farm performance against expected results. The Load Testing Kit (LTK) and SharePoint Diagnostic Studio are tools that are provided in the SharePoint 2010 Administration Toolkit (SharePoint Server 2010). These tools can help you test, analyze and troubleshoot your environment.

    For more information about the Load Testing Kit, see Load Testing Kit (SharePoint Server 2010).

    For more information about the SharePoint Diagnostic Studio (SPDiag 3.0), see SharePoint Diagnostic Studio 2010 (SPDiag 3.0) (SharePoint Server 2010).


Server and server farm administration (SharePoint Server 2010)

This section describes how to configure administration settings for servers and server farms within a Microsoft SharePoint Server 2010 environment.

In this section:

  • Backup and recovery for SharePoint Server 2010

  • Database management (SharePoint Server 2010)

  • Security and permissions (SharePoint Server 2010)

  • Service application and service management (SharePoint Server 2010)

  • Web applications management (SharePoint Server 2010)

  • Health monitoring (SharePoint Server 2010)

  • Manage farm administration settings (SharePoint Server 2010)

  • Farm topology management (SharePoint Server 2010)

  • Availability configuration (SharePoint Server 2010)

  • Track or block SharePoint Server 2010 installations


Backup and recovery for SharePoint Server 2010
See Also

The articles in this section are written to meet the requirements of information technology (IT) professionals who are responsible for the planning, design, deployment, and operations of backup and recovery solutions for Microsoft SharePoint Server 2010. These solutions might be in enterprise, corporate, or branch-office environments. The IT professionals who are responsible for backup and recovery solutions are expected to have an understanding of the technical details that are contained in this section. However, service-level expertise is not required to understand the enterprise-level discussions and decisions.

A backup is a copy of data that is used to restore and recover that data after a system failure. Backups allow you to restore data after a failure. Recovery allows you to quickly restore the farm if a problem arises. You can recover the entire farm or one or more components of the farm from a backup.

product logo for Microsoft Project Relevant backup and recovery articles for Project Server 2010 are available in the Project Server document library at Project backup and recovery (Project Server 2010) and Back up and restore databases (Project Server 2010).

In this section:

  • Prepare to back up and recover (SharePoint Server 2010)

  • Backup and recovery best practices (SharePoint Server 2010)

  • Configuring permissions for backup and recovery (SharePoint Server 2010)

  • Backup SharePoint Server 2010

  • Recovery (SharePoint Server 2010)

  • Restore pre-SP1 backups to an SP1 farm (SharePoint Server 2010)

See Also

Other Resources

Resource Center: Operations and Manageability for SharePoint Server 2010


Prepare to back up and recover (SharePoint Server 2010)
See Also

Published: July 8, 2010

It is important to ensure that you have backed up and can recover the data that you need should a failure occur. Consider the information, procedures, and precautions that are described in this article before you back up and restore the environment. This article discusses restrictions and requirements for backup and recovery and how to create a shared folder on the network that can receive backed-up data.

Important:

The SharePoint 2010 Service Pack 1 (SP1) upgrade process alters the schema of some of the farm databases and all content databases. Because of these changes, you might need to take additional steps to restore a backup that you made before the farm was upgraded to SP1 to the farm after it is upgraded to SP1. For more information about doing this, see Restore pre-SP1 backups to an SP1 farm (SharePoint Server 2010).

In this article:

  • Restrictions

  • Requirements

  • How to create a shared folder

Restrictions

There are some restrictions in what can be backed up or restored. For more information about backup and recovery architecture and about what can or cannot be backed up and restored, see Backup and recovery overview (SharePoint Server 2010).

You cannot use a backup made from one version to restore to another version. To do this, you must use the upgrade process. You cannot restore to a farm with a lower update level than the update level of the farm that you backed up. The destination farm must have the same or newer update level. For information about how to upgrade, see Upgrading to SharePoint Server 2010.

If you perform a backup while any task that creates or deletes databases is running, these changes might not be included in the backup.

Do not modify the spbackup.xml file. This file is used by SharePoint Server 2010 and changing it can make the backups unusable.

Requirements

Before you back up data, you must create a shared folder in which the data will be stored. For best performance, you should create this folder on the database server. If you want to archive the backups to another server, you can copy the whole backup folder to that server after backup is complete. Be sure to copy and move the whole backup folder and not the individual backup folders under this folder.

The SQL Server VSS Writer service, which is available with Microsoft SQL Server 2008 R2, SQL Server 2008 with Service Pack 1 (SP1) and Cumulative Update 2, and SQL Server 2005 with SP3 and Cumulative Update 3 database software, must be started for the SharePoint 2010 VSS Writer service to work correctly. By default, the SharePoint 2010 VSS Writer service is not automatically started.

You must make sure that the SharePoint 2010 Administration service is started on all farm servers before you perform a backup. By default, this service is not started on stand-alone installations.

You must ensure that the user accounts that you want to perform a backup have access to the shared backup folder.

If you are backing up by using Central Administration, the database server's SQL service account, the Timer service account, and the Central Administration application pool identity account must have Full Control permissions to the backup locations.

The database server and farm server that you want to back up must be able to connect to one another.

If you have changed the farm account, before you back up, you must grant the new account the correct permissions to the shared folder that will contain the backup data.

If you are using SQL Server with Transparent Data Encryption (TDE), and you are backing up your environment by using either SharePoint tools or SQL Server tools, the TDE encryption key is not backed up or restored. You must manually back up the key. When restoring, you must manually restore the key before you restore the data. For more information, see Understanding Transparent Data Encryption (TDE) (http://go.microsoft.com/fwlink/p/?LinkId=196394&clcid=0x409).

How to create a shared folder

Use this procedure to create a shared folder on the network that can receive and hold backed-up data. You can also use this shared folder when you restore data. If you already have a shared folder that serves this purpose, you do not have to perform this procedure. By performing the following procedure, you ensure that you can access the shared folder from the computer that runs Microsoft SQL Server database software and from the computer that hosts the SharePoint Central Administration Web site.

If you are backing up by using Central Administration and SQL Server is not running on the same server, the backup folder must be on the same network or on a database server as SharePoint Server 2010. If you have a stand-alone installation where both SQL Server and SharePoint Server 2010 are running on the same server, you can use a local drive path as the backup folder location. If you are using SQL Server to directly back up a database, such as by using SQL Server Management Studio, the backup folder can be either local or on the network. For best performance, we recommend that you back up to a local folder on the database server and then move or copy the backup files to a network folder.

To create a shared folder

  1. Verify that the user account that is performing this procedure is a member of the Administrators group on the computer on which you want to create the shared folder.

  2. If you create the shared folder on a computer other than the one running SQL Server, ensure that the service account for SQL Server (MSSQLSERVER) is using a domain user account and that it has Full Control permissions on the shared folder.

  3. On the server on which you want to store the backup data, create a shared folder.

  4. On the Sharing tab of the Properties dialog box, click Share, and then in the File Sharing dialog box, add the following accounts and assign them the Co-Owner role:

    • SQL Server service account (MSSQLSERVER)

    • The SharePoint Central Administration application pool identity account

    • The SharePoint 2010 Timer service account (if you are using SharePoint Server 2010 to perform backups) .

See Also

Other Resources

Shared Folders


Configuring permissions for backup and recovery (SharePoint Server 2010)
See Also

Before backing up or restoring Microsoft SharePoint Server 2010, you must ensure that the timer service account, SQL Server service account, and users running the backup or restore operations have the correct permissions or are members of the correct Windows security groups or SharePoint groups. These permissions and group memberships must be configured initially. Subsequently, they must be updated when new farm components are added to the environment and if you want to add users who will perform backup and restore operations.

In this topic:

  • Permissions for the SPTimerV4 timer service and SQL Server account in SharePoint

  • Group memberships required to run backup and restore operations in SharePoint Central Administration

  • Setting permissions for running SharePoint backup and restore operations by using Windows PowerShell

Permissions for the SPTimerV4 timer service and SQL Server account in SharePoint

The Windows SharePoint Services Timer V4 (SPTimerV4) and the SQL Server service account in SharePoint Server 2010 perform backup and restore operations on behalf of the user. These service accounts require Full Control permissions on any backup folders.

Group memberships required to run backup and restore operations in SharePoint Central Administration

You must ensure that all user accounts that will be backing up or restoring your farm and farm components by using Central Administration have the group memberships that are described in the following table.

Required group memberships

Farm component | Member of Administrators group on the local computer | Member of Farm Administrators SharePoint group
Farm | Yes | No
Service Application | Yes | No
Content Database | Yes | No
Site Collection | No | Yes
Site, list, document library | No | Yes

Setting permissions for running SharePoint backup and restore operations by using Windows PowerShell

You must ensure that all user accounts that will be backing up or restoring your farm and farm components by using Windows PowerShell are added to the SharePoint_Shell_Access role for a specified database and have the permissions described in the table later in this section.

You can run the Add-SPShellAdmin cmdlet to add a user account to this role. You must run the command for each user account. Moreover, you must run the command for all databases to which you want to grant access.

Note:

You only need to grant a user account access to back up and restore a specific farm component one time. You will have to perform this task again only when new farm components are added to your environment or when you want to add users to perform backup and restore operations.

To add a user to or remove a user from the SharePoint_Shell_Access role by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell command prompt (that is, PS C:\>), type the following command, and then press ENTER:

    Add-SPShellAdmin -Username <User account> -Database <Database ID>

    To add a user account to all the databases in the farm, type the following command, and then press ENTER:

    ForEach ($db in Get-SPDatabase) {Add-SPShellAdmin -Username <User account> -Database $db}

    To remove a user account from all the databases in the farm, type the following command, and then press ENTER:

    ForEach ($db in Get-SPDatabase) {Remove-SPShellAdmin -Username <User account> -Database $db}

    To view the user accounts currently added to the databases in the farm, type the following command, and then press ENTER:

    ForEach ($db in Get-SPDatabase) {Get-SPShellAdmin -Database $db}

For more information, see Add-SPShellAdmin.

You might also have to grant additional permissions to the users running the backup or restore operation by using Windows PowerShell. The following table shows the permissions that are required.

Required permissions for Windows PowerShell

Farm component | Member of Administrators group on the local computer | Member of Farm Administrators SharePoint group | Full Control on backup folder
Farm | Yes | No | Yes
Service application | Yes | No | Yes
Content database | Yes | No | Yes
Site collection | No | Yes | Yes
Site, list, document library | Yes | No | Yes

See Also

Other Resources

Resource Center: Business Continuity Management for SharePoint Server 2010


Backup SharePoint Server 2010
See Also

The articles in this section are written to meet the requirements of information technology (IT) professionals who are responsible for the planning, design, deployment, and operations of backup and recovery solutions. These solutions might be in enterprise, corporate, or branch office environments. The IT professionals who are responsible for backup and recovery solutions are expected to have an understanding of the technical details that are contained in this section.

A backup is a copy of data that is used to restore and recover that data after a system failure. Backups allow you to restore data after a failure. If you make the appropriate backups, you can recover from many system failures, including the following:

  • Media failure

  • User errors (such as deleting a file by mistake)

  • Hardware failures (such as a damaged hard disk or permanent loss of a server)

  • Natural disasters

Additionally, it is useful to keep backups of data for routine purposes. Those purposes include copying a database from one server to another, setting up database mirroring, and archiving to comply with regulatory requirements.

Back up all or part of a SharePoint farm

The following tasks for backup and recovery are performed on the entire farm, farm databases, sites, subsites, or files:

  • Back up a farm in SharePoint Server 2010

    This article describes the procedures that you can use to back up the entire farm.

  • Back up a farm configuration in SharePoint Server 2010

    This article describes the procedures that you can use to back up farm configuration settings.

  • Copy configuration settings between farms (SharePoint Server 2010)

    This article describes the procedures that you can use to copy configuration settings from one farm to another, including how to back up and recover a farm without the content databases, how to back up and recover configurations only, and how to create a deployment script.

  • Back up a Web application in SharePoint Server 2010

    This article describes the procedures that you can use to back up a Web application that is associated with the farm, including configuration and content databases.

  • Back up a service application in SharePoint Server 2010

    This article describes the procedures that you can use to back up a service application that is associated with the farm, including configuration and content databases.

  • Back up search in SharePoint Server 2010

    This article describes the procedures that you can use to back up the Search service application that is associated with the farm, including configuration and indexes.

  • Back up the Secure Store service in SharePoint Server 2010

    This article describes the procedures that you can use to back up the Secure Store service application that is associated with the farm, including configuration and content databases.

  • Back up a content database in SharePoint Server 2010

    This article describes the procedures that you can use to back up a content database that is associated with the farm.

  • Back up databases to snapshots in SharePoint Server 2010

    This article describes the procedures that you can use to back up a content database that is associated with the farm by saving the database to a snapshot.

  • Back up customizations in SharePoint Server 2010

    This article describes the procedures that you can use to back up customizations that are associated with the farm.

  • Back up a site collection in SharePoint Server 2010

    This article describes the procedures that you can use to back up site collections that are associated with the farm.

  • Export a site, list, or document library in SharePoint Server 2010This article describes the procedures that you can use to export a list, site, or document library that is associated with the farm. You can then import the items into another farm or move them to another place in this farm.

  • Back up or archive logs in SharePoint Server 2010

    This article describes the procedures that you can use to back up or archive log files that are associated with the farm.

See Also

Concepts

Recovery (SharePoint Server 2010)


Back up a farm in SharePoint Server 2010
See Also

This topic describes how to back up a whole server farm.

Procedures in this article:

  • Use Windows PowerShell to back up a farm in SharePoint

  • Use Central Administration to back up a farm in SharePoint

  • Use SQL Server tools to back up a farm in SharePoint

For information about which tool to use for backups, see Plan for backup and recovery in SharePoint Server 2010.

We recommend that you regularly back up the complete farm by backing up both the configuration and content. Regularly backing up the farm reduces the possibility of data losses that might occur from hardware failures, power outages, or other problems. It is a simple process and helps to ensure that all the farm data and configurations are available for recovery, if that is required.

Considerations when backing up a farm in SharePoint

Consider the following when you prepare to back up a farm:

  • Performing a backup does not affect the state of the farm. However, it does require resources and might slightly affect farm performance when the backup is running. You can avoid performance issues by backing up the farm during hours when farm use is lowest, such as outside office hours.

  • The farm backup process does not back up any certificates that you used to form trust relationships. Endure that you have copies of these certificates before you back up the farm. You must re-establish these trust relationships after restoring the farm.

  • Backing up the farm backs up the configuration and Central Administration content databases, but these cannot be restored using Microsoft SharePoint Server 2010 tools. For more information about backing up and restoring all the farm databases, see Move all databases (SharePoint Server 2010).

  • When you back up a farm that contains a Web application that is configured to use forms-based authentication, you must also use a file backup system to protect the Web.config files because the Web.config files have been updated manually to register the membership and role providers, and manual changes to the Web.config files are not backed up. Similarly, Web.config files are not restored when you restore a Web application. After recovery, you must update the Web.config files and redeploy the providers. For more information, see Plan authentication methods (SharePoint Server 2010) and Configure claims authentication (SharePoint Server 2010).

  • SharePoint Server 2010 backup backs up the Business Data Connectivity service external content type definitions but does not back up the data source itself. To protect the data, you should back up the data source when you back up the Business Data Connectivity service or the farm.

    If you restore the Business Data Connectivity service or the farm and then restore the data service to a different location, you must change the location information in the external content type definition. If you do not, the Business Data Connectivity service might not be able to locate the data source.

  • SharePoint Server 2010 backup backs up remote Binary Large Object (BLOB) stores but only if you are using the FILESTREAM remote BLOB store provider to put data in remote BLOB stores.

    If you are using another provider, you must manually back up the remote BLOB stores.

  • If you are using SQL Server with Transparent Data Encryption (TDE), and you are backing up your environment by using either SharePoint tools or SQL Server tools, the TDE encryption key in not backed up or restored. You must back up the key manually. When restoring, you must manually restore the key before restoring the data. For more information, see Understanding Transparent Data Encryption (TDE) (http://go.microsoft.com/fwlink/p/?LinkID=196394).

Task requirements when backing up a farm in SharePoint

Before you begin, you must create a folder on the local computer or the network in which to store the backups. For better performance, we recommend that you back up to the local computer and then move the backup files to a network folder. For more information about how to create a backup folder, see Prepare to back up and recover (SharePoint Server 2010).

Use Windows PowerShell to back up a farm in SharePoint

You can use Windows PowerShell to back up the farm manually or as part of a script that can be run at scheduled intervals.

To back up a farm by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell command prompt, type the following command:

    Copy Code
    Backup-SPFarm -Directory <BackupFolder> -BackupMethod {Full | Differential} [-Verbose]

    Where <BackUpFolder> is the path of a folder on the local computer or the network in which you want to store the backups.

    Note:

    If you are backing up the farm for the first time, you must use the Full option. You must perform a full backup before you can perform a differential backup.

For more information, see Backup-SPFarm.

Note:

We recommend that you use Windows PowerShell when performing command-line administrative tasks. The Stsadm command-line tool has been deprecated, but is included to support compatibility with previous product versions.

Use Central Administration to back up a farm in SharePoint

You can use Central Administration to back up the farm.

To back up a farm by using Central Administration

  1. Verify that the user account that is performing this procedure is a member of the Farm Administrators group.

  2. In Central Administration, on the Home page, in the Backup and Restore section, click Perform a backup.

  3. On the Perform a Backup — Step 1 of 2: Select Component to Back Up page, select the farm from the list of components, and then click Next.

  4. On the Start Backup — Step 2 of 2: Select Backup Options page, in the Backup Type section, select either Full or Differential.

    Note:

    If you are backing up the farm for the first time, you must use the Full option. You must perform a full backup before you can perform a differential backup.

  5. In the Back Up Only Configuration Settings section, click Back up content and configuration settings.

  6. In the Backup File Location section, type the UNC path of the backup folder, and then click Start Backup.

  7. You can view the general status of all backup jobs at the top of the Backup and Restore Status page in the Readiness section. You can view the status for the current backup job in the lower part of the page in the Backup section. The status page updates every 30 seconds automatically. You can manually update the status details by clicking Refresh. Backup and recovery are Timer service jobs. Therefore, it may take several seconds for the backup to start.

    If you receive any errors, you can review them in the Failure Message column of the Backup and Restore Job Status page. You can also find more details in the Spbackup.log file at the UNC path that you specified in step 6.

Use SQL Server tools to back up a farm in SharePoint

If you want to back up the complete farm, you must use either Windows PowerShell or Central Administration. You cannot back up the complete farm by using the SQL Server tools because you cannot use the tools to back up the farm's configuration. However, you can back up all the databases that are associated with the farm. The databases that are associated with the farm are determined by the services and features that you have installed on the farm.

To back up the databases associated with a farm by using SQL Server tools

  1. To use SQL Server tools to back up SharePoint Server 2010 databases, the account that is used to back up the databases must be a member of the SQL Server db_backupoperator fixed database role on the database server where each database is stored.

  2. Open SQL Server Management Studio and connect to the database server.

  3. In Object Explorer, expand Databases.

  4. Right-click the database that you want to back up, point to Tasks, and then click Back Up.

  5. In the Back Up Database dialog box, in the Source area, select the kind of backup that you want to perform from the Backup type list. For more information about which backup type to use, see Overview of Recovery Models (http://go.microsoft.com/fwlink/p/?LinkId=114396).

  6. In the Backup component area, click Database.

  7. Either use the default name provided or specify a name for the backup set in the Name text box.

  8. Specify the expiration date for the backup set. This date determines how long, or when, the backup set can be overwritten by any later backups that have the same name. By default, the backup set is set to never expire (0 days).

  9. In the Destination area, specify where you want to store the backup.

  10. Click OK to back up the database.

  11. Repeat steps 1-10 for each farm database.

Related content

Resource center | Business Continuity Management for SharePoint Server 2010 (http://go.microsoft.com/fwlink/p/?LinkID=199235)
IT Pro content | Restore a farm in SharePoint Server 2010 Restore a Web application in SharePoint Server 2010 Plan for backup and recovery in SharePoint Server 2010 Backup and recovery for SharePoint Server 2010
Developer content | Data Protection and Recovery (http://go.microsoft.com/fwlink/p/?LinkID=199237)

See Also

Other Resources

Resource Center: Business Continuity Management for SharePoint Server 2010


Back up a farm configuration in SharePoint Server 2010
See Also

This article describes how to back up the configuration of a server farm.

In earlier versions of Microsoft SharePoint Server, you could not back up or restore the configuration database. In Microsoft SharePoint Server 2010, you can perform the equivalent operation by backing up or restoring the configuration of the server farm.

We recommend that you regularly back up the complete farm by backing up both the configuration and content. However, you might want to perform configuration-only backups in test or development environments. Similarly, if you are using Microsoft SQL Server tools to back up the databases for the farm, you will want to back up the configuration. Regularly backing up the farm reduces the possibility of data losses that can occur from hardware failures, power outages, or other problems. It helps to ensure that all the farm data and configurations are available for recovery. For more information about what to back up, see Back up a farm configuration in SharePoint Server 2010.

The configuration backup will extract and back up the configuration settings from a SharePoint Server 2010 configuration database. You can back up configuration from any configuration database that includes the configuration database for the current farm or another farm, or a configuration database that is not associated with any farm.

For information about which tool to use for backups, see Back up a farm configuration in SharePoint Server 2010.

Procedures in this task:

  • Task requirements for backing up a farm configuration in SharePoint

  • Use Windows PowerShell to back up a farm configuration in SharePoint

Note:

You cannot use either SQL Server tools or Data Protection Manager to back up the farm configuration.

Task requirements for backing up a farm configuration in SharePoint

Before you begin, you must create a folder on the local computer or the network in which to store the backups. For better performance, we recommend that you back up to the local computer and then move the backup files to a network folder. For more information about how to create a backup folder, see Prepare to back up and recover (SharePoint Server 2010).

Important:

Backing up the farm configuration will not back up the information you have to have to restore service applications. If you want to restore a service application, you must perform a configuration and content backup of the farm. For more information about backing up service applications, see Back up a service application in SharePoint Server 2010.

Use Windows PowerShell to back up a farm configuration in SharePoint

You can use Windows PowerShell to back up the configuration from any configuration database on the current farm, on another farm, or from a configuration database that is not associated with any farm. You can back up a farm configuration manually or as part of a script that can be run at scheduled intervals.

To back up the configuration from any configuration database by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell command prompt (that is, PS C:\>), type the following command, and then press ENTER:

    Copy Code
    Backup-SPConfigurationDatabase -Directory <BackupFolder> -DatabaseServer <DatabaseServerName> -DatabaseName <DatabaseName> -DatabaseCredentials <WindowsPowerShellCredentialObject> [-Verbose]

    Where:

    • <BackupFolder> is the path to the folder with the correct backup files.

    • <DatabaseServerName> is the name of the database server for the farm that you are backing up.

    • <DatabaseName> is the name of the farm configuration database.

    • If you are not logged on with an account with db_backupoperator fixed database role on the database server where the configuration database is stored, you must specify the value for DatabaseCredentials parameter.

For more information, see Backup-SPConfigurationDatabase.

Note:

We recommend that you use Windows PowerShell when performing command-line administrative tasks. The Stsadm command-line tool has been deprecated, but is included to support compatibility with previous product versions.

Use Central Administration to back up a farm configuration in SharePoint

You can use Central Administration to back up the configuration of the farm that Central Administration is running on. To back up the configuration of a remote farm, you must use the Central Administration Web site that is running on the remote farm. You cannot use Central Administration to back up an unattached configuration database.

To back up a farm configuration by using Central Administration

  1. Verify that the user account performing this procedure is a member of the Farm Administrators group.

  2. On the Central Administration Home page, in the Backup and Restore section, click Perform a backup.

  3. On the Perform a Backup — Step 1 of 2: Select Component to Back Up page, select the farm from the list of components, and then click Next.

    Note:

    You can back up the configuration for any service or application. However, common practice is to back up configuration at the farm level.

  4. On the Start Backup — Step 2 of 2: Select Backup Options page, in the Backup Type section, select Full.

  5. In the Backup Only Configuration Settings section, select the Backup only configuration settings option.

  6. In the Backup File Location section, type the Universal Naming Convention (UNC) path of the backup folder, and then click Start Backup.

  7. You can view the general status of all backup jobs at the top of the Backup and Restore Job Status page in the Readiness section. You can view the status for the current backup job in the lower part of the page in the Backup section. The status page updates every 30 seconds automatically. You can manually refresh the status details by clicking Refresh. Backup and recovery are Timer service jobs. Therefore, it may take several seconds for the backup to start.

    If you receive any errors, you can review them in the Failure Message column of the Backup and Restore Job Status page. You can also find more details in the Spbackup.log file at the UNC path that you specified in step 5.

See Also

Concepts

Restore a farm configuration in SharePoint Server 2010


Back up a Web application in SharePoint Server 2010
See Also

This article describes how to back up a Web application. Regularly backing up a Web application reduces the possibility of data losses that might occur from hardware failures, power outages, or other problems. It is a simple process that can help to ensure that all the Web application-related data and configurations are available for recovery, if that is required. We recommend that Web application backups be created in addition to regular backups at the farm level.

This topic describes how to back up a single Web application.

In this topic:

  • Considerations when backing up a Web application in SharePoint Server

  • Task requirements for backing up a Web application in SharePoint Server

  • Use Windows PowerShell to back up a Web application in SharePoint Server

  • Use Central Administration to back up a Web application in SharePoint Server

  • Use SQL Server tools to back up a Web application in SharePoint Server

Considerations when backing up a Web application in SharePoint Server

Consider the following when you prepare to back up a Web application.

  • You can back up only one Web application at a time by using the procedures in this article. However, you can simultaneously back up all Web applications by backing up the entire farm.

  • Backing up a Web application does not affect the state of the farm. However, it does require resources and might slightly affect farm performance when the backup is running. You can avoid performance issues by backing up the Web application during hours when farm use is lowest, such as outside office hours.

  • If the Web application uses the object cache, you must manually configure two special user accounts for the Web application after you restore the Web application. For more information about the object cache and how to configure these user accounts, see Configure object cache user accounts.

  • When you back up a Web application, the Internet Information Services (IIS) settings and all content databases that are associated with the Web application are also backed up.

  • When you back up a Web application that is configured to use forms-based authentication, you must also use a file backup system to protect the Web.config files because the Web.config files have been updated manually to register the membership and role providers, and manual changes to the Web.config files are not backed up. Similarly, Web.config files are not restored when you restore a Web application. After recovery, you must update the Web.config files and redeploy the providers. For more information, see Plan authentication methods (SharePoint Server 2010) and Configure claims authentication (SharePoint Server 2010).

Task requirements for backing up a Web application in SharePoint Server

Before you begin, you must create a network folder in which to store the backups. Both the Windows SharePoint Services Timer V4 service account and the server farm user account must have Full Control permissions to this folder. For more information about how to create a backup folder, see Prepare to back up and recover (SharePoint Server 2010).

Use Windows PowerShell to back up a Web application in SharePoint Server

You can use Windows PowerShell to back up a Web application manually or as part of a script that can be run at scheduled intervals.

To back up a Web application by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin. Additionally, the user account performing this procedure must be a member of the SQL Server db_backupoperator fixed database role on the database server where each database is stored.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell command prompt, type the following command:

    Copy Code
    Backup-SPFarm -Directory <BackupFolder> -BackupMethod {Full | Differential} -Item <WebApplicationName> [-Verbose]

    Where:

    • <BackupFolder> is the path of the folder you use for storing backup files.

    • <WebApplicationName> is the name of the Web application.

      Note:

      You must use the exact name for the Web application that you are backing up withWindows PowerShell. To find the Web application name in Central Administration click Manage web applications in the Application Management section.

    Note:

    If you are backing up the Web application for the first time, you must use the Full option. You must perform a full backup before you can perform a differential backup.

For more information, see Backup-SPFarm.

Note:

We recommend that you use Windows PowerShell when performing command-line administrative tasks. The Stsadm command-line tool has been deprecated, but is included to support compatibility with previous product versions.

Use Central Administration to back up a Web application in SharePoint Server

You can use Central Administration to back up a Web application.

To back up a Web application by using Central Administration

  1. Verify that the user account that is performing this procedure is a member of the Farm Administrators group.

  2. In Central Administration, on the Home page, in the Backup and Restore section, click Perform a backup.

  3. On the Perform a Backup — Step 1 of 2: Select Component to Back Up page, select the Web application from the list of components, and then click Next.

    Note:

    The Web application might consist of several components. You must select the top-level component.

  4. On the Start Backup — Step 2 of 2: Select Backup Options page, in the Backup Type section, select either Full or Differential.

    Note:

    If you are backing up the Web application for the first time, you must use the Full option. You must perform a full backup before you can perform a differential backup.

  5. In the Back Up Only Configuration Settings section, click Back up content and configuration settings.

  6. In the Backup File Location section, type the Universal Naming Convention (UNC) path of the backup folder, and then click Start Backup.

  7. You can view the general status of all backup jobs at the top of the Backup and Restore Job Status page in the Readiness section. You can view the status for the current backup job in the lower part of the page in the Backup section. The status page updates every 30 seconds automatically. You can manually update the status details by clicking Refresh. Backup and recovery are Timer service jobs. Therefore, it may take several seconds for the backup to start.

    If you receive any errors, you can review them in the Failure Message column of the Backup and Restore Job Status page. You can also find more details in the Spbackup.log file at the UNC path that you specified in step 6.

Use SQL Server tools to back up a Web application in SharePoint Server

You cannot back up the complete Web application by using SQL Server tools. However, you can back up all the databases that are associated with the Web application. To back up the complete Web application, use either Windows PowerShell or Central Administration.

To back up a Web application by using SQL Server tools

  1. Verify that the user account that is used to back up the databases is a member of the SQL Server db_backupoperator fixed database role on the database server where each database is stored. Additionally, verify that the user account has Full Control permissions on the backup folder.

  2. Open SQL Server Management Studio and connect to the database server.

  3. In Object Explorer, expand Databases.

  4. Right-click the database that you want to back up, point to Tasks, and then click Back Up.

  5. In the Back Up Database dialog box, in the Source area, select the kind of backup that you want to perform from the Backup type list. For more information about which backup type to use, see Overview of Recovery Models (http://go.microsoft.com/fwlink/p/?LinkId=114396).

  6. In the Backup component area, click Database.

  7. Either use the default name provided or specify a name for the backup set in the Name text box.

  8. Specify the expiration date for the backup set. This date determines how long, or when, the backup set can be overwritten by any later backups that have the same name. By default, the backup set is set to never expire (0 days).

  9. In the Destination area, specify where you want to store the backup.

  10. Click OK to back up the database.

  11. Repeat steps 1-10 for each database that is associated with the Web application.

Related content

Resource center | Business Continuity Management for SharePoint Server 2010 (http://go.microsoft.com/fwlink/p/?LinkID=199235)
IT Pro content | Restore a Web application (Search Server 2010) Restore a Web application in SharePoint Server 2010 Back up a farm in SharePoint Server 2010 Plan for backup and recovery in SharePoint Server 2010 Backup and recovery for SharePoint Server 2010
Developer content | Data Protection and Recovery (http://go.microsoft.com/fwlink/p/?LinkID=199237)

See Also

Other Resources

Resource Center: Business Continuity Management for SharePoint Server 2010


Back up a service application in SharePoint Server 2010
See Also

We recommend that you regularly back up at the farm level. However, business or IT requirements might require that you back up a service application. Regularly backing up a service application reduces the possibility of data losses that might occur from hardware failures, power outages, or other problems. It is a simple process that helps to ensure that all the service application-related data and configurations are available for recovery, if that is required. You can back up one service application at a time, or you can back up all service applications at once. For information about what to back up and which tools to use, see Plan for backup and recovery in SharePoint Server 2010. For more information, see Back up a farm in SharePoint Server 2010.

Backing up a service application does not affect the state of the farm. However, it does require resources. Therefore, backing up a service application might affect farm performance while the backup is running. You can avoid performance issues by backing up the service application during hours when farm use is lowest.

Note:

SharePoint Server 2010 backup backs up remote Binary Large Object (BLOB) stores but only if you are using the FILESTREAM remote BLOB store provider to put data in remote BLOB stores.

If you are using another provider, you must manually back up the remote BLOB stores.

Procedures in this topic:

  • Use Windows PowerShell to back up a service application in SharePoint Server

  • Use Central Administration to back up a service application in SharePoint Server

Note:

You cannot use SQL Server tools or Data Protection Manager to back up a service application.

Task requirements for backing up a service application in SharePoint Server

Before you begin, you must create a folder on the local computer or the network in which to store the backups. For better performance, we recommend that you back up to the local computer and then move the backup files to a network folder. For more information about how to create a backup folder, see Prepare to back up and recover (SharePoint Server 2010).

Note:

Microsoft SharePoint Server 2010 backup backs up the Business Data Connectivity service external content type definitions but does not back up the data source itself. To protect the data, you should back up the data source when you back up the Business Data Connectivity service or the farm.

If you back up the Business Data Connectivity service or the farm and then restore the data source to a different location, you must change the location information in the external content type definition. If you do not, the Business Data Connectivity service might not be able to locate the data source.

Use Windows PowerShell to back up a service application in SharePoint Server

You can use Windows PowerShell to back up one or more service applications manually or as part of a script that can be run at scheduled intervals.

To back up a service application by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell command prompt, type the following command:

    Copy Code
    Backup-SPFarm -Directory <BackupFolder> -BackupMethod {Full | Differential} -Item <ServiceApplicationName> [-Verbose]

    Where:

    • <BackupFolder> is the path of a folder on the local computer or on the network in which you want to store the backups.

    • <ServiceApplicationName> is the name of the service application that you want to back up.

      Note:

      You must use the exact name for the service application that you are backing up with Windows PowerShell. To find the service application name in Central Administration click Manage service applications in the Application Management section.

    To back up all the service applications, at the Windows PowerShell command prompt, type the following command:

    Copy Code
    Backup-SPFarm -Directory <BackupFolder> -BackupMethod {Full | Differential} -Item "Farm\Shared Service Applications" [-Verbose]
    Note:

    If you are backing up the service application for the first time, you must use the Full option. You must perform a full backup before you can perform a differential backup.

    Some service applications always require a full backup. For these service applications, even if you select the Differential option, the system performs a full backup.

For more information, see Backup-SPFarm.

Note:

We recommend that you use Windows PowerShell when performing command-line administrative tasks. The Stsadm command-line tool has been deprecated, but is included to support compatibility with previous product versions.

Use Central Administration to back up a service application in SharePoint Server

You can use Central Administration to back up a service application.

To back up a service application by using Central Administration

  1. Verify that the user account that performs this procedure is a member of the Farm Administrators group.

  2. In Central Administration, on the Home page, in the Backup and Restore section, click Perform a backup.

  3. On the Perform a Backup — Step 1 of 2: Select Component to Back Up page, select the service application from the list of components, and then click Next. To back up all the service applications, select the Shared Service Applications node.

    Note:

    The service application might consist of several components. You must select the top-level component.

  4. On the Start Backup — Step 2 of 2: Select Backup Options page, in the Backup Type section, select either Full or Differential.

    Note:

    If you are backing up the service application for the first time, you must use the Full option. You must perform a full backup before you can perform a differential backup.

    Some service applications always require a full backup. For these service applications, the system performs a full backup even if you select the Differential option.

  5. In the Backup File Location section, in the Backup location box, type the path of the backup folder, and then click Start Backup.

  6. You can view the general status of all backup jobs at the top of the Backup and Restore Job Status page in the Readiness section. You can view the status for the current backup job in the lower part of the page in the Backup section. The status page updates every 30 seconds automatically. You can manually update the status details by clicking Refresh. Backup and recovery are Timer service jobs. Therefore, it may take several seconds for the backup to start.

    If you receive any errors, you can review them in the Failure Message column of the Backup and Restore Job Status page. You can also find more details in the Spbackup.log file at the UNC path that you specified in step 5.

See Also

Concepts

Restore a service application in SharePoint 2010 Products

Other Resources

Resource Center: Business Continuity Management for SharePoint Server 2010


Back up a User Profile Service application (SharePoint Server 2010)
See Also

Published: January 20, 2011

This article describes how to back up the User Profile Service service application in a Microsoft SharePoint Server 2010 deployment. We recommend that you regularly back up at the farm level. However, business or IT requirements might require that you back up the User Profile Service service application. Regularly backing up the User Profile Service service application reduces the possibility of data losses that might occur from hardware failures, power outages, or other problems. It is a simple process that helps to ensure that all service application-related data and configurations are available for recovery, if that is required.

For information about what to back up and which tools to use, see Plan for backup and recovery in SharePoint Server 2010. You can back up all the service applications in the farm by backing up the complete farm. For more information, see Back up a farm in SharePoint Server 2010.

Backing up the User Profile Service service application does not affect the state of the farm. However, it does require resources. Therefore, backing up the service application might affect farm performance while the backup is running. You can avoid performance issues by backing up the service application during hours when farm use is lowest.

Procedures in this topic:

  • Back up a User Profile Service service application using Windows PowerShell

  • Back up a User Profile Service service application using Central Administration

  • Back up a User Profile Service service application using SQL Server tools

Task requirements for backing up a User Profile Service service application

Before you begin, you must create a folder on the local computer or the network in which to store the backups. For better performance, we recommend that you back up to the local computer and then move the backup files to a network folder. For more information about how to create a backup folder, see Prepare to back up and recover (SharePoint Server 2010).

Back up a User Profile Service service application using Windows PowerShell

You can use Windows PowerShell to back up the User Profile Service service application manually or as part of a script that can be run at scheduled intervals.

To back up the User Profile Service service application by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell command prompt, type the following command:

    Copy Code
    Backup-SPFarm -Directory <BackupFolder> -BackupMethod Full -Item "Farm\Shared Services\Shared Services Applications\<ServiceApplicationName>" [-Verbose]

    Where:

    • <BackupFolder> is the path of a folder on the local computer or on the network in which you want to store the backups.

    • <ServiceApplicationName> is the name of the User Profile Service service application that you want to back up.

    Note:

    The User Profile Service service application always requires a full backup,

    Note:

    You must use the exact name for the service application that you are backing up with Windows PowerShell. To find the service application name in Central Administration, click Manage service applications in the Application Management section.

  6. You must also back up the service application proxy. To do this, at the Windows PowerShell command prompt, type the following command:

    Copy Code
    Backup-SPFarm -Directory <BackupFolder> -BackupMethod Full -Item "Farm\Shared Services\Shared Services Proxies\<ServiceApplicationProxyName>" [-Verbose]

    Where:

    • <BackupFolder> is the path of a folder on the local computer or on the network in which you want to store the backups.

    • <ServiceApplicationProxyName> is the name of the User Profile Service service application proxy that you want to back up.

For more information, see Backup-SPFarm.

Note:

We recommend that you use Windows PowerShell when performing command-line administrative tasks. The Stsadm command-line tool has been deprecated, but is included to support compatibility with previous product versions.

Back up a User Profile Service service application using Central Administration

You can use Central Administration to back up the User Profile Service service application.

To back up the User Profile Service service application by using Central Administration

  1. Verify that the user account that performs this procedure is a member of the Farm Administrators group.

  2. In Central Administration, on the Home page, in the Backup and Restore section, click Perform a backup.

  3. On the Perform a Backup — Step 1 of 2: Select Component to Back Up page, select the User Profile Service service application from the list of components, and then click Next.

  4. On the Start Backup — Step 2 of 2: Select Backup Options page, in the Backup Type section, select Full.

    Note:

    The User Profile Service service application always requires a full backup. You must use the Full option.

  5. In the Backup File Location section, in the Backup location box, type the path of the backup folder, and then click Start Backup.

  6. You must also back up the service application proxy. To do this, in Central Administration, on the Home page, in the Backup and Restore section, click Perform a backup.

  7. On the Perform a Backup — Step 1 of 2: Select Component to Back Up page, select the User Profile Service service application proxy from the list of components, and then click Next.

  8. On the Start Backup — Step 2 of 2: Select Backup Options page, in the Backup Type section, select Full.

  9. In the Backup File Location section, in the Backup location box, type the path of the backup folder, and then click Start Backup.

  10. You can view the general status of all backup jobs at the top of the Backup and Restore Job Status page in the Readiness section. You can view the status for the current backup job in the lower part of the page in the Backup section. The status page updates every 30 seconds automatically. You can manually update the status details by clicking Refresh. Backup and recovery are Timer service jobs. Therefore, it may take several seconds for the backup to start.

    If you receive any errors, you can review them in the Failure Message column of the Backup and Restore Job Status page. You can also find more details in the Spbackup.log file at the UNC path that you specified in step 5.

Back up a User Profile Service service application using SQL Server tools

You cannot back up the entire User Profile Service service application or service application proxy; you must use either Windows PowerShell or Central Administration. However, you can back up all the databases that are associated with the User Profile Service service application.

To back up the databases associated with the User Profile Service service application by using SQL Server tools

  1. Verify that the user account that you use to back up the SharePoint Server 2010 databases is a member of the SQL Server db_backupoperator fixed database role on the database server where each database is stored.

  2. Before you back up the User Profile Service service application databases, you must export the Microsoft Identity Integration Server Key (MIIS) encryption key. You will import this exported key before restoring the databases. By default, the key is on the server running SharePoint Server that is hosting the Microsoft Forefront Identity Manager services in the following directory: <root directory drive>\Program Files\Microsoft Office Servers\14.0\Synchronization Service\Bin. To export the key, type the following at the command prompt, and then press ENTER:

    Copy Code
    miiskmu.exe

    Use the Microsoft Identity Integration Server Key Management Utility Wizard to export the key set.

  3. Open SQL Server Management Studio and connect to the database server.

  4. In Object Explorer, expand Databases.

  5. Right-click the database that you want to back up, point to Tasks, and then click Back Up.

  6. In the Back Up Database dialog box, in the Source area, select the kind of backup that you want to perform from the Backup type list, select Full. The User Profile Service service application always requires a full backup.

  7. In the Backup component area, click Database.

  8. Either use the default name provided or specify a name for the backup set in the Name text box.

  9. Specify the expiration date for the backup set. This date determines how long, or when, the backup set can be overwritten by any later backups that have the same name. By default, the backup set is set to never expire (0 days).

  10. In the Destination area, specify where you want to store the backup.

  11. Click OK to back up the database.

  12. Repeat steps 1-10 for each farm database.

See Also

Concepts

Backup SharePoint Server 2010
User Profile service application overview (SharePoint Server 2010)
Windows PowerShell for SharePoint Server 2010 reference
Restore a service application in SharePoint 2010 Products


Back up search in SharePoint Server 2010

We recommend that you regularly back up at the farm level. However, business or IT requirements might require you to back up the Search service applications and related resources.

Regularly backing up the search system reduces the possibility of data losses that might occur from hardware failures, power outages, or other problems. It is a simple process that helps guarantee that data and configurations that compose the search system are available for recovery, if that is required.

Backing up search does not affect the state of the farm. However, it does require resources. Therefore, backing up search might affect farm performance while the backup is running. You can avoid performance issues by backing up search during hours when farm use is lowest.

Important:

Use the procedures in this article to back up the search components of Microsoft SharePoint Server 2010. If the topology includes Microsoft FAST Search Server 2010 for SharePoint, the procedures in this article also back up the Content Search Service Application (SSA) and Query SSA (including the People Search index). However, in addition to the procedures in this article, you must run a backup of the FAST Search Server 2010 for SharePoint farm. For more information, see Backup and restore (FAST Search Server 2010 for SharePoint).

In this article:

  • Use Windows PowerShell to back up search

  • Use Central Administration to back up search

  • Use SQL Server tools to back up search

Task requirements

Before you begin, you must create a local folder or a network folder in which to store the backups. For better performance, we recommend that you back up to a local folder and then move the backup files to a network folder. For more information about how to create a backup folder, see Prepare to back up and recover (SharePoint Server 2010).

The credentials for the default content access accounts and crawl rules are encrypted and cannot be decrypted automatically when restoring on a different farm. However, you can re-encrypt credentials for the default content access accounts and crawl rules before you back up the Search service application. Then you can decrypt the credentials after you restore the Search service application.

Before you back up the Search service application, at the Windows PowerShell command prompt, type the following command:

Copy Code
$ssa = Get-SpenterpriseSearchServiceApplication <SearchServiceApplicationName>
$ssa.SetCrawlAccountMasterKey <Password>

Where:

  • <SearchServiceApplicationName> is the name of the Search service application that you are backing up.

  • <Password> is a strong password that will be used to re-encrypt, and then decrypt, the credentials for the default content access accounts and crawl rules.

You must perform the previous step if you plan to restore or migrate the Search service application to another farm. Even if you are plan to restore the Search service application to the same farm, the previous step is a best practice.

Use Windows PowerShell to back up search

You can use Windows PowerShell to back up search manually or as part of a script that runs at scheduled intervals. This procedure backs up all search components, the databases, the Search service configuration, and all index files.

To back up search by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  6. At the Windows PowerShell command prompt, type the following command:

    Copy Code
    Backup-SPFarm -Directory <Backup folder> -BackupMethod {Full | Differential} -Item "Farm\Shared Services\Shared Services Applications\<SearchServiceApplicationName>" [-Verbose]
    Note:

    If you are backing up the farm for the first time, you must use the Full option. You must perform a full backup before you can perform a differential backup. To view the progress of the backup operation, use the Verbose parameter.

    Use the full path of the Search service application.

  7. You must also back up the service application proxy. To do this, at the Windows PowerShell command prompt, type the following command:

    Copy Code
    Backup-SPFarm -Directory <Backup folder> -BackupMethod {Full | Differential} -Item "Farm\Shared Services\Shared Services Proxies\<SearchServiceApplicationProxyName>" [-Verbose]

    Where:

    • <Backup folder> is the path of the backup folder.

    • <SearchServiceApplicationProxyName> is the name of the Search service application proxy.

    Note:

    If you are backing up the farm for the first time, you must use the Full option. You must perform a full backup before you can perform a differential backup. To display the progress of the backup operation, use the Verbose parameter.

    Use the full path of the Search service application proxy.

For more information, see Backup-SPFarm.

Note:

We recommend that you use Windows PowerShell when performing command-line administrative tasks. The Stsadm command-line tool has been deprecated, but is included to support compatibility with previous product versions.

Use Central Administration to back up search

You can use Central Administration to back up search. This procedure backs up all search components, the databases, the Search service configuration, and all index files.

To back up search by using Central Administration

  1. Verify that the user account that performs this procedure is a member of the Farm Administrators group.

  2. In Central Administration, on the home page, in the Backup and Restore section, click Perform a backup.

  3. On the Perform a Backup — Step 1 of 2: Select Component to Back Up page, in the list of components, expand Shared Services and then expand Shared Services Applications to view the list of service applications in the farm. Select the check box for the Search service application from the list of components, and then click Next.

    Note:

    The Search service application might consist of several components. You must select the check box for the top-level component. By default, the service application is named "Search Service Application".

  4. On the Perform a Backup — Step 2 of 2: Select Backup Options page, in the Backup Type section, select either Full or Differential.

    Note:

    If you are backing up search for the first time, you must use the Full option. You must perform a full backup before you can perform a differential backup.

  5. In the Backup File Location section, in the Backup location box, type the path of the backup folder, and then click Start Backup.

    You can view the general status of all backup jobs at the top of the Backup and Restore Job Status page in the Readiness section. You can view the status for the current backup job in the lower part of the page in the Backup section. The status page updates every 30 seconds automatically. You can manually update the status details by clicking Refresh. Backup and recovery are timer service jobs. Therefore, it might take several seconds for the backup to start.

    If you receive any errors, you can review them in the Failure Message column of the Backup and Restore Job Status page. You can also find more details in the Spbackup.log file at the UNC path that you specified in step 5.

  6. After the Service application backup has finished, you must also back up the service application proxy. To do this, in Central Administration, on the home page, in the Backup and Restore section, click Perform a backup.

  7. On the Perform a Backup — Step 1 of 2: Select Component to Back Up page, in the list of components, expand Shared Services and then expand Shared Services Proxies to view the list of service application proxies in the farm. Select the check box for the Search Service Application proxy from the list of components, and then click Next.

  8. On the Perform a Backup — Step 2 of 2: Select Backup Options page, in the Backup Type section, select either Full or Differential.

    Note:

    If you are backing up search for the first time, you must use the Full option. You must perform a full backup before you can perform a differential backup.

  9. In the Backup File Location section, in the Backup location box, type the path of the backup folder, and then click Start Backup.

    You can view the general status of all backup jobs at the top of the Backup and Restore Job Status page in the Readiness section. You can view the status for the current backup job in the lower part of the page in the Backup section. The status page updates every 30 seconds automatically. You can manually update the status details by clicking Refresh. Backup and recovery are timer service jobs. Therefore, it might take several seconds for the backup to start.

    If you receive any errors, you can review them in the Failure Message column of the Backup and Restore Job Status page. You can also find more details in the Spbackup.log file at the UNC path that you specified in step 9.

Use SQL Server tools to back up search

If you cannot use either the Windows PowerShell or Central Administration to back up the Search service application and associated data, you can manually back them up by using SQL Server tools. You must follow these steps:

  1. Pause the Search service application.

  2. Export the search topology XML file to another location, such as the backup location.

  3. Use SQL Server tools to back up all the databases associated with the Search service application.

  4. Copy all of the index files for all query components to the backup location.

  5. Resume the Search service application.

To pause the Search service application by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell command prompt, type the following command:

    Copy Code
    $ssa = Get-SPEnterpriseSearchServiceApplication <SearchServiceApplicationName>
$ssa.Pause()

    Where:

    • <SearchServiceApplicationName> is name of the Search service application.

To export the search topology XML file by using Windows PowerShell

  1. At the Windows PowerShell command prompt, type the following command:

    Copy Code
    Export-SPEnterpriseSearchTopology -Filename <Path> -SearchApplication <GUID>

    Where:

    • <Path> is the full path of the location to which you are exporting the topology file. For example, E:\Backups\Search\SearchTopology.xml.

    • <GUID> is the identity of the Search service application.

To back up all the databases associated with Search service application by using SQL Server tools

  1. Verify that the user account that is performing this procedure is a member of the SQL Serverdb_backupoperator fixed database role on the database server where each database is stored.

  2. Start SQL Server Management Studio and connect to the database server.

  3. In Object Explorer, expand Databases.

  4. Right-click the database that you want to back up, point to Tasks, and then click Back Up.

  5. In the Back Up Database dialog box, in the Source area, select the kind of backup that you want to perform from the Backup type list. For more information about which backup type to use, see Overview of Recovery Models (http://go.microsoft.com/fwlink/p/?LinkId=114396) in SQL Server Books Online.

  6. In the Backup component area, click Database.

  7. Either use the default name or specify a name for the backup set in the Name text box.

  8. Specify the expiration date for the backup set. This date determines how long, or when, the backup set can be overwritten by any later backups that have the same name. By default, the backup set is set to never expire (0 days).

  9. In the Destination area, specify where you want to store the backup.

  10. Click OK to back up the database.

  11. Repeat steps 1-10 for the following databases:

    • Search service application Administration database

    • Crawl database

    • Property database

To copy all index files for all query components

  1. Verify that the user account that performs this procedure is a member of the Search Service Application Administrators group.

  2. In Central Administration, on the home page, in the Application Management section, click Manage service applications.

  3. On the Service Applications page, click the Search service application for which you want to view the location of the index files.

  4. On the Search Administration page, in the Search Application Topology section, click Modify.

  5. On the Manage Search Topology page, under Index Partition, point to the query component, click the arrow that appears, and then click Edit Properties.

  6. In the Edit Query Component dialog box, locate the path of the index, and then record it so that you can use it later to navigate to the index files.

  7. Click Cancel to exit the Edit Query Component dialog box.

  8. Repeat steps 4-7 for each query component.

  9. On the Manage Search Topology page, under Crawl, point to the crawl component that is associated with the query component, click the arrow that appears, and then click Edit Properties. Record the location of the crawl component.

  10. Click Cancel to exit the Edit Crawl Component dialog box.

  11. If you have more than one query component, perform the previous steps for each.

  12. Navigate to the index folder and copy the whole folder to your backup share.

  13. If you have more than one query component and / or index partition, follow these steps for each.

To resume the Search service application by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell command prompt, type the following command:

    Copy Code
    $ssa = Get-SPEnterpriseSearchServiceApplication <SearchServiceApplicationName>
$ssa.Resume()

    Where:

    • <SearchServiceApplicationName> is name of the Search service application.


Back up the Secure Store service in SharePoint Server 2010
See Also

In Microsoft SharePoint Server 2010, the Secure Store Service replaces Microsoft Office SharePoint Server 2007 Single Sign-on (SSO). The Secure Store Service provides the capability of securely storing credential sets and associating credentials to specific identities or a group of identities.

Every time you enter a new passphrase, SharePoint Server 2010 creates a new Master Key and re-encrypts the credentials sets with that key. The passphrase gives you access to the Master Key created by SharePoint Server 2010 that is used to encrypt the credential sets.

You should back up the Secure Store Service and record the passphrase after the Secure Store Service is initially configured and again every time that you make configuration changes to the Secure Store Service or re-encrypt the credential information.

Important:

Before backing up the Secure Store Service, do the following:

  • Record the passphrase. You will need the passphrase when you access the restored Secure Store Service.

  • Ensure that you back up the Secure Store Service every time you change or refresh the Master Key. When you change or refresh the Master key, the database is automatically re-encrypted with the new key. Backing up the Secure Store Service ensures that the database and the Master key are in synchronization.

  • Keep the passphrase in a secure location.

Procedures in this task:

  • Use Windows PowerShell to back up the Secure Store Service in SharePoint Server

  • Use Central Administration to back up the Secure Store Service in SharePoint Server

Task requirements for backing up the Secure Store Service in SharePoint Server

Before you begin, you must create a folder on the local computer or the network in which to store the backups. For better performance, we recommend that you back up to the local computer and then move the backup files to a network folder.

Use Windows PowerShell to back up the Secure Store Service in SharePoint Server

You can use Windows PowerShell to back up the Secure Store Service manually or as part of a script that can be run at scheduled intervals.

To back up the Secure Store Service by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell command prompt, type the following command:

    Copy Code
    Backup-SPFarm -Directory <Backup folder> -BackupMethod Full -Item <Secure Store Service> [-Verbose]
    Note:

    You must use the Full option to back up the Secure Store Service.

    Note:

    You must use the exact name for the service application that you are backing up with Windows PowerShell. To find the service application name in Central Administration click Manage service applications in the Application Management section.

For more information, see Backup-SPFarm.

Note:

We recommend that you use Windows PowerShell when performing command-line administrative tasks. The Stsadm command-line tool has been deprecated, but is included to support compatibility with previous product versions.

Use Central Administration to back up the Secure Store Service in SharePoint Server

You can use Central Administration to back up the Secure Store Service.

To back up the Secure Store Service by using Central Administration

  1. Verify that the user account that performs this procedure is a member of the Farm Administrators group.

  2. In Central Administration, on the Home page, in the Backup and Restore section, click Perform a backup.

  3. On the Perform a Backup — Step 1 of 2: Select Component to Back Up page, expand the Shared Services Applications node, select the Secure Store Service application from the list of components, and then click Next.

    Note:

    The Secure Store Service application might consist of several components. You must select the top-level component.

  4. On the Start Backup — Step 2 of 2: Select Backup Options page, in the Backup Type section, select Full.

  5. In the Backup File Location section, in the Backup location box, type the path of the backup folder, and then click Start Backup.

  6. You can view the general status of all backup jobs at the top of the Backup and Restore Job Status page in the Readiness section. You can view the status for the current backup job in the lower part of the page in the Backup section. The status page updates every 30 seconds automatically. You can manually update the status details by clicking Refresh. Backup and recovery are Timer service jobs. Therefore, it may take several seconds for the backup to start.

    If you receive any errors, you can review them in the Failure Message column of the Backup and Restore Job Status page. You can also find more details in the Spbackup.log file at the UNC path that you specified in step 5.

See Also

Concepts

Restore secure store services in SharePoint Server 2010


Back up a content database in SharePoint Server 2010
See Also

Microsoft SharePoint Server 2010 content databases can grow to be very large. Therefore, you might want to back them up separately from farm backups. Regularly backing up content databases reduces data losses that might occur from hardware failures, power outages, or other problems. It is a simple process and helps to ensure that all the data is available for recovery, if that is required. You can only back up one content database at a time.

This topic describes how to back up a single content database.

Procedures in this task:

  • Use Windows PowerShell to back up a content database in SharePoint Server

  • Use Central Administration to back up a content database in SharePoint Server

  • Use SQL Server tools to back up a content database in SharePoint Server

Task requirements for backing up a content database

Before you begin, you must create a folder on the local computer or the network in which to store the backups. For better performance, we recommend that you back up to the local computer and then move the backup files to a network folder.

Note:

SharePoint Server 2010 backup backs up remote Binary Large Objects (BLOB) stores but only if you are using the SQL Filestream remote BLOB store provider to place data in remote BLOB stores.

If you are using another provider you must manually back up these remote BLOB stores.

Important:

If you are using SQL Server with Transparent Data Encryption (TDE), and you are backing up your environment by using either SharePoint tools or SQL Server tools, the TDE encryption key in not backed up or restored. You must backup the key manually. When restoring, you must manually restore the key before restoring the data. For more information, see Understanding Transparent Data Encryption (TDE).

Use Windows PowerShell to back up a content database in SharePoint Server

You can use Windows PowerShell to back up a content database manually or as part of a script that can be run at scheduled intervals.

To back up a content database by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell command prompt, type the following command:

    Copy Code
    Backup-SPFarm -Directory   <Backup folder>  -BackupMethod {Full | Differential} -Item <Content database name> [-Verbose]
    Note:

    If you are backing up the content database for the first time, you must use the Full option. You must perform a full backup before you can perform a differential backup.

    Note:

    You must use the exact name for the content database that you are backing up with Windows PowerShell. To find the content database name in Central Administration click Manage content databases in the Application Management section.

For more information, see Backup-SPFarm.

Note:

We recommend that you use Windows PowerShell when performing command-line administrative tasks. The Stsadm command-line tool has been deprecated, but is included to support compatibility with previous product versions.

Use Central Administration to back up a content database in SharePoint Server

You can use Central Administration to back up a content database.

To back up a content database by using Central Administration

  1. Verify that the user account that is performing this procedure is a member of the Farm Administrators group.

  2. In Central Administration, on the Home page, in the Backup and Restore section, click Perform a backup.

  3. On the Perform a Backup — Step 1 of 2: Select Component to Back Up page, select the content database that you want to back up from the list of components, and then click Next.

    Note:

    Not all content databases can be selected in the list. If a database is not selectable, you must use Windows PowerShell to back up the content database.

  4. On the Start Backup — Step 2 of 2: Select Backup Options page, in the Backup Type section, select either Full or Differential.

    Note:

    If you are backing up the content database for the first time, you must use the Full option. You must perform a full backup before you can perform a differential backup.

  5. In the Backup File Location section, type the Universal Naming Convention (UNC) path of the backup folder, and then click Start Backup.

  6. You can view the general status of all backup jobs at the top of the Backup and Restore Job Status page in the Readiness section. You can view the status of the current backup job in the lower part of the page in the Backup section. The status page updates every 30 seconds automatically. You can manually update the status details by clicking Refresh. Backup and recovery are Timer service jobs. Therefore, it may take several seconds for the backup to start.

    If you receive any errors, review the Failure Message column of the Backup and Restore Job Status page. You can also find more details in the Spbackup.log file at the UNC path that you specified in step 4.

Use SQL Server tools to back up a content database in SharePoint Server

You can use SQL Server tools to back up a content database.

To back up a content database by using SQL Server tools

  1. Verify that the user account that is performing this procedure is a member of the SQL Server db_backupoperator fixed database role on the database server where each database is stored.

  2. Open SQL Server Management Studio and connect to the database server.

  3. In Object Explorer, expand Databases.

  4. Right-click the database that you want to back up, point to Tasks, and then click Back Up.

  5. In the Back Up Database dialog box, in the Source area, select the kind of backup that you want to perform from the Backup type list. For more information about which backup type to use, see Overview of Recovery Models (http://go.microsoft.com/fwlink/p/?LinkId=114396) in SQL Server Books Online.

  6. In the Backup component area, click Database.

  7. Either use the default name provided or specify a name for the backup set in the Name text box.

  8. Specify the expiration date for the backup set. This date determines how long, or when, the backup set can be overwritten by any later backups that have the same name. By default, the backup set is set to never expire (0 days).

  9. In the Destination area, specify where you want to store the backup.

  10. Click OK to back up the database.

  11. Repeat steps 1-9 for each content database that you want to back up.

See Also

Concepts

Restore a content database in SharePoint Server 2010

Other Resources

Resource Center: Business Continuity Management for SharePoint Server 2010


Back up databases to snapshots in SharePoint Server 2010
See Also

This topic describes how to back up a farm database to a snapshot.

You can only use SQL Server tools to back up a farm database to a snapshot.

Important:

You must be running Microsoft SQL Server 2008 with Service Pack 1 (SP1) and Cumulative Update 2 Enterprise Edition to take database snapshots.

We recommend that you regularly back up the complete farm. Regularly backing up the farm reduces data losses that might occur from hardware failures, power outages, or other problems. It is a simple process and helps to ensure that that all the farm data and configurations are available for recovery, if that is required. For more information, see Back up a farm in SharePoint Server 2010. However, IT requirements might require that you backup databases to snapshots. Although you can back up any farm database to a snapshot, you typically back up content databases.

A database snapshot provides a read-only, static view of a source database as it existed at snapshot creation, minus any uncommitted transactions. Uncommitted transactions are rolled back in a newly created database snapshot because the Database Engine runs recovery after the snapshot has been created (transactions in the database are not affected). For more information about database snapshots, see Database Snapshots (http://go.microsoft.com/fwlink/p/?LinkId=163950).

Task requirements for backing up databases to snapshots in SharePoint

Before you begin, you must create a folder on the database server. If you want to store the snapshots at another location, you can move the backup files to a backup folder on the network after the operation is finished.

Use SQL Server tools to back up a database to a snapshot in SharePoint

If you want to back up databases to snapshots, you must use SQL Server tools. The databases that are associated with the farm are determined by the service applications and features that you have installed on the farm.

To back up a database to a snapshot by using SQL Server tools

  1. Verify that the account that is used to back up the databases is a member of the SQL Server db_owner fixed database role.

  2. Open SQL Server Management Studio and connect to the database server.

  3. In Object Explorer, expand Databases.

  4. Select the database that you want to back up, and then click New Query.

  5. Copy the following text, and then paste it to the query pane.

    Copy Code
    CREATE DATABASE <snapshot name>
ON
(
NAME=<logical name of the database file>,
FILENAME = 'c:\WSS_Backup1.ss')
AS SNAPSHOT OF <database name>;

See Also

Other Resources

Database Snapshots


Back up customizations in SharePoint Server 2010
See Also

This article describes how to back up customizations that have been made to Microsoft SharePoint Server 2010 sites.

The following kinds of customizations can be made to sites:

  • Customizations packaged as solutions (.wsp files). Solutions contain developed site elements, and are typically created by developers. Developed site elements include the following:

    • Web Parts

    • Workflows

    • Site and list definitions

    • Document converters

    • Event receivers

    • Timer jobs

    • Assemblies

  • Authored site elements, which are typically created by Web designers, are not explicitly compiled and reside in a content database. Authored site elements include the following:

    • Master pages

    • Cascading style sheets

    • Forms

    • Layout pages

  • Changes to the Web.config file

  • Third-party solutions and their associated binary files and registry keys, such as IFilters

  • Changes to sites created by direct editing through the browser

  • Developed customizations that are not packaged as solutions

Each of these kinds of customizations requires a different type of backup.

In this article:

  • Backing up solution packages in SharePoint

  • Backing up authored site elements in SharePoint

  • Backing up workflows in SharePoint

  • Backing up changes to the Web.config file in SharePoint

  • Backing up third-party products in SharePoint

  • Backing up changes made by direct editing in SharePoint

  • Backing up developed customizations that are not packaged as solutions in SharePoint

Backing up solution packages in SharePoint

Solution packages can be created by using Microsoft SharePoint Designer 2010 or Microsoft Visual Studio 2010. We strongly recommend that all customizations be deployed as solution packages.

A solution package is a deployable, reusable file that can contain a set of Features, site definitions, and assemblies that apply to sites, and that you can enable or disable individually. Solution packages can include Web Parts, site or list definitions, custom columns, new content types, custom fields, custom actions, coded workflows, or workflow activities and conditions.

The method that you use to back up solution packages is determined by whether the customizations are deployed as trusted solutions or sandboxed solutions.

Trusted solutions are solution packages that farm administrators deploy. Trusted solutions are deployed to the entire farm and can be used on any site within the farm. Trusted solutions are stored in the configuration database. Trusted solutions are backed up when a farm is backed up by using SharePoint Server 2010 backup, and are included in configuration-only backups. You can also back up trusted solutions as a group or individually. Trusted solutions are visible in the backup hierarchy.

Sandboxed solutions are solution packages that site collection administrators can deploy to a single site collection. Sandboxed solutions are stored in the content database that is associated with the site collection to which the solution packages are deployed. They are included in SharePoint Server 2010 farm, Web application, content database, and site collection backups, but are not visible in the backup hierarchy and cannot be selected or backed up individually.

We recommend that you keep a backup of the original .wsp file as well as the source code used to build the .wsp file for both trusted solutions and sandboxed solutions.

To back up trusted solutions by using Central Administration

  1. Verify that the user account that is performing this procedure is a member of the Farm Administrators group.

  2. In Central Administration, on the Home page, in the Backup and Restore section, click Perform a backup.

  3. On the Perform a Backup — Step 1 of 2: Select Component to Back Up page, select Solutions, and then click Next.

    You can also select an individual solution, if you only want to back up a single solution.

  4. On the Start Backup — Step 2 of 2: Select Backup Options page, in the Backup Type section, select either Full or Differential.

    Note:

    If you are backing up the solution for the first time, you must use the Full option. You must perform a full backup before you can perform a differential backup.

  5. In the Backup File Location section, type the Universal Naming Convention (UNC) path of the backup folder, and then click Start Backup.

  6. You can view the general status of all backup jobs at the top of the Backup and Restore Job Status page in the Readiness section. You can view the status of the current backup job in the lower part of the page in the Backup section. The status page updates every 30 seconds automatically. You can manually update the status details by clicking Refresh. Backup and recovery are Timer service jobs. Therefore, it may take several seconds for the backup to start.

    If you receive any errors, review the Failure Message column of the Backup and Restore Job Status page. You can also find more details in the Spbackup.log file at the UNC path that you specified in step 4.

To back up trusted solutions by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell command prompt, type the following command to back up all of the solutions in the farm. To back up a single solution, add the name of the solution to the item path "farm\solutions".

    Copy Code
    Backup-SPFarm -backupmethod full -directory <UNC location> -item "farm\solutions"

    Where:

    • <UNC location> is UNC location of the directory that you want to back up to.

For more information, see Backup-SPFarm.

Note:

We recommend that you use Windows PowerShell when performing command-line administrative tasks. The Stsadm command-line tool has been deprecated, but is included to support compatibility with previous product versions.

Backing up sandboxed solutions in SharePOint

You cannot back up only sandboxed solutions. Instead, you must back up the farm, Web application, or content database with which the sandboxed solution is associated. For more information about these methods of backing up, see Related content.

Backing up authored site elements in SharePoint

You cannot back up only authored site elements. Instead, you must back up the farm, Web application, or content database with which the authored site element is associated. For more information about these methods of backing up, see Related content.

Backing up workflows in SharePoint

Workflows are a special case of customizations that you can back up. Make sure that your backup and recovery plan addresses any of the following scenarios that apply to your environment:

  • Declarative workflows, such as those created in Microsoft SharePoint Designer 2010, are stored in the content database for the site collection to which they are deployed. Backing up the content database protects these workflows.

  • Custom declarative workflow actions have components in the following three locations:

    1. The Visual Studio 2010 assemblies for the actions are stored in the global assembly cache (GAC).

    2. The XML definition files (.ACTIONS files) are stored in the 14\TEMPLATE\<LCID>\Workflow directory.

    3. An XML entry to mark the action as an authorized type is stored in the Web.config file for the Web applications in which it is used.

    If the farm workflows use custom actions, you should use a file backup system to protect these files and XML entries. Similar to SharePoint Server features such as Web Parts and event receivers, these files should be reapplied to the farm as needed after recovery.

  • Workflows that depend on custom code, such as those that are created by using Visual Studio 2010, are stored in two locations. The Visual Studio 2010 assemblies for the workflow are stored in the GAC, and the XML definition files are stored in the Features directory. This is the same as other types of SharePoint Server features such as Web Parts and event receivers. If the workflow was installed as part of a solution package, backing up the farm, Web application, content database, or site collection protects these workflows.

  • If you create a custom workflow that interacts with a site collection other than the one where the workflow is deployed, you must back up both site collections to protect the workflow. This includes workflows that write to a history list or other custom list in another site collection. Performing a farm backup is sufficient to back up all site collections in the farm and all workflows that are associated with them.

  • Workflows that are not yet deployed must be backed up and restored separately. When you are developing a new workflow but have not yet deployed it to the SharePoint Server farm, make sure that you back up the folder where you store the workflow project files by a file system backup application.

Backing up changes to the Web.config file in SharePoint

A common customization to SharePoint Server 2010 is to change the Web.config file. We strongly recommend that you make changes to the Web.config file by using Central Administration or the SharePoint Server 2010 APIs and object model. Because these changes are stored in the configuration database, they can be recovered from a farm or configuration-only backup.

Changes to the Web.config file that are not made by using Central Administration or the SharePoint Server 2010 APIs and object model should be protected by using a file system backup.

Note:

If you are using forms-based authentication, provider registration in the Web.config file is manual, and is not protected by SharePoint Server 2010 backup. In this case, be sure to back up the Web.config file by using a file system backup.

Backing up third-party products in SharePoint

If third-party products are deployed as solution packages, they are protected by SharePoint Server 2010 backup. We recommend that you keep all the original files, distribution media, documentation, and the license and product keys that are required for installation.

Backing up changes made by direct editing in SharePoint

Changes made directly to a site by directly editing through the browser can be difficult to back up. The following table describes backup strategies for specific objects.

Edited object | Backup strategy
List | Use SharePoint Designer 2010 and save as a template. For more information, see Save a SharePoint site as a template (http://go.microsoft.com/fwlink/p/?LinkId=199515).
Site | Use SharePoint Designer 2010 and save as a template. For more information, see Save a SharePoint site as a template (http://go.microsoft.com/fwlink/p/?LinkId=199515).
Site collection | Use site collection backup. For more information, see Back up a site collection in SharePoint Server 2010.

Backing up developed customizations that are not packaged as solutions in SharePoint

Backing up developed customizations that are not deployed as solution packages can be a complex process because the customization file locations might not be stored in standardized places and SharePoint Server 2010 does not automatically back them up.

Consult with the development team or customization vendor to determine whether the customizations involve additional add-in software or files in other locations. We recommend that you back up these directories with a file system backup solution. The following table lists locations where developed customizations are typically stored on Web servers.

Location | Description
%COMMONPROGRAMFILES%\Microsoft Shared\Web Server Extensions\14 | Commonly updated files, custom assemblies, custom templates, custom site definitions
Inetpub | Location of IIS virtual directories
%WINDIR%\Assembly | Global assembly cache (GAC): a protected operating system location where the Microsoft .NET Framework code assemblies are installed to provide full system access

Related content

Resource Center | Business Continuity Management for SharePoint Server 2010: Backup, Recovery, Availability, and Disaster Recovery (http://go.microsoft.com/fwlink/p/?LinkID=199235)
IT Pro content | Deploy customizations - overview (SharePoint Server 2010) Restore customizations in SharePoint Server 2010 Back up a farm in SharePoint Server 2010 Back up a farm configuration in SharePoint Server 2010 Back up a Web application in SharePoint Server 2010 Back up a content database in SharePoint Server 2010 Back up a site collection in SharePoint Server 2010
Developer content | Using solutions (MSDN) (http://go.microsoft.com/fwlink/p/?LinkID=156638) Sandboxed solutions (MSDN) (http://go.microsoft.com/fwlink/p/?LinkId=199517)

See Also

Other Resources

Resource Center: Business Continuity Management for SharePoint Server 2010


Back up a site collection in SharePoint Server 2010
See Also

This article describes how to back up an individual site collection. We recommend that you regularly back up the complete farm. However, IT practices might require that you also back up a site collection. For more information about what to back up, see Plan for backup and recovery in SharePoint Server 2010.

Note:

If the site collection's Lock status is set to Not locked or Adding content prevented, Microsoft SharePoint Server 2010 temporarily sets the site to Read-Only while the backup operation is occurring. SharePoint Server 2010 does this to reduce the possibilities of users changing the site collection while it is being backed up. After the backup is finished, the setting is changed back to its normal status.

Performing a site collection backup might require resources and might slightly affect farm performance when the backup is running. You can help avoid performance issues by backing up the farm during hours when farm use is lowest, such as outside office hours.

Procedures in this task:

  • Use Windows PowerShell to back up a site collection in SharePoint Server

  • Use Central Administration to back up a site collection in SharePoint Server

Task requirements for backing up a site collection in SharePoint Server

Before you begin, you must create a folder on the local computer or the network in which to store the backups. For better performance, we recommend that you back up to the local computer and then move the backup files to a network folder. For more information about how to create a backup folder, see Prepare to back up and recover (SharePoint Server 2010).

Use Windows PowerShell to back up a site collection in SharePoint Server

You can use Windows PowerShell to back up a site collection manually or as part of a script that can be run at scheduled intervals.

To back up a site collection by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell command prompt type the following command:

    Copy Code
    Backup-SPSite -Identity <Site collection name> -Path <backup file> [-Force] [-NoSiteLock] [-UseSqlSnapshot] [-Verbose]
    Note:

    You must use the exact name for the site collection that you are backing up with Windows PowerShell. To find the site collection name in Central Administration click Application Management and in the Site Collections section, click View all site collections.

    If you want to overwrite a previously used backup file, use the Force parameter. You can use the NoSiteLock parameter to keep the read-only lock from being set on the site collection while it is being backed up. However, using this parameter can allow users to change the site collection while it is being backed up and might lead to possible data corruption during backup.

    If the database server is running an Enterprise Edition of Microsoft SQL Server, we recommend that you also use the UseSqlSnapshot parameter for more consistent backups. You can also export sites or lists from these snapshots.

    Important:

    Applies to environments that have not been updated to Service Pack 1 - When you perform a backup that uses the UseSqlSnapshot parameter, a backup will be completed successfully. However, you will see an error similar to the following:

    Backup-SPSite : Operation is not valid due to the current state of the object.

    At line:1 char:14+ Backup-SPSite <<<< http://site -Path + CategoryInfo : NotSpecified: (:) [Backup-SPSite], InvalidOperationException + FullyQualifiedErrorId : System.InvalidOperationException,Microsoft.SharePoint.PowerShell.SPCmdletBackupSite\\yourpath

    Note:

    If the RBS provider that you are using does not support snapshots, you cannot use snapshots for content deployment or backup. For example, the SQL FILESTREAM provider does not support snapshots.

    For more information about using SQL snap-shots, see Back up databases to snapshots in SharePoint Server 2010 and Content deployment overview (SharePoint Server 2010).

For more information, see Backup-SPSite.

Note:

We recommend that you use Windows PowerShell when performing command-line administrative tasks. The Stsadm command-line tool has been deprecated, but is included to support compatibility with previous product versions.

Use Central Administration to back up a site collection in SharePoint Server

You can use Central Administration to back up a site collection.

To back up a site collection by using Central Administration

  1. Verify that the user account performing this procedure is a member of the Farm Administrators group. Additionally, verify that the Windows SharePoint Services Timer V4 service has Full Control permissions on the backup folder.

  2. In Central Administration, on the Home page, in the Backup and Restore section, click Perform a site collection backup.

  3. On the Site collection backup page, select the site collection from the Site Collection list.

  4. Type the local path of the backup file in the Filename box.

    Note:

    If you want to reuse a file, select the Overwrite existing file check box.

  5. Click Start Backup.

  6. You can view the general status of all backup jobs at the top of the Granular Backup Job Status page in the Readiness section. You can view the status for the current backup job in the lower part of the page in the Site Collection Backup section. The status page updates every 30 seconds automatically. You can manually update the status details by clicking Refresh. Backup and recovery are Timer service jobs. Therefore, it may take several seconds for the backup to start.

    If you receive any errors, you can review them in the Failure Message column of the Granular Backup Job Status page.

See Also

Concepts

Restore a site collection in SharePoint Server 2010


Export a site, list, or document library in SharePoint Server 2010
See Also

We recommend that you regularly back up the complete farm. However, business or IT requirements might require that you export a site, list, or document library. Regularly exporting sites, lists, and document libraries reduces data losses that might occur from hardware failures, power outages, or other problems. It is a simple process and helps to ensure that data is available for recovery, if that is required. You can only export one site, list, or document library at a time.

For information about what to back up and which tools to use, see Plan for backup and recovery in SharePoint Server 2010.

Procedures in this task:

  • Use Windows PowerShell to export a site, list, or document library in SharePoint Server

  • Use Central Administration to export a site, list, or document library in SharePoint Server

Note:

You cannot use SQL Server tools or Data Protection Manager to export a site, list or document library.

Task requirements for exporting a site, list, or document library in SharePoint Server

Before you begin, you must create a folder on the local computer or the network in which to store the export file. For better performance, we recommend that you export to the local computer and then move the export file to a network folder.

Use Windows PowerShell to export a site, list, or document library in SharePoint Server

You can use Windows PowerShell to export a site, list, or document library manually or as part of a script that can be run at scheduled intervals.

To export a site, list or document library by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell command prompt, type the following command:

    Copy Code
    Export-SPWeb -Identity <Site URL> -Path <Path and file name> [-ItemUrl <URL of site, list, or library>] [-IncludeUserSecurity] [-IncludeVersions] [-NoFileCompression] [-GradualDelete] [-Verbose]
    Note:

    If the <Site URL>, <Path and file name>, or <URL of site, list, or library> contain any spaces, you must surround these in double quotes (" ") or the Windows PowerShellcommand will return errors.

    If you are exporting a large site, list, or document library, you can use the GradualDelete parameter. When this parameter is used, the site collection is marked as deleted, which immediately prevents any further access to its content. The data in the deleted site collection is then deleted gradually over time by a timer job instead of all at once, which reduces its impact on the performance of farm servers and SQL Server.

    To specify which version of the site, list, or document library to include, use the IncludeVersions parameter and specify "LastMajor" (default), "CurrentVersion", "LastMajorandMinor", or "All". To include the user security settings with the list or document library, use the IncludeUserSecurity parameter. If you want to overwrite the file that you specified, use the Force parameter. To view the progress of the backup operation, use the Verbose parameter.

    The NoFileCompression parameter lets you specify that no file compression is performed during the export process. Using this parameter can lower resource usage up to 30% during the export process. Using this parameter will result in a backup folder being created instead of a compressed file. If you use the NoFileCompression parameter in the Export-SPWeb command, you must also use it when you import the content by using the Import-SPWeb command.

For more information, see Export-SPWeb.

Note:

We recommend that you use Windows PowerShell when performing command-line administrative tasks. The Stsadm command-line tool has been deprecated, but is included to support compatibility with previous product versions.

Use Central Administration to export a site, list, or document library in SharePoint Server

You can use Central Administration to export a site, list, or document library. You can only export one site, list, or document library at a time.

To export a site, list, or document library by using Central Administration

  1. Verify that the user account that is performing this procedure is a member of the Farm Administrators group.

  2. In Central Administration, on the Home page, click Backup and Restore.

  3. On the Backup and Restore page, in the Granular Backup section, click Export a site or list.

  4. On the Site or List Export page, in the Site Collection section, select the site collection from the Site Collection list, and then select the site from the Site list.

  5. If you are exporting a site, skip this step, Select the list or document library from the List list.

  6. In the File Location section, in the Filename box, type the UNC path of the shared folder and the file to which you want to export the list or document library. The file name must use the .cmp extension.

  7. If the file already exists and you want to use this file, select the Overwrite existing files check box. Otherwise, specify a different file name.

  8. If you want to export all the security and permissions settings with the list or library, in the Export Full Security section, select the Export full security check box.

  9. If you want to specify which version of the list or library to export, select one of the following versions from the Export versions list:

    • All Versions

    • Last Major

    • Current Version

    • Last Major and Last Minor

  10. When you have specified the settings that you want, click Start Export.

  11. You can view the status of all backup jobs at the top of the Granular Backup Job Status page. You can view the status of the current backup job in the Content Export section of the page. The status page updates every 30 seconds automatically. You can manually update the status details by clicking Refresh. Backup and recovery are Timer service jobs. Therefore, it may take several seconds for the backup to start.

    If you receive any errors, you can review them in the Failure Message column of the Backup and Restore Job Status page. You can also find more details in the <file name>.export.log file at the UNC path that you specified in step 6.

See Also

Concepts

Plan for backup and recovery in SharePoint Server 2010


Back up or archive logs in SharePoint Server 2010

A system-wide strategy for data protection should include backing up or archiving the logs in which data related to Microsoft SharePoint Server 2010 is recorded. This data can be useful for performance analysis, troubleshooting, monitoring compliance with service level agreements, and legal, regulatory, or business reasons. Therefore, protect this data as part of the routine maintenance by backing up or archiving the logs.

The following sections are labeled in the following manner to indicate how important it is to back up or archive this kind of log:

  • [Essential] means that the log contains data that is essential to the environment. The data would be lost if a disk failure or other problem occurred.

  • [Recommended] means that the log contains data that is useful in most environments for troubleshooting, operational, legal, or other needs.

In this article:

  • [Essential] Back up transaction logs in SharePoint Server

  • [Recommended] Collect usage data in SharePoint Server

  • [Recommended] Archive diagnostic logs in SharePoint Server

[Essential] Back up transaction logs in SharePoint Server

Microsoft SQL Server 2008 R2, SQL Server 2008 with Service Pack 1 (SP1) and Cumulative Update 2, and SQL Server 2005 with SP3 and Cumulative Update 3 transaction logs record all changes that were made to a database since the last checkpoint or full backup. These logs contain required data for restoring the farm.

We recommend that you back up these logs every 5-10 minutes. When you back up these logs, they are automatically truncated. You can use the Microsoft SQL Server 2008 R2, SQL Server 2008 with Service Pack 1 (SP1) and Cumulative Update 2, and SQL Server 2005 with SP3 and Cumulative Update 3 tools to back up the transaction log. For more information, see Creating Transaction Log Backups (http://go.microsoft.com/fwlink/p/?LinkId=124881) in the Microsoft SQL Server 2008 R2, SQL Server 2008 with Service Pack 1 (SP1) and Cumulative Update 2, and SQL Server 2005 with SP3 and Cumulative Update 3 documentation.

Transaction logs are not automatically backed up when you back up the farm, Web application, or databases by using either the SharePoint Central Administration Web site or the Windows PowerShell. Therefore, you must manually backup and truncate the log. For more information, see Creating Transaction Log Backups (http://go.microsoft.com/fwlink/p/?LinkId=124881) in the Microsoft SQL Server 2008 R2, SQL Server 2008 with Service Pack 1 (SP1) and Cumulative Update 2, and SQL Server 2005 with SP3 and Cumulative Update 3 documentation.

How transaction log size affects farm backup times in SharePoint Server

When you back up SharePoint Server 2010, the size of the transaction log can affect how long the backup operation takes. Because the transaction log records all changes to a database since the last checkpoint or full backup, the log can grow very large over time. If the transaction log has grown very large, backups might take a very long time. For more information, see How to stop the transaction log of a SQL Server database from growing unexpectedly (http://go.microsoft.com/fwlink/p/?LinkID=111458).

The recommended way to truncate the transaction log if you are using a full recovery model is to back up the log. Microsoft SQL Server 2008 R2, SQL Server 2008 with Service Pack 1 (SP1) and Cumulative Update 2, and SQL Server 2005 with SP3 and Cumulative Update 3 automatically truncates the inactive parts of the transaction log when you back up the log. We also recommend that you pre-grow the transaction log to avoid auto-growing the log. For more information, see Managing the Size of the Transaction Log File (http://go.microsoft.com/fwlink/p/?LinkId=124882). For more information about using a full recovery model, see Backup Under the Full Recovery Model (http://go.microsoft.com/fwlink/p/?LinkId=127985). For more information about using a simple recovery model, see Backup Under the Simple Recovery Model (http://go.microsoft.com/fwlink/p/?LinkId=127987).

We do not recommend that you manually shrink the transaction log size or manually truncate the log by using the Truncate method.

[Recommended] Collect usage data in SharePoint Server

Usage analysis enables you to track how Web sites are being used. Log files are created daily to track usage. You can configure the setting for the collection of usage data. One of the most important settings is the location of the log files. By default, the log folder is configured to be on the same drive partition where SharePoint Server 2010 is installed. To make sure that the log files to not fill up that drive, you should change the log folder to be on a separate drive.

The location of the log directory is a farm-level setting, and the directory that is specified in this setting must exist on all servers in the farm. These logs are automatically backed up when you back up the farm.

For most environments, the default settings are adequate. For more information about configuring usage data collection settings, see Configure usage and health data collection (SharePoint Server 2010).

[Recommended] Archive diagnostic logs in SharePoint Server

Diagnostic logs provide detailed information about the operation of the farm. You can configure the level of detail that is logged. We recommend that you archive these logs when you archive the farm. You can archive the logs for the whole farm or a specific server. You can archive these files by manually copying them to a shared folder, or by using the Windows PowerShell Merge-SPlogFile cmdlet. You can use the Merge-SPLogFIle cmdlet to archive the log files on all of the farm servers at once. You can use the Windows PowerShell Copy-Item cmdlet to archive log files from a single server. The Copy-Item cmdlet does not provide filtering and you must copy the entire log file.

For more information about how to configure diagnostic logging, see Configure diagnostic logging (SharePoint Server 2010).

To archive diagnostic logs from all farm servers by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell command prompt, type the following command:

    Copy Code
    Merge-SPLogFile -Path "<path to merged log file>.log" -Overwrite

    For example, Merge-SPLogFile -Path "C:\Logs\MergedFiles\AllFarm_merged_12.20.2009.log" -Overwrite

    Important:

    Merging all log entries for all farm servers can take a long time and use resources. We recommend filtering the entries to match a specific set of criteria before merging.

    To merge log entries that match a specific set of criteria, type the following command:

    Copy Code
    Merge-SPLogFile -Path "<path to merged log file>.log" -Area "<Area>" -Category "<Category>"

    You can filter by one or more of the following:

    • Area (one or more, wildcard)

    • Category (one or more, wildcard)

    • Level

    • Correlation (one or more)

    • EventID (one or more, wildcard)

    • Message (wildcard)

    • StartTime

    • EndTime

    • Process (one or more, wildcard)

    • ThreadID (one or more)

    Tip:

    You can name the merged log file however you want. We recommend that you use a naming convention that makes it easy to determine what the log file contains, such as <date merged>_<farm name>_<filtering criteria>. For example, to signify all the farm server log entries forSharePoint Foundation 2010 that involve the database category and are marked as "High" use, "Dec_2009_ContosoInternet_Foundation_Database_High.log".

For more information, see Merge-SPLogFile.

Note:

We recommend that you use Windows PowerShell when performing command-line administrative tasks. The Stsadm command-line tool has been deprecated, but is included to support compatibility with previous product versions.

To archive diagnostic logs for a specific server by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell command prompt, type the following command:

    Copy Code
    Copy-Item <Log folder path> -Destination <Archive folder path> -Recurse

For more information, type Get-Help Copy-Item -Full.

Note:

We recommend that you use Windows PowerShell when performing command-line administrative tasks. The Stsadm command-line tool has been deprecated, but is included to support compatibility with previous product versions.


Recovery (SharePoint Server 2010)
See Also

The articles in this section are written to meet the requirements of information technology (IT) professionals who are responsible for the planning, design, deployment, and operations of backup and recovery solutions. These solutions might be in enterprise, corporate, or branch office environments. The IT professionals who are responsible for backup and recovery solutions are expected to have an understanding of the technical details that are contained in this section. However, service-level expertise is not needed to understand the enterprise-level discussions and decisions.

Before you restore a farm, ensure that the following requirements are met:

  • To restore a farm by using the SharePoint Central Administration Web site, you must be a member of the Farm Administrators group.

  • To restore a farm by using Windows PowerShell, you must meet the following minimum requirements: See Add-SPShellAdmin.

  • The database server's SQL Server account, the Timer service account, and the Central Administration application pool account must have Read permissions to the backup locations. (The Timer service account and the Central Administration application pool account are usually the same.) The database server's SQL Server account must be a member of the sysadmin fixed server role.

  • Your login account must have Read permissions to the backup locations.

  • Ensure that the SharePoint Foundation Administration service is started on all farm servers. By default, this service is not started on stand-alone installations.

Consider the following before you restore a farm:

  • Restoring from one version of SharePoint Products and Technologies to a different version is not supported.

  • After recovery, search might take as long as 15 minutes to be available again. It can take longer than 15 minutes if the search system has to crawl all the content again. If you back up and restore the complete service, the system does not have to perform a full crawl.

  • You can only perform one recovery or one backup operation at a time.

Recover all or part of a farm

The following tasks for recovery are performed on the entire farm, farm databases, sites, subsites, or lists:

  • Restore a farm in SharePoint Server 2010

    This article describes the procedures that you can use to restore the entire farm from a backup.

  • Restore a farm configuration in SharePoint Server 2010

    This article describes the procedures that you can use to restore the farm configuration to the same farm from a backup.

  • Document farm configuration settings in SharePoint Server 2010

    This article describes how to use Windows PowerShell to document the configuration settings for your farm. Documenting configuration settings is important both so that you can create scripted deployments for your environment, and so that you can quickly re-create a set of configurations in the event of a failure.

  • Copy configuration settings between farms (SharePoint Server 2010)

    This article describes the procedures that you can use to of copy configuration settings from one farm to another, including how to back up and recover a farm without the content databases, how to back up and recover configurations only, and how to create a deployment script.

  • Restore a Web application in SharePoint Server 2010

    This article describes the procedures that you can use to restore a Web application that is associated with the farm, including configuration and content databases, from a backup.

  • Restore a service application in SharePoint 2010 Products

    This article describes the procedures that you can use to restore a service application that is associated with the farm, including configuration and content databases, from a backup.

  • Restore a User Profile Service service application (SharePoint Server 2010)

    This article describes how to restore the User Profile Service service application instead of restoring the complete farm.

  • Restore search in SharePoint Server 2010

    This article describes the procedures that you can use to restore the Search service application associated with the farm, including configuration and indexes, from a backup.

  • Restore secure store services in SharePoint Server 2010

    This article describes the procedures that you can use to restore the Secure Store service application that is associated with the farm, including configuration and content databases, from a backup.

  • Restore a content database in SharePoint Server 2010

    This article describes the procedures that you can use to restore a content database from a backup.

  • Attach and restore a read-only content database (SharePoint Server 2010)

    This article describes the procedures that you can use to attach a read-only content database to the farm.

  • Recover content from an unattached content database (SharePoint Server 2010)

    This article describes how you can restore or copy content, such as sites, site collections, lists, or document libraries, from a content database without having to attach the content database to the farm.

  • Restore customizations in SharePoint Server 2010

    This article describes the procedures that you can use to restore customizations that are associated with the farm from backups.

  • Restore a site collection in SharePoint Server 2010

    This article describes the procedures that you can use to restore a site collection from a backup.

  • Import a list or document library in SharePoint Server 2010

    This article describes the procedures that you can use to restore a site, list, or document library from a backup.

See Also

Concepts

Backup SharePoint Server 2010


Restore a farm in SharePoint Server 2010
See Also

This article describes how to restore a Microsoft SharePoint Server 2010 farm. Farm-level recovery is usually performed only after a failure that involves the complete farm, or where partial recovery of part of the farm is not possible. If you only have to restore part of the farm, a specific database, a service application, a list, or document library, or a specific document, use another recovery method. For more information about alternate forms of recovery, see Related content.

Farm recovery is usually performed for any of the following reasons:

  • Restoring a farm after a fire, disaster, equipment failure, or other data-loss event.

  • Restoring farm configuration settings and data to a specific previous time and date.

  • Moving a SharePoint Server 2010 deployment from one farm to another farm.

In this article:

  • Considerations when recovering a farm in SharePoint

  • Use Windows PowerShell to restore a farm in SharePoint

  • Use Central Administration to restore a farm

  • Use SQL Server tools to restore a farm

Considerations when recovering a farm in SharePoint

When you prepare to recover a farm, be aware of the following issues:

  • You cannot restore a multiple-server farm to a stand-alone farm or a stand-alone farm to a multiple-server farm.

  • You cannot back up from one version of Microsoft SharePoint Server and restore to another version of SharePoint Server.

  • Backing up the farm will back up the configuration and Central Administration content databases, but these cannot be restored using Microsoft SharePoint Server 2010 tools. For more information about backing up and restoring all the farm databases, see Move all databases (SharePoint Server 2010).

  • When you restore the farm by using Microsoft SharePoint Server 2010, the restore process will not automatically start all of the service applications. You must manually start them by using Central Administration or Windows PowerShell. Do not use SharePoint Products Configuration Wizard to start the services because doing so will also re-provision the services and service proxies.

  • The identifier (ID) of each content database is retained when you restore or reattach a database by using built-in tools. Default change log retention behavior when using built-in tools is as follows:

    1. The change logs for all databases are retained when you restore a farm.

    2. The change log for content databases is retained when you reattach or restore a database.

      When a database ID and change log are retained, the search system continues crawling based on the regular schedule that is defined by crawl rules.

      When you restore an existing database and do not use the overwrite option, a new ID is assigned to the restored database, and the database change log is not preserved. The next crawl of the database will add data from the content database to the index.

      If a restore is performed and the ID in the backup package is already being used in the farm, a new ID is assigned to the restored database and a warning is added to the restore log. The ability to perform an incremental crawl instead of a full crawl depends on the content database ID being the same as before and the change log token that is used by the search system being valid for the current change log in the content database. If the change log is not preserved, the token is not valid and the search system has to perform a full crawl.

  • SharePoint Server 2010 backup backs up the Business Data Connectivity service external content type definitions but does not back up the data source itself. To protect the data, you should back up the data source when you back up the Business Data Connectivity service or the farm.

    If you restore the Business Data Connectivity service or the farm and then restore the data source to a different location, you must change the location information in the external content type definition. If you do not, the Business Data Connectivity service might be unable to locate the data source.

  • SharePoint Server 2010 restores remote Binary Large Objects (BLOB) stores only if you are using the FILESTREAM remote BLOB store provider to put data in remote BLOB stores.

    If you are using another provider, you must manually restore the remote BLOB stores.

  • If a user has taken copies of content for off-line editing in Microsoft SharePoint Workspace 2010 and the content is restored from a backup on the server, when the user re-connects, the server automatically synchronizes the off-line content with the restored content. This might result in data loss on the user's copies of the content.

  • If you are sharing service applications across farms, be aware that trust certificates that have been exchanged are not included in farm backups. You must back up your certificate store separately or retain the certificates in a separate location. When you restore a farm that shares a service application, you must import and redeploy the certificates, and then re-establish any inter-farm trusts.

    For more information, see Exchange trust certificates between farms (SharePoint Server 2010).

  • After a Web application that is configured to use claims-based authentication has been restored, duplicate or additional claims providers are often visible. If duplicates appear, you must then manually save each Web application zone to remove them. For more information, see Restore a Web application in SharePoint Server 2010.

  • Additional steps are required when you restore a farm that contains a Web application that is configured to use forms-based authentication. For more information, see Restore a Web application in SharePoint Server 2010.

Use Windows PowerShell to restore a farm in SharePoint

You can use Windows PowerShell to restore a farm.

To restore a farm by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell command prompt, type the following command:

    Copy Code
    Restore-SPFarm -Directory <BackupFolder> -RestoreMethod Overwrite [-BackupId <GUID>]

    Where:

    • <BackupFolder> is the path of the folder you use for storing backup files.

    • <GUID> is the identifier of the backup to restore from.

    Note:

    If you are not logged on as the Farm account, you are prompted for the Farm account's credentials.

    If you do not specify the BackupId, the most recent backup will be used. To view the backups for the farm, at the Windows PowerShell command prompt, type the following command:

    Copy Code
    Get-SPBackupHistory -Directory <BackupFolder> -ShowBackup [-Verbose]

    Where:

    • <BackupFolder> is the path of the folder you use for storing backup files.

    You cannot use a configuration-only backup to restore content databases together with the configuration.

  6. To restart a service application, at the Windows PowerShell command prompt, type the following command:

    Copy Code
    Start-SPServiceInstance -Identity <ServiceApplicationID>

    Where:

    • <ServiceApplicationID> is the GUID of the service application.

    For more information about restarting service applications by using Windows PowerShell, see Start-SPServiceInstance.

For more information about restoring the farm by using Windows PowerShell, see Restore-SPFarm.

Note:

We recommend that you use Windows PowerShell when performing command-line administrative tasks. The Stsadm command-line tool has been deprecated, but is included to support compatibility with previous product versions.

Use Central Administration to restore a farm

You can use the Central Administration Web site to restore a farm.

To restore a farm by using Central Administration

  1. Verify that the user account that is performing this procedure is a member of the Farm Administrators SharePoint group.

  2. In Central Administration, on the Home page, in the Backup and Restore section, click Restore from a backup.

  3. On the Restore from Backup — Step 1 of 3: Select Backup to Restore page, from the list of backups, select the backup job that contains the farm backup, and then click Next. You can view more details about each backup by clicking the (+) next to the backup.

    Note:

    If the correct backup job does not appear, in the Backup Directory Location text box, type the Universal Naming Convention (UNC) path of the correct backup folder, and then click Refresh.

    You cannot use a configuration-only backup to restore the farm.

  4. On the Restore from Backup — Step 2 of 3: Select Component to Restore page, select the check box that is next to the farm, and then click Next.

  5. On the Restore from Backup — Step 3 of 3: Select Restore Options page, in the Restore Component section, ensure that Farm appears in the Restore the following component list.

    In the Restore Only Configuration Settings section, ensure that the Restore content and configuration settings option is selected.

    In the Restore Options section, under Type of Restore, select the Same configuration option. A dialog box will appear that asks you to confirm the operation. Click OK.

    Note:

    If the Restore Only Configuration Settings section does not appear, the backup that you selected is a configuration-only backup. You must select another backup.

    Click Start Restore.

  6. You can view the general status of all recovery jobs at the top of the Backup and Restore Job Status page in the Readiness section. You can view the status for the current recovery job in the lower part of the page in the Restore section. The status page updates every 30 seconds automatically. You can manually update the status details by clicking Refresh. Backup and recovery are Timer service jobs. Therefore, it may take several seconds for the recovery to start.

    If you receive any errors, you can review them in the Failure Message column of the Backup and Restore Job Status page. You can also find more details in the Sprestore.log file at the UNC path that you specified in step 3.

  7. When the restore process has completed, you may need to restart one or more service applications. In Central Administration, on the Home page, in the Application Management section, click Manage services on server.

  8. On the Services on Server page, start any services related to service applications that you want to run by clicking Start in the Actions column next to the service application.

  9. Re-establish any trust relationships. For more information, see Exchange trust certificates between farms (SharePoint Server 2010).

Use SQL Server tools to restore a farm

Although you cannot restore the complete farm by using SQL Server tools, you can restore most of the farm databases. If you restore the databases by using SQL Server tools, you must restore the farm configuration by using Central Administration or Windows PowerShell. For more information about how to restore the farm's configuration settings, see Restore a farm configuration in SharePoint Server 2010.

Note:

The search index is not stored in SQL Server. If you use SQL Server tools to back up and restore search, you must perform a full crawl after you restore the content database.

Before you restore SharePoint Server 2010, we recommend that you configure a recovery farm for site and item recovery.

Restore the databases by following these steps:

  1. If possible, back up the live transaction log of the current database to protect any changes that were made after the last full backup.

  2. Restore the last full database backup.

  3. Restore the most recent differential database backup that occurred after the most recent full database backup.

  4. Restore all transaction log backups that occurred after the most recent full or differential database backup.

To restore a farm by using SQL Server tools

  1. Verify that the user account that is performing this procedure is a member of the sysadmin fixed server role.

  2. If the Windows SharePoint Services Timer service is running, stop the service and wait for several minutes for any currently running stored procedures to finish. Do not restart the service until after you restore all the databases that you have to restore.

  3. Start SQL Server Management Studio and connect to the database server.

  4. In Object Explorer, expand Databases.

  5. Right-click the database that you want to restore, point to Tasks, point to Restore, and then click Database.

    The database is automatically taken offline during the recovery operation and cannot be accessed by other processes.

  6. In the Restore Database dialog box, specify the destination and the source, and then select the backup set or sets that you want to restore.

    The default values for destination and source are appropriate for most recovery scenarios.

  7. In the Select a page pane, click Options.

  8. In the Restore options section, select only Overwrite the existing database. Unless your environment or policies require otherwise, do not select the other options in this section.

  9. In the Recovery state section:

    • If you have included all the transaction logs that you must restore, select RECOVER WITH RECOVERY.

    • If you must restore additional transaction logs, select RECOVER WITH NORECOVERY.

    • The third option, RECOVER WITH STANDBY is not used in this scenario.

      Note:

      For more information about these recovery options, see Restore Database (Options Page) (http://go.microsoft.com/fwlink/p/?LinkId=114420).

  10. Click OK to complete the recovery operation.

  11. Except for the configuration database, repeat steps 4 through 9 for each database that you are restoring.

    Important:

    If you are restoring the User Profile database (by default named ""User Profile Service_ProfileDB_<GUID>"), then also restore the Social database (by default named "User Profile Service_SocialDB_<GUID>"). Failing to do so can cause inaccuracies in the User Profile data that might be difficult to detect and fix.

  12. To restore the configuration settings, you must use the existing configuration database or manually create a new database and restore the configuration to that database. For more information about restoring the farm configuration, see Restore a farm configuration in SharePoint Server 2010.

  13. Start the Windows SharePoint Services Timer service.

  14. Start any service applications that have to be restarted. To do this, see steps 7 and 8 of the "Use Central Administration to restore a farm" procedure earlier in this article.

Related content

Resource Centers | Business Continuity Management for SharePoint Server 2010: Backup, Recovery, Availability, and Disaster Recovery (http://go.microsoft.com/fwlink/p/?LinkID=199235)
IT Pro content | Back up a farm in SharePoint Server 2010. Restore a farm configuration in SharePoint Server 2010 Restore a Web application in SharePoint Server 2010 Restore a content database in SharePoint Server 2010

See Also

Other Resources

Resource Center: Business Continuity Management for SharePoint Server 2010


Restore a farm configuration in SharePoint Server 2010
See Also

This article describes how to a restore the configuration of a farm.

Note:

In previous versions of Microsoft SharePoint Server 2010, you could not restore the configuration database and, therefore, you could not restore the configuration of a farm. In this version of SharePoint Server 2010, you do not have to restore the configuration database because you can restore the farm configuration directly.

Farm-level configuration recovery is performed only after a failure that involves the configuration database but does not involve other farm data, such as a content database or Web application. If restoring the farm configuration does not solve the problems, you must restore the complete farm. For more information about restoring the complete farm, see Restore a farm in SharePoint Server 2010. You can restore the configuration from a farm backup that used either the Backup content and configuration settings option or the Backup only configuration settings option.

Procedures in this task:

  • Use Windows PowerShell to restore a farm's configuration in SharePoint

  • Use Central Administration to restore a farm's configuration in SharePoint

Use Windows PowerShell to restore a farm's configuration in SharePoint

You can use Windows PowerShell to restore a farm's configuration.

To restore a farm's configuration by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. From the Windows PowerShell command prompt (that is, PS C:\>), type the following command and press ENTER:

    Restore-SPFarm -Directory <RestoreShare> -RestoreMethod Overwrite -ConfigurationOnly

    You must use the ConfigurationOnly parameter. To view the progress of the operation, use the Verbose parameter.

For more information, see Restore-SPFarm.

Note:

We recommend that you use Windows PowerShell when performing command-line administrative tasks. The Stsadm command-line tool has been deprecated, but is included to support compatibility with previous product versions.

Use Central Administration to restore a farm's configuration in SharePoint

You can use Central Administration to restore a farm's configuration.

To restore a farm's configuration by using Central Administration

  1. To perform this procedure, you must be a member of the Farm Administrators SharePoint group on the computer that is running Central Administration.

    You must also be a member of the sysadmin fixed server role on the database server where each database is stored.

  2. In Central Administration, on the Home page, in the Backup and Restore section, click Restore from a backup.

  3. On the Restore from Backup — Step 1 of 3: Select Backup to Restore page, select the backup job that contains the farm backup from the list of backups, and then click Next.

    Note:

    You can view additional information about the backups by expanding the row that contains the backup.

    Note:

    If the correct backup job does not appear, in the Backup Directory Location text box, enter the UNC path of the correct backup folder, and then click Refresh.

  4. On the Restore from Backup — Step 2 of 3: Select Component to Restore page, select the check box that is next to the farm, and then click Next.

  5. On the Restore from Backup — Step 3 of 3: Select Restore Options page, in the Restore Component section, ensure that "Farm" appears in the Restore the following content list.

    In the Restore Only Configuration Settings section, ensure that the Restore content and configuration settings option is selected.

    In the Restore Options section, select the Type of Restore option. Use the Same configuration setting. A dialog box will appear that asks you to confirm the operation. Click OK.

    Note:

    If the Restore Only Configuration Settings section does not appear, then the backup that you selected is a configuration-only backup.

    Click Start Restore.

  6. You can view the general status of all recovery jobs at the top of the Backup and Restore Status page in the Readiness section. You can view the status of the current recovery job in the lower part of the page in the Restore section. The status page updates every 30 seconds automatically. You can manually update the status details by clicking Refresh. Backup and recovery are Timer service jobs. Therefore, it may take several seconds for the recovery to start.

    If you receive any errors, you can review them in the Failure Message column of the Backup and Restore Job Status page. You can also find more details in the Sprestore.log file at the UNC path that you specified in step 2.

Use SQL Server to restore a farm's configuration in SharePoint

You cannot restore a farm's configuration by using SQL Server tools.

See Also

Concepts

Back up a farm configuration in SharePoint Server 2010


Document farm configuration settings in SharePoint Server 2010

This article describes how to use Windows PowerShell 2.0 to document the configuration settings for your farm. Documenting configuration settings is important both so that you can create scripted deployments for your environment, and so that you can quickly re-create a set of configurations in the event of a failure.

To document configuration settings by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. Using Notepad, create a text file and then copy and paste the following script into the file. The commands in the example create XML files that document the configurations of the Web applications and service applications in the current farm. Choose only those commands that are relevant to your environment.

    Copy Code
    ##
## Common SharePoint configuration settings
##
#Retrieve Web Application information. The default depth of 2 does not return much detail--we recommend that you use a depth of 4 for this cmdlet.
Get-SPWebApplication | Export-Clixml .\ WebAppFilename.xml -depth 4

#Retrieve custom layout information.
Get-SPWebApplication | Get-SPCustomLayoutsPage | Export-Clixml .\Get-SPCustomLayoutsPage.xml

#Determine how SharePoint designer access is configured.
Get-SPWebApplication | Get-SPDesignerSettings  | Export-Clixml .\Get-SPDesignerSettings.xml

#Retrieve information about alternate access mapping
Get-SPAlternateURL  | Export-Clixml .\Get-SPAlternateURL.xml

#Retrieve information about content databases
Get-SPContentDatabase  | Export-Clixml .\Get-SPContentDatabase.xml

#Retrieve database properties for each database
Get-SPDatabase  | Export-Clixml .\Get-SPDatabase.xml

#Retrieve information about all SharePoint Products installed in the farm, and the versions of all updates installed for each product.
Get-SPProduct  | Export-Clixml .\Get-SPProduct.xml

#Retrieve farm information
Get-SPFarm  | Export-Clixml .\Get-SPFarm.xml
Get-SPFarmConfig  | Export-Clixml .\Get-SPFarmConfig.xml

#Retrieve information about the servers in the farm
Get-SPServer  | Export-Clixml .\Get-SPServer.xml

#Retrieve information about installed features
Get-SPFeature  | Export-Clixml .\Get-SPFeature.xml

#Retrieve information about globally-installed site templates
Get-SPWebTemplate  | Export-Clixml .\Get-SPWebTemplate.xml

#Retrieve information about deployed solutions
Get-SPSolution  | Export-Clixml .\Get-SPSolution.xml

#Retrieve information about sandboxed solutions deployed in a site collection
Get-SPSite | Get-SPUserSolution  | Export-Clixml .\Get-SPUserSolution.xml

#Retrieve information about claims authentication
Get-SPTrustedIdentityTokenIssuer  | Export-Clixml .\Get-SPTrustedIdentityTokenIssuer.xml
Get-SPTrustedServiceTokenIssuer  | Export-Clixml .\Get-SPTrustedServiceTokenIssuer.xml
Get-SPTrustedRootAuthority  | Export-Clixml .\Get-SPTrustedRootAuthority.xml

#Retrieve information about installed Help
Get-SPHelpCollection  | Export-Clixml .\Get-SPHelpCollection.xml

#Retrieve information about the logging levels that have been set
Get-SPLogLevel  | Export-Clixml .\Get-SPLogLevel.xml

#Retrieve information about the sites in the farm
Get-SPSite  | Export-Clixml .\Get-SPSite.xml
Get-SPSiteAdministration  | Export-Clixml .\Get-SPSiteAdministration.xml
Get-SPSiteSubscription  | Export-Clixml .\Get-SPSiteSubscription.xml

#Retrieve ULS logging information
Get-SPDiagnosticConfig  | Export-Clixml .\Get-SPDiagnosticConfig.xml
Get-SPDiagnosticsPerformanceCounter  | Export-Clixml .\Get-SPDiagnosticsPerformanceCounter.xml
Get-SPDiagnosticsProvider  | Export-Clixml .\Get-SPDiagnosticsProvider.xml

#Retrieve information about accounts registered in the configuration database
Get-SPManagedAccount  | Export-Clixml .\Get-SPManagedAccount.xml
Get-SPProcessAccount  | Export-Clixml .\Get-SPProcessAccount.xml
Get-SPShellAdmin  | Export-Clixml .\Get-SPShellAdmin.xml

#Retrieve specific information about the certificate authority
Get-SPCertificateAuthority  | Export-Clixml .\Get-SPCertificateAuthority.xml
Get-SPClaimProvider  | Export-Clixml .\Get-SPClaimProvider.xml
Get-SPClaimProviderManager  | Export-Clixml .\Get-SPClaimProviderManager.xml

#Retrieve information about content deployment jobs
Get-SPContentDeploymentJob | Export-Clixml .\Get-SPContentDeploymentJob.xml
Get-SPContentDeploymentPath | Export-Clixml .\Get-SPContentDeploymentPath.xml

#Retrieve information about the Mobile Messaging account.
Get-SPWebApplication | Get-SPMobileMessagingAccount  | Export-Clixml .\Get-SPMobileMessagingAccount.xml

##
##Common service infrastructure settings
##
#Retrieve information about the service applications in the farm
Get-SPServiceApplication  | Export-Clixml .\Get-SPServiceApplication.xml
Get-SPServiceApplicationPool  | Export-Clixml .\Get-SPServiceApplicationPool.xml
Get-SPServiceApplicationProxy  | Export-Clixml .\Get-SPServiceApplicationProxy.xml
Get-SPServiceApplicationProxyGroup  | Export-Clixml .\Get-SPServiceApplicationProxyGroup.xml
Get-SPServiceApplication | Get-SPServiceApplicationEndpoint  | Export-Clixml .\Get-SPServiceApplicationEndpoint.xml

#Retrieve information about the services running in the farm
Get-SPServiceInstance  | Export-Clixml .\Get-SPServiceInstance.xml

#Retrieve information about InfoPath form services
Get-SPInfoPathFormsService  | Export-Clixml .\Get-SPInfoPathFormsService.xml
Get-SPInfoPathFormTemplate  | Export-Clixml .\Get-SPInfoPathFormTemplate.xml

###WARNING: The following cmdlet requires  run as administrator rights.
Get-SPInfoPathUserAgent  | Export-Clixml .\Get-SPInfoPathUserAgent.xml

#Retrieve information about common Web service settings
Get-SPServiceHostConfig  | Export-Clixml .\Get-SPServiceHostConfig.xml

##
## Common service application settings
##
#Access Services
#Retrieve specific information for the Access Services service application
Get-SPAccessServiceApplication  | Export-Clixml .\Get-SPAccessServiceApplication.xml

#Application Discovery and Load Balancer Service Application

Get-SPTopologyServiceApplication  | Export-Clixml .\Get-SPTopologyServiceApplication.xml
Get-SPTopologyServiceApplicationProxy  | Export-Clixml .\Get-SPTopologyServiceApplicationProxy.xml

#Business Data Connectivity Service
#Retrieve information about data connection files. ###WARNING: The following cmdlet requires  run as administrator rights
Get-SPDataConnectionFile | Export-Clixml .\Get-SPDataConnectionFile.xml
###WARNING: The following cmdlet requires  run as administrator rights
Get-SPDataConnectionFile | Get-SPDataConnectionFileDependent  | Export-Clixml .\Get-SPDataConnectionFileDependent.xml

#Excel Services Application
#Note: An Excel service application must be provisioned for the following cmdlets to succeed.
Get-SPExcelServiceApplication | Get-SPExcelBlockedFileType  | Export-Clixml .\Get-SPExcelBlockedFileType.xml
Get-SPExcelServiceApplication | Get-SPExcelDataConnectionLibrary  | Export-Clixml .\Get-SPExcelDataConnectionLibrary.xml
Get-SPExcelServiceApplication | Get-SPExcelDataProvider  | Export-Clixml .\Get-SPExcelDataProvider.xml
Get-SPExcelServiceApplication | Get-SPExcelFileLocation  | Export-Clixml .\Get-SPExcelFileLocation.xml
Get-SPExcelServiceApplication | Export-Clixml .\Get-SPExcelServiceApplication.xml
Get-SPExcelServiceApplication | Get-SPExcelUserDefinedFunction  | Export-Clixml .\Get-SPExcelUserDefinedFunction.xml
Get-SPWebApplication | Get-SPInfoPathWebServiceProxy  | Export-Clixml .\Get-SPInfoPathWebServiceProxy.xml
Get-SPWebApplication | Get-SPManagedPath  | Export-Clixml .\Get-SPManagedPath.xml

#Managed Metadata Service
#Note: A Managed Metadata service application must be provisioned for the following cmdlets to succeed.
Get-SPServiceApplication | ?{$_.TypeName -eq "Managed Metadata Service"} | %{$id = $_.Id;Get-SPMetadataServiceApplication -Id $_ | Export-Clixml .\Get-SPMetadataServiceApplication-$id.xml}
Get-SPServiceApplicationProxy | ?{$_.TypeName -eq "Managed Metadata Service Connection"} | %{$id = $_.Id;Get-SPMetadataServiceApplicationProxy -Id $_ | Export-Clixml .\Get-SPMetadataServiceApplicationProxy-$id.xml}
Get-SPSite | Get-SPTaxonomySession  | Export-Clixml .\Get-SPTaxonomySession.xml

#PerformancePoint Service Application
#Note: A PerformancePoint service application must be provisioned for the following cmdlets to succeed.
Get-SPPerformancePointServiceApplication | Get-SPPerformancePointSecureDataValues  | Export-Clixml .\Get-SPPerformancePointSecureDataValues.xml
Get-SPPerformancePointServiceApplication | Export-Clixml .\Get-SPPerformancePointServiceApplication.xml
Get-SPPerformancePointServiceApplication | Get-SPPerformancePointServiceApplicationTrustedLocation  | Export-Clixml .\Get-SPPerformancePointServiceApplicationTrustedLocation.xml

#Search
#Retrieve search information
#Note:  A Search service application must be provisioned for the following cmdlets to succeed.
Get-SPEnterpriseSearchServiceApplication | Get-SPEnterpriseSearchAdministrationComponent  | Export-Clixml .\Get-SPEnterpriseSearchAdministrationComponent.xml
Get-SPEnterpriseSearchServiceApplication | Get-SPEnterpriseSearchCrawlContentSource  | Export-Clixml .\Get-SPEnterpriseSearchCrawlContentSource.xml
Get-SPEnterpriseSearchServiceApplication | Get-SPEnterpriseSearchCrawlCustomConnector  | Export-Clixml .\Get-SPEnterpriseSearchCrawlCustomConnector.xml
Get-SPEnterpriseSearchServiceApplication | Get-SPEnterpriseSearchCrawlDatabase  | Export-Clixml .\Get-SPEnterpriseSearchCrawlDatabase.xml
Get-SPEnterpriseSearchServiceApplication | Get-SPEnterpriseSearchCrawlExtension  | Export-Clixml .\Get-SPEnterpriseSearchCrawlExtension.xml
Get-SPEnterpriseSearchServiceApplication | Get-SPEnterpriseSearchCrawlMapping  | Export-Clixml .\Get-SPEnterpriseSearchCrawlMapping.xml
Get-SPEnterpriseSearchServiceApplication | Get-SPEnterpriseSearchCrawlRule  | Export-Clixml .\Get-SPEnterpriseSearchCrawlRule.xml
Get-SPEnterpriseSearchServiceApplication | Get-SPEnterpriseSearchCrawlTopology  | Export-Clixml .\Get-SPEnterpriseSearchCrawlTopology.xml
$searchApp = Get-SPEnterpriseSearchServiceApplication; Get-SPEnterpriseSearchExtendedClickThroughExtractorJobDefinition -SearchApplication $searchApp | Export-Clixml .\Get-SPEnterpriseSearchExtendedClickThroughExtractorJobDefinition.xml
Get-SPEnterpriseSearchServiceApplication | Get-SPEnterpriseSearchExtendedConnectorProperty  | Export-Clixml .\Get-SPEnterpriseSearchExtendedConnectorProperty.xml
Get-SPEnterpriseSearchServiceApplication | Get-SPEnterpriseSearchExtendedQueryProperty  | Export-Clixml .\Get-SPEnterpriseSearchExtendedQueryProperty.xml
###WARNING: The following cmdlet generates a 120MB file that records the out of the box settings###
Get-SPEnterpriseSearchServiceApplication | Get-SPEnterpriseSearchLanguageResourcePhrase  | Export-Clixml .\Get-SPEnterpriseSearchLanguageResourcePhrase.xml
Get-SPEnterpriseSearchServiceApplication | Get-SPEnterpriseSearchMetadataCategory  | Export-Clixml .\Get-SPEnterpriseSearchMetadataCategory.xml
Get-SPEnterpriseSearchServiceApplication | Get-SPEnterpriseSearchMetadataCrawledProperty  | Export-Clixml .\Get-SPEnterpriseSearchMetadataCrawledProperty.xml
Get-SPEnterpriseSearchServiceApplication | Get-SPEnterpriseSearchMetadataManagedProperty  | Export-Clixml .\Get-SPEnterpriseSearchMetadataManagedProperty.xml
Get-SPEnterpriseSearchServiceApplication | Get-SPEnterpriseSearchMetadataMapping  | Export-Clixml .\Get-SPEnterpriseSearchMetadataMapping.xml
Get-SPEnterpriseSearchServiceApplication | Get-SPEnterpriseSearchPropertyDatabase  | Export-Clixml .\Get-SPEnterpriseSearchPropertyDatabase.xml
Get-SPEnterpriseSearchServiceApplication | Get-SPEnterpriseSearchQueryAuthority  | Export-Clixml .\Get-SPEnterpriseSearchQueryAuthority.xml
Get-SPEnterpriseSearchServiceApplication | Get-SPEnterpriseSearchQueryDemoted  | Export-Clixml .\Get-SPEnterpriseSearchQueryDemoted.xml
 Get-SPEnterpriseSearchQueryAndSiteSettingsService  | Export-Clixml .\Get-SPEnterpriseSearchQueryAndSiteSettingsService.xml
Get-SPEnterpriseSearchQueryAndSiteSettingsServiceInstance  | Export-Clixml .\Get-SPEnterpriseSearchQueryAndSiteSettingsServiceInstance.xml
Get-SPEnterpriseSearchQueryAndSiteSettingsServiceProxy  | Export-Clixml .\Get-SPEnterpriseSearchQueryAndSiteSettingsServiceProxy.xml
Get-SPEnterpriseSearchService  | Export-Clixml .\Get-SPEnterpriseSearchService.xml
Get-SPEnterpriseSearchServiceInstance  | Export-Clixml .\Get-SPEnterpriseSearchServiceInstance.xml
Get-SPSearchService  | Export-Clixml .\Get-SPSearchService.xml
Get-SPSearchServiceInstance  | Export-Clixml .\Get-SPSearchServiceInstance.xml

###WARNING: The following cmdlet generates a file per site collection###
Get-SPSite | %{$id = $_.Id;Get-SPEnterpriseSearchQueryKeyword -Site $_ | Export-Clixml .\Get-SPEnterpriseSearchQueryKeyword-$id.xml}
Get-SPEnterpriseSearchServiceApplication | Get-SPEnterpriseSearchQueryScope  | Export-Clixml .\Get-SPEnterpriseSearchQueryScope.xml
Get-SPEnterpriseSearchServiceApplication | Get-SPEnterpriseSearchQueryScope | Get-SPEnterpriseSearchQueryScopeRule  | Export-Clixml .\Get-SPEnterpriseSearchQueryScopeRule.xml
Get-SPEnterpriseSearchServiceApplication | Get-SPEnterpriseSearchQuerySuggestionCandidates  | Export-Clixml .\Get-SPEnterpriseSearchQuerySuggestionCandidates.xml
Get-SPEnterpriseSearchServiceApplication | Get-SPEnterpriseSearchQueryTopology  | Export-Clixml .\Get-SPEnterpriseSearchQueryTopology.xml
Get-SPEnterpriseSearchServiceApplication | Get-SPEnterpriseSearchRankingModel  | Export-Clixml .\Get-SPEnterpriseSearchRankingModel.xml
Get-SPEnterpriseSearchServiceApplication | Get-SPEnterpriseSearchSecurityTrimmer  | Export-Clixml .\Get-SPEnterpriseSearchSecurityTrimmer.xml
Get-SPEnterpriseSearchServiceApplication | Export-Clixml .\Get-SPEnterpriseSearchServiceApplication.xml
Get-SPEnterpriseSearchServiceApplicationProxy  | Export-Clixml .\Get-SPEnterpriseSearchServiceApplicationProxy.xml
Get-SPEnterpriseSearchSiteHitRule  | Export-Clixml .\Get-SPEnterpriseSearchSiteHitRule.xml

#Security Token Service Application
#Retrieve information about the security token service used for incoming SOAP messages.
Get-SPSecurityTokenServiceConfig  | Export-Clixml .\Get-SPSecurityTokenServiceConfig.xml

#State Service
#Retrieve information about the State Service.
Get-SPSessionStateService  | Export-Clixml .\Get-SPSessionStateService.xml
Get-SPStateServiceApplication  | Export-Clixml .\Get-SPStateServiceApplication.xml
Get-SPStateServiceApplicationProxy  | Export-Clixml .\Get-SPStateServiceApplicationProxy.xml
Get-SPStateServiceDatabase  | Export-Clixml .\Get-SPStateServiceDatabase.xml

#Usage and Health data collection
#Retrieve information about the Usage and Health Data Collection service application.
Get-SPUsageApplication  | Export-Clixml .\Get-SPUsageApplication.xml
Get-SPUsageDefinition  | Export-Clixml .\Get-SPUsageDefinition.xml
Get-SPUsageService  | Export-Clixml .\Get-SPUsageService.xml

#Visio Service
#A Visio service application must be provisioned for the following cmdlets to succeed.
Get-SPVisioServiceApplication | Get-SPVisioExternalData  | Export-Clixml .\Get-SPVisioExternalData.xml
Get-SPVisioServiceApplication | Get-SPVisioPerformance  | Export-Clixml .\Get-SPVisioPerformance.xml
Get-SPVisioServiceApplication | Get-SPVisioSafeDataProvider  | Export-Clixml .\Get-SPVisioSafeDataProvider.xml
Get-SPVisioServiceApplication | Export-Clixml .\Get-SPVisioServiceApplication.xml
Get-SPVisioServiceApplicationProxy  | Export-Clixml .\Get-SPVisioServiceApplicationProxy.xml

#Web Analytics Service Application
A Web Analytics service application must be provisioned for the following cmdlets to succeed.
Get-SPServiceApplication | ?{$_.TypeName -eq "Web Analytics Service Application"} | %{$id = $_.Id;Get-SPWebAnalyticsServiceApplication -Id $_ | Export-Clixml .\Get-SPWebAnalyticsServiceApplication-$id.xml}
Get-SPServiceApplicationProxy | ?{$_.TypeName -eq "Web Analytics Service Application Proxy"} | %{$id = $_.Id;Get-SPWebAnalyticsServiceApplicationProxy -Id $_ | Export-Clixml .\Get-SPWebAnalyticsServiceApplicationProxy-$id.xml}
Get-SPWebApplication | Get-SPWebApplicationHttpThrottlingMonitor  | Export-Clixml .\Get-SPWebApplicationHttpThrottlingMonitor.xml
Get-SPWebPartPack  | Export-Clixml .\Get-SPWebPartPack.xml

#Word Automation Services

###Note: These cmdlets are commented out because you are unlikely to want to run them. ###
#Get-SPSite | %{$web=Get-SPWeb $_.Url;$webid=$web.Id;$web | Get-SPUser | Export-Clixml .\Get-SPUser-$webid.xml}

# Get-SPSite | %{$web=Get-SPWeb $_.Url;$webid=$web.Id;$web | Export-Clixml .\Get-SPWeb-$webid.xml}

  6. To run the script, in the Windows PowerShell console, at the command prompt (that is, PS C:\>), type the following command and press ENTER:C:\<path>\<filename>.ps1

For more information, see Export-Clixml, Get-SPWebApplication, Get-SPServiceApplication.

Example of using a cmdlet in SharePoint

This section provides an example of ways that you can use one of the recommended cmdlets.

The Get-SPAlternateURL cmdlet provides information about alternate access mapping. Piping the cmdlet to the Export-Clixml cmdlet writes the information to an XML file.

Copy Code
Get-SPAlternateURL | Export-Clixml .\Get-SPAlternateURL.xml

The following section lists the content of the Get-SPAlternateURL.xml file. Some sections are collapsed.

Copy Code
- <Objs Version="1.1.0.1" xmlns="http://schemas.microsoft.com/powershell/2004/04">
+ <Obj RefId="0">
- <Obj RefId="7">
  <TNRef RefId="0" />
  <ToString>Microsoft.SharePoint.Administration.SPAlternateUrl</ToString>
- <Props>
  <S N="IncomingUrl">http://servername</S>
  <URI N="Uri">http://servername/</URI>
+ <Obj N="UrlZone" RefId="8">
- <Obj N="Collection" RefId="9">
  <TNRef RefId="2" />
- <IE>
- <Obj RefId="10">
  <TNRef RefId="0" />
  <ToString>Microsoft.SharePoint.Administration.SPAlternateUrl</ToString>
+ <Props>
- <MS>
  <S N="Zone">Default</S>
  <S N="PublicUrl">http://servername</S>
  </MS>
  </Obj>
  </IE>
- <Props>
  <I32 N="Count">1</I32>
  <B N="IsReadOnly">false</B>
  <S N="TypeName">Alternate Access Mapping Collection</S>
  <S N="DisplayName">SharePoint - 80</S>
  <U64 N="DiskSizeRequired">0</U64>
  <B N="CanSelectForBackup">false</B>
  <B N="CanRenameOnRestore">false</B>
  <B N="CanSelectForRestore">false</B>
  <S N="Name">SharePoint - 80</S>
  <G N="Id">5b65a69a-222d-4fe0-904b-0fb928bc7a89</G>
  <S N="Status">Online</S>
  <S N="Parent">SPFarm Name=SERVERNAME_SharePoint_Configuration_Database</S>
  <I64 N="Version">3661</I64>
+ <Obj N="Properties" RefId="12">
  <TNRef RefId="3" />
  <DCT />
  </Obj>
  <S N="Farm">SPFarm Name=SERVERNAME_SharePoint_Configuration_Database</S>
  <Ref N="UpgradedPersistedProperties" RefId="11" />
  </Props>
  </Obj>
  <Ref N="UpgradedPersistedProperties" RefId="11" />
  </Props>
+ <MS>
+ <Obj N="Zone" RefId="13">
  <TNRef RefId="1" />
  <ToString>Default</ToString>
  <I32>0</I32>
  </Obj>
  <S N="PublicUrl">http://servername</S>
  </MS>
  </Obj>
  </Objs>

This example imports the output from the XML file, so that you can see its contents more easily.

Copy Code
Import-Clixml .\Get-SPAlternateURL.xml

Once an XML file is imported, you can use the objects in the pipeline as though they were real objects of the given type.

Copy Code
Import-Clixml .\Get-SPAlternateURL.xml | %{$_.Uri}

You can also pipe the objects as part of the cmdlet, and view all of the expected properties, methods, and TypeNames. The following example pipes URIs.

Copy Code
Import-Clixml .\Get-SPAlternateURL.xml | %{$_.Uri | Get-Member}

For more information, see Export-Clixml, Import-Clixml, Get-SPAlternateURL, ForEach-Object, Get-Member.


Copy configuration settings between farms (SharePoint Server 2010)

This article describes how to copy configuration settings from one Microsoft SharePoint Server 2010 farm to another SharePoint Server 2010 farm. Copying the configuration settings of one farm to another can be useful in the following circumstances:

  • Setting up similar development, test, and production environments.

  • Establishing an organization standard for farm configuration settings.

  • Setting up a disaster recovery environment.

In this article:

  • Back up and recover a farm without content databases to copy configuration settings

  • Back up and recover configuration settings only

  • Create a scripted deployment to copy configuration settings

There are many ways in which you can copy configurations from one farm to another. Determine which method to use based on the configuration settings that you want to copy and how often you have to copy them.

  • Back up and recover a farm without the content databases attached. This method provides you with farm settings and Web application settings, in addition to the settings for any service applications that you select.

  • Back up and recover configurations only. This method provides you with the core SharePoint Foundation 2010 settings only.

    Note:

    This method does not include Web application or service application settings. If Web application settings are required in the recovered farm, use one of the other methods.

  • Create a deployment script, based on your documented configuration. This method may be more work at first, but is easy to use to maintain standardization.

Back up and recover a farm without content databases to copy configuration settings in SharePoint

To copy configuration settings by using a farm backup, we recommend that you first detach the content databases from the farm. This is not a step that we recommend that you take with a live production farm.

Note:

Creating a farm backup without content databases does back up the service applications.

To back up and recover a farm without content databases by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell command prompt, type the following command to document the current Web application URLs and content database mappings.

    Copy Code
    Get-SPWebApplication | %{$_.Name;$_.Url;%{$_.ContentDatabases|%{$_.Name};Write-Host ""}}

  6. Either unmount all content databases, as in the following example:

    Copy Code
    Get-SPContentDatabase | Dismount-SPContentDatabase

    Or unmount a specific content database, as in the following example:

    Copy Code
    Get-SPContentDatabase WSS_Content | Dismount-SPContentDatabase

  7. Back up the farm.

    Copy Code
    Backup-SPFarm -Directory \\servername\share -BackupMethod Full
    Note:

    You can view the progress of the backup by looking at the \\servername\share\spbr####\spbackup.log file.

  8. After the backup is complete, re-mount the content databases. Replace <WSS_Content> and <http://servername> with each of the mappings documented in step 1).

    Copy Code
    Mount-SPContentDatabase -Name <WSS_Content> -WebApplication <http://servername>

Back up and recover configuration settings only

As part of farm backup, you can choose to back up only configuration settings. A configuration-only backup extracts and backs up many, but not all, configuration settings from a configuration database. By using built-in tools, you can back up the configuration of any configuration database, whether it is currently attached to a farm or not. For detailed information about how to back up a configuration, see Back up a farm configuration in SharePoint Server 2010.A configuration backup can be restored to the same — or any other — server farm. When a configuration is restored, it will overwrite any settings present in the farm that have values that are set within the configuration backup. If any settings present in the farm are not contained in the configuration backup, they will not be overwritten. For detailed information about how to restore a farm configuration, see Restore a farm configuration in SharePoint Server 2010.

Create a scripted deployment to copy configuration settings in SharePoint

When you create a scripted deployment of SharePoint Server 2010, you are creating copies of configuration settings. For more information, see Install SharePoint Server 2010 by using Windows PowerShell.


Restore a Web application in SharePoint Server 2010
See Also

This article describes how to restore a Web application. When you restore a Web application, you also restore the Internet Information Services (IIS) settings and all content databases that are associated with the Web application.

In this article:

  • Considerations when restoring a Web application in SharePoint

  • Use Windows PowerShell to restore a Web application in SharePoint

  • Use Central Administration to restore a Web application in SharePoint

  • Use SQL Server tools to restore databases associated with a Web application in SharePoint

  • Additional steps to restore a Web application that uses forms-based authentication in SharePoint

  • Additional steps to remove duplicate claims providers after restoring a Web application that uses claims-based authentication in SharePoint

  • Additional steps to re-configure object cache user accounts in SharePoint

Considerations when restoring a Web application in SharePoint

Consider the following information as you prepare to restore a Web application:

  • You can only restore one Web application at a time by using the procedures in this article. However, you can simultaneously restore all the Web applications in the farm by restoring the complete farm.

  • If a Web application uses the object cache, you must manually configure two special user accounts for the Web application after you restore the Web application. For more information about the object cache and how to configure these user accounts, see Configure object cache user accounts.

  • You cannot use SQL Server tools to restore a Web application.

  • When you restore a Web application that is configured to use claims-based authentication, there are additional steps that you must follow after restoring the Web application to restore claims-based authentication.

Use Windows PowerShell to restore a Web application in SharePoint

You can use Windows PowerShell to restore a Web application manually or as part of a script that can be run at scheduled intervals.

To restore a Web application by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell command prompt, type the following command:

    Copy Code
    Restore-SPFarm -Directory <BackupFolderName> -RestoreMethod Overwrite -Item  <WebApplicationName> [-BackupId <GUID>] [-Verbose]

    Where:

    • <BackupFolderName> is the full path to the folder you use for backup files.

    • <WebApplicationName> is the name of the Web application that was backed up.

    • <GUID> is the identifier of the back up to use for the restore operation.

    If you do not specify the value of the BackupID parameter, the most recent backup will be used. You cannot restore a Web application by using a configuration-only backup. You can view the backups for the farm by typing the following:

    Copy Code
    Get-SPBackupHistory -Directory <BackupFolderName> -ShowBackup

For more information, see Restore-SPFarm.

Note:

We recommend that you use Windows PowerShell when performing command-line administrative tasks. The Stsadm command-line tool has been deprecated, but is included to support compatibility with previous product versions.

Use Central Administration to restore a Web application in SharePoint

You can use Central Administration to restore a Web application.

To restore a Web application by using Central Administration

  1. Verify that the user account performing this procedure is a member of the Farm Administrators group. Additionally, verify that the Windows SharePoint Services Timer V4 service and the Farm Database Access account have Full Control permissions on the backup folder.

  2. In Central Administration, on the Home page, in the Backup and Restore section, click Restore from a backup.

  3. On the Restore from Backup — Step 1 of 3: Select Backup to Restore page, from the list of backups, select the backup job that contains the farm or Web application backup, and then click Next. You can view more details about each backup by clicking the (+) next to the backup.

    Note:

    If the correct backup job does not appear, in the Current Directory Location text box, type the Universal Naming Convention (UNC) path of the correct backup folder, and then click Refresh.

    You cannot use a configuration-only backup to restore the Web application.

  4. On the Restore from Backup — Step 2 of 3: Select Component to Restore page, select the check box that is next to the Web application, and then click Next.

  5. On the Restore from Backup — Step 3 of 3: Select Restore Options page, in the Restore Component section, make sure that Farm\<Web application> appears in the Restore the following content list.

    In the Restore Only Configuration Settings section, make sure that the Restore content and configuration settings option is selected.

    In the Restore Options section, under Type of Restore, select the Same configuration option. A dialog box appears that asks you to confirm the operation. Click OK.

    Note:

    If the Restore Only Configuration Settings section does not appear, the backup that you selected is a configuration-only backup. You must select another backup.

    Click Start Restore.

  6. You can view the general status of all recovery jobs at the top of the Backup and Restore Job Status page in the Readiness section. You can view the status for the current recovery job in the lower part of the page in the Restore section. The status page updates every 30 seconds automatically. You can manually update the status details by clicking Refresh. Backup and recovery are Timer service jobs. Therefore, it may take several seconds for the recovery to start.

    If you receive any errors, you can review them in the Failure Message column of the Backup and Restore Job Status page. You can also find more details in the Sprestore.log file at the UNC path that you specified.

Use SQL Server tools to restore databases associated with a Web application in SharePoint

You cannot restore the complete Web application by using SQL Server tools. However, you can restore all the databases that are associated with the Web application. To restore the complete Web application, use either Windows PowerShell or Central Administration.

To restore databases associated with a Web application by using SQL Server tools

  1. Verify that the user account performing this procedure is a member of the sysadmin fixed server role.

  2. If the Windows SharePoint Services Timer service is running, stop the service and wait for several minutes for any currently running stored procedures to finish. Do not restart the service until after you restore the databases.

  3. Start SQL Server Management Studio and connect to the database server.

  4. In Object Explorer, expand Databases.

  5. Right-click the database that you want to restore, point to Tasks, point to Restore, and then click Database.

    The database is automatically taken offline during the recovery operation and cannot be accessed by other processes.

  6. In the Restore Database dialog box, specify the destination and the source, and then select the backup set or sets that you want to restore.

    The default values for destination and source are appropriate for most recovery scenarios.

  7. In the Select a page pane, click Options.

  8. In the Restore options section, select only Overwrite the existing database. Unless the environment or policies require otherwise, do not select the other options in this section.

  9. In the Recovery state section:

    • If you have included all the transaction logs that you must restore, select RECOVER WITH RECOVERY.

    • If you must restore additional transaction logs, select RECOVER WITH NORECOVERY.

    • The third option, RECOVER WITH STANDBY is not used in this scenario.

      Note:

      For more information about these recovery options, see Restore Database (Options Page) (http://go.microsoft.com/fwlink/p/?LinkId=114420).

  10. Click OK to complete the recovery operation.

  11. Repeat steps 4 through 10 for each database that you are restoring.

  12. Start the Windows SharePoint Services Timer service.

Additional steps to restore a Web application that uses forms-based authentication in SharePoint

After you restore a Web application that uses forms-based authentication, you must perform the following steps to reconfigure the Web application to use forms-based authentication.

  1. Re-register the membership and role providers in the Web.config file.

  2. Redeploy the providers.

For more information, see Configure forms-based authentication for a claims-based Web application (SharePoint Server 2010).

Additional steps to remove duplicate claims providers after restoring a Web application that uses claims-based authentication in SharePoint

After a Web application that is configured to use claims-based authentication has been restored, duplicate or additional claims providers are often visible. You must use the following process to remove the duplicate providers:

  1. In Central Administration, click Manage Web application, select a Web application that uses claims-based authentication, and then click Authentication Providers.

  2. Select a zone that the Web application is associated with to open the Edit Authentication page, and then click Save.

  3. Repeat for each zone, and then for each Web application that uses claims-based authentication.

Additional steps to re-configure object cache user accounts in SharePoint

If you configured object cache user accounts for the Web application, the restore process will not restore these settings. You must re-configure the settings for the Web application. For more information, see Configure object cache user accounts.

Related content

Resource center | Business Continuity Management for SharePoint Server 2010 (http://go.microsoft.com/fwlink/p/?LinkID=199235)
IT Pro content | Back up a Web application in SharePoint Server 2010 Plan for backup and recovery in SharePoint Server 2010 Backup and recovery for SharePoint Server 2010
Developer content | Data Protection and Recovery (http://go.microsoft.com/fwlink/p/?LinkID=199237)

See Also

Other Resources

Resource Center: Business Continuity Management for SharePoint Server 2010


Restore a service application in SharePoint 2010 Products
See Also

There are situations in which you might have to restore a specific service application instead of restoring the complete farm. Some service applications — for example, the Business Data Connectivity service application and the User Profile Service service application — provide data to other services and sites. As a result, users might experience some service interruption until the recovery process is complete.

You can also at the same time restore all the service applications in a farm by using Windows PowerShell or Central Administration.

Important:

You cannot back up from one version of Microsoft SharePoint Server and restore to another version of SharePoint Server.

Note:

SharePoint Server 2010 backs up the Business Data Connectivity service metadata store, which includes external content types, external systems, and Business Data Catalog models. For more information, see Business Data Connectivity service administration overview (SharePoint Server 2010). Note that this does not back up the external data sources. To protect the data, the external data sources must be backed up.

If you restore the service application or the farm and then restore the data source to a different location, you must configure the location information in the external content type definition. If you do not, the Business Data Connectivity service might be unable to locate the data source.

Note:

SharePoint Server 2010 restores remote Binary Large Object (BLOB) stores but only if you are using the FILESTREAM provider to put data in remote BLOB stores.

If you are using another provider, you must manually restore remote BLOB stores.

Procedures in this article:

  • Use Windows PowerShell to restore a service application in SharePoint

  • Use Central Administration to restore a service application in SharePoint

  • Use SQL Server tools to restore the databases for a service application in SharePoint

    Note:

    You cannot restore the complete service application by using SQL Server tools. However, you can restore the databases that are associated with the service application.

Use Windows PowerShell to restore a service application in SharePoint

You can use Windows PowerShell to restore a service application.

To restore a service application by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell command prompt, type the following command:

    Copy Code
    Restore-SPFarm -Directory <BackupFolder> -Item "<ServiceApplicationName>" -RestoreMethod Overwrite [-BackupId <GUID>] [-Verbose]

    Where:

    • <BackupFolder> is the path for the backup folder where the service application was backed up.

    • <ServiceApplicationName> is the name the service application.

    • <GUID> is the ID of the backup to use.

    To specify which backup to use, use the BackupId parameter. You can view the backups for the farm by typing the following: Get-SPBackupHistory -Directory <BackupFolder> -ShowBackup. If you do not specify the BackupId, the most recent backup will be used. You cannot restore a service application from a configuration-only backup.

    To restore all the service applications, at the Windows PowerShell command prompt, type the following command:

    Copy Code
    Restore-SPFarm -Directory <BackupFolder> -Item "Farm\Shared Service Applications" -RestoreMethod Overwrite [-BackupId <GUID>] [-Verbose]

    Where:

    • <BackupFolder> is the path for the backup folder where the service application was backed up.

    • <GUID> is the ID of the backup to use.

For more information, see Restore-SPFarm.

Note:

We recommend that you use Windows PowerShell when performing command-line administrative tasks. The Stsadm command-line tool has been deprecated, but is included to support compatibility with previous product versions.

Use Central Administration to restore a service application in SharePoint

Use the following procedure to restore a service application by using the SharePoint Central Administration Web site.

To restore a service application by using Central Administration

  1. Verify that the user account that is performing this procedure is a member of the Farm Administrators SharePoint group.

  2. In Central Administration, on the Home page, in the Backup and Restore section, click Restore from a backup.

  3. On the Restore from Backup — Step 1 of 3: Select Backup to Restore page, select the backup job that contains the service application backup, or a farm-level backup, from the list of backups, and then click Next. You can view more details about each backup by clicking the (+) next to the backup.

    Note:

    If the correct backup job does not appear, in the Backup Directory Location text box, type the path of the correct backup folder, and then click Refresh.

    You cannot use a configuration-only backup to restore the farm.

  4. On the Restore from Backup — Step 2 of 3: Select Component to Restore page, expand Shared Services Applications, select the check box that is next to the service application, and then click Next. To restore all the service applications, select the Shared Services Applications node.

  5. On the Restore from Backup — Step 3 of 3: Select Restore Options page, in the Restore Component section, make sure that Farm\Shared Services Applications\<Service application> appears in the Restore the following component list.

    In the Restore Options section, under Type of restore, select the Same configuration option. A dialog box will appear that asks you to confirm the operation. Click OK.

    Click Start Restore.

  6. You can view the general status of all recovery jobs at the top of the Backup and Restore Job Status page in the Readiness section. You can view the status for the current recovery job in the lower part of the page in the Restore section. The status page updates every 30 seconds automatically. You can manually update the status details by clicking Refresh. Backup and recovery are Timer service jobs. Therefore, it may take a several seconds for the recovery to start.

    If you receive any errors, you can review them in the Failure Message column of the Backup and Restore Job Status page. You can also find more details in the Sprestore.log file at the UNC path that you specified in step 3.

Use SQL Server tools to restore the databases for a service application in SharePoint

You cannot restore the complete service application by using SQL Server tools. However, you can use SQL Server tools to restore the databases that are associated with the service application. To restore the complete service application, use either Windows PowerShell or Central Administration.

To restore the databases for a service application by using SQL Server tools

  1. Verify that the user account that you are using to restore the databases is a member of the SQL Server sysadmin fixed server role on the database server where each database is stored.

  2. Open SQL Server Management Studio and connect to the database server.

  3. In Object Explorer, expand Databases.

  4. Right-click the database that you want to restore, point to Tasks, point to Restore, and then click Database.

  5. In the Restore Database dialog box, on the General page, select the database to restore to from the To database drop-down list.

  6. Select the restore source from the From database drop-down list.

  7. In the Select the backup sets to restore section area, select the check box next to the database.

  8. On the Options tab, select the recovery state from the Recover state section.

    For more information about which recovery type to use, see Overview of Recovery Models (http://go.microsoft.com/fwlink/p/?LinkId=114396) in SQL Server Books Online.

  9. Click OK to restore the database.

  10. Repeat steps 1-9 for each database that is associated with the service application.

See Also

Other Resources

Resource Center: Business Continuity Management for SharePoint Server 2010


Restore a User Profile Service service application (SharePoint Server 2010)
See Also

Published: April 7, 2011

This article describes how to restore the User Profile Service service application instead of restoring the complete farm. The User Profile Service service application provides data to other services and sites. As a result, users might experience some service interruption until the recovery process is finished.

For information about how to simultaneously restore all the service applications in a farm, see Restore a farm in SharePoint Server 2010.

Important:

You cannot back up from one version of Microsoft SharePoint Server and restore to another version of SharePoint Server.

Procedures in this article:

  • Use Windows PowerShell to restore the User Profile Service service application in SharePoint

  • Use Central Administration to restore the User Profile Service service application in SharePoint

  • Use SQL Server tools to restore the databases associated with the User Profile Service service application in SharePoint

Use Windows PowerShell to restore the User Profile Service service application in SharePoint

You can use Windows PowerShell to restore a service application.

To restore the User Profile Service service application by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell command prompt, type the following command:

    Copy Code
    Restore-SPFarm -Directory <BackupFolder> -Item Shared Services\Shared Services Applications\<ServiceApplicationName> -RecoveryMethod Overwrite [-BackupId <GUID>] [-Verbose]

    Where:

    • <BackupFolder> is the path of the folder where the backups are stored.

    • <ServiceApplicationName> is the name of the service application.

    • <GUID> is the identifier of the backup to use in the restore process.

    If you do not specify the BackupId, the most recent backup will be used. You cannot restore a service application from a configuration-only backup.

For more information, see Restore-SPFarm.

Use Central Administration to restore the User Profile Service service application in SharePoint

Use the following procedures to restore a service application by using the SharePoint Central Administration Web site.

To restore the User Profile Service service application by using Central Administration

  1. Verify that the user account that is performing this procedure is a member of the Farm Administrators SharePoint group.

  2. In Central Administration, on the Home page, in the Backup and Restore section, click Restore from a backup.

  3. On the Restore from Backup — Step 1 of 3: Select Backup to Restore page, select the backup job that contains the service application backup, or a farm-level backup, from the list of backups, and then click Next. You can view more details about each backup by clicking the (+) next to the backup.

    Note:

    If the correct backup job does not appear, in the Backup Directory Location text box, type the path of the correct backup folder, and then click Refresh.

    You cannot use a configuration-only backup to restore the User Profile Service service application.

  4. On the Restore from Backup — Step 2 of 3: Select Component to Restore page, expand Shared Services Applications, select the check box that is next to the User Profile Service service application, and then click Next.

  5. On the Restore from Backup — Step 3 of 3: Select Restore Options page, in the Restore Component section, make sure that Farm\Shared Services Applications\<User Profile Service service application name> appears in the Restore the following component list.

    In the Restore Options section, under Type of restore, select the Same configuration option. A dialog box will appear that asks you to confirm the operation. Click OK.

  6. Click Start Restore.

  7. You can view the general status of all recovery jobs at the top of the Backup and Restore Job Status page in the Readiness section. You can view the status for the current recovery job in the lower part of the page in the Restore section. The status page updates every 30 seconds automatically. You can manually update the status details by clicking Refresh. Backup and recovery are Timer service jobs. Therefore, it may take a several seconds for the recovery to start.

    If you receive any errors, you can review them in the Failure Message column of the Backup and Restore Job Status page. You can also find more details in the Sprestore.log file at the UNC path that you specified in step 3.

Use SQL Server tools to restore the databases associated with the User Profile Service service application in SharePoint

You cannot restore the complete service application or service application proxy by using SQL Server tools. However, you can use SQL Server tools to restore the databases that are associated with the service application. To restore the complete service application, use either Windows PowerShell or Central Administration.

Important:

If you are restoring the User Profile database (by default, named User Profile Service_ProfileDB_<GUID>), you must also restore the Social database (by default, named User Profile Service_SocialDB_<GUID>). Failing to do so can cause inaccuracies in the User Profile data that might be difficult to detect and fix.

To restore the databases associated with the User Profile Service service application by using SQL Server tools

  1. Verify that the user account you are using to restore the databases is a member of the SQL Server sysadmin fixed server role on the database server where each database is stored.

  2. In Central Administration, in the System Settings section, click Manage services on server.

  3. On the Services on Server page, find User Profile Synchronization Service. If the service is started, click Stop to stop the service.

  4. Before you restore the User Profile Service service application databases, you must import the Microsoft Identity Integration Server (MIIS) encryption key that you exported before backing up the databases. You only have to do this one time for the restore process. To do this, on the server to which you are restoring the service application, type the following at the command prompt, and then press ENTER:

    Copy Code
    miiskmu.exe /i exported.key {0E19E162-827E-4077-82D4-E6ABD531636E}

    Where <GIUD> is the identifier of the key.

  5. Open SQL Server Management Studio and connect to the database server.

  6. In Object Explorer, expand Databases.

  7. Right-click the database that you want to restore, point to Tasks, and then click Restore Database.

  8. In the Restore Database dialog box, on the Options page, select the kind of recovery that you want to perform from the Recovery state list.

    For more information about which recovery type to use, see Overview of Recovery Models (http://go.microsoft.com/fwlink/p/?LinkId=114396) in SQL Server 2008 with SP1 and Cumulative Update 2 Books Online.

  9. On the General page, in the Destination for restore section, select the database from the To database list.

  10. In the Source for restore section, select the backup source from the From database list.

  11. Alternatively, if you have moved the backup files to another computer, select the From device option. If the correct backup is not listed in the Select the backup sets to restore box, browse to the file by clicking the ellipsis button.

  12. Select the backup to restore from the Select the backup sets to restore box, and then click OK.

  13. Click OK to restore the database.

  14. Repeat steps 5-11 for the following databases associated with the User Profile Service service application (the names listed are the default names):

    • User Profile Service_ProfileDB_<GUID>

    • User Profile Service_SocialDB_<GUID>

    • User Profile Service_SyncDB_<GUID>

  15. In Central Administration, in the System Settings section, click Manage services on server.

  16. On the Services on Server page, find User Profile Synchronization Service. If the service is stopped, click Start to start the service.

See Also

Concepts

Recovery (SharePoint Server 2010)
Back up a User Profile Service application (SharePoint Server 2010)
User Profile Service administration (SharePoint Server 2010)
User Profile service application overview (SharePoint Server 2010)
Windows PowerShell for SharePoint Server 2010 reference


Restore search in SharePoint Server 2010

There are situations in which you might have to restore a Search service application instead of restoring the complete farm.

Important:

You cannot back up from one version of Microsoft SharePoint Server and restore to another version of SharePoint Server.

Important:

The procedures in this article restore the search components of Microsoft SharePoint Server 2010. If the topology includes Microsoft FAST Search Server 2010 for SharePoint, the procedures in this topic also restore the Content SSA and Query SSA (including the People Search index). However, in addition to performing the procedures in this article, you must restore the FAST Search Server 2010 for SharePoint farm. For more information, see Backup and restore (FAST Search Server 2010 for SharePoint).

In this article:

  • Use Windows PowerShell to restore a Search service application

  • Use Central Administration to restore a Search service application

  • Use SQL Server tools to restore search

Use Windows PowerShell to restore a Search service application

You can use Windows PowerShell to restore search. This procedure restores all of the search components, including the databases, the search service configuration, and all of the index files.

To restore a search service application by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell command prompt, type the following command:

    Copy Code
    Restore-SPFarm -Directory <BackupFolder> -Item <SearchServiceApplication> -RecoveryMethod Overwrite [-BackupId <GUID>] [-Verbose]

    Where:

    • <SearchServiceApplication> is the path and name of the Search service application in the following form: "Farm/Shared Services/Search Service Application01".

    • <BackupFolder> is the path of the backup folder.

    • <GUID> is the identifier of the backup file to use. To view the backups for the farm, type the following command: Get-SPBackupHistory -Directory <BackupFolder> -ShowBackup. If you do not use the BackupId parameter, the most recent backup will be used. You cannot restore search from a configuration-only backup.

  6. You must also restore the service application proxy. To do this, at the Windows PowerShell command prompt, type the following command:

    Copy Code
    Restore-SPFarm -Directory <BackupFolder> -Item <SearchServiceApplicationProxyName> -RecoveryMethod Overwrite [-BackupId <GUID>] [-Verbose]

    Where:

    • <BackupFolder> is the path of the backup folder.

    • <SearchServiceApplicationProxyName> is the path and name for the Search service application proxy in the following form: "Farm/Shared Services/Search Service Application01".

    • <GUID> is the ID of the backup file to use.

    If you do not use the BackupId parameter, the most recent backup will be used. To view the backups for the farm, type the following command:

    Copy Code
    Get-SPBackupHistory -Directory <BackupFolder> -ShowBackup

    Where:

    • <BackupFolder> is the path of the backup folder.

    You cannot restore search from a configuration-only backup.

  7. If you re-encrypted the credentials for the default content access account and crawl rules before backing up the Search service application, you must decrypt them by using the To decrypt the credentials for the default content access account and crawl rules by using Windows PowerShell procedure later in this article.

  8. After the restore operation in finished, you must start the Search service application. To start the service application, type the following command:

    Copy Code
    $ssa = Get-SPEnterpriseSearchServiceApplication <SearchServiceApplication>
$ssaResume()

    Where:

    • <SearchServiceApplication> is the path and name of the Search service application in the following form: Farm\Shared Services Applications\<SearchServiceApplication>.

Use Central Administration to restore a Search service application

Use the following procedure to restore a Search service application by using the SharePoint Central Administration Web site. This procedure restores all of the search components including the databases, the search service configuration, and all of the index files.

To restore a Search service application by using Central Administration

  1. Verify that the user account performing this procedure is a member of the Farm Administrators group.

  2. In Central Administration, on the Home page, in the Backup and Restore section, click Restore from a backup.

  3. On the Restore from Backup — Step 1 of 3: Select Backup to Restore page, select the backup job that contains the search backup, or a farm-level backup, from the list of backups, and then click Next. You can view more details about each backup by clicking the (+) next to the backup.

    Note:

    If the correct backup job does not appear, in the Backup Directory Location text box, type the Universal Naming Convention (UNC) path of the correct backup folder, and then click Refresh.

    You cannot use a configuration-only backup to restore search.

  4. On the Restore from Backup — Step 2 of 3: Select Component to Restore page, expand the Shared Services Applications node.

  5. Select the check box that is next to the Search service application that you want to restore, and then click Next.

  6. On the Restore from Backup — Step 3 of 3: Select Restore Options page, in the Restore Component section, make sure that Farm\Shared Services Applications\<SearchServiceApplication> appears in the Restore the following content list.

    In the Restore Options section, under Type of restore, select the Same configuration option. If you select this option, a dialog box appears that asks you to confirm the operation. Click OK.

  7. Click Start Restore.

    You can view the general status of all recovery jobs at the top of the Backup and Restore Job Status page in the Readiness section. You can view the status for the current recovery job in the lower part of the page in the Restore section. The status page updates every 30 seconds automatically. You can manually update the status details by clicking Refresh. Backup and recovery are timer service jobs. Therefore, it may take a several seconds for the recovery to start.

    If you receive any errors, you can review them in the Failure Message column of the Backup and Restore Job Status page. You can also find more details in the Sprestore.log file at the UNC path that you specified in step 3.

  8. You must also restore the service application proxy. To do this, in Central Administration, on the Home page, in the Backup and Restore section, click Restore from a backup.

  9. On the Restore from Backup — Step 1 of 3: Select Backup to Restore page, select the backup job that contains the search backup, or a farm-level backup, from the list of backups, and then click Next. You can view more details about each backup by clicking the (+) next to the backup.

    Note:

    If the correct backup job does not appear, in the Backup Directory Location text box, type the Universal Naming Convention (UNC) path of the correct backup folder, and then click Refresh.

    You cannot use a configuration-only backup to restore search.

  10. On the Restore from Backup — Step 2 of 3: Select Component to Restore page, expand the Shared Services Proxies node.

  11. Select the check box that is next to the Search service application proxy, and then click Next.

  12. On the Restore from Backup — Step 3 of 3: Select Restore Options page, in the Restore Component section, make sure that Farm\Shared Services\Shared Services Proxies\<Search service application proxy name> appears in the Restore the following content list.

    In the Restore Options section, under Type of restore, select the Same configuration option. If you select this option, a dialog box appears that asks you to confirm the operation. Click OK.

  13. Click Start Restore.

    You can view the general status of all recovery jobs at the top of the Backup and Restore Job Status page in the Readiness section. You can view the status for the current recovery job in the lower part of the page in the Restore section. The status page updates every 30 seconds automatically. You can manually update the status details by clicking Refresh. Backup and recovery are timer service jobs. Therefore, it may take a several seconds for the recovery to start.

    If you receive any errors, you can review them in the Failure Message column of the Backup and Restore Job Status page. You can also find more details in the Sprestore.log file at the UNC path that you specified in step 3.

  14. If you re-encrypted the credentials for the default content access account and crawl rules before backing up the Search service application, you must decrypt them by using the To decrypt the credentials for the default content access account and crawl rules by using Windows PowerShell procedure later in this article

  15. After the restore operation in finished, the Search service application is paused. To start the service, do the following:

    1. In Central Administration, on the Home page, in the System Settings section, click Manage services on server.

    2. On the Services on Server page, in the SharePoint Server Search row, in the Action column, click Start.

Use SQL Server tools to restore search

If you cannot use either the Windows PowerShell or Central Administration to restore the Search service application and associated data, you can manually restore them by using SQL Server tools. You must follow these steps:

  1. Create and configure the Search service application.

  2. Use SQL Server tools to restore all the databases associated with Search service application.

  3. Import all of the index files for all query components.

  4. Edit and restore the search topology XML file.

  5. Decrypt the credentials for the default content access account and crawl rules.

  6. Restart the Search service application.

To create and configure a new Search service application

  1. If the Search service application was deleted or became corrupted, you must create a new Search service application. For information about how to create a Search service application, see Create and configure a new Search service application (SharePoint Server 2010).

To restore all the databases associated with a Search service application by using SQL Server tools

  1. Verify that the user account performing this procedure is a member of the sysadmin fixed server role.

  2. If the SharePoint 2010 Timer service is running, stop the service and wait for several minutes for any currently running stored procedures to finish. Do not restart the service until after you restore the databases.

  3. Start SQL Server Management Studio and connect to the database server.

  4. In Object Explorer, expand Databases.

  5. Right-click the database that you want to restore, point to Tasks, point to Restore, and then click Database.

    The database is automatically taken offline during the recovery operation and cannot be accessed by other processes.

  6. In the Restore Database dialog box, specify the destination and the source, and then select the backup set or sets that you want to restore.

    The default values for destination and source are appropriate for most recovery scenarios.

  7. In the Select a page pane, click Options.

  8. In the Restore options section, select only Overwrite the existing database. Unless the environment or policies require otherwise, do not select the other options in this section.

  9. In the Recovery state section:

    • If you have included all the transaction logs that you must restore, select RECOVER WITH RECOVERY.

    • If you must restore additional transaction logs, select RECOVER WITH NORECOVERY.

    • The third option, RECOVER WITH STANDBY is not used in this scenario.

      Note:

      For more information about these recovery options, see Restore Database (Options Page) (http://go.microsoft.com/fwlink/p/?LinkId=114420).

  10. Click OK to complete the recovery operation.

  11. Repeat steps 4 through 10 for each database that you are restoring.

  12. Start the SharePoint 2010 Timer service.

To copy all of the index files for all query components

  1. Verify that the user account that performs this procedure is an administrator of the Search service application.

  2. Navigate to the backup share where you backed up the index, and then copy the complete folder to the index location. You will type the path of this folder in these steps below.

  3. In Central Administration, on the Home page, in the Application Management section, click Manage service applications.

  4. On the Service Applications page, click the Search service application for which you want to copy the index files.

  5. On the Search Administration page, in the Search Application Topology section, click Modify.

  6. On the Mange Search Topology page, under Index Partition, select the query component, and then click Edit Properties.

  7. In the Edit Query Component dialog box, type the path of the index, and then click OK.

  8. On the Mange Search Topology page, under Crawl , select the crawl component, and then click Edit Properties.

  9. In the Edit Crawl Component dialog box, type the path of the crawl component and click OK.

  10. On the Manage Search Topology page, click OK.

  11. If you have more than one query component, follow these steps for each.

    Note:

    The information in the index is only as recent as the time it was backed up. To have more recent information in the index, you must crawl content again.

  12. When you are finished, click OK on the Manage Search Topology page.

To edit and import the search topology XML file by using Windows PowerShell

  1. If the new search topology is not identical to the previous topology (that you backed up), you must edit the exported topology XML file to match the new topology.

  2. After editing the exported search topology XML file, you can import the file by using these steps:

  3. At the Windows PowerShell command prompt, type the following command:

    Copy Code
    Restore-SPEnterpriseSearchServiceApplication -Name <SearchServiceApplicationName> -ApplicationPool <ApplicationPoolName>-TopologyFile <Path>

    Where:

    • <SearchServiceApplicationName> is the name of the Search service application.

    • <ApplicationPoolNname> is the name of the new application pool for the Search service application. This application pool cannot already exist.

    • <Path> is the full path and file name of the exported topology file. For example, E:\Backups\Search\SearchTopology.xml.

To decrypt the credentials for the default content access account and crawl rules by using Windows PowerShell

  1. If you re-encrypted the credentials for the default content access account and crawl rules before backing up the Search service application, you must decrypt them by typing the following command:

    Copy Code
    $ssa = Get-SPenterpriseSearchServiceApplication <SearchServiceApplicationName>
$ssa.ReEncryptExistingPasswords <Password>

    Where:

    • <SearchServiceApplicationName> is the name of the Search service application that you are restoring.

    • <Password> is a strong password that you used to re-encrypt the credentials for the default content access account and crawl rules before you backed up the Search service application.

To restart the Search service application by using Windows PowerShell

  1. At the Windows PowerShell command prompt, type the following command:

    Copy Code
    $ssa = Get-SPEnterpriseSearchServiceApplication <SearchServiceApplicationName>;
$ssa.Resume();

    Where:

    • <SearchServiceApplicationName> is name of the Search service application.


Restore secure store services in SharePoint Server 2010
See Also

In Microsoft SharePoint Server 2010, the Secure Store Service replaces Microsoft Office SharePoint Server 2007 Single Sign-on (SSO). The Secure Store Service provides the capability of securely storing credential sets and associating credentials to specific identities or a group of identities.

Every time you enter a new passphrase, SharePoint Server 2010 creates a new Master Key and re-encrypts the credentials sets with that key. The passphrase gives you access to the Master Key created by SharePoint Server 2010 that is used to encrypt the credential sets.

Important:

You will need the passphrase that was recorded when the Secure Store Service was backed up to restore the Secure Store Service.

Procedures in this task:

  • Use Central Administration to restore the Secure Store Service in SharePoint

  • Use Windows PowerShell to restore the Secure Store Service in SharePoint

Use Central Administration to restore the Secure Store Service in SharePoint

Use the following procedure to restore the Secure Store Service by using the SharePoint Central Administration Web site.

To restore the Secure Store Service by using Central Administration

  1. Verify that the user account performing this procedure is a member of the Farm Administrators group.

  2. In Central Administration, on the Home page, in the Backup and Restore section, click Restore from a backup.

  3. On the Restore from Backup — Step 1 of 3: Select Backup to Restore page, select the backup job that contains the backup that you want, or a farm-level backup, from the list of backups, and then click Next. You can view more details about each backup by clicking the (+) next to the backup.

    Note:

    If the correct backup job does not appear, in the Backup Directory Location text box, type the path of the correct backup folder, and then click Refresh.

    You cannot use a configuration-only backup to restore the Secure Store Service.

  4. On the Restore from Backup — Step 2 of 3: Select Component to Restore page, expand Shared Services Applications and select the check box that is next to the Secure Store Service application backup group, and then click Next.

  5. On the Restore from Backup — Step 3 of 3: Select Restore Options page, in the Restore Component section, make sure that Farm\Shared Services\Shared Services Applications\<Secure Store Service name> appears in the Restore the following component list.

    In the Restore Options section, under Type of restore, select the Same configuration option. A dialog box will appear that asks you to confirm the operation. Click OK.

    Click Start Restore.

  6. You can view the general status of all recovery jobs at the top of the Backup and Restore Job Status page in the Readiness section. You can view the status for the current recovery job in the lower part of the page in the Restore section. The status page updates every 30 seconds automatically. You can manually update the status details by clicking Refresh. Backup and recovery are Timer service jobs. Therefore, it may take a several seconds for the recovery to start.

    If you receive any errors, you can review them in the Failure Message column of the Backup and Restore Job Status page. You can also find more details in the Sprestore.log file at the path that you specified in step 3.

  7. After the restore operation has successfully completed, you must refresh the passphrase.

  8. In Central Administration, on the Home page, in the Application Management section, click Manage service applications.

  9. On the Service Applications page, click the Secure Store Service name. You might receive an error that says "Unable to obtain master key."

  10. On the Secure Store Service page, on the ribbon, click Refresh Key.

  11. In the Refresh Key dialog box, type the passphrase in the Pass Phrase box, and then click OK.

Use Windows PowerShell to restore the Secure Store Service in SharePoint

You can use Windows PowerShell to restore a the Secure Store Service.

To restore the Secure Store Service by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell command prompt (that is, PS C:\>), type the following command, and then press ENTER:

    Restore-SPFarm -Directory <Backup folder> -Item <Secure Store Service name> -RecoveryMethod Overwrite [-BackupId <GUID>] [-Verbose]

    To specify which backup to use, use the BackupId parameter. You can view the backups for the farm by typing the following: Get-SPBackupHistory -Directory <Backup folder> -ShowBackup. If you do not specify a value for the BackupId parameter, the most recent backup will be used. You cannot restore the Secure Store Service from a configuration-only backup.

    For more information, see Restore-SPFarm.

  6. After the restore operation has successfully completed, you must refresh the passphrase. At the Windows PowerShell command prompt (that is, PS C:\>), type the following command, and then press ENTER:

    Update-SPSecureStoreApplicationServerKey -Passphrase <Passphrase>

    For more information, see Update-SPSecureStoreApplicationServerKey.

See Also

Concepts

Back up the Secure Store service in SharePoint Server 2010


Restore a content database in SharePoint Server 2010
See Also

You can restore any content database or several content databases, one at a time. For information about how to back up all the content databases in a farm at the same time, see Back up a farm in SharePoint Server 2010.

Note:

SharePoint Server 2010 restores up remote Binary Large Objects (BLOB) stores but only if you are using the SQL Filestream remote BLOB store provider to place data in remote BLOB stores.

If you are using another provider you must manually restore these remote BLOB stores.

Note:

If a user has taken copies of content for off-line editing in Microsoft SharePoint Workspace 2010 and the content is restored from a backup on the server, when the user re-connects, the server automatically synchronizes the off-line content with the restored content. This might result in data loss on the user's copies of the content.

Procedures in this task:

  • Use Windows PowerShell to restore a SharePoint content database

  • Use Central Administration to restore a SharePoint content database

  • Use SQL Server tools to restore a SharePoint content database

Use Windows PowerShell to restore a SharePoint content database

You can use Windows PowerShell to restore a content database.

To restore a content database by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell command prompt (that is, PS C:\>), type the following command, and then press ENTER:

    Restore-SPFarm -Directory <Backup folder name> -RestoreMethod Overwrite -Item <Content database name> [-BackupId <GUID>] [-Verbose]

    Note:

    If you are not logged on as the Farm account, you are prompted for the Farm account's credentials.

    If you do not use the BackupId parameter, the most recent backup will be used. To view a list of the backups, including their Backup IDs, type the following command, and then press ENTER:

    Get-SPBackupHistory -Directory <Backup folder>

For more information, see Restore-SPFarm.

Note:

We recommend that you use Windows PowerShell when performing command-line administrative tasks. The Stsadm command-line tool has been deprecated, but is included to support compatibility with previous product versions.

Use Central Administration to restore a SharePoint content database

You can use Central Administration to restore a farm or components of a farm.

To restore a content database by using Central Administration

  1. Verify that you are logged on as a member of the Farm Administrators group.

  2. In Central Administration, on the Home page, in the Backup and Restore section, click Restore from a backup.

  3. On the Restore from Backup — Step 1 of 3: Select Backup to Restore page, from the list of backups, select the backup job that contains the content database backup, and then click Next.

    Note:

    If the correct backup job does not appear, in the Current Directory Location text box, enter the path of the correct backup folder, and then click Refresh.

  4. On the Restore from Backup — Step 2 of 3: Select Component to Restore page, select the check box that is next to the content database, and then click Next.

    Note:

    If the content database is not selectable, you must use Windows PowerShell or SQL Server tools to restore the content database.

  5. On the Restore from Backup — Step 3 of 3: Select Restore Options page, in the Restore Options section, under Type of Restore, click the Same configuration option. A dialog box appears that asks you to confirm the operation. Click OK.

    Click Start Restore.

  6. You can view the general status of all recovery jobs at the top of the Backup and Restore Job Status page in the Readiness section. You can view the status for the current recovery job in the lower part of the page in the Restore section. The status page updates every 30 seconds automatically. You can manually update the status details by clicking Refresh. Backup and recovery are Timer service jobs. Therefore, it may take several seconds for the recovery to start.

    If you receive any errors, you can review them in the Failure Message column of the Backup and Restore Job Status page. You can also find more details in the Sprestore.log file at the UNC path that you specified in step 2.

Use SQL Server tools to restore a SharePoint content database

You can use SQL Server tools to restore a content database by following these steps:

  1. If possible, back up the live transaction log of the content database to protect any changes that were made after the last full backup.

  2. Restore the last full database backup.

  3. Restore the most recent differential database backup that occurred after the most recent full database backup.

  4. Restore all transaction log backups that occurred after the most recent full or differential database backup.

To restore a content database by using SQL Server tools

  1. Verify that the user account performing this procedure is a member of the sysadmin fixed server role.

  2. If the Windows SharePoint Services Timer service is running, stop the service and wait for several minutes for any currently running stored procedures to finish. Do not restart the service until after you restore the content databases.

  3. Start SQL Server Management Studio and connect to the database server.

  4. In Object Explorer, expand Databases.

  5. Right-click the database that you want to restore, point to Tasks, point to Restore, and then click Database.

    The database is automatically taken offline during the recovery operation and cannot be accessed by other processes.

  6. In the Restore Database dialog box, specify the destination and the source, and then select the backup set or sets that you want to restore.

    The default values for destination and source are appropriate for most recovery scenarios.

  7. In the Select a page pane, click Options.

  8. In the Restore options section, select only Overwrite the existing database. Unless the environment or policies require otherwise, do not select the other options in this section.

  9. In the Recovery state section:

    • If you have included all the transaction logs that you must restore, select RECOVER WITH RECOVERY.

    • If you must restore additional transaction logs, select RECOVER WITH NORECOVERY.

    • The third option, RECOVER WITH STANDBY is not used in this scenario.

      Note:

      For more information about these recovery options, see Restore Database (Options Page) (http://go.microsoft.com/fwlink/p/?LinkId=114420).

  10. Click OK to complete the recovery operation.

  11. Repeat steps 4 through 10 for each database that you are restoring.

  12. Start the Windows SharePoint Services Timer service.

See Also

Concepts

Back up a content database in SharePoint Server 2010

Other Resources

Resource Center: Business Continuity Management for SharePoint Server 2010


Attach and restore a read-only content database (SharePoint Server 2010)
See Also

A Microsoft SharePoint Server 2010 farm in which content databases have been set to be read-only can be part of a failure recovery environment that runs against mirrored or log-shipped content databases or part of a highly available maintenance or patching environment that provides user access when another version of the farm is being updated. When you re-attach the read-only databases, they become read-write.

For more information about how to use read-only databases, see Run a farm that uses read-only databases (SharePoint Server 2010).

Use Windows PowerShell to attach and restore a read-only content database

You can use only Windows PowerShell to attach and restore a read-only content database.

To attach and restore a read-only content database by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell command prompt (that is, PS C:\>), type the following command, and then press ENTER:

    Mount-SPContentDatabase -Name <Database name> -WebApplication <Web application ID> [-Verbose]

    Note:

    Attaching a content database by using the Mount-SPContentDatabase cmdlet differs from attaching a database in SQL Server by using SQL Server tools. Mount-SPContentDatabase associates the content database with a Web application so that the contents can be read.

For more information, see Mount-SPContentDatabase.

Note:

We recommend that you use Windows PowerShell when performing command-line administrative tasks. The Stsadm command-line tool has been deprecated, but is included to support compatibility with previous product versions.

See Also

Other Resources

Resource Center: Business Continuity Management for SharePoint Server 2010


Recover content from an unattached content database (SharePoint Server 2010)

Published: June 16, 2011

You can restore or copy content, such as sites, site collections, lists, or document libraries, from a content database without having to attach the content database to the farm.

Important:

The SharePoint 2010 Service Pack 1 (SP1) upgrade process alters the schema of all content databases. Because of these changes, you might need to take additional steps to restore a backup that you made before the farm was upgraded to SP1 to the farm after it is upgraded to SP1. For more information about doing this, see Restore pre-SP1 backups to an SP1 farm (SharePoint Server 2010).

Use Windows PowerShell to recover content from an unattached content database in SharePoint

You can recover content from an unattached content database by using Windows PowerShell.

To recover content from an unattached content database by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell command prompt, type the following command:

    Copy Code
    Get-SPContentDatabase -ConnectAsUnattachedDatabase  -DatabaseName <DatabaseName> -DatabaseServer <DatabaseServer>

    Where:

    • <DatabaseName> is the name of the unattached database from which you want to recover content.

    • <DatabaseServer> is the name of the database server that hosts the unattached database from which you want to recover content.

For more information, see Get-SPContentDatabase.

Note:

We recommend that you use Windows PowerShell when performing command-line administrative tasks. The Stsadm command-line tool has been deprecated, but is included to support compatibility with previous product versions.

Use Central Administration to recover content from an unattached content database in SharePoint

You can recover content from an unattached content database by using Central Administration.

To recover content from an unattached content database by using Central Administration

  1. Verify that the user account that is performing this procedure is a member of the Farm Administrators group and is a member of the db_owner fixed database role.

  2. In Central Administration, on the Home page, click Backup and Restore.

  3. On the Backup and Restore page, in the Granular Backup section, click Recover data from an unattached content database.

  4. On the Unattached Content Database Data Recovery page, type the database server name in the Database Server text box and type the database name in the Database Name text box.

  5. Select the database authentication method that you want to use.

  6. Select the Browse content option, and then click Next.

    Click Start Restore.

  7. On the Browse content page, select the site collection, site, and or list that you want to restore, select the Backup site collection or Export site or list option, and then click Next.

    Complete the process to restore the content. For more information about using the Backup site collection option, see Back up a site collection in SharePoint Server 2010. For more information about using the Export site or list option, see Export a site, list, or document library in SharePoint Server 2010.


Restore customizations in SharePoint Server 2010
See Also

This article describes how to restore customizations that have been made to sites in a Microsoft SharePoint Server farm.

This article assumes that you are familiar with the concepts and procedures in Back up customizations in SharePoint Server 2010.

In this article:

  • Restoring solution packages in SharePoint Server

  • Restoring authored site elements in SharePoint

  • Restoring workflows in SharePoint

  • Restoring changes to the Web.config file in SharePoint

  • Recovering changes made by direct editing in SharePoint

  • Restoring developed customizations that are not packaged as solutions in SharePoint

Restoring solution packages in SharePoint Server

The method that you use to restore solution packages is determined by whether the customizations were deployed as trusted solutions or sandboxed solutions.

Trusted solutions are solutions that farm administrators deploy. They are deployed to the entire farm, and can be used on any site within the farm. Trusted solutions are stored in the configuration database. Trusted solutions are backed up when a farm is backed up by using SharePoint Server 2010 backup, and are included in configuration-only backups, and can also be backed up as a group, or individually. They are visible in the restore hierarchy.

Sandboxed solutions are solutions that site collection administrators can deploy to a single site collection. Sandboxed solutions are stored in the content database associated with the site collection that they are deployed to. They are included in SharePoint Server 2010 farm, Web application, content database, and site collection backups, but are not visible in the restore hierarchy, and cannot be selected or restored individually.

We recommend that you keep a backup of the original .wsp file as well as the source code used to build the .wsp file for both trusted and sandboxed solutions.

To restore a trusted solution by using Central Administration

  1. Verify that the user account that is performing this procedure is a member of the Farm Administrators SharePoint group.

  2. In Central Administration, on the Home page, in the Backup and Restore section, click Restore from a backup.

  3. On the Restore from Backup — Step 1 of 3: Select Backup to Restore page, from the list of backups, select the backup job that contains the solution package, and then click Next. You can view more details about each backup by clicking the (+) next to the backup.

    Note:

    If the correct backup job does not appear, in the Backup Directory Location text box, type the Universal Naming Convention (UNC) path of the correct backup folder, and then click Refresh.

  4. On the Restore from Backup — Step 2 of 3: Select Component to Restore page, select the check box that is next to the solution, and then click Next.

  5. On the Restore from Backup — Step 3 of 3: Select Restore Options page, in the Restore Component section, ensure that Solution appears in the Restore the following component list.

    In the Restore Only Configuration Settings section, ensure that the Restore content and configuration settings option is selected.

    In the Restore Options section, under Type of Restore, select the Same configuration option. A dialog box appears that asks you to confirm the operation. Click OK.

    Click Start Restore.

  6. You can view the general status of all recovery jobs at the top of the Backup and Restore Job Status page in the Readiness section. You can view the status for the current recovery job in the lower part of the page in the Restore section. The status page updates every 30 seconds automatically. You can manually update the status details by clicking Refresh. Backup and recovery are Timer service jobs. Therefore, it may take several seconds for the recovery to start.

    If you receive any errors, you can review them in the Failure Message column of the Backup and Restore Job Status page. You can also find more details in the Sprestore.log file at the UNC path that you specified in step 3.

To restore a trusted solution by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell command prompt, type the following command:

    Copy Code
    Restore-SPFarm -Directory <BackupFolder> -RestoreMethod Overwrite -BackupId <GUID> -Item <SolutionPath>

    Where:

    • <BackupFolder> is the UNC location of the directory that you want to restore from.

    • <GUID> is the GUID of the backup ID that you want to restore from. If you do not specify a backup, the most recent one is used.

    • <SolutionPath> is the path of the solution within the backup tree (usually farm\solutions\SolutionName).

For more information, see Restore-SPFarm.

Note:

We recommend that you use Windows PowerShell when performing command-line administrative tasks. The Stsadm command-line tool has been deprecated, but is included to support compatibility with previous product versions.

Restoring a sandboxed solution

You cannot restore only customizations that were deployed as sandboxed solutions. Instead, you must restore the farm, Web application, content database, or site collection with which the customization is associated. For more information about these methods of restoring, see Related content later in this article.

Restoring authored site elements in SharePoint

You cannot restore only authored site elements. Instead, you must restore the farm, Web application, or content database with which the authored site element is associated. For more information about these methods of backing up, see Related content.

Restoring workflows in SharePoint

Workflows are a special case of customizations that you can restore. Make sure that the backup and recovery plan includes any of the following scenarios that apply to the environment:

  • Declarative workflows, such as those created in Microsoft SharePoint Designer 2010, are stored in the content database for the site collection to which they are they are deployed. Restoring the content database or site collection restores these workflows.

  • Custom declarative workflow actions have components in the following three locations:

    1. The Microsoft Visual Studio 2010 assemblies for the actions are stored in the global assembly cache (GAC).

    2. The XML definition files (.actions files) are stored in the 14\TEMPLATE\<LCID>\Workflow directory.

    3. An XML entry to mark the action as an authorized type is stored in the Web.config file for the Web applications in which it is used.

    If the farm workflows use custom actions, you should use a file restore system to restore these files and XML entries. You can reapply the files as needed after recovery.

  • Workflows that depend on custom code, such as those that are created by using Visual Studio 2010, are stored in two locations. The Visual Studio 2010 assemblies for the workflow are stored in the GAC, and the XML definition files are stored in the Features directory. This is the same as other types of SharePoint Server features such as Web Parts and event receivers. If the workflow was installed as part of a solution package, follow the instructions for restoring solution packages.

  • If you create a custom workflow that interacts with a site collection other than the one where the workflow is deployed, you must restore both site collections to recover the workflow. Restoring a farm is sufficient to recover all site collections in the farm and all workflows that are associated with them.

  • Workflows that have not been deployed must be restored separately by using a file system backup application.

Restoring changes to the Web.config file in SharePoint

You can recover changes to the Web.config file made by using Central Administration or the SharePoint Server 2010 APIs and object model by performing a farm or configuration-only restore.

You should use a file system backup to protect changes to the Web.config file that are not made by using Central Administration or the SharePoint APIs and object model. You can recover the backup by using a file system restore.

Recovering changes made by direct editing in SharePoint

Changes made directly to a site by directly editing through the browser can be difficult to recover. The following table describes recovery strategies for specific objects.

Edited object | Backup strategy
List | If you have used SharePoint Designer 2010 to save as a template, you can deploy and activate the template. For more information, see Save a SharePoint site as a template (http://go.microsoft.com/fwlink/p/?LinkID=199515).
Site | If you have used SharePoint Designer 2010 to save as a template, you can deploy and activate the template. For more information, see Save a SharePoint site as a template (http://go.microsoft.com/fwlink/p/?LinkID=199515).
Site collection | Use site collection recovery. For more information, see Restore a site collection in SharePoint Server 2010.

Restoring developed customizations that are not packaged as solutions in SharePoint

Restoring developed customizations that are not packaged as solutions can be a complex process because the customization file locations are not standardized.

Consult with the development team or customization vendor to determine whether the customizations involve additional add-in software or files in other locations. We recommend that you restore directories with a file system restore solution. The following table lists locations where customizations are typically stored on Web servers.

Location | Description
%COMMONPROGRAMFILES%\Microsoft Shared\Web Server Extensions\14 | Commonly updated files, custom assemblies, custom templates, custom site definitions
Inetpub | Location of IIS virtual directories
%WINDIR%\Assembly | Global assembly cache (GAC): a protected operating system location where the Microsoft .NET Framework code assemblies are installed to provide full system access

Related content

Resource Center | Business Continuity Management for SharePoint Server 2010: Backup, Recovery, Availability, and Disaster Recovery (http://go.microsoft.com/fwlink/p/?LinkID=199235)
IT Pro content | Deploy customizations - overview (SharePoint Server 2010) Back up customizations in SharePoint Server 2010 Restore a farm in SharePoint Server 2010 Restore a farm configuration in SharePoint Server 2010 Restore a Web application in SharePoint Server 2010 Restore a content database in SharePoint Server 2010 Restore a site collection in SharePoint Server 2010
Developer content | Using solutions (MSDN) (http://go.microsoft.com/fwlink/p/?LinkID=156638) Sandboxed solutions (MSDN) (http://go.microsoft.com/fwlink/p/?LinkID=199517)

See Also

Other Resources

Resource Center: Business Continuity Management for SharePoint Server 2010


Restore a site collection in SharePoint Server 2010
See Also

You can use only Windows PowerShell to restore a site collection.

Important:

The SharePoint 2010 Service Pack 1 (SP1) upgrade process alters the schema of all content databases. Because of these changes, you might need to take additional steps to restore a backup that you made before the farm was upgraded to SP1 to the farm after it is upgraded to SP1. For more information about doing this, see Restore pre-SP1 backups to an SP1 farm (SharePoint Server 2010).

Use Windows PowerShell to restore a site collection in SharePoint

You can use Windows PowerShell to restore a site collection manually or as part of a script that can be run at scheduled intervals.

Note:

If a user has taken copies of content for off-line editing in Microsoft SharePoint Workspace 2010 and the content is restored from a backup on the server, when the user re-connects, the server automatically synchronizes the off-line content with the restored content. This might result in data loss on the user's copies of the content.

To restore a site collection by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin. Additionally, verify that the user account performing this procedure has read permissions to the backup folder and is a member of the db_owner fixed database role on both the farm configuration database and the content database where the site collection is being restored.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell command prompt (that is, PS C:\>), type the following command, and then press ENTER:

    Restore-SPSite -Identity <Site collection URL> -Path <Backup file> [-DatabaseServer <Database server name>] [-DatabaseName <Content database name>] [-HostHeader <Host header>] [-Force] [-GradualDelete] [-Verbose]

    If you want to restore the site collection to a specific content database, use the DatabaseServer and DatabaseName parameters to specify the content database. If you do not specify a content database, the site collection will be restored to a content database chosen by Microsoft SharePoint Server 2010.

    If you are restoring a host-named site collection, use the Identity parameter to specify the URL of the host-named site collection and use the HostHeader parameter to specify the URL of the Web application that will hold the host-named site collection.

    If you want to overwrite an existing site collection, use the Force parameter.

    Note:

    If the site collection that you are restoring is 1 gigabyte or larger, you can use the GradualDelete parameter for better performance during the restore process. When this parameter is used, the site collection that is overwritten is marked as deleted, which immediately prevents any additional access to its content. The data in the marked site collection is then deleted gradually over time by a timer job instead of all at the same time, which reduces the impact on server performance.

For more information, see Restore-SPSite.

Note:

We recommend that you use Windows PowerShell when performing command-line administrative tasks. The Stsadm command-line tool has been deprecated, but is included to support compatibility with previous product versions.

See Also

Concepts

Back up a site collection in SharePoint Server 2010


Import a list or document library in SharePoint Server 2010
See Also

Although you can use either Windows PowerShell or Central Administration to export a site, list, or document library, you can use only Windows PowerShell to import a site, list, or document library. For information about how to export lists or libraries, see Export a site, list, or document library in SharePoint Server 2010.

You can use importing as a method of restoring the items, or as a method of moving or copying the items from one farm to another farm. You can import a site, list, or document library from a backup of the current farm, from a backup of another farm, or from a read-only content database. To import from a read-only content database, you must first attach the read-only database. For more information, see Attach and restore a read-only content database (SharePoint Server 2010).

Important:

You cannot import a site, list or document library exported from one version of Microsoft SharePoint Server to another version of SharePoint Server.

Import a site, list, or document library in SharePoint

You can use Windows PowerShell to manually import a site, list, or document library or as part of a script that can be run at regular intervals.

To import a site, list or document library by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell command prompt (that is, PS C:\>), type the following command, and then press ENTER:

    Import-SPWeb -Identity <Site URL> -Path <Export file name> [-Force] [-NoFileCompression] [-Verbose]

    Important:

    The site or subsite that you are importing must have a template that matches the template of the site specified by Identity.

    You can also use the Get-SPWeb cmdlet and pass the ID to Import-SPWeb by using the Windows PowerShell pipeline. The value of the Path parameter specifies the path and file name of the file from which to import the list or library. To include the user security settings with the list or document library, use the IncludeUserSecurity parameter. To overwrite the list or library that you specified, use the Force parameter. You can use the UpdateVersions parameter to specify how versioning conflicts will be handled. To view the progress of the operation, use the Verbose parameter.

    The NoFileCompression parameter lets you specify that no file compression is performed during the import process. Using this parameter can lower resource usage up to 30% during the export and import process. If you are importing a site, list, or document library that you exported from Central Administration, or if you exported a site, list, or document library by using Windows PowerShell and you did not use the NoFileCompression parameter in the Export-SPWeb cmdlet, you cannot use this parameter in the Import-SPWeb cmdlet.

    Note:

    There is no facility in the Import-SPWeb cmdlet import a subset of the items within the export file. Therefore, the import operation will import everything from the file.

For more information, see Import-SPWeb.

Note:

We recommend that you use Windows PowerShell when performing command-line administrative tasks. The Stsadm command-line tool has been deprecated, but is included to support compatibility with previous product versions.

See Also

Concepts

Export a site, list, or document library in SharePoint Server 2010


Restore pre-SP1 backups to an SP1 farm (SharePoint Server 2010)

Published: August 11, 2011

This article explains how to restore backups of databases that you made on farms before you installed SharePoint 2010 Service Pack 1 (SP1) to farms that have SP1 installed.

The SharePoint 2010 Service Pack 1 (SP1) upgrade process alters the schema of some farm databases and all content databases. Because of these changes, you might need to take additional steps to restore a backup that you made before the farm was upgraded to SP1 to the farm after it is upgraded to SP1. For more information about SP1, see Service Pack 1 (SP1) for SharePoint Foundation 2010 and SharePoint Server 2010.

Important:

We strongly recommend that you perform a full backup immediately after you upgrade to SP1.

In this article:

Restoring a pre-SP1 farm, Web application, or content database backup to an SP1 farm in SharePoint

Before you restore a pre-SP1 farm Web application or content database backup to an SP1 farm environment, you must use the procedure in this section to upgrade the backup to SP1.

To restore a pre-SP1 farm, Web application, or content database backup to an SP1 farm

  1. Restore the pre-SP1 farm backup by using the Central Administration Web site or Windows PowerShell. For more information about how to restore a farm backup, see Restore a farm in SharePoint Server 2010.

  2. Upgrade the content database to SP1 by running the Psconfig Upgrade command. For more information, see Psconfig command-line reference (SharePoint Server 2010).

Restoring a pre-SP1 site collection backup to an SP1 farm in SharePoint

Before you restore a pre-SP1 farm backup to an SP1 farm environment, you must use the procedure in this section to upgrade the backup to SP1.

Important:

You have to complete these procedures on a test farm that does not have SP1 installed.

To restore a pre-SP1 farm, Web application, or content database backup to an SP1 farm

  1. Restore the pre-SP1 site collection backup to a pre-SP1 test farm. For more information see, Restore a site collection in SharePoint Server 2010.

  2. Upgrade the test farm to SP1.

  3. Perform a site collection backup on the test farm. For more information see, Back up a site collection in SharePoint Server 2010.

  4. Restore the site collection backup to the SP1 production farm. For more information see, Restore a site collection in SharePoint Server 2010.

Restoring content from a pre-SP1 unattached content database to an SP1 farm in SharePoint

Before you restore a pre-SP1 farm backup to an SP1 farm environment, you must use the procedure in this section to upgrade the backup to SP1.

To restore a pre-SP1 farm, Web application, or content database backup to an SP1 farm

  1. Attach the pre-SP1 content database to an SP1 farm.

  2. Run the Psconfig Upgrade command to upgrade the content database to SP1. For more information, see Psconfig command-line reference (SharePoint Server 2010).

  3. Detach the content database from the SP1 farm by following the directions in Attach or detach content databases (SharePoint Server 2010).

  4. Recover content from the unattached content database by following the procedure in Recover content from an unattached content database (SharePoint Server 2010).


Database management (SharePoint Server 2010)
See Also

This section describes techniques for managing the databases that are associated with Microsoft SharePoint Server 2010.

In this section:

  • Add a content database (SharePoint Server 2010)

    Adding a content database to an existing Web application is a common task. This article describes how to add a content database to an existing SharePoint Server 2010 implementation.

  • Attach or detach content databases (SharePoint Server 2010)

    Certain operations, such as applying updates or creating copies of configuration settings, require that you detach and then attach databases. This article describes how to do these procedures.

  • Move site collections between databases (SharePoint Server 2010)

    Under some circumstances, you might want to move one or more site collections to a different content database. For example, a site collection can outgrow the content database on which it is located, and you would have to move the site collection to a larger content database. Conversely, if site collections do not grow to their expected capacity, it might be convenient to combine several site collections onto one content database. This article describes how to move site collections between databases.

  • Move content databases (SharePoint Server 2010).

    This article describes how to move content databases between servers that are running Microsoft SQL Server, between instances of SQL Server, or from one Microsoft SharePoint Server 2010 Web application to another. You can also move a content database to load balance a database server or Web application.

  • Rename or move service application databases (SharePoint Server 2010)

    This article describes how to rename or move service application databases by using SQL Server, and then how to point the service application to the renamed or moved database. This can be a complex process because different types of service applications require different methods of pointing to the new database name or location. This article directs you to the supported method of pointing to a renamed or moved database for each service application.

  • Move all databases (SharePoint Server 2010)

    This article describes how to move all of the databases associated with SharePoint Server 2010 from one database server to another database server. If your databases are hosted on different servers, this procedure applies to the database server that hosts the configuration database.

  • Scale out collaboration sites (SharePoint Server 2010)

    This article describes how to move RBS-enabled collaboration sites from content databases that are larger than 200 GB to smaller content databases to achieve greater performance and to meet support requirements.

  • Run a farm that uses read-only databases (SharePoint Server 2010)

    A read-only farm can be part of a disaster recovery environment. Alternatively, it can be part of a highly available maintenance, patching, or upgrade environment that provides user access while another version of the farm is being updated. This article describes how to run a SharePoint Server 2010 farm in which content databases are set to be read-only (a read-only farm).

  • Managing Multi-Terabyte Content Databases with SharePoint 2010 (white paper)

    This paper provides guidance and procedures for administering content databases in three size ranges: up to 200 gigabytes (GB), 200 GB-4 terabytes (TB), and larger than 4 TB.

  • Database maintenance for SharePoint 2010 Products

    This white paper provides information and guidelines for maintaining the databases that host data and configurations for SharePoint 2010 Products.

  • Manage RBS (SharePoint Server 2010)

    Remote BLOB Storage (RBS) is an add-on feature pack for Microsoft SQL Server 2008. RBS is designed to move the storage of binary large objects (BLOBs) from database servers to commodity storage solutions. If the content databases in SharePoint Server 2010 are 4 gigabytes (GB) or larger, consider using RBS as part of your data storage solution. This article introduces RBS.

See Also

Concepts

Database types and descriptions (SharePoint Server 2010)

Other Resources

Resource Center: Operations and Manageability for SharePoint Server 2010
Resource Center: SQL Server and SharePoint Server 2010 Databases


Add a content database (SharePoint Server 2010)
See Also

You can use the procedures that are described in this article to create a new content database and attach it to a Web application.

In this article:

  • To add a content database to a Web application by using Central Administration

  • To add a content database to a Web application by using Windows PowerShell

To add a content database to a Web application by using Central Administration

  1. Verify that the user account that is being used to perform this operation is a member of the Farm Administrators SharePoint group. If you are using Windows authentication to connect to SQL Server, the user account must also be a member the SQL Server dbcreator fixed server role on the SQL Server instance where the database will be created. If you are using SQL authentication to connect to SQL Server, the SQL authentication account that you specify when you create the content database must have dbcreator permission on the SQL Server instance where the database will be created.

  2. On the SharePoint Central Administration Web site, click Application Management.

  3. In the Databases section, click Manage content databases.

  4. On the Manage Content Databases page, click Add a content database.

  5. On the Add Content Database page:

    1. Specify a Web application for the new database.

    2. Specify a database server to host the new database.

    3. Specify the authentication method that the new database will use and supply an account name and password, if they are necessary.

      Important:

      The account name and password must already exist as a SQL Server login.

    4. Specify the name of the failover database server, if one exists.

    5. Specify the number of top-level sites that can be created before a warning is issued. By default, this is 2,000.

    6. Specify the total number of top-level sites that can be created in the database. By default, this is 5,000.

      Note:

      For information about how to determine the number of top-level sites that the system can support, see Performance and capacity technical case studies (SharePoint Server 2010).

    7. Click OK.

To add a content database to a Web application by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin. If you are using Windows authentication to connect to SQL Server, the user account must also be a member the SQL Server dbcreator fixed server role on the SQL Server instance where the database will be created. If you are using SQL authentication to connect to SQL Server, the SQL authentication account that you specify when you create the content database must have dbcreator permission on the SQL Server instance where the database will be created.

  2. On the Start menu, click Administrative Tools.

  3. Click SharePoint 2010 Management Shell.

  4. At the Windows PowerShell command prompt, type the following command:

    Copy Code
    New-SPContentDatabase -Name <ContentDbName> -WebApplication <WebApplicationName>

    Where <ContentDbName> is the name of the content database to create and <WebApplicationName> is the name of the Web application to which the new database is attached.

    For more information, see New-SPContentDatabase.

Note:

To attach an existing content database to a Web application, use the Windows PowerShell cmdlet Mount-SPContentDatabase. For more information, see Mount-SPContentDatabase.

We recommend that you use Windows PowerShell when performing command-line administrative tasks. The Stsadm command-line tool has been deprecated, but is included to support compatibility with previous product versions.

See Also

Concepts

Attach or detach content databases (SharePoint Server 2010)
Move site collections between databases (SharePoint Server 2010)


Attach or detach content databases (SharePoint Server 2010)
See Also

This article describes how to attach or detach Microsoft SharePoint Server 2010 content databases by using the SharePoint Central Administration Web site or by using Windows PowerShell 2.0.

You might want to attach or detach content databases in the following situations:

  • You want to add a new content database for new site collections to keep content databases at a manageable size.

  • You have restored a content database from another farm and you want the sites that it contains to be accessible from a Web application.

  • You have archived site collections and you no longer need as many content databases. You can move the remaining site collections out of a content database and then detach the content database from the Web application. For more information, see Move site collections between databases (SharePoint Server 2010).

The steps to add a database and to attach a database are very similar. For more information about how to add a database, see Add a content database (SharePoint Server 2010).

To attach a content database by using Central Administration

  1. Verify that the user account that is being used to perform this operation is a member of the Farm Administrators SharePoint group.

    If you want to create a new content database at the same time that you attach it, the SharePoint farm service account must be a member of the SQL Server dbcreator fixed server role. To attach a content database to a Web application, the SharePoint farm service account must have db_owner permission for the content database.

    Tip:

    If the database already exists, it must be the same version as the Microsoft SharePoint 2010 Products farm or this operation will fail. To attach a content database that is a different version than the farm, use the Windows PowerShell 2.0 command in the following section.

  2. On the SharePoint Central Administration Web site, click Application Management.

  3. On the Application Management page, in the Databases section, click Manage content databases.

  4. On the Manage Content Databases page, click Add a content database.

  5. On the Add Content Database page:

    1. Use the Web Application drop-down menu to select the Web application to which you want to attach a content database.

    2. Specify the database server that hosts the database.

    3. Specify the database name. If the database does not already exist, it will be created.

    4. Specify the authentication method for the database, and supply an account name and password if you are using SQL authentication.

      Important:

      The account name and password must already exist as a SQL Server login. We recommend that you use Windows authentication instead of SQL authentication because, by default, SQL authentication sends an unencrypted password to the computer that is running SQL Server. If you use SQL authentication, the SQL account requires the same SQL permissions as the SharePoint farm service account.

    5. Click OK.

To detach a content database by using Central Administration

  1. Verify that the user account that is performing this procedure is a member of the Farm Administrators SharePoint group.

  2. On the SharePoint Central Administration Web site, click Application Management.

  3. On the Application Management page, in the Databases section, click Manage content databases.

  4. Select the Web application for which you want to detach a content database.

  5. Click the content database that you want to detach.

  6. On the Manage Content Database Settings page, select the Remove content database check box.

    If the content database contains data, you will receive a warning. Click OK to continue with the operation.

  7. Click OK to confirm the detachment, or click Cancel to stop the operation without detaching the database.

    After detaching the content database in Central Administration, the content database still exists in SQL Server. If you want to permanently remove the content database, you must do so by using a SQL Server procedure.

To attach or detach a content database by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin. The user account must also be a member of the SQL Serverdbcreator fixed server role on the SQL Server instance where the content database exists.

  2. If you are using the Remove-SPContentDatabase cmdlet to delete the content database from SQL Server at the same time that you detach it, you must also be a member of the SharePoint_Shell_Access role on the content database.

  3. On the Start menu, click All Programs.

  4. Click Microsoft SharePoint 2010 Products.

  5. Click SharePoint 2010 Management Shell.

  6. At the Windows PowerShell command prompt, type the appropriate command.

    • To attach an existing content database:

      Copy Code
      Mount-SPContentDatabase "<ContentDb>" -DatabaseServer "<DbServer>" -WebApplication http://SiteName

      Where:

      • <ContentDb> is the content database to be attached.

      • <DbServer> is the name of the database server.

      • http://SiteName is the name of the Web application to which the content database is being attached.

    • To detach a content database:

    Copy Code
    Dismount-SPContentDatabase "<ContentdBName>"

    Where <ContentdBName> is the name of the content database.

    Important:

    If you have multiple content databases that have the same name, you must use the content database GUID in this command instead of using the content database name. To retrieve the GUID of the content database, run the Get-SPContentDatabase cmdlet with no arguments.

    The Dismount-SPContentDatabase cmdlet detaches the content database from the Web application, but it does not delete the content database from SQL Server. After a content database is detached, you cannot delete it by using Windows PowerShell 2.0. You can only remove it by using SQL Server tools. If you want to delete the content database from SQL Server while you detach it, use the Remove-SPContentDatabase cmdlet instead.

For more information, see Mount-SPContentDatabase and Dismount-SPContentDatabase.

Note:

We recommend that you use Windows PowerShell when performing command-line administrative tasks. The Stsadm command-line tool has been deprecated, but is included to support compatibility with previous product versions.

See Also

Reference

Get-SPContentDatabase
New-SPContentDatabase
Remove-SPContentDatabase


Move site collections between databases (SharePoint Server 2010)
See Also

Published: March 17, 2011

Under some circumstances, you might want to move one or more site collections to a different content database. For example, a site collection can outgrow the content database on which it resides, and you would have to move the site collection to a larger content database. In Microsoft Office SharePoint Server 2007, this process was also known as splitting a content database because of the name of the Stsadm command that was used to perform the procedure. In Microsoft SharePoint Server 2010, it is more accurate to view this procedure as moving the site collection to a larger database.

On the other hand, if site collections do not grow to their expected capacity, it might be convenient to combine several site collections onto one content database. In Office SharePoint Server 2007, this process was also known as merging content databases. During this process, no content databases are actually merged — the site collections are moved to and consolidated on a new database.

This article describes how to prepare for and move site collections between content databases.

You can move site collections between content databases by using the Stsadm command-line tool or Windows PowerShell 2.0 commands. There is no graphical user interface for this task.

Tip:

You can also move site collections by using Backup and Restore procedures. For information about how to do this, see Back up a site collection in SharePoint Server 2010 and Restore a site collection in SharePoint Server 2010

To perform the procedures that are described in this article, verify that the user account has access to one of the servers on which Windows PowerShell 2.0 is running, and that the user account is a member of the following groups:

  • The db_owner fixed database role and the SharePoint_Shell_Access role in the SQL Server source content database, administration content database, destination content database, and configuration database.

  • The WSS_ADMIN_WPG group on the local computer.

For these procedures to work, the following conditions must be true:

  • The destination content database must already exist.

  • The source content database and destination content database must be located on the same instance of SQL Server.

  • The source content database and destination content database must be attached to the same Web application. For more information about how to add a content database to a Web application, see Add a content database (SharePoint Server 2010).

Important:

If you have applied the October 2010 cumulative update, the default behavior when moving site collections to another content database has changed. After the update is applied, auditing data is moved with the site collection. The auditing data is copied whether you use Central Administration or Windows PowerShell. This size of the auditing data varies depending upon the event collection settings for the site collection.

If the amount of auditing data is large, you can move the data to another database before moving the site collection. To do this, use the To archive and trim audit data by using Windows PowerShell procedure in this article.

In this article:

  • Determining the size of the source site collection

  • Moving site collections between content databases

Determining the size of the source site collection

Regardless of the reason for moving a site collection, you should always begin the task by determining the size of the site collection that is to be moved. You can then be sure that the destination hard disk can sufficiently contain the site collection contents. Verify that the destination hard disk has at least three times the free space that is required for the site collection.

Tip:

You can stay current about the space that site collections are using by creating site quotas and e-mail alerts. For more information about this feature, see Manage site quotas and locks (Office SharePoint Server).

To determine the size of the site collection

  1. On the Start menu, click All Programs.

  2. Click SharePoint 2010 Products.

  3. Click SharePoint 2010 Management Shell.

  4. At the Windows PowerShell 2.0 command prompt, type the following commands:

    Copy Code
    $used = (Get-SPSiteAdministration -Identity <http://ServerName/Sites/SiteName>).DiskUsed
    Copy Code
    $used

    Where:

    • <http://ServerName/Sites/SiteName> is the name of the site collection.

    The amount of disk space that is being used by the specified site collection is stored in the $used variable, and is displayed at the command prompt when the second command is run.

    Note:

    The amount of disk space that is displayed does not include the disk space used by the auditing data that will be moved with the site collection.

For more information, see Get-SPSiteAdministration.

To archive and trim audit data by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell command prompt, type the following command:

    Copy Code
    (Get-SPSite -Identity <http://ServerName/Sites/SiteName>).Audit.TrimAuditLog(deleteEndDate)

    Where:

    • <http://ServerName/Sites/SiteName> is the name of the site collection.

    To delete the audit data without archiving it first, type the following command:

    Copy Code
    (Get-SPSite -Identity <http://ServerName/Sites/SiteName>).Audit.DeleteEntries(deleteEndDate)

For more information, see Get-SPSite.

Moving site collections between content databases

You can use the Windows PowerShell command Move-SPSite to move site collections between content databases. Two procedures are provided here. The first procedure moves a single site collection to a new content database, and the second procedure moves multiple site collections to a new content database.

To move a single site collection

  • At the Windows PowerShell command prompt, type the following command:

    Copy Code
    Move-SPSite <http://ServerName/Sites/SiteName> -DestinationDatabase <DestinationContentDb>

    Where:

    • <http://ServerName/Sites/SiteName> is the name of the site collection.

    • <DestinationContentDb> is the name of the destination content database.

To move multiple site collections

  • At the Windows PowerShell command prompt, type the following command:

    Copy Code
    Get-SPSite -ContentDatabase <SourceContentDb> | Move-SPSite -DestinationDatabase <DestinationContentDb>

    Where:

    • <SourceContentDb> is the name of the original content database.

    • <DestinationContentDb> is the name of the destination content database.

    This command moves all site collections from the source content database to the destination content database.

For more information, see Move-SPSite.

Note:

We recommend that you use Windows PowerShell when performing command-line administrative tasks. The Stsadm command-line tool has been deprecated, but is included to support compatibility with previous product versions.

See Also

Concepts

Add a content database (SharePoint Server 2010)


Move content databases (SharePoint Server 2010)
See Also

Published: July 15, 2010

This article describes how you can move content databases between servers that are running Microsoft SQL Server, between instances of SQL Server, or from one Microsoft SharePoint Server 2010 Web application to another. You can move a content database to load-balance a database server or Web application.

Important:

This article only describes how to move content databases. For information about how to move other kinds of databases that are associated with SharePoint Server 2010, see Rename or move service application databases (SharePoint Server 2010) and Move all databases (SharePoint Server 2010).

Overview of moving content databases

When you move content databases, you must use both SharePoint Server 2010 tools and SQL Server tools. You can use either the SharePoint Server Central Administration Web site or Windows PowerShell 2.0. The following list summarizes how to move content databases:

  1. Record the name of the content database and which Web application it is associated with. For details, see To record which content databases are associated with each Web application.

  2. Pause any service applications and services that may attempt to run against the database, including timer jobs and search crawls. For details, see To pause timer jobs by using Windows PowerShell (option 1) or To pause timer jobs by using Central Administration (option 2).

  3. In SharePoint Server, remove the content database from the Web application. You can perform this action by using Central Administration or Windows PowerShell 2.0. In general, if you are only working with more than one database, it may be faster to write a Windows PowerShell 2.0 script. For details, see To detach the content databases from a Web application by using Central Administration (option 1) or To detach content databases from a Web application by using Windows PowerShell (option 2).

  4. In SQL Server, detach the database from the current instance. For details, see To detach the content databases from SQL Server.

  5. Using Windows Explorer, copy or move the .mdf, .ndf, and .ldf files associated with the database from the source location to the destination location. For details, see To move the content databases to a new location.

    Note:

    You can also back up and restore databases to move them. However, backup and recovery are not described in this article. For information, see Backup and recovery for SharePoint Server 2010.

  6. In SQL Server, attach the database to the new instance. For details, see To attach the content databases to the new instance of SQL Server.

  7. In SharePoint Server, add the content database to the destination Web application. Be sure that you use exactly the same name when you reattach the content database. Otherwise, SharePoint Server creates a new content database. You can use either Central Administration or Windows PowerShell 2.0 to perform this action. For details, see To attach the content databases to the Web application by using Central Administration (option 1) or To attach content databases to a Web application by using Windows PowerShell (option 2).

  8. Restart any service applications and services that should be run against the database, including timer jobs and search crawls. For details, see To restart timer jobs by using Windows PowerShell (option 1) or To restart timer jobs by using Central Administration (option 2).

Moving content databases

Note:

Membership in the Administrators group on the local computers is required to complete the following procedures. If you are running SharePoint Server 2010 in a least-privileged environment, and you are running procedures from within Central Administration, ensure that you have the following roles in SQL Server:

  • The dbowner fixed database role for the configuration database and the content database on the source server, in order to detach the content database.

  • The dbcreator and securityadmin fixed server roles on the destination server, in order to attach the database and configure SQL Server logins.

Note:

If you are moving a content database to a different farm, you must make the server farm account a member of the Administrators group on the database server during the restore process. This enables the account to replicate the security setting for the databases. This access level can be removed after the content database has been moved. For more information, see Account permissions and security settings (SharePoint Server 2010).

The destination farm must be running the same version or a later version of SharePoint Server 2010 than the source farm is running.

To record which content databases are associated with each Web application

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell command prompt, type the following command:

    Copy Code
    Get-SPContentDatabase -WebApplication <http://SiteName>

    Where <http://SiteName> is the URL of the Web application.

  6. Repeat for each Web application.

For more information, see Get-SPContentDatabase.

Note:

We recommend that you use Windows PowerShell when performing command-line administrative tasks. The Stsadm command-line tool has been deprecated, but is included to support compatibility with previous product versions.

To pause timer jobs by using Windows PowerShell (option 1)

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell command prompt, type the following command:

    Copy Code
    Get-SPTimerJob -webapplication <http://WebApplicationURL> | select name | Out-File <c:\timerjobfile.txt> -Append -Encoding ascii

ForEach($tmrjob in (Get-Content <c:\timerjobfile.txt>)) { Get-SPTimerJob -Identity $tmrjob | Disable-SPTimerjob }

    Where:

    • <http://WebApplicationURL> is the Web application associated with the content database that you are moving.

    • <c:\timerjobfile.txt> is the location of the file that you are creating that lists all timer jobs associated with the Web application.

For more information, see Get-SPTimerJob, Out-File, ForEach-Object, Get-Content, and Disable-SPTimerJob.

Note:

We recommend that you use Windows PowerShell when performing command-line administrative tasks. The Stsadm command-line tool has been deprecated, but is included to support compatibility with previous product versions.

To pause timer jobs by using Central Administration (option 2)

  1. Verify that the user account that is performing this procedure is a member of the Farm Administrators SharePoint group.

  2. In Central Administration, in the Monitoring section, click Check Job Status.

  3. For each scheduled job that runs against the content database that you are moving, click the job to open the Edit Timer Job page, click Disable, and then click OK.

  4. If you are running the Search service application and crawling the content database, follow the steps to pause the crawl in the article Start, pause, resume, or stop a crawl (SharePoint Server 2010).

To detach the content databases from a Web application by using Central Administration (option 1)

  1. Verify that the user account that is performing this procedure is a member of the Farm Administrators SharePoint group.

  2. In Central Administration, in the Application Management section, click Manage Content databases.

  3. On the Manage Content Databases page, click the content database that you want to move.

    The Manage Content Database Settings page opens.

    Note:

    If the content database does not appear in the list, it might be associated with another Web application. To select another Web application, on the Web Application menu, click Change Web Application.

  4. On the Manage Content Database Settings page, in the Remove Content Database section, select the Remove content database check box, and then click OK.

    Note:

    Removing the content database does not delete the database; it only removes the association of the database with the Web application.

  5. Repeat steps 3 and 4 for each content database that you want to move.

To detach content databases from a Web application by using Windows PowerShell (option 2)

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell command prompt, type the following command:

    Copy Code
    Dismount-SPContentDatabase "<ContentDB>"

    Where <ContentDB> is the name of the content database.

    Note:

    If you have multiple content databases that have the same name, you must use the content database GUID in this command instead of using the content database name. To retrieve the GUID of the content database, run the Get-SPContentDatabase cmdlet without arguments.

For more information, see Dismount-SPContentDatabase and Get-SPContentDatabase.

Note:

We recommend that you use Windows PowerShell when performing command-line administrative tasks. The Stsadm command-line tool has been deprecated, but is included to support compatibility with previous product versions.

To detach the content databases from SQL Server

  1. Verify that the user account that is performing this procedure is a member of the db_owner fixed database role on the database server where each database is stored.

  2. In SQL Server Management Studio, open the source SQL Server instance, and then expand the Databases node.

  3. Right-click the content database, point to Tasks, and then click Detach. Repeat this step for each content database that you want to move.

    Note:

    Use this procedure to move only content databases. Do not detach any other kinds of databases.

To move the content databases to a new location

  1. Verify that the user account that is performing this procedure has Write access to both the source and destination folders.

  2. Using Windows Explorer, locate the .mdf, .ldf, and .ndf files for the content databases.

  3. Select the .mdf, .ldf, and .ndf files for the database that you want to move and either copy or move them to the destination directory.

To attach the content databases to the new instance of SQL Server

  1. Verify that the user account that is performing this procedure is a member of the dbcreator fixed server role on the database server where each database is stored.

  2. In Management Studio, open the destination SQL Server instance.

  3. Right-click the Databases node, point to Tasks, and then click Attach.

  4. In the Attach Database dialog box, browse to where you transferred the .mdf, .ldf, and .ndf files, select the .mdf file for the database that you want to attach, and then click OK.

  5. Repeat for each content database that you are moving.

To attach the content databases to the Web application by using Central Administration (option 1)

  1. Verify that the user account that is performing this procedure is a member of the Farm Administrators group.

  2. In Central Administration, in the Application Management section, click Manage Content databases.

  3. On the Manage Content Databases page, click Add a content database.

  4. On the Add Content Database page, verify that the Web Application menu displays the correct Web application.

  5. In the Server box, specify the database server that hosts the database.

  6. In the Database Name box, type the exact name of the transferred content database.

    Note:

    Verify that the name is correct. If it is not, a new database will be created.

  7. Specify the authentication method for the database, and then click OK.

  8. Repeat these steps for each database that you are adding. Be sure that you select the correct Web application from the Web Application menu for each database.

To attach content databases to a Web application by using Windows PowerShell (option 2)

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell command prompt, type the following command:

    Copy Code
    Mount-SPContentDatabase "<ContentDB>" -DatabaseServer "<DBServer>" -WebApplication <http://SiteName>

    Where:

    • <ContentDB> is the content database to be attached.

    • <DBServer> is the name of the database server.

    • <http://SiteName> is the URL of the Web application to which the content database is being attached.

For more information, see Mount-SPContentDatabase.

Note:

We recommend that you use Windows PowerShell when performing command-line administrative tasks. The Stsadm command-line tool has been deprecated, but is included to support compatibility with previous product versions.

To restart timer jobs by using Windows PowerShell (option 1)

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell command prompt, type the following command:

    Copy Code
    ForEach($tmrjob in (Get-Content <c:\timerjobfile.txt>)) {Get-SPTimerJob -Identity $tmrjob | Enable-SPTimerjob}

    Where:

    • <c:\timerjobfile.txt> is the location of the file that you created that lists all of the timer jobs associated with the Web application.

For more information, see Get-SPTimerJob, ForEach-Object, Get-Content, and Enable-SPTimerJob.

Note:

We recommend that you use Windows PowerShell when performing command-line administrative tasks. The Stsadm command-line tool has been deprecated, but is included to support compatibility with previous product versions.

To restart timer jobs by using Central Administration (option 2)

  1. Verify that the user account that is performing this procedure is a member of the Farm Administrators group.

  2. In Central Administration, in the Monitoring section, click Check Job Status.

  3. For each scheduled job that you disabled previously, click the job to open the Edit Timer Job page, click Enable, and then click OK.

  4. If you are running the Search service application and crawling the content database, follow the steps to resume the crawl in the article Start, pause, resume, or stop a crawl (SharePoint Server 2010). You must run a full crawl of the content database.

See Also

Other Resources

Resource Center: SQL Server and SharePoint Server 2010 Databases


Rename or move service application databases (SharePoint Server 2010)
See Also

Published: July 22, 2010

This article describes how to rename or move Microsoft SharePoint Server 2010 service application databases. Renaming service application databases is typically done to remove the GUID from the database name after the databases have been created by the SharePoint Products Configuration Wizard, or to bring the databases into alignment with your organization's naming standards. Moving service application databases can be done to load-balance a system.

The general process for renaming or moving service application databases is as follows:

  1. Rename or move the database by using SQL Server tools.

  2. Point the service application to the renamed or moved database.

    Pointing a service application to a renamed or moved service application database can be a complex process, especially if you must rename or move the databases for multiple service applications. This is because different types of service applications require different methods of pointing to the new database name or location. Based on the service application database that you are renaming or moving, you will use one of the following methods to point the service application to the renamed or moved database:

    • Delete the service application, re-create the service application, and then point the service application to the existing renamed or moved database.

      You can use this method for most service application databases, but this method can be complex for some service applications, such as Search.

    • Use Windows PowerShell to point the service application to the renamed or moved changed database.

      You can also use Central Administration for a subset of the service application databases that you can use Windows PowerShell to point to. When possible, we recommend that you use Central Administration to rename or move databases because that is the easiest way to perform the operation. Windows PowerShell is available for only some service application databases, and Central Administration is available for a subset of those service applications.

The following table shows the methods that can be used to point each service application to a renamed or moved database.

Methods available for pointing to renamed or moved service application databases

Service application or database | Delete and re-create service application | Use Windows PowerShell | Use Central Administration
Usage and Health Data Collection | Possible | Possible | Preferred
Search: Property | Possible | Possible | Preferred
Search: Crawl | Possible | Possible | Preferred
Search: Administration | Possible | Preferred | Not available
Web Analytics: Staging | Possible | Possible | Preferred
Web Analytics: Reporting | Possible | Possible | Preferred
Business Data Connectivity | Preferred | Not available | Not available1
Application Registry2 | Not available | Not available | Not available
State Service | Not available | Preferred | Not available
User Profile: Profile | Preferred | Not available | Not available
User Profile: Social Tagging | Preferred | Not available | Not available
User Profile: Synchronization | Preferred | Not available | Not available
Metadata Management | Possible | Possible | Preferred
Word Automation service | Possible | Possible | Preferred
Secure Store | Possible | Not available3 | Preferred
PerformancePoint | Not available | Preferred | Not available
Subscription settings | Possible | Preferred | Not available

1It may appear that you can rename the Business Data Connectivity database in Central Administration or by using the Windows PowerShell cmdlet Set-SPBusinessDataCatalogServiceApplication. However, using either Central Administration or Set-SPBusinessDataCatalogServiceApplication creates a new database. It does not rename the existing database.

2Because there is no Windows PowerShell cmdlet to create the Application Registry service application, it cannot be renamed. It can be moved by using Microsoft SharePoint Server 2010 backup and recovery.

3It may appear that you can rename the Secure Store database by using the Windows PowerShell cmdlet Set-SPSecureStoreServiceApplication. However, using Set-SPSecureStoreServiceApplication creates a new database. It does not rename the existing database.

In this article:

  • Renaming or moving service application databases by using SQL Server

    This method includes the following procedures:

    • To stop a service application

    • To rename a database by using SQL Server Management Studio

    • Move a database by using SQL Server Management Studio and Windows Explorer

  • General method for pointing a service application to a renamed or moved database

    This method includes the following procedures:

    • To document service application settings

    • To delete a service application

    • To re-create a service application

    • To restart a service application

    Note:

    This method does not apply to all service application databases. Refer to the guidance for the specific service application to determine which method to use.

  • Service application-specific guidance for renaming or moving databases

    • Pointing the Usage and Health Data Collection service application to a renamed or moved database

    • Pointing the Search service application to renamed or moved databases

    • Pointing the Web Analytics service application to renamed or moved databases

    • Pointing the State Service service application to a renamed or moved database

    • Pointing the Managed Metadata service application to a renamed or moved database

    • Pointing the Word Automation service application to a renamed or moved database

    • Pointing the Secure Store service application to a renamed or moved database

    • Pointing the Business Data Connectivity service application to a renamed or moved database

    • Pointing the Application Registry service application to a renamed or moved database

    • Pointing the User Profile service application to renamed or moved databases

    • Pointing the PerformancePoint service application to a renamed or moved database

    • Pointing the Subscription Settings service application to a renamed or moved database

Renaming or moving service application databases by using SQL Server

To rename a service application database, you must use SQL Server. To move a service application database, you must use SQL Server and Windows Explorer. We recommend that you stop the services related to the service application before you rename or move the related database. In general, we expect that you will either rename or move a database. That is, you will typically not perform both actions.

The instructions in this article assume that you have installed SQL Server Management Studio on the database server. If this is not the case, you can download and install Management Studio at Microsoft SQL Server 2008 Management Studio Express (http://go.microsoft.com/fwlink/p/?LinkID=186132&clcid=0x409).

Important:

On the database servers on which the operations are performed, you must be a member of the following:

  • Administrators group on the local server

  • db_owner fixed database role

In some environments, you must coordinate the rename and move procedures with the database administrator. Be sure to follow any applicable policies and guidelines for managing databases.

To stop a service application

  1. Verify that the user account that is performing this procedure is a member of the Farm Administrators SharePoint group.

  2. For each service application that you plan to change the database for, you must stop the service or disable the service application by following the appropriate procedure for the service application that you are working with. For more information, see Manage service applications (SharePoint Server 2010).

To rename a database by using SQL Server Management Studio

  1. In SQL Server Management Studio, connect to the source SQL Server instance, and then expand the Databases node.

  2. Right-click the database that you want to rename, click Rename, and then type the new name. Repeat this step for each database that you want to rename.

Move a database by using SQL Server Management Studio and Windows Explorer

Moving a database requires detaching the database from SQL Server, moving the files to the new location by using Windows Explorer, and then attaching the database to the new instance of SQL Server.

To detach a database from SQL Server

  1. In SQL Server Management Studio, open the source SQL Server instance, and then expand the Databases node.

  2. Right-click the database, point to Tasks, and then click Detach. Repeat this step for each database that you want to move.

To move database files to a new location by using Windows Explorer

  1. In Windows Explorer, locate the .mdf, .ndf, and .ldf files for the service application databases.

  2. Select the .mdf, .ndf, and .ldf files for the databases that you want to move, and then either copy or move them to the destination directory.

To attach a database to a new instance of SQL Server

  1. In Management Studio, open the destination SQL Server instance.

  2. Right-click the Databases node, point to Tasks, and then click Attach.

  3. In the Attach Database dialog box, browse to where you transferred the .mdf, .ndf, and .ldf files, select the .mdf file for the database that you want to attach, and then click OK.

  4. Repeat for each database that you are moving.

General method for pointing a service application to a renamed or moved database

The method for pointing a service application to a renamed or moved database that works for most service applications is to delete the service application and then re-create the service application. When you re-create the service application, use the new name or new location.

This is the only method that can be used to point to moved or renamed databases for the following service applications:

  • Business Data Connectivity

  • User Profile

  • PerformancePoint

This method includes the following steps:

  1. To document service application settings

  2. To delete a service application

  3. To re-create a service application

  4. To restart a service application

To document service application settings

  • Before you delete and re-create a service application, document the settings for the service application. To do this, use the recommended Windows PowerShell cmdlets that are described in the article Document farm configuration settings in SharePoint Server 2010.

To delete a service application

  • To delete a service application, follow the procedure in Delete a service application (SharePoint Server 2010), but do not delete the service application database.

To re-create a service application

  • Re-create the service application, pointing it to the renamed database, and reusing all the other initial configuration settings. For more information, see the following articles:

    • Configure usage and health data collection (SharePoint Server 2010)

    • Enabling Multi Tenant Support in SharePoint 2010 (http://go.microsoft.com/fwlink/p/?LinkId=197114)

    • Business Data Connectivity service administration overview (SharePoint Server 2010)

    • Managed metadata administration (SharePoint Server 2010)

    • Configure the Secure Store Service (SharePoint Server 2010)

      Note:

      As you configure the service application, you must use the same passphrase that you used when you first configured the service application.

    • Manage the State Service (SharePoint Server 2010)

    • Manage farm-level search settings (SharePoint Server 2010) and Manage search topology (SharePoint Server 2010)

    • Configure PerformancePoint Services

    • Create, edit, or delete a User Profile service application (SharePoint Server 2010)

  • Depending on the service application, you may have to manually start the related service.

To restart a service application

  1. In Central Administration, under System Settings, click Manage services on server.

  2. In the Service list, next to the appropriate service or services that support the service application that you are restarting, click Start.

Service application-specific guidance for renaming or moving databases

This section describes specific guidance for each kind of service application.

Pointing the Usage and Health Data Collection service application to a renamed or moved database

You can use either Central Administration or Windows PowerShell to point the Usage and Health Data Collection service application to a renamed or moved database.

To point the Usage and Health Data Collection service application to a renamed or moved database by using Central Administration

  1. Verify that the user account that is performing the procedure is a member of the Farm Administrators SharePoint group.

  2. In Central Administration, click Monitoring, and then on the Monitoring page, click Configure usage and health data collection.

    The Configure web analytics and health data collection page appears.

  3. Clear the Enable health data collection check box, and then click OK.

    You return to the Monitoring page.

  4. Click Configure usage and health data collection to return to the Configure web analytics and health data collection page.

  5. Select the Enable health data collection check box

  6. In the Logging Database Server section, specify the updated database server and database name, and then click OK.

To point the Usage and Health data collection service application to a renamed or moved database by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell command prompt, type the following command:

    Copy Code
    Set-SPUsageApplication -Identity "<ServiceApplicationName>" -DatabaseName "<DbName>" -DatabaseServer "<SQLServerName>"

    Where:

    • <ServiceApplicationName>is the name of the usage and health data collection service application.

    • <DbName> is the name of the database.

    • <SQLServerName> is the name of the database server.

For more information, see Set-SPUsageApplication.

Pointing the Search service application to renamed or moved databases

You can point the Search service application to Crawl and Property databases that have been renamed by using Central Administration or by using Windows PowerShell 2.0. You must use Windows PowerShell 2.0 to point to a renamed Search Administration database.

To point the Search service application to renamed or moved Crawl and Property databases by using Central Administration

  1. Verify that the user account that is performing the procedure is a member of the Farm Administrators SharePoint group.

  2. In Central Administration, click Application Management.

  3. On the Application Management page, click Manage service applications.

  4. Click the name of the Search Service Application.

  5. On the Search Administration page, click Modify.

  6. On the Manage Search Topology page, the following three databases are listed: Administration, Crawl, and Property. You can point to renamed or moved Crawl or Property databases by using this procedure.

    Note:

    You cannot point to a renamed or moved Search Administration database by using Central Administration.

  7. Click the database that you want to change, and then click Edit Properties.

  8. In the Database Server text box, type the new server location if there is one; in the Database Name text box, type the new name for the database; and then click OK.

  9. On the Manage Search Topology page, click Apply Topology Changes.

    It might take several minutes for the changes to take effect.

To point the Search service application to renamed or moved Crawl, Property, and Administration databases by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell command prompt, type the following commands:

    • Point the Search Administration database to its new name or location.

      Copy Code
      $searchapp | Set-SPEnterpriseSearchServiceApplication -DatabaseName "<NewDbName>" -DatabaseServer "<NewServerName>"

      Where:

      • <NewDbName> is the name of the renamed database.

      • <NewServerName> is the new database location.

    • Monitor whether the search instances have finished re-provisioning.

      Copy Code
      Do {write-host -NoNewline .;Sleep 10; $searchInstance = Get-SPEnterpriseSearchServiceInstance -Local} while ($searchInstance.Status -ne "Online")

    • Set the crawl database to its new name or location.

      Copy Code
      $CrawlDatabase0 | Set-SPEnterpriseSearchCrawlDatabase -DatabaseName "<NewDbName>" -DatabaseServer "<NewServerName>"

      Where:

      • <NewDbName> is the name of the renamed database.

      • <NewServerName> is the new database location.

    • Monitor whether the search instances have finished re-provisioning.

      Copy Code
      Do {write-host -NoNewline .;Sleep 10; $searchInstance = Get-SPEnterpriseSearchServiceInstance -Local} while ($searchInstance.Status -ne "Online")

    • Set the property database to its new name or location.

      Copy Code
      $PropertyDatabase0 | Set-SPEnterpriseSearchPropertyDatabase -DatabaseName "<NewDbName>" -DatabaseServer "<NewServerName>"

      Where:

      • <NewDbName> is the name of the renamed database.

      • <NewServerName> is the new database location.

    • Monitor whether the search instances have finished re-provisioning.

      Copy Code
      Do {write-host -NoNewline .;Sleep 10; $searchInstance = Get-SPEnterpriseSearchServiceInstance -Local} while ($searchInstance.Status -ne "Online")

    • Restart the search service instance.

      Copy Code
      get-SPEnterpriseSearchServiceInstance | start-SPEnterpriseSearchServiceInstance

    • Resume running the search service application.

      Copy Code
      $searchapp.Resume()

Pointing the Web Analytics service application to renamed or moved databases

You can use either Central Administration or Windows PowerShell to point the Web Analytics service application to renamed or moved databases. You can also delete and re-create the service application.

To point to renamed or moved Web Analytics databases by using Central Administration

  1. Verify that the user account that is performing this procedure is a member of the Farm Administrators SharePoint group.

  2. In Central Administration, click Application Management.

  3. On the Application Management page, click Manage service applications.

  4. Click the Web Analytics Service Application. The ribbon becomes active.

  5. Click Properties on the ribbon.

    The Edit Web Analytics Service Application wizard opens.

  6. Click Next on the first page. On the Edit Web Analytics Service Application Topology page, point to the database name, click Edit Properties, and then specify the new database server or database name. Repeat this step for each database.

  7. Click OK to dismiss the Edit Database dialog box, and then click Next.

    You should see a message that the Web Analytics service application was successfully edited.

  8. Click OK.

  9. In Central Administration, under System Settings, click Manage services on server.

  10. In the Service list, next to the Web Analytics Data Processing Service and Web Analytics Web Service, click Start.

To point the Web Analytics service application to a renamed or moved database by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell command prompt, type the following command:

    Copy Code
    Set-SPWebAnalyticsServiceApplication -Identity "<ServiceApplicationName>" [-ListOfReportingDatabases <ReportingServerAndDatabases>] [-ListOfStagingDatabases <StagingServerAndDatabases>]

    Where:

    • <ServiceApplicationName> is the name of the service application.

    • <ReportingServerAndDatabase> is an XML string that contains the server name and the database name for the Reporting database.

      Note:

      Despite the name of the option, only one Reporting database is supported per Web Analytics service application.

    • <StagingServerAndDatabases> is an XML string that contains the server name and the database names for the staging databases.

    The following example shows how to use the Set-SPWebAnalyticsServiceApplication cmdlet:

    Copy Code
    Set-SPWebAnalyticsServiceApplication -Identity WebAnalyticsServiceApplication1 -ListOfReportingDatabases "<ReportingDatabases><ReportingDatabase ServerName='SharePointReporting' DatabaseName='WAReporting'/></ReportingDatabases>" -ListOfStagingDatabases "<StagingDatabases><StagingDatabaseServerName=''SharePointReporting' ' DatabaseName='WAStaging1'/> <StagingDatabase ServerName='''SharePointReporting' DatabaseName = 'WAStaging2'/></StagingDatabases>"

For more information, see Set-SPWebAnalyticsServiceApplication.

Pointing the State Service service application to a renamed or moved database

The State Service database stores temporary data. You can use Windows PowerShell to point the State Service service application to a renamed or moved database by performing one of the following procedures:

  • Add a new database in the new location, or create a database with a new name. Then add the new database to the service application, and delete the old database. For details, see To add a new database to the State service application, and remove an old database by using Windows PowerShell.

  • Dismount the old database, rename or move it by using SQL Server, and then remount the State Service database. For details, see To point the State service application to a renamed or moved database by using Windows PowerShell.

    The following procedures have the following steps integrated into them. Therefore, they do not require that the steps have already been performed:

    • Stopping a service application

    • Renaming a database in SQL Server Management Studio

    • Moving a database by using SQL Server Management Studio and Windows

To add a new database to the State Service service application and remove an old database by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell command prompt, type the following command to create a new database:

    Copy Code
    New-SPStateServiceDatabase -Name "<NewDatabaseName>"

    Then type the following command to remove the old database:

    Copy Code
    Remove-SPStateServiceDatabase -Name "<OldDatabaseName>"

    Where:

    • <NewDatabaseName> is the name of the new database that you want to create.

    • <OldDatabaseName> is the name of the old database that you want to disassociate with the State service and detach from SQL Server.

For more information, see New-SPStateServiceDatabase and Remove-SPStateServiceDatabase.

To point the State Service service application to a renamed or moved database by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. Record the State Service service application ID and the database ID that you will configure.

  3. On the Start menu, click All Programs.

  4. Click Microsoft SharePoint 2010 Products.

  5. Click SharePoint 2010 Management Shell.

  6. At the Windows PowerShell command prompt, type the following command to dismount the database:

    Copy Code
    Dismount-SPStateServiceDatabase -Identity <DatabaseID>

    Where:

    • <DatabaseID> is the State Service database to remove from the service application.The type must be a valid GUID in the form 12345678-90ab-cdef-1234-567890bcdefgh, a valid name of a state database, or an instance of a valid SPStateServiceDatabase object.

    For more information, see Dismount-SPStateServiceDatabase.

  7. Rename or move the database. For details, see To rename a database by using SQL Server Management Studio or Move a database by using SQL Server Management Studio and Windows Explorer .

  8. At the Windows PowerShell command prompt, type the following command to mount the renamed or moved database:

    Copy Code
    Mount-SPStateServiceDatabase -Name "<DatabaseName>" -DatabaseServer "<ServerName>"

    Where:

    • <DatabaseName> is the name of the database to associate with the State service.

    • <ServerName> is the name of the SQL Server that hosts the State service database.

    For more information, see Mount-SPStateServiceDatabase.

Pointing the Managed Metadata service application to a renamed or moved database

You can point the Managed Metadata service application to a renamed or moved database by using either Central Administration or Windows PowerShell. For information, see Create, update, publish, or delete a managed metadata service application (SharePoint Server 2010).

Pointing the Word Automation service application to a renamed or moved database

You can point the Word Automation service application to a renamed or moved database by using Central Administration or Windows PowerShell.

This procedure has the following steps integrated into them, and do not require that they have already been performed:

  1. Stopping a service application

  2. Renaming a database in SQL Server Management Studio

  3. Moving a database by using SQL Server Management Studio and Windows Explorer

Note:

You do not need to stop the Word Automation service before pointing to a renamed or moved database. However, stopping the Word Automation service will not cause a problem if you choose to do so.

To point the Word Automation service application to a renamed or moved database by using Central Administration

  1. Verify that the user account that is performing this procedure is a member of the Farm Administrators SharePoint group.

  2. In Central Administration, under System Settings, click Manage services on server.

  3. In the Service list, next to the Word Automation service, click Stop.

  4. In the Quick Launch, click Application Management.

  5. On the Application Management page, click Manage service applications.

  6. Click the Word Automation service application. The ribbon becomes active.

  7. Click Properties on the ribbon.

    The Edit Word Automation Service Application dialog box opens.

  8. Change the database server or database name, and then click OK.

  9. In the Quick Launch, click System Settings.

  10. On the System Settings page, under Servers, click Manage services on server.

  11. In the Service list, next to the Word Automation service, click Start.

To point the Word Automation service application to a renamed or moved database by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. Record the Word Automation service application name and the database name that you plan to configure.

  3. On the Start menu, click All Programs.

  4. Click Microsoft SharePoint 2010 Products.

  5. Click SharePoint 2010 Management Shell.

  6. At the Windows PowerShell command prompt, type the following command:

    Copy Code
    $app = Get-SPServiceApplication -Name "<ServiceApplicationName>"
Set-SPWordConversionServiceApplication -Identity $app -DatabaseName "<DatabaseName>" -DatabaseServer "<DatabaseServer>"

    Where:

    • <ServiceApplicationName> is the name of the Word Automation service application.

    • <DatabaseName> is the name of the renamed or moved database.

    • <DatabaseServer> is the location of the renamed or moved database. Do not include this parameter if you are pointing to a renamed database in the same location.

    For more information, see Set-SPWordConversionServiceApplication.

Pointing the Secure Store service application to a renamed or moved database

You can point the Secure Store service application to a renamed or moved database by using Central Administration. Alternatively, you can rename or move the database, and then delete or re-create the service application. If you choose to delete and re-create the service application, you must use the same passphrase that you used when you initially configured the service application. For more information, see General method for pointing a service application to a renamed or moved database.

To point the Secure Store Service service application to a renamed or moved database by using Central Administration

  1. Verify that the user account that is performing this task is a member of the Farm Administrators SharePoint group.

  2. In Central Administration, under System Settings, click Manage services on server.

  3. In the Service list, next to the Secure Store service, click Stop.

  4. In the Quick Launch, click Application Management.

  5. On the Application Management page, click Manage service applications.

  6. Click the Secure Store Service service application. The ribbon becomes active.

  7. Click Properties on the ribbon.

    The Edit Secure Store Service Application page opens.

  8. Change the database server or database name, and then click OK.

    Note:

    If you use an incorrect name, SharePoint Server 2010 creates a new database.

  9. In the Quick Launch, click System Settings.

  10. On the System Settings page, under Servers, click Manage services on server.

  11. In the Service list, next to the Secure Store service, click Start.

Pointing the Business Data Connectivity service application to a renamed or moved database

You must delete the Business Data Connectivity service application, rename or move the database, and then re-create the service application to point to a renamed or moved database. For information, see General method for pointing a service application to a renamed or moved database.

Pointing the Application Registry service application to a renamed or moved database

Because there is no Windows PowerShell cmdlet to create the Application Registry service application, the associated database cannot be renamed. You can move the database by using SharePoint Server 2010 backup and recovery. For more information, see Back up a service application in SharePoint Server 2010 and Restore a service application in SharePoint 2010 Products.

Pointing the User Profile service application to renamed or moved databases

You must delete the User Profile service application, rename or move the databases, and then re-create the service application to point to the renamed or moved databases. For information, see General method for pointing a service application to a renamed or moved database.

Pointing the PerformancePoint service application to a renamed or moved database

You can point the PerformancePoint service application to a renamed or moved database by using Windows PowerShell.

Note:

The PerformancePoint service application cannot be deleted and then re-created to point to an existing database.

To point the PerformancePoint service application to a renamed or moved database by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. Record the PerformancePoint service application name and the database name that you plan to configure.

  3. On the Start menu, click All Programs.

  4. Click Microsoft SharePoint 2010 Products.

  5. Click SharePoint 2010 Management Shell.

  6. At the Windows PowerShell command prompt, type the following command:

    Copy Code
    Set-SPPerformancePointServiceApplication -Identity "<ServiceApplicationName>" -SettingsDatabase "<OptionalServerName\DatabaseName>"

    Where:

    • <ServiceApplicationName> is the name of the PerformancePoint service application.

    • <OptionalServerName\DatabaseName> is the location of and the name of the renamed or moved database. Do not include the location if you are just renaming the database.

    For more information, see Set-SPPerformancePointServiceApplication.

Pointing the Subscription Settings service application to a renamed or moved database

You can point the Subscription Settings service application to a renamed or moved database by using Windows PowerShell.

To point the Subscription Settings service application to a renamed or moved database by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. Record the Subscription Settings service application name and the database name that you plan to configure.

  3. On the Start menu, click All Programs.

  4. Click Microsoft SharePoint 2010 Products.

  5. Click SharePoint 2010 Management Shell.

  6. At the Windows PowerShell command prompt, type the following command:

    Copy Code
    Set-SPSubscriptionSettingsServiceApplication -Identity "<ServiceApplicationName>" -DatabaseName "<DatabaseName>" -DatabaseServer "<DatabaseServer>"

    Where:

    • <ServiceApplicationName> is the name of the Subscription Settings service application.

    • <DatabaseName> is the name of the renamed or moved database.

    • <DatabaseServer> is the location of the renamed or moved database. Do not include this parameter if you are just renaming the database in the same location.

    For more information, see Set-SPSubscriptionSettingsServiceApplication.

See Also

Concepts

Deploy by using DBA-created databases (SharePoint Server 2010)
Database types and descriptions (SharePoint Server 2010)
Manage service applications (SharePoint Server 2010)

Other Resources

Resource Center: SQL Server and SharePoint Server 2010 Databases


Move all databases (SharePoint Server 2010)
See Also

Published: June 17, 2010

This article describes how to move all of the databases associated with Microsoft SharePoint Server 2010 from one database server to another database server. If your databases are hosted on different servers, this procedure applies to the database server that hosts the configuration database. For moving content databases only, see Move content databases (SharePoint Server 2010). For moving service application databases only, see Rename or move service application databases (SharePoint Server 2010).

Important:

Moving databases makes all farm sites and assets unavailable to users until the process is completed.

The following kinds of databases hosted on a single database server can be moved by using the procedures in this article:

  • Configuration database

  • Central Administration content database

  • Content databases

  • Service application databases

Moving all databases

The process of moving all of the databases from one database server to another database server requires you to work in both SharePoint Server 2010 and SQL Server. The following list summarizes the process of moving all databases, with detailed steps presented in the subsequent procedures:

  1. Prepare the new database server. For details, see To prepare the new database server.

  2. Close any open Windows PowerShell management shell windows and any open Stsadm command prompt windows. For details, see To close any open management sessions.

  3. In the Services Microsoft Management Console snap-in, stop all of the services related to SharePoint Server 2010 and Internet Information Services (IIS). For details, see To stop the farm.

  4. In SQL Server, detach the databases from the current instance. For details, see To detach databases.

  5. Using Windows Explorer, copy or move the .mdf, .ldf, and .ndf files associated with the database from the source server to the destination server. For details, see To move database files to the new server.

    Note:

    You can also back up all databases and restore them to the new server. Procedures for backing up and restoring all databases are not included in this article. For more information, see How to: Back Up a Database (SQL Server Management Studio) (http://go.microsoft.com/fwlink/p/?LinkID=179208) and How to: Restore a Database Backup (SQL Server Management Studio) (http://go.microsoft.com/fwlink/p/?LinkID=183032).

  6. In SQL Server, ensure that all of the SQL Server logins, fixed server roles, fixed database roles, and permissions for the databases from the source server have also been configured correctly on the destination server. For details, see To set up permissions on the new server.

  7. In SQL Server, attach the database to the new instance. For details, see To attach databases to the new instance of SQL Server.

  8. Use SQL Server connection aliases to point to the new database server, and then use the connection alias to update all Web servers. A connection alias is a defined alternate name that can be used to connect to an instance of SQL Server. You have to configure the alias on all Web servers and application servers in the farm. For details, see To point the Web application to the new database server by setting up SQL Server connection aliases.

    Note:

    The use of SQL Server client aliases is recommended as part of hardening SQL Server for SharePoint environments. For more information, see Harden SQL Server for SharePoint environments (SharePoint Server 2010).

  9. Restart the services. For details, see To restart the services in the farm.

The following are the minimum permissions that are required to perform this process:

  • You must be a member of the Farm Administrators SharePoint group.

  • On the computer that is running the SharePoint Central Administration Web site, you must be a member of the Administrators group.

  • On the database server from which the databases are being moved, you must be a member of the following:

    • The Administrators group

    • The db_backupoperator fixed database role

  • On the database server to which the databases are being moved, you must be a member of the following:

    • The Administrators group

    • The db_owner fixed database role

In some environments, you must coordinate the move procedures with the database administrator. Be sure to follow any applicable policies and guidelines for managing databases.

To prepare the new database server

  • Configure the new database server by using the procedures in the article Harden SQL Server for SharePoint environments (SharePoint Server 2010).

    Note:

    The new database server must be running the same version of Windows Server and Microsoft SQL Server as the existing database server.

To close any open management sessions

  • Close any open Windows PowerShell management shell windows, and any open command prompt windows if you have been running the Stsadm command-line tool.

To stop the farm

  1. On the server that is running the Central Administration Web site, in the Services snap-in, stop the following services:

    • SharePoint 2010 Administration

    • SharePoint 2010 Timer

    • SharePoint 2010 Tracing

    • SharePoint 2010 User Code Host

    • SharePoint 2010 VSS Writer

    • SharePoint Foundation Search V4

    • World Wide Web Publishing Service

    • SharePoint Server Search 14

    • Web Analytics Data Processing Service

    • Web Analytics Web Service

      Note:

      The final two services are part of the Web Analytics service application. If you are running the Web Analytics service application and choose to rename your server, you must also reconfigure the Web Analytics database locations. For details, see To reconfigure Web Analytics database locations .

  2. On the server that is running the Central Administration Web site, at the command prompt, type iisreset /stop.

To detach databases

  • In SQL Server Management Studio on the original database server, detach the databases that you want to move from the instance that they are attached to. If you are running many databases, you may want to run a Transact-SQL script to detach databases.

    Note:

    A database cannot be detached if any one of the following is true:

    • The database is being mirrored.

    • A database snapshot exists on the database.

    For more information, see:

    • Detaching and Attaching Databases (http://go.microsoft.com/fwlink/p/?LinkId=194806)

    • How to: Detach a Database (SQL Server Management Studio) (http://go.microsoft.com/fwlink/p/?LinkId=194807)

    • sp_detach_db (Transact-SQL) (http://go.microsoft.com/fwlink/p/?LinkId=194808)

To move database files to the new server

  • Using Windows Explorer, locate the .mdf, .ldf, and .ndf files associated with each database that you are moving, and then copy or move them to the destination directory on the new computer that is running SQL Server.

To set up permissions on the new server

  • On the destination database server, open SQL Server Management Studio and transfer your logins and permissions from the original instance to the destination instance. We recommend that you transfer permissions by running a script. An example script is available in Knowledge Base article 918992: How to transfer the logins and the passwords between instances of SQL Server 2005 (http://go.microsoft.com/fwlink/p/?LinkId=122053).

    For more information about how to transfer SQL Server metadata between instances, see the SQL Server Books Online article Managing Metadata When Making a Database Available on Another Server Instance (http://go.microsoft.com/fwlink/p/?LinkId=122055).

To attach databases to the new instance of SQL Server

  • On the destination database server, attach the databases to the new instance. For more information, see How to: Attach a Database (SQL Server Management Studio) (http://go.microsoft.com/fwlink/p/?LinkId=194809) and sp_attach_db (Transact-SQL) (http://go.microsoft.com/fwlink/p/?LinkId=194810).

To point the Web application to the new database server by setting up SQL Server connection aliases

  1. Start SQL Server Configuration Manager. On the Start menu, point to All Programs, point to Microsoft SQL Server 2008, point to Configuration Tools, and then click SQL Server Configuration Manager.

    Note:

    If SQL Server Configuration Manager is not installed, you must run SQL Server setup to install it.

  2. Expand SQL Native Client Configuration, right-click Aliases, and then click New Alias.

  3. In the Alias Name field, enter the name of the original SQL Server instance, for Protocol, verify that TCP/IP is selected, for Server, enter the name of the new server that is hosting the SharePoint Server 2010 databases, and then click OK.

  4. Repeat this procedure on each database server.

  5. Optional. If your environment relies on System Center Data Protection Manager (DPM) 2010 or a third-party application that uses the Volume Shadow Copy Service (VSS) framework for backup and recovery, you must install the SQL Server connectivity components on each Web server or application server by running SQL Server setup. For more information, see How to: Install SQL Server 2008 R2 (Setup) (http://go.microsoft.com/fwlink/p/?LinkID=186119).

To reconfigure Web Analytics database locations

  1. Note:

    This procedure is required only if you are running a Web Analytics service application and if you have renamed your server instead of using SQL Server connection aliases.

    On the SharePoint Central Administration Web site, under Application Management, click Manage Service Applications.

  2. Select the Web Analytics service application, and then click Properties.

    The Edit Web Analytics Service Application wizard appears.

  3. Click Next.

  4. On the second page of the wizard, update the location of each Web Analytics database to the new SQL Server instance, and then click Next.

  5. In Central Administration, under System Settings, click Manage Services on Server.

  6. Stop and restart the Web Analytics Data Processing Service, and the Web Analytics Web Service.

    Note:

    The SharePoint Web Analytics feature relies on SQL Server service broker to function. The SQL Server service broker cannot be started manually. A SharePoint timer job runs one time per day to ensure that SQL Server service broker is enabled on the necessary databases.

  7. After moving databases, you should manually run the health rule "Web Analytics: Verifies that the SQL Server Service Broker is enabled for the Web Analytics staging databases." To manually run the health rule, follow these steps:

    • In Central Administration, click Monitoring.

    • In the Health Analyzer section, click Review rule definitions.

      The All Rules page is displayed.

    • Under Category: Configuration, click the health rule Web Analytics: Verifies that the SQL Server Service Broker is enabled for the Web Analytics staging databases.

      The Health Analyzer Rule Definition dialog box opens.

      Note:

      In order to see the health rule, you may need to click the right arrow at the bottom of the All Rules page.

    • On the ribbon of the Health Analyzer Rule Definitions dialog box, click Run Now.

To restart the services in the farm

  1. On the server that is running the Central Administration Web site, at the command prompt, type iisreset /start.

  2. In the Microsoft Management Console Services snap-in, start all of the services related to SharePoint and Internet Information Services (IIS). These include the following services:

    • SharePoint 2010 Administration

    • SharePoint 2010 Timer

    • SharePoint 2010 Tracing

    • SharePoint 2010 User Code Host

    • SharePoint 2010 VSS Writer

    • SharePoint Foundation Search V4

    • World Wide Web Publishing Service

    • SharePoint Server Search 14

    • Web Analytics Data Processing Service

    • Web Analytics Web Service

See Also

Other Resources

Resource Center: SQL Server and SharePoint Server 2010 Databases


Scale out collaboration sites (SharePoint Server 2010)
See Also

Published: July 14, 2011

This article describes how to scale out Microsoft SharePoint Server 2010 collaboration sites when you are using Remote BLOB Storage (RBS) and Microsoft SQL Server.

Before you implement RBS, we highly recommend that you evaluate its potential costs and benefits. For more information and recommendations about how to use RBS in a SharePoint Server 2010 installation, see Plan for RBS (SharePoint Server 2010).

Note:

Unless otherwise specified, the information in this article is specific to RBS using the FILESTREAM provider. For guidance specific to another provider, contact the provider manufacturer.

In this article:

  • About RBS and collaboration sites

  • About scaling out collaboration sites

  • Scaling out site collections by performing a shallow move

  • Scaling out site collections by performing a deep move

About RBS and collaboration sites

Collaboration sites store information that people and groups can collectively author, share, and revise. However, collaboration sites typically require more input/output (I/O) resources and consume more disk space as documents are revised. The use of RBS-enabled content databases over 200 gigabytes (GB) with collaboration sites is not supported. Because collaboration sites have larger I/O requirements and because of the support limits for RBS, you might want to scale out collaboration sites by moving them onto one or more separate content databases. For more information about RBS support limits, see the "Content database limits" section in Content deployment limits. For more information about how to plan collaboration sites, see Collaboration site planning (SharePoint Server 2010).

As documents are revised, data is sent over the network to and from the SharePoint content database. This results in more network bandwidth being used, especially if the documents are very large. This is especially the case if a document is being edited by many people at the same time, or many documents are being revised at the same time.

Documents in libraries are stored as unstructured data, or Binary Large Objects (BLOBs). Because BLOBs are immutable, a new BLOB is stored in the library for each revision. If you have enabled minor versioning, these BLOBs can consume disk space very quickly.

You can improve performance of highly-collaborative sites that have large documents by using RBS and by moving content onto separate content databases of 200 GB or smaller. This includes the stored BLOB data.

About scaling out collaboration sites

You can use the Windows PowerShellMove-SPSite command to move the site collections and the BLOB data from the large RBS-enabled content database (that is, more than 200 GB) to one or more smaller RBS-enabled content databases. You can do this in either of the following ways:

  • Shallow move. If you have installed Microsoft SQL Server 2008 R2 with Service Pack 1 (SP1), you can use the Move-SPSite cmdlet with the RBSMappingProvider parameter. This will move only the metadata. The BLOB data will not be moved. Although this operation is much faster than the deep move procedure that is described later in this article, it has the following requirements:

    • You must have installed SQL Server 2008 R2 with SP1.

    • You must have upgraded the content database to the new SP1 schema.

    • The RBS provider for both the source and destination content databases must support the RBSMappingProvider parameter.

    • You must have created the site collection after you installed SQL Server 2008 R2 with SP1 or you moved the site collection by using the Move-SPSite cmdlet after you installed SQL Server 2008 R2 with SP1.

  • Deep move. If you have not installed SQL Server 2008 R2 with SP1, you can use the Move-SPSite cmdlet. However, doing this moves both the metadata and the BLOB data. This operation can take a long time.

Scaling out site collections by performing a shallow move

You can use Windows PowerShell to move the site collections and the BLOB data from the large content database (that is, more than 200 GB) to one or more smaller databases.

To perform a shallow move of site collection metadata by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell command prompt, type the following command:

    Copy Code
    Move-SPSite -Identity <SiteCollectionName> -DestinationDatabase <DatabaseName> -RbsProviderMapping @{"<SourceProvider>"="<TargetProvider>",…}

    Where:

    • <SiteCollectionName> is the site collection that you want to move — for example, http://ServerName/Sites/SiteName.

    • <DatabaseName> is name of the content database to which you want to move the site collection — for example, ContentDB2.

    • <SourceProvider> is the value of the source RBS stores.

    • <TargetProvider> is the value of the source RBS stores.

      Note:

      You can move more than one site collection by typing multiple <SourceProvider> to <TargetProvider> pairs inside the braces.

For more information, see Move-SPSite.

Scaling out site collections by performing a deep move

Note:

Because a deep move moves the actual BLOB data, the operation can take a long time and can use lots of disk and network resources while the operation is occurring. You should plan a deep move carefully and run the procedure during off-peak hours. We recommend that you perform a shallow move if that is possible.

To perform a deep move of BLOB data and site collection metadata by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell command prompt, type the following command:

    Copy Code
    Move-SPSite -Identity <SiteCollectionName> -DestinationDatabase <DatabaseName>

    Where:

    • <SiteCollectionName> is the identity of the site collection that you want to move — for example, http://ServerName/Sites/SiteName.

    • <DatabaseName> is name of the content database to which you want to move the site collection — for example, ContentDB2.

For more information, see Move-SPSite.

See Also

Reference

Move-SPSite
Content deployment limits

Concepts

Plan for RBS (SharePoint Server 2010)
Collaboration site planning (SharePoint Server 2010)


Run a farm that uses read-only databases (SharePoint Server 2010)

This article describes how to run a Microsoft SharePoint Server 2010 farm in which some or all databases are set to be read-only (a read-only farm).

A farm is considered to be read-only if any of the following are true:

  • All content databases are set to read-only.

  • Service application databases are set to read-only.

    Note:

    The Search service application does not function when its databases are set to read-only.

The functionality and user experience in a read-only farm depends on which databases are set to read-only.

A farm that uses read-only content and service application databases is likely to be part of a disaster recovery environment or a highly available maintenance, update, or upgrade environment.

Procedures in this task:

  • Prepare users for the read-only experience

  • Set content databases to be read-only

  • Set service application databases to be read-only

Prepare users for the read-only experience

If you plan to provide users with access to a read-only site or farm, you should set expectations for what they will be able to do on the site and how the user interface (UI) will differ.

Sites that use read-only content databases

The user experience of a site that uses a content database that is set to read-only is characterized by the following:

  • Common tasks that do not require writing to the content database are fully available.

  • Most of the common tasks that require writing to the content database are not available, either because they have been disabled in the UI, or because the user is no longer allowed to apply changes.

  • Some common tasks that require writing to the content database appear to be available, but return errors.

For detailed information about the user experience on a read-only site, see User experience on read-only sites (SharePoint Server 2010).

Farms that use read-only service application databases

The user experience of a farm that uses service application databases that are set to read-only is characterized by the following:

  • Common tasks that do not require writing to the service databases are fully available.

  • All common tasks that require writing to the service databases appear to be available, but return errors.

Set content databases to be read-only

Before you set content databases to be read-only, you may need to determine which content database is associated with a particular site collection.

To determine which content database is associated with a site collection

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell command prompt (PS C:\>), type the following command, and then press ENTER:

    Get-SPContentDatabase -Site <Site URL>

    -Site specifies the site collection for which you want to know the associated content database.

    The command returns the content database associated with the site.

For more information, see Get-SPContentDatabase.

Note:

We recommend that you use Windows PowerShell when performing command-line administrative tasks. The Stsadm command-line tool has been deprecated, but is included to support compatibility with previous product versions.

You can use the following procedure to set read/write content databases to be read-only by using SQL Server Management Studio. You can also use the Transact-SQL ALTER DATABASE statement to set content databases to be read-only. For more information, see ALTER DATABASE (Transact-SQL) (http://go.microsoft.com/fwlink/p/?LinkId=148619).

Important:

Do not perform this procedure on databases in a failover environment that have been log-shipped or mirrored.

To set content databases to be read-only

  1. Verify that you have the following administrative credentials: You must be a member of the db_owner fixed database role in each database.

  2. Open SQL Server Management Studio.

  3. Right-click the content database that you want to change to read-only, and then click Properties.

  4. Select the Options page, and, in the Other options list, scroll to the State section.

  5. In the Database Read-Only row, click the arrow next to False, select True, and then click OK.

  6. Repeat for all other content databases.

    Note:

    When a database is set to read-only, all connections except the one that is setting the read-only flag are stopped. After the read-only flag is set, other connections are enabled.

The site collection that is associated with a read-only content database is automatically set to be read-only if the locking status of the site collection was previously None, No Additions, or Read-Only. If the locking status of the site collection was previously No Access, it remains No Access when the database locking status is changed.

Set service application databases to be read-only

It is possible to set any service application database to be read-only. However, some service applications do not function when their databases are set to read-only, including those associated with Search and Project Server.

To set service application databases to be read-only

  1. Verify that you have the following administrative credentials: You must be a member of the db_owner fixed database role in each database.

  2. Open SQL Server Management Studio.

  3. Right-click the database that you want to change to read-only, and then click Properties.

  4. Select the Options page, and, in the Other options list, scroll to the State section.

  5. In the Database Read-Only row, click the arrow next to False, select True, and then click OK.

  6. Repeat for other service application databases as appropriate.

    Note:

    When a database is set to read-only, all connections except the one that is setting the read-only flag are stopped. After the read-only flag is set, other connections are enabled.


Managing Multi-Terabyte Content Databases with SharePoint 2010 (white paper)

Published: July 14, 2011

In this white paper, Senior Technical Product Manager and Microsoft Certified Master for SharePoint, Bill Baer, explains how to manage large content databases in Microsoft SharePoint Server 2010. The paper discusses content databases in three size ranges: up to 200 gigabytes (GB), 200 GB-4 terabytes (TB), and larger than 4 TB. These ranges have different limitations, recommended architectures, and operational requirements. The paper provides detailed guidance for capacity management, performance, data protection, and maintenance of large content databases.

You can download the white paper in any of the following formats:

  • Word

  • PDF

  • XPS


Database maintenance for SharePoint 2010 Products
See Also

Published: May 12, 2011

Summary: Learn how to maintain the databases that host data and configuration settings for Microsoft SharePoint 2010 Products. Read guidelines and study examples of the recommended database maintenance strategies and tasks.

Applies to: Microsoft SharePoint Server 2010, Microsoft SharePoint Foundation 2010

Authors: Bill Baer and Bryan Porter

Technical Reviewer: Paul S. Randal (SQLskills.com)

Contents

  • Introduction

  • Using Database Console Command (DBCC) CHECKDB to check for consistency errors

  • About DBCC CHECKDB

  • DBCC CHECKDB and performance

  • Measure and reduce index fragmentation

  • Online vs. offline index rebuilds

  • Measure fragmentation in a SQL Server 2008 or 2005 database (sys.dm_db_index_physical_stats)

  • Reducing fragmentation for a database

  • Reducing fragmentation for a specific table and its indexes

  • Fine tuning index performance by setting fill factor

  • Shrinking data files

  • Creating SQL Server 2008 maintenance plans

  • Conclusion

Note:

Before you implement any database maintenance tasks or modify SharePoint 2010 databases, read Support for changes to the databases that are used by Office server products and by Windows SharePoint Services.

Introduction

Routine database maintenance is essential for the smooth operation of Microsoft SharePoint 2010 databases.

The recommended maintenance tasks for SharePoint 2010 databases include the following:

  • Check database integrity.

  • Defragment indexes by reorganizing them or rebuilding them.

  • Set the fill factor for a server.

Note:

This article discusses database maintenance; it does not discuss planning for capacity or performance. For information about capacity or capacity planning, see Storage and SQL Server capacity planning and configuration (SharePoint Server 2010).

Although previous versions of SharePoint Products and Technologies required manual intervention to perform index defragmentation and statistics maintenance, several SharePoint Health Analyzer rules automate this process in SharePoint 2010. These rules evaluate the health of database indexes and statistics daily, and automatically address those items for the following databases:

  • Configuration databases

  • Content databases

  • User Profile Service Application Profile databases

  • User Profile Service Application Social databases

  • Web Analytics Service Application Reporting databases

  • Web Analytics Service Application Staging databases

  • Word Automation Services databases

You can perform database maintenance tasks by running Transact-SQL commands, or by running the Database Maintenance Wizard. This article describes the Transact-SQL commands that you can use, and then explains how to create database maintenance plans by using the Microsoft SQL Server Database Maintenance Wizard. (The detailed examples are for Microsoft SQL Server 2008 R2 and Microsoft SQL Server 2005.)

Using Database Console Command (DBCC) CHECKDB to check for consistency errors

Start your routine maintenance operations with consistency checks to ensure that your data and indexes are not corrupted. You can use the Database Console Command (DBCC) CHECKDB statement to perform an internal consistency check of the data and index pages.

Most database consistency problems result from I/O subsystem errors. However, other factors and events can affect database consistency too; for example, an improper shutdown of a database server or a drive failure. Noticeable performance and availability issues can sometimes be symptoms of underlying database consistency problems. Perform database consistency checks at least once per week on your SharePoint 2010 databases, and when events such as database server or I/O subsystem failures occur.

About DBCC CHECKDB

DBCC CHECKDB checks the logical and physical integrity of all the objects in the specified database by performing the following operations:

  • Runs the equivalent of DBCC CHECKALLOC to verify the allocation structures in the database.

  • Runs the equivalent of DBCC CHECKTABLE on every table and view in the database to verify their logical and physical integrity.

  • Runs the equivalent of DBCC CHECKCATALOG on the database to verify the consistency of the metadata in the database.

We recommend that you run DBCC CHECKDB instead of the individual operations (DBCC CHECKALLOC, DBCC CHECKTABLE, and DBCC CHECKCATALOG commands) because DBCC CHECKDB identifies the widest range of possible errors and is therefore safer to run in a production environment.

DBCC CHECKDB uses a lot of memory, I/O, and CPU resources. Instead of running DBCC CHECKDB on your production system, you can run it on a restored backup of your SharePoint databases on a different server, and thereby offload the consistency-checking workload from the production system.

We recommend that you first run DBCC CHECKDB, and then, if it reveals errors, restore the affected database by using your most recent backups.

Important:

You cannot run DBCC CHECKDB WITH REPAIR_ALLOW_DATA_LOSS. However, you can run DBCC_CHECKDB WITH REPAIR_FAST and REPAIR_REBUILD because those commands update the indexes only of the associated database.

The following is sample output from DBCC CHECKDB.

Copy Code
DBCC results for 'Contoso_Content_1'.
Service Broker Msg 9675, State 1: Message Types analyzed: 14.
Service Broker Msg 9676, State 1: Service Contracts analyzed: 6.
Service Broker Msg 9667, State 1: Services analyzed: 3.
Service Broker Msg 9668, State 1: Service Queues analyzed: 3.
Service Broker Msg 9669, State 1: Conversation Endpoints analyzed: 0.
Service Broker Msg 9674, State 1: Conversation Groups analyzed: 0.
Service Broker Msg 9670, State 1: Remote Service Bindings analyzed: 0.
DBCC results for 'sys.sysrowsetcolumns'.
There are 2663 rows in 21 pages for object "sys.sysrowsetcolumns".
DBCC results for 'sys.sysrowsets'.
There are 309 rows in 4 pages for object "sys.sysrowsets".

…more

CHECKDB found 0 allocation errors and 0 consistency errors in database 'Contoso_Content_1'.
DBCC execution completed. If DBCC printed error messages, contact your system administrator.

For more information about how to use DBCC CHECKDB with SQL Server 2008, see DBCC CHECKDB (Transact-SQL).

DBCC CHECKDB and performance

We recommend that you run consistency checks during non-production hours because DBCC CHECKDB is extremely resource-intensive (I/O, CPU, memory, and tempdb space). There is a common misconception that DBCC CHECKDB acquires blocking locks, but that has not been true since before SQL Server 2000. For more information, see A SQL Server DBA myth a day: (2/30) DBCC CHECKDB causes blocking.

You might find that running DBCC CHECKDB uses too many resources for your production system. In that case, do not attempt to run consistency checks one table at a time. The best ways to reduce the overhead of an integrity check on the production system is to use one of the following options:

  • Use the WITH PHYSICAL_ONLY option to reduce the CPU and memory usage.

  • Restore a database backup on a separate SQL Server and run consistency checks on the restored copy of the database.

For more information about these options, see the blog entry from Paul S. Randal, CHECKDB From Every Angle: Consistency Checking Options for a VLDB.

Measure and reduce index fragmentation

Index fragmentation occurs when the logical order of pages in a table or index (as defined by the index key) differs from the physical order of the pages in the data files. It can also mean that the data density on data file pages is low, which results in wasted disk space, memory, and I/Os. Index fragmentation can be the result of many inserts, updates, or deletions to a table. The following illustrations contrast a newly built, non-fragmented index with an index that is fragmented after many inserts, updates, and deletions. The red arrow shows the physical order of the index; the black arrows show the logical ordering of the index pages.

Figure 1. Non-fragmented index (Image source: Paul S. Randal)

Figure 2. Fragmented Index (Image source: Paul S. Randal)

Because inserts, updates, and deletions are not distributed equally among the rows of the table and indexes, the fullness (or data density) of each page can vary over time. For queries that scan part or all of the indexes of a table, fragmentation can cause additional page reads, which hinders parallel scanning of data and can significantly affect search performance.

Index fragmentation can result in a decrease in performance and inefficient use of space, and indexes might become quickly fragmented on databases that have only moderate use.

Before you implement an index fragmentation maintenance plan, determine which tables and indexes are most fragmented. Then, create a maintenance plan to rebuild or reorganize those indexes.

For example, in SharePoint 2010, a table that often becomes fragmented is AllDocs, which contains document libraries, their associated documents and lists and list items, and their respective metadata.

The fragmentation level of an index is the percentage of index pages that are not in the same logical and physical order.

Online vs. offline index rebuilds

Online index rebuilding is available in SQL Server Enterprise, Developer, and Evaluation editions only. The methods described in this article take those restrictions into account. The procedures in the article fall back to an offline index rebuild if the edition of SQL Server that is hosting a specific database does not support online index rebuilds, or if the index that is being rebuilt is not eligible for an online index rebuild. An index might not be eligible for an online rebuild due to the presence of large object (LOB) columns, such as columns with a data type of NVARCHAR(MAX), IMAGE, and so on.

For information about online index rebuilds, see How Online Index Operations Work. When an offline index rebuild is performed, table level locks are taken during the rebuild process, which might prevent the table from being written to or even accessed at all. Many of the indexes in SharePoint databases are always rebuilt by using an offline index rebuild because of LOB columns.

Even if online index rebuild is used, there are still two points in the operation where table locks are held momentarily, and these could cause blocking. As a result, we recommend that you always schedule index rebuild activities during periods of low activity.

Measure fragmentation in a SQL Server 2008 or 2005 database (sys.dm_db_index_physical_stats)

In SQL Server 2008 or SQL Server 2005, use the sys.dm_db_index_physical_stats dynamic management view to determine fragmentation for the indexes on a specified table or view.

For measuring fragmentation, we recommend that you monitor the column avg_fragmentation_in_percent. The value for avg_fragmentation_in_percent should be as close to zero as possible for maximum performance. However, values from 0 percent through 10 percent might be acceptable. For more information see sys.dm_db_index_physical_stats.

The following table shows sample results from sys.dm_db_index_physical_stats, with a value of 9.375 for avg_fragmentation_in_percent in one row.

database_id | index_type_desc | alloc_unit_type_ desc | avg_fragmentation_ in_percent
10 | CLUSTERED INDEX | IN_ROW_DATA | 0
10 | NONCLUSTERED INDEX | IN_ROW_DATA | 0
10 | NONCLUSTERED INDEX | IN_ROW_DATA | 0
10 | CLUSTERED INDEX | IN_ROW_DATA | 0
10 | NONCLUSTERED INDEX | IN_ROW_DATA | 0
10 | CLUSTERED INDEX | IN_ROW_DATA | 9.375

To use the sys.dm_db_index_physical_stats dynamic management view

  1. On the taskbar, click Start, point to All Programs, point to Microsoft SQL Server 2008, and then click SQL Server Management Studio.

    To use sys.dm_db_index_physical_stats with a database object, you must know the database ID and object ID.

  2. Select the content database in the Object Explorer, and then click New Query. Execute the following script.

    SELECT DB_ID() AS [Database ID];

    Note:

    When you use DB_ID without specifying a database name, the compatibility level of the current database must be 100 (a SQL Server 2008 database) or 90 (a SQL Server 2005 database). If you have upgraded from an earlier version of SQL Server, you must specify a database name in the DB_ID statement. For more information about compatibility levels, see sp_dbcmptlevel (Transact-SQL).

  3. Execute sys.dm_db_index_physical_stats on the database or object that you select. You can specify the database, and also a table or index.

    Use the following syntax when you run sys.dm_db_index_physical_stats.

    Copy Code
    sys.dm_db_index_physical_stats (
    { database_id | NULL | 0 | DEFAULT }
    , { object_id | NULL | 0 | DEFAULT }
    , { index_id | NULL | 0 | -1 | DEFAULT }
    , { partition_number | NULL | 0 | DEFAULT }
    , { mode | NULL | DEFAULT }
)

    Be careful when you use the sys.dm_db_index_physical_stats DMV because it can be very resource-intensive. See Inside sys.dm_db_index_physical_stats for a comprehensive guide that explains the various ways to use it.

Reducing fragmentation for a database

Use the following guidance to reduce the level of index fragmentation.

Run database maintenance Health Analyzer rules

SharePoint 2010 includes the Health Analyzer rules framework. The framework has many rules that monitor the health and well-being of a SharePoint environment and in some instances, takes action to correct certain kinds of issues.

SharePoint 2010 includes several rules that are pertinent to content database maintenance. There are rules that automatically reduce index fragmentation for some SharePoint databases, and rules that check for outdated statistics, updating them if necessary. These Health Analyzer rules replace the updated Database Statistics timer job that was introduced in Service Pack 2 for SharePoint Products and Technologies. By default, these rules are configured to execute on a schedule that varies from daily, weekly, to on-demand, depending on the rule target.

All Health Analyzer rules that are configured to execute daily and that are associated with a particular SharePoint service are executed by the same timer job. Adjusting the scheduling of this timer job will adjust when Health Analyzer rules configured for daily execution and associated to that service will execute during the day. All rules discussed in this article are associated to the SharePoint Timer service.

Health Analyzer rules that are configured to execute on a different time interval (such as weekly) or associated with a different service have distinct timer jobs. If you configure a Health Analyzer rule to execute weekly, that rule executes with the timer job that is configured to execute weekly for the specific service to which that Health Analyzer rule is associated. In other words, the rule executes on the schedule that is defined for that timer job.

You can run Health Analyzer rules manually by clicking Run Now from the ribbon on the Health Analyzer Rules page in Central Administration. Running these rules evaluates the health of indexes and statistics; it also rebuilds and recalculates the index as appropriate.

Databases used by SharePoint have fragmented indices. Running this rule performs the following tasks:

  • The rule reports indexes as fragmented. Because evaluating index health is an expensive operation, after the Health Analyzer rule executes, this rule always reports indexes as fragmented to trigger the corrective action.

  • For each SharePoint database, the rule action looks for, and if found, executes the proc_DefragmentIndices stored procedure, which builds a listing of all indexes in the database. The present level of fragmentation is evaluated in each index. Any index that is fragmented more than 30 percent is considered for rebuild.

  • If the edition of SQL Server supports online index rebuilds, an online index rebuild is attempted for each index. If this fails, (for example, the underlying index might not support online rebuilds because of LOB columns) an offline index rebuild is performed.

As previously noted, this rule does not service every database in a SharePoint environment. Certain databases use different rules to perform similar maintenance activities.

Search - One or more property databases have fragmented indices. This rule maintains the indexes in the SharePoint 2010 Enterprise Search Property Databases. By default, this rule is configured to execute weekly on any server in the farm. All processing for this rule, including corrective actions, occurs during the Check phase of the rule. This means that if you want to manage index rebuilds for the Enterprise Search Property Database, it is not enough to simply configure this rule not to rebuild indexes automatically. You must disable the rule completely if you do not want SharePoint 2010 to automatically run index maintenance operations.

Running Search - One or more property databases have fragmented indices performs the following tasks:

  • The rule confirms that the environment is in a state in which it is safe to perform an index rebuild.

  • For each property database that is configured for search applications in the local farm, the rule executes the proc_MSS_DefragSearchIndexes stored procedure, which builds a listing of all indexes that have an average fragmentation over 10%.

  • Each index in the list that affects the performance of the Property database is rebuilt. If the edition of SQL Server supports online index rebuilds, an online index rebuild is performed. If an online index rebuild is attempted, but fails, the index is rebuilt offline.

Search - One or more crawl databases may have fragmented indices. This rule maintains the indexes in the SharePoint 2010 Enterprise Search Property Databases. By default, this rule is configured to execute weekly on any server in the farm. All processing for this rule, including corrective actions, occurs during the Check phase of the rule. This means that if you want to manage index rebuilds for the Enterprise Search Property Database, it is not enough to simply configure this rule not to rebuild indexes automatically. You must disable the rule complete if you do not want SharePoint 2010 to automatically run index maintenance operations.

Running Search - One or more property databases have fragmented indices performs the following tasks:

  • The rule confirms that the environment is in a state in which it is safe to perform an index rebuild.

  • For each property database that is configured for search applications in the local farm, the rule executes the proc_MSS_DefragSearchIndexes stored procedure, which builds a listing of all indexes that have an average fragmentation over 10%.

  • Each index in the list that affects the performance of the Property database is rebuilt. If the edition of SQL Server supports online index rebuilds, an online index rebuild is performed. If an online index rebuild is attempted, but fails, the index is rebuilt offline.

Search - One or more crawl databases may have fragmented indices. This rule maintains the indexes in the SharePoint 2010 Enterprise Search Crawl Databases. By default, this rule is configured to execute only on demand. When executed, it can execute from any server in the farm.

The rule reports indexes in the crawl database as fragmented because checking for fragmentation in a database is an expensive operation. Simply disabling the 'Repair' activity for this rule results in a report that all crawl databases are unhealthy, even when the crawl databases have had their indexes recently rebuilt.

To maintain indexes in crawl databases manually, disable the Search - One or more crawl databases may have fragmented indices rule completely.

Running Search - One or more crawl databases may have fragmented indices performs the following tasks:

  • The rule confirms that the environment is in a state in which it is safe to perform an index rebuild.

  • For each Crawl database that is configured for search applications in the local farm, the rule executes the proc_MSS_DefragGathererIndexes stored procedure.

  • Each index in the Crawl database in the list is rebuilt. If the edition of SQL Server supports online index rebuilds, an online index rebuild is performed. If an online index rebuild is attempted, but fails, the index is rebuilt offline.

Important:

The Search - One or more crawl databases may have fragmented indices rule rebuilds every index in all Crawl databases regardless of fragmentation level. It also enables page level data compression, if supported by the edition of SQL Server that is hosting the Crawl database.

Because of the nature of the Crawl database, you typically do not have to defragment this database frequently. Execute this rule after you have first performed a full crawl over your content. Afterwards, monitor the indexes in the Crawl database for fragmentation, and execute this rule when index fragmentation grows. Index fragmentation might occur because of a sudden addition or removal of a large amount of crawled content; for example, during the content expulsion that results from an environmental cleanup, or after the on-boarding of a new content source, such as a file share or large SharePoint web application.

The following databases do not have an automated maintenance mechanism in place. These databases do not typically have much fragmentation. Monitor these databases for fragmentation, and rebuild the indexes in these databases when fragmentation exceeds 30%.

  • Search Administration Database

  • Secure Store Database

  • State Service Database

  • Profile Sync Database

  • Usage Database

  • Managed Metadata Database

  • Business Connectivity Services Database

  • PerformancePoint Services Database

For more information about the changes that are supported for SharePoint 2010 databases, see Support for changes to the databases that are used by Office server products and by Windows SharePoint Services in the Microsoft Knowledge Base.

If the performance of a heavily fragmented database or table is not measurably improved by frequent defragmentation, you should check the performance of the I/O subsystem.

Reducing fragmentation for a specific table and its indexes

If you want to defragment an index that is associated with a particular table instead of an entire database, you can reorganize or rebuild the index.

  • Reorganizing an index specifies that the index leaf level is reorganized. Index reorganization defragments and compacts clustered and non-clustered indexes on tables and views, and can significantly improve index scanning performance. Reorganizing an index uses the existing space allocated to the index. Reorganization is always performed online so that the underlying table is available to users.

  • Rebuilding an index specifies that a brand new copy of the index is built. Therefore, a rebuild operation requires enough extra space to build the new copy of the index before removing the old, fragmented index. Rebuilding improves the performance of index scans and seeks. You can rebuild the index with a table online or offline.

The fragmentation level of an index determines the method that you should use to defragment it, and whether it can remain online, or should be taken offline. The following table describes the defragmentation method that is recommended for different fragmentation levels.

Fragmentation level | Defragmentation method
Up to 10% | Reorganize (online)
10-75% | Rebuild (online)
75% | Rebuild (offline)
Note:

Using the DROP INDEX and CREATE INDEX commands is not supported on SharePoint 2010 databases.

You can reorganize and rebuild indexes by using the SQL Server 2008 or SQL Server 2005 ALTER INDEX statement, or the SQL Server 2008 or SQL Server 2005 Maintenance Plan Wizard. This article presents the SQL Server 2008 or SQL Server 2005 options only in detail.

Using ALTER INDEX

ALTER INDEX enables a database administrator to perform maintenance operations against an index on a table or view. You can use it to disable, rebuild, and reorganize indexes. Also, you can use it to set options on the index. In most cases, you can rebuild indexes while the database is online, which keeps the data more available to users than an offline index rebuild.

Important:

SQL Server 2000 supported DBCC DBREINDEX and DBCC INDEXDEFRAG for index maintenance. These commands have been deprecated from SQL Server 2005 onwards and will be removed in a future version of SQL Server. Do not use these commands to perform index maintenance on a SharePoint 2010 database.

Note:

When an index is being rebuilt offline, a shared table lock is put on the table to prevent all operations except SELECT. SharePoint 2010 databases use clustered indexes specifically. When a clustered index is being rebuilt offline, an exclusive table lock is put on the table to prevent users from accessing it.

You can customize the following sample script to rebuild all indexes on a table.

Copy Code
USE Contoso_Content_1
GO
ALTER INDEX ALL ON [database_name. [ schema_name ] . | schema_name. ]table_or_view_name
REBUILD WITH (FILLFACTOR = 80, SORT_IN_TEMPDB = ON,
STATISTICS_NORECOMPUTE = ON)
GO

Fine tuning index performance by setting fill factor

To further improve index data storage and performance, use fill factor. When indexes are created or rebuilt, the fill factor value (1-100) determines the percentage of space that can be filled with data on each leaf level page. The remaining space is reserved for future growth. For many situations, the default server-wide fill factor level of 0 (fill each page to 100% full) is optimal. However, for SharePoint 2010, a server-wide setting of 80 is optimal to support growth and minimize fragmentation.

Note:

We do not recommend that you set the fill factor for individual tables or indexes. Although this is the preferred method for non-SharePoint SQL Server databases, tests show that SharePoint databases work best with an 80% fill factor.

To view the fill factor value of one or more indexes, query the sys.indexes catalog view. For more information about the view, see sys.indexes (Transact-SQL).

To configure the server-wide fill factor value, use the sp_configure system stored procedure. For more information, see spconfigure (Transact-SQL).

Shrinking data files

In SQL Server 2008 and SQL Server 2005, you can shrink each file in a database (file name extensions .mdf, .ldf, and .ndf) to remove unused pages and recover disk space. SharePoint 2010 databases do not automatically shrink data files, although many activities create unused space in the database. Activities that can create unused space include running the Move-SPSite Windows PowerShell command, and deleting documents, document libraries, lists, list items, and sites.

Figure 3. Database allocation

Free space is only released from the end of the file; for example, a content database file of 60 GB with a specified target size of 40 GB frees as much space as possible from the ending (conceptually, the 'right-hand' end) 20 GB of the database file. If used pages are included in the ending 20 GB, those pages are later relocated to the beginning 40 GB of the file that is retained. You can shrink database files individually or as a group.

Only perform shrink operations rarely, and only after you perform an operation that removes a lot of data from a database, and then only when you do not expect to use that free space again. Data file shrink operations cause heavy index fragmentation and are extremely resource-intensive. Examples of when you might have to shrink database files are when you relocate a large of number of site collections from one content database to another content database or when you delete a large list. Either of those operations can create large amounts of unused space. Database files can only be reduced to the point where there is no free space remaining. Therefore, a content database in which you rarely delete content might not benefit much from shrinking, and will likely experience a decrease in performance when it has to grow to accommodate additional data without specific accommodations. For more information, see Database File Initialization.

Because shrinking causes index fragmentation, do not shrink database files regularly. Instead, shrink database files only in response to large quantities of unused space that appear as a result of operations that significantly impact the relative amount of used space in a database. If at all possible, avoid shrinking a database.

However, if you must shrink a database, use the following guidelines:

  • Do not auto-shrink databases or configure a maintenance plan that programmatically shrinks your databases.

  • Shrink a database only when users or administrators remove 50% or more of the content and you do not expect to reuse the unused space.

  • Shrink only content databases. Users and administrators do not delete enough data from the configuration database, Central Administration content database, and various service application databases to contain significant free space.

  • Shrinking databases is an extremely resource-intensive operation. Therefore, if you absolutely must shrink a database, carefully consider when you schedule the shrink operation.

  • After you shrink a database, the indexes in that database are fragmented. Use ALTER INDEX… REORGANIZE to address the fragmentation. If you are not configured to allow instant file initialization, shrink the database to a target size that accommodates the size required for the near-term growth that you expect. For more information, see Database File Initialization.

You can shrink databases and database files manually to recover space by executing the DBCC SHRINKFILE and DBCC SHRINKDATABASE statements in SQL Server 2008 or SQL Server 2005 Management Studio.

For more information about why shrinking a database damages performance and should not be done unless absolutely necessary, see Why you should not shrink your data files.

Shrinking a database by using Transact-SQL commands

DBCC SHRINKDATABASE shrinks the data and log files for a specific database. To shrink individual files, use DBCC SHRINKFILE.

DBCC SHRINKDATABASE

DBCC SHRINKDATABASE uses the following syntax.

Copy Code
DBCC SHRINKDATABASE
( 'database_name' | database_id | 0
     [ ,target_percent ]
     [ , { NOTRUNCATE | TRUNCATEONLY } ]
)
[ WITH NO_INFOMSGS ]

database_name | database_id | 0 specifies the database name or ID. To select the current database, use 0.

target_percent is the free space, as a percentage, that you want to keep after you shrink the database.

NOTRUNCATE compacts the data in data files by moving allocated pages from the end of a file to unallocated pages in the front of the file.

TRUNCATEONLY releases all free space at the end of the file to the operating system but does not perform any page movement in the file.

Note:

Using the TRUNCATEONLY option is not supported for SharePoint 2010 content databases.

For more information, see DBCC SHRINKDATABASE (Transact-SQL).

DBCC SHRINKFILE

DBCC SHRINKFILE uses the following syntax.

Copy Code
DBCC SHRINKFILE
(
     { 'file_name' | file_id }
    { [ , EMPTYFILE ]
    | [ [ , target_size ] [ , { NOTRUNCATE | TRUNCATEONLY } ] ]
    }
)
[ WITH NO_INFOMSGS ]

file_name | file_id specifies the file name or ID.

EMPTYFILE migrates all data from the specified file to other files in the same filegroup.

Important:

Using the EMPTYFILE option is not supported for SharePoint 2010 database files.

target_size is the target size for the file in megabytes, expressed as an integer.

NOTRUNCATE compacts the data in data files by moving allocated pages from the end of a file to unallocated pages in the front of the file.

TRUNCATEONLY releases all free space at the end of the file to the operating system but does not perform any page movement inside the file.

Important:

Using the TRUNCATEONLY option is not supported for SharePoint 2010 content databases

For more information, see DBCC SHRINKFILE (Transact-SQL).

Shrinking a database by using SQL Server 2008 Management Studio

Use the following procedure.

To shrink a database by using SQL Server 2008 Management Studio

  1. On the taskbar, choose Start, All Programs, Microsoft SQL Server 2008, SQL Server Management Studio.

  2. In Object Explorer, connect to an instance of the SQL Server 2008 Database Engine and then expand that instance.

  3. Expand Databases, right-click the database that you want to shrink, choose Tasks, Shrink, Files.

  4. Select the file type and file name.

  5. Select Reorganize files before releasing unused space. You must also set the Shrink file value. Select this option to release any unused space in the file to the operating system and to relocate rows to unallocated pages.

  6. Click OK.

Creating SQL Server 2008 maintenance plans

You can programmatically apply many of the database maintenance operations that are discussed in this article by implementing SQL Server maintenance plans. Maintenance plans can automate and schedule essential tasks to protect your data. By using maintenance plans in SQL Server 2008 or SQL Server 2005, an administrator can schedule operations such as running database consistency checks, reorganizing indexes, or rebuilding indexes. For more information, see the following resources:

  • Maintenance Plan Wizard for SQL Server 2008.

  • Database Maintenance Plan Wizard for SQL Server 2005.

To configure a SQL Server 2008 database maintenance plan

  1. On the taskbar, choose Start, All Programs, Microsoft SQL Server 2008, SQL Server Management Studio.

  2. In Object Explorer, connect to an instance of the SQL Server 2008 Database Engine and then expand that instance.

  3. Choose Management, right-click Maintenance Plans, and then choose Maintenance Plan Wizard.

  4. Choose Next until you reach the Select Plan Properties page.

    Figure 4. Select Plan Properties page

    Select Plan Properties page

  5. In the Name and Description fields, specify a name and description.

  6. Decide whether to configure one or more maintenance plans.

    • To configure a single maintenance plan, select Single schedule for the entire plan or no schedule.

    • To configure multiple maintenance plans with specific tasks, select Separate schedules for each task.

    If you have an environment that has 10 or more content databases or more than 200 GB of content, we recommend that you configure separate maintenance plans to provide appropriate specificity and to maximize the maintenance window.

    If you configure multiple maintenance plans for a database, specify a name or description that enables you to differentiate the plans and their purposes, including their schedules.

  7. Click Change to set a schedule for one or more plans.

    The Job Schedule Properties dialog box appears.

    Figure 5. Job Schedule Properties dialog box

    Job Schedule Properties dialog box

  8. Complete the schedule, click OK, and then click Next.

  9. On the Select Maintenance Tasks page, select the maintenance tasks to include in the plan, and then click Next.

    Figure 6. Select Maintenance Tasks page

    Select Maintenance Tasks page

    Consider the following notes:

    • A maintenance plan should include index reorganization or index rebuilding; not both.

    • A maintenance plan should never include shrinking a database.

    • To determine the duration of each task, test each task individually before combining tasks into a single plan. You might have to define several maintenance plans on separate schedules to enable tasks to complete during hours that do not adversely affect users.

    • The Maintenance Cleanup Task removes files that are left over after a scheduled maintenance.

  10. On the Select Maintenance Task Order page, change the order of the maintenance plan tasks if you need to. Select a task, and then click Move up or Move down. After you order the tasks, click Next.

    Note:

    If your databases are very large, you might want to create a separate maintenance plan that checks database integrity less frequently than index maintenance.

    Figure 7. Select Maintenance Task Order page

    Select Maintenance Task Order page

  11. Next, the wizard guides you through setting the details for each task. On the Define Database Check Integrity Task page, select the databases to check for integrity, and then click Next.

    Note:

    You can safely check all SharePoint 2010 databases for integrity.

    Figure 8. Define Database Check Integrity Task page

    Define Database Check Integrity Task page

  12. On the Define Reorganize Index Task page, in the Databases list, specify the databases for which you want to reorganize the indexes, select the Compact large objects check box, and then click Next.

    Figure 9. Define Reorganize Index Task page

    Define Reorganize Index Task page

  13. On the Define Rebuild Index Task page, if you chose to rebuild indexes instead of reorganize indexes, specify the databases in the Databases list.

  14. Select Change free space per page percentage, type 80, and then click Next.

    Change free space per percentage sets the fill factor for the database.

    Figure 10. Define Rebuild Index Task page

    Define Rebuild Index Task page

  15. On the Define Maintenance Cleanup Task page, specify the requested values, and then click Next.

    Tip:

    We recommend that you delete Maintenance Plan text reports.

    Figure 11. Define Maintenance Cleanup Task page

    Define Maintenance Cleanup Task page

  16. On the Select Report Options page, select Write a report to a text file, select a location for the files, and then click Next until you complete the wizard.

    Figure 12. Select Report Options

    Select Report Options

Conclusion

Consistently maintaining the databases that host SharePoint 2010 can significantly improve the health and performance of your system.

Ensure that you have reliable backups for all databases before you implement maintenance operations and maintenance plans.

Before you implement a maintenance plan or specific maintenance operations that run consistently, test the impact of the operations on your system and the time that is required to run them.

As much as possible, set any maintenance operations or maintenance plans to run during off-hours to minimize the performance effect on users.

See Also

Other Resources

This topic also available as a download


Manage RBS (SharePoint Server 2010)
See Also

Remote BLOB Storage (RBS) is an add-on feature pack for Microsoft SQL Server 2008. RBS is designed to move the storage of binary large objects (BLOBs) from database servers to commodity storage solutions. If the content databases in Microsoft SharePoint Server 2010 are 4 gigabytes (GB) or larger, consider using RBS as part of your data storage solution.

In This Section

  • Overview of RBS (SharePoint Server 2010)

    This article is a conceptual overview of how RBS works with Microsoft SQL Server 2008 Express and Microsoft SQL Server 2008 R2 Express. It contains important information about RBS features and providers. We strongly recommend that you read this article before you implement RBS.

  • Install and configure RBS (SharePoint Server 2010)

    This article describes how to install and configure RBS and implement the FILESTREAM provider for use with SharePoint Server 2010.

  • Install and configure RBS with a 3rd party provider (SharePoint Server 2010)

    This article describes how to install and configure RBS without using the FILESTREAM provider.

  • Set a content database to use RBS (SharePoint Server 2010)

    This article describes how to set a content database to use RBS. You must already have RBS installed to perform these procedures.

  • Migrate content into or out of RBS (SharePoint Server 2010)

    This article describes how to migrate content into or out of RBS, or to a different RBS provider.

  • Disable RBS on a content database (SharePoint Server 2010)

    This article describes how to disable RBS in a SharePoint Server 2010 environment.

See Also

Concepts

Plan for RBS (SharePoint Server 2010)


Install and configure RBS with a 3rd party provider (SharePoint Server 2010)
See Also

Published: April 10, 2012

This article describes how to install and configure Remote BLOB Storage (RBS) for a database server that supports a Microsoft SharePoint Server 2010 farm.

Tip:

RBS can be used with SQL Server 2008 or SQL Server 2008 R2. However, you must install the SQL Server 2008 R2 RBS binaries. The binaries are part of the SQL Server 2008 Feature Pack, October 2008 and the SQL Server 2008 R2 Feature Pack.

Important:

This solution uses a 3rd-party provider. Before continuing, be sure to read the instructions from the manufacturer of the provider.

Do not directly access BLOBs when using 3rd party providers. Always access these BLOBs by using SharePoint Server 2010.

To use RBS, you must do the following:

  • Install the RBS client library on each Web server - the RBS client library stores the BLOB data on the file system, enable fidelity checks, and perform other tasks.

  • Install the third-party provider - Be sure to follow the instructions from the manufacturer of the provider.

  • Enable RBS for each content database - You must enable RBS for each content database for which you want to use RBS.

  • Test the RBS installation

The user account that you use to perform the procedures that are described in this article must have the following memberships:

  • Administrators group on the Web servers and application servers.

  • SQL Server dbcreator and securityadmin fixed server roles on the computer that is running SQL Server 2008.

Install the RBS client library on each Web server

You must install RBS client library on all Web servers in the SharePoint farm. The RBS client library is installed only once per Web server, but RBS is configured separately for each associated content database. The client library consists of a client-side DLL that is linked into a user application, as well as a set of stored procedures to be installed on SQL Server.

Warning:

Do not install RBS by running the RBS.msi file and starting the Install SQL Remote BLOB Storage wizard. The wizard sets certain default values that are not recommended for SharePoint Server 2010.

To install the RBS client library on the on the first Web server

  1. On any Web server, browse to http://go.microsoft.com/fwlink/?LinkID=188395&clcid=0x409 if you are running SQL Server 2008 or http://download.microsoft.com/download/E/4/8/E48816F7-4612-432E-B135-0F90C0211701/RBS_X64.msi if you are running SQL Server 2008 R2 and download the MSI file for 64-bit platforms.

  2. Click Start, click Run, type cmd into the Run text box, and then click OK.

  3. Copy and paste the following command into the Command Prompt window. Replace WSS_Content with the database name, replace RBS with "RBS.msi" if you are running SQL Server 2008 R2 or "RBS_64.msi" if you are running SQL Server 2008, and replace DBInstanceName with the SQL Server instance name. You should run this command by using the specific database name and SQL Server instance name only one time. The operation should finish within approximately one minute.

    Copy Code
    msiexec /qn /lvx* rbs_install_log.txt /i "RBS" TRUSTSERVERCERTIFICATE=true FILEGROUP=PRIMARY DBNAME="WSS_Content" DBINSTANCE="DBInstanceName" FILESTREAMFILEGROUP=RBSFilestreamProvider FILESTREAMSTORENAME=FilestreamProvider_1

To install the RBS client library on all additional Web and application servers

  1. On a Web server, download the RBS.msi at http://go.microsoft.com/fwlink/?LinkID=188395&clcid=0x409.

  2. Click Start, click Run, type cmd into the Run text box, and then click OK.

  3. Copy and paste the following command into the Command Prompt window. Replace WSS_Content with the database name, and replace DBInstanceName with the name of the SQL Server instance. The operation should finish within approximately one minute.

    Copy Code
    msiexec /qn /lvx* rbs_install_log.txt /i RBS.msi DBNAME="WSS_Content" DBINSTANCE="DBInstanceName" ADDLOCAL=Client,Docs,Maintainer,ServerScript,FilestreamClient,FilestreamServer

  4. Repeat this procedure for all Web servers and application servers in the SharePoint farm.

To confirm the RBS client library installation

  1. The rbs_install_log.txt log file is created in the same location as the RBS.msi file. Open the rbs_install_log.txt log file by using a text editor and scroll toward the bottom of the file. Within the last 20 lines of the end of the file, an entry should read as follows: Product: SQL Remote Blob Storage - Installation completed successfully.

  2. On the computer that is running SQL Server 2008, verify that the RBS tables were created in the content database. Several tables should be listed under the content database that have names that are preceded by the letters "mssqlrbs".

Install the third-party provider

The steps that you use to install the third-party provider will vary between manufacturers. Be sure to follow the instructions from the manufacturer of the provider.

Enable RBS for each content database

You must enable RBS on one Web server in the SharePoint farm. It is not important which Web server that you select for this activity, as long as RBS was installed on it by using the previous procedure. You must perform this procedure once for each content database.

Note:

You can only enable RBS by using Windows PowerShell.

To enable RBS by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell command prompt, type the following command:

    Copy Code
    $cdb = Get-SPContentDatabase <ContentDatabaseName>
$rbss = $cdb.RemoteBlobStorageSettings
$rbss.Installed()
$rbss.Enable()
$rbss.SetActiveProviderName($rbss.GetProviderNames()[0])
$rbss

    Where:

    • <ContentDatabaseName> is the name of the content database.

For more information, see Get-SPContentDatabase.

Test the RBS installation

You should test the RBS installation on one Web server in the SharePoint farm to make sure that the system works correctly.

To test the RBS data store

  1. On the computer that contains the RBS data store, click Start, and then click Computer.

  2. Browse to the RBS data store directory.

  3. Confirm that the folder is empty.

  4. On the SharePoint farm, upload a file that is at least 100 kilobytes (KB) to a document library.

  5. On the computer that contains the RBS data store, click Start, and then click Computer.

  6. Browse to the RBS data store directory.

  7. Browse to the file list and open the file that has the most recent changed date. This should be the file that you uploaded.

See Also

Concepts

Overview of RBS (SharePoint Server 2010)
Plan for RBS (SharePoint Server 2010)

Other Resources

How to: Enable FILESTREAM
Resource Center: Installation and Deployment for SharePoint Server 2010


Set a content database to use RBS (SharePoint Server 2010)
See Also

This article describes how to set a content database to use Remote BLOB Storage (RBS). Its instructions assume that you have already installed RBS for use with Microsoft SharePoint Server 2010. To install and configure RBS, see Install and configure RBS (SharePoint Server 2010).

Set a content database to use RBS

To set a content database to use RBS, you must provision a binary large object (BLOB) store in SQL Server, add the content database information to the RBS configuration on a Web server, and then test the RBS data store.

These instructions assume that you have installed SQL Server Management Studio on the database server. If this is not the case, you can download and install Management Studio from Microsoft SQL Server 2008 Management Studio Express (http://go.microsoft.com/fwlink/p/?LinkID=186132&clcid=0x409). You can perform the following procedures on any Web server or application server in the farm. However, for simplicity in this article, we refer to this server as a Web server.

Note:

These instructions assume that you are using the FILESTREAM RBS provider. If you are using a different RBS provider, refer to that provider's instructions to perform these operations.

To set a content database to use RBS

  1. Verify that the user account that you use to perform this procedure is a member of the Administrators group on the Web server, and is a member of the SQL Server dbcreator and securityadmin fixed server roles on the computer that is running Microsoft SQL Server 2008 R2, SQL Server 2008 with Service Pack 1 (SP1) and Cumulative Update 2, or SQL Server 2005 with SP3 and Cumulative Update 3.

  2. Click Start, click All Programs, click Microsoft SQL Server 2008, and then click SQL Server Management Studio.

  3. In the Connect to Server dialog box, specify the server type, server name, and authentication method of the database server that you want to connect to, and then click Connect.

  4. Expand Databases.

  5. Right-click the content database for which you want to create a BLOB store, and then click New Query.

  6. In the Query pane, copy and execute the following SQL queries in the sequence that is provided.

    Copy Code
    use [ContentDbName]
if not exists (select * from sys.symmetric_keys where name = N'##MS_DatabaseMasterKey##')
create master key encryption by password = N'Admin Key Password !2#4'
    Copy Code
    use [ContentDbName]
if not exists (select groupname from sysfilegroups where groupname=N'RBSFilestreamProvider')
alter database [ContentDbName] add filegroup RBSFilestreamProvider contains filestream
    Copy Code
    use [ContentDbName]
alter database [ContentDbName] add file (name = RBSFilestreamFile, filename = 'c:\RBSStore') to filegroup RBSFilestreamProvider

    Where [ContentDbName] is the content database name and c:\RBSStore is the volume\directory that will contain the RBS data store. Be aware that you can provision a RBS store only one time. If you attempt to provision the same RBS data store multiple times, you will receive an error.

    Tip:

    For best performance, simplified troubleshooting, and as a general best practice, we recommend that you create the RBS data store on a volume that does not contain the operating system, paging files, database data, log files, or the tempdb file.

  7. Click Start, click Run, type cmd into the Run text box, and then click OK.

  8. Copy and paste the following command at the command prompt:

    Copy Code
    msiexec /qn /i rbs.msi REMOTEBLOBENABLE=1 FILESTREAMPROVIDERENABLE=1 DBNAME=<ContentDbName> FILESTREAMSTORENAME=FilestreamProvider_1 ADDLOCAL=EnableRBS,FilestreamRunScript DBINSTANCE=<DBInstanceName>>

    Where <ContentDbName> is the name of the content database, and <DBInstanceName> is the name of the SQL Server instance. The operation should finish within approximately one minute.

To test the RBS data store

  1. Connect to a document library on any Web server.

  2. Upload a file that is at least 100 kilobytes (KB) to the document library.

  3. On the computer that contains the RBS data store, click Start, and then click Computer.

  4. Navigate to the RBS data store directory.

  5. Locate the folder that has the most recent modification date, other than the $FSLOG folder. Open this folder and locate the file that has the most recent modification date. Verify that this file has the same size and contents as the file that you uploaded. If does not, ensure that RBS is installed and enabled correctly.

See Also

Concepts

Overview of RBS (SharePoint Server 2010)
Migrate content into or out of RBS (SharePoint Server 2010)

Other Resources

Resource Center: SQL Server and SharePoint Server 2010 Databases


Migrate content into or out of RBS (SharePoint Server 2010)
See Also

This article describes how to migrate content into or out of Remote BLOB Storage (RBS), or to a different RBS provider.

After installing RBS and setting a content database to use RBS, all existing content in that database can be migrated into the database's active provider. You use the same Windows PowerShell 2.0 command to migrate content into or out of RBS, or to another RBS provider. When RBS is implemented, SQL Server itself is regarded as an RBS provider.

You can migrate content databases at any time, but we recommend that you perform migrations during low usage periods so that this activity does not cause performance degradation for users. Migration moves all content from the specified content database into the storage mechanism of the newly named provider.

This operation can be performed on any Web server in the farm. You only need to perform the operation one time on one Web server for each content database that you want to migrate.

To migrate a content database by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell command prompt, type the commands in the following steps.

  6. To obtain the content database RBS settings object:

    Copy Code
    $cdb=Get-SPContentDatabase <ContentDbName>
$rbs=$cdb.RemoteBlobStorageSettings

    Where <ContentDbName> is the name of the content database.

  7. To view a list of all RBS providers that are installed on the Web server:

    Copy Code
    $rbs.GetProviderNames()

  8. To set the active RBS provider:

    Copy Code
    $rbs.SetActiveProviderName(<NewProvider>)

    Where <NewProvider> is the name of the provider that you want to make active for this content database. If you want to migrate the content database out of RBS altogether and back into SQL Server inline storage, set this value to ().

  9. Migrate the data from RBS to the new provider or to SQL Server:

    Copy Code
    $rbs.Migrate()

See Also

Concepts

Set a content database to use RBS (SharePoint Server 2010)

Other Resources

Resource Center: SQL Server and SharePoint Server 2010 Databases


Maintain RBS (SharePoint Server 2010)
See Also

Published: August 27, 2010

This article describes how to perform maintenance tasks that are associated with Remote BLOB Storage (RBS) in Microsoft SharePoint Server 2010.

You perform most of the maintenance tasks associated with RBS in SharePoint Server 2010 by using the RBS Maintainer, which is a tool in Microsoft SQL Server. The RBS Maintainer performs periodic garbage collection and other maintenance tasks for a SharePoint 2010 RBS deployment. You can schedule these tasks for each database that uses RBS by using Windows Task Scheduler or Microsoft SQL Server Agent. You must provision the RBS Maintainer by using command-line parameters or through an XML file. In the case of mirrored or replicated databases, you can run the RBS Maintainer against any single instance.

In this article:

  • Garbage collection

  • RBS and BLOB store consistency checks

  • Running the RBS Maintainer

Garbage collection

SharePoint Server 2010 automatically marks unreferenced or deleted BLOB data for removal. SharePoint Server 2010 counts references to BLOBs by looking at the list of BLOB IDs stored by SharePoint Server 2010 in its content databases at the time of removal. Any BLOB references that are present in the RBS store tables but absent in the content database are assumed to be deleted by SharePoint Server 2010 and will be marked for removal. BLOBs that are not present in the content database and were created before the orphan cleanup time window, described later in this article, are also assumed to be deleted by SharePoint Server 2010 and will be marked for removal.

Because SharePoint Server 2010 tabulates BLOB references from the RBS columns of the content database, every RBS column must have a valid index before it can be registered in RBS.

The SQL Server RBS Maintainer tool removes the items marked by SharePoint Server 2010 for removal. You should schedule the clean-up tasks to be run during off-peak hours to reduce the effect on regular database operations.

RBS garbage collection is performed in the following three steps:

  • Reference scan. The first step compares the contents of the RBS tables in the SharePoint Server 2010 content database with RBS's own internal tables and determines which BLOBs are no longer referenced. Any unreferenced BLOBs are marked for deletion.

  • Delete propagation. The next step determines which BLOBs have been marked for deletion for a period of time longer than the garbage_collection_time_window value and deletes them from the BLOB store.

  • Orphan cleanup. The final step determines whether any BLOBs are present in the BLOB store but absent in the RBS tables. These orphaned BLOBs are then deleted.

Configuring RBS garbage collection

You can configure garbage collection by specifying the following RBS Maintainer settings and database settings:

  • Maintainer schedule. This setting determines how often the RBS Maintainer will be run.

  • Task Duration. This setting determines the maximum length that a single RBS Maintainer task can run. The default setting is two hours.

You should configure the RBS Maintainer so that its activity has minimal effect on regular activity. For information about database garbage collection settings, including how to configure the settings, see Running RBS Maintainer (http://go.microsoft.com/fwlink/p/?LinkId=199638).

RBS and BLOB store consistency checks

The RBS Maintainer verifies the integrity of RBS BLOB references and corrects any errors that are found. It performs several consistency checks for the database, such as verifying that indexes exist for the RBS columns, and verifying that all BLOBs that are referenced by SharePoint Server 2010 exist in RBS.

The Auxiliary Table Consistency Check verifies that the RBS auxiliary tables are in a consistent state. The checks performed are the following:

  • Verify that each RBS table column has a valid index.

  • Verify that RBS table columns exist; have enabled, valid indexes; and have the correct column type.

Although you can disable the following consistency checks, we recommend that you do not disable them because they help ensure the consistency of your RBS store. By default, the following consistency checks are enabled:

  • Verify that all BLOBs that are referenced by SharePoint Server 2010 are present in the RBS tables.

  • Verify that no BLOBs are marked as both in use and deleted.

Any discovered problems are logged and the RBS Maintainer attempts to fix them by creating missing index entries, unregistering missing columns, or marking in-use BLOBs as not deleted.

Running the RBS Maintainer

RBS requires you to define a connection string to each database that uses RBS before you run the RBS Maintainer. This string is stored in a configuration file in the <RBS installation path>\Microsoft SQL Remote Blob Storage 10.50\Maintainer folder that is ordinarily created during installation. The RBS Maintainer can be run manually by executing the Microsoft.Data.SqlRemoteBlobs.Maintainer.exe program together with the parameters that are listed in the following table.

Parameter name | Description | Values | Required?
ConnectionStringName <string name> | The name of the connection string for the configuration file. | RBSMaintainerConnection is the default name that is created during RBS setup. | Yes
Operation <space-separated list of operations to perform> | The garbage collection operations to perform. This parameter takes one to four arguments. The ForceFinalize value cannot be used in combination with any other operation. | ConsistencyCheck GarbageCollection Maintenance ConsistencyCheckForStores ForceFinalize | Yes
GarbageCollectionPhases <phases> | The garbage collection phases to perform. This parameter is used to run or complete the garbage collection. The value must be one or more letters without spaces. | r — Reference scan. d — Delete propagation. o — Orphan cleanup. | Yes, if garbage collection is to be performed.
ConsistencyCheckMode <c, r, or b> | Specifies the kind of consistency check to be performed. | c — Only a check will be performed. r — A check will be performed and any issues found will be repaired. b — A check, repair, and rebuild of the internal data structures. | Yes, if a consistency check is to be performed.
ConsistencyCheckExtent <m or c> | Specifies the extent of the consistency check. | m — Only metadata will be checked; individual BLOBs will remain unchecked. This is the default parameter. c — A complete check will be performed. | If not specified, m is assumed.
ConsistencyCheckForStores <space-separated list of BLOB store names> | Lists the names of the BLOB stores that will be checked for consistency. | By default, all BLOB stores are checked. | No
TimeLimit <time in minutes> | Specifies the time that is available for the RBS Maintainer to perform its tasks. The argument must be a positive integer. |  | No

You must schedule a separate RBS Maintainer task for every database that uses RBS. The following steps describe how to schedule an RBS Maintainer task.

To schedule an RBS Maintainer task

  1. Verify that you have Write permissions for the folder where you installed RBS.

  2. Add a connection string to the <RBS installation directory>\Maintainer\Microsoft.Data.SqlRemoteBlobs.Maintainer.exe.config file for the RBS Maintainer task that is to be performed. The RBS installer creates one connection string that is named RBSMaintainerConnection by using the connection information that was provided during setup. However, new connection strings must be added for every additional database.

    If you are using Windows authentication, the connection string does not have to be encrypted. You can add the unencrypted connection string by running the following command:

    aspnet_regiis -pef connectionStrings . -prov DataProtectionConfigurationProvider
    rename web.config Microsoft.Data.SqlRemoteBlobs.Maintainer.exe.config

    If you are using SQL authentication, the RBS Maintainer connection strings must be in an encrypted format. Therefore, to add connection strings, either the new strings must be encrypted or all the connection strings must be decrypted. Encrypted strings must be added one at a time. However all the connection strings can be decrypted at the same time by using the %windir%\Microsoft.net\Framework\<version>\Aspnet_regiis.exe tool, which is distributed as a part of the Microsoft .NET Framework.

    Run the following commands to decrypt the connection strings and store the results in a Web.config file:

    rename Microsoft.Data.SqlRemoteBlobs.Maintainer.exe.config web.config
    aspnet_regiis -pdf connectionStrings

    Strings can then be added in decrypted form and the file can be encrypted and renamed to Microsoft.Data.SqlRemoteBlobs.Maintainer.exe.config by using the following commands:

    aspnet_regiis -pef connectionStrings . -prov DataProtectionConfigurationProvider
    rename web.config Microsoft.Data.SqlRemoteBlobs.Maintainer.exe.config

  3. Create a Windows scheduler task to run the RBS Maintainer task for each applicable database. If you ran the RBS installer in GUI mode, it automatically created a Windows scheduler task. However, if you ran the RBS installer in command-line mode, you must perform the following steps every time that you schedule a task to run the RBS Maintainer:

    1. On the Start menu, click Administrative Tools, and then click Task Scheduler.

    2. On the Action menu, click Create Task.

    3. On the Actions tab, click New.

    4. In the New Action dialog box, in the Action drop-down list, select Start a program.

    5. Under Settings, in the Program/script box, browse to the Maintainer binary file <RBS installation directory>\Maintainer\Microsoft.Data.SqlRemoteBlobs.Maintainer.exe, and in the Add arguments (optional) text box, add any optional arguments. The following default values are created by the installer:
      <-ConnectionStringName RBSMaintainerConnection>
      <-Operation GarbageCollection ConsistencyCheck ConsistencyCheckForStores>
      <-GarbageCollectionPhases rdo>
      <-ConsistencyCheckMode r>
      <-TimeLimit 120>

    6. Click OK.

    7. On the Triggers tab, click New.

    8. In the New Trigger dialog box, schedule the task, and then click OK. We recommend that you schedule the task to run during low system activity times.

    9. On the General tab, under Security, ensure that the user account has the correct permissions to run the task. You can change permissions by clicking Change User or Group.

    10. On the General tab, click Run whether user is logged on or not, and then click OK.

See Also

Concepts

Overview of RBS (SharePoint Server 2010)
Plan for RBS (SharePoint Server 2010)
Install and configure RBS (SharePoint Server 2010)
Install and configure RBS with a 3rd party provider (SharePoint Server 2010)
Set a content database to use RBS (SharePoint Server 2010)
Migrate content into or out of RBS (SharePoint Server 2010)
Disable RBS on a content database (SharePoint Server 2010)

Other Resources

SQL Server and SharePoint Server 2010 Databases (http://go.microsoft.com/fwlink/p/?LinkId=199866)


Disable RBS on a content database (SharePoint Server 2010)

You can disable Remote BLOB Storage (RBS) on any content database. After you disable RBS on a content database, binary large objects (BLOBs) are stored inline in SQL Server for all subsequent writes to the content database. This article describes how to disable RBS on a content database.

You can disable RBS on a content database by setting the active provider name to the empty string in Windows PowerShell. Each content database has a RemoteBlobStorageSettings property that can be used to invoke the SetActiveProviderName method.

This action does not change the storage location of any BLOBs that have previously been stored in RBS or inline storage. Disabling RBS does not uninstall RBS. We do not recommend that you uninstall RBS.

This operation can be performed on any Web server in the farm. You only need to perform the operation one time on one Web server for each content database for which you want to disable RBS.

Caution:

Do not use the Disable() method on the RemoteBlobStorageSettings object. This method is used only to uninstall RBS, and it is not recommended to simply disable the writing of new BLOBs into RBS.

You must use Windows PowerShell 2.0 cmdlets to disable RBS. There is no user interface option for this task.

To disable RBS by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell command prompt, type the following commands:

    Copy Code
    $site=Get-SPSite "<http://yourSiteURL>"
$rbss=$site.ContentDatabase.RemoteBlobStorageSettings
$rbss.SetActiveProviderName("")

    Where <http://yourSiteURL> is the Web application that is attached to the content database that is being disabled for RBS.

    For more information, see Get-SPSite.


StorSimple RBS performance in SharePoint Server 2010 (white paper)
See Also

Published: May 12, 2011

This paper explains the Remote BLOB Storage (RBS) feature as it applies to Microsoft SharePoint Server 2010 and analyzes its performance impacts on key attributes of a SharePoint farm such as database size, database backup size, transaction response times, backup times, and restore times. Although the white paper was written specifically for SharePoint Server 2010, most of the information — except for the section, "Effects of RBS on crawl performance" — also applies to Microsoft SharePoint Foundation 2010.

You can download the white paper in any of the following formats:

  • Word

  • PDF

  • XPS

See Also

Other Resources

Resource Center: SQL Server and SharePoint Server 2010 Databases


Security and permissions (SharePoint Server 2010)

This section describes how to manage security and permissions for Microsoft SharePoint Server 2010.

  • Configure custom permissions (SharePoint Server 2010)

  • Change passwords used for administration accounts (SharePoint Server 2010)

  • Configure People Picker (SharePoint Server 2010)

  • Allow or prevent Contributors ability to edit scriptable Web Parts (SharePoint Server 2010)

  • How to configure AD FS v 2.0 in SharePoint Server 2010


Configure custom permissions (SharePoint Server 2010)
See Also

For more control over the level of access to a site, site collection, or site content, you can define custom permission levels. For more information, see Determine permission levels and groups (SharePoint Server 2010) and User permissions and permission levels (SharePoint Server 2010).

In this article:

  • Customize an existing permission level

  • Copy an existing permission level

  • Create a permission level

Customize an existing permission level

If the custom permission level that you want is nearly identical to an existing default permission level and you do not need to use the default permission level, you can customize the default permission level.

To customize an existing permission level

  1. Verify that you have one of the following administrative credentials:

    • You are a member of the Administrators group for the site collection.

    • You are a member of the Owners group for the site.

    • You have the Manage Permissions permission.

  2. On the Site Settings page, under Users and Permissions, click Site permissions.

  3. In the Manage section of the ribbon, click Permission Levels.

  4. In the list of permission levels, click the name of the permission level you want to customize.

  5. In the list of permissions, select or clear the check boxes to add permissions to or remove permissions from the permission level.

  6. Click Submit.

Copy an existing permission level

If the custom permission level that you want is similar to an existing default permission level, and you need to use both the default permission level and your custom permission level, you can copy the default permission level, and then modify the copy and save it as a new permission level.

To copy an existing permission level

  1. Verify that you have one of the following administrative credentials:

    • You are a member of the Administrators group for the site collection.

    • You are a member of the Owners group for the site.

    • You have the Manage Permissions permission.

  2. On the Site Settings page, under Users and Permissions, click Site permissions.

  3. In the Manage section of the ribbon, click Permission Levels.

  4. In the list of permission levels, click the name of the permission level you want to copy.

  5. At the bottom of the page, click Copy Permission Level.

  6. On the Copy Permission Level page, in the Name field, type a name for the new permission level.

  7. In the Description field, type a description for the new permission level.

  8. In the list of permissions, select or clear the check boxes to add permissions to or remove permissions from the permission level.

  9. Click Create.

Create a permission level

If there is no permission level similar to the one you need, you can create one.

To create a permission level

  1. Verify that you have one of the following administrative credentials:

    • You are a member of the Administrators group for the site collection.

    • You are a member of the Owners group for the site.

    • You have the Manage Permissions permission.

  2. On the Site Settings page, under Users and Permissions, click Site permissions.

  3. In the Manage section of the ribbon, click Permission Levels.

  4. On the toolbar, click Add a Permission Level.

  5. On the Add a Permission Level page, in the Name field, type a name for the new permission level.

  6. In the Description field, type a description of the new permission level.

  7. In the list of permissions, select the check boxes to add permissions to the permission level.

  8. Click Create.

See Also

Other Resources

Resource Center: Security and Authentication for SharePoint Server 2010


Change passwords used for administration accounts (SharePoint Server 2010)
See Also

Published: July 8, 2010

Certain Microsoft SharePoint Server services and features must be associated with a Windows account in order to run. If the account has a password -- that is, if the account is anything other than the Local System account, the Local Service account, or the Network Service account -- then the password in SharePoint Server must be updated whenever the account's password changes.

There are two ways to keep passwords synchronized between Windows and SharePoint Server: automatically and manually. To synchronize passwords automatically you can register managed accounts and configure SharePoint Server to change the managed accounts' passwords according to a schedule. SharePoint Server automatically generates a new password, updates the password in Active Directory Domain Services (AD DS), and propagates the changes to other servers in the farm. For more information about managed accounts, see Plan automatic password change (SharePoint Server 2010).

Warning:

Windows Server 2008 R2 includes managed accounts at the operating system level. Do not use Windows Server 2008 R2 managed accounts. They are not compatible with SharePoint Server managed accounts.

We recommend that you use SharePoint Server managed accounts when possible. You can use managed accounts to control the passwords for the following things:

  • Central administration

  • Timer service

  • Service applications

  • Application pools

When managed accounts are unsuitable, you must change passwords in SharePoint Server manually when the passwords change in AD DS. Passwords must be changed manually for the following things:

  • SQL Server services

  • The default content access account

  • Credentials that are used to access external data sources and are stored in the Secure Store service application. (See Configure the Secure Store Service (SharePoint Server 2010) for more information about how to change credentials to access external data sources.)

The articles in this section contain procedures for changing the passwords for accounts that SharePoint Server uses. In this section:

  • Configure automatic password change (SharePoint Server 2010)

  • Change passwords for SQL Server services (SharePoint Server 2010)

  • Change the password for the default content access account (SharePoint Server 2010)

See Also

Concepts

Plan automatic password change (SharePoint Server 2010)


Configure automatic password change (SharePoint Server 2010)

Published: May 29, 2010

Automatic password change enables Microsoft SharePoint Server 2010 to automatically generate long, cryptographically-strong passwords on a schedule that you can determine.

In this article:

  • Configure managed accounts

  • Configure automatic password change settings

  • Troubleshooting automatic password change

Configure managed accounts

You need to register managed accounts with the farm to make the accounts available to multiple services. You can register a managed account by using the Register Managed Account page in Central Administration. There are no options on the Register Managed Account page to create an account in Active Directory Domain Services, or on the local computer. The options can be used to register an existing account on the SharePoint Server 2010 farm. Perform the steps in the following procedure to use Central Administration to configure managed account settings.

To configure managed account settings by using Central Administration

  1. Verify that the user account that is performing this procedure is a farm administrator.

  2. On the Central Administration Web site, select Security.

  3. Under General Security, click Configure managed accounts.

  4. On the Managed Accounts page, click Register Managed Account.

  5. In the Account Registration section of the Register Managed Account page, enter the service account credentials.

  6. In the Automatic Password Change section, select the Enable automatic password change check box to allow SharePoint Server 2010 to manage the password for the selected account. Next, enter a numeric value that indicates the number of days prior to password expiration that the automatic password change process will be initiated.

  7. In the Automatic Password Change section, select the Start notifying by e-mail check box, and then enter a numeric value that indicates the number of days prior to the initiation of the automatic password change process that an e-mail notification will be sent. You can then configure a weekly or monthly e-mail notification schedule.

  8. Click OK.

Configure automatic password change settings

Use the Password Management Settings page of Central Administration to configure farm-level settings for automatic password changes. Farm administrators can configure the notification e-mail address that will be used to send all password change notification e-mails, as well as monitoring and scheduling options. Perform the steps in the following procedure to use Central Administration to configure automatic password change settings.

To configure automatic password change settings by using Central Administration

  1. Verify that the user account that is performing this procedure is a farm administrator.

  2. On the Central Administration Web site, click Security.

  3. Under General Security, click Configure password change settings.

  4. In the Notification E-Mail Address section of the Password Management Settings page, enter the e-mail address of an individual or group to be notified of any imminent password change or expiration events.

  5. If automatic password change is not configured for a managed account, enter a numeric value in the Account Monitoring Process Settings section that indicates the number of days prior to password expiration that a notification will be sent to the e-mail address configured in the Notification E-Mail Address section.

  6. In the Automatic Password Change Settings section, enter a numeric value that indicates the number of seconds that automatic password change will wait (after notifying services of a pending password change) before initiating the change. Enter a numeric value that indicates the number of times a password change will be attempted before the process stops.

  7. Click OK.

Troubleshooting automatic password change

Use the following guidance to avoid the most common issues that can occur when you configure automatic password change.

Password mismatch

If the automatic password change process fails because there is a password mismatch between Active Directory Domain Services (AD DS) and SharePoint Server 2010, the password change process can result in access denial at login, an account lockout, or AD DS read errors. If any of these issues occur, make sure your AD DS passwords are configured correctly and that the AD DS account has read access for setup. Use Windows PowerShell to fix any password mismatch issues that might occur, and then resume the password change process.

To correct for a password mismatch

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs. Click Microsoft SharePoint 2010 Products.

  3. Click SharePoint 2010 Management Shell.

  4. From the Windows PowerShell command prompt, type the following ENTER:

    Copy Code
    Set-SPManagedAccount [-Identity] <SPManagedAccountPipeBind> -ExistingPassword <SecureString> -UseExistingPassword $true

    For more information, see Set-SPManagedAccount.

Service account provisioning failure

If service account provisioning or re-provisioning fails on one or more servers in the farm, check the status of the Timer Service. If the Timer Service has stopped, restart it. Consider using the following Stsadm command to immediately start Timer Service administration jobs: stsadm -o execadmsvcjobs

If restarting the Timer Service does not resolve the issue, use Windows PowerShell to repair the managed account on each server in the farm that has experienced a provisioning failure.

To resolve a service account provisioning failure

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs. Click Microsoft SharePoint 2010 Products.

  3. Click SharePoint 2010 Management Shell.

  4. From the Windows PowerShell command prompt, type the following:

    Copy Code
    Repair-SPManagedAccountDeployment

    For more information, see Repair-SPManagedAccountDeployment.

If the preceding procedure does not resolve a service account provisioning failure, it is likely because the farm encryption key cannot be decrypted. If this is the issue, use Windows PowerShell to update the local server pass phrase to match the pass phrase for the farm.

To update the local server pass phrase

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs. Click Microsoft SharePoint 2010 Products.

  3. Click SharePoint 2010 Management Shell.

  4. From the Windows PowerShell command prompt, type the following:

    Copy Code
    Set-SPPassPhrase -PassPhrase <SecureString> -ConfirmPassPhrase <SecureString> -LocalServerOnly $true

    For more information, see Set-SPPassPhrase.

Imminent password expiration

If the password is about to expire, but automatic password change has not been configured for this account, use Windows PowerShell to update the account password to a new value that can be chosen by the administrator or automatically generated. After you have updated the account password, make sure the Timer Service is started and the Administrator Service is enabled on all servers in the farm. Then, the password change can be propagated to all of the servers in the farm.

To update the account password

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs. Click Microsoft SharePoint 2010 Products.

  3. Click SharePoint 2010 Management Shell.

  4. To update the account password to a new value chosen by the administrator, from the Windows PowerShell command prompt, type the following:

    Copy Code
    Set-SPManagedAccount [-Identity] <SPManagedAccountPipeBind> -Password <SecureString>

  5. To update the account password to a new automatically generated value, from the Windows PowerShell command prompt, type the following:

    Copy Code
    Set-SPManagedAccount [-Identity] <SPManagedAccountPipeBind> -AutoGeneratePassword $true

    For more information, see Set-SPManagedAccount.

Requirement to change the farm account to a different account

If you need to change the farm account to a different account, use the following Stsadm command: stsadm.exe -o updatefarmcredentials -userlogin DOMAIN\username -password password


Change passwords for SQL Server services (SharePoint Server 2010)

Published: July 8, 2010

The SQL Server service and the SQL Server Agent service must be associated with Windows accounts in order to run. If the accounts have passwords -- that is, if they are anything other than the Local System account, the Local Service account, or the Network Service account -- then you must update the password for the service when the account's password changes.

Important:

Perform these procedures during a scheduled maintenance period. When you change the password, you will have to restart the service. SharePoint Server will be unable to connect to the database while the service is unavailable.

Important:

Do not change the passwords for the service accounts when a failover cluster node is offline. If you do this, you will have to reset the password again when all nodes are back online.

In this article:

  • Change the password for the SQL Server service

  • To change the password for the SQL Server Agent service

Change the password for the SQL Server service

  1. Verify that you have the following administrative credentials:

    • To change the password for the SQL Server service, you must be a member of the Administrators group on the computer that is running SQL Server.

  2. Click Start, and then click Server Manager.

  3. In the navigation pane of the Server Manager window, expand Configuration, and then click Services.

  4. In the middle pane, right-click the service named SQL Server (MSSQLSERVER), and then click Properties.

  5. In the Properties dialog box, on the Log On tab, type the new password in the Password and Confirm password boxes.

  6. You must restart the service for the changes to be saved. On the General tab, under Service status, click Stop to stop the service.

  7. If a dialog box appears that notifies you that other services will also stop, click Yes to stop the dependent services.

  8. When the service has stopped, click Start to start the service.

  9. Click OK to save the changes.

To change the password for the SQL Server Agent service

  1. Verify that you have the following administrative credentials:

    • To change the password for the SQL Server Agent service, you must be a member of the Administrators group on the computer that is running SQL Server.

  2. Click Start, and then click Server Manager.

  3. In the navigation pane of the Server Manager window, expand Configuration, and then click Services.

  4. In the middle pane, right-click the service named SQL Server Agent (MSSQLSERVER), and then click Properties.

  5. In the Properties dialog box, on the Log On tab, type the new password in the Password and Confirm password boxes.

  6. You must restart the service for the changes to be saved. On the General tab, under Service status, click Stop to stop the service.

  7. If a dialog box appears that notifies you that other services will also stop, click Yes to stop the dependent services.

  8. When the service has stopped, click Start to start the service.

  9. Click OK to save the changes.


Change the password for the default content access account (SharePoint Server 2010)

Published: July 8, 2010

Use this procedure to change the password for the default content access account. The default content access account is the account that is used to crawl content. This account can be overridden by specifying a different account by using a crawl rule. This account must have the Read permission for the content that the account is crawling. It is a best practice to limit the account's access to the content to read-only. If the account password expires and is not updated, the search feature will be unable to crawl content.

Only change the default content access account's password if it has been changed in Active Directory. The credentials that you enter are checked against those on the domain controller. If you enter the new password before the password is changed on the domain controller, an error will result and the settings will not be changed.

Note:

This procedure changes only the password for the default content access account. If you specified a different account in a crawl rule, and if you want to change that account's password, you must change the crawl rule.

Follow these steps to configure the password for the default content access account on the computer that is running the SharePoint Central Administration Web site.

To change the password for the default content access account

  1. Verify that the user account that is performing this procedure is a service application administrator for the Search service application for which you want to change the default content access account.

  2. In Central Administration, in the Application Management section, click Manage service applications.

  3. On the Manage Service Applications page, click the Search service application for which you want to change the default content access account.

  4. On the Search Service Application: Search Administration page, in the System Status section, locate the default content access account, which is in the form Domain\UserName.

  5. Click the default content access account name. The Default Content Access Account dialog box appears.

  6. Type the new password in the Password box, and then click OK.


Configure People Picker (SharePoint Server 2010)
See Also

Published: February 3, 2011

People Picker is configured at the zone level for a farm by using the Stsadm setproperty operation. By configuring the settings for the control, you can filter and restrict the results that are displayed when a user searches for a user, group, or claim. Those settings will apply to every site within the site collection.

The information in this article applies only to Web applications that use Windows authentication in either classic mode or claims mode.

The People Picker control is used to find and select users, groups, and claims when a site, list, or library owner assigns permissions in Microsoft SharePoint Server 2010. People Picker is configured at the zone level for a farm by using the Stsadm setproperty operation. By configuring the settings for the control, you can filter and restrict the results that are displayed when a user searches for a user, group or claim. Those settings will apply to every site within the site collection. For more information about the People Picker properties, see Peoplepicker: Stsadm properties.

Note:

There are no Windows PowerShell commands to configure People Picker.

This article contains information about how to configure People Picker for specific scenarios. For more information about the People Picker control and how it works, its relationship to authentication and claim providers, and how to plan for People Picker, see People Picker overview (SharePoint Server 2010).

Before you perform the procedures in this article, you must do the following:

  • Verify that the account you use to run Stsadm is a member of the local Administrators group on the server on which SharePoint Server 2010 is installed.

  • Open the command prompt window as an administrator to perform the procedures in this article.

  • In the command prompt on the driver where SharePoint Server 2010 is installed, change to the following directory: %COMMONPROGRAMFILES%\Microsoft shared\Web server extensions\14\Bin.

In this article:

  • Check the setting value for any property

  • Clear a property value from People Picker

  • Set an encryption key for use with a one-way trust

  • Enable cross-forest or cross-domain queries when using a one-way trust

  • Restrict People Picker to a certain group in Active Directory

  • Define the location of administrator accounts

  • Force People Picker to pick only from users in the site collection

  • Filter Active Directory accounts by using LDAP queries

  • Return only non-Active Directory user accounts

Check the setting value for any property

To check the setting for any People Picker property, type the following command:

stsadm.exe -o getproperty -pn<Property Name>-url<Web application URL>

For more information, see Peoplepicker: Stsadm properties (http://technet.microsoft.com/en-us/library/cc263318(office.12).aspx).

Clear a property value from People Picker

You can remove the setting for a People Picker property by specifying the property name you want to clear, and using empty quotation marks for the property value.

To remove a property setting from People Picker, type the following command:

stsadm.exe -o setproperty -pn<Property Name>-pv "" -url<Web application URL>

For more information, see Peoplepicker-searchadforests: Stsadm property (http://technet.microsoft.com/en-us/library/cc263460(office.12).aspx).

Set an encryption key for use with a one-way trust

If the forest or domain on which SharePoint Server 2010 is installed has a one-way trust with another forest or domain, you must first set the credentials for an account that is allowed to authenticate with the forest or domain to be queried before you can use the Stsadm peoplepicker-searchadforests property.

Note:

The encryption key must be set on every front-end Web server in the farm on which SharePoint Server 2010 is installed.

To set an encryption key, type the following command:

stsadm.exe -o setapppassword -password<key>

For more information about querying additional forests or domains, see All you want to know about People Picker in SharePoint ( Functionality | Configuration | Troubleshooting ) Part-2 (http://go.microsoft.com/fwlink/p/?LinkId=207666).

Enable cross-forest or cross-domain queries when using a one-way trust

If the forest or domain on which SharePoint Server 2010 is installed has a one-way trust with another forest or domain, you must specify the credentials to be used to query the forest or domain, in addition to the names of the forests or domains to be queried. People Picker will only query the forests or domains that you specify in the peoplepicker-searchadforests property setting.

To specify the forests or domains to be queried along with the credentials, type the following command:

stsadm.exe -o setproperty -pn peoplepicker-searchadforests -pv<Valid list of forests or domains, Login name, Password>-url<Web application URL>

Note:

You do not need to include the encryption key password that you assigned to the account when you use the peoplepicker-searchadforests property. However, if you have not already set an encryption key for the account, en error message will be displayed.

The following example configures People Picker for use with a forest named Contoso.com and a domain named Fabrikam.com, and includes the credentials for each:

Copy Code
STSADM.exe -o setproperty -pn peoplepicker-searchadforests -pv "forest:Contoso.com,Contoso\User1,Password1; domain:Fabrikam.com,Fabrikam\User2,Password2" -url http://ServerName

For more information, see Peoplepicker-searchadforests: Stsadm property (http://technet.microsoft.com/en-us/library/cc263460(office.12).aspx).

Restrict People Picker to a certain group in Active Directory

If a Web application is using Windows authentication and the site user directory path is not set, the People Picker control searches the entire Active Directory to resolve users' names or find users, instead of searching only users within a particular organizational unit (OU). The Stsadm setsiteuseraccountdirectorypath operation allows the user's directory path to be set to a specific OU in the same domain. After the directory path is set to a site collection, the People Picker control will only search under that particular OU.

To restrict People Picker to a certain OU in Active Directory, type the following command:

stsadm -o setsiteuseraccountdirectorypath -path<Valid OU name>-url<Web application URL>

The following example configures People Picker to only return users and groups in the OU named "Sales":

Copy Code
stsadm -o setsiteuseraccountdirectorypath -path "OU=Sales,DC=ContosoCorp,DC=local" -url http://ServerName
Note:

Only a single site user directory path can be set at a time for a site collection. Because this property specifies only one OU at a time, you should run the Stsadm setsiteuseraccountdirectorypath operation only once per site collection.

For more information, see Setsiteuseraccountdirectorypath: Stsadm operation (http://technet.microsoft.com/en-us/library/cc263328(office.12).aspx).

Define the location of administrator accounts

Administrative user accounts are often located in a different OU from regular site users. If you have used the Stsadm setsiteuseraccountdirectorypath operation to force People Picker to only return query results from a specific OU, you must also set the Stsadm peoplepicker-serviceaccountdirectorypaths property so the administrator can manage the site collection.

Note:

Before the peoplepicker-serviceaccountdirectorypaths property will work, the Setsiteuseraccountdirectorypath operation must be set and contain a value.

To define the location of administrator accounts, type the following command:

Stsadm -o setproperty -pn peoplepicker-serviceaccountdirectorypaths -pv<A list of OU names>-url<Web application URL>

The following example configures People Picker to allow users that are in the OU "FarmAdmin":

Copy Code
stsadm -o setproperty -pn peoplepicker-serviceaccountdirectorypaths -pv "OU=FarmAdmin,DC=Contoso,DC=local" -url http://ServerName

For more information, see Peoplepicker-serviceaccountdirectorypaths: Stsadm property (http://technet.microsoft.com/en-us/library/cc263012(office.12).aspx).

Force People Picker to pick only from users in the site collection

The People Picker control consists of a text box, and two buttons; the Check Names button and the Browse button. The Check Names button is used to resolve a user name, group name or e-mail address exactly as it was typed into the text box. The Browse button opens the Select People and Groups dialog box, which can be used to submit a query for a full or partial string. The important difference between the two is that the Check Names button only resolves exactly what is in the text box, whereas the Select People and Groups dialog box searches for the query string. You can force People Picker to only return users who have permissions in the site collection by using either the PeoplePicker-Peopleeditoronlyresolvewithinsitecollection property or the PeoplePicker-Onlysearchwithinsitecollection property. However, the property you use to configure this restriction will depend on whether you want to set the restriction for the text box (People editor) and Check Names button, or for the Select People and Groups dialog box.

To force People Picker to only return users who have permissions in the site collection when the Check Names button is clicked, type the following command:

stsadm -o setproperty -pn peoplepicker-Peopleeditoronlyresolvewithinsitecollection -pv yes -url<Web application URL>

To force People Picker to only return users who have permissions in the site collection when the Select People and Groups dialog box is used, type the following command:

stsadm -o setproperty -pn peoplepicker-onlysearchwithinsitecollection -pv yes -url<Web application URL>

For more information, see Peoplepicker-onlysearchwithinsitecollection: Stsadm property (http://technet.microsoft.com/en-us/library/cc261988(office.12).aspx) and Peoplepicker-peopleeditoronlyresolvewithinsitecollection: Stsadm property (SharePoint Server 2010).

Filter Active Directory accounts by using LDAP queries

You can use a Lightweight Directory Access Protocol (LDAP) query to create a custom filter for displaying query results. For more information about LDAP queries, see LDAP Query Basics (http://go.microsoft.com/fwlink/p/?LinkId=207670).

To use a custom LDAP query, type the following command:

Stsadm -o setproperty -pn peoplepicker-searchadcustomfilter -pv<LDAP query filter>-url<Web application URL>

The following example filters out user accounts that do not have e-mail addresses, or that are disabled. Because security groups do not always have e-mail addresses associated with them, an OR statement is used to ensure that security groups are still included in the query results:

Copy Code
stsadm -o setproperty -pn peoplepicker-searchadcustomfilter -pv "(|(&(mail=*)(!(userAccountControl:1.2.840.113556.1.4.803:=2)))(objectcategory=group))" -url http://ServerName

The following example only returns active users, and not groups:

Copy Code
stsadm -o setproperty -pn peoplepicker-searchadcustomfilter -pv "(&(objectCategory=person)(objectClass=user)(!userAccountControl:1.2.840.113556.1.4.803:=2))" -url http://ServerName

For an explanation of the user account control string used in this query, see Search Filter Syntax (http://go.microsoft.com/fwlink/p/?LinkId=210020).

The following example returns a list of Active Directory users with the title "Manager":

Copy Code
stsadm -o setproperty -pn peoplepicker-searchadcustomfilter -pv "((Title=Manager))" -url http://ServerName
Important:

Remember that every time you run the setproperty command for a specific property, that property's current values will be overwritten by the new values you specify. If you need to filter query results based on multiple criteria, you will need to build a compound LDAP query that includes all the values for which you want to filter.

For more information, see Peoplepicker-searchadcustomfilter: Stsadm property (http://technet.microsoft.com/en-us/library/cc263452(office.12).aspx).

Return only non-Active Directory user accounts

If your Web application uses forms-based authentication, you can prevent People Picker from returning Active Directory accounts in the query results.

To return only non-Active Directory user accounts, type the following command:

stsadm -o setproperty -pn peoplepicker-nowindowsaccountsfornonwindowsauthenticationmode -pv yes -url<Web application URL>

For more information, see Peoplepicker-nowindowsaccountsfornonwindowsauthenticationmode: Stsadm property (http://technet.microsoft.com/en-us/library/cc263264(office.12).aspx).

See Also

Other Resources

Resource Center: Security and Authentication for SharePoint Server 2010


Allow or prevent Contributors ability to edit scriptable Web Parts (SharePoint Server 2010)
See Also

Published: June 28, 2011

In SharePoint Server 2010, Web Parts are categorized as to whether or not users with the Contribute permission level can add or modify JavaScript.

Users who have the default Contribute permissions level cannot add or modify scriptable Web Parts. This is because the scriptable Web Parts are marked as "unsafe against Contributor scripting" in a web.config file by default and the default setting in Central Administration is "Prevent contributors from adding or editing scriptable Web Parts". However, when the scriptable Web Parts are marked as "unsafe against Contributor scripting", a member of the Farm Administrators group can change the Web Part Security setting in Central Administration to allow users with the Contribute permission level to edit scriptable Web Parts.

Developers can set scriptable Web Parts to "safe against Contributor scripting" in a web.config file. In this situation, the scriptable Web Parts can be edited by users with the Contribute permission level without any actions by a member of the Farm Administrators group. For more information about these safe Web Parts, see the "About editing Web Parts" section in Contribute permission level overview (SharePoint Server 2010).

The following table shows the effective behavior of a given Web Part with different settings from developers and a member of the Farm Administrators group.

Settings | Farm administrator allows contributors to edit scriptable web parts | Farm administrator prevents contributors from editing scriptable web parts (default)
Developer marks part type as "SafeAgainstScript=true" | Contributors can edit scriptable web parts | Contributors can edit scriptable web parts
Developer marks part type as "SafeAgainstScript=false" (default) | Contributors can edit scriptable web parts | Contributors cannot edit scriptable web parts
Note:

A change to the Web Part Security setting in Central Administration applies to all scriptable Web Parts in the Web Application.

In this article:

  • Allow or prevent Contributors ability to edit scriptable Web Parts

Allow or prevent Contributors ability to edit scriptable Web Parts

If you are upgrading from Office SharePoint Server 2007 to SharePoint Server 2010, users with the Contribute permission level will not be able to edit scriptable Web files and Web parts any longer. A member of the Farm Administrators group can enable them to do this by change the setting in Central Administration.

Note:

To secure Web Parts from script injection, this setting is set to Prevent contributors from adding or editing scriptable Web Parts by default.

To enable or prevent Contributors from editing scriptable Web Parts by using Central Administration

  1. Verify that the user account that is performing this procedure is a member of the Farm Administrators group.

  2. On the Central Administration Web site, in the Application Management section, click Manage web applications.

  3. Click the Web Application for which you want to change settings.

  4. In the Security group of the ribbon, click Web Part Security.

  5. In the Scriptable Web Parts section of the Security For Web Part Pages dialog box, select the appropriate option.

    • To enable the setting:

      Select Allows contributors to add or edit scriptable Web Parts.

    • To disable the setting:

      Select Prevent contributors from adding or editing scriptable Web Parts.

  6. Click OK.

See Also

Concepts

Contribute permission level overview (SharePoint Server 2010)


How to configure AD FS v 2.0 in SharePoint Server 2010

Published: July 14, 2011

The procedures in this article describe how to configure Active Directory Federation Services version 2.0 (AD FS) in Microsoft SharePoint Server 2010.

You can use Active Directory Federation Services (AD FS) 2.0 with the Windows Server 2008 operating system to build a federated identity management solution that extends distributed identification, authentication, and authorization services to Web-based applications across organization and platform boundaries. By deploying AD FS 2.0, you can extend your organization's existing identity management capabilities to the Internet.

In this article, AD FS v2 is our identity provider, also known as IP-STS (Security Token Service). AD FS will provide claims-based authentication. To begin, AD FS needs to be configured with information about our relying party, in this case, SharePoint Server 2010. From the Microsoft SharePoint 2010 Products perspective, AD FS needs to be configured to trust the IP-STS that is sending a claims-based mapping. Finally, a Web application and site collection are created that will use the claims-based authentication level.

Note:

You must install and configure a server running Active Directory Federation Services (AD FS) 2.0 before you perform the procedures in this article. For information about configuring a server to run AD FS 2.0, see the AD FS 2.0 Deployment Guide (http://go.microsoft.com/fwlink/p/?LinkId=191723).

The following video illustrates the step-by-step process that configures Active Directory Federation Services version 2.0 (AD FS) in Microsoft SharePoint Server 2010.

Configure AD FS for SharePoint Server 2010

Running time: 9:43

Play video Watch the " Configure SharePoint Server 2010 with AD FS trusted claims " video

Download video For an optimal viewing experience, download the " Configure SharePoint Server 2010 with AD FS trusted claims " video.

Right-click the link, and then click Save Target As to download a copy. Clicking the link will open a .wmv file in the default video viewer for full-resolution viewing.

In this article:

  • Configure a relying party

  • Configure the claim rule

  • Export the token signing certificate

  • Exporting multiple parent certificates

  • Import a token signing certificate by using Windows PowerShell

  • Define a unique identifier for claims mapping by using Windows PowerShell

  • Create a new authentication provider

  • Associate a Web application with a trusted identity provider

  • Create a site collection

Note:

The steps listed in this article need to be completed in consecutive order.

Configure a relying party

Use the procedure in this section to configure a relying party. The relying party defines how the AD FS recognizes the relying party and issues claims to it.

To configure a relying party

  1. Verify that the user account that is performing this procedure is a member of the Administrators group on the local computer. For additional information about accounts and group memberships, see Local and Domain Default Groups

  2. Open the Active Directory Federation Services (AD FS) 2.0 Management console.

  3. In the left pane, expand Trust Relationships, and then double-click the Relying Party Trusts folder.

  4. In the right pane, click Add Relying Party Trust. This opens the Active Directory Federation Services (AD FS) 2.0 configuration wizard.

  5. On the Welcome to the Add Relying Party Trust Wizard page, click Start.

  6. Select Enter data about the relying party manually, and then click Next.

  7. Type a relying party name and click Next.

  8. Make sure Active Directory Federation Services (AD FS) 2.0 Profile is selected, and click Next.

  9. Do not use an encryption certificate. Click Next.

  10. Click to select the Enable support for the WS-Federation Passive protocol check box.

  11. In the WS-Federation Passive protocol URL field, type the name of the Web application URL, and append /_trust/ (for example, https://YourWebAppName/_trust/). Click Next.

    Note:

    The name of the URL has to use Secure Socket Layer (SSL).

  12. Type the name of the relying party trust identifier (for example, urn:sharepoint:YourWebAppName), and click Add. Click Next.

  13. Select Permit all users to access this relying party. Click Next.

  14. On the Ready to Add Trust page, there is no action required, click Next.

  15. On the Finish page, click Close. This opens the Rules Editor Management console. Use this console to configure the mapping of claims from an LDAP Web application to SharePoint Server 2010.

Configure the claim rule

Use the procedure in this step to send values of a Lightweight Directory Access Protocol (LDAP) attribute as claims and specify how the attributes will map to the outgoing claim type.

To configure a claim rule

  1. Verify that the user account that is performing this procedure is a member of the Administrators group on the local computer. For additional information about accounts and group memberships, see Local and Domain Default Groups

  2. On the Issuance Transform Rules tab, click Add Rule.

  3. On the Select Rule Template page, select Send LDAP Attributes as Claims. Click Next.

  4. On the Configure Rule page, type the name of the claim rule in the Claim rule name field.

  5. From the Attribute Store drop-down list, select Active Directory.

  6. In the Mapping of LDAP attributes to outgoing claim types section, under LDAP Attribute, select E-Mail Addresses.

  7. Under Outgoing Claim Type, select E-Mail Address.

  8. Under LDAP Attribute, select Token Groups-Unqualified Names.

  9. Under Outgoing Claim Type, select Role.

  10. Click Finish, and then click OK.

Export the token signing certificate

Use the procedure in this section to export the token signing certificate of the AD FS Server with which you want to establish a trust relationship, and then copy the certificate to a location that SharePoint Server 2010 can access.

To export a token signing certificate

  1. Verify that the user account that is performing this procedure is a member of the Administrators group on the local computer. For additional information about accounts and group memberships, see Local and Domain Default Groups

  2. Open the Active Directory Federation Services (AD FS) 2.0 Management console.

  3. In the left pane, click to expand Service, and then click the Certificates folder.

  4. Under Token signing, click the primary token certificate as indicated in the Primary column.

  5. In the right pane, click View Certificate link. This displays the properties of the certificate.

  6. Click the Details tab.

  7. Click Copy to File. This starts the Certificate Export Wizard.

  8. On the Welcome to the Certificate Export Wizard page, click Next.

  9. On the Export Private Key page, click No, do not export the private key, and then click Next.

  10. On the Export File Format page, select DER encoded binary X.509 (.CER), and then click Next.

  11. On the File to Export page, type the name and location of the file you want to export, and then click Next. For example, enter C:\ADFS.cer.

  12. On the Completing the Certificate Export Wizard page, click Finish.

Exporting multiple parent certificates

To complete the configuration of the AD FS Server, copy the .CER file to the computer running AD FS.

The token signing certificate may have one or more parent certificates in its chain. If it does, every certificate in that chain needs to be added to the SharePoint Server list of trusted root authorities.

To determine if one or more parent certificates exist, use the following steps.

Note:

These steps should be repeated until all certificates have been exported up to the root authority certificate.

To export multiple parent certificates

  1. Verify that the user account that is performing this procedure is a member of the Administrators group on the local computer. For additional information about accounts and group memberships, see Local and Domain Default Groups

  2. Open the Active Directory Federation Services (AD FS) 2.0 Management console.

  3. In the left pane, click to expand Service, and then click the Certificates folder.

  4. Under Token signing, click the primary token certificate as indicated in the Primary column.

  5. In the right pane, click View Certificate link. This displays the properties of the certificate.

  6. Click the Certification tab.

    This displays any other certificate(s) in the chain.

  7. Click the Details tab.

  8. Click Copy to File. This starts the Certificate Export Wizard.

  9. On the Welcome to the Certificate Export Wizard page, click Next.

  10. On the Export Private Key page, click No, do not export the private key, and then click Next.

  11. On the Export File Format page, select DER encoded binary X.509 (.CER), and then click Next.

  12. On the File to Export page, type the name and location of the file you want to export, and then click Next. For example, enter C:\ADFSParent.cer.

  13. On the Completing the Certificate Export Wizard page, click Finish.

Import a token signing certificate by using Windows PowerShell

Use this section to import the token signing certificates to the trusted root authority list that resides on the SharePoint server. This step must be repeated for every token signing certificate in the chain until the root certificate authority is reached.

To import a token signing certificate by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. From the Windows PowerShell command prompt, import the parent certificate of the token signing certificate (that is, the root authority certificate), as shown in the following syntax:

    Copy Code
    $root = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2("C:\adfsParent.cer")
    Copy Code
    New-SPTrustedRootAuthority -Name "Token Signing Cert Parent" -Certificate $root

  6. From the Windows PowerShell command prompt, import the token signing certificate that was copied from the AD FS server, as shown in the following syntax:

    Copy Code
    $cert = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2("C:\adfs.cer ")
    Copy Code
    New-SPTrustedRootAuthority -Name "Token Signing Cert" -Certificate $cert

For additional information about the New-SPTrustedRootAuthority cmdlet, see New-SPTrustedRootAuthority

Define a unique identifier for claims mapping by using Windows PowerShell

Use the procedure in this section to define a unique identifier for claims mapping. Typically, this information is in the form of an e-mail address and the administrator of the trusted STS will have to provide this information because only the owner of the STS knows which claim type will be always unique for each user.

To define a unique identifier for claims mapping by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. From the Windows PowerShell command prompt, create an identity claim mapping, as shown in the following syntax:

    Copy Code
    $map = New-SPClaimTypeMapping -IncomingClaimType "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress" -IncomingClaimTypeDisplayName "EmailAddress" -SameAsIncoming

  6. From the Windows PowerShell command prompt, create the role claim mapping as shown in the following syntax:

    Copy Code
    $map2 = New-SPClaimTypeMapping -IncomingClaimType "http://schemas.microsoft.com/ws/2008/06/identity/claims/role" -IncomingClaimTypeDisplayName "Role" -SameAsIncoming

For additional information about the New-SPClaimTypeMapping cmdlet, see New-SPClaimTypeMapping

Create a new authentication provider

Use the procedure in this section to create a new SPTrustedIdentityTokenIssuer.

To create a new authentication provider by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. From the Windows PowerShell command prompt, create a new authentication provider, as shown in the following syntax.

    Note:

    The $realm variable defines the trusted STS that identifies a specific SharePoint farm and the $cert variable is the one that was used from the Import a token signing certificate by using Windows PowerShell section. The SignInUrl parameter is to the AD FS server.

    Copy Code
    $realm = "urn:sharepoint:YourWebAppName"
    Copy Code
    $ap = New-SPTrustedIdentityTokenIssuer -Name "SAML Provider" -Description "SharePoint secured by SAML" -realm $realm -ImportTrustCertificate $cert -ClaimsMappings $map,$map2 -SignInUrl "https://YourADFSServerName/adfs/ls" -IdentifierClaim "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress"

For additional information about the New-SPTrustedIdentityTokenIssuer cmdlet, see New-SPTrustedIdentityTokenIssuer

Associate a Web application with a trusted identity provider

To configure an existing Web application to use SAML sign-in, the trusted identity provider in the claims authentication type section needs to be modified.

To configure an existing Web application to use the SAML Provider

  1. Verify that the user account that is performing this procedure is a member of the Farm Administrators SharePoint group.

  2. In Central Administration, on the Home page, click Application Management.

  3. On the Application Management page, in the Web Applications section, click Manage web applications.

  4. Click to select the appropriate Web application.

  5. From the ribbon, click Authentication Providers.

  6. Under Zone, click the name of the zone. For example, Default.

  7. On the Edit Authentication page in the Claims Authentication Types section, click to select the new Trusted Identity provider name check box.

If you need to create a Web application and configure it to use SAML sign-in, see Create a new SharePoint Web application and configure it to use SAML sign-in.

Create a site collection

As a final step, create a SharePoint site collection and assign an owner. Remember that when adding a site collection administrator, you must enter the name in the format of your identity claim. For example, in this article, the identity claim is an e-mail address. For more information, see Create a site collection (SharePoint Server 2010).


About service applications and services (SharePoint Server 2010)

In Microsoft SharePoint Server 2010, individual services can be configured independently and third-party companies can add services to the platform. The services infrastructure gives you control over which services are deployed and how services are shared.

Services that are deployed are named service applications. A service application provides a resource that can be shared across sites throughout a farm, and can be accessed by users through a hosting Web application. Service applications are associated to Web applications by service application connections. Some services can be shared across farms.

For more information about the logical structure of services and service applications, see Services architecture planning (SharePoint Server 2010).

For more information about how to manage service applications, including instructions for publishing service applications across farms, see Manage service applications (SharePoint Server 2010) and Share service applications across farms (SharePoint Server 2010).

For more information about starting, stopping, and configuring services, see Manage services on the server (SharePoint Server 2010).


Manage service applications (SharePoint Server 2010)
See Also

Microsoft SharePoint Server 2010 includes a set of service applications that you can use to share services across Web applications. In some cases, you can also share service applications across farms. You can manage service applications by using Central Administration or by using Windows PowerShell 2.0.

The following articles in this section provide general instructions for service applications:

  • Share service applications across farms (SharePoint Server 2010)

    In SharePoint Server 2010, you can share service applications across farms. This article describes how to establish trust between farms, publish a service application, and connect to a published service application in a remote farm.

  • Add or remove a service application connection to a Web application (SharePoint Server 2010)

    This article describes how to configure a service application connection, or proxy, to a Web application. A service application can be accessed by users only by way of its connection to a Web application. By default, all service applications are part of the default connection group.

  • Restrict or enable access to a service application (SharePoint Server 2010)

    By default, all service applications on the local farm are available to all Web applications on the local farm. However, you can restrict access to a service application so that it is available to only specified Web applications. This article describes how to restrict or enable access to a service application.

  • Assign or remove administrators to a service application (SharePoint Server 2010)

    In SharePoint Server 2010, you can assign additional administrators to a service application. This article describes how to do this.

  • Delete a service application (SharePoint Server 2010)

    You can delete a service application that is no longer being used. This article contains instructions for doing this.

  • Enable URL filtering for Web Analytics (SharePoint Server 2010)

    This article describes how to enable and configure URL filtering for Web Analytics, and provides information about how the SharePoint Server 2010 hotfix package (wasrvwfe-x-none.msp) adds URL filtering functionality to the Web Analytics service application, allowing farm administrators to specify the site collections that will be processed by Web Analytics.

Individual service applications have specific instructions for their creation, configuration, and management. The following table lists articles that describe how to create, configure, and manage specific service applications.

Service application | Article
Access Services | Access Services administration
Business Data Connectivity | Business Data Connectivity service administration (SharePoint Server 2010)
Document Conversion | Manage document conversions (SharePoint Server 2010)
Excel Services | Excel Services administration (SharePoint Server 2010)
Managed Metadata Service | Managed metadata administration (SharePoint Server 2010)
PerformancePoint | PerformancePoint Services administration (SharePoint Server 2010)
Search Service | Enterprise search administration (SharePoint Server 2010)
Secure Store | Configure the Secure Store Service (SharePoint Server 2010)
State Service | Manage the State Service (SharePoint Server 2010)
Visio Graphics Service | Visio Graphics Service administration (SharePoint Server 2010)
User Profile Service | User Profile Service administration (SharePoint Server 2010)

See Also

Concepts

About service applications and services (SharePoint Server 2010)
Services architecture planning (SharePoint Server 2010)


Share service applications across farms (SharePoint Server 2010)
See Also

In Microsoft SharePoint Server 2010, some service applications can be shared across server farms. This article describes the process and caveats that are involved in sharing service applications.

By publishing a service application, you can optimize resources, avoid redundancy, and provide enterprise-wide services without installing a dedicated enterprise services farm. You can publish the following service applications in a SharePoint Server 2010 farm:

  • Business Data Connectivity

  • Managed Metadata

  • User Profile

  • Search

  • Secure Store

  • Web Analytics

Note:

If the server farms are located in different domains, the User Profile service application requires both domains to trust one another. For the Business Data Connectivity and Secure Store service application administration features to work from the consuming farm, the domain of the publishing farm must trust the domain of the consuming farm. Other cross-farm service applications work without a trust requirement between domains.

The farm that contains the service application and publishes the service application so that other farms can consume the service application is known as the publishing farm. The farm that connects to a remote location to use a service application that the remote location is hosting is known as the consuming farm.

Note:

If you are familiar with Microsoft Office SharePoint Server 2007, you might find it useful to think of the publishing farm as the parent farm and the consuming farm as a child farm.

This article describes the steps that are required to publish and consume service applications across farms. These steps must be performed in the order listed.

  1. Exchange trust certificates between the farms.

    To start, an administrator of the consuming farm must provide two trust certificates to the administrator of the publishing farm: a root certificate and a security token service (STS) certificate. Additionally, an administrator of the publishing farm must provide a root certificate to the administrator of the consuming farm. By exchanging certificates, each farm acknowledges that the other farm can be trusted.

    For more information, see Exchange trust certificates between farms (SharePoint Server 2010).

  2. On the publishing farm, publish the service application.

    On the farm on which the service application is located, an administrator must explicitly publish the service application. Service applications that are not explicitly published are available to the local farm only.

    For more information, see Publish a service application (SharePoint Server 2010).

  3. On the consuming farm, set the permission to the appropriate service applications

    You must give the consuming farm permission to the Application Discovery and Load Balancing Service Application on the publishing farm. After doing this, give the consuming farm permission to the published service applications that it will be consuming.

    For more information, see Set permission to a published service application (SharePoint Server).

  4. On the consuming farm, connect to the remote service application.

    After the publishing farm has published the service application, an administrator of the consuming farm can connect to that service application from the consuming farm if the address of the specific service application is known.

    For more information, see Connect to a service application on a remote farm (SharePoint Server 2010).

    Important:

    You cannot share a User Profile service application across farms that reside in separate domains unless you first establish a domain-level trust between the two domains.

  5. Add the shared service application to a Web application proxy group on the consuming farm.

    An administrator must associate the new service application connection with a local Web application on the consuming farm. Only Web applications that are configured to use this association can use the remote service application.

    For information about how to configure a Web application proxy group connection, see Add or remove a service application connection to a Web application (SharePoint Server 2010).

    Note:

    It is important that you plan the proxy group layout before you add service applications to proxy groups. For more information about how to plan the service application architecture, see Services architecture planning (SharePoint Server 2010).

See Also

Concepts

Technical diagrams (SharePoint Server 2010)


Exchange trust certificates between farms (SharePoint Server 2010)
See Also

In Microsoft SharePoint Server 2010, a SharePoint farm can connect to and consume a service application that is published on another SharePoint Server 2010 farm. For this to occur, the farms must exchange trust certificates.

This article describes how to exchange trust certificates between the publishing farm and the consuming farm. Note that both farms must participate in this exchange for service application sharing to work.

Important:

Before you start to share service applications, we highly recommend that you read the articles Share service applications across farms (SharePoint Server 2010) and Services architecture planning (SharePoint Server 2010).

You must use Windows PowerShell 2.0 commands to export and copy the certificates between farms. After the certificates are exported and copied, you can use either Windows PowerShell 2.0 commands or Central Administration to manage the trusts within the farm.

The instructions here assume the following criteria:

  • That the servers that are used for these procedures are running Windows PowerShell 2.0.

  • That the administrator will select and use the same server in each farm for all steps in the process.

  • If User Account Control (UAC) is turned on, you must run the Windows PowerShell 2.0 commands with elevated privileges.

In this article:

  • Exporting and copying certificates

  • Managing trust certificates using Windows Powershell

  • Managing trust certificates using Central Administration

Exporting and copying certificates

An administrator of the consuming farm must provide two trust certificates to the publishing farm: a root certificate and a security token service (STS) certificate. An administrator of the publishing farm must provide a root certificate to the consuming farm.

You can only export and copy certificates by using Windows PowerShell 2.0.

To export the root certificate from the consuming farm

  1. On a server that is running SharePoint Server 2010 on the consuming farm, verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click Administrative Tools.

  3. Click SharePoint 2010 Management Shell.

  4. At the Windows PowerShell command prompt, type each of the following commands:

    Copy Code
    $rootCert = (Get-SPCertificateAuthority).RootCertificate
    Copy Code
    $rootCert.Export("Cert") | Set-Content <C:\ConsumingFarmRoot.cer> -Encoding byte

    Where <C:\ConsumingFarmRoot.cer> is the path of the root certificate.

To export the STS certificate from the consuming farm

  1. At the Windows PowerShell command prompt, type the following commands:

    Copy Code
    $stsCert = (Get-SPSecurityTokenServiceConfig).LocalLoginProvider.SigningCertificate
    Copy Code
    $stsCert.Export("Cert") | Set-Content <C:\ConsumingFarmSTS.cer> -Encoding byte

    Where <C:\ConsumingFarmSTS.cer> is the path of the STS certificate.

To export the root certificate from the publishing farm

  1. On a server that is running SharePoint Server 2010 on the publishing farm, verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click Administrative Tools.

  3. Click SharePoint 2010 Management Shell.

  4. At the Windows PowerShell command prompt, type the following commands:

    Copy Code
    $rootCert = (Get-SPCertificateAuthority).RootCertificate
    Copy Code
    $rootCert.Export("Cert") | Set-Content <C:\PublishingFarmRoot.cer> -Encoding byte

    Where <C:\PublishingFarmRoot.cer> is the path of the root certificate.

To copy the certificates

  1. Copy the root certificate and the STS certificate from the server in the consuming farm to the server in the publishing farm.

  2. Copy the root certificate from the server in the publishing farm to a server in the consuming farm.

Managing trust certificates by using Windows Powershell

Managing trust certificates within a farm involves establishing trust. This section describes how to establish trust on both the consuming and publishing farms, using Windows PowerShell 2.0 commands.

Establishing trust on the consuming farm

To establish trust on the consuming farm, you must import the root certificate that was copied from the publisher farm and create a trusted root authority.

To import the root certificate and create a trusted root authority on the consuming farm

  1. At the Windows PowerShell command prompt on a server in the consuming farm, type the following commands:

    Copy Code
    $trustCert = Get-PfxCertificate <C:\PublishingFarmRoot.cer>
    Copy Code
    New-SPTrustedRootAuthority <PublishingFarm> -Certificate $trustCert

Where:

  • <C:\PublishingFarmRoot.cer> is the path of the root certificate that you copied to the consuming farm from the publishing farm.

  • <PublishingFarm> is a unique name that identifies the publishing farm. Each trusted root authority must have a unique name.

Establishing trust on the publishing farm

To establish trust on the publishing farm, you must import the root certificate that was copied from the consuming farm and create a trusted root authority. You must then import the STS certificate that was copied from the consuming farm and create a trusted service token issuer.

To import the root certificate and create a trusted root authority on the publishing farm

  1. At the Windows PowerShell command prompt on a server in the publishing farm, type the following commands:

    Copy Code
    $trustCert = Get-PfxCertificate <C:\ConsumingFarmRoot.cer>
    Copy Code
    New-SPTrustedRootAuthority <ConsumingFarm> -Certificate $trustCert

Where:

  • <C:\ConsumingFarmRoot.cer> is the name and location of the root certificate that you copied to the publishing farm from the consuming farm.

  • <ConsumingFarm> is a unique name that identifies the consuming farm. Each trusted root authority must have a unique name.

To import the STS certificate and create a trusted service token issuer on the publishing farm

  1. At the Windows PowerShell command prompt on a server in the publishing farm, type the following commands:

    Copy Code
    $stsCert = Get-PfxCertificate <c:\ConsumingFarmSTS.cer>
    Copy Code
    New-SPTrustedServiceTokenIssuer <ConsumingFarm> -Certificate $stsCert

Where:

  1. <C:\ConsumingFarmSTS.cer> is the path of the STS certificate that you copied to the publishing farm from the consuming farm.

  2. <ConsumingFarm> is a unique name that identifies the consuming farm. Each trusted service token issuer must have a unique name.

For more information about these Windows PowerShell 2.0 cmdlets, see the following articles:

  • Get-SPCertificateAuthority

  • Get-SPSecurityTokenServiceConfig

  • New-SPTrustedRootAuthority

  • New-SPTrustedServiceTokenIssuer

  • Get-PfxCertificate (http://go.microsoft.com/fwlink/p/?LinkID=178943&clcid=0x409)

For information about using a script to automate part of this process, see Exchange trust certificates between farms (http://go.microsoft.com/fwlink/p/?LinkId=230666).

Managing trust certificates by using Central Administration

You can manage trusts on a farm only after the relevant certificates have already been exported and copied to the farm.

To establish trust by using Central Administration

  1. Verify that the user account that is performing this procedure is a member of the Farm Administrators SharePoint group.

  2. On the SharePoint Central Administration Web site, click Security.

  3. On the Security page, in the General Security section, click Manage trust.

  4. On the Trust Relationship page, on the ribbon, click New.

  5. On the Establish Trust Relationship page:

    1. Supply a name that describes the purpose of the trust relationship.

    2. Browse to and select the Root Authority Certificate for the trust relationship. This must be the Root Authority Certificate that was exported from the other farm by using Windows PowerShell, as described in Exporting and copying certificates.

    3. If you are performing this task on the publishing farm, select the check box for Provide Trust Relationship. Type in a descriptive name for the token issuer and browse to and select the STS certificate that was copied from the consuming farm, as described in Exporting and copying certificates.

    4. Click OK.

    After a trust relationship is established, you can modify the Token Issuer description or the certificates that are used by clicking the trust, and then clicking Edit. You can delete a trust by clicking it, and then clicking Delete.

See Also

Concepts

Plan authentication methods (SharePoint Server 2010)
Configure claims authentication (SharePoint Server 2010)
Configure the security token service (SharePoint Server 2010)

Other Resources

Resource Center: Security and Authentication for SharePoint Server 2010


Publish a service application (SharePoint Server 2010)
See Also

In Microsoft SharePoint Server 2010, some service applications can be published across farms and thereby be made available over remote connections. This article describes how to publish a service application.

Important:

Before you start to share service applications, we highly recommend that you read the articles Share service applications across farms (SharePoint Server 2010) and Services architecture planning (SharePoint Server 2010).

In this article:

  • To publish a service application by using Central Administration

  • To publish a service application by using Windows PowerShell

To publish a service application by using Central Administration

  1. Verify that the user account that is performing this procedure is a member of the Farm Administrators SharePoint group.

  2. On the SharePoint Central Administration Web site, click Application Management, and then click Manage service applications.

  3. Click the row that contains the service application that you want to publish. Commands on the ribbon become available.

  4. On the ribbon, click Publish.

  5. In the Publish Service Application dialog box:

    1. Select the Connection Type that you want from the drop-down list.

    2. If you want the service application to be available to remote farms, select the check box for Publish this Service Application to other farms.

    3. We recommend that you use the instructions in Exchange trust certificates between farms (SharePoint Server 2010) to establish trust between the two farms.

    4. Copy the Published URL into Notepad or another text editor. You must provide this URL to remote farms to connect the remote farms to the published service application. The URL will be similar to the following: urn:schemas-microsoft-com:sharepoint:service:9c1870b7ee97445888d9e846519cfa27#authority=urn:uuid:02a493b92a5547828e21386e28056cba&authority=https://ua_powershell:32844/Topology/topology.svc.

  6. You can optionally provide descriptive text and a link to a Web page that will be visible to administrators of remote farms. After you have specified the publication options that you want, click OK to publish the service application.

To publish a service application by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click Administrative Tools.

  3. Click SharePoint 2010 Management Shell.

  4. At the Windows PowerShell command prompt, type the following command:

    Copy Code
    Publish-SPServiceApplication -Identity <ServiceApplicationGUID>

    If you do not know the GUID of the service application, you can use the following Windows PowerShell 2.0 cmdlet to list all service applications in the farm, together with their GUIDS:

    Copy Code
    Get-SPServiceApplication

  5. To view the published service application load balancer URL, type the following command and record the output:

    Copy Code
    Get-SPTopologyServiceApplication

    Any connecting remote farms will need the information that is generated by this command.

See Also

Reference

Publish-SPServiceApplication
Get-SPServiceApplication
Get-SPTopologyServiceApplication

Concepts

Add or remove a service application connection to a Web application (SharePoint Server 2010)


Set permission to a published service application (SharePoint Server)

Published: May 15, 2010

In Microsoft SharePoint Server 2010, you must establish a relationship between the publishing farm and the consuming farm by giving the consuming farm permission to the Application Discovery and Load Balancing Service Application on the publishing farm. After doing this, the consuming farm can be given permission to other service applications. This article describes how to configure permissions to the Application Discovery and Load Balancing Service Application and published service applications for the consuming farm.

Important:

Before you start to configure publishing and consuming farms, we highly recommend that you read the articles Share service applications across farms (SharePoint Server 2010) and Services architecture planning (SharePoint Server 2010).

In this article:

  • Set permission to the Application Discovery and Load Balancing Service Application and any other service application for a consuming farm by using Windows PowerShell

  • Set permission to the Application Discovery and Load Balancing Service Application and any other published service application for a consuming farm by using Central Administration

Important:

You must perform steps 1 through 5 in the Windows PowerShell procedure to obtain the consuming farm ID, which you must have in order to complete either the Windows PowerShell or Central Administration procedures.

Set permission to the Application Discovery and Load Balancing Service Application and any other service application for a consuming farm by using Windows PowerShell

The first procedure explains how to set permission to the Application and Load Balancing Service Application. The second explains how to set permissions to any other service applications.

To set permission to the Application Discovery and Load Balancing Service Application for a consuming farm by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On a server in the consuming farm, on the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell command prompt, type the following command:

    Copy Code
    Get-SPFarm | Select Id

    For more information, see Get-SPFarm.

  6. On a server in the publishing farm, access the SharePoint 2010 Management Shell and at the Windows PowerShell command prompt, type the following commands:

    Copy Code
    $security=Get-SPTopologyServiceApplication | Get-SPServiceApplicationSecurity
    Copy Code
    $claimprovider=(Get-SPClaimProvider System).ClaimProvider
    Copy Code
    $principal=New-SPClaimsPrincipal -ClaimType "http://schemas.microsoft.com/sharepoint/2009/08/claims/farmid" -ClaimProvider $claimprovider -ClaimValue <consumingfarmid>
    Copy Code
    Grant-SPObjectSecurity -Identity $security -Principal $principal -Rights "Full Control"
    Copy Code
    Get-SPTopologyServiceApplication | Set-SPServiceApplicationSecurity -ObjectSecurity $security

    Where:

    Consumingfarmid is the GUID value of the consuming farm

    For more information, see the following:

    • Get-SPTopologyServiceApplication

    • Set-SPServiceApplicationSecurity

    • Get-SPServiceApplicationSecurity

    • New-SPClaimsPrincipal

    • Get-SPClaimProvider

    • Grant-SPObjectSecurity

To set permission to a published service application for a consuming farm by using Windows PowerShell

  1. At the Windows PowerShell command prompt, type the following commands:

    Copy Code
    $security=Get-SPServiceApplication <GUID>| Get-SPServiceApplicationSecurity
    Copy Code
    $claimprovider=(Get-SPClaimProvider System).ClaimProvider
    Copy Code
    $principal=New-SPClaimsPrincipal -ClaimType "http://schemas.microsoft.com/sharepoint/2009/08/claims/farmid" -ClaimProvider $claimprovider -ClaimValue <consumingfarmid>
    Copy Code
    Grant-SPObjectSecurity -Identity $security -Principal $principal -Rights <NamedAccessRights>
    Copy Code
    Set-SPServiceApplicationSecurity <GUID> -ObjectSecurity $security

    Where:

    Consumingfarmid is the GUID value of the consuming farm

    <GUID> is the ID of the published service application.

    <NamedAccessRights> is the name of the access right from the Get-SPServiceApplicationSecurity <GUID>.NamedRights.

For more information, see the following:

  • Get-SPServiceApplication

  • New-SPClaimsPrincipal

  • Get-SPServiceApplication

  • Get-SPServiceApplicationSecurity

  • Grant-SPObjectSecurity

  • Set-SPServiceApplicationSecurity

Set permission to the Application Discovery and Load Balancing Service Application and any other published service application for a consuming farm by using Central Administration

This procedure explains how to set permission to any service application, but most specifically, the Application and Load Balancing Service Application.

Important:

You must perform steps 1 through 5 in the Windows PowerShell procedure to obtain the consuming farm ID, which you must have in order to complete this procedure.

To set permission to the Application Discovery and Load Balancing Service Application and any other published service application for a consuming farm by using Central Administration

  1. On the server that hosts the Central Administration Web site for the publishing farm, verify that the user account that is performing this procedure is a member of the Farm Administrators SharePoint group.

  2. On the SharePoint Central Administration Web site, click Application Management, and then click Manage service applications.

  3. Click the row that contains Application Discovery and Load Balancing Service Application.

  4. On the ribbon, click Permissions.

  5. In the Connection Permissions dialog box, do the following:

    1. Manually paste the ID of the consuming farm from Step 5 of the Windows PowerShell section.

    2. Click Add.

    3. Select the consuming farm ID, and then select the Full Control check box.

    4. Click OK.

  6. Repeat steps 2 through 5 for any published service applications for which you want to enable access from the consuming farm and assign the necessary permission.

Note:

To enable access to the User Profile service application,you must give the consuming farm's Web application application pool identity (that is, DOMAIN\Username) the permission instead of the consuming farm ID.

For additional information about how to grant access to a Web application service account, see Restrict or enable access to a service application (SharePoint Server 2010).


Connect to a service application on a remote farm (SharePoint Server 2010)
See Also

In Microsoft SharePoint Server 2010, you can publish some service applications to make them available over remote connections. By publishing a service application, you can optimize resources and avoid redundancy, and provide enterprise-wide services without installing a dedicated enterprise services farm. This article describes how to connect to and consume a published service application.

Important:

Before you start to share service applications, we highly recommend that you read the articles Share service applications across farms (SharePoint Server 2010) and Services architecture planning (SharePoint Server 2010).

You can connect to a service application that has been shared by another farm if you know the address of the farm's discovery service or the address of the service application. Be aware that you can only connect to a service application on a remote farm if the farm administrator for the remote farm has published the service application.

In this article:

  • To connect to a service application on a remote farm by using Central Administration

  • To connect to a service application on a remote farm by using Windows PowerShell

To connect to a service application on a remote farm by using Central Administration

  1. Verify that you are a member of the Farm Administrators SharePoint group.

  2. On the SharePoint Central Administration Web site, click Application Management, and then click Manage service applications.

  3. On the ribbon, click Connect.

  4. On the Connect drop-down menu, click the kind of service application to which you want to connect.

  5. On the Connect to a Remote Service Application page, type the appropriate URL in the Farm or Service Application address text box, and then click OK.

    Note:

    You can obtain the URL from the administrator of the publishing farm. For more information, see Publish a service application (SharePoint Server 2010). There are two kinds of URLs that you can use in this step: either the URL of the service application or the URL of the remote farm's topology service application. If you use the URL of the service application, only the corresponding service application will be listed in Step 6 of this procedure. If you use the URL of the topology service, all service applications in the farm will be listed in Step 6 of this procedure.

  6. The new Connect to a Remote Service Application dialog box displays the service applications that match the URL that you typed in Step 5. Click the row that contains the name of the service application, and then select the check box to add the service application connection to the farm's default list of service application connections (that is, the default proxy group). Click OK.

  7. You are prompted to change the connection name. Type a new name into the Connection Name text box or leave the default name, and then click OK.

  8. We recommend that you use the instructions in Exchange trust certificates between farms (SharePoint Server 2010) to establish trust between the two farms.

  9. After the new connection is created, you must click OK to complete the procedure.

  10. Associate the new service application connection with a local Web application. For information about how to do this, see Add or remove a service application connection to a Web application (SharePoint Server 2010).

To connect to a service application on a remote farm by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click Administrative Tools.

  3. Click SharePoint 2010 Management Shell.

  4. At the Windows PowerShell command prompt, type the following command:

    Copy Code
    Receive-SPSharedServiceApplicationInfo -FarmUrl <PublishingFarmTopologyURL>

    Where the <PublishingFarmTopologyURL> is the information that is retrieved by running the Get-SPTopologyServiceApplication cmdlet on the publishing farm. For more information, see Publish a service application (SharePoint Server 2010).

  5. At the Windows PowerShell command prompt, type the following command:

    Copy Code
    New-SP*ServiceApplicationProxy -Name " <ServiceApplicationProxyName>" -Url "<PublishingFarmTopologyURL>"

    Where:

    • <ServiceApplicationProxyName> is a unique name for a service application connection on the consuming farm.

    • <PublishingFarmTopologyURL> is the service application topology URL that was also used in the previous command.

    Each kind of service application has a specific Windows PowerShell 2.0 cmdlet that should be used instead of New-SP*ServiceApplicationProxy. (These cmdlets are listed in the See Also section.) For example, the following command creates a new Managed Metadata service application proxy named "MetadataServiceProxy1" that connects to the service application located at the stated URL.

    Copy Code
    New-SPMetadataServiceApplicationProxy -Name "MetadataServiceProxy1" -Uri "
urn:schemas-microsoft-com:sharepoint:service:9c1870b7ee97445888d9e846519cfa27#authority=urn:uuid:02a493b92a5547828e21386e28056cba&authority=https://ua_powershell:32844/Topology/topology.svc  "

  6. You must associate the new service application connection with a local Web application. For information about how to do this, see Add or remove a service application connection to a Web application (SharePoint Server 2010).

See Also

Reference

New-SPBusinessDataCatalogServiceApplicationProxy
New-SPEnterpriseSearchServiceApplicationProxy
New-SPMetadataServiceApplicationProxy
New-SPProfileServiceApplicationProxy
New-SPSecureStoreServiceApplicationProxy
New-SPWebAnalyticsServiceApplicationProxy


Add or remove a service application connection to a Web application (SharePoint Server 2010)

When you create a service application in Microsoft SharePoint Server 2010, a service application connection is created. A service application connection is also referred to as an application proxy. A service application connection associates the service application to Web applications via membership in a service application connection group (also referred to as application proxy group).

This article describes how to add or remove service application connections to a service application connection group.

Important:

If you are creating a service application connection to a service application in a remote farm, you should read the article Share service applications across farms (SharePoint Server 2010) to gain a full understanding of the requirements to successfully share service applications across farms.

By default, a new service application connection is added to the farm's Default group of service application connections when you create the service application by using Central Administration. You can override this default membership. If a new service application is created by using Windows PowerShell 2.0 instead of by using Central Administration, the new service application does not automatically become a member of the Default service application connections group unless the -default parameter is supplied.

Note:

For more information about how to create and configure service applications, see Manage service applications (SharePoint Server 2010).

By default, all Web applications are associated with the farm's Default group of service application connections, although you can change this setting. You can also create one custom connection group for each Web application in the farm. You can change the service applications with which a Web application is associated at any time, and you can change the service applications that are included in the Default service application connection group.

For more information about how to create and configure Web applications, see Web applications management (SharePoint Server 2010).

Editing a service connection group

You can add or remove service application connections to a service application connection group by using Central Administration or by using Windows PowerShell 2.0 cmdlets.

To edit a service connection group by using Central Administration

  1. Verify that the user account that is performing this procedure is a member of the Farm Administrators SharePoint group.

  2. On the Central Administration Home page, click Application Management.

  3. On the Application Management page, in the Service Applications section, click Configure service application associations.

  4. On the Service Application Associations page, select Web Applications from the View drop-down menu.

  5. In the list of Web applications, in the Application Proxy Group column, click the name of the service application connection group that you want to change.

  6. To add a service connection to the group, select the check box that is next to the service application that you want to add to the connection group. To remove a service application connection from the connection group, clear the check box next to the service application that you want to remove from the connection group. When you have made the changes that you want, click OK.

    Note:

    You can also change custom service application connection groups by clicking Manage Web Applications from the Central Administration Home page, selecting a listed Web application, and then clicking Service Connections on the ribbon. You cannot change the default service applications connection group through this page, however.

To add a service application connection to a service application connection group by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click Administrative Tools.

  3. Click SharePoint 2010 Management Shell.

  4. At the Windows PowerShell command prompt (that is, PS C:\>), type the following command, and then press ENTER:

    Add-SPServiceApplicationProxyGroupMember [-Identity <the service application proxy group>] [-Member <members to add to the service application proxy group>]

For more information, see Add-SPServiceApplicationProxyGroupMember.

To remove a service application connection from a service application connection group by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click Administrative Tools.

  3. Click SharePoint 2010 Management Shell.

  4. At the Windows PowerShell command prompt (that is, PS C:\>), type the following command, and then press ENTER:

    Remove-SPServiceApplicationProxyGroupMember [-Identity <SPServiceApplicationProxyGroupPipeBind>] [-Member <SPServiceApplicationProxyPipeBind[]>]

For more information, see Remove-SPServiceApplicationProxyGroupMember.


Restrict or enable access to a service application (SharePoint Server 2010)
See Also

In Microsoft SharePoint Server 2010, you can restrict the access to a service application so that the service application is available to only specified Web applications.

By default, all service applications on the local farm are available to all Web applications on the local farm. However, you can restrict access to a service application so that it is available to only specified Web applications. This can be a useful strategy if you host multiple customers on the same farm, and you want to isolate one customer's service applications from another customer's Web application.

If you restrict access to a service application and you later decide that you want to make it available to the whole farm, you can remove the restriction.

This article describes how to restrict access to a service application by adding and removing service accounts. It also describes how to reestablish local farm-wide access to a service application.

Important:

We strongly recommend that you plan the security and services infrastructure before you restrict access to service applications.

For information about how to plan the services architecture in SharePoint Server 2010, see the following articles:

  • Services architecture planning (SharePoint Server 2010)

  • Technical diagrams (SharePoint Server 2010)

In this article:

  • Restricting access to a service application

  • Restoring farm-level access to a service application

  • Windows Powershell Code Examples

Restricting access to a service application

You can restrict access to a service application by removing service accounts from the service application. Conversely, you can allow access to a service application by adding service accounts to the service application. You can perform these tasks by using Central Administration or by using Windows PowerShell 2.0.

To restrict access to a service application, you must perform the following tasks:

  1. Add a specific service account to the service application.

  2. Remove the local farm ID from the service application.

Note:

The procedures in this article describe how to restrict or restore access to a service application. However, you can follow the steps provided in the procedures to add any service account to any service application, or to remove any service account from any service application.

For example, the procedure To restore local farm-wide access to a service application by using Central Administration explicitly describes how to add the local farm ID to a service application. However, you can use the same procedure to add any other service account to a service application. To do this, you provide the appropriate service account instead of the local farm ID.

Because the local farm ID provides local farm-wide access to the service application by default, it is redundant to also grant explicit local Web application permissions to a service application unless you also remove the local farm ID.

To grant permissions to a service application, you must retrieve and supply the appropriate service account. For a Web application, this account is also known as an application pool identity account.

After you grant permissions to a service account and remove the local farm ID from a service application, only Web applications that are managed by the assigned service account can access the service application. You can assign multiple Web applications (that have different managing service accounts) to the same service application by repeating these procedures and adding the various Web application service accounts to the service application.

Warning:

If you remove the local farm ID from a service application and do not assign any other service account to that service application, the service application becomes unavailable to all Web applications.

In this section:

  • Restrict access to a service application by using Central Administration

  • Restricting access to a service application by using Windows PowerShell

Restrict access to a service application by using Central Administration

To restrict access to a service application by using Central Administration, you must perform the following steps:

  1. Retrieve the Web application service account.

  2. Add the Web application service account to the service application.

  3. Remove the local farm ID from the service application.

Procedures in this section:

  • To retrieve a Web application service account by using Central Administration

  • To grant and remove permissions for service accounts to access a service application by using Central Administration

To retrieve a Web application service account by using Central Administration

  1. Verify that the user account that is performing this procedure is a member of the Farm Administrators SharePoint group.

  2. On the Central Administration Home page, in the Security section, click Configure service accounts.

  3. On the Service Accounts page, select the Web application name from the first drop-down list.

    The service account is shown in the Select an account for this component list. Record the service account name because you will use it in the next procedure.

  4. Click Cancel to exit the Service Accounts page without making any changes.

To grant and remove permissions for service accounts to access a service application by using Central Administration

  1. Verify that the user account that is performing this procedure is a member of the Farm Administrators SharePoint group.

  2. On the Central Administration Home page, in the Application Management section, click Manage service applications.

  3. On the Manage Service Applications page, click the row that contains the service application for which you want to assign permissions. The ribbon becomes available.

  4. On the ribbon, click Permissions.

  5. In the Connection Permissions dialog box, type the service account name that you retrieved in the previous procedure, and then click Add.

  6. Make sure that the newly-added service account name is selected in the middle pane, and then click the appropriate check box in the bottom pane to supply the required permission level.

  7. In the middle pane, click Local Farm, and then click Remove.

  8. Verify that the Connection Permissions page now lists only the service account that you want to access the service application, and that the service account has the required permissions on the service application. Click OK to change the permissions, or click Cancel to end the operation without making changes.

You can grant and remove permissions for any service account by using this procedure.

Note:

Restoring the local farm ID to the service application by using Central Administration requires an additional step that does not apply to other service accounts. For information about how to do this, see Restore farm-wide access to a service application later in this article.

Restricting access to a service application by using Windows PowerShell

All procedures in this section assume that you have the appropriate permissions and have opened the Windows PowerShell 2.0 command prompt window, as described in the procedure To initiate a Windows PowerShell session later in this section.

The process to restrict access to a service application by using Windows PowerShell 2.0 is more complex than performing the same task by using Central Administration. In Windows PowerShell 2.0, you will use some procedures to gather and store information for input into later procedures.

After you have started Windows PowerShell 2.0, the remaining steps to restrict access to a service application are as follows:

  1. Retrieve the local farm ID.

  2. Retrieve the Web application service account.

  3. Create a new claims principal that contains the Web application service account.

  4. Retrieve the security object of the service application.

  5. Add the Web application service account to the security object of the service application.

  6. Remove the local farm ID from the security object of the service application.

  7. Assign the updated security object to the service application.

  8. Display and review updated permissions

In this section:

  • To initiate a Windows PowerShell session

  • To retrieve the local farm ID by using Windows PowerShell

  • To retrieve a Web application service account and create a new claims principal by using Windows PowerShell

  • To retrieve the security object of the service application

  • To update the service application security object with the preferred permissions

To initiate a Windows PowerShell session

  1. Verify that you meet the following minimum requirements: You are a member of the SharePoint_Shell_Access role on the configuration database and a member of the WSS_ADMIN_WPG local group on the computer where SharePoint Server 2010 is installed.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

To retrieve a Web application service account and create a new claims principal by using Windows PowerShell

  1. At the Windows PowerShell 2.0 command prompt, type the following command to retrieve the service account (that is, the application pool identity account) of a Web application:

    Copy Code
    $webapp = Get-SPWebApplication <http://WebApplication>
$webApp.ApplicationPool.UserName

    Where <http://WebApplication> is the Web application URL.

    The Web application service account name displays at the command prompt.

  2. To create a new claims principal, type the following command:

    Copy Code
    $principal = New-SPClaimsPrincipal <ServiceAccount> -IdentityType WindowsSamAccountName

    Where <ServiceAccount> is the user name (in the form of jane@contoso.com or contoso\jane) that was retrieved by running the previous command. The $principal variable will contain the new claims principal.

To retrieve the security object of the service application

  1. To retrieve the security object of the service application, type the following commands. The $security variable will store the service application security object.

    Copy Code
    $spapp = Get-SPServiceApplication -Name "<ServiceApplicationDisplayName>"
$spguid = $spapp.id
$security = Get-SPServiceApplicationSecurity $spguid

    Where <ServiceApplicationDisplayName>is the display name of the service application.

    Important:

    You must enclose the display name in quotation marks, and it must exactly match the service application display name. This includes capitalization. If you have more than one service application that has exactly the same display name (we do not recommend this), you can run the Get-SPServiceApplication cmdlet without arguments to view all service applications. You can then identify the service application directly by its GUID. For example:

    Get-SpServiceApplication

    All service applications are listed.

    $spapp = Get-SpserviceApplication -Identity <GUID>

    $spguid = $spapp.id

    Where <GUID> is the GUID for the service application for which you want to update permissions.

To update the service application security object with the preferred permissions

  1. The first step to update the service application security object is to add the new claims principal $principal to the service application security object $security. To do this, type the following command:

    Copy Code
    Grant-SPObjectSecurity $security $principal -Rights "<Rights>"

    Where <Rights> is the permissions that you want to grant. Typically, this will be Full Control. The available permissions can vary between service applications.

    Tip:

    If you do not want to grant Full Control permissions, and you do not know what permissions can be granted to the service application, you can run the following commands to return the available permissions strings:

    $rightslist = Get-SPServiceApplicationSecurity $spapp

    $rightslist.NamedAccessRights

  2. To remove the local farm ID (that is stored in the $farmID variable) from the service application security object $security, type the following command:

    Copy Code
    Revoke-SPObjectSecurity $security $farmID

  3. To assign the updated $security security object to the service application and confirm that the security object for the service application is appropriately updated, type the following commands:

    Copy Code
    Set-SPServiceApplicationSecurity $spapp -ObjectSecurity $security
(Get-SPServiceApplicationSecurity $spapp).AccessRules

You can add or remove any service account to a service application by using these procedures.

Restore farm-wide access to a service application

You can restore farm-wide access to a service application by adding the local farm ID to the service application. You can do this by using Central Administration or by using Windows PowerShell 2.0 commands. However, you must use Windows PowerShell 2.0 to obtain the local farm ID.

In this section:

  • To retrieve the local farm ID by using Windows PowerShell

  • To restore local farm-wide access to a service application by using Central Administration

  • To restore local farm-wide access to a service application by using Windows PowerShell

To retrieve the local farm ID by using Windows PowerShell

  1. This procedure starts after step 4 of the To initiate a Windows PowerShell session procedure.

  2. The following command retrieves the local farm ID, stores it in the $farmID variable, and displays the ID at the command prompt:

    Copy Code
    $farmID = Get-SPFarm | select id

    If you want to restore farm-wide access by using Central Administration, copy this value into the clipboard for use in the following procedure.

    If you want to restore farm-wide access to the service application by using Windows PowerShell 2.0, type the following additional commands at the Windows PowerShell 2.0 command prompt. You will use the retrieved information in the following procedure.

    Copy Code
    $claimProvider = (Get-SPClaimProvider System).ClaimProvider
$principal = New-SPClaimsPrincipal -ClaimType "http://schemas.microsoft.com/sharepoint/2009/08/claims/farmid" -ClaimProvider $claimProvider -ClaimValue $farmid

To restore local farm-wide access to a service application by using Central Administration

  1. Perform steps 1 through 3 of the procedure To grant and remove permissions for service accounts to access a service application by using Central Administration.

  2. In the Connection Permissions dialog box, copy the local farm ID that you retrieved in the previous procedure, and then click Add.

  3. Make sure that the local farm ID is selected in the middle pane. Click the Full Control check box in the bottom pane.

  4. Click OK to restore farm-wide access to the service application, or click Cancel to end the operation without making changes.

To restore local farm-wide access to a service application by using Windows PowerShell

  1. This procedure starts after Step 2 of the procedure To retrieve the local farm ID by using Windows PowerShell .

  2. To restore the retrieved local farm ID to the service application security object $security, type the following commands:

    Copy Code
    $spapp = Get-SPServiceApplication -Name "<ServiceApplicationDisplayName>"
$spguid = $spapp.id
$security = Get-SPServiceApplicationSecurity $spguid
Grant-SPObjectSecurity -Identity $security -Principal $farmID -Rights "Full Control"
Set-SPServiceApplicationSecurity $spguid -ObjectSecurity $security

    Where <ServiceApplicationDisplayName>is the display name of the service application.

    Important:

    You must enclose the display name in quotation marks, and it must exactly match the service application display name. This includes capitalization. If you have more than one service application that has exactly the same display name (we do not recommend this), you can run the Get-SPServiceApplication cmdlet without arguments to view all service applications. You can then identify the service application directly by its GUID.

Windows PowerShell code examples

In the following example, the administrator wants to restrict access to the "Contoso BDC" service application to the http://contoso/hawaii Web application, which is managed by the service account "contoso\jane". By adding "contoso\jane" and removing the local farm service account from the service application, "Contoso BDC" is restricted to only those Web applications that are managed by the service account "contoso\jane" - in this case, http://contoso/hawaii.

Copy Code
$farmid = Get-SPFarm | select id
$claimProvider = (Get-SPClaimProvider System).ClaimProvider
$principal = New-SPClaimsPrincipal -ClaimType "http://schemas.microsoft.com/sharepoint/2009/08/claims/farmid" -ClaimProvider $claimProvider -ClaimValue $farmid
webapp = get-spwebapplication http://contoso
$webapp.applicationpool
$principal = New-SPClaimsPrincipal contoso/jane -IdentityType WindowsSamAccountName
$spapp = Get-SPServiceApplication -Name "Contoso BDC"
$spguid = $spapp.id
$security = Get-SPServiceApplicationSecurity $spguid
Grant-SPObjectSecurity $security $principal -Rights "Full Control"
Revoke-SPObjectSecurity $security $farmaccount
Set-SPServiceApplicationSecurity $spguid -ObjectSecurity $security
(Get-SPServiceApplicationSecurity $spguid).AccessRules

In the following example, access to the service application "Contoso BDC" is restored to all Web applications in the local farm.

Copy Code
$farmid = Get-SPFarm | select id
$claimProvider = (Get-SPClaimProvider System).ClaimProvider
$principal = New-SPClaimsPrincipal -ClaimType "http://schemas.microsoft.com/sharepoint/2009/08/claims/farmid" -ClaimProvider $claimProvider -ClaimValue $farmid
$spapp = Get-SPServiceApplication -Name "Contoso BDC"
$spguid = $spapp.id
$security = Get-SPServiceApplicationSecurity $spguid
Grant-SPObjectSecurity -Identity $security -Principal $farmaccount -Rights "Full Control"
Set-SPServiceApplicationSecurity $spguid -ObjectSecurity $security
(Get-SPServiceApplicationSecurity $spguid).AccessRules

See Also

Reference

Get-SPWebApplication
New-SPClaimsPrincipal
Get-SPServiceApplication
Get-SPServiceApplicationSecurity
Grant-SPObjectSecurity
Revoke-SPObjectSecurity
Set-SPServiceApplicationSecurity
Get-SPFarm
Get-SPClaimProvider

Concepts

Configure claims authentication (SharePoint Server 2010)
Add or remove a service application connection to a Web application (SharePoint Server 2010)

Other Resources

Resource Center: Security and Authentication for SharePoint Server 2010


Assign or remove administrators to a service application (SharePoint Server 2010)

An administrator of a Microsoft SharePoint Server 2010 service application can assign additional administrators to that service application. These users are granted security-trimmed access to the SharePoint Central Administration Web site and can manage settings related to the service application. You can similarly remove administrators from a service application.

Note:

By default, members of the Farm Administrators group have permissions to manage all service applications.

You can assign or remove service application administrators by using Central Administration or by using Windows PowerShell 2.0.

To assign or remove administrators to a service application by using Central Administration

  1. Verify that the user account that is performing this procedure is a member of the Farm Administrators group.

  2. On the Central Administration Home page, in the Application Management section, click Manage service applications.

  3. On the Manage Service Applications page, select the row that contains the service application to which you want to add or remove administrators. The ribbon becomes available.

  4. On the ribbon, click Administrators.

  5. To add an administrator:

    1. In the first text box on the page, type the user accounts or groups that you want to add. You can click the People icon to validate a name. You can click the Address book icon to search for users to add. You can add multiple administrators into the text box.

    2. After you have added the administrators, click OK.

  6. To remove an administrator:

    1. In the second text box on the page, select the administrator whom you want to remove. Note that this step does not remove the user from the system—it merely revokes the user's administrative permissions to the selected service application.

    2. Click Remove.

    3. After you have finished removing administrators, click OK.

To assign or remove administrators to a service application by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell command prompt type the following commands.

  6. To create a new claims principal, type the following command:

    Copy Code
    $principal = New-SPClaimsPrincipal "<contoso\jane>" -IdentityType WindowsSamAccountName

    Where <contoso\jane> is the user name for which you want to assign administrative permissions. The user name should be entered in the form of jane@contoso.com or contoso\jane. The new claims principal is stored in the $principal variable.

  7. To retrieve the service application, type the following command:

    Copy Code
    $spapp = Get-SPServiceApplication -Name "<ServiceApplicationDisplayName>"

    Where <ServiceApplicationDisplayName> is the display name of the service application. The service application identification is stored in the $spapp variable.

    Important:

    The display name must be enclosed in quotation marks, and it must exactly match the service application display name. This includes capitalization. If you have more than one service application that has exactly the same display name (we do not recommend this), you can use the Get-SPServiceApplication cmdlet to view all service applications. You can then identify the service application by its GUID. For more information, see Get-SPServiceApplication.

  8. To retrieve the administrator security object for the service application, type the following command:

    Copy Code
    $security = Get-SPServiceApplicationSecurity $spapp -Admin

    The retrieved administrator security object is stored in the $security variable.

    Warning:

    It is important that you use the -Admin argument when you use this command.

  9. To assign or revoke administrative permissions for the user who is identified by the new claims principal $principal (that was created in Step 6 of this procedure) to the service application administrator security object $security (that was obtained in Step 8 of this procedure) use the appropriate command as follows.

    1. To assign administrative permissions, type the following command:

      Copy Code
      Grant-SPObjectSecurity $security $principal "Full Control"

    2. To revoke administrative permissions, type the following command:

      Copy Code
      Revoke-SPObjectSecurity $security $principal

  10. To assign the updated $security security object to the service application, type the following command:

    Copy Code
    Set-SPServiceApplicationSecurity $spapp $security -Admin
    Warning:

    It is important that you use the -Admin argument when you use this command.

  11. To confirm that the service application's security object is updated appropriately, type the following command:

    Copy Code
    (Get-SPServiceApplicationSecurity $spapp -Admin).AccessRules

Examples

In the following example, the service account user "contoso\jane" is added to the administrators security object for the service application named "Contoso Visio Graphics".

Copy Code
$principal = New-SPClaimsPrincipal "contoso\jane" -IdentityType WindowsSamAccountName
$spapp = Get-SPServiceApplication -Name "Contoso Visio Graphics"
$security = Get-SPServiceApplicationSecurity $spapp -Admin
Grant-SPObjectSecurity $security $principal "Full Control"
Set-SPServiceApplicationSecurity $spapp $security -Admin
(Get-SPServiceApplicationSecurity $spapp -Admin).AccessRules

In the following example, the service account user "contoso\jane" is removed from the administrators security object for the service application named "Contoso Visio Graphics".

Copy Code
$principal = New-SPClaimsPrincipal "contoso\jane" -IdentityType WindowsSamAccountName
$spapp = Get-SPServiceApplication -Name "Contoso Visio Graphics"
$security = Get-SPServiceApplicationSecurity $spapp -Admin
Revoke-SPObjectSecurity $security $principal "Full Control"
Set-SPServiceApplicationSecurity $spapp $security -Admin
(Get-SPServiceApplicationSecurity $spapp -Admin).AccessRules

For more information, see the following Windows PowerShell articles:

  • New-SPClaimsPrincipal

  • Get-SPServiceApplication

  • Get-SPServiceApplicationSecurity

  • Grant-SPObjectSecurity

  • Revoke-SPObjectSecurity

  • Set-SPServiceApplicationSecurity

Note:

We recommend that you use Windows PowerShell when performing command-line administrative tasks. The Stsadm command-line tool has been deprecated, but is included to support compatibility with previous product versions.


Delete a service application (SharePoint Server 2010)
See Also

You can delete a service application by using SharePoint Central Administration or by using Windows PowerShell 2.0 cmdlets. Be aware that the act of deleting a service application is permanent—you cannot undo this operation.

Before you delete a service application, verify that its removal will not adversely affect users. As a best practice, you should ensure that no Web applications are currently consuming the service application that you are going to delete. For information about how to disconnect a service application from a Web application, see Add or remove a service application connection to a Web application (SharePoint Server 2010).

When you delete a service application, you have the option to also delete the service application database (not all service applications have databases). If the service application is to be re-created in the future, do not delete the service application database. On the other hand, if the service application is temporary, you will most likely want to delete the database during this operation.

To ensure that the service application is available for potential future use, consider backing up the service application before you delete it. For more information, see Back up a service application in SharePoint Server 2010 and Restore a service application in SharePoint 2010 Products.

In this article:

  • To delete a service application by using Central Administration

  • To delete a service application by using Windows PowerShell

To delete a service application by using Central Administration

  1. Verify that the user account that is performing this procedure is a member of the Farm Administrators SharePoint group.

  2. On the SharePoint Central Administration Web site, click Application Management, and then click Manage service applications.

  3. On the Manage Service Applications page, click the row that contains the service application that you want to delete. The ribbon becomes available.

  4. On the ribbon, click Delete.

  5. In the confirmation dialog box, select the check box next to Delete data associated with the Service Applications if you want to delete the service application database. If you want to retain the database, leave this check box cleared.

  6. Click OK to delete the service application, or click Cancel to stop the operation.

To delete a service application by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell command prompt, type the following commands.

  6. To retrieve the service application that you want to delete, type the following command:

    Copy Code
    $spapp = Get-SPServiceApplication -Name "<Service application display name>"

    Where <Service application display name> is the display name of the service application that you want to delete.

    The service application information will be stored in the $spapp variable.

    Important:

    You must type the display name within quotation marks, and what you type must exactly match the service application display name. This includes capitalization. It is strongly recommended that you do not create multiple service applications that have the same display name—if you do have this situation, you can use the Get-SPServiceApplication cmdlet to list all service applications. You can then use the service application GUID together with the -Identity parameter to specify the service application that you want to delete. For more information, see Get-SPServiceApplication.

  7. To delete the selected service application, run one of the following commands. In both cases, you are prompted to confirm the deletion.

    • To delete the selected service application without removing the service application database, type the following command:

      Copy Code
      Remove-SPServiceApplication $spapp

    • To delete the selected service application and also delete the service application database, type the following command:

      Copy Code
      Remove-SPServiceApplication $spapp -RemoveData

Example

Copy Code
$spapp = Get-SPServiceApplication -Name "Contoso BDC Service"
Remove-SPServiceApplication $spapp -RemoveData
ConfirmAre you sure you want to perform this action? YPerforming operation "Remove-SPServiceApplication" on Target

In this example, the service application "Contoso BDC Service" information is stored in the $spapp variable. After the action is confirmed, the service application and its database are permanently deleted.

For more information, see Get-SPServiceApplication and Remove-SPServiceApplication.

See Also

Reference

Remove-SPServiceApplicationProxyGroup


Access Services administration
See Also

In this section:

  • Set up and configure Access Services (SharePoint Server 2010)

  • How to use Access Services from a template (SharePoint Server 2010)

  • Create an Access Services service application (SharePoint Server 2010)

  • Delete an Access Services service application (SharePoint Server 2010)

  • Use Access Services with SQL Reporting Services: Installing SQL Server 2008 R2 Reporting Services Add-In (SharePoint Server 2010)

  • Use macros to automate tasks in Web objects in applications published to Access Services (SharePoint Server 2010)

See Also

Concepts

Access Services cmdlets (SharePoint Server 2010)


Use Access Services with SQL Reporting Services: Installing SQL Server 2008 R2 Reporting Services Add-In (SharePoint Server 2010)
See Also

A prerequisite for running Access Services for SharePoint Server 2010 is the installation of Microsoft SQL Server 2008 R2 Reporting Services Add-in for SharePoint Technologies 2010 (SSRS). The SSRS add-in is available as a free download via the Web and provides a set of features that enable you to run Access Services reports in SharePoint.

Important:

While the SSRS Add-in can be installed either before or after SharePoint Server is deployed, it is strongly recommended that it be installed prior to installing SharePoint Server to avoid time consuming manual configuration on a server by server basis.

  • If you install SSRS before SharePoint Server: A deployment of Reporting Services integrates with a deployment of SharePoint at the farm level. No additional configuration or replication out to servers in the farm will be necessary. If you use the SharePoint prerequisite tool during SharePoint installation, the SSRS add-in will be automatically installed during that process.

  • If you install SSRS after installing SharePoint Server: If you choose to install SSRS after deploying SharePoint Server, the installation process will involved many more steps, especially if you have multiple web front end servers. If you have multiple SharePoint Web applications in a farm configuration, you must install the Reporting Services Add-in on each computer that has a front-end Web.

Connected vs. Local Mode:

There are two modes in running Reporting Services with SharePoint Server. There is the standard default mode referred to as the "Connected mode" and requires SharePoint Server, the SSRS add-in and the SQL Server 2008 R2 Report Server. The new mode is "Local mode". It is a light-weight setup for Reporting Services to integrate with SharePoint Server. It only requires SharePoint Server and the SSRS Add-in.

Important:

Local mode means there is no Reporting Services server. You must install the add-in but it is not an actual Reporting Services server. With Local mode, users can view reports but will not have access to server side features, e.g., setting up 'subscriptions'.

  • If you have multiple Web front-ends in your SharePoint farm, it is recommended that you set up using Connected Mode. To set up connected mode, you will need SQL Server 2008 R2 Report Server and the Reporting Services Add-in.

  • If you are running a SharePoint farm with only one Web front-end, you can set up Local Mode. You need Reporting Services Add-in.

Note:

Installing the Reporting Services Add-in is one of many steps that are necessary for integrating a report server with an instance of a SharePoint product or technology. The order of steps for configuring the servers is important. For best results, be sure that you do them in order.

Installing Reporting Services Add-in before SharePoint installation (Recommended)

  1. Download the SSRS Add-in from http://go.microsoft.com/fwlink/p/?LinkID=164654&clcid=0x409.

  2. Run rsSharePoint.msi on the farm server on which you intend to start SharePoint installation.

  3. Install SharePoint Server.

  4. Enable the Session State for the farm by opening the SharePoint Management Shell. Enter the command [Enable-SPSessionStateService -DatabaseName "foo"] — The DatabaseName value is the database that will be created on the computer that is running SQL Server. Perform an IIS reset.

Installing the Reporting Services Add-in after SharePoint installation

  1. Install the SSRS Add-in according to the steps at http://go.microsoft.com/fwlink/p/?LinkID=164654&clcid=0x409

  2. Activate the SSRS feature according to the steps at http://msdn.microsoft.com/en-us/library/bb677366(SQL.105).aspx

To install the Reporting Services Add-in for Connected Mode

  1. Install the SSRS Add-in either before or after SharePoint Server installation according to the session above.

  2. Configure Report Server Integration in SharePoint Central Administrationhttp://msdn.microsoft.com/en-us/library/bb326213(SQL.105).aspx

  3. Modify the C:\Program Files\Microsoft SQL Server\MSRS10_50.MSSQLSERVER\Reporting Services\ReportServer\rsreportserver.config file on the Reporting Services server. Under the <Data> node, under the <Extension> node, add the ADS data extension. For example:

    <Extension Name="ADS" Type="Microsoft.Office.Access.Reports.DataProcessing.AdsConnection, Microsoft.Office.Access.Server.DataServer, Version=14.0.0.0, Culture=Neutral, PublicKeyToken=71e9bce111e9429c"/> -->

  4. Modify the rssrvpolicy file on RS server.

    1. Add the following XML code in the file under the <NamedPermissionSets> node.

      Copy Code
      <PermissionSet class="NamedPermissionSet" version="1" Name="ReportExpressionsDefaultPermissionSet">
<IPermission class="SecurityPermission" version="1" Flags="Execution" />
<IPermission class="Microsoft.Office.Access.Server.Security.AccessServicesPermission, Microsoft.Office.Access.Server.Security,
     Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" version="1.0" Flags="CalculationCallback" />
</PermissionSet>

    2. In the <CodeGroup>node, find the following line and change PermissionSetName from "Execution" to "ReportExpressionsDefaultPermissionSet"

      Copy Code
      <CodeGroup class="UnionCodeGroup" version="1" PermissionSetName="Execution" Name="Report_Expressions_Default_Permissions"
 Description="This code group grants default permissions for code in report expressions and Code element. ">

  5. Enable Remote Errors for Reporting Services by following the instructions at http://go.microsoft.com/fwlink/p/?LinkId=183457&clcid=0x409.

See Also

Other Resources

Resource Center: What's New in Microsoft SharePoint Server 2010


Business Data Connectivity service administration (SharePoint Server 2010)

Summary: This article provides descriptions of general administrative Business Data Connectivity service operations for SharePoint Server.

Microsoft Business Connectivity Services are administered primarily by using the Business Data Connectivity service. See the following topics for Business Data Connectivity service operations related to the items that are stored and managed by using the service:

  • Manage external systems (SharePoint Server 2010)

  • Manage BDC models (SharePoint Server 2010)

  • Manage external content types (SharePoint Server 2010)

  • Business Connectivity Services security operations (SharePoint Server 2010)

  • Use tracing on the client (SharePoint Server 2010)

  • Create external content types using SharePoint Designer 2010

  • Application Registry Service administration (SharePoint Server 2010)


Manage external systems (SharePoint Server 2010)
See Also

Summary: Administrators of Business Data Connectivity service applications can perform operations on the source of data for those applications to maintain security and ensure appropriate access to data.

An external system is a source of data, such as a Web service, SQL Server database, other relational database, or a custom connector, that can be used in a solution. An instance of an external system includes connection and authentication information for a specific instance of an external system. There can be one or more instances of an external system for any external system. Configuring multiple external system instances allows the solution designer to set different security parameters on external data connections to support multiple ways to connect to the same external system. However, in many applications, a single external system instance is all that is needed.

In this article:

  • Set permissions on an external system

  • View all external systems for a Business Data Connectivity service application instance

  • Delete an external system

  • View the external content types of an external system

  • Configure an external system

  • Configure an instance of an external system

Set permissions on an external system

You set permissions on an external system to specify who can edit it, who can execute operations (such as read or update) on external content types stored at the external system, who can create external lists using the data that is stored in the external system, and who can set permission on it.

We recommend that you give specific permissions to each user or group that needs them, in such a way that the credentials provide the least privilege necessary to perform the needed tasks. For more information about setting permissions, see Business Connectivity Service permissions overview in "Business Connectivity Services security overview (SharePoint Server 2010)".

To set permissions on an external system

  1. Verify that you have one of the following administrative credentials:

    • You must be a farm administrator.

    • You must be an administrator of the Business Data Connectivity service application and have Set Permissions permission on the external system.

  2. On the Central Administration Web site, in the Application Management section, click Manage service applications.

  3. Click in the Name column of the row that corresponds to the Business Data Connectivity service application.

  4. In the View group of the ribbon, click External Systems.

  5. Click the check box of the external system for which you want to set permissions.

  6. In the Permissions group of the ribbon, click Set Object Permissions.

  7. In the box, type the user accounts, groups, or claims for which permissions will be granted, and then click Add.

    Note:

    The user account, group, or claim cannot have a vertical bar (|) in its name.

  8. Set the permissions for the account, group, or claim:

    Note:

    At least one user, group or claim in the metadata object's access control list must have the Set Permissions permission.

    • Click Edit to allow the user, group, or claim to edit the external system.

      Security Note:

      The Edit permission should be considered highly privileged. With the Edit permission a malicious user can steal credentials or corrupt a server farm. To help ensure a secure solution, we recommend using a test environment where the Edit permission can be assigned freely to developers and solution designers. When you deploy the tested solution to a production environment, remove the Edit permissions.

    • Click Execute to allow the user, group, or claim to execute operations (create, read, update, delete, or query) on external content types that are stored at the external system.

      Tip:

      The Execute permission is not applicable to the external system itself. This setting is used when you want to propagate the Execute permission to child objects (such as external content types) in the external system.

    • Click Selectable In Clients to allow the user, group, or claim to create external lists of any external content types whose data is stored at the external system and to view the external content types in the external item picker.

      Tip:

      The Selectable In Clients permission is not applicable to the external system itself. This setting is used when you want to propagate the Selectable In Clients permission to child objects (such as external content types) in the external system.

    • Click Set Permissions to allow the user, group, or claim to set permissions on the external system.

      Security Note:

      The Set Permissions permission should be considered highly privileged. With the Set Permissions permission, a user can grant Edit permission to the external system.

  9. To propagate permissions to all items nested in the external system, click Propagate permissions to all External Content Types that belong to this External System. Doing so will overwrite existing permissions.

View all external systems for a Business Data Connectivity service application instance

View the external systems in the Business Data Connectivity service application to choose an external system before configuring it or to perform some other operation.

To view all external systems for a Business Data Connectivity service application instance

  1. Verify that you have the following administrative credentials:

    • You must be a farm administrator or an administrator of the service application.

  2. On the Central Administration Web site, in the Application Management section, click Manage service applications.

  3. Click in the Name column of the row that corresponds to the Business Data Connectivity service application.

  4. In the View group of the ribbon, click External Systems.

Delete an external system

Delete an external system to remove it from the metadata store.

Note:

You cannot delete an external system that contains external content types in the metadata store. To delete the external system, you must first delete all external content types that it contains.

To delete an external system

  1. Verify that you have one of the following administrative credentials:

    • You must be a farm administrator.

    • You must be an administrator of the Business Data Connectivity service application and have Edit permission on the external system.

  2. On the Central Administration Web site, in the Application Management section, click Manage service applications.

  3. Click in the Name column of the row that corresponds to the Business Data Connectivity service application.

  4. In the View group of the ribbon, click External Systems.

  5. Point to the external system, click the arrow that appears, and then click Delete.

View the external content types of an external system

External systems make external data available using external content types. You can view all the external content types associated with an external system.

To view the external content types of an external system

  1. Verify that you have the following administrative credentials:

    • You must be a farm administrator or an administrator of the service application.

  2. On the Central Administration Web site, in the Application Management section, click Manage service applications.

  3. Click in the Name column of the row that corresponds to the Business Data Connectivity service application.

  4. In the View group of the ribbon, click External Systems.

  5. Point to the external system, click the arrow that appears, and then click View External Content Types.

Configure an external system

You can configure some settings of an external system by using the Business Data Connectivity service.

To configure an external system

  1. Verify that you have one of the following administrative credentials:

    • You must be a farm administrator.

    • You must be an administrator of the Business Data Connectivity service application and have Edit permission on the external system.

  2. On the Central Administration Web site, in the Application Management section, click Manage service applications.

  3. Click in the Name column of the row that corresponds to the Business Data Connectivity service application.

  4. In the View group of the ribbon, click External Systems.

    Tip:

    The only external systems that are configurable in the Business Data Connectivity service are Windows Communication Foundation (WCF) Web services.

  5. Point to the external system, click the arrow that appears, and then click Settings.

  6. Edit or view the settings.

    If the external system is a WCF Web service, the following settings are available:

    Field Notes

    Metadata Exchange URL

    The full Web address of the Web service description language (.wsdl) file of the Web service.

    Metadata Exchange Discovery Mode

    The protocol to use for discovering web service metadata:

    • Disco: the Business Data Connectivity service uses the DiscoveryClientProtocol (equivalent to wsdl.exe ) to download the metadata.

    • MetadataExchange: the Business Data Connectivity service uses WS-Transfer (equivalent to svcutil /mex) to download the metadata.

    • CustomProxy: the Business Data Connectivity service does not attempt to discover the service. When this option is used, the user must provide Address, Binding and Contract for the service.

    WSDL Authentication Mode

    The default way that incoming credentials are passed to the Web service.

    Five choices are available:

    Mode Description

    User's Identity

    Uses the credentials of the logged on user to authenticate to the Web service.

    This mode is called PassThrough in the BDC model file.

    BDC Identity

    Uses the application pool account under which the Business Data Connectivity service is running to authenticate the logged on user to the Web service.

    This mode is called RevertToSelf in the BDC model file.

    Impersonate Custom Identity

    For Web services that use basic authentication instead of Windows authentication.

    Uses the Secure Store Service to map the user's credentials to the individual or group credentials that are used by the Web service.

    This mode is called Credentials in the BDC model file.

    Impersonate Windows Identity

    For Web services that use Windows authentication.

    Uses the Secure Store Service to map the user's credentials to the individual or group credentials that are used by the Web service.

    This mode is called WindowsCredentials in the BDC model file.

    Impersonate Custom Identity - Digest

    For Web services that use digest authentication instead of Windows authentication. Uses the Secure Store Service to map the user's credentials to the individual or group credentials that are used by the Web service.

    This mode is called DigestCredentials in the BDC model file.

    Secure Store WSDL Target Application ID

    For Impersonate Custom Identity, Impersonate Windows Identity, and Impersonate Custom Identity-Digest authentication, the target application identifier for this Web service, as configured in the Secure Store Service.

    Secure Store Implementation

    If you are providing a custom secure store provider, specify the fully qualified assembly name of the provider. Otherwise, leave this field empty.

  7. Click OK.

Configure an instance of an external system

There can be one or more instances of an external system for any external system. Configuring multiple external system instances allows the solution designer to set different security parameters on external data connections to support multiple ways to connect to the same external system.

To configure an instance of an external system

  1. Verify that you have one of the following administrative credentials:

    • You must be a farm administrator.

    • You must be an administrator of the Business Data Connectivity service application and have Edit permission on the external system.

  2. Click in the Name column of the row that corresponds to the Business Data Connectivity service application.

  3. In the View group of the ribbon, click External Systems.

  4. Click the external system to view its instances.

    Tip:

    The only instances of external system types that are configurable by default are databases and WCF Web services.

  5. Point to the external system instance, click the arrow that appears, and then click Settings.

  6. Edit or view the settings.

    If the external system is a WCF Web service, the following settings are available:

    Field Description

    Authentication Mode

    The way that incoming credentials are passed to the Web service.

    Five choices are available:

    Mode Description

    User's Identity

    Uses the credentials of the logged on user to authenticate to the Web service.

    This mode is called PassThrough in the BDC model file.

    BDC Identity

    Uses the application pool account under which the Business Data Connectivity service is running to authenticate the logged on user to the Web service.

    This mode is called RevertToSelf in the BDC model file.

    Impersonate Custom Identity

    For Web services that use basic authentication instead of Windows authentication.

    Uses the Secure Store Service to map the user's credentials to the individual or group credentials that are used by the Web service.

    This mode is called Credentials in the BDC model file.

    Impersonate Windows Identity

    For Web services that use Windows authentication.

    Uses the Secure Store Service to map the user's credentials to the individual or group credentials that are used by the Web service.

    This mode is called WindowsCredentials in the BDC model file.

    Impersonate Custom Identity - Digest

    For Web services that use digest authentication instead of Windows authentication. Uses the Secure Store Service to map the user's credentials to the individual or group credentials that are used by the Web service.

    This mode is called DigestCredentials in the BDC model file.

    Service Endpoint Address

    The full Web address of the Web service's .wsdl file.

    Impersonation Level

    The degree to which the Business Data Connectivity service will can act on behalf of the user when connecting to an external web service. Values include:

    • None: An impersonation level is not assigned.

    • Anonymous: The server process cannot obtain identification information about the client, and it cannot impersonate the client.

    • Identification: The server process can obtain information about the client, such as security identifiers and privileges, but it cannot impersonate the client. This is useful for servers that export their own objects, for example, database products that export tables and views. Using the retrieved client-security information, the server can make access-validation decisions without being able to use other services that are using the client's security context.

    • Impersonation: The server process can impersonate the client's security context on its local system. The server cannot impersonate the client on remote systems.

    • Delegation: The server process can impersonate the client's security context on its local system. The server cannot impersonate the client on remote systems.

    Secure Store Target Application ID

    For Impersonate Custom Identity and Impersonate Windows Identity authentication, the target application identifier for this Web service, as configured in the Secure Store Service.

    Secondary Secure Store Target Application ID

    This field is used to provide the target application identifier of the optional filter that will be used to capture user-supplied input values for Secure Store related filters. For information on the types of filters supported, and on implementing filters, see the Microsoft SharePoint 2010 Software Development Kit (http://go.microsoft.com/fwlink/p/?LinkId=166117).

    Secure Store Implementation

    If you are providing a custom secure store provider, specify the fully qualified assembly name of the provider. Otherwise, leave this field empty.

    If the external system is a database, the following settings are available:

    Field Description

    Access Provider

    The type of database.

    Authentication Mode

    The way that incoming credentials are passed to the database.

    Four choices are available:

    Mode Description

    User's Identity

    Uses the credentials of the logged on user to authenticate to the database.

    This mode is called PassThrough in the BDC model file.

    BDC Identity

    Uses the application pool account under which the Business Data Connectivity service is running to authenticate the logged on user to the database.

    This mode is called RevertToSelf in the BDC model file.

    Impersonate Custom Identity

    For databases that do not use Windows authentication.

    Uses the Secure Store Service to map the user's credentials to the individual or group credentials that are used by the database.

    This mode is called RdbCredentials in the BDC model file.

    Impersonate Windows Identity

    For databases that use Windows authentication.

    Uses the Secure Store Service to map the user's credentials to the individual or group credentials that are used by the database.

    This mode is called WindowsCredentials in the BDC model file.

    Database Server

    The name of the database server.

    Initial Database Name

    The name of the database.

    Integrated Security

    If you are using integrated security, type the string, SSPI, and the Business Data Connectivity service will use the user's Windows credentials to connect to the external system. If you are not using integrated security, leave this field blank, and the Business Data Connectivity service will connect by using unique credentials for the database server.

    Connection Pooling

    If this is selected, the Business Data Connectivity service maintains ownership of the connections to the external system in a pool as an optimization.

    Secure Store Target Application Target ID

    For Impersonate Custom Identity and Impersonate Windows Identity authentication, the target application identifier for this database, as configured in the Secure Store Service.

    Secondary Secure Store Target Application Target ID

    This field is used to provide the target application identifier of the optional filter that will be used to capture user-supplied input values for Secure Store related filters. For information on the types of filters supported, and on implementing filters, see the Microsoft SharePoint 2010 Software Development Kit (http://go.microsoft.com/fwlink/p/?LinkId=166117).

    Secure Store Implementation

    If you are providing a custom secure store provider, specify the fully qualified assembly name of the provider. Otherwise, leave this field empty.

  7. Click OK.

See Also

Other Resources

Resource Center: Operations and Manageability for SharePoint Server 2010 (http://go.microsoft.com/fwlink/p/?LinkId=220215)
Resource Center: Business Connectivity Services in SharePoint Server 2010 (http://go.microsoft.com/fwlink/p/?LinkId=220222)


Manage BDC models (SharePoint Server 2010)
See Also

An administrator can perform operations, such as importing or exporting models, to manage BDC models in Microsoft SharePoint Server 2010.

A BDC model is an XML file that contains sets of descriptions of one or more external content types, their related external systems, and information that is specific to the environment, such as authentication properties. The metadata in a model defines the fields of data in each external content type, the operations that are supported on the external system (to support tasks such as reading, writing, and querying the external system), and connectivity information.

The Business Data Connectivity service provides a set of operations that support importing and exporting models, setting permissions on them, and viewing the external content types that they contain. For example, you can export a BDC model to deploy it from a development environment to a production environment.

A resource file contains the localized names, properties, and permissions for one or more external content types. You can use the same techniques that you use for BDC models to import and export resource files. For example, you can import a resource file to provide a new set of localized strings for an additional language in which a solution will be used.

In this article:

  • Import a BDC model

  • Export a BDC model or resource file

  • Set permissions on a BDC model

  • View all models

  • Delete a BDC model

  • View a model's external content types

Import a BDC model

Importing a model is a primary way to add it, and its related external content types and external systems, into a metadata store. All external content types in a model are automatically activated when you import the model.

Each external content type has a name, namespace and version number, which are used to identify the external content type. Multiple versions of an external content type can exist in the metadata store at any given time. As you import models, add or delete models, activate or deactivate external content types, and add or delete external content types, you can end up with many versions of an external content type. If multiple versions of an external content type exist in the metadata store, the Business Data Connectivity runtime uses the version of the external content type that is active, regardless of the version number of the external content type. The active external content type can be the last imported version of the external content type or the version of the external content type that was activated by using the Enable-SPBusinessDataCatalogEntity cmdlet.

Caution:

If the model does not specify an authentication mode, then PassThrough authentication mode is used. PassThrough authentication may not be suitable for all scenarios. It is meant to be used primarily in a testing environment with a "single-box" configuration (that is, the database server and SharePoint Server are running on the same computer). For more information about authentication modes, see Business Connectivity Services authentication overview.

Tip:

You can also import a model or resource file by using Windows PowerShell. See Import-SPBusinessDataCatalogModel for details.

To import a BDC model or resource file

  1. Verify that you have one of the following administrative credentials:

    • You must be a farm administrator.

    • You must be an administrator of the Business Data Connectivity service application and have Edit permission on the metadata store.

  2. On the Central Administration Web site, in the Application Management section, click Manage service applications.

  3. Click in the Name column of the row that corresponds to the Business Data Connectivity service application.

  4. In the BDC models group of the ribbon, click Import.

  5. On the Import BDC model page, in the BDC Model section, click Browse to find the BDC model or resource file.

    Important:

    A BDC model cannot have any of the following characters in its name: ~"#%&*:<>?\{|} or the character 0x7f.

  6. In the File Type section, select the type of BDC model file to import: Model or Resource.

  7. In the Advanced Settings section, select one or more types of resource to import:

    • Click Localized names to import localized names for the external content types in a particular locale.

      Imported localized names are merged with the existing localized names in the Business Data Connectivity service database.

    • Click Properties to import properties for external content types.

      Imported properties are merged with the existing property descriptions in the Business Data Connectivity servicedatabase.

    • Click Permissions to import permissions for external content types and other securable objects in the model.

      Caution:

      Permissions are stored together with the existing permissions information in the Business Data Connectivity service. If an entry for an object already exists in the access control list, its value is overwritten with the permissions information from the imported file. For example, suppose that the permissions for an external content type X provide access to that external content type to User A. If you import permissions that specify that only User B has access to external content type X, the previous permissions for external content type X will be deleted and new permissions will be stored that only contain the permissions for User B.

  8. To save the group of imported resource settings in a file that can later be exported for use in a particular environment, in the Use Custom Environment Settings field, type a unique name for the set of environment-specific settings.

Export a BDC model or resource file

After a BDC model or resource file has been exported, you can use the exported file to deploy the BDC model on a different system. You can use any of the following methods to export a BDC model or resource file:

  • Use Central Administration to export a BDC model or resource file.

  • Use the Export-SPBusinessDataCatalogModel cmdlet to export a BDC model or resource file.

  • Use Microsoft SharePoint Designer 2010 to export a BDC model.

    Note:

    If a BDC model was created by using SharePoint Designer 2010, you must use SharePoint Designer to export the BDC model. If a model that was created by using SharePoint Designer is exported by using Central Administration or the Export-SPBusinessDataCatalogModel cmdlet, the exported model file includes only placeholders for the external content types. For more information about SharePoint Designer, see SharePoint Designer Help and How-to (http://go.microsoft.com/fwlink/p/?LinkID=198249).

To export a BDC model or resource file

  1. Verify that you have one of the following administrative credentials:

    • You must be a farm administrator.

    • You must be an administrator of the Business Data Connectivity service application and have Edit permission on the model and on all external systems that are contained in the model.

  2. On the Central Administration Web site, in the Application Management section, click Manage service applications.

  3. Click in the Name column of the row that corresponds to the Business Data Connectivity service application.

  4. In the View group of the ribbon, click BDC Models.

  5. On the BDC Models page, select the model or resource file to export.

  6. In the BDC Models group of the ribbon, click Export.

  7. On the Export page, in the File Type field, select the type of file that you are exporting (Model or Resource) and, in the Advanced Settings section, select one or more types of resource to export:

    • Click Localized names to export localized names for the external content types in a particular locale.

    • Click Properties to export properties for external content types.

    • Click Permissions to export permissions for external content types.

    • Click Proxies to export an implementation-specific proxy that is used to connect to the external system.

  8. If you saved a set of resources that can later be exported for use in a particular environment, in the Use Custom Environment Settings field, type the unique name associated with the environment-specific settings to export.

  9. Click Export.

    Your computer's interface for saving the BDC model or resource file to a location on your network will be displayed.

Set permissions on a BDC model

You set permissions on a BDC model to specify who can edit it and who can set permissions on it.

We recommend that you give specific permissions to each user or group that needs them, in such a way that the credentials provide the least privilege necessary to perform the needed tasks. For more information about setting permissions, see Business Connectivity Service permissions overview in "Business Connectivity Services security overview (SharePoint Server 2010)."

To set permissions on a BDC model

  1. Verify that you have one of the following administrative credentials:

    • You must be a farm administrator.

    • You must be an administrator of the Business Data Connectivity service application and have Set Permissions permission on the model.

  2. On the Central Administration Web site, in the Application Management section, click Manage service applications.

  3. Click in the Name column of the row that corresponds to the Business Data Connectivity service application.

  4. In the View group of the ribbon, click BDC Models.

  5. Select the check box of each BDC model for which you want to set permissions.

  6. In the Permissions group of the ribbon, click Set Object Permissions.

  7. In the box, type the user accounts, groups, or claims for which permissions will be granted, and then click Add.

    Note:

    The user account, group, or claim cannot have a vertical bar (|) in its name.

  8. Set the permissions for the account, group, or claim.

    Note:

    At least one user, group or claim in the metadata object's access control list must have the Set Permissions permission.

    • Click Edit to allow the user, group, or claim to edit the BDC model.

      Security Note:

      The Edit permission should be considered highly privileged. With the Edit permission, a malicious user can steal credentials or corrupt a server farm. To help ensure a secure solution, we recommend using a test environment where the Edit permission can be assigned freely to developers and solution designers. When you deploy the tested solution to a production environment, remove the Edit permissions.

    • Click Set Permissions to allow the user, group, or claim to set permissions on the BDC model.

      Security Note:

      The Set Permissions permission should be considered highly privileged. With the Set Permissions permission, a user can grant Edit permission to the BDC model.

      Important:

      The other two listed permissions, Selectable In Clients and Execute, are not applicable to BDC models.

View all models

You can view all the models in a Business Data Connectivity service application.

To view all models

  1. Verify that you have the following administrative credentials:

    • You must be a farm administrator or an administrator of the service application.

  2. On the Central Administration Web site, in the Application Management section, click Manage service applications.

  3. Click in the Name column of the row that corresponds to the Business Data Connectivity service application.

  4. In the View group of the ribbon, click BDC Models.

Delete a BDC model

When you delete a BDC model, all external content types and external systems that are contained in the model and that are not also contained in another model are deleted along with it.

To delete a BDC model

  1. Verify that you have one of the following administrative credentials:

    • You must be a farm administrator.

    • You must be an administrator of the Business Data Connectivity service application and have Edit permission on the model.

  2. On the Central Administration Web site, in the Application Management section, click Manage service applications.

  3. Click in the Name column of the row that corresponds to the Business Data Connectivity service application.

  4. In the View group of the ribbon, click BDC Models .

  5. On the BDC Models page, select the model to delete.

  6. In the BDC models group of the ribbon, click Delete and, when you are prompted, click OK.

View a model's external content types

View a model's external content types to learn about the model or to choose an external content type for a subsequent task.

To view a model's external content types

  1. Verify that you have the following administrative credentials:

    • You must be a farm administrator or an administrator of the service application.

  2. On the Central Administration Web site, in the Application Management section, click Manage service applications.

  3. Click in the Name column of the row that corresponds to the Business Data Connectivity service application.

  4. In the View group of the ribbon, click BDC Models.

  5. Point to the model, click the arrow that appears, and then click View External Content Types.

See Also

Other Resources

Resource Center: Operations and Manageability for SharePoint Server 2010 (http://go.microsoft.com/fwlink/p/?LinkId=220215)
Resource Center: Business Connectivity Services in SharePoint Server 2010 (http://go.microsoft.com/fwlink/p/?LinkId=220222)


Manage external content types (SharePoint Server 2010)
See Also

Summary: Administrators of Business Data Connectivity service applications in Microsoft SharePoint Server 2010 can perform routine operations, such as modifying an application's permissions or adding more features, after an external content type is added to an application.

An external content type is an XML file that defines an object, such as "Customer," "Order," or "Contact," that can be used in a business application. The definition can include the following information:

  • The fields of data that are contained in the object

  • The methods to create, read, update, query, or delete that object

  • Actions that users can take on the object

  • Information that supports connecting to the external data source that provides the object's data

External content types define data that is stored in a supported external system, such as a SQL Server database or other relational database, a SharePoint site, a Web service, or a custom data connector.

An external content type can be added to the Business Data Connectivity service in the following ways:

  • Use Microsoft SharePoint Designer 2010 to create a new external content type.

  • Use the external content type designer in Microsoft Visual Studio 2010.

    The external content types can then be included in a solution package and deployed to the Business Data Connectivity service.

  • Import an application model into the Business Data Connectivity service application that contains one or more external content types.

    The external content types are added to the Business Data Connectivity service application.

After an external content type is added to the Business Data Connectivity service application, administrators of that service application can modify its permissions, or add more features such as actions and profile pages.

In this article:

  • Set permissions on an external content type

  • View all external content types for an instance of a Business Data Connectivity service application

  • View all external content types contained in a model

  • View details of an external content type

  • Delete an external content type

  • Add an action to an external content type

  • Specify the profile page host for a Business Data Connectivity service application instance

  • Create or update a profile page for an external content type

Set permissions on an external content type

You set permissions on an external content type to specify who can edit the content type, who can execute operations (such as read or update) on it, who can use it to create external lists, and who can set permission on it.

We recommend that you give specific permissions to each user or group that needs them, in such a way that the credentials provide the least privilege necessary to perform the needed tasks. For more information about setting permissions, see Business Connectivity Service permissions overview in "Business Connectivity Services security overview (SharePoint Server 2010)".

To set permissions on an external content type

  1. Verify that you have one of the following administrative credentials:

    • You must be a farm administrator.

    • You must be an administrator of the Business Data Connectivity service application and have Set Permissions permission on the external content type.

  2. On the Central Administration Web site, in the Application Management section, click Manage service applications.

  3. Click in the Name column of the row that corresponds to the Business Data Connectivity service application.

  4. In the View group of the ribbon, click External Content Types.

  5. Click the check box of each external content type for which you want to set permissions.

  6. In the Permissions group, click Set Object Permissions.

  7. In the box, type the user accounts, groups, or claims for which permissions will be granted, and then click Add.

    Note:

    The user account, group, or claim cannot have a vertical bar (|) in its name.

  8. Set the permissions for the account, group, or claim:

    Note:

    At least one user, group or claim in the metadata object's access control list must have the Set Permissions permission.

    • Click Edit to allow the user, group, or claim to edit the external content type.

      Security Note:

      The Edit permission should be considered highly privileged. With the Edit permission a malicious user can steal credentials or corrupt a server farm. To help ensure a secure solution, we recommend using a test environment where the Edit permission can be assigned freely to developers and solution designers. When deploying the tested solution to a production environment, remove the Edit permissions.

    • Click Execute to allow the user, group, or claim to execute operations (create, read, update, delete, or query) on the external content type.

    • Click Selectable In Clients to allow the user, group, or claim to create external lists of the external content type and to view the external content type in the external item picker.

    • Click Set Permissions to allow the user, group, or claim to set permissions on the external content type.

      The Set Permissions permission should be considered highly privileged. With the Set Permissions permission, a user can grant Edit permission to the external content type.

  9. To propagate permissions to all methods nested in the external content type, click Propagate permissions to all methods of this external content type. Doing so will overwrite existing permissions.

View all external content types for an instance of a Business Data Connectivity service application

You can use commands in the View group of the ribbon to view all external content types in the Business Data Connectivity service application.

To view all external content types for an instance of a Business Data Connectivity service application

  1. Verify that you have the following administrative credentials:

    • You must be a farm administrator or an administrator of the service application.

  2. On the Central Administration Web site, in the Application Management section, click Manage service applications.

  3. Click in the Name column of the row that corresponds to the Business Data Connectivity service application.

  4. In the View group of the ribbon, click External Content Types.

View all external content types contained in a model

View all external content types in a model to learn more about the model, or to select an external content type for other operations.

To view all external content types contained in a model

  1. Verify that you have the following administrative credentials:

    • You must be a farm administrator or an administrator of the service application.

  2. On the Central Administration Web site, in the Application Management section, click Manage service applications.

  3. Click in the Name column of the row that corresponds to the Business Data Connectivity service application.

  4. In View group of the ribbon, click BDC Models.

  5. Point to the BDC model, click the arrow that appears, and then click View External Content Types.

View details of an external content type

You can view an external content type to learn about the external type, to view its fields, to view its relationship to other entities, and to view actions or filters that are associated with the external content type. You can view a list of all external content types for a Business Data Connectivity service application, or you can view only those entities that are associated with a particular model.

To view details of an external content type

  1. Verify that you have the following administrative credentials:

    • You must be a farm administrator or an administrator of the service application.

  2. On the Central Administration Web site, in the Application Management section, click Manage service applications.

  3. Click in the Name column of the row that corresponds to the Business Data Connectivity service application.

  4. In the View group of the ribbon, click External Content Types.

  5. Point to the external content type that you want to view, click the arrow that appears, and then click View External Content Type.

Delete an external content type

Delete an external content type to remove it from the metadata store. If there are multiple versions of an external content type, deleting the external content type will delete all versions.

To delete an external content type

  1. Verify that you have one of the following administrative credentials:

    • You must be a farm administrator.

    • You must be an administrator of the Business Data Connectivity service application and have Edit permission on the external content type.

  2. On the Central Administration Web site, in the Application Management section, click Manage service applications.

  3. Click in the Name column of the row that corresponds to the Business Data Connectivity service application.

  4. In the View group of the ribbon, click External Content Types.

  5. Select each external content type to delete.

  6. On the Edit tab, in the Manage group, click Delete.

Add an action to an external content type

You can add a custom action to an external content type. A custom action can be a program or Web page that is accessible by using its uniform resource locator (URL). When you associate an action with an external content type, you can pass parameters to that action based on the contents of one or more fields in the external content type. For example, you could associate a search page's URL with an external content type and provide data from an item of that external content type to parameterize the search.

Note:

When you add a new action to an external content type, that action will not be available in existing external lists of that external content type. Only new external lists of the appropriate external content type will display the action in the shortcut menu.

To add an action to an external content type

  1. Verify that you have the following administrative credentials:

    • You must be a farm administrator or an administrator of the service application.

  2. On the Central Administration Web site, in the Application Management section, click Manage service applications.

  3. Click in the Name column of the row that corresponds to the Business Data Connectivity service application.

  4. In the View group of the ribbon, click External Content Types.

  5. Point to the external content type, click the arrow that appears, and then click Add Action.

  6. On the Add Action page, in the Action Name box, type the name of the action.

    This can be any text string. It is the command name that users will see in the shortcut menu when they point to an item of the external content type and click the arrow that appears.

  7. In the Navigate to this URL field, type the full URL of the command that the user will browse to when he or she clicks the action.

    A command can include parameters that will be populated with the contents of one or more fields in the external content type. In the URL that you type in this field, you can include placeholders for each parameter to use. Placeholders should be numbered with integers starting at zero (0, 1, 2, and so on) and should be of the form {number}. For example, the following sample URL provides two parameters, "p0" and "p1":

    http://www.adventure-works.com/sample.aspx?p0={0}&p1={1}

    Caution:

    Parameters can contain personally identifying information such as names and Social Security numbers. When designing actions, be careful not to use fields that display such information inadvertently, or, if this is necessary, make sure that your Web servers use Secure Sockets Layer on all connection points.

  8. If your action is available from within a Web Part, click Yes under Launch the action in a new Web browser window (applies to External Data Web Parts only) to have the action launch a new browser window. This will protect the user from losing the current context when using the action. To have the action occur in the current browser window, click No.

  9. If your action includes parameters, in the Parameter Property field, for each parameter placeholder in your URL, starting with parameter {0}, click Add Parameter and, in the list of available fields in the external content type, click the field whose contents you want to pass for that parameter.

    Repeat this step for each parameter in the URL of the command. You can remove any parameter by clicking the button labeled Remove next to the parameter.

  10. To associate an icon with the custom action, in the Icon section, either click Standard icon and select an icon from the list or, in the The image at this URL field, type the full URL of an image to use as the action's icon.

  11. The default action is the action that occurs when the user clicks the item instead of picking an action from a menu. To make the action the default action, click Default Action.

  12. Click OK to add the action.

Specify the profile page host for a Business Data Connectivity service application instance

A profile page displays the data for an item of an external content type. Profile pages for a Business Data Connectivity service application are stored in a site in the farm that hosts the Business Data Connectivity service. You can specify the site where profile pages are hosted.

To specify the profile page host for a Business Data Connectivity service application instance

  1. Verify that you have the following administrative credentials:

    • You must be a farm administrator or an administrator of the service application.

  2. On the Central Administration Web site, in the Application Management section, click Manage service applications.

  3. Click in the Name column of the row that corresponds to the Business Data Connectivity service application.

  4. In the Profile Pages group of the ribbon, click Configure.

  5. On the Entity Profile Page Host page, in the Host SharePoint site URL field, specify the URL of a site where profile pages of external content types will be created and stored. This site must be in the same server farm as the Business Data Connectivity service application instance.

    Important:

    The site where profile pages of an external content type are created and stored must grant design rights for anyone who creates or updates profile pages, and read-only permission for all end users who will view the profile pages. If you have to create this site in a new Web application, associate that Web application with the Business Data Connectivity service application.

  6. To lock the site so that profile pages cannot be created, deselect Enable Profile Page Creation.

  7. Click OK.

Create or update a profile page for an external content type

You can create a new profile page for an external content type or you can update an existing page. For example, when you add an external data column to or remove an external data column from an external content type, you could update the profile page to reflect the changes to the external content type.

Caution:

Updating an existing profile page may overwrite the current profile page. Any customizations on the current page could be lost on the updated page.

To create or update a profile page for an external content type

  1. Verify that you have the following administrative credentials:

    • You must be a farm administrator or an administrator of the service application.

  2. On the Central Administration Web site, in the Application Management section, click Manage service applications.

  3. Click in the Name column of the row that corresponds to the Business Data Connectivity service application.

  4. In the View group of the ribbon, click External Content Types.

  5. On the View External Content Types page, select the external content type for which you want to create or update a profile page.

  6. Point to the external content type, click the arrow that appears, and then click Create/Upgrade Profile Page.

  7. On the Create/Upgrade Profile Pages page, click OK.

    Tip:

    To create or update multiple external content types' profile pages, select a set of external content types, click the Edit tab, and in the Profile Pages group click Create/Upgrade.

See Also

Other Resources

Resource Center: Operations and Manageability for SharePoint Server 2010 (http://go.microsoft.com/fwlink/p/?LinkId=220215)
Resource Center: Business Connectivity Services in SharePoint Server 2010 (http://go.microsoft.com/fwlink/p/?LinkId=220222)


Create external content types using SharePoint Designer 2010
See Also

Summary: This video by Asif Rehmani illustrates how to use SharePoint Designer to create connections to a database table and display the data in a SharePoint site.

Asif Rehmani, SharePoint MVP, MCT, is president of SharePoint-Videos.com. For more videos from Asif, see http://www.Sharepoint-Videos.com ( http://go.microsoft.com/fwlink/p/?LinkId=187074).

The External Content Types section within Microsoft SharePoint Designer 2010 enables you to define connections to line-of-business data that developers, designers, or administrators of a site can access. After the connection is defined, business analysts can use that connection to create what's called External Lists which show the content of what the connection is attached to (for example a table in a database).

Create external content types

Running time: 8:25

Play video Watch the "Create external content types" video

Download video For an optimal viewing experience, download the "Create external content types" video.

Right-click the link, and then click Save Target As to download a copy. Clicking the link will open a .wmv file in the default video viewer for full-resolution viewing.

About the author

Asif is an independent SharePoint Trainer and Consultant who is a SharePoint Server MVP and a Microsoft Certified Trainer (MCT). He is the co-author of the Wrox publication "Professional SharePoint Designer 2007." Over the years, Asif has provided SharePoint consulting and training to many large clients including: Department of Defense, NASA, Hersheys, Toshiba, State Farm, Federal Home Loan Bank, US Army and many more. Here are some conferences at which Asif has been a speaker:

  • Microsoft's SharePoint Conference

  • Microsoft's TechEd Conference

  • SharePoint Connections

  • Advisor Live

Asif is very active in the Chicago SharePoint community. He is the co-founder and an active leader of the Chicago SharePoint User Group.

Related resources

Resource | Description
Manage external content types (SharePoint Server 2010) | Procedures illustrate how to complete typical tasks, such as setting permissions on external content types, delete external content types, and so on.
SharePoint-Videos.com (http://go.microsoft.com/fwlink/p/?LinkId=187074) | Find more videos from Asif Rehmani.
SharePoint Products Tech Center (http://go.microsoft.com/fwlink/p/?LinkID=177939) | Find details about related technologies, downloads, and additional resources.

See Also

Concepts

Video demos and training for SharePoint Server 2010

Other Resources

Resource Center: Operations and Manageability for SharePoint Server 2010


Excel Services administration (SharePoint Server 2010)
See Also

Excel Services is a Microsoft SharePoint Server 2010 service application that allows users to share and view Microsoft Excel workbooks. The service application also enables data-connected Excel Services workbooks and work sheets to be refreshed and updated from a variety of data sources.

In this section:

  • Manage Excel Services custom applications (SharePoint Server 2010)

    Excel Services in Microsoft SharePoint Server 2010 provides several methods to extend the capabilities of Excel Calculation Services, customize applications and workbooks, and also allow developers to incorporate Excel Services into their solutions.

  • Manage Excel Services connections (SharePoint Server 2010)

    Excel Services in Microsoft SharePoint Server 2010 provides the ability to connect to external data sources and refresh this data. Deploying Excel workbooks with external data connections is the focus of this article.

  • Manage Excel Services trusted locations (SharePoint Server 2010)

    This article explains the trusted file location for Excel Services in Microsoft SharePoint Server 2010.

  • Use Excel Services with Secure Store (SharePoint Server 2010)

    This article explains how to set up and configure Secure Store Service for Excel Services Application in Microsoft SharePoint 2010 Products and then set the credentials for an application ID and finally add it to your Excel Services application.

  • Manage Excel Services with Windows PowerShell (SharePoint Server 2010)

    This article gives a high level overview of Windows PowerShell behavior for Excel Services in Microsoft SharePoint Server 2010. Excel Services administrators can use Windows PowerShell to fully script Excel Services setup and deployment, configuration options, and change all settings during runtime as part of Microsoft SharePoint Server 2010 deployments.

See Also

Other Resources

Resource Center: Operations and Manageability for SharePoint Server 2010
Resource Center: Business Intelligence in SharePoint Server 2010


Manage Excel Services custom applications (SharePoint Server 2010)

Excel Services in Microsoft SharePoint Server 2010 provides several ways to extend the capabilities of Excel Calculation Services, customize applications and workbooks, and also allow developers to incorporated Excel Services into their solutions. These are as follows:

  • User-defined functions

  • ECMAScript

  • REST API

User-defined functions

If your deployment scenarios include workbooks that contain user-defined functions to extend the capabilities of Excel Calculation Services, you have to configure Excel Services to support user-defined functions. To configure support for user-defined functions, you must enable user-defined functions on trusted file locations that contain workbooks that require access to user-defined functions. In addition, you must register user-defined function assemblies on the Excel Services user-defined function assembly list.

This section includes procedures for managing user-defined functions in Excel Services. For additional information about user-defined functions, see Excel Services User-Defined Functions.

To enable user-defined functions on a trusted file location

  1. On the SharePoint Central Administration home page, in the Application Management section, click Manage service applications.

  2. On the Manage Service Applications page, click the Excel Services service application that you want to manage.

  3. On the Manage Excel Services page, click Trusted File Locations.

  4. On the Trusted File Locations page, click the trusted file location for which you want to enable user-defined functions.

  5. On the Edit Trusted File Location page, in the User-Defined Functions section, select the User-defined functions allowed check box.

  6. Click OK.

To manage Excel Services user-defined function assemblies

  1. On the Central Administration home page, in the Application Management section, click Manage service applications.

  2. On the Manage Service Applications page, click the Excel Services service application that you want to manage.

  3. On the Manage Excel Services page, click User Defined Function Assemblies.

To add a user-defined function assembly

  1. On the Excel Services User Defined Functions page, click Add User-Defined Function Assembly.

  2. On the Add User-Defined Function Assembly page, in the Assembly section, type the assembly name or the full path of an assembly that contains the user-defined functions, which you want to call in the Assembly box.

  3. Under Assembly Location, select one of the following:

    • Global assembly cache (a global place where signed assemblies can be deployed and run with full trust by default)

    • File path (a local or network file location)

  4. In the Enable Assembly section, select the Assembly enabled check box to enable Excel Calculation Services to call the assembly. You can clear the check box to disable the assembly without removing the function assembly from the list.

  5. In the Description box, you may choose to type a description of the purpose for the function assembly.

  6. Click OK.

To edit a user-defined function assembly

  1. On the Excel Services User Defined Functions page, point to the user-defined function assembly that you want to edit, click the arrow that appears, and then click Edit.

To delete a user-defined function assembly

  1. On the Excel Services User Defined Functions page, point to the user-defined function assembly that you want to delete, click the arrow that appears, and then click Delete.

  2. Click OK in the message box that asks whether you want to proceed with the deletion.

ECMAScript

The Excel Services ECMAScript or JavaScript Object Model is an Object Model implemented in and for use by JavaScript.

The Excel Services ECMAScript Object Model enables syndication, mash-ups/composite applications, automation of Excel Services, encapsulation of user events, and the extension of Excel Services by third parties. For a complete list of all objects, methods, and events used in the Excel Services ECMAScript Object Model, see Excel Services ECMAScript (JavaScript, JScript).

Embedding ECMA scripts in Web pages is often done with Excel Services.

REST API

A REST API for Excel Services enables operations against Microsoft Excel workbooks using GET operations. This allows for a flexible and simple mechanism to access and manipulate Excel Services content and data. For more information, see Excel Services REST API.


Managed metadata administration (SharePoint Server 2010)
See Also

Managed metadata is a hierarchical collection of centrally managed terms that you can define and then use as attributes for items in Microsoft SharePoint Server 2010.

The articles in this chapter contain procedures for working with managed metadata services. The articles include:

  • Create, update, publish, or delete a managed metadata service application (SharePoint Server 2010)

    This article contains instructions for working with managed metadata service applications.

  • Create, update, or delete a managed metadata service connection (SharePoint Server 2010)

    This article describes instructions for working with connections to managed metadata service applications.

  • Add and remove term store administrators (SharePoint Server 2010)

    This article contains instructions for working with term store administrators.

  • Grant permission to access the managed metadata service (SharePoint Server 2010)

    This article describes instructions for working with service account permissions for the managed metadata service.

See Also

Other Resources

Resource Center: Operations and Manageability for SharePoint Server 2010
Resource Center: Enterprise Content Management in SharePoint Server 2010
Resource Center: Managed Metadata and Taxonomy in SharePoint Server 2010


Create, update, publish, or delete a managed metadata service application (SharePoint Server 2010)
See Also

The managed metadata service application serves two purposes:

  • It enables the use of managed metadata.

  • It allows you to share content types across site collections and Web applications.

Procedures in this task:

  • Create a managed metadata service application

  • Update a managed metadata service application

  • Publish a managed metadata service application

  • Delete a managed metadata service application

Task Requirements

The following is required to perform the procedures for this task:

  • You should understand the concepts described in the Managed metadata service application overview (SharePoint Server 2010) topic.

Create a managed metadata service application

Use this procedure to create a managed metadata service application.

To create a managed metadata service application by using Central Administration

  1. Ensure you have the required permissions to perform this procedure. To create a managed metadata service application, you must be both a member of the Administrators group on the computer running the SharePoint Central Administration Web site, and a member of the Farm Administrators group.

  2. On the home page of the SharePoint Central Administration Web site, under Application Management, select Manage service applications.

  3. Select the Service Applications tab.

  4. On the Ribbon, click New, and then click Managed Metadata Service.

  5. On the Create New Managed Metadata Service page, in the Name box, type a name for the service.

  6. In the Database Server box, type the name of the database server that hosts the term store.

    Note:

    If you are using SQL Express, do not change the default value of <machine name>\SharePoint.

  7. In the Database Name box, type a name for the database that will host the term store. To create a new database, type a new name. To create a service that connects to an existing term store, type the name of the existing database.

    Note:

    The only way to obtain the name of a database if you have deleted the managed metadata connection to the database is by using SQL Server Management Studio.

  8. Select Windows authentication to use Windows authentication to access the database, or select SQL authentication to use SQL authentication. It you choose to use SQL authentication, type the account name in the Account box and the password in the Password box.

  9. If you are using SQL failover, enter the name of the database server to which to fail over in the Failover Database Server box.

  10. In the Application Pool section, perform one of the following actions:

    • If you want the managed metadata service to run in an existing application pool, select Use existing application pool, and then select the application pool to run in from the drop-down list.

    • If you want the managed metadata service to run in a new application pool, select Create new application pool, and then select the account under which the application pool will run. To run under an existing account, select Predefined, and then select the account from the drop-down list. To use a SharePoint Server 2010 managed account, select Configurable and then either select the account to use from the drop-down list, or click Register new managed account to create a new managed account.

  11. If you want the managed metadata service to provide access to a content type library as well as to a term store, type the URL of the site collection that contains the content type library in the Content Type hub box. The service will share the content type library at the root of the site collection.

  12. When another Web application imports the content types that this service shares, the import process might generate errors. To record these errors in the error log of the site collection that is exporting (as well as to the error log of the site collection that is importing), select Report syndication import errors from Site Collections using this service application.

  13. The service is automatically added to the Default proxy group for the farm. To have a connection to this service created automatically when a new Web application is added to the farm, select Add this service application to the farm's default list.

  14. Click OK.

To create a managed metadata service application by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell command prompt, type the following command:

    Copy Code
    New-SPMetadataServiceApplication -ApplicationPool "<ApplicationPoolName>" -Name "<ServiceName>" -DatabaseName "<DatabaseName>" -DatabaseServer "<DatabaseServerName>" -HubUri "<HubURI>"

    Where:

    • <ApplicationPoolName> is the name of an existing application pool in which the new managed metadata service should run.

    • <ServiceName> is the name of the new managed metadata service.

    • <DatabaseName> is the name of the database that will host the term store. To create a new database, provide a new name. To create a service that connects to an existing term store, provide the name of the existing database.

    • <DatabaseServerName> is the name of the database server that will host the term store.

    • <HubURI> is the URL of the site collection that contains the content type library that the new managed metadata service will provide access to.

Note:

A connection to the newly-created managed metadata service is automatically created in the same Web application as the service. To allow other Web applications to create a connection to the service, you must also publish the service. See Publish a managed metadata service application for more information about publishing a service.

Note:

The preceding procedure illustrates a common way of using the New-SPMetadataServiceApplication cmdlet to create a managed metadata service application. You also can provide additional arguments to the cmdlet, or provide fewer arguments to create a service that is configured differently. For more information about the New-SPMetadataServiceApplication cmdlet, see New-SPMetadataServiceApplication.

Update a managed metadata service application

Use this procedure to update a managed metadata service application.

To update a managed metadata service application by using Central Administration

  1. Ensure you have the required permissions to perform this procedure. To update a managed metadata service application, you must be both a member of the Administrators group on the computer running the SharePoint Central Administration Web site, and a member of the Farm Administrators group.

  2. On the home page of the SharePoint Central Administration Web site, under Application Management, select Manage service applications.

  3. Select the row that corresponds to the service to update.

    Note:

    Do not select the row by clicking in the Name column. Clicking the name of the managed metadata service opens the Term Store Management Tool. Instead, click in another column in the same row.

  4. On the Ribbon, click Properties.

  5. To change the name of the service, on the Create New Managed Metadata Service page, type a new value in the Name box.

  6. To change the database server that hosts the term store, type the name of the new database server in the Database Server box.

    Note:

    If you are using SQL Express, do not change the default value of <machine name>\SharePoint.

  7. To change the name of the database that hosts the term store, type a new name in the Database Name box

  8. To change the authentication method, select Windows authentication to use Windows authentication to access the database, or select SQL authentication to use SQL authentication. It you choose to use SQL authentication, type the account name in the Account box and the password in the Password box.

  9. To change the name of the database server to which to fail over, enter the name of the server in the Failover Database Server box.

  10. To change the application pool, in the Application Pool section, perform one of the following actions:

    • If you want the managed metadata service to run in an existing application pool, select Use existing application pool, and then select the application pool to run in from the drop-down list.

    • If you want the managed metadata service to run in a new application pool, select Create new application pool, and then select the account under which the application pool will run. To run under an existing account, select Predefined, and then select the account from the drop-down list. To use a SharePoint Server 2010 managed account, select Configurable and then either select the account to use from the drop-down list, or click Register new managed account to create a new managed account.

  11. To make the managed metadata service provide access to a content type library as well as to a term store, type the URL of the site collection that contains the content type library in the Content Type hub box. The service will share the content type library at the root of the site collection. To stop the service from providing access to a content type library, clear the Content Type hub box.

  12. When another Web application imports the content types that this service shares, the import process might generate errors. To record these errors in the error log of the site collection that is exporting (as well as to the error log of the site collection that is importing), select Report syndication import errors from Site Collections using this service application. To stop the service from reporting errors in the error log of the site collection that is exporting, clear the Report syndication import errors from Site Collections using this service application box.

  13. Click OK.

To update a managed metadata service application by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell command prompt, type the following command:

    Copy Code
    Set-SPMetadataServiceApplication -Identity "<ServiceApplication>" -HubURI "<HubURI>"

    Where:

    • <ServiceApplication> is the name of the managed metadata service application that you are modifying.

    • <HubURI> is the URL of the site collection that contains the content type library that the new managed metadata service will provide access to.

Note:

If you use Windows PowerShell to set any of the account values, you should set all of them. The Set-SPMetadataServiceApplication cmdlet first erases all accounts, then adds the accounts that you specified. If you only want to modify one value, and you want to use Windows PowerShell to do this, consider writing a script that uses Get-SPMetadataServiceApplication to get the values of the account parameters, assigns the values of all account parameters to temporary variables, modifies the variables you want to change, and then uses Set-SPMetadataServiceApplication to set all four account parameters.

Note:

The previous procedure illustrates a common way of using the Set-SPMetadataServiceApplication cmdlet to update a managed metadata service application. You can also provide additional arguments to the cmdlet, or provide fewer arguments to create a service that is configured differently. For more information about the Set-SPMetadataServiceApplication cmdlet, see Set-SPMetadataServiceApplication.

Publish a managed metadata service application

You publish a managed metadata service application the same way that you publish other Microsoft SharePoint Server service applications. For more information about publishing a service application, see Publish a service application (SharePoint Server 2010).

Delete a managed metadata service application

Use this procedure to delete a managed metadata service application.

To delete a managed metadata service application

  1. Ensure you have the required permissions to perform this procedure. To delete a managed metadata service application, you must be both a member of the Administrators group on the computer running the SharePoint Central Administration Web site, and a member of the Farm Administrators group.

  2. On the home page of the SharePoint Central Administration Web site, under Application Management, select Manage service applications.

  3. Select the Service Applications tab.

  4. Select the row that corresponds to the service to delete.

    Note:

    Do not select the row by clicking in the Name column. Clicking the name of the managed metadata service opens the Term Store Management Tool. Instead, click in another column in the same row.

  5. On the Ribbon, click Delete.

  6. Do not select Delete data associated with the service applications. Selecting this option has no effect.

  7. Click OK.

    Important:

    You cannot restore a service after you delete it. Any Web application that has a connection to the service will not be able to use the connection.

  8. Click OK again after the service has been deleted.

See Also

Reference

New-SPMetadataServiceApplication
Set-SPMetadataServiceApplication

Concepts

Managed metadata service application overview (SharePoint Server 2010)


Create, update, or delete a managed metadata service connection (SharePoint Server 2010)
See Also

A managed metadata service application publishes a term store and, optionally, content types; a managed metadata service connection consumes them. This topic provides instructions for working with connections to managed metadata service applications.

Procedures in this task:

  • Create a managed metadata service connection

  • Update a managed metadata service connection

  • Delete a managed metadata service connection

Task Requirements

The following is required to perform the procedures for this task:

  • You should understand the concepts described in the Managed metadata service application overview (SharePoint Server 2010) topic.

Create a managed metadata service connection

Use this procedure to create a managed metadata service connection.

To create a managed metadata service connection by using Central Administration

  1. Ensure that you have the required permissions to perform this procedure. To create a managed metadata service application, you must be both a member of the Administrators group on the computer running the SharePoint Central Administration Web site, and a member of the Farm Administrators group.

  2. On the home page of the SharePoint Central Administration Web site, under Application Management, select Manage service applications.

  3. Select the Service Applications tab.

  4. On the Ribbon, click Connect.

  5. On the Connect to a Remote Service Application page, in the Farm or Service Application address box, type the URL for the managed metadata service, and then click OK.

    Note:

    The administrator of the service must provide the URL.

  6. Select the service application to connect to by clicking in the Name column of the appropriate row.

  7. To have a connection to this service created for all web applications in the farm, select Make this connection to be the default for all sites in my farm.

  8. Click OK.

  9. To provide a more descriptive name for the connection, type the name in the Connection Name box, and then click OK.

  10. When the connection has been created, click OK.

  11. Update the connection to define how the connection interacts with the managed metadata service. For more information about updating the connection, see Update a managed metadata service connection

To create a managed metadata service connection by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell command prompt, type the following command:

    Copy Code
    New-SPMetadataServiceApplicationProxy -Name "<ConnectionName>" -ServiceApplication "<ServiceApplicationName>" -ContentTypePushdownEnabled -ContentTypeSyndicationEnabled -DefaultKeywordTaxonomy -DefaultProxyGroup -DefaultSiteCollectionTaxonomy

    Where:

    • <ConnectionName> is the name of the connection that you are creating.

    • <ServiceApplicationName> is the name of the managed metadata service that this connection connects to.

Note:

The previous procedure illustrates a common way of using the New-SPMetadataServiceApplicationProxy cmdlet to create amanaged metadata service application. You can also provide additional arguments to the cmdlet or provide fewer arguments to create a connection that is configured differently. For more information about the New-SPMetadataServiceApplicationProxy cmdlet, see New-SPMetadataServiceApplicationProxy.

Update a managed metadata service connection

Use this procedure to update a managed metadata service connection.

To update a managed metadata service connection by using Central Administration

  1. Ensure that you have the required permissions to perform this procedure. To update a managed metadata service application, you must be both a member of the Administrators group on the computer running the SharePoint Central Administration Web site, and a member of the Farm Administrators group.

  2. On the home page of the SharePoint Central Administration Web site, under Application Management, select Manage service applications.

  3. Select the row that corresponds to the connection to update.

    Note:

    Do not select the row by clicking in the Name column. Clicking the name of the managed metadata service connection opens the Term Store Management Tool. Instead, click in another column in the same row.

  4. On the Ribbon, click Properties.

  5. To store new enterprise keywords in the term store associated with this connection, select the This service application is the default storage location for Keywords check box. To stop storing new enterprise keywords in the term store associated with this connection, clear the This service application is the default storage location for Keywords check box.

    Important:

    Do not make more than one connection the default keyword location.

    Important:

    If this connection is the default keyword location, the application pool account of the web application from which the connection is being created must have either restricted or full access to the managed metadata service. Read access is insufficient. For more information about granting access to the managed metadata service, see Grant permission to access the managed metadata service (SharePoint Server 2010).

  6. To store the term set that is created when you create a new managed metadata column in the term store associated with this connection, select This service application is the default storage location for column specific term sets.

    Important:

    Do not make more than one connection the default location for column-specific term sets.

    Important:

    If this connection is the default location for column-specific term sets, the application pool account of the web application from which the connection is being created must have either restricted or full access to the managed metadata service. Read access is insufficient. For more information about granting access to the managed metadata service, see Grant permission to access the managed metadata service (SharePoint Server 2010).

  7. To make the content types that are associated with this managed metadata service available to users of sites in this Web application, select Consumes content types from the Content Type Gallery at <URL>.

    Note:

    This option is only available if the service provides access to a content type library.

  8. To update existing instances of the changed content types in subsites and libraries, select Push-down Content Type Publishing updates from the Content Type Gallery to sub-sites and lists using the content type.

  9. Click OK.

To update a managed metadata service connection by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell command prompt, type the following command:

    Copy Code
    Set-SPMetadataServiceApplicationProxy -Identity "<ConnectionName>" -ContentTypeSyndicationEnabled:$false -ContentTypePushdownEnabled:$false

    Where:

    • <ConnectionName> is the name of the connection that you are modifying.

Note:

The preceding procedure illustrates a common way of using the Set-SPMetadataServiceApplicationProxy cmdlet to modify a connection to a managed metadata service application. You also can provide additional arguments to the cmdlet, or provide fewer arguments to update different aspects of the connection. For more information about the Set-SPMetadataServiceApplicationProxy cmdlet, see Set-SPMetadataServiceApplicationProxy.

Delete a managed metadata service connection

Use this procedure to delete a managed metadata service connection.

To delete a managed metadata service connection by using Central Administration

  1. Ensure that you have the required permissions to perform this procedure. To delete a managed metadata service application, you must be both a member of the Administrators group on the computer running the SharePoint Central Administration Web site, and a member of the Farm Administrators group.

  2. On the home page of the SharePoint Central Administration Web site, under Application Management, select Manage service applications.

  3. Select the row that corresponds to the connection to delete.

    Note:

    Do not select the row by clicking in the Name column. Clicking the name of the managed metadata service connection opens the Term Store Management Tool. Instead, click in another column in the same row.

  4. On the ribbon, click Delete.

  5. Do not select Delete data associated with the service application connections. Selecting this option has no effect.

  6. Click OK.

Note:

Click OK again after the connection has been deleted.

See Also

Reference

New-SPMetadataServiceApplicationProxy
Set-SPMetadataServiceApplicationProxy

Concepts

Managed metadata service application overview (SharePoint Server 2010)
Create, update, publish, or delete a managed metadata service application (SharePoint Server 2010)

Other Resources

Resource Center: Managed Metadata and Taxonomy in SharePoint Server 2010


Add and remove term store administrators (SharePoint Server 2010)
See Also

Term store administrators can perform the following actions on the term store that they administrate:

  • Create and delete term set groups.

  • Assign users to the group manager role or remove users from the group manager role.

  • Modify the working languages for the term store.

In addition, term store administrators can also perform any of the actions of roles with lower privileges. This includes the following:

  • Import a term set.

  • Assign users to the contributor role or remove users from the contributor role.

  • Create, rename, copy, reuse, move, and delete term sets.

  • Modify a term set's description, owner, contact, stakeholders, submission policy, and whether the term set is available for tagging.

  • Create, rename, copy, reuse, merge, deprecate, move, and delete terms.

  • Modify a term's description, labels, default label, and whether the term is available for tagging.

Procedures in this task:

  • Add a term store administrator

  • Remove a term store administrator

Task Requirements

The following is required to perform the procedures for this task:

  • You should understand the concepts described in the Managed metadata roles (SharePoint Server 2010) topic.

  • The term store must already exist.

Add a term store administrator

Use this procedure to make a user an administrator of a term store.

To add a term store administrator by using Central Administration

  1. Ensure that you have the required permissions to perform this procedure. To add a term store administrator, you must be both a member of the Administrators group on the computer running the SharePoint Central Administration Web site, and a member of the Farm Administrators group.

  2. On the home page of the SharePoint Central Administration Web site, under Application Management, select Manage service applications.

  3. Select the Service Applications tab.

  4. Select the managed metadata service to which you want to add an administrator and then click Manage.

    The Term Store Management Tool is displayed.

  5. In the Properties pane, in the Term Store Administrators field, either type the name of the user to add or select the user to add by using the address book. Separate multiple user names with a semicolon (;).

  6. Click Save.

Remove a term store administrator

Use this procedure to remove a user from the administrator role of a term store.

Note:

A person who is a term store administrator but not a farm administrator can also remove users from the term store administrator role. However, only farm administrators can perform this procedure because it starts in the Central Administration Web site. For more information about how users who are term store administrators but not farm administrators can add or remove term store administrators, see Office.com.

To remove a term store administrator by using Central Administration

  1. Ensure that you have the required permissions to perform this procedure. To remove a term store administrator using this procedure, you must be both a member of the Administrators group on the computer running the SharePoint Central Administration Web site, and a member of the Farm Administrators group.

  2. On the home page of the SharePoint Central Administration Web site, under Application Management, select Manage service applications.

  3. Select the Service Applications tab.

  4. Select the managed metadata service from which you want to remove an administrator and then click Manage.

    The Term Store Management Tool is displayed.

  5. In the Properties pane, in the Term Store Administrators field, delete the name of the user whom you want to remove from the administrator role.

  6. Click Save.

See Also

Reference

Grant permission to access a managed metadata service

Concepts

Managed metadata roles (SharePoint Server 2010)

Other Resources

Resource Center: Managed Metadata and Taxonomy in SharePoint Server 2010


PerformancePoint Services administration (SharePoint Server 2010)
See Also

Published: May 8, 2010

In this section:

  • Configure PerformancePoint Services

  • Import Wizard: PerformancePoint Server 2007 content to SharePoint Server 2010

  • Import PerformancePoint Dashboard 2010 content from a SharePoint Server 2010 server, site, or list

  • Delete a PerformancePoint Services service application (SharePoint Server 2010)

  • Enable trusted locations for PerformancePoint Services (SharePoint Server 2010)

  • PerformancePoint Services application settings (SharePoint Server 2010)

  • Manage PerformancePoint Services site and site collections (SharePoint Server 2010)

  • Plan, design, and implement a PerformancePoint dashboard

  • Extend PerformancePoint dashboards by using MDX queries

See Also

Concepts

PerformancePoint Services cmdlets (SharePoint Server 2010)

Other Resources

Resource Center: Business Intelligence in SharePoint Server 2010


Import Wizard: PerformancePoint Server 2007 content to SharePoint Server 2010

To facilitate and simplify the process importing dashboard content from Microsoft Office PerformancePoint Server 2007 into PerformancePoint Services in Microsoft SharePoint Server 2010, an import wizard has been provided. There are subtle yet significant changes in working with PerformancePoint Services over PerformancePoint Server 2007. In Microsoft SharePoint Server 2010, the PerformancePoint content is stored in SharePoint lists and document libraries. For additional information on planning your import, see Plan for importing PerformancePoint Server 2007 dashboard content to SharePoint Server 2010.

Run the Import Wizard

  1. Go to the SharePoint Central Administration Web site.

  2. Click Application Management.

  3. Click Manage service applications.

  4. Select the PerformancePoint Service application/instance from the list of Service Applications.

  5. On the ribbon, click Manage. This opens the PerformancePoint Services settings page.

  6. Click Import PerformancePoint Server 2007 Content to launch the import wizard.

  7. The first page of the wizard explains what will be imported and what will not. Click Next.

  8. Select the security method you used in Microsoft Office PerformancePoint Server 2007. Click Next.

    Note:

    The most commonly used is per user authentication, which requires Kerberos configuration. If you are unsure, check the Web.config file on your Microsoft Office PerformancePoint Server 2007. The value of Bpm.ServerConnectionPerUser is set to True for per-user authentication.

  9. Type the SQL Server name/instance of the PerformancePoint Server 2007 content server.

  10. Select the method of authentication and the user name and password. Click Next.

  11. Select the PerformancePoint Server 2007 database that you want to import. The default database is titled PPSMonitoring. Click Next.

  12. Select a site collection, site, and list where your Dashboard items are to be imported. Click Next.

    Important:

    In order to select a list and other PerformancePoint content, you must be added to the site collection and farm administrator roles in the destination's web application policy. The following Windows PowerShell script adds the user to the policy.

    $WebApp = Get-SPWebApplication <<WEBAPPURL>>

    $Policy = $WebApp.Policies.Add(<<LEGACYNTUSERNAME>>,<<FRIENDLYNTUSERNAME>>)

    $PolicyRoles = $WebApp.PolicyRoles

    $AdmRole = $PolicyRoles.GetSpecialRole([Microsoft.SharePoint.Administration.SPPolicyRoleType]::FullControl)

    $Policy.PolicyRoleBindings.Add($AdmRole)

    $WebApp.Update();

  13. Select a site and a document library where your data sources will be stored. Click Next.

    Note:

    Data sources must be imported into the same site collection as your Dashboard items.

  14. Review your settings selections. Click Back to make changes. If the settings are correct and you are ready to proceed, click Import.

    Caution:

    Once the import process starts, you cannot cancel it even if you close your browser window.

  15. A page appears, showing the results of the import process. It shows status of the items that successfully imported, and, if there were any errors, what didn't import successfully. Click the View List or View Library links to view the actual data that was imported.

  16. To close the wizard, click Done.

For web applications using Windows Claims authentication, the user with the site collection administrator and farm administrator role being used to perform import must be added to the web application policy for the claims aware application. Without this, the import utility will not display the PerformancePoint content or datasource libraries for the claims aware application.


Import PerformancePoint Dashboard 2010 content from a SharePoint Server 2010 server, site, or list

PerformancePoint Dashboard Designer content can be moved between a site, list, or document library in Microsoft SharePoint Server 2010. One reason for this is to import PerformancePoint Services content from a test or staging server to production.

Tip:

When you import Dashboard Designer content from a test or staging server to a production server, make sure your data sources point to the production server.

Dashboard Designer content includes metadata with information about objects such as such as KPIs, filters, scorecards, data sources, and reports. Consider the following actions when you move Dashboard Designer content.

  • Plan the list and document libraries in SharePoint Server 2010 to which you want to import content.

  • Make sure there are no missing dependencies when you are creating the workspace file.

  • All data sources must have unique names even when the data sources show in different display folders.

  • Be aware that Dashboard Designer objects that have the same name and display folder will be overwritten.

  • If you are moving content to another server, the target SharePoint Server version must be the same as the SharePoint Server from which you are importing content.

  • You must have contributor permissions to the SharePoint Central Administration Web site.

Import PerformancePoint Dashboard content from a SharePoint Server 2010 server, site, or list

To import PerformancePoint Dashboard content

  1. Open Dashboard Designer in the SharePoint site to which you want to import content. Check the lower-left corner of Dashboard Designer for connection information.

  2. On the Dashboard Designer ribbon, click Import Items on the Home tab.

    A dialog box opens.

  3. Locate the workspace file (<name>.ddwx) in the Import browser window and then click next. On the next page, consider the following options.

    Import data sources that already exist in the destination By default this option is not selected. If it is selected, data sources that already exist in the destination will be overwritten if the workspace file contains a data source with the same name and display folder. If this option is not selected, data sources with same name and display folder will be skipped.

    Import items with missing dependencies By default this option is not selected. If an object is missing a dependency, such as a scorecard without a related (dependent) KPI, the import process will skip that object. A warning dialog box appears in the wizard if the condition is detected in the workspace file. If you select the option to import items with missing dependencies, items with missing dependencies will be imported but must be repaired at the destination.

    Note:

    Some objects, such as scorecards, can be repaired as soon as they are imported. However, objects such as analytic reports, cannot be repaired because you cannot configure the data source when the import is completed.

  4. For each location under Copy to, click the destination folder. The Add List dialog box opens so that you may select a destination for the Dashboard content or object. You must select a destination list or library in order for Next to be enabled.

  5. Click Next. On completion, a dialog box shows the number of files imported and skipped.


Create a PerformancePoint Services service application (SharePoint Server 2010)
See Also

This article describes how to create and configure a PerformancePoint Services service application.

Important:

We highly recommend that you review Plan for PerformancePoint Services (SharePoint Server 2010) and Plan for PerformancePoint Services security (SharePoint Server 2010) before you deploy PerformancePoint Services in Microsoft SharePoint Server 2010.

The steps for creating and configuring a PerformancePoint Services service application are as follows:

  • Configure the PerformancePoint Services application pool account

  • Start the PerformancePoint service

  • Create a PerformancePoint Services service application.

  • Configure service application associations

Video demonstration

This video demonstration shows all the steps necessary to create a PerformancePoint Services service application.

Screenshot of video

Running time: 6:47

Play video Watch the video.

Download video For an optimal viewing experience, download the video.

Right-click the link, and then click Save Target As to download a copy. Clicking the link will open a .wmv file in the default video viewer for full-resolution viewing.

Configure the PerformancePoint Services application pool account

The application pool for the PerformancePoint Services service application requires a Microsoft SharePoint Server 2010 managed account (generally an Active Directory account) to run. This account must have access to the content databases where PerformancePoint data will be stored.

If you run the service application using the same application pool account as the web application where the content databases are located, this required database access is configured automatically. However, we recommend that you use a different account for the PerformancePoint Services application pool, especially in a large or complex farm. This allows for greater control over data and resource access.

If you choose to use the same managed account for PerformancePoint Services as is being used for the web application, you can skip the procedures in this section. If you choose to create a new managed account, you must do the following:

  1. Register a managed account in SharePoint Server 2010. (You will need an Active Directory user account for this step. Have your Active Directory administrator create it.)

  2. Grant access for this account to the content databases that will contain PerformancePoint data. This process includes running a Windows PowerShell script from the SharePoint 2010 Management Shell.

The first step is to register a managed account. Use the following procedure to register the Active Directory account that you want to use for the PerformancePoint Services application pool.

To register a managed account

  1. In the SharePoint Server Central Administration Web site, click Security.

  2. In the General Security section, click Configure managed accounts.

  3. Click Register Managed Account.

  4. In the Service account credentials section, type the user name and password for the Active Directory account that you want to register.

  5. Optionally, if the account password is set to expire after a certain length of time, configure the automatic password change settings to have SharePoint Server 2010 change the password.

  6. Click OK.

Once you have registered the managed account, you must grant that account access to the content databases where PerformancePoint data will be stored. Use the following procedure to grant database access to the account. Follow this procedure for each web application that contains a content database where PerformancePoint Services data will reside.

To grant content database access to an account

  1. On an application server in the farm, click Start, click All Programs, click Microsoft SharePoint 2010 Products, right-click SharePoint 2010 Management Shell, and then click Run as Administrator.

  2. At the Windows PowerShell command prompt, type the following, pressing Enter after each line:

    Copy Code
    $w = Get-SPWebApplication -identity <web application>
$w.GrantAccessToProcessIdentity("<service account>")

Once you have finished granting content database access to the managed account, the next step is to start the PerformancePoint service.

Start the PerformancePoint service

To configure PerformancePoint Services, you must first start the PerformancePoint service on the application server where you want to run PerformancePoint Services. You can start the service on multiple application servers for better performance, if you want, but the service must be started on at least one server. Use the following procedure to start the PerformancePoint service.

To start the PerformancePoint Service

  1. In Central Administration, in the System Settings section, click Manage services on server.

  2. Note the server specified in the Server box. If you want to run the PerformancePoint service on a different server, click the current server, and then click Change Server and select the server that you want.

  3. Click Start next to PerformancePoint Service.

Create a service application

Once the service is started, you can create a PerformancePoint Services service application. Use the following procedure to create the service application.

To create a PerformancePoint Services service application

  1. In Central Administration, in the Application Management section, click Manage Service Applications.

  2. Click New, and then click PerformancePoint Service Application.

  3. Type a name for the service application and select the Add this service application's proxy to the farm's default proxy list check box.

  4. Select the Create new application pool option and type a name for the application pool.

  5. Under the Configurable option, select the managed account to run the application pool.

  6. Click Create.

  7. Click OK.

Configure service application associations

For PerformancePoint Services to function, the PerformancePoint Services service application proxy must be associated with the default web application. Use the following procedure to confirm that the association is configured between the web application and the PerformancePoint Services proxy.

To configure service application associations

  1. In Central Administration, click Application Management.

  2. In the Service Applications section, click Configure service application associations.

  3. In the Application Proxy Group section, click default.

  4. Ensure that the PerformancePoint Services box is selected.

  5. Click OK.

Next Steps

Once you have finished configuring PerformancePoint Services, you can make it available to the users. We recommend that you review the following tasks:

  • Configure data access Users of PerformancePoint Services will need access to back-end data sources. This can be configured by using the unattended service account or Kerberos delegation. For more information, see Configure the unattended service account for PerformancePoint Services and Configure Kerberos authentication for SharePoint 2010 Products (white paper).

  • Configure data connections Users of PerformancePoint Dashboard Designer need data connections in order to access the data sources. For more information, see Create a data source inventory for PerformancePoint dashboard authors and Create data connections (PerformancePoint Services).

  • Configure user permissions To publish dashboards, users must have specific permissions in SharePoint Server 2010. For more information, see About user permissions for PerformancePoint Services (http://go.microsoft.com/fwlink/p/?LinkId=227542) on Office.com.

See Also

Reference

New-SPPerformancePointServiceApplication


Delete a PerformancePoint Services service application (SharePoint Server 2010)

Published: May 8, 2010

A PerformancePoint Services service application can be deleted by using the SharePoint Central Administration Web site or Windows PowerShell 2.0. The following steps show how to delete a PerformancePoint Services service application.

To delete a PerformancePoint Services service application by using Central Administration

  1. Verify that you have the following administrative credentials:

    • To delete a service application, you must be a member of the farm administrators group.

  2. On the Central Administration Home page, in the Application Management section, click Manage service applications.

  3. Select the PerformancePoint Services service application that you want to delete.

  4. On the ribbon, click Delete.

  5. If you want to delete the associated database, select the Delete data associated with the Service Applications option.

    Note:

    This option is not available when you delete a service application with Windows PowerShell.

  6. In the confirmation dialog box, click OK.

To delete a PerformancePoint Services service application by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. From the Windows PowerShell command prompt (that is, PS C:\>), type the following command and press ENTER:

    Remove-SPPerformancePointServiceApplication <ServiceAppName>

    Note:

    When you use this cmdlet to remove a PerformancePoint Services service application, the database is not removed from the database server.

For more information, see Remove-SPServiceApplication.


Configure PerformancePoint Services
See Also

In order to use PerformancePoint Services in Microsoft SharePoint Server 2010, you must configure a PerformancePoint Services service application. Once you have created the service application, you must provide data access to the users. This can be done by using the unattended service account, or by configuring Kerberos delegation.

In this section:

  • Create a PerformancePoint Services service application (SharePoint Server 2010)

  • Configure the unattended service account for PerformancePoint Services

For more information about how to configure Kerberos delegation, see Configure Kerberos authentication for SharePoint 2010 Products (white paper).

See Also

Other Resources

Resource Center: Business Intelligence in SharePoint Server 2010


Manage the State Service (SharePoint Server 2010)
See Also

The State Service is a shared service that is used by some Microsoft SharePoint Server 2010 components to store temporary data across related HTTP requests in a SQL Server database. In SharePoint Server 2010, the State Service is required by InfoPath Forms Services (including out of the box and custom workflow forms), the SharePoint Server 2010 Chart Web Part, and certain Microsoft Visio 2010 scenarios that do not use Microsoft Silverlight 3.

Configure the State Service

The State Service is automatically configured as part of the Basic installation of SharePoint Server 2010.

Advanced installation of SharePoint Server 2010 requires separate configuration of the State Service. You can configure the State Service after installation of SharePoint Server 2010 by using one of the following tools:

  • Farm Configuration Wizard

  • Windows PowerShell

The default configuration for the State Service is the following:

  • One State Service service application.

  • One State Service database on the same database server that contains the configuration database. The databases must be associated with the service application.

  • One State Service application proxy associated with the default proxy group of the server farm.

The default configuration for the State Service is sufficient for most configurations. The following considerations might require additional configuration of the State Service:

  • Hosted deployments Multiple deployments hosted on the same farm automatically partition forms and chart data so that tenants cannot see forms and charts of other tenants. Organizations that have policies requiring strict separation of hosted deployments might want to create new service applications and state databases for each deployment, with each service and database associated with a new Web application for the deployment. You should also closely monitor the performance of your hosted deployments, and consider creating new service applications and state databases when you anticipate performance issues with hosted deployments

  • Scale for high-capacity use of forms or charts In rare cases, server farms with a very large number of InfoPath active state sessions for forms or charts might require additional State Service databases on the same service application to maintain capacity with acceptable performance. A database administrator that encounters performance issues such as excessive database locks can add databases to improve performance.

You can reconfigure the State Service after initial configuration by using Windows PowerShell.

Configure the State Service by using the Farm Configuration Wizard

After setup is finished, the opening page of the Farm Configuration Wizard opens automatically. The administrator can choose to run the wizard immediately or wait until later. In the Farm Configuration Wizard, all services that are not currently configured are selected for configuration by default. If you do not want to configure the State Service until later, you can clear the check box for the service and run the Farm Configuration Wizard later.

Note:

Until you configure the State Service, you will not be able to store session state data for forms, charts, and diagrams that use the State Service.

If the State Service check box is unavailable, it has already been configured. After initial configuration, you can only configure the State Service by using Windows PowerShell.

To configure the State Service by using the Farm Configuration Wizard

  1. On the Central Administration Web site, click Configuration Wizards.

  2. On the Configuration Wizards page, click Launch the Farm Configuration Wizard.

  3. On the first page of the Farm Configuration Wizard, click Start the Wizard.

  4. On the services configuration page, in the Services section, select the State Service check box.

    Note:

    If the State Service check box is unavailable, the State Service is already configured. To make changes to the configuration you must use Windows PowerShell.

  5. Click Next.

  6. Complete any other configuration steps for the server farm.

  7. On the final page of the Farm Configuration Wizard, click Finish.

Configure the State Service by using Windows PowerShell

The State Service can be configured by using Windows PowerShell. You can use Windows PowerShell during initial configuration instead of the Farm Configuration Wizard. You can also use Windows PowerShell to perform configuration tasks that are not available on the Central Administration site of the farm. The additional configuration tasks include:

  • Get information about a service application, database, or application proxy; or a list of all service applications, databases, and application proxies.

  • Change configuration parameters for a service application, database, or application proxy.

  • Pause and resume State Service databases.

  • Remove a State Service database.

  • Mount data to a database.

  • Install the State Service schema to an existing database, and change bindings between databases and service applications, or between proxies and proxy groups.

  • Create State Service service applications and State Service Databases for hosted deployments.

  • Create additional State Service databases for scaling high-capacity deployments for forms or charts, and associating them with the existing State Service service application.

When you create a custom configuration of the State Service, consider the following points:

  • A State Service service application is a container for one or more databases.

  • A State Service service application is bound to at least one State Service application proxy.

  • As with all Shared Services, State Service application proxies are bound to Web applications by using proxy groups.

    Note:

    If multiple State Service application proxies are in the same group, only the default application proxy will receive newly allocated data. All the application proxies with data are used during read operations.

For more information about configuring service applications, see Manage service applications (SharePoint Server 2010).

To configure the State Service by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. To create a service application, type the following command:

    Copy Code
    $serviceApp = New-SPStateServiceApplication -Name "<StateServiceName>"

    Where <StateServiceName> is the name for the service application.

    Note:

    You must have at least one service application for the State Service. In hosted deployments, each hosted partition can have its own service application, but it's not necessary. The name of the service application must be unique. If you are creating an additional service application, you must replace the name text with a unique name.

  6. To create a State Service database and associate it with a service application, type the following command:

    Copy Code
    New-SPStateServiceDatabase -Name "<StateServiceDatabase>" -ServiceApplication $serviceApp

    Where <StateServiceDatabase> is the name of the State Service database to create and associate with the service application.

    Note:

    You must have at least one State Service database for each State Service service application. You can create additional databases in the same service application to increase capacity for forms and charts. Every database must have a unique name.

    The previous command uses the default database instance on the farm and default database credentials. For more information about how to specify a different database server or database credentials, see New-SPStateServiceDatabase.

  7. To create a State Service application proxy, associate it with the service application, add it to the farm's default proxy group, and type the following command:

    Copy Code
    New-SPStateServiceApplicationProxy -Name "<ApplicationProxyName>" -ServiceApplication $serviceApp -DefaultProxyGroup

    Where <ApplicationProxyName> is the name of the application proxy.

    Note:

    If you do not want to add the State Service application proxy to the default proxy group, do not specify the DefaultProxyGroup parameter.

    For more information, see New-SPStateServiceApplication, New-SPStateServiceDatabase, and New-SPStateServiceApplicationProxy.

For more information about the available State Service cmdlets, see State service and session state cmdlets (SharePoint Server 2010).

Monitoring the State Service

Administrators can monitor the State Service by using the SharePoint Monitoring and Event reporting service. Monitoring the service can help confirm the service was properly configured and can also identify any configuration or setup issues associated with the service.

For more information about how to monitor performance of the State Service, see Health monitoring (SharePoint Server 2010).

See Also

Concepts

Health monitoring (SharePoint Server 2010)


Enable URL filtering for Web Analytics (SharePoint Server 2010)
See Also

Published: July 29, 2011

This article describes how to use URL filtering in Web Analytics for Microsoft SharePoint Server 2010. This functionality is enabled in the hotfix addressed in Microsoft Knowledge Base article 2553920: Description of the SharePoint Server 2010 hotfix package (wasrvwfe-x-none.msp): June 28, 2011 (http://go.microsoft.com/fwlink/p/?LinkId=224920). This hotfix enables farm administrators to use Windows PowerShell to specify the URLs that will be processed by Web Analytics by using new parameters in the set-spwebanalyticsserviceapplication cmdlet.

In SharePoint Server 2010, the Web Analytics service cannot scale up beyond 30,000 SharePoint Server components. Prior to this hotfix, this limit applied to the entire farm. The hotfix provides farm administrators with the ability to allow filtering of SharePoint Server farm URLs so that Web Analytics data is collected and processed only on specified farm URLs.

Once a URL is added to the filter list, all usage events under that URL will be processed by the Web Analytics service. All objects in the base Web site and all child Web sites of the specified URL apply to the 30,000 component limit.

If you remove a previously added URL from the allowed filters list, data for the URL remains in the system and counts toward the 30,000 limit. You can remove Web Analytics data from sites that are under removed URLs by purging all Web Analytics data, and then starting data collection again with a fresh list of URLs.

For more information about Web Analytics limits in SharePoint Server 2010, see Capacity requirements for the Web Analytics Shared Service in SharePoint Server 2010.

In this article:

  • Configuring URL filtering for Web Analytics

  • PowerShell command reference

Configuring URL filtering for Web Analytics

To enable URL filtering, you must disassociate the farm from the existing Web Analytics service application, install the hotfix referenced earlier in this article, and then create a new Web Analytics service application. You cannot migrate data from your existing Web Analytics service application. We suggest that you back up your historical data before you begin this process. After the new Web Analytics service applications are provisioned, add the URL that you want to process with Web Analytics to the URL filter list, and then re-associate the content farm with the new service application by using the following procedures.

After you have executed the following procedures and all related jobs and events have been processed, you will be able to see the item count displayed in the Site Web Analytics and Site Collection Web Analytics reports on the Site Settings pages of sites and site collections contained in the URLs you specified in the URL filter list.

Note:

The user account that is used to perform these procedures must be a member of the SharePoint Farm Administrators group.

To disassociate the farm from the Web Analytics service application

  1. Stop all Web Analytics service instances on every farm server by using either Central Administration or Windows PowerShell, as described in the following procedures.

    1. To stop the Web Analytics service application by using Central Administration, perform the following steps:

      1. On the Central Administration home page, under System Settings, click Manage services on server.

      2. In the Server box, click the server that you want to manage.

      3. Click Stop for both the Web Analytics Web Service and the Web Analytics Data Processing Service.

    1. To stop the Web Analytics service application by using a Windows PowerShell command prompt, run the following commands:

      1. get-spserviceinstance | where-object {$_.Name -eq "WebAnalyticsServiceInstance"} | stop-spserviceinstance

      2. get-spserviceinstance | where-object {$_.TypeName -eq "Web Analytics Web Service"} | stop-spserviceinstance

  2. Disassociate the content farms from the current Web Analytics service application.

    1. On the Central Administration home page, under Application Management, click Manage Web applications.

    2. On the Web Applications page, click the Web application that you want to disassociate, and then click Service Connections.

    3. In the Configure Service Application Associations dialog box, clear the Web Analytics service application proxy from the proxy group.

To install the hotfix and configure URL filtering

  1. Create a new Web Analytics service application on the service farm. For a procedure to configure a Web Analytics service application by using Central Administration, see Configure Web Analytics service application by using Central Administration. Or, for a procedure to configure a Web Analytics service application by using Windows PowerShell, see Configure the Web Analytics service application by using Windows PowerShell.

  2. Install the hotfix on all servers that run the Web Analytics service applications. To download the hotfix, see KB article 2553920: Description of the SharePoint Server 2010 hotfix package (wasrvwfe-x-none.msp): June 28, 2011 (http://go.microsoft.com/fwlink/p/?LinkId=224920).

  3. Reset IIS on each farm server by running iisreset /noforce from a command prompt.

  4. Open a Windows PowerShell prompt on any farm server.

  5. Configure URL filters on the service farm by specifying the root URLs of the site collections in the URL filter list by using the following command:

    • Set-spwebanalyticsserviceapplication -id "<Service application name>" -UsageUrlFiltersToAdd "<url1>", "<url2>", "<url3>"

      URLs should be in the format http://<site collection name> or http://<servername>/<site container, i.e. "sites">/<site collection name>. When you add a site collection URL to the filter list, any sites or site collections under that URL will also be processed by Web Analytics. Therefore, it is important to make sure that you do not add URLs that contain site collections you do not want Web Analytics to process.

      Note:

      If AAM (alternate access mapping) is used, add both the AAM URL and the original URL.

    • Verify that the URL filter list is configured correctly by using the following commands:

      1. $serviceapplication = get-spwebanalyticsserviceapplication -id "<service application name>"

      2. $serviceapplication.UsageUrlFilters

  6. Configure the trust relationship between content and service farms if it is not already done. For more information, see Exchange trust certificates between farms (SharePoint Server 2010).

  7. Publish the Web Analytics service application on the service farm and connect to the service application from the content farms. For more information, see Share service applications across farms (SharePoint Server 2010).

  8. Associate the Web applications where the URL filter list is located to the new Web Analytics service application proxy. For more information, see Add or remove a service application connection to a Web application (SharePoint Server 2010).

  9. Start the Web Analytics Data Processing Service and the Web Analytics Web Service on the service farm by using either Central Administration or Windows PowerShell, as described in the following procedures.

    1. To start the Web Analytics service application by using Central Administration, perform the following steps:

      1. On the Central Administration home page, under System Settings, click Manage services on server.

      2. In the Server box, click the server that you want to manage.

      3. Click Start for both the Web Analytics Web Service and the Web Analytics Data Processing Service.

    1. To start the Web Analytics service application by using a Windows PowerShell command prompt, run the following commands:

      1. get-spserviceinstance | where-object {$_.Name -eq "WebAnalyticsServiceInstance"} | start-spserviceinstance

      2. get-spserviceinstance | where-object {$_.TypeName -eq "Web Analytics Web Service"} | start-spserviceinstance

PowerShell command reference

The following new parameters have been added to the set-spwebanalyticsserviceapplication cmdlet to enable URL filtering functionality.

  • -UsageUrlFiltersToAdd Adds filters to the list.

  • -UsageUrlFiltersToRemove Removes filters from the list.

  • Adding URLs to the URL Filter List

    • Set-spwebanalyticsserviceapplication -id "<Service application name>" -UsageUrlFiltersToAdd "<url1>", "<url2>", "<url3>" where <urln> is the root URL of a site collections, for example http://<servername>/sites/<site collection name> or http://www.contoso.com

      Note:

      If AAM (alternate access mapping) is used, add both the AAM URL and the original URL.

  • Removing URLs from the URL Filter List

    • Set-spwebanalyticsserviceapplication -id "<service application name>" -UsageUrlFiltersToRemove "<url1>", "<url2>", "<url3>"

      Note:

      When you remove a URL from the filter list, data for this URL is still in the system and counts toward the 30,000 component limit until Web Analytics data is purged and the data collection process restarted.

  • Viewing the URL Filter List

    • $serviceapplication = Get-spwebanalyticsserviceapplication -id "<service application name>"

    • $serviceapplication.UsageUrlFilters

See Also

Concepts

Capacity requirements for the Web Analytics Shared Service in SharePoint Server 2010


Manage services on the server (SharePoint Server 2010)
See Also

Microsoft SharePoint Server 2010 includes services that reside on individual servers in the farm. In some cases, you can configure global service settings and start or stop a service. Services are managed directly in Central Administration instead of through a separate administration site. You can also remotely monitor and manage services. Additionally, you can manage services by using Windows PowerShell 2.0.

For more information about services and service applications, see About service applications and services (SharePoint Server 2010) and Services architecture planning (SharePoint Server 2010).

In this article:

  • Configuring global settings

  • Starting or stopping a service

Configuring global settings

Some services have settings that you can globally configure. For information about how to configure those settings, see the articles listed in the following table.

Service | Article
Document Conversions Launcher Service and Document Conversions Load Balancer Service | Configure the Document Conversions Launcher Service (Windows SharePoint Services)
Microsoft SharePoint Foundation Workflow Timer Service | Configure global workflow settings (SharePoint Server 2010)
SharePoint Foundation Search and SharePoint Server Search | Enterprise search administration (SharePoint Server 2010)

Starting or stopping a service

You can manage services by using the Central Administration Web site or by using Windows PowerShell 2.0.

To start or stop a service by using Central Administration

  1. Confirm that the user account that is performing this procedure is a member of the Farm Administrators SharePoint group.

  2. On the SharePoint Central Administration Web site, click System Settings.

  3. On the System Settings page, in the Servers section, click Manage services on server.

  4. To change the server on which you want to start or stop the service, on the Server menu, click Change Server, and then click the server name that you want.

  5. By default, only configurable services are displayed. To view all services, on the View menu, click All.

  6. To start or stop a service, click Start or Stop in the Action column of the relevant service.

  7. Click OK to start or stop the service.

To start a service by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click Administrative Tools.

  3. Click SharePoint 2010 Management Shell.

  4. At the Windows PowerShell command prompt, type the following command:

    Copy Code
    Start-SPServiceInstance -Identity <ServiceGUID>

    Where <ServiceGUID> is the GUID of the service. If you do not know the service GUID, you can retrieve a list of all services in the farm together with their GUIDs by using the Get-SPServiceInstance cmdlet.

For more information, see Start-SPServiceInstance.

To stop a service by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click Administrative Tools.

  3. Click SharePoint 2010 Management Shell.

  4. At the Windows PowerShell command prompt, type the following command:

    Copy Code
    Stop-SPServiceInstance -Identity <ServiceGUID>

    Where <ServiceGUID> is the GUID of the service. If you do not know the service GUID, you can retrieve a list of all services in the farm together with their GUIDs by using the Get-SPServiceInstance cmdlet.

For more information, see Stop-SPServiceInstance.

Note:

We recommend that you use Windows PowerShell when performing command-line administrative tasks. The Stsadm command-line tool has been deprecated, but is included to support compatibility with previous product versions.

See Also

Reference

Get-SPServiceInstance


Configure Document Conversions Load Balancer and Launcher Services (SharePoint Server 2010)
See Also

This article explains how to configure the Document Conversions Launcher Service and the Document Conversions Load Balancer for Microsoft SharePoint Server 2010.

Procedures in this task:

  • Use Central Administration to enable the Document Conversions Launcher or Load Balancer services

  • Use Central Administration to configure the Document Conversions Launcher Service

  • Use Central Administration to configure the Document Conversions Load Balancer service

Overview

In SharePoint Server 2010 an administrator can install applications on the server that enable users to convert documents from one format to another. SharePoint Server 2010 includes two services to support document conversion:

  • Document Conversions Launcher Service launches the document conversions on an application server

  • Document Conversions Load Balancer Service manages the availability of document converters

By default, these services are not automatically enabled when SharePoint Server 2010 is installed. Both services must be enabled for document conversions to work. You can configure the Document Conversions Launcher Service and the Document Conversions Load Balancer Service on a stand-alone server or on one or more servers in a farm. For example, you may have one server running both a Load Balancer and a Launcher service, or you may have one server running a Load Balancer service, and one or more servers running the Launcher service. However, a single instance of a Launcher service can only be associated with a single Load Balancer service. If the Load Balancer service stops, or if the server hosting the service goes down, the corresponding Launcher service will not receive any requests to perform document conversions.

Important:

  • Turning off the Document Conversions Load Balancer Service stops the document conversion process and turns off the Document Conversions Launcher Service. To resume the document conversion process, you must restart the Document Conversions Load Balancer Service and the Document Conversions Launcher Service, in that sequence.

  • The Document Conversions Load Balancer Service and the Document Conversions Launcher Service are often run on application servers, not front-end Web servers. Wherever they are run, the services must be configured to communicate with the front-end Web servers, as described in this article.

Use Central Administration to enable the Document Conversions Launcher or Load Balancer services

You can use Central Administration to enable the Document Conversions Launcher or Load Balancer services.

To enable the Document Conversions Launcher or Load Balancer services using Central Administration

  1. Verify that you have the following administrative credentials: you must be a member of the Farm Administrators group on the computer running the SharePoint Central Administration Web site.

  2. In Central Administration, on the Home page, in the System Settings section, click Manage services on server.

  3. On the Services on Server page, in the Action column, click Start for either the Document Conversions Launcher Service or the Document Conversions Load Balancer Service.

    Note:

    You must configure and start the Document Conversions Load Balancer service before you can configure the Document Conversions Launcher service.

  4. If you click Document Conversions Load Balancer Service, the Load Balancer service is started.

  5. If you click Document Conversions Launcher Service, the Launcher Service Settings page is displayed.

  6. In the Select Server section, verify that the server you want is selected. If it is not selected, on the Server menu, click Change Server. Next, on the Select Server page, click the Name of the server for which you want to configure document conversion settings.

  7. In the Load Balancer section, select the load balancer server to use with the launcher. This is the name of the server on which you configured the Document Conversions Load Balancer Service (see previous procedure.)

  8. In the Port Number section, type the port number that you want the launcher to use for communication. Enter a port number that is not used by other services on the server, but that is open in the firewall on the server.

    Note:

    If the Document Conversions Load Balancer Service and the Document Conversions Launcher Service are on the same server, the port numbers used for each service must be different.

  9. Click OK. The Launcher service is started.

Use Central Administration to configure the Document Conversions Launcher Service

You can use Central Administration to configure the Document Conversions Launcher Service.

Note:

You must configure and start the Document Conversions Load Balancer service before you can configure the Document Conversions Launcher service.

To configure the Document Conversions Launcher Service using Central Administration

  1. Verify that you have the following administrative credentials: you must be a member of the Farm Administrators group on the computer running the SharePoint Central Administration Web site.

  2. In Central Administration, on the Home page, in the System Settings section, click Manage services on server.

  3. On the Services on Server page, click Document Conversions Launcher Service.

  4. In the Select Server section, verify that the server you want is selected. If it is not selected, on the Server menu, click Change Server. Next, on the Select Server page, click the Name of the server for which you want to configure document conversion settings.

  5. In the Load Balancer section, select the load balancer server to use with the launcher. This is the name of the server on which you configured the Document Conversions Load Balancer Service (see previous procedure.)

  6. In the Port Number section, type the port number that you want the launcher to use for communication. Enter a port number that is not used by other services on the server, but which is open in the firewall on the server.

    Note:

    If the Document Conversions Load Balancer Service and the Document Conversions Launcher Service are on the same server, the port numbers used for each service must be different.

  7. Click OK.

Use Central Administration to configure the Document Conversions Load Balancer service

You can use Central Administration to configure the Document Conversions Load Balancer Service.

Note:

You must configure and start the Document Conversions Load Balancer service before you can configure the Document Conversions Launcher service.

To configure the Document Conversions Load Balancer service using Central Administration

  1. Verify that you have the following administrative credentials: you must be a member of the Farm Administrators group on the computer running the SharePoint Central Administration Web site.

  2. In Central Administration, on the Home page, in the System Settings section, click Manage services on server.

  3. On the Services on Server page, click Document Conversions Load Balancer Service.

  4. In the Select Server section, verify that the server you want is selected. If it is not selected, on the Server menu, click Change Server. Next, on the Select Server page, click the Name of the server on which you want to run the Document Conversions Load Balancer Service.

  5. In the Communication Scheme section, select the scheme that you want the load balancer to use for communication. The default is http.

  6. In the Port Number section, type the port number that you want the load balancer to use for communication. Choose a port number that is not used by other services on the server, but which is open in the firewall on the server.

  7. Click OK.

See Also

Concepts

Manage document conversions (SharePoint Server 2010)

Other Resources

Resource Center: Enterprise Content Management in SharePoint Server 2010


Configure global workflow settings (SharePoint Server 2010)
See Also

Workflow settings that you configure globally apply to all sites in a Web application. You can enable deployment of user-defined Microsoft SharePoint Designer workflows, allow non-authenticated users to participate in workflows, and disable the automatic cleanup of workflow history that is older than 60 days.

In this section:

  • Enable or disable declarative workflows (SharePoint Server 2010)

    Use this procedure to enable or disable declarative workflows that were created and deployed by using Microsoft SharePoint Designer or a third-party application.

  • Allow non-authenticated users to participate in workflows (SharePoint Server 2010)

    Use this procedure to allow users who have not been authenticated to receive e-mail messages from workflows and tasks.

  • Disable preservation of workflow history (SharePoint Server 2010)

    Use this procedure to disable the workflow automatic cleanup job which, by default, removes workflows and workflow entries 60 days after a workflow is completed or canceled.

See Also

Other Resources

Resource Center: Workflows in SharePoint Server 2010


Enable or disable declarative workflows (SharePoint Server 2010)

When a Farm Administrator enables declarative workflows, users can use Microsoft SharePoint Designer 2010 to deploy declarative workflows.

You can specify whether you want users to be able to deploy declarative workflows, such as those that are created by using Microsoft SharePoint Designer 2010, on sites in a particular Web application. The default setting enables deployment of declarative workflows. When this setting is enabled, users who have been granted minimally the Design permission-level on the site can create and deploy workflows by using the Workflow Editor in Microsoft SharePoint Designer 2010.

To enable or disable declarative workflows for a Web application

  1. Verify that you have the following administrative credentials:

    • To enable or disable declarative workflows, you must be a member of the Farm Administrators SharePoint group.

  2. From the Central Administration Web site, on the Quick Launch, click Application Management.

  3. In the Web Applications section, click Manage web applications.

  4. On the Web Applications Management page, click the Web application that you want to configure.

  5. In the Manage group of the ribbon, click General Settings, and then click Workflow in the list that appears.

  6. In the Workflow Settings dialog box, in the User-Defined Workflows section, do one of the following:

    • To enable declarative workflows for sites in this Web application, click Yes.

    • To disable declarative workflows for this Web application, click No.

  7. Click OK to close the Workflow Settings dialog box.


Allow non-authenticated users to participate in workflows (SharePoint Server 2010)

You can allow either or both of the following kinds of non-authenticated users to participate in workflows: internal users who do not have access to the site and external users who do not have access to internal network resources. For internal users, an e-mail message that explains how to request access to the site (subject to administrator approval) is sent to users. For external users, an e-mail message that includes an attached document or list item for the participant to review or sign is sent to users.

Caution:

When you allow non-authenticated users to participate in workflows, you do not give non-authorized users access to the site. However, the e-mail message and attachment might contain sensitive information. Before you enable these settings, consider whether there are possible risks of disclosure of information with regard to users who do not have access to the site.

Allow non-authenticated users to participate in workflows

To allow internal users without site access to participate in workflows

  1. Verify that you have the following administrative credentials:

    • To allow internal users without site access to participate in workflows, you must be a member of the Farm Administrators SharePoint group.

  2. From Central Administration Web site, on the Quick Launch, click Application Management.

  3. In the Web Applications section, click Manage web applications.

  4. On the Web Applications Management page, in the Name column, click the Web application that you want to configure.

  5. In the Manage group of the ribbon, click General Settings, and then click Workflow in the list that appears.

  6. In the Workflow Settings dialog box, in the Workflow Task Notifications section, in the Alert internal users who do not have site access when they are assigned a workflow task? option, click Yes to send an e-mail message to internal users who do not have access to the site when they are assigned a workflow task. By default, this setting is enabled.

    Tip:

    You must also grant each user, who is not a site member, minimally the Contribute permission-level to the task list that is used by the workflow in which you want them to participate.

  7. Click OK to close the Workflow Settings dialog box.

To allow external users to participate in workflows

  1. From the Central Administration Web site, on the Quick Launch, click Application Management.

  2. In the Web Applications section, click Manage web applications.

  3. On the Web Applications Management page, click the Web application that you want to configure.

  4. In the Manage group of the ribbon, click General Settings, and then click Workflow in the list that appears.

  5. In the Workflow Settings dialog box, in the Workflow Task Notifications section, in the Allow external users to participate in workflow by sending them a copy of the document? option, click Yes to allow external users to participate in workflow by sending them a copy of the document. By default, this setting is disabled.

  6. Click OK to close the Workflow Settings dialog box.

Note:

If you later decide that you do not want non-authenticated participants to participate in workflows, access this page again and then click No to disable one or both options.


Disable preservation of workflow history (SharePoint Server 2010)

A workflow is made up of a sequence of events such as workflow initiation, task creation, and task completion. When you add a workflow, you specify a task list and a history list that workflow instances of that workflow association will use to track the events for the workflow. The task list contains items that users interact with and enter data into while interacting with a workflow. The workflow history contains key information about each event including date, status, participant, and description.

For more information about workflow status reports, see Monitor workflows (SharePoint Server 2010).

Disable automatic workflow cleanup

By default, Microsoft SharePoint Server 2010 runs a daily Workflow Auto Cleanup job to permanently delete workflow instances and related task entries that still exist 60 days after a workflow is completed or canceled. Workflow history items themselves are not deleted, but the entry point to view them on the status page for a particular instance of a workflow will no longer be available. You can disable the Workflow Auto Cleanup job if you want to keep workflow data available longer. However, as with any SharePoint list, as the workflow history and task lists grow in size, site performance may be compromised. If you are concerned about the size of these lists, keep the Workflow Auto Cleanup job enabled. Whether or not you keep the Workflow Auto Cleanup job enabled, you can create a separate history and task list for each workflow association to distribute items across lists.

For more information, see Add a workflow association (SharePoint Server 2010).

Note:

Workflow history is not intended to be used to audit workflow events and is not necessarily secure because a user who has edit permissions on the site can update items in the history list, by default.

To disable automatic workflow cleanup

  1. Verify that you have the following administrative credentials:

    • To disable automatic workflow cleanup, you must be a member of the Farm Administrators SharePoint group.

  2. From the Central Administration Web site, on the Quick Launch, click Monitoring.

  3. On the Monitoring page, in the Timer Jobs section, click Review job definitions.

  4. On the Job Definitions page, in the Title column, click the Workflow Auto Cleanup link that is associated with the Web application for which you want to disable automatic workflow cleanup.

    Tip:

    The Web Application column on the Job Definitions page contains the name of the Web application to which each timer job is associated.

  5. On the Edit Timer Job page, click Disable to disable the Workflow Auto Cleanup feature.

Note:

If you later decide that you want to enable automatic workflow cleanup, access this page again and then click Enable to enable automatic workflow cleanup.


Web applications management (SharePoint Server 2010)
See Also

The articles in this section describe how to create and manage Web applications in a Microsoft SharePoint Server 2010 server farm. These articles are written for farm administrators who will operate SharePoint Server 2010. The articles also describe how to configure cache settings and how to manage permissions and permission policies for a Web application.

In this section:

  • Create a Web application (SharePoint Server 2010)

    This article describes how to create a Web application.

  • Configure settings for a Web application (SharePoint Server 2010)

    After you create a Web application, you will most likely want to customize it. This article describes the available settings that you can configure for a Web application.

  • Cache settings operations (SharePoint Server 2010)

    This article describes the BLOB cache, page output cache profiles, and the object cache.

  • Extend a Web application (SharePoint Server 2010)

    If you want to use separate IIS Web sites to expose the same content to users, you can extend an existing Web application. This article describes how to extend a Web application.

  • Unextend a Web application (SharePoint Server 2010)

    This article describes how to unextend a Web application.

  • Delete a Web application (SharePoint Server 2010)

    This article describes how to delete a Web application.

  • View site collections in a Web application (SharePoint Server 2010)

    You can view a list of site collections in a Web application to find information about the URL, title, description, primary site collection administrator, and other data for each site collection in the Web application. This article describes how to view site collections.

  • Manage permissions for a Web application (SharePoint Server 2010)

    This article describes how to manage permissions for a Web application.

  • Manage permission policies for a Web application (SharePoint Server 2010)

    This article describes how to manage permission policies for a Web application.

See Also

Concepts

Configure claims authentication (SharePoint Server 2010)
Manage a connection to a document repository or a records center (SharePoint Server 2010)
Create a site collection (SharePoint Server 2010)
Enable document converters for a Web application
Manage blocked file types (SharePoint Server 2010)
Site and site collection administration (SharePoint Server 2010)
Plan site permissions (SharePoint Server 2010)


Configure settings for a Web application (SharePoint Server 2010)
See Also

After you create a Web application, you can use Central Administration, Windows PowerShell 2.0 cmdlets, or the Stsadm command-line tool to configure Web application settings. Web application settings affect all site collections in the Web application.

This article describes the general settings that you can configure for a Web application, and introduces other articles that describe additional Web application settings.

Web application general settings

You typically configure the Web application general settings when you create a new Web application. You can access the general settings in Central Administration by clicking Manage Web applications in the Application Management section, clicking the Web application that you want to configure, and then clicking General Settings on the ribbon.

Note:

You must be a member of the Farm Administrators SharePoint group to use Central Administration.

Many of these settings can also be configured by using Windows PowerShell 2.0 cmdlets. For information about how to use Windows PowerShell 2.0 cmdlets for Microsoft SharePoint Server 2010 administrative tasks, see Windows PowerShell for SharePoint Server 2010, and the individual articles that are referenced in this article for particular settings.

The following list describes general settings for a Web application:

  • Resource throttling

    Resource throttling settings let you fine-tune the Web application for improved performance. We do not recommend that you adjust the default settings unless you have tested the server configuration and know that making these changes will definitely improve performance.

  • Workflow

    SharePoint Server 2010 provides a set of predefined workflows that you can use to guide and track common tasks such as document review or approval. In addition to using the predefined workflows, you can define your own workflows by using Microsoft Office SharePoint Designer 2007 or create code-based custom workflows by using Visual Studio. You can configure workflow settings that apply to all sites in a Web application. For more information about using and configuring workflows, see Workflow administration (SharePoint Server 2010).

  • Outgoing e-mail

    You can configure outgoing e-mail for a specific Web application so that users can track changes and updates to individual site collections. For more information, see Configure outgoing e-mail (SharePoint Server 2010).

  • Mobile account

    You can configure and manage a mobile account to enable users to subscribe to alerts that are sent via Short Message Service (SMS). The alerts are sent to users' mobile phones when changes are made in a SharePoint list or item. For more information, see Configure a mobile account (SharePoint Server 2010).

  • SharePoint Designer

    You can specify whether to allow users to edit sites by using Microsoft SharePoint Designer 2010. By default, this setting is On. Additional settings for SharePoint Designer 2010 are as follows:

    • Allow Site Collection Administrators to Detach Pages from the Site Template.

      You can specify whether to allow site collection administrators to detach pages from the original site definition by using SharePoint Designer 2010. By default, this setting is On.

    • Allow Site Collection Administrators to Customize Master Pages and Layout Pages.

      You can specify whether to allow site collection administrators to customize master pages and layout pages by using SharePoint Designer 2010. By default, this setting is On.

    • Allow Site Collection Administrators to see the URL Structure of their Web Site.

      You can specify whether to allow site collection administrators to manage the URL structure of a Web site by using SharePoint Designer 2010. By default, this setting is On.

  • General settings

    The General Settings option on the General Settings drop-down menu lets you view and modify the following settings for a Web application.

    • Default Time Zone

      You can define the default time zone that is used for all sites in the Web application.

    • Default Quota Template

      A quota template consists of storage limit values that specify how much data can be stored in a site collection, and the storage size limit that triggers an e-mail alert to the site collection administrator. Use this setting to select a default quota template for all site collections in the Web application. For more information, see Plan quota management (SharePoint Server 2010).

    • Person Name Smart Tag and Presence Settings

      When the Person Name smart tag and Online Status is enabled, online presence information is displayed next to member names and the Person Name smart tag appears when users move the pointer over a member name anywhere on the Web site. This setting is enabled by default.

    • Alerts

      You can specify alert settings for the Web application. By default, alerts are enabled and each user is limited to 500 alerts. For more information, see Configure alert settings for a Web application (SharePoint Server 2010).

    • RSS Settings

      You can enable Really Simple Syndication (RSS) feeds for viewing RSS feeds from blogs, news sources, and other venues. By default, RSS feeds are enabled.

    • Blog API Settings

      You can select whether to enable the MetaWeblog API for the Web application. By default, the MetaWebLog API is enabled and the setting to accept a user name and password from the API is set to No.

    • Browser File Handling

      You can specify whether additional security headers are added to documents that are served to Web browsers. These security headers specify that a browser shows a download prompt for certain types of files (for example, .html), and to use the server's specified Multipurpose Internet Mail Extensions (MIME) type for other types of files.

      The Permissive setting specifies that no headers are added. The Strict setting adds headers that force the browser to download certain types of files. The forced download improves security for the server by disallowing the automatic execution of Web content. By default, the setting is Strict.

    • Web Page Security Validation

      The Web Page Security Validation setting establishes an amount of time after which a user is required to retry the last operation. By default, security validation is set to On with a 30-minute expiration time.

    • Send User Name and Password in E-Mail

      This option lets users retrieve their user name and password by e-mail. If this option is turned off, a new user cannot access the site until an administrator changes the user's password and notifies them of the new password. By default, this setting is On.

    • Master Page Setting for Application _Layouts Pages

      You can allow pages in the _Layouts folder to reference site master pages. Pages in the Application _Layouts folder are available to all sites in the farm. If this setting is Yes, most pages in the _Layouts folder will reference the site master page and show the customizations that have been made to that master page. By default, this setting is Yes.

    • Recycle Bin

      You can specify whether the Recycle Bins in the Web application are turned on. For more information, see Configure Recycle Bin settings (SharePoint Server 2010).

    • Maximum Upload Size

      You can specify the maximum size to allow for any single upload to any site. By default, the maximum upload size is set to 50 megabytes (MB).

    • Customer Experience Improvement Program

      You can collect Web site analytics about Web page usage on the Web application. By default, this setting is Yes.

In this section

The following list references additional articles that describe how to configure settings for a Web application:

  • Manage permission policies for a Web application (SharePoint Server 2010)

    Administrators can define policies to establish different levels of access to sites within Web applications to various users. This article describes how to create and manage permissions policies.

  • Manage permissions for a Web application (SharePoint Server 2010)

    Administrators can control user actions by enabling or disabling the associated permission on the Web application. This article describes how to establish permissions on a Web application.

  • Turn on or turn off self-service site creation (SharePoint Server 2010)

    Self-service site creation lets designated users create sites in defined URL namespaces. This article describes how to configure this feature for a Web application.

  • Configure Recycle Bin settings (SharePoint Server 2010)

    Recycle Bins help users and site collection administrators recover data. This article describes how to configure Recycle Bins for a Web application.

  • Configure alert settings for a Web application (SharePoint Server 2010)

    The alerts feature helps users keep track of changes that were made to a Web site. The feature does this through an e-mail notification service. This article describes how to configure alerts.

  • Define managed paths (SharePoint Server 2010)

    By defining managed paths, you can specify which paths in the URL namespace of a Web application are used for site collections. This article describes how to configure managed paths for a Web application.

  • Add or remove a service application connection to a Web application (SharePoint Server 2010)

    A service application connection associates the service application to Web applications via membership in a service application connection group (also referred to as application proxy group). This article describes how to add or remove service application connections to a service application connection group.

See Also

Concepts

View site collections in a Web application (SharePoint Server 2010)
Create a Web application (SharePoint Server 2010)
Extend a Web application (SharePoint Server 2010)
Add or remove a service application connection to a Web application (SharePoint Server 2010)


Configure alert settings for a Web application (SharePoint Server 2010)

To help users keep track of changes that are made to a Web site, Microsoft SharePoint Server 2010 includes the alerts feature, which is an e-mail notification service. Users can configure which alerts they want to receive or send to communicate and track changes to items on a Web site.

Users can create alerts on the following items in a site:

  • Lists

    Users are notified of changes to the list, such as when an item is added, deleted, or changed in a list.

  • List items

    Users are notified of changes to a particular item in a list.

  • Document libraries

    Users are notified of changes to the document library, such as when a document is added, deleted, or changed in a document library or when Web discussions are added, changed, deleted, closed, or started for a document.

  • Documents

    Users are notified of changes in a particular document such as when a document is changed, added, deleted, or closed.

Note:

Users must have at least View Items permissions to use alerts. For more information about how to assign user permissions to a Web application, see Plan site permissions (SharePoint Server 2010).

You can use Central Administration or Windows PowerShell 2.0 cmdlets to configure alerts. You can turn on or turn off alerts, and you can specify how many alerts users can create.

Before alerts can work for any Web site, outgoing e-mail must be enabled for the server. For more information about how to use alerts and administrative messages and set up outgoing e-mail, see Configure outgoing e-mail (SharePoint Server 2010).

Some deployments have a resource forest in which users are in a different domain from SharePoint Server 2010. If the resource forest trusts the user domain but the user domain does not trust the resource forest, users will receive intermittent alerts. To resolve this issue, implement one of the following solutions:

  • Retain the one-way trust, and use universal security groups in the user domain to grant permission to SharePoint resources. For more information, see Create a New Group (http://go.microsoft.com/fwlink/p/?LinkID=235815).

  • Create a two-way, forest trust for the resource domain and the user domain, and then use local security groups in the resource domain to grant permission to SharePoint resources. For more information, see Create a Two-Way, Forest Trust for Both Sides of the Trust (http://go.microsoft.com/fwlink/p/?LinkID=261337) and Create a New Group (http://go.microsoft.com/fwlink/p/?LinkID=235815).

For more information, see "Scenarios with Alerts and more than one Active Directory Forest when using NTLM for a WebApp" entry in the Microsoft Office and related blog (http://go.microsoft.com/fwlink/p/?LinkId=264920).

In this article:

  • To configure alert settings for a Web application by using Central Administration

  • To configure alert settings for a Web application by using Windows PowerShell

To configure alert settings for a Web application by using Central Administration

  1. Verify that the user account that is performing this task is a member of the Farm Administrators SharePoint group.

  2. On the SharePoint Central Administration Web site, click Application Management.

  3. On the Application Management page, click Manage Web Applications.

  4. Click the Web application for which you want to configure alerts. The ribbon becomes active.

  5. On the ribbon, click the General Settings drop-down menu, and then click General Settings.

  6. On the Web Application General Settings page, in the Alerts section, configure the following settings:

    • Specify whether alerts are On or Off. By default, alerts are On.

    • Specify the Maximum number of alerts that a user can create in a SharePoint Web site. This value can be any integer from 1 through 2,000,000,000, or you can specify that the number of alerts is unlimited. The default value is 500 alerts.

  7. After you have finished configuring alerts, click OK.

To configure alert settings for a Web application by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. To configure alerts by using Windows PowerShell 2.0, you must first retrieve the SPWebApplication object for the Web application by using the Get-SPWebApplication cmdlet together with the URL of the Web application. You must then set the appropriate alert properties for the object, and save the changes by using the Update() method of the SPWebApplication object. The following code sample performs each of these steps.

    At the Windows PowerShell command prompt, type the following commands:

    Copy Code
    $webappurl="<http://ServerName:WebApplicationName>"
$webapp=Get-SPWebApplication $webappurl
# to query the settings you can use the following properties
# Gets a value that specifies whether alerts are allowed in the Web application.
$webapp.AlertsEnabled

# Gets a value specifying whether there is a limit to the number of
# lists, document libraries, documents and list items for which a user can create alerts.
$webapp.AlertsLimited

# Gets the maximum number of lists, document libraries, documents and list items
# for which a single user can create alerts in a SharePoint web site.
$webapp.AlertsMaximum

# Sets a value that specifies whether alerts are allowed in the Web application.
# to enable alerts in this Web application
$webapp.AlertsEnabled = $true
$webapp.Update()

# to disable alerts in this Web application
$webapp.AlertsEnabled = $false
$webapp.Update()

# Sets a value specifying whether there is a limit to the number of
# lists, document libraries, documents and list items for which a user can create alerts.
# to enable limited number of alerts and use of AlertsMaximum setting
$webapp.AlertsLimited = $true
$webapp.Update()

# to enable unlimited number of alerts
$webapp.AlertsLimited = $false
$webapp.Update()

# Sets the maximum number of lists, document libraries, documents and list items
# for which a single user can create alerts in a SharePoint web site.
$webapp.AlertsMaximum=<MaxAlertsNumber>
$webapp.Update()

    Where:

    • <http://ServerName:WebApplicationName> is the URL of the Web application.

    • <MaxAlertsNumber> is the maximum number of alerts that a single user can create.

For more information, see Get-SPWebApplication.


Configure Recycle Bin settings (SharePoint Server 2010)
See Also

Recycle Bins are used to help users protect and recover data.Microsoft SharePoint Server 2010 supports two stages of Recycle Bins: the first-stage Recycle Bin and second-stage Recycle Bin.

When a user deletes an item, the item is automatically sent to the first-stage Recycle Bin. By default, when an item is deleted from the first-stage Recycle Bin, the item is sent to the second-stage Recycle Bin. A site collection administrator can restore items from the second-stage Recycle Bin.

You turn on and configure Recycle Bins at the Web application level. By default, Recycle Bins are turned on in all the site collections in a Web application. This article describes how to configure Recycle Bin settings for a Web application.

For more information and usage recommendations about SharePoint Server 2010 Recycle Bins, see Plan to protect content by using recycle bins and versioning (SharePoint Server 2010).

Note:

You cannot perform this task by using Windows PowerShell cmdlets. You must use the Stsadm command-line tool or the SharePoint Central Administration Web site instead. For information about how to configure Recycle Bin settings by using the Stsadm command-line tool, see Recycle Bin: Stsadm properties (Office SharePoint Server).

To configure Recycle Bin settings by using Central Administration

  1. Verify that the user account that is performing this procedure is a member of the Farm Administrators SharePoint group.

  2. On the SharePoint Central Administration Web site, click Application Management.

  3. On the Application Management page, click Manage Web Applications.

  4. Click the Web application for which you want to configure Recycle Bin settings. The ribbon becomes active.

  5. On the ribbon, click the General Settings drop-down menu, and then click General Settings.

  6. On the Web Application General Settings page, in the Recycle Bin section, you can configure the following settings:

    • You can set the Recycle Bins for the Web application to be On or Off. By default, Recycle Bins are turned on.

      Note:

      If you turn off the Recycle Bins, any existing items in both the first and second-stage Recycle Bins are deleted. Depending on how much data is contained in the Recycle Bins, deleting these items can take a long time.

    • You can specify a time after which items in the Recycle Bins are deleted, or you can specify that these items should never be deleted. By default, items are deleted after 30 days.

    • You can specify a percentage of live site quota for second-stage deleted items. The default setting is 50 percent. You can also turn off second-stage Recycle Bins. If you select Off, site collection administrators cannot recover items deleted from end-user Recycle Bins.The second-stage Recycle Bin quota percentage must be a value from 1 through 500.

  7. After you have finished configuring the Recycle Bins, click OK.

See Also

Other Resources

View, restore, or delete items in the Recycle Bin
Resource Center: Business Continuity Management for SharePoint Server 2010


Define managed paths (SharePoint Server 2010)
See Also

By defining managed paths, you can specify which paths in the URL namespace of a Web application are used for site collections. You can specify that one or more site collections exists at a specified path. This can be a convenient method of consolidating multiple site access for users in various departments.

An explicitly named path (for example, http://server/sites/team) is used for a single site collection. A wildcard path of "sites" (for example, http://server/sites/) indicates that child URLs of the path are site collections.

Important:

Do not use "/*" to indicate wildcard managed sites at the root of the site collection. Using this wildcard prevents a site from being created at the root of the Web application, which is required for some Microsoft SharePoint Server 2010 features to work.

In this article:

  • Define managed paths for a Web application by using Central Administration

  • Define managed paths for a Web application by using Windows Powershell

Define managed paths for a Web application by using Central Administration

Use the procedures described here to add or delete managed paths for a Web application by using Central Administration.

To add a managed path by using Central Administration

  1. Verify that the user account that is performing this task is a member of the Farm Administrators SharePoint group.

  2. On the SharePoint Central Administration Web site, click Application Management.

  3. On the Application Management page, click Manage Web Applications.

  4. Click the Web application for which you want to manage paths. The ribbon becomes active.

  5. On the ribbon, click Managed Paths.

  6. On the Define Managed Paths page, in the Add a New Path section, type the path to include.

  7. Click Check URL to confirm the path name.

  8. Use the Type dropdown menu to identify the path as either Wildcard inclusion or Explicit inclusion. The Wildcard inclusion type includes all paths that are subordinate to the specified path. The Explicit inclusion type includes only the site that is indicated by the specified path. Sites subordinate to the specified path are not included.

  9. Click Add Path.

  10. When you have finished adding paths, click OK.

To remove a managed path by using Central Administration:

  1. Verify that the user account that is performing this task is a member of the Farm Administrators SharePoint group.

  2. On the SharePoint Central Administration Web site, click Application Management.

  3. On the Application Management page, click Manage Web Applications.

  4. Click the Web application for which you want to manage paths. The ribbon becomes active.

  5. On the ribbon, click Managed Paths.

  6. On the Define Managed Paths page, in the Included Paths section, click the check box next to the path that you want to remove.

  7. Click Delete selected paths.

    Warning:

    Be sure that you want to remove the selected path before performing this action. You will have no additional opportunity to confirm. Deletion is immediate.

  8. When you have finished removing paths, click OK.

Define managed paths for a Web application by using Windows Powershell

You can use the New-SPManagedPath cmdlet to add managed paths for a Web application. You can use the Remove-SPManagedPath cmdlet to remove managed paths from a Web application.

The New-SPManagedPath cmdlet adds a new managed path to a given Web application or for use with all host header site collections. If the HostHeader switch is provided, the managed path is shared among all host header site collections; otherwise, you must specify a Web application in which to create this managed path. The relative URL is a partial URL that represents the managed path. When the slash mark (/) is used, the root is defined. If the Explicit parameter is not provided, the new managed path is a wildcard path.

To add a managed path by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell command prompt, type the following command:

    Copy Code
    New-SPManagedPath [-RelativeURL] "</RelativeURL>" -WebApplication <WebApplication>

    Where:

    • </RelativeURL> is the relative URL for the new managed path. The type must be a valid partial URL, such as site or sites/teams/.

    • <WebApplication> is the Web application group to add this path.

For more information, see New-SPManagedPath.

Note:

We recommend that you use Windows PowerShell when performing command-line administrative tasks. The Stsadm command-line tool has been deprecated, but is included to support compatibility with previous product versions.

To remove a managed path by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell command prompt, type the following command:

    Copy Code
    Remove-SPManagedPath [-Identity] <ManagedPathName> -WebApplication <WebApplication>

    Where:

    • <ManagedPathName> is the name of the managed path to delete.

    • <WebApplication> is the identity of the Web application that hosts the managed path to delete.

    You are prompted to confirm the deletion.

For more information, see Remove-SPManagedPath.

Note:

We recommend that you use Windows PowerShell when performing command-line administrative tasks. The Stsadm command-line tool has been deprecated, but is included to support compatibility with previous product versions.

See Also

Reference

Get-SPManagedPath

Concepts

Collaboration site planning (SharePoint Server 2010)


Turn on or turn off self-service site creation (SharePoint Server 2010)

The self-service site creation feature in Microsoft SharePoint Server 2010 allows users who have the Use Self-Service Site Creation permission to create sites in defined URL namespaces. For more information about user and site permissions, see User permissions and permission levels (SharePoint Server 2010). To determine whether self-service site creation is a good practice for Web sites in your organization, see Plan sites and site collections (SharePoint Server 2010).

Note:

You cannot perform this task by using Windows PowerShell cmdlets. You must use the Stsadm command-line tool or the SharePoint Central Administration Web site instead.

In this article:

  • To turn on or turn off self-service site creation by using Central Administration

  • To turn on or turn off self-service site creation by using the Stsadm command-line tool

To turn on or turn off self-service site creation by using Central Administration

  1. Verify that the user account that is performing this task is a member of the Farm Administrators SharePoint group.

  2. On the SharePoint Central Administration Web site, click Application Management.

  3. On the Application Management page, click Manage Web Applications.

  4. Click the Web application for which you want to turn on or turn off self-service site creation. The ribbon becomes active.

  5. On the ribbon, click Self-Service Site Creation.

  6. On the Self-Service Site Collection Management page, configure the following settings:

    • Specify whether self-service site creation is On (enabled) or Off (disabled) for the Web application. The default value is On.

    • To require users of self-service site creation to supply a secondary contact name on the sign-up page, select Require secondary contact.

  7. Click OK to complete the operation.

    Note:

    When you turn on self-service site creation, an announcement is added to the Announcements list on the home page of the top-level Web site in the root site collection for the Web application. The announcement provides a link to the site creation page.

To turn on or turn off self-service site creation by using the Stsadm command-line tool

  1. Verify that the user account that you use to run the Stsadm command-line tool is a member of the Administrators group on the local computer and a member of the Farm Administrators group.

  2. On the drive where SharePoint Server 2010 is installed, click Start, and then type command prompt into the text box. In the list of results, right-click Command Prompt, click Run as administrator, and then click OK.

  3. At the command prompt, type the following command:

    cd %CommonProgramFiles%\Microsoft Shared\Web server extensions\14\bin

    • To turn on self-service site creation, type the following command:

      stsadm.exe -o enablessc -url<url>-requiresecondarycontact

      Where <url> is the URL of the Web application.

      This command turns on self-service site creation and requires a secondary contact.

    • To turn off self-service site creation, type the following command:

      stsadm -o disablessc -url<url>

      Where <url> is the URL of the Web application.

For more information, see Enablessc: Stsadm operation (Office SharePoint Server) and Disablessc: Stsadm operation (Office SharePoint Server).


Cache settings operations (SharePoint Server 2010)
See Also

The article contains an overview of the BLOB cache, cache profiles and object cache settings that can be configured for Microsoft SharePoint Server 2010 at the Web application level.

SharePoint Server 2010 provides three types of caches that help improve the speed at which Web pages load in the browser: the BLOB cache, the page output cache, and the object cache. The BLOB cache is enabled and configured in the Web.config file in the Web application to which you want to apply the cache. The page output cache and object cache are usually configured in the user interface at the site collection level; however certain settings for these caches can also be configured at the Web application level. The changes that you make to the Web.config file will be applied to all site collections and sites within the Web application, and will supersede any configuration made at the site collection level or below.

Note:

To use the page output cache or the object cache, you must be using the Publishing feature on your site.

In this article:

  • BLOB cache

  • Page output cache profiles

  • Object cache

BLOB cache

SharePoint Server 2010 provides a disk-based cache that stores files that are used by Web pages to help them load quickly in the browser, and reduces the load on the database server when it uses those files. These files are known as binary large objects (BLOBs), and the cache is known as the BLOB cache. The BLOB cache is stored directly on the hard disk drive of a front-end Web server computer. The first time that a Web page is called, these files are copied from the database to the cache on the server hard disk drive, and all subsequent requests for those files are then served from the hard disk drive cache of the server. By default, the BLOB cache is off and must be enabled to use the functionality it provides. When you enable the BLOB cache on your front-end Web server, you reduce the load on the SharePoint Server 2010 database server created by read requests from Web browsers.

You enable the BLOB cache in the Web.config file of the Web application to which you want to apply it. The changes that you make to the Web.config file will be applied to all site collections within the Web application. For information about the BLOB cache, see Plan for caching and performance (SharePoint Server 2010).

Page output cache profiles

The page output cache stores the rendered output of a page. It also stores different versions of the cached page, based on the permissions of the users who are requesting the page. Page output cache settings can be configured at the site collection level, at the site level, and for page layouts. By default, the page output cache is turned off.

The page output cache uses cache profiles that specify how long items should be held in the cache. You can specify different cache profiles to be used for anonymous and authenticated users, which optimizes the use of the cache based on the authentication methods that are allowed on the site.

You can configure cache profile settings for a Web application by editing the Web.config file on the application server. The cache profile settings that you configure at the Web application level will be used for all cache profiles in the site collections for that Web application.

Note:

To use the page output cache and the associated cache profile settings, you must be using the Publishing feature on your site.

Object cache

The object cache reduces the amount of traffic between the Web server and the SQL database by storing objects—such as lists and libraries, site settings, and page layouts—in memory on the front-end Web server computer. As a result, the pages that require these items are able to be rendered quickly, increasing the speed with which pages are delivered to the client browser. Object cache settings can be configured at the Web application level, and at the site collection level. By default, the object cache is on at the site collection level.

You can optimize the object cache for a Web application by specifying the size of the object cache. Specifying a larger number can enhance performance for some large sites at the cost of memory on each front-end Web server. You can configure other settings for the object cache at site collection level.

Note:

To use the object cache, you must be using the Publishing feature on your site.

Task Requirements

In this section:

  • Configure cache settings for a Web application (SharePoint Server 2010)

  • Configure object cache user accounts

  • Flush the BLOB cache (SharePoint Server 2010)

See Also

Concepts

Plan for caching and performance (SharePoint Server 2010)

Other Resources

Resource Center: Enterprise Content Management in SharePoint Server 2010
Resource Center: Web Content Management in SharePoint Server 2010


Configure cache settings for a Web application (SharePoint Server 2010)
See Also

This article describes how to configure the disk-based BLOB cache, the page output cache profiles, and the object cache for a Web application in Microsoft SharePoint Server 2010.

You enable and configure the BLOB cache, and make configuration changes to the page output cache profiles and the object cache in the Web.config file in the Web application to which you want to apply those changes. The changes you make to the Web.config file will be applied to all site collections within the Web application.

Note:

Configuring the page output cache profiles and the object cache at the Web application level will supersede any configuration that was made by site administrators at the site collection level or below.

Tip:

There may be times when the BLOB cache becomes out of sync with the content. For example, after you restore a content database, the BLOB cache will be out of sync with the content. To correct that situation, you must flush the BLOB cache. For more information, see Flush the BLOB cache (SharePoint Server 2010).

For more information, see Cache settings operations (SharePoint Server 2010).

Procedures in this task:

  • Configuring BLOB cache settings

  • Configuring cache profile settings

  • Configuring object cache settings

Configuring BLOB cache settings

By default, the disk-based BLOB cache is off and must be enabled on the front-end Web server if you want to use it. Use the following procedure to configure disk-based cache settings for a Web application.

Important:

Before you make changes to the web.config file, make a copy of it by using a different name (for example, web.config1), so that if a mistake is made in the file, you can restore the original file.

To configure BLOB cache settings

  1. Verify that you have the following administrative credentials: You must be a member of the Administrators group on the local computer to configure the BLOB cache settings.

  2. Click Start, point to Administrative Tools, and then click Internet Information Services (IIS) Manager.

  3. In Internet Information Services (IIS) Manager, in the Connections pane, click the plus sign (+) next to the server name that contains the Web application, and then click the plus sign next to Sites to view the Web application or applications that have been created.

  4. Right-click the name of the Web application for which you want to configure the disk-based cache, and then click Explore. Windows Explorer opens, with the directories for the selected Web application listed.

  5. Right-click web.config, and then click Open.

  6. If the Windows dialog box appears, select Select a program from a list of installed programs, and then click OK.

  7. In the Open With dialog box, click Notepad, and then click OK.

  8. In the web.config Notepad file, find the following line: <BlobCache location="" path="\.(gif|jpg|jpeg|jpe|jfif|bmp|dib|tif|tiff|ico|png|wdp|hdp|css|js|asf|avi|flv|m4v|mov|mp3|mp4|mpeg|mpg|rm|rmvb|wma|wmv)$" maxSize="10" enabled="false" />

  9. In this line, change the location attribute to specify a directory that has enough space to accommodate the cache size.

    Note:

    We strongly recommend that you specify a directory that is not on the same drive as where either the server operating system swap files or server log files are stored.

  10. To add or remove file types from the list of file types to be cached, for the path attribute, modify the regular expression to include or remove the appropriate file extension. If you add file extensions, make sure to separate each file type with a pipe (|), as shown in this line of code.

  11. To change the size of the cache, type a new number for maxSize. The size is expressed in gigabytes (GB), and 10 GB is the default.

    Important:

    It is recommended that you not set the cache size smaller than 10 GB. When you set the cache size, make sure to specify a number large enough to provide a buffer at least 20 percent bigger than the estimated size of the content that will be stored in the cache.

  12. To enable the BLOB cache, change the enabled attribute, from "false" to "true".

  13. Save the Notepad file, and then close it.

Caution:

When you save a change to the web.config file, the Web application in Internet Information Services (IIS) 7.0 automatically recycles. This recycling can cause a brief interruption in service to sites contained in that Web application, and users can lose session state. For information about recycling Web applications in IIS 7.0, see IIS Process Recycling (http://go.microsoft.com/fwlink/p/?LinkId=154094).

Configuring cache profile settings

Cache profile settings can be configured in the user interface at the site collection level by a site collection administrator, as well as at the Web application level by an administrator on the front-end Web server. The page output cache must be enabled at the site collection level before page output cache profiles can be configured at either the site collection level or Web application level. If page output cache profiles are enabled at the Web application level, the settings specified in Web.config will be used for all page output cache profiles, overriding any values that have been entered through the user interface at the site collection level.

Note:

To use the page output cache and the associated cache profile settings, you must be using the Publishing feature on your site.

Use the following procedure to configure the cache profile settings for a Web application.

Important:

Before you make changes to the web.config file, make a copy of it by using a different name (for example, web.config1), so that if a mistake is made in the file, you can restore the original file.

To configure page output cache profile settings

  1. Verify that you have the following administrative credentials: You must be a member of the Administrators group on the local computer to configure the cache profile settings.

  2. Click Start, point to Administrative Tools, and then click Internet Information Services (IIS) Manager.

  3. In Internet Information Services (IIS) Manager, in the Connections pane, click the plus sign (+) next to the server name that contains the Web application, and then click the plus sign next to Sites to view the Web application or applications that have been created.

  4. Right-click the name of the Web application for which you want to configure the disk-based cache, and then click Explore. Windows Explorer opens, with the directories for the selected Web application listed.

  5. Right-click web.config, and then click Open.

  6. If the Windows dialog box appears, select Select a program from a list of installed programs, and then click OK.

  7. In the Open With dialog box, click Notepad, and then click OK.

  8. In the web.config Notepad file, find the following line: <OutputCacheProfiles useCacheProfileOverrides="false" varyByHeader="" varyByParam="*"  varyByCustom="" varyByRights="true" cacheForEditRights="false" />

  9. To enable the cache profile at the Web application level, change the useCacheProfileOverrides attribute, from "false" to "true".

  10. To override the varyByHeader attribute, type a custom parameter as specified in the .NET Framework Class Library entry HttpCachePolicy.VaryByHeaders Property (http://go.microsoft.com/fwlink/p/?LinkId=164238&clcid=0x409).

  11. To override the varyByParam attribute, type a custom parameter as specified in the .NET Framework Class Library entry HttpCachePolicy.VaryByParams Property (http://go.microsoft.com/fwlink/p/?LinkId=164242&clcid=0x409).

  12. To override the varyByCustom attribute, type a custom parameter as specified in the .NET Framework Class Library entry HttpCachePolicy.SetVaryByCustom Method (http://go.microsoft.com/fwlink/p/?LinkId=164240&clcid=0x409).

  13. To override the varyByRights attribute, change the value from "true" to "false". This will remove the requirement that users must have identical effective permissions on all securable objects to see the same cached page as any other user.

  14. To override the cacheForEditRights attribute, change the cacheForEditRights attribute, from "false" to "true". This will bypass the normal behavior in which people with edit permissions have their pages cached.

  15. Save the Notepad file, and then close it.

Caution:

When you save a change to the web.config file, the Web application in Internet Information Services (IIS) 7.0 automatically recycles. This recycling can cause a brief interruption in service to sites contained in that Web application, and users can lose session state. For information about recycling Web applications in IIS 7.0, see IIS Process Recycling (http://go.microsoft.com/fwlink/p/?LinkId=154094).

Configuring object cache settings

The object cache settings can be configured at the site collection level in the user interface by a site collection administrator, and is on by default. The maximum cache size can be configured at the Web application level on the front-end Web server to place a restriction on the maximum amount of memory that the cache will use for all site collections. For example, individual site collections might have the object cache set at 100 MB, while the Web application might be set at 1 GB. In this case, no more than 1 GB of memory will be used by all the caches on the server.

Note:

To use the object cache, you must be using the Publishing feature on your site.

Use the following procedure to configure the object cache settings for a Web application on a front-end Web server.

Important:

Before you make changes to the web.config file, make a copy of it by using a different name (for example, web.config1), so that if a mistake is made in the file, you can restore the original file.

To configure object cache settings

  1. Verify that you have the following administrative credentials: You must be a member of the Administrators group on the local computer to configure the object cache settings.

  2. Click Start, point to Administrative Tools, and then click Internet Information Services (IIS) Manager.

  3. In Internet Information Services (IIS) Manager, in the Connections pane, click the plus sign (+) next to the server name that contains the Web application, and then click the plus sign next to Sites to view the Web application or applications that have been created.

  4. Right-click the name of the Web application for which you want to configure the disk-based cache, and then click Explore. Windows Explorer opens, with the directories for the selected Web application listed.

  5. Right-click web.config, and then click Open.

  6. If the Windows dialog box appears, select Select a program from a list of installed programs, and then click OK.

  7. In the Open With dialog box, click Notepad, and then click OK.

  8. In the Web.config Notepad file, find the following line: <ObjectCache maxSize="100" />

  9. To change the size of the cache, type a new number for maxSize. The size is expressed in megabytes (MB), and 100 MB is the default.

  10. Save the Notepad file, and then close it.

Caution:

When you save a change to the web.config file, the Web application in Internet Information Services (IIS) 7.0 automatically recycles. This recycling can cause a brief interruption in service to sites contained in that Web application, and users can lose session state. For information about recycling Web applications in IIS 7.0, see IIS Process Recycling (http://go.microsoft.com/fwlink/p/?LinkId=154094).

See Also

Concepts

Cache settings operations (SharePoint Server 2010)
Plan for caching and performance (SharePoint Server 2010)

Other Resources

Resource Center: Enterprise Content Management in SharePoint Server 2010


Configure object cache user accounts
See Also

Published: June 17, 2010

The object cache stores properties about items in Microsoft SharePoint Server 2010. Items in this cache are used by the publishing feature when it renders Web pages. The goals of the object cache are to reduce the load on the computer on which SQL Server is running, and to improve request latency and throughput. The object cache makes its queries as one of two out-of-box user accounts: the Portal Super User and the Portal Super Reader. These user accounts must be properly configured to ensure that the object cache works correctly. The Portal Super User account must be an account that has Full Control access to the Web application. The Portal Super Reader account must be an account that has Full Read access to the Web application.

Important:

The Portal Super User and Portal Super Reader accounts must be separate accounts, and they must not be accounts that will ever be used to log in to the site.

This article explains why these object cache user accounts must to be configured and describes how to configure the accounts. For information about the object cache, see Cache settings operations (SharePoint Server 2010).

In SharePoint Server 2010, querying for items is linked with the user account that makes the query. Various parts of the publishing feature make queries for which the results are cached in the object cache. These results are cached based on the user making the query. To optimize the cache hit rate and memory requirements, the queries must be based on whether a user can see draft items. When a publishing control requests the object cache to make a query to get data for the control, the cache makes the query, not as the user making the request, but instead it makes the query twice: once as the Portal Super User account and once as the Portal Super Reader account. The results of these two queries are stored in the object cache. The results for the Portal Super User account include draft items, and the results for the Portal Super Reader account include only published items. The object cache then checks the access control lists (ACLs) for the user who initiated the request and returns the appropriate results to that user based on whether that user can see draft items. By adding the Portal Super User and Portal Super Reader accounts to the Web application, the cache must store results for only two users. This increases the number of results that are returned for a query and decreases the amount of memory that is needed to store the cache.

By default, the Portal Super User account is the site's System Account, and the Portal Super Reader account is NT Authority\Local Service. There are two main issues with using the out-of-box accounts.

  1. The first issue is that some items get checked out to System Account, so when a query that includes these items is made, the checked out version of the item is returned instead of the latest published version. This is a problem because it is not what a user would expect to have returned, so the cache has to make a second query to fetch the correct version of the file. This negatively affects server performance for every request that includes these items. The same problem would occur for any user who has items checked out, if that user's account was set to be the Portal Super User account. This is why the accounts configured to be the Portal Super User and the Portal Super Reader should not be user accounts that are used to log into the site. This ensures that the user does not inadvertently check items out and cause problems with performance.

  2. The default Portal Super Reader account is NT Authority\Local Service, which is not correctly resolved in a claims authentication application. As a result, if the Portal Super Reader account is not explicitly configured for a claims authentication application, browsing to site collections under this application will result in an "Access Denied" error, even for the site administrator. This error will occur on any site that uses any feature that explicitly uses the object cache, such as the SharePoint Server Publishing Infrastructure, metadata navigation, the Content Query Web Part, or navigation.

In this article:

  • Configure object cache user accounts by using Central Administration and Windows PowerShell

Configure object cache user accounts by using Central Administration and Windows PowerShell

You can configure the user accounts for the object cache by using Central Administration and Windows PowerShell. You must first create the accounts in the Central Administration Web site and then add the accounts to the Web application by using Windows PowerShell. You must add the user accounts to each Web application.

Caution:

At the end of this procedure, you must reset Internet Information Services (IIS) to apply the changes to the Web application. Be sure to perform this procedure when there will be minimal disruption to users that are connected to the site. For more information about IISReset, see IIS Reset Activity.

To create the user accounts by using Central Administration

  1. Verify that you have the following administrative credentials:

    • To create the user accounts in Central Administration, you must be a member of the Farm Administrators group on the computer that is running the SharePoint Central Administration Web site.

  2. On the Central Administration Web site, in the Application Management section, click Manage web applications.

  3. Click the name of the Web application that you want to configure.

  4. On the Web Applications tab, in the Policy group, click User Policy.

  5. In the Policy for Web Application window, click Add Users.

  6. From the Zones list, select All zones, and then click Next.

  7. In the Users box, type the user name for the Portal Super User account.

  8. Click the Check Names icon to ensure that the account name can be resolved by the authentication providers on the application server.

  9. In the Choose Permissions section, check the Full Control - Has full control box.

  10. Click Finish.

  11. Repeat Steps 5 through 8 for the Portal Super Reader account.

  12. In the Choose Permissions section, check the Full Read - Has full read-only access box.

  13. Click Finish.

  14. Make note of how the names for the Object Cache Super Reader and Object Cache Super User accounts are displayed in the User Name column. The displayed strings will be different depending on whether you are using claims authentication for the Web application.

To add the user accounts to the Web application by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. Copy the following code and paste it into a text editor, such as Notepad:

    Copy Code
    $wa = Get-SPWebApplication -Identity "<WebApplication>"
$wa.Properties["portalsuperuseraccount"] = "<SuperUser>"
$wa.Properties["portalsuperreaderaccount"] = "<SuperReader>"
$wa.Update()

  3. Replace the following placeholders with values:

    • <WebApplication> is the name of the Web application to which the accounts will be added.

    • <SuperUser> is the account to use for the Portal Super User account as you saw it displayed in the User Column field mentioned in Step 14 of the previous procedure.

    • <SuperReader> is account to use for the Portal Super Reader account as you saw it displayed in the User Column field mentioned in Step 14 of the previous procedure.

  4. Save the file, naming it SetUsers.ps1.

    Note:

    You can use a different file name, but you must save the file ANSI-encoded as a text file whose extension is .ps1.

  5. Close the text editor.

  6. On the Start menu, click All Programs.

  7. Click Microsoft SharePoint 2010 Products.

  8. Click SharePoint 2010 Management Shell.

  9. Change to the directory where you saved the file.

  10. At the Windows PowerShell command prompt, type the following command: ./SetUsers.ps1

  11. Reset Internet Information Services (IIS). For more information about IISReset, see IIS Reset Activity

See Also

Concepts

Cache settings operations (SharePoint Server 2010)


Flush the BLOB cache (SharePoint Server 2010)
See Also

Published: October 7, 2010

A BLOB cache is a disk-based cache that stores binary large objects (BLOBs) such as frequently used image, audio, and video files, and other files that are used to display Web pages. Each front-end Web server maintains its own BLOB cache. When you enable a BLOB cache, you specify the file types to include in the cache and also the location of the BLOB cache. The first time that a BLOB file is requested, the file is copied from the database to the BLOB cache on the front-end Web server. Future requests to the front-end Web server for that same file are then served from the file that is stored in the BLOB cache, instead of being served from the database. This reduces the network traffic and the load on the database server.

For more information about BLOB caches, see Plan for caching and performance (SharePoint Server 2010).

Flush the BLOB cache

When you flush the BLOB cache, you clear the contents of the BLOB cache for a Web application. This is useful if the BLOB cache becomes out of sync with the content. For example, after you restore a content database, the BLOB cache will be out of sync with the content. To correct that situation, you must flush the BLOB cache. The following procedure describes how to flush the BLOB cache for a Web application.

Caution:

Flushing the BLOB cache for a Web application affects all site collections in the Web application.

Note:

You cannot use the user interface to flush the BLOB cache. Instead, you use Windows PowerShell and the SharePoint object model to complete this task.

To flush the BLOB cache

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. Copy the following code and paste it into a text editor, such as Notepad.

    Copy Code
    $webApp = Get-SPWebApplication "<WebApplicationURL>"
[Microsoft.SharePoint.Publishing.PublishingCache]::FlushBlobCache($webApp)
Write-Host "Flushed the BLOB cache for:" $webApp

  3. Replace <WebApplicationURL> with the URL of the Web application whose BLOB cache you want to clear.

  4. Save the file, and name it FlushBLOBCache.ps1.

    Note:

    You can use a different file name, but you must save the file as an ANSI-encoded text file that has the file name extension .ps1.

  5. On the Start menu, click All Programs.

  6. Click Microsoft SharePoint 2010 Products.

  7. Click SharePoint 2010 Management Shell.

  8. Change to the directory where you saved the file.

  9. At the Windows PowerShell command prompt, type the following command.

    Copy Code
    ./FlushBLOBCache.ps1

See Also

Other Resources

Running Windows PowerShell Scripts


Extend a Web application (SharePoint Server 2010)

If you want to expose the same content in a Web application to different types of users by using additional URLs or authentication methods, you can extend an existing Web application into a new zone. When you extend the Web application into a new zone, you create a separate Internet Information Services (IIS) Web site to serve the same content, but with a unique URL and authentication type.

An extended Web application can use up to five network zones (Default, Intranet, Internet, Custom, and Extranet). For example, if you want to extend a Web application so that customers can access content from the Internet, you select the Internet zone and choose to allow anonymous access and grant anonymous users read-only permissions. Customers can then access the same Web application as internal users, but through different URLs and authentication settings. For more information, see Logical architecture components (SharePoint Server 2010), Configure anonymous access for a claims-based Web application (SharePoint Server 2010), and Plan authentication methods (SharePoint Server 2010).

In this section:

  • Extend a Web application that uses Windows-classic authentication (SharePoint Server 2010)

  • Extend a Web application that uses Windows-claims authentication (SharePoint Server 2010)


Extend a Web application that uses Windows-claims authentication (SharePoint Server 2010)
See Also

Published: October 7, 2010

This article describes how to extend a Web application that uses Windows-claims authentication.

Tip:

If you want to use Windows-classic authentication instead, see Extend a Web application that uses Windows-classic authentication (SharePoint Server 2010).

Before you perform these procedures, confirm the following:

  • Your system is running Microsoft SharePoint Server 2010.

  • You already have a Web application to extend.

  • You have read Plan authentication methods (SharePoint Server 2010) and know which authentication method to use.

  • You have read about zones, anonymous access, and permissions. For more information, see Logical architecture components (SharePoint Server 2010).

  • If you have User Account Control (UAC) turned on in Windows, and you use Windows PowerShell to extend a Web application, you must right-click the SharePoint 2010 Management Shell and select Run as administrator.

You can extend a Web application that uses Windows-claims authentication by using Central Administration or Windows PowerShell. Use one of the following procedures to extend a Web application. You typically use Central Administration to extend a Web application. If you want to automate the task of extending a Web application, which is common in enterprises, use Windows PowerShell. After the procedure is complete, you will have two separate IIS Web sites that expose the same content to users.

To extend a Web application that uses Windows-claims authentication by using Central Administration

  1. Verify that you have the following administrative credentials:

    • To create a Web application, you must be a member of the Farm Administrators SharePoint group and a member of the local Administrators group on the computer running Central Administration.

  2. On the Central Administration Home page, in the Application Management section, click Manage web applications.

  3. On the ribbon, click Extend.

  4. On the Extend Web Application to Another IIS Web Site page, in the IIS Web Site section, you can configure the settings for your extended Web application by selecting one of the following two options:

    • Click Use an existing web site, and then select the Web site on which to extend your existing Web application.

    • Click Create a new IIS web site, and then type the name of the Web site in the Name box.

  5. In the IIS Web Site section, in the Port box, type the port number you want to use to access the Web application. If you are creating a new Web site, this field is populated with a suggested port number. If you are using an existing Web site, this field is populated with the current port number.

    Note:

    The default port number for HTTP access is 80, and the default port number for HTTPS access is 443. If you want users to access the Web application without typing in a port number, they should use the appropriate default port number.

  6. Optional: In the IIS Web Site section, in the Host Header box, type the host name (for example, www.contoso.com) that you want to use to access the Web application.

    Note:

    In general, this field is not set unless you want to configure two or more IIS Web sites to use port 80 on the same server and DNS has been configured to point multiple server names to the same server.

  7. In the IIS Web Site section, in the Path box, type the path to the site directory on the server. If you are creating a new Web site, this field is populated with a suggested path. If you are using an existing Web site, this field is populated with the current path of that Web site.

  8. In the Security Configuration section, choose whether to use allow anonymous access and whether to use Secure Sockets Layer (SSL).

    1. Under Allow Anonymous, click Yes or No. If you choose to allow anonymous access, this enables anonymous access to the Web site by using the computer-specific anonymous access account (that is, IIS_IUSRS).

      Note:

      If you want users to be able to access any site content anonymously, you must enable anonymous access for the entire Web application zone before you enable anonymous access at the SharePoint site level; later, site owners can configure how anonymous access is used within their sites. If you do not enable anonymous access at the Web application level, you cannot enable anonymous access later, at the site level. For more information, see Choose security groups (SharePoint Server 2010).

    2. Under Use Secure Sockets Layer (SSL), click Yes or No. If you choose to enable SSL for the Web site, you must configure SSL by requesting and installing an SSL certificate. For more information about setting up SSL, see How to Setup SSL on IIS 7.0 (http://go.microsoft.com/fwlink/p/?LinkId=187887).

  9. In the Claims Authentication Types section, select the authentication that you want to use for the Web application.

    1. If you want to enable Windows authentication, select Enable Windows Authentication and, in the drop-down menu, select Negotiate (Kerberos) or NTLM. For more information, see Plan for Kerberos authentication (SharePoint Server 2010).

      If you do not want to use Integrated Windows authentication, clear Integrated Windows authentication.

      If you want users' credentials to be sent over a network in a nonencrypted form, select Basic authentication (password is sent in clear text).

      Note:

      You can select basic authentication or integrated Windows authentication, or both. If you select both, SharePoint Server 2010 will offer both authentication types to the client Web browser. The client Web browser then determines which type of authentication to use. If you only select basic authentication, ensure that SSL is enabled; otherwise, the credentials can be intercepted by a malicious user.

    2. If you want to enable forms-based authentication, select Enable Forms Based Authentication (FBA), and then enter the membership provider name and the role manager name in the boxes.

      For more information, see Configure forms-based authentication for a claims-based Web application (SharePoint Server 2010).

      Note:

      If you select this option, ensure that SSL is enabled; otherwise, the credentials can be intercepted by a malicious user.

    3. If you have set up Trusted Identity Provider authentication in Windows PowerShell, the Trusted Identity provider check box is selected.

      For more information, see Configure authentication using a SAML security token (SharePoint Server 2010).

    You can use one or more claims authentication types. For more information, see Plan authentication methods (SharePoint Server 2010).

  10. In the Sign In Page URL section, choose one of the following options to sign into SharePoint Server 2010.

    • Select Default Sign In Page URL if you want users to be redirected to a default sign-in Web site for claims-based authentication.

    • Select Custom Sign In page URL and then type the sign-in URL if you want users to be redirected to a custom sign-in Web site for claims-based authentication.

  11. In the Public URL section, type the URL for the domain name for all sites that users will access in this Web application. This URL will be used in all links shown on pages within the Web application. The default URL is the current server name and port.

  12. In the Public URL section, select the zone to use for the Web application in the drop-down menu.

    Note:

    You can create up to five zones within a Web application.

  13. Click OK to extend the existing Web application.

To extend an existing Web application that uses Windows-claims authentication by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin. You also need to be local Administrator on the computer that is running Windows PowerShell.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. To change the authentication from Windows-claims authentication to forms-based authentication, at the Windows PowerShell command prompt, type the following command:

    Copy Code
    $ap = New-SPAuthenticationProvider -ASPNETRoleProviderName <RoleProviderName> -ASPNETMembershipProvider <MembershipProviderName>

    To extend a Web application to the same port, but with a different host header, at the Windows PowerShell command prompt, type the following command:

    Copy Code
    Get-SPWebApplication -Identity http://sitename | New-SPWebApplicationExtension -Name <Name> -HostHeader <HostHeader> -Zone <Zone> -URL <URL> -Port <Port> -AuthenticationProvider $ap

    Where:

    • <RoleProviderName> is the name of the role provider.

    • <MembershipProviderName> is the name of the membership provider.

    • <Identity> is the Web application that you want to extend.

    • <Name> is the name of the new IIS Web site in the Web application.

    • <HostHeader> is the hostname assigned to this zone of the Web application.

    • <Zone> is the zone with which this new extension is to be associated.

    • <URL> is the public URL for this Web application zone.

    • <Port> is the port on which this zone of the Web application can be accessed.

    Example

    Copy Code
    $ap = New-SPAuthenticationProvider -ASPNETRoleProviderName roleprovidername -ASPNETMembershipProvider membershipprovidername
    Copy Code
    Get-SPWebApplication -Identity http://sitename | New-SPWebApplicationExtension -Name IntranetSite -HostHeader www.contoso.com -Zone Intranet -URL http://intranet.sitename.com -Port 9876 -AuthenticationProvider $ap

For more information, see New-SPWebApplicationExtension.

Note:

After you have extended an existing Web application that uses Windows-claims authentication to a Web application that uses forms-based authentication, you must perform additional configuration. For more information about forms-based authentication, see Configure forms-based authentication for a claims-based Web application (SharePoint Server 2010).

Note:

We recommend that you use Windows PowerShell when performing command-line administrative tasks. The Stsadm command-line tool has been deprecated, but is included to support compatibility with previous product versions.

See Also

Concepts

Create claims-based web applications in SharePoint 2010
Extend a Web application that uses Windows-classic authentication (SharePoint Server 2010)


Extend a Web application that uses Windows-classic authentication (SharePoint Server 2010)
See Also

Published: October 7, 2010

This article describes how to extend a Web application that uses Windows-classic authentication.

Tip:

If you want to use Windows-claims authentication instead, see Extend a Web application that uses Windows-claims authentication (SharePoint Server 2010).

Before you perform this procedure, confirm the following:

  • Your system is running Microsoft SharePoint Server 2010.

  • You already have a Web application to extend.

  • You have read Plan authentication methods (SharePoint Server 2010) and know which authentication method to use.

  • You have read about zones, anonymous access, and permissions. For more information, see Logical architecture components (SharePoint Server 2010).

  • If you have User Account Control (UAC) turned on in Windows, and you use Windows PowerShell to extend a Web application, you must right-click the SharePoint 2010 Management Shell and select Run as administrator.

You can extend a Web application that uses Windows-classic authentication by using Central Administration or Windows PowerShell. Use one of the following procedures to extend a Web application. You typically use Central Administration to extend a Web application. If you want to automate the task of extending a Web application, which is common in enterprises, use Windows PowerShell. After the procedure is complete, you will have two separate IIS Web sites that expose the same content to users.

To extend a Web application that uses Windows-classic authentication by using Central Administration

  1. Verify that you have the following administrative credentials:

    • To extend a Web application, you must be a member of the Farm Administrators SharePoint group and a member of the local Adminstrator group on the computer running Central Administration.

  2. On the Central Administration Home page, in the Application Management section, click Manage web applications.

  3. On the Web application page, select the Web application that you want to extend.

  4. On the ribbon, click Extend.

  5. On the Extend Web Application to Another IIS Web Site page, in the IIS Web Site section, you can configure the settings for your Web application by selecting one of the following two options:

    • Click Use an existing web site, and then select the Web site on which to extend your existing Web application.

    • Click Create a new IIS web site, and then type the name of the Web site in the Name box.

  6. In the IIS Web Site section, in the Port box, type the port number you want to use to access the Web application. If you are creating a new Web site, this field is populated with a random port number. If you are using an existing Web site, this field is populated with the current port number.

    Note:

    The default port number for HTTP access is 80, and the default port number for HTTPS access is 443. If you want users to access the Web application without typing in a port number, they should use the appropriate default port number.

  7. Optional: In the IIS Web Site section, in the Host Header box, type the host name (for example, www.contoso.com) you want to use to access the Web application.

    Note:

    In general, this field is not set unless you want to configure two or more IIS Web sites that share the same port number on the same server and DNS has been configured to point multiple server names to the same server.

  8. In the IIS Web Site section, in the Path box, type the path to the site directory on the server. If you are creating a new Web site, this field is populated with a suggested path. If you are using an existing Web site, this field is populated with the current path of that Web site.

  9. In the Security Configuration section, configure authentication and encryption for your extended Web application.

    1. In the Authentication Provider section, click Negotiate (Kerberos) or NTLM.

      Note:

      To enable Kerberos authentication, you must perform additional configuration. For more information, see Plan for Kerberos authentication (SharePoint Server 2010).

    2. In the Allow Anonymous section, click Yes or No. If you choose to allow anonymous access, this enables anonymous access to the Web site by using the computer-specific anonymous access account (that is, IIS_IUSRS).

      Note:

      If you want users to be able to access any site content anonymously, you must enable anonymous access for the entire Web application zone before you enable anonymous access at the SharePoint site level; later, site owners can configure how anonymous access is used within their sites. If you do not enable anonymous access at the Web application level, you cannot enable anonymous access later, at the site level. For more information, see Choose security groups (SharePoint Server 2010).

    3. In the Use Secure Sockets Layer (SSL) section, click Yes or No. If you choose to enable SSL for the Web site, you must configure SSL by requesting and installing an SSL certificate. For more information about setting up SSL, see How to Setup SSL on IIS 7.0 (http://go.microsoft.com/fwlink/p/?LinkId=187887).

  10. In the Public URL section, type the URL for the domain name for all sites that users will access in this Web application. This URL will be used as the base URL in links shown on pages within this Web application zone. The default URL is the current server name and port, and is automatically updated to reflect the current SSL, host header, and port number settings on the page. If you are deploying SharePoint Server 2010 behind a load balancer or proxy server, then this URL may need to be different than the SSL, host header, and port settings on this page.

  11. In the Public URL section, select the zone to use for the Web application in the drop-down menu.

    Note:

    You can create up to five zones within a Web application.

  12. Click OK to extend your existing Web application.

To extend an existing Web application that uses Windows-classic authentication by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin. You also need to be local Administrator on the computer that is running Windows PowerShell.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. To extend a Web application to the same port, but with a different host header, at the Windows PowerShell command prompt, type the following command:

    Copy Code
    Get-SPWebApplication -Identity <Identity> | New-SPWebApplicationExtension -Name <Name> -HostHeader <HostHeader> -Port <Port> -Zone <Zone> -URL <URL>

    Where:

    • <Identity> is the Web application that you want to extend.

    • <Name> is the name of the new IIS Web site in the Web application.

    • <HostHeader> is the host name assigned to this zone of the Web application.

    • <Port> is the port on which this zone of the Web application can be accessed.

    • <Zone> is the zone with which this new extension is to be associated.

    • <URL> is the public URL for this Web application zone.

    Example

    Copy Code
    Get-SPWebApplication -Identity http://sitename | New-SPWebApplicationExtension -Name ExtranetSite -HostHeader www.contoso.com -Port 80 -Zone Extranet -URL http://extranet.sitename.com

For more information, see New-SPWebApplicationExtension.

Note:

We recommend that you use Windows PowerShell when performing command-line administrative tasks. The Stsadm command-line tool has been deprecated, but is included to support compatibility with previous product versions.

See Also

Concepts

Create a Web application that uses Windows-classic authentication (SharePoint Server 2010)
Extend a Web application that uses Windows-claims authentication (SharePoint Server 2010)


Unextend a Web application (SharePoint Server 2010)
See Also

This article describes how to unextend a Web application. When you unextend a Web application, you remove the association between the Web application on the one hand and the IIS Web site and zone on the other hand. You would typically unextend a Web application if you want to be able to use the Web application at a later time, but do not want it to be available on that particular IIS Web site. This enables you to preserve the content databases and Web application settings associated with the Web application for later reuse.

If you update the alternate access mapping URLs of a Web application, SharePoint Server 2010 does not automatically update the IIS bindings. To fix this issue, you must unextend the Web application from the associated zone, and then re-extend the Web application with the updated IIS bindings.

You can also delete the IIS Web site if it is only hosting SharePoint-based content and you do not need the IIS Web site anymore.

Before you perform these procedures, confirm that:

  • No one is using the Web application zone that you want to unextend. For more information about the relationship between a zone and a Web application, see Logical architecture components (SharePoint Server 2010).

  • If you have User Account Control (UAC) turned on in Windows and you use Windows PowerShell to unextend a Web application, you must right-click the SharePoint 2010 Management Shell and select Run as administrator.

You can unextend a Web application by using the SharePoint Central Administration Web site or Windows PowerShell. You typically use Central Administration to unextend a Web application in a single server with built-in database deployment. If you want to automate the task of unextending a Web application, which is common in enterprises, use Windows PowerShell.

To unextend a Web application by using Central Administration

  1. Verify that you have the following administrative credentials:

    • To unextend a Web application, you must be a member of the Farm Administrators SharePoint group and a member of the local Administrator group on the computer running Central Administration.

  2. On the Central Administration Home page, in the Application Management section, click Manage web applications.

  3. Select the Web application that you want to unextend, and on the ribbon, select Delete, and then click Remove SharePoint from IIS Web Site.

  4. On the Remove SharePoint From IIS Web Site page, in the Deletion Options section, in the Select IIS Web site and zone to remove list, click the name Web application that you want to unextend from the IIS Web site and zone.

  5. Under Delete IIS web sites, do one of the following:

    • Select Yes if you want to delete the IIS Web site.

    • Select No if you do not want to delete the IIS Web site.

  6. Click OK.

To unextend a Web application by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin. You must also be a member of the local Administrators group on the computer running Central Administration.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell command prompt, type the following command:

    Copy Code
    Remove-SPWebApplication -identity http://sitename -Zone {Default | Intranet | Internet | Internet | Custom | Extranet} -Confirm

    This command removes the zone that you have specified for the Web application extension at http://sitename. This command does not remove the content databases or the IIS Web site.

    Note:

    Be aware that this cmdlet can be used to delete the Web application, so be sure to use the appropriate parameters.

For more information, see Remove-SPWebApplication.

Note:

We recommend that you use Windows PowerShell when performing command-line administrative tasks. The Stsadm command-line tool has been deprecated, but is included to support compatibility with previous product versions.

See Also

Concepts

Extend a Web application (SharePoint Server 2010)


Delete a Web application (SharePoint Server 2010)

This article describes how to delete a Web application. When you delete a Web application, you can optionally delete the content databases and the IIS Web sites. If you delete the content databases, all site content contained within them is deleted. If you delete the IIS Web sites, all IIS metabase entries that refer to the Web application are also deleted. If you only delete the Web application and not the content databases and the IIS Web sites, the content databases and IIS Web sites can be reused by another Web application.

Typically, you would delete a Web application for maintenance purposes or if you are rearchitecting the server farm.

If you are hosting content or applications other than SharePoint content on the IIS Web site that is hosting the Web application, you might want to consider not removing the IIS Web sites. Also, if you are performing maintenance work, you probably want to keep the IIS Web sites. However, if you are only hosting SharePoint content on the IIS Web site or if you plan to do a complete restructuring, then you would want to delete the IIS Web site.

If you want to delete the Web application temporarily, for example, to create the Web application under a different application pool, you might consider not removing the content databases. You can then recreate the Web application with the desired settings and reattach the existing content databases. If you delete the content databases, your content is gone forever unless you have a backup to restore the content databases.

Before you perform these procedures, confirm that:

  • You know the implications of deleting the IIS Web site and the content databases should you chose this option.

  • You have made a backup of the Web application that you plan to delete if, for some reason, you want to restore the deleted Web application. For more information, see Back up a Web application in SharePoint Server 2010.

  • If you have User Account Control (UAC) turned on in Windows, and you use Windows PowerShell to delete a Web application, you must right-click the SharePoint 2010 Management Shell and select Run as administrator.

You can delete a Web application by using the SharePoint Central Administration Web site or Windows PowerShell. You typically use Central Administration to delete a Web application in a single server with built-in database deployment. If you want to automate the task of deleting a Web application, which is common in enterprises, use Windows PowerShell.

To delete a Web application by using Central Administration

  1. Verify that you have the following administrative credentials:

    • To delete a Web application, you must be a member of the Farm Administrators SharePoint group and a member of the local Administrator group on the computer running Central Administration.

  2. On the Central Administration Home page, in the Application Management section, click Manage web applications.

  3. Select the Web application that you want to delete, and on the ribbon, click Delete and then Delete Web Application.

  4. On the Delete Web Application page, in the Delete Options section, under Delete content databases select Yes if you want to delete the content databases associated with the Web application. Otherwise, select No to keep the content databases.

  5. Under Delete IIS Web sites, select Yes to delete the Web application and the associated IIS Web site. Otherwise, select No to remove only the association of the IIS Web site with the Web application.

Important:

If your IT environment requires the use of a database administrator (DBA) for database creation and management, you might need to contact your DBA to delete the content databases for the Web application. For information about deploying in an environment that uses DBA-created databases, see Deploy by using DBA-created databases (SharePoint Server 2010).

To delete a Web application by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin. You must also be a member of the local Administrators group on the computer running Central Administration. If you want to delete the content databases associated with this Web application, you also need to have the SharePoint_Shell_Access role within these content databases.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell command prompt, type the following command:

    Copy Code
    Remove-SPWebApplication -identity http://sitename -Confirm

    This command permanently removes the Web application at http://sitename. This command does not remove the content databases or the IIS Web site.

For more information, see Remove-SPWebApplication.

Note:

We recommend that you use Windows PowerShell when performing command-line administrative tasks. The Stsadm command-line tool has been deprecated, but is included to support compatibility with previous product versions.


View site collections in a Web application (SharePoint Server 2010)
See Also

When you view a list of site collections through the Central Administration Web site, the page shows the URL, title, description, primary site collection administrator, the contact e-mail address, and the content database name for each site collection. When you use Windows PowerShell 2.0 commands to view site collections, you can view additional information, such as the name of the secondary site collection administrator, the maximum storage limit for the content database, and other details.

In this article:

  • To view site collections by using Central Administration

  • To view site collections by using Windows PowerShell

To view site collections by using Central Administration

  1. Verify that the user account that is performing this procedure is a member of the Farm Administrators SharePoint group.

  2. On the Central Administration Home page, click Application Management.

  3. On the Application Management page, in the Site Collections section, click View all site collections. The page lists site collections for the Web application that is displayed in the Web Application drop-down menu.

  4. If the Web application for which you want to view site collections is not listed, click the down-arrow on the Web Application menu, and then click Change Web Application. In the Select Web Application dialog box, click the name of the Web application that you want.

    A list of all site collections that are associated with the Web application is displayed. The site collections are listed in alphabetical order, in groups of 10 site collections per page.

  5. To view the details of a listed site collection, click the URL of the site collection in the URL column of the page (for example, /mysites or /sites/team).

  6. When you have finished viewing site collections, click OK.

To view site collections by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell command prompt, type the following command:

    Run the Get-SPWebApplication command to return all site collections for a Web application.

    Copy Code
    Get-SPWebApplication <http://WebApplicationURL> | Get-SPSiteAdministration -Limit ALL | Select URL

    Where <http://WebApplicationURL> is the URL of the Web application.

    Run the Get-SPSite command to store the identity of the desired site collection into the $site variable. This retrieves and stores the content database GUID for the site collection into the $dbguid variable.

    Copy Code
    $site = Get-SPSite <http://SiteName>
$dbguid = $site.contentdatabase.id

    Where <http://SiteName> is the name of the site collection.

    Run the Get-SPSite command using the $dbguid variable to display properties for the sites contained on this content database. In the following example, the URL, owner, secondary owner, and quota properties will be displayed in table format. Additional properties can be viewed by adding them to the command.

    Copy Code
    Get-SPSite -ContentDatabase $dbguid | Format-Table -Property Url, Owner, SecondaryOwner, Quota

For more information, see Get-SPWebApplication and Get-SPSite.

Note:

We recommend that you use Windows PowerShell when performing command-line administrative tasks. The Stsadm command-line tool has been deprecated, but is included to support compatibility with previous product versions.

See Also

Reference

Get-SPSiteAdministration


Manage permissions for a Web application (SharePoint Server 2010)
See Also

Published: May 8, 2010

A Web application is composed of an Internet Information Services (IIS) Web site that acts as a logical unit for the site collections that you create. Before you can create a site collection, you must create a Web application.

All Web applications have List, Site, and Personal permissions. Permissions for a Web application are comprehensive settings that apply to all users and groups for all site collections within a Web application. You can control user actions by enabling or disabling the associated permission on the Web application. For example, if you do not want users to be able to add pages to a Web site, you can disable the Add and Customize Pages permission that is one of the site-related permissions. For more information, see User permissions and permission levels (SharePoint Server 2010).

Important:

After you disable a specific permission for a Web application, the permission cannot be granted to any user of a site on the Web application.

If you want to set permissions for specific users or groups in a Web application, you can create a permission policy for the Web application. For more information, see Manage permission policies for a Web application (SharePoint Server 2010).

Manage permissions for a Web application

You can configure a set of permissions to control the way users can interact with the sites and content within a Web application.

To manage permissions for a Web application

  1. Verify that you have the following administrative credentials:

    • You must be a member of the Farm Administrators group on the computer that is running the SharePoint Central Administration Web site.

  2. On the Central Administration Web site, in the Application Management section, click Manage Web applications.

  3. On the Web Applications tab of the ribbon, click the Web application for which you want to manage permissions.

  4. In the Security group of the ribbon, click User Permissions.

  5. In the User Permissions for Web Application dialog box, select the check boxes next to the permissions that you want to enable, and clear the check boxes next to those permissions that you want to disable.

    You can select all permissions by selecting the Select All check box. You can clear all permissions by clearing the Select All check box.

  6. Click Save.

See Also

Other Resources

Resource Center: Security and Authentication for SharePoint Server 2010


Manage permission policies for a Web application (SharePoint Server 2010)

Published: May 8, 2010

A Web application is composed of an Internet Information Services (IIS) Web site that acts as a logical container for the site collections that you create. Before you can create a site collection, you must create a Web application.

A Web application can contain as many as 250,000 site collections. Managing permissions for so many site collections can be complicated and error-prone, especially if some users or groups need permissions other than those that apply for the entire Web application.

Permission policies provide a centralized way to configure and manage a set of permissions that applies to only a subset of users or groups in a Web application. For more information, see User permissions and permission levels (SharePoint Server 2010).

The differences between specifying user permissions for a Web application and creating a permission policy for a Web application are the users and groups to which the permissions apply and the scope at which the permissions apply. There is also a difference in the permissions lists where individual permissions are selected.

  • Permissions for a Web application are comprehensive settings that apply to all users and groups for all site collections within a Web application. The permissions list contains only one column, and all permissions are enabled by default. You must disable specific permissions individually.

    For more information, see Manage permissions for a Web application (SharePoint Server 2010).

  • A permission policy level for a Web application contains permissions that enable a subset of users or groups to work with site collections in a specific way. For example, you might want to create a permission policy level for users of a site collection who will be allowed to add, edit, or delete items from a list, open a list, and view items, lists, and pages. However, you might want to prevent the same users from creating or deleting lists, which would require the Manage Lists permission.

    The permissions list contains a Grant All column and a Deny All column. You can either grant or deny all permissions as part of a permission policy level. You can also grant or deny individual permissions. No permissions are enabled by default. If an individual permission is neither granted nor denied, it can be set at the discretion of the site collection administrator or site administrator.

Warning:

A permission policy is different from an information management policy. A permission policy enables centralized management of permissions for a Web application. Information management policies enable you to control who can access information, what they can do with the information, and how long the information should be retained. A permission policy is also different from Group Policy, which provides an infrastructure for centralized configuration management of an operating system and applications that run on an operating system.

In this article:

  1. Manage user permission policy

  2. Manage permission policy for anonymous users

  3. Manage permission policy levels

Manage user permission policy

You can add users to a permission policy, edit the policy settings, and delete users from a permission policy. The following settings can be specified or changed:

  • Zone: If a Web site has multiple zones, you can choose the zone that you want the permission policy to apply to. The default is all zones, which can be specified for Windows users only. For more information, see Extend a Web application (SharePoint Server 2010).

  • Permissions: You can specify Full Control, Full Read, Deny Write, and Deny All permissions, or you can specify a custom permission level.

  • System: This setting enables SharePoint to display SHAREPOINT\System for system-related activity regardless of the Windows user accounts that have been configured for the hosting application pool and the SharePoint farm service account. You might want to specify this setting to prevent unnecessary information disclosure to end users and potential hackers who would be interested in knowing more about the SharePoint deployment in the enterprise.

Add users to a permission policy

You might want to add users to a permission policy to ensure that all users are accessing content with the same set of permissions.

To add users to a permission policy

  1. Verify that you have the following administrative credentials:

    • You must be a member of the Farm Administrators group on the computer that is running the SharePoint Central Administration Web site.

  2. On the Central Administration Web site, in the Application Management section, click Manage web applications.

  3. Click to highlight the line for the Web application whose permission policy you want to manage.

  4. In the Policy group of the ribbon, click User Policy.

  5. In the Policy for Web Application dialog box, select the check box next to the user or group that you want to manage, and then click Add Users.

  6. In the Add Users dialog box, in the Zone list, click the zone to which you want the permission policy to apply.

  7. In the Choose Users section, type the user names, group names, or e-mail addresses that you want to add to the permission policy. You can also click the applicable icon to check a name or browse for names.

  8. In the Choose Permissions section, select the permissions that you want the users to have.

  9. In the Choose System Settings section, check Account operates as System if you want to specify whether a user account should be displayed as SHAREPOINT\System instead of the actual accounts that perform specific tasks within the SharePoint environment.

  10. Click Finish.

Edit a user permissions policy

You can edit a user permission policy to change the permission level or to specify whether a user account should be displayed as SHAREPOINT\System instead of the actual accounts that perform specific tasks within the SharePoint environment.

To edit a user permissions policy

  1. Verify that you have the following administrative credentials:

    • You must be a member of the Farm Administrators group on the computer that is running the SharePoint Central Administration Web site.

  2. On the Central Administration Web site, in the Application Management section, click Manage web applications.

  3. Click to highlight the line for the Web application whose permission policy you want to edit.

  4. In the Policy group of the ribbon, click User Policy.

  5. In the Policy for Web Application dialog box, select the check box next to the user or group that you want to manage, and then click Edit Permissions of Selected Users.

  6. On the Edit Users page, in the Permission Policy Levels section, select the permissions you want the users to have.

  7. In the Choose System Settings section, click Account operates as System to specify whether a user account should be displayed as SHAREPOINT\System instead of the actual accounts that perform specific tasks within the SharePoint environment.

  8. Click Save.

Delete users from a permission policy

You might want to delete users from a permission policy when they are no longer members of the group or organization to which the policy applies. For example, when an employee leaves the company, that person's user account should be removed from all permission policies.

To delete users from a permission policy

  1. Verify that you have the following administrative credentials:

    • You must be a member of the Farm Administrators group on the computer that is running the SharePoint Central Administration Web site.

  2. On the Central Administration Web site, in the Application Management section, click Manage web applications.

  3. Click to highlight the line for the Web application whose permission policy you want to manage.

  4. In the Policy group of the ribbon, click User Policy.

  5. In the Policy for Web Application dialog box, select the check box next to the user or group that you want to manage, click Delete Selected Users, and then click OK.

Manage permission policy for anonymous users

You can enable or disable anonymous access for a Web application. If you enable anonymous access for a Web application, site administrators can then grant or deny anonymous access at the site collection, site, or item level. If anonymous access is disabled for a Web application, no sites within that Web application can be accessed by anonymous users.

The following permission policies can be specified for anonymous users:

  1. None: No policy is specified. This setting gives anonymous users the same default permissions available to NT AUTHORITY\Authenticated Users and All Authenticated Users.

  2. Deny Write: This setting permits anonymous users to read all content within the site collections in a Web application. You can then restrict the Read access by site collection, site, or item.

  3. Deny All: Anonymous users have no access to any part of the Web application.

To manage permission policy for anonymous users

  1. Verify that you have the following administrative credentials:

    • You must be a member of the Farm Administrators group on the computer that is running the SharePoint Central Administration Web site.

  2. On the Central Administration Web site, in the Application Management section, click Manage web applications.

  3. Click to highlight the line for the Web application whose permission policy you want to manage.

  4. In the Policy group of the ribbon, click Anonymous Policy.

  5. In the Anonymous Access Restrictions dialog box, in the Zone list, click the zone for which you want the policy to apply.

  6. In the Permissions section, select the permission policy that you want anonymous users to have, and then click Save.

Manage permission policy levels

Permission policy levels contain permissions that apply to specific users or groups. You can specify a combination of List, Site, or Personal permissions. You can also specify one of the following levels of site collection permissions:

  • Site Collection Administrator: Has Full Control permission on the entire site collection and can perform any action on any object.

  • Site Collection Auditor: Has Full Read permission on the entire site collection and associated data, such as permissions and configuration information.

If you specify either or both of these permission levels, you cannot specify individual permissions.

Add a permission policy level

You can create a permission policy level to customize a set of permissions for a specific group or organization.

To add a permission policy level

  1. Verify that you have the following administrative credentials:

    • You must be a member of the Farm Administrators group on the computer that is running the SharePoint Central Administration Web site.

  2. On the Central Administration Web site, in the Application Management section, click Manage web applications.

  3. Click to highlight the line for the Web application whose permission policy you want to manage.

  4. In the Policy group of the ribbon, click Permission Policy.

  5. In the Manage Permission Policy Levels dialog box, click Add Permission Policy Level.

  6. In the Add Permission Policy Level dialog box, in the Name and Description section, type the name and description for the policy that you want to create.

  7. In the Site Collection Permissions section, select the site collection permissions for this policy.

  8. In the Permissions section, select the permissions to grant or deny for this permission level.

    • Select the Grant All check box to include all available permissions in this policy.

    • Select the Deny All check box to deny all available permissions in this policy.

    • Select either the Grant or Deny check boxes to include or exclude individual List, Site, and Personal permissions from this policy.

      Do not click either Grant or Deny if you want to allow site collection or site owners to configure this permission.

  9. Click Save.

Edit a permission policy level

You can edit a permission policy level to add or remove individual permissions, depending on the needs of the user or group that is using the permission policy level.

To edit a permission policy level

  1. Verify that you have the following administrative credentials:

    • You must be a member of the Farm Administrators group on the computer that is running the SharePoint Central Administration Web site.

  2. On the Central Administration Web site, in the Application Management section, click Manage web applications.

  3. Click to highlight the line for the Web application whose permission policy you want to manage.

  4. In the Policy group of the ribbon, click Permission Policy.

  5. In the Manage Permission Policy Levels dialog box, click the link for the permission policy level that you want to edit.

  6. On the Edit Permission Policy Level page, edit the settings, and then click Save.

Delete a permission policy level

You might want to delete a permission policy level if the group or organization for which you created it no longer needs to use it. It is a good practice to review all existing permission policy levels to ensure that they are still required.

To delete a permission policy level

  1. Verify that you have the following administrative credentials:

    • You must be a member of the Farm Administrators group on the computer that is running the SharePoint Central Administration Web site.

  2. On the Central Administration Web site, in the Application Management section, click Manage web applications.

  3. Click to highlight the line for the Web application whose permission policy you want to manage.

  4. In the Policy group of the ribbon, click Permission Policy.

  5. In the Manage Permission Policy Levels dialog box, select the check box of a permission policy level, click Delete Selected Permission Policy Levels, and then click OK.


Health monitoring (SharePoint Server 2010)

The articles in this section are written to meet the requirements of information technology (IT) professionals who are responsible for the planning, design, deployment, and operations of monitoring. These solutions might be in enterprise, corporate, or branch-office environments. The IT professionals who are responsible for monitoring solutions are expected to have an understanding of the technical details that are contained in this section. However, service-level expertise is not needed to understand the enterprise-level discussions and decisions.

The monitoring features in Microsoft SharePoint Server 2010 help you to understand how the SharePoint Server 2010 system is running, analyze and repair problems, and view metrics for the sites. Monitoring the SharePoint Server 2010 environment includes the following tasks:

  1. Configuring the various aspects of monitoring to suit business needs.

  2. Monitoring the environment and resolving any problems that might arise.

  3. Viewing reports and logs of the environment activity.

Monitoring

Included in this section:

  • Monitoring overview (SharePoint Server 2010)

  • Configuring monitoring (SharePoint Server 2010)

  • Viewing reports and logs (SharePoint Server 2010)

  • Solving problems and troubleshooting (SharePoint Server 2010)

  • Monitor health and performance of a virtual environment (SharePoint Server 2010)


Monitoring overview (SharePoint Server 2010)
See Also

The monitoring features in Microsoft SharePoint Server 2010 help you to understand how the SharePoint Server 2010 system is running, analyze and repair problems, and view metrics for the sites. Monitoring the SharePoint Server 2010 environment includes the following tasks:

  1. Configuring the various aspects of monitoring to suit business needs.

  2. Monitoring the environment and resolving any problems that might arise.

  3. Viewing reports and logs of the environment activity.

In this article:

  • Configuring monitoring

  • Monitoring the farm and resolving problems by using SharePoint Health Analyzer

  • View and use reports

Configuring monitoring

SharePoint Server 2010 comes installed with default settings for its monitoring features. However, you might want to change some of these settings to better suit the business needs. The aspects that you might change configuration settings for include diagnostic logging and health and usage data collection.

Diagnostic logging

SharePoint Server 2010 collects data in the diagnostic log that can be useful in troubleshooting. The default settings are sufficient for most situations, but depending upon the business needs and lifecycle of the farm, you might want to change these settings. For example, if you are deploying a new feature or making large-scale changes to the environment, you might want to change the logging level to either a more verbose level, to capture as much data about the state of the system during the changes, or to a lower level to reduce the size of the log and the resources needed to log the data. For more information and best practices, see Configure diagnostic logging (SharePoint Server 2010).

Health and usage data collection

The monitoring features in SharePoint Server 2010 use specific timer jobs to perform monitoring tasks and collect monitoring data. The health and usage data might consist of performance counter data, event log data, timer service data, metrics for site collections and sites, search usage data, or various performance aspects of the Web servers. The system uses this data to create health reports, Web Analysis reports, and administrative reports. The system writes usage and health data to the logging folder and to the logging database.

A timer job is a trigger to start to run a specific Windows service for one of the SharePoint 2010 products. It contains a definition of the service to run and specifies how frequently the service should be started. The Windows SharePoint Services Timer v4 service (SPTimerV4) runs timer jobs. Many features in SharePoint 2010 products rely on timer jobs to run services according to a schedule.

You might want to change the schedules that the timer jobs run on to collect data more frequently or less frequently. You might even want to disable jobs that collect data that you are not interested in. You can perform the following tasks on timer jobs:

  • Modify the schedule that the timer job runs on.

  • Run timer jobs immediately.

  • Enable or disable timer jobs.

  • View timer job status. You can view currently scheduled jobs, failed jobs, currently running jobs, and a complete timer job history.

For more information about configuring these settings, see Configure SharePoint Health Analyzer timer jobs (SharePoint Server 2010).

Monitoring the farm and resolving problems by using SharePoint Health Analyzer

SharePoint Server 2010 includes a new, integrated health analysis tool that is named SharePoint Health Analyzer that enables you to check for potential configuration, performance, and usage problems. SharePoint Health Analyzer runs predefined health rules against servers in the farm. A health rule runs a test and returns a status that tells you the outcome of the test. When any rule fails, the status is written to the Health Reports list in SharePoint Server 2010 and to the Windows Event log. The SharePoint Health Analyzer also creates an alert in the Health Analyzer Reports list on the Review problems and solutions page in Central Administration. You can click an alert to view more information about the problem and see steps to resolve the problem. You can also open the rule that raised the alert and change its settings.

Like all SharePoint Server 2010 lists, you can edit Health Analyzer Reports list items, create custom views, export the list items into Microsoft Excel, subscribe to the RSS feed for the list, and many other tasks. Each health rule falls in one of the following categories: Security, Performance, Configuration, or Availability.

A health rule can be run on a defined schedule or on an impromptu basis. All health rules are available through Central Administration, on the Monitoring page, for either immediate or scheduled execution.

For more information about the health rules and how to troubleshoot problems in SharePoint Server 2010, see SharePoint Health Analyzer rules reference (SharePoint Server 2010).

Farm administrators can configure specific health rules to do the following:

  • Enable or disable rules.

  • Configure rules to run on a predefined schedule.

  • Define the scope where the rules run.

  • Receive e-mail alerts when problems are found.

  • Run rules an impromptu basis.

For more information about configuring these settings, see Configure usage and health data collection (SharePoint Server 2010).

View and use reports

SharePoint Server 2010 can be configured to collect data and create reports about server status and site use. You perform the following using reporting:

  • View administrative reports, such as search reports.

  • Create and review Information Management Policy Usage reports.

  • View health reports that include slowest pages and top active pages.

  • View Web Analytics reports that include Web site traffic reports, search query reports, and customized reports.

See Also

Other Resources

Resource Center: What's New in Microsoft SharePoint Server 2010


Configuring monitoring (SharePoint Server 2010)
See Also

The articles in this section are written to meet the requirements of information technology (IT) professionals who are responsible for the planning, design, deployment, and operations of monitoring. These solutions might be in enterprise, corporate, or branch-office environments. The IT professionals who are responsible for monitoring solutions are expected to have an understanding of the technical details that are contained in this section. However, service-level expertise is not needed to understand the enterprise-level discussions and decisions.

The Microsoft SharePoint Server 2010 environment might require that you configure monitoring settings after initial deployment or upgrade. You might need to change the information that is collected for monitoring, when and how often it is collected, or other logging settings that better suit the business and environment requirements.

Configure monitoring

Included in this section

  • Configure diagnostic logging (SharePoint Server 2010)

  • Configure usage and health data collection (SharePoint Server 2010)

  • Configure SharePoint Health Analyzer rules (SharePoint Server 2010)

  • Configure SharePoint Health Analyzer timer jobs (SharePoint Server 2010)

See Also

Other Resources

Monitoring (SharePoint Server 2010)


Configure SharePoint Health Analyzer timer jobs (SharePoint Server 2010)
See Also

The SharePoint Health Analyzer in SharePoint Server 2010 uses timer jobs to collect health data and then writes the data to the logging folder and to the Logging database. This data are used in reports to display health of the farm servers. You can reschedule these timer jobs, run them immediately, or enable or disable them.

In this article:

  • Use Central Administration to configure health data collection timer jobs

  • Use Windows PowerShell to configure health data collection timer jobs

Use Central Administration to configure health data collection timer jobs

You can use Central Administration to configure health data collection timer jobs.

To configure health data collection timer jobs by using Central Administration

  1. Verify that the user account that is performing this procedure is a member of the Farm Administrators group.

    Note:

    The health data collection timer job settings are farm-wide and cannot be set for individual servers in the farm.

  2. In Central Administration, on the Home page, click Monitoring.

  3. On the Monitoring page, in the Reporting section, click Configure usage and health data collection.

  4. On the Configure usage and health data collection page, do one of the following:

    • To enable the timer job, click Enable.

    • To disable the timer job, click Disable.

    1. in the Health Logging section, click Health Logging Schedule. A page opens that lists all the timer jobs that collect health data.

    2. On the Job Definitions page, click the timer job that you want to configure.

    3. On the Edit Timer Job page, in the Recurring Schedule section, change the timer job schedule, and then click OK.

Use Windows PowerShell to configure health data collection timer jobs

You can configure the health collection timer job schedule by using Windows PowerShell.

To configure health data timer jobs by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell command prompt (that is, PS C:\>), type the following command, and then press ENTER:

    Set-SPTimerJob [-Identity <name>] [-Schedule <Schedule string>]

    The value of the Identity parameter specifies the timer job. If you do not use the Identity parameter, all timer jobs are configured. To see a list of all the timer jobs, type the following command, and then press ENTER:

    Get-SPTimerJob | Format-Table -property id,title

    Use the value of the Schedule parameter to specify the schedule, where <Schedule string> is one of the following:

    • every <1-60> seconds

    • every <1-60> minutes at <1-60>

    • every <1-60> minutes between <1-60> and <1-60>

    • hourly between <1-59> minutes past the hour and <1-59> minutes past the hour

    • daily between starting from <hh:mm:ss> and starting no later than <hh:mm:ss>

    • weekly between starting on <day of the week hh:mm:ss> and starting no later than <day of the week hh:mm:ss>

    • monthly between starting on < day number hh:mm:ss> and starting no later than < day number hh:mm:ss>

    • monthly by <hh:mm:ss> on <week number> <day of week>

    To see examples of timer job schedules, type the following command, and then press ENTER:

    Get-SPTimerJob | Format-Table -property id,title,schedule

    For more information, see Get-SPTimerJob and Set-SPTimerJob.

Note:

We recommend that you use Windows PowerShell when performing command-line administrative tasks. The Stsadm command-line tool has been deprecated, but is included to support compatibility with previous product versions.

See Also

Concepts

Monitoring overview (SharePoint Server 2010)


Configure SharePoint Health Analyzer rules (SharePoint Server 2010)
See Also

This topic describes how to configure SharePoint Health Analyzer rules.

Note:

You can use only Central Administration to configure SharePoint Health Analyzer rules.

Configuring health rules

You can accept the default settings for each health rule, or you can change settings for a health rule by using Central Administration.

To configure health rules by using Central Administration

  1. Verify that the user account that is performing this procedure is a member of the Farm Administrators group.

  2. In Central Administration, on the Home page, click Monitoring.

  3. On the Monitoring page, under Health Analyzer, click Review rule definitions.

  4. On the Health Rule Definitions page, click the rule that you want to configure.

  5. In the Health Analyzer Rule Definitions dialog, click Edit Item.

  6. Edit one or more rule fields, and then click Save.

    To leave the rule unchanged, either dismiss the dialog or click Cancel.

Each health rule has configurable fields, which are described in the following table.

Configurable Field Possible Values

Title

The name of the health rule. You can rename a health rule to clarify its functionality. The title is the name of the rule as it appears in the Health Rule Definitions list In Central Administration.

Changing the title does not affect how the rule runs.

Scope

You can set a health rule to run against all servers or any server. If set to any server, the rule will run on the first available server that the system encounters.

Schedule

You can schedule a health rule to run hourly, daily, weekly, monthly, or on demand only.

Enabled

You can use this to enable or disable a health rule.

Repair Automatically

You can define whether a health rule automatically tries to recover from any error conditions that it finds. If this option is selected, SharePoint Server 2010 will repair errors as soon as they are found, as defined by the rule.

Note:

If no repair is specified by the rule, the system does not attempt to repair the problem.

Version

Version history enables you to track the changes performed on each rule. The version number is updated every time the rule is saved. The version number does not affect how the rule behaves.

Each health rule has read-only fields, which are described in the following table.

Read-Only Field | Meaning
Version | This current version number of the rule.
Created at | The date and time that the rule was originally created and the user account that created the rule.
Last modified at | The date and time that the rule was last changed and the user account that created the rule.

See Also

Concepts

SharePoint Health Analyzer rules reference (SharePoint Server 2010)


Viewing reports and logs (SharePoint Server 2010)
See Also

The articles in this section are written to meet the requirements of information technology (IT) professionals who are responsible for the planning, design, deployment, and operations of monitoring. These solutions might be in enterprise, corporate, or branch-office environments. The IT professionals who are responsible for monitoring solutions are expected to have an understanding of the technical details that are contained in this section. However, service-level expertise is not needed to understand the enterprise-level discussions and decisions.

You can monitor the Microsoft SharePoint Server 2010 environment by viewing reports of the health of the system and sites and diagnostic logs that provide detailed information about any problems that might arise.

Included in this section

  • View health reports (SharePoint Server 2010)

  • View Web Analytics reports (SharePoint Server 2010)

  • View diagnostic logs (SharePoint Server 2010)

  • View administrative reports (SharePoint Server 2010)

  • View timer job status (SharePoint Server 2010)

  • Monitor cache performance (SharePoint Server 2010)

  • Understanding the Logging Database (SharePoint Server 2010)

See Also

Other Resources

Monitoring (SharePoint Server 2010)


View administrative reports (SharePoint Server 2010)
See Also

Administrative reports are pre-built reports that use usage data to analyze various aspects of Microsoft SharePoint Server 2010, such as search crawl and query performance.

Note:

You cannot use Windows PowerShell to view administrative report data.

View administrative reports by using Central Administration

You can view administrative reports by using Central Administration.

To view administrative reports by using Central Administration

  1. Log on as a member of the Farm Administrators group.

  2. In Central Administration, on the Home page, click Monitoring.

  3. On the Monitoring page, in the Reporting section, click View administrative reports.

  4. On the Administrative Report Library page, click the name of the report folder.

  5. On the report folder page, click the name of the report to view the report.

  6. To view different results, change the filter settings and click Apply Settings.

    Note:

    The report might have settings that you can use to narrow the results to a specific scope or time range.

See Also

Concepts

Monitoring overview (SharePoint Server 2010)


View health reports (SharePoint Server 2010)
See Also

This article provides information about how to view health reports in.

Health reports are pre-built reports in Microsoft SharePoint Server 2010 that use usage data to analyze various aspects of sites and site collections such as slowest pages and top active users.

Note:

You cannot use Windows PowerShell to view health report data.

View health reports by using Central Administration

You can view health reports only by using Central Administration.

To view health reports by using Central Administration

  1. Log on as a member of Farm Administrators SharePoint group.

  2. In Central Administration, on the Home page, click Monitoring.

  3. On the Monitoring page, in the Reporting section, click View health reports.

  4. On the report page, in the Quick Launch, click the name of the report to view the report.

  5. To view report data, select the data criteria, and then click Go.

  6. To sort data rows, click the column name.

See Also

Concepts

Monitoring overview (SharePoint Server 2010)


View Web Analytics reports (SharePoint Server 2010)
See Also

Web Analytics reports are pre-built reports in Microsoft SharePoint Server 2010 that use usage data to analyze various aspects of sites and site collections.

Note:

You cannot use Windows PowerShell to view Web Analytics report data.

View Web Analytics reports by using Central Administration

You can view Web Analytics reports only by using Central Administration.

To view Web Analytics reports by using Central Administration

  1. Log on as a member of the Farm Administrators SharePoint group.

  2. In Central Administration, on the Home page, click Monitoring.

  3. On the Monitoring page, in the Reporting section, click View Web Analytics reports.

  4. On the Web Analytics Reports page, click the Web application.

  5. On the Web Analytics Reports - Summary page, in the Quick Launch, click the name of the report to view the report. The following table shows the standard reports available and whether you can change the settings by clicking Analyze in the ribbon.

    Report Date Range Export to Spreadsheet Filter Paging Size

    Summary

    Yes

    Yes

    No

    No

    Number of Page Views

    Yes

    Yes

    No

    No

    Number of Daily Unique Visitors

    Yes

    Yes

    No

    No

    Number of Referrers

    Yes

    Yes

    No

    No

    Top Pages

    Yes

    Yes

    Yes

    Yes

    Top Visitors

    Yes

    Yes

    Yes

    Yes

    Top Referrers

    Yes

    Yes

    Yes

    Yes

    Top Destinations

    Yes

    Yes

    Yes

    Yes

    Top Browsers

    Yes

    Yes

    Yes

    Yes

    Number of Queries

    Yes

    Yes

    Yes

    No

    Number of Collections

    Yes

    Yes

    No

    No

    Top Site Collection Templates

    Yes

    Yes

    No

    No

    Customized Reports

    Custom

    Custom

    Custom

    Custom

  6. To sort the rows in the data grid on the report page, click on the column name.

See Also

Concepts

Monitoring overview (SharePoint Server 2010)


View diagnostic logs (SharePoint Server 2010)
See Also

You can use data from the Universal Logging System (ULS) logs in Microsoft SharePoint Server 2010 to troubleshoot problems in the farm. The ULS log can collect data at varying levels depending upon the logging settings. You can use Windows PowerShell to filter the data, display it in various ways, and output the data to a data grid with which you can filter, sort, group, and export data to Microsoft Excel 2010.

For more information, see Configure diagnostic logging (SharePoint Server 2010).

View and filter log events by using Windows PowerShell

You can use Windows PowerShell to view and filter log events. You cannot view or filter log events by using Central Administration.

To view and filter log events by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell command prompt, type one of the following commands:

    • All trace events:

      Get-SPLogEvent

    • By level:

      Get-SPLogEvent | Where-Object {$_.Level -eq [Information | Warning | Error | Critical | Verbose | Unexpected | Monitorable | High | Medium]}

    • By area:

      Get-SPLogEvent | Where-Object {$_.Area -eq <Area>}

      Where <Area> is the value of the Area property.

    • By category:

      Get-SPLogEvent | Where-Object {$_.Category -eq <Category>

      Where <Category > is the value of the Category property.

    • By event ID:

      Get-SPLogEvent | Where-Object {$_.EventID -eq <EventID>}

      Where <EventID> is the value of the EventID property.

    • By message text:

      Get-SPLogEvent | Where-Object {$_.Message -like "*<string>*"}

      Where <string> is the string found in the event message.

    • By process:

      Get-SPLogEvent | Where-Object {$_.Process -like "*<Process>*"}

      Where <Process > is the value of the Process property.

    Tip:

    By default, the command retrieves data from the default ULS log folder. To view and filter trace events that are on shared folder on a network, use the Directory parameter of the Get-SPLogEvent cmdlet.

    To view more details about each trace event, use Format-List at the end of the command. For example, Get-SPLogEvent | Where-Object {$_.Area -eq "SharePoint Foundation"} | Format-List.

For more information, see Get-SPLogEvent.

Note:

We recommend that you use Windows PowerShell when performing command-line administrative tasks. The Stsadm command-line tool has been deprecated, but is included to support compatibility with previous product versions.

View and export diagnostic logs by using the Windows PowerShell Out-GridView cmdlet

Windows PowerShell provides a powerful and easy-to-use feature that displays tabular data resulting from Windows PowerShell commands in a filterable, searchable data grid in a separate window. You can use this grid to view log events and to perform the following operations on the data:

  • Sort the data by any column.

  • View the data in groups.

  • Filter the data by Level, Area, Category, Message, Event ID, or Timestamp.

  • Search the data for any string.

  • Export raw or sorted or filtered data to a spreadsheet.

Note:

The Out-GridView cmdlet cannot be used with cmdlets that use the Format verb. The Out-GridView cmdlet receives objects whereas the cmdlets that use the Format verb return only formatted text. However, you can pre-filter the data sent to the grid view by using the Where-Object pipeline — for example, Get-SPLogEvent | Where-Object {$_.Area -eq "SharePoint Foundation"} | Out-GridView.

If the grid is displaying more than several hundred rows, it might run slowly, especially if performing complex filtering operations. For faster performance, export the data to Excel 2010.

For more information, see Out-GridView (http://go.microsoft.com/fwlink/p/?LinkId=181248) and Out-GridView Revisited (http://go.microsoft.com/fwlink/p/?LinkId=181249).

To view and filter diagnostic logs by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell command prompt, type the following command:

    Get-SPLogEvent | Out-GridView

  6. To view the results in groups:

    1. Right-click the column header, click Show In Groups, and then click the column header for the value by which you want to group the results.

    2. To expand or collapse a specific group, click the arrow next to the group name.

    3. To remove grouping, right-click the column header, and then click Show In Groups.

  7. To sort columns, click the column header.

  8. To search for a specific string, type the string in the Search box. Search is performed over all columns and rows. To clear the search, click Clear All.

  9. To filter data on only one criterion, type the following in the Search box: <property name>:<value>. For example, to search for all log entries raised by Windows SharePoint Foundation 2010, type the following: Area:SharePoint Foundation. To clear the filter, click Clear All.

  10. To filter data by using more than one criterion or by using criteria with "contains, begins with, ends with" or other methods:

    1. Click Query.

    2. Click Add.

    3. Click the check box for the properties that you want to filter on, and then click OK.

    4. Click contains to change to a different filter method. The methods available are contains, does not contain, starts with, equals, does not equal, ends with, is empty, and is not empty.

    5. Type a value in the text box.

    6. Repeat steps "e" and "f" for each property you selected in step "c".

    7. When all the filtering criteria are specified, click the search button to filter the data grid.

    8. To clear a specific filter, click the X button.

    9. To clear all the filters, collapse the query view and click the Clear All button.

To export grid data to a spreadsheet

  1. Select the rows that you want to export. You can select multiple rows by using SHIFT+DRAG to select a block of rows, CTRL+CLICK to select specific rows, or CTRL+A to select all rows.

    You can also filter and sort the results before you copy the data into a spreadsheet. When you sort or filter data, only the resulting viewable data is copied over.

  2. Copy the selected rows by using CTRL+C.

  3. Open the spreadsheet workbook page, and then paste the copied rows into it by using CTRL+V.

See Also

Concepts

Configure diagnostic logging (SharePoint Server 2010)
Monitoring overview (SharePoint Server 2010)


View timer job status (SharePoint Server 2010)
See Also

A timer job runs a specific Windows service for Microsoft SharePoint Server 2010. The timer job contains a definition of the service to run and specifies how frequently the service is started. The Windows SharePoint Services Timer v4 service (SPTimerV4) runs timer jobs. Many features inSharePoint Server 2010 rely on timer jobs to run services according to a schedule. You can view the status of timer jobs that have been run by using the Central Administration Web site or Windows PowerShell.

In this article:

  • View timer job status by using Central Administration

  • View timer job status by using Windows PowerShell

View timer job status by using Central Administration

You can view timer job status by using Central Administration.

To view timer job status by using Central Administration

  1. Verify that the user account that is performing this procedure is a member of the Farm Administrators SharePoint group.

  2. In Central Administration, on the Home page, click Monitoring.

  3. On the Monitoring page, in the Timer Jobs section, click Check job status.

  4. Timer job status is divided into three groups: Scheduled, Running, and History. To page through the timer job status data rows, click the paging arrows at the bottom of these groups.

  5. To view the timer job status for a specific group, click the title of the group. Alternatively, in the Quick Launch, click Scheduled Jobs, Running Jobs, or Job History.

View timer job status by using Windows PowerShell

You can view timer job status by using Windows PowerShell.

To view timer job status by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell command prompt (that is, PS C:\>), type the following command, and then press ENTER:

    Get-SPTimerJob [-Identity <Timer job name…>] | Format-Table -Property DisplayName,Id,LastRunTime,Status

    You can use the value of the Identity parameter to specify a timer job. If you do not use the Identity parameter, all timer jobs are returned.

    To view the history of a specific timer job, type the following command, and then press ENTER:

    (Get-SPTimerJob [-Identity <Timer job name…>]).HistoryEntries | Format-Table -Property Status,StartTime,EndTime,ErrorMessage

For more information, see Get-SPTimerJob.

Note:

We recommend that you use Windows PowerShell when performing command-line administrative tasks. The Stsadm command-line tool has been deprecated, but is included to support compatibility with previous product versions.

See Also

Concepts

Monitoring overview (SharePoint Server 2010)


Monitor cache performance (SharePoint Server 2010)
See Also

Published: August 12, 2010

The article contains information about monitoring the cache performance for the Microsoft SharePoint Server 2010 farm. By monitoring cache performance, you can ensure that the farm cache settings are correct and that the caching is running at maximum performance. This article provides information about binary large object (BLOB) caching, ASP.NET output caching, and object caching.

In this article:

  • About cache monitoring

  • Monitoring BLOB cache performance

  • Monitoring ASP.NET output cache performance

  • Monitoring object cache performance

About cache monitoring

SharePoint Server 2010 provides three types of caches that help improve the speed at which Web pages load in the browser: the BLOB cache, the ASP.NET output cache, and the object cache.

  • The BLOB cache is a disk-based cache that stores binary large object files that are used by Web pages to help the pages load quickly in the browser.

  • The ASP.NET output cache stores the rendered output of a page. It also stores different versions of the cached page, based on the permissions of the users who are requesting the page.

  • The object cache reduces the amount of traffic between the Web server and the SQL database by storing objects—such as lists and libraries, site settings, and page layouts—in memory on the front-end Web server computer. As a result, the pages that require these items are able to be rendered quickly, increasing the speed with which pages are delivered to the client browser.

Monitoring consists of regularly viewing specific Performance Monitors and making adjustments in the settings to correct any performance issues. The monitors measure cache hits, cache misses, cache compactions, and cache flushes. The following list describes each of these performance monitors.

  • A cache hit occurs when the cache receives a request for an object whose data is already stored in the cache. A high number of cache hits indicates good performance and a good end-user experience.

  • A cache miss occurs when the cache receives a request for an object whose data is not already stored in the cache. A high number of cache misses might indicate poor performance and a slower end-user experience.

  • Cache compaction (also called trimming), happens when a cache becomes full and additional requests for non-cached content are received. During compaction, the system identifies a subset of the contents in the cache to remove, and removes them. Typically these contents are not requested as frequently.

    Compaction can consume a significant portion of the server's resources. This can affect both server performance and end-user experience. Therefore, compaction should be avoided. You can decrease the occurrence of compaction by increasing the size of the cache. Compaction normally happens if the cache size is decreased. Compaction of the object cache does not consume as many resources as the compaction of the BLOB cache.

  • A cache flush is when the cache is completely emptied. After the cache is flushed, the cache hit to cache miss ratio will be almost zero. Then, as users request content and the cache is filled up, that ratio increases and eventually reaches an optimum level. A constantly high number for this counter might indicate a problem with the farm, such as constantly changing library metadata schemas.

You can monitor the effectiveness of the cache settings to make sure that the end-users are getting the best experience possible. Optimum performance occurs when the ratio of cache hits to cache misses is high and when compactions and flushes only rarely occur. If the monitors do not indicate these conditions, you can improve performance by changing the cache settings. For more information about cache settings, see Cache settings operations (SharePoint Server 2010) and Configure cache settings for a Web application (SharePoint Server 2010). For more information about cache planning and strategy, see Plan for caching and performance (SharePoint Server 2010).

The following sections provide specific information for monitoring each kind of cache.

Monitoring BLOB cache performance

You can monitor the effectiveness of the cache settings by using the performance monitors that are listed in the following table. You can view the monitors in the SharePoint Publishing Cache counter group.

Counter name | Ideal value or pattern | Notes
Total Number of Compactions | 0 | If this number is continually or frequently high, the cache size is too small relative to the amount of data being requested. To improve performance, increase the size of the cache.
BLOB Cache % full | >= 90% shows red >= 80% shows yellow <80% shows green | This can show that the cache size is too small. To improve performance, increase the size of the cache.
Publishing cache flushes / second | 0 | Site owners might be performing actions on the sites that are causing the cache to be flushed. To improve performance during peak-use hours, make sure that site owners only perform these actions during off-peak hours.
Publishing cache hit ratio | Depends on usage pattern. For read-only sites, the ratio should be 1. For read-write sites, the ratio may be lower. | A low ratio can indicate that unpublished items are being requested, and these cannot be cached. If this is a portal site, the site might be set to require check out, or many users have items checked out.
Note:

For the BLOB cache, a request is only counted as a cache miss if the user requests a file whose extension is configured to be cached. For example, if the cache is enabled to cache .jpg files only, and the cache gets a request for a .gif file, that request is not counted as a cache miss.

Monitoring ASP.NET output cache performance

You can monitor the effectiveness of the cache settings by using the performance monitors that are listed in the following table. You can view the monitors in the ASP.Net Applications counter group.

Counter name Ideal value or pattern Notes

Cache API trims

0

Increase the amount of memory that is allocated to the ASP.NET output cache.

Cache API hit ratio

Depends on usage pattern. For read-only sites, the ratio should be 1. For read-write sites, the ratio may be lower.

Potential causes of a low hit ratio include the following:

  • If you are using anonymous user caching (for example, for an Internet-facing site), users are regularly requesting content that has not yet been cached.

  • If you are using ASP.NET output caching for authenticated users, many users may have edit permissions on the pages that they are viewing.

  • If you have customized any of the VaryBy* parameters on any page (or master page or page layout) or customized a cache profile, you may have configured a parameter that prevents the pages in the site from being cached effectively (For example, you might be varying by user for a site that has many users).

Note:

For the ASP.NET output cache, all pages are cached for a fixed duration that is independent of user actions. Therefore, there are flush-related monitoring events.

For more information about the ASP.NET output cache, see Output Caching and Cache Profiles (http://go.microsoft.com/fwlink/p/?LinkID=121543&clcid=0x409) or cache Element for caching (ASP.NET Settings Schema) (http://go.microsoft.com/fwlink/p/?LinkId=195986&clcid=0x409).

Monitoring object cache performance

The object cache is used to store metadata about sites, libraries, lists, list items, and documents that are used by features like site navigation and the Content Query Web Part. This cache helps users when they browse to pages that use these features because the data that they require is stored or retrieved directly from the object cache instead of from the content database.

The object cache is stored in the RAM of each Web server in the farm. Each Web server maintains its own object cache.

You can monitor the effectiveness of the cache settings by using the performance monitors that are listed in the following table. You can view the monitors in the SharePoint Publishing Cache counter group.

Counter name Ideal value or pattern Notes

Total number of compactions

0

If this number is high, the cache size is too small relative to the amount of data being requested. To improve performance, increase the size of the cache.

Publishing cache flushes / second

0

Site owners might be performing actions on the sites that are causing the cache to be flushed. To improve performance during peak-use hours, make sure that site owners perform these actions only during off-peak hours.

Publishing cache hit ratio

Depends on usage pattern. For read-only sites, the ratio should be 1. For read-write sites, the ratio may be lower.

If the ratio starts to decrease, this might be caused by one or more of the following:

  • The cache was recently flushed or compacted.

  • Users are accessing content that was recently added to the site. This might occur after lots of new content is added to the site.

See Also

Concepts

Plan for caching and performance (SharePoint Server 2010)
Cache settings operations (SharePoint Server 2010)
Configure cache settings for a Web application (SharePoint Server 2010)


Understanding the Logging Database (SharePoint Server 2010)

Published: January 17, 2012

This article introduces the Microsoft SharePoint 2010 Products logging database and describes how to view monitoring information inside SharePoint Server 2010 logging database (by default, named WSS_Logging). This article also describes how to use custom views in the logging database, and how to export monitoring information into Microsoft Excel.

In this article:

  • Introduction to the logging database

  • Pre-defined SQL views in the logging database

  • Custom SQL views in the logging database

Introduction to the logging database

To monitor SharePoint Server 2010 servers and the services that run on the servers, you can directly access various logs such as the Windows Server event logs, SharePoint Universal Logging System (ULS) logs (also known as trace logs), or usage data logs. You can also go to SharePoint Server 2010 Central Administration to review various reports. Health analyzer reports contain SharePoint Server 2010 rules for servers or services. Administration (diagnostics) reports contain search-related information. Web Analytics reports contain web analytics metrics. For more information about reports, see Viewing reports and logs (SharePoint Server 2010).

All the monitoring methods mentioned previously have limits. For example, Windows Server event logs, SharePoint ULS logs, and usage data logs are not stored in one single place. You have to go to different places to find related logs. Similarly, although reports from Central Administration contain the most commonly used metrics and monitoring information, if you want to add more monitoring information to those reports, you cannot do it because these reports are pre-defined and cannot be modified.

You can increase monitoring efficiency by using the logging database in SharePoint Server 2010. The logging database is a farm-wide repository of SharePoint Server 2010 monitoring information from every server in the farm. The logging database provides the option to view and customize various monitoring information in one place. Moreover, the logging database is the only SharePoint Server 2010 database for which you can customize reports by directly modifying the database.

Note:

For more information about SharePoint Server 2010 databases, see Database types and descriptions (SharePoint Server 2010).

Note:

The default name of the database is WSS_Logging. You can change the default name and the SharePoint database server location by using Windows PowerShell. For more information about the logging database name and database server location, see Configure usage and health data collection (SharePoint Server 2010).

A single place that stores various monitoring information helps you efficiently monitor SharePoint Server 2010 servers and services. More importantly, you can create your own reports for unique monitoring, reporting and troubleshooting requirement based on tables inside the logging database. This article describes how to create reports using existing tables and views. You might want to write your own providers to create new tables. For more information about writing new providers to create new tables and views inside the logging database, see SharePoint 2010 (http://go.microsoft.com/fwlink/p/?LinkId=224502).

Note:

A SQL view is a virtual table. One difference between a table and a SQL view is that you can modify the data inside a table but you cannot modify the data inside a SQL view.

You use SharePoint Server 2010 Central Administration to configure logs imported into the logging database. For more information about how to configure log categories, log levels, and trace (ULS) log path, see Configure diagnostic logging (SharePoint Server 2010). For more information about how to enable what is written into the logging database, see Configure usage and health data collection (SharePoint Server 2010). For more information about how to specify the logging database server, name and database authentication information, the events to be written to the logging database, and the frequency that logs are written to the logging database (that is, timer jobs related to usage database importing), see Configure SharePoint Health Analyzer timer jobs (SharePoint Server 2010).

The procedures in this article use SQL Server Management Studio to access the logging database. Management Studio is a component of Microsoft SQL Server 2008.

Note:

To access the logging database, you have to have either Windows authentication (recommended) or SQL authentication. The database authentication information is configured in SharePoint Server 2010 Central Administration. For more information about authentication methods, see Configure usage and health data collection (SharePoint Server 2010).

Pre-defined SQL views in the logging database

This section describes partition tables and SQL views inside the SharePoint Server 2010 logging database, and includes the following three procedures:

  • To access the logging database by using SQL Server Management Studio

  • To view the logging information from default views

  • To export to and view the logging data using Excel

The logging database uses a separate partition table for the daily data for each category. For example, the timer job usage data for the first day is written to the dbo.TimerJobUsage_Partition0 table and the data for 32 days later is written to the dbo.TimerJobUsageUsage_Partition31 table. Logs within one day are written to one partition table. That means, for each log category, each partition table stores one particular day's logs.

Note:

The mapping between one partition table and the exact date depends on the logging database retention period and the starting date to write logs into the logging database. You can get the mapping by observing time information inside each table. For example, if the retention period is 14 days and today's logs are written to partition table 2, tomorrow's logs will be written into partition table 3 and so on. After 14 days, all logs are deleted and new logs are written to these partition tables starting from partition table 0.

You can use the pre-defined SQL views in Management Studio to view all monitoring information in one place. Each pre-defined view collects the data from all 32 partition tables for the specific log category. For example, you can view the monitoring information in 32 tables from dbo.TimerJobUsage_Partition0 to dbo.TimerJobUsageUsage_Partition31.

To access the pre-defined views, you must access the SharePoint Server 2010 logging database. Then from the logging database, you view the monitoring information.

To access the logging database by using Management Studio

  1. On the taskbar, click Start, point to All Programs, click Microsoft SQL Server 2008 or the latest Microsoft SQL Server version that is installed, and then click SQL Server Management Studio.

    Note:

    If you do not have Management Studio on your server, reinstall SQL Server 2008 and add the Management Studio component. For more information, see SQL Server Install.

  2. In the Connect to Server dialog box, choose Database Engine. Then specify the server name, for example, ServerName\SharePoint. Select the authentication type (Windows Authentication or SQL Server Authentication) that you configured through SharePoint Server 2010 Central Administration. If it is SQL Server Authentication, specify the credentials for the database administrator. After the information is set, click Connect.

  3. Switch to the Object Explorer view by clicking View, and then clicking Object Explorer. Expand Databases to see the logging database that has default name WSS_Logging or a name that you configured from SharePoint Server 2010 Central Administration.

  4. Optionally, expand the logging database to see tables and views.

To view the logging information from default views

  1. In Management Studio, go to the logging database node by using the previous procedure.

  2. Expand the Views node of the database to see the default views. Right-click the view, for example dbo.RequestUsage, and choose Select Top 1000 Rows.

    The operation Select Top 1000 Rows is the following T-SQL query script:

    Copy Code
    /****** Script for SelectTopNRows command from SSMS  ******/
SELECT TOP 1000 [PartitionId]
      ,[RowId]
      ,[LogTime]
      ,[MachineName]
      ,[FarmId]
      ,[SiteSubscriptionId]
      ,[UserLogin]
      ,[CorrelationId]
      ,[WebApplicationId]
      ,[ServerUrl]
      ,[SiteId]
      ,[SiteUrl]
      ,[WebId]
      ,[WebUrl]
      ,[DocumentPath]
      ,[ContentTypeId]
      ,[QueryString]
      ,[BytesConsumed]
      ,[HttpStatus]
      ,[SessionId]
      ,[ReferrerUrl]
      ,[ReferrerQueryString]
      ,[Browser]
      ,[UserAgent]
      ,[UserAddress]
      ,[RequestCount]
      ,[QueryCount]
      ,[QueryDurationSum]
      ,[ServiceCallCount]
      ,[ServiceCallDurationSum]
      ,[OperationCount]
      ,[Duration]
      ,[RequestType]
      ,[Title]
      ,[RowCreatedTime]
  FROM [WSS_Logging].[dbo].[RequestUsage]

    The top 1000 rows of the table category Request Usage appear in the result window.

  3. You can modify the T-SQL query in the SQL editor window. For example, if there are more than 1000 rows in the tables, you might want to view the top 5000 rows. To do that, change the script by replacing "SELECT TOP 1000" with "SELECT TOP 5000", and then click Execute.

If you want to view logs by using tools other than Management Studio, you can extract the monitoring information from the views and save as a text file or a CSV file. In the following procedure, Microsoft Excel is used as an example.

To export and view the logging data by using Excel

  1. In Management Studio, go to the logging database node.

  2. Expand the Views node, right-click the view from which you want to extract data, and then click Select Top 1000 Rows.

  3. In the result window, right-click, and then click Select All. Then right-click and then click Save Results As….

  4. In the Save Grid Results window, specify the folder in which you want to save the file, specify the Save as type as CSV(Comma delimited), and then specify an appropriate file name.

  5. Open the CSV file by double-clicking it in Excel.

Custom SQL views in the logging database

The logging database in SharePoint Server 2010 enables you to create custom reports in two ways. You can generate new views by combining related information from existing tables, or you can write providers to generate new partition tables inside the logging database. The examples in this section only show the first way.

In usage tables and the ULSTraceLog tables, the CorrelationId is an important parameter for troubleshooting. This is because every error message contains a unique CorrelationId. CorrelationId is a GUID that links all the related information with respect to a request. The following procedure shows how to make a custom view that links multiple log categories by using the CorrelationId.

To create a custom SQL view that uses existing tables

  1. In Management Studio, go to the logging database node.

  2. In the logging database, expand the Views node. Choose one of the views for which you want to collect information. Right-click the view, and then click New View….

  3. In the Add Table window, choose the tables to add. For example, if you want to get information about feature usage site requests for a single day, you can add dbo.FeatureUsage_Partion1 and dbo.RequestUsage_Partion1.

    The T-SQL query automatically inner joins the unique key PartionId in these two tables.

    Copy Code
    SELECT
FROM   dbo.FeatureUsage_Partition1 INNER JOIN
    dbo.RequestUsage_Partition1 ON dbo.FeatureUsage_Partition1.PartitionId = dbo.RequestUsage_Partition1.PartitionId

  4. Disjoin the two tables by right-clicking the link between these tables and selecting removing.

  5. To inner join the two tables using CorrelationId, click the CorrelationId column in one table and move the cursor to the CorrelationId column in another table. Or you can modify the SQL query directly from the Query Editor.

    Copy Code
    SELECT
FROM   dbo.FeatureUsage_Partition1 INNER JOIN
    dbo.RequestUsage_Partition1 ON dbo.FeatureUsage_Partition1.CorrelationId = dbo.RequestUsage_Partition1.CorrelationId

  6. Choose the columns in each table that you want to show in the new view.

  7. Right-click and choose Execute SQL. The results appear in the result window.


Solving problems and troubleshooting (SharePoint Server 2010)
See Also

The articles in this section are written to meet the requirements of information technology (IT) professionals who are responsible for the planning, design, deployment, and operations of monitoring. These solutions might be in enterprise, corporate, or branch-office environments. The IT professionals who are responsible for monitoring solutions are expected to have an understanding of the technical details that are contained in this section. However, service-level expertise is not needed to understand the enterprise-level discussions and decisions.

Microsoft SharePoint Server 2010 includes a new tool named SharePoint Health Analyzer that enables you to diagnose and resolve configuration, performance, and usage problems. SharePoint Health Analyzer runs predefined health rules against servers in the farm. A health rule runs a test and returns an alert that tells you the outcome of the test. You can use Central Administration to view alerts and resolve problems.

In this section:

  • Viewing and resolving SharePoint Health Analyzer alerts (SharePoint Server 2010) - This article describes how can use SharePoint Health Analyzer to view alerts and resolve problems.

  • Update alerts by using Windows PowerShell (SharePoint Server 2010) - This article explains how to add an advanced function that allows you to update alerts when a Web application's URL changes.

See Also

Other Resources

Monitoring (SharePoint Server 2010)


Viewing and resolving SharePoint Health Analyzer alerts (SharePoint Server 2010)
See Also

Microsoft SharePoint Server 2010 includes a new tool named SharePoint Health Analyzer that enables you to diagnose and resolve configuration, performance, and usage problems. SharePoint Health Analyzer runs predefined health rules against servers in the farm. A health rule runs a test and returns an alert that tells you the outcome of the test. You can use Central Administration to view alerts and resolve problems.

Viewing and resolving SharePoint Health Analyzer alerts

You can use Central Administration to view and resolve health alerts.

To view and resolve SharePoint Health Analyzer alerts by using Central Administration

  1. Verify that the user account that is performing this procedure is a member of the Farm Administrators group.

  2. In Central Administration, on the Home page, click Monitoring.

  3. On the Monitoring page, in the Health Analyzer section, click Review problems and solutions.

  4. On the Review problems and solutions page, click the alert that you want to view and resolve.

  5. To resolve the problem, follow the guidance given in the Remedy section of the Review problems and solutions dialog. Keep the dialog open so you can run the rule again to confirm the resolution.

  6. After following the guidance given in the Remedy section, in the Review problems and solutions dialog for the alert, click Reanalyze Now to confirm the resolution. If the problem is resolved, the alert status changes to 4-Success.

For more information about the health rules and how to troubleshoot problems in SharePoint Server 2010, see SharePoint Health Analyzer rules reference (SharePoint Server 2010).

Health alert fields

The fields in alerts are described in the following table.

Field | Meaning
Title | The name of the alert. By default, this is the name of the health rule that generated the alert.
Severity | Possible values are the following: 1-Error, 2-Warning, 3-Information, 4-Success, 0-Rule Execution Failure.
Category | Pre-set values are the following: Configuration, Security, Performance, and Availability. You can also type a value in the Specify your own value box.
Explanation | A detailed explanation of the cause of the alert. This explanation might include exception or trace information.
Remedy | Details about how to resolve the problem that caused the alert. This might include precise steps or a link to more information.
Failing Servers | The server that the failure occurred on.
Failing Services | The service where the failure occurred.
Rule Settings | A link to the health rule that generated the alert. The information in the rule might be useful in analyzing the problem, or you might want to change the schedule or disable the rule.
Version [Read-Only] | This number is automatically incremented every time the alert is altered.
Created (time) [Read-Only] | The date and time that the alert was generated and the domain or local security account under which the alert was generated.
Last modified (time) [Read-Only] | The date and time that the alert was last changed and the domain or local security account under which the alert was changed. This information might be useful in tracking changes to the alert, such as during resolution of the problem.

See Also

Concepts

SharePoint Health Analyzer rules reference (SharePoint Server 2010)


Update alerts by using Windows PowerShell (SharePoint Server 2010)
See Also

Published: July 15, 2010

This article describes Invoke-AlertFixup, a Windows PowerShell advanced function used to update the Uniform Resource Locator (URL) of a Web application used in alert e-mails after a Web application address changes. It replaces the Stsadm updatealert operation that was available in the April 2008 release of the SharePoint Administration Toolkit. The advanced function is loaded by running a script of the same name.

For more information about advanced functions, see about_Functions_Advanced (http://go.microsoft.com/fwlink/p/?LinkId=196720).

To update URLs by using Windows PowerShell

  1. Verify that you meet the following minimum requirements:

    • See Add-SPShellAdmin.

    • You must read about_Execution_Policies (http://go.microsoft.com/fwlink/p/?LinkId=193050).

  2. Copy the code from the Script Center (http://go.microsoft.com/fwlink/p/?LinkId=196687), and then paste it into a text editor, such as Notepad.

  3. Save the file, naming it Invoke-AlertFixup.ps1.

    Note:

    You must use the provided name or the script will fail, and you must save the file as an ANSI-encoded text file.

  4. On the Start menu, click All Programs.

  5. Click Microsoft SharePoint 2010 Products.

  6. Click SharePoint 2010 Management Shell.

  7. Change to the directory where you saved the file.

  8. At the Windows PowerShell command prompt, dot source the Invoke-AlertFixup.ps1 file by typing the following:

    Copy Code
    . ./Invoke-AlertFixup.ps1
    Note:

    To dot source a script, type a dot (.) and a space before the script path. The dot sourcing feature lets you run a script in the current scope instead of in the script scope. When you run a script that is dot sourced, the commands in the script run as though you had typed them at the command prompt. For more information, see about_Scripts (http://go.microsoft.com/fwlink/p/?LinkId=239611).

    This script contains the Invoke-AlertFixup advanced function. Once the script is loaded to memory for the current Windows PowerShell session, Invoke-AlertFixup can be used like a Windows PowerShell cmdlet, for example:

    Copy Code
    Invoke-AlertFixup -site <SiteCollURL> -oldurl <OldURL>

    Where:

    • <SiteCollURL> is the Site Collection URL seen in the ImmedSubscriptions table of the content database.

    • <OldURL> is the old URL of the site.

    Note:

    In order for Invoke-AlertFixup to work correctly, the URLs specified with the site and oldurl parameters must reside in the same site collection. This is necessary to allow proper updating of alerts in a specific zone. Alerts for each zone must be updated individually using the proper new zone URL to that of the original (old) zone URL.

  9. To display all alerts that would be updated using the Invoke-AlertFixup command, at the Windows PowerShell command prompt type the following syntax:

    Copy Code
    Invoke-AlertFixup -site <SiteCollURL> -Oldurl <OldURL> -whatif

    Where:

    • <SiteCollURL> is the Site Collection URL seen in the ImmedSubscriptions table of the content database.

    • <OldURL> is the old URL of the site.

Example

Your company has a Web application that is configured with three zones, as shown in the following table.

Coho Winery zone mapping

Description | URL | Zone
Intranet | http://cohowinery | Default
Extranet | http://extranet.cohowinery.com | Extranet
Vendor | http://vendors.cohowinery.com | Custom

Your company merges with Coho Vineyard and changes its name to Coho Winery and Vineyard. Management wants to change the Intranet and Extranet zones to reflect the new name change. The following table displays the new zone configuration.

Coho Winery and Vineyard zone mapping

Description | URL | Zone
Intranet | http://cohovineyardandwinery | Default
Extranet | http://extranet.cohovineyardandwinery.com | Extranet

After the name of the Web application is changed and the alternate access mappings are updated, Invoke-AlertFixup should be run to update the e-mail alerts associated with the intranet and extranet sites, as follows:

Copy Code
Invoke-AlertFixup -site http://cohovineyardandwinery -oldurl http://cohowinery
Copy Code
Invoke-AlertFixup -site http://extranet.cohovineyardandwinery.com -oldurl http://extranet.cohowinery.com
Note:

No changes are made regarding the vendor site, as Coho Winery has decided not to change the name of the vendor portal.

For additional information about extranet scenarios, see Design sample: Corporate deployment (SharePoint Server 2010).

See Also

Other Resources

Running Windows PowerShell Scripts
Resource Center: Windows PowerShell for SharePoint Server 2010


Monitor health and performance of a virtual environment (SharePoint Server 2010)
See Also

This article describes the monitoring required for a virtual environment. It is necessary to monitor the virtual machines in the farm as well as the virtualization servers to ensure that the health and performance levels meet operational standards and the service level agreements that are in place.

Monitor SharePoint health and performance

The following articles provide information about monitoring Microsoft SharePoint Server 2010 health and performance:

  • Health monitoring (SharePoint Server 2010)

Monitor Hyper-V health and performance

You can monitor Windows Server 2008 Hyper-V technology health and server performance using Microsoft products or by using Windows PowerShell scripts. The following products can be used to monitor a virtual environment.

Microsoft System Center Operations Manager 2007 R2 provides an end-to-end monitoring and reporting system that you can use to monitor Microsoft SharePoint Server 2010 and supported versions of Windows Server 2008 and SQL Server. For more information, see System Center Operations Manager (http://go.microsoft.com/fwlink/p/?LinkId=187743).

If you are using System Center Operations Manager we recommend that you obtain and install the following management packs as appropriate for your environment:

  • Windows Server Hyper-V Management Pack for System Center Operations Manager 2007 (http://go.microsoft.com/fwlink/p/?LinkId=187744)

  • Microsoft Windows Server Failover Clustering Management Pack for Operations Manager 2007 (http://go.microsoft.com/fwlink/p/?LinkId=147087)

  • System Center Virtual Machine Manager 2008 Management Pack for System Center Operations Manager 2007 (http://go.microsoft.com/fwlink/p/?LinkId=156500)

Microsoft System Center Virtual Machine Manager 2008 R (SCVMM) is a robust tool for managing all aspects of a Hyper-V virtual environment. In addition to virtual provisioning, the Performance and Resource Optimization (PRO) enables the dynamic management of virtual resources though Management Packs that are PRO enabled. SCVMM can use the monitoring capabilities of System Center Operations Manager 2007, which enables administrators to establish remedial actions for VMM to execute if poor performance or pending hardware failures are identified in hardware, operating systems, or applications. You can also obtain the current health and state of virtual machines and get a real time view of CPU, memory, and storage consumption on the virtualization servers.

Note:

System Center Virtual Machine Manager fully supports Windows PowerShell scripting.

Health and performance resources

Numerous articles and blog posts provide in-depth guidance to monitoring Hyper-V health and performance. We recommend that you consult the following resources:

  • Hyper-V performance FAQ R2 (http://go.microsoft.com/fwlink/p/?LinkId=187745)

  • Monitoring Hyper-V performance (http://go.microsoft.com/fwlink/p/?LinkId=187746)

  • Hyper-V performance comparison: Microsoft Windows Server 2008 SP2 and R2 with Intel Xeon processor X5570- and E5450-based servers (http://go.microsoft.com/fwlink/p/?LinkId=187747)

  • Windows Server 2008 R2 Virtual Hard Disk (VHD) Performance Paper (http://go.microsoft.com/fwlink/p/?LinkId=187749)

  • Windows Server Performance Team Blog: Increase VMBus buffer sizes to increase network throughput to guest VMs (http://go.microsoft.com/fwlink/p/?LinkId=187750)

  • Microsoft Hyper-V 2008 R2 IDE vs. SCSI Performance (http://go.microsoft.com/fwlink/p/?LinkId=187751)

  • Benchmarking Hyper-V on Windows Server 2008 R2 x64 (http://go.microsoft.com/fwlink/p/?LinkId=187752)

  • Henk's tech blog: Archive for the 'SQL 2008 R2' Category (http://go.microsoft.com/fwlink/p/?LinkId=187753)

See Also

Other Resources

Resource Center: Virtualization for SharePoint Server 2010


SharePoint Server 2010 Operations Framework and Checklists (white paper)
See Also

Published: October 7, 2010

This document details the operational processes, tasks, and tools that are required to operate and maintain a Microsoft SharePoint Server 2010 environment. It explains how the management of SharePoint Server 2010 fits in with the overall Microsoft Operations Framework (MOF) model. It will help you design your approach to operational management and give you the means to implement processes and procedures that help keep your environment running smoothly. The white paper includes checklists for daily, weekly, and monthly operations tasks.

Download the white paper:

  • Operations framework and checklists (Microsoft Word version)

  • Operations framework and checklists (PDF version)

  • Operations framework and checklists (XPS version)

See Also

Other Resources

Resource Center: Governance in SharePoint Server 2010
Resource Center: Operations and Manageability for SharePoint Server 2010


Manage farm administration settings (SharePoint Server 2010)

After the initial installation of Microsoft SharePoint Server 2010, you can configure the default farm settings. The configuration of these settings is optional, but some key features are not available unless these settings are configured.

In this section:

  • Configure diagnostic logging (SharePoint Server 2010)

    This article describes how to configure diagnostic loggings settings after initial deployment or upgrade and lists guidelines that can help you implement best practices for the specific environment.

  • E-mail integration (SharePoint Server 2010)

    This article describes how to configure incoming e-mail settings and outgoing e-mail settings.

  • Configure a mobile account (SharePoint Server 2010)

    This article discusses how to configure and manage a mobile account to let users subscribe to alerts that are sent by using the Short Message Service (SMS) protocol.

  • Change the default content access account (SharePoint Server 2010)

    This article describes how to change the default content access account.

  • Change the Central Administration Web site port number (SharePoint Server 2010)

    During the installation of Microsoft SharePoint Server 2010, the Central Administration Web site is established on a randomly-assigned TCP port, or on a port that you select when you create the farm. This article describes how to change the port number for the Central Administration Web site.


Change the Central Administration Web site port number (SharePoint Server 2010)
See Also

During the installation of Microsoft SharePoint Server 2010, the Central Administration Web site is established on a randomly-assigned TCP port, or on a port that you select when you create the farm. The security policies of your organization might require you to change this port number.

This procedure describes how to change the Central Administration Web site port number by using a Windows PowerShell 2.0 cmdlet. You cannot use the user interface to perform this task.

To change the Central Administration Web site port number by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin. Additionally, verify that you are a member of the Farm Administrators SharePoint group.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell command prompt, type the following command:

    Copy Code
    Set-SPCentralAdministration -Port <PortNumber>

    Where <PortNumber> is the port number that you want to use. You are prompted for confirmation to change the port number unless you use the Confirm:$false parameter with the command.

    Note:

    The Set-SPCentralAdministration cmdlet blocks the following ports:

    • Lower than 1023

    • Higher than 32767

    • 443 (SSL)

    If you must use a blocked port, you can do so by using the Stsadm command stsadm -o setadminport. For more information, see Setadminport: Stsadm operation (Office SharePoint Server).

For more information about the Windows PowerShell cmdlet, see Set-SPCentralAdministration.

Note:

We recommend that you use Windows PowerShell when performing command-line administrative tasks. The Stsadm command-line tool has been deprecated, but is included to support compatibility with previous product versions.

See Also

Reference

New-SPCentralAdministration


Farm topology management (SharePoint Server 2010)
See Also

This chapter describes how to add servers to a farm, how to rename servers, and how to remove servers from a farm.

Topology examples are available that can be used as a template for building out a farm. For more information, see the Topologies for SharePoint Server 2010 model in the Technical diagrams (SharePoint Server 2010) article.

The following tasks are part of managing the topology of a farm:

  1. Add a Web or application server to the farm (SharePoint Server 2010)

    This article describes how to add Web servers to a farm.

  2. Add a database server to an existing farm (SharePoint Server 2010)

    This article describes how to add a database server to a farm.

  3. Remove a server from the farm (SharePoint Server 2010)

    This article describes how to remove a server from a farm.

  4. Rename a stand-alone server (SharePoint Server 2010)

    This article describes how to rename a stand-alone server.

  5. Manage search topology (SharePoint Server 2010)

    This series of articles describes how to add servers for use with Enterprise Search features.

  6. Automating Microsoft SharePoint 2010 with Windows PowerShell 2.0 (book excerpt)

See Also

Other Resources

Resource Center: Operations and Manageability for SharePoint Server 2010


Add a Web or application server to the farm (SharePoint Server 2010)

This article describes how to add a server to an existing Microsoft SharePoint Server 2010 farm so the server can later be configured for use as a front-end Web server or as an application server. The procedures in this article apply to a SharePoint Server 2010 farm that consists of at least two tiers; they are not intended to be used for converting a single server deployment to a multiple server farm.

In this article:

  • Preparation

  • Install prerequisite software

  • Install the SharePoint Products software

  • To add the server to the farm

  • Configure the new server

Preparation

Planning and preparation is required before you add a server to the farm. There are several tasks that fall within the scope of planning and preparation. The first task is to determine the role that the new server will in the farm. After you complete this task there are additional tasks to complete before you begin installing software on the new server.

Determine server role

In order to add a new server to the farm you must know its intended role in order to plan for additional or specialized configuration as well as assess the potential impact of adding the server to a production environment.

Note:

In a typical three-tier farm, there are front-end Web servers, an application server that also hosts Central Administration, and a database server. The scope of this article is the front-end Web server and application server roles.

After you determine the role that the server will have in your farm topology you need to identify the services and features that must be configured in order for the server to meet this role. This information will determine how SharePoint Server 2010 is configured in order to provision the server for its role in either the Web tier or the application tier. For more information, see Service application and service management (SharePoint Server 2010).

The following illustration shows a SharePoint Server 2010 farm with two front-end Web servers (Web-1 and Web-2) that serve content and host the search query component. The only application server (App-1) hosts Central Administration and the search crawl component for the farm.

Options for adding a server to a farm

SharePoint Server 2010 farm: Add a server

The following sections provide information about the general characteristics of the front-end Web server and application server roles.

Front-end Web server role

The fundamental role of a front-end Web server is hosting the Web pages, the Web services, and the Web Parts that are necessary to process requests received from users. The Web server directs these requests to the application server, which returns the results to the front-end Web server.

Depending on farm requirements, the front-end Web server may also be configured to support search in scenarios where there are not any dedicated search servers.

Note:

Distributing search is not an option for SharePoint Foundation 2010, where only a single search instance is permitted for each content database.

SharePoint Server 2010 provides more flexibility by letting you to install different search components, typically query, on one or more front-end Web servers. This is shown as option A in the preceding farm illustration. Adding a third server also improves load balancing and increases front-end Web server availability. A three server deployment on the Web tier is called a stretched farm.

Application server role

In a three tier farm, the server that hosts Central Administration is by default, an application server. You can add application servers to host services that can be deployed to a single server and used by all the servers in a farm.

Services with similar usage and performance characteristics can be logically grouped together on a server, and if necessary, hosted on multiple servers if a scale out is required to respond to performance or capacity requirements. For example, client-related farm services such as Word Services and Word Viewer can be combined into a service group and hosted on a dedicated server. In addition, some services, such as the Managed Metadata service, can be configured as service application that can be used by other farms.

In our farm illustration, there are two options for adding an application server.

  • In option B the new server is added and configured to host all the queries for the farm. The query component is removed from the front-end Web servers.

  • In option C the new server is added and configured as a dedicated crawl server, which offloads farm indexing from the server that hosts Central Administration. The front-end Web servers continue to host the query component for the farm.

In a three-tier farm that is running enterprise search, dedicated application servers are typically configured to host individual enterprise search components. Servers hosting a query component are commonly referred to as query servers and servers hosting a crawl component are referred to as index servers. For more information, see Manage search topology (SharePoint Server 2010).

Additional tasks

Before you start installing prerequisite software on the server you need to:

  • Verify that the new server meets the hardware and software requirements described in Hardware and software requirements (SharePoint Server 2010).

    Note:

    As a best practice, we recommend the operating system on the new server should be at the same service pack level and have the same security updates and other hotfixes as the existing farm servers.

  • Verify that you have the minimum level of permissions required to install and configure on the new server. You must be a member of the Farm Administrators SharePoint group and the Administrators group on the local server computer to complete the procedures in this article. For more information, see Initial deployment administrative and service accounts (SharePoint Server 2010).

  • Verify that you know the name of the database server that the farm you are connecting to uses, as well as the name of the configuration database if you are adding the server by using Windows PowerShell commands.

  • If you intend to use Windows PowerShell commands to add the server, verify that you meet the following minimum requirements: You are a member of the SharePoint_Shell_Access role on the configuration database and a member of the WSS_ADMIN_WPG local group on the computer where SharePoint 2010 Products is installed.

  • Document the location of the SharePoint Server 2010 binary and log files on the existing farm servers. We recommend that the location of these files on the new server map to the locations used on the other servers in the farm. For more information, see Configure diagnostic logging (SharePoint Server 2010).

    Important:

    If you change the trace log path to a non-system drive, this location must exist on all the servers in the farm. Existing or new servers cannot log data if the location does not exist. In addition, you will not be able to add new servers unless the path you specify exists on the new server. You cannot use a network share for logging purposes.

Install prerequisite software

Before you can install SharePoint Server 2010 and add a server to the farm you must check for, and install all the prerequisite software on the new server. This is done by using the SharePoint Server 2010 Preparation Tool, which requires an Internet connection to download and configure SharePoint Server 2010 prerequisites. If you do not have an Internet connection for the farm servers, you can still use the tool to determine what software is required. You will have to obtain installable images for the required software. For installation locations, see Software requirements in "Determine hardware and software requirements (SharePoint Server 2010)."

Tip:

After you obtain a copy of the required software, we recommend that you create an installation point that you can use for storing the images. You can use this installation point for installing future software updates.

For detailed instructions about how to install the prerequisites, see "Prepare the farm servers" in the Multiple servers for a three-tier farm (SharePoint Server 2010) article.

Install the SharePoint Products software

After all the prerequisites are installed, use the following procedure to install SharePoint Server 2010 on the new server. For detailed instructions about how to install SharePoint Server 2010, see Deploy a single server with SQL Server (SharePoint Server 2010).

To install SharePoint

  1. From the product media or a file share that contains the SharePoint Server 2010 Products installation files run Setup.exe.

  2. On the Start page, click the link to install SharePoint Server 2010.

  3. Review and accept the Microsoft License Terms.

  4. Select a Server farm installation and then select a complete installation.

    Note:

    You can choose to install only the components required for a front-end Web server. However, by using a complete installation you have more flexibility in re-purposing the server role in the farm at a later time.

  5. Accept the default file location where SharePoint Server 2010 will be installed or change the installation path to suit your requirements.

    Note:

    As a best practice, we recommend that you install SharePoint Server 2010 on a non-system drive.

  6. When Setup finishes, a dialog box prompts you to complete the configuration of your server by running the SharePoint Products Configuration wizard. You can start the wizard immediately or from the Windows command prompt later.

To add the server to the farm

You can a server to the farm by using the SharePoint Server 2010 user interface or by using Windows PowerShell. Both approaches are described in the following procedures:

  • Add a server by using the user interface

  • Add a server by using Windows PowerShell

Use the following procedure to add the server to the farm by using the configuration wizard.

To add a server by using the user interface

  1. On the new server, click Start, point to All Programs and then click Microsoft SharePoint 2010 Products Configuration Wizard.

  2. On the Welcome to SharePoint Products page, click Next.

  3. On the Connect to a server farm page, click Connect to an existing server farm.

  4. Click Next.

  5. On the Specify Configuration Database settings page, type the name of the instance of SQL Server in the Database server box, and then click Retrieve Database Names.

  6. Select the name of the configuration database in the Database name list, and then click Next.

  7. On the Specify Farm Security Settings page, type the name of the farm passphrase in the Passphrase box, and then click Next.

  8. On the Completing the SharePoint Products Configuration Wizard page, click Next.

  9. On the server that hosts Central Administration, click Manage servers in this farm to verify that the new server is part of the farm.

    Note:

    You can also verify a successful server addition, or troubleshoot a failed addition by examining the log files. These files are located on the drive on which SharePoint Server 2010 is installed, in the %COMMONPROGRAMFILES%\Microsoft Shared\Web Server Extensions\14\LOGS folder.

  10. On the Servers in Farm page, click the name of the new server. Use the list of available services on the Services on Server page to start the services that you want to run on the new server.

  11. Configure SharePoint Server 2010 so the new server can accommodate the role it was intended for. For more information, see Configure the new server.

Before you begin adding the server by using the following Windows PowerShell procedure, install SharePoint Server 2010 using the setup program.

To add a server by using Windows PowerShell

  1. On the Start menu, click All Programs.

  2. Click SharePoint 2010 Management Shell. At this point you can issue the following commands to add the server to the farm.

  3. At the Windows PowerShell command prompt, type the following command to connect the server to a configuration database:

    Copy Code
    Connect-SPConfigurationDatabase -DatabaseServer "<$DatabaseServer>" -DatabaseName "<$RunSettings.ConfigurationDatabaseName>" -Passphrase "<$Passphrase>"

    Where:

    • <$DatabaseServer> is the name of the server that hosts the configuration database

    • <$RunSettings.ConfigurationDatabaseName> is the name of the configuration database

    • <$Passphrase> is the passphrase for the farm

  4. At the Windows PowerShell command prompt, type the following command to install the Help File Collections:

    Copy Code
    Install-SPHelpCollection -All

  5. At the Windows PowerShell command prompt, type the following command to install the Security Resource for SharePoint:

    Copy Code
    Initialize-SPResourceSecurity

  6. At the Windows PowerShell command prompt, type the following command to install the basic Services:

    Copy Code
    Install-SPService

  7. At the Windows PowerShell command prompt, type the following command to install all the features:

    Copy Code
    Install-SPFeature -AllExistingFeatures

  8. At the Windows PowerShell command prompt, type the following command to install Application Content:

    Copy Code
    Install-SPApplicationContent

  9. At the Windows PowerShell command prompt, type the following command to get a list of servers in the farm.

    Copy Code
    Get-SPFarm | select Servers
    Note:

    You can also verify a successful server addition, or troubleshoot a failed addition by examining the log files. These files are located on the drive on which SharePoint Server 2010 is installed, in the %COMMONPROGRAMFILES%\Microsoft Shared\Web Server Extensions\14\LOGS folder.

  10. Configure SharePoint Server 2010 so the new server can accommodate the role it was intended for. For more information, see Configure the new server.

Configure the new server

The new server has no real functionality in the farm until you configure the services that are required to support the role that you planned for the new server. For more information, see Configure services (SharePoint Server 2010).


Add a database server to an existing farm (SharePoint Server 2010)

This article provides information about adding a new database server to an existing Microsoft SharePoint Server 2010 farm. You can add additional database servers at any time in response to business or operations requirements. Because the database server contains the farm content, which can consist of diverse types of data and can have a rapidly growing document collection, the size of the farm databases can grow rapidly. Although storage capacity is a key factor driving the need to add additional database servers, other factors are adding new features, performance, and high availability.

Note:

In the case of high availability, this is typically implemented as part of the initial farm topology design and deployment; and is not included in this article. For more information about high availability forMicrosoft SQL Server 2008, see High Availability Solutions Overview (http://go.microsoft.com/fwlink/p/?LinkId=188016).

In most cases, all that is required to add a database server to an existing SharePoint Server 2010 farm is to set up and configure a new database server and join it to the farm by referencing the new server when you add a feature or move database content from the old server to the new one. SharePoint Server 2010 will automatically allocate and assign new database resources as necessary when they are required.

In this article:

  • Prepare the new database server

  • Configure and use the new database server

Prepare the new database server

Before you can use the new database server, you need to prepare it so it can be used in a Microsoft SharePoint Server farm. Use the following steps as guidance for provisioning the new server.

Important:

IT policy may require that some or all of the steps given in these procedures be performed by a database administrator (DBA). Before beginning any of the following procedures, ensure that you are complying with your company's IT policy requirements.

To provision the database server

  1. Review Hardware and software requirements (SharePoint Server 2010)

  2. Install the operating system, ensuring that:

    • The drive configuration is the same as the existing server.

    • The operating system is updated to the same service pack or hotfix level as the existing server.

  3. Install the same version of SQL Server that is installed on the existing farm database server. The procedures in this article are intended to show how to configure a new database server for a specific task in SharePoint Server 2010.

    For information about installing and configuring SQL Server before adding it to an existing server farm, see the SQL Server installation documentation.

  4. Configure SQL Server, confirming the following:

    • The database collation is LATIN1_General_CI_AS_KS_WS.

    • Membership in the SQL Server database dbcreator fixed server role and the Farm Administrators SharePoint group is the minimum requirement to perform the procedures in this article.

    • A login account is created for the SharePoint Server Setup user account. This account will be the database owner for the new database.

  5. Install the same SQL Server service packs and hotfixes that are installed on the existing database server.

Configure and use the new database server

Use the following procedures as a guide for configuring a new database server to host specific SharePoint Server 2010 databases. This includes:

  • Creating a new Web application

  • Moving a site collection to the new server

You can use either Central Administration or Windows PowerShell to create a new Web application; however, you must use Windows PowerShell to move a site collection.

To create a new Web application

  1. Verify that you have the correct credentials on the SharePoint Server farm and on SQL Server.

  2. Use the Application Management page on the Central Administration Web site to create a new Web site.

  3. Configure either classic mode authentication (Windows authentication) or claims-based authentication.

  4. Configure IIS to use either the existing Web site or create a new Web site and configure the following settings:

    • Specify the port number you want to use to access the Web application.

    • Provide the URL you want to use to access the Web application (optional).

    • Provide the path to the site directory on the server where the Web site is hosted.

  5. Configure authentication and encryption for your Web using the following options.

    • Negotiate (Kerberos) or NTLM authentication.

    • Anonymous access to the Web site

    • Secure Sockets Layer (SSL)

  6. Provide a URL for the domain name for all sites that users will access in this Web application.

  7. Use the existing application pool or create a new one.

  8. Configure security for the application pool (pre-defined or configurable).

  9. Identify the database server, database name, and authentication method for your new Web application.

For detailed instructions, see Create a Web application (SharePoint Server 2010).

To move a site collection by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin. Also verify that the user account has access to one of the servers on which Windows PowerShell 2.0 is running, and that the user account is a Farm Administrator and is a member of the SharePoint_Shell_Access role for the SQL Server source content database, administration content database, destination content database, and configuration database.

  2. Verify that the following conditions are true:

    • The destination content database exists.

    • The source content database and destination content database reside on the same instance of SQL Server.

    • The source content database and destination content database are attached to the same Web application.

  3. Determine the size of the source site collection and verify that the destination hard disk has at least three times the free space that is required for the site collection.

    Use the Get-SPSiteAdministration cmdlet to determine the size of a site collection. For more information, see Get-SPSiteAdministration.

  4. Use the Move-SPSite cmdlets to move a site collection from the source content database to the new content database. For more information, see Move-SPSite.

For detailed instructions, see Move site collections between databases (SharePoint Server 2010).


Remove a server from the farm (SharePoint Server 2010)
See Also

There are three types of servers in a server farm running Microsoft SharePoint Server 2010: Web servers, application servers, and database servers.

You can remove a Web server or an application server from the server farm by uninstalling SharePoint Server 2010 from the server through Control Panel.

If a Web or application server is no longer available, or if uninstalling SharePoint Server 2010 from Control Panel is not possible, you can remove the Web server or application server from the farm by using the SharePoint Central Administration Web site. We highly recommend that you use the process described in Remove a Web server or an application server from a farm by using Control Panel to uninstall SharePoint Server 2010 instead of using Central Administration. Removing a server from the farm by using Central Administration does not uninstall SharePoint Server 2010 from that server, nor does it render any sites on that server inaccessible. Conversely, when you uninstall SharePoint Server 2010 by using Control Panel, you remove the program files and other information from the server. Removing the server from the farm by using Central Administration does not delete this information from the server. Use the Central Administration procedure for removing database servers only, or for removing a Web server or an application server from the farm when the server is no longer available to uninstall through Control Panel.

To remove a database server from a farm, you must first move any databases that are hosted by that server to another database server in the farm. You can then use Central Administration to remove the database server.

Before you remove a database server from a farm, make sure that you have moved any databases stored on that server to a different database server in your farm.

Important:

You cannot remove a database server if it is the only database server available in the farm, or if it is the database server that hosts the configuration database.

Membership in the Farm Administrators group and the Administrators group on the local server computer are the minimum requirements to complete the procedures described in this article.

In this article:

  • Remove a Web server or an application server from a farm by using Control Panel

  • Remove any kind of server from a farm by using Central Administration

Remove a Web server or an application server from a farm by using Control Panel

We recommend that you remove Web servers and application servers from a farm by using this procedure, instead of by using Central Administration.

Caution:

If you uninstall SharePoint Server 2010 from the server that is running Central Administration, you will not be able to administer the server farm until you configure another server in the farm to host the Central Administration site.

Removing a server that contains a search topology component can affect future search activities. The extent of that impact depends on the farm search topology. We recommend that you remove or relocate any search topology components from a server prior to removing the server from the farm.

If you remove a server that hosts a crawl component, no index files are lost. However, you might reduce or remove the capacity to crawl content.

You can lose index files in the following situations:

  • The farm has only one query component, and you remove the server that hosts the query component.

  • You have configured the index to be partitioned and you delete the last query component in one of the partitions. In this case, you will lose a portion of the index.

In either of these cases, a full crawl will have to be performed to re-create the index files.

You can deploy specific techniques to build fault tolerance into the search topology. If these are in place, the deliberate or unplanned removal of a server from the topology can be absorbed without losing data and without affecting the ability to crawl or serve queries. (However, performance can still be affected.) For more information, see Technical diagrams (SharePoint Server 2010).

Make sure that the server that you want to remove is not running any important site components. If important services or components (such as a custom Web Part) are running on the server and are not available on another server in the farm, removing the server can damage sites in the farm. For example, if the server that you want to remove is the only application server in the farm that is running the Business Data Connectivity service, removing the server can make any sites that rely on that service stop working correctly.

Before you uninstall a server, you must stop the services that are running on that server. For information about how to determine which services are running on a specific server and stopping services, see Manage services on the server (SharePoint Server 2010).

To remove a Web server or an application server from a farm by using Control Panel

  1. Verify that the user account that is performing this procedure is a member of the Administrators group on the local server computer.

  2. On the server that you want to remove from the farm, click Start, click Control Panel, and then double-click Programs and Features.

  3. In the list of currently installed programs, click SharePoint Server 2010, and then click Uninstall.

  4. Click Continue at the confirmation prompt to uninstall the program.

Remove any kind of server from a farm by using Central Administration

You can use this procedure to remove a Web server, application server, or database server from the farm.

To remove any kind of server from a server farm by using Central Administration

  1. Verify that the user account that is performing this procedure is a member of the Farm Administrators SharePoint group.

  2. On the SharePoint Central Administration Web site, in the System Settings section, click Manage servers in this farm.

  3. On the Servers in Farm page, locate the row that contains the name of the server that you want to remove, and then click Remove Server.

  4. In the warning that appears, click OK to remove the server or click Cancel to stop the operation.

    The page refreshes, and the server that you removed no longer appears in the list of servers.

See Also

Concepts

Server and server farm administration (SharePoint Server 2010)
Farm topology management (SharePoint Server 2010)


Rename a stand-alone server (SharePoint Server 2010)

This article describes how to rename a stand-alone server in Microsoft SharePoint Server 2010. If the server was configured to use alternate access mappings and other customizations, you might have to perform additional steps to make all sites on the server accessible to users after the server is renamed.

For example, some Web page images might use file paths or URLs that are no longer valid after you rename the server. You must rename those file paths to provide continued access to the content. If you have configured alerts on any Web applications that use public URLs, verify these alerts and change the public URLs to match the new public URLs. For more information, see Define managed paths (SharePoint Server 2010).

The required steps to rename a SharePoint Server 2010 server are as follows:

  1. Rename the server at the operating system level by using the System Properties dialog box in Control Panel.

    This article does not provide information about how to rename the actual computer. For more information about renaming the computer, see the Windows Server documentation.

  2. Restart the server.

  3. Use the procedure that is provided in this article to rename the server in SharePoint Server 2010.

  4. Run iisreset.

  5. Update Web site mappings as needed to ensure continued access to all sites.

In this article:

  • Rename a stand-alone server by using Windows Powershell

  • Update site access mappings

Rename a stand-alone server by using Windows Powershell

To rename a SharePoint Server 2010 stand-alone server, you must use a Windows PowerShell 2.0 cmdlet. There is no user interface option for this action.

To rename a stand-alone server by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell command prompt, type the following command:

    Copy Code
    Rename-SPServer [-Identity] <OriginalServerName> -Name <NewServerName>

    Where:

    • <OriginalServerName> is the original name of the stand-alone server.

    • <NewServerName> is the new name of the stand-alone server.

  6. To ensure that the rename operation is complete, run iisreset /noforce at a Windows command prompt. For more information, see Restarting IIS (IIS 6.0).

For more information, see Rename-SPServer.

Note:

We recommend that you use Windows PowerShell when performing command-line administrative tasks. The Stsadm command-line tool has been deprecated, but is included to support compatibility with previous product versions.

Update site access mappings

To verify that both the public URLs and internal URLs will work with the new server name, review the alternate access mapping settings for each Web application that is hosted on the server. If URLs use the original server name, you must update those URLs to use the new server name. If you do not change these URLs, user requests for content will not be directed to the server, and users will receive a "404" or similar error.

If the Central Administration URL is affected by renaming the server, the Central Administration site is unavailable after the server is renamed. In this case, you must change the Central Administration mapping by using Windows PowerShell 2.0. For more information, see New-SPAlternateUrl.

After updating the Central Administration Web site URL, you can remap other Web applications by using the Windows PowerShell 2.0 New-SPAlternateUrl cmdlet, or by using Central Administration.

If you are using alternate access mappings for Web sites other than Central Administration, including reverse proxies or load balancers that depend on those URLs, ensure that the reverse proxies and load balancers are updated with the new server name also.


Manage search topology (SharePoint Server 2010)
See Also

Microsoft SharePoint Server 2010 Search is composed of several topology components, all of which provide specific functionality required for Search to operate. The topics listed in this article will help you understand the purpose of these components, and provide procedures for adding and removing them from a farm.

  • Search topology operations in SharePoint Server 2010 (white paper)

    Describes how to use the Windows PowerShell command-line interface to scale out the search topology in SharePoint Server 2010.

  • Add or remove an index partition

  • Add or remove a query component

  • Add or remove a crawl database

  • Add or remove a crawl component

  • Add or remove a property database

  • Add or remove a host distribution rule

See Also

Other Resources

Resource Center: Enterprise Search in SharePoint Server 2010


Search topology operations in SharePoint Server 2010 (white paper)
See Also

Published: May 15, 2010

This white paper describes how to use the Windows PowerShell command-line interface to add components to scale out the search topology in Microsoft SharePoint Server 2010. It also describes how to perform a full topology import and export. To download the white paper in the format that you want, click the following links:

  • Search Topology Operations in SharePoint Server 2010 (Microsoft Office Word)

  • Search Topology Operations in SharePoint Server 2010 (PDF)

  • Search Topology Operations in SharePoint Server 2010 (XPS)

See Also

Concepts

Add or remove an index partition
Add or remove a query component
Add or remove a crawl database
Add or remove a crawl component
Add or remove a property database
Add or remove a host distribution rule


Add or remove an index partition
See Also

In Microsoft SharePoint Server 2010 Search, index partitions are groups of query components, each of which holds a subset of the full text index and which return search results to the query originator. Each index partition is associated with a specific property database containing metadata associated with a specific set of crawled content. You can distribute the load of query servicing by adding index partitions to a Search Service Application and placing their query components on different farm servers.

You can decide which servers in a farm will service queries by creating a query component on that server. If you want to balance the load of servicing queries across multiple farm servers, add query components to an index partition and associate them with the servers you want to service queries. See Add or remove a query component for more information.

Note:

When you create a new index partition, the first query component in the index partition is created automatically.

To add an index partition to a Search Service Application

  1. In Central Administration, in the Application Management section, click Manage service applications.

  2. On the Service Applications page, click the name of the Search Service Application to which you want to add an index partition.

  3. On the Search Administration page, in the Search Application Topology section, click the Modify button.

    Note:

    The SharePoint Search topology cannot be changed in Standalone installations.

  4. On the Manage Search Topology page, click New, and then click Index Partition and Query Component.

  5. In the Add Query Component dialog box, in the Server list, click the farm server to which you want to add the first query component of the new index partition.

  6. In the Associated Property Database list, click the property database you want to associate with the new index partition.

  7. In the Location of Index field, you can optionally enter the location on the server that will be used for storage of the index files after receiving them from the crawl components. If you want to accept the default location, leave the contents of this field unchanged.

  8. In the Failover-only Query Component section, you can select the Set this query component as failover-only check box if you want the query component to receive queries only in the event of a failure of the primary query component in the same index partition. If you are creating a new index partition, you should leave this box unchecked. You can add a failover-only query component to the index partition later if necessary.

  9. Click OK to add the new index partition and its first query component to the job queue.

  10. On the Manage Search Topology page, click the Apply Topology Changes button to start the SharePoint timer job that will add the new index partition and its first query component to the specified server.

    Note:

    You can make other changes to the Search topology and then apply them all at once by clicking the Apply Topology Changes button.

To remove an index partition from a Search Service Application

You can remove an index partition from a Search Service Application, which also removes all index files associated with the index partition. To remove an index partition, you delete all query components associated with the index partition, as described in the following procedure.

  1. In Central Administration, in the Application Management section, click Manage service applications.

  2. On the Service Applications page, click the name of the Search Service Application from which you want to remove an index partition.

  3. On the Search Administration page, in the Search Application Topology section, click the Modify button.

    Note:

    The SharePoint Search topology cannot be changed in Standalone installations.

  4. On the Manage Search Topology page, click any query component in the index partition you want to remove, and then click Delete.

  5. In the message box that appears, click OK to delete the query component.

  6. Repeat steps 4-5 for every query component in the index partition you want to remove. Removing the last query component also removes the index partition.

    Note:

    If you remove all the query components from an index partition, the index partition will be removed from the farm completely and all the data from the partition will be copied and distributed into the remaining partitions. Depending on resource availability and the volume of data in the partition, this operation may take a long time and may affect farm performance. You cannot remove the last remaining index partition in a given Search Service Application.

  7. On the Manage Search Topology page, click the Apply Topology Changes button to start the SharePoint timer job that will remove the index partition and its query components from the farm.

    Note:

    You can make other changes to the Search topology and then apply them all at once by clicking the Apply Topology Changes button.

See Also

Concepts

Search topology operations in SharePoint Server 2010 (white paper)


Add or remove a query component
See Also

In Microsoft SharePoint Server 2010 Search, query components return search results to the query originator. Each query component is part of an index partition, which is associated with a specific property database that contains metadata associated with a specific set of crawled content. You can distribute query load by adding mirror query components to an index partition and placing them on different farm servers. For more information about index partitions, see Add or remove an index partition.

Typically, a given index partition contains one or two query components depending on whether you want to provide load balancing or failover capabilities to the index partition. You can add more than two query components to an index partition, but in general, we recommend that in such cases, you instead create a new index partition.

You can decide which servers in a farm will service queries by creating a new query component on that server. If you want to balance the load of servicing queries across multiple farm servers, add mirror query components to an index partition and associate them with the servers you want to service queries.

Note:

When you create a new index partition, the first query component in the index partition is created automatically.

To add a query component to an index partition

  1. In Central Administration, in the Application Management section, click Manage service applications.

  2. On the Service Applications page, click the name of the Search Service Application to which you want to add a query component.

  3. On the Search Administration page, in the Search Application Topology section, click the Modify button.

    Note:

    The SharePoint Search topology cannot be changed in Standalone installations.

  4. On the Manage Search Topology page, click a query component in the index partition you want to modify, and then click Add Mirror.

  5. In the Add mirror query component dialog box, in the Server field, select the farm server to which you want to add the query component.

  6. The Associated Property Database field displays the property database associated with the index partition you are modifying. This field cannot be changed while adding a mirror query component to an index partition.

  7. In the Location of Index field, you can optionally specify the location on the server that will be used for storage of the index files after receiving them from the crawl components. If you want to accept the default location, leave the contents of this field unchanged.

  8. In the Failover-only Query Component section, you can select the Set this query component as failover-only check box if you want the query component to receive queries only in the event of a failure of the primary query component in the same index partition.

  9. Click OK to add the new mirror query component to the job queue.

  10. On the Manage Search Topology page, click the Apply Topology Changes button to start the SharePoint timer job that will add the new mirror query component to the selected index partition.

    Note:

    You can make other changes to the Search topology and then apply them all at once by clicking the Apply Topology Changes button.

To remove a query component from an index partition

  1. In Central Administration, in the Application Management section, click Manage service applications.

  2. On the Service Applications page, click the name of the Search Service Application from which you want to remove a query component.

  3. On the Search Administration page, in the Search Application Topology section, click the Modify button.

    Note:

    The SharePoint Search topology cannot be changed in Standalone installations.

  4. On the Manage Search Topology page, click the query component you want to remove, and then click Delete.

  5. In the message box that appears, click OK to add the removal of the query component to the job queue.

  6. On the Manage Search Topology page, click the Apply Topology Changes button to start the SharePoint timer job that will remove the query component from the selected index partition.

    Note:

    If you remove all the query components from an index partition, the index partition will be removed from the farm completely and all the data from the partition will be copied and distributed into the remaining partitions. Depending on resource availability and the volume of data in the partition, this operation may take a long time and may affect farm performance. You cannot remove the last remaining index partition in a given Search Service Application.

    Note:

    You can make other changes to the Search topology and then apply them all at once by clicking the Apply Topology Changes button.

See Also

Concepts

Search topology operations in SharePoint Server 2010 (white paper)


Add or remove a crawl database
See Also

In Microsoft SharePoint Server 2010 Search, crawl databases contain data related to the location of content sources, crawl schedules, and other information specific to crawl operations for a specific Search Service Application. You can distribute the database load by adding crawl databases to different computers that are running SQL Server. Crawl databases are associated with crawl components, and can be dedicated to specific hosts by creating host distribution rules. For more information about crawl components, see Add or remove a crawl component. For more information about host distribution rules, see Add or remove a host distribution rule.

To add a crawl database to a Search Service Application

  1. In Central Administration, in the Application Management section, click Manage service applications.

  2. On the Service Applications page, click the name of the Search Service Application to which you want to add a crawl database.

  3. On the Search Administration page, in the Search Application Topology section, click the Modify button.

    Note:

    The SharePoint Search topology cannot be changed in Standalone installations.

  4. On the Manage Search Topology page, click New, and then click Crawl Database.

  5. In the Add Crawl Database dialog box, in the Add Crawl Database section, specify a database server to which you want to add the crawl database, the database name, and database authentication information. By default, the Database Server field contains the host name and instance that is used to store the farm's configuration database, and the Database Name field is pre-populated with a suggested name.

  6. In the Failover Database Server field, you can optionally specify a failover database server that is used in conjunction with SQL Server database mirroring.

    Important:

    Do not enter a server name into this field unless SQL Server database mirroring is currently configured and operational.

  7. In the Dedicated Database section, you can select the Dedicate this crawl store to hosts as specified in Host Distribution Rules check box if appropriate.

    Note:

    It is not possible to set a crawl store (that is, a crawl database) as dedicated once it has been created.

  8. Click OK to add the new crawl database to the job queue.

  9. On the Manage Search Topology page, click the Apply Topology Changes button to start the SharePoint timer job that will add the new crawl database to the specified SQL Server computer and make it available for association with crawl components.

    Note:

    You can make other changes to the Search topology and then apply them all at once by clicking the Apply Topology Changes button.

To remove a crawl database from a Search Service Application

Important:

Before you can delete a crawl database, you must first remove any associations with any crawl components either by removing the crawl components or by assigning them to a different crawl database. If any crawl components are currently associated with the crawl database, the Delete option will not appear when you click the crawl database.

  1. In Central Administration, in the Application Management section, click Manage service applications.

  2. On the Service Applications page, click the name of the Search Service Application from which you want to remove a crawl database.

  3. On the Search Administration page, in the Search Application Topology section, click the Modify button.

    Note:

    The SharePoint Search topology cannot be changed in Standalone installations.

  4. On the Manage Search Topology page, click the crawl database you want to remove, and then click Delete.

    Note:

    If any crawl components are currently associated with the crawl database, the Delete option will not appear when you click the crawl database.

  5. In the message box, click OK to add the removal of the crawl database to the job queue.

  6. On the Manage Search Topology page, click the Apply Topology Changes button to start the SharePoint timer job that will delete the crawl database from the specified SQL Server computer and remove it from the farm.

    Note:

    You can make other changes to the Search topology and then apply them all at once by clicking the Apply Topology Changes button.

See Also

Concepts

Search topology operations in SharePoint Server 2010 (white paper)


Add or remove a crawl component
See Also

In Microsoft SharePoint Server 2010 Search, crawl components process crawls of content sources, propagate the resulting index files to query components, and add information about the location and crawl schedule of content sources to their associated crawl databases. Crawl components are associated with a single Search Service Application. You can distribute the crawl load by adding crawl components to different farm servers.

You can decide which servers in a farm will participate in crawling by creating a crawl component on that server. If you want to balance the load of servicing crawls across multiple farm servers, add crawl components to the farm and associate them with the servers you want to crawl content sources.

To add a crawl component to a Search Service Application

  1. In Central Administration, in the Application Management section, click Manage service applications.

  2. On the Service Applications page, click the name of the Search Service Application to which you want to add a crawl component.

  3. On the Search Administration page, in the Search Application Topology section, click the Modify button.

    Note:

    The SharePoint Search topology cannot be changed in Standalone installations.

  4. On the Manage Search Topology page, click New, and then click Crawl Component.

  5. In the Add Crawl Component dialog box, in the Server list, click the farm server to which you want to add the crawl component.

  6. In the Associated Crawl Database list, click the crawl database you want to associate with the new crawl component.

  7. In the Temporary Location of Index field, you can optionally enter the location on the server that will be used for creating the index files before propagating them to the query components. If you want to accept the default location, leave the contents of this field unchanged.

  8. Click OK to add the new crawl component to the job queue.

  9. On the Manage Search Topology page, click the Apply Topology Changes button to start the SharePoint timer job that will add the new crawl component to the farm on the specified server.

    Note:

    You can make other changes to the Search topology and then apply them all at once by clicking the Apply Topology Changes button.

To remove a crawl component from a Search Service Application

  1. In Central Administration, in the Application Management section, click Manage service applications.

  2. On the Service Applications page, click the name of the Search Service Application to which you want to add a crawl component.

  3. On the Search Administration page, in the Search Application Topology section, click the Modify button.

    Note:

    The SharePoint Search topology cannot be changed in Standalone installations.

  4. On the Manage Search Topology page, click the crawl component you want to remove, and then click Delete.

  5. In the message box that appears, click OK to add the removal of the crawl component to the job queue.

  6. On the Manage Search Topology page, click the Apply Topology Changes button to start the SharePoint timer job that will delete the crawl component from the farm.

    Note:

    You can make other changes to the Search topology and then apply them all at once by clicking the Apply Topology Changes button.

See Also

Concepts

Search topology operations in SharePoint Server 2010 (white paper)


Add or remove a property database
See Also

In Microsoft SharePoint Server 2010 Search, property databases contain metadata associated with crawled content. You can distribute the database load of queries by adding property databases to different computers that are running SQL Server. Property databases are associated with index partitions, and return any metadata associated with content in query results. For more information about index partitions, see Add or remove an index partition.

To add a property database to a farm

  1. In Central Administration, in the Application Management section, click Manage service applications.

  2. On the Service Applications page, click the name of the Search Service Application to which you want to add a property database.

  3. On the Search Administration page, in the Search Application Topology section, click the Modify button.

    Note:

    The SharePoint Search topology cannot be changed in Standalone installations.

  4. On the Manage Search Topology page, click New, and then click Property Database.

  5. In the Add Property Database dialog box, in the Add Property Database section, specify a database server to which you want to add the property database, the database name, and database authentication information. By default, the Database Server field contains the host name and instance that is used to store the farm's configuration database, and the Database Name field is pre-populated with a suggested name.

  6. In the Failover Database Server field, you can optionally specify a failover database server that is used in conjunction with SQL Server database mirroring.

    Important:

    Do not enter a server name into this field unless SQL Server database mirroring is currently configured and operational.

  7. Click OK to add the new property database to the job queue.

  8. On the Manage Search Topology page, click the Apply Topology Changes button to start the SharePoint timer job that will add the new property database to the selected SQL Server computer and make it available for association with index partitions.

    Note:

    You can make other changes to the Search topology and then apply them all at once by clicking the Apply Topology Changes button.

To remove a property database from a farm

Important:

Before you can delete a property database, you must first remove any associations with any query components either by removing the query components or by assigning them to a different property database. If any query components are currently associated with the property database, the Delete option will not appear when you click the property database.

  1. In Central Administration, in the Application Management section, click Manage service applications.

  2. On the Service Applications page, click the name of the Search Service Application from which you want to remove a property database.

  3. On the Search Administration page, in the Search Application Topology section, click the Modify button.

    Note:

    The SharePoint Search topology cannot be changed in Standalone installations.

  4. On the Manage Search Topology page, click the property database you want to remove, and then click Delete.

    Note:

    If any query components are currently associated with the property database, the Delete option will not appear when you click the property database.

  5. In the message box that appears, click OK to add the removal of the property database to the job queue.

  6. On the Manage Search Topology page, click the Apply Topology Changes button to start the SharePoint timer job that will delete the property database from the specified computer that is running SQL Server and remove it from the farm.

    Note:

    You can make other changes to the Search topology and then apply them all at once by clicking the Apply Topology Changes button.

See Also

Concepts

Search topology operations in SharePoint Server 2010 (white paper)


Add or remove a host distribution rule

In Microsoft SharePoint Server 2010 Search, host distribution rules are used to associate a host with a specific crawl database. By default, hosts are load balanced across crawl databases based on space availability. However, you may want to assign a host to a specific crawl database for availability and performance optimization. For more information about crawl databases, see Add or remove a crawl database.

To add a host distribution rule

  1. In Central Administration, in the Application Management section, click Manage service applications.

  2. On the Service Applications page, click the name of the Search Service Application to which you want to add a host distribution rule.

  3. On the Search Administration page, in the left navigation bar, click Host Distribution Rules.

  4. On the Host Distribution Rules page, click Add Distribution Rule.

    Note:

    If there is only one crawl database in the Search Service Application, you cannot add a host distribution rule, and this option will not appear.

  5. On the Add Host Rule page, in the Hostname field, enter the name of the host to which this rule applies.

  6. In the Distribution Configuration list, select the crawl database you want to participate in the crawl of this host.

  7. Click OK to add the new mirror query component to the job queue.

  8. On the Host Distribution Rules page, click Apply Changes.

  9. Click OK to apply the rule.

To remove a host distribution rule

  1. In Central Administration, in the Application Management section, click Manage service applications.

  2. On the Service Applications page, click the name of the Search Service Application from which you want to remove a host distribution rule.

  3. On the Search Administration page, in the left navigation bar, click Host Distribution Rules.

  4. On the Host Distribution Rules page, position the mouse over the host distribution rule you want to delete, click the down arrow that appears to the right of the rule name, and then click Delete.

  5. In the message box that appears, click OK to add the removal of the host distribution rule to the job queue.

  6. On the Host Distribution Rules page, click Apply Changes.

  7. Click OK to delete the rule.


Migrate a farm deployed on a failover cluster environment (SharePoint Server 2010)

Published: December 16, 2010

This article provides information that you can use for the migration of a Microsoft Office SharePoint Server 2007 farm or a Microsoft SharePoint Server 2010 farm that is deployed in a failover cluster environment to another cluster.

Although SharePoint Server is not cluster-aware and we do not support clusters running SharePoint Server, we recognize that some organizations do implement failover clusters at the operating system or database levels.

In this article:

  • Migration strategy

  • Migration resources

Migration strategy

If the environment uses failover clustering at the operating system level or the database server level (or both), you must develop a migration strategy that ensures that the SharePoint Server 2010 farm is highly available and not compromised in any way (for example, lost data and corrupted configurations).

Note:

Because SharePoint Server 2010 only supports a 64-bit operating system and 64-bit database environment, any migration strategy has to include this requirement.

Migration is typically done in order to upgrade the following cluster elements:

  • Windows Server 2003 or Windows Server 2008 to Windows Server 2008 R2

  • Microsoft SQL Server 2005 to Microsoft SQL Server 2008

The migration strategy will be based on the cluster elements that you want to work with. If your farm environment uses an operating system cluster and a database server cluster, we recommend that you complete the operating system migration first.

Windows Server clusters

In a Windows Server failover cluster environment, the cluster exists as a named server in the farm. When you migrate to a new cluster, you have to complete the following tasks:

  1. Add the new cluster as a different registered name.

  2. Move all the services to the new server cluster.

  3. Remove the existing server cluster as a named farm server.

In a scenario where SQL Server is hosted on a Windows Server cluster, database migration is fairly easy because you do not have to configure SQL Server connection strings.

Windows Server clusters expose one or more virtual server names, WINS entries, and DNS entries. The new cluster can use a virtual server name, WINS entry, or DNS entry that is available after the identifier is no longer registered with the existing cluster. Services are migrated as described in the Migrate an existing server farm to a 64-bit environment (Office SharePoint Server 2007) (http://go.microsoft.com/fwlink/p/?LinkId=207555) article, which also applies to SharePoint Server 2010.

SQL Server clusters

In a SQL Server failover cluster environment, cluster migration is complex and involves more downtime than the migration of the operating system cluster. The challenges that a database server migration poses exist because SharePoint Server uses server names to reference SQL Server, other farm servers, and itself. This differs from a Windows Server cluster, which uses virtual server names, WINS entries, and DNS entries.

Migration resources

The following resources are available to assist you with all aspects of cluster migration:

  • Migrating Clustered Services and Applications to Windows Server 2008 R2 Step-by-Step Guide (http://go.microsoft.com/fwlink/p/?LinkId=182155)

    This guide describes how to migrate clustered services and applications (formerly known as resource groups) to a failover cluster running Windows Server 2008 R2.

    Note:

    In a scenario where you are migrating from the 64-bit version of Windows Server 2003, you can use an in-place migration to upgrade the operating system to Windows Server 2008 R2. For more information, see In-Place Migration for a Two-Node Cluster (http://go.microsoft.com/fwlink/p/?LinkId=207557).

  • Migration Paths for Migrating to a Failover Cluster Running Windows Server 2008 R2 (http://go.microsoft.com/fwlink/p/?LinkId=182156)

    This article describes how to migrate or upgrade specific clustered services or applications to a cluster running Windows Server 2008 R2.

  • How to: Upgrade a SQL Server Failover Cluster Instance (Setup) (http://go.microsoft.com/fwlink/p/?LinkId=169111)

    This article describes how to upgrade an instance of a SQL Server failover cluster.


Automating Microsoft SharePoint 2010 with Windows PowerShell 2.0 (book excerpt)

Published: August 23, 2011

This book excerpt is from Automating Microsoft SharePoint 2010 Administration with Windows PowerShell 2.0, (Wiley Publishing, Inc., June 2011).

Buy this book

Automating Microsoft SharePoint 2010 Administration with Windows PowerShell 2.0 focuses on the automation of Microsoft SharePoint Server 2010 with specific emphasis on deployment and configuration. This book assumes no prior Windows PowerShell knowledge and provides an in-depth overview of basic and advanced Windows PowerShell concepts.

Authors

Gary Lapointe is a SharePoint MVP who has been planning and implementing SharePoint solutions since early 2007. A developer by trade, Gary spends most of his time developing tools that enable IT professionals to be more productive so that they can focus on solving business problems and satisfying their customers' needs. Gary's blog at Falchion Consulting (http://go.microsoft.com/fwlink/p/?LinkId=225944) has become the definitive source for all things related to the automated deployment and management of Microsoft Office SharePoint Server 2007 and Microsoft SharePoint Server 2010.

Shannon Bray is a SharePoint evangelist and Microsoft Certified Trainer. He is currently employed with Planet Technologies as a Technical Architect and works exclusively with Microsoft Office SharePoint Server 2007 and Microsoft SharePoint Server 2010. Shannon specializes in architecture design and solution development using Microsoft technologies. He is the President of the Colorado SharePoint User's Group and has presented SharePoint topics at conferences that Microsoft sponsors, such as TechReady and TechEd.

Book excerpt -- Chapter 20: Multi-Tenancy

In this excerpt:

  • Overview

  • Create a Tenant Hosting Web Application

  • Configure Service Applications

  • Manage Feature Packs and Site Subscriptions

  • Provision Tenants

Overview

With SharePoint 2007, it was somewhat difficult to isolate one customer, or tenant, from another when hosting those customers within the same Farm. The implementation of the Shared Services Provider (SSP), for example, effectively ruled out any substantial hosting considerations due to the likely need to create a separate SSP for each customer. With SharePoint 2010, in part due to the requirements of large enterprises and hosting providers such as Microsoft Online, we now have true support for hosting multiple tenants in a single Farm, otherwise known as multi-tenancy.

Specifically, many of the Service Applications have been architected to support the provisioning of tenant data specifically without the need to create a separate Service Application for each tenant. We can also associate Site Collections with specific tenants, thereby preventing one tenant from seeing another tenant's data. We can even restrict what Features are available to each tenant.

It's important to note that multi-tenancy is not a switch or a single feature that can simply be enabled. Multi-tenancy within SharePoint 2010 is a collection of capabilities that, taken together, make the hosting of multiple tenants in a single Farm possible. To this end, we would be remiss if we didn't also mention Sandboxed Solutions (made possible by the User Code Service). The tenants' ability to deploy custom code to various Site Collections solves numerous customization challenges that administrators faced when attempting to host multiple tenants within a SharePoint 2007 Farm. However, there are no specific multi-tenancy settings that we must configure for Sandboxed Solutions to work properly in a multi-tenancy environment, so we will not be covering the User Code Service here.

What we will cover in this chapter are the key things that most medium and large multi-tenancy deployments are likely to need. Namely, we will create a Web Application that will host the Host-Named Site Collections belonging to our tenants.We will then review the key changes to how we provision each of the Service Applications that support the partitioning of tenant data. And finally, we will cover the provisioning of tenant sites, which includes creating and configuring the Site Subscription that represents a tenant, the Features that the tenants will have available to them, and any additional settings necessary for the Service Applications to be fully operational for each tenant.

The definitive source for details on SharePoint 2010 multi-tenancy is Spencer Harbar's Rational Guide to Multi-Tenancy with SharePoint 2010 (http://go.microsoft.com/fwlink/p/?LinkId=225943). Spence provides scripts along with timely, relevant, and detailed information about all of the known design constraints and issues surrounding this area.

For more information about multi-tenancy, see the SharePoint 2010 for Hosters Whitepaper (http://go.microsoft.com/fwlink/p/?LinkId=190783). Additional information can be found by reviewing the Model: Hosting architectures for SharePoint Server 2010 poster.

Create a Tenant Hosting Web Application

When it comes time to determine where we will be storing our tenants' Site Collections and administrative sites, we have a couple of core options. The first option is to use a standard Web Application and separate each tenant using a series of Managed Paths. The second option is to use Host-Named Site Collections. For most scenarios, we recommend that you use Host-Named Site Collections. This is due to the management overhead and the software boundaries related to how many Managed Paths are supported by SharePoint 2010. (Additionally, this is how the SharePoint product team intended multi-tenant deployments to be configured.)

To help explain this further, suppose we need to create a Managed Path for a Content Type Hub, the Tenant Administration Site, My Sites, and individual tenant Site Collections (or Member Sites). If we use regular addressing (not Host-Named Site Collections), then we will have the following URL structure for each tenant:

  • http://tenanthost.domain.com/tenant1

  • http://tenanthost.domain.com/tenant1/CTHub

  • http://tenanthost.domain.com/tenant1/Admin

  • http://tenanthost.domain.com/tenant1/MySites

  • http://tenanthost.domain.com/tenant1/MySites/Personal/*

  • http://tenanthost.domain.com/tenant1/Sites/*

Using this approach, we will have, at a minimum, six Managed Paths per tenant. This can result in scalability issues, as the recommended maximum is 20 Managed Paths per Web Application. You can see how we will easily surpass this number in very little time.

However, if, instead, we use Host-Named Site Collections, then we can define one set of Managed Paths that will be used for each tenant. To support this, we will create a tenant hosting Web Application that will have a root Site Collection and each of our tenant's Site Collections will be created using host headers. (The root Site Collection is required to be present but will not be utilized.) This will result in the following URL structure:

  • http://tenant1.domain.com

  • http://tenant1.domain.com/CTHub

  • http://tenant1.domain.com/Admin

  • http://tenant1.domain.com/MySites

  • http://tenant1.domain.com/MySites/Personal/*

  • http://tenant1.domain.com/Sites/*

Using this approach, we define our Managed Paths only once, resulting in a total of six Managed Paths, regardless of how many tenants we need to support. (This also provides a cleaner URL structure that is more appealing to most customers of any hosted offering.)

Before we configure any of our Service Applications or create our Tenant Administration Site or Member Sites and dependent objects, we must first create our Web Application and associated Managed Paths. Throughout the examples in this chapter, we will assume that Host-Named Site Collections are being utilized.

Note:

We can, of course, split tenants across Web Applications and even isolate tenants to a Content Database. However, to keep things simple, we will assume one Web Application and one Content Database. Isolating tenants to a Content Database is possible, but it will require that we disable Self-Service Site Creation and implement a custom solution for creating Site Collections in the appropriate Content Database.

Create the Web Application

If you review Chapter 7, "Managing Web Applications," you can see the code required to create a new Web Application. For our purposes here, we want to check to see if the Application Pool we need already exists, and if it does not, we need to get the credentials that we will use for the Application Pool that will be created when we call the New-SPWebApplication cmdlet:

Copy Code
$poolName = "SharePoint Hosting Pool"
$poolAcctName = "sharepoint\SPHostingPool"
$pools = [Microsoft.SharePoint.Administration.i
SPWebService]::ContentService.ApplicationPools
if ($pools.Count -gt 0) {
$tempAppPool = $pools | ? {$_.Name -eq $poolName}
}
$poolAcct = $null
if ($tempAppPool -eq $null) {
$poolAcct = Get-SPManagedAccount $poolAcctName `
-ErrorAction SilentlyContinue
if ($poolAcct -eq $null) {
$cred = Get-Credential $poolAcctName
$poolAcct = New-SPManagedAccount -Credential $cred
}
}

Once we have established our variables for the Application Pool and associated Application Pool identity, we can then create the actual Web Application. Because we intend to use Host-Named Site Collections, we will not provide a host header for this Web Application:

Copy Code
$webApp = New-SPWebApplication `
-ApplicationPool $poolName `
-ApplicationPoolAccount $poolAcct `
-Name "SharePoint Hosting Web Application" `
-DatabaseName "SharePoint_Content_Tenants1" `
-Port 80

The preceding command will create a new Web Application on port 80, which will be addressable using the server name: http://<server>:80/. At this point, you could set the values for the number of Site Collections allowed within the Content Database created as well as create additional Content Databases.

The next step we need to perform is to create an empty Site Collection at the root of the Web Application. This Site Collection will never be utilized, but it is required in order to enable Self-Service Site Creation. (If you do not intend to allow tenant administrators to create Site Collections, then you can forego this step.) The following commands create a Site Collection, and then they enable Self-Service Site Creation for the Web Application:

Copy Code
New-SPSite -Url $webApp.Url `
-OwnerAlias "$($env:userdomain)\$($env:username)"
$webApp.SelfServiceSiteCreationEnabled = $true
$webApp.RequireContactForSelfServiceSiteCreation = $true

Notice that we are not setting a template for this Site Collection; we could set a template, but it is entirely unnecessary, so we provide only the minimum required parameters.

Create the Managed Paths

With our Web Application created, we can now configure our Managed Paths. The first thing we want to do is to remove the default "Sites" Managed Path that is created when the Web Application is created. We can do this using the Remove-SPManagedPath cmdlet:

Copy Code
$webApp | Remove-SPManagedPath "sites" -Confirm:$false

Note that this removes the path, making it no longer available when creating Site Collections using the Central Administration site. However, there is still a "sites" Managed Path available by default for Host-Named Site Collections, so we will not need to create this Managed Path explicitly.

To create the Managed Paths that we wish to share between all Host-Named Site Collections, we use the New-SPManagedPath cmdlet and provide the HostHeader parameter. The following code creates the structure we defined earlier:

Copy Code
$webApp | New-SPManagedPath "admin" `
-HostHeader -Explicit
$webApp | New-SPManagedPath "cthub" `
-HostHeader -Explicit
$webApp | New-SPManagedPath "mysites" `
-HostHeader -Explicit
$webApp | New-SPManagedPath "mysites/personal" `
-HostHeader

Configure Service Applications

When it comes to multi-tenancy, not all Service Applications are created alike. There are some Service Applications that can be partitioned to store tenant data in an isolated fashion without the need to create multiple databases or separate Service Applications per tenant.

The following Service Applications can be partitioned and store tenant data:

  • Business Connectivity Services

  • Managed Metadata Services

  • Search Services

  • Secure Store Services

  • User Profile Services

  • Word Automation Services

For simplicity's sake, we will refer to these Service Applications collectively as Tenant Services. The remaining Service Applications either do not store tenant data at all and/or cannot be partitioned, with the exception of one—the Subscription Settings Service. This service manages information about our tenants, such as the Site Subscription that is used to identify a tenant and all Member Sites associated with the tenant. Before we look at the changes that we need to make to how we provision the Tenant Services, we will first detail how to provision the Subscription Settings Service.

Provision the Subscription Settings Service

The Subscription Settings Service Application manages our tenant data and must be provisioned before we can create any of our tenant artifacts. Provisioning the Subscription Settings Service is very similar to what you saw in Part 4 of this book, and most closely follows the steps we followed when provisioning the Business Connectivity Services Service Application, as described in Chapter 13. Here are the steps that you will need to perform to provision the Subscription Settings Service:

  1. Start the Subscription Settings Service Instance.

  2. Create the Subscription Settings Service Application.

  3. Create the Subscription Settings Service Application Proxy.

Unlike some of the other Service Applications we looked at in Part 4, there is no mechanism to have the Service Application Proxy created automatically when the Service Application is created, so we must do so explicitly.

Start the Service Instance

Before we create the Subscription Settings Service Application, we will start the Service Instance associated with the Service Application. To retrieve the Subscription Settings Service Instance, we'll use Microsoft SharePoint Foundation Subscription Settings Service for the TypeName property (this value will be different with different language versions of SharePoint):

Copy Code
$svc = Get-SPServiceInstance -Server $env:computername | i
where {$_.TypeName -eq i
"Microsoft SharePoint Foundation Subscription i
Settings Service"}
if ($svc.Status -ne "Online") {
$svc | Start-SPServiceInstance
}

Create the Service Application

You can create the Subscription Settings Service Application using the New-SPSubscriptionSettingsServiceApplication cmdlet. Table 20.1 describes the relevant parameters of the New-SPSubscriptionSettingsServiceApplication cmdlet.

Table 20.1

Parameter | Description
Name | Specifies the display name of the Subscription Settings Service Application to create. The name can contain a maximum of 128 characters and can contain the comma (,), equal sign (=), and colon (:) characters provided that they are enclosed in quotation marks.
ApplicationPool | Specifies the existing Service Application Pool in which to run the web service for the new Subscription Settings Service Application.
DatabaseName | Specifies the name for the Subscription Settings Service database.
DatabaseServer | Specifies the name of the host server for the database specified by the DatabaseName parameter.
FailoverDatabaseServer | Specifies the name of the host server for the failover database server.

There are no parameters for the New-SPSubscriptionSettingsServiceApplication cmdlet that affect the behavior of the Service Application. The only required parameter is -ApplicationPool, though it is recommended that you provide a meaningful name and not let SharePoint choose a name for you. The following code demonstrates how to create the Service Application:

Copy Code
$appName = "Subscription Settings Service Application"
$app = Get-SPServiceApplication | where {
$_.Name -eq $appName
}
if ($app -eq $null) {
$poolName = "SharePoint Services App Pool"
$pool = Get-ServicePool $poolName
$app = New-SPSubscriptionSettingsServiceApplication `
-ApplicationPool $pool `
-Name $appName `
-DatabaseName "SharePoint_Subscription_Settings" `
-DatabaseServer "spsql1"
}

Note that before attempting to create the Service Application, we first check to see if it already exists by using the Get-SPServiceApplication cmdlet. We then use the Get-ServicePool helper function we created in Chapter 11 to retrieve the Service Application Pool that we will associate with the Service Application.

Note:

Unlike most other Service Applications, you cannot provision more than one instance of the Subscription Settings Service Application in a single Farm. The creation of an additional Service Application itself will not cause an error; however, when you attempt to create the Service Application Proxy for the Service Application, you will receive an error. This effectively prevents you from being able to associate the Service Application with a Web Application.

Create the Service Application Proxy

After creating the Subscription Settings Service Application, we must next create the Service Application Proxy. To create the Service Application Proxy, we use the New-SPSubscriptionSettingsServiceApplicationProxy cmdlet, passing in the Service Application previously created. Unlike virtually every other Service Application Proxy creation cmdlet that we looked at in Part 4, this cmdlet does not allow us to specify a name and, as such, will set the name to Microsoft SharePoint Foundation Subscription Settings Service Application Proxy:

Copy Code
$proxy = New-SPSubscriptionSettingsServiceApplicationProxy `
-ServiceApplication $app

Finally, we need to associate the Service Application Proxy with a specific Proxy Group. This can be done using the Add-SPServiceApplicationProxyGroupMember cmdlet:

Copy Code
$pg = Get-SPServiceApplicationProxyGroup -Identity ""
$pg | Add-SPServiceApplicationProxyGroupMember `
-Member $proxy

Configure Tenant Services

In Part 4, we detailed how to provision each of the many Service Applications that SharePoint 2010 supports. In this section, to keep things as simple as possible, we will highlight only the Service Application and Service Application Proxy creation cmdlets that are relevant to the Tenant Services listed earlier. (Refer back to Part 4 for detailed instructions on provisioning the Service Applications.)

For most of our Service Applications, we merely need to provide a -PartitionMode parameter to the appropriate cmdlets. However, there are a couple of cases that vary slightly. The following sections highlight the changes you will need to make to how you are calling the respective cmdlets.

Warning:

For those Service Applications that allow for the explicit creation of a Service Application Proxy, if the Service Application itself was created in partition mode, then the Service Application Proxy must also be created in partition mode. You cannot mix and match this setting, and you cannot change this setting after creation.

Business Connectivity Services

Partitioning Business Connectivity Services (BCS) allows us to store and manage different Models, External Systems, and External Content Types per tenant, within the same Service Application. (No tenant will see another tenant's data.) To partition BCS, we merely have to set the -PartitionMode parameter when creating the Service Application using the New-SPBusinessDataCatalogServiceApplication cmdlet (refer to Chapter 13 for the remainder of the necessary commands):

Copy Code
$app = New-SPBusinessDataCatalogServiceApplication `
-ApplicationPool $pool `
-Name "BCS Hosting Service Application" `
-DatabaseName "SharePoint_Hosting_BCS" `
-DatabaseServer "spsql1" `
-PartitionMode

In this particular case, the Service Application Proxy will be created automatically for us and will be set to be partitioned. Note that there is a cmdlet to create a Service Application Proxy manually; however, the release version of SharePoint 2010 does not allow you to set the -PartitionMode property unless you are connecting to a published Service Application in another Farm. This means that, if you delete the Service Application Proxy that is created automatically, you must consequently delete the Service Application as well; recreating the Service Application is the only way to create a Service Application Proxy in partition mode.

Note:

After provisioning the Business Connectivity Services Service Application in partition mode, you will no longer be able to manage the service from the Central Administration site. Instead, you must navigate to the BCS Management page from the Tenant Administration site.

Managed Metadata Services

Partitioning Managed Metadata Services allows us to create a separate Content Type Hub for each of our tenants. Additionally, we are able to create and manage Term Sets per tenant without worrying about exposing those Terms to other tenants, all within a single Service Application.

Unlike Business Connectivity Services, Managed Metadata Services provides uswith the means to create both the Service Application and Service Application Proxy in partition mode, using the -PartitionMode switch parameter. (For partitioning to work correctly, both the Service Application and Service Application Proxy must be configured for partition mode.)

Additionally, the Managed Metadata Services Service Application and Service Application Proxy creation cmdlets contain several parameters that alter the way the service is configured. Some of these parameters are not relevant in a multi-tenancy scenario, and as such, the corresponding settings will be disabled in the Central Administration site if configured for partition mode. Specifically, when creating the Service Application, it is not necessary to set the -HubUri or -SyndicationErrorReportEnabled parameters because these parameters are not relevant when in partition mode and will be set per tenant (refer to Chapter 15 for the remainder of the necessary commands):

Copy Code
$app = New-SPMetadataServiceApplication `
-ApplicationPool $pool `
-Name "Managed Metadata Hosting Service Application" `
-DatabaseName "SharePoint_Hosting_Metadata" `
-PartitionMode

For the Service Application Proxy, we can set any of the parameters described in Chapter 15. However, Content Type syndication will always be enabled when in partition mode. If you fail to provide the -ContentTypeSyndicationEnabled parameter, you will receive a warning stating that it will be enabled (we recommend you provide the parameter to avoid generating the warning):

Copy Code
$proxy = $app | New-SPMetadataServiceApplicationProxy `
-Name "$($app.Name) Proxy" `
-ContentTypeSyndicationEnabled `
-DefaultProxyGroup `
-PartitionMode

When it comes time to configure your tenants, you will use the Set-SPSiteSubscriptionMetadataConfig cmdlet to configure the tenant-specific properties. Table 20.2 lists the parameters of the Set-SPSiteSubscriptionMetadataConfig cmdlet. (You will see an example of how to call this cmdlet later in this chapter.)

Table 20.2

Parameter | Description
Identity | Specifies the Site Subscription for which to set the Service Application settings.
ServiceProxy | Specifies the local Metadata Service Application Proxy for the Service Application that contains the Site Subscription-specific settings. This is the Service Application Proxy that we just created.
DoNotUnpublishAllPackages | If this flag is set, the published Content Type packages will not be unpublished. If the -HubUri parameter is changed, all Content Type packages will be unpublished by default. If the -HubUri parameter is not changed, this flag has no effect.
HubUri | Specifies the URI of the syndication hub. The type must be a valid URI, in the form http://sitename.
SyndicationErrorReportEnabled | Enables error reporting for Content Type syndication.
Note:

After provisioning the Managed Metadata Services Service Application in partition mode, you will no longer be able to manage the Term Store from the Central Administration site. Instead, you must navigate to the Term Store from the Tenant Administration site.

Search Services

Partitioning Search Services does not provide any additional tenant-based functionality or management screens, and you can continue to manage it directly from within the Central Administration site; however, by provisioning Search Services, you are able to expose search results seamlessly only to the tenant to whom the results pertain. (It's not even necessary to add the Host-Named Site Collections to the content source—as long as the hosting Web Application is set as a content source, all tenant sites will be indexed and their data property isolated when querying.)

Like the Managed Metadata Services, the Search Services Service Application and Service Application Proxy creation cmdlets have a parameter that allows us to configure the Service Application for partition mode. However, unlike all of the other Service Applications we will look at in this chapter, the switch parameter that we will use is called -Partitioned, as opposed to -PartitionMode.

The Search Services Service Application is one of the more complex Service Applications to configure using PowerShell, requiring significantly more PowerShell than any other Service Application. As with the other Tenant Services we cover in this chapter, we will show only the cmdlets that must have the -Partitioned parameter set (refer to Chapter 14 for the remainder of the necessary commands):

Copy Code
$app = New-SPEnterpriseSearchServiceApplication `
-Name "Enterprise Search Hosting Service Application `
-DatabaseServer "spsql1" `
-DatabaseName "SharePoint_Hosting_Search" `
-ApplicationPool $pool `
-Partitioned

We can now create our Service Application Proxy using the New-SPEnterpriseSearchServiceApplicationProxy cmdlet:

Copy Code
$proxy = New-SPEnterpriseSearchServiceApplicationProxy `
-Name "$($app.Name) Proxy" `
-SearchApplication $app `
-Partitioned

As noted previously, there is a considerable amount of additional PowerShell that must be run to provision Search Services successfully—refer to Chapter 14 for more information.

Secure Store Service

By partitioning the Secure Store Services, we are able to create and manage Secure Store Target Applications at the tenant level. This means that a tenant can create a target application for use with BCS and not worry about their unique data connection settings being exposed to other tenants.

The Secure Store Services Service Application creation cmdlet, New-SPSecureStoreServiceApplication, contains our standard-PartitionMode parameter that we must set to enable partition mode. However, the Service Application Proxy creation cmdlet, New-SPSecureStoreServiceApplicationProxy, does not contain this parameter. When the Service Application Proxy is created, it looks at what was set for the Service Application and uses that for its configuration (refer to Chapter 12 for the remainder of the necessary commands):

Copy Code
$app = New-SPSecureStoreServiceApplication `
-Name "Secure Store Hosting Service Application" `
-ApplicationPool $pool `
-DatabaseServer "spsql1" `
-DatabaseName "SharePoint_Hosting_SecureStore" `
-AuditingEnabled `
-AuditLogMaxSize 30 `
-Sharing:$false `
-PartitionMode

Note that even though the -AuditingEnabled parameter is a switch parameter and should not be required, it is necessary to provide this parameter due to how the cmdlet was implemented. If you wish not to enable auditing, specify the parameter as -AuditingEnabled:$false. However, we recommend that you enable auditing.

Note:

After provisioning the Secure Store Services Service Application in partition mode, you will no longer be able to manage target applications from the Central Administration site. Instead, you must navigate to the Secure Store Management page from the Tenant Administration Site. However, before tenants can create target applications, you must generate a master key—this can be done using PowerShell, as described in Chapter 12 or via the Secure Store Management screen in the Central Administration site.

User Profile Services

Partitioning User Profile Services means that you will be able to store user profile data and My Sites, as well as the various types of social data, at the tenant level—all within the same Service Application. When it comes to selecting users, you can even control things such as the People Picker to prevent tenants from seeing users corresponding with other tenants. (Note that the People Picker settings are actually a property of a Site Subscription and not the User Profile Services, but you configure this setting along with other tenant-specific User Profile settings.)

We recommend that you create a separate Organizational Unit (OU) for each tenant and group, with each of these OUs in another OU. For our purposes, we will create an OU called Tenants and place each tenant in their own OU within the Tenants OU. For example, for a tenant named Customer1 in the domain domain.com, we will create a containment structure that will have the following distinguished name (DN):OU=Customer1,OU=Tenants,DC=domain,DC=com

This information will be necessary when we provision our individual tenants. For now, all we need to worry about is provisioning the User Profile Services Service Application and Service Application Proxy in partition mode. As with the other creation cmdlets, we need simply to provide the -PartitionMode parameterwhen creating the Service Application and Service Application Proxy. Note that, as with the Managed Metadata Service Application creation cmdlet, there are some parameters that are not applicable when creating the Service Application in partition mode. Specifically, the -MySiteHostLocation, -MySiteManagedPath, and -SiteNamingConflictResolution parameters are not applicable as they are set per tenant using the Set-SPSiteSubscriptionProfileConfig cmdlet.

As shown in Chapter 15, we first declare a hash table containing all of our properties, which we then pass to the Start-Job cmdlet along with the call to the New-SPProfileServiceApplication cmdlet (we have included the relevant portions here; refer to Chapter 15 for the remainder of the necessary commands):

Copy Code
$params = @{
Name="User Profile Hosting Service Application";
ApplicationPool=$pool.Id;
ProfileDBName="SharePoint_Hosting_UserProf_Profile";
ProfileDBServer="spsql1";
ProfileSyncDBName="SharePoint_Hosting_UserProf_Sync";
ProfileSyncDBServer="spsql1";
SocialDBName="SharePoint_Hosting_UserProf_Social"; SocialDBServer="spsql1";
PartitionMode=$true
}
...
$sb = {
[System.Collections.Hashtable]$params = $input | %{$_}
New-SPProfileServiceApplication @params
}
...
$proxy = New-SPProfileServiceApplicationProxy `
-Name "$($app.Name) Proxy" `
-ServiceApplication $app `
-DefaultProxyGroup `
-PartitionMode

When it comes time to configure your tenants, you will use the Add-SPSiteSubscriptionProfileConfig cmdlet to configure the tenant-specific properties. Table 20.3 lists the parameters of the Add-SPSiteSubscriptionProfileConfig cmdlet. (You will see an example of how to call this cmdlet later in this chapter.)

Table 20.3

Parameter | Description
Identity | Specifies the Site Subscription for which to set the Service Application settings.
ProfileServiceApplicationProxy | Specifies the name of the proxy for the User Profile Service Application.
MySiteHostLocation | Specifies the Site Collection where the My Site Web Host Site will be created.
MySiteManagedPath | Specifies the managed path where personal sites will be created.
SiteNamingConflictResolution | Specifies the format to use to name personal sites. A value of Block will just add the username, Resolve will conditionally add the domain to avoid conflicts, and None will always add the domain to avoid conflicts.
SynchronizationOU | Specifies the Organizational Unit that serves the Site Subscription. This is where we use the Organizational Unit that we previously defined.

Word Automation Service

The final Service Application that we can configure for partitioning is the Word Automation Services Service Application. As described in Chapter 13, this particular Service Application has no cmdlet to enable us to create the Service Application Proxy explicitly; it is created automatically when the Service Application is created. As with the previous Service Applications, the New-SPWordConversionServiceApplication cmdlet has a -PartitionMode parameter that we must set to enable partitioning (refer to Chapter 13 for the remainder of the necessary commands):

Copy Code
$app = New-SPWordConversionServiceApplication `
-ApplicationPool $pool `
-Name "Word Automation Hosting Service Application" `
-Default `
-DatabaseName "SharePoint_Hosting_WordAutomation1" `
-DatabaseServer "spsql1" `
-PartitionMode

This completes the changes that we must make to how we provision our Service Applications. The next step to complete, before we can begin to provision our tenants' sites, is to configure the Feature Packs that will define what Features will be accessible to a tenant and the Site Subscriptions that identify individual tenants.

Manage Feature Packs and Site Subscriptions

In many hosted scenarios, there is a need to provide different licensing options to tenants. For example, Tenant A may require the full SharePoint 2010 Enterprise license and all the Features that go with it, whereas Tenant B may need only the core SharePoint 2010 Foundation Features. This ability to provide only the Features that are relevant to the tenant is a great addition to SharePoint 2010 because it not only accommodates traditionally hosted scenarios, it also solves a longstanding issue with large enterprises that wish to provide a blended licensing experience. In other words, it provides only the Feature for which a business unit is licensed, thus negating the need to purchase licenses that are not required. This capability is also not limited to out-of-the-box Features; you can selectively expose custom and third-party Features to applicable tenants only.

SharePoint 2010 implements this functionality using what is known as Feature Packs. A Feature Pack is nothing more than a collection of Features that can be associated with a Site Subscription. So, what is a Site Subscription? In its simplest form, a Site Subscription is just a unique identifier (a GUID) that represents a single tenant. You will need to create a Site Subscription to identify every tenant you wish to create. Once it's created, you can associate Feature Packs, the Tenant Administration Site, and any new Site Collections with the Site Subscription. So, before we look at how to create Tenant Administration Sites and Tenant Site Collections, we will configure our Feature Packs and Site Subscriptions.

Manage Feature Packs

To create a new Feature Pack, you use the New-SPSiteSubscriptionFeaturePack cmdlet. This cmdlet takes in no parameters and returns a SPSiteSubscriptionFeaturePack object that contains an Id and a FeatureDefinitions property. What appears to be missing with this is a human-readable way to identify the Feature Pack. For example, if you use the Get-SPSiteSubscriptionFeaturePack cmdlet to retrieve the list of Feature Packs, you will see something similar to the following (in this case, we've created the Feature Packs but have not yet associated any Features):

Copy Code
PS C:\> Get-SPSiteSubscriptionFeaturePack

FeatureDefinitions | Id
{} | 05422264-6923-497f-9286-7...
{} | 35d11b2c-6814-42c5-9b44-7...
{} | 831e6882-7171-4ab9-87bf-f...

When it comes time to retrieve a Feature Pack for association with a Site Subscription, it can be very difficult to tell which GUID value corresponds to what set of Features. To address this issue, we recommend that you store the Feature Pack ID in a Farm-level Property Bag. This can be done simply by retrieving an instance of the SPFarm object, using Get-SPFarm, and then adding a key/value pair to theProperties collection:

Copy Code
$farm = Get-SPFarm
$farm.Properties.Add("FeaturePack_Foundation", $ffp.Id)
$farm.Properties.Add("FeaturePack_Standard", $sfp.Id)
$farm.Properties.Add("FeaturePack_Enterprise", $efp.Id)
$farm.Update()

In the following function, New-FeaturePacks, we are creating three Feature Packs: one for SharePoint Foundation Features, one for SharePoint Standard Features, and one for SharePoint Enterprise Features. We then store the Feature Pack ID in the Farm's Property Bag with a human-understandable key name. Next, we use the Add-SPSiteSubscriptionFeaturePackMember cmdlet to add Feature Definitions to the Feature Pack. This cmdlet takes in two parameters, the Feature Pack, which we pass in via the pipeline, and the folder name or ID of the Feature Definition to add. (For brevity, we have aliased the cmdlet as AddFeature using the Set-Alias cmdlet and omitted the repetitious calls to the cmdlet.)

Copy Code
function New-FeaturePacks() {
$ffp = New-SPSiteSubscriptionFeaturePack
$sfp = New-SPSiteSubscriptionFeaturePack
$efp = New-SPSiteSubscriptionFeaturePack
$farm = Get-SPFarm
$farm.Properties.Add("FeaturePack_Foundation", $ffp.Id)
$farm.Properties.Add("FeaturePack_Standard", $sfp.Id)
$farm.Properties.Add("FeaturePack_Enterprise", $efp.Id)
$farm.Update()
Set-Alias AddFeature Add-SPSiteSubscriptionFeaturePackMember
#Add Foundation Features
$ffp | AddFeature -FeatureDefinition AdminLinks
...
$ffp | AddFeature -FeatureDefinition XmlFormLibrary
#Add Standard Features
$ffp.FeatureDefinitions | % {
AddFeature -Identity $sfp -FeatureDefinition $_}
$sfp | AddFeature `
-FeatureDefinition AccSrvRestrictedList
...
$sfp | AddFeature -FeatureDefinition Workflows
#Add Enterprise Features
$sfp.FeatureDefinitions | % {
AddFeature -Identity $efp -FeatureDefinition $_}
$efp | AddFeature -FeatureDefinition AccSrvMSysAso...
$efp | AddFeature -FeatureDefinition WACustomReports
Remove-Item alias:\AddFeature
$packs = @{
"Foundation"=$ffp;
"Standard"=$sfp;
"Enterprise"=$efp}
return $packs
}

The New-FeaturePacks function then returns a hash table containing each Feature Pack that was created. When it comes time to create our Site Subscription, we will most likely need to retrieve the Feature Packs again. To make this easier, we create a Get-FeaturePacks function that returns the same hash table as the New-FeaturePacks function:

Copy Code
function Get-FeaturePacks() {
$farm = Get-SPFarm
$ffp = $farm.Properties["FeaturePack_Foundation"] | `
Get-SPSiteSubscriptionFeaturePack
$sfp = $farm.Properties["FeaturePack_Standard"] | `
Get-SPSiteSubscriptionFeaturePack
$efp = $farm.Properties["FeaturePack_Enterprise"] | `
Get-SPSiteSubscriptionFeaturePack
$packs = @{
"Foundation"=$ffp;
"Standard"=$sfp;
"Enterprise"=$efp}
return $packs
}
Note:

The New-FeaturePacks and Get-FeaturePacks functions can be found in the New-FeaturePacks.ps1 file, which is included in the Chapter20Scripts.zip file. It can be obtained from this book's download site.

If you need to remove a Feature Definition from a Feature Pack, you can do so using the Remove-SPSiteSubscriptionFeaturePackMember cmdlet. This cmdlet takes in the Feature Pack to edit and either the folder name (or ID) of the Feature Definition to remove from the Feature Pack, or the -AllFeatureDefinitions switch parameter that will cause all Feature Definitions to be removed from the Feature Pack:

Copy Code
$packs = Get-FeaturePacks
$packs.Standard | `
Remove-SPSiteSubscriptionFeaturePackMember `
-FeatureDefinition AccSrvRestrictedList

Likewise, if you need to remove an entire Feature Pack, you can do so using the Remove-SPSiteSubscriptionFeaturePack cmdlet. This cmdlet takes in just the Feature Pack (or the ID of the Feature Pack) to remove:

Copy Code
$packs = Get-FeaturePacks
$packs.Standard | Remove-SPSiteSubscriptionFeaturePack

Manage Site Subscriptions

As stated previously, a Site Subscription, like a Feature Pack, is nothing more than a unique identifier that represents an individual tenant. You can create a new SiteSubscription using the New-SPSiteSubscription cmdlet:

Copy Code
PS C:\> $siteSub = New-SPSiteSubscription
PS C:\> $siteSub

Id | Sites
d8df90b1-e681-4f1e-84dd-c... | {}

This cmdlet creates a SPSiteSubscription object that contains a property for the ID of the Site Subscription and a collection property, Sites, containing all the Site Collections associated with the Site Subscription. You can also use this object to add existing Site Collections to the Site Subscription. (Only Site Collections that have not already been added to a Site Subscription can be added.)

You can use the Get-SPSiteSubscription cmdlet to retrieve a Site Subscription using either the ID (GUID) of the Site Subscription or the URL to any Site Collection associated with the Site Subscription. (Or, if no parameters are provided, all Site Subscriptions will be returned.) The following example retrieves the Site Subscription associated with the tenant whose root Site Collection is located at http://tenant1.domain.com:

Copy Code
$siteSub = Get-SPSiteSubscription `
-Identity "http://tenant1.domain.com"
Note:

The Get-SPSiteSubscription cmdlet will return only Site Subscriptions that have been associated with at least one Site Collection. Creating a Site Subscription using the New-SPSiteSubscription cmdlet creates the SPSiteSubscription object in memory only, and it does not commit anything to the Configuration Database until a Site Collection that uses the Site Subscription has been created.

If you need to remove a Site Subscription, you can do so using the Remove-SPSiteSubscription cmdlet. However, removing a Site Subscription will delete all associated Site Collections and any settings associated with the Site Subscription. Therefore, this cmdlet should be used with extreme caution. (As Site Collections cannot be restored individually and associated with a new Site Subscription, you will have to perform a full Farm restore to recover the Site Subscription and associated data.)

Tip:

We recommend that you create a custom function to handle the creation of Site Subscriptions and the provisioning of the core tenant artifacts, such as the Tenant Administration Site and other miscellaneous settings, as described in the following sections. An example of such a function can be found in the New-Tenant.ps1 script located in the Chapter20Scripts.zip file.

Now that we've created our Site Subscription, we can associate it with a previously created Feature Pack. This can be done using the Set-SPSiteSubscriptionConfig cmdlet. This cmdlet includes a parameter for the Site Subscription that we wish to edit as well as two additional parameters: the Feature Pack to associate with the Site Subscription (-FeaturePack) and the path to the Active Directory OU that the People Picker will use to filter the users that are returned (-UserAccountDirectoryPath):

Copy Code
$pack = (Get-FeaturePack).Enterprise
$siteSub = New-SPSiteSubscription
$ou = "OU=Customer1,OU=Tenants,DC=domain,DC=com"
$siteSub | Set-SPSiteSubscriptionConfig `
-FeaturePack $pack `
-UserAccountDirectoryPath $ou

In the preceding example, we use our previously defined Get-FeaturePack function to retrieve the Enterprise Feature Pack and associate it with a new Site Subscription. In addition, we are setting the -UserAccountDirectoryPath parameter to filter the People Picker to allow only users from the OU that we configured earlier in this chapter (see the section "User Profile Services").

Provision Tenants

Before we can fully provision our tenant, we need to declare some variables that we'll use throughout the following sections. The first thing we'll need is the name of the tenant, or customer, along with the username and email address of the user who will be set as the tenant administrator. For the tenant name, we want to use the value that is used for the OU and the hostname of the tenant's root Site Collection (if you need these to be different values, then declare separate variables; for our purposes, we will use a single value for both):

Copy Code
$tenantName = "Customer1"
$tenantAdminLogin = "domain\customer1admin"
$tenantAdminEmail = "customer1@domain.com"

Next, we need to get an instance of the Web Application that will host our tenant sites. This should correspond to the Web Application that we created earlier in this chapter.

Copy Code
$hostWebApp = Get-SPWebApplication "http://server"

We'll use these variables throughout the following sections. Additionally, we assume that $siteSub contains the Site Subscription as created in the previous section.

The core steps that we need to complete in order to fully provision our tenant include creating Member Sites, creating the Tenant Administration Site, configuring the User Profile and Managed Metadata Service Applications, and finally, setting any optional administrative properties that we wish to associate with the tenant.

Create Member Sites

Member Sites are just Site Collections that have been associated with a Site Subscription. The first and only required Member Site that we need to create is the Site Collection that will serve as the root Host-Named Site Collection. Because we are using Host-Named Site Collections, this Site Collection should be created before we create any other Site Collections (including the Tenant Administration Site).

To create this Site Collection, we simply use the New-SPSite cmdlet just as we would when creating any other Site Collection. The thing to note here is that we must provide the -SiteSubscription and -HostHeaderWebApplication parameters:

Copy Code
New-SPSite -Url $tenantUrl `
-SiteSubscription $siteSub `
-HostHeaderWebApplication $hostWebApp `
-OwnerAlias $tenantAdminLogin `
-OwnerEmail $tenantAdminEmail `
-Template "STS#0"

The template that you use for this Site Collection is irrelevant to multi-tenancy, and you can provide whatever template is appropriate for the particular tenant. If you have created the Site Collection without specifying the -SiteSubscription parameter, you can still associate the Site Collection with a Site Subscription by calling the Add method of the SPSiteSubscription object:

Copy Code
$siteSub.Add($site)

Additional Member Sites can be created by simply setting the URL to the appropriate managed path:

Copy Code
New-SPSite -Url "$tenantUrl/sites/Site1" `
-SiteSubscription $siteSub `
-HostHeaderWebApplication $hostWebApp `
-OwnerAlias $tenantAdminLogin `
-OwnerEmail $tenantAdminEmail `
-Template "STS#0"

Create the Tenant Administration Site

The Tenant Administration Site is the primary place where tenant administrators can manage their Site Collections and Service Application settings; in fact, the Tenant Administration Site is itself nothing but a standard Site Collection, which means that it is fully extensible. For example, you could extend the Tenant Administration Site in such a way as to allow tenant administrators to deploy a Sandboxed Solution to all Member Sites or otherwise provide reporting capabilities to inform the tenant administrator of what Sandboxed Solutions have been deployed to the various Member Sites.

To create the Tenant Administration Site, we again use the New-SPSite cmdlet, but this time, we must specify the -AdministrationSiteType parameter and we must set the site template to be TenantAdmin#0. In addition, as is the case with any Site Collection that we create for a tenant, we must provide the -SiteSubscription parameter. In the following example, we create the Tenant Administration Site under the admin managed path:

Copy Code
New-SPSite -Url "$tenantUrl/admin" `
-SiteSubscription $siteSub `
-HostHeaderWebApplication $hostWebApp `
-OwnerAlias $tenantAdminLogin `
-OwnerEmail $tenantAdminEmail `
-Template "TenantAdmin#0" `
-AdministrationSiteType TenantAdministration

It's important to note that it is not a requirement to deploy the Tenant Administration Site. However, without this site, your tenants will have no means of managing their various settings (including creating and deleting Site Collections). This may be exactly what you want, in which case, you will need to use PowerShell to adjust any tenant-specific settings or to manage Site Collections.

Configure User Profile and Managed Metadata Service Applications

You can skip this section and jump to "Store Tenant Information" if the Feature Pack associated with the Site Subscription contains only SharePoint Foundation Features. If you intend to configure your tenant to use the User Profile Services Service Application or the Managed Metadata Services Service Application, you will have a couple of additional steps to perform.

Configure the User Profile Services Service Application

We'll start by configuring the tenant to use the User Profile Services Service Application. There are two steps that we must perform to configure this Service Application fully: create the My Sites Host, and configure the Service Application to use the My Sites Host.

Just as we did when creating standard Member Sites, we will use the New-SPSite cmdlet to create the My Sites Host Site and simply provide the My Sites Host Site template for the -Template parameter:

Copy Code
New-SPSite -Url "$tenantUrl/mysites" `
-SiteSubscription $siteSub `
-HostHeaderWebApplication $hostWebApp `
-OwnerAlias $tenantAdminLogin `
-OwnerEmail $tenantAdminEmail `
-Template "SPSMSITEHOST#0"

Don't forget that we must always provide the Site Subscription that we will associate with the Site Collection.

With the My Sites Host Site now created, we can go ahead and configure the User Profile Services Service Application to use the host. We do this using the Add-SPSiteSubscriptionProfileConfig cmdlet. The cmdlet parameters were detailed in Table 20.3 earlier in this chapter. Before we call this cmdlet, we must first retrieve the Service Application Proxy object that we will pass into the cmdlet via the -ProfileServiceApplicationProxy parameter. We then set the remaining properties to match the Managed Path structure that we previously defined:

Copy Code
$userProfileProxy = Get-SPServiceApplicationProxy | `
? {$_.DisplayName -eq "UPA Hosting Proxy"}
Copy Code
Add-SPSiteSubscriptionProfileConfig -Id $siteSub `
-SynchronizationOU $tenantName `
-MySiteHostLocation "$tenantUrl/mysites" `
-MySiteManagedPath "/mysites/personal" `
-SiteNamingConflictResolution "None" `
-ProfileServiceApplicationProxy $userProfileProxy
Warning:

When setting the -SynchronizationOU parameter, make sure you do not provide a full Distinguished Name (DN); doing so will not work. You must provide just the name of the Organizational Unit that is to be used. For example, if the DN is OU=Customer1,OU=Tenants,DC=domain,DC=com, then the parameter value should be Customer1.

Configure the Managed Metadata Services Service Application

The next Service Application we may wish to configure is the Managed Metadata Services Service Application. Specifically, we will create a Content Type Syndication Hub and associate that hub with the Service Application.

As we did with the previous Site Collections we've created, we will use the New-SPSite cmdlet and provide the appropriate Managed Path, Site Subscription, and owner details. In this case, choose a template that makes the most sense for your tenant—specify a template that provides the core Site Columns that you wish your tenant's custom Content Types to utilize, or otherwise activate the appropriate Features after creation.

Copy Code
New-SPSite -Url "$tenantUrl/cthub" `
-SiteSubscription $siteSub `
-HostHeaderWebApplication $hostWebApp `
-OwnerAlias $tenantAdminLogin `
-OwnerEmail $tenantAdminEmail `
-Template "STS#0"

To associate this new Site Collection with the Managed Metadata Services Service Application and thereby formally register the Site Collection as a Content Type Hub, we simply pass in the URL of the Site Collection along with the Service Application Proxy to the Set-SPSiteSubscriptionMetadataConfig cmdlet. The cmdlet's parameters were detailed in Table 20.2 earlier in this chapter. Before we call this cmdlet, we must first retrieve the Service Application Proxy object that we will pass into the cmdlet via the -ServiceProxy parameter. We then set the remaining properties as needed, including the -HubUri property, which we set to the URL of our new Site Collection:

Copy Code
$managedMetadataProxy = Get-SPServiceApplicationProxy | `
? {$_.DisplayName -eq "MMS Hosting Proxy"}
Copy Code
Set-SPSiteSubscriptionMetadataConfig -Identity $siteSub `
-ServiceProxy $managedMetadataProxy `
-HubUri "$tenantUrl/cthub" `
-SyndicationErrorReportEnabled

Finally, we need to make sure that the ContentTypeHub Feature has been activated at our Content Type Hub Site Collection. This Feature should be activated automatically when the Site Collection is configured as a Content Type Hub via the Set-SPSiteSubscriptionMetadataConfig cmdlet; however, there are circumstances in which this activation may fail, requiring you to activate it explicitly:

Copy Code
Enable-SPFeature -Identity ContentTypeHub `
-Url "$tenantUrl/cthub"

Store Tenant Information

When working with multiple tenants, you may wish to store some information about the tenants. For example, you may wish to store the contract number associated with the tenant's subscription or perhaps store some contact information.

SharePoint provides the ability to store this information using the Site Subscription Settings Manager:

Copy Code
Microsoft.SharePoint.SPSiteSubscriptionSettingsManager

You can retrieve an instance of this class using the static Local property:

Copy Code
$mgr = [Microsoft.SharePoint.
SPSiteSubscriptionSettingsManager]::Local

Once we have a settings manager object, you can use one of two methods to retrieve a SPSiteSubscriptionPropertyCollection object that you can use to store key/value pairs. These methods are GetProperties and GetAdminProperties. The only difference between these two methods is that the GetAdminProperties method requires that the caller be a Farm Administrator, whereas the GetProperties method requires only that the user be granted Shell Admin rights to the Configuration Database using the Add-SPShellAdmin cmdlet.

In the following example, we retrieve the administrative properties collection and add a new property named ContractNumber:

Copy Code
$props = $mgr.GetAdminProperties($siteSub)
$props.Add("ContractNumber", "TN02032000A")
$props.Update()

Using this technique, we can store all critical tenant information with the tenant's Site Subscription, thus making it considerably easier to discover this information at a later date.


Availability configuration (SharePoint Server 2010)
See Also

This section describes how to configure availability for Microsoft SharePoint Server 2010. The articles assume that you are familiar with the concepts and terms presented in Plan for availability (SharePoint Server 2010).

In this section:

  • Configure availability by using SQL Server clustering (SharePoint Server 2010)

    This article describes how to use SQL Server clustering with SharePoint Server 2010.

  • Configure availability by using SQL Server database mirroring (SharePoint Server 2010)

    This article describes how to configure SQL Server database mirroring for use with SharePoint Server 2010.

  • Sample script for configuring SQL Server database mirroring (SharePoint Server 2010)

    This article provides a script to use in configuring SQL Server database mirroring for use with SharePoint Server 2010 in a test environment. In a production environment, we recommend that a database professional configure mirroring.

  • Configure and manage SQL Server availability groups for SharePoint Server

    This article describes how to provide high availability for SharePoint Server 2010 by using SQL Server 2012 AlwaysOn.

See Also

Concepts

Plan for availability (SharePoint Server 2010)

Other Resources

Resource Center: Operations and Manageability for SharePoint Server 2010


Configure availability by using SQL Server clustering (SharePoint Server 2010)
See Also

Microsoft SQL Server 2008 with Service Pack 1 (SP1) and Cumulative Update 2 failover clustering can be used to configure availability within a farm for Microsoft SharePoint Server 2010. This article assumes that you are familiar with the concepts and terms presented in Plan for availability (SharePoint Server 2010).

Failover clustering provides availability support for an instance of SQL Server 2008 with SP1 and Cumulative Update 2. A failover cluster is a combination of one or more nodes or servers and two or more shared disks. A failover cluster instance appears as a single computer, but has functionality that provides failover from one node to another if the current node becomes unavailable.

SharePoint Server 2010 references the cluster as a whole; therefore, failover is automatic and seamless from the perspective of SharePoint Server 2010.

For detailed information about failover clustering, see Getting Started with SQL Server 2008 Failover Clustering (http://go.microsoft.com/fwlink/p/?LinkID=102837&clcid=0x409).

There are no instructions specific to setting up clustering for SharePoint Server 2010. For instructions on how to set up failover clustering, see Installing a SQL Server 2008 Failover Cluster (http://go.microsoft.com/fwlink/p/?LinkId=132112&clcid=0x409).

See Also

Other Resources

Resource Center: Business Continuity Management for SharePoint Server 2010


Configure availability by using SQL Server database mirroring (SharePoint Server 2010)
See Also

This article describes how to use high-availability database mirroring to configure availability within a farm for Microsoft SharePoint Server 2010. The article assumes that you are familiar with the concepts and terms presented in Plan for availability (SharePoint Server 2010).

Microsoft SQL Server database mirroring provides availability support by sending transactions directly from a principal database and server to a mirror database and server when the transaction log buffer for the principal database is written to disk. For availability within a Microsoft SharePoint Server 2010 farm, you use high-availability database mirroring, also known as high-safety mode with automatic failover. High-availability database mirroring involves three server instances: a principal, a mirror, and a witness. The witness server enables SQL Server to automatically fail over from the principal server to the mirror server. Failover from the principal database to the mirror database typically takes several seconds.

Within a SharePoint Server 2010 farm, mirroring can provide redundancy for the content and configuration databases, and for many service databases. Even if your databases are mirrored to the same server, each database fails over individually. The following figure shows how mirroring is configured to provide availability within a SharePoint Server 2010 farm.

Diagram of mirroring all databases within a farm

SharePoint Server 2010 is mirroring-aware. To use mirroring in your environment, first configure mirroring, and then set the failover database value in SharePoint Server.

In this article:

  • Before you begin

  • Security associated with database mirroring

  • Configure SharePoint 2010 Products to be aware of mirrored databases

  • User experience during a failover

Before you begin

Before you begin to configure mirroring, make sure that your database administrator is aware of the following requirements and supported topologies.

Database mirroring requirements

Become familiar with the recommendations in the following list, and ensure that your databases and system meet any requirements before you configure database mirroring for a SharePoint Server environment:

  • We recommend that your system have latency no more than 1 millisecond.

  • System bandwidth should preferably be 1 gigabyte (GB) per second.

  • Logs are copied in real time between the principal and the mirror servers, and copying can affect performance. Make sure that you have sufficient memory and bandwidth on both the principal and mirror server.

  • The principal server and mirror server must run the same version and edition of SQL Server, and they must run in the same language. Database mirroring is available only in the Standard, Developer, and Enterprise editions. The witness server can run any version of SQL Server, including SQL Server 2008 Express.

  • Mirroring works only with databases that use the full recovery model.

    By default, SharePoint Server 2010 databases are configured to use the simple recovery model. To configure database mirroring, the recovery model of the database must be set to Full. For information about how to set the recovery model for a database, see How to: View or Change the Recovery Model of a Database (SQL Server Management Studio) (http://go.microsoft.com/fwlink/p/?LinkId=132075&clcid=0x409).

  • If you plan to mirror databases, consider that the size of the transaction logs for these databases may become very large. To work around this, you can establish a recovery plan that truncates transaction logs as necessary. For more information, see the following article in the Microsoft Knowledge Base: How to stop the transaction log of a SQL Server database from growing unexpectedly (http://go.microsoft.com/fwlink/p/?LinkId=111458&clcid=0x409).

  • Every database mirroring session creates at least two threads for each database. Ensure that your database server has enough threads to allocate for mirroring all the supported databases. If you have insufficient threads, performance can decrease as more databases are added to a session.

For more information about performance for database mirroring, see Database mirroring best practices and performance considerations (http://go.microsoft.com/fwlink/p/?LinkId=185119).

product logo for Microsoft Project If you will be configuring mirroring for Microsoft Project Server 2010 databases, see Configure availability by using SQL Server database mirroring (Project Server 2010) for information specific to Project Server.

Security associated with database mirroring

Database mirroring uses TCP sessions to transport the transaction log from one server to another and to monitor the current health of the system for automatic failovers. Authentication is performed at the session level when a port is opened for connection. Database mirroring supports both Windows authentication (NTLM or Kerberos) and certificates.

Unless the network is secure, the data transmitted during the session should be encrypted. Database mirroring supports both Advanced Encryption Standard (AES) and RC4 encryption algorithms. For more information about the security associated with database mirroring, see Database Mirroring Transport Security (http://go.microsoft.com/fwlink/p/?LinkId=83569&clcid=0x409).

SharePoint 2010 Products security and mirrored servers

When you set up a mirrored database, the SQL Server logins and permissions for the database to be used with a SharePoint farm are not automatically configured in the master and msdb databases on the mirror server. Instead, you must configure the permissions for the required logins. These include, but are not limited to, the following:

  • The Central Administration application pool account should be a member of the dbcreator and securityadmin fixed server roles.

  • All application pool accounts, the default content access accounts, and any accounts required for service applications should have SQL Server logins, although they should not be assigned to SQL Server fixed server or fixed database roles.

  • Members of the Farm Administrators SharePoint group should also have SQL Server logins and should be members of the same SQL Server roles as the Central Administration application pool account.

We recommend that you transfer your logins and permissions from the principal server to the mirror server by running a script. An example script is available in Knowledge Base article 918992 How to transfer the logins and the passwords between instances of SQL Server 2005 (http://go.microsoft.com/fwlink/p/?LinkId=122053&clcid=0x409). For more information about how to transfer SQL Server metadata between instances, see the SQL Server Books Online article Managing Metadata When Making a Database Available on Another Server Instance (http://go.microsoft.com/fwlink/p/?LinkId=122055&clcid=0x409).

Supported topologies

We recommend that you maintain a one-to-one mapping of principal server and database instance to mirror server and database instance to ensure compatibility with SharePoint Server 2010.

The supported topologies include mirroring all content databases, the configuration database, the Central Administration content database, and the service application databases except for the Web Analytics Staging database and the User Profile Synchronization database.

Note:

We do not recommend that you mirror the Usage and Health Data Collection Logging database. A SharePoint environment can continue to run if this database fails, and this data can be quickly regenerated.

Avoid topologies that do not have matching principal server and database instances and mirror server and database instances. Also, keep the configuration database and the administration content database on the same server.

Configure high-availability database mirroring

We recommend that a SQL Server database administrator configure high-availability mirroring for a production environment. For a test environment, we have provided Transact-SQL scripts that you can use to configure your environment. For more information, see Sample script for configuring SQL Server mirroring (SharePoint Foundation).

Configure SharePoint 2010 Products to be aware of mirrored databases

To make SharePoint Server 2010 aware that failover mirrored databases exist, perform the following procedure for all configuration and content databases.

Note:

We recommend that you use Windows PowerShell cmdlets to set failover database values. Although you can use the Central Administration Web site to set some failover database values, you cannot use it for all databases.

To configure SharePoint 2010 Products to be aware of mirrored databases by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell command prompt, type the following commands, and then press ENTER:

    $db = get-spdatabase | where {$_.Name -eq "database name"}

    $db.AddFailoverServiceInstance("mirrored database name")

    $db.Update()

For more information, see Get-SPDatabase.

User experience during a failover

While SQL Server is switching to using a mirrored database, users of a SharePoint site that runs against the database may experience brief connectivity issues and data loss.

Monitoring and troubleshooting mirroring

To monitor the status and performance of mirroring within a farm, database administrators can use the Database Mirroring Monitor. Monitoring enables you to determine whether and how well data is flowing in the database mirroring session. Database Mirroring Monitor is also useful for troubleshooting the cause of reduced data flow. For more information, see Database Mirroring Monitor Overview (http://go.microsoft.com/fwlink/p/?LinkId=185068). Another resource to use in troubleshooting is the SQL Server Books Online article Troubleshooting Database Mirroring Setup (http://go.microsoft.com/fwlink/p/?LinkId=185069).

See Also

Other Resources

Database Mirroring
Resource Center: Business Continuity Management for SharePoint Server 2010


Sample script for configuring SQL Server database mirroring (SharePoint Server 2010)

This article contains a series of sample scripts that you can use to set up Microsoft SQL Server mirroring for a test Microsoft SharePoint Server 2010 environment. We recommend that a SQL Server database administrator configure mirroring for a production environment.

To set up database mirroring with SharePoint Server 2010, you must work individually with each database that you want to mirror.

In this article:

  • Configure database mirroring with certificates and full recovery

  • Set up a witness server

  • Transfer permissions to the mirror server

The steps in the following section apply to the following server farm topology:

  • One or more front-end Web servers

  • Three servers that are running SQL Server 2008: principal server, mirror server, and witness server

  • One configuration database

  • Multiple content databases

  • One or more service application databases

Configure database mirroring with certificates and full recovery

Each step lists the server on which it should be performed. Use Transact-SQL to send these commands to SQL Server. Placeholder information is denoted by angle brackets (<>); replace this with information that is specific to your deployment.

To set up the principal server for outbound connections

  1. On the principal server, create a certificate and open a port for mirroring.

    Copy Code
    --On the master database, create the database master key, if needed
CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<test1234->';
GO
-- Make a certificate for this server instance.
USE master;
CREATE CERTIFICATE <MASTER_HostA_cert>
   WITH SUBJECT = '<Master_HostA certificate>';
GO
--Create a mirroring endpoint for server instance by using the certificate
CREATE ENDPOINT Endpoint_Mirroring
   STATE = STARTED
   AS TCP (
      LISTENER_PORT=5024
      , LISTENER_IP = ALL
   )
   FOR DATABASE_MIRRORING (
      AUTHENTICATION = CERTIFICATE <MASTER_HostA_cert>
      , ENCRYPTION = REQUIRED ALGORITHM RC4
      , ROLE = ALL
   );
GO

  2. On the principal server, back up the certificate.

    Copy Code
    --Back up the HOST_A certificate.
BACKUP CERTIFICATE MASTER_HostA_cert TO FILE = '<c:\MASTER_HostA_cert.cer>';
GO

  3. On the principal server, back up the database. This example uses the configuration database. Repeat for all databases.

    Copy Code
    USE master;
--Ensure that SharePoint_Config uses the full recovery model.
ALTER DATABASE SharePoint_Config
   SET RECOVERY FULL;
GO
USE SharePoint_Config
BACKUP DATABASE SharePoint_Config
    TO DISK = '<c:\SharePoint_Config.bak>'
    WITH FORMAT
GO
BACKUP Log SharePoint_Config
    TO DISK = '<c:\SharePoint_Config_log.bak>'
    WITH FORMAT
GO

  4. Copy the backup file to the mirror server. Repeat for all databases.

  5. By using any secure copy method, copy the backup certificate file (C:\HOST_HostA_cert.cer, for example) to the mirror server.

  6. On the principal server, create a login and user for the mirror server, associate the certificate with the user, and grant the login connect permissions for the partnership.

    Copy Code
    --Create a login on HOST_A for HOST_B
USE master;
CREATE LOGIN <HOST_HostB_login> WITH PASSWORD = '<1234-test>';
GO
--Create a user for that login.
CREATE USER <HOST_HostB_user> FOR LOGIN <HOST_HostB_login>;
GO
--Associate the certificate with the user
CREATE CERTIFICATE <HOST_HostB_cert>
   AUTHORIZATION <HOST_HostB_user>
   FROM FILE = '<c:\HOST_HostB_cert.cer>' --do not use a network path, SQL Server will give an error about the key not being valid
GO
--Grant CONNECT permission on the login for the remote mirroring endpoint.
GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [<HOST_HostB_login>];
GO

To set up the mirror server for outbound connections

  1. On the mirror server, create a certificate and open a port for mirroring.

    Copy Code
    --On the master database, create the database master key, if needed.
USE master;
CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<1234-test>';
GO
-- Make a certificate on the HOST_B server instance.
CREATE CERTIFICATE <HOST_HostB>
   WITH SUBJECT = '<HOST_HostB certificate for database mirroring>';
GO
--Create a mirroring endpoint for the server instance on HOST_B.
CREATE ENDPOINT Endpoint_Mirroring
   STATE = STARTED
   AS TCP (
      LISTENER_PORT=5024
      , LISTENER_IP = ALL
   )
   FOR DATABASE_MIRRORING (
      AUTHENTICATION = CERTIFICATE <HOST_HostB>
      , ENCRYPTION = REQUIRED ALGORITHM RC4
      , ROLE = ALL
   );
GO

  2. On the mirror server, back up the certificate.

    Copy Code
    --Back up the HOST_B certificate.
BACKUP CERTIFICATE <HOST_HostB> TO FILE = '<C:\HOST_HostB_cert.cer>';
GO

  3. By using any secure copy method, copy the backup certificate file (C:\HOST_HostB_cert.cer, for example) to the principal server.

  4. On the mirror server, restore the database from the backup files. This example uses the configuration database. Repeat for all databases.

    Copy Code
    RESTORE DATABASE SharePoint_Config
    FROM DISK = '<c:\SharePoint_Config.bak>'
    WITH NORECOVERY
GO
RESTORE log SharePoint_Config
    FROM DISK = '<c:\SharePoint_Config_log.bak>'
    WITH NORECOVERY
GO

To set up the mirror server for inbound connections

  1. On the mirror server, create a login and user for the principal server, associate the certificate with the user, and grant the login connect permissions for the partnership.

    Copy Code
    --Create a login on HOST_B for HOST_A
USE master;
CREATE LOGIN <MASTER_HostA_login> WITH PASSWORD = '<test1234->';
GO
--Create a user for that login.
CREATE USER <MASTER_HostA_user> FOR LOGIN <MASTER_HostA_login>;
GO
--Associate the certificate with the user
CREATE CERTIFICATE <MASTER_HostA_cert>
   AUTHORIZATION <MASTER_HostA_user>
   FROM FILE = '<c:\MASTER_HostA_cert.cer>' --do not use a network path, SQL Server will give an error about the key not being valid
GO
--Grant CONNECT permission on the login for the remote mirroring endpoint.
GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [<MASTER_HostA_login>];
GO

To set up the principal server for inbound connections

  1. On the principal server, create a login and user for the mirror server, associate the certificate with the user, and grant the login connect permissions for the partnership.

    Copy Code
    --Create a login on HOST_A for HOST_B
USE master;
CREATE LOGIN <HOST_HostB_login> WITH PASSWORD = '<1234-test>';
GO
--Create a user for that login.
CREATE USER <HOST_HostB_user> FOR LOGIN <HOST_HostB_login>;
GO
--Associate the certificate with the user
CREATE CERTIFICATE <HOST_HostB_cert>
   AUTHORIZATION <HOST_HostB_user>
   FROM FILE = '<c:\HOST_HostB_cert.cer>' --do not use a network path, SQL Server will give an error about the key not being valid
GO
--Grant CONNECT permission on the login for the remote mirroring endpoint.
GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [<HOST_HostB_login>];
GO

To set up the mirroring partners

  1. On the principal server, set up the mirroring partnership. This example uses the configuration database. Repeat for all databases.

    Copy Code
    --At HOST_A, set the server instance on HOST_B as a partner (mirror server).
ALTER DATABASE SharePoint_Config
    SET PARTNER = '<TCP://databasemirror.adatum.com:5024>';
GO

  2. On the mirror server, set up the mirroring partnership. This example uses the configuration database. Repeat for all databases.

    Copy Code
    --At HOST_B, set the server instance on HOST_A as a partner (principal server):
ALTER DATABASE SharePoint_Config
    SET PARTNER = '<TCP://databasemaster.adatum.com:5024>';
GO

Set up a witness server

Each step lists the server on which it should be performed. Use Transact-SQL to send these commands to SQL Server. Placeholder information is denoted by angle brackets (<>); replace this with information that is specific to your deployment.

  1. On the witness server, set up the certificate and open the port.

    Copy Code
    --On the master database, create the database master key, if needed
CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<1234test->';
GO
-- Make a certificate for this server instance.
USE master;
CREATE CERTIFICATE <WITNESS_HostC_cert>
   WITH SUBJECT = '<Witness_HostC certificate>';
GO
--Create a mirroring endpoint for server instance by using the certificate
CREATE ENDPOINT Endpoint_Mirroring
   STATE = STARTED
   AS TCP (
      LISTENER_PORT=5024
      , LISTENER_IP = ALL
   )
   FOR DATABASE_MIRRORING (
      AUTHENTICATION = CERTIFICATE <WITNESS_HostC_cert
      , ENCRYPTION = REQUIRED ALGORITHM RC4
      , ROLE = ALL
   );
GO

  2. On the witness server, back up the certificate.

    Copy Code
    --Back up the HOST_C certificate
BACKUP CERTIFICATE <WITNESS_HostC_cert> TO FILE = '<c:\ WITNESS_HostC_cert.cer>';
GO

  3. By using any secure copy method, copy the backup certificate file (C:\WITNESS_HOSTC_cert.cer, for example) to the principal server and the mirror server.

  4. On the witness server, create logins and users for the principal and mirror servers, associate the certificates with the users, and grant the logins connect permissions for the partnership.

    Copy Code
    --Create a login on witness HOST_C for principal HOST_A
USE master;
CREATE LOGIN <MASTER_HostA_login> WITH PASSWORD = '<test1234->';
GO
--Create a user for that login.
CREATE USER <MASTER_HostA_user> FOR LOGIN <MASTER_HostA_login>;
GO
--Associate the certificate with the user
CREATE CERTIFICATE <MASTER_HostA_cert>
   AUTHORIZATION <MASTER_HostA_user>
   FROM FILE = '<c:\MASTER_HostA_cert.cer>' --do not use a network path, SQL Server will give an error about the key not being valid
GO
--Grant CONNECT permission on the login for the remote mirroring endpoint.
GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [<MASTER_HostA_login>];
GO
--Create a login for the mirror Host_B
CREATE LOGIN <HOST_HostB_login> WITH PASSWORD = '<1234-test>';
GO
--Create a user for that login.
CREATE USER <HOST_HostB_user> FOR LOGIN <HOST_HostB_login>;
GO
--Associate the certificate with the user
CREATE CERTIFICATE <HOST_HostB_cert>
   AUTHORIZATION <HOST_HostB_user>
   FROM FILE = '<c:\HOST_HostB_cert.cer>' --do not use a network path, SQL Server will give an error about the key not being valid
GO
--Grant CONNECT permission on the login for the remote mirroring endpoint.
GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [<HOST_HostB_login>];
GO

  5. On the principal server, create a login and user for the witness server, associate the certificate with the user, and grant the login connect permissions for the partnership. Repeat for the mirror server.

    Copy Code
    --Create a login on master HostA for witness HostC
USE master;
CREATE LOGIN <WITNESS_HostC_login> WITH PASSWORD = '<1234test->';
GO
--Create a user for that login.
CREATE USER <WITNESS_HostC_user> FOR LOGIN <WITNESS_HostC_login>;
GO
--Associate the certificate with the user
CREATE CERTIFICATE <WITNESS_HostC_cert>
   AUTHORIZATION <WITNESS_HostC_user>
   FROM FILE = '<c:\WITNESS_HostC_cert.cer>' --do not use a network path, SQL Server will give an error about the key not being valid
GO
--Grant CONNECT permission on the login for the remote mirroring endpoint.
GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [<WITNESS_HostC_login>];
GO

  6. On the principal server, attach the witness server. This example uses the configuration database. Repeat for all databases.

    Copy Code
    --Set up the witness server
ALTER DATABASE SharePoint_Config
    SET WITNESS =
    '<TCP://databasewitness.adatum.com:5024>'
GO

Transfer permissions to the mirror server

When you set up a mirrored database, the SQL Server logins and permissions for the database that will be used with a SharePoint farm are not automatically configured in the master and msdb databases on the mirror server. Instead, you must configure the permissions for the required logins.

We recommend that you transfer your logins and permissions from the principal server to the mirror server by running a script. The script that we recommend that you use is available in Knowledge Base article 918992: How to transfer the logins and the passwords between instances of SQL Server 2005 (http://go.microsoft.com/fwlink/p/?LinkId=122053).

Removing mirroring from a server

To remove mirroring from a server, see How to: Remove Database Mirroring (Transact-SQL) (http://go.microsoft.com/fwlink/p/?LinkId=185070).


Configure and manage SQL Server availability groups for SharePoint Server

Published: March 27, 2012

This article describes how to configure and manage AlwaysOn Availability Groups to enable high availability for a SharePoint Server 2010 farm.

The article assumes the following:

  • You are familiar with the concepts and terms presented in Plan for availability (SharePoint Server 2010),

  • You have a working knowledge of Windows Server Failover Clustering.

  • You have a working knowledge of the Microsoft SQL Server 2012 high availability features.

In this article:

  • About AlwaysOn and availability groups

  • Requirements and prerequisites

  • Installation and configuration overview

  • Detailed configuration steps

  • Monitoring an AlwaysOn environment

About AlwaysOn and availability groups

SQL Server 2012 AlwaysOn provides a new enterprise-level high availability and disaster recovery solution. This solution supports the following two configurations for high availability:

  • AlwaysOn Availability Group

    Enables failover for multiple databases

  • AlwaysOn Failover Cluster instance

    Enables failover at the instance level

From a SharePoint Server perspective, AlwaysOn Availability Groups provide the optimum solution for high availability and disaster recovery.

AlwaysOn is not just a combination of database mirroring and database clustering. It is a completely new feature that co-exists with existing high availability and disaster recover options such as mirroring and log shipping. For an overview of this feature, see the AlwaysOn FAQ for SQL Server 2012 (http://go.microsoft.com/fwlink/p/?LinkId=245659). For a more details about the benefits of AlwaysOn Availability Groups and an overview of AlwaysOn Availability Groups terminology, see AlwaysOn Availability Groups (SQL Server) (http://go.microsoft.com/fwlink/p/?LinkId=245660).

An availability group enables you to specify a set of databases that you want to fail over together. When an availability group fails over to a target, all the databases in the group fail over as well. Because SQL Server 2012 can host multiple availability groups on a single server, you can configure AlwaysOn to fail over to SQL Server instances on different servers, which reduces the need to have idle standby servers to handle the full load of the primary server. The next illustration shows the main parts of an AlwaysOn Availability Group environment.

SQL Server AlwaysOn with Availability Group

Looking at the previous illustration, you can see the following:

  • Each availability group consists of a collection of read-write primary databases and supports one to four secondary databases that are a corresponding copy of the primary databases.

  • The primary databases and secondary databases are maintained by a primary replica and one to four secondary replica.

  • Each replica is hosted on a specific instance of SQL Server and maintains a local copy of each availability database that belongs to the availability group.

  • An availability group fails over at the level of an availability replica.

The primary replica makes the primary databases available for read-write connections from clients and sends transaction log records for each primary database to every secondary replica. Each secondary replica applies transaction log records to its secondary databases.

An availability group supports a failover environment for a discrete set of user databases, which are known as availability databases, that fail over together as a single unit. An availability group supports a set of primary databases and one to four sets of corresponding secondary databases. An availability group fails over at the level of an availability replica.

Note:

Database issues, such as a database becoming suspect due to a loss of a data file, deletion of a database, or corruption of a transaction log do not cause failovers.

The primary replica makes the primary databases available for read-write connections from clients and, also, sends transaction log records for each primary database to every secondary replica. Each secondary replica maintains a set of secondary databases. Every secondary replica applies transaction log records to its own set of secondary databases and serves as a potential failover target for the availability group. Optionally, you can configure one or more secondary replicas to support read-only access to secondary databases. You can configure any secondary replica to permit backups on secondary databases.

Deploying AlwaysOn Availability Groups requires a Windows Server Failover Clustering (WSFC) cluster. Each availability replica of a given availability group must reside on a different node of the same Windows Server Failover Clustering (WSFC) cluster.

Benefits

AlwaysOn provides many benefits and the following are noteworthy for a SharePoint environment:

  • Provides more granularities in managing databases as a group.

  • Supports alternative availability modes (asynchronous and synchronous) on group replicas.

  • Supports automatic, manual, and forced client failover.

  • Provides better utilization of server hardware by offloading read workloads to a secondary instance (additionally, offloading workloads and backups improves performance on the primary replica).

For a more details the benefits of AlwaysOn Availability Groups, see AlwaysOn Availability Groups (SQL Server) (http://go.microsoft.com/fwlink/p/?LinkId=245660).

Requirements and prerequisites

The following minimum requirements and prerequisites are needed to deploy a SharePoint farm in an AlwaysOn environment.

SQL Server 2012

To create and use AlwaysOn Availability Groups you have to install SQL Server 2012 on a Windows Server Failover Clustering (WSFC) cluster.

Although configuring a WSFC cluster is out of the scope for this article, you should be aware of the following if you plan to set up a cluster:

  • All the cluster nodes must be in the same Active Directory Domain Services (AD DS) domain.

  • Each availability replica in an availability group must reside on a different node of the same Windows Server Failover Clustering (WSFC) cluster.

  • The cluster creator must have the following capabilities:

    • Have a domain account in the domain where the cluster will exist.

    • Have local administrator permissions on each cluster node.

    • Have Create Computer objects and Read All Properties permissions in AD DS.

      For more information, see Failover Cluster Step-by-Step Guide: Configuring Accounts in Active Directory (http://go.microsoft.com/fwlink/p/?LinkId=213267).

A very important aspect of configuring failover clustering and AlwaysOn is determining the quorum votes that are needed for the cluster nodes.

For more information, see WSFC Quorum Modes and Voting Configuration (SQL Server) ( http://go.microsoft.com/fwlink/p/?LinkId=245665) and Configure Cluster Quorum NodeWeight Settings ( http://go.microsoft.com/fwlink/p/?LinkId=245666).

We recommend that you fully understand the prerequisites and restrictions for configuring an AlwaysOn environment. For more information, see Prerequisites, Restrictions, and Recommendations for AlwaysOn Availability Groups (SQL Server) (http://go.microsoft.com/fwlink/p/?LinkId=245668). This article provides the following information:

  • Windows System Requirements and Recommendations

  • Server Instance Prerequisites and Restrictions

  • Prerequisites and Restrictions for Using a SQL Server Failover Cluster Instance (FCI) to Host an Availability Replica

  • Availability Group Prerequisites and Restrictions

  • Availability Database Prerequisites and Restrictions

Note:

You can install SQL Server 2012 on Windows Server core, which has a reduced attack surface and requires fewer hot fixes and security updates. However, SharePoint Server cannot be installed on Windows Server core. For more information, see Server Core for Windows Server 2008 R2 [Server Core for Windows Server 2008 R2 (http://go.microsoft.com/fwlink/p/?LinkId=245669).

SharePoint Server 2010

In addition to the documented minimum hardware and software requirements, you must install Microsoft SharePoint Server 2010 with Service Pack 1 (SP1)to deploy SharePoint Server on SQL Server 2012. We also recommend that you install the December cumulative update to take advantage of the performance gains that this update provides. For more information, see Description of the SharePoint Server 2010 cumulative update package (SharePoint server-package): December 13, 2011 (http://go.microsoft.com/fwlink/p/?LinkID=237662).

Installation and configuration overview

The following steps provide the recommended installation sequence and identify key configurations for deploying AlwaysOn for a SharePoint farm. Detailed procedures are provided in Detailed configuration steps.

Note:

This article assumes that the farm that you configure for high availability is a new deployment. This includes Windows Server 2008 R2 Enterprise or Windows Server 2008 R2 Datacenter, SQL Server 2012, and Microsoft SharePoint Server 2010.

Create an AlwaysOn environment for a farm

  1. Select or create a Windows Server failover cluster. For more information, see Failover Clusters (http://go.microsoft.com/fwlink/p/?LinkID=142423)

  2. Install the prerequisites for SQL Server 2012 on each cluster node. For more information, see Prerequisites, Restrictions, and Recommendations for AlwaysOn Availability Groups (SQL Server) (http://go.microsoft.com/fwlink/p/?LinkID=245668)

  3. Install SQL Server 2012 on each cluster node.

  4. Configure SQL Server 2012 for using AlwaysOn Availability Groups.

  5. Create a temporary user database or select an existing database.

  6. Create a network share for synchronization.

  7. Create a new availability group.

  8. Create a Client Access Point.

  9. Install Microsoft SharePoint Server 2010 with Service Pack 1 (SP1).

    For more information, see the "Service Pack 1 (SP1)" section of Updates for SharePoint 2010 Products (http://go.microsoft.com/fwlink/p/?LinkID=209614).

  10. Create the SharePoint farm.

  11. Add the SharePoint databases to the availability group.

Detailed configuration steps

The following illustration shows a SharePoint Server 2010 farm (SPHA_farm) that uses an availability group named SP_AG1. We'll use this farm as an example for configuring AlwaysOn.

Availability group and replicas for farm

For ease of use, we divide the detailed configuration steps to deploy the test farm in an AlwaysOn environment into the following major phases:

  • Create a Windows Server failover cluster.

  • Install and configure SQL Server 2012.

  • Create an availability group.

  • Create a client access point.

  • Install and configure SharePoint Server 2010.

  • Add the SharePoint databases to the availability group.

Set up the Windows Server cluster environment

Obtain access to, or create a three node Windows Server Failover Clustering (WSFC) cluster that you can use for installing SQL Server 2012 on each node.

Install and configure SQL Server 2012

Install SQL Server 2012. For installation instructions see, Installation for SQL Server 2012 (http://go.microsoft.com/fwlink/p/?LinkId=245717).

You must take into account the SharePoint Server 2010 database requirements. Refer to the following articles:

  • Hardware and software requirements (SharePoint Server 2010)

  • Deployment scenarios (SharePoint Server 2010)

  • Supportability regarding SQL collation for SharePoint Databases and TempDB (http://go.microsoft.com/fwlink/p/?LinkId=245718)

  • Harden SQL Server for SharePoint environments (SharePoint Server 2010)

Important:

You must deploy and configure SQL Server 2012 the same on each server that will be in the availability group.

Install SQL Server prerequisites

Install SQL Server 2012 prerequisites on each cluster node. For more information, see Prerequisites, Restrictions, and Recommendations for AlwaysOn Availability Groups (SQL Server) (http://go.microsoft.com/fwlink/p/?LinkID=245668)

Enable Named Pipes and AlwaysOn High Availability

Use the following procedures to enable Named Pipes and AlwaysOn High Availability. These configurations have to be done on each server that will be part of the availability group.

Create an availability group

The following procedures are required to prepare the SQL Server environment and then create an availability group.

To create the availability group, at least one user database must exist. For more information, see Creation and Configuration of Availability Groups (SQL Server) (http://go.microsoft.com/fwlink/p/?LinkId=245720).

Use the following procedure to create a temporary user database that will be the primary replica for the group.

Create a temporary user database

  1. Log on to the server that will host the primary replica, which is SPVNEXT-SRV1 in our example. You require one of the following permissions in the master database in order to create the new database: CREATE DATABASE, CREATE ANY DATABASE, or ALTER ANY DATABASE.

  2. Start SQL Server Management Studio.

  3. In Object Explorer, right-click Databases and then click New Database.

  4. In the New Database dialog box, type the Database name:, which is "TemporaryUserDB" in our example. Because this is a temporary database that gets deleted after we create the availability group, we can use the default settings. Click OK.

    Because the New Availability Group Wizard will not create an availability group unless the user database has been backed up, you have to back up the temporary database.

  5. In Object Explorer expand Databases and right-click the temporary database that you just created. Pick Tasks and then pick Back Up.

  6. In the Back Up Database dialog box, click OK to accept all the default settings and create the back up.

A network share must exist and must be accessible by all the nodes in the AlwaysOn configuration to do the initial data synchronization between all the cluster nodes that host a replica. For more information, see Network Shares Extension (http://go.microsoft.com/fwlink/p/?LinkId=245722) and File Services (http://go.microsoft.com/fwlink/p/?LinkId=163091).

About replicas

Every availability replica is assigned an initial role—either the primary role or the secondary role, which the availability databases of that replica inherit. The role of a given replica determines whether it hosts read-write databases or read-only databases as well as the type of failover and the type of commit.

The following table shows the information that you have to provide for each replica, either when you first create the availability group, or later when you are adding secondary replicas.

Replica information Description

Server Instance

Displays the name of the server instance that will host the availability replica.

Initial Role

Indicates the role that the new replica will initially perform: Primary or Secondary.

Automatic Failover (Up to 2)

Indicates the type of failover that the replica uses: automatic or manual.

Synchronous Commit (Up to 3)

Indicates the type of commit that is used for the replica.

Readable Secondary

Indicates whether or not a secondary replica can be read.

The configuration options are unavailable for read access, read-only, and read-only intent. For more information, see Readable Secondary Replicas (AlwaysOn Availability Groups) (http://go.microsoft.com/fwlink/p/?LinkId=245736).

Important:

Readable secondaries are not currently supported for SharePoint Server 2010 runtime usage.

Note:

When you add replicas to a group, you will also provide the endpoint for each replica and configure backup preferences. For more information, see Specify the Endpoint URL When Adding or Modifying an Availability Replica (SQL Server) (http://go.microsoft.com/fwlink/p/?LinkId=245737) and Backup on Secondary Replicas (AlwaysOn Availability Groups) (http://go.microsoft.com/fwlink/p/?LinkId=208213).

Data synchronization

As part of the availability group creation process, you will have to synchronize the data on the primary replica with the data on the secondary replicas. The following restrictions exist for using the New Availability Group wizard to start data synchronization:

  • If the file paths on the secondary replica location are different from the file paths on the primary location, you have to start data synchronization manually.

  • If any secondary database exists on a secondary replica, you have to manually delete the secondary databases before you start data synchronization in the New Availability Group. However, if you want to use existing secondary databases, exit the New Availability Group wizard and start data synchronization manually.

  • To use the availability group wizard to synchronize data, you have to have a backup share that all the replicas can write to. You can specify the share by browsing to it or by entering its fully qualified universal naming convention (UNC) path name, \\Systemname\ShareName\Path\, in the Specify a shared network location accessible by all replicas box.

For each database in the availability group, the Start Data Synchronization page displays the progress of the following operations:

  • Creating a full database backup of the primary database on the network share.

  • Creating a full database backup of the primary database on the network share.

  • Restoring these backups onto the secondary replica location. These restore operations both use RESTORE WITH NORECOVERY option and leave the new secondary database in the RESTORING state.

  • Joining the secondary database to the availability group. This step puts the secondary database in the ONLINE state and starts data synchronization for this database.

Use the following procedure to create an availability group on the primary replica, which is SPVNEXT-SRV1 in our example.

Create the availability group

  1. Log on to the server that will host the primary replica and start SQL Server Management Studio.

    Permission to create an availability group requires membership in the db_owner fixed database role and either CREATE AVAILABILITY GROUP server permission, CONTROL AVAILABILITY GROUP permission, ALTER ANY AVAILABILITY GROUP permission, or CONTROL SERVER permission.

  2. To start the New Availability Group Wizard, right-click AlwaysOn High Availability and then click New Availability Group Wizard.

  3. Click Next to advance to the Specify Name page. Enter SP-AG1 as the name of the new availability group in the Availability group name: box. This name must be: a valid SQL Server identifier, unique on the Windows Server Failover Clustering cluster and unique on the domain.

  4. On the Select Databases page, all user databases that are eligible to become the primary database for the new availability group are listed on the User databases on this instance of SQL Server grid. Pick TemporaryUserDB, and then click Next.

  5. On Specify Replicas page, use the following tabs to configure the replicas for SP-AG1: Replicas, Endpoints, and Backup Preferences.

  6. On the Listener tab, configure an availability group listener for our example. An availability group listener is a server name to which clients can connect in order to access a database in a primary or secondary replica of an AlwaysOn availability group. Availability group listeners direct incoming connections to the primary replica or to a read-only secondary replica. The listener provides fast application failover after an availability group fails over. For more information, see Availability Group Listeners, Client Connectivity, and Application Failover (SQL Server).

  7. Select the desired configuration for each instance in the Selected instances grid, and then click Next.

  8. Click Finish to create the Availability Group.

  9. The Select Initial Data Synchronization page lets you select a synchronization preference and specify the shared network location that all replicas can access. For our environment we'll accept the default, Full, which performs full database and log backups. Click Next.

  10. The Validation page of the wizard displays the results of six checks before letting you continue with availability group creation. If all checks pass, you can click Next to continue. If any tests fail, the wizard prevents you from continuing until you correct the error and run the validation tests again by clicking Re-run Validation. When all the tests pass, click Next to continue.

  11. On the Summary page, verify the configuration of the replica that you are adding and click Finish if you are satisfied with the configuration and want to keep it. If not, you can click Previous to return to previous wizard pages.

Create a client access point

An access point is a name and an associated IP address. The client access point lets you connect to the availability group when you create a SharePoint farm. For more information about Client Access Points in a failover cluster, see Understanding Access Points (Names and IP Addresses) in a Failover Cluster (http://go.microsoft.com/fwlink/p/?LinkId=245741). The following procedure describes how to create an access point.

Create a client access point

  1. Log on to the server that hosts the Failover Cluster Manager console. To create an access point you must have a domain account that has administrator rights and permissions on all the servers in the cluster.

  2. Expand the cluster node and then expand Services and Applications.

    The availability group, SP-AG1 is listed here as a resource.

  3. Right-click SP-AG1, choose Add a resource, and then click 1 - Client Access Point.

    This starts the New Resource Wizard.

  4. The Name: field of the Client Access Point page is already prepopulated with the name of the availability group, SP-AG-1. Because duplicate names cannot exist, type SP-AG1AP, and then click Next.

  5. The Confirmation page shows the network name and IP addresses that will be used for the access point. Click Next.

  6. Click Finish to exit the wizard.

  7. Expand Services and applications, and then click SP-AG1 to view a summary of the new settings. SP-AG1AP should be displayed under Server Name.

  8. Optional. Verify that SP-AG1AP is online. If it's not, right-click SP-AG1AP, and click Bring this resource online.

  9. Optional. Right-click SP-AG1AP, and then click Show Dependency Report to verify that the access point is configured correctly for the availability group. If it's not, open the Properties dialog box for SP-AG1AP and correct the configuration. The Properties dialog box provides the following tabs for reconfiguring the access point: General, Dependencies, Policies and Advanced Policies.

Install and configure SharePoint Server 2010

At this point in the process, you can install SharePoint Server 2010 and create the farm. Use the steps in the following general procedure to install and configure SharePoint Server.

Install and configure SharePoint Server 2010

  1. Download and install Microsoft SharePoint Server 2010 with Service Pack 1 (SP1) and the June 2011 cumulative update refresh. For more information, see the "Service Pack 1 (SP1)" section of Updates for SharePoint 2010 Products (http://go.microsoft.com/fwlink/p/?LinkID=209614). To install the service pack you need the same permissions that are required to install SharePoint Server 2010. For more information, see Initial deployment administrative and service accounts (SharePoint Server 2010).

  2. Run the Microsoft SharePoint Products Preparation Tool, which installs all required prerequisites to use SharePoint Server.

  3. Run Setup, which installs binaries, configures security permissions, and edits registry settings for SharePoint Server 2010.

  4. Run SharePoint Products Configuration Wizard, which installs and configures the configuration database, the content database, and installs the SharePoint Central Administration Web site.

    When you run the wizard, you have to identify the server that will host the SharePoint databases. On the Specify Configuration Database Settings page, in the Database server box, type SP-AG1AP as the name of the computer that is running SQL Server.

  5. Configure browser settings.

  6. Run the Farm Configuration Wizard, which configures the farm, creates the first site collection, and selects the services that you want to use in the farm.

  7. Perform post-installation steps.

Add the SharePoint databases to the availability group

The final phase of setting up AlwaysOn for a SharePoint Server 2010 farm entails adding the SharePoint databases to the availability group and synchronizing secondary replicas to the primary replica.

On the server that hosts the primary replica, you have to run the Add Databases to Availability Group wizard to add all the SharePoint databases to the availability group. The procedure is the same as the procedure for creating an availability group.

Add databases to the availability group

  1. Log on to the server that will host the primary replica and start SQL Server Management Studio. The account you use must be a member of the Local Administrators group for each server where SharePoint Server 2010 will be installed as well as ALTER AVAILABILITY GROUP permission on the availability group, CONTROL AVAILABILITY GROUP permission, ALTER ANY AVAILABILITY GROUP permission, or CONTROL SERVER permission. In addition, joining a database to an availability group requires membership in the db_owner fixed database role.

  2. In Object Explorer, navigate to, and if necessary expand the Availability Groups.

  3. Right-click the example group, SP-AG1, and then click Add Database.

  4. On the Select Databases page, all user databases that are eligible to become the primary database for the new availability group are listed on the User databases on this instance of SQL Server grid. Use the checkboxes to identify all the databases that you want to add to the group, and then click Next.

  5. The Select Initial Data Synchronization page lets you select a synchronization preference and specify the shared network location that all replicas can access. For our environment we'll accept the default, Full, which performs full database and log backups. Click Next.

  6. The Validation page of the wizard displays the results of six checks before it lets you continue with availability group creation. If any tests fail, the wizard prevents you from continuing until you correct the error and run the validation tests again by clicking Re-run Validation. When all the tests pass, click Next to continue.

  7. On the Summary page, verify the configuration of the replica that you are adding, and then click Finish if you are satisfied with the configuration and want to keep it. If you want to change the configuration, click Previous to return to previous wizard pages.

Monitoring an AlwaysOn environment

You have to monitor an AlwaysOn environment for performance, health, and capacity.

Performance

New performance objects are provided monitoring the AlwaysOn environment. They are SQLServer:Database Replica (http://go.microsoft.com/fwlink/p/?LinkId=245745) and SQLServer:Availability Replica (http://go.microsoft.com/fwlink/p/?LinkId=245746).

Health and capacity

For general health monitoring you can use the Availability Groups Dashboard to obtain the health of the availability groups in the system. We recommend that you refer to the following posts on the official SQL Server AlwaysOn team blog to fully understand AlwaysOn health monitoring.

  • The AlwaysOn Health Model Part 1 -- Health Model Architecture (http://go.microsoft.com/fwlink/p/?LinkId=245945)

  • The AlwaysOn Health Model Part 2 -- Extending the Health Model (http://go.microsoft.com/fwlink/p/?LinkId=245946)

You can also use Transact-SQL to monitor availability groups by using the set of catalog and dynamic management views that are provided for AlwaysOn Availability Groups. For more information, see Monitor Availability Groups (Transact-SQL) (http://go.microsoft.com/fwlink/p/?LinkId=245747).


Track or block SharePoint Server 2010 installations
See Also

Published: June 10, 2010

Because deployments of Microsoft SharePoint 2010 Products are managed at the farm level, a single SharePoint deployment has no information about other SharePoint deployments that might exist in the same enterprise. Administrators need this information to manage and control all deployments in the enterprise. For example, administrators need to know whether a deployment was configured according to organizational requirements, or how many unauthorized deployments exist in the enterprise. SharePoint 2010 Products provides the ability to lock down, track, and even block random installations of Microsoft SharePoint Server 2010.

In this article:

  • Block installations

  • Track installations

Block installations

If you want to block users from installing SharePoint Server 2010 and related products, set the following registry key by using Group Policy in Active Directory directory services:

HKLM\Software\Policies\Microsoft\Shared Tools\Web Server Extensions\14.0\ SharePoint\DWORD DisableInstall

To block installations, set DWORD DisableInstall=00000001.

When this registry key is set, users who try to install SharePoint Server 2010 receive the following error message:

SharePoint installation is blocked in your organization. Please contact your network administrator for more details.

To set a registry value by using Group Policy, you can use an .admx file in Windows Server 2008 or a Windows PowerShell cmdlet in Windows Server 2008 R2. For more information about how to set registry values by using group policies in Windows Server 2008, see Group Policy ADMX Syntax Reference Guide (http://go.microsoft.com/fwlink/p/?LinkId=194348). For more information about how to set registry values by using group policies in Windows Server 2008 R2, see Set a registry key value from the command line using Group Policy PowerShell cmdlets (http://go.microsoft.com/fwlink/p/?LinkId=194345). For general information about group policies, see Group Policy (http://go.microsoft.com/fwlink/p/?LinkID=177635) on TechNet.

Track installations

An Active Directory Domain Services (AD DS) Marker called Service Connection Point identifies the SharePoint 2010 Products servers in an organization. To use this marker, create a container in AD DS and set the permissions for the container before you install any SharePoint 2010 Products in the environment. Then, when you or another user in your domain runs the SharePoint Products Configuration Wizard as part of installing SharePoint Server 2010, this marker is set, and can be tracked by using AD DS. You must set this marker for each domain that you have in your organization if you want to track installations in all domains. This marker is removed from AD DS when the last server is removed from a farm. You can also set the marker by using Windows PowerShell. The marker contains the URL for the Application Discovery and Load Balancer Service (also known as the topology service application) for the server farm.

You have to grant permission to write to this container to any user accounts or domain accounts that could run the SharePoint Products Configuration Wizard. If the account does not have permission to write to this container, the following warning will appear in the log file for the SharePoint Products Configuration Wizard:

Failed to add the service connection point for this farm

Unable to create a Service Connection Point in the current Active Directory domain. Verify that the SharePoint container exists in the current domain and that you have rights to write to it."

To create the container in Active Directory and set the permissions, you can use Active Directory Service Interfaces (ADSI) Edit.

To create a service connection point container to track installations

  1. On the domain controller, click Start, point to Administrative Tools, and then click ADSI Edit, or use a remote administration tool to connect to ADSI Edit from another computer.

  2. On the Action menu, click Connect to, and connect to the domain that you want to use.

  3. In the console tree, expand the connection, expand the domain name, and then click CN=System.

  4. In the details pane, right-click in the white area, click New, and then click Object.

  5. In the Create Object dialog box, in the Select a class box, click container and then click Next.

  6. In the Value box, type Microsoft SharePoint Products as the container name, and then click Next.

    This is the default name.

    Note:

    You can use other names. However, if you do use other names, you must create a Group Policy for the domain computers to set a string value ContainerDistinguishedName under the following registry key: HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\SharePoint. This makes it possible for the SharePoint Products Configuration Wizard to detect the new name.

  7. Click Finish.

    The container is created.

  8. Right click the container (CN=Microsoft SharePoint Products), and then click Properties.

  9. On the Security tab, click Add.

  10. In the Select Users, Computers, Service Accounts, or Groups box, add the users that you want to write to this container, and then click OK.

    Note that if a user who cannot write to this container installs SharePoint Server 2010, no new entry will be created. Consider giving all Authenticated Users the permission so that you can track all the objects.

  11. In the Group or user names box, select the names that you previously added, and then under the Permissions box, click Advanced.

  12. In the Permission entries box, select the names that you previously added, and then click Edit.

  13. In the Permission Entry for Microsoft SharePoint Products dialog box, in the Permissions box, select the Allow check box for Create serviceConnectionPoint objects, and then click OK.

To validate this process, install and provision a new SharePoint farm in the environment, and check whether the service connection point was created successfully. If everything works, you can find a new GUID object under the Microsoft SharePoint Product container. Right-click the object, and then click Properties. The URL for the server farm's Application Discovery and Load Balancer Service will be listed.

A script is available that lists all the SharePoint 2010 Products server names in a domain. To get the script, see List all SharePoint 2010 boxes in a domain by checking AD Marker in the Script Center.

Use the following procedure to add or update the service connection point for the current farm in AD DS.

To set a service connection point in AD DS by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell command prompt, type the following command.

    Copy Code
    Set-SPFarmConfig -ServiceConnectionPointBindingInformation StringwithBindingInformation

    Where:

    • StringwithBindingInformation is usually the URL for the Application Discovery and Load Balancer Service. Note that this variable can contain any valid string you prefer, such as the URL for Central Administration, instead.

      To get the URL for the Application Discovery and Load Balancer Service, run the following command.

      Copy Code
      Get-SPTopologyServiceApplication | select URI

      This returns the URL for the Application Discovery and Load Balancer Service. For more information, see Get-SPTopologyServiceApplication.

  6. When asked to confirm this action, type Y.

For more information, see Set-SPFarmConfig.

Use the following procedure to delete the service connection point for the current farm in AD DS.

To delete a service connection point in AD DS by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell command prompt, type the following command.

    Copy Code
    Set-SPFarmConfig -ServiceConnectionPointDelete

  6. When asked to confirm this action, type Y.

For more information, see Set-SPFarmConfig.

Use the following procedure to determine the service connection point information for the current farm in AD DS.

To find the service connection point for a farm by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell command prompt, type the following command.

    Copy Code
    Get-SPFarmConfig -ServiceConnectionPoint

For more information, see Get-SPFarmConfig.

See Also

Other Resources

Resource Center: Governance in SharePoint Server 2010


Site and solution administration (SharePoint Server 2010)
See Also

This chapter describes how to configure administration settings for sites and solutions in a Microsoft SharePoint Server 2010 environment.

  • Site and site collection administration (SharePoint Server 2010)

    The topics in this section explain how to create and delete site collections, how to manage site collection administrators, how to use quota templates to manage site storage limits and determine when to lock sites, and how to delete unused Web sites. The topics in this section also explain how to configure security for Web parts pages and controls.

  • Sandboxed solutions administration (SharePoint Server 2010)

    The articles in this section provide instructions for managing sandboxed solutions that run in restricted execution environments within your enterprise.

  • Enterprise search administration (SharePoint Server 2010)

    These articles describe how to crawl different content sources, make search results more relevant, configure the search topology, and monitor search.

  • User Profile Service administration (SharePoint Server 2010)

    The User Profile Service enables the creation and management of user profiles that can be accessed from multiple sites and farms. The articles in this section contain procedures for administering the User Profile Service.

  • Managed metadata administration (SharePoint Server 2010)

    The articles in this section contain procedures for working with the managed metadata service application.

  • Document management administration (SharePoint Server 2010)

    The articles in this section explain how to perform common administrative tasks for document management.

  • Content deployment administration (SharePoint Server 2010)

    Content deployment enables you to copy content from a source site collection to a destination site collection. The articles in this section contain procedures for managing content deployment.

  • Business Data Connectivity service administration (SharePoint Server 2010)

    The articles in this section provide descriptions of general administrative Business Data Connectivity service operations and operations related to the items that are stored and managed by using the services.

  • Workflow administration (SharePoint Server 2010)

    The articles in this section explain how to perform common workflow administration tasks.

  • InfoPath forms administration (SharePoint Server 2010)

    The articles in this section describe the tasks and procedures that server farm administrators can use when they operate and maintain InfoPath Forms Services in SharePoint Server 2010.

  • Excel Services administration (SharePoint Server 2010)

    The articles in this section contain procedures for managing the Excel Services service application to share, view, and refresh Microsoft Excel workbooks.

  • PerformancePoint Services administration (SharePoint Server 2010)

    The articles in this section contain procedures for setting up, configuring, and monitoring PerformancePoint Services.

  • Access Services administration

    The articles in this section contain procedures for setting up, configuring, and monitoring Access Services and Access Web databases.

  • Visio Graphics Service administration (SharePoint Server 2010)

    The articles in this section contain procedures for managing the Visio Graphics Service service application to share, view, and refresh Microsoft Visio 2010 Web drawings.

  • Create an Enterprise wiki (SharePoint Server 2010)

    This article explains how to create an Enterprise wiki by using either Central Administration or Windows PowerShell.

  • Web content management operations (SharePoint Server 2010)

    The articles in this section contain procedures for managing document conversions.

  • Mobile administration (SharePoint Server 2010)

    The articles in this section contain procedures for configuring mobile accounts, mobile views, and cross-firewall access zones.

  • SharePoint workspace administration (SharePoint Server 2010)

  • This article provides procedural guidance for IT pros who are deploying SharePoint Workspace for end users.

  • Deploy a client tool for taking SharePoint content offline (video)

    This article shows how to deploy SharePoint Workspace 2010 to client machines so that end users can synchronize offline work with SharePoint sites.

See Also

Concepts

Server and server farm administration (SharePoint Server 2010)


Site and site collection administration (SharePoint Server 2010)
See Also

A Microsoft SharePoint Server 2010 site collection is a hierarchical site structure that is made up of one top-level site and sites below it. This top-level Web site can have multiple subsites, and each subsite can have multiple subsites, for as many levels as required. Top-level Web sites and subsites allow different levels of control over the features and settings for sites.

In this section:

  • Manage site collections (SharePoint Server 2010)

    These articles explain how to create and delete site collections, how to manage site collection administrators, and how to use quota templates to manage site collection storage limits.

  • Manage sites (SharePoint Server 2010)

    These articles explain how to determine when to lock or unlock sites, and how to use site usage data to determine whether an unused Web site should be deleted.

  • Configure Web Analytics service application (SharePoint Server 2010)

    This article explains how to configure the Web Analytics service, which can be used to manage sites and site collections.

  • Manage Web Parts (SharePoint Server 2010)

    These articles explain how to configure security for Web Parts pages and controls.

See Also

Concepts

Operations for SharePoint Server 2010


Manage site collections (SharePoint Server 2010)
See Also

This section describes how to create and delete site collections, how to manage site collection administrators, how to use quota templates to manage site collection storage limits, and how to create connections between specific types of sites.

  • Create a site collection (SharePoint Server 2010)

    This article explains how to create a site collection based on an existing Web application or create a Web application and then create a site collection within that application.

  • Delete a site collection (SharePoint Server 2010)

    This article explains how to delete the content, user information, and site hierarchy that comprise a site collection.

  • Restore a deleted site collection in SharePoint Server 2010

    This article explains how to restore an accidentally deleted site collection using functionality introduced in Microsoft SharePoint Server 2010 with Service Pack 1 (SP1).

  • Configure a connection to a portal site (SharePoint Server 2010)

    This article describes how to configure a connection to a portal site. The portal site is added to the global breadcrumb navigation for the site collection.

  • Manage a connection to a document repository or a records center (SharePoint Server 2010)

    This article explains how to connect a Web application from which documents will be sent and the repository or records center to which documents will be sent.

  • Manage site collection storage limits (SharePoint Server 2010)

    This article explains how to update the warning and storage limits for a site collection by changing the quota template assigned to the site collection.

  • Manage blocked file types (SharePoint Server 2010)

    This article explains how to restrict files from being uploaded or downloaded based on their file name extension.

  • Add or remove site collection administrators (SharePoint Server 2010)

    This article explains how to change primary and secondary site collection administrators or owners.

  • Create, edit, and delete quota templates (SharePoint Server 2010)

    This article explains how to configure storage limit values that specify the maximum amount of data that can be stored in a site collection and the storage size that, when reached, triggers an e-mail alert to the site collection administrator.

  • Lock or unlock site collections (SharePoint Server 2010)

    This article explains how to add or remove a lock from a site collection.

  • View all site collections (SharePoint Server 2010)

    This article explains how to see the list of site collections.

See Also

Concepts

Operations for SharePoint Server 2010


Delete a site collection (SharePoint Server 2010)
See Also

You might want to delete a site collection if it is no longer needed. For example, if you created a team site to track progress on a specific project, and the project has ended, you might decide to delete the site collection after a certain amount of time has passed.

When you delete a site collection, you are deleting a hierarchy of sites that comprise the collection. When you delete a site collection, you permanently destroy all content and user information, such as the following:

  • Documents and document libraries.

  • Lists and list data, including surveys, discussions, announcements, and events.

  • Site configuration settings.

  • Role and security information that is related to the Web site.

  • Subsites of the top-level Web site, their contents, and user information.

Note:

You should back up a site collection before you delete it. For more information about how to back up a site collection, see Plan for backup and recovery in SharePoint Server 2010.

product logo for Microsoft Project If the site collection that you are deleting contains a Microsoft Project Web App (PWA) site, you must first delete the PWA site before deleting the site collection. You can delete the PWA site from the Project Server service application settings page in the SharePoint Central Administration Web site.

Before you delete a site collection, ensure that the following prerequisites are available:

  • A backup copy of the site collection and all of its contents exists.

In this article:

  • Delete a site collection by using Central Administration

  • Delete a site collection by using Windows PowerShell

Delete a site collection by using Central Administration

After you perform this procedure, the site collection and all of its content and user information will be permanently destroyed.

To delete a site collection by using Central Administration

  1. Verify that you have the following administrative credentials:

    • To delete a site collection, the user account that is performing this procedure must be a member of the Farm Administrators SharePoint group.

  2. On the Central Administration Web site, on the Quick Launch, click Application Management

  3. On the Application Management page, in the Site Collections section, click Delete a site collection.

  4. On the Delete Site Collection page, in the Site Collection drop-down list, click the down arrow, and then click Change Site Collection.

    The Select Site Collection dialog box appears.

  5. In the Web Application drop-down list, click the down arrow, and then click Change Web Application.

    The Select Web Application dialog box appears.

  6. Click the name of the Web application that contains the site collection that you want to delete. Relative URLs of sites in the site collections of the Web application that you have selected appear on the Select Site Collection dialog box.

  7. Click the relative URL of the site collection that you want to delete, and then click OK.

  8. Read the Warning section and verify that the site collection information is correct.

  9. On the Delete Site Collection page, click Delete.

    The site collection that you select is deleted.

Delete a site collection by using Windows PowerShell

After you perform this procedure, the site collection and all of its content and user information will be permanently destroyed.

To delete a site collection by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell command prompt, type the following command:

    Copy Code
    Remove-SPSite -Identity "<URL>" -GradualDelete

    Where:

    1. <URL> is the URL of the site collection you want to delete.

    This command removes the specified site collection and all subsites. Gradual deletion reduces the load on the system during the deletion process.

    The previous procedure illustrates a common way of using the Remove-SPSite cmdlet to delete a site collection. You can specify different parameters to configure this command differently. For more information, see Remove-SPSite.

    Note:

    We recommend that you use Windows PowerShell when performing command-line administrative tasks. The Stsadm command-line tool has been deprecated, but is included to support compatibility with previous product versions.

See Also

Concepts

Create a site collection (SharePoint Server 2010)
Sites and site collections overview (SharePoint Server 2010)


Configure a connection to a portal site (SharePoint Server 2010)

A portal site connection can be used to link one site collection to another site collection. For example, if you have a main site collection that you want to provide a link to, you can configure a portal site connection that points to the main site collection. The portal site is added to the global breadcrumb navigation for the current site collection. When site collection users click the up folder, the portal site is listed as the parent of the site collection. This enables users to navigate to the portal site more easily.

Configure a connection to a portal site

A portal site connection can help site collection users navigate to the portal site more easily. Users will see the portal site when they click the up folder.

To configure a connection to a portal site

  1. Verify that you meet the following minimum requirements:

    • You must be the site collection administrator.

  2. Browse to the site collection where you want to create a connection to a portal site.

  3. On the Site Actions menu, click Site Settings.

  4. On the Site Settings page, in the Site Collection Administration section, click Portal Site Connection.

  5. On the Portal Site Connection page, select Connect to portal site.

  6. In the Portal Web Address box, type the URL for the portal site.

    Tip:

    The portal site is the site collection that you want to create a link to. The portal site will be added to the global breadcrumb navigation for the current site collection.

  7. In the Portal Name box, type the name of the portal site.

  8. Click OK.


Manage a connection to a document repository or a records center (SharePoint Server 2010)
See Also

A SharePoint administrator typically creates, modifies, and deletes connections to set up a records archive or a knowledge management center.

A connection is a path used for sending documents to a repository or a records center. The connection specifies the Web application from which documents will be sent, the repository or records center to which documents will be sent, and certain aspects of how the documents are sent.

Procedures in this task:

  • Create a connection

  • Modify a connection

  • Delete a connection

Task Requirements

The following is required to perform the procedures for this task:

  • You must have already created the destination site collection.

Create a connection

Use this procedure to create a connection to a document repository or a records center.

To create a connection

  1. Ensure that you have the required permissions to perform this procedure. To create a connection, you must be a member of the Farm Administrators group.

  2. On the home page of the SharePoint Central Administration Web site, under General Application Settings, select Configure Send To Connections.

  3. In the Web Application field of the Configure Send To Connections page, select the Web application that hosts the site collections from which documents will be sent.

  4. From the Send To Connections list, select New Connection.

  5. In the Display name field, type a name for this connection. This is the name that users will see as one of the options to which to send a document.

  6. In the Send to URL field, enter the URL to the Content Organizer for the destination site. (You can find the URL in the Submission Points section of the Content Organizer : Settings page of the destination repository.) Click Click here to test if you want to confirm that you have entered a URL to a Content Organizer.

  7. To display this connection in the list that appears when a user clicks Send To, select Allow manual submission from the Send To menu.

  8. From the Send To action list, select one of the following values:

    • Copy: Select this option to create a copy of the document and send the copy to the destination repository.

    • Move: Select this option to delete the document from its current location and move the document to the destination repository. Users will no longer be able to access the document from its original location.

    • Move and Leave a Link: Select this option to delete the document from its current location, move it to the destination repository, and leave a link at the current location indicating that the document has been moved. When a user clicks this link, a page will appear that displays the URL of the document and the document's metadata.

  9. In the Explanation dialog box, type the information to be added to the audit log when the user sends a document by using this connection. If you selected Move and Leave a Link in the previous step, the page that appears when the user clicks the link will also display the explanation.

  10. Click Add Connection to create the connection.

  11. Click OK when you are finished configuring connections.

Note:

The Allow sites to send to connections outside the site subscription option applies to all site subscription connections in a Web application, and is not used when adding, modifying, or deleting a single connection.

Modify a connection

Use this procedure to modify an existing connection to a document repository or a records center.

To modify a connection

  1. Ensure that you have the required permissions to perform this procedure. To modify a connection, you must be a member of the Farm Administrators group.

  2. On the home page of the SharePoint Central Administration Web site, under General Application Settings, select Configure Send To Connections.

  3. In the Web Application field of the Configure Send To Connections page, select the Web application that contains the site collections that use this connection.

  4. From the Send To Connections list, select the connection that you want to modify.

  5. Modify any of the connection settings as described in the previous procedure.

  6. Click Update Connection to modify the connection.

  7. Click OK when you are finished configuring connections.

Delete a connection

Use this procedure to delete an existing connection to a document repository or a records repository.

To delete a connection

  1. Ensure that you have the required permissions to perform this procedure. To delete a connection, you must be a member of the Farm Administrators group.

  2. On the home page of the SharePoint Central Administration Web site, , under General Application Settings, select Configure Send To Connections.

  3. In the Web Application field of the Configure Send To Connections page, select the Web application that contains the site collections that use this connection.

  4. From the Send To Connections list, select the connection that you want to delete.

  5. Click Remove Connection to delete the connection.

  6. Click OK when you are finished configuring connections.

See Also

Other Resources

Resource Center: Enterprise Content Management in SharePoint Server 2010


Manage site collection storage limits (SharePoint Server 2010)
See Also

A quota specifies the storage limit values for the maximum amount of data that can be stored in a site collection. Quotas also specify the storage size that, when reached, triggers an e-mail alert to the site collection administrator. Quotas can be saved as quota templates, which can then be applied to any site collection in a SharePoint farm. Using quota templates rather than individual quotas can simplify setting storage limits on new site collections. For more information about how to plan quotas, see Plan quota management (SharePoint Server 2010).

Note:

The storage limit applies to the site collection as a whole. In other words, the storage limit applies to the total size of the content for the top-level site and for all subsites within the site collection. If versioning is enabled, the versions in a site and the content in the Recycle Bins count toward storage limits. You can also specify a percentage of storage limits for the second-stage Recycle Bin. For more information about Recycle Bin settings, see Configure Recycle Bin settings (SharePoint Server 2010).

For recommendations about how to size content databases and site collections, see Enterprise content storage planning (SharePoint Server 2010) and Storage and SQL Server capacity planning and configuration (SharePoint Server 2010).

When the site collection reaches the maximum storage level, an e-mail message that contains information about the issue is sent to the site collection administrator. The site collection administrator can either delete unused content from the site collection or ask a member of the Farm Administrators group to increase the limits. A farm administrator can do any of the following to change the limits:

  • Change the storage limit on the quota template that the site collection is using.

    Important:

    The modified quota template will not be automatically applied to any existing site collections that use the quota template. A member of the Farm Administrators group must manually apply all modified values to all existing sites that use the quota template.

  • Designate a new quota template that has a higher storage limit to the site collection. This automatically increases the limits for the site collection to the limits in the newly designated quota template. This is the preferred method, because the settings in the new quota template are automatically applied to the site collection and no additional action is needed.

  • Change the storage limit for the site collection manually. This overrides the limits set in the quota template that is currently applied to the site collection.

In this article:

  • Change the settings of a quota template

  • Change the quota template for a site collection

  • Change the storage limits for a site collection

Change the settings of a quota template

You must have already created one or more quota templates for these options to be available in Central Administration. The first time that you use this page, you will be given only the option to create a new template.

Note:

The modified quota template is not automatically applied to any existing site collections that use the quota template. A member of the Farm Administrators group must manually apply all modified values to all existing sites that use the quota template.

To change the settings of a quota template by using Central Administration

  1. Verify that you have the following administrative credentials:

    • You must be a member of the Farm Administrators group.

  2. On the Central Administration home page, click Application Management.

  3. On the Application Management page, in the Site Collections section, click Specify quota templates.

  4. On the Quota Templates page, in the Template Name section, in the Template to modify list, select the template that you want to change.

  5. In the Storage Limit Values section, specify the values that you want to apply to the template.

    • If you want to modify the amount of data that can be stored in the database, leave the Limit site storage to a maximum of check box selected, and then type the new storage limit, in megabytes, in the box.

    • If you want an e-mail message to be sent to the site collection administrator when a storage threshold is reached, select the Send warning E-mail when site storage reaches check box, and then type the threshold, in megabytes, in the box.

  6. In the Sandboxed Solutions With Code Limits section, specify the values that you want to apply to the template.

    • If you want to limit the maximum resource usage points per day for sandboxed solutions that contain code, type the new limit in the Limit maximum usage per day to box. The default limit is 300 points.

    • If you want an e-mail message to be sent to the site collection administrator when the usage per day threshold is reached, select the Send warning e-mail when usage per day reaches check box, and then type the threshold, in points, in the box.

  7. Click OK.

Change the quota template for a site collection

If a site collection is close to exceeding its storage limits and you want to increase its size, you can change the quota template that is applied to the site collection to a quota template that has higher limits. This automatically updates the warning and storage limits for the site collection.

To change the quota template for a site collection by using Central Administration

  1. Verify that you have the following administrative credentials:

    • You must be a member of the Farm Administrators group.

  2. On the Central Administration home page, click Application Management.

  3. On the Application Management page, in the Site Collections section, click Configure quotas and locks.

  4. On the Site Collection Quotas and Locks page, ensure that the correct site collection is displayed. If you want to change the site collection, expand the Site Collection list, and then click Change Site Collection. Use the Select Site Collection page to select a site collection.

  5. In the Site Quota Information section, expand the Current quota template list, and then select the new quota template to apply.

  6. Click OK.

To change the quota template for a site collection by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. Click Start, and then click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell command prompt, type the following command:

    Copy Code
    Set-SPSite -Identity "<Site>" -QuotaTemplate "<Template>"

    Where:

    • <Site> is the URL or GUID of the site collection whose quota template you want to change.

    • <Template> is the name or GUID of the replacement quota template.

For more information, see Set-SPSite.

Note:

We recommend that you use Windows PowerShell when performing command-line administrative tasks. The Stsadm command-line tool has been deprecated, but is included to support compatibility with previous product versions.

Change the storage limits for a site collection

Use these procedures to change the storage limits for a site collection.

To change the storage limits for a site collection by using Central Administration

  1. Verify that you have the following administrative credentials:

    • You must be a member of the Farm Administrators group.

  2. On the Central Administration home page, click Application Management.

  3. On the Application Management page, in the Site Collections section, click Configure quotas and locks.

  4. On the Site Collection and Quota Locks page, ensure that the correct site collection is displayed. If you want to change the site collection, in the Site Collection section, expand the Site Collection list, and then click Change Site Collection. Use the Select Site Collection page to select a site collection.

  5. If the site collection currently uses a quota template, do the following to specify an individual quota:

    • On the Site Collection Quotas and Locks page, in the Site Quota Information section, expand the Current quota template list, and then select Individual Quota.

  6. Leave the Limit site storage to a maximum of check box selected, and then type the new maximum value in megabytes.

  7. If you want to send site storage notification e-mail messages to the site collection administrator, select the Send warning e-mail when site storage reaches check box, and then type the value in megabytes.

  8. If you want to limit the maximum resource usage points per day for sandboxed solutions, type the new limit in the Limit maximum usage per day to box. The default is 300 points.

  9. If you want an e-mail message to be sent to the site collection administrator when the usage per day threshold is reached, select the Send warning e-mail when usage per day reaches check box, and then type the threshold, in points, in the box. The default is 100 points.

  10. Click OK.

To change the storage limits for a site collection by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. Click Start, and then click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell command prompt, type the following command:

    Copy Code
    Set-SPSite -Identity "<Site>" -MaxSize <Limit>

    Where:

    • <Site> is the URL of the site collection whose storage limits you want to change.

    • <Limit> is the new storage limit for the site collection, in megabytes.

      Note:

      The new storage limit overrides the limit set in the quota template that is currently applied to the site collection.

      For more information about the Set-SPSite cmdlet, see Set-SPSite.

    For information about how to use Windows PowerShell and the SharePoint object model to set the maximum usage per day and the warning level threshold for sandboxed solutions, see "Using Windows PowerShell for Administration" in Chapter 4: Sandboxed Solutions (http://go.microsoft.com/fwlink/p/?LinkId=219528), an excerpt from the book Inside Microsoft SharePoint 2010 on MSDN.

See Also

Concepts

Create, edit, and delete quota templates (SharePoint Server 2010)
Performance and capacity management (SharePoint Server 2010)


Manage blocked file types (SharePoint Server 2010)

You can restrict certain file types from being uploaded or downloaded. Each Web application maintains a list of blocked file types that is based on file name extensions. For example, you can block files that have the .exe extension because those files can be run on the client computer and can contain malicious code.

By default, many file types are blocked, including file types that are treated as executable by Internet Explorer. Files, whose names include braces, (for example, filename.{doc}) are also blocked by default.

The following table shows the file types that are blocked by default and their corresponding file name extensions.

File name extension | File type
.ade | Microsoft Access project extension
.adp | Microsoft Access project
.app | Application file
.asa | ASP declarations file
.ashx | ASP.NET Web handler file. Web handlers are software modules that handle raw HTTP requests received by ASP.NET.
.asmx | ASP.NET Web Services source file
.asp | Active Server Pages
.bas | Microsoft Visual Basic class module
.bat | Batch file
.cdx | Compound index
.cer | Certificate file
.chm | Compiled HTML Help file
.class | Java class file
.cmd | Microsoft Windows NT command script
.com | Microsoft MS-DOS program
.config | Configuration file
.cpl | Control Panel extension
.crt | Security certificate
.csh | Script file
.dll | Windows dynamic-link library
.exe | Program
.fxp | Microsoft Visual FoxPro compiled program
.hlp | Help file
.hta | HTML program
.htr | Script file
.htw | HTML document
.ida | Internet Information Services file
.idc | Internet database connector file
.idq | Internet data query file
.ins | Internet Naming Service
.isp | Internet Communication settings
.its | Internet Document Set file
.jse | JScript Encoded script file
.ksh | Korn Shell script file
.lnk | Shortcut
.mad | Shortcut
.maf | Shortcut
.mag | Shortcut
.mam | Shortcut
.maq | Shortcut
.mar | Shortcut
.mas | Microsoft Access stored procedure
.mat | Shortcut
.mau | Shortcut
.mav | Shortcut
.maw | Shortcut
.mda | Microsoft Access add-in program
.mdb | Microsoft Access program
.mde | Microsoft Access MDE database
.mdt | Microsoft Access data file
.mdw | Microsoft Access workgroup
.mdz | Microsoft Access wizard program
.msc | Microsoft Common Console document
.msh | Microsoft Agent script helper
.msh1 | Microsoft Agent script helper
.msh1xml | Microsoft Agent script helper
.msh2 | Microsoft Agent script helper
.msh2xml | Microsoft Agent script helper
.mshxml | Microsoft Agent script helper
.msi | Microsoft Windows Installer package
.msp | Windows Installer patch package file
.mst | Visual Test source files
.ops | Microsoft Office profile settings file
.pcd | Photo CD image or Microsoft Visual Test compiled script
.pif | Shortcut to MS-DOS program
.prf | System file
.prg | Program source file
.printer | Printer file
.pst | Microsoft Outlook personal folder file
.reg | Registration entries
.rem | ACT! database maintenance file
.scf | Windows Explorer command file
.scr | Screen saver
.sct | Script file
.shb | Windows shortcut
.shs | Shell Scrap object
.shtm | HTML file that contains server-side directives
.shtml | HTML file that contains server-side directives
.soap | Simple Object Access Protocol file
.stm | HTML file that contains server-side directives
.url | Uniform Resource Locator (Internet shortcut)
.vb | Microsoft Visual Basic Scripting Edition file
.vbe | VBScript Encoded Script file
.vbs | VBScript file
.ws | Windows Script file
.wsc | Windows Script Component
.wsf | Windows Script file
.wsh | Windows Script Host settings file

Add or remove blocked file types

Use this procedure when you want to prohibit files of a specific type from being saved or retrieved from any Web application on a server.

To add or remove blocked file types by using Central Administration

  1. Verify that you have the following administrative credentials.

    • You must be a farm administrator on the server.

  2. In Central Administration, click Security.

  3. On the Security page, in the General Security section, click Define blocked file types.

  4. On the Blocked File Types page, if you want to change the selected Web application, on the Web Application menu, click Change Web Application. Use the Select Web Application page to select a Web application.

  5. Do one of the following:

    • To block an additional file type, scroll to the bottom of the Type each file extension on a separate line text box, type the file extension you want to block, and then click OK.

      Note:

      You do not have to type a file extension in the list in alphabetical order. The next time you open the list, the file extension you added will be correctly sorted in alphabetical order.

    • To stop blocking a file type, select a file type from the list, press the Delete key, and then click OK.


Add or remove site collection administrators (SharePoint Server 2010)

This article describes how to add and remove site collection administrators. A site collection administrator can configure the appearance and behavior of the site, configure search settings and site directory settings, and allocate storage space. A site collection can have one or two administrators.

In this article:

  • Add a site collection administrator

  • Remove a site collection administrator

Add a site collection administrator

Use this procedure when you want to make a user a site collection administrator for a specific site collection.

Caution:

A site collection can have only two administrators. The steps in this procedure describe how to change the secondary site collection administrator. This leaves the primary site collection administrator unchanged, and removes the previous secondary site collection administrator if there was a secondary site collection administrator.

To add a site collection administrator by using Central Administration

  1. Verify that you have the following administrative credentials:

    • To add a site collection administrator, you must be a member of the Farm Administrators group on the computer that is running the SharePoint Central Administration Web site.

  2. On the home page of the SharePoint Central Administration Web site, select Application Management.

  3. On the Application Management page, under Site Collections, select Change site collection administrators.

  4. On the Site Collection Administrators page, click the arrow next to the site collection name and select Change Site Collection.

  5. If the site collection to which you want to add an administrator is listed, select the URL of the site collection and then click OK. If the site collection is not listed, click the arrow next to the Web application name; click Change Web Application; select the name of the Web application that contains the site collection; select the URL of the site collection; and then click OK.

  6. In the Secondary Site Collection Administrator area, either type the name of the user whom you want to add by using the format <domain>\<username> or select the user by using the address book.

  7. Click OK.

To add a site collection administrator by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell command prompt, type the following command to replace the secondary site collection administrator:

    Copy Code
    Set-SPSite -Identity "<SiteCollection>" -SecondaryOwnerAlias "<User>"

    Where:

    • <SiteCollection> is the URL of the site collection to which you want to add a site collection administrator.

    • <User> is name of the user whom you want to add in the format <domain>\<username>.

The previous procedure shows a common way to use the Set-SPSite cmdlet to add a site collection administrator. You can specify different parameters to configure different settings for a site collection. For more information, see Set-SPSite.

Note:

We recommend that you use Windows PowerShell when performing command-line administrative tasks. The Stsadm command-line tool has been deprecated, but is included to support compatibility with previous product versions.

Remove a site collection administrator

Use this procedure to specify the user to be removed from the site collection administrator list. This procedure does not remove the user from Active Directory Domain Services (AD DS).

To remove a site collection administrator by using Central Administration

  1. Verify that you have the following administrative credentials:

    • To remove a site collection administrator, you must be a member of the Farm Administrators group on the computer that is running the SharePoint Central Administration Web site.

  2. On the home page of the SharePoint Central Administration Web site, select Application Management.

  3. On the Application Management page, under Site Collections, select Change site collection administrators.

  4. On the Site Collection Administrators page, click the arrow next to the site collection name and select Change Site Collection.

  5. If the site collection from which you want to remove an administrator is listed, select the URL of the site collection and then click OK. If the site collection is not listed, click the arrow next to the Web application name; click Change Web Application; select the name of the Web application that contains the site collection; select the URL of the site collection; and then click OK.

  6. Every site collection must have a primary site collection administrator. If you want to remove the primary site collection administrator, you must replace it with a different primary site collection administrator. To do so, select the current administrator's name; press the Delete key; and then either type the name of the replacement site collection administrator by using the format <domain>\<username> or select a replacement site collection administrator by using the address book.

  7. To remove the secondary site collection administrator, select the administrator's name, and then press the Delete key.

  8. Click OK.


Create, edit, and delete quota templates (SharePoint Server 2010)

A quota template consists of storage limit values that specify the maximum amount of data that can be stored in a site collection. When the storage limit is reached, a quota template can also trigger an e-mail alert to the site collection administrator. You can create a quota template that can be applied to any site collection in the farm.

Note:

When you apply a quota template to a site collection, the storage limit applies to the site collection as a whole. In other words, the storage limit applies to the sum of the content sizes for the top-level site and all subsites within the site collection.

For more information, see Create a site collection (SharePoint Server 2010) and Manage site collection storage limits (SharePoint Server 2010).

You can also apply quota templates to a site collection that contains sandboxed solutions. A sandbox is a restricted execution environment that enables programs to access only certain resources, and that keeps problems that occur in the sandbox from affecting the rest of the server environment. You can limit the maximum usage per day and send a warning e-mail message when the usage limit is approaching. If the maximum usage limit is reached, the sandboxed solution is disabled for the rest of the day, and an e-mail message is sent to the site collection administrator.

You can also modify existing quota templates. This allows you to modify storage limits for all of the site collections that use the same quota template. When you modify a quota template, you must then reapply it to existing site collections before the new storage limits are enforced.

You can delete a quota template if necessary. However, deleting a quota template will not delete quota values from sites that were created by using the quota template. If you want to remove quotas from all sites by using a specific quota template, you must use the object model or perform a SQL query.

Task requirements

Before you perform this procedure, confirm the following:

  • Your system is running either the Standard or Enterprise version of SharePoint Server 2010.

  • Outgoing e-mail is configured.

    For more information, see Configure outgoing e-mail (SharePoint Server 2010).

  • The Disk Quota Warning timer job is running.

In this article:

  • Create a quota template

  • Edit a quota template

  • Delete a quota template

Create a quota template

You might want to create a quota template to apply to sites that have storage and performance requirements that differ from most other sites in the site collection.

To create a quota template

  1. Verify that you have the following administrative credentials:

    • You are a member of the Farm Administrators group on the computer that is running the SharePoint Central Administration Web site.

  2. On the Central Administration home page, click Application Management.

  3. On the Application Management page, in the Site Collections section, click Specify quota templates.

  4. On the Quota Templates page, in the Template Name section, click Create a new quota template.

  5. In the New template name box, type the name of the new template.

    If you want to base your new template on an existing quota template, expand the Template to start from list, and then click the template that you want.

  6. In the Storage Limit Values section, set the values that you want to apply to the template.

    • If you want to restrict how much data that can be stored, click the Limit site storage to a maximum of check box and type the storage limit in megabytes into the box.

    • If you want an e-mail message to be sent to the site collection administrator when a certain storage threshold is reached, click the Send warning E-mail when Site Collection storage reaches check box and type the threshold in megabytes into the box.

  7. In the Sandboxed Solutions with Code Limits section, set the values for a template for sandboxed solutions.

    1. In the Limit maximum usage per day to box, type the daily usage in points.

    2. In the Send warning e-mail when usage per day reaches box, type the daily usage warning limit in points.

      A point is a relative measurement of resource usage, for example, CPU cycles, memory, or page faults. Points enable comparisons between measurements of resource usage that could not be compared otherwise.

      For more information, see Sandboxed solutions overview (SharePoint Server 2010).

      If you do not want to send a warning e-mail message, clear the Send warning e-mail when usage per day reaches check box.

  8. Click OK.

Edit a quota template

You might want to edit a quota template to increase the storage limit if you find that sites are exceeding the current storage limit on a regular basis.

To edit a quota template

  1. Verify that you have the following administrative credentials:

    • You are a member of the Farm Administrators group on the computer that is running the SharePoint Central Administration Web site.

  2. On the Central Administration home page, click Application Management.

  3. On the Application Management page, in the Site Collections section, click Specify quota templates.

  4. On the Quota Templates page, in the Template Name section, expand the Template to modify list, and then click the template that you want to edit.

  5. Change the settings as necessary, and then click OK.

Delete a quota template

You might want to delete a quota template when the site collection that required those specific settings is deleted.

To delete a quota template

  1. Verify that you have the following administrative credentials:

    • You are a member of the Farm Administrators group on the computer that is running the SharePoint Central Administration Web site.

  2. On the Central Administration home page, click Application Management.

  3. On the Application Management page, in the Site Collections section, click Specify quota templates.

  4. In the Template Name section, expand the Template to modify list, and then click the template that you want to delete.

  5. At the bottom of the Quota Templates page, click Delete, and then click OK.


Lock or unlock site collections (SharePoint Server 2010)

You can apply locks to a site collection to prevent users from updating content or you can temporarily prevent users from accessing the site collection.

The following table describes the locking options that are available in Microsoft SharePoint Server 2010.

Option | Description
Not locked | Unlocks the site collection and makes it available to users.
Adding content prevented | Prevents users from adding new content to the site collection. Updates and deletions are still allowed.
Read-only (prevents additions, updates, and deletions) | Prevents users from adding, updating, or deleting content.
No access | Prevents users from accessing the site collection and its content. Users who attempt to access the site receive an error.
Note:

If you want to limit the amount of content that can be stored in a site collection, you can apply a quota template to the site collection. When the content storage limit that is specified in the quota template is reached, the site collection is locked automatically until the storage limit quota has been increased or some content has been removed. For more information, see Create, edit, and delete quota templates (SharePoint Server 2010).

Follow these steps to lock or unlock a site collection.

To lock or unlock a site collection by using Central Administration

  1. Verify that you have the following administrative credentials.

    • You must be a member of the Site Collection Administrators group for the site collection.

  2. In Central Administration, click Application Management.

  3. On the Application Management page, in the Site Collections section, click Configure quotas and locks.

  4. If the site collection you want isn't already selected, in the Site Collection section, on the Site Collection menu, click Change Site Collection. Use the Select Site Collection page to select a site collection.

  5. On the Site Collection Quotas and Locks page, in the Site Lock Information section, select one of the following options:

    • Not locked to unlock the site collection and make it available to users.

    • Adding content prevented to prevent users from adding new content to the site collection. Updates and deletions are still allowed.

    • Read-only (blocks additions, updates, and deletions) to prevent users from adding, updating, or deleting content.

    • No access to prevent users from accessing the site collection and its content. Users who attempt to access the site receive an error.

  6. If you select Adding content prevented, Read-only (blocks additions, updates, and deletions), or No access, type a reason for the lock in the Additional lock information box.

  7. Click OK.

To lock or unlock a site collection by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell command prompt, type the following command:

    Copy Code
    Set-SPSite -Identity "<SiteCollection>" -LockState "<State>"

    Where:

    • <SiteCollection> is the URL of the site collection that you want to lock or unlock.

    • <State> is one of the following values:

      • Unlock to unlock the site collection and make it available to users.

      • NoAdditions to prevent users from adding new content to the site collection. Updates and deletions are still allowed.

      • ReadOnly to prevent users from adding, updating, or deleting content.

      • NoAccess to prevent users from accessing the site collection and its content. Users who attempt to access the site receive an error.

Note:

For more information about how to use the Set-SPSite cmdlet, see Set-SPSite.


View all site collections (SharePoint Server 2010)

A site collection is a group of Web sites that have the same owner and share administration settings, for example, permissions. Site collections are created within a Web application. When you create a site collection, a top-level site is automatically created in the site collection. You can then create one or more subsites below the top-level site. The entire structure of the top-level site and all its subsites is called a site collection.

View the site collections in a Web application

Use the following procedures to view all the site collections in a Web application.

To view all site collections by using Central Administration

  1. Verify that you have the following administrative credentials:

    • To view all site collections, you must be a member of the Farm Administrators group on the computer that is running the SharePoint Central Administration Web site.

  2. On the Central Administration home page, click Application Management.

  3. On the Application Management page, in the Site Collections section, click View all site collections.

    The Site Collection List page lists all the site collections in the Web application.

  4. To display more information about a site collection, in the URL column, click the site collection.

    The following information about the site collection appears in a table on the right side of the page.

    Item Description

    URL

    The URL of the site collection.

    Title

    The title that was provided when the site collection was created.

    Description

    The description that was provided when the site collection was created.

    Primary administrator

    The primary administrator for the site collection.

    E-mail address

    The e-mail address for the primary administrator.

    Database name

    The content database that is used by the site collection.

  5. If you want to change the selected Web application, click the Web Application box, and then click Change Web Application. Use the Select Web Application page to select another Web application.

To view all site collections by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell command prompt, type the following command:

    Copy Code
    Get-SPWebApplication "<WebApplicationURL>" | Get-SPSite | Format-Table -Property URL,ContentDatabase

    Where <WebApplicationURL> is the URL of the Web application whose site collections you want to view.

For more information, see Get-SPWebApplication and Get-SPSite.

Note:

We recommend that you use Windows PowerShell when performing command-line administrative tasks. The Stsadm command-line tool has been deprecated, but is included to support compatibility with previous product versions.


Restore a deleted site collection in SharePoint Server 2010

Published: June 28, 2011

This article describes new functionality of how to restore a deleted site collection in Microsoft SharePoint Server 2010 with Service Pack 1.

In prior versions of SharePoint Server 2010, if a site collection (that is, an SPSite object) was accidentally deleted, there was not a direct way of restoring a specific deleted site collection. The only method to restore a deleted site collection was to restore the entire farm from a backup. This was costly and time consuming, and typically was not performed.

When a site collection is accidentally deleted in SharePoint Server 2010 with SP1, the deleted site collection is stored in the SPDeletedSite object, not the SPSite object. Therefore, to restore a deleted site collection, you must use the Restore-SPDeletedSite Windows PowerShell cmdlet or programmatically access the object model.

For examples of how to use the SPDeletedSite cmdlets, see Site management cmdlets (SharePoint Server 2010).


Manage sites (SharePoint Server 2010)

This section describes how to manage Web sites in Microsoft SharePoint Server 2010.

  • Manage unused Web sites (SharePoint Server 2010)

    This article explains how to release, either automatically or in response to notification from a site collection administrator, the storage space allocated to inactive sites.

  • Restore a deleted site in SharePoint Server 2010

    This article explains how to restore an accidentally deleted site using functionality introduced in Microsoft SharePoint Server 2010 with Service Pack 1 (SP1).


Manage unused Web sites (SharePoint Server 2010)
See Also

Site usage confirmation and deletion can help to free resources that are used by sites that are no longer needed. Site collections can be deleted automatically after a specified period of inactivity or can depend on the site collection owner's response to a notification.

Note:

To send e-mail notifications, you must configure outgoing e-mail settings. For more information, see Configure outgoing e-mail (SharePoint Server 2010).

Before completing the procedure in this topic, you should determine the following:

  • How long to wait before you check whether a site is inactive.

    The default time period for team sites or for project sites is 90 days after site creation. You can also set the time period that is given to site collection owners. You can give site collection owners a minimum of 30 days and a maximum of 365 days as the notice period.

  • How often to send e-mail notifications to site owners to see whether their sites are inactive.

    After the first e-mail notification, if the site owner does not respond, you can continue to send additional notices at daily, weekly, or monthly intervals.

  • Whether you want to automatically delete unused sites or delete a site if the site owner does not respond to multiple e-mail notifications.

    If you delete sites without an owner's approval, we recommend that you first back up the site. You can customize this functionality so that it automatically backs up a site before deletion by using the SharePoint 2010 Software Development Kit (SDK) (http://go.microsoft.com/fwlink/p/?LinkID=166675).

  • If you plan to automatically delete unused sites, how many e-mail notifications will you send to the site owner before you do so?

    By default, 28 daily notices are sent before site deletion. You can configure this number from a minimum of 28 notices to a maximum of 168 notices. For weekly notices, you can send a minimum of four notices and a maximum of 24 notices. For monthly notices, you can send a minimum of two notices and a maximum of six notices to site owners.

    The e-mail notification contains links to confirm whether a site collection is active or inactive. After an e-mail notification is sent to the site collection owner, there are three possible outcomes:

    • If the site collection owner confirms that the site collection is active by clicking the confirmation link in the e-mail notification, the certification date of the site is renewed.

    • The site collection owner continues to receive periodic e-mail notifications according to the interval specified by a member of the Farm Administrators group, until the site collection owner confirms that the site collection is active or deletes the site collection.

    • If the site collection is not active, and a member of the Farm Administrators group has turned on the automatic deletion feature, e-mail notifications are sent to the site collection owner for the specified number of times. If the site collection owner does not confirm the status of the site collection, the site collection is deleted automatically.

We recommend the following best practices to safeguard against the automatic deletion of a site:

  • Require a secondary site collection owner when users create site collections.

    By default, the site collection creator is listed as primary site collection owner. A site collection owner can also specify a secondary site collection owner. Confirmation notifications are automatically sent to the primary and the secondary site collection owners.

  • Keep the organization informed about vacations and leave a contingency plan.

    For example, if a site collection owner is unavailable for four weeks, and a member of the Farm Administrators group has set the site collection and deletion policy, after four missed weekly confirmations, the site could be deleted without giving the site collection owner an opportunity to confirm the usage of the site.

  • Ensure that there is a schedule to back up site collections regularly so that you can restore a recent copy if a site collection is deleted.

    Note:

    Automatic deletion permanently removes all the content and information from the site collection and any sites within the site collection.

Manage unused Web sites

Use this procedure to manage unused Web sites. You can follow these steps to determine the schedules for notifying owners of site inactivity before deleting unused sites.

To manage unused Web sites

  1. Verify that you meet the following minimum requirements:

    • You must be a member of the Farm Administrators group.

  2. On the Central Administration home page, click Application Management.

  3. On the Application Management page, in the Site Collections section, click Confirm site use and deletion.

  4. On the Site Use Confirmation and Deletion page, in the Web Application section, if the Web application that you want to configure is not listed, expand the Web Application list, and then click Change Web Application.

    On the Select Web Application dialog box, click the Web application that you want to configure.

  5. In the Confirmation and Automatic Deletion Settings section:

    • Select or clear the Send e-mail notification to owners of unused site collections check box.

      If you select this check box, type the number of days, after the site creation or after the site usage is confirmed, to start to send notifications. The minimum number of days is 30, and the maximum is 365.

    • Specify a daily, weekly, or monthly schedule for e-mail notifications. The default schedule is daily. You can also specify the exact time to run the check for the site usage. The default, time is midnight.

    • Select or clear the Automatically delete the site collection if use is not confirmed check box.

      If you select this check box, type the number of notifications to send before the site collection is deleted. By default, it is 28 notifications.

  6. Click OK.

See Also

Concepts

Restore a deleted site in SharePoint Server 2010


Restore a deleted site in SharePoint Server 2010

Published: June 28, 2011

This article describes new functionality of how to restore a deleted site in Microsoft SharePoint Server 2010 with Service Pack 1.

In prior versions of SharePoint Server 2010, if a site (that is, an SPWeb object) was accidentally deleted, there was not a direct way of restoring a specific deleted site. The only method to restore a deleted site was to restore the entire farm from a backup. This was costly and time consuming, and typically was not performed.

In Microsoft SharePoint Server 2010 with Service Pack 1 (SP1), a deleted site is not permanently deleted. Instead, it is stored in the second-stage Recycle Bin. By default, the Delete item in Recycle Bin setting is set for 30 days, which means a deleted site will be permanently removed from the farm after the time value expires. The value of the Delete item in Recycle Bin setting can be increased if more time is needed to retain the deleted site.

For more information, see Configure Recycle Bin settings (SharePoint Server 2010).

At any point before the default time value expires, a site collection administrator can simply use Central Administration to restore the deleted site.

Before you restore a site, be aware of the following known behaviors:

  • Any content types that were added while the site was in the Recycle Bin are skipped, so field definitions might not be up-to-date.

  • Content deployment will not work for a deleted site while in the Recycle Bin. To resolve it, scoped deployment must be run for this site.

  • When an update package or QFE is installed, the update package will skip the site while it is still located in the Recycle Bin. To resolve this issue, update the site afterwards.

To restore a deleted site from the second-stage Recycle Bin

  1. Verify that the user account that is performing this procedure has the Site Collection Administrator permission.

  2. In Central Administration, on the Home page, click Site Actions and then click Site Actions.

  3. On the Site Actions page, click Site Collection Administration.

  4. On the Site Collection Administration page, click Recycle Bin.

  5. On the Recycle Bin page, click the check box for the deleted site you want to restore.

  6. Click OK.


Configure Web Analytics service application (SharePoint Server 2010)
See Also

Published: October 14, 2010

This article describes how to configure the Web Analytics service application in Microsoft SharePoint Server 2010. Once the Web Analytics service application is configured, you are able to collect, report, and analyze the usage and effectiveness of SharePoint Server 2010 sites. For different ways to schedule and display these reports, you can use Web Analytics Workflow and Web Analytics Web Parts, respectively. By using these features, you are able to understand what users are doing and can better understand what information they want from a site.

Before you configure the SharePoint Web Analytics service application, we recommend that you read Capacity requirements for the Web Analytics Shared Service in SharePoint Server 2010

In this article:

  • About Web Analytics

  • Configure the Web Analytics service application by using the Farm Configuration Wizard

  • Configure Web Analytics service application by using Central Administration

  • Configure the Web Analytics service application by using Windows PowerShell

  • Create and configure the View Web Analytics Data permission

  • Add the Web Analytics workflow

  • Add the Web Analytics Web Part

About Web Analytics

The Web Analytics service application is automatically configured as part of the Basic installation of Microsoft SharePoint Server 2010.

Advanced installation of SharePoint Server 2010 requires separate configuration of the Web Analytics service application. You can configure the Web Analytics service application after installation of SharePoint Server 2010 by using one of the following tools:

  • Farm Configuration Wizard

  • Central Administration

  • Windows PowerShell

The default configuration for the Web Analytics service application consists of:

  • One Web Analytics service application.

  • One Web Analytics Reporting database and one Web Analytics Staging database. The databases must be associated with the service application. For additional information about reporting and staging databases, see Database types and descriptions (SharePoint Server 2010).

    Note:

    There is no support for configuring the Web Analytics Reporting and Web Analytics Staging databases to use SQL authentication.

  • One Web Analytics Service application proxy associated with the default proxy group of the server farm.

Configure the Web Analytics service application by using the Farm Configuration Wizard

After setup is finished, the opening page of the Farm Configuration Wizard opens automatically. The administrator can choose to run the wizard immediately or wait until later. In the Farm Configuration Wizard, all service applications that are not currently configured are selected for configuration by default. If you do not want to configure the Web Analytics service application until later, you can clear the check box for the service and run the Farm Configuration Wizard later.

Note:

Until you configure the Web Analytics service application, you will not be able to run or create reports that use the Web Analytics service application.

If the Web Analytics service application check box is unavailable, it has already been configured. After initial configuration, you can only configure the Web Analytics service application by using the Central Administration Web site or Windows PowerShell.

To configure the Web Analytics service application by using the Farm Configuration Wizard

  1. On the Central Administration Web site, click Configuration Wizards.

  2. On the Configuration Wizards page, click Launch the Farm Configuration Wizard.

  3. On the first page of the Farm Configuration Wizard, click Start the Wizard.

  4. On the services configuration page, in the Services section, click to select the Web Analytics Service Application check box.

    Note:

    If the Web Analytics Service Application check box is unavailable, the Web Analytics service application is already configured. To make changes to the configuration you must use Windows PowerShell or the Central Administration Web site.

  5. Click Next.

  6. Complete any other configuration steps for the server farm.

  7. On the final page of the Farm Configuration Wizard, click Finish.

Configure Web Analytics service application by using Central Administration

You can use Central Administration to configure the Web Analytics service application. The following five steps are required to configure the Web Analytics service application:

  1. Create the Web Analytics service application.

  2. Associate one or more Web applications with a Web Analytics service application.

  3. Verify that the Web Analytics Web Service and Web Analytics Data Processing Service are started.

  4. Verify that usage logging is enabled for the desired event. For information about events and usage logging, see Configure usage and health data collection (SharePoint Server 2010).

  5. Verify that the State Service Application and State Service Application Proxy are started.

To create the Web Analytics service application by using Central Administration

  1. Verify that the user account that is performing this procedure is a member of the Farm Administrators SharePoint group.

  2. In Central Administration, on the Home page, click Application Management.

  3. On the Application Management page, in the Service Applications section, click Manage service applications.

  4. On the ribbon, click New, and then click Web Analytics Service Application.

  5. For the Application Pool parameter, specify an existing application pool name or create a new application pool name.

  6. For the Database Server parameter, specify a database server name for the service application.

  7. For the Staging Database Name parameter, type the name of the staging database.

  8. For the Reporting Database Name parameter, type the name of the reporting database.

  9. Click OK.

To associate a Web application with a Web Analytics Service application by using Central Administration

  1. Verify that the user account that is performing this procedure is a member of the Farm Administrators SharePoint group.

  2. In Central Administration, on the Home page, click Application Management.

  3. On the Application Management page, in the Service Applications section, click Configure service application associations.

  4. If the Web Analytics Service application proxy is not included in the list of application proxies, click the appropriate Web application. Next, in the Configure Service Applications Associations dialog box, select the Web Analytics Service Application Proxy check box to associate it with the Web application.

To verify that the Web Analytics Data Processing Service and the Web Analytics Web Service are started by using Central Administration

  1. Verify the following that the user account that is performing this procedure is a member of the Farm Administrators SharePoint group and that procedure is performed on the application server.

  2. In Central Administration, click System Settings.

  3. On the System Settings page, in the Servers section, click Manage services on server.

  4. From the Action column, click Start for the Web Analytics Data Processing Service and the Web Analytics Web Service.

To verify that usage logging is enabled for desired event by using Central Administration

  1. Verify that the user account that is performing this procedure is a member of the Farm Administrators SharePoint group.

  2. In Central Administration, on the Home page, click Monitoring.

  3. On Monitoring page, in the Reporting section, click Configure usage and health data collection.

  4. On the Event Selection section, click all check boxes to select them, and then click OK.

For additional information about usage logging and Web analytics service, see "Capacity Requirements for Web Analytics Shared Service in SharePoint Server 2010", accessible from Performance and capacity test results and recommendations (SharePoint Server 2010).

To verify that the State Service application is started by using Central Administration

  1. Verify that the user account that is performing this procedure is a member of the Farm Administrators SharePoint group.

  2. In Central Administration, click Application Management.

  3. On Application Management page, in the Service Applications section, click Manage service applications.

  4. In the list of service applications, verify that State Service Application and State Service Application Proxy are set to Started. If the State Service Application or State Service Application Proxy are not started, see Manage the State Service (SharePoint Server 2010).

Configure the Web Analytics service application by using Windows PowerShell

To configure the Web Analytics service application by using Windows PowerShell

  1. Verify that you meet the following minimum requirements:

    • See Add-SPShellAdmin.

    • You must read about_Execution_Policies (http://go.microsoft.com/fwlink/p/?LinkId=193050).

  2. Copy the following code and paste it into a text editor, such as Notepad.

    Note:

    To use a specific database name with this script, the database name must be created before the script is run. For information about how to use DBA-created databases, see Deploy by using DBA-created databases (SharePoint Server 2010).

    Copy Code
    Add-pssnapin Microsoft.SharePoint.PowerShell
     #Get Central Admin server
      $CentralAdminInstance = Get-SPServiceInstance | ? { $_.TypeName -eq "Central administration" } | ? {$_.Status -eq "Online"}
     $CentralAdminServer = $CentralAdminInstance.Server.Address

     #Get default SQL server
$configDB = Get-SPDatabase | ? { $_.Type -eq "Configuration Database" }
$DatabaseServer = $configDB.NormalizedDataSource

     #Create Analytics Web Application
write-host "Creating web analytics service application"

     #Create app pool
     #Get Analytics Windows Service instance
$serviceInstance = Get-SPServiceInstance | where-object {$_.Name -eq "WebAnalyticsServiceInstance"} | where-object {$_.Server.Address -eq $CentralAdminServer}
$windowsservice = $serviceInstance.Service
$serviceAccount = Get-SPManagedAccount -service $windowsservice

$ServiceApplicationName = "AnalyticsServiceApplication1"
$StagerDatabase = $ServiceApplicationName + "Stager"
$WarehouseDatabase = $ServiceApplicationName + "Warehouse"
$StagerSubscription = "<StagingDatabases><StagingDatabase ServerName='$DatabaseServer' DatabaseName='$StagerDatabase'/></StagingDatabases>"
$WarehouseSubscription = "<ReportingDatabases><ReportingDatabase ServerName='$DatabaseServer' DatabaseName='$WarehouseDatabase'/></ReportingDatabases>"
     $ExistingServiceApp = Get-SPServiceApplication | where-object {$_.Name -eq $ServiceApplicationName}
     if ($ExistingServiceApp -ne $null)
     {
          Remove-SPServiceApplication $ExistingServiceApp -Confirm:$false
     }

     $ExistingServiceAppProxy = Get-SPServiceApplicationProxy | where-object {$_.Name -eq $ServiceApplicationName}
     if ($ExistingServiceAppProxy -ne $null)
     {
          Remove-SPServiceApplicationProxy $ExistingServiceAppProxy -Confirm:$false
     }
     #Check if application pool already exist, if so update it
$ApplicationPool = Get-SPServiceApplicationPool | where {$_.Name -eq $ServiceApplicationName}
     if ($ApplicationPool -ne $null)
     {
          Set-SPServiceApplicationPool $ApplicationPool -Account $serviceAccount
     }
     else
     {

     #Creating app pool for service app

          $ApplicationPool = New-SPServiceApplicationPool -Name $ServiceApplicationName -Account $serviceAccount
     }
     $ServiceApplication = New-SPWebAnalyticsServiceApplication -Name $ServiceApplicationName -ReportingDataRetention 20 -SamplingRate 100 -ListOfReportingDatabases $WarehouseSubscription -ListOfStagingDatabases $StagerSubscription -ApplicationPool $ApplicationPool

     #Create Web Analytics Service Application Proxy
write-host "Creating Web Analytics Service Application Proxy"
New-SPWebAnalyticsServiceApplicationProxy  -Name $ServiceApplicationName -ServiceApplication $ServiceApplication.Name

     #Start Analytics service instances
write-host "Starting Analytics Service instances ..."
$AnalyticsDataProcessingInstance = Get-SPServiceInstance | where-object {$_.Name -eq "WebAnalyticsServiceInstance"} | where-object {$_.Server.Address -eq $CentralAdminServer
$AnalyticsWebServiceInstance = Get-SPServiceInstance | where-object {$_.TypeName -eq "Web Analytics Web Service"} | where-object {$_.Server.Address -eq $CentralAdminServer}

     Start-SPServiceInstance $AnalyticsDataProcessingInstance
     Start-SPServiceInstance $AnalyticsWebServiceInstance

#Check to see if the State Service Application is available
     $state = Get-SPStateServiceApplication

$stateName = "Default State Service Application"

if($state -eq $null)

{

Write-Host "Creating the State Service Application" -foregroundcolor yellow

$state = New-SPStateServiceApplication -Name $stateName

Write-Host "Creating the State Service Application Proxy" -foregroundcolor yellow

$state | New-SPStateServiceApplicationProxy -Name $stateName

}

$state = Get-SPServiceApplication | where {($_.name) -eq $stateName}

if($state -ne $null)

{

Write-Host "Service application created" -ForegroundColor Yellow

}

     write-host "Done."

  3. Save the file, naming it WebAnalytics.ps1.

    Note:

    You can use a different file name, but you must save the file as an ANSI-encoded text file whose extension is .ps1.

  4. On the Start menu, click All Programs.

  5. Click Microsoft SharePoint 2010 Products.

  6. Click SharePoint 2010 Management Shell.

  7. Change to the directory where you saved the file.

  8. At the Windows PowerShell command prompt, type the following command:

    Copy Code
    ./WebAnalytics.ps1

Create and configure the View Web Analytics Data permission

After the Web Analytics service application is configured, the View Web Analytics Data permission needs to be created for users that are not a site collection administrator or site owner. This is the minimum required permission needed to view Web Analytics reports. End users who need to access a Web Analytics report must have this permission assigned to them.

To create the View Web Analytics Data permission for a site or site collection

  1. Verify that the user account that is performing this procedure is that of a site collection administrator or a site owner.

  2. From a site or site collection, click Site Permissions from the Site Actions menu.

  3. On Site Permissions page, on the Edit tab, in the Manage group, click Permission Levels.

  4. Click Add a Permission Level.

  5. In the Name field, type View Web Analytics Data.

  6. In the Permissions section, under the List Permissions, select the View Application Pages check box.

  7. In the Permissions section, under the Site Permissions, select the View Web Analytics Data and Enumerate Permissions check boxes.

  8. Click Create.

To configure the View Web Analytics Data permission for a site or site collection

  1. Verify that the user account that is performing this procedure is that of a site collection administrator or a site owner.

  2. From a site or site collection, click Site Permissions from the Site Actions menu.

  3. On the Site Permissions page, on the Edit tab, in the Grant group, click Grant Permissions.

  4. In the Users/Groups box, add the users that will be granted the View Web Analytics Data permission.

  5. In the Grant Permissions section, click Grant users permission directly, and then select the View Web Analytics Data check box.

  6. Click OK.

Add the Web Analytics workflow

After the Web Analytics service application is configured, you can schedule a workflow to run a Web Analytics report or a Web Analytics alert depending on the criterion that is met. For additional information about Web Analytics workflow, see Reporting and usage analysis overview (SharePoint Server 2010).

To create the Web Analytics report for a site

  1. Verify that the user account that is performing this procedure is that of a site owner or site collection administrator.

  2. From the root level of a site, click Site Settings from the Site Actions menu.

  3. On Site Settings page, click Workflow settings under the Site Administration section.

  4. Click Add a workflow.

  5. In the Select a workflow template field, choose either an alert or report workflow.

  6. In the Name field, type the name of the workflow.

  7. In the Task list field, select the appropriate task list that will be used with this workflow. If none is available, click New task list.

  8. In the History list field, select the appropriate history list to be used with this workflow. If none is available, click Workflow History (new).

  9. In the Start Options field, select the appropriate permission level to start the workflow. By default, the workflow is manually started by an authenticated user.

  10. In the Recipients field, type the name of the users who should receive the report.

  11. In the Message field, type a message to be included in the e-mail message that is sent to the recipients.

  12. In the Frequency field, select the frequency for this workflow. The default value is daily.

  13. In the Start Date field, select the date to start the workflow. The default value is Today.

  14. In the End Date field, select the date to end the workflow. The default value is Never.

  15. In the Site Scope field, specify the scope of this workflow. The default value is This Site Collection.

  16. In the Web Analytics Reports field, select the reports to include in the workflow.

  17. Click Finish.

To create the Web Analytics alert workflow for a site collection

  1. Verify that the user account that is performing this procedure is that a site owner or site collection administrator.

  2. From the root level of a site collection, click Site Settings from the Site Actions menu.

  3. On Site Settings page, click Workflow settings under the Site Administration section.

  4. Click Add a workflow.

  5. In the Select a workflow template field, choose either an alert workflow.

  6. In the Name field, type the name of the workflow.

  7. In the Task list field, select the appropriate task list that will be used with this workflow. If none is available, click New task list.

  8. In the History list field, select the appropriate history list to be used with this workflow. If none is available, click Workflow History (new).

  9. In the Start Options field, select the appropriate permission level to start the workflow. By default, the workflow is manually started by an authenticated user.

  10. Click Next.

  11. In the Recipients field, type the name of the users who should receive the report.

  12. In the Message field, type a message to be included in the e-mail message that is sent to the recipients.

  13. In the Site Scope field, specify the scope of this workflow. The default value is This Site Collection.

  14. In the Condition(s) field, specify data condition(s) that will cause the workflow to send an e-mail.

  15. Click Finish.

Add the Web Analytics Web Part

After the Web Analytics service application is configured, a site administrator or site owner can add a Web Part to a site to quickly view specific reports. For additional information about Web Analytics Web Part, see Reporting and usage analysis overview (SharePoint Server 2010).

To create the Web Analytics Web Part for a site collection

  1. Verify that the user account that is performing this procedure is that of a site owner or site collection administrator.

  2. From the root level of a site collection, click the Page tab.

  3. From the Edit group on the ribbon, click Edit .

  4. Under Editing Tools, click the Insert tab.

  5. From the Web Parts group, click Web Part.

  6. From the Categories column, click Content Rollup.

  7. From the Web Parts column, click Web Analytics Web Part, and then click Add.

  8. By default, the Most Viewed Content report will be displayed. To change the type of report to be displayed in the Web Part, you must edit the Web Part and change its properties.

See Also

Concepts

Workflow administration (SharePoint Server 2010)

Other Resources

Running Windows PowerShell Scripts


Manage Web Parts (SharePoint Server 2010)

Web Parts are modular elements that present information on pages of SharePoint sites. For more information, see Web Parts in Windows SharePoint Services (http://go.microsoft.com/fwlink/p/?LinkId=184240) section of the SharePoint Foundation 2010 SDK.

This article helps you prepare to manage security for Web Parts pages and controls that are used with SharePoint Server 2010.

In Microsoft SharePoint Server, a Web Parts page is a collection of Web Parts that combines list data, timely information, or useful graphics into a dynamic Web page. The layout and content of a Web Parts page can be set for all users and optionally personalized for individual users. A site owner or a site member with the appropriate permissions can create and customize Web Parts pages by using a browser to add, reconfigure, or remove Web Parts.

Web Parts are not restricted to use only on Web Parts pages. They can be added directly to wiki pages, content pages, and publishing pages.

Web Parts in SharePoint Server can be configured to run in sandboxed solutions. Sandboxed solutions prevent the Web Part from accessing certain local or network resources, which protects other content and solutions on the SharePoint Server farm. By implementing sandboxed solutions, users can add their own Web Parts in a hosted environment, and developers can add Web Parts that have not yet been thoroughly tested for production use.

For more information about sandboxed solutions, see Sandboxed solutions planning (SharePoint Server 2010).

The Web Parts infrastructure in SharePoint Server exists on a layer above the ASP.NET Web Parts infrastructure. To effectively protect SharePoint sites, server administrators must be familiar with security guidelines and best practices for ASP.NET. For more information, see Security Guidelines: ASP.NET 2.0 (http://go.microsoft.com/fwlink/p/?LinkId=103423) in the MSDN Library Online.

Security for Web Parts pages and controls

Protecting Web Parts pages and controls is a collaborative effort. Developers, site administrators, and server administrators must work together to improve security for Web Parts and Web Parts pages. Developers should validate Web Part input to prevent server attacks. Server administrators must configure Internet Information Services (IIS) to use an appropriate authentication method.

Server administrators also configure and deploy Web Parts solutions to a Web server or Web farm. After the solution is deployed, site administrators or server administrators define the permission levels and permissions that allow access to Web Parts pages.

The following table shows the security roles responsible for configuring permissions on Web Parts pages and Web Parts.

Role Category Applies to Description Recommended guidelines

Developer

Input Validation

Web Part code

Input validation refers to how your application filters, scrubs, or rejects input before additional processing. This includes verification that the input that your application receives is valid and safe.

Building Secure ASP.NET Pages and Controls (http://go.microsoft.com/fwlink/p/?LinkId=103424) (MSDN Library Online)

Walkthrough: Creating a Basic SharePoint Web Part (http://go.microsoft.com/fwlink/p/?LinkId=103425) (MSDN Library Online)

Server administrator

Authentication

IIS

Authentication is the process where an entity validates the identity of another entity, typically through credentials such as a user name and password.

Plan authentication (SharePoint Server 2010)

Site administrator/ Server administrator

Authorization

Site collections

Authorization is the process that provides access controls for Web sites, lists, folders, or items by determining which users can perform specific actions on a given object. The authorization process assumes that the user has already been authenticated.

Authorization and Authentication (http://go.microsoft.com/fwlink/p/?LinkId=103428) (MSDN Library Online)

Server administrator

Configuration Management

.NET Framework configuration

Configuration management encompasses a broad range of settings that allow an administrator to manage the Web application and its environment. These settings are stored in XML configuration files, some of which control computer-wide settings, while others control application-specific configurations. You can define special security constraints in configuration files and computer-level code access security permissions.

"Code Access Security" in "Securing Your Web Server" (http://go.microsoft.com/fwlink/p/?LinkId=103431) (MSDN Library Online)

Microsoft Windows SharePoint Services and Code Access Security (http://go.microsoft.com/fwlink/p/?LinkId=103436) (MSDN Library Online)

Using Code Access Security with ASP.NET (http://go.microsoft.com/fwlink/p/?LinkId=103438) (MSDN Library Online)

In this section

Configure and deploy Web Parts (SharePoint Server 2010)


Configure and deploy Web Parts (SharePoint Server 2010)

This article provides information and procedures that are required to configure and deploy secure Web Parts to either the Bin directory or the .NET Framework Global Assembly Cache (GAC) on your server.

In this article:

  • Configuration options

  • Setting security attributes

  • Safe Controls list

  • Deploy and configure a Web Part

  • Add a component to the Web Part Gallery

Microsoft SharePoint Server includes a set of Web Parts that users can add to pages after installing the product. If an organization needs custom Web Parts, a developer can write custom ASP.NET Web Parts and ask you to install them to a deployment of SharePoint Server. This process typically requires testing and approval of the code before the Web Part can be deployed in a full-trust environment. A developer who uses Visual Studio 2010 can deploy a Web Part to SharePoint Server by right clicking the project and selecting Deploy. The destination for the Web Part is determined by the trust level established with the SharePoint server when the developer created the project in Visual Studio 2010.

Microsoft SharePoint Server 2010 enables you to configure a sandboxed environment where site collection administrators, site administrators, or information workers can deploy and run partially trusted Web Parts and solutions in a sandboxed worker process. Web Parts and solutions that run in a sandboxed environment have limited permissions to access the server operating system and hardware, and they are isolated from other parts of the Web application.

For more information on using sandboxed solutions, see Sandboxed solutions administration (SharePoint Server 2010).

SharePoint Server uses some of the configuration management settings that are provided by the Microsoft .NET Framework. Some of these settings are stored in XML configuration files and provide a broad range of settings that enable server administrators to manage the Web application and its environment. For more information about ASP.NET configuration files, see Machine.Config and Web.Config Explained (http://go.microsoft.com/fwlink/p/?LinkId=103450&clcid=0x409) in "Securing Your ASP.NET Application and Web Services" in the MSDN Library Online.

Configuration options

System administrators can deploy ASP.NET Web Parts to a deployment of SharePoint Server in either of two locations:

  • Bin directory Stored in the bin folder under the root directory of your Web application.

  • Global Assembly Cache (GAC) All standard Web Parts are automatically installed in the GAC, where the common language runtime of the .NET Framework is located, at %windir%\assembly. Web Parts stored in the GAC can be shared across applications.

The following table describes the advantages and disadvantages of each location.

Deployment location Advantages Disadvantages

Bin directory

A partial-trust location. By default, code that runs from this directory has a low level of code access security permissions. If the Web Part requires access across applications or more access than the default permissions allow, the administrator must explicitly raise permissions that are granted to a Web Part so that it can function correctly. Administrators might prefer that assemblies run in the Bin directory, with a known minimum set of required code access security permissions.

Because the Bin directory is specific to a Web application, you can use this method if you want to isolate code to a single Web application.

To run your Web Part everywhere, you must deploy your assembly to the Bin directory on each server.

GAC

A global location where you can deploy signed assemblies, which can run with full trust by default. Because the assemblies are installed globally, they work in any Web application.

Generally, there are no code access security restrictions on code that is installed to the GAC; therefore, you lose the benefit of defense-in-depth security.

Additionally, it can be difficult to deploy your program database (.pdb) files to assemblies in the GAC.

Setting security attributes

ASP.NET Web Parts that are stored in the Bin directory have additional security attributes. You can decide whether to set these attributes for your Web Part, depending on how you plan to use it.

The Bin directory is a partial-trust location. Therefore, your Web Part is not automatically granted full trust code permissions when it is executed. Because the code that calls into your Web Part is granted only partial trust permissions, the Web Part developer must set the AllowPartiallyTrustedCallers attribute on your ASP.NET Web Part.

Marking a component as "safe" with the AllowPartiallyTrustedCallers attribute puts the responsibility for safe implementation on the development team.

By default, code access security permissions for the Bin directory are very low. You should test your Web Parts carefully to determine the correct level of permissions to assign, and to ensure that the Web Part does not present a security risk to your environment.

You can elevate permissions in either of two ways:

  • (Recommended) Create a trust policy file and point your Web.config file at the new file. This option is more complex, but it enables you to set precise permissions for your Web Parts. For more information about trust policy files, see Microsoft Windows SharePoint Services and Code Access Security (http://go.microsoft.com/fwlink/p/?LinkID=103436&clcid=0x409) in the MSDN Library Online.

  • Raise the overall trust level of the Bin directory. In the Web.config file in the root directory of your Web application, locate the trust element. The default value for the trust element's level attribute is WSS_Minimal. You can change this level to WSS_Medium. Although this option is simpler, it grants arbitrary new permissions that you might not need, and it is less secure than creating a trust policy file.

Safe Controls list

A fundamental assumption of SharePoint Products is that untrusted users can upload and create .aspx pages within the system on which SharePoint Server is running. These users should be prevented from adding server-side code within .aspx pages, but there should be a list of approved controls that those untrusted users can use. In SharePoint Server, this list is provided by the Safe Controls list.

The Safe Controls list contains the names of controls and Web Parts, specific to your SharePoint site, that server administrators can designate as safe for invocation on any .aspx page within a site. This list is part of the Web.config file in your Web application root.

Deploy and configure a Web Part

The method that you use to deploy a new Web Part will depend on the finished package that the developer provides. If the developer provided you with the Web Part as a single dynamic-link library (DLL) file, you can manually deploy the DLL by copying it to your Web application's Bin folder. If the developer provides you with a CAB file containing the Web Part, you can use Windows PowerShell to deploy the Web Part.

To manually deploy and configure a Web Part

  1. Verify that you have the following administrative credentials:

    • You must be a member of the local Administrators group on the server hosting SharePoint Server.

  2. Copy the <YourWebPartName>.dll assembly in the project's Bin directory to the Bin directory in your Web application root directory. For example: C:\inetpub\wwwroot\wss\VirtualDirectories\80\.

  3. Locate the Web.config file in your application root directory and open it for editing.

  4. Add the following safe-control entry for your custom assembly to the Web.config file:

    Copy Code
    <SafeControl Assembly="<YourWebPartName>, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" Namespace="<YourWebPartNamespace>" TypeName="*" Safe="True" AllowRemoteDesigner="True"/>

    Where:

    1. <YourWebPartName> is the name of the Web Part that is being deployed.

    2. <YourWebPartNamespace> is the namespace that is associated with your Web Part.

An alternative to manually installing a Web Part to the Bin folder or manually changing the Web.config file is to use Windows PowerShell to install the Web Part package. For this process to work, a developer or system administrator must create a CAB solution package for the Web Part. For more information about creating a CAB package, see the Solutions and Web Part Packages (http://go.microsoft.com/fwlink/p/?LinkID=95855&clcid=0x409) documentation in the MSDN Library Online. After you create a CAB file, follow these steps to deploy the Web Part.

To deploy the Web Part by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell command prompt (PS C:\>), type the following command, and then press ENTER:

    Copy Code
    Install-SPWebPartPack -LiteralPath "<PathToCabFile>" -Name "<WebPartName>"

    Where:

    • <PathToCabFile> is the full path to the CAB file that is being deployed.

    • <WebPartName> is the name of the Web Part that is being deployed.

Note:

The previous procedure shows a common way to use Install-SPWebPartPack to deploy a Web Part. You can specify additional parameters to change the way the Web Part is deployed. For more information, see Install-SPWebPartPack.

Note:

We recommend that you use Windows PowerShell when performing command-line administrative tasks. The Stsadm command-line tool has been deprecated, but is included to support compatibility with previous product versions.

Add a component to the Web Part Gallery

Every Web Part should have a .webpart file, which is an XML file that describes the Web Part. The .webpart file also causes your Web Part to appear in the Web Part gallery. The following procedure is the easiest way to create a .webpart file after you deploy your Web Part and register it in the Safe Control list.

To add a component to the Web Part gallery

  1. Verify that you have the following administrative credentials:

    • You must be a member of the Farm Administrators group.

  2. To create a .webpart file, navigate to http://<MyServer>/_layouts/newdwp.aspx, where <MyServer> is the name of the server on which your SharePoint site is deployed.

  3. Select the check box next to <YourWebPartNamespace>.<YourWebPartName>.

  4. Click Populate Gallery to add the YourWebPartName Web Part to the Team Site gallery.

  5. In the Web Part gallery, select Edit to edit the Web Part, and then click Import.

    You are prompted to specify a location for the .webpart file. You can also export ASP.NET Web Parts and import them to SharePoint sites.


Sandboxed solutions administration (SharePoint Server 2010)
See Also

A sandbox is a restricted execution environment that enables programs to access only certain resources and keeps problems that occur in the sandbox from affecting the rest of the server environment. Solutions that you deploy into a sandbox, which are known as sandboxed solutions, cannot use certain computer and network resources and cannot access content outside the site collection they are deployed in.

In this section:

  • Enable sandboxed solutions on the farm (SharePoint Server 2010)

    Provides instructions for starting the sandboxed solutions service.

  • Configure load balancing for sandboxed solutions (SharePoint Server 2010)

    Provides instructions for selecting the load-balancing scheme for sandboxed solutions.

  • Block or unblock a sandboxed solution (SharePoint Server 2010)

    Provides instructions for blocking a sandboxed solution from running.

  • Configure sandboxed solutions service tiers (SharePoint Server 2010)

    Provides instructions for configuring the sandboxed solutions service.

  • Configure resource points for sandboxed solutions (SharePoint Server 2010)

    Provides instructions for configuring resource points for sandboxed solutions.

See Also

Concepts

Sandboxed solutions overview (SharePoint Server 2010)
Plan sandboxed solutions (SharePoint Server 2010)


Enable sandboxed solutions on the farm (SharePoint Server 2010)
See Also

A sandbox is a restricted execution environment that enables programs to access only certain resources and keeps problems that occur in the sandbox from affecting the rest of the server environment. Solutions that you deploy into a sandbox, which are known as sandboxed solutions, cannot use certain computer and network resources and cannot access content outside the site collection they are deployed in. Because sandboxed solutions cannot affect the whole server farm, they do not have to be deployed by a farm administrator. If sandboxed solutions have been enabled on at least one server in the farm, a site collection administrator can deploy solutions to a run in a sandbox on any server in the farm.

By default, sandboxed solutions are disabled. Enable sandboxed solutions on every application server on which you want to run sandboxed solutions.

For more information about sandboxed solutions, see Sandboxed solutions overview (SharePoint Server 2010).

Enable sandboxed solutions

Use the following procedure on each application server in your farm on which you want to enable sandboxed solutions.

To enable sandboxed solutions by using Central Administration

  1. Verify that you have the following administrative credentials:

    • You must be a member of the Farm Administrators group on the computer that is running the SharePoint Central Administration Web site.

  2. On the home page of the Central Administration Web site, in the System Settings section, click Manage services on server.

  3. On the Services on Server page, in the Server box, select the server on which you want to enable sandboxed solutions.

  4. In the Microsoft SharePoint Foundation Sandboxed Code Service row, in the Action column, click Start.

  5. Repeat steps 3 and 4 for each server on which you want to enable sandboxed solutions.

To enable sandboxed solutions by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. Click Start, and then click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell command prompt, type the following command:

    Copy Code
    Start-Service -Name SPUserCodeV4

  6. Repeat this procedure on every server on which you want to enable sandboxed solutions

See Also

Concepts

Sandboxed solutions overview (SharePoint Server 2010)
Plan sandboxed solutions (SharePoint Server 2010)
Configure load balancing for sandboxed solutions (SharePoint Server 2010)
Block or unblock a sandboxed solution (SharePoint Server 2010)
Configure sandboxed solutions service tiers (SharePoint Server 2010)
Configure resource points for sandboxed solutions (SharePoint Server 2010)


Configure load balancing for sandboxed solutions (SharePoint Server 2010)
See Also

A sandbox is a restricted execution environment that enables programs to access only certain resources and keeps problems that occur in the sandbox from affecting the rest of the server environment. Solutions that you deploy into a sandbox, which are known as sandboxed solutions, cannot use certain computer and network resources and cannot access content outside the site collection they are deployed in.

You can select one of two load-balancing schemes for sandboxed solutions. Based on the load-balancing scheme, Microsoft SharePoint Server 2010 determines which server to run the solution on. If load balancing is local, the solution runs on the same server that is servicing the request. If load balancing is remote, the server that the solution runs on is selected based on the server that most recently ran the solution (this is known as solution affinity). In either case, the server must be running the sandboxed solutions service. By default, SharePoint Server uses remote load balancing.

The more you isolate sandboxed solutions, the better your ability to protect the main part of your SharePoint Server 2010 site from code that might consume too many resources. You can increase isolation by using remote load balancing and by running the sandboxed solution service only on specific servers.

For more information about sandboxed solutions, see Sandboxed solutions overview (SharePoint Server 2010).

Configure load balancing

Load balancing directly affects the response time of sandboxed solutions. To change the load balancing scheme that is used in your farm, use the following procedure.

To configure load balancing by using Central Administration

  1. Verify that you have the following administrative credentials:

    • You must be a member of the Farm Administrators group on the computer that is running the SharePoint Central Administration Web site.

  2. On the home page of the Central Administration Web site, click System Settings.

  3. On the System Settings page, in the Farm Management section, click Manage user solutions.

  4. On the Sandboxed Solution Management page, in the Load Balancing section, select one of the following options:

    • All sandboxed code runs on the same machine as a request. This load-balancing scheme runs sandboxed code on the same server that handles the rest of the request.

    • Requests to run sandboxed code are routed by solution affinity. This load-balancing scheme selects the server on which to run sandboxed code based on solution affinity.

  5. Click OK.

See Also

Concepts

Sandboxed solutions overview (SharePoint Server 2010)
Plan sandboxed solutions (SharePoint Server 2010)
Block or unblock a sandboxed solution (SharePoint Server 2010)
Enable sandboxed solutions on the farm (SharePoint Server 2010)
Configure sandboxed solutions service tiers (SharePoint Server 2010)
Configure resource points for sandboxed solutions (SharePoint Server 2010)


Block or unblock a sandboxed solution (SharePoint Server 2010)
See Also

A sandbox is a restricted execution environment that enables programs to access only certain resources and keeps problems that occur in the sandbox from affecting the rest of the server environment. Solutions that you deploy into a sandbox, which are known as sandboxed solutions, cannot use certain computer and network resources and cannot access content outside the site collection they are deployed in.

A farm administrator can block a sandboxed solution. A solution that is blocked does not run. Each sandboxed solution is identified by a hash result of the solution code. If the solution code is changed and redeployed, it will be seen as a new sandboxed solution and will be allowed to run even if the original is still blocked.

For more information about sandboxed solutions, see Sandboxed solutions overview (SharePoint Server 2010).

In this article:

  • Block a sandboxed solution

  • Unblock a sandboxed solution

Block a sandboxed solution

You might need to block a sandboxed solution if it exceeds its typical resource usage or if it poses a security risk. To block a sandboxed solution, use the following procedure.

To block a sandboxed solution by using Central Administration

  1. Verify that you have the following administrative credentials:

    • You must be a member of the Farm Administrators group on the computer that is running the SharePoint Central Administration Web site.

  2. On the home page of the Central Administration Web site, click System Settings.

  3. On the System Settings page, in the Farm Management section, click Manage user solutions.

  4. On the Sandboxed Solution Management page, in the Solution Restrictions section, in the File box, either type the full path of the file that contains the solution to block or use the Browse button to browse for the file to block.

  5. Optionally, type a message in the Message box. This message will be displayed when a user tries to use the solution.

  6. Click Block.

    The solution is added to the list in the Blocked Solutions box.

  7. To block additional solutions, repeat steps 4 through 6.

  8. Click OK.

Unblock a sandboxed solution

If the situation that caused a sandboxed solution to be blocked has changed and you want to unblock the solution, use the following procedure.

To unblock a sandboxed solution by using Central Administration

  1. Verify that you have the following administrative credentials:

    • You must be a member of the Farm Administrators group on the computer that is running the SharePoint Central Administration Web site.

  2. On the home page of the Central Administration Web site, click System Settings.

  3. On the System Settings page, in the Farm Management section, click Manage user solutions.

  4. On the Sandboxed Solution Management page, in the Solution Restrictions section, in the Blocked Solutions box, select the solution to unblock, and then click Remove.

  5. To unblock additional solutions, repeat step 4.

  6. Click OK.

See Also

Concepts

Sandboxed solutions overview (SharePoint Server 2010)
Plan sandboxed solutions (SharePoint Server 2010)
Enable sandboxed solutions on the farm (SharePoint Server 2010)
Configure load balancing for sandboxed solutions (SharePoint Server 2010)
Configure sandboxed solutions service tiers (SharePoint Server 2010)
Configure resource points for sandboxed solutions (SharePoint Server 2010)


Configure sandboxed solutions service tiers (SharePoint Server 2010)
See Also

Published: June 9, 2011

Based on the average amount of resources per request that sandboxed solutions use, they can be grouped into tiers in the sandboxed solutions service. A tier consists of one or more worker processes that contain one or more application domains in which sandboxed solutions run. By default, all solutions run in the sandboxed solutions service in one tier. You can configure additional tiers within the sandboxed solutions service to separate sandboxed solutions for performance, security, and reliability. For more information about tiers, see Sandboxed solutions overview (SharePoint Server 2010) and Sandbox Tiers (http://go.microsoft.com/fwlink/p/?LinkId=217145). For information about how to plan for tiers, see Plan sandboxed solutions (SharePoint Server 2010).

The sandboxed solutions service provides the environment for sandboxed solutions to run on your Microsoft SharePoint Server 2010 farm. You can use the SharePoint Central Administration Web site to start and stop the service, but you must use Windows PowerShell to configure tiers and most other features of the service.

In this article:

  • Configure sandboxed solutions service tiers

  • Display the sandboxed solutions service configuration settings

  • Restart the sandboxed solutions service

Configure sandboxed solutions service tiers

You can use this procedure to configure tiers for the sandboxed solutions service and to configure the worker processes, application domains, and other properties for each tier. You can use the code sample in this procedure as a stand-alone script, or you can combine it with the sample scripts in the other procedures in this article to configure the tiers and their properties, display the settings, and restart the service. For more information about the properties for tiers, see Using Execution Tiers to Protect Well-Behaved Sandboxed Solutions(http://go.microsoft.com/fwlink/p/?LinkID=220258).

To configure tiers

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. Copy the following code and paste it into a text editor, such as Notepad:

    Copy Code
    #Initialize the SPUserCodeService variable
$uc=[Microsoft.SharePoint.Administration.SPUserCodeService]::local

#Delete any existing default tiers first
foreach($tier in $uc.Tiers)
{
     $tier.Delete()
}
$uc.Tiers.Add("Tier1")
$uc.Tiers["Tier1"].MaximumWorkerProcesses = 5
$uc.Tiers["Tier1"].MaximumConnectionsPerProcess = 10
$uc.Tiers["Tier1"].MaximumAppDomainsPerProcess = 10
$uc.Tiers["Tier1"].PriorityPerProcess = [int] ([System.Diagnostics.ProcessPriorityClass]::Normal)
$uc.Tiers["Tier1"].ResourceMaxValue = 0.1
$uc.Tiers["Tier1"].Update()

$uc.Tiers.Add("Tier2")
$uc.Tiers["Tier2"].MaximumWorkerProcesses = 5
$uc.Tiers["Tier2"].MaximumConnectionsPerProcess = 10
$uc.Tiers["Tier2"].MaximumAppDomainsPerProcess = 10
$uc.Tiers["Tier1"].PriorityPerProcess = [int] ([System.Diagnostics.ProcessPriorityClass]::BelowNormal)
$uc.Tiers["Tier2"].ResourceMaxValue = 10
$uc.Tiers["Tier2"].Update()

  3. Save the file, naming it ConfigureTiers.ps1.

  4. On the Start menu, click All Programs.

  5. Click Microsoft SharePoint 2010 Products.

  6. Click SharePoint 2010 Management Shell.

  7. Change to the directory where you saved the file.

  8. At the Windows PowerShell command prompt, type the following command:

    Copy Code
    ./ConfigureTiers.ps1

  9. Restart the SharePoint 2010 User Code Host service on the server.

Display the sandboxed solutions service configuration settings

You can use this procedure to display the tiers that have been configured for the sandboxed solutions service and to display the worker processes, application domains and other properties that are currently configured for each tier. You can append this script to the script in the previous procedure, or you can use it as a stand-alone script.

To display the existing configuration

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. Copy the following code and paste it into a text editor, such as Notepad:

    Copy Code
    #Loop through and show the user what exactly has been created

$uc=[Microsoft.SharePoint.Administration.SPUserCodeService]::Local

Write-Host "The following tiers have been created"
Write-Host "***********************************************************"

foreach($tier in $uc.Tiers)
{
     Write-Host "Tier Name: $($tier.Name)"
     Write-Host "Tier MaximumWorkerProcess: $($tier.MaximumWorkerProcesses)"
     Write-Host "Tier MaximumConnectionsPerProcess: $($tier.MaximumConnectionsPerProcess)"
     Write-Host "Tier MaximumAppDomainsPerProcess: $($tier.MaximumAppDomainsPerProcess)"
     Write-Host "Tier PriorityPerProcess: $($tier.PriorityPerProcess)"
     Write-Host "Tier ResourceMaxValue: $($tier.ResourceMaxValue)"

     Write-Host "***********************************************************"
}

  3. Save the file, naming it DisplayTiers.ps1.

  4. On the Start menu, click All Programs.

  5. Click Microsoft SharePoint 2010 Products.

  6. Click SharePoint 2010 Management Shell.

  7. Change to the directory where you saved the file.

  8. At the Windows PowerShell command prompt, type the following command:

    Copy Code
    ./DisplayTiers.ps1

Restart the sandboxed solutions service

Many of the changes that you can make to the configuration of the sandboxed solutions service take effect only after the service is restarted. This procedure creates a script that you can use to restart the sandboxed solutions service. You can append this script to other configuration scripts to automatically restart the service whenever you change its configuration.

To restart the sandboxed solutions service by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. Copy the following code and paste it into a text editor, such as Notepad:

    Copy Code
    #Recycle the UserCode Service
$server = [Microsoft.Sharepoint.Administration.SPServer]::local

$userCodeServiceInstance
$getChildMethod
$type = $server.GetType()

foreach($method in $type.GetMethods())
{
     if( $method.Name -eq "GetChild")
     {
          $getChildMethod = $method
     }
}

$genericMethod = $getChildMethod.MakeGenericMethod([microsoft.sharepoint.administration.spusercodeserviceinstance])
$userCodeServiceInstance = $genericMethod.Invoke($server, $null)
$userCodeServiceInstance.Provision()

  3. Save the file, naming it RestartService.ps1.

  4. On the Start menu, click All Programs.

  5. Click Microsoft SharePoint 2010 Products.

  6. Click SharePoint 2010 Management Shell.

  7. Change to the directory where you saved the file.

  8. At the Windows PowerShell command prompt, type the following command:

    Copy Code
    ./RestartService.ps1

See Also

Concepts

Sandboxed solutions overview (SharePoint Server 2010)
Plan sandboxed solutions (SharePoint Server 2010)
Enable sandboxed solutions on the farm (SharePoint Server 2010)
Block or unblock a sandboxed solution (SharePoint Server 2010)
Configure load balancing for sandboxed solutions (SharePoint Server 2010)
Configure resource points for sandboxed solutions (SharePoint Server 2010)


Configure resource points for sandboxed solutions (SharePoint Server 2010)
See Also

Published: June 9, 2011

To restrict the resources that your sandboxed solutions consume, you define resource points. Resource points correspond to specific levels of resource usage that you can define for up to 15 system resources that you want to monitor. Each of these resource measures accumulates points based on a single sandboxed solution's use of that resource, and those points are aggregated toward a quota that has been set for the whole site collection. If the number of accrued resource points exceeds the quota set for the site collection, all sandboxed solutions in the site collection are stopped. For a list of the individual resource measures and the minimum threshold, absolute limit, and resources per point for each resource, see Resource Usage Limits on Sandboxed Solutions in SharePoint 2010 (http://go.microsoft.com/fwlink/p/?LinkId=217149).

Quotas are managed through the SharePoint Central Administration Web site as a single number that controls the aggregate total of the resource points allowed per day for all sandboxed solutions in a site collection. For more information about quotas, see Sandboxed solutions overview (SharePoint Server 2010). For information about how to set the maximum resource quota for a site collection, see Change the storage limits for a site collection in Manage site collection storage limits (SharePoint Server 2010).

You can fine-tune the resource point distribution by using Windows PowerShell, as described in this article. When these Windows PowerShell commands are added to a script, you can configure the individual resource point distribution within the sandboxed solution quota for a site collection. For more information about quotas and resource points, see Sandboxed solutions overview (SharePoint Server 2010).

In this article:

  • Display resource point allocations for sandboxed solutions

  • Configure resource points for sandboxed solutions

Note:

To perform the following procedures, you must be logged on to the server that hosts the site collection that you are modifying. The sandboxed solutions service must be running on this server.

Display resource point allocations for sandboxed solutions

The following procedure enables you to display the current resource point allocations for sandboxed solutions on the current SharePoint Server server. You can use Windows PowerShell commands to display the current resource point allocation in a script that alters the point distribution, and you can also use these commands to verify the current allocation.

To display resource point allocations for sandboxed solutions

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin. You must be a member of the farm administrators group.

  2. Copy the following code and paste it into a text editor, such as Notepad:

    Copy Code
    $uc=[Microsoft.SharePoint.Administration.SPUserCodeService]::Local
$uc.ResourceMeasures | Select-Object Name,ResourcesPerPoint,AbsoluteLimit

  3. Save the file, naming it DisplayQuotas.ps1.

  4. On the Start menu, click All Programs.

  5. Click Microsoft SharePoint 2010 Products.

  6. Click SharePoint 2010 Management Shell.

  7. Change to the directory where you saved the file.

  8. At the Windows PowerShell command prompt, type the following command:

    Copy Code
    ./DisplayQuotas.ps1

Configure resource points for sandboxed solutions

You can use Windows PowerShell to modify the distribution of sandboxed solution resource points to fine-tune resource usage for specific SharePoint Server site collections.

To configure specific resource points

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. Copy the following code and paste it into a text editor, such as Notepad:

    Copy Code
    $uc=[Microsoft.SharePoint.Administration.SPUserCodeService]::Local
$uc.ResourceMeasures["CPUExecutionTime"].AbsoluteLimit = <LimitValue>
$uc.ResourceMeasures["CPUExecutionTime"].ResourcesPerPoint = <PointValue>
$uc.ResourceMeasures["CPUExecutionTime"].Update()
$uc.Update()

    Where:

    • <LimitValue> is the new maximum limit value.

    • <PointValue> is the new number of resources per resource point.

  3. Save the file, naming it ConfigurePoints.ps1.

  4. On the Start menu, click All Programs.

  5. Click Microsoft SharePoint 2010 Products.

  6. Click SharePoint 2010 Management Shell.

  7. Change to the directory where you saved the file.

  8. At the Windows PowerShell command prompt, type the following command:

    Copy Code
    ./ConfigurePoints.ps1

See Also

Concepts

Sandboxed solutions overview (SharePoint Server 2010)
Plan sandboxed solutions (SharePoint Server 2010)
Enable sandboxed solutions on the farm (SharePoint Server 2010)
Block or unblock a sandboxed solution (SharePoint Server 2010)
Configure load balancing for sandboxed solutions (SharePoint Server 2010)
Configure sandboxed solutions service tiers (SharePoint Server 2010)


Enterprise search administration (SharePoint Server 2010)
See Also

Enterprise search management includes the following tasks:

  • Configure enterprise search (SharePoint Server 2010)

  • Manage farm-level search settings (SharePoint Server 2010)

  • Manage Search service applications (SharePoint Server 2010)

  • Manage crawling (SharePoint Server 2010)

  • Manage queries and results (SharePoint Server 2010)

  • Manage metadata properties for search (SharePoint Server 2010)

  • Manage people search (SharePoint Server 2010)

  • Monitor search (SharePoint Server 2010)

  • Manage settings to improve search results (SharePoint Server 2010)

See Also

Other Resources

Resource Center: Operations and Manageability for SharePoint Server 2010


Manage farm-level search settings (SharePoint Server 2010)

Managing farm-level search settings includes the following tasks:

  • Configure farm-level proxy server settings (SharePoint Server 2010)

  • Configure search time-out settings (SharePoint Server 2010)

  • Configure SSL certificate warning settings (SharePoint Server 2010)


Configure farm-level proxy server settings (SharePoint Server 2010)

You must configure proxy server settings if a crawler must use a proxy server to crawl content. This is often the case when crawling Internet content.

To configure farm-level proxy server settings

  1. Verify that the user account that is performing this procedure is an administrator for the search service application.

  2. In Central Administration, in the Quick Launch, click General Application Settings.

  3. On the General Application Settings page, in the Search section, click Farm Search Administration.

  4. On the Farm Search Administration page, in the Farm-Level Search Settings section, click the value of the Proxy server setting.

  5. In the Search Proxy Setting dialog box, select Do not connect by using a proxy server if you do not want the crawler to use a proxy server. Select Use the proxy server specified if you want the crawler to use a proxy server when crawling content. If you select this option, configure the following options:

    • In the Address box, type the URL of the proxy server.

    • In the Port box, if the proxy server is not using the default port, type the port number that the proxy server is using.

    • If you do not want the crawler to use the proxy server when crawling within the intranet, select the Bypass proxy server for local (intranet) addresses check box.

    • In the Do not use proxy server for addresses beginning with box, type the URLs that the crawler can access without going through the proxy server. Separate the addresses with semi-colons.

    • Select the Use these proxy settings for access to federated sites check box if you want the search system to go through the proxy server when querying external content repositories.

  6. Click OK.


Configure search time-out settings (SharePoint Server 2010)

You can configure time-out settings that the search system will use before attempting to connect to a content repository or respond to a connection attempt.

To configure search time-out settings

  1. Verify that the user account that is performing this procedure is an administrator for the search service application.

  2. In Central Administration, in the Quick Launch, click General Application Settings.

  3. On the General Application Settings page, in the Search section, click Farm Search Administration.

  4. On the Farm Search Administration page, in the Farm-Level Search Settings section, click the value of the Time-out (seconds) setting.

  5. In the Search Time-out Setting dialog box, in the Connection time (in seconds) box, type the number of seconds that you want the search system to wait when attempting to connect to a content repository.

  6. In the Request acknowledgement time (in seconds) box, type the number of seconds that you want the search system to wait for a content repository to respond to a connection attempt.

  7. Click OK.


Configure SSL certificate warning settings (SharePoint Server 2010)

You can configure whether or not a crawler will crawl a site's content if the site name does not match the site name in the site's Secure Sockets Layer (SSL) certificate.

To configure SSL certificate warning settings

  1. Verify that the user account that is performing this procedure is an administrator for the Search service application.

  2. In Central Administration, in the Quick Launch, click General Application Settings.

  3. On the General Application Settings page, in the Search section, click Farm Search Administration.

  4. On the Farm Search Administration page, in the Farm-Level Search Settings section, click the value of the Ignore SSL Warnings setting.

  5. In the Search SSL Settings dialog box, select the Ignore SSL certificate name warnings check box if you want the crawler to proceed to crawl content even if the site name and the name in the SSL certificate do not match.

  6. Click OK.


Manage Search service applications (SharePoint Server 2010)

Published: December 2, 2010

Managing Search service applications includes the following tasks:

  • Create and configure a new Search service application (SharePoint Server 2010). Create a Search service application as part of a new deployment of Microsoft SharePoint Server 2010 or as needed.

  • Change the default content access account (SharePoint Server 2010). Change the account that the crawler uses.

  • Change the contact e-mail address (SharePoint Server 2010). Specify the e-mail address to use when content owners need to contact an administrator if crawl errors or performance issues occur.

  • Configure proxy server settings for search (SharePoint Server 2010). Specify proxy server settings if you are using a proxy server when crawling content on another server.

  • Configure enterprise search (SharePoint Server 2010). Configure basic search functionality to enable end-users to get search results, enable search reports, and enable people search.


Change the default content access account (SharePoint Server 2010)

The default content access account is used to crawl all content. Any content that a content source specifies to which the default content access account does not have access requires a separate crawl rule. To limit the number of crawl rules, use a default content access account that has access to as many content sources as possible.

Changing the default content access account

Use the following procedure to change the default content access account.

To change the default content access account

  1. Verify that the user account that is performing this procedure is a service application administrator for the Search service application for which you want to change the default content access account.

  2. On the SharePoint 2010 Central Administration Web site, in the Application Management section, click Manage service applications.

  3. On the Manage Service Applications page, click the Search service application for which you want to change the default content access account.

  4. On the Search Service Application: Search Administration page, in the System Status section, locate the default content access account, which is in the form Domain\UserName.

  5. Click the default content access account name. The Default Content Access Account dialog box appears.

  6. Type the new domain user account information into the Account box and the password into the Password box, and then click OK.

The Search Service Application: Search Administration page refreshes and the new default content access account item is displayed.


Change the contact e-mail address (SharePoint Server 2010)

Before you crawl any content, you should first specify a contact e-mail address that will help content owners to contact an administrator if crawl errors or performance issues occur. The contact e-mail address is included in the header information that the search system sends during crawl requests.

Configure the contact e-mail address

Use this procedure to configure the contact e-mail address.

To configure the contact e-mail address

  1. Verify that the user account that is performing this procedure is a service application administrator for the Search service application.

  2. On the SharePoint 2010 Central Administration Web site, in the Application Management section, click Manage service applications.

  3. On the Manage Service Applications page, click the Search service application for which you want to configure a contact e-mail address.

  4. On the Search Service Application: Search Administration page, locate Contact e-mail address. The contact e-mail address is in the form UserName@Domain.com.

  5. Click the UserName@Domain.com text. The Search Email Setting dialog box opens.

  6. Type the new e-mail address that you want to use in the E-mail Address box.

  7. Click OK.

The Search Administration page refreshes and the new e-mail address is displayed.


Configure proxy server settings for search (SharePoint Server 2010)

Search administrators can configure crawler proxy server settings for search.

Configuring the crawler proxy server settings

Use this procedure to configure the proxy server settings. This procedure assumes that you want to use a proxy server when crawling content on a different server.

To configure the crawler proxy server settings

  1. Verify that the user account that is performing this procedure is a service application administrator for the Search service application.

  2. On the SharePoint 2010 Central Administration Web site, in the Application Management section, click Manage service applications.

  3. On the Manage Service Applications page, click the Search service application for which you want to configure a proxy server.

  4. On the Search Service Application: Search Administration page, in the System Status section, locate the Proxy server item. The default setting for the Proxy server item is None.

  5. Click None. The Search Proxy Setting dialog box opens.

  6. In the Search Proxy Setting dialog box, click Use the proxy server specified, and then do the following:

    • In the Address box, type the NetBIOS name or the IP address of the proxy server.

    • In the Port box, type the port to use for this proxy server.

    • To bypass this proxy server when crawling local addresses, select the Bypass proxy server for local (intranet) addresses check box.

    • To specify addresses to bypass the proxy server when crawling, type the addresses separated by semicolons in the Do not use proxy server for addresses beginning with: box.

    • To specify that the listed settings are used for connection to federated sites, select the Use these proxy settings for federated sites box.

  7. Click OK.


Manage crawling (SharePoint Server 2010)

To view a video that illustrates the sequence of events that occurs when you initiate a full crawl, see Full crawl sequence demo (SharePoint Server 2010).

You can perform the following procedures to manage crawling:

  • Manage crawl load (SharePoint Server 2010). Describes how to configure the search system to help prevent or resolve performance issues in which a SharePoint farm is accessed at the same time by users and the crawler.

  • Add, edit, or delete a content source (SharePoint Server 2010). Describes how to create a content source so that the search system can crawl content, and how to change or delete a content source.

  • Manage crawl rules (SharePoint Server 2010). Describes how to add crawl rules to include or exclude specific paths when you crawl content and how to specify the authorization credentials that are required to crawl that content. Also describes how to test, delete, or reorder existing crawl rules.

  • Start, pause, resume, or stop a crawl (SharePoint Server 2010). Describes how to manually start, pause, resume, or stop a crawl.

  • Add a file type to the content index (SharePoint Server 2010). Describes how to add a file type to the list of file types that are crawled.

  • Delete a file type from the content index (SharePoint Server 2010). Describes how to delete a file type from the content index so that files of that type are no longer crawled and no longer appear in the content index.

  • Reset the content index (SharePoint Server 2010). Describes how and when to reset the content index, and what to do after you reset it.

  • Install connectors (SharePoint Server 2010). Lists the default connector protocols and gives overviews of the Exchange connector, Lotus Notes connector, and Documentum connector.

    • Configure and use the Exchange connector (SharePoint Server 2010). Describes how to create a crawl rule and add a content source for crawling Microsoft Exchange Server public folders.

    • Configure and use the Lotus Notes connector (SharePoint Server 2010). Describes how to configure the Lotus Notes connector.

    • Configure and use the Documentum connector (SharePoint Server 2010). Describes how to download and configure the Indexing Connector for Documentum.

  • Manage deletion of index items (SharePoint Server 2010). Describes how to prevent accidental deletion of content from the index when the crawler encounters errors during a full crawl or an incremental crawl.

  • Best practices for using crawl logs (SharePoint Server 2010). Describes how to use the crawl log to diagnose problems with the search experience.

  • Use search administration reports (SharePoint Server 2010). Describes how to use search administration reports to determine the health of search service applications.


Full crawl sequence demo (SharePoint Server 2010)
See Also

This demonstration illustrates the sequence of events that occurs when you initiate a full crawl. The video shows the following events:

  • Replication of content source data to the search registry hive on each crawl server

  • Crawling of Web sites and SharePoint site structures

  • Processing by the content processing pipeline, including word breakers, IFilters, and indexing

  • Replication of the index to query servers

The scenario depicted assumes a single crawl database and a single index partition.

Full Crawl Demo Screenshot

Running time: 4:06

Play video Watch the "Full crawl sequence" video.

Download video For an optimal viewing experience, download the "Full crawl sequence" video.

Right-click the link, and then click Save Target As to download a copy. Clicking the link will open a .wmv file in the default video viewer for full-resolution viewing.

See Also

Concepts

Video demos and training for SharePoint Server 2010


Manage crawl load (SharePoint Server 2010)

Published: November 1, 2011

Summary: Reduce crawler impact on a SharePoint farm by directing traffic to a dedicated Web server and by using Resource Governor to limit CPU usage.

Microsoft SharePoint Server 2010 supports dedicated crawl load management. Crawling is a resource-intensive process that can overload a SharePoint farm. You can manage the search system by scheduling crawls to occur at times when the farm is not being heavily used, and also by configuring the system to crawl as described in this article. Crawl load management can help resolve and prevent performance issues in which a SharePoint farm is accessed at the same time by users and the crawler. This is most often seen in large environments, environments that have large volumes of user requests, and where frequent crawls occur.

By default, the SharePoint Server 2010 crawler crawls all available Web front-end computers in a SharePoint farm through the network load balancer in that farm. Therefore, when a crawl is occurring, the crawler can cause increased network traffic, increased usage of hard disk and processor resources on Web front-end computers, and increased usage of resources on database servers. Putting this additional load on all Web front-end computers at the same time can decrease performance across the SharePoint farm.

This decrease in performance occurs only on the SharePoint farm that is serving user requests, and not on the SharePoint search farm. This decreased performance can cause delayed response times on the Web front-end computers and delayed response times for the overall farm. The decreased performance might not be diagnosed by specific logs, resource counters, or standard monitoring.

You can reduce the effect of crawling on SharePoint performance by doing the following:

  1. Redirect all crawl traffic to a single SharePoint Web front-end computer in a small environment or a specific group of computers in a large environment. This prevents the crawler from using the same resources that are being used to render and serve Web pages and content to active users.

  2. Limit search database usage in Microsoft SQL Server 2008 R2, SQL Server 2008 with Service Pack 1 (SP1) and Cumulative Update 2, and SQL Server 2005 with SP3 and Cumulative Update 3 to prevent the crawler from using shared SQL Server 2008 R2, SQL Server 2008 with SP1 and Cumulative Update 2, and SQL Server 2005 with SP3 and Cumulative Update 3 disk and processor resources during a crawl.

In Microsoft Office SharePoint Server 2007, you could use Central Administration to redirect crawler traffic to a dedicated Web front-end server. However, in Microsoft SharePoint Server 2010, you must use Windows PowerShell to redirect crawler traffic.

Redirect crawler traffic to a dedicated Web front-end server

This procedure redirects crawler traffic to a dedicated Web front-end server. Before performing this procedure, make sure that the server is removed from network load balancing.

Important:

The dedicated Web front-end computer must be online for successful crawls to occur. If the dedicated Web front-end server goes offline, crawling is not automatically re-directed to another computer, and it will fail after 10 minutes. To prevent this, you can configure multiple dedicated Web front-end computers as crawl targets.

To configure a dedicated Web front-end server to be a crawl target

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin. Also verify that the user account that is performing this procedure is a member of the Farm Administrators group.

  2. At the Windows PowerShell command prompt, run the script in the following example:

    Copy Code
    $listOfUri = new-object System.Collections.Generic.List[System.Uri](1)
$zoneUrl = [Microsoft.SharePoint.Administration.SPUrlZone]'Default'
$webAppUrl = "<Default Zone FQDN URL>"
$webApp = Get-SPWebApplication -Identity $webAppUrl
$webApp.SiteDataServers.Remove($zoneUrl)   ## By default this has no items to remove
$URLOfDedicatedMachine = New-Object System.Uri("<Dedicated crawl target URL>")
$listOfUri.Add($URLOfDedicatedMachine);
$webApp.SiteDataServers.Add($zoneUrl, $listOfUri);
$WebApp.Update()

  3. Verify that the Web front-end server is configured for crawling by running the following script at the Windows PowerShell command prompt:

    Copy Code
    $WebApplication=Get-SPWebApplication <Web application URL>
$WebApplication | fl SiteDataServers

    If this returns any values, the Web application uses a dedicated Web front-end server.

  4. When a Web front-end server is dedicated for search crawls, you can remove the throttling configuration that would otherwise limit the load the server accepts from requests and services. You can remove throttling from a server by running the following script at the Windows PowerShell command prompt:

    Copy Code
    $svc=[Microsoft.SharePoint.Administration.SPWebServiceInstance]::LocalContent;
$svc.DisableLocalHttpThrottling=$true;
$svc.Update();

To reset a dedicated Web front-end server

  1. If you have to roll back this change so that all Web front-end servers are crawled, you can run the following script at the Windows PowerShell command prompt:

    Copy Code
    $zoneUrl = [Microsoft.SharePoint.Administration.SPUrlZone]'Default'
$webAppUrl = "<Your Default Zone FQDN URL>"
$webApp = Get-SPWebApplication -Identity $webAppUrl
$webApp.SiteDataServers.Remove($zoneUrl);
$WebApp.Update()

Limit search database usage with Resource Governor

Resource Governor is a technology introduced in SQL Server 2008 that enables you to manage SQL Server workloads and resources by specifying limits on resource consumption by incoming requests. Resource Governor enables you to differentiate workloads and allocate CPU and memory as they are requested, based on the limits that you specify. It is available only in SQL Server 2008 or SQL Server 2008 R2 Enterprise edition. For more information about using Resource Governor, see Managing SQL Server Workloads with Resource Governor (http://go.microsoft.com/fwlink/p/?linkid=129385).

We recommend that you use Resource Governor with SharePoint Server 2010 to do the following:

  • Limit the amount of SQL Server resources that the Web servers targeted by the search crawl component consume. As a best practice, we recommend limiting the crawl component to 10 percent CPU when the system is under load. For more information, see the procedure To configure Resource Governor for limiting CPU usage (Transact-SQL) in How to: Use Resource Governor to Limit CPU Usage by Backup Compression (Transact-SQL).

  • Monitor how many resources are consumed by each database in the system — for example, you can use Resource Governor to help you determine the best placement of databases among computers that are running SQL Server. For more information, see Storage and SQL Server capacity planning and configuration (SharePoint Server 2010).


Add, edit, or delete a content source (SharePoint Server 2010)

Summary: Learn how to create a content source to specify what type of content to crawl, crawl schedules, starting URLs, and content source priority.

A content source is a set of options that you can use to specify what type of content is crawled, what URLs to crawl, and how deep and when to crawl.

You must create at least one content source before a crawl can occur. After you create a content source, you can edit or delete it at any time.

Create, edit, or delete a content source

To get to the Manage Content Sources page

  1. Verify that the user account that is performing this procedure is a service application administrator for the Search service application.

  2. On the Home page of the SharePoint Central Administration Web site, in the Application Management section, click Manage service applications.

  3. On the Manage Service Applications page, click Search Service Application.

  4. On the Search Administration Page, in the Crawling section, click Content Sources.

To create a content source

  1. On the Manage Content Sources page, click New Content Source.

  2. On the Add Content Source page, in the Name section, in the Name box, type a name for the new content source.

  3. In the Content Source Type section, select the type of content that you want to crawl.

  4. In the Start Addresses section, in the Type start addresses below (one per line) box, type the URLs from which the crawler should begin crawling.

  5. In the Crawl Settings section, select the crawling behavior that you want.

  6. In the Crawl Schedules section, to specify a schedule for full crawls, select a defined schedule from the Full Crawl list. A full crawl crawls all content that is specified by the content source, regardless of whether the content has changed. To define a full crawl schedule, click Create schedule.

  7. To specify a schedule for incremental crawls, select a defined schedule from the Incremental Crawl list. An incremental crawl crawls content that is specified by the content source that has changed since the last crawl. To define a schedule, click Create schedule.You can change a defined schedule by clicking Edit schedule.

  8. To prioritize this content source, in the Content Source Priority section, on the Priority list, select Normal or High.

  9. To immediately begin a full crawl, in the Start Full Crawl section, select the Start full crawl of this content source check box, and then click OK.

To edit a content source

  1. You can edit a content source to change the schedule on which the content is crawled, the crawl start addresses, the content source priority, or the name of the crawl. Crawl settings and content type cannot be changed when editing a content source.

  2. On the Manage Content Sources page, in the list of content sources, point to the name of the content source that you want to edit, click the arrow that appears, and then click Edit.

  3. After you have made the changes that you want, select the Start full crawl of this content source check box, and then click OK.

Delete a content source

  1. On the Manage Content Sources page, in the list of content sources, point to the name of the content source that you want to delete, click the arrow that appears, and then click Delete.

  2. Click OK to confirm that you want to delete this content source.


Manage crawl rules (SharePoint Server 2010)
See Also

Summary: Learn how to specify a content access account, create crawl rules to include or exclude directories, and prioritize the order of crawl rules.

You can add a crawl rule to include or exclude specific paths when you crawl content. When you include a path, you can optionally provide alternative account credentials to crawl it. In addition to creating or editing crawl rules, you can test, delete, or reorder existing crawl rules.

Use crawl rules to perform the following:

  • Prevent content on a site from being crawled. For example, if you created a content source to crawl http://www.contoso.com, but you do not want the search system to crawl content from the subdirectory http://www.contoso.com/downloads, create a crawl rule to exclude content from that subdirectory.

  • Crawl content on a site that would be excluded otherwise. For example, if you excluded content from http://www.contoso.com/downloads from being crawled, but you want content in the subdirectory http://www.contoso.com/downloads/content to be crawled, create a crawl rule to include content from that subdirectory.

  • Specify authentication credentials. If a site to be crawled requires different credentials than those of the default content access account, create a crawl rule to specify the authentication credentials.

You can use the asterisk (*) as a wildcard character in crawl rules. For example, to exclude JPEG files from crawls on http://www.contoso.com, create a crawl rule to exclude http://www.contoso.com/*.jpg.

Rule order is important, because the first rule that matches a particular set of content is the one that is applied.

In this article:

  • To create or edit a crawl rule

  • To test a crawl rule on a URL

  • To delete a crawl rule

  • To reorder crawl rules

To create or edit a crawl rule

  1. Verify that the user account that is performing this procedure is a service application administrator for the Search service application.

  2. In Central Administration, in the Application Management section, click Manage Service Applications.

  3. On the Manage Service Applications page, in the list of service applications, click Search Service Application.

  4. On the Search Administration page, in the Quick Launch, click Crawl Rules. The Manage Crawl Rules page appears.

  5. To create a new crawl rule, click New Crawl Rule. To edit an existing crawl rule, in the list of crawl rules, point to the name of the crawl rule that you want to edit, click the arrow that appears, and then click Edit.

  6. On the Add Crawl Rule page, in the Path section:

    • In the Path box, type the path to which the crawl rule will apply. You can use standard wildcard characters in the path.

    • Select the Follow regular expression syntax when matching this rule check box to use regular expressions instead of wildcard characters.

    • Select the Match case check box if you want the capitalization in the provided path to exactly match the capitalization of the actual path.

  7. In the Crawl Configuration section, select one of the following options:

    • Exclude all items in this path. Select this option if you want to exclude all items in the specified path from crawls. If you select this option, you can refine the exclusion by selecting the following:

      • Exclude complex URLs (URLs that contain question marks (?)). Select this option if you want to exclude URLs that contain parameters that use the question mark (?) notation.

    • Include all items in this path. Select this option if you want all items in the path to be crawled. If you select this option, you can further refine the inclusion by selecting any combination of the following:

      • Follow links on the URL without crawling the URL itself. Select this option if you want to crawl links contained within the URL, but not the starting URL itself.

      • Crawl complex URLs (URLs that contain a question mark (?)). Select this option if you want to crawl URLs that contain parameters that use the question mark (?) notation.

      • Crawl SharePoint content as HTTP pages. Normally, SharePoint sites are crawled by using a special protocol. Select this option if you want SharePoint sites to be crawled as HTTP pages instead. When the content is crawled by using the HTTP protocol, item permissions are not stored.

  8. In the Specify Authentication section, perform one of the following actions:

    Note:

    This option is not available unless the Include all items in this path option is selected in the Crawl Configuration section.

    • To use the default content access account, select Use the default content access account.

    • If you want to use a different account, select Specify a different content access account and then perform the following actions:

      1. In the Account box, type the user account name that can access the paths that are defined in this crawl rule.

      2. In the Password and Confirm Password boxes, type the password for this user account.

      3. To prevent basic authentication from being used, select the Do not allow Basic Authentication check box. The server attempts to use NTLM authentication. If NTLM authentication fails, the server attempts to use basic authentication unless the Do not allow Basic Authentication check box is selected.

    • To use a client certificate for authentication, select Specify client certificate, expand the Certificate menu, and then select a certificate.

    • To use form credentials for authentication, select Specify form credentials, type the form URL (the location of the page that accepts credentials information) in the Form URL box, and then click Enter Credentials. When the logon prompt from the remote server opens in a new window, type the form credentials with which you want to log on. You are prompted if the logon was successful. If the logon was successful, the credentials that are required for authentication are stored on the remote site.

    • To use cookies, select Use cookie for crawling, and then select either of the following options:

      • Obtain cookie from a URL. Select this option to obtain a cookie from a Web site or server.

      • Specify cookie for crawling. Select this option to import a cookie from your local file system or a file share. You can optionally specify error pages in the Error pages (semi-colon delimited) box.

  9. Click OK.

To test a crawl rule on a URL

  1. Verify that the user account that is performing this procedure is a service application administrator for the Search service application.

  2. In Central Administration, in the Application Management section, click Manage Service Applications.

  3. On the Manage Service Applications page, in the list of service applications, click Search Service Application.

  4. On the Search Administration page, in the Quick Launch, click Crawl Rules.

  5. On the Manage Crawl Rules page, in the Type a URL and then click test to find out whether it matches a rule box, type the URL that you want to test.

  6. Click Test. The result of the test appears below the Type a URL and then click test to find out whether it matches a rule box.

To delete a crawl rule

  1. Verify that the user account that is performing this procedure is a service application administrator for the Search service application.

  2. In Central Administration, in the Application Management section, click Manage Service Applications.

  3. On the Manage Service Applications page, in the list of service applications, click Search Service Application.

  4. On the Search Administration page, in the Quick Launch, click Crawl Rules.

  5. On the Manage Crawl Rules page, in the list of crawl rules, point to the name of the crawl rule that you want to delete, click the arrow that appears, and then click Delete.

  6. Click OK to confirm that you want to delete this crawl rule.

To reorder crawl rules

  1. Verify that the user account that is performing this procedure is a service application administrator for the Search service application.

  2. In Central Administration, in the Application Management section, click Manage Service Applications.

  3. On the Manage Service Applications page, in the list of service applications, click Search Service Application.

  4. On the Search Administration page, in the Quick Launch, click Crawl Rules.

  5. On the Manage Crawl Rules page, in the list of crawl rules, in the Order column, specify the crawl rule position that you want the rule to occupy. Other values shift accordingly.

See Also

Concepts

Plan for crawling and federation (SharePoint Server 2010)
Full crawl sequence demo (SharePoint Server 2010)
Add, edit, or delete a content source (SharePoint Server 2010)
Start, pause, resume, or stop a crawl (SharePoint Server 2010)
Add a file type to the content index (SharePoint Server 2010)
Delete a file type from the content index (SharePoint Server 2010)
Reset the content index (SharePoint Server 2010)
Install connectors (SharePoint Server 2010)
Manage deletion of index items (SharePoint Server 2010)


Start, pause, resume, or stop a crawl (SharePoint Server 2010)

When you perform a full crawl, all content specified by the content source is crawled even if the content already exists in the index. To perform a full crawl, you must crawl the content defined in a particular content source individually. Note that using the Start all crawls link on the Manage Content Sources page results in all content sources being crawled using an incremental crawl, unless the system detects that a full crawl is required.

To start, pause, resume, or stop a crawl of a content source

  1. Verify that the user account that is performing this procedure is a service application administrator for the Search service application.

  2. In Central Administration, in the Quick Launch, click Application Management.

  3. On the Application Management page, under Service Applications, click Manage service applications.

  4. On the Service Applications page, in the list of service applications, click the Search service application that you want.

  5. On the Search Administration page, in the Quick Launch, under Crawling, click Content Sources.

  6. On the Manage Content Sources page, in the list of content sources, point to the name of the content source that you want, click the arrow that appears, and then click one of the following menu items:

    • Start Full Crawl. The value in the Status column changes to Crawling Full for the selected content source. The value in the Status column does not automatically change when the crawl is complete. To update the Status column, refresh the Manage Content Sources page by clicking Refresh.

    • Start Incremental Crawl. The value in the Status column changes to Crawling Incremental for the selected content source. The value in the Status column does not automatically change when the crawl is complete. To update the Status column, refresh the Manage Content Sources page by clicking Refresh.

    • Resume Crawl. The value in the Status column changes back to Crawling Full or Crawling Incremental for the selected content source.

    • Pause Crawl. The value in the Status column changes to Paused for the selected content source.

    • Stop Crawl. You must click OK to confirm that you want to stop the crawl.


Add a file type to the content index (SharePoint Server 2010)

Summary: Learn how to specify a file type to include in the content index by adding it to the list of file types that are crawled.

To add a file type to the content index, you have to add it to the list of file types that are crawled. After you specify a new file type to include in the content index, you must perform a full crawl to ensure that content with the file name extension that is specified by the new file type is included in the content index.

Use the following procedure to add file types.

To add file types to the content index

  1. Verify that the user account that is performing this procedure is a service application administrator for the Search service application to which you want to add a file type to include in the content index.

  2. On the SharePoint Central Administration home page, in the Application Management section, click Manage service applications.

  3. On the Manage Search Applications page, click the Search service application to which you want to add the file type.

  4. On the Search Service Application: Search Administration page, in the Quick Launch, in the Crawling section, click File Types.

  5. On the Search Service Application: Manage File Types page, click New File Type.

  6. On the Search Service Application: Add File Type page, in the File extension text box, type the file name extension of the file type that you want to add.

  7. Click OK.

    The Search Service Application: Manage File Types page opens and the new file type is displayed in the File name extension list.

  8. Repeat the previous steps for each new file type that you want to add, and then perform a full crawl.


Delete a file type from the content index (SharePoint Server 2010)

Summary: Learn how to configure search so that specified file types are removed from the content index after the next full crawl.

To delete a file type from the content index, you have to remove it from the list of file types that are crawled. After you delete a file type and perform a full crawl, content that has the file name extension that is specified by the deleted file type is no longer in the content index. Therefore, after you delete a file type, you must perform a full crawl to ensure that all previous results returned from that file type are removed from the content index.

Use the following procedure to delete a file type from the content index.

To delete a file type from the content index

  1. Verify that the user account that is performing this procedure is a service application administrator for the Search service application for which you want to delete a file type from the content index.

  2. On the SharePoint Central Administration home page, in the Application Management section, click Manage service applications.

  3. On the Manage Search Applications page, click the Search service application for which you want to delete a file type from the content index.

  4. On the Search Service Application: Search Administration page, in the Quick Launch, in the Crawling section, click File Types.

  5. On the Search Service Application: Manage File Types page, point to the file name extension of the file type that you want to delete, click the arrow that appears, and then click Delete.

  6. In the confirmation dialog box that appears, click OK to confirm deletion of the file name extension. The Search Service Application: Manage File Types page refreshes, and the file name extension that you deleted is no longer in the list.


Reset the content index (SharePoint Server 2010)

You should reset the content index only when you plan to crawl content after you have created a new set of content sources. When you reset the content index, all search results are immediately removed. After you reset the content index, you must perform a full crawl to create a new content index so that a current results set is available to users.

Use the following procedure to reset the content index.

To reset the content index

  1. Verify that the user account that is performing this procedure is a service application administrator for the Search service application for which you want to reset the content index.

  2. On the SharePoint Central Administration home page, in the Application Management section, click Manage service applications.

  3. On the Manage Search Applications page, click the Search service application for which you want to reset the content index.

  4. On the Search Service Application: Search Administration page, in the Quick Launch, in the Crawling section, click Index Reset.

  5. On the Search Service Application: Index Reset page, verify that the Deactivate search alerts during reset check box is checked, and then click Reset Now.

  6. In the confirmation dialog box that appears, click OK to confirm the content index reset.

    The Search Service Application: Search Administration page opens and the System Status is displayed.

  7. Perform a full crawl.


Install connectors (SharePoint Server 2010)

Summary: Learn about default indexing connector protocols and how to install connectors for Exchange, Lotus Notes, and Documentum.

Microsoft SharePoint Server 2010 can crawl content by using the following indexing connector protocols:

  • bcs

  • bcs2

  • file

  • https

  • http

  • notes

  • rb

  • rbs

  • sps

  • sps3

  • sps3s

  • spss

  • sts

  • sts2

  • sts2s

  • sts3

  • sts3s

  • sts4

  • sts4s

For other types of content, a separate connector is required. SharePoint Server 2010 comes with two indexing connectors: Lotus Notes connector and Exchange connector. You can get other connectors from third-party vendors. If there is no connector for a protocol, you can create custom connectors by using Microsoft SharePoint Designer and Microsoft Visual Studio 2010.

Install connectors for Exchange, Lotus Notes, and Documentum

The following sections provide overviews for the Exchange and Lotus Notes connectors and the Indexing Connector for Documentum. The procedures for installing each of these connectors are linked to at the end of each overview section.

Exchange connector

The Exchange connector enables SharePoint Server 2010 to crawl Microsoft Exchange Server data. The Exchange connector comes installed as part of the default SharePoint Server 2010 installation and requires only configuration to use. For more information about how to configure the Exchange connector, see Configure and use the Exchange connector (SharePoint Server 2010).

Lotus Notes connector

The Lotus Notes connector enables SharePoint Server 2010 to crawl Lotus Notes Domino Server data. The Lotus Notes connector comes installed as part of the default SharePoint Server 2010 installation and requires only configuration to use. For more information about how to configure the Lotus Notes connector, see Configure and use the Lotus Notes connector (SharePoint Server 2010).

Indexing Connector for Documentum

The Indexing Connector for Documentum enables SharePoint Server 2010 to index content that is stored in the EMC Documentum system. The following article describes how to install and configure the Indexing Connector for Documentum: Configure and use the Documentum connector (SharePoint Server 2010).


Configure and use the Lotus Notes connector (SharePoint Server 2010)

Updated: April 2, 2013

This article describes the administrative roles, required software, user accounts, and processes that are required to install and operate the Lotus Notes Client and the Lotus Notes Connector to work with Microsoft SharePoint Server 2010 search.

Required administrative roles

The following administrative roles are required to prepare the crawl server to crawl Lotus Notes content that is hosted by one or more Lotus Domino databases:

  • Administrator of the Lotus Domino server that you want to crawl

  • Server administrator of the crawl server that you want to use to crawl Lotus Notes content

  • Service application administrator for the Search service application

Required software

The following software is required:

  • Lotus C++ API Toolkit for Notes.

  • Lotus Notes client application, available for purchase from IBM.

  • Lotus Notes Domino Server, available for purchase from IBM.

The following table shows combinations of versions of the Lotus Notes Domino server and Lotus Notes client that the Lotus Notes Connector will work with.

This server version | With client 5.5.x | With client 6.x | With client 7.x | With client 8.x
Server 5.5.x | YES | YES | NO | NO
Server 6.x | NO | YES | NO | NO
Server 7.x | NO | NO | YES | YES
Server 8.x | NO | NO | NO | YES

User accounts required to crawl Lotus Domino databases

A Domino administrator must grant a Lotus Notes user ID (which represents a Domino user) at least the Reader permission to the Lotus Domino databases and individual documents that you want to crawl. The Domino administrator must also add this Lotus Notes user ID and the Windows domain user account that is assigned to the SharePoint Server Search 14 service (OSearch14) to a mappings database on the Lotus Domino server that you want to crawl.

Note:

Only the user account that is assigned to the OSearch14 service can be used to crawl Lotus Domino databases. You cannot use the default content access account or a crawl rule to specify a different user account to crawl Lotus Domino databases.

The following table summarizes the user accounts that are required to crawl Lotus Domino databases.

Required account Comment Example

Windows domain user account

The user account that is assigned to the OSearch14 service must also be a member of the Administrators group on the crawl server.

Contoso\User1, where Contoso is the domain name and User1 is the name of the Windows domain user account.

Lotus Notes user ID

Must be granted at least Reader access on the Lotus Domino databases and on the individual documents that you want to crawl. The Domino certificate also contains this Lotus Notes user ID.

User2

Note:

The name of this account and its password do not have to match the Windows domain user account.

More information about this mappings table is provided later in this article.

Install the Lotus Notes client application

Use the following procedure to install the Lotus Notes client application on the crawl server in the server farm with which you want to crawl a Lotus Domino database. Note that this client application serves as a protocol handler and is used to configure the Notes.ini file. Both are used by the crawler when crawling Lotus Domino databases.

To install Lotus Notes

  1. Verify that the user account that is performing this procedure is a member of the Administrators group on the crawl server and has at least Manager permissions on the Domino server.

  2. Copy the Lotus Notes client application to the crawl server that you want to use to crawl Lotus Notes documents.

  3. Start the Lotus Notes Installation Wizard.

  4. In the Welcome to the Installation Wizard for Lotus Notes dialog box, click Next.

  5. On the License Agreement page, click I accept the terms in the license agreement, and then click Next to continue.

  6. On the Customer Information page, type a user name in the User Name box and the name of the organization in the Organization box, or accept the default settings, and then click Next.

  7. On the Installation Path Selection page, specify the path that you want to use for the program and data files, or accept the default installation paths, and then click Next.

    Note:

    By default, program files are stored in the <SystemDrive>:\Program Files\lotus\notes\ folder and data files are stored in the <SystemDrive>:\Program Files\lotus\notes\data\ folder, where <SystemDrive> is the drive on which Lotus Notes is installed.

  8. On the Custom Setup page, select the program features that you want to install on the local hard disk drive, and then click Next.

    The following table shows the features and sub-features that are required by the Lotus Notes connector.

    Feature Sub-feature

    Notes Client

    Client Help Files

    Domino Enterprise Connection Services (DECS)

    Domino Designer

    Designer Help

  9. On the Ready to Install the Program page, if you do not want Lotus Notes to be the default e-mail program, clear the selection Make Notes my default e-mail program.

  10. Click Install.

    The Installing Lotus Notes page shows the installation status.

  11. On the Install Wizard Completed page, click Finish.

Grant permissions on the data folder

Use the following procedure to grant Full Control permissions for the WSS_WPG group on the <SystemDrive>:\Program Files\Lotus\Notes\Data folder on the crawl server.

To Grant permissions on the data folder

  1. Verify that the user account that is performing this procedure is a member of the Administrators group on the crawl server and has at least Manager permissions on the Domino server.

  2. On the crawl server, click Start, point to All Programs, click Accessories, and then click Windows Explorer.

  3. In Windows Explorer, go to the <SystemDrive>:\Program Files\Lotus\Notes\Data folder, where <SystemDrive> is the drive on which Lotus Notes is installed.

  4. Right-click the Data folder, and then click Sharing and Security.

  5. In the Properties dialog box, on the Security tab, click Add.

  6. In the Select the object names to select box, do one of the following, and then click OK:

    • If search is installed on an Active Directory domain controller, type domain\WSS_WPG, where domain is the name of the domain that is associated with the domain controller.

    • If search is installed on a server that is not an Active Directory domain controller, type server\WSS_WPG, where server is the NetBIOS name of the crawl server.

  7. In the Properties dialog box, in the Permissions for WSS_WPG section, select the Allow box in the Full control row, and then click OK.

Configure the Lotus Notes client application

Use the following procedure to configure the Lotus Notes client application. Note that the configuration settings selected in this procedure are written to the Notes.ini file, which the crawler uses to discover how to connect to the Lotus Domino server.

To configure Lotus Notes

  1. Verify that the user account that is performing this procedure is a member of the Administrators group on the crawl server and has at least Manager permissions on the Domino server.

  2. On the crawl server, click Start, point to All Programs, point to Lotus Applications, and then click Lotus Notes.

  3. On the Welcome page, click Next.

  4. On the User Information page, type the user name associated with the Domino certificate in the Your name box.

  5. Type the hierarchical name of the Domino server that you want to crawl in the Domino server box — for example, Contoso/marketing/west.

  6. Ensure that I want to connect to a Domino server is selected, and then click Next.

  7. On the Notes ID File page, click Browse, and then locate where the certificate is stored. Select the certificate, click Open, and then click Next.

  8. Click Yes to copy the certificate to the specified location.

    Note:

    If you are not prompted for a Domino certificate, click Previous, and ensure that you have entered the correct information.

  9. If a dialog box appears that informs you that you are not authorized to access the specified directory, click OK to close the dialog box. Note that this error is expected if the account that you are logged on with does not have access to the mail folder on the Domino server.

  10. On the Instant Messaging Setup page, cancel the selection Setup instant messaging.

  11. Click Next.

  12. On the Additional Services page, click Next.

  13. In the Lotus Notes message box, click OK.

    The Lotus Notes Welcome screen appears.

    Leave the Lotus Notes client application open. You will need it for the next procedure.

Verify access to the Lotus Domino database that you want to crawl

Use the following procedure to verify that the certificate that you installed has access to the database that you want to crawl.

To verify access

  1. Verify that the user account that is performing this procedure is a member of the Administrators group on the crawl server and has at least Manager permissions on the Domino server.

  2. In Lotus Notes, click File, point to Database, and then click Open.

  3. In the Open Database dialog box, select the Lotus Domino server that you want to connect to from the Server list.

  4. In the Database list, select the database that you want to connect to, and then click Open.

    The documents that are contained by the database that you selected are displayed in the Document Name section. This means that the crawl server has the necessary permissions to crawl these documents.

  5. Repeat steps 1 through 3 for each additional database that you want to verify access to.

  6. On the File menu, click Exit Notes.

Configure security mappings

Use the information in the following table to help you perform the next procedure.

Item Comment

Mappings database name

Name of the Lotus Domino database that is used to map Lotus Notes user IDs to Windows domain user accounts

Lotus Notes field name

Name of the field in the Lotus Domino database file that is used to store Lotus Notes user IDs

Windows user field name

Name of the field in the Lotus Domino database file that is used to store Windows user names

Form name

Name of the form that stores the Lotus Notes field name and Windows user field name fields

View name

Name of the view for the form that stores the Lotus Notes user IDs to Windows user name mappings

Note:

This name is case-sensitive.

Create the mappings database

Use this procedure to create a mappings database by using Domino Designer. You need only one mappings database for each forest of Domino servers that contain databases that you want to crawl.

To create a mappings database

  1. Verify that the user account that is performing this procedure is a member of the Administrators group on the crawl server and has at least Manager permissions on the Domino server that you want to crawl.

  2. On the crawl server, open Domino Designer.

  3. Click File, point to Database, and then click New.

  4. In the New Database dialog box, do the following:

    1. Select the Domino server from the Server name list.

    2. In the Title box, type a title for the new database.

      This content automatically populates the File Name box, appended with the .nsf file name extension.

      Note that if the title that you chose is more than eight characters long, the file name will be truncated.

    3. Click OK to close the New Database dialog box.

  5. Click Create, point to Design, and then click Form.

  6. Click Create, and then click Field.

  7. In the Field dialog box, in the Name box, type the name that you want to use for this field. Note that this field will be used to store the Lotus Notes user IDs.

  8. Close the dialog box to save the field.

  9. Click Create, and then click Field.

  10. In the Field dialog box, in the Name box, type the name that you want to use for this field. Note that this field will be used to store the Windows domain user accounts.

  11. Close the dialog box to save the field.

  12. Click File, click Save, and then do the following:

    1. Type a name for this form in the Save Form as box.

    2. Click OK to close the dialog box.

  13. On the Create menu, point to Design, and then click View.

  14. In the Create View dialog box, do the following:

    1. Type a name for this view in the View name box.

    2. Select Shared from the View type list.

    3. Click OK to save the view.

  15. Open the view that you created in step 13.

  16. On the Objects tab, select the column that you created in step 10. In the lower right pane, select Field and then select the field that has the same name.

  17. On the Objects tab, select the column that you created in step 12. In the lower right pane, select Field and then select the field of the same name.

  18. Click File and then click Save to save the view, and then close Domino Designer.

Add user accounts to the mappings database

Use this procedure to add user accounts to the mappings database using the Lotus Notes client. You should add all accounts which need access to the mappings database and the Domino server.

To add user accounts to the mappings database

  1. Verify that the user account that is performing this procedure is a member of the Administrators group on the crawl server and has at least Manager permissions on the Domino server.

  2. On the crawl server, open the Lotus Notes client application.

  3. Click File, point to Database, and then click Open.

  4. In the Open Database dialog box, do the following:

    1. Select the Domino server from the Server name list

    2. Select the mappings database that you created earlier.

    3. Click Open.

  5. In the left pane, select the view that you created for this database.

  6. Click Create, and then click the name of the form that you created earlier.

  7. In the form, in the field that you created to store the Lotus Notes user IDs, type a Lotus Notes user ID that you want to map to a Windows domain user account — for example, ContosoUser. Note that this field is case-sensitive.

  8. In the field that you created to map to the Lotus Notes user IDs, type the Windows domain user account that you want to map to the Lotus Notes user ID that you entered in step 6. Note that this must be in the form of domain\user, for example, Contoso\user1.

  9. Click File, and then click Save to save the document.

  10. Repeat steps 6 through 8 if you want to add more mappings. Otherwise, go to step 10.

  11. When finished, save the form and then close the Lotus Notes client application.

Restart the crawl server

You must restart the crawl server before continuing to the next procedure.

Important:

After the crawl server restarts, do not open the Lotus Notes client application again. This is because the Lotus Notes client application might lock files that could cause the following procedures and crawling Lotus Domino databases to fail.

Register Lotus Notes with the crawl server

Use the following procedure to register Lotus Notes with the operating system of the crawl server.

To register Lotus Notes

  1. Verify that the user account that is performing this procedure is a member of the Administrators group on the crawl server.

  2. Run Notessetup.exe on the crawl server by using the same credentials that are used to provision the Lotus Notes Connector.

  3. On the crawl server, in Windows Explorer, go to the <SystemDrive>:\Program Files\Microsoft Office Servers\14\Bin\1033 folder, where <SystemDrive> is the drive on which Microsoft SharePoint Server 2010 is installed.

  4. Double-click NotesSetup.exe.

  5. On the Welcome to the Lotus Notes Index Setup Wizard page, click Next.

  6. In the Register Lotus Notes for use with SharePoint Server 2010 dialog box, do the following:

    1. In the Location of the notes.ini file box, ensure that the correct path of the Notes.ini file is specified. The default path of this file is <SystemDrive>:\Program Files\lotus\notes\notes.ini, where <SystemDrive> is the drive on which Lotus Notes is installed.

    2. In the Location of the Lotus Notes install directory box, ensure that the correct path of the Lotus Notes installation directory is specified. By default, the path of this directory is <SystemDrive>:\Program Files\lotus\notes.

    3. In the Password box, type the password for the user name that is associated with the Domino certificate.

    4. In the Confirm Password box, retype the password for the user name that is associated with the Domino certificate.

  7. We recommend that you leave the Ignore Lotus Notes security while building the index box cleared. This allows the crawl to include all all all Lotus Notes documents in the index without restriction. Security for these documents and objects is determined by the mappings table and provides security data without excluding documents from the index.

  8. Click Next.

  9. On the Specify Lotus Notes Owner Field to Windows User Name Mapping page, do the following:

    1. In the Lotus Notes server name text box, type the Lotus Notes Domino server name or the server IP address.

      Note:

      The server has a Windows NetBIOS name and a Lotus Notes Domino server name. If you type the server name instead of the IP address, make sure that you type the Lotus Notes Domino server name rather than the Windows NetBIOS name. If you do not type the Lotus Notes Domino server name or the IP address, the crawler will not be able to crawl Lotus Notes content.

    2. In the Lotus Notes database file name box, type the file name of the Lotus Domino database that maps the Lotus Notes user IDs to Windows domain user accounts. Be sure to include the .nsf file name extension with this name — for example, Mappings.nsf.

    3. In the View name box, type the view name of the Lotus Domino database that stores the Lotus Notes user IDs to Windows user name mappings.

    4. In the Lotus Notes field name column title box, type the name of the column in the Lotus Notes database file that is used to store Lotus Notes user IDs.

    5. In the Windows user name column title box, type the name of the column in the Lotus Notes database file that is used to store the Windows user accounts.

  10. Click Next.

  11. On the Completing the Lotus Notes Index Setup Wizard page, click Finish.

Provision the Lotus Notes Connector

Use the following procedure to provision Lotus Notes Connector with the operating system of the crawl server.

To Provision Lotus Notes

  1. Verify that the user account that is performing this procedure is a member of the Administrators group on the crawl server.

  2. Open SharePoint Central Administration; in the System Settings section click Manage services on Server.

  3. On the Services on Server page, in the Service column, find the Lotus Notes Connector service.

  4. In the Action column, click Start.

  5. On the Lotus Notes connector settings page, in the application pool section, select Create new application pool, and then enter a name for the new application pool.

  6. In the Configurable drop-down, select or register the same security account used for installation of the NotesSetup.exe.

  7. Click Provision.

The Lotus Notes connector is now provisioned and started.

Restart the OSearch14 service

The server administrator of the crawl server must restart the OSearch14 service before a content source can be created for Lotus Domino databases.

Important:

Do not use the Services on Server page on the SharePoint Central Administration Web site to restart this service. Doing so resets the content index, which requires you to do a full crawl of all content to rebuild the index.

Change History

Date | Description
April 02, 2013 | In the "Register Lotus Notes with the crawl server" procedure, added that in the Lotus Notes server name text box you must type the Lotus Notes Domino server name rather than the Windows NetBIOS name.
May 12, 2010 | Initial publication


Configure and use the Documentum connector (SharePoint Server 2010)

Published: May 29, 2010

Microsoft SharePoint 2010 Indexing Connector for Documentum enables Microsoft SharePoint Server 2010 and Microsoft Search Server 2010 products to index content that is stored in the EMC Documentum system. This article describes how to install and configure the Indexing Connector for Documentum connector for use with Microsoft SharePoint Server 2010.

To download the Indexing Connector for Documentum from the Microsoft Download Center, use the following link: Microsoft SharePoint 2010 Indexing Connector for Documentum (http://go.microsoft.com/fwlink/p/?LinkId=191180&clcid=0x409).

The Indexing Connector for Documentum includes the following features:

  • Based on the SharePoint 2010 Search Connector Framework

  • 64-bit connector

  • One connector supports multiple versions of EMC Documentum Content Server

  • Indexes Documentum objects and object metadata

  • Supports Documentum security definitions and policies

  • Supports Windows PowerShell for automated configuration and administration

  • Configurable search results URL to support multiple Documentum client applications

  • Supports file and folder exclusion for crawling

The following lists describe supported and unsupported object types and properties for the Indexing Connector for Documentum.

Supported container objects and properties:

  • dm_cabinet and subtypes

  • dm_Folder and subtypes

  • r_object_type

  • object_name

  • title

  • subject

  • keywords

  • owner_name

  • r_creator_name

  • r_creation_date

  • r_modifier

  • r_modify_date

  • cabinetpath

  • folderpath

Supported document objects and properties:

  • dm_document

  • authors

  • keywords

  • r_full_content_size

  • r_creation_date

  • object_name

  • r_modify_date

  • r_modifier

  • subject

  • title

  • r_object_type

  • a_content_type

  • owner_name

  • r_version_label

  • r_lock_date

  • r_lock_owner

  • r_policy_id

  • r_current_state

  • log_entry

  • r_creator_name

  • r_access_date

  • a_storage_type

  • i_retain_until

  • ContainerPath

  • All custom properties

Unsupported object types:

  • Temp cabinets

  • Temp folders

  • Temp files

Install and configure the prerequisites for the Indexing Connector for Documentum

Use the following procedure to install and configure the prerequisites for the Indexing Connector for Documentum. The steps are listed in the order that they must be performed.

The SharePoint 2010 Indexing Connector for Documentum has the following software prerequisites:

  • One of the following SharePoint Server 2010, Search Server 2010, or FAST Search Server 2010 for SharePoint products:

    • Microsoft SharePoint Server 2010

    • Microsoft Search Server 2010

    • Microsoft Search Server 2010 Express

    • Microsoft SharePoint 2010 for Internet Sites Enterprise

    • Microsoft SharePoint 2010 for Internet Sites Standard

    • Microsoft FAST Search Server 2010 for SharePoint

    • Microsoft FAST Search Server 2010 for SharePoint Internet Sites

  • You must use DFS Server v6.5 with SP2 with DFS hotfix 1049. This server needs to be configured and connected to all repositories.

  • You must use DFS Productivity Layer v6.5 with SP2 and DFS hotfix 1049 .NET assemblies.

    The .NET assemblies are included in the DFS hotfix 1049 package. You can obtain the DFS hotfix 1049 package, which includes both a server side patch as well as a client side patch, by opening a service request on the EMC Powerlink Web site: http://powerlink.emc.com. Alternatively, you can contact your EMC customer representative.

    The Indexing Connector for Documentum uses EMC DFS (Documentum Foundation Services) as the connectivity application programming interface (API) to access Documentum repositories. Therefore, you must install and configure DFS Productivity Layer (client of DFS Server) .NET components on the SharePoint Server 2010 crawl server where the Indexing Connector for Documentum will be installed.

To install and configure the prerequisites for the Indexing Connector for Documentum

  1. Log on using a user account that is a member of the Administrators group on the computer where the Documentum content access account is created.

  2. Create a Documentum content access account for crawling. The Indexing Connector for Documentum uses a Documentum content access account to retrieve content from the Documentum repository. This account must have the following credentials:

    • At least read permission to documents that you want to crawl.

    • At least browse permission to cabinets, folders, and records (documents with only metadata) that you want to crawl.

  3. On each crawl server, deploy DFS Productivity Layer .NET assemblies to the global assembly cache %windir%\assembly. There are four DLLs that are used by the Indexing Connector for Documentum. Verify the DLL names and versions before you deploy them into the global assembly cache. The following files are included in the DFS1049 Hotfix and when extracted to the default path are located in the following directory: %local%\emc-dfs-sdk-6.5\emc-dfs-sdk-6.5\lib\dotnet:

    • Emc.Documentum.FS.DataModel.Core.dll, version number 6.5.0.231

    • Emc.Documentum.FS.DataModel.Shared.dll, version number 6.5.0.231

    • Emc.Documentum.FS.runtime.dll, version number 6.5.0.231

    • Emc.Documentum.FS.Services.Core.dll, version number 6.5.0.231

    Note:

    You can drag and drop the four DLLs into the global assembly cache (%windir%\assembly) to deploy them, but you might have to turn off User Account Control to do this.

  4. In order for the DFS productivity layer .NET assemblies to function correctly, you must update the .NET machine.config file to include WCF settings for the DFS productivity layer. On each crawl server, open the machine.config file located in the following directory: %windir%\Microsoft.NET\Framework64\V2.0.50727\CONFIG. The following WCF settings allow maximum 30 megabytes (MB) per Documentum content object (the document file plus its metadata) transferred. The administrator can increase "maxReceivedMessageSize" in "DfsDefaultService" binding for larger content. The default SharePoint search will handle files with a maximum size of 16 MB. To crawl files larger than 16 MB, follow the optional step.

    1. Go to %windir%\Microsoft.NET\Framework64\v2.0.50727\CONFIG, open the machine.config file, and then add the following XML snippet into the <configuration> element:

      Copy Code
      <system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="DfsAgentService" closeTimeout="00:01:00"
 openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
 allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
 maxBufferSize="10000000" maxBufferPoolSize="10000000" maxReceivedMessageSize="10000000"
 messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered"
 useDefaultWebProxy="true">
<readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
  maxBytesPerRead="4096" maxNameTableCharCount="16384" />
<security mode="None">
<transport clientCredentialType="None" proxyCredentialType="None"
realm="" />
<message clientCredentialType="UserName" algorithmSuite="Default" />
</security>
</binding>

<binding name="DfsContextRegistryService" closeTimeout="00:01:00"
   openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
   allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
   maxBufferSize="10000000" maxBufferPoolSize="10000000" maxReceivedMessageSize="10000000"
   messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered"
   useDefaultWebProxy="true">
<readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
maxBytesPerRead="4096" maxNameTableCharCount="16384" />
<security mode="None">
<transport clientCredentialType="None" proxyCredentialType="None"
realm="" />
<message clientCredentialType="UserName" algorithmSuite="Default" />
</security>
</binding>
<binding name="DfsDefaultService" closeTimeout="00:01:00" openTimeout="00:10:00" receiveTimeout="00:20:00" sendTimeout="00:10:00" allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard" maxBufferSize="10000000" maxBufferPoolSize="10000000" maxReceivedMessageSize="30000000" messageEncoding="Text" textEncoding="utf-8" transferMode="StreamedResponse" useDefaultWebProxy="true">
<readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384" maxBytesPerRead="1048576" maxNameTableCharCount="16384"/>
<security mode="None">
<transport clientCredentialType="None" proxyCredentialType="None" realm=""/>
<message clientCredentialType="UserName" algorithmSuite="Default"/>
</security>
</binding>
</basicHttpBinding>
</bindings>
</system.serviceModel>

    2. (Optional) To crawl files larger than 16 MB, you have to get the Search service application and store it in a variable, retrieve the current value of "MaxDownloadSize" and modify it to the size that you want to crawl.

      1. Run this procedure on the crawl server.

      2. On the Start menu, click All Programs.

      3. Click Microsoft SharePoint 2010 Products.

      4. Right-click SharePoint 2010 Management shell.

      5. At the Windows PowerShell command prompt, type the following command(s):

        Copy Code
        $ssa = Get-SPEnterpriseSearchServiceApplication
$ssa.GetProperty("MaxDownloadSize")
$ssa.SetProperty("MaxDownloadSize", <File size larger than 16>)
$ssa.Update()

        Where:

        • <File size larger than 16> is the maximum file size that you want to allow the Indexing Connector for Documentum to crawl.

  5. The Indexing Connector for Documentum will crawl the Documentum document Access Control List (ACL) and map this list to the system ACLs. This allows users to search documents that they have permission to read in Documentum. The Indexing Connector for Documentum supports three kinds of ACL translations that you can configure in DCTMConfig.xml by using the following Windows PowerShell cmdlet: Set-SPEnterpriseSearchDCTMConnectorConfig.

    The following list provides Windows PowerShell configuration options for setting up the system ACLs:

    • No SecurityIndexing Connector for Documentum

      The Indexing Connector for Documentum will ignore Documentum ACLs during crawl and every SharePoint user can search all crawled documents.

    • Assume same accountIndexing Connector for Documentum

      When Documentum and SharePoint 2010 Products are both using Active Directory Domain Services (AD DS) or Active Directory directory service, the Indexing Connector for Documentum assumes a user or group is using the same account in both systems.

    • Translate ACL according to user mapping table

      If Documentum and SharePoint 2010 Products are not both using AD DS or Active Directory and you want to enable the security search, you have to set up a user mapping table to specify how to do the ACL translation.

  6. The user mapping table requires the following:

    • User mapping table must be in a Microsoft SQL Server 2008 or later database.

    • The OSearch14 service account must have at least read permission on the user mapping table data.

    DCTMCredentialDomain

    Domain name of a Documentum account. Populate this column when the account comes from the local computer or an LDAP system. The User Source property of the Documentum account should equal None or LDAP, otherwise leave the column empty.

    DCTMCredentialRepository

    Repository name of a Documentum account. Populate this column when the account comes from a Documentum repository.

    DCTMCredentialLogonName

    Logon name of the Documentum account

    NTCredential

    Windows domain user account that searches Documentum contents in SharePoint Server

    Example: A Documentum repository user Dan Park has a logon that is linked to the Finance repository. Dan's Windows domain user account is Litwareinc\dpark. In this case, the user mapping table entry for Dan appears as the following:

    DCTMCredentialDomain

    ""

    DCTMCredentialRepository

    Finance

    DCTMCredentialLogonName

    dpark

    NTCredential

    Litwareinc\dpark

    Note:

    If any cells have no value assigned, they cannot be NULL or empty. You must assign the following empty string value: ''.

    For each Documentum group there must be an NT group in the user mapping table and they must both contain the same user information.

    Use the following script to create a user mapping table:

    Copy Code
    CREATE TABLE <replace with your user mapping table name>
(
DCTMCredentialDomain nvarchar (255) NOT NULL ,
DCTMCredentialRepository nvarchar (32) NOT NULL ,
DCTMCredentialLogonName nvarchar (80) NOT NULL ,
NTCredential nvarchar (255) NOT NULL ,
CONSTRAINT PK_CredentialMapping PRIMARY KEY CLUSTERED
( DCTMCredentialDomain, DCTMCredentialRepository, DCTMCredentialLogonName )
)

    Populate the new mapping table with Documentum/NT Credential pairs as seen in the above table. Grant the OSearch14 account read access to this table.

Install and configure the Indexing Connector for Documentum

Use the following procedure to install and configure the Indexing Connector for Documentum.

To install and configure the Indexing Connector for Documentum

  1. See Add-SPShellAdmin. This article contains information that helps you to verify the permissions that are required to perform this procedure.

  2. Open the Windows PowerShell command console.

  3. On each server in the farm that is running a crawl component, run the Indexing Connector for Documentum DCTMIndexConn.exe. Follow the steps presented in the installation wizard.

  4. On the crawl server, use the following Windows PowerShell cmdlet to register the indexing connector to the Search service applications: New-SPEnterpriseSearchCrawlCustomConnector

  5. Use the following example for a single Search service application: New-SPEnterpriseSearchCrawlCustomConnector -SearchApplication "<name of your Search service application>" -Protocol "dctm" -ModelFilePath <"C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\CONFIG\SearchConnectors\Documentum\MODEL.xml>" -Name "Microsoft SharePoint 2010 Indexing Connector for Documentum

  6. Use the following example for all Search service applications on the farm: Get-SPEnterpriseSearchServiceApplication | New-SPEnterpriseSearchCrawlCustomConnector -Protocol "dctm" -ModelFilePath "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\CONFIG\SearchConnectors\Documentum\MODEL.xml" -Name "Microsoft SharePoint 2010 Indexing Connector for Documentum"

  7. On each crawl server, set configuration details using the following Windows PowerShell cmdlet: Set-SPEnterpriseSearchDCTMConnectorConfig. All the settings are stored in \Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\CONFIG\SearchConnectors\Documentum\DCTMConfig.xml. If more than one crawl server is used, all settings must be the same on each server.

    Use the following Windows PowerShell commands to display help and examples for the Indexing Connector for Documentum:

    • Get-help Set-SPEnterpriseSearchDCTMConnectorConfig -full shows full help.

    • Get-help Set-SPEnterpriseSearchDCTMConnectorConfig -examples shows only examples.

    The following table describes the important parameters of the Set-SPEnterpriseSearchDCTMConnectorConfig cmdlet.

    ACLTranslation Directs the behavior of the ACL translation

    UserMappingTable

    Default value. The Indexing Connector for Documentum translates the Documentum ACL into a Windows ACL according to the user mapping table. UserMappingTableSQLServer, UserMappingTableSQLInstance, UserMappingTableName and UnMappedAccount take effect only when ACLTranslation is set to "UserMappingTable".

    NoSecurity

    The Indexing Connector for Documentum ignores the Documentum ACL during crawl. For example, all documents from Documentum will be searchable by any SharePoint user. This option enables you to decline enforcement of security trimming or implement custom security trimming.

    SameAccountName

    The Indexing Connector for Documentum assumes Documentum and SharePoint users share the same account, such as a shared account in Active Directory. Once an invalid NT account is found, the Indexing Connector for Documentum discards the account permission.

    UnmappedAccount Defines how to process Documentum accounts which have no corresponding Windows account defined in the user mapping table.

    DiscardACE

    Default value of "UnmappedAccount". The Indexing Connector for Documentum discards a Documentum account when no mapped Windows account is found. If there is any other mapped account for the document, the document will be crawled. If none of the accounts for this document can be mapped, the document will be discarded and an error message will be entered in the crawl log.

    AssumeSameAccount

    Assumes there is a same NT account existed for the Documentum account.

    UserMappingTableSQLServer

    Host name of the computer that is running SQL Server which contains the user mapping table.

    UserMappingTableSQLInstance

    Name of the SQL Server instance that contains the user mapping table.

    UserMappingTableDBName

    Name of the SQL Server database that contains the user mapping table.

    UserMappingTableName

    Name of the user mapping table.

    DisplayURLPatternForDocument

    DisplayURL pattern for documents. Any valid URL with part of the string replaced by placeholders such as <ObjectId>, <RepositoryName> or <Format>. For example, a URL for a document accessible from Documentum Webtop might appear as follows: "http://WebtopMACHINE_NAME:PORT_NUMBER/webtop/drl/objectId/<ObjectId>/format/<Format>".

    DisplayURLPatternForContainer

    DisplayURL pattern for folders and cabinets. Any valid URL with part of the string replaced by placeholders such as <ObjectId>, <RepositoryName> or <Format>. For example, a URL for a folder or cabinet which is accessible from Documentum Webtop might appear as "http://WebtopMACHINE_NAME:PORT_NUMBER/webtop/drl/objectId/<ObjectId>".

    DFSURL

    Specify the DFS Web Services URL for each repository that is to be crawled. More than 1 DFS Web Services URL can be specified for each repository. Use the following format: "RepositoryName1\DFSURL1.1\DFSURL1.2\...\DFSURL1.n\\RepositoryName2\DFSURL2.1\DFSURL2.2\...\DFSURL2.n\..."

    PersistDCTMACL

    Specify whether to store the Documentum ACL in a crawled property. If "PersistDCTMACL" is set to "True", the Indexing Connector for Documentum will store the Documentum ACL information as a crawled property. The default value is "False".

    C# Copy Code
    Example 1: Set to "UserMappingTable" mode.
Set-SPEnterpriseSearchDCTMConnectorConfig -ACLTranslation "UserMappingTable" -UnmappedAccount "DiscardACE" -UserMappingTableSQLServer "<YourDatabaseServerName>" -UserMappingTableSQLInstance "<YourDatabaseInstanceName>" -UserMappingTableDBName "<YourMappingDatabaseName>"  -UserMappingTableName "<YourMappingTableName>" -DFSURL "RepositoryName1\http://MACHINENAME1:PORT1/services\\RepositoryName2\http://MACHINENAME2:PORT2/services\http://MACHINENAME3:PORT3/services" -DisplayURLPatternForDocument "http://MACHINENAME4:PORT4/webtop/component/drl?objectId={ObjectId}&format={Format}&RepositoryName={RepositoryName}" -DisplayURLPatternForContainer "http://MACHINENAME5:PORT5/webtop/component/drl?objectId={ObjectId}&RepositoryName={RepositoryName}"

Example 2: Set to "NoSecurity" mode.
Set-SPEnterpriseSearchDCTMConnectorConfig -ACLTranslation "NoSecurity" -DFSURL  "RepositoryName1\http://MACHINENAME1:PORT1/services\\RepositoryName2\http://MACHINENAME2:PORT2/services\http://MACHINENAME3:PORT3/services" -DisplayURLPatternForDocument "http://MACHINENAME4:PORT4/webtop/component/drl?objectId={ObjectId}&format={Format}&RepositoryName={RepositoryName}" -DisplayURLPatternForContainer "http://MACHINENAME5:PORT5/webtop/component/drl?objectId={ObjectId}&RepositoryName={RepositoryName}"

Example 3: Set to "SameAccountName" mode.
Set-SPEnterpriseSearchDCTMConnectorConfig -ACLTranslation "SameAccountName" -DFSURL "RepositoryName1\http://MACHINENAME1:PORT1/services\\RepositoryName2\http://MACHINENAME2:PORT2/services\http://MACHINENAME3:PORT3/services" -DisplayURLPatternForDocument "http://MACHINENAME4:PORT4/webtop/component/drl?objectId={ObjectId}&format={Format}&RepositoryName={RepositoryName}" -DisplayURLPatternForContainer "http://MACHINENAME5:PORT5/webtop/component/drl? objectId={ObjectId}&RepositoryName={RepositoryName}"

  8. After setting the configuration details, restart the OSearch14 service on each crawl server.

Create a crawl rule for the Indexing Connector for Documentum

Before a crawl, create crawl rules to include or exclude specific content in Documentum. Use the following procedure to create a crawl rule for the Indexing Connector for Documentum.

To create a crawl rule for the Indexing Connector for Documentum

  1. Verify that the user account that is performing this procedure is an administrator for the Search service application.

  2. Open SharePoint Central Administration, and then click Manage Service Applications.

  3. Click the Search service application where you want to create a crawl rule.

  4. Under Crawling, click Crawl Rules.

  5. On the Manage Crawl Rules page, click New Crawl Rule.

  6. On the Add Crawl Rule page, specify the following information to create at least one crawl rule:

    1. In Path box, type the path of the content that you want to crawl. You can use wildcard "*" or regular expression syntax.

      Because Documentum uses case sensitive names for the content, select the Match case check box.

    2. In Crawl Configuration section, select Include all items in this path, and then select Crawl complex URLs (URLs that contain a question mark - ?).

    3. In the Specify Authentication section, select Specify a different content access account, and then type the Documentum content access account and password that you specified earlier in this article in the appropriate boxes.

    4. Make sure that the Do not allow Basic Authentication check box is cleared.

  7. Click OK to finish configuration.

    Note:

    • You can create multiple crawl rules for Documentum to include or exclude Documentum content.

    • You can use different crawl rules to specify different content access accounts for different Documentum content. For example, you have two repositories and two content access accounts for each repository. The Documentum content access account specified in a crawl rule will only be applied to Documentum content covered by the path in that crawl rule.

    The format of the path that you use to refer to a Documentum object is defined in the following table.

    For repository

    dctm://<clientapphostname>/<repository name>

    For cabinet

    dctm://<clientapphostname>/<repository name>/<cabinet name>

    For folder

    dctm://<clientapphostname>/<repository name>/<cabinet name>/<folder name>

    For document

    dctm://<clientapphostname>/<repository name>/<cabinet name>/<folder name>/…/<folder name>?DocSysID=<r_object_id> the r_object_id is the object id of that document.

<clientapphostname> is the host name of your Documentum client application such as Webtop or DA. The <clientapphostname> configured here should be same as that used in content source. <repository name>, <cabinet name>, and <folder name> are case sensitive.

Create a content source for the Indexing Connector for Documentum

Use the following procedure to create a content source.

To create a content source for the Indexing Connector for Documentum

  1. Verify that the user account that is performing this procedure is an administrator for the Search service application.

  2. Open SharePoint Central Administration, and then click Manage Service Applications.

  3. Click the Search service application in which you want to create a content source.

  4. On the Search Administration page, in the Quick Launch, click Content Sources.

  5. On the Manage Content Sources page, click New Content Source.

  6. On the Add Content Source page, do the following:

    1. In the Name box, type the name of the content source.

    2. In the Content Source Type section, select Custom Repository.

    3. In the Type of Repository section, select SharePoint 2010 Indexing Connector for Documentum. Use the name that you specified when you registered the Indexing Connector for Documentum with the Search service application.

    4. In the Start Addresses section, type the start addresses. The start address format is the same as the path pattern. You can type more than one start address for the content source, one per line.

    5. In the Crawl Schedules section, select schedules from the Full Crawl and Incremental Crawl drop-down lists, or create schedules for each kind of crawl.

    6. In the Content Source Priority section, assign a priority level to the content source according to your business requirements.

    7. Select Start full crawl of this content source to start a crawl immediately after the content source is created.

    8. Click OK to finish the configuration and accept all configured options.

    The Documentum content source is configured and the system can crawl Documentum content repositories that are specified in the content source.

SharePoint Server 2010 supports scalable architecture for performance scale-out. You can deploy more than one crawl server and configure multiple crawlers to crawl the EMC Documentum database simultaneously.


Manage deletion of index items (SharePoint Server 2010)
See Also

Published: May 12, 2011

Summary: Configure four deletion policies to specify how the system deletes content from the index when the crawler encounters errors.

Microsoft SharePoint Server 2010 prevents accidental deletion of content from the index when the crawler encounters errors during a full crawl or an incremental crawl. The system uses four deletion policies to control accidental deletion of content. You can manage the four deletion policies at the service application level to specify how many times and how long an item will be retried in consecutive crawls.

These deletion policies existed in Microsoft Office SharePoint Server 2007, but you could not view them nor change their values.

We recommend that you use the default values listed in the following table as a starting point for a typical SharePoint Server 2010 installation. You might consider specifying values other than the default values in the following circumstances:

  • When scheduled maintenance prevents a network asset from being crawled.

  • When server or network policies extend the time it takes to complete a crawl.

  • When network latency causes crawls to exceed the value that is specified for a deletion policy.

  • When you know about the state of a previously crawled item and want to include the item in search results regardless of its current availability to the crawler.

The following table shows the policy names, strings, and default values.

Deletion policy name | String | Default value
Delete policy for access denied or file not found | ErrorDeleteCountAllowed ErrorDeleteIntervalAllowed | 30 720 Hours (30 days)
Delete policy for all other errors | ErrorDeleteAllowed ErrorIntervalAllowed | 100 1440 Hours (60 days)
Delete unvisited policy | DeleteUnvisitedMethod | 1
Re-crawl policy for SharePoint content | RecrawlErrorCount RecrawlErrorInterval | 10 360 Hours (15 days)

The following table describes what the system does for each policy.

Deletion policy name Description

Delete policy for access denied or file not found

When the crawler encounters an access denied or a file not found error, the item is deleted from the index if the error was encountered in more than ErrorDeleteCountAllowed consecutive crawls AND the duration since the first error is greater than ErrorDeleteIntervalAllowed hours. If both conditions are not met, the item is retried.

Delete policy for all other errors

When the crawler encounters errors of types other than access denied or file not found, the item is deleted from the index if the error was encountered in more than ErrorDeleteAllowed consecutive crawls AND the duration since the first error is greater than ErrorIntervalAllowed hours.

Delete unvisited policy

During a full crawl, the crawler executes a delete unvisited operation in which it deletes items that are in the crawl history that are not found in the current full crawl. You can use the DeleteUnvisitedMethod property to specify what items get deleted. You can specify the following three values:

  • 0, all unvisited items are deleted.

  • 1 (default), unvisited items that have the same host as the start address specified in the content source are retained, and unvisited items that were discovered by following links to other hosts are deleted.

  • 2, none of the unvisited items are deleted.

Re-crawl policy for SharePoint content

This policy applies only to SharePoint content. If the crawler encounters errors when fetching changes from the SharePoint content database for RecrawlErrorCount consecutive crawls AND the duration since first error is RecrawlErrorInterval hours, the system re-crawls that content database.

To view and change deletion policies by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell command prompt, type the following commands:

    Copy Code
    $SearchApplication = Get-SPEnterpriseSearchServiceApplication -Identity "<SearchServiceApplicationName>"
    Copy Code
    $SearchApplication.GetProperty("<PropertyName>")
    Copy Code
    $SearchApplication.SetProperty("<PropertyName>", <NewValue>)

  6. Each of these property values can be changed for an individual Search service application by using GetProperty and SetProperty cmdlets. Repeat this procedure for each Search service application for which you want to change deletion policies.

For example, as a search administrator, you know that one of your remote Web servers is not available due to hardware failure and repair is scheduled to occur in six weeks. This down time will result in many search results being removed from the search index. Once the Web server is back online, restoration of the removed search results will require a full crawl which takes three days to complete. You want to avoid search results being dropped from the index, and you want to prevent the system from devoting resources to a full crawl. Therefore, you use the following procedure.

Deletion policy example

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. Get the search service application: $SearchApplication = Get-SPEnterpriseSearchServiceApplication -Identity "<SearchServiceApplicationName>"

  3. Get the default value of the property (Default is 720 hours): $SearchApplication.GetProperty("ErrorDeleteIntervalAllowed")

  4. Set the value of the property to 6 weeks expressed as 1008 hours: $SearchApplication.SetProperty("ErrorDeleteIntervalAllowed", 1008)

  5. Verify the new value of the property (New value is 1008 hours): $SearchApplication.GetProperty("ErrorDeleteIntervalAllowed")

    This new property value prevents search results from being removed from the search index and avoids the need for a full crawl.

See Also

Reference

Get-SPEnterpriseSearchServiceApplication
Get-SPEnterpriseSearchAdministrationComponent
Set-SPEnterpriseSearchAdministrationComponent
Ping-SPEnterpriseSearchContentService


Use search administration reports (SharePoint Server 2010)

Summary: Use and configure reports to monitor search system health, including crawl rate, crawl processing, query latency trend, and back-end latency.

Search administration reports help you to determine the health of search service applications on a SharePoint farm. There are three types of search administration reports:

  • Basic search administration reports. Enabled by default, these reports show high-level monitoring data aggregated from all components for the selected search service application.

  • Advanced search administration reports. Enabled by default, these reports show more in-depth monitoring data aggregated from all components for the selected search service application.

  • Verbose search administration reports. After enabling verbose query monitoring for search, this trend report uses per-query data to derive query latency percentiles.

Note:

To obtain search administration reports, you must have a Microsoft SharePoint Server 2010, Microsoft Search Server 2010, or Microsoft FAST Search Server 2010 for SharePoint environment that contains crawled data and a Search Center. You also have to ensure that the State Service has been enabled through the Farm Configuration Wizard.

The following table shows the four basic search administration reports and the metrics they provide. For each report, you can filter the results by search service application and time. You can also filter the Crawl Rate per Content Source by content source.

Report Description Metrics Reported

Crawl Rate per Content Source

Provides a view of recent crawl activity, aggregated by content source. Anchor crawl appears as a separate (virtual) content source. You can filter the report by search service application, time, and content source.

Average items crawled per minute, separated by content source. Accompanying table shows crawl start times, duration, and crawl rate.

Crawl Rate per Type

Provides a view of recent crawl activity, sorted by items and actions for a given URL. These items and actions include modified items, deleted items, retries, errors, and others. You can filter the report by search service application and time.

Average items per minute, separated by type of crawl transaction:

  • Modified: Shows items that were modifed and re-crawled.

  • Not modified: Shows items that were not modified and not crawled.

  • Security only: shows items for which the security attributes were changed.

  • Deleted: Shows items that were deleted from the content source and must be deleted from the index.

  • Not indexed: Shows items that were crawled but not indexed.

  • Anchor text: Shows anchor text items crawled.

  • Retry: Shows crawl retries.

  • Error: Shows crawl errors.

Accompanying table shows totals for each type of crawl task.

Overall Query Latency

Provides a view of recent query activity, showing latency from the major segments of the query pipeline and query averages per minute. You can filter the report by search service application and time.

  • Average query count per minute (along the right side of the graph), represented bya light purple line. Usually fluctuates throughout the day.

  • Average overall query latency per minute (on the left side of the graph), represented by the height of the stacked bars for the major segments of the query pipeline:

    • Server Rendering: Shows time spent for the various web parts in the Web front-end.

    • Object Model: Shows the time spent for communication between the Web front-end and the search back-end.

    • Back-end: Shows the time spent querying all index and property databases, removing duplicates, and returning the results to the Object Model.

SharePoint Back-end Query Latency

Provides a view of recent query activity, showing latency details from the index and property database portion of the query pipeline and query averages per minute. You can filter the report by search service application and time. This report is only applicable to queries that go to the Microsoft SharePoint Server 2010 or Microsoft Search Server 2010 back-end.

Average back-end query count per minute (on the right side of the graph), represented bya light purple line. Usually fluctuates throughout the day.

Average back-end query latency per minute (on the left side of the graph) for the following back-end tasks:

  • Results Population: Average time spent creating the in memory table to be passed back to the Object Model.

  • High Confidence Results: Average time spent to retrieve high confidence results for queries.

  • Multiple Results Retrieval: Average time spent retrieving document metadata, such as title or author, to appear in the query results.

  • Best Bets: Average time spent determining whether there are best bets available for the query terms.

  • Final Sort: Average times spent sorting results.

  • Security Trimming: Average time spent removing items the user doesn't have access to. You can increase the security cache to decrease the values.

  • Duplicate Removal: Average time spent removing duplicates.

  • Property Store Query: Average time spent querying the property database for property-based queries.

  • Full-text Query: Average time spent querying the full-text index for results. Sustained high values for your environment mean you should probably partition the index.

The following table shows the three advanced search administration reports and the metrics they provide.

Report Description Metrics Reported

Crawl Processing per Activity

Provides a view of where crawl processing occurs in the pipeline. The timings per component are grouped by activity, such as filtering or word breaking. You can filter the report by search service application and time.

Crawl activity in seconds, separated by major task:

  • Waiting: Time spent waiting.

  • Standard Properties: Time spent retrieving standard properties.

  • Protocol Handlers: Time spent running protocol handlers.

  • Initializing Filter: Time spent initializing filters.

  • Filtering: Time spent filtering.

  • Word Breaking: Time spent on word breaking.

  • Process Words: Time spent on processing words.

  • Chunk Processing: Time spent on processing chunks.

  • Initializing Document Filtering: Time spent on initializing document filtering.

  • Completing Document Filtering: Time spent on completing document filtering.

Crawl Processing per Component

Provides a view of where crawl processing occurs in the pipeline, per minute. The timings are grouped by component, such as File Protocol Handler or Anchor Plug-in.

Crawl activity in seconds, separated by component:

  • Waiting: Time spent on waiting.

  • BCS Protocol Handler: Crawl processing time for the Business Connectivity Services (BCS) protocol handler.

  • File Protocol Handler: Crawl processing time for the file protocol handler.

  • HTTP Protocol Handler: Crawl processing time for the HTTP protocol handler.

  • Lotus Protocol Handler: Crawl processing time for the Lotus protocol handler.

  • SPS Protocol Handler: Crawl processing time for the Microsoft Office SharePoint Portal Server 2003 protocol handler.

  • STS3 Protocol Handler: Crawl processing time for the Microsoft Office SharePoint Server 2007 protocol handler.

  • STS4 Protocol Handler: Crawl processing time for the SharePoint Server 2010 protocol handler.

  • Other Protocol Handler: Crawl processing time for other protocol handlers.

  • Initializing Filter: Crawl processing time for the filter initializer.

  • Filtering: Crawl processing time for the filtering component.

  • Word Breaking: Crawl processing time for the word-breaking component.

  • Anchor Plug-in: Crawl processing time for the anchor text plug-in.

  • ARPI Plug-in: Crawl processing tme for the ARPI plug-in.

  • Feature Extraction Plug-in: Crawl processing time for the feature extraction plug-in.

  • Indexer Plug-in: Crawl processing time for the indexer plug-in.

  • Matrix Plug-in: Crawl processing time for the matrix plug-in.

  • Scopes Plug-in: Crawl processing time for the scopes plug-in.

  • Gatherer Plug-in: Crawl processing time for the gatherer plug-in.

  • Other: Crawl processing time for other components.

Crawl Queue

Provides a view of the state of the crawl queue, displaying incoming links to process and outgoing transactions queued.

  • Links to Process: Incoming links to process.

  • Transactions Queued: Outgoing transactions queued.

The following table shows the verbose search administration report and the metrics it provides.

Report Description Metrics Reported

Query Latency Trend

This report provides a view of server-side query latency breakdown by percentile, in addition to the current crawl rate.

  • Crawl Rate (in milliseconds)

  • Query latency (in milliseconds), separated by percentile

Note:

To enable the Query Latency Trend report, you must run the following Windows PowerShell cmdlets:

  • $app = Get-SPEnterpriseSearchServiceApplication "<application name>"

  • $app | Set-SPEnterpriseSearchServiceApplication -VerboseQueryMonitoring "True"

  • $app = Get-SPEnterpriseSearchServiceApplication "<application name>"

  • $app.Update()

Filter data for search administration reports

To view administrative reports, see View administrative reports (SharePoint Server 2010). You can filter data for search administration reports by using Central Administration. By default, search administration reports show data for all search applications over the last 12 hours. You can filter report data in the following ways:

  • Restrict a report to one or more search service applications

  • Restrict a report to a specific time period

To restrict a report to one or more search service applications

  1. Verify that you have the following administrative credentials:

    • To view reports in the Search administration reports folder, you must be a member of the Farm Administrators SharePoint group on the computer running the SharePoint Central Administration Web site.

  2. On the report page, click the filter icon next to the Application box.

  3. In the Select Filter Value(s) dialog box, select the search service applications that you want, and then click OK.

  4. Click the Apply Filters button to update the report.

To restrict a report to a specific time period

  1. Verify that you have the following administrative credentials:

    • To view reports in the Search administration reports folder, you must be a member of the Farm Administrators SharePoint group on the computer running the SharePoint Central Administration Web site.

  2. On the report page, click the Start Date and End Date calendars and times to specify the time period that you want.

  3. Click the Apply Filters button to update the report.


Best practices for using crawl logs (SharePoint Server 2010)

Summary: Learn how to check the crawl log, configure the crawl log timer job, and troubleshoot common crawl log errors such as "Access Denied."

The crawl log tracks information about the status of crawled content. This log lets you determine whether crawled content was successfully added to the index, whether it was excluded because of a crawl rule, or whether indexing failed because of an error. The crawl log also contains more information about crawled content, including the time of the last successful crawl, the content sources, and whether any crawl rules were applied. You can use the crawl log to diagnose problems with the search experience.

In this article:

  • To view the crawl log

  • Crawl log views

  • Crawl log timer job

  • Troubleshoot crawl problems

To view the crawl log

  1. Verify that the user account that is performing this procedure is an administrator for the Search service application.

  2. In Central Administration, in the Quick Launch, click Application Management.

  3. On the Application Management page, under Service Applications, click Manage service applications.

  4. On the Service Applications page, in the list of service applications, click the Search service application that you want.

  5. On the Search Administration page, in the Quick Launch, under Crawling, click Crawl Log.

  6. On the Crawl Log - Content Source page, click the view that you want.

Crawl log views

The following table shows the different views that you can select for viewing the status of crawled content.

View Description

Content Source

Summarizes items crawled per content source. Shows successes, warnings, errors, top-level errors, and deletes. The data in this view represent the current status of items that are already present in the index per content source. The Object Model provides the data for this view.

Host Name

Summarizes items crawled per host. Shows successes, warnings, errors, deletes, top-level errors, and total. The data in this view represent the current status of items that are already present in the index per host. If your environment has multiple crawl databases, the data is shown per crawl database. The Search Administration database provides the data for this view. You can filter the results by typing a URL in the Find URLs that begin with the following hostname/path: box.

URL

Lets you search the crawl logs by content source or URL or host name and view details of all items that are present in the index. The MSSCrawlURLReport table in the crawl database provides the data for this view. You can filter the results by setting the Status, Message, Start Time, and End Time fields.

Crawl History

Summarizes crawl transactions that were completed during a crawl. There can be multiple crawl transactions per item in a single crawl, so the number of transactions can be larger than the total number of items. This view shows data for three kinds of crawls:

  • Full. Crawls all items in a content source.

  • Incremental. Crawls items that have been changed since the last full or incremental crawl. This kind of crawl only runs if it is scheduled.

  • Delete. If start addresses are removed from a content source, a delete crawl removes items associated with the deleted start address from the index before a full or incremental crawl runs. This kind of crawl cannot be scheduled.

The Search Administration database provides the data for this view. You can filter the results by content source.

Error Message

Provides aggregates of errors per content source or host name. The MSSCrawlURLReport table in the crawl database provides the data for this view. You can filter by content source or host.

Note:

The filter drop-down box only shows content sources that contain errors. If there is an error against an item that does not appear in the index, the error does not appear in this view.

The Content Source, Host Name, and Crawl History views show data in the following columns:

  • Successes. Items that were successfully crawled and searchable.

  • Warnings. Items that might not have been successfully crawled and might not be searchable.

  • Errors. Items that were not successfully crawled and might not be searchable.

  • Deletes. Items that were removed from the index and are no longer searchable.

  • Top Level Errors. Errors in top-level documents, including start addresses, virtual servers, and content databases. Every top-level error is counted as an error, but not all errors are counted as top-level errors. Because the Errors column includes the count from the Top Level Errors column, top-level-errors are not counted again in the Host Name view.

  • Not Modified. Items that were not modified between crawls.

  • Security Update. Items whose security settings were crawled because they were modified.

Crawl log timer job

By default, the data for each view in the crawl log is refreshed every five minutes by the timer job Crawl Log Report for Search Application <Search Service Application name>. You can change the refresh rate for this timer job, but in general, this setting should remain as is.

Tip:

If you think the crawl log is not showing fresh data, make sure that the timer job has not been paused and has recently run.

To check the status of the crawl log timer job

  1. Verify that the user account that is performing this procedure is a member of the Farm Administrators SharePoint group.

  2. In Central Administration, in the Monitoring section, click Check job status.

  3. On the Timer Job Status page, click Job History.

  4. On the Job History page, find Crawl Log Report for Search Application <Search Service Application name> for the Search service application that you want and review the status.

To change the refresh rate for the crawl log timer job

  1. Verify that the user account that is performing this procedure is a member of the Farm Administrators SharePoint group.

  2. In Central Administration, in the Monitoring section, click Check job status.

  3. On the Timer Job Status page, click Job History.

  4. On the Job History page, click Crawl Log Report for Search Application <Search Service Application name> for the Search service application that you want.

  5. On the Edit Timer Job page, in the Recurring Schedule section, change the timer job schedule to the interval that you want.

  6. Click OK.

Troubleshoot crawl problems

This section provides information about common crawl log errors, crawler behavior, and actions to take to maintain a healthy crawling environment.

When an item is deleted from the index

When a crawler cannot find an item that exists in the index because the URL is obsolete or it cannot be accessed due to a network outage, the crawler reports an error for that item in that crawl. If this continues during the next three crawls, the item is deleted from the index. For file-share content sources, items are immediately deleted from the index when they are deleted from the file share.

"Object could not be found" error for a file share

This error can result from a crawled file-share content source that contains a valid host name but an invalid file name. For example, with a host name and file name of \\ValidHost\files\file1, \\ValidHost exists, but the file file1 does not. In this case, the crawler reports the error "Object could not be found" and deletes the item from the index. The Crawl History view shows:

  • Error: 1

  • Deletes: 1

  • Top Level Errors: 1 (\\ValidHost\files\file1 shows as a top-level error because it is a start address)

The Content Source view shows:

  • Errors: 0

  • Deletes: 0

  • Top Level Errors: 0

The Content Source view will show all zeros because it only shows the status of items that are in the index, and this start address was not entered into the index. However, the Crawl History view shows all crawl transactions, whether or not they are entered into the index.

"Network path for item could not be resolved" error for a file share

This error can result from a crawled file-share content source that contains an invalid host name and an invalid file name. For example, with a host name and file name of \\InvalidHost\files\file1, both \\InvalidHost and the file file1 do not exist. In this case, the crawler reports the error "Network path for item could not be resolved" and does not delete the item from the index. The Crawl History view shows:

  • Errors: 1

  • Deletes: 0

  • Top Level Errors: 1 (\\InvalidHost\files\file1 shows as a top-level error because it is a start address)

The Content Source view shows:

  • Error: 0

  • Deletes: 0

  • Top Level Errors: 0

The item is not deleted from the index, because the crawler cannot determine if the item really does not exist or if there is a network outage that prevents the item from being accessed.

Obsolete start addresses

The crawl log reports top-level errors for top-level documents, or start addresses. To ensure healthy content sources, you should take the following actions:

  • Always investigate non-zero top-level errors.

  • Always investigate top-level errors that appear consistently in the crawl log.

  • Otherwise, we recommend that you remove obsolete start addresses every two weeks after contacting the owner of the site.

To troubleshoot and delete obsolete start addresses

  1. Verify that the user account that is performing this procedure is an administrator for the Search service application.

  2. When you have determined that a start address might be obsolete, first determine whether it exists or not by pinging the site. If you receive a response, determine which of the following issues caused the problem:

    • If you can access the URL from a browser, the crawler could not crawl the start address because there were problems with the network connection.

    • If the URL is redirected from a browser, you should change the start address to be the same as the new address.

    • If the URL receives an error in a browser, try again at another time. If it still receives an error after multiple tries, contact the site owner to ensure that the site is available.

  3. If you do not receive a response from pinging the site, the site does not exist and should be deleted. Confirm this with the site owner before you delete the site.

Access Denied

When the crawl log continually reports an "Access Denied" error for a start address, the content access account might not have Read permissions to crawl the site. If you are able to view the URL with an administrative account, there might be a problem with how the permissions were updated. In this case, you should contact the site owner to request permissions. For information about how to set permissions for a crawler, see Manage crawl rules (SharePoint Server 2010).

Numbers set to zero in Content Source view during host distribution

During a host distribution, the numbers in all columns in Content Source view are set to zero. This happens because the numbers in Content Source view are sourced directly from the crawl database tables. During a host distribution, the data from these tables are being moved, so the values remain at zero during the duration of the host distribution.

After the host distribution is complete, run an incremental crawl of the content sources in order to restore the original numbers.

Showing file-share deletes in Content Source view

When documents are deleted from a file-share content source that was successfully crawled, they are immediately deleted from the index during the next full or incremental crawl. These items will show as errors in the Content Source view of the crawl log, but will show as deletes in other views.

Stopping or restarting the SharePoint Server Search service causes crawl log transaction discrepancy

The SharePoint Server Search service (OSearch14) might be reset or restarted due to administrative operations or server functions. When this occurs, a discrepancy in the crawl history view of the crawl log can occur. You may notice a difference between the number of transactions reported per crawl and the actual number of transactions performed per crawl. This can occur because the OSearch14 service stores active transactions in memory and writes these transactions after they are completed. If the OSearch14 service is stopped, reset, or restarted before the in-memory transactions have been written to the crawl log database, the number of transactions per crawl will be shown incorrectly.


Manage queries and results (SharePoint Server 2010)

Summary: Learn how to manage search settings, scopes, federation, and query suggestions; remove items from the index; and search from Windows 7.

The articles in this section describe what you can do to help users perform queries that provide productive search results.

  • Manage search scopes (SharePoint Server 2010). Shows how to create or change search scopes, which define subsets of information in the index. This helps users to narrow their searches to a specific project, division, or other grouping of content.

  • Manage federated locations (SharePoint Server 2010). Shows how to add, change, or remove a federated location so that users can get search results from content that exists outside of your internal network, such as Internet locations. This article includes a video demonstration.

  • Search the enterprise from Windows 7 (SharePoint Server 2010). Describes how to enable end users to query SharePoint Server 2010 from a Windows 7 client computer and view the search results in Windows Explorer.

  • Remove URLs from search results (SharePoint Server 2010). Shows how to immediately remove items from the index and exclude those items from crawls so that the items do not appear in search results.

  • Manage query suggestions (SharePoint Server 2010). Shows how to configure query suggestions that appear at query time below the search box and on the search results page in the Related Queries Web Part. This article also describes how to use Windows PowerShell to add query suggestions to a new Search service application or to supplement query suggestions that are generated by the search system.

  • Manage settings to improve search results (SharePoint Server 2010). Shows how to improve search results by using stop word files, thesaurus files, custom dictionaries, and authoritative pages.


Manage search scopes (SharePoint Server 2010)

Summary: Learn how to create a search scope and add scope rules in a Search service application to help users find important content quickly.

A search scope defines a subset of information in the search index. Users can select a search scope when performing a search to restrict search results to the subset of information that they want. Typically, search scopes encompass specific topics and content sources that are important and common to users in the organization. For example, you can create a search scope for all items related to a specific project or for all items related to a specific group in the organization, such as finance or marketing. You can also create a search scope that encompasses several other scopes.

You can set search scopes at both the Search service application level and at the site administration level. Search scopes set at the service application level are available to all sites and site collections within the service application. These scopes cannot be modified or deleted at the site administration level. This topic describes how to create or edit a search scope and how to add or edit a scope rule at the service application level.

To create or edit a search scope at the service application level

  1. Verify that the user account that is performing this procedure is a service application administrator for the Search service application.

  2. In Central Administration, in the Application Management section, click Manage service applications.

  3. On the Manage Service Applications page, in the list of service applications, click Search Service Application.

  4. On the Search Administration page, in the Quick Launch, under Queries and Results, click Scopes. The View Scopes page appears.

  5. To create a new scope, click New Scope. The Create Scope page appears. To edit an existing scope, in the list of scopes, point to the name of the scope that you want to edit, click the arrow that appears, and then click Edit Properties and Rules. On the Scope Properties and Rules page, in the Scope Settings section, click Change scope settings. The Edit Scope page appears.

  6. In the Title and Description section, configure the following options:

    • In the Title box, type a title for the scope.

    • In the Description box, type a description for the search scope that informs administrators of the purpose of the scope.

    • The Last modified by box shows your user name and is not configurable.

  7. In the Target Results Page section, select one of the following options:

    • Use the default Search Results Page. Select this option if you want search results from this search scope to be presented by using the standard Search Results page (Searchresults.aspx).

    • Specify a different page for searching this scope. Select this option if you want search results from this search scope to be presented on a custom Web page. If you select this option, in the Target results page box, type the URL for the custom search results page.

  8. Click OK to create the scope and return to the View Scopes page.

To add or edit a scope rule at the service application level

  1. Verify that the user account that is performing this procedure is a service application administrator for the Search service application.

  2. In Central Administration, in the Application Management section, click Manage service applications.

  3. On the Manage Service Applications page, in the list of service applications, click Search Service Application.

  4. On the Search Administration page, in the Quick Launch, under Queries and Results, click Scopes. The View Scopes page appears.

  5. On the View Scopes page, in the list of scopes, point to the name of the scope that you want to edit, click the arrow that appears, and then click Edit Properties and Rules.

  6. To add a new rule, on the Scope Properties and Rules page, in the Rules section, click New Rule. The Add Scope Rule page appears. To edit an existing rule, on the Scope Properties and Rules page, in the Rules section, click the rule that you want to edit. The Edit Scope Rule page appears.

  7. In the Scope Rule Type section, select one of the following options:

    • Web Address. Select this option if you want the scope to include or exclude content from any resource in the search index that can be identified either by a URL (such as Web sites, file shares, and Microsoft Exchange Server public folders) or by a host name, domain name, or subdomain name.

    • Property Query. Select this option if you want the scope to include or exclude content that has a managed property with a particular value. For example, Author="John Doe".

    • Content Source. Select this option if you want the scope to include or exclude content that was crawled by using a particular content source.

    • All Content. Select this option if the rule should not restrict the scope (the scope will include or exclude all content in the index).

  8. In the Behavior section, select an option to specify how this rule combines with other rules to define the scope:

    • Include - Any item that matches this rule will be included, unless the item is excluded by another rule. Use this option to apply an "OR" rule.

    • Require - Every item in the scope must match this rule. Use this option to apply an "AND" rule.

    • Exclude - Items matching this rule will be excluded from the scope. Use this option to apply an "AND NOT" rule.

    For example, if you apply include rules named I1 and I2, require rules named R1 and R2, and exclude rules named E1 and E2, the resulting scope equals the following:

    (I1 OR I2) AND R1 AND R2 AND (NOT E1) and (NOT E2)

  9. Click OK.


Manage federated locations (SharePoint Server 2010)

Summary: Learn how to add a federated location, configure federated search, and import a .fld file or a .osdx file.

Federated locations provide information that exists outside of your internal network to your end-users.

Manage federated locations

To go to the Manage Federated Locations page

  1. Verify that the user account that is performing this procedure is an administrator for the Search service application.

  2. On the Home page of the SharePoint Central Administration Web site, in the Application Management section, click Manage service applications.

  3. On the Service Applications page, click Search Service Application.

  4. In the Quick Launch on the Search Administration page, in the Queries and Results section, click Federated Locations.

To add a federated location

  1. On the Manage Federated Locations page, click New Location.

  2. On the Add Federated Location page, in the Location Name section, in the Location Name box, type a name for the new federated location. This name will appear to service application administrators and developers. In the Display Name box, type a name that will identify the federated location to service application administrators and site owners.

  3. In the Description section, in the Description box, type a detailed description for this federated location.

  4. In the Author section, in the Author box, type the name of the author that you want to appear to users of this location.

  5. In the Version section, in the Version box, type a version number for this location.

  6. In the Trigger section, select one of the following options:

    • Always: Query should always match

    • Prefix: Query must begin with a specified prefix. If you select this option, type the prefix in the Add Prefix box.

    • Pattern: Query must match a specified pattern. If you select this option, type the pattern in the Add Pattern box.

  7. Expand the Location Information section

    1. In the Location Type section, select one of the following options:

      • Search Index on this Server

      • FAST Index

      • OpenSearch 1.0/1.1

    2. In the Query Template section, in the Query Template box, specify the template for passing queries on the selected location.

    3. In the "More Results" Link Template section, in the "More Results" Link Template box, type the URL of the page that displays results for a search query.

  8. Expand the Display Information section, and then configure the following options:

    1. In the Federated Search Results Display Metadata section, clear the Use Default Formatting check box to do the following:

      • In the Sample Data box, edit the default sample data as necessary.

      • In the XSL box, edit the default XSL if necessary.

      • In the Properties box, edit the default properties if necessary.

    2. In the Core Search Results Display Metadata section, clear the Use Default Formatting check box to do the following:

      • In the XSL box, edit the default XSL if necessary.

      • In the Properties box, edit the default properties if necessary.

      • In the Sample Data box, edit the default sample data as necessary.

    3. In the Top Federated Results Display Metadata section, clear the Use Default Formatting check box to do the following:

      • In the XSL box, edit the default XSL if necessary.

      • In the Properties box, edit the default properties if necessary.

      • In the Sample Data box, edit the default sample data as necessary.

  9. Expand the Restrictions and Credentials Information section.

    1. In the Restrict Usage section, select one of the following options:

      • No restriction: All sites can use this location,

      • Use restriction: Only allowed sites can use this location. If you select this option, in the Allowed Sites box, type the start addresses, using semicolons to separate the URLs if necessary.

To edit a federated location

  1. On the Manage Federated Locations page, point to the location that you want to edit, click the arrow that appears, and then click Edit Location.

  2. After you have made the changes that you want, click OK.

To copy a federated location

  1. On the Manage Federated Locations page, point to the location that you want to copy, click the arrow that appears, and then click Copy Location.

  2. Select the federated location you wish to copy, and then click OK.

To delete a federated location

  1. On the Manage Federated Locations page, point to the location that you want to delete, click the arrow that appears, and then click Delete Location.

  2. Click OK to confirm that you want to proceed with the deletion.

To import a federated location

  1. On the Manage Federated Locations page, click Import Location.

  2. On the Import Federated Location page, in the Location Definition File section, in the Federated Location Definition File box, type the path of a federated location definition (.fld) file or an OpenSearch description (.osdx) file, or click the Browse button to find an .fld or .osdx file on the local file system or the network.

  3. Click OK.

    Note:

    The .osdx file type in Microsoft SharePoint Server 2010 is the successor to the .fld file type from Office SharePoint Server 2007. When you create and export a federated location in SharePoint Server 2010, the location information is saved as an .osdx file.

Video demonstration

This video shows the steps involved in importing a federated location.

Video: Importing federated locations

Watch the video (http://go.microsoft.com/fwlink/p/?LinkId=210595). To download a copy, right-click the link, and then click Save Target As.


Search the enterprise from Windows 7 (SharePoint Server 2010)
See Also

Published: August 5, 2010

Summary: Use the push method or pull method to install federated search connectors so users can perform enterprise searches from Windows 7.

Users can perform enterprise searches from a Windows 7 client by using federation. When a user types a search query in the search box in Windows Explorer, the Windows 7 client can retrieve search results from Microsoft SharePoint Server 2010 and display the results in the Windows Explorer window where the user typed the query. This article describes different ways that administrators and users can enable this search capability by installing one or more federated search connectors from SharePoint Server 2010 to the Windows 7 client. The article also compares the advantages of searching the enterprise from a Search Center in SharePoint Server to searching the enterprise from the Windows 7 client.

In this article:

  • Understanding federation and the OpenSearch protocol

  • SharePoint Server 2010 as a federation provider for the Windows 7 client

  • How an end-user installs a federated search connector on a Windows 7 client (pull method)

  • How an administrator installs a federated search connector on Windows 7 clients (push method)

  • Searching the enterprise in SharePoint Server 2010 vs. searching the enterprise from the Windows 7 client

Understanding federation and the OpenSearch protocol

In enterprise search, federation is the process of sending a search query to an external search results provider (such as a search engine), capturing the search results, and rendering those results locally for the user. In this process, a federation client requests search results by sending a search query and a federation provider delivers search results in response to the query.

The OpenSearch v1.1 protocol is commonly used for federation. In this protocol, a federation client sends a search request in a standard URL format that the federation provider can recognize. The search results are aggregated on the federation provider server and the federation provider returns the results to the federation client in a standard XML format such as RSS or Atom. The federation client then acts like a client browser to render the search results for the user. The following figure shows the structure and flow of data from a federation client to a federation provider and back to the federation client, as specified by the OpenSearch protocol.

Federated search data flow (OpenSearch protocol)

Federated search data flow (OpenSearch protocol)

For more information about the OpenSearch protocol, go to www.opensearch.org (http://go.microsoft.com/fwlink/p/?LinkId=198082).

SharePoint Server 2010 as a federation provider for the Windows 7 client

SharePoint Server has supported the OpenSearch standard, both as a federation client and a federation provider, starting with Office SharePoint Server 2007 with the Infrastructure Update for Microsoft Office Servers. To enable SharePoint Server to consume search results as a federation client, the search administrator can configure federated locations, which define how a search system gets search results from external content repositories. SharePoint Server can also provide search results to clients upon request according to the OpenSearch protocol. That is, the SharePoint Server search system can accept a search query from an external system in a URL and return search results to the external system in a searchable RSS feed.

The Windows 7 client is another system that can act as a federation client by obtaining search results from external data sources by using the OpenSearch protocol. One source from which the Windows 7 client can obtain search results is the RSS feed of SharePoint Server. To enable the Windows 7 client to obtain search results from SharePoint Server, a federated search connector must be installed on the Windows 7 client. There are two main ways to do this: an end-user can install a connector (pull method), or a search administrator can install a connector (push method).

How an end-user installs a federated search connector on a Windows 7 client (pull method)

Administrators can explain to users how easy it is for users to install a federated search connector from SharePoint Server to enable enterprise searches from the Windows 7 client.

Screenshot of video

Running time: 2:33

Play video Watch a video that shows how to find content on a SharePoint Server 2010 site from Windows 7

After a user submits a search query in a Search Center in SharePoint Server, the search system displays the results on a search results page. If the client operating system is Windows 7, the federated search connector icon appears at the top of the Core Search Results Web Part on the search results page, on the right side of the alert icon and RSS-feed icon. The following screen shot shows the federated search connector icon on a search results page.

Federated search connector icon on a SharePoint search results page

Federated search connector icon on SharePoint site

When a user clicks the federated search connector icon, the search system does the following:

  1. Generates an OpenSearch description (.osdx) file. This is an XML file that has Microsoft extensions. The file defines how to send a search query to SharePoint Server and how the search results will be presented in Windows Explorer. The .osdx file is the successor to the .fld file in Office SharePoint Server 2007. For information about .osdx file format and functionality, see Creating an OpenSearch Description File in Windows Federated Search (http://go.microsoft.com/fwlink/p/?LinkId=198085) and Federating Windows Search with Enterprise Data Sources (http://go.microsoft.com/fwlink/p/?LinkId=198087).

  2. Prompts the user, "Do you want to add this search connector to Windows? Search provider: Search_Center_title (Search_Center_URL). A shortcut will be added to your Windows favorites."

The user can click Add or Cancel in response to the prompt. If the user clicks Add, Windows 7 opens the .osdx file and creates a Windows 7 federated search connector in the user's Searches folder (drive:\Users\UserName\Searches), and a shortcut for that connector is added to the Favorites in Windows Explorer. At any time after that, the Windows 7 user can click that shortcut in Windows Explorer and then type any search query in the Windows Explorer search box to submit the query to SharePoint Server. SharePoint Server returns the search results and associated metadata (such as author and date), which are displayed in Windows Explorer where the user can view and interact with them. For any given query, the search results that are displayed in the Windows 7 client are the same as those that are displayed in the Core Search Results Web Part when the search is conducted directly in SharePoint Server. However, some relevance settings, such as Best Bets, might not be preserved when search results are displayed in the Windows 7 client. The following screen shows how federated search results are displayed in Windows Explorer.

Federated search results displayed in Windows Explorer

Federated search results in Windows Explorer

The scope of the search from Windows 7 will be the same as the scope of the last search that was performed in the Search Center in SharePoint Server before the user clicked the federated search connector icon. For example, if the scope of the last search in the Search Center was the user's team site, that team site is the scope of the corresponding federated search connector shortcut for searches from Windows 7. To be able to obtain search results in Windows 7 with a different scope, the user must first perform a new search with a different scope in a Search Center in SharePoint Server, and then click the federated search connector icon on the corresponding search results page in SharePoint Server. This creates a federated search connector shortcut in Windows Explorer that has the new scope.

How an administrator installs a federated search connector on Windows 7 clients (push method)

An administrator can install federated search connectors from SharePoint Server onto Windows 7 clients by using a push method. A federated search connector for a division-wide or company-wide search can be useful to employees and can thus be a good choice for pushing to many Windows 7 client computers at one time.

An administrator can push a federated search connector to client computers in various ways, such as by using group policy or a logon script, or by adding the federated search connector to a desktop image. For information about creating .osdx files and deploying federated search connectors by using group policy, see Windows 7 Federated Search Provider Implementer's Guide (http://go.microsoft.com/fwlink/p/?LinkId=198088), and Creating an OpenSearch Description File in Windows Federated Search (http://go.microsoft.com/fwlink/p/?LinkId=198089).

The following procedure describes another way that a search administrator can initiate deployment of a federated search connector from SharePoint Server onto Windows 7 client computers. In this procedure, the administrator creates an .osdx file and saves it to a shared document library. The administrator then sends an e-mail message to users that includes a link to the .osdx file and an explanation of what the link is for. When a user clicks the link in the e-mail, the system automatically creates a federated search connector in the Windows 7 file system and also creates a shortcut for the connector in the Favorites in Windows Explorer. We encourage search administrators to help educate users in this way about the ability to search the enterprise from Windows 7.

To use e-mail to deploy federated search connectors to client computers

  1. Verify that the user account that is performing this procedure has Contribute permissions to a shared document library where .osdx files can be stored. Also verify that targeted users have Read permissions to the shared document library.

  2. Perform a document search from a Search Center in SharePoint Server — for example, a Search Center that is division-wide or company-wide.

  3. Right-click the federated search connector icon on the search results page.

  4. Click Save Target As and save the .osdx file to a convenient location on a local drive.

  5. Perform a people search on the same division-wide or company-wide Search Center.

  6. Right-click the federated search connector icon on the search results page.

  7. Click Save Target As and save the .osdx file to a convenient location on a local drive.

  8. Upload each .osdx file to the shared document library.

  9. For each .osdx file that was uploaded to the shared document library:

    1. Right-click the link.

    2. Click Copy Shortcut.

    3. Paste the shortcut into an e-mail message. You might use hyperlink display text for each shortcut — for example, "Add a shortcut to Windows Explorer for company-wide document searches", or "Add a shortcut to Windows Explorer for division-wide people searches".

  10. In the e-mail message, explain the following to users:

    1. When a user clicks a link in the mail, a federated search connector for an enterprise search is automatically created on the Windows 7 client computer, and a shortcut for that federated search connector is automatically created in the Favorites in Windows Explorer.

    2. A user can click the federated search connector shortcut in Windows Explorer and then type a search query in Windows Explorer to retrieve search results from the division-wide or company-wide Search Center that is associated with the federated search connector. The search results are displayed in the Windows Explorer window where the user typed the query.

Searching the enterprise in SharePoint Server 2010 vs. searching the enterprise from the Windows 7 client

Performing enterprise searches directly in the SharePoint Server user interface is especially useful when a user needs to find information in a large corpus. When a user performs a search from a Search Center in SharePoint Server, the search results page typically includes a refinement panel that can help the user narrow the results by using the metadata that are returned with the results. In addition, in the SharePoint Server user interface, administrators can configure results ranking by using Best Bets and authoritative sites. Other features such as query suggestions and Did You Mean are also available to help the user find information.

In contrast, features such as refinements and Best Bets are not available for results that are viewed in Windows Explorer by using a federated search connector that was installed by the pull method. (Refinement functionality can be manually added to the .osdx file in the case of the push installation method.) For this reason, searching the enterprise from a Windows 7 client can be most useful when a user wants to retrieve familiar information from a known small site instead of a large data store. For example, a user might frequently refer to a colleague's technical specification that is stored on a SharePoint team site. In such a case, because the author and item location are known, availability of search refinements and other relevance settings is unnecessary. Administrators can communicate such considerations to users and encourage them to install federated search connectors for small sites where documents that they frequently use are stored.

When viewing search results in Windows Explorer in Windows 7, users can expedite desktop interaction with Windows features such as file preview and drag-and-drop. For more information about federation features in Windows 7, see Federated search in Windows (http://go.microsoft.com/fwlink/p/?LinkId=198091). The RSS feed from SharePoint Server also provides a rich set of metadata for search results. Metadata can include images, icons, thumbnails, and videos. Finally, if the Windows Explorer interface does not provide the information and capability that the user needs, the user can click the Search on website link in Windows Explorer (see the previous screen shot) to open a browser tab to the SharePoint Server Web site where the federated search connector was created. On that site, the same query and search results are displayed and the refinement panel is available.

See Also

Other Resources

Manage federated locations (SharePoint Server 2010)
Federated search overview
Federating Windows Search with Enterprise Data Sources


Remove URLs from search results (SharePoint Server 2010)

Summary: Learn about search result removal or watch a video that shows how to immediately remove items from the index and exclude items from crawls.

A Search service application administrator can exclude specific URLs from being displayed in search results. After an administrator removes a URL, the system removes the URL from the content index and automatically creates a rule that excludes the URL from future crawls.

Play video Watch a video that demonstrates two ways to remove items from search results.

Running time: 4:19

Download video For an optimal viewing experience, download the "Remove items from search results" video.

Right-click the link, and then click Save Target As to download a copy. Clicking the link will open a .wmv file in the default video viewer for full-resolution viewing.

There are two ways to remove URLs from search results. The first way uses the Remove the Item from the Index option, which is located on each URL drop-down list. The second way uses the Search Result Removal feature. The Search Result Removal feature allows for bulk URL removal and can provide a more efficient method of URL removal in instances where many search results are removed. Both methods of removing search result URLs create crawl rules after the URLs are removed.

Note:

As a best practice, you should remove individual search result URLs by using the URL drop-down list method when you remove few search result URLs, and you should use the Search Result Removal feature when you remove many search result URLs. Consider that when you remove many search results, each removal will also create a crawl rule that is processed during each successive crawl. After you remove the desired search result URLs, you should work with end users to provide them with guidance for the locations, access, and permissions for all objects that they do not want to show in future search results.

Use the following procedures to remove URLs from search results.

To remove individual URLs from search results by using the URL drop-down list

  1. Verify that the user account that is performing this procedure is a service application administrator for the Search service application.

  2. Navigate to the SharePoint Central Administration Web page.

  3. On the SharePoint Central Administration home page, click Manage service applications.

  4. On the Service Applications page, click the Search service application for which you want to remove URLs from search results.

  5. On the Search Service Application: Search Administration page, on the Quick Launch, in the Crawling section, click Crawl Log.

  6. On the Search Service Application: Crawl Log - Content Source page, click URL.

  7. On the Search Service Application: Crawl Log - URL page, point to the URL that you want to remove from the content index, click the arrow that appears, and then click Remove the item from the index.

  8. In the dialog box that appears, click OK.

  9. The URL is immediately removed from the content index, a crawl rule is created, and the following text is appended to the URL: Removed from the search index by Admin. This item will be excluded from future crawls.

  10. Repeat the previous steps for each URL that you want to remove from search results.

To remove multiple URLs from search results by using the Search Result Removal feature

  1. Verify that the user account that is performing this procedure is a service application administrator for the Search service application.

  2. Navigate to the SharePoint Central Administration Web page.

  3. On the SharePoint Central Administration home page, click Manage service applications.

  4. On the Service Applications page, click the Search service application for which you want to remove URLs from search results.

  5. On the Search Service Application: Search Administration page, on the Quick Launch, in the Queries and Results section, click Search Result Removal.

  6. On the Search Service Application: Crawl Log - Remove URLs From Search Results page, in the URLs to remove text box, paste or type the search result URLs that you want to remove.

    Important:

    All text must be in lowercase letters. If any uppercase text is present in the URLs to remove text box, unexpected results may occur, including failure to create crawl rules or remove search result URLs without an error message displayed.

    Tip:

    When you paste search result URLs into the URLs to remove text box, you may find it helpful to first create the list of search result URLs in Notepad or similar text editor, make any uppercase letter corrections, and then paste the corrected list into the URLs to remove text box. This will let you avoid excessive scrolling to make corrections in the URLs to remove text box directly.

  7. When all search result URLs are entered, click Remove Now.

  8. Each URL is immediately removed from the content index, a crawl rule is created, and the following text is appended to the URL: Removed from the search index by Admin. This item will be excluded from future crawls.

  9. To verify that all search result URLs are removed by using the Search Center site, search for keywords contained in the removed search result URLs.

  10. To verify that a crawl rule exists for all removed search result URLs by using Central Administration, take the following steps: While in Central Administration on the Search Service Application: Search Administration page, on the Quick Launch, in the Crawling section, click Crawl Rules. A crawl rule for each removed search result URL should appear.


Manage query suggestions (SharePoint Server 2010)

Published: May 5, 2011

Summary: Configure how query suggestions appear at query time or in search results, and use Windows PowerShell to add keywords to a new search system.

Query suggestions, also known as search suggestions, appear in a list below the Search Box Web Part and on the search results page in the Related Queries Web Part. You can turn off query suggestions so that they will not appear at query time, and you can manually create query suggestions. When you use Windows PowerShell to manually add query suggestions, you immediately provide the benefits of query suggestions to users of a newly installed search system. You can also supplement the default Microsoft SharePoint Server 2010 behavior by adding query suggestions for key search terms. In this manner, you can provide query suggestions that might not be generated by the system because users are not using the search terms that would create the query suggestions that you want to appear.

Query suggestions depend on users' searches. Only search queries that have been previously returned and then clicked through at least six times will appear in either the search box list or the Related Queries Web Part. Therefore, a newly deployed SharePoint Server 2010 system will not show query suggestions in either location. Moreover, a query suggestion will only appear in the search box list or the Related Queries Web Part if the query suggestion contains at least one of the words that are typed.

You can configure how query suggestions appear below the search box. You do this in the Query Suggestions node of the Search Box Web Part menu. For more information about the Search Box Web Part, see Change properties for the Search Box Web Part (SharePoint Server 2010).

You can configure the Related Queries Web Part on the search results page in the same manner that you configure other Web Parts. In addition, you can configure the following:

  • Query Suggestion Results - Allows configuration of Results per Page, Characters in Summary and provides access to an XLS Editor and Parameters Editor.

  • Results Query Options - Allows enable/disable of search term stemming.

How to configure query suggestions

Query suggestions are automatically created over time for any query that has a specified number of result click-throughs. By default, a query suggestion is created after users click through six times. The suggestions are compiled by the Prepare query suggestions timer job in Central Administration, which is scheduled to run one time every day. By default, query suggestions are turned on. You can turn this feature off or configure the default settings by editing the Search Box Web Part.

Even if you turn off query suggestions on the Search Box Web Part menu, related searches still will appear on the search results page in the Related Queries Web Part.

To configure query suggestions

  1. Verify that the user account that is performing this procedure is a site owner on the Search Center site.

  2. On the Search Center site home page, click Site Actions, and then click Edit page.

  3. On the Search Box Web Part menu, click Edit Web Part.

  4. Expand the Query Suggestions node.

  5. Make sure that the Show query suggestions box is selected. If you want to turn off query suggestions, clear the Show query suggestions check box.

  6. If required, change the following settings:

    • Minimum prefix length: The number of letters the user must type before query suggestions are displayed.

    • Suggestion delay (in milliseconds): The number of milliseconds to elapse before query suggestions are displayed.

    • Number of suggestions to display: The number of query suggestions to display in the list.

  7. Click OK.

How to create query suggestions by using Windows PowerShell

The following procedure shows how to manually create query suggestions for a newly deployed SharePoint Server 2010 installation by using Windows PowerShell. You can also use this procedure to add query suggestions to an existing SharePoint Server 2010 installation when you want to include a list of suggestions that are independent of search usage. These query suggestions will appear below the search box and in the Related Queries Web Part. Query suggestions that you create by using this procedure will appear immediately after you run the commands.

To manually create query suggestions

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell command prompt, type the following commands:

    Get the current Search service application:

    Copy Code
    $searchapp = Get-SPEnterpriseSearchServiceApplication -Identity "<SearchServiceApplicationName>"

    Display all current query suggestions:

    Copy Code
    Get-SPEnterpriseSearchQuerySuggestionCandidates -SearchApplication $searchapp

    Add a query suggestion:

    Copy Code
    New-SPEnterpriseSearchLanguageResourcePhrase -SearchApplication $searchapp -<Language ID> -Type QuerySuggestionAlwaysSuggest -Name "<Suggestion>"

    Run the prepare query suggestions timer job:

    Copy Code
    Start-SPTimerJob -Identity "prepare query suggestions"

    Remove a query suggestion:

    Copy Code
    Remove-SPEnterpriseSearchLanguageResourcePhrase -SearchApplication $searchapp -Language <Language ID> -Type QuerySuggestionAlwaysSuggest -Identity "<Suggestion>"

  6. Repeat the New-SPEnterpriseSearchLanguageResourcePhrase cmdlet for each query suggestion that you want to add. As a best practice, you should run the Start-SPTimerJob cmdlet only after you have added all the query suggestions that you want.

Add multiple query suggestions example

The following example shows how to add a group of query suggestions in which the letters "test" are part of every query suggestion.

Copy Code
$searchapp = Get-SPEnterpriseSearchServiceApplication -Identity "<SearchServiceApplicationName>"
New-SPEnterpriseSearchLanguageResourcePhrase -SearchApplication $searchapp -Language En-Us -Type QuerySuggestionAlwaysSuggest -Name "refinement test"
New-SPEnterpriseSearchLanguageResourcePhrase -SearchApplication $searchapp -Language En-Us -Type QuerySuggestionAlwaysSuggest -Name "test case"
New-SPEnterpriseSearchLanguageResourcePhrase -SearchApplication $searchapp -Language En-Us -Type QuerySuggestionAlwaysSuggest -Name "test case alpha"
New-SPEnterpriseSearchLanguageResourcePhrase -SearchApplication $searchapp -Language En-Us -Type QuerySuggestionAlwaysSuggest -Name "test case beta"
New-SPEnterpriseSearchLanguageResourcePhrase -SearchApplication $searchapp -Language En-Us -Type QuerySuggestionAlwaysSuggest -Name "really long query suggestion test"
New-SPEnterpriseSearchLanguageResourcePhrase -SearchApplication $searchapp -Language En-Us -Type QuerySuggestionAlwaysSuggest -Name "test"
New-SPEnterpriseSearchLanguageResourcePhrase -SearchApplication $searchapp -Language En-Us -Type QuerySuggestionAlwaysSuggest -Name "tester"
New-SPEnterpriseSearchLanguageResourcePhrase -SearchApplication $searchapp -Language En-Us -Type QuerySuggestionAlwaysSuggest -Name "test refinement cases"
New-SPEnterpriseSearchLanguageResourcePhrase -SearchApplication $searchapp -Language En-Us -Type QuerySuggestionAlwaysSuggest -Name "test short"
New-SPEnterpriseSearchLanguageResourcePhrase -SearchApplication $searchapp -Language En-Us -Type QuerySuggestionAlwaysSuggest -Name "test shorty"
New-SPEnterpriseSearchLanguageResourcePhrase -SearchApplication $searchapp -Language En-Us -Type QuerySuggestionAlwaysSuggest -Name "short"
New-SPEnterpriseSearchLanguageResourcePhrase -SearchApplication $searchapp -Language En-Us -Type QuerySuggestionAlwaysSuggest -Name "acceptance test"
New-SPEnterpriseSearchLanguageResourcePhrase -SearchApplication $searchapp -Language En-Us -Type QuerySuggestionAlwaysSuggest -Name "ecm test"
New-SPEnterpriseSearchLanguageResourcePhrase -SearchApplication $searchapp -Language En-Us -Type QuerySuggestionAlwaysSuggest -Name "test three"
Start-SPTimerJob -Identity "prepare query suggestions"


Manage Search Centers (SharePoint Server 2010)

Published: January 13, 2011

A Search Center in Microsoft SharePoint Server 2010 is a SharePoint site that provides a centralized and highly customizable user interface in which users can perform search queries. By default, a Search Center includes the following components:

  • Search Center Home page

  • Search Results page

  • Advanced Search page

  • People Search page

  • People Search Results page

  • Search Tab Navigation control

You can customize the search user experience by modifying these components, or by creating your own version of these components. You can then add them to the Search Center to extend its functionality. The following articles describe how you can modify or customize the different components of a Search Center:

  • Change properties for the Search Paging Web Part (SharePoint Server 2010). Describes how to configure the paging control for search results that display on more than one page.

  • Change properties for the Search Box Web Part (SharePoint Server 2010). Describes how to configure the appearance of the Search Box and configure the scopes that are used.

  • Change how search results appear in the Search Core Results Web Part (SharePoint Server 2010). Describes how to configure the number of search results that are displayed and their appearance.

  • Change what appears in the Refinement Panel Web Part (SharePoint Server 2010). Describes how to configure refinements that appear in the Refinement Panel Web Part.

  • Customizing the Search Center. Describes how to add a search tab navigation control and a scopes notification control to a page.

  • Customizing Search Results (http://go.microsoft.com/fwlink/p/?LinkID=207853). Describes how to programmatically configure how search results are displayed.

  • Refinement Panel Overview (http://go.microsoft.com/fwlink/p/?LinkID=207857). Describes how to specify filter categories in the Refinement Panel and configure custom refinement categories based on managed properties and enterprise content management (ECM) taxonomy nodes.

  • Visual Upgrade for SharePoint Enterprise Search (http://go.microsoft.com/fwlink/p/?LinkId=208549). Provides an overview of the different options for upgrading the search user interface when you install SharePoint Server 2010.


Change how search results appear in the Search Core Results Web Part (SharePoint Server 2010)
See Also

Published: January 13, 2011

The Search Core Results Web Part displays the relevant results of a search query. It is located on the search results page and contains properties that control how search results are displayed. By default, the search results page is located at http://<ServerName>/results.aspx. The Search Core Results Web Part must appear on the results.aspx page in order for all other Web Parts on the page to work. When users type a query, the Search Core Results Web Part shows the first 10 relevant results on the first page. The words used in the query are highlighted in bold in the results. You can edit the properties of the Search Core Results Web Part to change the number of results that appear and how results are displayed on the page.

Change how search results are displayed in the Search Core Results Web Part

The core search results include a link to the content containing the keyword, a snippet (that is, a partial description) of the relevant content, and, depending on the type of content, information about its author, the date it was created, and its size. Below the snippet is the complete URL of the document or site.

If you allow duplicate results and duplicate items that are found in the index to be displayed, a View duplicates link appears in the result. When the item is displayed in a Web browser, the View in Browser link appears below the snippet.

To edit the properties of the Search Core Results Web Part

  1. Verify that the user account that is performing this procedure is a member of the Designers group.

  2. On the search results page, click the Site Actions menu, and then click Edit Page. The search results page opens in Edit mode.

  3. In the Search Core Results Web Part, click the arrow, and then on the menu, click Edit Web Part.

The following table lists what actions to perform to change how the Search Core Results Web Part displays search results.

To do this Perform these actions

Set the location that provides the results from user or fixed queries

Under Location Properties, on the Location menu, specify the location that you want to provide search results in the Web Part. The default is Local Search Results. Other options provided with SharePoint Server 2010 include, Local People Search Results, Internet Search Results, Internet Search Suggestions, and Local Microsoft FAST Search Server 2010 for SharePoint Search Results.

After you specify this value, you can type a description to clarify the selected location.

Set the search results scope

Under Location Properties, in the Scope box, type a valid scope for the search results. This is a value that you would have previously configured and is used for queries when the URL does not contain the 's' parameter. The setting of this property affects all Search Core Results Web Parts that have the same Cross Web Part Query ID. When multiple Search Core Results Web Parts have the same "user query" ID, only the first Web Part can be edited to change this property. All of the other Search Core Result Web Parts that share the same ID are affected by the change.

Sort results by most relevant

Under Display Properties, in the Default Results Sorting list, select Relevance. This is the default.

Tip:

To give users a drop-down menu that shows both the Relevance and Modified Date options, use the Search Action Links Web Part.

Sort results by most current document

Under Display Properties, in the Default Results Sorting list, select Modified Date. By default, results are sorted by relevance.

Tip:

To give users a drop-down menu that shows both the Relevance and Modified Date options, use the Search Action Links Web Part.

Change the number of results that appear on a page

Under Display Properties, in the Results Per Page box, type the number of results that you want to appear on a page before pagination is required. The maximum is 50 results. The default is 10 results. Increasing this number affects how quickly the user interface renders.

Change the number of characters in the summary description

Under Display Properties, check the Limit Characters in Summary box, and then type a number from 1 to 10,000 in the Characters in Summary box. The default is 185 characters.

Change the number of characters of the URL in search results

By default, 90 characters are displayed before the URL is truncated. In Display Properties, when you check the box to Limit Characters in URL, and enter a value other than 90 in the Characters in URL box, there is no change to the user interface.

Permit the use of custom XSL

To change the way search results are displayed by using XSL, under Display Properties, clear the Use Location Visualization check box. This enables the XSL Editor button and lets you edit the fetched properties and the XSL. By default, the fetched properties are pulled from the location. The following list shows the default metadata properties:

  • <Column Name="WorkId"/>

  • <Column Name="Rank"/>

  • <Column Name="Title"/>

  • <Column Name="Author"/>

  • <Column Name="Size"/>

  • <Column Name="Path"/>

  • <Column Name="Description"/>

  • <Column Name="Write"/>

  • <Column Name="SiteName"/>

  • <Column Name="CollapsingStatus"/>

  • <Column Name="HitHighlightedSummary"/>

  • <Column Name="HitHighlightedProperties"/>

  • <Column Name="ContentClass"/>

  • <Column Name="IsDocument"/>

  • <Column Name="PictureThumbnailURL"/>

  • <Column Name="PopularSocialTags"/>

  • <Column Name="PictureWidth"/>

  • <Column Name="PictureHeight"/>

  • <Column Name="DatePictureTaken"/>

  • <Column Name="ServerRedirectedURL"/>

For more information about how to modify the XSL transformation (XSLT) to show custom properties on the search results page, see How to: Change the Properties Returned in the Core Search Results (http://go.microsoft.com/fwlink/p/?LinkId=207851).

Note:

The Parameters Editor button is not used in this Web Part.

Set the query language

Under Results Query Options, in the Query Language list, select the language that will be applied during queries. This is the language that is used during a query on language-specific properties (such as date and time). It is not the language that is used to display results.

Tip:

To change the language in which results are displayed, click Preferences next to the search box, and then select a language for results.

Pass user-generated data to other Web Parts

Under Results Query Options, in the Cross-Web Part query ID list, select a query ID that you want to use to pass data between the Search Core Results Web Part and other Web Parts that are on the search results page. By default, the query ID is User query, which means that data generated by users' queries is passed to all other Web Parts that have User query configured as the value of the Cross-Web Part query ID property. You must change this value if you configure a fixed keyword query.

Remove or include duplicate or near-duplicate search results

Under Results Query Options, select or clear the check box for Remove Duplicate Results. By default, the check box is selected.

Include inflectional variants of query terms

Stemming expands a user's query terms to include inflectional variants of the query terms. Inflectional variants are suffixes that do not change the meaning of a term. For example, if stemming is enabled for English (by default, it is not), and a user conducts a query for the word "search," the results would include the words "search," "searches," "searching," and "searched." Under Results Query Options, select or clear the check box for Enable Search Term Stemming. By default, the check box is cleared.

Return results for stop words

Stop words, also known as noise words, are words such as "and," "a," "is," "the," and so on. You can add or delete stop words for any language by editing the stop-word file for that language. Stop words are ignored at index and query time. By default, a query for a stop word returns no results. To change this setting, under Results Query Options, clear the box for Ignore Noise Words.

Set up a fixed keyword query

A fixed keyword query can be used to return results for a particular keyword or property value. It is used together with the Cross-Web Part Query ID setting. Under Results Query Options, in the Append Text to Query box, type the keyword or property name and value for the search. The maximum number of characters is 1,000.

Note:

If you configure a fixed keyword query, you must change the default Cross-Web Part Query ID setting in the Results Query Options node of this Web Part from the default setting of User Query to another query ID on the list, such as Query 2. If you do not change this value, the filter in the Fixed Keyword Query setting is not added to the search query.

Add a More Results link

A fixed query displays only a specified number of results. Users who want to view more results must select this link. To link to a Web address to display more results for the query, under Results Query Options, expand More Results Link Options, and then select the Show More Results Link box. The maximum number of characters is 1,000.In the More Results Link Text Label box, type the text that you want to appear as a link for users to click when they want to view more results. If you leave this box blank but specify a URL, More results… is displayed. The maximum number of characters is 300.

Configure the common properties of a Web Part

Web Parts share a common set of properties that control their appearance, layout, and advanced characteristics. You change Web Part properties in the tool pane.

Note:

The common Web Part properties that you see in the tool pane may differ from what is documented in this section for the following reasons:

  • To see the Advanced section in the tool pane, you must have at least Designer permission.

  • For a specific Web Part, a Web Part developer may have chosen not to display one or more of these common properties or may have chosen to create and display additional properties that are not listed below in the Appearance, Layout, and Advanced sections of the tool pane.

  • Some permission and property settings may disable or hide Web Part properties.

For more information about permission levels, see User permissions and permission levels (SharePoint Server 2010).

Appearance

Property | Description
Title | Specifies the title of the Web Part that appears in the Web Part title bar.
Height | Specifies the height of the Web Part.
Width | Specifies the width of the Web Part.
Chrome State | Specifies whether the entire Web Part appears on the page when a user opens the page. By default, the chrome state is set to Normal and the entire Web Part appears. Only the title bar appears when the state is set to Minimized.
Chrome Type | Specifies whether the title bar and border of the Web Part frame are displayed.

Layout

Property Description

Hidden

Specifies whether the Web Part is visible when a user opens the page. If the check box is selected, the Web Part is visible only when you are designing the page and has the suffix (Hidden) appended to the title.You can hide a Web Part if you want to use it to provide data to another Web Part through a Web Part connection, but you do not want to display the Web Part.

Direction

Specifies the direction of the text in the Web Part content. For example, Arabic is a right-to-left language; English and most other European languages are left-to-right languages. This setting may not be available for all types of Web Parts.

Zone

Specifies the zone on the page where the Web Part is located. Note Zones on the page are not listed in the list box when you do not have permission to modify the zone.

Zone Index

Specifies the position of the Web Part in a zone when the zone contains more than one Web Part. To specify the order, type a positive integer in the text box. If the Web Parts in the zone are ordered from top to bottom, a value of 1 means that the Web Part appears at the top of the zone. If the Web Parts in the zone are ordered from left to right, a value of 1 means that the Web Part appears on the left of the zone. For example, when you add a Web Part to an empty zone that is ordered from top to bottom, the Zone Index is 0. When you add a second Web Part to the bottom of the zone, its Zone Index is 1. To move the second Web Part to the top of the zone, type 0, and then type 1 for the first Web Part.

Note:

Each Web Part in the zone must have a unique Zone Index value. Therefore, changing the Zone Index value for the current Web Part can also change the Zone Index value for other Web Parts in the zone.

Advanced

Property Description

Allow Minimize

Specifies whether the Web Part can be minimized.

Allow Close

Specifies whether the Web Part can be removed from the page.

Allow Hide

Specifies whether the Web Part can be hidden.

Allow Zone Change

Specifies whether the Web Part can be moved to a different zone.

Allow Connections

Specifies whether the Web Part can participate in connections with other Web Parts.

Allow Editing in Personal View

Specifies whether the Web Part properties can be modified in a personal view.

Export Mode

Specifies the level of data that is permitted to be exported for this Web Part. Depending on your configuration, this setting may not be available.

Title URL

Specifies the URL of a file containing additional information about the Web Part. The file is displayed in a separate browser window when you click the Web Part title.

Description

Specifies the ScreenTip that appears when you rest the mouse pointer on the Web Part title or Web Part icon. The value of this property is used when you search for Web Parts by using the Search command on the Find Web Parts menu of the tool pane.

Help URL

Specifies the location of a file containing Help information about the Web Part. The Help information is displayed in a separate browser window when you click the Help command on the Web Part menu.

Help Mode

Specifies how a browser will display Help content for a Web Part.Select one of the following:Modal Opens a separate browser window, if the browser has this capability. A user must close the window before returning to the Web page.Modeless Opens a separate browser window, if the browser has this capability. A user does not have to close the window before returning to the Web page. This is the default value.Navigate Opens the Web page in the current browser window.

Note:

Even though custom Microsoft ASP.NET Web Parts support this property, default SharePoint Help topics open only in a separate browser window.

Catalog Icon Image URL

Specifies the location of a file containing an image to be used as the Web Part icon in the Web Part List. The image size must be 16 by 16 pixels.

Title Icon Image URL

Specifies the location of a file containing an image to be used in the Web Part title bar. The image size must be 16 by 16 pixels.

Import Error Message

Specifies a message that appears if there is a problem importing the Web Part.

See Also

Other Resources

Customizing Search Results


Change what appears in the Refinement Panel Web Part (SharePoint Server 2010)

Published: January 13, 2011

By default, the Refinement Panel Web Part appears on the results.aspx page. When you type a query, the refinement panel shows additional search refinement options that affect what search results appear in the Search Core Results Web Part.You can change the appearance of the refinement panel by editing the properties of the Web Part. For example, you can change the categories that appear in the refinement panel. This article describes how to edit the properties of the Refinement Panel Web Part.

Edit the properties of the Refinement Panel Web Part

By default, the search results page is located at http://ServerName/SearchCenterLocation/pages/results.aspx. The Search Core Results Web Part must appear on the results.aspx page for the Refinement Panel Web Part to work.

To edit the Refinement Panel Web Part

  1. Verify that the user account that is performing this procedure is a member of the Designers group.

  2. On the Search Results page, click the Site Actions menu, and then click Edit Page. The Search Results page opens in Edit mode.

  3. In the Refinement Panel Web Part, on the Web Part menu, click Edit Web Part.

Use the information in the following table to change how the Refinement Panel Web Part displays search results.

To do this Perform these actions

Allow this Web Part and other Web Parts with the same query ID to display results from the same query.

Under Results Query Options, in the Cross-Web Part query ID box, select User query. All other selections do not give results.

Add a caption to the refinement panel

Under Refinement, in the Refinement Panel Caption box, type the text you want displayed as a caption.

Change the categories that display in the refinement panel

Under Refinement, click in the Filter Category Definition box, and then click the Click to use builder button. Change the XML and properties to display the values that you want in the property panel.

For more information, see Refinement Panel XML Schema (http://go.microsoft.com/fwlink/p/?LinkId=207855), Category (http://go.microsoft.com/fwlink/p/?LinkId=207856), and Refinement Panel Overview (http://go.microsoft.com/fwlink/p/?LinkId=207857).

Improve the accuracy of filter results by increasing the number of results included in the calculations

Under Refinement, in the Accuracy Index box, type a number larger than 0. The default is 50 with no upper maximum..

A larger number includes more results to calculate filter values. This may affect how quickly the search page renders.

Change the number of categories to display

Under Refinement, in the Number of Categories to Display box, type a number from 0 to 50. The default is six categories.

Change the number of characters to display in the panel before ellipses are displayed

Under Refinement, in the Number of Characters to Display box, type a number larger than 0. By default, the value is 19 characters in Microsoft SharePoint Server 2010 and Microsoft Search Server 2010, and 20 characters for Microsoft FAST Search Server 2010 for SharePoint.

Note:

When the number of characters exceeds the value that is set, the results are truncated. The truncated result shows N - 2 characters because the ellipses used for truncation count for two characters.

Configure the common properties of a Web Part

Web Parts share a common set of properties that control their appearance, layout, and advanced characteristics. You change Web Part properties in the tool pane.

Note:

The common Web Part properties that you see in the tool pane may differ from what is documented in this section for several reasons:

  • Verify that the user account that is performing this procedure is a member of the Designers group.

  • For a specific Web Part, a Web Part developer may have chosen not to display one or more of these common properties or may have chosen to create and display additional properties that are not listed below in the Appearance, Layout, and Advanced sections of the tool pane.

  • Some permission and property settings may disable or hide Web Part properties.

For more information about permission levels, see User permissions and permission levels (SharePoint Server 2010).

Appearance

Property | Description
Title | Specifies the title of the Web Part that appears in the Web Part title bar.
Height | Specifies the height of the Web Part.
Width | Specifies the width of the Web Part.
Chrome State | Specifies whether the entire Web Part appears on the page when a user opens the page. By default, the chrome state is set to Normal and the entire Web Part appears. Only the title bar appears when the state is set to Minimized.
Chrome Type | Specifies whether the title bar and border of the Web Part frame are displayed.

Layout

Property Description

Hidden

Specifies whether the Web Part is visible when a user opens the page. If the check box is selected, the Web Part is visible only when you are designing the page and has the suffix (Hidden) appended to the title.You can hide a Web Part if you want to use it to provide data to another Web Part through a Web Part connection, but you do not want to display the Web Part.

Direction

Specifies the direction of the text in the Web Part content. For example, Arabic is a right-to-left language; English and most other European languages are left-to-right languages. This setting may not be available for all types of Web Parts.

Zone

Specifies the zone on the page where the Web Part is located. Note Zones on the page are not listed in the list box when you do not have permission to modify the zone.

Zone Index

Specifies the position of the Web Part in a zone when the zone contains more than one Web Part. To specify the order, type a positive integer in the text box. If the Web Parts in the zone are ordered from top to bottom, a value of 1 means that the Web Part appears at the top of the zone. If the Web Parts in the zone are ordered from left to right, a value of 1 means that the Web Part appears on the left of the zone. For example, when you add a Web Part to an empty zone that is ordered from top to bottom, the Zone Index is 0. When you add a second Web Part to the bottom of the zone, its Zone Index is 1. To move the second Web Part to the top of the zone, type 0, and then type 1 for the first Web Part.

Note:

Each Web Part in the zone must have a unique Zone Index value. Therefore, changing the Zone Index value for the current Web Part can also change the Zone Index value for other Web Parts in the zone.

Advanced

Property Description

Allow Minimize

Specifies whether the Web Part can be minimized.

Allow Close

Specifies whether the Web Part can be removed from the page.

Allow Hide

Specifies whether the Web Part can be hidden.

Allow Zone Change

Specifies whether the Web Part can be moved to a different zone.

Allow Connections

Specifies whether the Web Part can participate in connections with other Web Parts.

Allow Editing in Personal View

Specifies whether the Web Part properties can be modified in a personal view.

Export Mode

Specifies the level of data that is permitted to be exported for this Web Part. Depending on your configuration, this setting may not be available.

Title URL

Specifies the URL of a file containing additional information about the Web Part. The file is displayed in a separate browser window when you click the Web Part title.

Description

Specifies the ScreenTip that appears when you rest the mouse pointer on the Web Part title or Web Part icon. The value of this property is used when you search for Web Parts by using the Search command on the Find Web Parts menu of the tool pane.

Help URL

Specifies the location of a file containing Help information about the Web Part. The Help information is displayed in a separate browser window when you click the Help command on the Web Part menu.

Help Mode

Specifies how a browser will display Help content for a Web Part.Select one of the following:Modal Opens a separate browser window, if the browser has this capability. A user must close the window before returning to the Web page.Modeless Opens a separate browser window, if the browser has this capability. A user does not have to close the window before returning to the Web page. This is the default value.Navigate Opens the Web page in the current browser window.

Note:

Even though custom Microsoft ASP.NET Web Parts support this property, default SharePoint Help topics open only in a separate browser window.

Catalog Icon Image URL

Specifies the location of a file containing an image to be used as the Web Part icon in the Web Part List. The image size must be 16 by 16 pixels.

Title Icon Image URL

Specifies the location of a file containing an image to be used in the Web Part title bar. The image size must be 16 by 16 pixels.

Import Error Message

Specifies a message that appears if there is a problem importing the Web Part.


Change properties for the Search Box Web Part (SharePoint Server 2010)

Published: January 20, 2011

This article describes how to configure search settings for a site collection, and then describes how to configure Search Box Web Part properties. Search Box Web Part settings depend on the search settings that are configured for the site collection by the site collection administrator. Site collection search settings affect all sites in a site collection. However, Search Box Web Parts that appear on pages in sites can be configured by site owners if they want to specify a particular configuration for that page.

In this article:

  • Site collection search settings

  • Search Box Web Part settings

  • Configure the common properties of a Web Part

Site collection search settings

This section describes how to configure search settings that affect all sites in a site collection. It describes only settings found on the Search Settings page and does not include any settings for the Search Box Web Part. Settings and configuration for the Search Box Web Part are described in the next section.

To configure search settings for a site collection

  1. Verify that the user account that is performing this procedure is a site collection administrator for the site collection for which you want to configure search settings.

  2. Browse to the root of the site collection for which you want to configure search settings — for example, http://<ServerName/SiteCollectionName>/pages/default.aspx.

  3. On the Site Actions menu, click Site Settings.

  4. In the Site Collection Administration section, click Search Settings.

  5. On the Search Settings page, configure the following properties:

    • Site Collection Search Center. By default, custom scopes do not appear in the scopes drop-down list so users are not able to use All Sites or People in a site that is not a Search Center. This property provides the ability to display custom scopes in the drop-down list and provide the URL to the Search Center that these custom scopes searches should navigate to display the search results. Any custom scope that does not explicitly list a specific URL will use the default Search Center URL. The URL can be a relative value to the root site collection, or it can be an explicit value.

    • Site Collection Search Dropdown Mode. This setting configures the drop-down mode for all search boxes within the site collection. The drop-down mode options that are available are listed in the following table.

      Option Description

      Do not show scopes dropdown, and default to contextual scope

      This is the default setting. This will not render the scopes drop-down list on any page and all queries will default to the contextual scope such as the current site or current list being searched.

      Do not show scopes dropdown, and default to target results page

      This option will not render the scopes drop-down list, but all queries will not be contextually scoped. This is an All Sites custom scope search. If Site Collection Search Center is enabled to use custom scopes, all queries will use the search center specified in the URL of this property. The Site Collection Search Center property must be enabled to use custom scopes, if the property is not enabled to use custom scopes, all queries will be displayed in the site collection search results page. The default is: /_layouts/OSSSearchResults.aspx.

      Show scopes dropdown

      This will render the scopes drop-down list on any page and the scope that appears as the default value in the drop-down list will be the contextual scope. If custom scopes are not enabled, the drop-down list will display the default scope in the custom scope display group.

      Show, and default to 's' URL parameter

      This property is similar toShow scopes dropdown. The difference is that once a query is executed, the default scope to display in the scopes drop-down list will be the same scope as the original query.

      Show and default to contextual scope

      This renders the scopes drop-down list on all pages. The scope that appears as the default value in the drop-down list is the contextual scope regardless if custom scopes are enabled or not.

      Show, do not include contextual scope

      This will render the scopes drop-down list on all pages but will not include contextual scopes. This value should only be used if custom scopes are enabled. The default scope in the drop-down list will be the default scope in the custom scope display group.

      Show, do not include contextual scopes, and default to 's' URL parameter

      This property is similar to Show, and default to 's' URL parameter. The difference is that contextual scopes will not be included in the scope drop-down list that is rendered on all pages.

    • Site Collection Search Results Page. This property configures the search results page used for contextual searches. This setting can only be configured if the Site Collection Search Dropdown mode includes contextual scopes. This setting should be changed if you plan to use a customized page instead of the default osssearchresults.aspx page to return contextual searches. This setting is new for SharePoint Server 2010. It allows custom page creation rather than editing the existing osssearchresults.aspx page when the osssearchresults.aspx page is replaced during patching and upgrades.

      Note:

      When you change the search settings, it may take a few minutes for changes to take effect on the site collection. You can refresh the page to resolve the issue.

Search Box Web Part settings

The Search Box Web Part can appear on any page in a site collection and appears by default on the Search Center for the site collection. This section describes the available properties for the Search Box Web Part that are used in conjunction with the site collection settings.

To configure Search Box Web Part properties

  1. Verify that the user account that is performing this procedure is a member of the Designers group.

  2. Go to the page that displays the Search Box Web Part that you want to configure.

  3. On the Site Actions menu, click Edit Page.

  4. On the Search Box Web Part menu, click Edit Web Part.

  5. Use the information in the following tables to configure the Scopes Dropdown, Query Text Box, Query Suggestions, and Miscellaneous properties.

    To do this Perform these actions

    Show a drop-down list in the search box that contains all scopes defined for this site collection

    Under Scopes Dropdown, in the Dropdown mode list, select Show scopes dropdown.

    Show a drop-down list in the search box and select a default scope. (For example, if the URL is default.aspx?s=scope1, scope1 is the default scope.)

    Under Scopes Dropdown, in the Dropdown mode list, select Show, and default to 's' URL parameter.

    Show a drop-down list in the search box, and default to a site or list scope.

    Under Scopes Dropdown, in the Dropdown mode list, select Show and default to contextual scope.

    Show a drop-down list in the search box, but do not include scopes defined for the current site or current list.

    Under Scopes Dropdown, in the Dropdown mode list, select Show, do not include contextual scopes.

    Show a drop-down list in the search box, select a default scope, but do not include scopes defined for the current site or current list.

    Under Scopes Dropdown, in the Dropdown mode list, select Show, do not include contextual scopes, and default to 's' URL parameter.

    Default only to a scope defined for the current site or current list, and do not show a drop-down list in the search box.

    Under Scopes Dropdown, in the Dropdown mode list, select Do not show scopes dropdown, and default to contextual scope.

    Default only to the target results page, and do not show a drop-down list in the search box.

    Under Scopes Dropdown, in the Dropdown mode list, select Do not show scopes dropdown, and default to target results page.

    Label the scopes drop-down list

    Note:

    The Use site dropdown mode check box in the Miscellaneous node must be cleared for this property to work. By default, this check box is cleared.

    Under Scopes Dropdown, under Dropdown label, click … Click to use Builder . Type up to 300 characters for the label.

    Set the width of the scopes drop-down list

    Under Scopes Dropdown, in the Fixed dropdown width (in pixels) box, type a value from 1 through 1000.

    Use the information in the following table to change the appearance of the search box and specify whether additional query terms are appended.

    To do this Perform the following actions

    Add a user interface label for the search box

    Under Query Text Box, in the Query text box label box, type the text that you want to use as the search box label.

    Change the size of the search box

    Under Query Text Box, in the Query text box width (in pixels) box, type the number of pixels for the width of the box. The default is 368 pixels. There are no maximum or minimum requirements.

    Append keyword terms or property filters to all queries

    Under Query Text Box, in the Additional query terms box, type the text to be appended to queries (maximum of 500 characters).

    Add a user interface label to describe appended query terms

    Under Query Text Box, in the Additional query description label box, type the text to that describes the purpose of the additional query terms (maximum 300 characters).

    Add or remove text in the search box that prompts users — for example. "Search <SiteName>".)

    Under Query Text Box, in the Query box prompt string box, type the text that you want to appear. The text appears until the user clicks in the search box. You can type a maximum of 300 characters.

    Query suggestions can be displayed as queries are typed in the search box. Use the information in the following table to change the query suggestion settings.

    To do this Perform these actions

    Turn query suggestions on or off.

    Under Query Suggestions, select or clear the Show query suggestions check box.

    Change the minimum prefix length.

    Under Query Suggestions, in the Query suggestion minimum prefix length box, type a number that has a value of 1 or greater. There is no maximum. The default is 2.

    Change the minimum number of characters required before suggestions appear.

    Under Query Suggestions, in the Suggestion delay (in milliseconds) box, type a number that has a value of 1 or greater milliseconds. There is no maximum. The default is 250 milliseconds.

    Warning:

    Setting this value lower than the default value may degrade performance.

    Change the maximum suggestions displayed

    Under Query Suggestions, in the Number of suggestions to display box, type a number that has a value of 1 or greater. There is no maximum. The default is 8.

    By using the settings in the Miscellaneous node, you can take advantage of site settings. Use the information in the following table to specify miscellaneous settings.

    To do this Perform these actions

    Use the search box drop-down mode that is specified for the site collection. This setting is on the Search Settings page and is set by the site collection administrator.

    Under Miscellaneous, select or clear the Use site dropdown mode check box.

    Use the results page defined in the Search Settings page in the site collection. This setting is overridden if the scopes drop-down list is set to Show Scopes Dropdown.

    Under Miscellaneous, select or clear the Use site level defaults box. By default, this box is cleared.

    Add or remove the Advanced search link next to the search box

    Under Miscellaneous, select or clear the Display advanced search link check box. By default, the box is selected and links to the advanced.aspx page.

    Add or remove the Preferences link next to the search box

    Under Miscellaneous, select or clear the Display user preferences link check box. By default, the box is selected.

    Change the look of the Go Search button that starts a search query.

    Under Miscellaneous, in the Search button image URL box, type the path of the image file. The image must be 16 x 16 pixels.

    Change the look of the Go Search button that is in effect during a search query.

    Under Miscellaneous, in the Active Search button image URL box, change the URL to point to a new image.

    Change the look of the search box when the pointer moves over it

    Under Miscellaneous, in the Search button right-to-left image URL box, change the URL to point to a new image.

    Change the active search button right-to-left image

    Under Miscellaneous, in the Active Search button right-to-left image URL box, change the URL to point to a new image.

    Change the location of the Advanced Search page

    Under Miscellaneous, in the Advanced search page URL box, type the URL for the Advanced Search page.

    Change the search results page url

    Under Miscellaneous, in the Target search results page URL box, type the URL for the Target Search Results page.

    Set the display submitted search box

    Under Miscellaneous, select or clear the Display submitted search box to display the submitted search with the search results.

    Define the scope display group for the Search Box

    Under Miscellaneous, in the Scope display group box, type the name of the display group. Scope display groups are defined on the Scopes Administration page at the site collection or farm level. The scopes contained in the scope display group will display if the scopes drop-down list is displayed.

Configure the common properties of a Web Part

Web Parts share a common set of properties that control their appearance, layout, and advanced characteristics. You change Web Part properties in the tool pane.

Note:

The common Web Part properties that you see in the tool pane may be different from what is documented in this section for several reasons:

  • To see the Advanced section in the tool pane, you must have at least Designer permission.

  • For a specific Web Part, a Web Part developer may have chosen not to display one or more of these common properties or may have chosen to create and display additional properties that are not listed below in the Appearance, Layout, and Advanced sections of the tool pane.

  • Some permission and property settings may disable or hide Web Part properties.

For more information about permission levels, see User permissions and permission levels (SharePoint Server 2010) and Security and protection for SharePoint Server 2010.

Appearance

Property | Description
Title | Specifies the title of the Web Part that appears in the Web Part title bar.
Height | Specifies the height of the Web Part.
Width | Specifies the width of the Web Part.
Chrome State | Specifies whether the entire Web Part appears on the page when a user opens the page. By default, the chrome state is set to Normal and the entire Web Part appears. Only the title bar appears when the state is set to Minimized.
Chrome Type | Specifies whether the title bar and border of the Web Part frame are displayed.

Layout

Property Description

Hidden

Specifies whether the Web Part is visible when a user opens the page. If the check box is selected, the Web Part is visible only when you are designing the page and has the suffix (Hidden) appended to the title.You can hide a Web Part if you want to use it to provide data to another Web Part through a Web Part connection, but you do not want to display the Web Part.

Direction

Specifies the direction of the text in the Web Part content. For example, Arabic is a right-to-left language; English and most other European languages are left-to-right languages. This setting may not be available for all types of Web Parts.

Zone

Specifies the zone on the page where the Web Part is located. Note Zones on the page are not listed in the list box when you do not have permission to modify the zone.

Zone Index

Specifies the position of the Web Part in a zone when the zone contains more than one Web Part. To specify the order, type a positive integer in the text box. If the Web Parts in the zone are ordered from top to bottom, a value of 1 means that the Web Part appears at the top of the zone. If the Web Parts in the zone are ordered from left to right, a value of 1 means that the Web Part appears on the left of the zone. For example, when you add a Web Part to an empty zone that is ordered from top to bottom, the Zone Index is 0. When you add a second Web Part to the bottom of the zone, its Zone Index is 1. To move the second Web Part to the top of the zone, type 0, and then type 1 for the first Web Part.

Note:

Each Web Part in the zone must have a unique Zone Index value. Therefore, changing the Zone Index value for the current Web Part can also change the Zone Index value for other Web Parts in the zone.

Advanced

Property Description

Allow Minimize

Specifies whether the Web Part can be minimized.

Allow Close

Specifies whether the Web Part can be removed from the page.

Allow Hide

Specifies whether the Web Part can be hidden.

Allow Zone Change

Specifies whether the Web Part can be moved to a different zone.

Allow Connections

Specifies whether the Web Part can participate in connections with other Web Parts.

Allow Editing in Personal View

Specifies whether the Web Part properties can be modified in a personal view.

Export Mode

Specifies the level of data that is permitted to be exported for this Web Part. Depending on your configuration, this setting may not be available.

Title URL

Specifies the URL of a file containing additional information about the Web Part. The file is displayed in a separate browser window when you click the Web Part title.

Description

Specifies the ScreenTip that appears when you rest the mouse pointer on the Web Part title or Web Part icon. The value of this property is used when you search for Web Parts by using the Search command on the Find Web Parts menu of the tool pane.

Help URL

Specifies the location of a file containing Help information about the Web Part. The Help information is displayed in a separate browser window when you click the Help command on the Web Part menu.

Help Mode

Specifies how a browser will display Help content for a Web Part.Select one of the following:Modal Opens a separate browser window, if the browser has this capability. A user must close the window before returning to the Web page.Modeless Opens a separate browser window, if the browser has this capability. A user does not have to close the window before returning to the Web page. This is the default value.Navigate Opens the Web page in the current browser window.

Note:

Even though custom Microsoft ASP.NET Web Parts support this property, default SharePoint Help topics open only in a separate browser window.

Catalog Icon Image URL

Specifies the location of a file containing an image to be used as the Web Part icon in the Web Part List. The image size must be 16 by 16 pixels.

Title Icon Image URL

Specifies the location of a file containing an image to be used in the Web Part title bar. The image size must be 16 by 16 pixels.

Import Error Message

Specifies a message that appears if there is a problem importing the Web Part.


Change properties for the Search Paging Web Part (SharePoint Server 2010)

Published: January 20, 2011

The Search Paging Web Part appears by default on the Search Results (results.aspx) page. When you query the search index with a keyword or phrase, if more than one page of results is returned, the Search Paging Web Part displays page numbers and forward and back arrows. You can edit the properties of the Search Paging Web Part to change how it looks. This includes how many page links appear and how they are displayed. You can also specify custom labels or images for the Move to previous page and Move to next page links.

By default, the search results page is located at http:// <ServerName>/results.aspx. The Search Core Results Web Part must appear on the results.aspx page for all other Web Parts, such as the Search Paging Web Part, to work.

Edit the properties of the Search Paging Web Part

  1. Verify that the user account that is performing this procedure is a member of the Designers group.

  2. On the Search Results page, click the Site Actions menu, and then click Edit Page. The Search Results page opens in Edit mode.

  3. In the Search Paging Web Part, on the Web Part menu, click Edit Web Part.

  4. Use the information in the following table.

To do this | Perform these actions
Change maximum page links before current | Under Results Paging, in the Maximum page links before current box, type the number of links to display. The default is four page links.
Change maximum page links after current | Under Results Paging, in the Maximum page links after current box, type the number of links to display. The default is three page links.
Change previous link text label | Under Results Paging, in the Previous link text label box, type the text to display. The default is blank.
Change previous link image | Under Results Paging, in the Previous link image URL box, type the URL for the image that you want. The default is /_layouts/images/prev.png
Change image URL for previous link in right-to-left languages | Under Results Paging, in the Image URL for previous link in right-to-left languages box, type the URL for the image that you want. The default is /_layouts/images/next.png
Change next link text label | Under Results Paging, in the Next link text label box, type the text to display. The default is blank.
Change next link image | Under Results Paging, in the Next link image URL box, type the URL for the image that you want. The default is /_layouts/images/next.png
Change image URL for next link in right-to-left languages | Under Results Paging, in the Image URL for next link in right-to-left languages box, type the URL for the image that you want. The default is /_layouts/images/prev.png

Configure the common properties of a Web Part

Web Parts share a common set of properties that control their appearance, layout, and advanced characteristics. You change Web Part properties in the tool pane.

Note:

The common Web Part properties that you see in the tool pane may differ from what is documented in this section for several reasons:

  • Verify that the user account that is performing this procedure is a member of the Designers group.

  • For a specific Web Part, a Web Part developer may have chosen not to display one or more of these common properties or may have chosen to create and display additional properties that are not listed below in the Appearance, Layout, and Advanced sections of the tool pane.

  • Some permission and property settings may disable or hide Web Part properties.

For more information about permission levels, see User permissions and permission levels (SharePoint Server 2010) and Security and protection for SharePoint Server 2010.

Appearance

Property | Description
Title | Specifies the title of the Web Part that appears in the Web Part title bar.
Height | Specifies the height of the Web Part.
Width | Specifies the width of the Web Part.
Chrome State | Specifies whether the entire Web Part appears on the page when a user opens the page. By default, the chrome state is set to Normal and the entire Web Part appears. Only the title bar appears when the state is set to Minimized.
Chrome Type | Specifies whether the title bar and border of the Web Part frame are displayed.

Layout

Property Description

Hidden

Specifies whether the Web Part is visible when a user opens the page. If the check box is selected, the Web Part is visible only when you are designing the page and has the suffix (Hidden) appended to the title.You can hide a Web Part if you want to use it to provide data to another Web Part through a Web Part connection but you do not want to display the Web Part.

Direction

Specifies the direction of the text in the Web Part content. For example, Arabic is a right-to-left language; English and most other European languages are left-to-right languages. This setting may not be available for all types of Web Parts.

Zone

Specifies the zone on the page where the Web Part is located. Note Zones on the page are not listed in the list box when you do not have permission to modify the zone.

Zone Index

Specifies the position of the Web Part in a zone when the zone contains more than one Web Part. To specify the order, type a positive integer in the text box. If the Web Parts in the zone are ordered from top to bottom, a value of 1 means that the Web Part appears at the top of the zone. If the Web Parts in the zone are ordered from left to right, a value of 1 means that the Web Part appears on the left of the zone. For example, when you add a Web Part to an empty zone that is ordered from top to bottom, the Zone Index is 0. When you add a second Web Part to the bottom of the zone, its Zone Index is 1. To move the second Web Part to the top of the zone, type 0, and then type 1 for the first Web Part.

Note:

Each Web Part in the zone must have a unique Zone Index value. Therefore, changing the Zone Index value for the current Web Part can also change the Zone Index value for other Web Parts in the zone.

Advanced

Property Description

Allow Minimize

Specifies whether the Web Part can be minimized.

Allow Close

Specifies whether the Web Part can be removed from the page.

Allow Hide

Specifies whether the Web Part can be hidden.

Allow Zone Change

Specifies whether the Web Part can be moved to a different zone.

Allow Connections

Specifies whether the Web Part can participate in connections with other Web Parts.

Allow Editing in Personal View

Specifies whether the Web Part properties can be modified in a personal view.

Export Mode

Specifies the level of data that is permitted to be exported for this Web Part. Depending on your configuration, this setting may not be available.

Title URL

Specifies the URL of a file containing additional information about the Web Part. The file is displayed in a separate browser window when you click the Web Part title.

Description

Specifies the ScreenTip that appears when you rest the mouse pointer on the Web Part title or Web Part icon. The value of this property is used when you search for Web Parts by using the Search command on the Find Web Parts menu of the tool pane.

Help URL

Specifies the location of a file containing Help information about the Web Part. The Help information is displayed in a separate browser window when you click the Help command on the Web Part menu.

Help Mode

Specifies how a browser will display Help content for a Web Part.Select one of the following:Modal Opens a separate browser window, if the browser has this capability. A user must close the window before returning to the Web page.Modeless Opens a separate browser window, if the browser has this capability. A user does not have to close the window before returning to the Web page. This is the default value.Navigate Opens the Web page in the current browser window.

Note:

Even though custom Microsoft ASP.NET Web Parts support this property, default SharePoint Help topics open only in a separate browser window.

Catalog Icon Image URL

Specifies the location of a file containing an image to be used as the Web Part icon in the Web Part List. The image size must be 16 by 16 pixels.

Title Icon Image URL

Specifies the location of a file containing an image to be used in the Web Part title bar. The image size must be 16 by 16 pixels.

Import Error Message

Specifies a message that appears if there is a problem importing the Web Part.


Manage metadata properties for search (SharePoint Server 2010)
See Also

You can enhance the end-user search experience by mapping crawled properties to managed properties. Crawled properties are metadata (such as author, title, or subject) that are extracted from documents during crawls. Managed properties can appear in refined searches and help users perform more successful queries.

Refined searches can be performed only on managed properties, not crawled properties. To make a crawled property available for refined search queries, you must map the crawled property to a managed property. You can map multiple crawled properties to a single managed property or map a single crawled property to multiple managed properties. If a managed property has multiple crawled properties mapped to it, and a document contains values for more than one of the crawled properties, the order in which the properties are mapped and their priority determine the value of the managed property.

For example, three different document types might have different names for the property that identifies the author. One document type might name this property Author, another Writer, and a third Property3. Although all three are crawled properties, only the documents with the Author property appear in search results when a user queries by author. To ensure that all documents appear in search results, map each of these crawled properties to the Author managed property.

Procedures in this article:

  • To view managed properties and crawled properties

  • To add a managed property

  • To edit a managed property

  • To delete a managed property

  • To map a crawled property to a managed property

To view managed properties and crawled properties

  1. Verify that the user account that is performing this procedure is an administrator for the Search service application.

  2. In Central Administration, in the Application Management section, click Manage service applications.

  3. Click the Search service application for which you are viewing managed and crawled properties.

  4. On the Search Administration page, in the Quick Launch, under Queries and Results, click Metadata Properties. Mapped properties appear. To view crawled properties, click Crawled Properties.

To add a managed property

  1. Verify that the user account that is performing this procedure is an administrator for the Search service application.

  2. In Central Administration, in the Application Management section, click Manage service applications.

  3. Click the Search service application for which you are viewing managed and crawled properties.

  4. On the Search Administration page, in the Quick Launch, under Queries and Results, click Metadata Properties.

  5. On the Metadata Property Mappings page, click New Managed Property.

  6. On the New Managed Property page, in the Property name box in the Name and type section, type the name of the new managed property.

  7. In the Description box, type a description of the property.

  8. Under The type of information in this property, select one of the following options for the property:

    • Text

    • Integer

    • Decimal

    • Date and Time

    • Yes/No

    • Has Multiple Values

  9. In the Mappings to crawled properties section, select one of the following:

    • Include values from all crawled properties mapped Select this option if you want values from all crawled properties to be mapped for a given document. A query for a property in a document in which all crawled properties are mapped returns a result if any of the crawled properties that are mapped match.

    • Include values from a single crawled property based on the order specified Select this option if you want only a single value mapped. When multiple crawled properties are mapped to a managed property, the one that is chosen is the first in the list that has a value for a given document. You can reorder the list by using the Move up and Move down buttons.

  10. Click Add Mapping to add a mapping to the list. The Crawled property selection dialog box appears.

  11. Configure the settings as follows:

    1. On the Select a category menu, click either All categories or a specific type of document category (for example, Office or XML).

    2. In Select a crawled property, click a crawled property to map to the managed property that you are adding.

      Because the list of crawled properties is likely to be long, you can type the name (or the first part of the name) of the property that you are looking for in the Crawled property name box, and then click Find. A truncated list appears.

    3. Click OK.

  12. On the New Managed Property page, in the Use in scopes section, select the Allow this property to be used in scopes check box if you want the property to be available for defining search scopes.

    Tip:

    Only select this check box for properties that you intend to use in scopes. Each property that you set as a scope increases the size of the index, which you should avoid when possible.

  13. In the Optimize managed property storage section, select the Reduce storage requirements for text properties by using a hash for comparison check box if you only need this property to have equality/inequality comparisons. Leave the check box cleared if you need to enable other types of comparisons (such as less than, greater than, and order by). Select the Add managed property to custom results set retrieved on each query check box to add this property to the restricted set of properties for optimized queries that use a custom results page to show special managed properties. Click OK.

Note:

Changes to the property mappings take effect on a document-by-document basis as soon as a document is crawled, regardless of the type of the crawl. A full crawl ensures that the changes are consistently applied to the entire index.

To edit a managed property

  1. Verify that the user account that is performing this procedure is an administrator for the Search service application.

  2. On the Metadata Property Mappings page, click the managed property that you want to edit.

    You can find information about the managed property settings, including how to add a new mapping, in the To add a managed property section.

To delete a managed property

  1. Verify that the user account that is performing this procedure is an administrator for the Search service application.

  2. On the Metadata Property Mappings page, point to the managed property that you want to delete, click the arrow that appears, and then click Delete.

  3. Click OK when asked if you want to delete the managed property.

Deleting a managed property has the following consequences:

  • Users will no longer be able to query by using this property.

  • If a scope uses this property in its rules, the scope will no longer work.

  • If custom search applications or Web Parts use this property, they will no longer work.

To map a crawled property to a managed property

  1. Verify that the user account that is performing this procedure is an administrator for the Search service application.

  2. On the Metadata Property Mappings page, click Crawled Properties.

  3. On the Crawled Properties page, click the crawled property that you want to map.

  4. On the Edit Crawled Property page, in the Mappings to managed properties section, click Add Mapping.

  5. In the Managed property selection dialog box, select a managed property, and then click OK.

  6. On the Edit Crawled Property page, if you want to include values for the crawled property in the search index, select the Include values for this property in the search index check box. This option makes values for the crawled property searchable when a full-text search is used. Crawled properties are usually searchable only when a property-based search is used.

  7. Click OK.

  8. In the message box advising that the changes will not take effect until after the next full crawl, click OK.

    Note:

    The changes actually occur on a document-by-document basis during the crawl.

Video demonstrations

This section includes a series of videos demonstrating how to use metadata properties, including:

  • How they work

  • How to map a crawled property to a managed property

  • How to create a custom property

  • How to modify the Advanced Search page to include a managed property

How metadata properties work

This video demonstrates how metadata properties work and discusses crawled properties and managed properties and how they are used.

Screenshot of video

Watch the video (http://go.microsoft.com/fwlink/?LinkId=208823). To download a copy, right-click the link, and then click Save Target As.

Map a crawled property

This video demonstrates how to map a crawled property to a managed property.

Screenshot of video

Watch the video (http://go.microsoft.com/fwlink/p/?LinkId=208824). To download a copy, right-click the link, and then click Save Target As.

Create a custom property

This video demonstrates how to create a custom property, how it becomes a crawled property, and how to map it to a managed property for use in direct queries.

Screenshot of video

Watch the video (http://go.microsoft.com/fwlink/p/?LinkId=208825). To download a copy, right-click the link, and then click Save Target As.

Modify the Advanced Search page

This video demonstrates how to modify the Advanced Search page to include the managed property of your choice for use in queries.

Screenshot of video

Watch the video (http://go.microsoft.com/fwlink/p/?LinkId=208826). To download a copy, right-click the link, and then click Save Target As.

See Also

Concepts

Plan metadata properties for search (SharePoint Server 2010)
Enterprise search technical reference (SharePoint Server 2010)
Crawled properties reference (SharePoint Server 2010)


Manage people search (SharePoint Server 2010)

Published: November 11, 2010

People search capabilities in Microsoft SharePoint Server 2010 help users find people by department, job title, expertise, and common interests.

Before you start operations for people search, make sure that you read the following articles, which describe key concepts about the components of people search:

  • User Profile service application overview (SharePoint Server 2010). Learn about the User Profile service in SharePoint Server 2010 and managing user profile properties, profile synchronization settings, and other collaboration settings.

  • Plan user profiles (SharePoint Server 2010). Plan user profile properties and connections between User Profile services, directory services, and line-of-business applications.

  • Plan for profile synchronization (SharePoint Server 2010). Plan to integrate profile information that is stored in a directory service such as Active Directory Domain Services (AD DS) or a line-of-business system, such as SAP or Siebel, with SharePoint Server 2010.

  • Deploy people search. Learn the prerequisites for people search and how to deploy people search in SharePoint Server 2010.

To administer people search, perform the following procedures as needed:

  • Manage search scopes (SharePoint Server 2010) to add or update a scope for people search.

  • Manage metadata properties for search (SharePoint Server 2010) to map crawled properties to managed properties for people search.

  • Create, edit, or delete a User Profile service application (SharePoint Server 2010) to configure a User Profile service application.

  • Assign administration of a User Profile service application (SharePoint Server 2010) to delegate administration from a farm administrator to a service application administrator.

  • Assign administration of User Profile service features (SharePoint Server 2010) to delegate specific features from a service application administrator to another user, who then becomes the feature administrator.

  • Remove an administrator from a User Profile service application (SharePoint Server 2010) to remove a service application administrator.

  • Add, edit, or delete custom properties for a user profile (SharePoint Server 2010) to configure user profile properties.

  • Manage audiences (SharePoint Server 2010) to configure audience rules that target content to specific users.

  • Manage profile synchronization (SharePoint Server 2010) to synchronize user and group profile information that is stored in the SharePoint Server 2010 profile store with profile information that is stored in directory services and line-of-business systems across the enterprise.

  • Manage My Sites settings (SharePoint Server 2010) to configure personal sites that give users a rich set of social networking features.

  • Resolve accounts across multiple forests (SharePoint Server 2010) to resolve user accounts in multiple forest environments that have at least a one-way trust between the forests.

  • Managing personal and social features (SharePoint Server 2010) to enable or disable social features in SharePoint Server 2010.


Monitor search (SharePoint Server 2010)

For information about how to monitor search, see the following articles:

  • Enable search alerts (SharePoint Server 2010)

  • Enable query logging (SharePoint Server 2010)

  • Use search administration reports (SharePoint Server 2010)

  • Best practices for using crawl logs (SharePoint Server 2010)


Enable search alerts (SharePoint Server 2010)

Published: May 29, 2010

Enable search alerts

Search alerts allow end-users to receive e-mail and SMS text message notification when specified search query results are changed or updated. Search alerts should be enabled when you want allow end-users to create alerts for search queries. Search alerts may be configured on the search query page when a search query is completed and results are displayed. Search alerts are created and configured per-user and are only configurable and viewable by the user who creates them. Use this procedure to enable search alerts.

To enable search alerts

  1. Verify that the user account that is performing this procedure is an administrator for the Search service application.

  2. Open SharePoint 2010 Central Administration.

  3. In the Application Management section, click Manage service applications.

  4. On the Manage Service Applications page, click the Search service application for which you want to configure search alerts.

  5. On the Search Administration page, in the System Status section, locate Search alerts status.

  6. The search alerts status displays as OffEnable or OnDisable.

  7. By default, search alerts are turned Off. Click Enable to turn on Search alerts.

The option is now set. Search alerts are sent only if outgoing e-mail is configured. For more information, see Configure outgoing e-mail (SharePoint Server 2010). Users can now create search alerts for search queries that they run. To configure search alerts for search queries, click the Alert Me icon on the Search Results page. The Alert Me icon is located on the Search Results page at the top of the search results pane next to the RSS icon. If search alerts are turned off, this icon does not appear.


Enable query logging (SharePoint Server 2010)
See Also

Published: May 29, 2010

Enable query logging

Microsoft SharePoint Server 2010 search collects information about user search queries and search results that users select on their computers. SharePoint Server uses this information to improve the relevancy of search results and to improve query suggestions. Members of the Farm Administrators group or an administrator of the Search service application can also create reports based on this information. Use this procedure to enable query logging.

To enable query logging

  1. Verify that the user account performing this procedure is an administrator for the Search service application.

  2. Open SharePoint 2010 Central Administration.

  3. In the Application Management section, click Manage service applications.

  4. On the Manage Service Applications page, click the Search service application for which you want to configure query logging.

  5. On the Search Administration page, in the System Status section, locate Query logging.

  6. The Query logging status displays as OffEnable or OnDisable.

  7. By default, query logging is turned Off. Click Enable to turn on query logging.

The option is set and no other actions are necessary. User search queries and user selected results will now be logged. You can now create reports based on this logged information.

See Also

Concepts

Use search administration reports (SharePoint Server 2010)


Manage settings to improve search results (SharePoint Server 2010)

In Microsoft SharePoint Server 2010, search administrators can configure settings to improve search results in the following ways:

  • By using stop word files, search administrators can designate words that the search system should ignore in search queries because those words are unlikely to be helpful for identifying or narrowing search results. For more information, see Manage stop word files (SharePoint Server 2010).

  • By using thesaurus files, search administrators can specify replacements or synonyms for words or phrases in user search queries. For more information, see Manage thesaurus files (SharePoint Server 2010).

  • By using a custom dictionary, search administrators can specify words or tokens that the word breaker for a particular language treats as indivisible at index time and at query time. For more information, see Create a custom dictionary (SharePoint Server 2010).

  • On the Specify Authoritative Pages page, search administrators can designate Web pages as authoritative or non-authoritative. This affects how relevance rankings are calculated, and therefore affects the order in which certain results appear in a search results list. For more information, see Configure authoritative Web pages (SharePoint Server 2010).


Manage stop word files (SharePoint Server 2010)

A stop word, or noise word, is a word that the search system ignores in end-user search queries. A word might be designated as a stop word because it occurs in the language so frequently that it is unlikely to be helpful for identifying or narrowing search results. Articles such as "an" and "the" are typically specified as stop words for English, for example. If a user types the English query "the highest mountain", "the" is removed from the query if it is a stop word, so that the query becomes "highest mountain". Potentially offensive words are also sometimes specified as stop words.

In this article:

  • Understanding stop word files

  • Edit a stop word file

  • Stop word files by language

Understanding stop word files

The stop words for a given language are listed in the stop word file for that language. The Microsoft SharePoint Server 2010 installation program automatically installs one stop word file for each language that the product supports. Following installation, many of the stop word files contain some typical stop words for the associated language. For example, by default the U.S. English stop word file (noiseenu.txt) contains the words a, and, is, in, it, of, the, to. At any time after product installation, the search administrator can add or remove words in a stop word file to improve relevance of search results or to meet organization standards. For information about adding or removing words in a stop word file, see Edit a stop word file later in this article. For information about supported languages, see Stop word files by language later in this article.

At query time, the word breaker for the language of the query identifies individual words in the search query by determining word boundaries based on the lexical rules of the language. The word breaker then removes any words from the query that are listed in the stop word file.

By default, the stop word files for all supported languages are installed at %ProgramFiles%\Microsoft Office Servers\14.0\Data\Office Servers\Config. When a farm administrator creates a Search service application, the search system automatically copies the stop word files from the installation location (including any stop word files there that a search administrator has edited) to %ProgramFiles%\Microsoft Office Servers\14.0\Data\Applications\GUID\Config, where GUID is the GUID of the new Search service application. The search system performs the same operation on every query server that is running the new Search service application. In this way, there is a copy of each stop word file on each query server that is running that Search service application.

Edit a stop word file

If you edit a stop word file in the installation location, the system automatically propagates the edited stop word file to Search service applications that are created afterward. However, the edited stop word file is not automatically propagated to existing Search service applications. For each existing Search service application to which you want the changes to apply, you must manually copy the edited file to the Search service application folder on each query server that is running that Search service application.

Note:

  • If you delete a stop word file, the search system might consider all single characters as stop words and remove them from search results. A stop word file must contain at least one entry, even if the entry is merely a period (.) character.

  • If you delete a stop word file and then restart the SharePoint Server Search 14 service, the search system automatically replaces the file by copying the file of the same name from %Program Files%Microsoft Office Servers\14.0\Data\Office Server\Config to the folder where the file was deleted.

Use the following procedure to edit a stop word file.

To edit a stop word file

  1. Verify that the user account that is performing this procedure is member of the local server Administrators group.

  2. Open the stop word file in a text editor. For information about locating and identifying the appropriate stop word file, see Understanding stop word files earlier in this article.

  3. Edit the file so that it includes only the words that you want the search system to ignore in search queries.

  4. Save the stop word file.

    Note:

    When you save a stop word file, always use the default Encoding value, which is Unicode.

  5. Restart the SharePoint Server Search 14 service by following these steps:

    1. Click Start, point to Administrative Tools, and then click Services.

    2. Right-click SharePoint Server Search 14, and then click Restart.

      Stop word changes take effect after the SharePoint Server Search 14 service restarts.

      Note:

      In Microsoft Office SharePoint Server 2007, the search system excluded stop words from queries and from the index. Therefore, after an administrator removed a word from a stop word file, it was necessary to perform a full crawl to index any instances of that stop word that the crawler might encounter. In contrast, in SharePoint Server 2010, the search system excludes stop words from queries, but by design it does not exclude stop words from the index. Therefore, in SharePoint Server 2010, if you remove a word from a stop word file, it is not necessary to perform a new crawl because the stop word is already in the index if it was encountered during a crawl. (If you add a word to a stop word file, it is not necessary to perform a new crawl either, because the search system does not look for stop words in the index.)

Stop word files by language

When you install SharePoint Server 2010, stop word files are installed for the following languages. If a stop word file does not exist for a language, the search system uses the neutral stop word file noiseneu.txt.

Language | Stop word file name
Arabic | noiseara.txt
Bengali | noiseben.txt
Bulgarian | noisebul.txt
Catalan | noisecat.txt
Czech | noiseces.txt
Chinese (Simplified) | noisechs.txt
Chinese (Traditional) | noisecht.txt
Croatian | noisecro.txt
Danish | noisedan.txt
Dutch (Netherlands) | noisenld.txt
English (United Kingdom) | noiseeng.txt
English (United States) | noiseenu.txt
Finnish | noisefin.txt
French | noisefra.txt
German | noisedeu.txt
Greek | noisegrc.txt
Gujarati | noiseguj.txt
Hebrew | noiseheb.txt
Hindi | noisehin.txt
Hungarian | noisehun.txt
Icelandic | noiseice.txt
Indonesian | noiseind.txt
Italian | noiseita.txt
Japanese | noisejpn.txt
Kannada | noisekan.txt
Korean | noisekor.txt
Language neutral | noiseneu.txt
Latvian | noiselav.txt
Lithuanian | noiselit.txt
Malay | noisemal.txt
Malayalam | noisemly.txt
Marathi | noisemar.txt
Norwegian (Bokmal) | noisenor.txt
Polish | noiseplk.txt
Portuguese (Portugal) | noisepor.txt
Portuguese (Brazil) | noiseptb.txt
Punjabi | noisepun.txt
Romanian | noiserom.txt
Russian | noiserus.txt
Serbian (Cyrillic) | noisesbc.txt
Serbian (Latin) | noisesbl.txt
Slovak | noisesvk.txt
Slovenian | noiseslo.txt
Spanish | noiseesn.txt
Swedish | noisesve.txt
Tamil | noisetam.txt
Telugu | noisetel.txt
Thai | noisetha.txt
Turkish | noisetur.txt
Ukrainian | noiseurk.txt
Urdu (Pakistan) | noiseurd.txt
Vietnamese | noisevie.txt


Manage thesaurus files (SharePoint Server 2010)
See Also

By using thesaurus files, a search administrator can specify replacements or synonyms for words or phrases that occur in search queries.

  • Specifying replacements for query words or phrases A search administrator can designate one or more words or phrases as replacements for particular words or phrases that a user might type in a search box. For example, an administrator might specify that whenever the term "Longhorn" appears in a query, the search system replaces it with "Windows Vista" or "Vista". Similarly, an administrator might specify that whenever the term "NT5" or the term "W2K" appears in a query, the search system replaces it with "Windows 2000".

    To specify replacements for query words or phrases, the search administrator inserts a replacement set into a thesaurus file. For more information, see Using replacement sets later in this article.

  • Specifying synonyms for query words or phrases A search administrator can specify one or more words or phrases as synonyms for a particular word or phrase that a user might type in a search box. For example, an administrator might specify "IE", "IE8", and "Internet Explorer" as synonyms for one another. When one of these terms appears in a query, the system also searches for the other terms. Therefore, a query on any of these three terms could return search results that contain "IE", "IE8", or "Internet Explorer".

    To specify synonyms for query words or phrases, the search administrator inserts an expansion set into a thesaurus file. For more information, see Using expansion sets later in this article.

In this article:

  • Understanding thesaurus files

  • Using replacement sets

  • Using expansion sets

  • Using a custom dictionary with a thesaurus file

  • Edit a thesaurus file

  • Thesaurus files by language

Understanding thesaurus files

The Microsoft SharePoint Server 2010 installation program installs a thesaurus file for each language that the product supports. The installation also provides the language-neutral thesaurus file, which is named tsneu.xml. This file is applied to all queries during query processing, regardless of whether there is a thesaurus file that is specific to the query language. For more information, see Thesaurus files by language later in this article.

By default, SharePoint Server 2010 installs the thesaurus files for all supported languages at %ProgramFiles%\Microsoft Office Servers\14.0\Data\Office Server\Config. When a search administrator creates a Search service application, the search system automatically copies the thesaurus files from the installation location (including any thesaurus files there that an administrator has edited) to %ProgramFiles%\Microsoft Office Servers\14.0\Data\Office Server\Applications\GUID-query-0\Config, where GUID is the GUID of the new Search service application. The search system performs the same operation on every query server that is running the new Search service application. Thus there is a copy of each thesaurus file on each query server that is running that Search service application.

Upon installation, each thesaurus file contains only inactive, sample content that is in comments. Therefore, you must edit a thesaurus file before the search system can use it. In addition to replacement sets and expansion sets, thesaurus files contain a "diacritics_sensitive" tag that specifies whether diacritical marks such as accents are ignored or respected by the search system. By default, diacritics_sensitive is set to 0 so that diacritical marks are ignored. To direct the search system to respect diacritical marks, change the value of diacritics_sensitive to 1.

The following example shows the default XML in a thesaurus file:

Copy Code
<XML ID="Microsoft Search Thesaurus">

<!--  Commented out

    <thesaurus xmlns="x-schema:tsSchema.xml">
        <diacritics_sensitive>0</diacritics_sensitive>
        <expansion>
            <sub>Internet Explorer</sub>
            <sub>IE</sub>
            <sub>IE8</sub>
        </expansion>
        <replacement>
            <pat>NT5</pat>
            <pat>W2K</pat>
            <sub>Windows 2000</sub>
        </replacement>
        <expansion>
            <sub>run</sub>
            <sub>jog</sub>
        </expansion>
    </thesaurus>
-->
</XML>

Using replacement sets

A search administrator inserts a replacement set into a thesaurus file to designate one or more words or phrases as replacements for particular words or phrases that a user might type in a search box. Each replacement set in a thesaurus file is enclosed in <replacement> tags. In the replacement set, the administrator specifies one or more query words or phrases to replace by enclosing each word or phrase in <pat> (pattern) tags, and the administrator specifies one or more replacements by enclosing each replacement in <sub> (substitution) tags. For example, the following replacement set replaces the query term "Longhorn" with "Windows Vista" or "Vista":

Copy Code
<replacement>
    <pat>Longhorn</pat>
    <sub>Windows Vista</sub>
    <sub>Vista</sub>
</replacement>

Similarly, the following example shows a replacement set that specifies that the query terms "NT5" and "W2K" are replaced by "Windows 2000":

Copy Code
<replacement>
    <pat>W2K</pat>
    <pat>NT5</pat>
    <sub>Windows 2000</sub>
</replacement>

By specifying a pattern with an empty substitution, the search administrator can specify that a query on a particular term returns no results. In the following example, queries for the term "bugs" will not return any results:

Copy Code
<replacement>
    <pat>bugs</pat>
    <sub></sub>
</replacement>

Using expansion sets

A search administrator uses an expansion set in a thesaurus file to designate one or more words or phrases as synonyms of one another. A search query that contains any word or phrase in the expansion set is expanded to include all synonyms in the expansion set. Therefore, a search query that includes any word or phrase in the expansion set also returns search results that contain any of the synonyms in the set.

Each expansion set is enclosed in <expansion> tags. In the expansion set, the administrator specifies one or more synonyms by enclosing each synonym in <sub> tags. For example, a search administrator might want to specify an expansion set that designates the following three terms as synonyms: writer, author, blogger. To specify this expansion set, the search administrator adds the following lines to the thesaurus file:

Copy Code
<expansion>
    <sub>writer</sub>
    <sub>author</sub>
    <sub>blogger</sub>
</expansion>

This expansion set specifies that a query on any of the three terms also returns search results that contain either or both of the other two terms.

Using a custom dictionary with a thesaurus file

The word breaker for a given language identifies individual words in a search query by determining word boundaries according to the lexical rules of the language. If you include a word in a thesaurus file that the word breaker might not recognize as a single word, you should also include the word in a custom dictionary so that the word breaker does not break the word into smaller tokens. For example, if you use the term "IT&T" in an expansion set but you do not include it in a custom dictionary, the word breaker might break the term into three separate terms, "IT", "&", and "T". This can cause the expansion set in the thesaurus file not to work as expected when a user issues a search query for "IT&T". For information about how to create and use custom dictionaries, see Create a custom dictionary (SharePoint Server 2010).

Edit a thesaurus file

If you edit a thesaurus file in the installation location, the search system automatically propagates the edited file to Search service applications that are created afterward. However, the edited thesaurus file is not automatically propagated to existing Search service applications. For each existing Search service application to which you want the changes to apply, you must manually copy the edited file to the Search service application folder on each query server that is running that Search service application.

Note:

  • A file that is named tsschema.xml is installed in the same directory with the thesaurus files. Do not modify the tsschema.xml file. It is used by all other thesaurus files. Changing this file might cause unpredictable results.

  • Each <pat> or <sub> tag counts as an item in a thesaurus file. A typical thesaurus file contains about 1,000 items. For performance reasons, it is important not to exceed about 10,000 items in a thesaurus file.

  • If you use words in a thesaurus file that are specified in a stop word file, the search system filters those words out of the thesaurus file. For more information, see Manage stop word files (SharePoint Server 2010).

  • Thesaurus file entries cannot contain only special characters.

Use the following procedure to edit a thesaurus file.

Note:

When editing a file, you must use matching pairs of opening and closing tags around each entry in the file. If the XML tags in the thesaurus file do not match correctly, an error is logged in the application event log.

To edit a thesaurus file

  1. Verify that the user account that is performing this procedure is a member of the Administrators group on the local computer.

  2. Open a thesaurus file in a text editor. For information about how to locate and identify the appropriate thesaurus file, see Understanding thesaurus files earlier in this article.

  3. If you are changing the thesaurus file for the first time, remove the <!-- Commented out comment line at the beginning of the file, and the --> comment line at the end of the file.

  4. Edit the thesaurus file as necessary.

  5. Save the thesaurus file.

    Note:

    When you save a thesaurus file, always use the default Encoding value, which is Unicode.

Restart the SharePoint Server Search 14 service

After you edit a thesaurus file, you must restart the SharePoint Server Search 14 service for the changes to take effect. Thesaurus file changes take effect after the SharePoint Server Search 14 service restarts. It is not necessary to perform a crawl for the changes to take effect.

To restart the SharePoint Server Search 14 service

  1. Verify that the user account that is performing this procedure is a member of the Administrators group on the local computer.

  2. Click Start, point to Administrative Tools, and then click Services.

  3. Right-click SharePoint Server Search 14, and then click Restart.

    Thesaurus file changes take effect after the SharePoint Server Search 14 service restarts.

Thesaurus files by language

The following thesaurus files are installed automatically and available to use.

Language | File name
Language-neutral | tsneu.xml
Arabic | tsara.xml
Bengali | tsben.xml
Bulgarian | tsbul.xml
Catalan | tscat.xml
Chinese (Simplified) | tschs.xml
Chinese (Traditional) | tscht.xml
Croatian | tscro.xml
Czech | tsces.xml
Danish | tsdan
Dutch (Netherlands) | tsnld.xml
English (United Kingdom) | tseng.xml
English (United States) | tsenu.xml
Finnish | tsfin.xml
French (Standard) | tsfra.xml
German (Standard) | tsdeu.xml
Gujarati | tsguj.xml
Hungarian | tshun.xml
Icelandic | tsice.xml
Indonesian | tsind.xml
Italian | tsita.xml
Japanese | tsjpn.xml
Kannada | tskan.xml
Korean | tskor.xml
Lithuanian | tslit.xml
Malay (Malaysian) | tsmal.xml
Malayalam | tsmly.xml
Marathi | tsmar.xml
Norwegian (Bokmal) | tsnor.xml
Polish | tsplk.xml
Portuguese (Brazil) | tsptb.xml
Portuguese (Portugal) | tspor.xml
Punjabi | tspun.xml
Romanian | tsrom.xml
Russian | tsrus.xml
Serbian (Cyrillic) | tssbc.xml
Serbian (Latin) | tssbl.xml
Slovak | tssvk.xml
Slovenian | tsslo.xml
Spanish | tsesn.xml
Swedish | tssve.xml
Tamil | tstam.xml
Telugu | tstel.xml
Thai | tstha.xml
Turkish | tstur.xml
Ukrainian | tsukr.xml
Urdu (Pakistan) | tsurd.xml
Vietnamese | tsvie.xml

See Also

Concepts

Create a custom dictionary (SharePoint Server 2010)
Manage stop word files (SharePoint Server 2010)


Create a custom dictionary (SharePoint Server 2010)
See Also

Summary: Learn about word breakers, normalizations and thesaurus files, supported and unsupported entries, and supported languages.

A custom dictionary is a file that an administrator creates to specify tokens that the word breaker of a particular language should treat as indivisible at index time and at query time. Custom dictionary files are not provided with the product. You must create a separate custom dictionary for each language for which you want to modify the behavior of a word breaker.

Note:

A custom dictionary for a given language applies to all Search service applications in the server farm.

In this article:

  • Reasons to use a custom dictionary

  • Rules for creating a custom dictionary

  • Create a custom dictionary

  • Copy the custom dictionary to each application server

  • Stop and restart the SharePoint Server Search 14 service on each application server

  • Perform a full crawl

  • Supported languages

Reasons to use a custom dictionary

To know whether you must have a custom dictionary and what entries it should contain, you must understand the behavior of word breakers. The indexing system uses word breakers to break tokens when it indexes crawled content, and the query processor uses word breakers in queries. In each case, if a custom dictionary exists that supports the language and dialect of the word breaker that is being used, the search system checks for the word in the custom dictionary before it determines whether to use a word breaker for that word. If the word does not exist in the custom dictionary, the word breaker performs its usual actions, which might result in breaking a token into multiple tokens. If the token exists in the custom dictionary, the word breaker does not perform any actions on that token. The following two examples describe typical word breaker behavior and how an entry in the custom dictionary can affect that behavior.

  • A word breaker might break the token "IT&T" immediately before and after the ampersand (&), resulting in the three tokens "IT", "&", and "T". However, if the token "IT&T" is in the custom dictionary of the same language as the word breaker that is being used, the word breaker does not break that token (at crawl time or query time). If "IT&T" is in the custom dictionary, and if a document does not contain "IT" or "T" but does contain "IT&T", a query that contains "IT" or "T" but not "IT&T" does not return that document in the results set.

  • Terms like Chemical Abstracts Service (CAS) registry numbers can be affected by word breakers. For example, word breakers typically split numbers that appear before or after a hyphen or other special character from the rest of the number. For example, the CAS registry number for oxygen is 7782-44-7. After word-breaker processing, this CAS registry number is broken into three parts: the numbers 7782, 44, and 7. Adding the CAS registry numbers that appear in a corpus to a custom dictionary directs the search system to index each number without breaking it into parts.

Normalizations and thesaurus files

Named-entity normalizations, such as date normalizations, that are ordinarily applied by word breakers are not applied to terms that are in custom dictionaries. Instead, all terms that are in custom dictionaries are treated as a match. This is especially important if you have words or numbers in a thesaurus file. For example, if the CAS registry number 7782-44-7 is part of an expansion set in the thesaurus and the word breaker breaks that number at the hyphens into three separate numbers, the expansion set of which that number is a part might not work as expected. In this case, adding the CAS registry number 7782-44-7 to the custom dictionary of the appropriate language resolves the problem. For information about how to use thesaurus files, see Manage thesaurus files (SharePoint Server 2010).

Rules for creating a custom dictionary

A custom dictionary is a Unicode-formatted file. Each entry must be on a separate line, separated by a carriage return (CR) and line feed (LF). When you add entries to a custom dictionary, consider the following rules to avoid unexpected results:

  • Entries are not case-sensitive.

  • The pipe character (|) cannot be used.

  • White space cannot be used.

  • The number sign character (#) cannot be used at the beginning of an entry but it can be used within or at the end of an entry.

  • Except for the pipe, number sign, and white-space characters previously mentioned, any alphanumeric characters, punctuation, symbols, and breaking characters are valid.

  • The maximum length of an entry is 128 (Unicode) characters.

The following table shows examples of supported and unsupported entries.

Table 1 - Examples of supported and unsupported entries for custom dictionary files

Supported | Not supported
dogfood | dog food
3# | #3
For#sale | For|sale
ASP.NET |
IT&T |
(2-Methoxymethylethoxy)propanol |
34590-97-8 |
C7H1603 |

There is no fixed limit to the number of entries in a custom dictionary. However, we recommend that the total file size of a custom dictionary file does not exceed 2 gigabytes (GB). In practice, we suggest that you limit the number of entries to a few thousand.

Create a custom dictionary

Use the following procedure to create a custom dictionary.

To create a custom dictionary

  1. Verify that the user account that is performing this procedure is a member of the Administrators group on the local computer.

  2. Log on to a crawl server.

  3. Open a new file in a text editor.

    Type the words that you want in the custom dictionary according to the rules stated in Rules for creating a custom dictionary earlier in this article.

  4. On the File menu, click Save As.

  5. In the Save as type list, select All Files.

  6. In the Encoding list, select Unicode.

  7. In the File name box, type the file name in the following format: CustomNNNN.lex, where "Custom" is a literal string, NNNN is the four-digit hexadecimal code of the language for which you are creating the custom dictionary, and lex is the file name extension. For a list of valid file names for supported languages and dialects, see Supported languages later in this article.

  8. In the Save in list, browse to the folder that contains the word breakers. By default, this folder is %ProgramFiles%\Microsoft Office Servers\14.0\Bin.

    Note:

    Custom dictionary files can be used only if they are stored in this folder in the local file system. They cannot be used if they are only stored in a SharePoint site, for example.

  9. Click Save.

  10. If there are no other crawl servers or query servers in the farm, go to Stop and restart the SharePoint Server Search 14 service on each application server. Otherwise, go to the next procedure, "Copy the custom dictionary to each application server in the farm".

Copy the custom dictionary to each application server

There must be a copy of the custom dictionary on each application server in the farm.

To copy the custom dictionary to each application

  1. Verify that the user account that is performing this procedure is a member of the Administrators group on each application server (that is, each crawl server or query server) in the farm.

  2. On each application server in the farm, copy the new custom dictionary file to the folder that contains the word breakers. By default, this folder is %ProgramFiles%\Microsoft Office Servers\14.0\Bin.

    Note:

    Custom dictionary files can be used only if they are stored in this folder in the local file system. They cannot be used if they are only stored in a SharePoint site, for example.

Stop and restart the SharePoint Server Search 14 service on each application server

You must restart the SharePoint Server Search 14 service on each application server in the farm.

Important:

Do not use the Services on Server page in Central Administration to stop and start the service. Doing so removes the service and deletes the index and the associated configuration. Instead, follow these steps.

To stop and restart the SharePoint Server Search 14 service on each application server

  1. Verify that the user account that is performing this procedure is a member of the Administrators group on the local computer.

  2. On the Start menu, point to All Programs, point to Administrative Tools, and then click Services.

  3. Right click the SharePoint Server Search 14 service and then click Properties. The Properties dialog box appears.

  4. Click Stop. After the service stops, click Start.

  5. Ensure that the Startup type is not set to Disabled.

  6. Repeat this procedure for each application server (that is, each crawl server and each query server) in the farm.

Perform a full crawl

To apply the custom dictionary to the content index, you must perform a full crawl of the content that contains the tokens that you added to the custom dictionary. For information about performing a full crawl, see Manage crawling (SharePoint Server 2010).

Supported languages

The following table indicates the languages and dialects for which SharePoint Server 2010 supports custom dictionaries. You cannot create a custom dictionary for the language-neutral word breaker. The table includes the language code identifier (LCID) and language hexadecimal code for each supported language and dialect. The first two numbers in the hexadecimal code represent the dialect and the last two numbers represent the language. For languages that do not have separate word breakers for separate dialects, the first two numbers in the language hexadecimal code are always zeros.

Table 2 - Supported languages

Language / dialect | LCID | Language hexadecimal code
Arabic | 1025 | 0001
Bengali | 1093 | 0045
Bulgarian | 1026 | 0002
Catalan | 1027 | 0003
Croatian | 1050 | 001a
Danish | 1030 | 0006
Dutch | 1043 | 0013
English | 1033 | 0009
French | 1036 | 000c
German | 1031 | 0007
Gujarati | 1095 | 0047
Hebrew | 1037 | 000d
Hindi | 1081 | 0039
Icelandic | 1039 | 000f
Indonesian | 1057 | 0021
Italian | 1040 | 0010
Japanese | 1041 | 0011
Kannada | 1099 | 004b
Latvian | 1062 | 0026
Lithuanian | 1063 | 0027
Malay | 1086 | 003e
Malayalam | 1100 | 004c
Marathi | 1102 | 004e
Norwegian_Bokmaal | 1044 | 0414
Portuguese | 2070 | 0816
Portuguese_Braz | 1046 | 0416
Punjabi | 1094 | 0046
Romanian | 1048 | 0018
Russian | 1049 | 0019
Serbian_Cyrillic | 3098 | 0c1a
Serbian_Latin | 2074 | 081a
Slovak | 1051 | 001b
Slovenian | 1060 | 0024
Spanish | 3082 | 000a
Swedish | 1053 | 001d
Tamil | 1097 | 0049
Telugu | 1098 | 004a
Ukrainian | 1058 | 0022
Urdu | 1056 | 0020
Vietnamese | 1066 | 002a

See Also

Concepts

Manage thesaurus files (SharePoint Server 2010)


Configure authoritative Web pages (SharePoint Server 2010)

Summary: Improve search results by configuring relevance ranking. Learn how to specify authoritative and non-authoritative URLs and sites.

An administrator of a Search service application can designate a Web page as most authoritative, second-level authoritative, third-level authoritative, or non-authoritative. This setting affects relevance rankings for search results. Therefore, it affects the order in which search results appear in a search results list.

The relevance ranking for a search result is determined in part by how far (in clicks) the result is from a URL that is designated as most authoritative, second-level authoritative, or third-level authoritative. A most-authoritative page contains or links to the most relevant information. A second-level authoritative page receives a penalty click of one. A third-level authoritative URL receives a penalty click of two. URLs designated as non-authoritative are ranked lower than other sites.

Specify Web pages as authoritative

Use the following procedure to specify Web pages as authoritative or non-authoritative.

To specify Web pages as authoritative

  1. Verify that the user account that is performing this procedure is an administrator for the Search service application for which you want to configure authoritative Web pages.

  2. On the Central Administration Web site, in the Application Management section, click Manage service applications.

  3. Click the Search service application for which you want to configure authoritative Web pages.

  4. On the Search Administration page, in the Quick Launch, click Authoritative Pages.

  5. On the Specify Authoritative Pages page, in the Most authoritative pages box in the Authoritative Web Pages section, type the URLs of pages that are most authoritative. Separate the URLs by returns so that there is one URL per line.

  6. In the Second-level authoritative pages box, type the URLs of pages that are secondary.

  7. In the Third-level authoritative pages box, type the URLs of pages that are tertiary.

  8. In the Non-authoritative Sites section, in the Sites to demote box, type the URLs of sites that you want to be ranked lower than all other sites, such as URLs of sites that contain outdated information but are retained for record-keeping). A URL whose prefix matches the prefix of a URL in the Sites to demote box is ranked lower than all other sites.

  9. If you want re-calculation of ranking to begin after you click OK, select the Refresh now check box in the Refresh Now? section. If the check box is cleared, ranking re-calculation occurs later, according to a predetermined schedule.

  10. Click OK.


Enterprise Search: The View from the Crawl Space

Published: May 1, 2012

Summary: Read these articles to get tips and techniques to make SharePoint search more useful.

Enterprise Search: The View from the Crawl Space is a column that focuses on real-world perspectives and practical techniques for succeeding with Microsoft enterprise search. The articles cover a wide range of topics and have useful tips that you can use no matter where you may be on the spectrum of search sophistication. The author of the column, Jeff Fried, is CTO of BA Insight, focused on strategic applications of search technology. He came to BA Insight from Microsoft where he served as technical product manager for all Microsoft enterprise search products.

  • Article 1: The Search Journey (Word)

  • Article 1: The Search Journey (PDF)


User Profile Service administration (SharePoint Server 2010)
See Also

The User Profile Service is a shared service in Microsoft SharePoint Server 2010 that enables the creation and management of user profiles that can be accessed from multiple sites and farms. Administration of User Profile Service applications is much simpler in SharePoint Server 2010 and can be delegated to a service application administrator by the farm administrator. For more information, see About service applications and services (SharePoint Server 2010).

The recommended tasks for administering the User Profile Service are described in the following articles:

  • Create, edit, or delete a User Profile service application (SharePoint Server 2010)

  • Assign administration of a User Profile service application (SharePoint Server 2010)

  • Assign administration of User Profile service features (SharePoint Server 2010)

  • Assign administration of user profiles (SharePoint Server 2010)

  • Remove an administrator from a User Profile service application (SharePoint Server 2010)

  • Add, edit, or delete custom properties for a user profile (SharePoint Server 2010)

  • Manage audiences (SharePoint Server 2010)

  • Manage profile synchronization (SharePoint Server 2010)

  • Manage My Sites settings (SharePoint Server 2010)

  • Enable or disable personal and social features for users or groups (SharePoint Server 2010)

  • Resolve accounts across multiple forests (SharePoint Server 2010)

  • Managing personal and social features (SharePoint Server 2010)

  • User Profile Replication Engine overview (SharePoint Server 2010)

  • Configure policy settings on user profile properties and personal and social features (SharePoint Server 2010)

  • Deploy the Yammer Web Part (SharePoint Server 2010)

See Also

Concepts

Site and solution administration (SharePoint Server 2010)
User Profile Service administration (SharePoint Server 2010)
User Profile service application overview (SharePoint Server 2010)

Other Resources

Resource Center: Operations and Manageability for SharePoint Server 2010


Create, edit, or delete a User Profile service application (SharePoint Server 2010)
See Also

The User Profile Service is a shared service in Microsoft SharePoint Server 2010 that provides a central location for configuring and managing the following personalization settings:

  • User profile properties

  • Audiences

  • Profile synchronization settings

  • Organization browsing and management settings

  • My Site settings

This article provides required information and procedures for configuring a User Profile Service application.

Procedures in this task:

  • Create a User Profile Service application

  • Edit a User Profile Service application

  • Delete a User Profile Service application

Before reading this article, you should understand the concepts described in User Profile service application overview (SharePoint Server 2010).

Task requirements

Before you perform this procedure, confirm the following:

  • Your system is running either the Standard or Enterprise version of SharePoint Server 2010.

  • An instance of the Managed Metadata Service exists. For more information, see Managed metadata service application overview (SharePoint Server 2010).

  • A managed path exists. For more information, see Define managed paths (SharePoint Server 2010).

  • An application pool for My Sites exists. For more information, see the Application pools section of Logical architecture components (SharePoint Server 2010).

  • A site collection that uses the My Site Host template exists. For more information, see Sites and site collections overview (SharePoint Server 2010).

  • Microsoft recommends that you install the June 2011 cumulative update refresh or later. Without this update, the User Profile service application databases cannot be restored. For more information about updates, see the Updates for SharePoint 2010 Products resource center (http://go.microsoft.com/fwlink/p/?LinkID=220218).

Create a User Profile Service application

Use Central Administration to create a User Profile Service application

Perform the following procedure to create a User Profile Service application.

To create a User Profile Service application by using Central Administration

  1. Verify that you have the following administrative credentials:

    • To use Central Administration to create a User Profile Service application, you must be a member of the Farm Administrators group.

  2. On the Central Administration Web site, in the Application Management section, click Manage service applications.

  3. On the Manage Service Applications page, click the Service Applications tab to activate the ribbon.

  4. In the Create group of the ribbon, click New, and then click User Profile Service Application in the list of service applications to create.

  5. In the Create New User Profile Service Application dialog box, in the Name section, type a unique name for the User Profile Service application.

  6. In the Application Pool section, select Use existing application pool to choose an existing application pool from the list or select Create a new application pool to create a new application pool.

  7. In the Application Pool section, for the Select a security account for this application pool option, select Predefined to choose an existing predefined security account from the list or select Configurable to choose an existing managed account.

  8. In the Profile Database section, in the Database Server box, type the name of the database server where the profile database will be located. In the Database Name box, type the name of the database where profile information will be stored.

  9. In the Profile Database section, for the Database authentication option, select Windows Authentication (recommended) to use Integrated Windows Authentication to connect to the profile database or select SQL authentication to enter the credentials that will be used to connect to the profile database.

  10. In the Failover Server section, in the Failover Database Server box, type the name of the database server to be used in conjunction with Microsoft SQL Server database mirroring.

  11. In the Synchronization Database section, in the Database Server box, type the name of the database server where the synchronization database will be located. In the Database Name box, type the name of the database where synchronization information will be stored.

    Note:

    Only ASCII characters are allowed for the synchronization database name.

    Note:

    If connecting to an existing or restored synchronization database, you must wait at least 2 minutes after starting the Sync service before importing the FIM key.

  12. In the Synchronization Database section, for the Database authentication option, select Windows Authentication (recommended) to use Integrated Windows Authentication to connect to the synchronization database or select SQL authentication to type the credentials that will be used to connect to the synchronization database.

  13. In the Failover Server section, in the Failover Database Server box, type the name of the database server to be used in conjunction with Microsoft SQL Server database mirroring.

  14. In the Social Tagging Database section, in the Database Server box, type the name of the database server where the social tagging database will be located. In the Database Name box, type the name of the database where social tags will be stored.

  15. In the Social Tagging Database section, for the Database authentication option, select Windows Authentication (recommended) to use Integrated Windows Authentication to connect to the social tagging database or select SQL authentication to type the credentials that will be used to connect to the social tagging database.

  16. In the Failover Server section, in the Failover Database Server box, type the name of the database server to be used in conjunction with Microsoft SQL Server database mirroring.

    Important:

    In the Profile Synchronization Instance section, disregard this setting because this selection is ignored when profile synchronization is configured.

  17. In the My Site Host URL section, type the URL of the site collection where the My Site Host has been provisioned.

  18. In the My Site Managed Path section, type the managed path where individual My Sites will be created.

    Note:

    Self-service site creation can be enabled for the Web application that hosts My Sites. Users must have Create Personal Site permissions to create their own My Site. By default, this permission is enabled in SharePoint Server 2010 for all authenticated users. Ensure that you want the default setting to apply to the organization. Alternatively, you can use one or more security groups to grant the Create Personal Site permission to a subset of users in an organization. For more information about self-service site creation, see Turn on or turn off self-service site creation (SharePoint Server 2010)

  19. In the Site Naming Format section, select one of the following formats for naming new personal sites:

    • User name (do not resolve conflicts)

    • User name (resolve conflicts by using domain_username)

    • Domain and user name (will not have conflicts)

  20. In the Default Proxy Group section, select whether or not you want the proxy of this User Profile Service to be a part of the default proxy group on this farm.

Use Windows PowerShell to create a User Profile Service application

Perform the following procedure to create a User Profile Service application.

To create a User Profile Service application by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. From the Windows PowerShell command prompt (that is, PS C:\>), type the following command and press ENTER:

    $app_UPA = New-SPProfileServiceApplication -Name UPA -PartitionMode -ApplicationPool $appPool

For more information, see New-SPProfileServiceApplication.

Note:

We recommend that you use Windows PowerShell when performing command-line administrative tasks. The Stsadm command-line tool has been deprecated, but is included to support compatibility with previous product versions.

Edit a User Profile Service application

Perform the following procedure to edit a User Profile Service application.

To edit a User Profile Service application

  1. Verify that you have the following administrative credentials:

    • To use Central Administration to edit a User Profile Service application, you must be a member of the Farm Administrators group.

  2. On the Central Administration Web site, in the Application Management section, click Manage service applications.

  3. On the Manage Service Applications page, in the Type column, click User Profile Service Application to highlight the row.

  4. In the Operations group of the ribbon, click Properties.

  5. In the Edit User Profile Service Application dialog box, edit the properties for which you want to make changes, and then click OK.

Delete a User Profile Service application

Perform the following procedure to delete a User Profile Service application.

To delete a User Profile Service application

  1. Verify that you have the following administrative credentials:

    • To use Central Administration to delete a User Profile Service application, you must be a member of the Farm Administrators group.

  2. On the Central Administration Web site, in the Application Management section, click Manage service applications.

  3. On the Manage Service Applications page, in the Type column, click the User Profile Service application that you want to delete to highlight the row.

  4. In the Operations group of the ribbon, click Delete.

  5. In the Delete Service Application dialog box, verify that you have selected the correct User Profile Service application to delete, select Delete data associated with the Service Applications to delete all data associated with the selected User Profile Service application, and then click OK.

See Also

Concepts

User Profile Service administration (SharePoint Server 2010)
User Profile service application overview (SharePoint Server 2010)
Plan user profiles (SharePoint Server 2010)
Enable or disable personal and social features for users or groups (SharePoint Server 2010)
Assign administration of a User Profile service application (SharePoint Server 2010)

Other Resources

Resource Center: Enterprise Collaboration in SharePoint Server 2010
Resource Center: Social Computing in SharePoint Server 2010


Assign administration of a User Profile service application (SharePoint Server 2010)
See Also

Farm administrators can delegate administration of a specific User Profile service application to a service application administrator. A service application administrator can perform all of the administrative tasks related to that User Profile service application, but cannot manage other service applications or settings contained in Central Administration. For more information, see User Profile service application overview (SharePoint Server 2010).

Before you perform this procedure, confirm the following:

  • A User Profile service application is running in the farm.

In this article:

  • Delegate administration of a User Profile service application by using Central Administration

  • Delegate administration of a User Profile service application by using Windows PowerShell

Delegate administration of a User Profile service application by using Central Administration

You typically use the Central Administration Web site to delegate administration of a User Profile service application in a stand-alone deployment.

To delegate administration of a User Profile service application by using Central Administration

  1. Verify that you have the following administrative credentials:

    • To use Central Administration, the user account that is performing this procedure must be a member of the Farm Administrators group.

  2. On the Central Administration Web site, in the Application Management section, click Manage service applications.

  3. In the list of service applications, click User Profile Service Application.

  4. On the Service Applications tab, in the Operations section, click Administrators.

  5. On the Administrators for User Profile Service Application page, type or select a user or group account and then click Add.

  6. In the Permissions for Administrator: box, check the Full Control permission level, and then click OK.

Delegate administration of a User Profile service application by using Windows PowerShell

You typically use Windows PowerShell to delegate administration of a User Profile service application when you want to automate the task, which is common in enterprises.

To delegate administration of a User Profile service application by using Windows PowerShell

  1. Verify that you meet the following minimum requirements:

    • See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. From the Windows PowerShell command prompt (that is, PS C:\>), type the following commands:

    1. To display a list of all service applications and their GUIDs, type the following command:

      Copy Code
      Get-SPServiceApplication

    2. To create a variable that contains the GUID for the User Profile service for which you want to delegate Full Control, type the following command:

      Copy Code
      $serviceapp = Get-SPServiceApplication <guid>

      Where <guid> is the GUID for the User Profile service for which you want to delegate Full Control.

    3. To create a variable that contains the list of administrators for the service application, type the following command:

      Copy Code
      $security = Get-SPServiceApplicationSecurity $serviceapp -Admin

    4. To create a variable that contains the claims principal for a user account, type the following command:

      Copy Code
      $principalUser1 = New-SPClaimsPrincipal -Identity "<domain\user>" -IdentityType WindowsSamAccountName

      Where <domain\user> is the user to whom you want to delegate Full Control.

    5. To give Full Control permissions to the claims principal you just created, type the following command:

      Copy Code
      Grant-SPObjectSecurity $security -Principal $principalUser1 -Rights "Full Control"

    6. To apply the changes to the User Profile service application, type the following command:

      Copy Code
      Set-SPServiceApplicationSecurity $serviceapp -ObjectSecurity $security -Admin

    For more information, see Get-SPServiceApplication, Get-SPServiceApplicationSecurity, New-SPClaimsPrincipal, Grant-SPObjectSecurity, and Set-SPServiceApplicationSecurity.

See Also

Concepts

User Profile Service administration (SharePoint Server 2010)
Assign administration of a User Profile service application (SharePoint Server 2010)
User Profile service application overview (SharePoint Server 2010)
Windows PowerShell for SharePoint Server 2010 reference

Other Resources

Resource Center: Enterprise Collaboration in SharePoint Server 2010
Resource Center: Social Computing in SharePoint Server 2010


Assign administration of User Profile service features (SharePoint Server 2010)
See Also

Farm administrators can delegate administration of either a User Profile service application or selected features of a User Profile service application to a service application administrator. A service application administrator can delegate administration of a feature or features of a User Profile application service to another user, who is known as a feature administrator. A feature administrator can perform all administrative tasks that are related to the delegated feature or features, but a feature administrator cannot manage other features, service applications, or settings that are contained in Central Administration. For more information, see User Profile service application overview (SharePoint Server 2010).

Any of the following features of a User Profile service application can be delegated to a feature administrator:

  • Manage Profiles

  • Manage Audiences

  • Manage Permissions

  • Retrieve People Data for Search Crawlers

  • Manage Social Data

Before you perform this procedure, confirm the following:

  • A User Profile service application is running in the farm.

  • An instance of the Managed Metadata service exists. For more information, see Create, update, publish, or delete a managed metadata service application (SharePoint Server 2010).

  • The user or group you want to administer the User Profile service feature is stored in the profile database.

In this article:

  • Delegate administration of User Profile service features by using Central Administration

  • Delegate administration of User Profile service features by using Windows PowerShell

Delegate administration of User Profile service features by using Central Administration

You typically use the Central Administration Web site to delegate administration of User Profile service features in a stand-alone deployment.

To delegate administration of User Profile service features by using Central Administration

  1. Verify that you have the following administrative credentials:

    • To delegate administration of User Profile service features, the user account that is performing this procedure must be either a member of the Farm Administrators group or must have been delegated permission to administer the User Profile service application that is running in the farm. For more information, see Assign administration of a User Profile service application (SharePoint Server 2010).

  2. On the Central Administration Web site, in the Application Management section, click Manage service applications.

  3. In the list of service applications, click User Profile Service Application.

  4. On the Service Applications tab, in the Operations group, click Administrators.

  5. On the Administrators for User Profile Service Application page, type or select a user or group account, and then click Add.

  6. In the Permissions for Administrator: box, check the feature or features for which you want to delegate administration, and then click OK.

Delegate administration of User Profile service features by using Windows PowerShell

You typically use Windows PowerShell to delegate administration of User Profile service features when you want to automate the task, which is common in enterprises.

To delegate administration of User Profile service features by using Windows PowerShell

  1. Verify that you meet the following minimum requirements:

    • See Add-SPShellAdmin.

  2. On the Start menu, click Administrative Tools.

  3. Click SharePoint 2010 Management Shell.

  4. From the Windows PowerShell command prompt (that is, PS C:\>), type the following commands:

    1. To display a list of all service applications and their GUIDs, type the following command:

      Copy Code
      Get-SPServiceApplication

    2. To create a variable that contains the GUID for the User Profile service for which you want to delegate Full Control, type the following command:

      Copy Code
      $serviceapp = Get-SPServiceApplication <guid>

      Where <guid> is the GUID for the User Profile service for which you want to delegate Manage Social Data permissions.

    3. To create a variable that contains the list of administrators for the service application, type the following command:

      Copy Code
      $security = Get-SPServiceApplicationSecurity $serviceapp -Admin

    4. To create a variable that contains the claims principal for a user account, type the following command:

      Copy Code
      $principalUser1 = New-SPClaimsPrincipal -Identity "<domain\user>" -IdentityType WindowsSamAccountName

      Where <domain\user> is the user to whom you want to delegate Manage Social Data permissions.

    5. To give Manage Social Data permissions to the claims principal you just created, type the following command:

      Copy Code
      Grant-SPObjectSecurity $security -Principal $principalUser1 -Rights "Manage Social Data"

    6. To apply the changes to the User Profile service application, type the following command:

      Copy Code
      Set-SPServiceApplicationSecurity $serviceapp -ObjectSecurity $security -Admin

    For more information, see Get-SPServiceApplication, Get-SPServiceApplicationSecurity, New-SPClaimsPrincipal, Grant-SPObjectSecurity, Set-SPServiceApplicationSecurity, and Set-SPProfileServiceApplicationSecurity.

See Also

Concepts

Assign administration of User Profile service features (SharePoint Server 2010)
Assign administration of a User Profile service application (SharePoint Server 2010)
User Profile Service administration (SharePoint Server 2010)
Plan for profile synchronization (SharePoint Server 2010)

Other Resources

Resource Center: Enterprise Collaboration in SharePoint Server 2010
Resource Center: Social Computing in SharePoint Server 2010


Assign administration of user profiles (SharePoint Server 2010)
See Also

Farm administrators or service application administrators of a User Profile service application can delegate administration of user profiles to a feature administrator. A feature administrator can manage all settings for user profiles, but a feature administrator cannot manage settings for other features or for the entire User Profile service application. A feature administrator can be either a user or a group. For more information, see User Profile service application overview (SharePoint Server 2010).

Note:

Farm administrators can use Windows PowerShell to manage services. However, feature administrators cannot use Windows PowerShell for this purpose. Feature administrators must use Central Administration to manage features of the User Profile service.

Before you perform this procedure, confirm the following:

  • A User Profile Service application is running in the farm. For more information, see Create, edit, or delete a User Profile service application (SharePoint Server 2010).

  • An instance of the Managed Metadata service exists. For more information, see Create, update, publish, or delete a managed metadata service application (SharePoint Server 2010).

  • The user or group that you want to manage the feature of the User Profile service is stored in the profile database.

In this article:

  • Delegate administration of user profiles by using Central Administration

  • Delegate administration of user profiles by using Windows PowerShell

Delegate administration of user profiles by using Central Administration

You typically use the Central Administration Web site to delegate administration of user profiles in a stand-alone deployment.

To delegate administration of user profiles by using Central Administration

  1. Verify that you have the following administrative credentials:

    • To delegate administration of user profiles, you must be either a member of the Farm Administrators group, or you must have been delegated permission to administer the User Profile service application that is running in the farm. For more information, see Assign administration of a User Profile service application (SharePoint Server 2010).

  2. On the Central Administration Web site, in the Application Management section, click Manage service applications.

  3. In the list of service applications, click User Profile Service Application.

  4. On the Service Applications tab, in the Operations section, click Administrators.

  5. On the Administrators for User Profile Service Application page, type or select a user or group account and then click Add.

  6. In the Permissions for Administrator: box, check the Manage Profiles permission level, and then click OK.

Delegate administration of user profiles by using Windows PowerShell

You typically use Windows PowerShell to delegate administration of user profiles when you want to automate the task, which is common in enterprises.

Note:

Feature administrators cannot use Windows PowerShell to manage features of the User Profile service. Only Farm Administrators can use Windows PowerShell to manage features.

To delegate administration of user profiles by using Windows PowerShell

  1. Verify that you meet the following minimum requirements:

    • See Add-SPShellAdmin.

  2. On the Start menu, click Administrative Tools.

  3. Click SharePoint 2010 Management Shell.

  4. From the Windows PowerShell command prompt (that is, PS C:\>), type the following commands:

    1. To display a list of all service applications and their GUIDs, type the following command:

      Copy Code
      Get-SPServiceApplication

    2. To create a variable that contains the GUID for the User Profile service application, type the following command:

      Copy Code
      $serviceapp = Get-SPServiceApplication <guid>

      Where <guid> is the GUID for the User Profile service application.

    3. To create a variable that contains the list of administrators for the service application, type the following command:

      Copy Code
      $security = Get-SPServiceApplicationSecurity $serviceapp -Admin

    4. To create a variable that contains the claims principal for a user account, type the following command:

      Copy Code
      $principalUser1 = New-SPClaimsPrincipal -Identity "<domain\user>" -IdentityType WindowsSamAccountName

      Where <domain\user> is the user whom you want to make an Administrator for the Manage Profiles feature of the User Profile service application.

    5. To give Manage Profiles permissions to the claims principal you just created, type the following command:

      Copy Code
      Grant-SPObjectSecurity $security -Principal $principalUser1 -Rights "Manage Profiles"

    6. To apply the changes to the User Profile service application, type the following command:

      Copy Code
      Set-SPServiceApplicationSecurity $serviceapp -ObjectSecurity $security -Admin

    For more information, see New-SPClaimsPrincipal, Get-SPServiceApplicationSecurity, New-SPClaimsPrincipal, Get-SPProfileServiceApplicationSecurity, Set-SPProfileServiceApplicationSecurity, and Grant-SPObjectSecurity.

See Also

Concepts

User Profile Service administration (SharePoint Server 2010)
Assign administration of a User Profile service application (SharePoint Server 2010)
User Profile service application overview (SharePoint Server 2010)
Plan for profile synchronization (SharePoint Server 2010)


Remove an administrator from a User Profile service application (SharePoint Server 2010)
See Also

Farm administrators can remove a service application administrator from a User Profile service application. For example, the account for a user who leaves the organization should be removed from the list of service application administrators. Another reason for the removal is when a service application administrator is no longer required. For more information about administrators, see Choose administrators and owners for the administration hierarchy (SharePoint Server 2010).

Before you perform this procedure, confirm the following:

  • A User Profile service application is running in the farm.

In this article:

  • Remove an administrator from a User Profile service application by using Central Administration

  • Remove an administrator from a User Profile service application by using Windows PowerShell

Remove an administrator from a User Profile service application by using Central Administration

You typically use the Central Administration Web site to remove an administrator from a User Profile service application in a stand-alone deployment.

To remove an administrator from a User Profile service application by using Central Administration

  1. Verify that you have the following administrative credentials:

    • To use Central Administration, the user account that is performing this procedure must be a member of the Farm Administrators group.

  2. On the Central Administration Web site, in the Application Management section, click Manage service applications.

  3. In the list of service applications, click User Profile Service Application.

  4. On the Service Applications tab, in the Operations group, click Administrators.

  5. On the Administrators for User Profile Service Application page, select a user or group account, click Remove, and then click OK.

Remove an administrator from a User Profile service application by using Windows PowerShell

You typically use Windows PowerShell to remove an administrator from a User Profile service application when you want to automate the task, which is common in enterprises.

To remove an administrator from a User Profile service application by using Windows PowerShell

  1. Verify that you meet the following minimum requirements:

    • See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. From the Windows PowerShell command prompt (that is, PS C:\>), type the following commands:

    1. To get a list of all service applications and their GUIDs, type the following command:

      Copy Code
      Get-SPServiceApplication

    2. To create a variable that contains the GUID of the User Profile service application for which you want to remove an administrator, type the following command:

      Copy Code
      $serviceapp = Get-SPServiceApplication <guid>

      Where <guid> is the GUID for the User Profile service for which you want to remove a service application administrator.

    3. To create a variable that contains the list of administrators for the User Profile service application, type the following command:

      Copy Code
      $security = Get-SPServiceApplicationSecurity $serviceapp -Admin

    4. To create a variable that contains the claims principal for a user account, type the following command:

      Copy Code
      $principalUser1 = New-SPClaimsPrincipal -Identity "<domain\user>" -IdentityType WindowsSamAccountName

      Where <domain\user> is the administrator you want to remove.

    5. To remove the user from the list of service application administrators, type the following command:

      Copy Code
      Revoke-SPObjectSecurity $security -Principal $principalUser1

    6. To apply the changes to the User Profile service application, type the following command:

      Copy Code
      Set-SPServiceApplicationSecurity $serviceapp -ObjectSecurity $security -Admin

    For more information, see Get-SPServiceApplication, Get-SPServiceApplicationSecurity, Revoke-SPObjectSecurity, and Set-SPServiceApplicationSecurity.

See Also

Concepts

User Profile Service administration (SharePoint Server 2010)
Assign administration of a User Profile service application (SharePoint Server 2010)
User Profile service application overview (SharePoint Server 2010)
Windows PowerShell for SharePoint Server 2010 reference


Add, edit, or delete custom properties for a user profile (SharePoint Server 2010)
See Also

The Manage Profile Service page of a User Profile Service application in Microsoft SharePoint Server 2010 is a central location for managing available user profile properties and creating new properties. For more information, see User Profile service application overview (SharePoint Server 2010).

You can supplement default user profile properties with additional properties to track key information that is not otherwise available. Key business needs might encourage you to create new properties that associate users with important business processes. For example, a sales department can create a specific sales role property to share with a particular audience or audiences. Custom user profile properties can be edited to better suit business needs or they can be deleted when no longer needed.

The Manage Profile Service page cannot be accessed until an instance of a User Profile Service application exists. You can use the SharePoint Central Administration Web site to create and manage User Profile Service applications and other service applications for non-hosted environments. (For hosted environments, you do this on the Tenant Administrator page.) You can delegate management of a User Profile Service application to someone who does not have permissions to manage other services or settings contained in Central Administration. For more information, see Assign administration of a User Profile service application (SharePoint Server 2010).

This article contains required information and procedures for managing a user profile property of a User Profile Service application.

Procedures in this task:

  • Create a user profile property

  • Edit a user profile property

  • Delete a user profile property

Task requirements

Before you perform this procedure, confirm the following:

  • The farm is running either the Standard or Enterprise version of SharePoint Server 2010.

  • An instance of the User Profile Service application exists.

Create a user profile property

Perform the following procedure to create a user profile property.

To create a user profile property

  1. Verify that you have the following administrative credentials:

    • To use Central Administration to set up My Sites, verify that the user account that is performing the procedure is a member of the Farm Administrators SharePoint group or is a Service Application Administrator for the User Profile Service application.

  2. On the Central Administration Web site, in the Application Management section, click Manage service applications.

  3. On the Manage Service Applications page, in the Type column, click the User Profile Service application.

  4. In the Operations group of the ribbon, click Manage.

  5. On the Manage Profile Service page, in the People section, click Manage User Properties.

  6. On the Manage User Profile Properties page, click New Property.

  7. On the Add User Profile Property page, in the Property Settings section, in the Name text box, type a name to be used by the User Profile Service application for the user profile property.

  8. In the Property Settings section, in the Display Name box, type the user profile property name that will be displayed to all users.

    Note:

    If you use multiple languages in your deployment, you can provide alternative display names for each language by clicking Edit Languages. In the dialog box, click Add Language, select a language from the menu, and then type the display name in the new language. You can add display names for any of the available languages. The display name that appears depends on the language of the operating system on the computer of the user who views the property.

  9. On the Type drop-down list, click the data type for the property.

    Note:

    If you select string (Multi Value), the property will be permanently set as a multivalued property. You cannot change this setting after you click OK. You can only delete the property and add it again as a new single value property.

  10. In the Length box, type the maximum number of characters that are allowed for values for this property.

  11. Click to select Configure a Term Set to be used for this property to associate the profile property with a managed metadata term set and select a term set from the drop-down list.

  12. In the Sub-type of Profile section, select the Default User Profile Subtype to associate the default user profile subtype with this user profile property.

  13. In the User Description section, in the Description box, type the instructions or information that is displayed to users about this user profile property.

    Note:

    If you use multiple languages in your deployment, you can provide alternative display names for each language by clicking Edit Languages. In the dialog box, click Add Language, select a language from the menu, and then type the display name in the new language. You can add display names for any of the available languages. The display name that appears depends on the language of the operating system on the computer of the user who views the property.

  14. In the Policy Settings section, select the policy setting and default privacy setting that you want for this property. Click to select User can override box to enable users to override these settings.

    Note:

    For more information, see User Profile Properties Overview (http://go.microsoft.com/fwlink/p/?LinkId=155643) and Privacy Policies (http://go.microsoft.com/fwlink/p/?LinkId=155644).

  15. In the Edit Settings section, select whether users can edit values for this property.

  16. In the Display Settings section, specify if and how the property will be viewed by users.

  17. In the Search Settings section, select the Alias check box, the Indexed check box, or both, depending on the kinds of searches that you want to be associated with this user profile property.

    Note:

    The Alias check box is unavailable unless the Default Privacy Setting is set to "Everyone".

    Note:

    If you mark a property as indexed, a search for values of that property returns that user profile. For example, if the telephone number property is indexed, a search of telephone numbers finds the employee with that number. If you mark a property as aliased, the property is a suitable alias for this user. For example, if you search for all documents by John Kane, the result returns documents that were written by johnkane@contoso.com and Jonathan Kane if profile properties are marked with those values as aliases.

  18. In the Property Mapping for Synchronization section, click Remove to delete or change an existing mapping.

  19. In the Add new Mapping section, specify the source data connection, attribute, and synchronization direction for the mapping. When you are finished, click Add.

  20. Click OK.

Edit a user profile property

Perform the following procedure to edit a user profile property.

To edit a user profile property

  1. Verify that you have the following administrative credentials:

    • To use Central Administration to set up My Sites, verify that the user account that is performing the procedure is a member of the Farm Administrators SharePoint group or is a Service Application Administrator for the User Profile Service application.

  2. On the Central Administration Web site, in the Application Management section, click Manage service applications.

  3. On the Manage Service Applications page, in the Type column, click the User Profile Service application to select the row.

  4. In the Operations group of the ribbon, click Manage.

  5. On the Manage Profile Service page, in the People section, click Manage User Properties.

  6. On the Manage User Profile Properties page, in the Property Name column, select the user profile property that you want to change, and then click Edit.

  7. On the Edit User Profile Property page, locate the element or elements of the user profile property that you want to change and edit them.

  8. When you are finished, click OK.

Delete a user profile property

Perform the following procedure to delete a user profile property.

To delete a user profile property profile property by using Central Administration

  1. Verify that you have the following administrative credentials:

    • To use Central Administration to set up My Sites, verify that the user account that is performing the procedure is a member of the Farm Administrators SharePoint group or is a Service Application Administrator for the User Profile Service application.

  2. On the Central Administration Web site, in the Application Management section, click Manage service applications.

  3. On the Manage Service Applications page, in the Type column, click the User Profile Service application to select the row.

  4. In the Operations group of the ribbon, click Manage.

  5. On the Manage Profile Service page, in the People section, click Manage User Properties.

  6. On the Manage User Profile Properties page, in the Property Name column, select the user profile property that you want to remove, and then click Delete.

  7. In the dialog box, verify that you have selected the correct user profile property, and then click OK.

See Also

Concepts

User Profile Service administration (SharePoint Server 2010)
Plan for profile synchronization (SharePoint Server 2010)
Assign administration of a User Profile service application (SharePoint Server 2010)
User Profile service application overview (SharePoint Server 2010)


Manage audiences (SharePoint Server 2010)
See Also

Audiences in SharePoint Server 2010 are groupings of users that can be used to target content on a SharePoint Server Web site. SharePoint Server 2010 allows targeting to the list-item level or to the list level. Groupings are determined by membership in Microsoft Exchange Server distribution lists, membership in SharePoint groups, or rules that are configured by an administrator. Each audience must be compiled before content can be targeted to that audience. Compilation identifies membership in an audience by crawling the data most recently reported from the identity management system. For more information, see Compile an audience (SharePoint Server 2010).

Important:

Audience compilation cannot run during user profile synchronization.

In Microsoft SharePoint Server 2010, audience rules can be based on the following information:

  • A user profile

  • Membership in an identity management system, for example, Active Directory Domain Services (AD DS) or Microsoft Business Connectivity Services

  • An organization's reporting structure

Audiences are defined and contained in User Profile service applications. For more information, see User Profile Service administration (SharePoint Server 2010).

Security Note:

Do not use audiences as a substitute for configuring permissions for SharePoint users and groups. For more information, see Security planning for sites and content (SharePoint Server 2010)

In this section:

  • Add, edit, or delete an audience (SharePoint Server 2010)

    This article explains how to add an audience, edit audience properties, and delete an audience.

  • Add, edit, or delete an audience rule (SharePoint Server 2010)

    This article explains how to add an audience rule to an existing audience, edit the properties of an audience rule, and delete an audience rule.

  • Schedule audience compilation (SharePoint Server 2010)

    This article explains how to configure an audience compilation to run at specific times.

  • Compile an audience (SharePoint Server 2010)

    This article explains how to perform a one-time audience compilation.

  • View audiences (SharePoint Server 2010)

    This article explains how to view a list of the audiences that are currently configured.

See Also

Concepts

User Profile Service administration (SharePoint Server 2010)
Audience and content targeting planning (SharePoint Server 2010)

Other Resources

Resource Center: Social Computing in SharePoint Server 2010


Add, edit, or delete an audience (SharePoint Server 2010)
See Also

Use audiences in Microsoft SharePoint Server 2010 when you want to display content such as list or library items, navigation links, and entire Web Parts to specific groups of people. This is useful when you want to present information that is relevant only to a particular group of users. For example, you can add a Web Part to the legal department's site that contains a list of legal contracts that is visible only to users in that department.

You can add, edit, or delete an audience by using the Central Administration tool in SharePoint Server 2010. When you add a new audience, you also add a rule that determines the membership for each audience you create. Audiences must always have at least one audience rule. For more information about audience rules, see Add, edit, or delete an audience rule (SharePoint Server 2010).

When you add a new audience, you also select an owner for the audience. The owner should be someone who understands why the audience was created and should be someone who can be contacted if there is a problem with the audience. Typically, the owner will be the person who created the audience, but this is not a requirement. Having audience owners is helpful in enterprises that have a large number of audiences created by several different administrators.

Important:

When you add a new audience, you cannot view its members until the new audience is compiled. For more information, see Compile an audience (SharePoint Server 2010).

In this article:

  • Add an audience

  • Edit an audience

  • Delete an audience

Add an audience

You can add an audience when you want to filter specific content to selected users.

To add an audience

  1. Verify that you have at least one of the following administrative credentials:

    • You are a member of the Farm Administrators group.

    • You are a service application administrator for the User Profile service application that contains the audience that you want to edit.

    • You are an administrator for the Audience feature of the User Profile service application that contains the audience that you want to edit.

  2. On the Central Administration Web site, in the Application Management section, click Manage service applications.

  3. On the Service Applications page, in the list of service applications, click the row of the User Profile service application that you want to configure.

    Clicking the row activates options in the ribbon.

  4. In the Operations group of the ribbon, click Manage.

  5. On the Manage Profile Service page, in the People section, click Manage Audiences.

  6. On the View Audiences page, click New Audience.

  7. On the Create Audience page, in the Properties section, in the Name box, type a name for the new audience.

  8. In the Description box, type a detailed description of the new audience.

  9. In the Owner box, type the account name of the user who will own and manage this audience.

    You can click Check Names to verify that you have typed the name correctly, or you can click Browse to search for an account name.

  10. Select Satisfy all of the rules to require that all of the rules need to be satisfied in order for a user to be included in the audience or select Satisfy any of the rules to allow membership in the audience as long as any of the rules are satisfied.

  11. Click OK.

  12. On the Add Audience Rule page, take one of the following actions:

    • To add a rule based on a user, for example, all users who report to a specific manager:

      1. In the Operand section, select User.

      2. In the Operator section, select Reports Under to create a rule based on organizational hierarchy or select Member Of to target content by group or distribution list.

      3. In the Value box, type a value or select a user to use when evaluating the property against this rule.

        • For a Reports Under rule, select the person who is the manager of the users you want to include in the audience.

        • For a Member Of rule, select the group or distribution list that the user must belong to in order to be included in the audience.

      To create an audience based on a group of people who report to a specific manager, for example, you would select User in the Operand section, select Reports Under from the Operator list, and then select the name of the manager in the Value section.

    • To add a rule based on a user profile property, for example, all users whose job title is "accountant":

      1. In the Operand section, select Property, and then select a user profile property from the list.

      2. From the Operator list, select an operator for the property. Each user profile property has a slightly different set of operators. For example, the operators for the Job Title property are Contains and Not Contains. To find descriptions of the operators available in the UI, see Operators (Transact-SQL).

      3. In the Value section, type a value to use when evaluating the property against this rule.

    For example, if you have an audience called "Finance", you could create an audience rule to target content to all accountants in your organization by selecting the Job Title user profile property from the Property list, selecting the Contains operator from the Operator list, and then typing "accountant" in the Value text box.

    Note:

    You can only select one operator per rule by using Central Administration. To add audience rules that contain more complex logic, you must use the SharePoint Server 2010 object model. For more information, see Audience Class (http://go.microsoft.com/fwlink/p/?LinkID=185879).

  13. Click OK.

Edit an audience

You can change the name, description, or owner of an audience. You can also change whether audience members must satisfy all audience rules or can satisfy any of the audience rules.

To edit an audience

  1. Verify that you have at least one of the following administrative credentials:

    1. You are a member of the Farm Administrators group.

    2. You are a service application administrator for the User Profile service application that contains the audience that you want to edit.

    3. You are an administrator for the Audience feature of the User Profile service application that contains the audience that you want to edit.

  2. On the Central Administration Web site, in the Application Management section, click Manage service applications.

  3. On the Service Applications page, in the list of service applications, click the row of the User Profile service application that you want to configure.

    Clicking the row activates options in the ribbon.

  4. In the Operations group of the ribbon, click Manage.

  5. On the Manage Profile Service page, in the People section, click Manage Audiences.

  6. On the View Audiences page, in the list of audiences, point to the name of the audience that you want to edit, click the arrow that appears, and then click Edit.

  7. On the Edit Audience page, you can make the following changes:

    • In the Properties section, you can change the name or description of the audience.

    • In the Owner box, you can type the account name of the user that will own and manage this audience.

      You can click Check Names to verify that you have typed the name correctly, or you can click Browse to search for an account name.

    • You can select Satisfy all of the rules or Satisfy any of the rules to determine the membership of this audience.

  8. Click OK to apply your changes.

Delete an audience

You might want to delete an audience when there is no longer a business need to target content to the users and groups in that audience.

To delete an audience

  1. Verify that you have at least one of the following administrative credentials:

    1. You are a member of the Farm Administrators group.

    2. You are a service application administrator for the User Profile service application that contains the audience that you want to delete.

    3. You are an administrator of the Audience feature of the User Profile service application that contains the audience that you want to delete.

  2. On the Central Administration Web site, in the Application Management section, click Manage service applications.

  3. On the Service Applications page, in the list of service applications, click the row of the User Profile service application that you want to configure.

    Clicking the row activates options in the ribbon.

  4. In the Operations group of the ribbon, click Manage.

  5. On the Service Applications page, in the list of service applications, click the User Profile Service application that you want to configure.

  6. On the Manage Profile Service page, in the People section, click Manage Audiences.

  7. On the View Audiences page, in the list of audiences, click the audience that you want to delete and then click Delete.

  8. Click OK to confirm the deletion.

See Also

Concepts

Manage audiences (SharePoint Server 2010)
User Profile Service administration (SharePoint Server 2010)
Assign administration of a User Profile service application (SharePoint Server 2010)
User Profile service application overview (SharePoint Server 2010)
Plan for profile synchronization (SharePoint Server 2010)


Add, edit, or delete an audience rule (SharePoint Server 2010)
See Also

Audience rules determine which users belong to an audience. When you add an audience, you are asked to create a rule that determines which users will be a member of the audience. Audiences must have at least one audience rule. You can add audience rules to an audience and you can edit or delete existing rules for an audience. New or edited audience rules are not applied until the audience is compiled. For more information, see Compile an audience (SharePoint Server 2010).

Each audience rule includes the following elements:

  • Operand identifies the user or property that you want to include in the query for the rule.

  • Operator determines whether users who are compared to the value are included in or excluded from the rule.

  • Value is the point of comparison that is used by the query.

Audiences with multiple rules use one of the following sets of logic:

  • Satisfy all of the rules: Users must match all rules to become members of the audience. Added rules tend to reduce the size of the audience.

  • Satisfy any of the rules: Users that match any rules become members of the audience. Added rules tend to increase the size of the audience.

Note:

To create audience rules that contain more complex logic, you must use the object model for Microsoft SharePoint Server 2010. For more information, see Audience Class (http://go.microsoft.com/fwlink/?LinkId=185879).

In this article:

  • Add an audience rule

  • Edit an audience rule

  • Delete an audience rule

Add an audience rule

Adding audience rules is a good practice in the following situations:

  • You are targeting an audience by membership or reporting structure, and you want to add users in a different distribution list or reporting to a different manager. To do this, you would add a new value for the user operand.

  • You are currently targeting by reporting structure and want to target by membership in a distribution list. To do this, you would add a new operator the user operand.

  • You are currently targeting an audience by membership or reporting structure, and you want to expand or reduce the membership based on a user profile property. To do this, you would add a new operand.

  • You are targeting an audience based on one property and you want to expand or reduce the membership based on an additional property. To do this, you would add a new property operand.

To add an audience rule

  1. Verify that you have the following administrative credentials:

    • You are a member of the Farm Administrators group.

  2. On the Central Administration Web site, in the Application Management section, click Manage service applications.

  3. On the Service Applications page, in the list of service applications, click the row of the User Profile service application that you want to configure.

    Clicking the row activates options in the ribbon.

  4. In the Operations group of the ribbon, click Manage.

  5. On the Manage Profile Service page, in the People section, click Manage Audiences.

  6. On the View Audiences page, point to the name of the audience that you want to configure, click the arrow that appears, and then click View Properties.

  7. On the View Audience Properties page, in the Audience Rules section, click Add rule.

  8. On the Add Audience Rule page, take one of the following actions:

    • To add a rule based on a user, for example, all users who report to a specific manager:

      1. In the Operand section, select User.

      2. In the Operator section, select Reports Under to create a rule based on organizational hierarchy or select Member Of to target content by group or distribution list.

      3. In the Value box, type a value or select a user to use when evaluating the property against this rule.

        • For a Reports Under rule, select the person who is the manager of the users you want to include in the audience.

        • For a Member Of rule, select the group or distribution list that the user must belong to in order to be included in the audience.

      To create an audience based on a group of people who report to a specific manager, for example, you would select User in the Operand section, select Reports Under from the Operator list, and then select the name of the manager in the Value section.

    • To add a rule based on a user profile property, for example, all users whose job title is "accountant":

      1. In the Operand section, select Property, and then select a user profile property from the list.

      2. From the Operator list, select an operator for the property. Each user profile property has a slightly different set of operators. For example, the operators for the Job Title property are Contains and Not Contains. To find descriptions of the operators available in the UI, see Operators (Transact-SQL).

      3. In the Value section, type a value to use when evaluating the property against this rule.

    For example, if you have an audience called "Finance", you could create an audience rule to target content to all accountants in your organization by selecting the Job Title user profile property from the Property list, selecting the Contains operator from the Operator list, and then typing "accountant" in the Value text box.

    Note:

    You can only select one operator per rule by using Central Administration. To add audience rules that contain more complex logic, you must use the SharePoint Server 2010 object model. For more information, see Audience Class (http://go.microsoft.com/fwlink/p/?LinkID=185879).

  9. Click OK.

Edit an audience rule

Editing an audience rule is a good practice when you want to make a change to the following:

  • Operator: You might change the operator if the actual membership of the list is too narrow or broad. For example, you might change the = (Equals) operator to the Contains operator to increase the membership of the audience.

  • Value: You might change the target value for an audience rule if you are evaluating the right user operand or property, but the membership is larger or smaller than intended, or there are users or groups that you want to include or exclude based on changing business needs. If the property is multivalued, you can also add one or more additional values.

  • Operand: This is the least likely change, because it is almost always a better practice to add a new rule. However, you might change a User operand based on reporting structure or membership in a distribution list to a Property operand based on a manager, title, or other property that is intended to create an audience with a similar but better-targeted membership.

To edit an audience rule

  1. Verify that you have at least one of the following administrative credentials:

    • You are a member of the Farm Administrators group.

    • You are a service application administrator for the User Profile service application that contains the audience rule that you want to edit.

    • You are an administrator of the Audience feature of the User Profile service application that contains the audience rule that you want to edit.

  2. On the Central Administration Web site, in the Application Management section, click Manage service applications.

  3. On the Service Applications page, in the list of service applications, click the row of the User Profile service application that you want to configure.

    Clicking the row activates options in the ribbon.

  4. In the Operations group of the ribbon, click Manage.

  5. On the Manage Profile Service page, in the People section, click Manage Audiences.

  6. On the View Audiences page, point to the audience that you want to configure, click the arrow that appears, and then click View Properties.

  7. On the View Audience Properties page, in the Audience Rules section, click the rule that you want to edit.

  8. On the Edit Audience Rule page, take one of the following actions:

    • To base the audience rule on a user, for example, all users who report to a specific manager:

      1. In the Operand section, select User.

      2. In the Operator section, select Reports Under to create a rule based on organizational hierarchy or select Member Of to target content by group or distribution list.

      3. In the Value box, type a value or select a user to use when evaluating the property against this rule.

        • For a Reports Under rule, select the person who is the manager of the users you want to include in the audience.

        • For a Member Of rule, select the group or distribution list that the user must belong to in order to be included in the audience.

      To create an audience based on a group of people who report to a specific manager, for example, you would select User in the Operand section, select Reports Under from the Operator list, and then select the name of the manager in the Value section.

    • To base the audience rule on a user profile property, for example, all users whose job title is "accountant":

      1. In the Operand section, select Property, and then select a user profile property from the list.

      2. From the Operator list, select an operator for the property. Each user profile property has a slightly different set of operators. For example, the operators for the Job Title property are Contains and Not Contains. To find descriptions of the operators available in the UI, see Operators (Transact-SQL).

      3. In the Value section, type a value to use when evaluating the property against this rule.

    For example, if you have an audience called "Finance", you could create an audience rule to target content to all accountants in your organization by selecting the Job Title user profile property from the Property list, selecting the Contains operator from the Operator list, and then typing "accountant" in the Value text box.

    Note:

    You can only select one operator per rule by using Central Administration. To add audience rules that contain more complex logic, you must use the SharePoint Server 2010 object model. For more information, see Audience Class (http://go.microsoft.com/fwlink/p/?LinkID=185879).

  9. Click OK.

Note:

After you edit an audience rule, you must recompile the audience to update the membership. For more information, see Compile an audience (SharePoint Server 2010).

Delete an audience rule

The membership of an audience can be expanded or reduced if the business need for targeting content has changed. If an audience must satisfy all rules, deleting an audience rule expands the membership. If an audience can satisfy any of the rules, deleting an audience rule reduces the membership. If the audience itself is no longer needed, you should delete the entire audience instead of just specific rules.

Note:

After you delete an audience rule, you must recompile the audience to update the membership. Audiences will continue to include audiences that match deleted rules until compilation is complete. For more information, see Compile an audience (SharePoint Server 2010).

To delete an audience rule

  1. Verify that you have at least one of the following administrative credentials:

    • You are a member of the Farm Administrators group.

    • You are a service application administrator for the User Profile service application that contains the audience rule that you want to delete.

    • You are an administrator of the Audience feature of the User Profile service application that contains the audience rule that you want to delete.

  2. On the Central Administration Web site, in the Application Management section, click Manage service applications.

  3. On the Service Applications page, in the list of service applications, click the row of the User Profile service application that you want to configure.

    Clicking the row activates options in the ribbon.

  4. On the Manage Profile Service page, in the People section, click Manage Audiences.

  5. On the View Audiences page, point to the audience that you want to configure, click the arrow that appears, and then click View Properties.

  6. On the View Audience Properties page, in the Audience Rules section, click the rule that you want to delete.

  7. At the bottom of the Edit Audience Rule page, click Delete.

  8. Click OK to confirm the deletion.

See Also

Concepts

Manage audiences (SharePoint Server 2010)
User Profile service application overview (SharePoint Server 2010)
Plan for profile synchronization (SharePoint Server 2010)


Schedule audience compilation (SharePoint Server 2010)
See Also

It is a good practice to compile audiences frequently so that audience membership can be kept up-to-date. You can schedule audience compilations to occur automatically by following the steps provided in this topic, or you can compile an audience immediately. For more information, see Compile an audience (SharePoint Server 2010).

Important:

Audience compilation cannot run when profile synchronization is running.

Schedule audience compilation

Schedule audience compilation when you want to update an audience automatically at regular intervals.

To schedule an audience compilation by using Central Administration

  1. Verify that you have the following administrative credentials:

    • You are a member of the Farm Administrators group.

  2. On the Central Administration Web site, in the Application Management section, click Manage service applications.

  3. On the Service Applications page, in the list of service applications, click the row of the User Profile service application that you want to configure.

    Clicking the row activates options in the ribbon.

  4. In the Operations group of the ribbon, click Manage.

  5. On the Manage Profile Service page, in the People section, click Schedule Audience Compilation.

  6. On the Specify Compilation Schedule page, select the Enable scheduling check box.

  7. From the Start at list, select a start time.

  8. Select a daily, weekly, or monthly schedule.

    • To compile audiences at the same time each day, select Every day.

    • To compile audiences at the same time once per week, select Every week on, and then select a day of the week

    • To compile audiences once a month, select Every month on this date, and then select a day of the month.

  9. Click OK.

See Also

Concepts

Manage audiences (SharePoint Server 2010)
User Profile Service administration (SharePoint Server 2010)
Compile an audience (SharePoint Server 2010)
Managing personal and social features (SharePoint Server 2010)

Other Resources

Resource Center: Social Computing in SharePoint Server 2010


Compile an audience (SharePoint Server 2010)
See Also

Compilation identifies membership in an audience by crawling the most recently imported data from profile synchronization. Each audience must be compiled before content can be targeted to that audience. It is a good practice to frequently compile audiences to ensure that you have the latest changes.

You can compile an audience on a one-time basis by following the steps provided in this article or you can schedule compilations to occur automatically. For more information, see Schedule audience compilation (SharePoint Server 2010).

Important:

Audience compilation cannot run when profile synchronization is running.

Compile an audience

Use this procedure when you want to capture changes to audience membership either before the next scheduled compile or in place of a scheduled compile.

To compile an audience

  1. Verify that you have the following administrative credentials:

    • You are a member of the Farm Administrators group.

  2. In the Central Administration Web site, in the Application Management section, click Manage service applications.

  3. On the Service Applications page, in the list of service applications, click the User Profile Service Application link that you want to configure.

  4. On the Manage Profile Service page, in the People section, click Compile Audiences.

See Also

Concepts

Manage audiences (SharePoint Server 2010)
Plan for profile synchronization (SharePoint Server 2010)


View audiences (SharePoint Server 2010)
See Also

You can view a list of audiences in order to select an audience or audience rule to edit or delete.

View audiences

Use this procedure to view all audiences.

To view audiences

  1. Verify that you have the following administrative credentials:

    • You are a member of the Farm Administrators group.

  2. On the Central Administration Web site, in the Application Management section, click Manage service applications.

  3. On the Service Applications page, in the list of service applications, click the User Profile Service Application link that contains the audience that you want to view.

  4. On the Manage Profile Service page, in the People section, click Manage Audiences to open the View Audiences page.

  5. To find a specific audience in a list of audiences, type the first few letters of the audience name in the Find audiences that start with box, and then click Find.

See Also

Concepts

User Profile Service administration (SharePoint Server 2010)


Manage profile synchronization (SharePoint Server 2010)
See Also

Profile Synchronization in Microsoft SharePoint Server 2010 enables User Profile service administrators to synchronize user and group profile information that is stored in the SharePoint Server 2010 profile store with profile information that is stored in directory services and business systems across the enterprise. The following articles explain how to configure and perform profile synchronization.

In this section:

  • Configure profile synchronization (SharePoint Server 2010)

    This article explains how to connect to a directory service and configure settings to synchronize user profile information between the directory service and SharePoint Server 2010.

  • Configure profile synchronization using a Lightweight Directory Interchange Format (LDIF) file (SharePoint Server 2010)

    This article explains how to use an LDIF file to configure profile synchronization with SharePoint Server 2010 and an LDAP provider that is not directly supported otherwise.

  • Start profile synchronization manually (SharePoint Server 2010)

    This article explains how to start user profile synchronization manually in SharePoint Server 2010.

  • Schedule profile synchronization (SharePoint Server 2010)

    This article explains how to configure the Profile Incremental Synchronization timer job to define the schedule for running incremental profile synchronization in SharePoint Server 2010.

  • Maintain profile synchronization (SharePoint Server 2010)

    This article covers common maintenance tasks for profile synchronization.

  • Configure a profile synchronization connection in SharePoint Server 2010 (video)

    This video shows how to create a profile synchronization connection and a synchronization filter, as well as how to map profile properties.

  • Configure a synchronization connection to a SQL Server database in SharePoint Server 2010 (video)

    This video shows how to import user profile information from a business system. It discusses external content types from data in SQL Server tables, synchronization connections, and mapping user profile properties.

See Also

Concepts

User Profile Service administration (SharePoint Server 2010)
Plan for profile synchronization (SharePoint Server 2010)
User Profile service application overview (SharePoint Server 2010)

Other Resources

Resource Center: Enterprise Collaboration in SharePoint Server 2010
Resource Center: Social Computing in SharePoint Server 2010


Configure profile synchronization (SharePoint Server 2010)
See Also

Configuring profile synchronization (or profile sync) is a process that involves many steps. This article divides the process into shorter phases, both so that you can see progress and to reduce the number of steps through which you have to backtrack if you make an error. Depending on your organization's needs, you may not have to implement all of the phases.

In this article:

  • Prerequisites

    This section identifies the information and accounts that you must have to perform these procedures. It also describes how your Microsoft SharePoint Server 2010 farm should be configured before you start the procedures.

  • Procedures

    This section contains detailed instructions for each of the procedures that are required to configure profile synchronization.

Prerequisites

As you configure profile synchronization, you will need information to answer questions in the user interface. You will also need accounts that have the appropriate permissions and a SharePoint Server 2010 farm that is already partly configured. The subsections within this section explain the prerequisites that you must have before you configure profile synchronization.

In this section:

  • Gather information

  • Grant account permissions

  • Install prerequisites

Gather information

Before you perform the procedures in this article, you should complete the following worksheets. You will use the information that you record in the worksheets as you perform the procedures in this article.

  • Connection planning worksheet: Contains details about each profile synchronization connection that you will create. The article Plan for profile synchronization (SharePoint Server 2010) contains instructions for filling out the worksheet.

  • User profile properties worksheet: Identifies user profile properties and how the properties are mapped to external data sources. The article Plan user profiles (SharePoint Server 2010) explains how to fill out most of the worksheet, and the article Plan for profile synchronization (SharePoint Server 2010) contains instructions for adding the property mapping information.

  • Profile synchronization planning worksheet: Collects the information that you will need to create the User Profile service application and its prerequisites. If your farm already contains a User Profile service application, you can omit this worksheet.

The worksheets are available from the following source: http://go.microsoft.com/fwlink/p/?LinkId=202832.

You will need to know the name of the synchronization server. The synchronization server is the server on which the User Profile Synchronization service will run. The Plan for the synchronization server section of the "Plan for profile synchronization" article provides guidance on how to select the synchronization server.

Grant account permissions

To configure profile synchronization you will need to know the farm account and the farm account's password, and you will need a synchronization account for each directory service that you will synchronize with. The permissions that are required for each account are described in the Plan account permissions section of the "Plan for profile synchronization" article. If an account does not have the correct permissions, you might not know that the permissions are wrong until you have progressed part of the way through the configuration procedure.

Note:

Incorrect permissions are the most common cause of errors in configuring profile synchronization.

Install prerequisites

To set up profile synchronization you will need Microsoft SharePoint Server 2010 installed in a farm configuration. We recommend that you also install the most recent SharePoint Server 2010 Cumulative Update, because improvements to profile synchronization are present in most updates. For more information, see the Updates resource center (http://go.microsoft.com/fwlink/p/?LinkID=220218).

You must have a full installation of Microsoft SQL Server, not the Express edition. If you are using SQL Server 2008, you must have Service Pack 1 (SP1) and Cumulative Update 2 (CU2).

Procedures

There are four phases to configuring profile synchronization. Depending on your situation, you might not have to perform all of the phases. This article also includes Phase 0, which contains instructions for configuring the prerequisites that are required before you can configure profile synchronization. The phases are as follows:

Phase 0: Configure the farm

During this phase, you create a site collection to host My Sites and create a User Profile service application. You must be both a farm administrator and a member of the Administrators group on the computer that is running SharePoint Server to perform these tasks.

Phase 1: Start the User Profile Synchronization service

During this phase, you start the User Profile Synchronization service. You must be both a farm administrator and a member of the Administrators group on the computer that is running SharePoint Server to perform these tasks.

Phase 2: Configure connections and import data from directory services

During this phase, you create a synchronization connection to each directory service from which you want to import profile information, and then perform the initial synchronization. You must be a farm administrator or an administrator of the User Profile service application to perform these procedures.

Phase 3: Configure connections and import data from business systems

During this phase, you create a synchronization connection to each business system from which you want to import profile information, and then perform the synchronization. You must be a farm administrator or an administrator of both the User Profile service application and the Business Data Connectivity service application to perform these procedures.

Phase 4: Configure connections and export data to directory services

During this phase, you modify the profile property mappings that you created during Phase 2 to export data from SharePoint Server to directory services. You must be a farm administrator or an administrator of the User Profile service application to perform these procedures.

After you have configured profile synchronization, you can use the information in Schedule profile synchronization (SharePoint Server 2010) to set up a regular synchronization schedule.

Phase 0: Configure the farm

During this phase, you configure the infrastructure for synchronizing profiles.

This phase involves the following tasks:

  1. Create a Web application to host My Sites

  2. Create a managed path for My Sites

  3. Create a My Site Host site collection

  4. Create a User Profile service application

  5. Enable NetBIOS domain names

  6. Start the User Profile service

To perform the tasks in this phase, you must be a member of the Farm Administrators SharePoint group and a member of the Administrators group on the computer that is running SharePoint Server.

Create a Web application to host My Sites

In this procedure, you create the Web application that My Sites will reside in. We recommend that My Sites be in a separate Web application, although the Web application may be in an application pool that is shared with other collaboration sites, or it may be in a separate application pool but in a shared IIS Web site. For more information about SharePoint Server 2010 sites, application pools, and IIS Web sites, see Logical architecture components (SharePoint Server 2010). For more detailed instructions about how to create a Web application, see Create a Web application (SharePoint Server 2010).

To create a Web application

  1. On the Central Administration Home page, in the Application Management section, click Manage web applications.

  2. On the ribbon, click New.

  3. On the Create New Web Application page, in the Authentication section, select the authentication mode that will be used for this Web application.

  4. In the IIS Web Site section, you can configure the settings for your new Web application by selecting one of the following two options (see the Profile Synchronization Planning worksheet):

    • Click Use an existing web site, and then select the Web site on which to install your new Web application.

    • Click Create a new IIS web site, and then type the name of the Web site in the Name box.

      You may also provide the port number, host header, or path for the new IIS Web site.

  5. In the Security Configuration section, select an authentication provider, whether to allow anonymous access, and whether to use Secure Sockets Layer (SSL).

  6. In the Application Pool section, do one of the following:

    • If the My Site application pool (see the Profile Synchronization Planning worksheet) is an existing application pool, click Use existing application pool, and then select the My Site application pool from the drop-down menu.

    • If the My Site application pool (see the Profile Synchronization Planning worksheet) is a new application pool, click Create a new application pool, type the name of the My Site application pool, and either select the account that the application pool will run under (see the Profile Synchronization Planning worksheet) or create a new managed account for the application pool to run under.

  7. In the Database Name and Authentication section, select the database server, database name, and authentication method for your new Web application.

  8. If you use database mirroring, in the Failover Server section, in the Failover Database Server box, type the name of a specific failover database server that you want to associate with a content database.

  9. In the Service Application Connections section, select the service application connections that will be available to the Web application.

  10. In the Customer Experience Improvement Program section, click Yes or No.

  11. Click OK to create the new Web application.

  12. When the Application Created page appears, click OK.

Enter the name of the Web application in the My Site Web application row of the Profile Synchronization Planning worksheet. You will need this information later.

Create a managed path for My Sites

If you want the My Site host (and, therefore, users' My Sites) to be at a URL that does not already have a managed path, use the procedure in Define managed paths (SharePoint Server 2010) to create the My Site managed path in the My Site Web application that you previously created. In most cases, the existing managed paths will be sufficient.

Create a My Site Host site collection

In this procedure, you create the site collection that will host users' My Sites. For more detailed instructions about how to create a site collection, see Create a site collection (SharePoint Server 2010).

To create a My Site Host site collection

  1. On the Central Administration Web site, in the Application Management section, click Create site collections.

  2. On the Create Site Collection page, in the Web Application section, select the My Site Web application (see the Profile Synchronization Planning worksheet).

  3. In the Title and Description section, type the title and description for the site collection.

  4. In the Web Site Address section, select the path to use for the URL of the My Site host. In most cases, using the root directory (/) is appropriate.

  5. In the Template Selection section, click the Enterprise tab, and then select My Site Host.

  6. In the Primary Site Collection Administrator section, type the user name (in the form <DOMAIN>\<username>) for the user who will be the site collection administrator.

  7. In the Secondary Site Collection Administrator section, type the user name for the secondary administrator of the site collection.

  8. If you are using quotas to manage storage for site collections, in the Quota Template section, click a template in the Select a quota template list.

  9. Click OK.

The Top-Level Site Successfully Created page will appear when the My Site Host site collection is created. Enter this URL in the My Site Host site collection URL row of the Profile Synchronization Planning worksheet. Although you can click the link to browse to the root of the site collection, doing so will result in an error because the user profile cannot be loaded. This behavior is to be expected; user profiles have not been imported at this point.

Create a User Profile service application

In this procedure, you create the User Profile service application through which you will manage profile synchronization.

For more detailed instructions about how to create a User Profile service application, see Create a User Profile Service application.

To create a User Profile Service application

  1. On the Central Administration Web site, in the Application Management section, click Manage service applications.

  2. On the Manage Service Application page, on the ribbon, click New, and then click User Profile Service Application.

  3. In the Name section, type the User Profile service application name (see the Profile Synchronization Planning worksheet).

  4. In the Application Pool section, select the application pool that the User Profile service application will run in (if it exists), or create a new application pool. (See the Profile Synchronization Planning worksheet.)

  5. Accept the defaults for the profile database, the synchronization database, and the social tagging database (unless you want different names), and specify failover servers if you are using them.

  6. In the Profile Synchronization Instance section, select the synchronization server (see the Profile Synchronization Planning worksheet).

  7. In the My Site Host URL section, enter the My Site Host site collection URL that you created in the previous step (see the Profile Synchronization Planning worksheet).

  8. In the My Site Managed Path section, enter the part of the path which, when appended to the My Site host URL, will give the path to users' My Sites (see the Profile Synchronization Planning worksheet). For example, if the My Site host URL is http://server:12345/ and you want each user's My Site to be at http://server:12345/personal/<username>, enter /personal for the My Site managed path. The managed path that you enter is created; there does not already have to be a managed path with the name that you provide.

  9. In the Site Naming Format section, select a naming scheme.

  10. In the Default Proxy Group section, select whether you want the proxy of this User Profile Service to be a part of the default proxy group on this farm.

  11. Click Create.

  12. When the Create New User Profile Service Application page displays the message Profile Service Application successfully created, click OK.

To verify that the User Profile service application was created, refresh the Manage Service Applications page. You should see two entries whose value in the Name column is the name that you provided for the User Profile service application that you previously created. The first entry is the service application itself. The second entry is a connection (that is, a "proxy") to the service application.

Enable NetBIOS domain names

If the NetBIOS name of any domain that you are synchronizing with differs from its fully qualified domain name, you must enable NetBIOS domain names on the User Profile service application. If all NetBIOS names are the same as the domain names, you may skip this procedure.

To enable NetBIOS domain names

  1. Verify that you meet the following minimum requirements:

    • See Add-SPShellAdmin.

    • You must read about_Execution_Policies (http://go.microsoft.com/fwlink/p/?LinkId=193050).

  2. Copy the following code and paste it into a text editor, such as Notepad:

    Copy Code
    $ServiceApps = Get-SPServiceApplication
$UserProfileServiceApp = ""
foreach ($sa in $ServiceApps)
  {if ($sa.DisplayName -eq "<UPSAName>")
    {$UserProfileServiceApp = $sa}
  }
$UserProfileServiceApp.NetBIOSDomainNamesEnabled = 1
$UserProfileServiceApp.Update()

  3. Replace <UPSAName> with the name of the User Profile service application.

  4. Save the file, naming it EnableNetBIOS.ps1.

    Note:

    You can use a different file name, but you must save the file as an ANSI-encoded text file whose extension is .ps1.

  5. On the Start menu, click All Programs.

  6. Click Microsoft SharePoint 2010 Products.

  7. Click SharePoint 2010 Management Shell.

  8. Change to the directory where you saved the file.

  9. At the Windows PowerShell command prompt, type the following command:

    Copy Code
    .\EnableNetBIOS.ps1

Start the User Profile service

In this procedure, you start the User Profile service.

To start the User Profile service

  1. On the Central Administration Web site, in the System Settings section, click Manage services on server.

  2. On the Services on Server page, in the Server box, select the synchronization server (see the Profile Synchronization Planning worksheet).

  3. Find the row whose Service column value is User Profile Service. If the value in the Status column is Stopped, click Start in the Action column.

Phase 1: Start the User Profile Synchronization service

During this phase, you start the User Profile Synchronization service.

This phase involves the following tasks:

  1. Start the User Profile Synchronization service

  2. Remove unnecessary permissions

  3. Reset IIS

To perform the tasks in this phase, you must be a member of the Farm Administrators SharePoint group and a member of the Administrators group on the computer that is running SharePoint Server.

Start the User Profile Synchronization service

In this procedure, you start the User Profile Synchronization service. The User Profile Synchronization service interacts with Microsoft Forefront Identity Manager (FIM) to synchronize information with external systems.

To start the User Profile Synchronization service

  1. On the Central Administration Web site, in the System Settings section, click Manage services on server.

  2. On the Services on Server page, in the Server box, select the synchronization server.

  3. Find the row whose Service column value is User Profile Synchronization Service. If the value in the Status column is Stopped, click Start in the Action column.

  4. On the User Profile Synchronization Service page, in the Select the User Profile Application section, select the User Profile service application.

  5. In the Service Account Name and Password section, the farm account is already selected. Enter the password for the farm account in the Password box, and enter it again in the Confirm Password box.

  6. Click OK.

The Services on Server page shows that the User Profile Synchronization service has a status of Starting. When you start the User Profile Synchronization service, SharePoint Server provisions FIM to participate in synchronization. This may take up to 10 minutes. To determine whether the User Profile Synchronization service has started, refresh the Services on Server page.

If the User Profile Synchronization service does not start, confirm that the farm account has the necessary permissions on the synchronization server. For more information about which permissions are required, see the Plan account permissions section of the article "Plan for profile synchronization."

Remove unnecessary permissions

After the User Profile Synchronization service is started, the farm account is no longer required to be an administrator on the synchronization server. To improve the security of the SharePoint Server installation, remove the farm account from the Administrators group on the synchronization server. However, consider the following two scenarios:

  • When you perform a backup of the User Profile service application, the farm account must be an administrator on the synchronization server so that it can stop and start the service. Before you perform a backup of the User Profile service application, add the farm account to the Administrators group on the synchronization server. After the backup is completed, remove the farm account from the Administrators group on the synchronization server.

    Note:

    Some health rules might alert you that the farm account in a member of Administrators group on the local computer. You can ignore these warnings if you intentionally added the farm account to the Administrators group for the purposes of this scenario.

  • If the farm contains multiple servers running SharePoint Server 2010, and two or more servers are running the User Profile service, the timer job responsible for synchronization might fail. This happens when the server that runs the synchronization timer job is not running the synchronization service. To resolve this problem, grant the farm account the Remote Enable permission on the server that runs the synchronization service. Doing this enables the timer job to run successfully regardless of which server picks up the timer job.

    To grant the farm account the Remote Enable permission to Microsoft FIM 2010

    1. On the server that is running the synchronization service, click Start.

    2. Click Run, type wmimgmt.msc, and then click OK.

    3. Right click WMI Control, and then click Properties.

    4. In the WMI Control Properties dialog box, click the Security tab.

    5. Expand the Root list, and then select the Microsoft FIM 2010 namespace MicrosoftIdentityIntegrationServer.

    6. Click the Security button.

    7. Add the farm account to the list of groups and users, and then in the Permissions for Authenticated Users box, select Allow for the Remote Enable permission.

    8. Click OK to dismiss the Security for ROOT\MicrosoftIdentityIntegrationServer dialog box, and then click OK to dismiss the WMI Control Properties dialog box.

Reset IIS

If the Central Administration Web site and the User Profile Synchronization service are running on the same server, you must reset IIS after the User Profile Synchronization service starts. If they are running on different servers, you may skip this procedure.

To reset IIS

  1. On the synchronization server, click Start, click All Programs, expand Accessories, right-click Command Prompt, and then click Run as administrator.

  2. In the User Account Control dialog box, click Yes.

  3. In the Administrator: Command Prompt window, type iisreset and then press ENTER.

  4. When the message Internet services successfully restarted is displayed, close the Administrator: Command Prompt window.

Note:

After you reset IIS, pages of the Central Administration Web site will take several seconds to load.

Phase 2: Configure connections and import data from directory services

To import profiles, you must have at least one synchronization connection to a directory service. During this phase, you create a synchronization connection to each directory service that you want to import profiles from. You can synchronize after you create each connection, or you can synchronize one time, after you have created all of the connections. Synchronizing after each connection will take longer, but doing this will make it easier to troubleshoot any problems that you might encounter.

To watch a video that demonstrates the tasks in Phase 2, see Configure a profile synchronization connection in SharePoint Server 2010 (video).

You must be a farm administrator or an administrator of the User Profile service application to perform these procedures. If you are not a farm administrator, start each procedure by using the Manage Profile Service page.

This phase involves the following tasks:

  1. Disable timer jobs

  2. Create a synchronization connection to a directory service

  3. Define exclusion filters for a synchronization connection

  4. Map user profile properties

  5. Start profile synchronization

Disable timer jobs

You must disable the My Site cleanup timer job before you create or modify connections. For information about this timer job, see the Timer job reference (SharePoint Server 2010) and for information about the Windows PowerShell cmdlets that you use to enable and disable this timer job, see Timer jobs cmdlets (SharePoint Server 2010).

Create a synchronization connection to a directory service

In this procedure, you create a connection to a directory service. The connection identifies the items to synchronize and contains the credentials that are used to interact with the directory service. The information that you enter comes from the Connection Planning worksheet.

To create a Profile Synchronization connection to a directory service

  1. On the Central Administration Web site, in the Application Management section, click Manage service applications.

  2. On the Manage Service Applications page, select the User Profile service application.

  3. On the Manage Profile Service page, in the Synchronization section, click Configure Synchronization Connections.

  4. On the Synchronizations Connections page, click Create New Connection.

  5. On the Add new synchronization connection page, type the synchronization connection name in the Connection Name box.

  6. From the Type list, select the type of directory service to which you want to connect.

  7. Fill in the Connection Settings section according to the directory service to which you are creating a connection.

    For Active Directory Domain Services (AD DS), perform the following steps:

    1. In the Forest name box, type the name of the forest.

    2. Do one of the following:

      • If there is only one domain controller in the forest, click Auto discover domain controller.

      • If there are multiple domain controllers in the forest, click Specify a domain controller and type the domain controller name in the Domain controller name box.

    3. In the Authentication Provider Type box, select the type of authentication provider.

    4. If you select Forms Authentication or Trusted Claims Provider Authentication, select an authentication provider from the Authentication Provider Instance box.

      The Authentication Provider Instance box lists only the authentication providers that are currently used by a Web application.

      Tip:

      You may have to select Trusted Claims Provider Authentication and then select Forms authentication in the Authentication Provider Type box before the list of authentication providers is displayed.

    5. In the Account name box, type the synchronization account.

    6. In the Password box, type the password for the synchronization account.

    7. In the Confirm Password box, type the password for the synchronization account again.

    8. In the Port box, enter the connection port.

    9. If a Secure Sockets Layer (SSL) connection is required to connect to the directory service, select Use SSL-secured connection.

      Important:

      To create a connection that uses SSL, you must install the SharePoint Server 2010 August 31, 2010 Cumulative Update or a more recent cumulative update. For more information, see the Updates resource center (http://go.microsoft.com/fwlink/p/?LinkID=220218).

      Important:

      If you use an SSL connection, you must export the certificate of the domain controller from the Active Directory server and import the certificate into the synchronization server.

    For Novell eDirectory, Sun Java System Directory Server, or IBM Tivoli Directory Server (ITDS), perform the following steps:

    1. In the Directory Service Server Name box, type the name of the directory service server.

    2. In the Authentication Provider Type box, select the type of authentication provider.

    3. In the Authentication Provider Instance box, select the authentication provider.

      The Authentication Provider Instance box lists only the authentication providers that are currently used by a Web application.

      Tip:

      You may have to select Trusted Claims Provider Authentication and then select Forms authentication in the Authentication Provider Type box before the list of authentication providers is displayed.

    4. In the Account name box, type the synchronization account in LDAP format, for example, uid=username,ou=ouname,dc=yourcompany,dc=Com.

    5. In the Password box, type the password for the synchronization account.

    6. In the Confirm Password box, type the password for the synchronization account again.

    7. In the Port box, enter the connection port.

    8. Verify that the Use SSL-secured connection check box is not selected. SSL connections are not supported for these directory services.

    9. In the Username attribute box, type the name of the attribute in the directory service that serves as the unique identifier of each profile.

  8. In the Containers section, click Populate Containers, and then select the containers from the directory service that you want to synchronize.

  9. Click OK.

Define exclusion filters for a synchronization connection

In this procedure, you define filters for the connection to indicate which user profiles and which groups to exclude from synchronization. The information that you enter comes from the Connection Planning worksheet.

To define connection filters

  1. On the Central Administration Web site, in the Application Management section, click Manage service applications.

  2. On the Manage Service Applications page, click the User Profile service application name.

  3. On the Manage Profile Service page, in the Synchronization section, select Configure Synchronization Connections.

  4. On the Synchronization Connections page, right-click the connection for which you want to configure Profile Synchronization connection filters, and then click Edit Connection Filters.

  5. On the Edit connection filters page, in the Exclusion Filters for Users section, select the operator to use to join the clauses of the filter.

    • To specify that all of the clauses of the filter must be true, select All apply (AND).

    • To specify that at least one of the clauses of the filter must be true, select Any apply (OR).

  6. In the Attributes list, select the directory service attribute to compare.

  7. In the Operator list, select the comparison operator to use.

    Note:

    The operators that are available depend on the data type of the attribute that you selected. For a list of which operators are available for each data type, see Connection filter data types and operators (SharePoint Server 2010).

  8. In the Filter box, type the value to compare the attribute to.

  9. Click Add.

    The clause that you added is displayed in the Exclusion Filter for Users area.

  10. To add additional clauses to the filter, repeat steps 6 through 9.

  11. To filter which groups are synchronized, repeat steps 5 through 9, using the Exclusion Filters for Groups section of the page.

  12. When you have finished adding connection filters, click OK.

Note:

By using SharePoint Central Administration, you can only define filters with either all AND clauses or all OR clauses. If you want to define complex filters such as a filter with a mix of both AND and OR clauses, you can edit those filters in FIM Synchronization Service Manager. The FIM Synchronization Service Manager is located at %rootdir%\Program Files\Microsoft Office Servers\14.0\Synchronization Service\UIShell\miisclient.exe.

However, any filter changes made in SharePoint Central Administration will eliminate the complex filter settings by overwriting the settings with either all AND or all OR clauses. Therefore, when you view or change filter settings in SharePoint Central Administration, do not save the settings unless you want the settings to overwrite filter settings in the FIM Synchronization Service Manager.

Map user profile properties

In this procedure, you determine how the properties of SharePoint Server user profiles map to the user information that is retrieved from the directory service. You should have identified how you will map user profile properties on the User profile properties data sheet in the User Profile Properties worksheet.

You will come back to this procedure in later phases to map user profile properties to information that is retrieved from business systems and to map how user profile properties in SharePoint Server can be used to write information back to the directory service. If you have not yet reached these phases, ignore the parts of the procedure that deal with business systems and exporting data.

To map user profile properties

  1. On the Central Administration Web site, in the Application Management section, click Manage service applications.

  2. On the Manage Service Applications page, click the User Profile service application name.

  3. On the Manage Profile Service page, in the People section, click Manage User Properties.

  4. On the Manage User Properties page, right-click the SharePoint Server property that you want to map to a directory service property, and then click Edit.

  5. To remove an existing mapping, in the Property Mapping for Synchronization section, select the mapping that you want to remove, and then click Remove.

  6. To add a new mapping, do the following:

    1. In the Add New Mapping section, in the Source Data Connection list, select the data connection that represents the external system to which you want to map the SharePoint Server property.

    2. In the Attribute list, select the name of the attribute in the external system to which you want to map the property,

      Tip:

      You can only map a user profile property to an attribute of an external system if their data types are compatible. If you do not see an attribute listed when you try to create a new mapping, it might be due to a data type mismatch between the user profile property and the attribute. For more information about which data types are compatible, see User profile property data types (SharePoint Server 2010).

    3. In the Direction list, select the mapping direction.

      A direction of Import means that the value of the attribute in the external system will be imported into SharePoint Server and used to set the value of the SharePoint Server property. A direction of Export means that the value of the property in SharePoint Server will be exported to the external system and used to set the value of the attribute in the external system.

      Note:

      You cannot edit a mapping. To change the direction of a mapping, you must first remove the mapping with the old direction, and then create a mapping in the new direction and add the mapping.

    4. Click Add.

  7. Click OK.

  8. Repeat steps 4 through 7 to map additional properties.

Start profile synchronization

Use this procedure to synchronize profile information between SharePoint Server 2010 and external systems such as directory services or business systems.

To start profile synchronization

  1. If you have already imported users or created My Sites, and you have enabled NetBIOS domain names, and you have not already done so, you must disable the My Site cleanup timer job before you start profile synchronization. For information about this timer job, see the Timer job reference (SharePoint Server 2010). For information about the Windows PowerShell cmdlets that you use to enable and disable this timer job, see Timer jobs cmdlets (SharePoint Server 2010).

  2. On the Central Administration Web site, in the Application Management section, click Manage service applications.

  3. On the Manage Service Applications page, click the User Profile service application name.

  4. On the Manage Profile Service page, in the Synchronization section, click Start Profile Synchronization.

  5. On the Start Profile Synchronization page, select Start Full Synchronization if this is the first time that you are synchronizing or if you have added or modified any synchronization connections or property mappings since the last time that you synchronized. Select Start Incremental Synchronization to synchronize only information that has changed since the last time that you synchronized.

  6. Click OK.

    The Manage Profile Service page is displayed.

  7. If you intend to enable the My Site cleanup timer job, complete these additional steps before you enable the job:

    1. Run profile synchronization again as described in this section.

    2. After the second profile synchronization completes, on the Central Administration Web site, in the Application Management section, click Manage service applications.

    3. Click the User Profile Service Application name, and then click Manage User Profiles.

    4. On the Manage Profile Service page, in the People section, click Manage User Profiles.

    5. Next to View, select Profiles Missing from Import.

    6. In the Find Profiles box, type the domain for the profiles, and then click Find.

    7. For each profile that is returned, check the originating directory service, such as Active Directory, for the status of that profile. If the status of any of the returned profiles in the directory is not disabled or is not deleted, do not enable the My Site cleanup timer job. Contact Microsoft support for more assistance. Otherwise, enable the My Site cleanup timer job. For information about the Windows PowerShell cmdlets that you use to enable and disable this timer job, see Timer jobs cmdlets (SharePoint Server 2010).

A full synchronization can take a long time. If you refresh the Manage Profile Service page, you will see the progress of the synchronization job on the right side of the page. Be aware that profile synchronization consists of several stages, and the profiles will not be imported immediately. The Manage Profile Service page is not refreshed automatically as synchronization progresses.

Phase 3: Configure connections and import data from business systems

You can import data from a business system, such as a personnel system or a financial system, and use that data to add properties to existing user profiles. You should already have created an external content type that brings the information from the external system into SharePoint Server 2010. For more information about creating an external content type to synchronize with a business system, see Plan for profile synchronization (SharePoint Server 2010).

To watch a video that demonstrates creating external content types and completing the tasks in Phase 3, see Configure a synchronization connection to a SQL Server database in SharePoint Server 2010 (video).

This phase is optional.

You must be a farm administrator, or an administrator of both the User Profile service application and the Business Data Connectivity service application, to perform these procedures. If you are not a farm administrator, start each procedure at the Manage Profile Service page.

This phase involves the following tasks:

  1. Give the User Profile service application permission to use the external content type

  2. Configure a Business Data Connectivity synchronization connection

  3. Add or edit user profile properties

  4. Import data

Give the User Profile service application permission to use the external content type

Use this procedure to give the farm account permission to execute operations on the external content type. For more information about how to set permissions on an external content type, see Set permissions on an external content type.

Note:

Business Connectivity Services uses the permissions on the external content type and the permissions on the business system to determine authorization rules. You must ensure that the farm account also has permission to access the business system. For more information about authentication and permissions, see Business Connectivity Services security overview (SharePoint Server 2010).

To perform this procedure, you must have one of the following administrative credentials:

  • You must be a farm administrator.

  • You must be an administrator of the Business Data Connectivity service application and have Set Permissions permission on the external content type that you are synchronizing with.

To give the User Profile service application permission to use the external content type

  1. On the Central Administration Web site, in the Application Management section, click Manage service applications.

  2. On the Manage Service Application page, select Business Data Connectivity Service.

  3. Select the check box of the external content type that represents the information that you want to synchronize with.

  4. In the Permissions group, click Set Object Permissions.

  5. In the box, type the farm account, and then click Add.

  6. In the Permissions for <account> box, select Execute.

    Note:

    If the farm account is the only account listed in the Permissions for <account> box, you must also give the farm account Set Permissions to the external content type. At least one user, group, or claim in the external content type's access control list must have the Set Permissions permission.

  7. Click OK.

  8. Verify that the Propagate permissions to all methods of this external content type. Doing so will overwrite existing permissions. check box is selected.

  9. Repeat steps 3 through 8 to set permissions on additional external content types.

Configure a Business Data Connectivity synchronization connection

In this procedure, you create a connection for each external content type. The connection specifies how the business system data relates to the profile properties. The information that you enter comes from the Connection Planning worksheet.

To create a Profile Synchronization connection

  1. On the Central Administration Web site, in the Application Management section, click Manage service applications.

  2. On the Manage Service Applications page, select the User Profile service application.

  3. On the Manage Profile Service page, in the Synchronization section, click Configure Synchronization Connections.

  4. On the Synchronizations Connections page, click Create New Connection.

  5. On the Add new synchronization connection page, type a name for the synchronization connection in the Connection Name box.

  6. From the Type list, select Business Data Connectivity.

  7. In the Business Data Connectivity Entity box, type the name of the external content type.

    Tip:

    If you do not know the name of the external content type, click the Select External Content Type button to see all external content types. Select the external content type from the list, and then click OK.

  8. If each user profile maps to only one external content type instance, do the following:

    1. Click Connect User Profile Store to Business Data Connectivity Entity as a 1:1 mapping.

    2. In the Return items identified by this profile property list, select the user profile property that is used to match user profiles to external content type instances. The user profile property and the external content type identifier define the 1:1 relationship between the user profiles and the external content type, and are used to ensure that the imported properties are applied to the correct user profile.

      Tip:

      The Return items identified by this profile property list returns all user profile properties that have a similar data type to the external content type identifier.

  9. If a user profile can map to multiple external content type instances, do the following:

    1. Click Connect User Profile Store to Business Data Connectivity Entity as a 1:many mapping.

    2. In the Filter items by list, select the filter that is used to find the set of external content type instances that apply to a user profile.

      Note:

      The Filter items by list displays all filters that are defined in the external content type.

    3. In the Use this profile property as the filter value list, select the user profile property that is used to match user profiles to external content type instances.

  10. Click OK.

  11. Repeat steps 4 through 10 to add more connections.

Add or edit user profile properties

Before you can import the business system data, you must specify how the business system data maps to the user profile properties. The User profile properties data sheet in the User profile properties worksheet lists the business system properties that you want to import and how those properties map to the profile properties in the SharePoint Server profile store.

Follow the procedure in the Map user profile properties section to map additional user profile properties. If the data maps to an existing user profile property, edit the property and add a new mapping. If the data does not map to an existing user profile property, add a new custom property and then map the property.

Import data

To import data from the business system, you must perform a full synchronization. Follow the procedure in the Start profile synchronization section to start a full synchronization.

Phase 4: Configure connections and export data to directory services

In previous phases, you configured the profile synchronization connections that you need. To write profile information back to a directory service, you map the profile properties to attributes in the directory service with a mapping direction of Export. The next time that profile synchronization runs, properties will be imported and exported according to the mappings that you configured.

Note:

Although you can import profile data from business systems by using the Business Connectivity Service, you cannot export profile data to business systems.

This phase is optional.

You must be a farm administrator or an administrator of the User Profile service application to perform these procedures. If you are not a farm administrator, start each procedure by using the Manage Profile Service page.

Do not create a new synchronization connection to export properties. To export properties to a directory service, use the same synchronization connection that you created to import properties from the directory service. You cannot use a synchronization connection only to export properties.

Follow the procedure to Map user profile properties again, this time selecting Export for the mapping direction. The properties that you map will be exported from SharePoint Server to the directory service whose connection you select.

Follow the procedure to Start profile synchronization again, this time selecting to do an incremental synchronization. The values of any SharePoint Server profile properties that have been mapped to be exported to directory service attributes will be updated.

Note:

For certain directory services, additional permissions may be required to write data back to the directory service. Review the information in the Plan account permissions section of the "Plan for profile synchronization" article, and ensure that the synchronization account has the necessary permissions.

Acknowledgements

The SharePoint Server 2010 Content Publishing team thanks Spencer Harbar, Enterprise Architect, for contributing to this article. His blog can be found at http://www.harbar.net.

See Also

Concepts

Manage profile synchronization (SharePoint Server 2010)
Schedule profile synchronization (SharePoint Server 2010)
Plan for profile synchronization (SharePoint Server 2010)
Configure a profile synchronization connection in SharePoint Server 2010 (video)
Configure a synchronization connection to a SQL Server database in SharePoint Server 2010 (video)


Configure profile synchronization using a Lightweight Directory Interchange Format (LDIF) file (SharePoint Server 2010)
See Also

Published: September 16, 2010

This article describes how to use a Lightweight Directory Interchange Format (LDIF) file to synchronize user and group profile information between Microsoft SharePoint Server 2010 and a Lightweight Directory Access Protocol (LDAP) provider not directly supported by Microsoft SharePoint Server 2010. For a list of directly supported LDAP providers, such as Active Directory Domain Services (AD DS), see Identify directory services and business systems. We recommend that you only use the following procedures for those LDAP providers not in the directly supported LDAP provider list.

Overview

An LDIF file is an ASCII file that can be used to exchange information with LDAP Directory System Agents (DSAs). You can also use an LDIF file to synchronize profile information with SharePoint Server 2010. To do this, you must create an LDIF file by using your LDAP provider and save it to the %rootdir%\Program Files\Microsoft Office Servers\14.0\Synchronization Service\Ma-data\ directory on the server running SharePoint Server. The LDIF file must be saved to the LDIF <MA_Name> folder within this directory and must contain the profile information that you want to synchronize with SharePoint Server 2010. The schema for the LDIF file should be similar to the schema shown in the import.ldif sample file, which can be downloaded using the following link: http://go.microsoft.com/fwlink/p/?LinkId=202107. The configuration file that contains the schema shown in import.ldif can be downloaded using the following link: http://go.microsoft.com/fwlink/p/?LinkId=202107. This config.xml file contains the default properties that will be imported from the LDIF file into SharePoint Server. This schema is used to create an LDIF management agent (MA) that links the information in the LDIF file to SharePoint Server 2010. Creating an LDIF MA is done by using the Import Management Agent function in the SharePoint Server Synchronization Services Manager.

Once you have created an LDIF file that conforms to the schema shown in the sample LDIF file and created an LDIF MA, you can customize the default profile property schema by adding properties not included in the default schema. To do this, you must first use the SharePoint Server Synchronization Service Manager to add the additional profile properties to the MOSS MA. After you have added any additional profile properties to the MOSS MA, you must then add the additional properties to the Forefront Identity Manager (FIM) metaverse by using the Synchronization Management Service. The final step is to add the additional profile properties to the LDIF MA.

Because the MOSS MA only imports profile properties into SharePoint Server if they are present in the LDIF file, unwanted profile properties can be excluded from synchronization by excluding them from the LDIF file. Although you can also exclude properties from import by excluding them from the MOSS MA schema, the preferred method is to exclude any unwanted profile properties from the LDIF file.

After you have created an LDIF MA and added any additional properties that you want to synchronize, you can then run Profile Synchronization from SharePoint Server 2010 Central Administration to import the profiles into SharePoint Server. This will synchronize the profile information in the LDIF file with the profile information in the SharePoint Server profile store and will also synchronize profile information from other directory services or business systems that are based on any other profile synchronization connections that you have configured.

Task requirements

Before you perform this procedure, confirm the following:

  • The farm is running either the Standard or Enterprise version of SharePoint Server 2010 and you have run the farm configuration wizard. Profile Synchronization does not work on a single-server installation of SharePoint Server 2010.

  • An instance of the User Profile service application exists and is started. For more information, see Create, edit, or delete a User Profile service application (SharePoint Server 2010).

  • Profile Synchronization has been provisioned on the server where you plan to synchronize profile information from an LDIF file. For more information about provisioning Profile Synchronization, see Configure Profile Synchronization settings.

  • If you are using Microsoft SQL Server 2008, Microsoft SQL Server 2008 with Service Pack 1 (SP1) with Cumulative Update 2 (CU2) (http://go.microsoft.com/fwlink/p/?LinkId=165962) is required.

  • The WCF hotfix (KB976462) for Windows Server 2008 R2 is installed.

Important:

See the SharePoint Server 2010 release notes for other task requirements that may be needed for Profile Synchronization.

Tasks in this article

  • Create an LDIF MA

  • Add custom profile properties to the default profile property schema

Create an LDIF MA

You can create an LDIF MA to synchronize user and group profile information between Microsoft SharePoint Server 2010 and a Lightweight Directory Access Protocol (LDAP) by using the Synchronization Service Manager.

To create an LDIF MA by using the Synchronization Service Manager

  1. Verify that you have the following administrative credentials:

    • To use the Synchronization Service Manager to create an LDIF MA, you must be a Service Application Administrator for the User Profile Service application. The Service Application Administrator for the User Profile Service application must also have write permissions on the %rootdir%\Program Files\Microsoft Office Servers\14.0\Synchronization Service\Ma-data\ directory.

  2. Download the default schema file (config.xml) from http://go.microsoft.com/fwlink/p/?LinkId=202107 and save it to the %rootdir%\Program Files\Microsoft Office Servers\14.0\Synchronization Service\Ma-data\ directory.

  3. Open the Synchronization Service Manager by browsing to %rootdir%\Program Files\Microsoft Office Servers\14.0\Synchronization Service\UIShell\ and double-clicking miisclient.exe.

  4. In the Synchronization Service Manager, click Management Agents and then, under Actions, click Import Management Agent.

  5. Select the config.xml file and then click Open.

  6. On the Create Management Agent page of the Create Management Agent wizard, type a name for the LDIF MA in the Name field. The name must be preceded by "MOSSLDAP-", for example, MOSSLDAP-TestLDIFMA.

  7. Optionally, type a description for the LDIF MA in the Description box.

  8. Click Next through the remaining pages of the Create Management Agent wizard.

  9. On the Configure Extensions page of the Create Management Agent wizard, click Finish.

  10. Save the LDIF file you generated by using your LDAP provider in the newly created LDIF <MA_Name> folder in the %rootdir%\Program Files\Microsoft Office Servers\14.0\Synchronization Service\Ma-data\ directory.

    You can now run profile synchronization from Central Administration in SharePoint Server 2010 to import the profiles from the LDIF file into the SharePoint Server profile store. For more information about how to run profile synchronization in SharePoint Server 2010, see Start profile synchronization manually (SharePoint Server 2010).

    Note:

    If you need to add any custom profile properties to the default property schema, you should add them before running profile synchronization.

Add custom profile properties to the default profile property schema

Before you run profile synchronization, you can add a custom profile property to the default profile property schema by creating the following:

  1. The custom property in SharePoint Server by using Central Administration

  2. The custom property in the MOSS MA

  3. The custom property in the FIM metaverse

  4. The custom property in the LDIF MA

  5. An export mapping from the LDIF MA to the FIM metaverse

  6. An import mapping from the FIM metaverse to the MOSS MA

Important:

Complete the procedures in the following order to add a new profile property to the default profile property schema.

To create a custom profile property in SharePoint Server

  • If the profile property does not exist in SharePoint Server, create a custom profile property in SharePoint Server by using Central Administration.

To create a custom profile property in the MOSS MA

  1. Verify that you have the following administrative credentials:

    • To use the Synchronization Service Manager to create a new profile property in the MOSS MA, you must be a Service Application Administrator for the User Profile Service application. The Service Application Administrator for the User Profile Service application must also have write permissions on the %rootdir%\Program Files\Microsoft Office Servers\14.0\Synchronization Service\Ma-data\ directory.

  2. Open the Synchronization Service Manager by browsing to %rootdir%\Program Files\Microsoft Office Servers\14.0\Synchronization Service\UIShell\ and double-clicking miisclient.exe.

  3. Select the MOSS MA from the Management Agent list in the Synchronization Service Manager and then, under Actions, click Properties.

    Note:

    The MOSS MA appears in the Management Agent list in the Synchronization Service Manager as "MOSSGUID".

  4. On the Properties page, under Management Agent Designer, click Configure Attributes.

  5. On the Properties page, under Configure Attributes, click New.

  6. In the New Attribute dialog box, enter the name of the new profile property in the Name field. This name must be the same name as the profile property that you created in the SharePoint Server Central Administration.

  7. Select a data type for the new profile property from the drop-down list. This data type must be the same as the one specified in SharePoint Server.

  8. In the New Attribute dialog box, in the Value constraints section, enter a minimum and maximum character length for the new profile property and then click OK.

  9. On the Properties page, under Management Agent Designer, click Define Object Type.

  10. On the Properties page, under Define Object Types, select User and then click Edit.

  11. In the Edit Object Type dialog box, in the Select mandatory attributes section, select the new profile property and then click Add to make the new profile property either a required profile property or an optional profile property. When you are done, click OK.

Create a new profile property in the FIM metaverse

  1. Verify that you have the following administrative credentials:

    • To use the Synchronization Service Manager to create a new profile property in the FIM Metaverse, you must be a Service Application Administrator for the User Profile Service application. The Service Application Administrator for the User Profile Service application must also have write permissions on the %rootdir%\Program Files\Microsoft Office Servers\14.0\Synchronization Service\Ma-data\ directory.

  2. Open the Synchronization Service Manager by browsing to %rootdir%\Program Files\Microsoft Office Servers\14.0\Synchronization Service\UIShell\ and double-clicking miisclient.exe.

  3. Click Metaverse Designer.

    Under Object Types, select the person object.

    In the lower Actions section, click Add Attribute.

  4. In the Add Attribute To Object Type dialog box, click New attribute.

  5. In the New Attribute dialog box, type the name of the new profile property in the Attribute name field. This name must be the same name as the profile property that you created in the SharePoint Server Central Administration.

  6. Select the data type from the Attribute type drop-down list. This data type must be the same as the one specified in SharePoint Server.

  7. If the new profile property is a multi-valued property, click to select Multi-valued and then click OK.

Create a new profile property in the LDIF MA

  1. Verify that you have the following administrative credentials:

    • To use the Synchronization Service Manager to a new profile property in the LDIF MA, you must be a Service Application Administrator for the User Profile Service application. The Service Application Administrator for the User Profile Service application must also have write permissions on the %rootdir%\Program Files\Microsoft Office Servers\14.0\Synchronization Service\Ma-data\ directory.

  2. Open the Synchronization Service Manager by browsing to %rootdir%\Program Files\Microsoft Office Servers\14.0\Synchronization Service\UIShell\ and double-clicking miisclient.exe.

  3. Select the LDIF MA from the Management Agent list in the Synchronization Service Manager and then, under Actions, click Properties.

  4. On the Properties page, under Management Agent Designer, click Configure Attributes.

  5. On the Properties page, under Configure Attributes, click New.

  6. In the New Attribute dialog box, enter a name for the new profile property in the Name field. This name must be the same name as the profile property that you created in the SharePoint Server Central Administration.

  7. Select a data type for the new profile property from the drop-down list. This data type must be the same as the one specified in SharePoint Server.

  8. In the New Attribute dialog box, in the Value constraints section, enter a minimum and maximum character length for the new profile property and then click OK.

  9. On the Properties page, under Management Agent Designer, click Define Object Type.

  10. On the Properties page, under Define Object Types, select User and then click Edit.

  11. In the Edit Object Type dialog box, in the Select mandatory attributes section, select the new profile property and then click Add to make the new profile property either a required profile property or an optional profile property. When you are done, click OK.

Create an import mapping from a new LDIF MA profile property to a new metaverse profile property

  1. Verify that you have the following administrative credentials:

    • To use the Synchronization Service Manager to create an import mapping from a new LDIF MA profile property to a new Metaverse profile property, you must be a Service Application Administrator for the User Profile Service application. The Service Application Administrator for the User Profile Service application must also have write permissions on the %rootdir%\Program Files\Microsoft Office Servers\14.0\Synchronization Service\Ma-data\ directory.

  2. Open the Synchronization Service Manager by browsing to %rootdir%\Program Files\Microsoft Office Servers\14.0\Synchronization Service\UIShell\ and double-clicking miisclient.exe.

  3. Select the LDIF MA from the Management Agent list in the Synchronization Service Manager and then, under Actions, select Properties.

    Under Management Agent Designer, click Configure Attribute Flow.

  4. In the Configure Attribute Flows section, select Object Type: User from the Data Source Attribute column.

  5. In the Build Attribute Flow section, under Flow Direction, select Import.

  6. In the Build Attribute Flows section, under Data source attribute, select the name of the new profile property.

  7. In the Build Attribute Flows section, under Metaverse attribute, select the name of the new profile property, click New, and then click OK. The new import mapping should now show in the Configure Attribute Flow section of the Properties pane.

Create an export mapping from a new metaverse profile property to a new MOSS MA profile property

  1. Verify that you have the following administrative credentials:

    • To use the Synchronization Service Manager to create an export mapping from a new Metaverse profile property to a new MOSS MA profile property, you must be a Service Application Administrator for the User Profile Service application. The Service Application Administrator for the User Profile Service application must also have write permissions on the %rootdir%\Program Files\Microsoft Office Servers\14.0\Synchronization Service\Ma-data\ directory.

  2. Open the Synchronization Service Manager by browsing to %rootdir%\Program Files\Microsoft Office Servers\14.0\Synchronization Service\UIShell\ and double-clicking miisclient.exe.

  3. Select the MOSS MA from the Management Agent list in the Synchronization Service Manager and then, under Actions, select Properties.

    Under Management Agent Designer, click Configure Attribute Flow.

  4. In the Configure Attribute Flows section, select Object Type: User from the Data Source Attribute column.

  5. In the Build Attribute Flow section, under Flow Direction, select Export.

  6. In the Build Attribute Flows section, under Data source attribute, select the name of the new profile property.

  7. In the Build Attribute Flows section, under Metaverse attribute, select the name of the new profile property, click New, and then click OK. The new export mapping should now show in the Configure Attribute Flow section of the Properties pane.

See Also

Concepts

Manage profile synchronization (SharePoint Server 2010)
Plan for profile synchronization (SharePoint Server 2010)
Configure profile synchronization (SharePoint Server 2010)
Start profile synchronization manually (SharePoint Server 2010)
Schedule profile synchronization (SharePoint Server 2010)


Start profile synchronization manually (SharePoint Server 2010)
See Also

This article describes how to start profile synchronization for Microsoft SharePoint Server 2010 manually. You can start a full synchronization or an incremental synchronization of profile information. You might want to consider starting profile synchronization manually if you have made considerable changes to user profiles, for example if you want to test the profile synchronization feature.

For information about when to use full or incremental synchronization, see Types of synchronization in Profile synchronization overview (SharePoint Server 2010).

You can also schedule profile synchronization to run automatically according to a schedule. For more information, see Schedule profile synchronization (SharePoint Server 2010).

Before you perform this procedure, ensure that you have completed the steps that are described in Configure profile synchronization (SharePoint Server 2010).

To start profile synchronization manually

  1. Verify that you have the following administrative credentials:

    • You must be a farm administrator or an administrator of the User Profile service application to perform this procedure. If you are not a farm administrator, start this procedure by using the Manage Profile Service page.

  2. On the Central Administration Web site, in the Application Management section, click Manage service applications.

  3. On the Manage Service Applications page, click in the Name column of the User Profile Service Application row.

  4. On the Manage Profile Service page, in the Synchronization section, click Start Profile Synchronization.

  5. On the Start Profile Synchronization page, select Start Incremental Synchronization to synchronize only profiles that have changed since the last synchronization, or select Start Full Synchronization to synchronize all profiles.

    Note:

    Full synchronization can take a long time. For more information about when to use full synchronization and incremental synchronization, see Types of synchronization in Profile synchronization overview (SharePoint Server 2010).

  6. Click OK.

    Note:

    Refresh the Manage Profile Service page to view the profile synchronization status.

See Also

Concepts

Manage profile synchronization (SharePoint Server 2010)
Profile synchronization overview (SharePoint Server 2010)
Plan for profile synchronization (SharePoint Server 2010)
Configure profile synchronization (SharePoint Server 2010)
Schedule profile synchronization (SharePoint Server 2010)
Plan for profile synchronization (SharePoint Server 2010)


Schedule profile synchronization (SharePoint Server 2010)
See Also

This article describes how to configure the Profile Incremental Synchronization timer job to define the schedule for running incremental profile synchronization. You must have first performed a full synchronization before you can set the incremental synchronization schedule. For more information, see Plan for profile synchronization (SharePoint Server 2010).

Before you perform this procedure, ensure that you have completed the steps that are described in Configure profile synchronization (SharePoint Server 2010).

To schedule profile synchronization

  1. Verify that you have the following administrative credentials:

    • You must be a farm administrator or an administrator of the User Profile service application to perform these procedures. If you are not a farm administrator, start this procedure by using the Manage Profile Service page.

  2. On the Central Administration Web site, in the Application Management section, click Manage service applications.

  3. On the Manage Service Applications page, click in the Name column of the User Profile service application row.

  4. On the Manage Profile Service page, in the Synchronization section, click Configure Synchronization Timer Job.

  5. On the Edit Timer Job page, in the Recurring Schedule section, select the frequency at which you want recurring profile synchronization to occur.

    • If you select Minutes, type the number of minutes that should pass between the start of each timer job.

    • If you select Hourly, type the number of minutes past every hour that the timer job should start to run at the earliest, and type the number of minutes past every hour that the timer job should start to run at the latest.

    • If you select Daily, select the time at which the timer job should start to run, at the earliest and at the latest, every day.

    • If you select Weekly, select the earliest and latest day and time at which the timer job should start to run every week.

    • If you select Monthly, either select the earliest and latest date and time at which the timer job should start to run every month, or select a day and time at which the timer job should start to run every month.

    Note:

    If you want to specify an exact starting time for the timer job to run, set the same value in the start and end times of the interval in which the timer job should start.

  6. Click OK.

    If you want to start the profile synchronization immediately, click Run Now.

See Also

Concepts

Manage profile synchronization (SharePoint Server 2010)
User Profile Service administration (SharePoint Server 2010)
Configure profile synchronization (SharePoint Server 2010)
Start profile synchronization manually (SharePoint Server 2010)
Plan for profile synchronization (SharePoint Server 2010)
Timer jobs cmdlets (SharePoint Server 2010)


Maintain profile synchronization (SharePoint Server 2010)

Published: January 1, 2011

Profile Synchronization in SharePoint Server 2010 enables an administrator of an instance of the user profile service to synchronize user and group profile information that is stored in the SharePoint Server 2010 profile store with profile information that is stored in directory services across the enterprise. After you have configured Profile Synchronization, you must complete tasks to maintain those settings. These tasks include, for example, removing users whose accounts have been disabled or deleted, moving or renaming a server, and starting or stopping the User Profile Synchronization service. For more information, see Plan for profile synchronization (SharePoint Server 2010).

Before you complete the procedures in this article, you must have completed the procedures in Configure profile synchronization (SharePoint Server 2010).

Task requirements

  • The farm is running either the Standard or Enterprise version of SharePoint Server 2010 and you have run the farm configuration wizard.

    Caution:

    Profile Synchronization does not work on a stand-alone installation of SharePoint Server 2010.

  • An instance of the User Profile service application exists and is started. For more information, see Create, edit, or delete a User Profile service application (SharePoint Server 2010).

  • If you are using Microsoft SQL Server 2008, Microsoft SQL Server 2008 with Service Pack 1 (SP1) with Cumulative Update 2 (CU2) (http://go.microsoft.com/fwlink/?LinkId=165962) is required.

  • The WCF hotfix (KB976462) for Windows Server 2008 R2 is installed.

Important:

See release notes for other task requirements that may be needed for Profile Synchronization.

Procedures in this article

  • Rename users or change user domains

  • Exclude users whose accounts have been disabled

  • Remove obsolete users and groups

  • Maintain profile schema changes

  • Rename a profile synchronization server

  • Move the User Profile Synchronization service to a new server

  • Reset profile synchronization

  • Restrict profile synchronization communication to a specific domain controller

  • Adjust profile synchronization time-outs

Rename users or change user domains

SharePoint Server 2010 provides a way to handle several different user migration scenarios. The following are examples of the scenarios handled for Active Directory Domain Services (AD DS):

  • Account name (sAMAccountName) changes in the AD DS where the user exists.

  • Security Identifier (SID) changes.

  • Distinguished Name (DN) changes that include changes in the Organizational Unit (OU) container in the AD DS where the user account exists. This is new in SharePoint Server 2010. For example, if a user's DN is moved in AD DS from "User= EUROPE\John Smith, Manager=CN=John Rodman, OU=Users, DC=EMEA1, DC=corp, DC=contoso, DC=com" to "User= EUROPE\John Smith, Manager=CN=John Rodman, OU=Managers, DC=EMEA1, DC=corp, DC=contoso,DC=com", the MigrateUser command updates the user profile store for this user. The user profile for John Smith is updated when synchronizing user profiles from the EMEA1.corp.contoso.com AD DS to the SharePoint Server user profile store.

To rename users or to change user domains

  1. Verify that you have the following administrative credentials:

    • See Add-SPShellAdmin.

    • You must be a member of the Farm Administrators group on the computer that is running the SharePoint Central Administration Web site.

    • The Farm Administrator account, which is created during the SharePoint farm setup, must also be a Local Administrator on the server where the User Profile Synchronization service is deployed.

  2. If a profile synchronization run is in progress, go to the Central Administration page and click Manage service applications in the Application Management section. Select the appropriate User Profile service application from the list of service applications. On the Manage service application page, click Stop Profile Synchronization.

  3. Disable the User Profile Incremental Synchronization timer job.

  4. Ensure that user migration by using stsadm -o migrateuser has succeeded.

  5. Ensure that the profile of the migrated user can be accessed by browsing to the My Site for that user, for example, http://mysite/person.aspx?accountname=<new account name>.

  6. Run Profile Synchronization. For more information, see Start profile synchronization manually (SharePoint Server 2010).

  7. Recheck access to the profile of the migrated user by browsing to the My Site for that user.

  8. Enable the User Profile Incremental Synchronization timer job.

Exclude users whose accounts have been disabled

You can exclude users whose accounts have been disabled in AD DS by using exclusion filters in SharePoint Server 2010. For the steps that are needed to exclude users whose accounts have been disabled, see Configure profile synchronization (SharePoint Server 2010).

Remove obsolete users and groups

There are two reasons why obsolete users or groups can exist in the SharePoint Server 2010 user profile store:

  • Obsolete users: The My Site cleanup timer job is not active. The User Profile Synchronization timer job marks for deletion users who have been deleted from the directory source. When the My Site cleanup job runs, it looks for all users marked for deletion and deletes their profiles. Respective My Sites are then assigned to the manager for the deleted user and an e-mail message notifies the manager of this deletion.

  • Obsolete users and groups: Users and groups that were not imported by Profile Synchronization exist in the user profile store. This can occur, for example, if you upgraded from an earlier version of SharePoint Server and chose to only synchronize a subset of domains with SharePoint Server 2010.

To find and remove obsolete users and groups by using Windows PowerShell

  1. Verify that you meet the following minimum requirements:

    • See Add-SPShellAdmin.

    • You must have Execute permission on the ImportExport_GetNonimportedObjects and the ImportExport_PurgeNonimportedObjects stored procedures in the profile database.

      You can use SQL Management Studio or Transact-SQL to grant permissions. For more information, see GRANT Object Permissions (Transact-SQL) (http://go.microsoft.com/fwlink/?LinkId=213464).

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Right-click SharePoint 2010 Management Shell and then click Run as administrator.

  5. In the User Account Control dialog box, click Yes.

  6. At the Windows PowerShell command prompt, type the following commands:

    1. To get the User Profile Service application object, type the following command:

      Copy Code
      $upa = Get-spserviceapplication <identity>

      Where <identity> is the GUID of the User Profile Synchronization service application.

    2. To view the users and groups to delete, type the following command:

      Copy Code
      Set-SPProfileServiceApplication $upa -GetNonImportedObjects $true

    3. To delete the obsolete users and groups, type the following command:

      Warning:

      This action cannot be undone.

      Copy Code
      Set-SPProfileServiceApplication $upa -PurgeNonImportedObjects $true

For more information, see Get-SPServiceApplication and Set-SPProfileServiceApplication.

Maintain profile schema changes

Profile schema changes include things such as adding a new user profile property, changing a user profile property mapping, or changing a Profile Synchronization connection filter. When the profile schema changes, you must first perform a full nonrecurring synchronization before scheduling recurring profile synchronization. For the steps that are needed to perform full nonrecurring profile synchronization, see Start profile synchronization manually (SharePoint Server 2010).

Rename a profile synchronization server

Use the following procedure to rename a profile synchronization server.

To rename a profile synchronization server by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell command prompt, type the following command:

    Copy Code
    Rename-SPServer <Identity> -Name <newName>

    Where:

    • Identity is the old name of the server.

    • newName is the new name for the server.

For more information about renaming a server by using Windows PowerShell, see Rename-SPServer.

Move the User Profile Synchronization service to a new server

Use the following procedure to move the User Profile Synchronization service to a new server.

To move the User Profile Synchronization service to a new server by using Central Administration

  1. Verify that you have the following administrative credentials:

    • See Add-SPShellAdmin.

    • You must be a member of the Farm Administrators group on the computer that is running the SharePoint Central Administration Web site.

    • The farm account, which is created during the SharePoint farm setup, must also be a Local Administrator on the server where the User Profile Synchronization service is deployed.

      This is required to start the User Profile Synchronization service. After the User Profile Synchronization service is started you can remove the farm account from the Administrators group.

  2. On the current Profile Synchronization server, on the SharePoint Central Administration Web site, in the System Settings section, click Manage services on Server.

  3. Next to the User Profile Synchronization Service, click Stop to stop the User Profile Synchronization service.

  4. On the new Profile Synchronization server, on the SharePoint Central Administration Web site, in the System Settings section, click Manage services on Server.

  5. Next to the User Profile Synchronization Service, click Start to start the User Profile Synchronization service.

  6. On the new Profile Synchronization server, on the SharePoint Central Administration Web site, in the Application Management section, click Manage service applications.

  7. On the Service Applications page, click the link for the name of the appropriate User Profile service application.

  8. On the User Profile Service Application page, in the Synchronization section, click Start Profile Synchronization.

  9. On the Start Profile Synchronization page, select Start Full Synchronization, and then click OK.

Reset profile synchronization

The User Profile Synchronization database serves as a staging area for user profile information. User Profile information that is stored in the profile store and synchronization database is consumed by the User Profile service. By following these steps, you can safely reset a User Profile Synchronization database without losing information in the profile store.

To reset profile synchronization by using Windows PowerShell

  1. Verify that you meet the following minimum requirements:

    • See Add-SPShellAdmin.

    • You must be a member of the Farm Administrators group on the computer that is running the SharePoint Central Administration Web site.

    • The farm account, which is created during the SharePoint farm setup, must also be a Local Administrator on the server where the User Profile Synchronization service is deployed.

      This is required to start the User Profile Synchronization service. After the User Profile Synchronization service is started you can remove the farm account from the Administrators group.

  2. As a precaution, back up the User Profile service application. For more information, see Back up a service application in SharePoint Server 2010.

  3. If you are using the My Site cleanup timer job, you must disable it before you reset the synchronization database. Otherwise, the job will delete all user profiles and My Sites from the farm. For information about this timer job, see the Timer job reference (SharePoint Server 2010). For information about the Windows PowerShell cmdlets that you use to enable and disable this timer job, see Timer jobs cmdlets (SharePoint Server 2010).

  4. Disable the User Profile Incremental Synchronization timer job:

    1. On the SharePoint Central Administration Web site, click Monitoring.

    2. Click Review job definitions.

    3. Click User Profile Service Application Name-User Profile Incremental Synchronization.

      Where User Profile Service Application Name is the name of the User Profile service application.

    4. Click Disable.

  5. On the Start menu, click All Programs.

  6. Click Microsoft SharePoint 2010 Products.

  7. Right-click SharePoint 2010 Management Shell and then click Run as administrator.

  8. In the User Account Control dialog box, click Yes.

  9. At the Windows PowerShell command prompt, type the following command to stop the SharePoint 2010 Timer service:

    Copy Code
    net stop sptimerv4

  10. Copy the following code and paste it into a text editor, such as Notepad:

    Copy Code
    $syncdb=Get-SPDatabase <SyncDBGUID>
$syncdb.Unprovision()
$syncdb.Status='Offline'
$upa=Get-SPServiceApplication <UPSAppGUID>
$upa.ResetSynchronizationMachine()
$upa.ResetSynchronizationDatabase()
$syncdb.Provision()

  11. Replace the following placeholders with values where:

    • <SyncDBGUID> is the GUID of the synchronization database.

    • <UPSAppGUID> is the GUID of the User Profile Service application.

    For more information, see Get-SPDatabase.

  12. Save the file as an ANSI-encoded text file and name the file ResetSyncDB.ps1.

  13. At the Windows PowerShell change to the directory where you saved the file.

  14. Type the following command:

    Copy Code
    ./ResetSyncDB.ps1

  15. Using SQL Server Management Studio, create a login in SQL Server for the User Profile Synchronization service account (that is, the farm account). Then, in the Sync database, create a database user that maps to the login and grant it access to the db_owner database role. For more information, see How to: Create a SQL Server Login (http://go.microsoft.com/fwlink/p/?LinkId=211993), How to: Create a Database User (http://go.microsoft.com/fwlink/p/?LinkId=211994), and Database-Level Roles (http://go.microsoft.com/fwlink/p/?LinkId=211995).

  16. At the Windows PowerShell command prompt, type the following command to start the SharePoint 2010 Timer service:

    Copy Code
    net start sptimerv4

  17. Start the Profile Synchronization service. For more information, see the Start the User Profile Synchronization service section of the "Configure profile synchronization" topic.

  18. Reset IIS. For more information about how to reset IIS, see the Reset IIS section of the "Configure profile synchronization" topic.

  19. Create connections to the data sources. For more information, see Restore a service application (Search Server 2010).

  20. If you do not intend to use the My Site cleanup timer job, run profile synchronization. For more information about how to run profile synchronization, see Start profile synchronization manually (SharePoint Server 2010). If you intend to enable the My Site cleanup timer job, complete these additional steps before you enable the job:

    1. Run two full profile synchronizations.

    2. After the second profile synchronization completes, on the Central Administration Web site, in the Application Management section, click Manage service applications.

    3. Click the User Profile service application name, and then click Manage User Profiles.

    4. On the Manage Profile Service page, in the People section, click Manage User Profiles.

    5. Next to View, select Profiles Missing from Import.

    6. In the Find Profiles box, type the domain for the profiles and then click Find.

    7. For each profile that is returned, check the originating directory service, such as Active Directory, for the status of that profile. If the status of any of the returned profiles in the directory is not disabled or is not deleted, do not enable the My Site cleanup timer job. Contact Microsoft support for more assistance. Otherwise, enable the My Site cleanup timer job. For information about the Windows PowerShell cmdlets that you use to enable and disable this timer job, see Timer jobs cmdlets (SharePoint Server 2010).

  21. Enable the User Profile Incremental Synchronization timer job:

    1. On the SharePoint Central Administration Web site, click Monitoring.

    2. Click Review Job Definitions.

    3. Click User Profile Service Application Name-User Profile Incremental Synchronization.

      Where User Profile Service Application Name is the name of the User Profile service application.

    4. Click Enable.

Restrict profile synchronization communication to a specific domain controller

Use the following procedure to restrict profile synchronization communication to a specific domain controller.

To restrict profile synchronization communication to a specific domain controller by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Startswie which to use.ranch of technet. not e - even All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Right-click SharePoint 2010 Management Shell and then click Run as administrator.

  5. In the User Account Control dialog box, click Yes.

  6. At the Windows PowerShell command prompt, type the following commands:

    1. To get the User Profile Service application object, type the following command:

      Copy Code
      $upa=Get-SPServiceApplication <GUID>

      Where <GUID> is the GUID of the User Profile Synchronization Service application.

    2. To restrict profile synchronization communication to a specific domain controller, type the following command:

      Copy Code
      Set-SPProfileServiceApplication $upa -UseOnlyPreferredDomainControllers $true
    Note:

    It may take up to five minutes for the changed property value to propagate to the Central Administration Web site. Resetting IIS on the Central Administration server will force the new value to be loaded immediately. For more information about resetting IIS, see IIS Reset Activity (http://go.microsoft.com/fwlink/p/?LinkId=179336).

For more information, see Get-SPServiceApplication and Set-SPProfileServiceApplication.

Adjust profile synchronization time-outs

A time-out can occur on the following occasions:

  • When trying to connect to the directory service server on the Add/Edit a synchronization connection page in Central Administration.

    Note:

    This time-out is available in the Microsoft SharePoint Server 2010 June 2010 Cumulative Update. For more information about the cumulative update, see http://support.microsoft.com/kb/983497.

  • When trying to populate the list of containers on the Add/Edit a synchronization connection page in Central Administration. This will occur as a JavaScript timeout error in the status bar.

  • When clicking OK on the Add/Edit a synchronization connection page in Central Administration. This will result in the following error message and occurs because of a timeout by the Forefront Identity Manager Web service when creating or updating a profile synchronization connection:

    "The request channel timed out while waiting for a reply after 00:01:29.9062626. Increase the timeout value passed to the call to Request or increase the SendTimeout value on the Binding. The time allocated to this operation may have been a part of a longer timeout."

To adjust profile synchronization timeouts by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. If you want to change the time-out value for connecting to the directory service server, do the following:

    1. Copy the following code and paste it into a text editor, such as Notepad:

      Copy Code
      $upsAppProxy = Get-SPServiceApplicationProxy <UPSAppProxyGUID>
$upsAppProxy.LDAPConnectionTimeout = <NewTimeout>
$upsAppProxy.Update()

    2. Replace <UPSAppProxyGUID> with the GUID of the User Profile service application proxy and <NewTimeout> with the new time-out value in seconds. The default time-out is 120 seconds.

    3. Save the file as an ANSI-encoded text file whose extension is .ps1.

  3. If you want to change the time-out value for the Populate Containers control, do the following:

    1. Copy the following code and paste it into a text editor, such as Notepad:

      Copy Code
      $upsAppProxy = Get-SPServiceApplicationProxy <UPSAppProxyGUID>
$upsAppProxy.ImportConnAsyncTimeout = <NewTimeout>
$upsAppProxy.Update()

    2. Replace <UPSAppProxyGUID> with the GUID of the User Profile service application proxy and <NewTimeout> with the new time-out value in seconds. The default time-out is 1,000 seconds (approximately 17 minutes).

    3. Save the file as an ANSI-encoded text file whose extension is .ps1.

  4. If you want to change the time-out value for calls into the Forefront Identity Manager Web service, do the following:

    1. Copy the following code and paste it into a text editor, such as Notepad:

      Copy Code
      $upsApp = Get-SPServiceApplication <UPSAppGUID>
$upsApp.FIMWebClientTimeOut = <NewTimeout>
$upsApp.Update()

    2. Replace <UPSAppGUID> with the GUID of the User Profile service application and <NewTimeout> with the new time-out value in milliseconds. The default time-out is 300,000 milliseconds (5 minutes).

    3. Save the file as an ANSI-encoded text file whose extension is .ps1.

  5. On the Start menu, click All Programs.

  6. Click Microsoft SharePoint 2010 Products.

  7. Click SharePoint 2010 Management Shell.

  8. Change to the directory where you saved the file(s).

  9. At the Windows PowerShell command prompt, type the following command to execute a script file:

    Copy Code
    ./<filename>.ps1

    Where <filename> is the name of the file to execute.

For more information, see Get-SPServiceApplicationProxy and Get-SPServiceApplication.


Configure a profile synchronization connection in SharePoint Server 2010 (video)
See Also

Published: February 10, 2011

This video shows the process of creating a profile synchronization connection in Microsoft SharePoint Server 2010. It demonstrates creating a connection to Active Directory Domain Services (AD DS), creating a synchronization filter, and mapping profile properties. The video includes both importing profile properties and exporting profile properties.

Running time: 12:26

Play video Watch the "Configuring a profile synchronization connection in SharePoint Server 2010" video

Download video For an optimal viewing experience, download the "Configuring a profile synchronization connection in SharePoint Server 2010" video.

Right-click the link, and then click Save Target As to download a copy. Clicking the link will open a .wmv file in the default video viewer for full-resolution viewing.

Related resources

Resource | Description
Plan for profile synchronization (SharePoint Server 2010) | This article provides guidance to help you plan how to implement profile synchronization in SharePoint Server 2010. Profile synchronization allows you to create user profiles by importing information from other systems that are used in your organization.
Configure profile synchronization (SharePoint Server 2010) | Configuring profile synchronization is a process that involves many steps. This article divides the process into shorter phases, both so that you can see progress and to reduce the number of steps through which you have to backtrack if you make an error. Depending on your organization's needs, you may not have to implement all of the phases.
SharePoint Products Tech Center (http://technet.microsoft.com/en-us/sharepoint/default.aspx) | Find details about related technologies, downloads, and additional resources.

See Also

Concepts

Video demos and training for SharePoint Server 2010
Manage profile synchronization (SharePoint Server 2010)
Plan for profile synchronization (SharePoint Server 2010)
User Profile service application overview (SharePoint Server 2010)


Configure a synchronization connection to a SQL Server database in SharePoint Server 2010 (video)
See Also

Published: June 16, 2011

This video shows how to perform profile synchronization (also known as "profile sync") with a business system in Microsoft SharePoint Server 2010. It demonstrates creating external content types from data in Microsoft SQL Server tables, creating synchronization connections, and mapping user profile properties.

synchronizing with SQL Server video

Running time: 9:48

Play video Watch the "Configuring a profile synchronization connection to a SQL Server database in SharePoint Server 2010" video

Download video For an optimal viewing experience, download the "Configuring a profile synchronization connection to a SQL Server database in SharePoint Server 2010" video.

Right-click the link, and then click Save Target As to download a copy. Clicking the link will open a .wmv file in the default video viewer for full-resolution viewing.

Related resources

Resource | Description
Plan for profile synchronization (SharePoint Server 2010) | This article provides guidance to help you plan how to implement profile synchronization in SharePoint Server 2010. Profile synchronization allows you to create user profiles by importing information from other systems that are used in your organization.
Configure profile synchronization (SharePoint Server 2010) | Configuring profile synchronization is a process that involves many steps. This article divides the process into shorter phases, both so that you can see progress and to reduce the number of steps through which you have to backtrack if you make an error. Depending on your organization's needs, you may not have to implement all of the phases.
SharePoint Products Tech Center (http://technet.microsoft.com/en-us/sharepoint/default.aspx) | Find details about related technologies, downloads, and additional resources.

See Also

Concepts

Video demos and training for SharePoint Server 2010
Manage profile synchronization (SharePoint Server 2010)
User Profile Service administration (SharePoint Server 2010)
Assign administration of a User Profile service application (SharePoint Server 2010)
User Profile service application overview (SharePoint Server 2010)
Plan for profile synchronization (SharePoint Server 2010)


Manage My Sites settings (SharePoint Server 2010)
See Also

My Sites are personal sites that provide users in your organization with a rich set of social networking features. These features include a My Newsfeed page for managing colleagues, interests, and newsfeed settings, a My Content page for managing documents and photos, and a My Profile page for managing things like user profile information and social tags and notes.

My Site settings are part of the User Profile Service. For more information about how to create a User Profile Service application, see Create, edit, or delete a User Profile service application (SharePoint Server 2010).

Before setting up My Sites, you should be familiar with the concepts contained in My Sites overview (SharePoint Server 2010) and you should understand the prerequisites and recommendations in Plan for My Sites (SharePoint Server 2010).

After a farm administrator has created a User Profile Service application, a designated administrator of the User Profile Service application can configure My Sites by performing one or more of the following procedures:

  • Set up My Sites (SharePoint Server 2010)

  • Create and manage a My Site host location (SharePoint Server 2010)

  • Add or delete a trusted My Site host location (SharePoint Server 2010)

  • Add or delete links to Office client applications (SharePoint Server 2010)

  • Add or delete personalization site links on My Sites (SharePoint Server 2010)

Most of these procedures are configured during initial deployment and only changed infrequently during normal operations thereafter.

See Also

Concepts

User Profile Service administration (SharePoint Server 2010)
Plan for social computing and collaboration (SharePoint Server 2010)

Other Resources

Resource Center: Enterprise Collaboration in SharePoint Server 2010


Set up My Sites (SharePoint Server 2010)
See Also

This article describes how to set up My Sites in Microsoft SharePoint Server 2010. Like other tasks in SharePoint Server, there are multiple ways to complete a task. This topic provides one ordered task with prerequisites and procedures to help you set up My Sites in your enterprise.

Before you set up My Sites, ensure that you understand the concepts and terminology in My Sites overview (SharePoint Server 2010) and Plan for My Sites (SharePoint Server 2010). Additionally, ensure that your system is running either the Standard or Enterprise version of SharePoint Server 2010.

We recommend that you perform all of the procedures in the order listed for best results, although not all of them are required.

In this article:

  • Prerequisites

  • Create a My Site host site collection

  • Add a wildcard inclusion managed path to the Web application

  • Connect the Web application to service applications

  • Enable self-service site creation for the Web application

  • Configure My Site settings for the User Profile service application

  • Enable the User Profile Service Activity Feed Job

  • Next Steps

Prerequisites

Because My Sites have dependencies on other service applications and features in SharePoint Server, ensure that you meet the prerequisites in this section before you perform the procedures in this task.

Note:

My Sites are hosted by a Web application and rely on a User Profile service application. Both are described in this section. We highly recommend that you also have a Managed Metadata service application and a Search service application to use with My Sites, but neither is required. However, without these services, some My Sites functionality will be affected. For more information, see Related service applications in the "Plan for My Sites" topic.

Web application

Although you can use an existing Web application, for optimal performance and security, we recommend that you create the My Site host site collection in a dedicated Web application that has a distinct root URL. For more information, see Create a Web application (SharePoint Server 2010).

Important:

If a My Site host site collection was created during initial deployment and configuration, we recommend that you do not use it because it was created in the default Web application. Delete this site collection, and create a new Web application that is dedicated to hosting My Sites. Then create a new My Site host site collection in the dedicated Web application.

User Profile service application and profile synchronization

Ensure that you have a User Profile service application that you want to use for My Sites. If you do not, follow the steps in Create a User Profile Service application to create one.

Important:

Although the Create New User Profile service application dialog box requests information in the My Site Host URL and Personal Site Location sections, for this task, remove any default values and leave those fields blank when you create the User Profile service application. Additionally, you can select any of the options in Site Naming Format. These settings will be configured separately later in this task.

Optionally, configure profile synchronization if you want to synchronize user and group profile information that is stored in the SharePoint Server 2010 profile database with profile information that is stored in a directory service or business system. For more information, see Plan for profile synchronization (SharePoint Server 2010).

Create a My Site host site collection

The My Site host site collection is a site collection that uses the Enterprise site template called My Site Host. This site collection must be created in the Web application that you want to host My Sites. Generally, this site collection can be created at the root path of the Web application, although it can be created as an explicit inclusion managed path deeper in the URL as long as there is a site collection created at the Web application root. For more information about selecting the path for the My Site host collection, see My Sites architecture in the "Plan for My Sites" article.

To create a My Site host site collection

  1. Verify that you have the following administrative credentials:

    • To create a My Site host site collection, you must be a member of the Farm Administrators group on the computer running the SharePoint Central Administration Web site or a service application administrator for the services related to My Sites. If you are a service application administrator, you must also have permission to create site collections in the Web application that you dedicate to host My Sites.

  2. In SharePoint Central Administration, click Application Management and then click Create site collections. The Create Site Collection page opens.

  3. In Web Application, ensure that the selected Web application is the Web application that you want to host My Sites. If it is not, expand the list and then click Change Web Application. The Select Web Application dialog box opens and you can select a different Web application.

  4. In Title and Description, type a title and description for the site collection.

  5. In Web Site Address, select the URL where you want this site collection created. Generally, you should use the default path (which displays as / in the user interface), which is the root of the Web application. For more information about this path, see My Sites architecture in the "Plan for My Sites" article.

  6. In Template Selection, select the Enterprise tab and then click My Site Host.

  7. In Primary Site Collection Administrator, and optionally in Secondary Site Collection Administrator, type an account in the format domain\user_name to specify an administrator for the site collection.

  8. Optionally, in Quota Template, select a quota template for the My Site host site collection. This quota template does not affect the individual site collections that users create for their My Sites. For more information, see Planning for storage requirements in the "Plan for My Sites" article.

  9. Copy this site collection URL for later reference.

Add a wildcard inclusion managed path to the Web application

The wildcard inclusion managed path is the path under which separate site collections are created the first time each user clicks their My Content link. This functionality is available only when self-service site creation is also enabled. For more information about managed paths, see Define managed paths (SharePoint Server 2010).

To add a wildcard inclusion managed path to the Web application

  1. Verify that you have the following administrative credentials:

    • To add managed paths, you must be a member of the Farm Administrators group on the computer running the SharePoint Central Administration Web site.

  2. In SharePoint Central Administration, click Application Management and then click Manage Web applications. The Web Applications page opens.

  3. Select the Web application that you created to host My Sites.

  4. On the Web Applications tab, in the Manage group, click Managed Paths. The Define Managed Paths dialog box opens.

  5. In Add a New Path, type a value that you want to append to the URL namespace and select Wildcard inclusion. For example, if your Web application URL is http://mysites.contoso.com/ and you want users' individual site collections created under a path called "personal", type personal in the Path box. Separate My Sites site collections will be created for each user under http://mysites.contoso.com/personal/.

  6. Click Add Path, and then click OK.

  7. Copy this managed path for later reference.

Connect the Web application to service applications

The Web application that hosts My Sites must be connected to service applications in SharePoint Server. The User Profile service application is required for My Sites. The Managed Metadata service application and Search service application are highly recommended. For more information, see My Sites architecture in the "Plan for My Sites" article.

Additionally, if you have other SharePoint sites from which you want users to be able to access their My Site and My Profile links from the upper-right corner menu, connect the Web applications of those sites to the User Profile service application also.

To connect the Web application to service applications

  1. Verify that you have the following administrative credentials:

    • To connect a Web application to a service application, you must be a member of the Farm Administrators group on the computer running the SharePoint Central Administration Web site.

  2. In SharePoint Central Administration, click Application Management and then click Manage Web applications. The Web Applications page opens.

  3. Select the Web application that you created to host My Sites.

  4. On the Web Applications tab, in the Manage group, click Service Connections. The Configure Service Application Associations dialog box opens.

  5. In the Edit the following group of connections list, select Default unless the default group does not already contain the service applications to which you want to connect the Web application.

    1. If you choose Custom, select any service applications to which you want to connect the Web application, including the User Profile service application, the Managed Metadata service application, and Search service application.

  6. Click OK.

Enable self-service site creation for the Web application

Self-service site creation enables the automatic creation of a separate site collection for each user when they first click the My Content link.

To enable self-service site creation for the Web application

  1. Verify that you have the following administrative credentials:

    • To enable self-service site creation, you must be a member of the Farm Administrators group on the computer running the SharePoint Central Administration Web site.

  2. In SharePoint Central Administration, click Application Management and then click Manage Web applications. The Web Applications page opens.

  3. Select the Web application that you created to host My Sites.

  4. On the Web Applications tab, in the Security group, click Self-Service Site Creation. The Self-Service Site Collection Management dialog box opens.

  5. Select On.

  6. Optionally, select Require secondary contact.

Configure My Site settings for the User Profile service application

After you have a My Site host site collection and wildcard inclusion managed path configured for My Sites, you can update the My Sites settings in the User Profile service application. Most of these settings are configured during initial deployment and only changed infrequently during regular operations afterward.

To configure My Site settings for the User Profile service application

  1. Verify that you have the following administrative credentials:

    • To configure My Site settings for the User Profile service application, you must be a member of the Farm Administrators group on the computer running the SharePoint Central Administration Web site or a service application administrator for the User Profile service application.

  2. In SharePoint Central Administration, click Application Management and then click Manage service applications.

  3. Click the User Profile service application that you connected to the Web application hosting My Sites earlier in this task. The Manage Profile Service page opens.

  4. Under My Site Settings, click Setup My Sites.

  5. In Preferred Search Center, specify settings for the Search Center to direct users to when they search for people or documents from their My Profile page. If you do not have a search center set up yet, you can skip this step and complete it later. For more information, see Search service application in the "Plan for My Sites" article.

  6. In My Site Host, type the URL for the My Site host site collection you created earlier in this task.

  7. In Personal Site Location, type the wildcard inclusion managed path you configured earlier in this task. By default, personal is pre-populated in the box. However, if you chose a different path for your wildcard inclusion managed path, replace personal with your path.

  8. In Site Naming Format, select a naming format for the My Sites site collections that will be created when users click My Content in their My Sites the first time. For more information about these formats, see My Sites architecture in the "Plan for My Sites" article.

  9. In Language Options, specify whether users can select a preferred language for their My Site. The available languages correspond to the language packs installed in the farm. All servers in a farm must have the same language packs. For more information about multilingual sites, see Plan for multilingual sites (SharePoint Server 2010). For more information about language packs, see About language IDs and language packs in the "Deploy language packs" article.

  10. In Read Permission Level, specify the users or groups that can view other user's My Sites when they are created. By default, this includes all authenticated users. However, you can select a more specific group or users depending on the needs of your deployment.

  11. In Security Trimming Options, specify how you want links to be checked for permission before they are displayed in activity feeds and on the Tags and Notes page.

    Important:

    This option is available only after you apply Microsoft SharePoint Server 2010 with Service Pack 1 (SP1). Before SharePoint Server 2010 with SP1, the security trimmer checked all links for permission. Starting with SharePoint Server 2010 with SP1, the addition of Security Trimming Options provides an explicit way to check link permission. This is important in hosted environments where tenants may share the same User Profile service but have different requirements on how to display links. It is also useful in non-hosted environments by giving an administrator more control over how links are displayed.

    • Check all links for permission. This is the default option for clean installations of SharePoint Server 2010 with SP1 and upgrades to SP1. This option requires all links to be security trimmed, which prevents users from seeing items that contain links they do not have permission to access.

    • Check only specified links for permission. By using this option, you specify the URL paths (also known as URL hierarchies) that you want to include or exclude from security trimming. This option provides flexibility and control over the security trimming process. For example, you might want to check all internal URL paths for permission, but allow external URLs to bypass security trimming so that they are displayed to everyone.

      In the accompanying Enter URL hierarchies to be checked for permission box, specify the URL paths that you want to include in security trimming. For example, if you specify a URL path like http://www.contoso.com/, all URLs under that path, such as http://www.contoso.com/products, will be checked for permission when they are displayed in activity feeds, tags, and notes. Unspecified URLs are not security trimmed, so they are displayed to everyone.

      In the accompanying Enter URL hierarchies to be displayed regardless of permission box, specify the URL paths that you want to exclude from security trimming. For example, if you specify a URL path like http://www.contoso.com, all URLs under that path are excluded from security trimming and are displayed to everyone.

    • Show all links regardless of permission. By using this option, all links appear regardless of permission to the link itself. This disables security trimming, which increases the risk of disclosing links that users do not have permission to access. Consider this implication when disabling security trimming.

  12. In Newsfeed, specify whether you want to enable the newsfeed on My Sites. If you enable the newsfeed, but the accompanying Activity Feed timer job for the User Profile service is disabled, you receive the following message with a link to enable and configure the job settings: "The Activity Feed Timer Job is currently disabled, this setting will have no effect until the Activity Feed Timer Job is enabled. Activity Feed Timer Job settings."

    This option is available only after you install SharePoint Server 2010 with SP1. Prior to SharePoint Server 2010 with SP1, the Activity Feed timer job both determines whether the newsfeed is enabled and how it is configured. Starting with SharePoint Server 2010 with SP1, the addition of the Newsfeed option provides an explicit way to enable or disable the newsfeed. This is important in hosted environments where tenants may share the same User Profile service but have different requirements on whether they can enable newsfeeds for their users.

    The default behavior of this option is affected by whether you perform a clean installation of SharePoint Server 2010 with SP1 or apply the service pack to an existing SharePoint Server. For clean installations, the Newsfeed option is disabled and the Activity Feed timer job is enabled. For upgrades, the behavior is as follows:

    • If your Activity Feed timer job was disabled before upgrade, after upgrade the timer job will be enabled and the Newsfeed option will be disabled.

    • If your Activity Feed timer job was enabled before upgrade, after upgrade the timer job will be enabled and the Newsfeed option will be enabled.

    • In a services farm, the Newsfeed option will be enabled after you apply the service pack and until you run the configuration to upgrade the farm and the subsequent database changes are applied. However, the existing Activity Feed timer job setting will not be affected. The newsfeed will continue to work if you had enabled the timer job and configured it to run before you applied the service pack.

  13. In My Site E-mail Notifications, specify an e-mail address to use as the sender e-mail address for My Site e-mail notifications. This account does not have to be a real monitored e-mail address.

    Important:

    You must add the IP address of the farm's outbound SMTP server to the safe list in Microsoft Exchange Server 2010 to prevent My Site e-mail notifications from being sent to the Junk folder. For more information about safe lists in Exchange Server 2010, see Understanding Connection Filtering (http://go.microsoft.com/fwlink/p/?LinkId=211793).

  14. In the Secondary My Site Owner box, specify a user account to be assigned as the new owner of the My Site if the existing My Site user is removed from the profile database. For example, if a user leaves the company and is no longer in the profile database, his or her My Site will be deleted together with any content. However, before it is deleted, a new owner can recover any important content. Initially, the My Site Cleanup job attempts to assign ownership of the My Site to the user's manager. However, if no manager is found, the My Site is assigned to the user specified in Secondary My Site Owner. The new owner has two weeks to retrieve content from the My Site before it is deleted.

    Note:

    This option is available only after installing SharePoint Server 2010 with SP1.

For more information about additional timer jobs for My Sites, see Planning for jobs and schedules in the "Plan for My Sites" article.

Enable the User Profile Service Activity Feed Job

The User Profile Service Activity Feed Job populates users' newsfeeds. After you configure My Sites, you should enable the User Profile Service activity feed job so that users will receive updates about activities in the My Newsfeed view of their My Sites.

This procedure is required to enable newsfeeds before SharePoint Server 2010 with SP1. After you apply SharePoint Server 2010 with SP1, configure the activity feed job and the additional Newsfeed option as described in Configure My Site settings for the User Profile service application above. You might still refer to this procedure after you apply SharePoint Server 2010 with SP1 to change the schedule of the activity feed timer job or to force the job to run between its scheduled intervals.

There are other timer jobs related to My Sites that you might want to review and change default settings for. For more information about jobs related to My Sites functionality, see Planning for jobs and schedules in the "Plan for My Sites" article.

To enable the User Profile Service Activity Feed Job

  1. Verify that you have the following administrative credentials:

    • To configure timer jobs, you must be a member of the Farm Administrators group on the computer running the SharePoint Central Administration Web site.

  2. In SharePoint Central Administration, click Monitoring and then click Review job definitions. The Job Definitions page opens.

  3. In the View list, select Service. The Service list appears.

    • If the Service list does not display User Profile Service, click Change Service. The Select Service page opens. Use the arrows in the upper-right corner to locate User Profile Service and then click it. The Job Definitions page updates with the User Profile Service jobs.

  4. Click the activity feed job for the User Profile service application that you created in the prerequisites section of this task. The job name is in the format User_Profile_Service_name - Activity Feed Job, where the User Profile Service name is the name that you specified for your User Profile service application. The Edit Timer Job page opens.

  5. In Recurring Schedule, select the interval that you want the job to run. Available intervals are Minutes, Hourly, Daily, Weekly, and Monthly. Selecting a shorter interval, such as Minutes or Hourly, ensures that activities appear on users' My Site newsfeeds more frequently. However, it can also place a heavy load on the system depending on how many activities are available. Selecting a longer interval, such as Daily, Weekly, or Monthly reduces the number of times the job runs and processes feeds. However, it also means that users receive less frequent updates to activities in their newsfeeds.

  6. Click Enable.

  7. Optionally, click Run Now to run the job immediately without waiting for the next scheduled interval.

Next Steps

After you configure My Sites by using the procedures in this article, consider whether you require the following optional procedures:

  • Configure trusted My Site host locations

  • Configure links to Office client applications

  • Add personalization site links on My Sites

  • Start related services

Configure trusted My Site host locations

Trusted My Site Host Locations is an optional feature that prevents a user from creating more than one My Site in an organization with multiple User Profile Service applications. For more information, see Add or delete a trusted My Site host location (SharePoint Server 2010).

Configure links to Office client applications

A user's My Site is a convenient location for a user to save files that they work on in Office client applications, such as Microsoft Office Word, Excel, and PowerPoint. After you configure an environment for My Sites, you can add a link to the Favorite Links section that users see when they save documents in the Save As dialog box in Office client applications. A user can then select his or her My Site and save files to the Shared Documents library, Personal Documents library, or other libraries that are available in the My Content section of his or her My Site. For more information, see Add or delete links to Office client applications (SharePoint Server 2010).

Add personalization site links on My Sites

If your organization wants to provide important information to users, it can do so by adding personalization site links to a user's My Site. For more information, see Add or delete personalization site links on My Sites (SharePoint Server 2010).

Start related services

If the related services for My Sites have not been started yet, start them so that My Sites functionality is available in your environment. For more information, see Manage services on the server (SharePoint Server 2010).

See Also

Concepts

Manage My Sites settings (SharePoint Server 2010)
Plan for My Sites (SharePoint Server 2010)
Plan user profiles (SharePoint Server 2010)
User Profile service application overview (SharePoint Server 2010)
Plan for profile synchronization (SharePoint Server 2010)
Configure profile synchronization (SharePoint Server 2010)
Managing personal and social features (SharePoint Server 2010)

Other Resources

Resource Center: Social Computing in SharePoint Server 2010


Create and manage a My Site host location (SharePoint Server 2010)
See Also

Published: June 10, 2010

This article describes how to create and manage a My Site host location. A My Site host location is a special site collection that hosts the profile and newsfeed for My Sites. Content for My Site is hosted in its own site collection, which is created automatically for each user when a user clicks My Content.

For each User Profile service application, a My Site host location is created automatically if you deploy a single server installation of Microsoft SharePoint Server 2010, or if you run the Farm Configuration Wizard to set up My Sites. A My Site host location is not created automatically if you manually create a User Profile service application. Before provisioning My Sites, an administrator of a User Profile service application must first use the My Site Host site template to create a My Site host location, or ensure that one has already been created. This template can be provisioned only once per User Profile service application.

This article assumes that you are familiar with the My Site concepts and best practices explained in Plan for My Sites (SharePoint Server 2010).

After you create a My Site host site collection, you can associate it with My Sites on the My Site Settings page. For more information, see Set up My Sites (SharePoint Server 2010).

In this article

  • Create a My Site host location

  • Change to a new My Site host location within the same web application

  • Move individual My Sites from one My Sites host location to another

  • Move the My Site host location and My Sites to a new web application or farm

Create a My Site host location

Use this procedure to create a My Site host location before you provision My Sites.

To create a My Site host location

  1. Verify that you have the following administrative credentials.

    • You must be a member of the Farm Administrators group on the computer running the SharePoint Central Administration site.

  2. Create a new web application for the new My Site host location. For more information, see Create a Web application (SharePoint Server 2010).

    Note:

    Although you can use an existing web application, for optimal performance and security, we recommend that you create the My Site host site collection in a dedicated web application that has a distinct root URL.

    If a My Site host site collection has already been created during deployment and configuration, we recommend that you do not use it, because it is created in the default web application. Instead, create a new My Site host site collection in a dedicated web application.

  3. On the Central Administration Web site, in the Application Management section, click Create Site Collection.

  4. Enter a title, description and URL for the site.

  5. In the Select a template section, click the Enterprise tab, and then click My Site Host.

  6. Enter names for the Primary and Secondary Site Collection administrators.

Change to a new My Site host location within the same web application

To change to a new My Site host location within the same web application, perform the following process:

  1. Follow the procedure above, Create a My Site host location.

  2. Delete the old site collection.

    For more information, see Delete a site collection (SharePoint Server 2010).

  3. Update the My Sites host location setting to point to the new site collection.

    For more information, see Set up My Sites (SharePoint Server 2010).

Move individual My Sites from one My Sites host location to another

You may need to move a My Site from one host location to another, for example, if a person moves from a job in one locale to a job in another. Each My Site is a site collection.

Use the following process to move a My Site to a new location:

  1. Back up the individual's My Site.

    For more information, see Back up a site collection in SharePoint Server 2010.

  2. Restore the individual's My Site to the new location.

    For more information, see Restore a site collection in SharePoint Server 2010.

  3. Delete the initial My Site.

    For more information, see Delete a site collection (SharePoint Server 2010).

  4. Verify that the My Site site collection managed path is correct for the current My Site host location.

Move the My Site host location and My Sites to a new web application or farm

You may have to move your My Sites and their host location to a new web application or farm.

To move your My Sites between web applications or farms, perform the following process:

  1. Back up the content databases that hold the My Sites and My Site host location site collections.

    For more information, see Back up a content database in SharePoint Server 2010.

  2. Dismount the content databases from the web application that they were associated with.

    For more information, see Attach or detach content databases (SharePoint Server 2010).

  3. Restore the content databases that hold the My Sites and My Site host location site collections to their new location.

    For more information, see Restore a content database in SharePoint Server 2010.

  4. Mount the content databases to the new web application.

    For more information, see Attach or detach content databases (SharePoint Server 2010).

See Also

Concepts

User Profile service application overview (SharePoint Server 2010)
Manage My Sites settings (SharePoint Server 2010)
Plan for profile synchronization (SharePoint Server 2010)
User Profile service application overview (SharePoint Server 2010)


Add or delete a trusted My Site host location (SharePoint Server 2010)
See Also

User Profile service application administrators can add links to trusted My Site host locations when they want to give users access to My Sites on multiple User Profile service applications. In most cases, links to trusted My Site host locations will be targeted to individual users or groups of users based on an identified business need. The links can be maintained and changed over time as business and user needs change.

User Profile service application administrators can delete a link to a trusted My Site host locations when the users targeted by the link no longer require access to My Sites in multiple locations.

This article describes how to add and delete a trusted My Site host location.

In this article:

  • Use Central Administration to add a trusted My Site host location

  • Use Central Administration to delete a trusted My Site host location

Before you begin

Before you perform these procedures, confirm the following:

  • Your system is running either the Standard or Enterprise version of SharePoint Server 2010.

  • An instance of the User Profile service application exists.

  • The host location that you want to make trusted exists.

Use Central Administration to add a trusted My Site host location

Perform the following procedure to add a trusted My Site host location.

To add a trusted My Site host location by using Central Administration

  1. Verify that you have the following administrative credentials:

    • To use Central Administration to add a trusted My Site host location, you must be a member of the Farm Administrators group or a Service Application Administrator for the User Profile service application.

  2. On the Central Administration Web site, under Application Management, click Manage service applications.

  3. On the Manage Service Applications page, select the User Profile service application from the list of service applications.

  4. On the ribbon, click Manage.

  5. On the Manage Profile Service page, under My Site Settings, click Configure Trusted Host Locations.

  6. On the Trusted My Site Host Locations page, click New Link to add a trusted My Site host location.

  7. On the Add Trusted Host Location page, enter the URL of the trusted personal site location in the URL box.

  8. In the Description box, enter a description for the trusted personal site location.

  9. Optionally, in the Target Audiences box, either type the user names or group names in the corresponding box or click Browse to select audiences by browsing, and then click OK.

Use Central Administration to delete a trusted My Site host location

Perform the following procedure to delete a trusted My Site host location.

To delete a trusted My Site host location by using Central Administration

  1. Verify that you have the following administrative credentials:

    • To use Central Administration to delete a trusted My Site host location, you must be a member of the Administrators group or a Service Application Administrator for the User Profile service application.

  2. On the Central Administration Web site, under Application Management, click Manage service applications.

  3. On the Manage Service Applications page, select the User Profile service application from the list of services.

  4. On the ribbon, click Manage.

  5. On the Manage Profile Service page, under My Site Settings, click Configure Trusted Host Locations.

  6. On the Trusted My Site Host Locations page, select the box next to the trusted My Site host location that you want to delete, and then click Delete Link to delete that trusted My Site host location.

See Also

Concepts

Manage My Sites settings (SharePoint Server 2010)
User Profile Service administration (SharePoint Server 2010)
Assign administration of a User Profile service application (SharePoint Server 2010)
User Profile service application overview (SharePoint Server 2010)


Add or delete links to Office client applications (SharePoint Server 2010)
See Also

When a user saves a document from an Office client application for the first time, the Save As dialog box appears. The Save As dialog box contains a section called Favorite Links, which displays shortcuts to locations where a user might want to save a file. You can add a link to the list of favorite links by publishing a link to Office client applications. When you add a link, you also specify a target audience that contains the users who will see the link.

Note:

These links will only be visible within Microsoft Office 2010 client applications.

In this article:

  • Add a link to Office client applications

  • Delete a link to Office client applications

Add a link to Office client applications

Use this procedure to add a link to Office client applications. For example, you might want to add a link to a SharePoint document repository so that certain users can easily save Office client files in the document repository.

To add a link to Office client applications

  1. Verify that you have the following administrative credentials:

    • To add a link to Office client applications, you must be a member of the Administrators group on the computer that is running the SharePoint Central Administration Web site.

  2. On the home page of the SharePoint Central Administration Web site, in the Application Management section, click Manage service applications.

  3. Click in the Type column of the User Profile Service application to select the row.

  4. In the Operations group of the ribbon, click Manage

  5. On the Manage Profile Service page, in the My Site Settings section, click Publish Links to Office Client Applications.

  6. On the Published links to Office client applications page, click New Link.

  7. On the Add Published Link page, in the URL box, type the URL of the location where users will be able to publish links.

  8. In the Description box, type a brief name for this location.

    This is the name that will appear in the Favorite Links section of the Save As dialog box.

  9. Select the type of the location that this link represents. For example, if the target location is a SharePoint document library, select Document Library.

  10. In the Target Audiences box, either type the name of the user or group to add or using the address book to find a user or group to add.

    Separate multiple user names or group names with a semicolon (;). You may also type All site users to select all users. For more information about audiences, see Audience and content targeting planning (SharePoint Server 2010).

    Note:

    To use the address book, click the book icon. In the dialog box that appears, type all or part of a user's name, and then press ENTER. Scroll through the search results, and double-click the name of the user or users whom you want to add. Then click OK.

  11. Click OK.

    The new link is displayed in the list of links on the Published links to Office client applications page.

Delete a link to Office client applications

Use this procedure to delete a link to Office client applications. For example, you might want to delete a link to a SharePoint document repository when it is no longer needed.

To delete a link to Office client applications

  1. Verify that you have the following administrative credentials:

    • To delete a link to Office client applications, you must be a User Profile Service administrator with Manage Personal Features permissions for the User Profile Service application that you are managing. For more information, see User Profile Service administration (SharePoint Server 2010).

  2. On the home page of the SharePoint Central Administration Web site, in the Application Management section, click Manage service applications.

  3. Click in the Type column of the User Profile Service application to select the row.

  4. In the Operations group of the ribbon, click Manage

  5. On the Manage Profile Service page, in the My Site Settings section, click Publish Links to Office Client Applications.

  6. On the Published links to Office client applications page, select the check box to the left of the link that you want to delete, and then click Delete Link.

See Also

Concepts

Manage My Sites settings (SharePoint Server 2010)
User Profile Service administration (SharePoint Server 2010)
Assign administration of a User Profile service application (SharePoint Server 2010)
User Profile service application overview (SharePoint Server 2010)


Add or delete personalization site links on My Sites (SharePoint Server 2010)
See Also

Published: May 5, 2011

This article describes how to use personalization site links to customize the top link bar on My Sites for users in your organization. When you add a personalization site link, it appears on all the My Sites in the site collection.

You can create personalization site links to display important company information. For instance, your organization might want to give users quick access to a timesheet. The destination of the link can be a site within the company intranet or an external site on the Internet.

Personalization site links are stored in a SharePoint list on the Personalization site links page. You must be a User Profile service application administrator to access the Personalization site links page.

If you want to use personalization site links to target a specific audience, you must first specify an audience, add relevant rules that should apply to the audience, and then compile the audience. For more information, see Manage audiences (SharePoint Server 2010).

Before you perform this procedure, confirm that:

  • Your system is running either the Standard or Enterprise version of Microsoft SharePoint Server 2010.

  • An instance of the User Profile service application exists.

  • You have read Set up My Sites (SharePoint Server 2010).

  • You have set up a My Site host location.

In this article:

  • Add personalization site links to My Sites

  • Delete personalization site links from My Sites

Add personalization site links to My Sites

Use the following procedure to add a personalization site link.

To add personalization site links to My Sites

  1. Verify that you have the following administrative credentials:

    • You must be a member of the Farm Administrators group or a service application administrator for the User Profile service application.

  2. On the SharePoint Central Administration Web site, under Application Management, click Manage service applications.

  3. In the list of service applications, click the row of the User Profile service application.

  4. On the Manage Profile Service: User Profile Service Application page, under My Site Settings, click Configure Personalization Site.

  5. On the Personalization site links page, click New Link.

  6. On the Add Personalization Site Link page, in the Properties section, do the following:

    1. In the URL box, type the URL of the site to which you want to link.

    2. In the Description box, type a description of the site.

    3. In the Owner box, type the name of an owner for this link, or click Browse to select an owner from the People Picker.

    4. Leave Target Audiences blank.

      When you leave this box blank, the link that you specified in the URL box appears on the My Sites top link bar for all users.

      Note:

      If you want to specify target audiences for the site, either type the audience names in the Target Audiences box or click Browse to use the Select Audiences page. This option requires that you define an audience, set up rules for this audience, and compile the audience. For more information, see Manage audiences (SharePoint Server 2010)

  7. Click OK.

Delete personalization site links from My Sites

Use the following procedure to delete personalization site links from My Sites.

To delete personalization site links from My Sites

  1. Verify that you have the following administrative credentials:

    • You must be a member of the Farm Administrators group or a service application administrator for the User Profile service application.

  2. On the Central Administration Web site, under Application Management, click Manage service applications.

  3. In the list of service applications, click the row of the User Profile service application that you want to configure.

  4. On the Manage Profile Service: User Profile Service Application page, under My Site Settings, click Configure Personalization Site.

  5. On the Personalization site links page, select the link that you want to delete, and then click Delete Link.

  6. In the dialog box that appears, click OK.

See Also

Concepts

Manage My Sites settings (SharePoint Server 2010)
Create and manage a My Site host location (SharePoint Server 2010)
Add or delete a trusted My Site host location (SharePoint Server 2010)
Add or delete links to Office client applications (SharePoint Server 2010)
Manage audiences (SharePoint Server 2010)
User Profile Service administration (SharePoint Server 2010)
User Profile service application overview (SharePoint Server 2010)


Enable or disable Social Tags and Note Boards for a user or group (SharePoint Server 2010)
See Also

The social tagging features of Microsoft SharePoint Server 2010 are enabled by default. However, you can disable these features for specific users or groups by removing them from the Use Social Features permission, which is part of the User Profile service. For example, you can disable these features if you do not want specific users or groups to be able to add tags and notes to Web pages.

After you disable the social tagging features, the I Like It and Tags & Notes UI controls will still appear on the Documents and Items tabs of the ribbon for document libraries and lists, and on browse pages in a site. This is because the SocialRibbonControl feature, which regulates the display of these controls, is enabled at the farm level and cannot be configured for individual sites. For more information, see Activate or deactivate the SocialRibbonControl farm-level feature (SharePoint Server 2010).

Before you perform this procedure, confirm the following:

  • A User Profile service application is running in the farm. For more information, see Create, edit, or delete a User Profile service application (SharePoint Server 2010).

In this article:

  • Enable or disable social tagging permissions for users or groups

Enable or disable social tagging permissions for users or groups

After you perform this procedure, the users or groups you selected will not be able to use the social tagging features.

To enable or disable social tagging permissions for users or groups

  1. Verify that you have the following administrative credentials:

    • You must have the Manage Social Data permission.

    • You must be a member of the Farm Administrators group, or you must have been assigned permission to administer the User Profile service application that is running in the farm. For more information, see Assign administration of a User Profile service application (SharePoint Server 2010).

  2. On the Central Administration Web site, in the Application Management section, click Manage service applications.

  3. In the list of service applications, click the User Profile Service Application link.

  4. On the Manage Profile Service: User Profile Service Application page, in the People section, click Manage User Permissions.

  5. In the Permissions for User Profile Service Application dialog box, type or select a user or group account, and then click Add.

  6. Do one of the following:

    1. To enable the permission, in the Permissions for box, select the Use Social Features check box, and then click OK.

    2. To disable the permission, in the Permissions for box, clear the Use Social Features check box, and then click OK.

See Also

Concepts

Managing privacy (SharePoint Server 2010)
User Profile Service administration (SharePoint Server 2010)
Plan for profile synchronization (SharePoint Server 2010)

Other Resources

Resource Center: Social Computing in SharePoint Server 2010


Resolve accounts across multiple forests (SharePoint Server 2010)
See Also

Published: May 29, 2010

Microsoft SharePoint Server 2010 can be deployed in various configurations, including single forest and multiple forest environments, of Active Directory Domain Services.

When planning to deploy SharePoint Server 2010 across multiple forests, there are two primary configurations:

  • Resource forest deployment where there are two or more forests configured with a single logon forest that contains user accounts that are trusted by one or more resource domains that contain file and application servers.

  • Multi-logon forest deployments where there are two or more forests that contain user accounts that access resources through two-way trusts.

Note:

There must be at least a one-way trust between the forests for the procedures that are described in this article to work correctly.

For more information about how to resolve accounts across multiple forests and an illustration that shows the relationship between the forests, see the Microsoft SharePoint Team Blog (http://go.microsoft.com/fwlink/?LinkId=186152).

Resource forest deployment

A resource forest configuration exists where all user accounts exist in one or more top-level forests. All users use credentials from these forests to log on. The resource servers, such as Microsoft Exchange Server and SharePoint Server 2010, are installed in a separate resource forest, which then maintains a one-way trust to each account forest. The resource forest contains shadowed, non-logon accounts for each user who accesses the resource forest, which contains metadata about the user based on the ms-ds-Source-Object property of the user account.

In this kind of deployment, SharePoint Server 2010 draws Active Directory information from a container in the resource forest's directory, and bases the user profiles and My Sites creation on that information.

Multi-logon forest deployments

In a multi-logon forest deployment, user accounts are distributed across two or more forests. There are typically two-way trusts between all of the forests. This scenario is often the result of a merger between organizations where the decision was made to maintain the existing forests and provide users access to resources in each forest. Because many existing applications depend on the forest structure in which they are deployed, some users are granted an account in each forest to which they need access.

In this kind of deployment, SharePoint Server 2010 is deployed in one of the forests with Directory Connections to each forest where user accounts reside. Then you have to use the distinguished name (ms-ds-Source-Object-DN) attribute in the user object to create an association between the user's accounts. In this relationship between multiple accounts that belong to a single user, one account is considered the primary account, and all other accounts are considered alternates of the primary. You can use Microsoft Forefront Identity Manager to create this relationship between user account objects.

The expected user experiences for various features are listed in the following table:

Feature | User experience
Profile page and object model | SharePoint Server 2010 maintains the list of alternate accounts by which the profile is identified. When you use either account to find the profile of a user, SharePoint Server 2010 returns the primary account profile.
My Sites | When you create My Sites, SharePoint Server 2010 uses the primary account of the user to create the site. All of your alternate accounts are automatically added to the site as administrators.
People Search | Searching for people returns the primary account information for the user.
Audiences | Audiences in SharePoint Server 2010 only use primary accounts. Any rule that contains an alternate account for a user will use the primary account for that user internally. Because the primary and alternate accounts are reconciled, the management hierarchy will be the same for both primary and alternate accounts.
Import from Business Data Catalog | Because SharePoint Server 2010 depends on the primary account information for each user, only data that can be identified by primary user account is imported. When creating a list of users in the Business Data Catalog, use the primary account for each user.
Memberships synchronization | SharePoint Server 2010 treats sites that a user belongs to with both primary and alternate accounts as if they all belong to the same user account. In order to produce a more accurate list of site memberships, SharePoint Server 2010 must use a query the same as "SELECT docs FROM member site WHERE author = domain1\user OR author = domain2\user" in order to produce a list that contains the sites where the user is a member with any of the user's accounts.
Profile synchronization | Any changes that are made to the user profile are replicated to all user accounts that are associated with the user. This ensures that changes such as adding a picture to the profile in a My Site will be synchronized to all SharePoint Server 2010 sites regardless of the account the user uses to log on.

Prepare the Web front-end servers

The People Picker automatically issues queries to all two-way trusted domains when it uses the application pool account to search for users and groups. When you select a secondary account in the People Picker, the primary account information will be returned.

For one-way trusts you must provide the following information:

  • Logon credentials with permission to query the forest

  • An encryption key that will be used when the People Picker is performing a query

Use the following procedure to prepare the encryption key for each SharePoint Server 2010 Web front-end server to use this account.

Note:

Procedures in this task require using the Stsadm command-line tool. The Stsadm command-line tool was deprecated for this release, but is included to support compatibility with previous product versions.

To prepare the Web front-end servers

  1. Click Start, right-click Command Prompt, and then click Run as Administrator.

  2. Type the following command:

    Copy Code
    stsadm.exe -o setapppassword -password <key>

    Where <key> is the encryption key to set for the web application.

Register credentials across forests

SharePoint Server 2010 can keep track of an association between user accounts from multiple forests in order to provide a seamless user experience. You use the stsadm command-line tool to establish this account relationship as shown in the following procedure.

To perform the following steps you must be a member of the Farm Administrators group on the server that is running SharePoint Server 2010.

To register credentials across forests

  1. Click Start, right-click Command Prompt, and then click Run as Administrator.

  2. Type the following command:

    Copy Code
    stsadm.exe -o setproperty -url <http://server:port> -pn "peoplepicker-searchadforests" -pv "<forest:contoso.com;domain:corp.contoso.com>", <LoginName>,<Password>, <Key>

    Where:

    • <http://server:port> is the URL to the web application to which you will be granting access.

    • <forest:contoso.com;domain:corp.contoso.com> is the qualified name of the forest and the domain to search for the user account.

    • <LoginName> is the user's account name.

    • <Password> is the user's password.

    • <key> is the encryption key to set for the web application.

See Also

Concepts

User Profile Service administration (SharePoint Server 2010)
Managing personal and social features (SharePoint Server 2010)

Other Resources

Resource Center: Social Computing in SharePoint Server 2010


Managing personal and social features (SharePoint Server 2010)
See Also

The social features available in Microsoft SharePoint Server 2010 help to improve collaboration by enabling users to find, share, rate, and comment on Web pages. For more information, see Social tagging overview (SharePoint Server 2010).

The personal features available in SharePoint Server 2010 enable users to create My Sites and to manage their memberships, colleagues, and user profile properties. For more information, see My Sites overview (SharePoint Server 2010).

By default, when you create a User Profile Service Application in a SharePoint farm, the social features are enabled. You can disable these features if an organization has chosen not to use social features. This decision should be part of the planning process that determines whether and how you want to use social features in an organization.

In this section:

  • Enable or disable personal and social features for users or groups (SharePoint Server 2010)

  • This article explains how to add or remove personal and social permissions for specific users or groups within an organization.

  • Activate or deactivate the SocialRibbonControl farm-level feature (SharePoint Server 2010)

    This article explains how to enable or disable the display of the I Like It and Tags & Notes user interface controls on the Documents and Items tabs of the ribbon for document libraries and lists, as well as on all browse pages.

  • Delete notes and tags (SharePoint Server 2010)

    This article explains several ways to delete notes and tags from user profiles.

See Also

Concepts

User Profile Service administration (SharePoint Server 2010)
Social tagging overview (SharePoint Server 2010)
Privacy and security implications of social tagging (SharePoint Server 2010)

Other Resources

Resource Center: Social Computing in SharePoint Server 2010


Enable or disable personal and social features for users or groups (SharePoint Server 2010)
See Also

Farm Administrators or service administrators of a User Profile Service Application control who can create a My Site, and use personal and social features. For example, you might want a subset of users in an organization to be able to create My Sites, so you enable the Create Personal Site permission for those users. For more information, see User Profile service application overview (SharePoint Server 2010).

Administrators can enable users and groups to use any or all of the following permissions of the User Profile Service:

  • Use Personal Features

    Contains Memberships, such as SharePoint sites and distribution lists; Colleagues, such as the My Colleagues list and colleagues recommendations; My Links; My Personalization links, such as personalization site pinning; and User profile properties.

  • Create Personal Site

    Creates a My Site, which includes a personal, private My Home page and a public My Profile page.

  • Use Social Features

    Includes social tags, Note Board, and ratings.

You can add or remove permissions for users or groups. For example, by default all authenticated users can create a My Site and use personal and social features. An organization that has stricter security requirements might have to add specific users and groups, assign them the appropriate permissions, and remove all authenticated users.

Before you perform this procedure, confirm the following:

  • A User Profile Service Application is running in the farm. For more information, see Create, edit, or delete a User Profile service application (SharePoint Server 2010).

In this article:

  • Enable users or groups to use personal and social features

Enable users or groups to use personal and social features

Use this procedure

To enable users or groups to use personal and social features

  1. Verify that you have the following administrative credentials:

    • To use Central Administration to enable users or groups to use personal and social features, you must be a member of the Farm Administrators group, or you must have been delegated permission to administer the User Profile Service Application that is running in the farm. For more information, see Assign administration of a User Profile service application (SharePoint Server 2010).

  2. On the Central Administration Web site, in the Application Management section, click Manage service applications.

  3. In the list of service applications, click User Profile Service Application.

  4. On the Manage Profile Service: User Profile Service Application page, in the People group, click Manage User Permissions.

  5. On the Permissions for User Profile Service Application page, type or select a user or group account, and then click Add.

  6. In the Permissions for box, check the feature or features that you want the user or group to be able to use, and then click OK.

See Also

Concepts

Managing personal and social features (SharePoint Server 2010)

Other Resources

Resource Center: Social Computing in SharePoint Server 2010


Activate or deactivate the SocialRibbonControl farm-level feature (SharePoint Server 2010)
See Also

A Microsoft SharePoint Server 2010 farm-level feature called SocialRibbonControl causes the I Like It and Tags & Notes controls to be displayed on the Documents and Items tabs of the ribbon for document libraries and lists, as well as on all browse pages. These controls enable users to tag and rate items and to leave notes on Web pages, including the users' My Profile pages. By default, the SocialRibbonControl feature is enabled.

Disabling the SocialRibbonControl feature is not the same as removing the Use Social Features permission for a user or group. The ribbon control affects only the display of tabs and browse pages. You might want to disable the SocialRibbonControl feature if your organization has disabled the Use Social Features permission so users will not see the controls when they cannot use the social features of SharePoint Server 2010. When this feature is disabled, users will not see the I Like It and Tags & Notes selections on the ribbon or on browse pages.

Consider the following issues if you plan to disable the SocialRibbonControl feature:

  • The feature cannot be enabled for individual Web applications in a SharePoint farm.

  • Any associated user data or customizations might be lost, and any active features that depend on this feature might no longer function.

Before you perform this procedure, confirm the following:

  • A User Profile service application is running in the farm. For more information, see Create, edit, or delete a User Profile service application (SharePoint Server 2010).

In this article:

  • Activate or deactivate the SocialRibbonControl feature by using Central Administration

  • Activate or deactivate the SocialRibbonControl feature by using Windows PowerShell

Activate or deactivate the SocialRibbonControl feature by using Central Administration

After you perform this procedure, users will not see the I Like It or Tags & Notes controls when they browse pages or edit document libraries and lists.

To activate or deactivate the SocialRibbonControl feature by using Central Administration

  1. Verify that you have the following administrative credentials:

    • You must be a member of the Farm Administrators group, or you must have been assigned permission to administer the User Profile service application that is running in the farm. For more information, see Assign administration of a User Profile service application (SharePoint Server 2010).

  2. On the Central Administration Web site, in the System Settings section, click Manage farm features.

  3. In the list of features, in the Social Tags and Note Board Ribbon Controls row, do one of the following:

    • Click Activate.

    • ClickDeactivate, and then click Deactivate this feature.

Activate or deactivate the SocialRibbonControl feature by using Windows PowerShell

After you perform this procedure, users will not see the I Like It or Tags & Notes controls when they browse pages or edit document libraries and lists.

To activate or deactivate the SocialRibbonControl feature by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell 2.0 command prompt, type one of the following commands:

    Copy Code
    Enable-SPFeature -Identity "<name or GUID of SharePoint feature>"
    Copy Code
    Disable-SPFeature -Identity "<name or GUID of SharePoint feature>"

    Where:

    • <name or GUID of SharePoint feature> is the name or GUID of the SharePoint feature you want to enable or disable.

      To find the name or GUID of a SharePoint feature, use the Get-SPFeature cmdlet.

The previous procedure illustrates a common way of using the Enable-SPFeature and Disable-SPFeature cmdlets to manage SharePoint Server 2010 farm-level features. You can specify different parameters to configure this command differently. For more information, see Enable-SPFeature, Disable-SPFeature, and Get-SPFeature.

Note:

We recommend that you use Windows PowerShell when performing command-line administrative tasks. The Stsadm command-line tool has been deprecated, but is included to support compatibility with previous product versions.

See Also

Concepts

Managing personal and social features (SharePoint Server 2010)
Managing privacy (SharePoint Server 2010)
Manage profile synchronization (SharePoint Server 2010)
Plan for profile synchronization (SharePoint Server 2010)
Configure a profile synchronization connection in SharePoint Server 2010 (video)
Configure a synchronization connection to a SQL Server database in SharePoint Server 2010 (video)

Other Resources

Resource Center: Social Computing in SharePoint Server 2010


Delete notes and tags (SharePoint Server 2010)
See Also

Microsoft SharePoint Server 2010 gives administrators of a User Profile Service application the ability to manage social tags and notes. For example, you can delete all tags for an employee who leaves the company or you can remove a tag that you do not want. Social tags and notes that are targeted for deletion can be purged in several ways.

Task requirements

Before you perform these procedures, confirm that the following requirements:

  • Your system is running either the Standard or Enterprise version of SharePoint Server 2010.

  • An instance of the User Profile Service application exists.

In this article:

  • Use Central Administration to delete all tags or notes for a specific user or URL

  • Use Central Administration to delete all tags or notes for a particular date range

  • Use Central Administration to delete a specific tag or note

Use Central Administration to delete all tags or notes for a specific user or URL

Perform the following procedure to delete all tags or notes for a specific user or URL. You might use this procedure to delete tags for an employee who leaves the company.

Note:

Removing social tags does not remove the terms from the term store. Use the Term Store Manager to add or remove terms. For more information about the Term Store Manager, see Managed metadata service application overview (SharePoint Server 2010).

To delete all tags or notes for a specific user by using Central Administration

  1. Verify that you have the following administrative credentials:

    • To use Central Administration to set up My Sites, you must be a member of the Farm Administrators group or a Service Application Administrator for the User Profile Service application.

  2. On the Central Administration Web site, in the Application Management section, click Manage service applications.

  3. On the Manage Service Applications page, click User Profile Service Application.

  4. On the Manage Profile Service page, in the My Site Settings section, click Manage Social Tags and Notes.

  5. On the Manage Social Tags and Notes page, select the type of social item that you want to delete from the Type list.

  6. Either type a user name in the User box, or type the first part of the URL for which you want to delete all notes or tags in the URL box, and then click Find.

  7. Select the social items that you want to delete and then click Delete.

Use Central Administration to delete all tags or notes for a particular date range

Perform the following procedure to delete all tags or notes for a particular date range.

Note:

Removing social tags does not remove the terms from the term store. Use the Term Store Manager to add or remove terms. For more information about the Term Store Manager, see Managed metadata service application overview (SharePoint Server 2010).

To delete all tags or notes for a particular date range by using Central Administration

  1. Verify that you have the following administrative credentials:

    • To use Central Administration to set up My Sites, you must be a member of the Farm Administrators group or a Service Application Administrator for the User Profile Service application.

  2. On the Central Administration Web site, in the Application Management section, click Manage service applications.

  3. On the Manage Service Applications page, click User Profile Service Application.

  4. On the Manage Profile Service page, in the My Site Settings section, click Manage Social Tags and Notes.

  5. On the Manage Social Tags and Notes page, select the type of social item that you want to delete from the Type list.

  6. Either type a user name in the User box, or type the first part of the URL for which you want to delete all notes or tags in the URL box and then click Find.

  7. Enter a start date and an end date in the Date Range boxes and then click Find.

  8. Select the social items that you want to delete and then click Delete.

Use Central Administration to delete a specific tag or note

Perform the following procedure to delete a specific tag or note. For example, you can delete a tag or note that contains profanity.

Note:

Removing social tags does not remove the terms from the term store. Use the Term Store Manager to add or remove terms. For more information about the Term Store Manager, see Managed metadata service application overview (SharePoint Server 2010).

To delete a specific tag or note by using Central Administration

  1. Verify that you have the following administrative credentials:

    • To use Central Administration to set up My Sites, you must be a member of the Farm Administrators group or a Service Application Administrator for the User Profile Service application.

  2. On the Central Administration Web site, in the Application Management section, click Manage service applications.

  3. On the Manage Service Applications page, click User Profile Service Application.

  4. On the Manage Profile Service page, in the My Site Settings section, click Manage Social Tags and Notes.

  5. On the Manage Social Tags and Notes page, select the type of social item that you want to delete from the Type list.

  6. Either type a user name in the User box, or type the first part of the URL for which you want to delete all notes or tags in the URL starts with box and then click Find.

  7. Type the text string for which you want to search in the Tag/note contains boxes and then click Find.

  8. Select the social items that you want to delete and then click Delete.

See Also

Concepts

Managing personal and social features (SharePoint Server 2010)

Other Resources

Resource Center: Social Computing in SharePoint Server 2010


User Profile Replication Engine overview (SharePoint Server 2010)
See Also

Published: July 22, 2010

This article contains information about the User Profile Replication Engine. The User Profile Replication Engine is an optional component of Microsoft SharePoint Server 2010 and is part of the SharePoint Administration Toolkit. The User Profile Replication Engine enables an administrator of a User Profile Service application to replicate user profiles and social data, such as social tags, notes, and ratings, between User Profile Service applications. This replication can be one-way or bidirectional.

In this article:

  • Uses and benefits of the User Profile Replication Engine

  • Types of replication

  • Components and installation

  • Configuring the User Profile Replication Engine

Components and installation

The User Profile Replication Engine is made up of two components:

  • Windows service

  • Windows PowerShell snap-ins

The User Profile Replication Engine can be installed on any computer that has access to the source User Profile service application and destination User Profile service application. However, we recommend that you install the User Profile Replication Engine on a computer that is part of the source farm or on a computer that is connected to the subnet of the source domain. The User Profile Replication Engine uses the SharePoint Server 2010 User Profile and User Profile Change Log to read and write data between user profile stores.

Prerequisites:

  • The account that is used to run the User Profile Replication Engine must be a service application administrator for the source and destination User Profile Service applications and have read access to the source and destination My Site Host.

  • You must be a member of the Administrators group on the server on which you install the Replication Engine.

  • If the source or target is running SharePoint Server 2010, that source or target server must be updated with the June 2010 Cumulative Update (http://go.microsoft.com/fwlink/p/?LinkId=197406) or a subsequent cumulative update.

For information about how to install the User Profile Replication Engine tool, see Installing the SharePoint 2010 Administration Toolkit (SharePoint Server 2010).

Important:

Source and destination User Profile Service applications should be set up and configured correctly for your environment before you use the User Profile Replication Engine.

Uses and benefits of the User Profile Replication Engine

Geographically dispersed deployments isolate user profile data and social data in domains. As a result, personalization features, such as User Profiles, Audiences, and People Search, might return inaccurate results within a domain. These inaccurate results include, but are not limited to:

  • Inaccurate and inconsistent user profile data (including properties, colleagues, links, and privacy data)

  • Inaccurate and inconsistent social data (such as social tags, notes, and ratings)

  • Inaccurate audience memberships

  • An incomplete and inaccurate people search data corpus and experience

The User Profile Replication Engine solves this problem by replicating both user profile information and social data between two or more User Profile service applications. This maintains consistent user profile data and social data throughout the enterprise.

The User Profile Replication Engine accommodates the service application model. It can perform either a full or incremental replication of both user profile information and social data from a source User Profile Service application to one or more destination User Profile Service applications.

Types of replication

The following table describes the differences between full replication, incremental replication, and recovery, all of which can be run by using the User Profile Replication Engine. For performance purposes, you can specify the maximum number of replication threads allowed on a server that is running the User Profile Replication Engine.

Type

When to use

Full Replication

  • When you want all user profile information and all social data replicated from an existing User Profile service application, such as with a new User Profile service application deployment.

  • Where user profile data or social data is lost or corrupted and a copy exists in another User Profile service application profile database or social database.

  • When incremental replication has stopped responding over time, full replication is used to update destination User Profile service application profile databases and social databases in order to catch up incremental replication.

Incremental Replication

After full replication is complete, start incremental replication within 14 days to make sure that individual changes are being detected and replicated.

Recovery

  • To fully replicate a specific user or set of users whose information did not replicate correctly. For profiles that fail to replicate fully, the user name is logged in a .rcv file located in the log folder in the User Profile Replication installation directory.

  • To replicate user profile information and social data for a user or set of users by specifying account names.

  • To replicate user profile information and social data for a user or set of users outside a regularly scheduled replication.

Remarks

Incremental replication also uses the trusted My Site host locations list to determine the My Site host location for a user. This identifies the primary profile for a user. The User Profile service that hosts the personal site for a user is also considered to have the primary profile record for that user. Audiences are used to identify and group related users and associate those users who have particular My Site hosts. For additional information about trusted My Site host locations, see Add or delete a trusted My Site host location (SharePoint Server 2010).

The incremental replication process depends on the trusted My Site host locations list to avoid cyclical replication. For example, if a user updates his or her AboutMe property in User Profile store A, the User Profile Replication Engine synchronizes that change to User Profile store B and the change log will capture that as a change. The instance of the User Profile Replication Engine running against User Profile Store B will attempt to replicate that same change back to the User Profile Store it came from (User Profile Store A) as something that changed since the last replication. However, before replicating it, the User Profile Replication Engine will check the trusted My Site hosts locations list to determine whether the user's profile is the primary profile in the User Profile Store B. If it is, then the User Profile Replication Engine will replicate the change.

There is an exception to the previous example. If feed property names are provided using the FeedProperties attribute, the User Profile Replication Engine will ignore the trusted My Site hosts locations list when replicating changes for those properties. Typically, you will want to mark a property as a feed when the data is to be replicated regardless of where the primary user profile is located. Typically this is done when you only have Business Data Connectivity service imports running on one User Profile service application for all users and only want to feed those properties to the other User Profile service applications. Another example is when you have the primary People Search experience on a site connected to User Profile service application-A, which is, the source User Profile service application, and want the Add to my colleagues link to work for the primary user profile that is in User Profile service application-B, which is, the destination User Profile service application.

The User Profile Replication Engine does not replicate data that comes from Active Directory Domain Services (AD DS) because it would automatically be updated from AD DS during profile synchronization.

Note:

To configure the User Profile Replication Engine and to perform any of the previous tasks, the account that is used must have Manage User Profile permission on the User Profile service application for the source and all destination farms. To replicate social information, the account must also have Manage Social Data permission on the User Profile service application for the source and all destination farms.

Note:

The User Profile Replication Engine will not replicate distribution lists or security groups, but it will replicate site memberships (for example, My Sites).

Note:

The User Profile service application Social Tagging database does not support log-shipping. Attempt to enable log-shipping for the User Profile service application Social Tagging database will result in user replication failure. For more information about the User Profile service application Social Tagging database, see Database types and descriptions (SharePoint Server 2010).

Configuring the User Profile Replication Engine

You must use Windows PowerShell 2.0 to configure the User Profile Replication Engine. The following Windows PowerShell cmdlets are available:

  • Get-SPProfilePropertyCollection

  • Start-SPProfileServiceFullReplication

  • Start-SPProfileServiceIncrementalReplication

  • Start-SPProfileServiceRecoveryReplication

  • Stop-SPProfileServiceIncrementalReplication

See Also

Concepts

User Profile service application overview (SharePoint Server 2010)
User Profile service cmdlets (SharePoint Server 2010)
SharePoint 2010 Administration Toolkit (SharePoint Server 2010)

Other Resources

Resource Center: Social Computing in SharePoint Server 2010 (http://go.microsoft.com/fwlink/p/?LinkId=220229)


Configure policy settings on user profile properties and personal and social features (SharePoint Server 2010)
See Also

Published: October 18, 2011

A user profile is a collection of properties that describes a single user. These properties are displayed in various places and features, known as personal and social features, throughout Microsoft SharePoint Server 2010. A policy is used to help govern the use of information that is stored in the user profile properties and the personal and social features. To learn more about how to plan user profiles and related personal and social features, see Planning user profiles in Plan user profiles (SharePoint Server 2010).

In this article:

  • Configure user profile policy settings by using Central Administration

  • Configure personal and social features policy settings by using Central Administration

Configure user profile policy settings by using Central Administration

You can configure user profile policy settings by using Central Administration and following this procedure.

To configure user profile policy settings by using Central Administration

  1. Verify that you have the following administrative credentials:

    • To use Central Administration to edit the policy on user profile properties, you must be a member of the Farm Administrators SharePoint group, or you must have been delegated permission to administer the User Profile service application that is running in the farm. For more information, see Assign administration of a User Profile service application (SharePoint Server 2010).

  2. On the Central Administration Web site, click Application Management.

  3. On the Application Management page, in the Service Applications section, click Manage service applications.

  4. In the list of service applications, select the User Profile service application.

  5. In the Operations group, click Manage.

  6. On the Manage Profile Service page, in the People section, click Manage Policies.

  7. In the User Profile Properties section, point to the user profile property that you want to edit the policy for, click the arrow that appears, and then click Edit Policy.

  8. Locate the Policy Settings section.

    Note:

    This procedure discusses how to configure policy settings on user profile properties only. For more information about the mapping section, see Map user profile properties in Configure profile synchronization (SharePoint Server 2010).

  9. On the Policy Setting drop-down list, select one of the following choices:

    • Required if the property must contain a value.

    • Optional if the property might contain a value.

    • Disabled to disable use of that property.

    Note:

    For some user profile properties, the Policy Setting cannot be changed because this property is used by the system.

  10. On the Default Privacy Setting list, select who can view information for the property as follows:

    • Only Me to limit visibility to the user only.

    • My Manager to limit visibility to the user and the user's manager only.

    • My Team to limit visibility to the user and the user's immediate team.

    • My Colleagues to limit visibility to the user and all users who are listed in the user's My Colleagues list.

    • Everyone to share information with every user who has viewer or higher permissions to a site.

  11. To enable users to change the default privacy setting, select the User can override check box.

    Note:

    For some user profile properties, the User can override check box cannot be changed because this configuration setting is used by the system.

  12. To replicate updates that are made to the user profile property's value in user information lists on other sites, select the Replicable check box.

    Note:

    The Replicable setting is a privacy setting applicable to a user profile property. When applied, the Replicable setting replicates changes down to the site collection level. For the property to be replicable, the Default Privacy Setting must be set to Everyone and the User can override check box must be cleared.

  13. Click OK.

Configure personal and social features policy settings by using Central Administration

You can configure personal and social features policy settings by using Central Administration and following this procedure.

To configure personal and social features policy settings by using Central Administration

  1. Verify that you have the following administrative credentials:

    • To use Central Administration to edit the policy on personal and social features, you must be a member of the Farm Administrators SharePoint group, or you must have been delegated permission to administer the User Profile service application that is running in the farm. For more information, see Assign administration of a User Profile service application (SharePoint Server 2010).

  2. On the Central Administration Web site, click Application Management.

  3. On the Application Management page, in the Service Applications section, click Manage service applications.

  4. In the list of service applications, select the User Profile service application.

  5. In the Operations group, click Manage.

  6. On the Manage Profile Service page, in the People section, click Manage Policies.

  7. Click the name of the personal and social feature on which you want to configure policies.

  8. On the menu that appears, click Edit Policy.

  9. In the Policy Setting drop-down list, select one of the following choices:

    • Enabled to configure the feature to be available.

    • Disabled to disable the feature.

    Note:

    When the Colleagues on My Site personal and social feature is selected, the Policy Setting drop-down list is disabled.

  10. In the Default Privacy Setting drop-down list, select who can view information for the property as follows:

    • Only Me to limit visibility to the user only.

    • My Manager to limit visibility to the user and the user's manager only.

    • My Team to limit visibility to the user and the user's immediate team.

    • My Colleagues to limit visibility to the user and all the users who are listed in the user's My Colleagues list.

    • Everyone to share information with every user who has viewer or higher permissions to a site.

    Note:

    When you configure policy settings for the Colleague Recommendations personal and social feature, the Default Privacy Setting drop-down list is not available.

  11. To enable users to change the default privacy setting, select the User can override check box.

  12. Click OK.

See Also

Concepts

User Profile Service administration (SharePoint Server 2010)
User Profile Service administration (SharePoint Server 2010)
Assign administration of a User Profile service application (SharePoint Server 2010)
User Profile service application overview (SharePoint Server 2010)
Plan for profile synchronization (SharePoint Server 2010)


Deploy the Yammer Web Part (SharePoint Server 2010)

Published: March 19, 2013

In Microsoft SharePoint Server 2010, you can deploy a Yammer Web Part to a SharePoint site. This Web Part adds a real-time social layer to SharePoint that drives user engagement and enhances SharePoint social capabilities. The Yammer Web Part provides:

  • Company Feed Viewing all messages within your Yammer network.

  • Group Feed Allows targeting of content to a specific Yammer group.

  • My Feed Provides a fully contextualized view of Yammer, and the ability to browse and create groups.

  • User Feed Displays an individual's user feed or provides additional social context to My Profile pages on the user's My Site.

The Yammer Web Part for SharePoint Server 2010 also provides other functionality like search and the ability to customize features such as notifications.

The following list provides the requirements for deploying the Yammer Web Part in SharePoint Server 2010:

  • Yammer Enterprise Network

  • Yammer SharePoint Service Account

  • .NET Framework 3.5 SP1

  • SharePoint Server 2010 (Standard or Enterprise Edition)

  • SharePoint Server 2010 Service Pack 1

  • SharePoint Server 2010 Cumulative Update Refresh Package, see Description of the SharePoint Server 2010 cumulative update refresh package

  • User Profile Service Application

Download the Yammer Web Part

To deploy and install the Yammer Web Part, you will need to download a solution package from the Yammer success center. This package contains the installation files and documentation needed to use the Yammer Web Part in a SharePoint Server 2010 site. You can download the package (Yammer for SharePoint 2010 3.1.4) at Yammer for SharePoint. There is also the ability to deploy the Yammer Web Part to Microsoft SharePoint Online. The download location listed above also provides a solution package for SharePoint Online.

For a list of supported SharePoint Server 2010 web browsers, see Plan browser support.

For help and support with Yammer related issues, including links to customer service and community resources, see Support for Yammer. Also, for more information on Yammer development and developer resources see Yammer Partner Developer Network.


Grant permission to access the managed metadata service (SharePoint Server 2010)
See Also

When you create a connection from a Web application to a service in SharePoint Server 2010, the connection runs using the credentials of the Web application's application pool account. Before you can create a connection to a managed metadata service, the service must first grant permission to the application pool account of the Web application. Users of sites in the Web application can perform different actions depending on the permission that the service grants to the application pool account. There are three levels of permission: read, restricted, and full.

The following table indicates which actions are enabled, depending on the permissions the service grants.

Action | Read | Restricted | Full
View terms and term sets | Yes | Yes | Yes
Add existing terms and existing enterprise keywords to documents and list items | Yes | Yes | Yes
Bind columns to existing term sets | Yes | Yes | Yes
View and use content types from the content type hub (if the service provides a hub) | Yes | Yes | Yes
Add new terms to open term sets |  | Yes | Yes
Create new enterprise keywords (if the connection is configured to enable this) |  | Yes | Yes
Create local term sets (if the connection is configured to enable this) |  | Yes | Yes
Add and modify content types in the content type hub (if the service provides a hub) |  |  | Yes
Manage terms and term sets (if the user is authorized to do this) |  |  | Yes

Procedures in this task:

  • Grant permission to access a managed metadata service

  • Revoke a service account's permission to access a managed metadata service

Task Requirements

The following are required to perform the procedures for this task:

  • The account to be granted permission must already exist.

  • The managed metadata service must already exist.

Grant permission to access a managed metadata service

Use this procedure to grant a service account permission to access a managed metadata service.

Security Note:

By default, all application pool accounts on the local farm are granted full permissions to the service. To grant read or restricted access to an account, first revoke or reduce the Local Farm group's permissions to the service by using the procedures in this article.

Administrative credentials

To use this procedure, you must be a member of the Farm Administrators SharePoint group on the computer that is running the SharePoint Central Administration Web site.

To grant a service account permission to access a managed metadata service by using Central Administration

  1. On the home page of the SharePoint Central Administration Web site, under Application Management, select Manage service applications.

  2. Select the Service Applications tab.

  3. Select the managed metadata service to which you want to grant permission and then click Permissions.

  4. In the first box, either type the name of the service account that you want to add by using the format <domain>\<username> or select the service account by using the address book, and then click Add.

  5. Double-click the service account that you added.

    The service account is moved from the box of accounts to be added to the box of accounts to be granted permissions.

  6. In the Permissions for <user> box, select one of the following options:

    1. Read Access to Term Store to grant permission to read the term store and content types that are associated with the managed metadata service.

    2. Read and Restricted Write Access to Term Store to grant permission to read the term store and content types that are associated with the managed metadata service, permission to write to local term sets and open term sets, and permission to create enterprise keywords.

    3. Full Access to Term Store to grant permission to read and write to the term store and content types that are associated with the managed metadata service.

  7. Repeat the previous three steps to grant permission to additional accounts.

  8. Click OK.

Revoke a service account's permission to access a managed metadata service

Use this procedure to revoke a service account's permission to access a managed metadata service.

Administrative credentials

To use this procedure, you must be a member of the Farm Administrators SharePoint group on the computer that is running the SharePoint Central Administration Web site.

To revoke permission to access a managed metadata service by using Central Administration

  1. On the home page of the SharePoint Central Administration Web site, under Application Management, select Manage service applications.

  2. Select the Service Applications tab.

  3. Select the managed metadata service to which you want to revoke permission and then click Permissions.

  4. In the second box, select the service account that you want to remove, and then click Remove.

  5. Click OK.

See Also

Concepts

Managed metadata roles (SharePoint Server 2010)
Add and remove term store administrators (SharePoint Server 2010)


Document management administration (SharePoint Server 2010)

Published: May 29, 2010

This section includes topics administrators can use in configuring document management solutions in Microsoft SharePoint Server 2010.

In this section:

  • Co-authoring administration (SharePoint Server 2010)

  • Configure Information Rights Management (SharePoint Server 2010)


Co-authoring administration (SharePoint Server 2010)
See Also

Published: May 29, 2010

Co-authoring simplifies collaboration by enabling multiple users to work productively on the same document without intruding on one another's work or locking one another out. By default, co-authoring functionality is enabled in Microsoft SharePoint Server 2010 and does not require any additional steps configure. Articles in this section describe tasks administrators can use in configuring co-authoring for their particular organization. Administrators can also choose to disable co-authoring, either on the server side by using server properties, or on the client side by using Group Policy.

In this section:

  • Configure versioning for co-authoring (SharePoint Server 2010)

  • Configure the co-authoring versioning period (SharePoint Server 2010)

  • Configure the maximum number of co-authoring authors (SharePoint Server 2010)

  • Disable co-authoring (SharePoint Server 2010)

See Also

Concepts

Co-authoring overview (SharePoint Server 2010)


Configure versioning for co-authoring (SharePoint Server 2010)
See Also

Published: May 29, 2010

This article describes how to configure document library versioning settings for co-authoring functionality in Microsoft SharePoint Server 2010.

In this article:

  • Configure versioning for co-authoring

  • Configure Require Check Out

Configure versioning for co-authoring

By default, document libraries in SharePoint Server 2010 have versioning disabled. It is recommended that this feature be enabled for document libraries where users will be co-authoring documents by using PowerPoint 2010 and Word 2010. For document libraries with OneNote notebooks, minor versions should not be enabled. Minor versioning can result in synchronization errors that prevent edits from being saved.

When multiple authors work on the same document, edits are retained on the server as document versions. Administrators can limit the number of versions retained in order to limit server storage usage. If major versioning is enabled in a document library with OneNote notebooks, we recommend that the maximum number of versions be specified in order to make more efficient use of disk space.

To enable versioning

  1. Browse to the document library you want to configure.

  2. In the toolbar, under Library Tools, click Library.

  3. In the toolbar, click Library Settings.

  4. In General Settings, click Versioning Settings.

  5. In Document Version History, select Create major versions.

  6. To specify a version retention limit, select Keep the following number of major versions and in the text box, type the number of versions.

Configure Require Check Out

When a document is checked out of a document library, the document is locked, making it unavailable for co-authoring. The Require Check Out setting should not be enabled in document libraries that are used for co-authoring. By default, for SharePoint Server document libraries, this setting is not enabled.

To disable Require Check Out

  1. Browse to the document library you want to configure.

  2. In the toolbar, under Library Tools, click Library.

  3. In the toolbar, click Library Settings.

  4. In General Settings, click Versioning Settings.

  5. In Require Check Out, select No (default).

See Also

Concepts

Configure the co-authoring versioning period (SharePoint Server 2010)


Configure the co-authoring versioning period (SharePoint Server 2010)
See Also

Published: May 29, 2010

This article describes how to configure the co-authoring versioning period in Microsoft SharePoint Server 2010 by using Windows PowerShell 2.0.

Configure the co-authoring versioning period

When versioning is turned on, SharePoint Server takes periodic snapshots of documents, saving them for later reference. This information can provide an edit trail that may be useful for seeing who changed a document, rolling back to an earlier version, or for compliance reasons.

The coAuthoringVersionPeriod property specifies how often SharePoint stores a version of a document that is being edited, measured in minutes. You can configure this property by using the Windows PowerShell. If the value is set to 0, SharePoint Server will capture every change made by a new user in a different version of the document. If the value is set to a very large number, SharePoint Server will create one version for the whole editing session. This latter behavior matches the behavior of files that are not co-authored and files in previous versions of SharePoint Server.

Note:

Some procedures in this task require using Windows PowerShell or SharePoint 2010 Management Shell to run cmdlets. To run SharePoint 2010 cmdlets in Windows PowerShell, you must add the Microsoft.SharePoint.PowerShell snap-in by using the Add-PSSnapin cmdlet, or you can run the SharePoint 2010 cmdlets by using SharePoint 2010 Management Shell. By default, the Microsoft.SharePoint.PowerShell snap-in is already registered, and the snap-in is added to the SharePoint 2010 Management Shell. To run SharePoint 2010 cmdlets, you must be a member of the SharePoint_Shell_Access role on the configuration database and a member of the WSS_ADMIN_WPG local group on the computer where SharePoint 2010 Products is installed.

For more information about the Add-PSSnapin cmdlet, see Add-PSSnapin. For more information about how to use Windows PowerShell with SharePoint 2010 Products, see SharePoint 2010 Products administration by using Windows PowerShell.

To configure the co-authoring versioning period by using Windows PowerShell

  1. Using Notepad, open a new a text file and then copy and paste the following script into the file.

    Copy Code
    $siteurl ="<ServerName>"
$mysite=new-object Microsoft.SharePoint.SPSite($siteurl)
$mysite.WebApplication.WebService.CoauthoringVersionPeriod = minutes
$mysite.WebApplication.WebService.Update()

  2. Specify the following parameters:

    Parameter Value

    $siteurl

    Server name

    CoauthoringVersionPeriod

    Number in minutes

  3. Save the file with a .ps1 file name extension to a folder where you run scripts (typically C:\scripts).

  4. From the Windows PowerShell command prompt (that is, PS C:\>), type the following command and press ENTER:

    C:\<path>\<filename>.ps1

See Also

Concepts

Configure versioning for co-authoring (SharePoint Server 2010)


Configure the maximum number of co-authoring authors (SharePoint Server 2010)
See Also

Published: May 29, 2010

This article describes how to configure the maximum number of users that can co-author a document at the same time in Microsoft SharePoint Server 2010.

Configure the maximum number of co-authoring authors

Administrators can limit the number of users that can co-author a document at the same time by setting the CoauthoringMaxAuthors property. This property only applies to Microsoft PowerPoint 2010 presentations and Microsoft Word 2010 documents. There is no upper limit to the number of users who can co-author Microsoft OneNote notebooks.

To configure the maximum number of co-authoring users for Word documents and PowerPoint presentations by using Windows PowerShell

  1. Verify that you meet the following minimum requirements:

    • See Add-SPShellAdmin.

    • You must read about_Execution_Policies (http://go.microsoft.com/fwlink/p/?LinkId=193050).

  2. Copy the following code and paste it into a text editor, such as Notepad:

    Copy Code
    $siteurl = "<ServerName>"
$mysite=new-object Microsoft.SharePoint.SPSite($siteurl)
$mysite.WebApplication.WebService.CoauthoringMaxAuthors = <MaxAuthors>
$mysite.WebApplication.WebService.Update()

  3. Replace:

    • <ServerName> with the name of the server.

    • <MaxAuthors> with the maximum number of authors to allow.

  4. Save the file, naming it SetMaxCoAuthors.ps1.

    Note:

    You can use a different file name, but you must save the file as an ANSI-encoded text file whose extension is .ps1.

  5. On the Start menu, click All Programs.

  6. Click Microsoft SharePoint 2010 Products.

  7. Click SharePoint 2010 Management Shell.

  8. Change to the directory where you saved the file.

  9. At the Windows PowerShell command prompt, type the following command:

    Copy Code
    ./SetMaxCoAuthors.ps1

See Also

Concepts

Co-authoring overview (SharePoint Server 2010)


Disable co-authoring (SharePoint Server 2010)
See Also

Published: May 29, 2010

This article describes how to disable co-authoring functionality in Microsoft SharePoint Server 2010 by using Group Policy or by using Windows PowerShell 2.0.

Disable co-authoring

When a document is checked out from a document library, it becomes unavailable for co-authoring. Users can individually check out documents as a way to lock them so other users cannot co-author with them. Co-authoring requires that check-out not be required on any document library used for co-authoring documents. Requiring check-out in a document library is one way to disable co-authoring for the whole library. Co-authoring functionality can also be disabled on the client side using Group Policy.

Procedures in this task:

  • To disable co-authoring by using Group Policy

  • To disable co-authoring for Word documents and PowerPoint presentations at the Web Service level by using Windows PowerShell

  • To disable co-authoring for Word documents and PowerPoint presentations at the Web Application level by using Windows PowerShell

To disable co-authoring by using Group Policy

  1. On the server, click Start, click Administrative Controls, and then click Group Policy Management.

  2. In Group Policy Management, expand the Forest and Domain nodes for the domain where you want to set the policy, and then expand Group Policy Objects.

  3. Right-click the Group Policy Object where your co-authoring settings are configured, and then click Edit.

  4. For Word 2010, expand User Configuration, Administrative Templates, Microsoft Word 2010, Collaboration Settings, Co-authoring, and then double-click Prevent Co-authoring.

    For PowerPoint 2010, expand User Configuration, Administrative Templates, Microsoft PowerPoint 2010, Collaboration Settings, Co-authoring, and then double-click Prevent Co-authoring.

  5. In the Prevent Co-authoring Properties dialog box, select Enabled, and then click OK.

You can also disable co-authoring for Word and PowerPoint documents on the server by setting the DisableCoauthoring server property using Windows PowerShell.

Note:

Some procedures in this task require using Windows PowerShell or SharePoint 2010 Management Shell to run cmdlets. To run SharePoint 2010 cmdlets in Windows PowerShell, you must add the Microsoft.SharePoint.PowerShell snap-in by using the Add-PSSnapin cmdlet, or you can run the SharePoint 2010 cmdlets by using SharePoint 2010 Management Shell. By default, the Microsoft.SharePoint.PowerShell snap-in is already registered, and the snap-in is added to the SharePoint 2010 Management Shell. To run SharePoint 2010 cmdlets, you must be a member of the SharePoint_Shell_Access role on the configuration database and a member of the WSS_ADMIN_WPG local group on the computer where SharePoint 2010 Products is installed.

For more information about the Add-PSSnapin cmdlet, see Add-PSSnapin. For more information about how to use Windows PowerShell with SharePoint 2010 Products, see SharePoint 2010 Products administration by using Windows PowerShell.

To disable co-authoring for Word documents and PowerPoint presentations at the Web Service level by using Windows PowerShell

  1. Using Notepad, open a new a text file and then copy and paste the following script into the file.

    Copy Code
    $siteurl = "<servername>" $mysite=new-object Microsoft.SharePoint.SPSite($siteurl)
$mysite.WebApplication.WebService.DisableCoauthoring = $true;
$mysite.WebApplication.WebService.Update();

  2. Specify the following parameters:

    Parameter Value

    $siteurl

    Server name

  3. Save the file with a .ps1 file name extension to a folder where you run scripts (typically C:\scripts).

  4. From the Windows PowerShell command prompt (that is, PS C:\>), type the following command and press ENTER:

    C:\<path>\<filename>.ps1

To disable co-authoring for Word documents and PowerPoint presentations at the Web Application level by using Windows PowerShell

  1. Using Notepad, open a new a text file and then copy and paste the following script into the file.

    Copy Code
    $siteurl = "<servername>" $mysite=new-object Microsoft.SharePoint.SPSite($siteurl)
$mysite.WebApplication.DisableCoauthoring = $true;
$mysite.WebApplication.Update();

  2. Specify the following parameters:

    Parameter Value

    $siteurl

    Server name

  3. Save the file with a .ps1 file name extension to a folder where you run scripts (typically C:\scripts).

  4. From the Windows PowerShell command prompt (that is, PS C:\>), type the following command and press ENTER:

    C:\<path>\<filename>.ps1

See Also

Concepts

Co-authoring administration (SharePoint Server 2010)


Configure Information Rights Management (SharePoint Server 2010)

Published: October 18, 2011

Information Rights Management (IRM) enables content creators to centrally control which actions users can take on documents that have been downloaded from document libraries in Microsoft SharePoint Server 2010. IRM encrypts the downloaded files and limits the set of users and programs that are allowed to decrypt these files. IRM can also limit the rights of the users who are allowed to read files, so that they cannot take actions such as print copies of the files or copy text from them.

For more information about IRM as it is implemented by Rights Management Services (RMS), see RMS FAQ (http://go.microsoft.com/fwlink/p/?LinkId=230459).

Important:

Before using IRM, you must have a Windows Rights Management Services (RMS) server to connect to. In addition, you must have installed the Windows Rights Management Services Client Service Pack 2 on every front-end Web server in the farm running SharePoint Server 2010.

To configure Information Rights Management

  1. On the SharePoint Central Administration Web site, in the Quick Launch, click Security.

  2. On the Security page, in the Information Policy section, click Configure information rights management.

  3. On the Information Rights Management page, in the Information Rights Management section, select one of the following options:

    1. Do not use IRM on this server Select this option if you do not want to use IRM.

    2. Use the default RMS server specified in Active Directory Select this option if your organization has specified an RMS server in Active Directory Domain Services (AD DS).

    3. Use this RMS server If you select this option, type a URL that includes the protocol and the RMS server name in the corresponding box (for example, type http://rms_server).

  4. Click OK.


Content deployment administration (SharePoint Server 2010)
See Also

Content deployment enables you to copy content from a source site collection to a destination site collection. Most content deployment topologies include two or more server farms to separate the authoring environment from the production environment. For information about content deployment, what it is, and how it works, see Content deployment overview (SharePoint Server 2010). For information about designing a topology for your content deployment scenario, see Design content deployment topology (SharePoint Server 2010).

The articles in this section contain procedures for managing content deployment. The articles include:

  • Configure content deployment settings Describes how to configure a farm to accept or reject incoming or outgoing content deployment jobs and how to specify the connection security that jobs are to use. Also, this article describes the storage location for temporary files that content deployment jobs use and the number of reports that are to be kept for each job.

  • Manage content deployment paths and jobs Provides a brief overview of content deployment paths and jobs and describes how to create and manage content deployment paths and jobs, including creating new paths and jobs, manually starting a job, editing, disabling, or deleting a path, and editing, canceling, or deleting a job.

  • Manage Quick Deploy jobs Provides a brief overview of Quick Deploy jobs, and describes how to modify Quick Deploy job settings, test a Quick Deploy job, manually start a Quick Deploy job, and cancel a Quick Deploy job.

  • View content deployment job reports and history Provides a brief description of the kind of data that is recorded in a job report, and describes how to check the deployment of specific content, view the report for the most recent content deployment job, view the history of a content deployment job, and view historical job reports.

See Also

Other Resources

Resource Center: Web Content Management in SharePoint Server 2010


Configure content deployment settings
See Also

Content deployment enables you to copy content from a source site collection to a destination site collection. Content deployment settings for both incoming and outgoing content deployment jobs are set on the Content Deployment Settings page on the Central Administration Web. To configure content deployment, there must be at least one server in each server farm of your topology that contains the Central Administration application server role. You use the Content Deployment Settings page to accept or reject incoming content deployment jobs for an entire server farm. You can also set specific servers within your farm to be used for receiving incoming content deployment jobs or for sending outgoing content deployment jobs. This enables you to spread the load for content deployment jobs across multiple servers in your farm, based on the available server resources and the needs of your farm. Each farm must be configured to accept or reject incoming or outgoing content deployment jobs, based on the role it has within your content deployment topology.

  • If your farm is an authoring farm, you must configure outgoing (export) settings.

  • If your farm is a staging farm, you must configure both incoming (import) and outgoing (export) settings.

  • If your farm is a production farm, you must configure incoming (import) settings.

For information about how to design a topology for your content deployment scenario, see Design content deployment topology (SharePoint Server 2010).

Important:

Content deployment is a one-way process: content is copied from a source site collection to a destination site collection. The content deployment feature does not support round-trip synchronization from source to destination and back again. Creating new content or changing existing content on the destination site collection can cause content deployment jobs to fail. Because of this, you should consider restricting permissions on the destination site collection so that users cannot make changes directly to content that is stored within that site collection.

Configure content deployment settings

Use the following procedure to configure content deployment settings.

To configure content deployment settings

  1. Verify that you have the following administrative credentials:

    • You must be a member of the Farm Administrators group on the Central Administration server.

  2. On the Central Administration Web site, click General Application Settings.

  3. On the General Application Settings page, in the Content Deployment section, click Configure content deployment.

  4. On the Content Deployment Settings page, in the Accept Content Deployment Jobs section, do one of the following:

    • To accept deployment jobs, select Accept incoming content deployment jobs.

    • To reject deployment jobs, select Reject incoming content deployment jobs.

      Note:

      You do not have to accept incoming jobs if the server is part of the authoring farm. Only servers in staging or production farms have to accept incoming deployment jobs.

  5. To specify the server as either an import or export server, do one of the following:

    • If you are using the server to receive incoming deployment jobs, in the Import Server section, on the Server you want to use to manage import of content deployment jobs menu, click the server that will receive jobs.

    • If you are using the server to send deployment jobs, in the Export Server section, on the Server you want to use to manage export of content deployment jobs menu, click the server that will send jobs.

    Note:

    Both the export server and the import server must host an instance of the Central Administration Web site.

  6. In the Connection Security section, do one of the following:

    • To use the HTTPS protocol, select Require encryption (recommended).

      Note:

      If you select HTTPS protocol, make sure that the URL to the destination Central Administration Web site begins with https:// when you create a content deployment path, or you will be unable to connect to the destination Web site.

    • To use the HTTP protocol, select Do not require encryption.

  7. In the Temporary Files section, type the temporary file path that both the import and export servers (as applicable) will use for storage of temporary files.

    Note:

    By default, a temporary file path on the local system drive is provided. Depending on the amount of storage space on the server and the amount of content to be deployed, you might want to consider using a storage location on another server. The account that is used to run the timer service must have read/write permissions to this location.

  8. In the Reporting section, in the Number of reports to retain for each job box, type the number of reports that you want to keep for each content deployment job that originates from this farm, and then click OK.

See Also

Concepts

Content deployment administration (SharePoint Server 2010)
Manage content deployment paths and jobs
Manage Quick Deploy jobs
View content deployment job reports and history


Manage content deployment paths and jobs
See Also

A content deployment path creates a connection between a source site collection and a destination site collection. Content deployment uses that connection to publish content from the source site collection to the destination site collection. These site collections can be in the same server farm, or in separate server farms. For information about designing a topology for your content deployment scenario, see Design content deployment topology (SharePoint Server 2010).

Note:

When you create the site collection on the destination server, use the < Select template later > option on the Custom tab of the Create Site Collection page in Central Administration, or use the Windows PowerShell 2.0 cmdlet New-SPSite to create an empty site collection. Do not use the Blank Site template to create a destination site collection. The Blank Site template does not create an empty site collection and will cause the content deployment job to fail.

You use a content deployment job to schedule moving content along a content deployment path from the source site collection to the destination site collection. You can create jobs to run on schedules that you specify, and you can customize the frequency with which the jobs run to best suit your content publishing requirements.

Important:

Content deployment is a one-way process: content is copied from a source site collection to a destination site collection. The content deployment feature does not support round-trip synchronization from source to destination and back again. Creating new content or changing existing content on the destination site collection can cause content deployment jobs to fail. Because of this, you should consider restricting permissions on the destination site collection so that users cannot make changes directly to content stored within that site collection.

When you create a content deployment job, you can configure the job to copy the entire source site collection, or only a subset of sites. You can also specify whether the job only deploys new, changed, or deleted content, or have the job deploy all content, including content that was previously deployed in other jobs.

A separate Quick Deploy job enables Web page authors to quickly publish Web pages independently of any scheduled jobs. For information about Quick Deploy jobs, see Manage Quick Deploy jobs.

For an overview of the content deployment feature, how it works, and important considerations for using content deployment with your publishing solution, see Content deployment overview (SharePoint Server 2010). For information about planning content deployment and more information about paths, jobs, and permissions, see Plan content deployment (SharePoint Server 2010).

Note:

If you are using Remote BLOB Storage (RBS), and the RBS provider that you are using does not support snapshots, you cannot use snapshots for content deployment or backup. For example, the SQL FILESTREAM provider does not support snapshots. For more information about RBS, see Overview of RBS (SharePoint Server 2010).

To create content deployment paths and jobs, perform the following procedures in the order listed:

  • Create a new content deployment path

  • Create a new content deployment job

After you have created a content deployment path and job, you can perform the following procedures in any order:

  • Manually start a content deployment job

  • Edit a content deployment path

  • Disable or delete a content deployment path

  • Edit a content deployment job

  • Test a content deployment job

  • Cancel a content deployment job

  • Delete a content deployment job

Create a new content deployment path

You can create a new content deployment path by using either Central Administration or Windows PowerShell. Use the following procedure to create a new content deployment path by using Central Administration.

Before you perform this procedure, confirm that:

  • The Central Administration Web site on the destination server has been configured to accept incoming content deployment jobs.

To create a new content deployment path by using Central Administration

  1. Verify that you have the following administrative credentials:

    • You must be a member of the Farm Administrators group on the Central Administration server.

  2. On the Central Administration Web site, in the General Application Settings section, click Configure content deployment paths and jobs.

  3. On the Manage Content Deployment Paths and Jobs page, click New Path.

  4. On the Create Content Deployment Path page, in the Type the name of this path box, type a name for the content deployment path.

  5. In the Type the description of the content deployment path box, type a description of the content deployment path.

  6. In the Source Web Application and Site Collection section, in the Source web application list, click a source Web application.

  7. On the Source site collection menu, click a source site collection.

    The Web application and site collection determine the source location from which the content will be deployed. After you make your selections, the source location is displayed under URL.

  8. In the Destination Central Administration Web Application section, in the Type the URL of the Destination Central Administration Server box, type the URL of the destination Central Administration server.

    Note:

    This is the URL of the Central Administration Web site in the destination server farm. If the content deployment settings on the Central Administration server were configured to use HTTPS protocol, make sure that the URL to the destination Central Administration Web site begins with https://, or you will be unable to connect to the destination Web site.

  9. In the Authentication Information section, select one of the following:

    • Use Integrated Windows authentication Select this option if you want to use Integrated Windows authentication to connect to the destination server. Credentials sent by using Integrated Windows authentication will be encrypted before being sent to the destination server for authentication.

    • Use Basic authentication Select this option if you want to use Basic authentication to connect to the destination server. Credentials sent by using Basic authentication are not encrypted, and therefore are not secure.

  10. Enter the user name and password for the account that will be used to connect to the destination server, and then click Connect.

    Note:

    If the credentials you entered are valid, the message Connection succeeded appears, and a list of eligible destination Web applications and site collections is displayed in the Destination Web Application and site collection section.

  11. In the Destination Web Application and site collection section, in the Destination Web application list, click a destination Web application.

    Note:

    If you want to deploy to another site collection within the same Web application, be sure the source and destination site collections are in separate content databases.

  12. In the Destination Site Collection list, click a destination site collection.

  13. In the User Names section, select the Deploy user names check box if you want user names that are associated with content to be included when this path is used for content deployment jobs.

  14. In the Security Information section, in the Security information in the content deployment list, click one of the following, and then click OK.

    • All This is the default selection. All of the security information that is associated with the content is deployed with the content.

    • Role Definitions Only Only role definitions (role definitions are collections of permissions) are deployed with the content. Users and groups, including those that are associated with the role definitions, are not deployed with the content.

    • None No security information that is associated with content is deployed with the content.

Use the following procedure to create a new content deployment path by using Windows PowerShell.

To create a new content deployment path by using Windows PowerShell

  1. Verify that you meet the following minimum requirements:

    • See Add-SPShellAdmin.

  2. On the Start menu, click All Programs, click Microsoft SharePoint 2010 Products, and then click SharePoint 2010 Management Shell.

  3. From the Windows PowerShell command prompt (that is, PS C:\>), type the following command and press ENTER after each line of the command:

    $credentials=Get-Credential

    New-SPContentDeploymentPath -Name <Name of the new deployment path>-SourceSPWebApplication <GUID, URL or a valid SPWebApplication object of the source Web application>-SourceSPSite <GUID, URL or a valid SPSite object of the source site>-DestinationCentralAdministrationURL <URL of the Central Administration Web site on the destination server>-DestinationSPWebApplication <GUID, URL or a valid SPWebApplication object of the destination Web application>-DestinationSPSite <GUID, URL or a valid SPSite object of the destination site>-PathAccount $credentials

    Note:

    The Get-Credential cmdlet will display a prompt to enter a user name and password. Type the user name and password for the account that will be used to connect to the destination server.

    For more information, including additional parameters you can use, see New-SPContentDeploymentPath. You can also use the New-SPContentDeploymentPath cmdlet in a script. For information, see Scripting with Windows PowerShell.

Create a new content deployment job

You can schedule a content deployment job by selecting the Run this job on the following schedule check box in the Frequency section of the Edit Content Deployment Job page or the Create Content Deployment Job page.

You can schedule the job to run:

  • One time only

  • Every 15, 30, or 45 minutes

  • Once per hour

  • Once per day

  • Once per week

  • Once per month

You can create schedules that are more complex by using the Microsoft Office SharePoint Server 2007 object model. You can also clear the Run this job on the following schedule check box to start the job manually. For information about using the object model to deploy content, see Deploying Content Between Servers.

You can create a new content deployment job by using either Central Administration, or Windows PowerShell. Use the following procedure to create a new content deployment job by using Central Administration.

To create a new content deployment job by using Central Administration

  1. Verify that you have the following administrative credentials:

    • You must be a member of the Farm Administrators group on the Central Administration server.

  2. On the Central Administration Web site, in the General Application Settings section, click Configure content deployment paths and jobs.

  3. On the Manage Content Deployment Paths and Jobs page, click New Job.

  4. On the Create Content Deployment Job page, in the Name and Description section, in the Name box, type a name for the content deployment job.

  5. In the Description box, type a description for the content deployment job.

  6. In the Path section, on the Select a content deployment path menu, click the content deployment path.

  7. In the SQL Snapshots section, select one of the following:

    • Do not use SQL snapshots Select this option if you do not want the job to use SQL Server database snapshots. This option is the default option.

    • Automatically create and manage snapshots for content deployment Select this option if you want the job to use SQL Server database snapshots.

      Note:

      This option is available only if Microsoft SQL Server 2008 Enterprise edition is installed.

  8. In the Scope section, select one of the following:

    • Entire site collection Select this option if you want to include all sites in the site collection in the deployment. This option is the default.

    • Specific sites within the site collection Select this option if you want to specify sites within the site collection in the deployment. If you select this option, click Select sites to select the sites to include in the deployment.

      Note:

      This option creates a scoped content deployment job, and it is assumed that all content in the site hierarchy above the specified scope has already been deployed to the destination. If you select this option for a content deployment job, you must also create a job that deploys the content above the specified level in the hierarchy.

  9. In the Frequency section, check the Run this job on the following schedule box, and specify a schedule for when the job should run.

  10. If you want to receive a notification e-mail about the status of the content deployment job, do one or both of the following in the Notification section:

    • Select the Send e-mail when the content deployment job succeeds check box.

    • Select the Send e-mail if the content deployment job fails check box.

  11. Type one or more e-mail addresses in the Type e-mail addresses box.

Use the following procedure to create a new content deployment job by using Windows PowerShell.

To create a new content deployment job by using Windows PowerShell

  1. Verify that you meet the following minimum requirements:

    • See Add-SPShellAdmin.

  2. On the Start menu, click Administrative Tools.

  3. Click SharePoint 2010 Management Shell.

  4. From the Windows PowerShell command prompt (that is, PS C:\>), type the following command and press ENTER:

    New-SPContentDeploymentJob -Name <Name of the new deployment job>-SPContentDeploymentPath <GUID, name or a valid SPContentDeploymentPath object of the path to be used by the job>

    For more information, including additional parameters you can use, see New-SPContentDeploymentJob. You can also use the New-SPContentDeploymentJob cmdlet in a script. For information, see Scripting with Windows PowerShell.

Manually start a content deployment job

You can manually start a content deployment job by using either Central Administration or Windows PowerShell. You can also set a content deployment job to run at regular intervals. For more information about creating and scheduling content deployment jobs, see Create a new content deployment job. For information about creating a content deployment path, see Create a new content deployment path.

Use the following procedure to manually start a content deployment job by using Central Administration.

To manually start a content deployment job by using Central Administration

  1. Verify that you have the following administrative credentials:

    • You must be a member of the Farm Administrators group on the Central Administration server.

  2. On the Central Administration Web site, in the General Application Settings section, click Configure content deployment paths and jobs.

  3. On the Manage Content Deployment Paths and Jobs page, on the menu for the job that you want to start, click Run Now.

    The status of the job is reported in the Status column.

Use the following procedure to manually start a content deployment job by using Windows PowerShell.

To manually start a content deployment job by using Windows PowerShell

  1. Verify that you meet the following minimum requirements:

    • See Add-SPShellAdmin.

  2. On the Start menu, click Administrative Tools.

  3. Click SharePoint 2010 Management Shell.

  4. From the Windows PowerShell command prompt (that is, PS C:\>), type the following command and press ENTER:

    Start-SPContentDeploymentJob -Identity <GUID, name or a valid SPContentDeploymentJob object of the job to be started>

    For more information, including additional parameters you can use, see Start-SPContentDeploymentJob. You can also use the Start-SPContentDeploymentJob cmdlet in a script. For more information, see Scripting with Windows PowerShell.

    We recommend that you use Windows PowerShell when performing command-line administrative tasks. The Stsadm command-line tool has been deprecated, but is included to support compatibility with previous product versions.

    For more information, see Runcontentdeploymentjob: Stsadm operation (Office SharePoint Server).

Edit a content deployment path

You can edit a content deployment path by using either Central Administration or Windows PowerShell. Use the following procedure to edit a content deployment path by using Central Administration.

To edit a content deployment path by using Central Administration

  1. Verify that you have the following administrative credentials:

    • You must be a member of the Farm Administrators group on the Central Administration server.

  2. On the Central Administration Web site, in the General Application Settings section, click Configure content deployment paths and jobs.

  3. On the Manage Content Deployment Paths and Jobs page, on the menu for the path that you want to edit, click Edit.

    For more information about the settings that you can edit, see Create a new content deployment path.

Use the following procedure to edit a content deployment path by using Windows PowerShell.

To edit a content deployment path by using Windows PowerShell

  1. Verify that you meet the following minimum requirements:

    • See Add-SPShellAdmin.

  2. On the Start menu, click Administrative Tools.

  3. Click SharePoint 2010 Management Shell.

  4. From the Windows PowerShell command prompt (that is, PS C:\>), type the following command and press ENTER:

    Set-SPContentDeploymentPath -Identity<GUID, name or a valid SPContentDeploymentPath object of the path to be changed>

    For more information, including additional parameters you can use, see Set-SPContentDeploymentPath. You can also use the Set-SPContentDeploymentPath cmdlet in a script. For more information, see Scripting with Windows PowerShell.

    We recommend that you use Windows PowerShell when performing command-line administrative tasks. The Stsadm command-line tool has been deprecated, but is included to support compatibility with previous product versions.

    For more information, see Editcontentdeploymentpath: Stsadm operation (Office SharePoint Server).

Disable or delete a content deployment path

You can disable or delete a content deployment path by using Central Administration, and you can delete a content deployment path by using Windows PowerShell.

Important:

If you delete a content deployment path, all content deployment jobs associated with that path will also be deleted.

Use the following procedure to disable or delete a content deployment path by using Central Administration.

To disable or delete a content deployment path by using Central Administration

  1. Verify that you have the following administrative credentials:

    • You must be a member of the Farm Administrators group on the Central Administration server.

  2. On the Central Administration Web site, in the General Application Settings section, click Configure content deployment paths and jobs.

  3. On the Manage Content Deployment Paths and Jobs page, click the menu for the path that you want to disable or delete, and then do one of the following:

    • To delete the path, click Delete, and then click OK in the message box that asks whether you want to proceed with the deletion.

    • To disable the path, click Disable.

Use the following procedure to delete a content deployment path by using Windows PowerShell.

To delete a content deployment path by using Windows PowerShell

  1. Verify that you meet the following minimum requirements:

    • See Add-SPShellAdmin.

  2. On the Start menu, click Administrative Tools.

  3. Click SharePoint 2010 Management Shell.

  4. From the Windows PowerShell command prompt (that is, PS C:\>), type the following command and press ENTER:

    Remove-SPContentDeploymentPath -Identity<GUID, name or a valid SPContentDeploymentPath object of the path to be deleted>

    For more information, including additional parameters you can use, see Remove-SPContentDeploymentPath. You can also use the Remove-SPContentDeploymentPath cmdlet in a script. For more information, see Scripting with Windows PowerShell.

    We recommend that you use Windows PowerShell when performing command-line administrative tasks. The Stsadm command-line tool has been deprecated, but is included to support compatibility with previous product versions.

Edit a content deployment job

You can edit a content deployment job by using either Central Administration or Windows PowerShell. For information about creating a content deployment job, see Create a new content deployment job.

Use the following procedure to edit a content deployment job by using Central Administration.

To edit a content deployment job by using Central Administration

  1. Verify that you have the following administrative credentials:

    • You must be a member of the Farm Administrators group on the Central Administration server.

  2. On the Central Administration Web site, in the General Application Settings section, click Configure content deployment paths and jobs.

  3. On the Manage Content Deployment Paths and Jobs page, on the menu for the job that you want to edit, click Edit.

    For more information about the settings that you can edit, see Create a new content deployment job.

Use the following procedure to edit a content deployment job by using Windows PowerShell.

To edit a content deployment job by using Windows PowerShell

  1. Verify that you meet the following minimum requirements:

    • See Add-SPShellAdmin.

  2. On the Start menu, click Administrative Tools.

  3. Click SharePoint 2010 Management Shell.

  4. From the Windows PowerShell command prompt (that is, PS C:\>), type the following command and press ENTER:

    Set-SPContentDeploymentJob -Identity<GUID, name or a valid SPContentDeploymentJob object of the job to be changed>

    For more information, including additional parameters you can use, see Set-SPContentDeploymentJob. You can also use the Set-SPContentDeploymentJob cmdlet in a script. For more information, see Scripting with Windows PowerShell.

    We recommend that you use Windows PowerShell when performing command-line administrative tasks. The Stsadm command-line tool has been deprecated, but is included to support compatibility with previous product versions.

    For more information, see Setcontentdeploymentjobschedule: Stsadm operation (Office SharePoint Server).

Test a content deployment job

Use the following procedure to test a content deployment job. Testing a content deployment job is useful for testing export settings.

To test a content deployment job

  1. Verify that you have the following administrative credentials:

    • You must be a member of the Farm Administrators group on the Central Administration server.

  2. On the Central Administration Web site, in the General Application Settings section, click Configure content deployment paths and jobs.

  3. On the Manage Content Deployment Paths and Jobs page, on the menu for the content deployment job that you want to test, click Test Job.

    The status of the job is reported in the Status column.

Cancel a content deployment job

Use the following procedure to cancel a content deployment job by using Central Administration. You cannot perform this task by using Windows PowerShell cmdlets. You must use the SharePoint Central Administration Web site instead.

Note:

A content deployment job cannot be canceled after the import phase has started. For information about the content deployment process, including a description of the export and import phases, see Content deployment overview (SharePoint Server 2010).

To cancel a content deployment job

  1. Verify that you have the following administrative credentials:

    • You must be a member of the Farm Administrators group on the Central Administration server.

  2. On the Central Administration Web site, in the General Application Settings section, click Configure content deployment paths and jobs.

  3. On the Manage Content Deployment Paths and Jobs page, on the menu for the job that you want to cancel, click Cancel.

    The status of the job is reported in the Status column.

Delete a content deployment job

You can delete a content deployment job by using either Central Administration or Windows PowerShell. Use the following procedure to delete a content deployment job by using Central Administration.

To delete a content deployment job by using Central Administration

  1. Verify that you have the following administrative credentials:

    • You must be a member of the Farm Administrators group on the Central Administration server.

  2. On the Central Administration Web site, in the General Application Settings section, click Configure content deployment paths and jobs.

  3. On the Manage Content Deployment Paths and Jobs page, on the menu for the job that you want to delete, click Delete.

  4. Click OK in the message box that asks whether you want to proceed with the deletion.

Use the following procedure to delete a content deployment job by using Windows PowerShell.

To delete a content deployment job by using Windows PowerShell

  1. Verify that you meet the following minimum requirements:

    • See Add-SPShellAdmin.

  2. On the Start menu, click Administrative Tools.

  3. Click SharePoint 2010 Management Shell.

  4. From the Windows PowerShell command prompt (that is, PS C:\>), type the following command and press ENTER:

    Remove-SPContentDeploymentJob -Identity <GUID, name or a valid SPContentDeploymentJob object of the job to be deleted>

    For more information, including additional parameters you can use, see Remove-SPContentDeploymentJob. You can also use the Remove-SPContentDeploymentJob cmdlet in a script. For more information, see Scripting with Windows PowerShell.

See Also

Concepts

Configure content deployment settings
Manage Quick Deploy jobs
View content deployment job reports and history
Content deployment overview (SharePoint Server 2010)


Manage Quick Deploy jobs
See Also

A Quick Deploy job enables users such as authors and editors to quickly deploy Web pages. For users to use the Quick Deploy feature, the Publishing feature must be enabled for the site collection, and the user must be a member of the Quick Deploy users group.

Before you can run a Quick Deploy job, you must first create a new content deployment path. Content deployment paths specify a source and destination for content deployment and specify other related settings such as authentication information. For information about creating a new content deployment path, see Manage content deployment paths and jobs.

Note:

If you are using Remote BLOB Storage (RBS), and the RBS provider that you are using does not support snapshots, you cannot use snapshots for content deployment or backup. For example, the SQL FILESTREAM provider does not support snapshots. For more information about RBS, see Overview of RBS (SharePoint Server 2010).

A Quick Deploy job is created automatically when a new content deployment path is created. Although a Quick Deploy job is created automatically, the job itself is not active until a farm administrator enables Quick Deploy jobs along a specific path. After the Quick Deploy job has been enabled, the farm administrator can then modify the settings for the Quick Deploy job, including the job schedule and notifications for the job. By default, a Quick Deploy job runs automatically every 15 minutes. When a user clicks the Quick Deploy button on the Publish tab for a Web page, that page will be included in the next automatically scheduled Quick Deploy job. Alternatively, a farm administrator can manually run or cancel a Quick Deploy job at any time by using the Manage Content Deployment Paths and Jobs page.

Note:

If a Web page is scheduled to be published at a specific date and time, the Quick Deploy job will copy that Web page to the destination location along with any other items contained in the job. The Web page will be published on the destination site according to the publishing schedule associated with that Web page.

To manage Quick Deploy jobs, you can perform the following procedures in any order:

  • Modify Quick Deploy job settings

  • Test a Quick Deploy job

  • Manually start a Quick Deploy job

  • Cancel a Quick Deploy job

Modify Quick Deploy job settings

Use the following procedure to modify Quick Deploy job settings.

Before you perform this procedure, confirm that:

  • You have already created at least one content deployment path. For more information, see Manage content deployment paths and jobs.

To modify Quick Deploy job settings

  1. Verify that you have the following administrative credentials:

    • You must be a member of the Farm Administrators group on the Central Administration server.

    • You must be a member of the Site Collection Administrators group on the source site collection.

  2. On the Central Administration Web site, in the General Application Settings section, click Configure content deployment paths and jobs.

  3. On the Manage Content Deployment Paths and Jobs page, click Quick Deploy Settings on the menu for the Quick Deploy job for the path that you want to edit.

  4. On the Quick Deploy Job settings page, in the Allow Quick Deploy jobs section, select the Allow Quick Deploy jobs along this path box to enable the Quick Deploy job.

  5. In the SQL snapshots section, select one of the following:

    • Do not use SQL snapshots Select this option if you do not want the job to use SQL Server database snapshots. This option is the default.

    • Automatically create and manage snapshots for content deployment Select this option if you want the job to use SQL Server database snapshots.

  6. In the Quick Deploy Schedule section, select a length of time for how frequently you want the Quick Deploy job to check for and deploy content.

  7. In the Users section, click Specify Quick Deploy users to add users to the Quick Deploy Users group.

    Note:

    The Specify Quick Deploy users link will appear only if you are a member of the Site Collection Administrators group on the site collection associated with the Quick Deploy path.

  8. If you want to receive a notification e-mail about the status of the content deployment job, do one or both of the following in the Notification section:

    • Select the Send e-mail when the content deployment job succeeds check box.

    • Select the Send e-mail if the content deployment job fails check box.

  9. Type one or more e-mail addresses in the Type e-mail addresses box.

Test a Quick Deploy job

Use the following procedure to test a Quick Deploy job. Testing a Quick Deploy job is useful for testing export settings.

To test a Quick Deploy job

  1. Verify that you have the following administrative credentials:

    • You must be a member of the Farm Administrators group on the Central Administration server.

  2. On the Central Administration Web site, in the General Application Settings section, click Configure content deployment paths and jobs.

  3. On the Manage Content Deployment Paths and Jobs page, on the menu for the Quick Deploy job that you want to test, click Test Job.

    The status of the job is reported in the Status column.

Manually start a Quick Deploy job

Use the following procedure to manually start a Quick Deploy job. By default, Quick Deploy jobs run every 15 minutes. You can also set a Quick Deploy job to run at an interval that you specify. For more information about scheduling Quick Deploy jobs, see Modify Quick Deploy job settings.

To manually start a Quick Deploy job

  1. Verify that you have the following administrative credentials:

    • You must be a member of the Farm Administrators group on the Central Administration server.

  2. On the Central Administration Web site, in the General Application Settings section, click Configure content deployment paths and jobs.

  3. On the Manage Content Deployment Paths and Jobs page, on the menu for the Quick Deploy job that you want to start, click Run Now.

    The status of the job is reported in the Status column.

Cancel a Quick Deploy job

Use the following procedure to cancel a Quick Deploy job.

A Quick Deploy job cannot be canceled after the import phase has started. For information about the content deployment process, including a description of the export and import phases, see Content deployment overview (SharePoint Server 2010).

To cancel a Quick Deploy job

  1. Verify that you have the following administrative credentials:

    • You must be a member of the Farm Administrators group on the Central Administration server.

  2. On the Central Administration Web site, in the General Application Settings section, click Configure content deployment paths and jobs.

  3. On the Manage Content Deployment Paths and Jobs page, on the menu for the Quick Deploy job that you want to cancel, click Cancel.

    The status of the job is reported in the Status column.

See Also

Concepts

Configure content deployment settings
Manage content deployment paths and jobs
Content deployment overview (SharePoint Server 2010)


View content deployment job reports and history
See Also

When a content deployment job runs, a report of the job status and details is created and stored as a historical record of the job. Content job deployment reports contain the following information about job runs:

  • Job name

  • Job description

  • Path

  • Status of the run

  • Errors (number of)

  • Warnings (number of)

  • Source server URL

  • Destination server URL

  • Objects deployed (number of)

  • Compressed content size (in megabytes)

  • Deployment time

  • Start time

  • End time

After a content deployment job runs, you can verify that specific content was deployed, view content deployment job reports, and view a history of all content deployment jobs.

In this article:

  • Check deployment of specific content

  • View the current content deployment job report

  • View a content deployment job history or job report

Check deployment of specific content

Use the following procedure to check deployment of specific content.

To check deployment of specific content

  1. Verify that you have the following administrative credentials:

    • You must be a member of the Farm Administrators SharePoint group on the Central Administration server.

  2. On the Central Administration Web site, click General Application Settings.

  3. On the General Application Settings page, in the Content Deployment section, click Check deployment of specific content.

  4. On the Content Deployment Object Status page, in the URL box, type the URL of the specific content you want to check.

  5. Click Check Status.

    The status of the object is reported in the Source Object Details and the Destination Object Details sections.

View the current content deployment job report

Use the following procedure to view the current report for a content deployment job.

To view the current content deployment job report

  1. Verify that you have the following administrative credentials:

    • You must be a member of the Farm Administrators SharePoint group on the Central Administration server.

  2. On the Central Administration Web site, in the General Application Settings section, click Configure content deployment paths and jobs.

  3. On the Manage Content Deployment Paths and Jobs page, in the list of jobs, in the Status column, click the item of the job for which you want to view the report. For example, if Failed appears in the status column, click Failed.

    Note:

    The items listed in the Status column will vary depending on the job status.

    The Content Deployment Report page opens.

View a content deployment job history or job report

Use the following procedure to view a content deployment job history or a previous job report. A content deployment job history contains information about the job, in addition to a list of historical reports for the job. The historical job reports are reports of previous runs of the content deployment job.

To view a content deployment job history or job report

  1. Verify that you have the following administrative credentials:

    • You must be a member of the Farm Administrators SharePoint group on the Central Administration server.

  2. On the Central Administration Web site, in the General Application Settings section, click Configure content deployment paths and jobs.

  3. On the Manage Content Deployment Paths and Jobs page, in the list of jobs, on the menu for the job for which you want to view the job history, click View History. The Job History page opens.

  4. To view a report for a specific job, on the Job History page, in the Job History list, in the Status column, click the item of the job run for which you want to view the report. For example, if Completed appears in the status column, click Completed.

    Note:

    The items listed in the Status column will vary depending on the job status.

    The Content Deployment Report page opens.

    Note:

    The Content Deployment Report page displays only the first 100 errors and warnings. To view the complete report, in the Quick Links section, click Download Report. To view full, verbose logs for the export and import processes, in the Quick Links section, use the path shown for either the export or import report.

  5. To return to the job history, in the Quick Links section, click View Job History.

See Also

Concepts

Content deployment administration (SharePoint Server 2010)
Configure content deployment settings
Manage content deployment paths and jobs
Manage Quick Deploy jobs


End-to-end content deployment walkthrough (white paper)
See Also

Published: June 24, 2010

This paper provides an overview of the content deployment feature in Microsoft SharePoint Server 2010 for the IT Pro audience, and describes an end-to-end scenario for how to create and successfully perform a content deployment between two site collections.

To view this document, click here: End-to-End Content Deployment Walkthrough (SharePoint Server 2010).

See Also

Concepts

Content deployment overview (SharePoint Server 2010)
Content deployment administration (SharePoint Server 2010)


Business Connectivity Services security operations (SharePoint Server 2010)
See Also

Published: September 9, 2010

Summary: Administrators can perform various operations to ensure that Business Data Connectivity service applications in SharePoint Server are secure.

This article describes security-related administrative tasks for your Business Data Connectivity service application.

In this article:

  • Assign administrators to a Business Data Connectivity service application

  • Set permissions on a metadata store

  • RevertToSelf authentication mode

  • Workflows and external lists

  • Set permissions to enable a consuming farm to generate deployment packages

Assign administrators to a Business Data Connectivity service application

Farm administrators can delegate administration of a specific Business Data Connectivity service application to a service application administrator. The delegated administrator is given access to the Central Administration Web site and can perform administrative tasks that are related to that Business Data Connectivity service application.

Tip:

The delegated administrator is not given permissions to the metadata store.

To assign administrators to a Business Data Connectivity service application

  1. Verify that you have the following administrative credentials:

    • You must be a farm administrator.

  2. On the Central Administration Web site, in the Application Management section, click Manage service applications.

  3. In the list of service applications, click the row that contains the Business Data Connectivity service application.

    Note:

    Do not select the row by clicking in the Name column. Clicking the name of the Business Connectivity Service opens the Business Connectivity Service management pages.

  4. In the Operations group of the ribbon, click Administrators.

  5. In the text box, type or select a user account or a group account, and then click Add.

  6. In the Permissions box, click Full Control, and then click OK.

Set permissions on a metadata store

Each Business Data Connectivity service application has a metadata store that includes all the models, external systems, external content types, methods, and method instances that have been defined for that store's purpose. You set permissions on a metadata store to specify who can edit items in the metadata store and who can set permissions on the metadata store.

We recommend that you give specific permissions to each user or group that needs it, in such a way that the credentials provide the least privilege that is necessary to perform the needed tasks. For more information about setting permissions, see Business Connectivity Service permissions overview in "Business Connectivity Services security overview (SharePoint Server 2010)".

To set permissions on a metadata store

  1. Verify that you have one of the following administrative credentials:

    • You must be a farm administrator.

    • You must be the Business Data Connectivity service application administrator and have Set Permissions permission to the metadata store.

  2. On the Central Administration Web site, in the Application Management section, click Manage service applications.

  3. Click in the Name column of the row that corresponds to the Business Data Connectivity service application.

  4. In the Permissions group of the ribbon, click Set Metadata Store Permissions.

  5. In the text box, type the user accounts, groups, or claims for which permissions will be granted, and then click Add.

    Note:

    The user account, group, or claim cannot have a vertical bar (|) in its name.

  6. Set the permissions for the account, group, or claim:

    Note:

    At least one user, group, or claim in the metadata object's access control list must have the Set Permissions permission.

    • Click Edit to allow the user, group, or claim to create external systems, to create models, to import models, and to export models.

      Security Note:

      The Edit permission should be considered highly privileged. With the Edit permission, a malicious user can steal credentials or corrupt a server farm. To help ensure a secure solution, we recommend that you use a test environment where the Edit permission can be assigned freely to developers and solution designers. When you deploy the tested solution to a production environment, remove the Edit permissions.

    • Click Execute to allow the user, group, or claim to execute operations (create, read, update, delete, or query) on external content types.

      Tip:

      The Execute permission is not applicable to the metadata store itself. This setting is used when you want to propagate the Execute permission to child objects in the metadata store.

    • Click Selectable In Clients to allow the user, group, or claim to create external lists of any external content types and to view the external content types in the external item picker.

      Tip:

      The Selectable In Clients permission is not applicable to the metadata store itself. This setting is used when you want to propagate the Selectable In Clients permission to child objects in the metadata store.

    • Click Set Permissions to allow the user, group, or claim to set permissions on the metadata store.

      Security Note:

      The Set Permissions permission should be considered highly privileged. With the Set Permissions permission, a user can grant Edit permission to the metadata store.

  7. To propagate permissions to all items in the metadata store, click Propagate permissions to all BDC Models, External Systems and External Content Types in the BDC Metadata Store. Doing so will overwrite existing permissions.

RevertToSelf authentication mode

Each external content type has an associated authentication mode. The authentication mode gives Business Connectivity Services information about how to process an incoming authentication request from a user and maps that request to a set of credentials that can be passed to the external system. By default, the RevertToSelf authentication mode (also called BDC Identity authentication mode) is not enabled. You cannot create or import models that use RevertToSelf when RevertToSelf authentication mode is not enabled.

RevertToSelf authentication mode uses the application pool account where the Business Connectivity Services is running to authenticate the logged-on user to the external system. For example, when a user opens an external list, the application pool account of the front-end Web server where the external list resides is used for authentication. The application pool account is a highly privileged account. By default, the application pool account has write permission to the farm configuration database. By using RevertToSelf mode, anyone who can create or edit a model that uses RevertToSelf mode has the power to make themselves an administrator of the SharePoint farm.

RevertToSelf authentication mode is not recommended for production environments. We recommend that you use Secure Store Service.

If you must use RevertToSelf authentication mode in a production environment, consider the following:

  • Any users who can create or edit models, including SharePoint Designer users, should be considered equal to a farm administrator from a security perspective. You must be able to trust them as you would a farm administrator.

  • You must lock down the use of the application pool account as much as possible. Doing so can help to limit the damage a malicious user can do to the SharePoint farm and external systems.

Enable RevertToSelf authentication mode

After you enable RevertToSelf authentication mode, new models that use RevertToSelf can be created and imported.

Security Note:

We do not recommend RevertToSelf authentication mode for production environments. Before enabling RevertToSelf authentication mode, make sure that you have read and understood the implications of enabling RevertToSelf authentication mode.

Note:

RevertToSelf is not allowed in hosted environments.

To enable RevertToSelf authentication mode

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell command prompt, type the following commands:

    1. To create a variable that contains the Business Data Connectivity service application object, type the following command:

      Copy Code
      $bdc = Get-SPServiceApplication | where {$_ -match "<ServiceName>"}

      Where <ServiceName> is the name of the Business Data Connectivity service application. This can also be a regular expression (for example, "BDC").

      Note:

      If the Business Data Connectivity service application is a shared service application, this command must be run on the farm where the service application is published.

    2. To enable RevertToSelf authentication mode, type the following command:

      Copy Code
      $bdc.RevertToSelfAllowed = $true

Disable RevertToSelf authentication mode

When RevertToSelf is disabled, new models that use RevertToSelf cannot be created or imported.

Note:

If you have existing models that use RevertToSelf, they will continue to work. You must delete the existing models if you want to remove all instances of RevertToSelf authentication from your farm.

To disable RevertToSelf authentication mode

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell command prompt, type the following commands:

    1. To create a variable that contains the Business Data Connectivity service application, type the following command:

      Copy Code
      $bdc = Get-SPServiceApplication | where {$_ -match "<ServiceName>"}

      Where <ServiceName> is the name of the Business Data Connectivity service application. This can also be a regular expression (for example, "BDC").

      Note:

      If the Business Data Connectivity service application is a shared service application, this command must be run on the farm where the service application is published.

    2. To disable RevertToSelf authentication mode, type the following command:

      Copy Code
      $bdc.RevertToSelfAllowed = $false

Workflows and external lists

Additional configuration is required when you want to develop workflows that interact with external lists. The following sections describe requirements that can affect workflow behavior.

Note:

Workflows cannot interact with external lists in a hosted environment.

Workflows cannot be associated directly with an external list

Because the external data is not stored in SharePoint Server, the workflow cannot be notified when an item in the external list changes. Instead, you can create a site workflow or a list workflow, and then have the workflow read or update an external list. You can also use an external list item as a destination for a task process in SharePoint Designer; however, the link to the task will not display a title for the external list item.

Workflows sometimes run as the service account

Workflows run as the service account (typically, the application pool account) in the following scenarios:

  • Visual Studio workflows.

  • Declarative workflows that interact with external lists and are started automatically. This is true even when you use an impersonation step in your workflow.

In this case, you must give the service account Execute permission to the external content type that the external list is associated with and verify that the service account has the necessary permissions to access the external system.

Workflows and authentication

To support workflow activities, the external content type that the external list is associated with must use RevertToSelf or Secure Store Service for authentication.

Note:

These authentication mode restrictions do not apply if you are using a .NET Assembly connector or a custom connector.

  • Authenticate by using RevertToSelf

    RevertToSelf authentication mode (also known as BDC identity authentication mode) authenticates to the external system by using the application pool account of the front-end Web server where the external list resides. This means that the application pool account must have permission to access the external system. By default, RevertToSelf authentication is not enabled. You must enable RevertToSelf authentication mode before you can create or import models that use RevertToSelf authentication.

    Security Note:

    RevertToSelf authentication is not recommended for production environments.

    For more information about RevertToSelf authentication, see RevertToSelf authentication mode.

  • Authenticate by using the Secure Store Service

    Secure Store Service enables you to securely store data that provides credentials that are required for connecting to external systems and associating those credentials to a specific identity or group of identities. You must ensure that the external content type uses one of the Secure Store Service authentication modes.

    Security Note:

    If the workflow is running as the service account, we recommend that you map the service account to an account that has lower privileges. For example, you can create a secure store target application ID that maps the service account to an account that has minimal permissions and can access only the required external system.

For more information about authentication modes, see Business Connectivity Services authentication overview in "Business Connectivity Services security overview (SharePoint Server 2010)."

Set permissions to enable a consuming farm to generate deployment packages

The Business Data Connectivity service application can be shared across server farms. The farm that contains the Business Data Connectivity service application and publishes the Business Data Connectivity service application is known as the publishing farm. The consuming farm is the farm that connects to a remote location to use the Business Data Connectivity service application.

When a user takes an external list offline, the application pool account that is used by the front-end Web server where the external list resides, generates a deployment package, which is then installed on the client computer. On the publishing farm, the application pool account of the front-end server has full permissions to the metadata store so that it can generate the deployment package. If you want the consuming farm to be able to generate deployment packages, you must give Edit and Set Permissions permission to the metadata store to the application pool account that is used by the front-end server on the consuming farm. If you do not give these additional permissions to the application pool account, external lists that reside on the consuming farm cannot be taken offline.

Security Note:

Giving the application pool account of the consuming farm Edit and Set Permissions permission to the metadata store makes that account a farm administrator on the publishing farm.

Note:

This section applies only to on-premise SharePoint Server deployments.

For more information about external list deployments, see Plan Business Connectivity Services client integration (SharePoint Server 2010).

To assign permissions to the application pool account of the consuming farm

  1. Verify that you have one of the following administrative credentials:

    • You must be a farm administrator on the publishing farm.

    • You must be the administrator of the Business Data Connectivity service application and have Set Permissions permission to the metadata store.

  2. On the Central Administration site of the publishing farm, in the Application Management section, click Manage service applications.

  3. Click in the Name column of the row that corresponds to the Business Data Connectivity service application.

  4. In Permissions group of the ribbon, click Set Metadata Store Permissions.

  5. In the text box, type the application pool account that is used by the front-end Web server on the consuming farm, and then click Add.

  6. In the Permissions box, click Edit, and then click Set Permissions.

  7. Click OK.

For more information about shared service applications, see Share service applications across farms (SharePoint Server 2010).

See Also

Concepts

Business Connectivity Services security overview (SharePoint Server 2010)

Other Resources

Resource Center: Operations and Manageability for SharePoint Server 2010


Use tracing on the client (SharePoint Server 2010)
See Also

Published: May 15, 2010

Summary: Trace logging in Microsoft SharePoint Server 2010 enables clients to collect diagnostic information that Microsoft Business Connectivity Services generate.

For solutions that are based on Microsoft Business Connectivity Services, diagnostic logging occurs on clients that are running Microsoft Office 2010. There are two logs: the event log and the trace log. They both record diagnostic information that Microsoft Business Connectivity Services generates. Event logs record error messages. Trace logs contain more in-depth information, such as stack traces and informational messages. In general, trace logs provide more details than event logs.

Note:

Diagnostic logging also occurs on servers that are running SharePoint Server 2010. For more information, see Monitoring and Diagnostic logging in Business Connectivity Services overview (SharePoint Server 2010).

By default, trace logging is disabled on client computers to help improve performance. You should only enable trace logging on client computers if you are encountering problems that you want to diagnose. For example, if an event log entry indicates an error might be caused by an activity that is related to Microsoft Business Connectivity Services, then enable trace logging to gather additional data the next time that the event occurs.

This article describes how to use the Performance Monitor utility on client computers that are running Windows 7 or Windows Vista to enable tracing that captures Microsoft Business Connectivity Services events.

Note:

On computers that are running Windows XP and earlier, you enable tracing by running a script that uses the logman command. For a sample script, see Monitoring and Diagnostic logging in Business Connectivity Services overview (SharePoint Server 2010).

Tip:

By default Event logging for Microsoft Business Connectivity Services is enabled on clients. However, to protect performance, only critical errors are logged and this setting cannot be changed. Windows client computers include an Event Viewer that you can use to view event logs. For information about how to view event logs for a specific version of Windows, consult the product documentation.

In this article:

  • Enable Business Connectivity Services tracing

  • Run a Business Connectivity Services trace

  • View the results of a Business Connectivity Services trace

Enable Business Connectivity Services tracing

To enable Microsoft Business Connectivity Services tracing you create a custom data collector set, specify the trace providers that are related to Microsoft Business Connectivity Services, and provide the location for saving the trace logs.

Note:

This procedure is for use on Windows Vista and Windows 7 client computers.

To enable Business Connectivity Services tracing

  1. Verify that you have the following administrative credentials:

    • To enable Microsoft Business Connectivity Services tracing on a client computer, you must be an Administrator or a member of the Administrators group on that computer.

  2. On the Start menu, click Run, type perfmon, and then click OK.

    This starts the Performance Monitor utility.

  3. In the left pane, expand Data Collector Sets, right-click User Defined, point to New, and then click Data Collector Set.

  4. In the New Data Collector Set wizard, in the Name box, type a name for the data collector set, select Create manually (Advanced), and then click Next.

  5. On the What type of data do you want to include? page, select the Event trace data check box, and then click Next.

  6. On the Which event trace providers would you like to enable? page, click Add.

  7. In the Event Trace Providers list, click Microsoft-Office-Business Connectivity Services, and then click OK.

  8. In the Property dialog box, in the Automatic section, select all the categories, click OK, and then click Next.

  9. On the Where would you like the data to be saved? page, add a path where you want the data saved or select the default and click Finish.

Run a Business Connectivity Services trace

After enabling Microsoft Business Connectivity Services tracing, you can run a trace that will capture Microsoft Business Connectivity Services events. We recommend that you only run tracing when there is a suspected issue, either during solution development or when a solution is deployed to end users. To run a Microsoft Business Connectivity Services trace on a client computer, you must be an administrator on that computer.

Tip:

The intent of running a trace is to capture events during a reproducible problem. Before performing this procedure, first ensure that you have set the right conditions on the client computer to reproduce the behavior for which you want trace log data.

To run a Business Connectivity Services trace

  1. Verify that you have the following administrative credentials:

    • To run a Microsoft Business Connectivity Services trace on a client computer, you must be an Administrator or a member of the Administrators group on that computer.

  2. On the Start menu, click Run, type perfmon, and then click OK.

    This starts the Performance Monitor utility.

  3. In the left pane, expand Data Collector Sets, and then expand User Defined to locate your user defined data collector set.

    For the steps to create a data collector set, see Enable Business Connectivity Services tracing.

  4. Right-click your data collector set, and then click Start.

  5. While the trace is running, on the client computer perform activities related to Microsoft Business Connectivity Services for which you want to capture trace data.

  6. To stop the trace, locate your user defined data collector set again, right-click it, and then click Stop.

View the results of a Business Connectivity Services trace

You use the Event Viewer utility on Windows 7 and Windows Vista client computers to view the results of a Microsoft Business Connectivity Services trace on a client computer.

To view the results of a Business Connectivity Services trace

  1. Verify that you have the following administrative credentials:

    • To view the results of a Microsoft Business Connectivity Services trace on a client computer, you must be an Administrator or a member of the Administrators group on that computer.

  2. In the Windows Control Panel, double-click Administrative Tools.

  3. Double-click Event Viewer.

  4. On the Action menu, click Open Saved Log.

  5. Find the folder that contains the trace logs.

    You supplied this destination in the Enable Business Connectivity Services tracing procedure.

  6. Find the recent trace file, which has the ".etl" file name extension, and then open it.

    On the server and on the Office client, a unique Activity ID value is generated for each Create, Update, or Delete operation on external data in a solution based on Microsoft Business Connectivity Services. Anything that is related to the operation that is logged in the trace log includes its Activity ID value. Depending on how the view is configured, the Event Viewer may not initially display activity IDs for your Microsoft Business Connectivity Services logs.

    To display Activity IDs for each item:

    1. In the Event Viewer View menu, click Add/Remove Columns.

    2. In the Add/Remove Columns dialog box, if "Activity ID" is not listed in the Displayed Columns section, click "Activity ID" in the Available Columns section, click Add, and then click OK.

See Also

Other Resources

Resource Center: Operations and Manageability for SharePoint Server 2010


Application Registry Service administration (SharePoint Server 2010)
See Also

Published: February 3, 2011

Summary: To improve performance, administrators can turn off the Application Registry Service if it is not needed in a SharePoint Server 2010 deployment.

The Application Registry Service is a shared service in SharePoint Server 2010 to store application definitions that are compatible with the Office SharePoint Server 2007 Business Data Catalog object model. If you did a version to version upgrade from Office SharePoint Server 2007 to SharePoint Server 2010 or you did a standalone installation of SharePoint Server 2010, the service is turned on by default. If you are not upgrading solutions from Office SharePoint Server 2007 to SharePoint Server 2010, you can turn the service off to improve performance. This article describes how to turn off and turn on the Application Registry Service by using Central Administration or Windows PowerShell.

In this article:

  • The Application Registry Service

  • Stopping Application Registry Service

  • Starting Application Registry Service

The Application Registry Service

The Application Registry Service is a shared service in SharePoint Server 2010 to store application definitions that define how to connect to external data as they are defined in Office SharePoint Server 2007. In SharePoint Server 2010, a new service, the Business Data Connectivity service replaces the Office SharePoint Server 2007 Business Data Catalog to integrate external data into solutions. However, the object model of the Business Data Connectivity service is not backward compatible with the object model that the Business Data Catalog uses. So the Application Registry Service is created to store application definitions that are compatible with the Business Data Catalog object model. Because the Application Registry Service supports the object model of the Business Data Catalog, the Application Registry Service can support solutions that depend on the Business Data Catalog object model. The Application Registry service can support applications originally created in Office SharePoint Server 2007 that include one or more of the following elements:

  • Custom Web Parts

  • Custom code

  • Searching

All of these depend on the object model or metadata schema of the Business Data Catalog and will continue to work in SharePoint Server 2010 by using the Application Registry Service.

The Web Parts that were provided by Office SharePoint Server 2007, such as the Business Data List Web Part and the Business Data Association Web Part, are upgraded in SharePoint Server 2010 to run against the Business Data Connectivity service. Custom Web Parts in an Office SharePoint Server 2007 solution, however, will run against the Application Registry Service after upgrade. For more information, see Web Parts.

Important:

Note that the Application Registry Service is deprecated and exists only to support the backward compatibility of solutions that are based on the Office SharePoint Server 2007 Business Data Catalog. Do not build new solutions that depend on the deprecated Application Registry Service. Build new solutions on the Business Data Connectivity service in SharePoint Server 2010.

Stopping Application Registry Service

If you are not upgrading solutions that are based on the Office SharePoint Server 2007 Business Data Catalog to SharePoint Server 2010, you can turn off the Application Registry Service to save resources and simplify server farm management. You can stop the Application Registry Service by using Central Administration or Windows PowerShell 2.0.

To stop Application Registry Service by using Central Administration

  1. Verify that the user account that you are using to perform this procedure is a member of the Farm Administrators SharePoint group.

  2. On the SharePoint Central Administration Web site, click System Settings.

  3. On the System Settings page, in the Servers section, click Manage services on server.

  4. To change the server on which you want to stop the Application Registry Service, on the Server menu, click Change Server, and then click the server name that you want.

    Note:

    By default, only configurable services are displayed. To view all services, on the View menu, click All.

  5. To stop the Application Registry Service, click Stop in the Action column of the service.

  6. Click OK to stop the service.

To stop Application Registry Service by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click Microsoft SharePoint 2010 Products.

  3. Click SharePoint 2010 Management Shell.

  4. At the Windows PowerShell command prompt, type the following command:

    Copy Code
    Stop-SPServiceInstance -Identity
<ServiceGUID>

    Where <ServiceGUID> is the GUID of the Application Registry Service. If you do not know the service GUID, you can retrieve a list of all services in the farm together with their GUIDs by using the Get-SPServiceInstance cmdlet.

For more information, see Stop-SPServiceInstance.

Note:

We recommend that you use Windows PowerShell when performing command-line administrative tasks. The Stsadm command-line tool has been deprecated, but is included to support compatibility with previous product versions.

Starting Application Registry Service

Once you stopped the Application Registry Service and you want to turn it on again, you can restart it by using Central Administration or Windows PowerShell 2.0.

To start Application Registry Service by using Central Administration

  1. Verify that the user account that you are using to perform this procedure is a member of the Farm Administrators SharePoint group.

  2. On the SharePoint Central Administration Web site, click System Settings.

  3. On the System Settings page, in the Servers section, click Manage services on server.

  4. To change the server on which you want to start the Application Registry Service, on the Server menu, click Change Server, and then click the server name that you want.

    Note:

    By default, only configurable services are displayed. To view all services, on the View menu, click All.

  5. To start the Application Registry Service, click Start in the Action column of the service.

  6. Click OK to start the service.

To start Application Registry Service by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click Microsoft SharePoint 2010 Products.

  3. Click SharePoint 2010 Management Shell.

  4. At the Windows PowerShell command prompt, type the following command:

    Copy Code
    Start-SPServiceInstance -Identity
<ServiceGUID>

    Where <ServiceGUID> is the GUID of the Application Registry Service. If you do not know the service GUID, you can retrieve a list of all services in the farm together with their GUIDs by using the Get-SPServiceInstance cmdlet.

For more information, see Start-SPServiceInstance.

Note:

We recommend that you use Windows PowerShell when performing command-line administrative tasks. The Stsadm command-line tool has been deprecated, but is included to support compatibility with previous product versions.

See Also

Concepts

Plan to upgrade to Business Connectivity Services (SharePoint Server 2010)

Other Resources

Resource Center: Operations and Manageability for SharePoint Server 2010


Workflow administration (SharePoint Server 2010)
See Also

This section explains how to perform common workflow administration tasks.

In this section:

  • Manage workflows (SharePoint Server 2010)

    You can modify the configuration settings for existing workflow associations, cancel running workflows, remove workflow associations, and uninstall or delete workflows from a site.

  • Monitor workflows (SharePoint Server 2010)

    While workflows run, you can check statuses of workflows, view reports about workflows, and diagnose error conditions that are associated with workflows.

  • Configure global workflow settings (SharePoint Server 2010)

    Workflow settings that you configure globally apply to all sites in a Web application. You can enable deployment of user-defined Microsoft SharePoint Designer workflows, allow non-authenticated users to participate in workflows, and disable the automatic cleanup of workflow history that is older than 60 days.

  • Deploy a workflow as a WSP file (SharePoint Server 2010)

    When you use Microsoft SharePoint Designer 2010 to create workflows, you can save them as workflow templates (.wsp files). The .wsp file can then be used to deploy the workflow on multiple sites and site collections. A video accompanies procedures in this article to illustrate how to use the user interface to deploy a workflow as a WSP file.

  • An end-to-end process using InfoPath 2010 forms, Visio 2010, and SharePoint Designer 2010 for workflows

    This video demonstrates the interaction among SharePoint Designer 2010, InfoPath Forms Services in Microsoft SharePoint Server 2010, and workflows.

  • Create reusable workflows using SharePoint Designer 2010 and attach to content types

    This video illustrates how you can create a reusable workflow, attach it to a content type, and then use that content type in a library.

  • Create a site workflow and modify its form using InfoPath Forms 2010

    This video illustrates how to use SharePoint Designer 2010 to create a site workflow, which is a type of workflow that is attached to a site itself. In addition, you will also see how to use InfoPath Forms Services to modify the user interface form that this workflow creates.

See Also

Concepts

Workflow deployment process (SharePoint Server 2010)


Manage workflows (SharePoint Server 2010)
See Also

You can modify the configuration settings for existing workflow associations, cancel running workflows, remove workflow associations, and uninstall or delete workflows from your site.

In this section:

  • Activate or deactivate a workflow (SharePoint Server 2010)

    Workflows that are deployed as a feature package must be activated to be available to use on lists, libraries, content types, or sites. This article describes how to activate or deactivate a workflow that has been deployed as a feature package.

  • Add a workflow association (SharePoint Server 2010)

    Before a workflow can be run, it must be associated with a list, library, content type, or site. This article describes how to associate a workflow template with a list, library, content type, or site.

  • Modify a workflow association (SharePoint Server 2010)

    This article describes how to modify the configurable options that are available for most for workflow associations.

  • Remove a workflow association (SharePoint Server 2010)

    Workflow templates must be associated with a list, library, content type, or site before it can be run. This article describes how to disassociate a workflow template from a list, library, content type, or site.

  • Start a workflow instance (SharePoint Server 2010)

    Workflows can be configured to start when a particular event occurs or can be started manually by a user. This article describes how to start a workflow manually.

  • Cancel or terminate a workflow instance (SharePoint Server 2010)

    If you do not want an instance of a workflow to complete you can cancel the workflow. You can terminate a workflow that cannot be cancelled either because it does not support cancellation or because the workflow has stopped responding. This article describes how to cancel or terminate a workflow.

  • Uninstall a workflow (SharePoint Server 2010)

    This article describes how to uninstall a workflow that is deployed as a feature.

  • Delete a SharePoint Designer workflow (SharePoint Server 2010)

    This article describes how to delete a workflow that was deployed using SharePoint Designer.

See Also

Other Resources

Resource Center: Workflows in SharePoint Server 2010


Activate or deactivate a workflow (SharePoint Server 2010)

An administrator can check the status of a feature that contains a workflow template and then activate or deactivate the feature to meet business requirements.

By default, many of the predefined workflows that Microsoft SharePoint Server 2010 includes as features are active when you create a site or site collection. Additionally, custom workflows that you create by using Microsoft SharePoint Designer 2010 or Visual Studio 2010 and deploy by using the one-click publishing method are automatically activated to the sites in which they are deployed. Because the features that contain workflow templates, such as the predefined workflows, can be deactivated, you can check the site or site collection to determine whether the feature that contains the workflow template that you want to use is active. Use the following procedures to determine whether the workflow that you want to use is active, and then activate the workflow as necessary.

Tip:

Only activated workflows can be associated with a list, library, content type, or site.

Activate a workflow for a site collection

Use the following procedure to determine whether the feature for the workflow that you want to use is active so that you can activate it as necessary.

Note:

Workflows that are activated at the level of a site collection are available to all sites in the site collection.

To activate a workflow for a site collection

  1. Verify that you have the following administrative credentials:

    • You must be a member of the site collection administrators group on the site collection that you are configuring.

  2. On the top level of the site collection, on the Site Actions menu, click Site Settings.

  3. On the Site Settings page, in the Site Collection Administration section, click Site collection features.

  4. On the Features page, click Activate next to the workflow feature that you want to activate.

    The Status column displays "Active" to indicate that the feature is now active.

Note:

If you later decide that you want to deactivate a workflow feature, open the Site Features page again, click Deactivate next to the workflow feature that you want deactivate, and then click Deactivate this feature.


Add a workflow association (SharePoint Server 2010)

You add a workflow by associating it with a list, document library, site content type, or site.

In this article:

  • Associate a workflow with a list or document library

  • Associate a workflow with a list or library content type

  • Associate a workflow with a site content type

  • Associate a workflow from a feature package with a site

Before you begin

When you add a workflow association, you assign a task list and history list to use with the selected workflow. You can use the default task list, select another existing task list, or create a new one. Workflow participants can find and view their workflow tasks easily by using the My Tasks view of the Tasks list on the Quick Launch of the site collection.

Security Note:

If the tasks for this workflow might reveal sensitive or confidential data that you want to keep separate from the default tasks list, you should create a new task list.

As SharePoint lists grow, site performance might be adversely affected. If an organization will have many workflows, consider creating a separate task list and history list for each workflow to avoid potential performance problems.

Associate a workflow with a list or document library

Use the following steps to associate a workflow with a list or document library. Note that some workflows, such as the Three-state workflow, require you to create a column in your list in which the workflow can display status. For example, before you add the Three-state workflow to a list, we recommend that you first create a column of the "Choice" type and assign three choices to the column.

To associate a workflow with a list or document library

  1. Verify that you have the following administrative credentials:

    • You must be granted the Full Control permission-level on the list or library that you are configuring.

  2. Browse to the list or library to which you want to add a workflow.

  3. Do one of the following:

    • For a list, on the List Tools tab, click List.

    • In the Settings group, click Workflow Settings, and then click Add a workflow.

    • For a library, on the Library Tools tab, click Library.

    • In the Settings group, click Workflow Settings, and then click Add a workflow.

  4. On the Add a Workflow page, in the Workflow section, select the workflow template that you want to associate with this list or library.

  5. In the Name section, type the name that you want to use to identify this workflow to users of this list or library.

  6. In the Task List section, specify a task list to use with this workflow.

  7. In the History List section, select a history list to use with this workflow.

    The history list displays events that occur during each instance of the workflow.

    Important:

    You can use the default history list, select another existing history list, or create a new one. When SharePoint lists grow in size, site performance might be affected. If an organization will have many workflows, consider creating a separate history list for each workflow association to avoid potential performance problems.

  8. In the Start Options section, specify how (automatically or manually), when (item update, creation, or both), or by whom a workflow can be started.

    Note that the available start options are determined by the workflow template and differ from one workflow to another.

    Note:

    By default, users who have Edit Item permissions can start a workflow. If you specify that Require Manage List permissions are needed to start the workflow, only users who have Manage List or Web Designer permissions can start an instance of the workflow. Most workflows do not require this restriction. However, you can use this setting for workflows that include tasks, such as deleting documents, which only certain people should be able to perform.

  9. If the workflow that you selected has additional configuration options, click Next to customize settings that are specific to workflows, as necessary. Otherwise, go to the next step.

  10. When you have finished specifying your configuration options, click OK to apply your changes to the workflow association.

Associate a workflow with a list or library content type

Use the following steps to associate a workflow with a list or library content type.

Before you can perform the following steps, the list or library that you are configuring must first be configured to allow the management of content types.

To associate a workflow with a list or library content type

  1. Verify that you have the following administrative credentials:

    • You must be a member of the Site Owners group on the SharePoint site that you are configuring.

  2. Open the list or library that contains the content type to which you want to associate a workflow.

  3. Do one of the following:

    • For a list, on the ListTools tab, click List.

    • In the Settings group of the ribbon, click List Settings.

    • For a library, on the LibraryTools tab, click Library.

    • In the Settings group of the ribbon, click Library Settings.

  4. In the Content Types section, in the Content Type column, click the name of the content type to which you want to associate a workflow.

    Note:

    If the list or library is not set up to allow for management of multiple content types, the Content Types section is not displayed. For more information, see Introduction to content types and content type publishing (http://go.microsoft.com/fwlink/?LinkId=184649).

  5. On the List Settings or Document Library Settings page, in the Settings section, click Workflow settings.

  6. On the Workflow Settings page, click Add a workflow.

  7. On the Add a Workflow page, in the Workflow section, select the workflow template that you want to associate with this content type.

  8. In the Name section, type the name that you want to use to identify this workflow to site users.

  9. In the Task List section, specify a task list to use with this workflow.

  10. In the History List section, select a history list to use with this workflow.

    The history list displays all events that occur during each instance of the workflow.

    Important:

    You can use the default history list or you can create a new one. As SharePoint lists grow in size, site performance may be affected. If an organization will have many workflows, consider creating a separate history list for each workflow to avoid potential performance problems.

  11. In the Start Options section, specify how (automatically or manually), when (item update, creation, or both), or by whom a workflow can be started.

    Note that the available start options are determined by the workflow template and differ from one workflow to another.

    Note:

    By default, users who have Edit Item permissions can start a workflow. If you specify that Require Manage List permissions are needed to start the workflow, only users who have Manage List or Web Designer permissions can start an instance of the workflow. Most workflows do not require this restriction. However, you can use this setting for workflows that include tasks, such as deleting documents, which only certain people should be able to perform.

  12. If the workflow that you selected has additional configuration options, click Next to customize settings that are specific to workflows, as necessary. Otherwise, go to the next step.

  13. When you have finished specifying your configuration options, click OK or Save (depending on the workflow) to apply your changes to the workflow association.

Associate a workflow with a site content type

Use the following steps to associate a workflow with a site content type.

To associate a workflow with a site content type

  1. Verify that you have the following administrative credentials:

    • You must be a member of the Site Owners group on the site on which you are performing this procedure.

  2. Browse to the site where you want to associate a workflow with a site content type.

    Note:

    Site content types that are inherited from another site, for example, the top-level site of a site collection, must be associated from the site from which they are inherited. In this case, go to the site from which the site content type is inherited to add the workflow association.

  3. On the home page for the site, on the Site Actions menu, click Site Settings.

  4. On the Site Settings page, in the Galleries section, click Site content types.

  5. On the Site Content Types page, in the Site Content Type column, click the content type to which you want to add a workflow association.

  6. On the Site Content Types page, in the Settings section, click Workflow settings.

  7. On the Workflow Settings page, click Add a workflow.

  8. On the Add a Workflow page, in the Workflow section, select the workflow that you want to add.

  9. In the Name section, type the name that you want to use to identify this workflow to site users.

  10. In the Task List section, specify a task list to use with this workflow.

  11. In the History List section, select a history list to use with this workflow.

    The history list displays all events that occur during each instance of the workflow.

    Note:

    You can use the default history list or you can create a new one. As SharePoint lists grow in size, site performance might be affected. If an organization will have many workflows, consider creating a separate history list for each workflow to avoid potential performance problems.

  12. In the Start Options section, specify how (automatically or manually), when (item update, creation, or both), or by whom a workflow can be started.

    Note that the available start options are determined by the workflow template and differ from one workflow to another.

    Note:

    By default, users who have Edit Item permissions can start a workflow. If you specify that Require Manage List permissions are needed to start the workflow, only users who have Manage List or Web Designer permissions can start an instance of the workflow. Most workflows do not require this restriction. However, you can use this setting for workflows with tasks, such as deleting documents, which only certain people should be able to perform.

  13. If the workflow that you selected has additional configuration options, click Next to customize settings that are specific to workflows, as necessary. Otherwise, go to the next step.

  14. When you have finished specifying your configuration options, click OK to apply your changes to the workflow association.

Associate a workflow from a feature package with a site

Use the following steps to associate a workflow (that is part of a feature package) with a site.

To associate a workflow with a site

  1. Verify that you have the following administrative credentials:

    • You must be a member of the Site Owners group on the site on which you are performing this procedure.

  2. Browse to the site from which you want to add a workflow association.

  3. On the Site Actions menu, click Site Settings.

  4. On the Site Settings page, in the Site Administration section, click Workflow settings.

  5. On the Workflow Settings page, click Add a workflow.

  6. On the Add Workflow page, in the Workflow section, select the workflow template that you want to associate with this site.

  7. In the Name section, type the name that you want to use to identify this workflow to site users.

  8. In the Task List section, specify a task list to use with this workflow.

  9. In the History List section, select a history list to use with this workflow.

    The history list displays all events that occur during each instance of the workflow.

    Note:

    You can use the default history list or you can create a new one. As SharePoint lists grow in size, site performance might be affected. If an organization will have many workflows, consider creating a separate history list for each workflow to avoid potential performance problems.

  10. In the Start Options section, specify whether the workflow can be manually started by an authenticated user who has Participate Permissions and whether Manage Permissions are also required to start the workflow.

    Note that the available start options are determined by the workflow template and differ from one workflow to another.

    Note:

    By default, users who have the Edit Items Permissions can start a workflow. If you specify that Require Manage permissions are needed to start the workflow, only those who have been granted the at least the Designer level of permissions can start an instance of the workflow. Most workflows do not require this restriction. However, you can use this setting for workflows that have tasks, such as deleting documents, which only certain people should be able to perform.

  11. If the workflow that you selected has additional configuration options, click Next to customize settings that are specific to workflows, as necessary. Otherwise, go to the next step.

  12. When you have finished specifying your configuration options, click OK to apply your changes to the workflow association.


Modify a workflow association (SharePoint Server 2010)

After you associate (add) a workflow to a list, library, content type, or site, you can modify its configuration settings at any time. Configuration settings include the name of the workflow association, the start options, the participants, the task notification messages, the choice of lists to use for tracking workflow history and tasks (default or new), and completion options.

In this article:

  • Modify a workflow associated with a list or library

  • Modify a workflow associated with a list or library content type

  • Modify a workflow associated with a site content type

  • Modify a site workflow

Before you begin

When you add a workflow association, you assign a task list to use with the selected workflow. You can use the default task list, select another existing task list, or create a new one. If you use the default task list, workflow participants can find and view their workflow tasks easily by using the My Tasks view of the Tasks list.

Security Note:

If the tasks for this workflow might reveal sensitive or confidential data that you want to keep separate from the default tasks list, you should create a new task list.

Modify a workflow associated with a list or library

Use the following steps to modify the configuration settings for a workflow that is associated with a list or document library. Changes to configuration settings are only applied to workflow instances that start after the workflow association is modified.

To modify a workflow associated with a list or library

  1. Verify that you have the following administrative credentials:

    • You must be a member of the Site Owners group on the list or library that you are configuring.

  2. Browse to the list or document library where the workflow is located.

  3. Do one of the following:

    • For a list, on the ListTools tab, click List.

    • In the Settings group, click List Settings.

    • For a library, on the LibraryTools tab, click Library.

    • In the Settings group, click Library Settings.

  4. On the List Settings or Library Settings page, in the Permissions and Management section, click Workflow Settings.

  5. On the Workflow Settings page, in the Workflows section, click the name of the workflow that you want to change.

  6. In the Name section, you can optionally type a new name for the workflow.

    This name will be used to identify the workflow to site users.

  7. In the Task List section, specify a task list to use with this workflow.

  8. In the History List section, select a history list to use with this workflow.

    The history list displays all events that occur during each instance of the workflow.

    Note:

    You can use the default history list or create a new one. When SharePoint lists grow in size, site performance may be impacted. If an organization will have many workflows, consider creating a separate history list for each workflow association to avoid potential performance problems.

  9. In the Start Options section, specify how (automatically or manually), when (item update, creation, or both), or by whom a workflow can be started.

    Note that the available start options are determined by the workflow template and differ from one workflow to another.

    Note:

    By default, users who have Edit Item permissions can start a workflow. If you specify that Require Manage List permissions are needed to start the workflow, only users who have Manage List or Web Designer permissions can start an instance of the workflow. Most workflows do not require this restriction. However, you can use this setting for workflows that include tasks, such as deleting documents, which only certain people should be able to perform.

  10. Click Next to customize settings that are specific to workflows, as necessary.

  11. After you have configured settings that are specific to workflows, click OK or Save (depending on the workflow) to apply changes to the workflow association.

Modify a workflow associated with a list or library content type

Use this procedure to modify a workflow association with a list or library content type.

Note:

This procedure assumes that Allow management of content types is set to Yes on the list or library.

To modify a workflow associated with a list or library content type

  1. Verify that you have the following administrative credentials:

    • You must be a member of the Site Owners group on the SharePoint site that you are configuring.

  2. Browse to the document library or list on which the workflow is associated.

  3. Do one of the following:

    • For a list, on the ListTools tab, click List.

    • In the Settings group, click List Settings.

    • For a library, on the LibraryTools tab, click Library.

    • In the Settings group, click Library Settings.

  4. In the Content Types section, in the Content Type column, click the name of the content type to which the workflow that you want to modify is associated.

    Note:

    If the list or library is not set up to allow multiple content types, the Content Types section is not displayed. For more information, see Introduction to content types and content type publishing (http://go.microsoft.com/fwlink/?LinkId=184649).

  5. On the List Settings or Library Settings page, in the Settings section, click Workflow Settings.

  6. On the Workflow Settings page, click the name of the workflow that you want to modify.

  7. On the Change a Workflow page, in the Name section, you can optionally type a new name for the workflow.

    This name identifies the workflow to site users.

  8. In the Task List section, specify a task list to use with this workflow.

  9. In the History List section, select a history list to use with this workflow.

    The history list displays all events that occur during each instance of the workflow.

    Note:

    You can use the default history list or you can create a new one. When SharePoint lists grow in size, site performance may be impacted. If an organization will have many workflows, consider creating a separate history list for each workflow to avoid potential performance problems.

  10. In the Start Options section, specify how (automatically or manually), when (item update, creation, or both), or by whom a workflow can be started.

    Note that available start options are determined by the workflow template and differ from one workflow to another.

    Note:

    By default, users who have Edit Item permissions can start a workflow. If you specify that Require Manage List permissions are needed to start the workflow, only list administrators (that is, anyone with Manage List or Web Designer permissions) can start an instance of the workflow. Most workflows do not require this restriction. However, you can use this setting for workflows with tasks, such as deleting documents, which only certain people should be able to perform.

  11. Depending on whether custom options are available for a workflow, click Next to configure settings that are specific to a workflow, or click OK to save the changes.

  12. After you have configured settings that are specific to a workflow, if applicable to the workflow you are modifying, click OK to apply the changes to the workflow association.

  13. On the Customize Workflow page, specify changes that you want to make to the workflow, and then click Save.

Modify a workflow associated with a site content type

Use this procedure to modify a workflow association with a site content type. When you modify a workflow that is associated with a site content type, you can choose whether to apply changes to inherited content types.

To modify a workflow associated with a site content type

  1. Verify that you have the following administrative credentials:

    • You must be a member of the Site Owners group on the SharePoint site that you are configuring.

  2. Browse to the site where you want to modify a workflow that is associated with a content type.

    Note:

    Site content types that are inherited from another site, for example, the top-level site of a site collection, must be modified on the site from which they are inherited.

  3. On the top-level site of the site collection, on the Site Actions menu, click Site Settings.

  4. On the Site Settings page, in the Galleries section, click Site content types.

  5. On the Site Content Types Gallery page, in the Site Content Type column, click the content type for which you want to modify a workflow association.

  6. On the Site Content Types page, in the Settings section, click Workflow settings.

  7. On the Workflow Settings page, click the name of the workflow that you want to change.

  8. On the Change a Workflow page, in the Name section, you can optionally type a new name for the workflow.

    This name will be used to identify the workflow to site users.

  9. In the Task List section, specify a task list to use with this workflow.

  10. In the History List section, select a history list to use with this workflow.

    The history list displays all events that occur during each instance of the workflow.

    Note:

    You can use the default history list or create a new one. When SharePoint lists grow in size, site performance may be impacted. If an organization will have numerous workflows, consider creating a separate history list for each workflow association to avoid potential performance problems.

  11. In the Start Options section, specify how (automatically or manually), when (item update, creation, or both), or by whom a workflow can be started.

    Note that available start options are determined by the workflow template and differ from one workflow to another.

    Note:

    By default, users who have Edit Item permissions can start a workflow. If you specify that Require Manage List permissions are needed to start the workflow, only list administrators (that is, anyone with Manage List or Web Designer permissions) can start an instance of the workflow. Most workflows do not require this restriction. However, you can use this setting for workflows with tasks, such as deleting documents, which only certain people should be able to perform.

  12. In the Update List and Site Content Types section, specify whether you want to add this workflow to all content types that inherit from this content type.

  13. Depending on whether custom options are available for a workflow, click Next to configure settings that are specific to a workflow. After you have configured settings that are specific to a workflow, if applicable to the workflow that you are modifying, click OK or Save (depending on the workflow) to apply your changes to the workflow association.

Modify a site workflow

Use this procedure to modify a workflow association with a site content type. When you modify a workflow that is associated with a site content type, you can choose whether to apply changes to inherited content types.

To modify a site workflow

  1. Verify that you have the following administrative credentials:

    • You must be a member of the Site Owners group on the SharePoint site that you are configuring.

  2. Browse to the site where you want to modify a site workflow.

    Note:

    Site workflows that are inherited from another site, for example, the top-level site of a site collection, must be modified on the site from which they are inherited.

  3. On the top-level site of the site collection, on the Site Actions menu, click Site Settings.

  4. On the Site Settings page, in the Site Administration section, click Workflow settings.

  5. On the Workflow settings page, click the workflow that you want to modify.

  6. On the Change a Workflow page, in the Name section, you can optionally type a new name for the workflow.

    This name identifies the workflow to site users.

  7. In the Task List section, specify a task list to use with this workflow.

  8. In the History List section, select a history list to use with this workflow.

    The history list displays all of the events that occur during each instance of the workflow.

    Note:

    You can use the default history list or create a new one. When SharePoint lists grow in size, site performance may be impacted. If an organization will have numerous workflows, consider creating a separate history list for each workflow association to avoid potential performance problems.

  9. In the Start Options section, specify how (automatically or manually), when (item update, creation, or both), or by whom a workflow can be started.

    Note that available start options are determined by the workflow template and differ from one workflow to another.

    Note:

    By default, users who have Edit Item permissions can start a workflow. If you select Require Manage List permissions to start the workflow, only list administrators (that is, anyone with Manage List or Web Designer permissions) can start an instance of the workflow. Most workflows do not require this restriction. However, you can use this setting for workflows with tasks, such as deleting documents, which only certain people should be able to perform.

  10. Depending on whether custom options are available for your workflow, click Next to configure settings that are specific to a workflow. After you have configured settings that are specific to a workflow, if applicable to the workflow that you are modifying, click OK or Finish (depending on the workflow) to apply your changes to the workflow association.


Remove a workflow association (SharePoint Server 2010)

You add a workflow by associating it with a list, document library, content type, or site. You remove a workflow by disassociating it from a list, document library, content type, or site. Optionally, you can prevent new instances of a workflow from starting but still let all running workflow instances to finish.

In this article:

  • Remove a workflow association from a list or document library

  • Remove a workflow association from a list or library content type

  • Remove a workflow association from a site content type

  • Remove a workflow association from a site

Remove a workflow association from a list or document library

Use the following steps to remove a workflow association from a list or document library.

To remove a workflow association from a list or document library

  1. Verify that you have the following administrative credentials:

    • You must be a member of the Site Owners group on the SharePoint site that you are configuring.

  2. Browse to the list or library from which you want to remove a workflow.

  3. Do one of the following:

    • For a list, on the List Tools tab, click List.

    • In the Settings group, click List Settings.

    • For a library, on the Library Tools tab, click Library.

    • In the Settings group, click Library Settings.

  4. On the List Settings or Library Settings page, in the Permissions and Management section, click Workflow Settings.

  5. On the Workflow Settings page, click Remove a workflow.

    Note:

    The Remove a workflow link is not displayed if no workflows are associated with the list or library.

  6. On the Remove Workflows page, find the workflow that you want to remove and choose from the following options:

    • Select No New Instances to prevent new instances of this workflow from running but still allow for running instances to finish.

      After all running workflows are finished, you can return to this page to completely remove the workflow association.

    • Select Remove to prevent new instances of this workflow from running and remove all instances of this workflow. This option removes instances that are already running.

  7. Click OK.

Remove a workflow association from a list or library content type

Use the following steps to remove a workflow from a list or library content type.

To remove a workflow association from a list or library content type

  1. Verify that you have the following administrative credentials:

    • You must be a member of the Site Owners group on the SharePoint site that you are configuring.

  2. Open the list or library that contains the content type from which you want to remove a workflow association.

  3. Do one of the following:

    • For a list, on the List Tools tab, click List.

    • In the Settings group, click List Settings.

    • For a library, on the Library Tools tab, click Library.

    • In the Settings group, click Library Settings.

  4. On the List Settings or Library Settings page, in the Content Types section, click the name of the content type for which you want to remove a workflow.

    Note:

    If the list or library is not set up to allow multiple content types, the Content Types section is not displayed. For more information, see Introduction to content types and content type publishing (http://go.microsoft.com/fwlink/?LinkId=184649).

  5. On the List Settings or Library Settings page, in the Settings section, click Workflow settings.

  6. On the Workflow Settings page, click Remove a workflow.

    Note:

    The Remove a workflow link is not displayed if no workflows are associated with the selected content type.

  7. On the Remove Workflows page, find the workflow that you want to remove and choose from the following options:

    • Select No New Instances to prevent new instances of this workflow from running but still allow for running instances to finish.

      After all running workflows are finished, you can return to this page to completely remove the workflow association.

    • Select Remove to prevent new instances of this workflow from running and remove all instances of this workflow. This option removes instances that are already running.

  8. Click OK.

Remove a workflow association from a site content type

Use the following steps to remove a workflow from a site content type.

To remove a workflow association from a site content type

  1. Verify that you have the following administrative credentials:

    • You must be a member of the Site Owners group on the SharePoint site that you are configuring.

  2. Browse to the site where you want to modify a workflow that is associated with a site content type.

    Note:

    Site content types that are inherited from another site, for example, the top-level site of a site collection, must be removed from the site from which they are inherited.

  3. On the home page for the site, on the Site Actions menu, click Site Settings.

  4. On the Site Settings page, in the Galleries section, click Site content types.

  5. On the Site Content Types page, in the Site Content Type column, click the content type from which you want to remove a workflow association.

    Note:

    You cannot modify site content types that are inherited from another site, such as the top-level site of a site collection. In this case, go to the site from which the site content type is inherited to remove the workflow association.

  6. On the Site Content Types page, in the Settings section, click Workflow settings.

  7. On the Workflow Settings page, click Remove a workflow.

    Note:

    The Remove a workflow link is not displayed if no workflows are associated with the selected site content type.

  8. On the Remove Workflows page, find the workflow that you want to remove and choose from the following options:

    • Select No New Instances to prevent new instances of this workflow but still allow for running instances to finish.

      After all running workflows are finished, you can return to this page to completely remove the workflow association.

    • Select Remove to remove all instances of this workflow. This option removes instances that are already running.

  9. Click OK.

  10. If the Apply changes to all content types inheriting from this type message appears, click OK.

Remove a workflow association from a site

Use the following steps to remove a workflow from a site.

To remove a workflow association from a site

  1. Verify that you have the following administrative credentials:

    • You must be a member of the Site Owners group on the SharePoint site that you are configuring.

  2. Go to the site from which you want to remove a workflow.

  3. On the Site Actions menu, click Site Settings.

  4. On the Site Settings page, in the Site Administration section, click Workflow settings.

  5. On the Workflow Settings page, click Remove a workflow.

    Note:

    The Remove a workflow link is only displayed if a site workflow is currently associated with the site.

  6. On the Remove Workflows page, find the workflow that you want to remove and choose from the following options:

    • Select No New Instances to prevent new instances of this workflow but still allow for running instances to finish.

      After all running workflows are finished, you can return to this page to completely remove the workflow association.

    • Select Remove to remove all instances of this workflow. This option removes instances that are already running.

  7. Click OK.


Start a workflow instance (SharePoint Server 2010)

After you activate a workflow and add it to a list, document library, or content type, an authenticated user can run the workflow on an item in the list or a document in the library. After activating a site workflow on a site, users can run that workflow on the site. When you add a workflow, you specify whether you want the workflow to run automatically or manually. If a workflow is configured to start automatically, the settings that are specified in the workflow association are always used when the workflow begins. A user can modify the default settings of a workflow that is configured to start manually if the workflow specifies settings such as workflow participants and due date, as allowed by the workflow template. Workflows that are associated with a list, library, or content type run on items in the list or documents in the library with which the workflow is associated. Site workflows run on the site to which they are associated.

Permissions needed to start a workflow By default, users who have the Edit Items permission can start a workflow. If you specify that Manage List permissions are required to start the workflow, only list administrators (that is, anyone with Manage Lists permission or the Design permission-level) can start an instance of the workflow. Most workflows do not require this restriction. However, you can use the Manage Lists option for workflows that contain tasks, such as workflows that delete documents, which you want only certain people to perform.

The procedure for starting a workflow depends on whether it was configured to start manually or automatically and whether you start it from Microsoft SharePoint Server 2010, a 2007 Microsoft Office system client application, or a Microsoft Office 2010 client application. Choose one of the following procedures to start your workflow depending on its configuration and how you want to start it.

In this article:

  • Start a workflow automatically

  • Start a site workflow

  • Start a workflow manually in a list or library

  • Start a workflow manually in Office

Start a workflow automatically

If a workflow is set to start automatically, the workflow starts to run immediately when a trigger event, such as adding a document to a library, occurs.

Start a site workflow

Use this procedure to start a site workflow.

To start a site workflow

  1. Verify that you have the following administrative credentials:

    • You must be a member of the Site Owners SharePoint group on the site that you are configuring.

  2. Browse to the home page of the site to which a site workflow is associated.

  3. In the Quick Launch, click All Site Content, and then click Site Workflows.

  4. On the Workflows page, in the Start a New Workflow section, click the name of the workflow that you want to start.

    Note:

    If workflows are not listed in the Start a New Workflow section, no workflows have been associated with the site.

  5. If a Start button appears, click Start.

Start a workflow manually in a list or library

Use this procedure to manually start a workflow that is associated with a list or library.

To start a workflow manually in a list or library

  1. Verify that you have the following administrative credentials:

    • You must be a member of the Site Owners SharePoint group on the site that you are configuring.

  2. Browse to the site where you want to start a workflow that is associated with a list or library.

  3. Browse to the document library or list where you want to start the workflow.

  4. From the SharePoint document library or list, point to the item on which you want to start the workflow, click the arrow that appears, and then click Workflows.

  5. On the Workflows page, in the Start a New Workflow section, click the workflow that you want to start.

  6. If the Start button appears, specify required information, such as the participants and due date. Configure the other workflow-specific settings as necessary, and then click Start to start the workflow.

Start a workflow manually in Office

Use this procedure to start a workflow in a list or library from an Office client application.

To start a workflow manually in the 2007 Office System

  1. Verify that you have the following administrative credentials:

    • You must be granted the Contribute permission-level on the list or library that contains the workflow.

  2. Open the file from a library in SharePoint Server 2010 on which you want to start a workflow.

    Note:

    The document must be saved to the list or library before you can start a workflow on the file.

  3. From a 2007 Microsoft Office system client application, click the Microsoft Office Button, and then select Workflows.

  4. From the list of available workflows, click Start for the workflow that you want to start.

  5. If a workflow form appears, provide the required information, for example the participants and the due date, and then click Start.

To start a workflow manually from Office 2010

  1. Verify that you have the following administrative credentials:

    • You must be granted the Contribute permission-level on the list or library that contains the workflow.

  2. Open the file from a library in SharePoint Server 2010 on which you want to start a workflow.

    Note:

    The document must be saved to the list or library before you can start a workflow on the file.

  3. From an Office 2010 client application, on the File tab, click Save & Send.

  4. In the Workflows section, click the workflow that you want to start.

  5. In the right pane, click Start Workflow.

  6. If a workflow form appears, provide the required information, for example the participants and the due date, and then click Start.


Cancel or terminate a workflow instance (SharePoint Server 2010)

There are two different ways that you can stop a workflow instance:

  • Cancel a workflow

  • Terminate a workflow

Note:

You cannot restart an instance of a workflow that has been cancelled or terminated. To reuse the workflow with the same list or library, you must start a new instance of the workflow. For more information, see Start a workflow instance (SharePoint Server 2010).

Cancel a workflow

When you cancel a workflow, the status of the workflow is set to Canceled and all tasks that the workflow created are canceled. Participants receive an e-mail message that the workflow has been canceled.

Note:

The option to cancel a workflow in progress is available only if the workflow template supports cancellation. All predefined workflows—Approval, Collect Feedback, Collect Signatures, and Translation Management—support cancellation.

To cancel a workflow on a list or library

  1. Verify that you have the following administrative credentials:

    • You must be a member of the Site Owners SharePoint group on the site that you are configuring.

  2. Browse to the list or library for which you want to cancel a workflow.

    If the name of the list or library does not appear, click View All Site Content, and then click the name of the list or library.

  3. Point to the document or item involved in the workflow, click the arrow that appears, and then click Workflows.

  4. On the Workflows page, in the Running Workflows section, click the name of the workflow that you want to cancel.

  5. On the Workflow Status page, in the Workflow Information section, click Cancel all <workflow name> tasks, where <workflow name> is the name of the workflow that you are cancelling.

    Note:

    The Cancel all <workflow name> tasks link is not available for workflows that do not support cancellation. In this case, you can either allow the workflow to complete or terminate the workflow as described later in this article.

  6. On the Modify Workflow page, click Yes.

To cancel a site workflow

  1. Verify that you have the following administrative credentials:

    • You must be a member of the Site Owners SharePoint group on the site that you are configuring.

  2. Browse to the home page of the site for which you want to cancel a site workflow.

  3. In the Quick Launch, click All Site Content, and then click Site Workflows.

  4. On the Workflows page, in the My Running Workflows section, click the name of the workflow that you want to cancel.

  5. On the Workflow Status page, in the Workflow Information section, click Cancel.

    Note:

    The Cancel all <workflow name> tasks link is not available for workflows that do not support cancellation. In this case, you can either allow the workflow to complete or terminate the workflow as described later in this article.

  6. On the Modify Workflow page, click Yes.

Terminate a workflow

If a workflow error occurs or a workflow stops responding, you can terminate the workflow. You might also want to terminate a workflow that is not cancellable. Terminating a workflow sets the status of the workflow to Canceled and deletes all tasks created by the workflow but does not notify the participants.

To terminate a workflow in a list or library

  1. Verify that you have the following administrative credentials:

    • You must be a member of the Site Owners SharePoint group on the site that you are configuring.

  2. Browse to the list or library for which you want to cancel a workflow.

    If the name of the list or library does not appear, click View All Site Content, and then click the name of your list or library.

  3. Point to the document or item involved in the workflow, click the arrow that appears, and then click Workflows.

  4. On the Workflows page, in the Running Workflows section, click the name of the workflow that you want to terminate.

  5. On the Workflow Status page, in the Workflow Information section, click Terminate this workflow now.

  6. In the dialog box that appears, click OK.

To terminate a site workflow

  1. Verify that you have the following administrative credentials:

    • You must be a member of the Site Owners SharePoint group on the site that you are configuring.

  2. Browse to the home page of the site for which you want to terminate a site workflow.

  3. In the Quick Launch, click All Site Content, and then click Site Workflows.

  4. On the Workflows page, in the My Running Workflows section, click the name of the workflow that you want to cancel.

  5. On the Workflow Status page, in the Workflow Information section, click Terminate this workflow now.

  6. In the dialog box that appears, click OK.


Uninstall a workflow (SharePoint Server 2010)
See Also

When a workflow that was installed as a Feature is no longer needed, you can uninstall it by using the Uninstall-SPFeature cmdlet in the SharePoint 2010 Management Shell in the same manner that you uninstall any SharePoint Feature. For more information, see Uninstall-SPFeature.

Important:

To run Windows PowerShell, ensure that you have met the following minimum requirements:

  • See Add-SPShellAdmin.

Visual Studio workflows are always installed as a Feature and declarative workflows that have been packaged into wsp files can be deployed as a feature or as solutions in the Solution Gallery. Note that workflows deployed directly from Microsoft SharePoint Designer 2010 are not deployed as features. To uninstall a declarative workflow that was published directly from SharePoint Designer, you delete its source files from the site collection on which it is installed. For more information, see Delete a SharePoint Designer workflow (SharePoint Server 2010).

Before you can use the Uninstall-SPFeature cmdlet to uninstall a Feature, all workflow instances have to be completed, canceled, or terminated and the workflow must be deactivated. After you uninstall a Feature, the workflow that is in that Feature is no longer available from the user interface, to associate with lists, to associate with libraries, and so on. The source files are still on the server to make it possible to later reinstall the workflow. Use the Windows PowerShellInstall-SPFeature cmdlet to install the Feature again. For details, see Install-SPFeature.

See Also

Concepts

Cancel or terminate a workflow instance (SharePoint Server 2010)
Activate or deactivate a workflow (SharePoint Server 2010)


Delete a SharePoint Designer workflow (SharePoint Server 2010)

When a Microsoft SharePoint Designer 2010 workflow is no longer needed, you can delete it. Deleting a SharePoint Designer workflow permanently deletes the workflow source files from the site and makes the workflow unavailable to users on the site. The deleted workflow is automatically removed from the list or library with which it was associated when it was created.

Delete a SharePoint Designer workflow

Use the following steps to delete a SharePoint Designer workflow.

Note:

Deleting a SharePoint Designer workflow also deletes the history data for that workflow.

To delete a SharePoint Designer workflow

  1. Verify that you have the following administrative credentials:

    • To delete a workflow from a server, you must be granted the Designer permission-level on the site from which you are deleting the workflow. You also need access to SharePoint Designer 2010.

  2. Start SharePoint Designer 2010.

  3. In the Navigation pane, click Sites, and then click Open Site.

  4. In the Open Site dialog box, in the Site name box, type the URL of the SharePoint site that contains the workflow that you want to delete, and then click Open.

  5. In the Navigation pane, click Workflows.

  6. On the Workflows tab, in the Name column, right-click the workflow that you want to delete, and then click Delete.

  7. In the Confirm Delete dialog box, click Yes to confirm that you want to delete the workflow.


Monitor workflows (SharePoint Server 2010)
See Also

After a workflow has been started, you can check the general workflow status in the associated list or document library. For more information, see Check workflow status (SharePoint Server 2010).

You can also view detailed reports that show workflow start time, the current task and person responsible to complete the task, the duration of each task within a workflow, and the duration of all activities in the workflow. For more information, see View workflow reports (SharePoint Server 2010).

For help to diagnose error conditions that are associated with a workflow, see Troubleshoot workflow errors (SharePoint Server 2010).

See Also

Other Resources

Resource Center: Workflows in SharePoint Server 2010


Check workflow status (SharePoint Server 2010)

You can check the general status of a workflow instance by viewing status information in the list or document library with which the workflow is associated. You can get detailed workflow status by viewing the Workflow Status page that is automatically created and maintained for all running workflows.

Important:

Before you check the status of a workflow instance for items in a list or document library, you must create an association between the workflow and the list or document library and ensure that the workflow has started. For more information, see Add a workflow association (SharePoint Server 2010) and Start a workflow instance (SharePoint Server 2010).

In this article:

  • Check general workflow status

  • Check detailed workflow status for items in a list or library

  • Check detailed workflow status for a site workflow

Check general workflow status

Use these steps to check general workflow status.

To check general workflow status

  1. Verify that you have the following administrative credentials:

    • You must be a user with Edit Items permissions on the list or library.

  2. Browse to the list or document library that contains the workflow for which you want to check status.

  3. Locate the item for which you want to check status and view the status information in the workflow status column.

    Note:

    The workflow status column is titled with the workflow's name.

Check detailed workflow status for items in a list or library

Use these steps to check detailed workflow status for items in a list or library.

To check detailed workflow status for items in a list or library

  1. Verify that you have the following administrative credentials:

    • You must be a user with Edit Items permissions on the list or library.

  2. Browse to the list or document library that contains the workflow for which you want to check status.

  3. In the row of the item for which you want to check status, click the link in the workflow status column.

    Note:

    The workflow status column is titled with the workflow's name.

  4. On the Workflow Status page, view the following information about the workflow:

    • Name of the person who initiated the workflow

    • Date and time the workflow started

    • Date and time the workflow was last run or resumed

    • Name and link to the document or item involved in the workflow

    • Current status of the workflow

    • If this workflow has a workflow visualization published with it, a Visio diagram type visualization of the workflow is displayed.

    • List of tasks assigned to the workflow participants

    • Lists of all events that have occurred in the history of this instance of the workflow thus far (for example, workflow initiation, task creation, task completion)

Depending on the type of workflow that you are viewing, the Workflow Status page might also contain links to modify, cancel, and terminate the workflow. For more information, see Manage workflows (SharePoint Server 2010).

Check detailed workflow status for a site workflow

Use these steps to check detailed workflow status for a site.

To check detailed workflow status for a site workflow

  1. Verify that you have the following administrative credentials:

    • You must be a member of the Site Owners SharePoint group.

  2. Browse to the site for which you want workflow status.

  3. In the Quick Launch, click All Site Content, and then click Site Workflows.

  4. On the Workflows page, do one of the following:

    • To view the status of workflows that are running, in the My Running Workflows section, click the name of the workflow for which you want status.

    • To view the status of workflows that have completed, in the My Completed Workflows section, click the name of the workflow for which you want status.

  5. On the Workflow Status page, view the following information about the workflow:

    • Name of the person who initiated the workflow

    • Date and time the workflow started

    • Date and time the workflow was last run or resumed

    • Current status of the workflow

    • List of tasks assigned to the workflow participants.

    • List of all events that have occurred in the history of this instance of the workflow thus far (for example, workflow initiation, task creation, task completion) appear in the Workflow History section.


View workflow reports (SharePoint Server 2010)

Microsoft SharePoint Server 2010 provides individual and aggregate workflow reports to enable you to assess the efficiency of your workflows and related business processes. You can use these reports to locate problems with processes or to determine whether a group or individual is meeting performance targets for a particular business process.

This article contains:

  • View site collection workflow usage summary

  • View individual workflow reports

View site collection workflow usage summary

You can display a list of available workflows for the site collection, their usage summary (active or inactive), how many times these workflows have been associated, and how many instances of each active workflow are running.

To view the site collection workflow usage summary

  1. Verify that you have the following administrative credentials:

    • You must be a member of the site collection administrators group on the site collection that you are configuring.

  2. Browse to the top-level site of the site collection for which you want to view workflow reports.

  3. On the Site Actions menu, click Site Settings.

  4. On the Site Settings page, in the Site Administration section, click Workflows to display the Site Collection Workflows report.

View individual workflow reports

SharePoint Server 2010 provides two predefined Microsoft Excel reports that provide aggregate analysis of workflow history for each workflow instance: the Activity Duration Report and the Cancellation and Error Report. The Activity Duration Report provides data about how long each activity within a workflow takes to complete as well as how long it takes for all tasks in the workflow to complete. The Cancellation and Error Report shows the workflows that have been cancelled or encountered errors before completion. Each of these reports is provided as an Microsoft Excel formatted file.

Note:

If you are using custom workflows, the appropriate parameters must be specified in the workflow template in order to generate the data for these reports. For more information, see Developing Workflow Solutions with SharePoint Server 2007 and Windows Workflow Foundation (http://go.microsoft.com/fwlink/p/?LinkId=120912).

To view individual workflow reports

  1. Verify that you have the following credentials:

    • You must be a user with Edit Item permissions to view individual workflow reports.

  2. Browse to the list or document library that contains the workflow for which you want to view reports.

  3. Point to the item or document that is involved in the workflow, click the arrow that appears, and then click Workflows.

  4. On the Workflows page, in the Running Workflows section, click the name of the workflow for which you want status. If no workflows are listed in this section, no workflows are currently running on the selected item.

  5. On the Workflow Status page, in the Workflow History section, click View workflow reports.

  6. On the View Workflow Reports page, locate the workflow association for which you want to view the reports, and do either of the following:

    • To view information about how long it is taking for each activity within a workflow to be completed and how long it takes each instance of the workflow to be completed, click Activity Duration Report.

    • To view information about which workflows were canceled or encountered errors before completion, click Cancellation & Error Report.

    Note:

    Reports are listed in alphabetical order by workflow association name. Activity Duration reports only return history data that contains duration information. Cancellation and Error Reports only return history data that contains errors or cancellation events.

  7. In the File Location section, click Browse, specify the location to which you want to save the report, and then click OK.


Troubleshoot workflow errors (SharePoint Server 2010)

Workflows are affected by problems in the user environment, especially the state of list items that a workflow operates upon and the server settings that govern workflows. When a problem is detected, workflows fail. The most common reasons for workflow failure are a defect in the workflow design, network issues, or restricted user permissions. Because of the high dependency on all these factors and the complexity with which workflows are built, troubleshooting workflows can be challenging.

View workflow errors in the browser

A workflow can fail for many reasons. For example, a workflow may be designed to create a new item in a library, but the library might have been deleted. Another possibility is that user permissions may have been changed since the workflow was started. This prevents a user from accessing the site to complete a workflow task. When a workflow does not complete successfully, its final status appears in the column with that workflow's name, in the list with which the workflow is associated.

In addition to the Completed status, a final status that you might see in this column is Error Occurred, Stopped, Failed on start (retrying), or Failed on start.

Resolve common workflow errors

When the final status of a workflow is Error Occurred, the first step in troubleshooting the workflow is to determine the cause of the error. The troubleshooting method that you use depends on the type of workflow in which the error occurred: a predefined workflow, a Microsoft SharePoint Designer workflow, or a Visual Studio custom workflow.

For predefined workflows, the workflow history list is a good troubleshooting tool. The workflow history displays the current state and all the previous states for a running workflow. When an error occurs in a workflow, the last event in the workflow history list is titled Error. The list provides information about when the error occurred, but the list typically does not provide a description of the problem to avoid revealing sensitive information that could lead to a security issue. The most common errors are caused by connectivity problems, incorrect e-mail settings, or restricted user permissions.

For information about how to access the workflow history list, see View workflow reports (SharePoint Server 2010).

For Microsoft SharePoint Designer workflows, when you create the workflow, you can insert actions that write to the history list at any point in the workflow. This information helps you determine the last successful step that the workflow completed before the error occurred and also the step in which the error occurred.

For Visual Studio custom workflows, you can use all the debugging functionality available with Visual Studio and the troubleshooting options for predefined workflows.

Note:

For more information about how to debug workflows, see Step 5: Debug Your Workflow (http://go.microsoft.com/fwlink/p/?LinkID=107820) on the Microsoft SharePoint team blog.


Deploy a workflow as a WSP file (SharePoint Server 2010)
See Also

When you create a workflow and save it as a workflow template (.wsp file), you can use the template to deploy the workflow on multiple sites and site collections.

Deploy a workflow as a WSP file

Running time: 3:34

Play video Watch the "Deploy a workflow as a WSP file" video

Download video For an optimal viewing experience, download the "Deploy a workflow as a WSP file" video.

Right-click the link, and then click Save Target As to download a copy. Clicking the link will open a .wmv file in the default video viewer for full-resolution viewing.

To deploy a workflow as a .wsp file, complete the following steps:

  • Download the WSP file

  • Upload the WSP file to a site collection

  • Activate the workflow feature on a site

Download the WSP file

Use the following procedure to open the Site Assets document library on the top-level site of the site collection that the workflow template was saved to and then download the workflow template as a .wsp file to a local folder on the server that is running Microsoft SharePoint Server 2010 or a network share. The downloaded file can then be uploaded to the Solutions Gallery of any site collection.

To download the WSP file to a file location

  1. On the top-level site, in the Quick Launch, click All Site Content.

  2. On the All Site Content page, in the Document Libraries section, click Site Assets.

  3. Point to the name of the workflow that you want to edit and click the arrow that appears.

  4. Point to Send To, and then click Download a Copy.

  5. In the File Download dialog box, click Save.

  6. In the Save As box, type the location to save the file, and then click Save.

  7. In the Download Complete dialog box, click Close.

Upload the WSP file to a site collection

Use one of the following procedures to upload the .wsp file to the Solution Gallery of a site collection. This will make the workflow template available as a feature which you will then activate on the site collection. This makes the workflow available as a feature on all sites in the site collection. However, this does not activate the feature on any sites in the site collection.

In this section:

  • To upload the WSP file to a site collection by using the user interface

  • To upload the WSP file to a site collection by using Windows PowerShell

To upload the WSP file to a site collection by using the user interface

  1. On the top-level site of the site collection, on the Site Actions menu, click Site Settings.

  2. On the Site Settings page, in the Galleries section, click Solutions.

  3. On the Solutions tab of the ribbon, in the New group, click Upload Solution.

  4. In the Upload Document dialog box, click Browse.

  5. In the Choose File to Upload dialog box, find the file share, click the WSP file, and then click Open.

  6. In the Upload Document dialog box, click OK.

    The Solution Gallery - Activate Solution dialog box appears.

  7. In the Solution Gallery - Activate Solution dialog box, click Activate.

    This makes the workflow available as a feature to all sites in this site collection. The name of the workflow now appears in the Solutions Gallery with Status set to Activated.

To upload the WSP file to a site collection by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin. You also need to be a member of the SharePoint_Shell_Access role on the content database. For more information, see Add-SPShellAdmin and Get-SPContentDatabase.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell command prompt, type the following command:

    Copy Code
    Add-SPUserSolution -LiteralPath <LiteralPath> -Site <SiteURL>

    Where:

    • <LiteralPath> is the full path that includes the name, of the WSP file.

    • <SiteURL> is the URL of the site collection.

    The workflow is now deployed as a feature. However, before you can use the workflow, you must activate it for the site collection.

  6. At the Windows PowerShell command prompt, type the following command:

    Copy Code
    Install-SPUserSolution -Identity <Solution> -Site <SiteURL>

    Where:

    • <Solution> is the name of the solution to activate.

    • <SiteURL> is the URL of the site collection.

For more information about the Add-SPUserSolution and Install-SPUserSolution cmdlets, see Install-SPUserSolution and Add-SPUserSolution.

Note:

We recommend that you use Windows PowerShell when performing command-line administrative tasks. The Stsadm command-line tool has been deprecated, but is included to support compatibility with previous product versions.

Activate the workflow feature on a site

Use one of the following procedures to activate the feature on any sites where you want to use the workflow.

In this section:

  • To activate the workflow feature on a site by using the user interface

  • To activate the feature on a site by using Windows PowerShell

To activate the workflow feature on a site by using the user interface

  1. Go to the site where you want to activate the feature and on the Site Actions menu, click Site Settings.

  2. On the Site Settings page, in the Site Actions section, click Manage site features.

    On the Features page for the site, you can see that the workflow template is available but not active.

  3. Click Activate.

    On the Features page, the workflow template Status now appears as Active.

To activate the feature on a site by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin. You also need to be a member of the SharePoint_Shell_Access role on the content database. For more information, see Add-SPShellAdmin and Get-SPContentDatabase.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell command prompt, type the following command:

    Copy Code
    Enable-SPFeature -Identity <Feature> -Url <URL>

    Where:

    • <Feature> is the name of the feature to activate.

      Note:

      The feature name is not the same name that you gave the workflow. Instead, the feature name is typically the workflow name with "ListInstances" appended to it.

      If you are not sure of the name of the feature that you want to activate, you can do the following to verify the feature name. 1) Make a copy of the .wsp file and change the file name extension on the copied file to .cab. 2) In Windows Explorer, right-click the .cab file, and then click Open. 3) Select feature.xml. The feature name is listed in the Path column.

    • <URL> is the URL of the site.

For more information about the Enable-SPFeature cmdlet, see Enable-SPFeature.

Note:

We recommend that you use Windows PowerShell when performing command-line administrative tasks. The Stsadm command-line tool has been deprecated, but is included to support compatibility with previous product versions.

See Also

Other Resources

Resource Center: Workflows in SharePoint Server 2010


An end-to-end process using InfoPath 2010 forms, Visio 2010, and SharePoint Designer 2010 for workflows
See Also

This video by Asif Rehmani demonstrates the interaction among Microsoft SharePoint Designer 2010, InfoPath Forms Services in Microsoft SharePoint Server 2010, and workflows.

Asif Rehmani is a SharePoint MVP, SharePoint MCT, and president of SharePoint-Videos.com. For more videos from Asif, see http://www.Sharepoint-Videos.com (http://go.microsoft.com/fwlink/?LinkId=187074).

InfoPath Forms Services in Microsoft SharePoint Server 2010 provide a great way to capture information from a user. Forms can be presented to a user as a Web form right within a SharePoint site. Users can complete a form which gets submitted to the form library in a site. The form library can then use a workflow to route that form for approval. In addition, you can use Microsoft SharePoint Designer 2010 to create the workflow. Workflows can also be modeled in Microsoft Visio 2010 and then transferred to Microsoft SharePoint Designer. This video demonstrates the interaction among SharePoint Designer, InfoPath Forms Services, and workflows.

End-to-end workflow scenario

Running time: 25:46

Play video Watch the "End-to-end process for workflows" video

Download video For an optimal viewing experience, download the "End-to-end process for workflows" video.

Right-click the link, and then click Save Target As to download a copy. Clicking the link will open a .wmv file in the default video viewer for full-resolution viewing.

About the author

Asif is an independent SharePoint Trainer and Consultant who is a SharePoint Server MVP and a Microsoft Certified Trainer (MCT). He is the co-author of the Wrox publication "Professional SharePoint Designer 2007." Over the years, Asif has provided SharePoint consulting and training to many large clients including: Department of Defense, NASA, Hersheys, Toshiba, State Farm, Federal Home Loan Bank, US Army and many more. Here are some conferences at which Asif has been a speaker:

  • Microsoft's SharePoint Conference

  • Microsoft's TechEd Conference

  • SharePoint Connections

  • Advisor Live

Asif is very active in the Chicago SharePoint community. He is the co-founder and an active leader of the Chicago SharePoint User Group.

Related resources

Resource | Description
Plan workflows (SharePoint Server 2010) | Learn about how to plan workflows and how to use various tools to create workflows.
SharePoint-Videos.com (http://go.microsoft.com/fwlink/?LinkId=187074) | Find more videos from Asif Rehmani.
SharePoint Products Tech Center (http://go.microsoft.com/fwlink/?LinkID=177939) | Find details about related technologies, downloads, and additional resources.

See Also

Concepts

Video demos and training for SharePoint Server 2010


Create reusable workflows using SharePoint Designer 2010 and attach to content types
See Also

This video by Asif Rehmani illustrates how to create a reusable workflow, attach it to a content type, and then use that content type in a library.

Asif Rehmani is a SharePoint MVP, SharePoint MCT, and president of SharePoint-Videos.com. For more videos from Asif, see http://www.Sharepoint-Videos.com (http://go.microsoft.com/fwlink/?LinkId=187074).

Being able to create reusable workflows is a major component of Microsoft SharePoint Designer 2010. In this presentation, you will see how you can create a reusable workflow, attach it to a content type, and then use that content type in a library.

Create reusable workflows

Running time: 12:41

Play video Watch the "Create reusable workflows" video.

Download video For an optimal viewing experience, download the "Create reusable workflows" video.

Right-click the link, and then click Save Target As to download a copy. Clicking the link will open a .wmv file in the default video viewer for full-resolution viewing.

About the author

Asif is an independent SharePoint Trainer and Consultant who is a SharePoint Server MVP and a Microsoft Certified Trainer (MCT). He is the co-author of the Wrox publication "Professional SharePoint Designer 2007." Over the years, Asif has provided SharePoint consulting and training to many large clients including: Department of Defense, NASA, Hersheys, Toshiba, State Farm, Federal Home Loan Bank, US Army and many more. Here are some conferences at which Asif has been a speaker:

  • Microsoft's SharePoint Conference

  • Microsoft's TechEd Conference

  • SharePoint Connections

  • Advisor Live

Asif is very active in the Chicago SharePoint community. He is the co-founder and an active leader of the Chicago SharePoint User Group.

Related resources

Resource | Description
Manage external content types (SharePoint Server 2010) | Learn about how to plan workflows and how to use various tools to create workflows.
SharePoint-Videos.com (http://go.microsoft.com/fwlink/?LinkId=187074) | Find more videos from Asif Rehmani.
SharePoint Products Tech Center (http://go.microsoft.com/fwlink/?LinkID=177939) | Find details about related technologies, downloads, and additional resources.

See Also

Concepts

Video demos and training for SharePoint Server 2010


Create a site workflow and modify its form using InfoPath Forms 2010
See Also

This video by Asif Rehmani illustrates how to use Microsoft SharePoint Designer 2010 to create a site workflow, which is a site itself.

Asif Rehmani is a SharePoint MVP, SharePoint MCT, and president of SharePoint-Videos.com. For more videos from Asif, see http://www.Sharepoint-Videos.com (http://go.microsoft.com/fwlink/?LinkId=187074).

One type of workflow that you can create by using Microsoft SharePoint Designer 2010 is a site workflow. This type of workflow is not attached to a list or library but rather to a site itself. This video illustrates how to accomplish that. In addition, you will also see how to use InfoPath Forms Services in Microsoft SharePoint Server 2010 to modify the user interface form that this workflow creates.

Create a modify a site workflow

Running time: 16:48

Play video Watch the "Create a site workflow" video

Download video For an optimal viewing experience, download the "Create a site workflow" video.

Right-click the link, and then click Save Target As to download a copy. Clicking the link will open a .wmv file in the default video viewer for full-resolution viewing.

About the author

Asif is an independent SharePoint Trainer and Consultant who is a SharePoint Server MVP and a Microsoft Certified Trainer (MCT). He is the co-author of the Wrox publication "Professional SharePoint Designer 2007." Over the years, Asif has provided SharePoint consulting and training to many large clients including: Department of Defense, NASA, Hersheys, Toshiba, State Farm, Federal Home Loan Bank, US Army and many more. Here are some conferences at which Asif has been a speaker:

  • Microsoft's SharePoint Conference

  • Microsoft's TechEd Conference

  • SharePoint Connections

  • Advisor Live

Asif is very active in the Chicago SharePoint community. He is the co-founder and an active leader of the Chicago SharePoint User Group.

Related resources

Resource | Description
Plan workflows (SharePoint Server 2010) | Learn about how to plan workflows and how to use various tools to create workflows.
SharePoint-Videos.com (http://go.microsoft.com/fwlink/?LinkId=187074) | Find more videos from Asif Rehmani.
SharePoint Products Tech Center (http://go.microsoft.com/fwlink/?LinkID=177939) | Find details about related technologies, downloads, and additional resources.

See Also

Concepts

Video demos and training for SharePoint Server 2010


InfoPath forms administration (SharePoint Server 2010)
See Also

The articles in this section describe the tasks and procedures that server farm administrators can use when they operate and maintain InfoPath Forms Services in Microsoft SharePoint Server 2010. The articles include the following:

  • Configure InfoPath Forms Services (SharePoint Server 2010)

    Describes the configuration options that are available for InfoPath Forms Services settings for user form templates, including settings for browser-enabled form templates, data connections, and session-state.

  • Manage administrator-approved form templates (SharePoint Server 2010)

    Describes the tasks that are available for server farm administrators to manage administrator-approved form templates, including uploading, activating, approving, upgrading, quiescing, and deleting administrator-approved form templates.

  • Manage data connection files for InfoPath Forms Services (SharePoint Server 2010)

    Describes the tasks and procedures that are available for administrators to manage data connections for InfoPath Forms Services.

  • Configure Web service proxy for InfoPath Forms Services (SharePoint Server 2010)

    Describes the administration tasks and procedures that are available to configure the Web Service Proxy that is used by InfoPath Forms Services to authenticate and authorize access to data from Web services.

  • Manage the State Service (SharePoint Server 2010)

    Describes the administration tasks and procedures that are available to configure and manage the State Service. The State Service is used to store temporary data across related HTTP requests in a SQL database. InMicrosoft SharePoint Server 2010, the State Service is required by InfoPath Forms Services and by the SharePoint Server 2010 Chart Web Part.

See Also

Concepts

Plan InfoPath Forms Services (SharePoint Server 2010)
Sandboxed solutions overview (SharePoint Server 2010)


Configure InfoPath Forms Services (SharePoint Server 2010)
See Also

InfoPath Forms Services in Microsoft SharePoint Server 2010 gives you the ability to deploy your organization's forms to Microsoft SharePoint Server and enable users to fill out these forms by using a Web browser. There are many ways you can configure InfoPath Forms Services depending on the needs of your organization.

This article includes configuration settings that apply only to user form templates. User form templates are form templates that are not deployed by an administrator. User form templates do not require full trust and do not contain code or other business logic that requires it to be published to the Central Administration site. Form designers can publish user form templates to a list or a form library in a site collection. Because user form templates can be deployed by many users, a server can potentially host thousands of user form templates. Even form templates that contain no business logic can cumulatively put a heavy load on the server.

Note:

For more information about capacity management for InfoPath solutions, you can download the SharePoint Server 2010 Capacity Management for InfoPath Solutions whitepaper from the Microsoft Download Center (http://go.microsoft.com/fwlink/p/?LinkId=191156).

Note:

User form templates that contain code can be published by site collection administrations to form libraries as sandboxed solutions. For more information about sandboxed solutions, see Sandboxed solutions overview (SharePoint Server 2010). Form templates that require full trust or use a data connection that is managed by an administrator must be deployed by an administrator. For more information about administrator-approved form templates, see Manage administrator-approved form templates (SharePoint Server 2010).

In this article:

  • Configure browser-enabled user form templates

  • Configure authentication and data connection settings for InfoPath Forms Services

  • Configure user session settings for InfoPath Forms Services

Configure browser-enabled user form templates

When form templates are published to a server that is running InfoPath Forms Services, the designer of the form template can choose to make the form template browser-enabled. This enables a user to fill out the form by using a Web browser.

Administrators can configure the following settings for browser-enabled user form templates:

  • Enable or disable publishing of browser-enabled user form templates. If you disable publishing of browser-enabled user form templates, form designers can only publish form templates that are not browser-enabled. In this case, all browser-compatible features are disabled in the form template.

  • Enable or disable rendering of browser-enabled user form templates. If you disable rendering of browser-enabled user form templates, users cannot use a Web browser to fill out the browser-enabled form and must use Microsoft InfoPath Filler 2010 to open the form.

By default, browser-enabled user form templates can be published and rendered.

To configure browser-enabled user form templates by using Central Administration

  1. Verify that the user account that is performing this procedure is a member of the Farm Administrators SharePoint group.

  2. On the Quick Launch of the Central Administration Web site, click General Application Settings.

  3. On the General Application Settings page, in the InfoPath Forms Services section, click Configure InfoPath Form Services.

  4. On the Configure InfoPath Forms Services page, in the User Browser-enabled Form Templates section, you can choose settings that determine how user form templates are processed by InfoPath Forms Services.

    Note:

    These settings apply only to form templates published to form libraries. Workflow form templates and list forms are not affected.

    1. Select the Allow users to browser-enable form templates check box to allow users to publish browser-enabled form templates.

      Note:

      Clearing this check box disables browser-enabled form templates across the entire server farm.

    2. Select the Render form templates that are browser-enabled by users check box to allow browser-enabled form templates that users publish to be rendered in a Web browser.

      Note:

      If this option is not selected, users can still publish browser-compatible form templates to form libraries, but these form templates cannot be filled out by using a Web browser.

  5. Click OK to save the settings.

  6. Configure any other settings for InfoPath Forms Services that affect browser-enabled forms, including settings for HTTP data connections. For information about other settings, see the other procedures in this article.

To configure browser-enabled user form templates by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell command prompt, type the following command:

    Copy Code
    Set-SPInfoPathFormsService -AllowUserFormBrowserEnabling <BrowserEnablingSetting> -AllowUserFormBrowserRendering <BrowserRenderingSetting>

    Where:

    • <BrowserEnablingSetting> is a Boolean value that specifies whether to allow users to publish browser-enabled form templates. True to allow users to publish browser-enabled form templates; otherwise, False.

    • <BrowserRenderingSetting> is a Boolean value that specifies whether to allow browser-enabled user form templates to be rendered in a Web browser. True to allow browser-enabled user form templates to be rendered; otherwise, False.

    Note:

    These settings apply only to form templates published to form libraries. Workflow form templates and list forms are not affected.

For more information, see Set-SPInfoPathFormsService.

Configure authentication and data connection settings for InfoPath Forms Services

Administrators can configure the following settings for authentication and data connections:

  • Enable or disable user form templates to use authentication information in data connection files.

    Form templates make data connections by using the default authentication methods and authorization settings for the user account in Windows. Form templates can use data connection (.udcx) files to specify data connection options for forms. This can include alternative authentication information such as a Secure Store Service application ID. By default, user form templates cannot use authentication information in data connection files. You can choose to allow user form templates to use the authentication information in the data connection files.

    Note:

    You can also use the InfoPath Forms Services Web service proxy to authenticate requests for forms data across servers and domains. For more information, see Configure Web service proxy for InfoPath Forms Services (SharePoint Server 2010).

  • Enable or disable cross-domain access for user form templates.

    User form templates can contain data connections that access data from sources outside the current site collection. You can choose to allow user form templates to perform cross-domain data access. By default, this behavior is disabled.

  • Specify data connection time-out length and maximum data connection response size.

To configure authentication and data connection settings for InfoPath Forms Services by using Central Administration

  1. Verify that the user account that is performing this procedure is a member of the Farm Administrators SharePoint group.

  2. On the Quick Launch of the Central Administration Web site, click General Application Settings.

  3. On the General Application Settings page, in the InfoPath Forms Services section, click Configure InfoPath Form Services.

  4. On the Configure InfoPath Forms Services page, in the Data Connection Timeouts section, specify default and maximum time-outs for data connections from a browser-enabled form.

    The connection time-out can be changed by code in the form template, but it will never exceed the maximum time-out specified.

    1. In the Default data connection timeout box, type the time in milliseconds that will elapse before a data connection times out.

      The default time-out is 10,000 milliseconds. You can override this setting with code within a form template that specifies the data connection time-out value.

    2. In the Maximum data connection timeout box, type the maximum time in milliseconds that will elapse before a data connection times out.

      The default time-out is 20,000 milliseconds. This is an absolute setting, and it overrides all data connection time-out values that are specified within form template code that exceed 20,000 milliseconds.

  5. In the Data Connection Response Size section, type a value in kilobytes in the box to specify the maximum size of responses that data connections are allowed to process.

    Data connection responses that exceed this value will generate an error message.

  6. In the HTTP data connections section, select the Require SSL for HTTP authentication to data sources check box to require an SSL-encrypted connection for data connections that use Basic authentication or Digest authentication.

    You must have correctly configured Secure Sockets Layer (SSL) for this setting to function.

  7. In the Embedded SQL Authentication section, select the Allow embedded SQL authentication check box to allow forms to use embedded SQL Server credentials.

    Security Note:

    Forms that connect to databases can embed SQL Server user name and password data in the connection string. The connection string can be read in plaintext in the data connection file that is associated with the solution or in the solution manifest.

  8. In the Authentication to data sources (user form templates) section, select the Allow user form templates to use authentication information contained in data connection files check box to allow user form templates to use embedded authentication information, such as a Microsoft Secure Store application ID.

  9. In the Cross-Domain Access for User Form Templates section, select the Allow cross-domain data access for user form templates that use connection settings in a data connection file check box to allow user form templates to access data from another domain.

  10. Click OK to save the settings.

To configure authentication settings for InfoPath Forms Services by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. To enable user form templates to use authentication information that is stored in a data connection file and to access data from another domain, type the following command:

    Copy Code
    Set-SPInfoPathFormsService -AllowUdcAuthenticationForDataConnections $true -AllowUserFormCrossDomainDataConnections $true

The previous procedure shows one way to use the Set-SPInfoPathFormsService cmdlet. You can provide additional arguments to the cmdlet to configure other settings. For more information about the Set-SPInfoPathFormsService cmdlet, see Set-SPInfoPathFormsService.

Configure user session settings for InfoPath Forms Services

InfoPath Forms Services uses the SharePoint Server State Service to store the transient data that is generated while a form is being filled out. As a result, front-end Web servers can remain stateless between round trips, and user session data does not have to be sent repeatedly and consume unnecessary bandwidth.

You can configure user session settings including session postback thresholds, time-outs, and session size for InfoPath Forms Services across the server farm. If any of the thresholds are exceeded, the user's session is terminated, which results in the loss of all form data, and an error is entered in the event log for the server. The error message that is shown to the user is "session has exceeded the amount of allowable resources."

The default parameters work for most scenarios. If you change the default settings, verify that form-filling sessions are working correctly.

Configure session state for InfoPath Forms Services

Farm administrators can use the following procedures to configure session state.

To configure session state for InfoPath Forms Services by using Central Administration

  1. Verify that the user account that is performing this procedure is a member of the Farm Administrators SharePoint group.

  2. On the Quick Launch of the Central Administration Web site, click General Application Settings.

  3. On the General Application Settings page, in the InfoPath Forms Services section, click Configure InfoPath Form Services.

  4. On the Configure InfoPath Forms Services page, in the Thresholds section, specify the thresholds at which to end user sessions and log error messages.

    The form operations that exceed these thresholds terminate the user session, lose all form data that was entered during the session, and generate an error message.

    1. In the Number of postbacks per session box, type the maximum number of postbacks you want to allow. The default value is 75.

    2. In the Number of actions per postback box, type the maximum number of actions per postback you want to allow. The default value is 200.

  5. In the User Sessions section, configure the following parameters:

    1. In the Active sessions should be terminated after box, type the maximum session duration in minutes.

      Form-filling sessions that are longer than this limit are ended, generate an error message, and lose all form data that was entered during the session. The default value is 1,440 minutes.

    2. In the Maximum size of user session data box, type the maximum session state size in kilobytes.

      Form-filling sessions that are longer than this limit are ended, generate an error message, and lose all form data that was entered during the session. The default value is 4,096 kilobytes.

      The State Service stores data that is required to maintain a user session. File attachment data in the form will receive an additional 50 percent of state size.

  6. Click OK to save the settings.

To configure session state for InfoPath Forms Services by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. To change the active session timeout, type the following command:

    Copy Code
    Set-SPInfoPathFormsService -ActiveSessionTimeout <TimeoutValue>

    Where <TimeoutValue> is the maximum session duration in minutes that a form's session state can remain active. The default value is 1440.

The previous procedure shows one way to use the Set-SPInfoPathFormsService cmdlet. You can provide additional arguments to the cmdlet to configure other settings. For more information about the Set-SPInfoPathFormsService cmdlet, see Set-SPInfoPathFormsService.

Session state versus Form view

You can configure InfoPath Forms Services to use the State Service (the default option) or use Form view (ASP.NET view state). When you configure InfoPath Forms Services to use the State Service, all browser sessions are maintained on the State Service database, which uses little network bandwidth between the Web server and the user, but uses more bandwidth between the Web server and the database server. When you are using Form view, sessions are maintained on the client browser, and all session data is included in each postback to the server, up to 40 KB of session data. This approach uses more bandwidth than using session state does, but it does not affect the performance of the database server. When session data in Form view reaches a size of 40 KB, the session automatically changes to the State Service.

Form view works better in environments that have smaller groups of users, because it reduces the load on the database server. If the InfoPath Forms Services deployment will have many users, especially if session data is less than 40 KB for many high-usage form templates, using the State Service is likely a better choice. When you use Form view, the bandwidth that is used by browser sessions of 40 KB or less can be monitored if you are concerned that network performance might be adversely affected.

Note:

The view state setting not accessible in the user interface. You must use Windows PowerShell to change this setting.

To enable Form view by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. To enable Form view and to specify the maximum size in kilobytes of the session state, type the following command:

    Copy Code
    Set-SPInfoPathFormsService -AllowViewState $true -ViewStateThreshold 40961

For more information, see Set-SPInfoPathFormsService.

See Also

Concepts

InfoPath Services cmdlets (SharePoint Server 2010)
InfoPath forms administration (SharePoint Server 2010)

Other Resources

Resource Center: Workflows in SharePoint Server 2010


Manage administrator-approved form templates (SharePoint Server 2010)
See Also

Form templates have different administrator requirements depending on the way they use code and connect to data.

Many form templates in InfoPath Forms Services in Microsoft SharePoint Server 2010 can be uploaded by users without being individually approved by an administrator. These form templates are called "user form templates."

Form templates that contain business logic driven by managed code, access data from external resources, or use data connections that are managed by an administrator must be granted trust to execute code and access data. This trust comes in two forms:

  • Sandboxed solutions enable users to upload form templates with code or data connections in environments without full trust. Sandboxed solutions make connections and execute code in a limited environment, without needing individual approval by administrators, and they cannot include code that requires full trust, such as impersonating accounts by using administrator-level privileges. The level of trust for sandboxed solutions is configured in advance by the administrator.

    For more information about how to manage sandboxed solutions for forms, see Sandboxed solutions overview (SharePoint Server 2010).

  • Administrator-approved form templates are individually verified, uploaded, and activated by an administrator with full trust to the domain. Administrator-approved form templates contain code that requires full trust. Administrator-approved form templates are maintained in a special document library that can be accessed only by administrators.

Because of the potential for security, performance, and manageability issues, it is important that administrator-approved form templates are thoroughly reviewed by an administrator before uploading.

Server farm administrators verify and upload form templates, after which site administrators can activate and manage form templates on the site collections that they own. Form templates that have been activated to a site collection can be managed from the site collection settings page and the document libraries in which they are stored.

Server farm administrators can also activate or deactivate form templates. Form templates can be removed, which stops any forms that are based on that template from being completed. Administrators can also quiesce form templates before they remove them, which allows current form sessions to be completed before the form template is removed.

On the Manage Form Templates page in the Central Administration Web site, you can view a list of all existing administrator-approved form templates in the server farm. You can manage form templates on this page, or you can manage them by using Windows PowerShell. As the server farm administrator, the form designer will typically design and deliver a form template that is ready to be uploaded.

In this article:

  • Deploy administrator-approved form templates

  • Upgrade administrator-approved form templates

  • Modify the category of a form template

Deploy administrator-approved form templates

To deploy an administrator-approved form template, you must complete three actions after the form template has been designed: verify, upload, and activate. These steps can either be performed through the command-line interface or through the Central Administration site. You can upload a form template by using the Publishing Wizard in the InfoPath program, using the command line on a server running InfoPath Forms Services in the farm to which the form template will be deployed, or by using the Central Administration interface. As the farm administrator, you typically receive from the form designer a form template that is already prepared for deployment.

In this section:

  • Upload and verify administrator-approved form templates

  • Activate administrator-approved form templates

Upload and verify administrator-approved form templates

The first step in deploying an administrator-approved template is to upload it to the centrally managed forms library on the Central Administration site.

Note:

Form template verification, which is an optional step in the deployment process, checks that the form template is acceptable and can be uploaded to the server. This step should be performed by the administrator prior to deployment to verify that a solution is valid. If you do not verify the form template manually, it will be automatically verified during the upload process. Manual verification will return both messages and errors, but automatic verification will only return errors, if any.

To upload and verify an administrator-approved form template by using the Central Administration site

  1. Verify that you have the following administrative credentials: You must be the farm administrator.

  2. On the Quick Launch of the Central Administration Web site, click General Applications Settings.

  3. On the General Applications Settings page, in the InfoPath Forms Services section, click Upload form template.

  4. On the Upload Form Template page, in the Upload Form Template section, click Browse.

  5. In the Choose File to Upload window, select the template that you want to verify, and then click Open.

  6. Click Verify to check the form template for problems. If there are problems with the form template, they will be displayed in the Report Details section of the Form Verification Report.

    If the verification process returns errors, the form designer can correct the errors and messages and provide you with an updated form template. Then you can repeat the previous steps. If there were no errors and no unacceptable messages, you can continue with the upload or upgrade.

    Note:

    If the system warns you that the form template already exists, you can remove the template and then repeat the procedure to upload the form template.

  7. Click OK to return to the Upload Form Template page. When you return to the Upload Form Template page after you verify a form template, you must browse for the template again.

  8. On the Upload Form Template page, in the Upload Form Template section, click Browse.

  9. In the Choose File window, select the template you want to upload, and then click Open.

  10. In the Upgrade section, choose how you want InfoPath Forms Services in SharePoint Server 2010 to behave if another version of the form template already exists on the server.

    • If a previous version of the form template does not exist on the server, or if you do not want to upgrade the existing version of the form template to the new version automatically, clear the Upgrade the form template if it already exists check box. By default, this box is selected.

    • After you upgrade the form template, new sessions start using the upgraded version of the form template. Forms that are already open will continue to use the current version of the form template. If you want existing browser-based form-filling sessions to continue to use the previous version of the form template, leave Allow existing browser-based form filling sessions to complete using the current version of the form template selected. Otherwise, select Terminate existing browser-based form filling sessions.

      Important:

      If you select this choice, any data in existing sessions is lost.

    • To wait until all sessions of the form template have been completed before upgrading, open the Manage Form Templates page, click the form template, and then click Quiesce Form Template. For more information about quiescing form templates, see the Quiesce administrator-approved form templates section later in this article.

  11. Click Upload. The upload process can take a few minutes to finish, particularly in a server farm with multiple front-end Web servers. You can check the status of the upload on the Manage Form Templates page.

To upload and verify an administrator-approved form template by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. To verify an administrator-approved form template, type the following command:

    Copy Code
    Test-SPInfoPathFormTemplate -Path "<FullPathName>"

    Where <FullPathName> is the full path and name of the administrator-approved form template to verify.

  6. To upload the administrator-approved form template, type the following command:

    Copy Code
    Install-SPInfoPathFormTemplate -Path "<FullPathName>"

    Where <FullPathName> is the full path and name of the administrator-approved form template to upload.

For more information, see Test-SPInfoPathFormTemplate and Install-SPInfoPathFormTemplate.

Note:

We recommend that you use Windows PowerShell when performing command-line administrative tasks. The Stsadm command-line tool has been deprecated, but is included to support compatibility with previous product versions.

Although the administrator-approved form template has been uploaded to the central forms library, it is not yet available to users. It must be activated by the administrator of the site collection or by a server farm administrator who also has administration privileges to the site collection.

Activate administrator-approved form templates

To make an administrator-approved form template available to users, the form template must be activated to a site collection. Form templates can be activated to a site collection from the site collection features page by a site collection administrator. A form template can also be activated to a site collection from the Central Administration site by a server farm administrator who has administrator privileges to that site collection. A form template can be activated to more than one site collection; repeat the activation process for each site collection to which you want to activate the form.

Note:

Before you activate a form template that uses data connections, ensure that the data connections are configured appropriately.

Note:

InfoPath Forms Services in SharePoint Server 2010 is not supported for site collections based on the Basic Meeting Workspace template. If you activate a form template to a basic meeting workspace, the activation will appear to succeed, but the form template will not be accessible from the site collection. Form templates that are available for activation by site collection administrators will appear in the site collection features list. However, if you attempt to activate a form template to the site collection or to activate the Office SharePoint Server Enterprise feature, which enables InfoPath Forms Services in SharePoint Server 2010, you see an error message that reads Required Feature: One or more features must be turned on before this feature can be activated.

To activate an administrator-approved form template to a site collection from the Central Administration site

  1. Verify that you have the following administrative credentials: You must be the farm administrator and the site collection administrator.

  2. On the Quick Launch of the Central Administration Web site, click General Applications Settings.

  3. On the General Applications Settings page, in the InfoPath Forms Services section, click Manage form templates.

  4. On the Manage Form Templates page, click the name of the form template that you want to activate, and then click Activate to a Site Collection.

  5. To activate the form template to the current site collection, click OK. The form template is now available to users.

    • To choose a different site collection, in the Activation Location section, click the site collection box, and then click Change Site Collection. The Select Site Collection dialog box appears.

    • Click the URL of the site collection to which you want to activate the form template, and then click OK. If the site collection you want is on a different Web application, click the Web Application box, click Change Web Application, and then click the name of the Web application. Then click the appropriate site collection and click OK.

The form template is now available for users to access.

To activate a form template to a site collection from the Site collection features page

  1. Verify that you have the following administrative credentials: You must be the site collection administrator.

  2. In a Web browser, open the site collection home page.

  3. In the top navigation bar, click the Site Actions menu, and then click Site Settings.

  4. On the Site Settings page, in the Site Actions section, click Manage site collection features.

  5. Activate the form template to the current site collection by finding the form template in the features list and clicking Activate.

The form template is now available for site collection users to access.

To activate an administrator-approved form template by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: You must be the site collection administrator and have the SharePoint_Shell_Access role on the content database. For more information, see Add-SPShellAdmin and Get-SPContentDatabase.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell command prompt, type the following command:

    Copy Code
    Enable-SPInfoPathFormTemplate -Identity "<FormTemplateName>" -Site "<SiteCollectionURL>"

    Where:

    • <FormTemplateName> is name of the administrator-approved form template.

    • <SiteCollectionURL> is the URL of the site collection where you want to activate the administrator-approved template.

For more information, see Enable-SPInfoPathFormTemplate.

Note:

We recommend that you use Windows PowerShell when performing command-line administrative tasks. The Stsadm command-line tool has been deprecated, but is included to support compatibility with previous product versions.

To verify that the form template is available

  1. On the home page of the site collection that contains the active template, on the Site Actions menu, click View All Site Content.

  2. On the All Site Content page, in the Document Libraries section, click the Form Templates document library. The template that you made available appears in the Form Templates list.

Upgrade administrator-approved form templates

Each administrator-approved form template is identified by its embedded uniform resource name (URN). When a form template is being uploaded, the system verifies whether the URN is already registered. If the URN is not registered, the form template is added as a new form template. If the URN is registered, the system behaves as follows:

  • Earlier Version: If the incoming version is earlier than the existing version, the following error message is displayed: "There is already a more recent version of this form template on the server. Either remove the existing form template from the server or increase the version of the new form template and try again."

  • Same Version: If the incoming version is the same version number as the existing version, the following error is displayed: "A form template with the same version is already on the server. This may be the same form template, or you might have to increase the version of the form template and try again."

  • New Version: If the incoming version is a newer version than the existing version and version upgrade has been requested by the user, the administrator can choose one of several options for upgrading the form template.

When you upgrade a form template, you have four options for how to handle existing sessions to the current form template:

  • Allow existing browser-based form-filling sessions to finish using the current version of the form template.

  • Terminate existing browser-based form filling sessions. Users must begin new form-filling sessions with the upgraded form template. This approach is useful if a form template contains a serious bug or security issue, and you want to make the form template unavailable immediately.

  • Perform a gradual upgrade, in which you upload the new version as a separate form template and eventually remove the old version when it is no longer being accessed by users. This is a useful approach when your form template can be accessed as an embedded form or through a link on a Web page, and you are not concerned about the possibility of the old version being accessed during the upgrade process. With both form templates available on InfoPath Forms Services, you can modify the link to the form template on your Web page.

  • Quiesce the form template before you upgrade to the new version. When you quiesce a form template, you gradually make a transition to a form template from an active state to an inactive state. This upgrade method allows users to finish their current form-filling sessions but prevents new sessions from being started. This upgrade method is useful when you want to ensure that a form template cannot be accessed after a given time.

Note:

Before you upgrade an administrator-approved form template, make sure that you have adequately reviewed the new template and checked for problems that might affect security and correct operation of the form.

In this section:

  • Quiesce administrator-approved form templates

  • Deactivate administrator-approved form templates

  • Delete administrator-approved form templates

Quiesce administrator-approved form templates

In a production environment, updating an administrator-approved form template requires more than replacing the old template with the new one. It is possible that users will have active form-filling sessions open. You might want to control the upgrade process to allow active sessions to finish before making a form template unavailable. By using the quiesce function, you can deactivate and manage a form template immediately without affecting existing form sessions.

To quiesce an administrator-approved form template by using Central Administration

  1. Verify that you have the following administrative credentials: You must be the farm administrator.

  2. On the Quick Launch of the Central Administration Web site, click General Applications Settings.

  3. On the General Applications Settings page, in the InfoPath Forms Services section, click Manage form templates.

    Note:

    Form templates that are available to users are designated as Ready in the Status column.

  4. Click the name of the form template, and then click Quiesce Form Template.

  5. In the Quiesce section, type the number of minutes to quiesce form sessions before form templates are completely deactivated. On a production system, you should quiesce the form for at least as long as the session state is configured for the server. By default, session state is configured for 240 minutes.

  6. Click Start Quiescing. In the Quiesce section, the status changes to Quiescing.

  7. To verify that your form has successfully quiesced, check the status on the Manage Form Templates page.

    Note:

    In the Status column, the form templates that you have quiesced will be designated as Quiesced.

  8. Any time after the form template is quiesced, you can upload a new version of the form.

To quiesce an administrator-approved form template by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell command prompt, type the following command:

    Copy Code
    Stop-SPInfoPathFormTemplate -Identity "<FormTemplateName>"

    Where <FormTemplateName> is the name of the form template to quiesce.

For more information, see Stop-SPInfoPathFormTemplate.

Note:

We recommend that you use Windows PowerShell when performing command-line administrative tasks. The Stsadm command-line tool has been deprecated, but is included to support compatibility with previous product versions.

Deactivate administrator-approved form templates

You can deactivate an administrator-approved form template from a site collection. This removes the form template from any document library in the site collection. Any existing form-filling sessions are terminated and all data currently entered into open forms that are rendered from this form template is lost. If you want to allow existing sessions to finish before you deactivate the form template, you can quiesce the form template. For more information, see the Quiesce administrator-approved form templates section earlier in this article.

To deactivate an administrator-approved form template from a site collection

  1. Verify that you have the following administrative credentials: You must be the farm administrator and the site collection administrator.

  2. On the Quick Launch of the Central Administration Web site, click General Applications Settings.

  3. On the General Applications Settings page, in the InfoPath Forms Services section, click Manage form templates.

  4. On the Manage Form Templates page, click the name of the form template that you want to deactivate, and then click Deactivate from a Site Collection.

  5. To deactivate the form template from the current site collection, click OK. The form template is now unavailable to users.

  6. To choose a different site collection, in the Deactivation Location section, click the Site Collection box, and then click Change Site Collection. The Select Site Collection dialog box appears.

  7. Click the URL of the site collection from which you want to deactivate the form template, and then click OK. If the site collection that you want is on a different Web application, click the Web Application box, click Change Web Application, and click the name of the Web application. Click the appropriate site collection, and then click OK.

To deactivate a form template by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: You must be the site collection administrator and have the SharePoint_Shell_Access role on the content database. For more information, see Add-SPShellAdmin and Get-SPContentDatabase.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell command prompt, type the following command:

    Copy Code
    Disable-SPInfoPathFormTemplate -Identity "<FormTemplateName>" -Site "<SiteCollectionURL>"

    Where:

    • <FormTemplateName> is the name of the form template to deactivate.

    • <SiteCollectionURL> is the URL of the site collection that contains the form template to deactivate.

For more information, see Disable-SPInfoPathFormTemplate.

Note:

We recommend that you use Windows PowerShell when performing command-line administrative tasks. The Stsadm command-line tool has been deprecated, but is included to support compatibility with previous product versions.

Delete administrator-approved form templates

You can delete an administrator-approved form template from the entire server farm. When you delete a form template from the Manage Forms Template page, it is no longer available in any site collection.

To delete an administrator-approved form template by using Central Administration

  1. Verify that you have the following administrative credentials: You must be the farm administrator.

  2. On the Quick Launch of the Central Administration Web site, click General Applications Settings.

  3. On the General Applications Settings page, in the InfoPath Forms Services section, click Manage form templates.

  4. On the Manage Form Templates page, click the name of the form template that you want to delete, and then click Remove Form.

  5. On the Remove Form Template page, click Remove.

To delete an administrator-approved form template by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell command prompt, type the following command:

    Copy Code
    Uninstall-SPInfoPathFormTemplate -Identity "<FormTemplateName>"

    Where <FormTemplateName> is the name of the form template to delete.

For more information, see Uninstall-SPInfoPathFormTemplate.

Note:

We recommend that you use Windows PowerShell when performing command-line administrative tasks. The Stsadm command-line tool has been deprecated, but is included to support compatibility with previous product versions.

Modify the category of a form template

Every form template that was uploaded to the server, whether by an administrator or by a user, has a Category property. This optional property logically groups form templates according to user-defined values. When a category is defined for form templates in a library, you can use the list view By Category to view the contents of the library grouped according to the value of the Category property. You can edit this property for templates that exist in the following locations:

  • The central administrator-approved form template library on the Manage Form Templates page.

  • A document library to which the form template has been activated or uploaded.

    Note:

    When you change the values of properties such as Category and content type for an administrator-approved form template in the main form template library, the action is limited to that specific form template, and to form templates activated to a site collection after the value was set. Form templates that have already been activated to a site collection are unaffected by property changes that are performed on the original form template. Likewise, changing a property value on a form template that exists in a site collection forms library does not affect the original form template in the main administrator-approved form template library. Additionally, if a form template is upgraded by an administrator, and the upgraded version is then activated to a site collection, any property changes previously performed on the existing site collection form template are overwritten by the new version's current property value.

To modify the category of an administrator-approved form template by using Central Administration

  1. Verify that you have the following administrative credentials: You must be the farm administrator.

  2. On the Quick Launch of the Central Administration Web site, click General Applications Settings.

  3. On the General Applications Settings page, in the InfoPath Forms Services section, click Manage form templates.

  4. On the Manage Form Templates page, click the name of the form template, and then click View Properties.

  5. To assign a category to the form template, in the General Properties section, in the Category name field, type the name of the category, and then click OK.

To modify the category of an administrator-approved form template by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell command prompt, type the following command:

    Copy Code
    Set-SPInfoPathFormTemplate -Identity "<FormTemplateName>" -Category "<CategoryName>"

    Where:

    • <FormTemplateName> is the name of the form template to modify.

    • <CategoryName> is name of the category to apply to the form template.

For more information, see Set-SPInfoPathFormTemplate.

Note:

We recommend that you use Windows PowerShell when performing command-line administrative tasks. The Stsadm command-line tool has been deprecated, but is included to support compatibility with previous product versions.

See Also

Concepts

InfoPath Services cmdlets (SharePoint Server 2010)
InfoPath forms administration (SharePoint Server 2010)


Manage data connection files for InfoPath Forms Services (SharePoint Server 2010)
See Also

Forms that use InfoPath Forms Services in Microsoft SharePoint Server 2010 can use data connection files to specify settings for connecting to data sources. Data connection files are created and published to data connection libraries by the form designer by using Microsoft InfoPath 2010.

A data connection is a dynamic link between a form template and a data source that stores or provides data for the form template. The main data connection, if present, defines the main data source of the form, which is the XML schema that determines how data is stored. The main data connection is created automatically when you create a form template from a database, a Web service, or by customizing the form for a SharePoint list. The form can optionally have one or more secondary data connections. You can create as many secondary data connections as you want when you design a form template.

A data connection file is an XML file that has a .xml or .udcx file name extension, and that contains connection information for a single external data connection. This file is stored in a data connection library on a server that is running Microsoft SharePoint Server 2010. A data connection file is created by a developer by using an XML editing program, or by an InfoPath forms designer by converting a data connection in an existing form template into a data connection file in Microsoft InfoPath Designer 2010.

Data connection files provide a way for administrators to manage data connections and configure connection settings without modifying and republishing form templates. Data connection files are also used to specify server-specific authentication credentials by using the Secure Store service.

Data connection files can be stored in the same site collection as the form template or in a centrally managed data connection library on the Central Administration site. Data connection files that are stored on individual site collections can be used by forms in that site collection. Data connection files for administrator-approved form templates are stored in a centrally managed data connection library in Central Administration. You can manage this library from the Manage Data Connection Files page or by using Windows PowerShell. Data connection files in this library can be used by administrator-approved form templates. By default, data connection files in this library can only be used by Web browser forms, although farm administrators can decide to allow for HTTP access by clients such as Microsoft InfoPath Filler 2010.

Data connection files can enable connections across servers or outside the farm. This can include settings for the Secure Store service to provide alternative credentials for the connection.

In this article:

  • Types of data connections

  • Create a data connection file

  • Manage the centrally managed data connection files

Types of data connections

InfoPath Forms Services in SharePoint Server 2010 provides several different kinds of data connections. Data connections can be used to query or submit data.

Query data connections

Query data connections are used to query data from external systems to use when filling out a form. Query data connections include the following:

  • Database

  • SharePoint list

  • SOAP Web service

  • Representational State Transfer (REST) Web service

  • XML file

Database data connection

The Database data connection looks up information in a database to populate form fields. You can use this connection to look up data in Microsoft SQL Server. To connect to a different database than a SQL Server database, use a Web service connection.The Database data connection is query-only and cannot be used to submit data to a database. If you want to use a form to submit data to a database, you should use the SOAP Web service data connection.

SharePoint list data connection

The SharePoint list data connection is a query-only connection that is used to populate InfoPath form fields from an existing SharePoint library or list.

SOAP Web service data connection

The SOAP Web service data connection can query data from a SOAP 1.1 Web service and use the return data to update fields in the originating form. To query data by using a REST Web service, use the REST Web service data connection.

REST Web service data connection

The REST Web service data connection is new for InfoPath 2010 and InfoPath Forms Services in SharePoint Server 2010. Form designers can use a rule to add dynamic parameters to the REST URL when the form is filled out.

XML file data connection

The XML file data connection queries an XML file and uses the data from the XML file to populate form fields. This connection type can be used to consume data from any URL that returns data in XML format. Form template designers can also decide to include the XML file in the form template itself, which reduces resource-management issues that might occur when the system connects to an external resource.

Submit data connections

Submit data connections send form data as XML to external systems. Submit data connections include the following:

  • Submit to SharePoint library

  • Submit to e-mail

  • Submit to SOAP Web service

  • Submit by using HTTP POST

  • Submit to hosting environment

Submit to SharePoint library data connection

The Submit to SharePoint library data connection enables forms to be uploaded directly to a SharePoint document library. This connection submits the entire form to the library as an XML document.

Submit to e-mail data connection

The Submit to e-mail data connection uses the SMTP e-mail adapter to submit form data to an e-mail address. The settings of the data connection specify whether to submit the entire contents of the form as an attachment or the current form view as the body of the e-mail message.

Submit to SOAP Web service data connection

The Submit to SOAP Web service data connection can submit XML data from a form to a SOAP Web service. The form ignores any data returned from a Web service submission other than error codes.

This connection can be used to submit all or part of the form's data as a SOAP message.

Submit by using HTTP POST data connection

The Submit by using HTTP POST data connection enables an InfoPath form to post data to an application server by using an HTTP POST. This connection submits the entire form as an XML document.

Submit to hosting environment data connection

The Submit to hosting environment data connection sends a submit event to the host. The host is then responsible for handling that event and retrieving the data from the form.

Create a data connection file

Form designers create data connections when they design form templates. Data connection settings can be stored separately from the form template in data connection files in a data connection library.

Data connection files are used for the following scenarios:

  • Re-use of data connection settings for multiple form templates

  • Modifying data connection settings after form templates are published without having to republish each form template.

  • Providing server-specific authentication credentials.

To make cross-domain data connection from a Web browser form, data connection settings must be stored in a data connection file in a data connection library. By default, files in a data connection library must be approved before they can be used, by using the content approval feature in SharePoint Server 2010.

To create a data connection file, perform the following procedures:

  1. Create a data connection library to store data connections.

  2. Create a form template.

  3. Add the intended data connection to the form template.

  4. Convert the data connection to a data connection file.

For information about how to create a data connection library, see How To: Create and Use a Data Connection Library (http://go.microsoft.com/fwlink/p/?LinkId=188117&clcid=0x409).

For information about how to create a form template and add a data connection to a form template, see InfoPath Help and How-to (http://go.microsoft.com/fwlink/p/?LinkId=188118&clcid=0x409).

To convert a data connection to a data connection file

  1. Verify that the user account that is performing this procedure is a member of the Site Members SharePoint group, or any other group with the Add Items permission.

  2. In InfoPath Designer 2010, open the form template with the data connection that you want to convert.

  3. On the Data tab, in the Get External Data group, click Data Connections.

  4. On the Data Connections dialog box, in Data connections for the form template, click the data connection that you want to convert.

  5. Click Convert to Connection File.

  6. On the Convert Data Connection dialog box, in Specify the URL of the new data connection file, type the URL specifying the location of the data connection library and the file name for the data connection file.

    Note:

    The URL will be in the form http://server/dataconnectionlibraryname/filename.udcx. You can also browse to the library and the file name will be suggested based on the name of the data connection.

  7. Under Connection link type, select one of the following options:

    • To link to a data connection file in the same site collection, click Relative to site collection.

      Note:

      This is the recommended option in most cases. The second option is for data connections that are used by administrator-approved templates that are not published directly but must be uploaded by a farm administrator.

    • To upload the data connection file to the library in Central Administration, click Centrally managed connection library.

      Note:

      This option is only used for advanced scenarios that use administrator-approved form templates. For this option to work, the farm administrator must copy and upload the data connection file to the centrally managed data connection library in Central Administration. For more information, see the "Manage data connection files in Central Administration" section later in this article.

  8. Click OK.

  9. On the Data Connections dialog box, click Close.

Manage the centrally managed data connection files

Farm administrators upload data connection files to the Manage Data Connection Files library in Central Administration. These data connection files can be used by any form templates that have been uploaded to the Manage Form Templates page in Central Administration. Farm administrators can also perform the following tasks for data connection files:

  • Organize data connection files into categories.

  • Allow HTTP access by clients such as InfoPath Filler.

  • Change the display name and description.

  • Delete data connection files that are no longer needed.

Verify that the user account that is performing the following procedures is a member of the Farm Administrators SharePoint group.

Upload a data connection file

Data connection files in the Manage Data Connection Files library can be used by administrator-approved form templates.

To upload a data connection file by using Central Administration

  1. Verify that you have the following administrative credentials: You must be the farm administrator.

  2. On the Central Administration Web site, in the Quick Launch, click General Application Settings.

  3. On the General Application Settings page, in the InfoPath Forms Services section, click Manage data connection files.

  4. On the Manage Data Connections Files page, click Upload.

  5. On the Upload Data Connection File page, in the Select File section, type a location in the File name text box.

    You can also browse to the location.

    To upload a copy of a data connection file that is stored in a data connection library, browse to the data connection library, click the name of the data connection file in the data connection library, and then click Save in the Choose File to Upload dialog box.

  6. In the Category section, you can specify a category for the file.

    The category name is arbitrary, and does not have to correspond with any formalized schema. Files with the same category name are grouped together.

  7. In the Web Accessibility section, you can click Allow HTTP access to this file to let clients such as InfoPath Filler access the data connection file over HTTP.

    Note:

    By default, files that are stored in the centrally managed data connection library can be accessed only by farm administrators, and can be used only by administrator-approved form templates. Other users cannot read or download these files. To enable these files to be downloaded to client computers, select the Allow HTTP access to this file check-box. This enables any user who has the permission to view a form that uses one of these files to download and view the contents of the file.

  8. Click Upload.

To upload a data connection file by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell command prompt, type the following command:

    Copy Code
    Install-SPDataConnectionFile -Path "<FileNamePath>" -Category "<CategoryName>" -WebAccessible <WebAccessibleSetting>

    Where:

    • <FileNamePath> is the full path and name of the data connection file to upload.

    • <CategoryName> is the category name. The category can be used to group the data connection files. This parameter is optional.

    • <WebAccessibleSetting> is a Boolean value that specifies whether the data connection file can be accessed by using the HTTP protocol. True to let clients, such as InfoPath Filler, access the data connection file over the HTTP protocol; otherwise, False. The default is False. This parameter is optional.

      Note:

      By default, files that are stored in the centrally managed data connection library can be accessed only by farm administrators and can be used only by administrator-approved form templates. Other users cannot read or download these files. To enable these files to be downloaded to client computers, set the WebAccessible parameter to True.

For more information, see Install-SPDataConnectionFile.

Note:

We recommend that you use Windows PowerShell when performing command-line administrative tasks. The Stsadm command-line tool has been deprecated, but is included to support compatibility with previous product versions.

Modify the properties of a data connection file

You can modify the properties of a data connection file, such as the display name, description, category, and the Web accessible setting.

To modify the properties of a data connection file by using Central Administration

  1. Verify that you have the following administrative credentials: You must be the farm administrator.

  2. On the Central Administration Web site, in the Quick Launch, click General Application Settings.

  3. On the General Application Settings page, in the InfoPath Forms Services section, click Manage data connection files.

  4. On the Manage Data Connection Files page, click the name of the data connection file, and then click Edit Properties.

  5. Make any changes to the data connection file properties and then click Modify.

To modify the properties of a data connection file by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. To change the description and Web accessible setting of a data connection file, type the following command:

    Copy Code
    Set-SPDataConnectionFile -Identity "<FileName>" -Description "Use for the new Marketing server" -WebAccessible $true

    Where <FileName> is the name of the data connection file to modify.

For more information, see Set-SPDataConnectionFile.

Note:

We recommend that you use Windows PowerShell when performing command-line administrative tasks. The Stsadm command-line tool has been deprecated, but is included to support compatibility with previous product versions.

Delete a data connection file

You can delete data connection files that are no longer needed.

To delete a data connection file by using Central Administration

  1. Verify that you have the following administrative credentials: You must be the farm administrator.

  2. On the Central Administration Web site, in the Quick Launch, click General Application Settings.

  3. On the General Application Settings page, in the InfoPath Forms Services section, click Manage data connection files.

  4. On the Manage Data Connection Files page, click the name of the data connection file, and then click Delete.

  5. On the Delete Data Connection File page, click Delete.

To delete a data connection file by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell command prompt, type the following command:

    Copy Code
    Uninstall-SPDataConnectionFile -Identity "<FileName>"

    Where <FileName> is the name of the data connection file to delete.

For more information, see Uninstall-SPDataConnectionFile.

Note:

We recommend that you use Windows PowerShell when performing command-line administrative tasks. The Stsadm command-line tool has been deprecated, but is included to support compatibility with previous product versions.

See Also

Concepts

InfoPath Services cmdlets (SharePoint Server 2010)
InfoPath forms administration (SharePoint Server 2010)


Configure Web service proxy for InfoPath Forms Services (SharePoint Server 2010)
See Also

The InfoPath Forms Services Web service proxy enables Microsoft InfoPath forms that are running in a Web browser to connect to Web services by using authentication credentials trusted by the Web service, while separately passing the identity of the form user to the Web service for authorization purposes. Using the InfoPath Forms Services Web service proxy makes possible the following two scenarios that are not otherwise achievable with Microsoft InfoPath forms that are running in a Web browser:

  • Authentication to a Web service on a third tier when Windows NTLM authentication would normally prevent re-use of user credentials.

  • Symmetrical authentication between a form in Microsoft InfoPath Filler 2010 and the same form that is running in a Web browser.

To use the InfoPath Forms Services Web service proxy from an InfoPath form, a form designer completes the following steps:

  1. Create a Web service connection from within Microsoft InfoPath Designer 2010.

  2. Convert the Web service data connection to use settings from a data connection file in a data connection library.

  3. Modify the data connection file by using a text or XML editor to add the following:

    • The attribute useFormsServiceProxy with the value True.

    • An Authentication element that references a valid Secure Store application ID. The Secure Store application must contain credentials that are trusted by the Web service that is used by the connection that was created in step 1.

When the form is filled out in either InfoPath Filler 2010 or InfoPath Forms Services, the form forwards the Web service call to the InfoPath Forms Services Web service proxy, which calls the target Web service and passes back the results of the Web service call to the form. The InfoPath Forms Services Web service proxy authenticates to the Web service by impersonating the trusted credentials specified in the Secure Store application ID referenced in the data connection file. It also adds a WS-Security UserNameToken to the SOAP header of the Web service call. The WS-Security UserNameToken contains the Windows user name of the user who is filling out the form, with a blank password. The Web service can use this user name for authentication purposes.

Note:

This works best with a Web service that was built with the InfoPath Forms Services Web service proxy in mind.

For more information about configuring the Secure Store Service, see Configure the Secure Store Service (SharePoint Server 2010). For more information about data connection files, see Manage data connection files for InfoPath Forms Services (SharePoint Server 2010). For more information about the useFormsServiceProxy attribute and the Authentication element within a data connection file, see Universal Data Connection v2.0 Reference and Schema (http://go.microsoft.com/fwlink/p/?LinkId=188138).

Enable the InfoPath Forms Services Web service proxy

By default, the InfoPath Forms Services Web service proxy is not enabled. Enabling the Web service proxy makes it available for use by administrator-approved forms. You can also choose to allow user forms to use the Web service proxy. The Web service proxy settings apply to the entire server farm.

To enable the InfoPath Forms Services Web service proxy by using Central Administration

  1. Verify that the user account that is performing this procedure is a member of the Farm Administrators SharePoint group.

  2. On the Quick Launch of the Central Administration Web site, click General Application Settings.

  3. On the General Application Settings page, in the InfoPath Forms Services section, click Configure InfoPath Forms Services Web Service Proxy.

  4. On the Configure InfoPath Forms Services Web Service Proxy page, in the Enable InfoPath Forms Services Web service proxy section, ensure that the Enable check box is selected.

  5. To enable user forms to use the Web service proxy, in the Enable InfoPath Forms Services Web service proxy for user forms section, select the Enable check box.

    Note:

    When this setting is enabled, user form templates can use the InfoPath Forms Services Web service proxy. Administrator-approved form templates use the Web service proxy if it is enabled even if this setting is not enabled.

  6. Click OK.

To enable the InfoPath Forms Services Web service proxy by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. To enable the InfoPath Forms Services Web service proxy, at the Windows PowerShell command prompt, type the following command:

    Copy Code
    Set-SPInfoPathWebServiceProxy -Identity "<URL>" -AllowWebServiceProxy $true

    Where <URL> is the URL of the Web application that is associated with the Web service proxy.

  6. To enable user forms to use the InfoPath Forms Services Web service proxy, type the following command:

    Copy Code
    Set-SPInfoPathWebServiceProxy -Identity "<URL>" -AllowForUserForms $true

    Where <URL> is the URL of the Web application that is associated with the Web service proxy.

    Note:

    The AllowForUserForms parameter can be set to True only when the AllowWebServiceProxy parameter is set to True.

For more information, see Set-SPInfoPathWebServiceProxy.

Note:

We recommend that you use Windows PowerShell when performing command-line administrative tasks. The Stsadm command-line tool has been deprecated, but is included to support compatibility with previous product versions.

Enable server-specific authentication settings for user form templates

The Secure Store application ID is stored in a data connection file. By default, user form templates cannot use authentication information that is contained in a data connection file.

To enable server-specific authentication settings for user form templates by using Central Administration

  1. Verify that the user account that is performing this procedure is a member of the Farm Administrators SharePoint group.

  2. In Central Administration, on the Quick Launch, click General Application Settings.

  3. On the General Application Settings page, in the InfoPath Forms Services section, click Configure InfoPath Forms Services.

  4. On the Configure InfoPath Forms Services page, in the Authentication to data sources (user form templates) section, select the Allow user form templates to use authentication information that is contained in data connection files check box.

  5. Click OK.

To enable server-specific authentication settings for user form templates by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell command prompt, type the following command:

    Copy Code
    Set-SPInfoPathFormsService -AllowUdcAuthenticationForDataConnections $true

For more information, see Set-SPInfoPathFormsService.

Note:

We recommend that you use Windows PowerShell when performing command-line administrative tasks. The Stsadm command-line tool has been deprecated, but is included to support compatibility with previous product versions.

See Also

Concepts

InfoPath Services cmdlets (SharePoint Server 2010)
InfoPath forms administration (SharePoint Server 2010)


Manage Excel Services connections (SharePoint Server 2010)
See Also

Excel Services in Microsoft SharePoint Server 2010 provides the ability to connect to external data sources and refresh the data in data-connected Microsoft Excel workbooks when it renders them in a browser. Data connections can be loaded by using information from the workbook file, but using a data connection library provides an additional layer for data connections so that they can be managed separately from workbooks.

Data providers are drivers that client applications (such as Excel and Excel Services) use to connect to specific data sources. Data providers handle queries, parse connection strings, and perform other connection-specific logic. Any data provider that is used by Excel Services must be explicitly trusted by the server administrator.

This article helps you configure the following Excel Services features:

  • Trusted data connection libraries

  • Trusted data providers

Trusted data connection libraries

Trusted data connection libraries are SharePoint Server 2010 data connection libraries that contain data connection files that Excel Services will trust to use to connect to databases. These files contain everything that Excel Services and Excel client have to have to connect to an external data source. Data connection libraries enable broad reuse and sharing of data connections.

Excel Services does not use data connection files that are not stored in a trusted data connection library. However, data connection information can be embedded directly in a workbook that is trying to make a connection.

You can create different trusted data connection libraries for different purposes or projects, and you can customize the settings and permissions to the libraries accordingly.

Data connections connect workbooks to data providers. For workbooks that use the same data connection file, changing the data connection file is all that is required to change connection information; changing the individual workbooks is not necessary.

Initially, there are no Excel Services trusted data connection libraries (except for Report Center sites, which create their own trusted data connection file). To store data connection files, you must create at least one trusted data connection library.

To manage Excel Services trusted data connection libraries

  1. In Microsoft SharePoint 2010 Central Administration, in the Application Management section, click Manage service applications.

  2. On the Manage Service Applications page, click the Excel Services service application that you want to configure.

  3. On the Manage Excel Services page, click Trusted Data Connection Libraries.

To add a trusted data connection library

  1. On the Excel Services Application Trusted Data Connection Libraries page, click Add Trusted Data Connection Library.

  2. On the Excel Services Application Add Trusted Data Connection Library page, in the Location section, type the address of the trusted data connection library in the Address box.

  3. In the Description box, you can also type a description of the purpose for this trusted data connection library.

  4. Click OK.

To configure a trusted data connection library

  1. On the Excel Services Application Trusted Data Connection Libraries page, either click the data connection library that you want to configure or point to the data connection library, click the arrow that appears, and then click Edit.

To delete a trusted data connection library

  1. On the Excel Services Application Trusted Data Connection Libraries page, point to the data connection library that you want to delete, click the arrow that appears, and then click Delete.

  2. Click OK in the message box that asks whether you want to continue with the deletion.

    Note:

    Deleting a trusted data connection library does not affect the library itself. It only removes the library as a trusted data connection library in Excel Services.

Video demonstration

To view a demonstration of how to manage a trusted data connection library in Excel Services Application, watch the following video.

Configure Excel Services Trusted Data Connections

Watch the video │ To download a copy of the video, right-click the link, and then click Save Target As.

Trusted data providers

Trusted data providers are data providers from which Excel Services accesses data. A data provider is a database type combined with a protocol for accessing data (for example, SQL Server combined with ODBC).

  • Excel Services does not access data that does not come from a trusted data provider.

  • Excel Services contains entries for common data providers. Add additional data providers as needed.

To manage Excel Services trusted data providers

  1. In the Central Administration page, in the Application Management section, click Manage service applications.

  2. On the Manage Service Applications page, click the Excel Services service application that you want to configure.

  3. On the Manage Excel Services page, click Trusted Data Providers.

To add a trusted data provider

  1. On the Excel Services Application Trusted Data Providers page, click Add Trusted Data Provider.

  2. On the Excel Services Application Add Trusted Data Provider page, in the Provider section, type the provider ID of the trusted data provider in the Provider ID box (for example, type SQL Server). Look in a valid connection string to find the provider ID.

  3. Under Provider Type, select one of the following:

    • OLE DB Select this option to access data by using Object Linking and Embedding (OLE).

    • ODBC Select this option to access data by using Open Database Connectivity (ODBC).

    • ODBC DSN Select this option to access data by using Open Database Connectivity with Data Source Name (ODBC DSN).

  4. In the Description box, you can also type a description of the purpose for this trusted data provider.

  5. Click OK.

To configure a trusted data provider

  1. On the Excel Services Application Trusted Data Providers page, click Edit on the menu of the data provider that you want to configure.

To delete a trusted data provider

  1. On the Excel Services Application Trusted Data Providers page, click Delete on the menu of the data provider that you want to delete.

  2. Click OK in the message box that asks whether you want to continue with the deletion.

See Also

Concepts

Plan Excel Services data sources and external connections (SharePoint Server 2010)


Manage Excel Services trusted locations (SharePoint Server 2010)

This article describes trusted file locations for Excel Services in Microsoft SharePoint Server 2010. Excel Services automatically creates a default trusted file location (http://) which trusts the whole SharePoint Server farm. This default trusted location enables any file to be loaded from the SharePoint Server farm or stand-alone deployment using Excel Services. Trusting the whole SharePoint farm by default enables easier setup for administrators. Administrators can define new trusted file locations to expand workbook capabilities and tighten security.

Manage Excel Services trusted file locations

Excel Services administrators can add new trusted file locations as needed. Trusted file locations are either SharePoint sites, UNC paths, or HTTP Web sites from which a server that is running Excel Services is permitted to access workbooks.

To add a trusted file location

  1. On the SharePoint Central Administration Web site home page, in the Application Management section, click Manage service applications.

  2. On the Manage service applications page, click the Excel Services service application that you want to configure.

  3. On the Manage Excel Services Application page, click Trusted File Locations.

  4. On the Excel Services Application Trusted File Locations page, click Add Trusted File Location.

To configure trusted file locations

  1. On the Excel Services Application Add Trusted File Location page, in the Location section, type the Address of the SharePoint document library that you want to add as a trusted file location in Excel Services. In Location Type you must match the address format that you named earlier. For instance, if the document library is stored in the SharePoint Foundation 2010 content database, select Microsoft SharePoint Foundation. If the document library is stored in a network file share, select UNC. If the document library is stored in a Web folder address, select HTTP. In Trust Children, select Children trusted if you want to trust all child libraries or directories. In Description, you can define the purpose of this trusted location.

  2. In the Session Management section, you determine the behavior Excel Calculation Services sessions can have on your server. Start with the default values for all settings and then adjust as necessary according to the network usage. Each Session Management setting is shown in the following list together with the default time.

    1. In the Session Timeout box, type a value in seconds that an Excel Calculation Services session can stay open and inactive before it is shut down, as measured from the end of each Open request. The default is 450 seconds.

    2. In the Short Session Timeout box, type a value in seconds that an Excel Services session stays open and inactive, before any user interaction, before it is shut down. This is measured from the end of the original open request. The default is 450 seconds.

    3. In the New Workbook Session Timeout box, type a value in seconds that an Excel Calculation Services session for a new workbook stays open and inactive before it is shut down, as measured from the end of each request. The default value is 1,800 seconds (30 minutes).

    4. In the Maximum Request Duration box, type a value in seconds for the maximum duration of a single request in a session. The default is 300 seconds.

    5. In the Maximum Chart Reader Duration box, type a value in seconds for the maximum time that is spent rendering any single chart. The default is 3 seconds.

  3. In the Workbook Properties section, you determine the resource capacity for the server when Excel Services opens workbooks.

    Performance and resource availability can be compromised if users open extensive workbooks. If you do not manage the approved size that workbooks running in open Excel Calculation Services sessions can have, you risk having users exceed your resource capacity and overloading the server.

    1. In the Maximum Workbook Size box, type a value in megabytes (MB) for the maximum size of workbooks that Excel Calculation Services can open. The default size is 10 megabytes.

    2. In the Maximum Chart or Image Size box, type a value in megabytes (MB) for the maximum size of charts or images that Excel Calculation Services can open. The default size is 1 megabyte.

  4. In the Calculation Behavior section, you determine calculation modes in Excel Calculation Services for workbooks from this location.

    1. In the Volatile Function Cache Lifetime box, type the value in seconds that a computed value for a volatile function is cached for automatic recalculations. The default is 300 seconds.

    2. Under Workbook Calculation Mode, select one of the following:

      • File Select this option to perform calculations as specified in the file.

      • Manual Select this option if you want recalculation to occur only when a Calculate request is received.

      • Automatic Select this option if you want any change to a value to cause the recalculation of all other values that depend on that value. Also, volatile functions are called if their time-out has expired.

      • Automatic except data tables Select this option if you want any change to a value to cause the recalculations of all other values dependent on that value (the values cannot be in a data table.) Also, volatile functions are called if their time-out has expired.

  5. In the External Data section, you determine how Excel Calculation Services handles external data connections for workbooks from this location.

    1. Under Allow External Data, select one of the following:

      • None Select this option to disable all external data connections for the trusted file location.

      • Trusted data connection libraries only Select this option to only enable using connections to data sources that are stored in a trusted data connection library. The server will ignore settings embedded in the worksheet.

      • Trusted data connection libraries and embedded Select this option to enable connections that are embedded in the workbook file or connections that are stored in a trusted data connection library.

        If you do not have to have tight control or restrictions on the data connections that are used by workbooks on the server, consider selecting this option.

    2. Under Warn on Refresh, select the Refresh warning enabled check box to display a warning before refreshing external data for files in this location. When you select this option, you make sure that external data is not automatically refreshed without user interaction.

    3. Under Display Granular External Data Errors, select the Granular External Data Errors check box to display specific error messages when external data failures occur for files in this location. Displaying specific error messages can help troubleshoot data connectivity issues if they occur.

    4. Under Stop When Refresh on Open Fails, select the Stopping open enabled check box to prevent viewing a file in this trusted file location.

    5. Under External Data Cache Lifetime, you can determine the maximum time, in seconds that the system can use external data query results.

      • In the Automatic refresh (periodic / on-open) box, type a value in seconds for the maximum time that the system can use external data query results for automatically refreshed external query results. The default is 300 seconds.

      • In the Manual refresh box, type a value in seconds for the maximum time that the system can use external data query results for automatically refreshed external query results. To prevent data refresh after the first query, type -1. The default is 300 seconds.

    6. In the Maximum Concurrent Queries Per Session box, type a value for the maximum number of queries that can run at the same time during a single session. The default is 5 queries.

    7. Under Allow External Data Using REST, select the Data refresh from REST enabled check box to all requests from the REST API to refresh external data connections. Note that this setting has no effect if Allow External Data is set to None. Note too, that this setting has no effect if Warn on Refresh is enabled.

  6. In the User-Defined Functions section, under Allow User-Defined Functions, select User-defined functions allowed if you want to allow user-defined functions in Excel Calculation Services for workbooks from this location.

  7. Click OK.

To edit a trusted file location

  1. On the Excel Services Application Trusted File Locations page, point to the trusted file location that you want to edit, click the arrow that appears, and then click Edit.

To delete a trusted file location

  1. On the Excel Services Application Trusted File Locations page, point to the trusted file location that you want to delete, click the arrow that appears, and then click Delete.

  2. Click OK in the message box that asks whether you want to continue with the deletion.

Video demonstration

To view a demonstration of how to manage Excel Services Application trusted file locations, watch the following video.

Configure Excel Services Trusted Location

Watch the video │ To download a copy of this video, right-click the link, and then click Save Target As.


Manage Excel Services with Windows PowerShell (SharePoint Server 2010)

This topic gives a high-level overview of Windows PowerShell behavior for Excel Services in Microsoft SharePoint Server 2010. Excel Services administrators can use Windows PowerShell to fully script Excel Services setup and deployment, configuration options, and configure all settings during runtime as part of Microsoft SharePoint Server 2010 deployments. Windows PowerShell in Excel Services follows the same naming conventions, style, and behavior guidelines found with other service applications. SharePoint Server provides the Windows PowerShell command-line to carry the administrative actions for Excel Services.

Windows PowerShell for Excel Services

A user must be a member of the global administrator role and also a local administrator to run any Windows PowerShell commands (cmdlets) on a computer. Typically, all Windows PowerShell cmdlets control objects in memory and the Set cmdlets write property values into the configdb data store for the service.

Warning:

The stsadm command is not supported in Excel Services. If any stsadm command is used it will fail and an error message is returned to the command prompt.

The Excel Services, Windows PowerShell cmdlets all support the general Windows PowerShell commands. Administrators can pipe the commands, get help on each command, use aliases for commands, filter the results, allow use of the whatif parameter and confirm, and also use variables and parameters with the commands. For more information about Windows PowerShell commands see Excel Services cmdlets (SharePoint Server 2010).

Sample cmdlets for Excel Services

This section shows how to open the SharePoint 2010 Management Shell to perform any of the Excel Services sample cmdlets for Excel Services.

To open the SharePoint 2010 Management Shell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. From the Windows PowerShell command prompt (PS C:\>), type any of the following sample commands and press ENTER:

  • Provisioning a new Excel Services Application with the name "MyExcelServer"
    New-SPExcelServiceApplication -Name "MyExcelServer"

  • Changing the maximum number of sessions per user to 100 for all the remote computers in this farm that are running an Excel Services instance:
    Get-SPExcelServiceApplication | Set-SPExcelServiceApplication -SessionsPerUserMax 100

  • For MyExcelServer, get all trusted locations, and for those that allow data to load from workbooks, force them to use Document Connection Library (DCL) only
    Get-SPExcelServiceApplication -Identity "MyExcelServer" | Get-SPExcelFileLocation | where {$_.ExternalDataAllowed -eq "DclAndEmbedded" } | Set-SPExcelFileLocation -ExternalDataAllowed Dcl

  • Allow workbooks in trusted file locations (and data connections in trusted data connection libraries) to be accessed across domains by Web Parts, Web pages, or Web services, run the Windows PowerShell cmdlet, The following command examples work for all Excel Service applications in your SharePoint Server farm:
    To set to true:
    Get-SPExcelServiceApplication | Set-SPExcelServiceApplication -CrossDomainAccessAllowed
    To set to false:
    Get-SPExcelServiceApplication | Set-SPExcelServiceApplication -CrossDomainAccessAllowed:$false
    To verify:
    (Get-SPExcelServiceApplication).CrossDomainAccessAllowed


Configure the unattended service account for PerformancePoint Services
See Also

The Unattended Service Account is an Active Directory account that is used for accessing PerformancePoint Services data sources. This account is used by PerformancePoint Services on behalf of authorized users to provide access to external data sources for the purposes of creating and using dashboards and other PerformancePoint Services content.

Note:

The Unattended Service Account is a universal account that provides equal data access to all authorized users. If you need more fine-grained data access, you must configure per-user data access through Kerberos delegation. For more information, see Configure Kerberos authentication for SharePoint 2010 Products (white paper).

PerformancePoint Services uses Secure Store Service to store the unattended service account password. Before using the Unattended Service Account, make sure that Secure Store has been configured. For more information, see Plan the Secure Store Service (SharePoint Server 2010) and Configure the Secure Store Service (SharePoint Server 2010).

Video demonstration

This video shows the steps necessary to configure the unattended service account in PerformancePoint Services.

Screenshot of video

Running time: 6:46

Play video Watch the video.

Download video For an optimal viewing experience, download the video.

Right-click the link, and then click Save Target As to download a copy. Clicking the link will open a .wmv file in the default video viewer for full-resolution viewing.

Configure the unattended service account for PerformancePoint Services

To configure the unattended service account for PerformancePoint Services

  1. On the SharePoint Central Administration Web site, in the Application Management section, click Manage Service Applications, and then click the PerformancePoint Services service application.

  2. On the Manage PerformancePoint Services page, click PerformancePoint Service Settings.

  3. In the Unattended Service Account section, enter the user name and password for the account that you want to use as the unattended service account.

  4. Click OK.

You will see the Secure Store Service name and the user name that represents the unattended service account.

Note:

If an error occurs, the Secure Store Service key may not have been correctly generated or the key was not refreshed after you created a new key.

Once the unattended service account has been configured, you must grant that account access to your data sources:

  • For SQL Server data, the account must have a SQL logon with db_datareader permissions on each database that you want to access.

  • For SQL Server Analysis Services data, the account must have read access to the cube or an appropriate portion of the cube, depending on your needs.

  • For Excel Services data, the account must have access to the Microsoft Excel workbook in a SharePoint document library.

  • For data in a SharePoint list, the account must have read access to the list.

See Also

Concepts

Plan for PerformancePoint Services security (SharePoint Server 2010)


Enable trusted locations for PerformancePoint Services (SharePoint Server 2010)
See Also

Once you enable a feature on a site collection in Microsoft SharePoint Server 2010, the content types or PerformancePoint Services objects are made available for others to use on any site within that site collection. An administrator may want to limit PerformancePoint Services features that use trusted locations by enabling one or more sites, lists, or document libraries rather than an entire site collection. In this way the administrator can limit use of PerformancePoint Services to specific locations in the farm to prevent unauthorized access to data sources.

Establish trusted locations for data sources and dashboard content

You can specify locations in SharePoint Server where dashboard content and data sources are secured. The default is to trust all locations, but administrators can specify other trusted locations.

  • PerformancePoint Content List: A PerformancePoint Content List stores the elements that are used to construct a dashboard. A PerformancePoint Services dashboard is a related group of interactive scorecards, filters, and report views organized into a set of Web pages.

  • PerformancePoint Data Source Library: A PerformancePoint Data Source Library contains data-source definitions that identify a source of business data. It may include cubes or perspectives based on online analytical processing (OLAP) cubes, relational databases, CSV files, and Microsoft Excel Services worksheets.

  • Trusted Data Sources and Trusted Content Locations: When you navigate to either Trusted Data Sources or Trusted Content Locations pages from the Manage PerformancePoint Services page, there are two option buttons. When the Only specific locations option button is selected, the list of trusted locations is enabled. For data source or content locations, if there are no items in the list, only the toolbar button is enabled. When one or more items are listed, the Edit and Delete buttons are enabled.

    The URL you type is checked for a valid site collection, site, document library, and list. Option buttons are enabled or disabled depending on the type of site. Validation depends on whether your URL is a valid site and/or already exists.

Caution:

The default for a trusted data source and trusted content locations is to trust all.

To add a trusted data source location

  1. On the SharePoint Central Administration Web site, select Manage Service Applications.

  2. On the Manage Service Applications page, select the PerformancePoint Services service application you want to manage.

  3. On the Service Application tab, click Manage. The Manage PerformancePoint Services page opens.

  4. Click Trusted Data Source Locations. The Trusted Data Source Locations page opens.

  5. Select one of the following options and click Apply.

    1. All SharePoint locations: Specifies that data sources are trusted from all SharePoint Server locations.

    2. Only specific locations: Specifies that data sources are only trusted when found in the locations listed.

  6. If you select Only specific locations and click Apply, Add Trusted Data Source Location appears; otherwise All SharePoint locations is the current setting.

  7. Click Add Trusted Data Source Location to specify the URL and location for this trusted location.

  8. Enter the full Web address (it must be a site collection, site, or document library for this trusted location).

  9. Select the location type, type a description (optional), and then click OK. The location type appears under Location.

To add a trusted content location

  1. In Central Administration select Manage Service Applications.

  2. In the Manage Service Applications page, select the PerformancePoint Services service application you want to manage.

  3. On the Service Application tab, click Manage. The Manage PerformancePoint Services page opens.

  4. Click Trusted Content Locations. The Trusted Content Locations page opens.

  5. Select one of the following options, and then click Apply.

    1. All SharePoint locations: Specifies that content is trusted from all SharePoint Server locations.

    2. Only specific locations: Specifies that content is only trusted when found in the locations listed.

  6. If you select Only specific locations and click Apply, Add Trusted Content Location appears; otherwise All SharePoint locations is the current setting.

  7. Click Add Trusted Content Location to specify the URL and location for this trusted location.

  8. Enter the full Web address (it must be a site collection, site, or list address for this trusted location.)

  9. Select the location type, type a description (optional), and then click OK. The location type appears under Location.

See Also

Concepts

Plan for PerformancePoint Services security (SharePoint Server 2010)


PerformancePoint Services application settings (SharePoint Server 2010)
See Also

PerformancePoint Services in Microsoft SharePoint Server 2010 has settings such as cache durations, filter behavior, and query time-out that affect performance, security, and connections to external data. These settings affect anyone who uses the same service application. The settings can be managed by using the SharePoint Central Administration Web site. You can make additional changes to settings by using Windows PowerShell 2.0 to provision PerformancePoint Services, manage and configure a service application, configure and manage trusted locations, configure and manage proxies for the service application, and configure the global settings of the service. For more information, see PerformancePoint Services cmdlets (SharePoint Server 2010).

PerformancePoint Services application settings

Setting Description

Secure Store and Unattended Service Account

A single shared user account is used to access all data sources. This is a low-privileged domain account stored in the Secure Store Service. An application ID is automatically mapped in the Secure Store Service that specifies the default secure store target application, PerformancePoint Services, and it looks up credential mapping when it connects to external data sources.

Important:

When you establish an unattended service account, first determine whether this account should have access to the data sources that will be retrieved in Dashboard Designer.

Comments

Users who have appropriate permissions can annotate scorecard cells in Dashboard Designer and on a deployed SharePoint site.

Note:

If a Dashboard Designer author attempts to add cell comments that are disabled, the author will receive a message that states, "An unexpected system error has occurred. Additional details have been logged for your administrator." If you want the author to be able to insert comments in a cell, select the check box, Enable comments.

You can also remove comments by clicking Delete Comments by Date. This command opens a dialog box. Select the date by which you want comments removed from the PerformancePoint Services database, and then click Delete.

Cache

Temporarily storing (or "caching") frequently-accessed items decreases load times for future requests. Specify the duration for items to remain in the cache.

Data Sources

Set the duration of no response before a data source query is canceled.

Filters

Specify how long to remember user-selected filter values and how often to clear expired values. Set the maximum number of members to retrieve and insert into a filter of type "tree".

Select Measure Control

Set the maximum number of measures to retrieve and insert into a dashboard Select Measure control.

Show Details

Set the limit for the number of rows returned when a user clicks "Show Details".

Decomposition Tree

Set the maximum number of individual items (per level) returned to the decomposition tree visualization. The minimum value is 0. The maximum is 1,000,000.

See Also

Concepts

Estimate performance and capacity requirements for PerformancePoint Services


Manage PerformancePoint Services site and site collections (SharePoint Server 2010)
See Also

The PerformancePoint Services is a Microsoft SharePoint Server 2010 service application that allows users to create dashboards, scorecards, and KPIs from a variety of data sources. The following articles show how to create PerformancePoint enabled sites and site collections.

In this section:

  • Enable the PerformancePoint Services site feature (SharePoint Server 2010)

  • Enable the PerformancePoint Services site collection feature (SharePoint Server 2010)

See Also

Concepts

Configure PerformancePoint Services
Create a site collection (SharePoint Server 2010)


Enable the PerformancePoint Services site feature (SharePoint Server 2010)
See Also

You can create a new PerformancePoint Services site simply by selecting the Business Intelligence Center template when you run the Farm Configuration Wizard. You can also add PerformancePoint Services content to an existing site by enabling the site and site collection features manually. To learn more, see Enable the PerformancePoint Services site collection feature (SharePoint Server 2010). This article shows how to add PerformancePoint Services content to an existing site.

Note:

You will receive an error if you attempt to activate the PerformancePoint Services site feature if the PerformancePoint Services site collection feature is not activated.

Enable the PerformancePoint Services site feature

The PerformancePoint Services site feature makes available to users the list and document library templates that use the following content types:

  • Dashboard

  • Scorecard

  • KPI

  • Report

  • Filter

  • Data Source

  • Icon set (for KPI indicators)

Before you can enable the PerformancePoint Services site feature, you must first activate the SharePoint Server Publishing Infrastructure and the PerformancePoint Services site collection features. To learn how to activate the PerformancePoint Services site collection feature, see Enable the PerformancePoint Services site collection feature (SharePoint Server 2010).

To activate the SharePoint Publishing Infrastructure

  1. Go to the parent site for which you want to enable the PerformancePoint site feature.

  2. Click Site Actions, and then click Site Collections Administration.

  3. On the Site Collections Administration page, click Site Collection features.

  4. Scroll down until you locate SharePoint Publishing Infrastructure.

  5. Click Activate. A blue status button labeled Active appears.

To enable the PerformancePoint Services site feature

  1. Go to the site for which you want to enable the PerformancePoint Services site feature.

  2. Click Site Actions, and then click Site Settings.

  3. On the Site Settings page, in the Site Actions section, click Manage site features.

  4. Scroll down until you locate PerformancePoint Services Site features.

  5. Click Activate. A blue status button labeled Active appears.

See Also

Concepts

Enable the PerformancePoint Services site collection feature (SharePoint Server 2010)


Enable the PerformancePoint Services site collection feature (SharePoint Server 2010)
See Also

You can add PerformancePoint Services content to an existing site by enabling the site and site collection features manually. When you enable the PerformancePoint Services site collection feature, the Business Intelligence Center template is added as a selection to the Enterprise site collections templates. For more information, see Create a site collection (SharePoint Server 2010).

Enable the PerformancePoint Services site collection feature

The PerformancePoint Services site collection feature gives you the option of creating a PerformancePoint-enabled site when you create a new site in a site collection.

To prevent the creation of new PerformancePoint Dashboard objects, the administrator must stop the PerformancePoint Services service, rather than stop the PerformancePoint Services site collection feature. To learn more, see Starting or stopping a service.

To enable the PerformancePoint Services site collection feature

  1. Go to the site for which you want to enable the PerformancePoint Services site collection feature.

  2. Click Site Actions, and then click Site Settings.

  3. On the Site Settings page, under Site Collection Administration, click Manage site collection features.

  4. Scroll down until you locate PerformancePoint Services Site Collection Features.

  5. Click Activate. A blue status button labeled Active appears.

The PerformancePoint site template now is listed as an optional template when you select the Enterprise tab on the New SharePoint Site page.

See Also

Concepts

Create a site collection (SharePoint Server 2010)


Plan, design, and implement a PerformancePoint dashboard
See Also

Published: July 8, 2010

You can use PerformancePoint Dashboard Designer to create and deploy dashboards that contain scorecards and many other reports for your organization.

Use this article as a guide for creating and deploying a PerformancePoint dashboard.

When you create a dashboard by using Dashboard Designer, you do this in three main phases:

  • Phase I: Plan the dashboard During this phase, you consider the kinds of information that you want to display and how to best present that information.

  • Phase II: Create the dashboard items During this phase, you create your dashboard items and save them to designated SharePoint lists and document libraries. First, you create the data sources that you must have for your reports and scorecards. Next, you create your dashboard pages, reports, scorecards, and filters. Then, you assemble your dashboard, and connect filters to your scorecards and reports.

  • Phase III: Deploy the dashboard During this phase, you preview and test your dashboard and make any adjustments. Then, you deploy your dashboard to the users. You can also train users on how to use dashboards.

  • Phase IV: Maintain the dashboard During this phase, you maintain and edit the dashboard as appropriate.

Phase I: Plan the dashboard

During this phase, you consider the kinds of information that you want to display and how to best present that information.

Use the following resources to prepare a plan for your dashboard.

Task | Article
If you are new to SharePoint Business Intelligence or you are about to create a new dashboard for your organization, consider preparing an overall dashboard plan. | Plan a PerformancePoint dashboard to show organizational performance
If you are upgrading from Microsoft Office PerformancePoint Server 2007 to PerformancePoint Services in Microsoft SharePoint Server 2010, prepare a plan for upgrading your dashboard content. | Plan for importing PerformancePoint Server 2007 dashboard content to SharePoint Server 2010

Phase II: Create the dashboard items

During this phase, you create your dashboard items and save them to designated SharePoint lists and document libraries.

Use the following resources to create your dashboard items.

Task | Article
Create a data source inventory to list and track the various data sources that you and other dashboard authors will use. Use your own template, or download a template that was created by using Microsoft Excel. | Create a data source inventory for PerformancePoint dashboard authors
Create and configure the data connections that you and other dashboard authors will use. | Create data connections (PerformancePoint Services)
Configure data connections to work with Time Intelligence. This enables you to connect dynamic time filters to scorecards and reports or use embedded time filters. | Configure data sources to work with Time Intelligence by using Dashboard Designer
Create and configure various kinds of reports and scorecards for your dashboard. | Create reports and scorecards by using Dashboard Designer
Create and configure dashboard filters. | Create a dashboard filter by using Dashboard Designer
Create, configure, and assemble your dashboard pages. | Create and assemble a dashboard page by using Dashboard Designer

Phase III: Deploy the dashboard

During this phase, you preview, test, and deploy your dashboard. You can also train dashboard users on how to view and use your dashboard.

Use the following resources to deploy your dashboard.

Task | Article
Publish your dashboard to a Dashboards document library, where you can preview and test the dashboard pages. Make any necessary adjustments, and then republish the dashboard. Then, notify dashboard users. | Deploy a PerformancePoint dashboard
Provide dashboard users with resources that can help them learn how to use your dashboards. | How to navigate PerformancePoint dashboards and explore data

Phase IV: Maintain the dashboard

During this phase, you maintain and edit your dashboard. For example, you can configure a dashboard to use more advanced functionality. Or, you can add or change Web Parts on a page.

Use the following resources to maintain your dashboard.

Task | Article
Extend your dashboard by using advanced functionality, such as complex key performance indicators (KPIs) and sophisticated reports. Configure dashboard items to use custom queries, such as Multidimensional Expressions (MDX queries) and Time Intelligence formulas. Or, connect scorecard KPIs to other reports in a dashboard. | Create advanced PerformancePoint dashboards
Edit and update your PerformancePoint dashboard by using Dashboard Designer or by using edit mode in a SharePoint site. | Maintain, edit, and update PerformancePoint dashboards

See Also

Concepts

Overview of testing and deploying a dashboard by using Dashboard Designer
Add Visio Services reports to a PerformancePoint dashboard
Business intelligence scenarios and solutions


Plan a PerformancePoint dashboard to show organizational performance

This section contains information about PerformancePoint dashboards.

In this section:

  • Create a plan for a PerformancePoint dashboard

  • Overview of PerformancePoint data connections

  • Overview of PerformancePoint reports and scorecards

  • Overview of PerformancePoint dashboard filters and connections

  • Overview of connecting filters to reports or scorecards by using Dashboard Designer

  • Overview of training PerformancePoint dashboard users (SharePoint Server 2010)


Create a plan for a PerformancePoint dashboard

When you create and deploy a PerformancePoint dashboard, you want it to display relevant, useful information. By carefully planning each dashboard before you deploy it, you are more likely to provide dashboard users with a valuable, time-saving tool that helps them get the information that they need.

Step 1: Identify the users and the kinds of information that they want to see

Consider your audience and the kind of information that you want to provide to your dashboard users. You can create simple or complex dashboards and display as much or as little detail as users need.

For example, suppose that you are creating a dashboard to display sales information for a sales team. You might want to include a combination of scorecards and other reports to display information, such as sales to date for a given time period, sales trends over time, sales by geographical regions or by products, and the best performing products, sales teams, or geographical regions.

As another example, suppose that you are creating a dashboard for a marketing group in an organization. You might want to include a combination of scorecards and reports to show results for different marketing campaigns, such as sales leads that were generated by a particular promotional program.

Step 2: Make sure that the data is available

Once you know what kinds of information dashboard users want to see, your next step is to make sure that data is available to you and your dashboard users. Contact the IT administrator and verify that the data exists and that it can be used with PerformancePoint Services.

Step 3: Select the kinds of scorecards and reports that you want to use

Select the kinds of scorecards and other reports that are best suited for the information that you want to display in your dashboard.

For example, suppose that you want to create a report that shows performance for a given metric over time. In this case, you might use an analytic chart. Now suppose that you want to show how actual results compare to target values. In this case, you might create a scorecard.

You can choose from various scorecards and reports in PerformancePoint Dashboard Designer. You can create some kinds of reports by using Dashboard Designer. You can also create PerformancePoint Web Parts to display reports that are stored on other servers, such as Microsoft SQL Server Reporting Services (SSRS) reports and Excel Services reports.

For more information, see Learn about PerformancePoint report types (http://go.microsoft.com/fwlink/p/?LinkId=185512) and Learn about PerformancePoint scorecards (http://go.microsoft.com/fwlink/p/?LinkId=185514).

Step 4: Decide what kinds of filters that you want to include

Decide whether filters might be useful to your dashboard consumers. You can decide from filters that are individual dashboard items. Or you can connect items such as key performance indicators (KPIs) that are in a scorecard to other reports in your dashboard.

For example, suppose that you are creating a dashboard that shows sales information for a worldwide sales team. You might want to create a Geography filter and link it to the individual reports and scorecards on your dashboard. That way, when you deploy your dashboard, users can select a particular geographical location by using the filter. All scorecards and other reports that are linked to it will automatically be updated to display results that are specific to the selected region.

For more information, see Connect a filter to a report or a scorecard by using Dashboard Designer.

Step 5: Create a sketch or mockup of your dashboard

Create a sample dashboard to see whether it will meet your users' needs. You can either sketch your dashboard on paper or by using any software application that you want to use. Or you can create a sample dashboard by using Dashboard Designer. Then, you can ask your dashboard users if the information that you plan to display in your dashboards is useful. This enables you to make any needed changes before you actually deploy your live dashboards.

By taking time to plan your dashboards at the beginning, you can help ensure that your dashboards will be helpful to users.


Overview of PerformancePoint data connections
See Also

Published: May 12, 2011

PerformancePoint Dashboard Designer enables dashboard authors to create and publish dashboard content that includes reports, scorecards, and dashboards. To create these items, dashboard authors need access to one or more data sources. This article briefly describes the different kinds of data sources that can be used with Dashboard Designer and includes a video.

View a chalk talk

In this video, Microsoft Senior Test Lead Kevin Beto provides an overview chalk talk about data connections that you can use with PerformancePoint Services in Microsoft SharePoint Server 2010.

Screenshot of video

Running time: 9:24

Play video Watch the video.

Download video For an optimal viewing experience, download the video (http://go.microsoft.com/fwlink/p/?LinkId=218156).

Right-click the link, and then click Save Target As to download a copy. Clicking the link will open a .wmv file in the default video viewer for full-resolution viewing.

Overview of PerformancePoint data connections

Data connections can be organized into two main categories: Multidimensional and Tabular. The data connections that are available to dashboard authors affect what kinds of reports, scorecards, and filters that can be created by using Dashboard Designer. You might consider creating and maintaining a data source inventory to track all the various data sources your organization uses with PerformancePoint Services.

Multidimensional data sources

PerformancePoint Services supports the two kinds of multidimensional data connections that are described in the following list:

  • SQL Server Analysis Services data cubes

    Note:

    For more information about Analysis Services data, see Analysis Services in Business Intelligence Development Studio (Analysis Services - Multidimensional Data) (http://go.microsoft.com/fwlink/p/?LinkId=218231).

  • PowerPivot data

    Note:

    For more information about PowerPivot data, see PowerPivot Overview ( http://go.microsoft.com/fwlink/p/?LinkId=218232).

In PerformancePoint Services, multidimensional data sources give you the most flexibility in the kinds of dashboard items that you can create. For example, you can create complex key performance indicators (KPIs); interactive scorecards and reports; and dynamic, multilevel filters.

Tabular data sources

PerformancePoint Services supports four kinds of tabular data connections that are described in the following list:

  • Excel Services workbooks

  • Excel workbooks from which you can import data

  • SharePoint lists

  • SQL Server tables

Tabular data sources enable you to create KPIs, scorecards, and filters that use data from various sources. For example, in Dashboard Designer you cannot connect directly to Microsoft Access data. However, you can publish that data to SharePoint Server as a SharePoint list, and then connect to that data in Dashboard Designer. Depending on the particular data source, tabular data might be static or dynamic.

How data sources relate to reports, scorecards, and filters

The data connections that are available in Dashboard Designer help determine what kinds of KPIs, scorecards, reports, and filters that you can create directly in Dashboard Designer, as described in the following table.

Data source Dashboard items

Multidimensional data sources that include cubes that are stored in Analysis Services or in PowerPivot workbooks

You can create all of the following dashboard items by using Analysis Services data:

  • KPIs

  • Scorecards

  • Filters that include those that use the MDX Query, Member Selection, Name Set, Time Intelligence, and Time Intelligence Connection Formula filter templates.

  • Analytic Charts and Analytic Grids

In addition, you can configure scorecards and reports that enable dashboard users to open the Decomposition Tree from a value in a report.

Tabular data sources that include Excel Services files, Excel workbooks, SharePoint lists, and SQL Server tables

You can create all of the following dashboard items by using tabular data:

  • KPIs

  • Scorecards

  • Filters that include those that use the Custom Table, Member Selection, Time Intelligence, and Time Intelligence Connection Formula filter templates.

In addition to dashboard items that you create directly in Dashboard Designer, you can also create special PerformancePoint Web Parts to display existing reports that are hosted on other servers. These external reports are described in the following table.

Report Description

Excel Services

You can use Excel Services reports to display PivotChart reports, PivotTable reports, charts, tables, worksheets, and workbooks that have been published to SharePoint Server.

Excel Services supports various data sources that include Analysis Services, SharePoint Lists, SQL Server tables, text files, and databases that include Microsoft Access databases.

Reporting Services

You can use Reporting Services to display various reports that include maps, charts, tables, and scorecards that have been published to Reporting Services Report Server or to SharePoint Server.

Reporting Services supports various data sources that include Analysis Services, SharePoint Lists, SQL Server tables, and databases that include Access, Oracle, and more.

ProClarity Server

If your organization is still using ProClarity, you can use ProClarity Server reports to display views that have been published to ProClarity Analytics Server.

Web Page

You can use Web Page reports to display websites, Visio Services reports, and other views.

For more information about the kinds of dashboard items that you can create, see Overview of PerformancePoint reports and scorecards and Overview of PerformancePoint dashboard filters and connections.

Maintaining a data source inventory

Most organizations have a many kinds of databases that contain different kinds of data. For example, a Finance and Accounting department might use one system, whereas a Sales team might use another system, and Human Resources might use an additional system.

To help keep track of all the data sources, you might consider creating a data source inventory. You can either create your own, or you can use a template that we created for this purpose. For more information and to download the template, see Create a data source inventory for PerformancePoint dashboard authors.

See Also

Concepts

Create data connections (PerformancePoint Services)
Plan, design, and implement a PerformancePoint dashboard
Create a data source inventory for PerformancePoint dashboard authors


Overview of PerformancePoint reports and scorecards
See Also

Published: November 4, 2010

You can use PerformancePoint Dashboard Designer to create lots of reusable reports and scorecards for your dashboards. As you create each report or scorecard, you begin by selecting a template. In Dashboard Designer, you can select from eight different report templates and seven different scorecard templates. This article describes the different report and scorecard templates that are available.

For information about how to create reports and scorecards, see Create reports and scorecards by using Dashboard Designer.

In this article:

  • Report templates

  • Scorecard templates

Report templates

PerformancePoint reports can vary greatly in appearance and functionality. In addition, these reports can vary in what you do to create them. For example, you create some reports by using Dashboard Designer. For other reports, you do not actually create the reports; instead, you create a PerformancePoint Web Part to display an existing report. Finally, for some reports, you must have at least one scorecard created to successfully create and display information in those reports.

Template Description

Analytic Chart

An analytic chart is an interactive line, bar, or pie chart that you create and configure by using Dashboard Designer. Analytic charts use data that is stored in SQL Server Analysis.

For more information, see Overview of PerformancePoint analytic charts and grids and Create an analytic chart or grid by using Dashboard Designer.

Analytic Grid

An analytic grid is an interactive table that you create and configure by using Dashboard Designer. Analytic grids use data that is stored in SQL Server Analysis.

For more information, see Overview of PerformancePoint analytic charts and grids and Create an analytic chart or grid by using Dashboard Designer.

Excel Services

An Excel Services report is an Excel workbook that was published to Microsoft SharePoint Server 2010 by using Excel Services.

In Dashboard Designer, you do not actually create an Excel Services report; instead, you create a PerformancePoint Web Part to display all or part of an Excel workbook. You can use an Excel Services report to display a PivotChart report, a PivotTable report, or any chart or table that you create in Excel.

For more information, see Overview of Excel Services reports displayed in PerformancePoint Web Parts and Create an Excel Services report by using Dashboard Designer.

KPI Details

A KPI Details report is a report that serves as a companion to a scorecard to provide additional information about scorecard key performance indicator (KPI) values and properties.

A KPI Details report does not contain or display information by itself; instead, the KPI Details report derives all its information directly from the scorecard to which it is connected. Dashboard users click a value in a scorecard, and the KPI Details report updates to display additional information about that particular scorecard value without cluttering up the scorecard.

For more information, see Overview of PerformancePoint KPI Details reports and Create a KPI Details report by using Dashboard Designer.

ProClarity Analytics Server Page

A ProClarity Analytics Server Page report is a view that was published to ProClarity Analytics Server.

In Dashboard Designer, you do not actually create a ProClarity Analytics Server report; instead, you create a PerformancePoint Web Part to display an existing ProClarity view. You can use a ProClarity Analytics Server Page report to display specific view types, such as the Performance Map, Perspective View, and Decomposition Tree in your dashboard.

For more information, see Overview of ProClarity Server reports displayed in PerformancePoint Web Parts and Create a ProClarity Server report by using Dashboard Designer.

Reporting Services

A Reporting Services report is a view that was published to SQL ServerReporting Services Report Server.

In Dashboard Designer, you do not actually create a Reporting Services report; instead, you create a PerformancePoint Web Part to display an existing Reporting Services report. You can use a Reporting Services report to display powerful reports that were created by using SQL Server Reporting Services Report Builder in your dashboard.

For more information, see Overview of Reporting Services reports displayed in PerformancePoint Web Parts and Create a Reporting Services report by using Dashboard Designer.

Strategy Map

A strategy map is a report that serves as a companion to a scorecard to show relationships between objectives, goals, and KPIs at a glance. Strategy maps are based on the Balanced Scorecard framework.

A strategy map uses a scorecard as its data source and a Visio diagram as its display structure.

For more information, see Overview of PerformancePoint strategy maps and Create a strategy map by using Dashboard Designer.

Web Page

A Web Page report is a fully functional internal or external Web site that you can display alongside other reports in your dashboard.

In Dashboard Designer, you do not actually create a Web Page; instead, you create a PerformancePoint Web Part to display an existing Web site.

For more information, see Overview of Web Page reports in Dashboard Designer and Create a Web Page report by using Dashboard Designer.

Decomposition Tree

A Decomposition Tree is an interactive view that dashboard users open from a scorecard or a report that uses SQL Server Analysis Services data. However, as a dashboard author, you do not create the Decomposition Tree by using PerformancePoint Dashboard Designer. In addition, you cannot display a Decomposition Tree as a top-level report view that is always displayed in a dashboard alongside other reports.

For more information, see Overview of the PerformancePoint Decomposition Tree.

Scorecard templates

A scorecard is a special kind of report that provides a high-level snapshot of performance for a group or an organization. A scorecard provides a visual representation of performance that can give you a summary of progress at a glance. For more information, see Overview of PerformancePoint scorecards.

When you create a PerformancePoint scorecard, you can use a wizard to guide you through the process. When you use a wizard, you begin by selecting a template. The template that you select corresponds to the kind of data source that you plan to use for at least one key performance indicator (KPI) in your scorecard.

Important:

To use the different scorecard templates that are available, make sure that Dashboard Designer is configured to use a scorecard wizard. To learn more, see Turn on or off the scorecard wizard in Dashboard Designer.

Template Description

Analysis Services

The Analysis Services scorecard template enables you to create a scorecard that uses an Analysis Services data source for at least one KPI in the scorecard.

Depending on how an Analysis Services scorecard is configured, dashboard users can perform certain tasks that are not necessarily available with other scorecard templates:

  • Use Show Details to view transaction-level details for a particular scorecard value.

  • Open a Decomposition Tree to decompose, or analyze, a group to see its individual members and how they can be ranked according to a selected measure. For more information, see Learn about the Decomposition Tree (http://go.microsoft.com/fwlink/p/?LinkId=204883).

  • View higher or lower levels of data in the scorecard.

  • View dynamic dimension hierarchies in the scorecard.

When you use the Analysis Services scorecard template, you can create KPIs that are based on measures in the data cube, or you can select existing KPIs that you or other dashboard authors have created. However, you can also copy KPIs that are defined in the data cube into the scorecard. This ability to copy KPIs is unique to the Analysis Services scorecard template.

For more information, see Create an Analysis Services scorecard by using Dashboard Designer.

Blank Scorecard

The Blank Scorecard template enables you to create an empty scorecard that has no KPIs or other information. You would typically create a blank scorecard when you and other dashboard authors have already created KPIs.

For more information, see Create a blank scorecard by using Dashboard Designer.

Fixed Values Scorecard

The Fixed Values Scorecard template enables you to create a scorecard that does not use a separate data source. When you use this template, you specify the values for the scorecard while you use the wizard.

For more information, see Create a Fixed Values scorecard by using Dashboard Designer.

Tabular templates. They include the following:

  • Excel Services

  • Excel Workbook

  • SharePoint List

  • SQL Server Table

The four tabular templates (Excel Services, Excel Workbook, SharePoint List, and SQL Server Table) enable you to create a scorecard that uses a tabular data source for at least one KPI in the scorecard. Similar to the Analysis Services scorecard template, when you use a tabular data scorecard template, you can create KPIs that are based on measures in the data source, or you can select existing KPIs that you or other dashboard authors have created.

For more information, see Create a tabular data scorecard by using Dashboard Designer.

See Also

Concepts

Create reports and scorecards by using Dashboard Designer


Overview of PerformancePoint analytic charts and grids
See Also

By using PerformancePoint Dashboard Designer, you can create analytic reports for your dashboards. Analytic reports are dynamic, visual representations of data that can be displayed as interactive line charts, bar charts, pie charts, and tables (which are called grids).

In a dashboard, analytic reports can resemble those shown in the following image:

PerformancePoint analytic reports

PerformancePoint analytic reports remain connected to the data, which means that their content is always up to date. To learn how to create an analytic report, see Create an analytic chart or grid by using Dashboard Designer.

Interactive functionality in analytic charts and grids

You would typically include one or more analytic reports in your dashboard to enable dashboard users to easily view and explore data. Depending on how you set up your analytic charts or grids, dashboard users can use those reports to follow these steps:

  • Open a Decomposition Tree to see how a specific value can be broken down into its contributing members and discover trends across individual members.

    Important:

    You must have Microsoft Silverlight 2 or Microsoft Silverlight 3 installed on your computer in order to use the Decomposition Tree. If you do not have Silverlight 2 or Silverlight 3 installed, you will not see Decomposition Tree listed on the right-click menu.

  • Apply value filters to display the top (or bottom) members in a group, or values that are in a given range.

  • Use Additional Actions, which are defined in the Analysis Services cube.

  • Sort values or chart legend items in ascending or descending order.

  • Drill down or up to see lower or higher levels of detail.

  • Filter out empty items, isolate an item, or remove an item from the report view.

  • Pivot the report, or configure the view type and format.

  • Show or hide information, such as measures or background information.

  • Work with multiple pages of data. (This is useful when a query returns a large set of results.)

  • Export information to Microsoft PowerPoint or Microsoft Excel.

Tip:

The activities described in the list are largely dependent on the way that data cubes are configured in SQL Server Analysis Services. For example, if no actions are defined in the data cubes, then the Additional Actions option is not available for your analytic chart.

Data sources for analytic charts and grids

Analytic reports pull information from data that is arranged into cubes in SQL Server 2005 Analysis Services or SQL Server 2008 Analysis Services. These cubes consist of dimensions, members, and named sets, as described here:

Item | Description
Dimension | A structured, hierarchical way to organize data. For example, a Products dimension might have a hierarchy such as Products > Product Categories > Product Names, and a Date dimension might have Year > Week > Day.
Measure | A cube member that associates a numeric value with one or more dimension members. For example, some measures might include Sales Amounts, Gross Profit, and Gross Profit Margin.
Named set | A collection of one or more dimension members that is defined in the database. For example, Core Products is a common named set that contains a subset of the members that are included in the Products dimension.

See Also

Concepts

Create an analytic chart or grid by using Dashboard Designer


Overview of Excel Services reports displayed in PerformancePoint Web Parts
See Also

Published: December 16, 2010

By using PerformancePoint Dashboard Designer, you can include Excel Services reports in your PerformancePoint dashboards. Excel Services reports are Microsoft Excel workbooks that have been published to Microsoft SharePoint Server. You can display a single item in the workbook, or the whole workbook in your PerformancePoint dashboard.

When you use Dashboard Designer to include Excel Services reports in your dashboard, you do not actually create the reports. Instead, you create PerformancePoint Web Parts that are designed to display Excel Services reports and receive dashboard filters. For more information, see Create an Excel Services report by using Dashboard Designer.

You would typically use Excel Services reports for purposes such as the following:

  • To display view types that you cannot create by using Dashboard Designer. Examples include PivotChart reports, PivotTable reports, and tables that contain conditional formatting or other custom formatting that is not available in analytic grids.

  • To save time by displaying existing reports, instead of creating (or recreating) new Excel workbooks.

  • To include interactive reports in your dashboards that users can either view in a web browser or open in Excel.

  • To create reports that use data source types that are not available in Dashboard Designer.

These are only some examples of how an Excel Services report can be useful. An Excel Services report displays all or part of an Excel workbook that was published to SharePoint Server 2010 by using Excel Services. You can include Excel Services reports in your dashboard, either as a single item on the page or as an item alongside other dashboard items. In addition, you can connect dashboard filters to Excel Services reports, together with other kinds of PerformancePoint reports and scorecards.

Interactive functionality in Excel Services reports

You would typically include one or more Excel Services reports in your dashboard to enable dashboard users to easily view and explore data. Depending on how you set up your reports, dashboard users can perform these kinds of tasks:

  • Browse through pages in Excel workbooks without opening Excel

  • Apply (or change) internal filters for charts and tables that were created in Excel

  • Sort rows or columns in charts or tables

  • Use the Refresh button in the browser window to restore the Excel Services report to its default view

Data sources for Excel Services reports

Excel Services reports can use various data sources, such as those in the following list:

  • A SQL Server database

  • A SQL Server Analysis Services data cube

  • A Microsoft Access database

  • An online analytical processing (OLAP) database

  • A relational database

  • An Excel workbook

  • A text file

  • An external data connection file that is defined as a trusted data provider. Examples might include those in the following list:

    • SQL Server OLE DB, ODBC, or OLAP

    • OLE DB and ODBC for Oracle

    • OLE DB and ODBC for IBM DB2

Data connections are defined in the Excel workbooks and are retained when the workbooks are published to SharePoint Server. For more information, see Excel Services overview (SharePoint Server 2010).

See Also

Tasks

Connect a filter to a report or a scorecard by using Dashboard Designer

Concepts

Create an Excel Services data connection (PerformancePoint Services)


Overview of PerformancePoint KPI Details reports
See Also

Published: December 16, 2010

By using PerformancePoint Dashboard Designer, you can include KPI Details reports in your dashboards. A KPI Details report is a view type that provides additional information about scorecard values and properties. As dashboard users click cells in a scorecard, the KPI Details report updates to display particular information about that value. For example, when dashboard users click a value in the Target column, the KPI Details report displays details such as how performance is calculated, what banding settings are used, and what kind of indicator is used.

In a PerformancePoint dashboard, a KPI Details report alongside its corresponding scorecard might resemble the following image:

A KPI Details report alongside its scorecard

To display information, a KPI Details report must be connected to a scorecard in the dashboard. This means that a KPI Details report is not used in a dashboard without its accompanying scorecard on the same dashboard page. However, you can create and configure a KPI Details report one time, and then reuse it in multiple dashboards, connected to multiple scorecards.

See Also

Concepts

Create a KPI Details report by using Dashboard Designer
Create a scorecard by using Dashboard Designer
Assemble dashboard pages and link items together by using Dashboard Designer
Add a KPI Details report to a dashboard by using Dashboard Designer


Overview of ProClarity Server reports displayed in PerformancePoint Web Parts
See Also

Published: January 20, 2011

A ProClarity Server report is a report that was published to ProClarity Analytics Server. ProClarity is business analysis software that was available to you as a Microsoft Office PerformancePoint Server 2007 user. Examples of ProClarity Server reports include a Performance Map, a Perspectives View, or a chart or grid that displays data that is stored in SQL Server Analysis Services.

You might consider including ProClarity Server reports in your dashboard if your organization has upgraded to Microsoft SharePoint Server 2010, but you have not yet replaced all the ProClarity reports that your organization is using.

Important:

We recommend that you use applications, such as PerformancePoint Services and Excel Services, to create and publish reports for your dashboards.

ProClarity Analytics Server 6.3 will only run as a 32-bit service, even if you are using a 64-bit operating system. In addition, you cannot export ProClarity content to 64-bit versions of Microsoft Excel or Microsoft PowerPoint. Because of these and other limitations, consider replacing ProClarity Server reports by using reports that you can create by using Dashboard Designer, Excel, or SQL Server Report Builder.

You can include a ProClarity Server report in your PerformancePoint dashboard by displaying it in a PerformancePoint Web Part that you create by using PerformancePoint Dashboard Designer. For more information, see Create a ProClarity Server report by using Dashboard Designer.

See Also

Concepts

Overview of PerformancePoint reports and scorecards
Plan, design, and implement a PerformancePoint dashboard


Overview of Reporting Services reports displayed in PerformancePoint Web Parts
See Also

Published: January 20, 2011

SQL Server Reporting Services reports are reports that are published to Reporting Services. Reporting Services reports can resemble tables or charts, and they can include their own filters, which are also known as parameters. For more information, see Overview (Reporting Services) (http://go.microsoft.com/?linkid=9758846).

Reporting Services reports are typically highly interactive. Depending on how the reports are configured, dashboard users can explore data by clicking, sorting, and scrolling through pages. In addition, users can perform the following kinds of tasks:

  • Preview, adjust, and print one or more pages in the report.

  • Apply one or more parameters without having to rerun a query to the database. Parameters are built-in filters that are specific to the report.

  • Export data as image files, Adobe PDF files, Web files, or other formats that Microsoft applications recognize.

When you use Dashboard Designer to include Reporting Services reports in your dashboard, you do not actually create the reports. Instead, you create PerformancePoint Web Parts to display Reporting Services reports and receive dashboard filters. For more information, see Create a Reporting Services report by using Dashboard Designer.

See Also

Concepts

Overview of PerformancePoint reports and scorecards
Plan, design, and implement a PerformancePoint dashboard


Overview of PerformancePoint strategy maps
See Also

A strategy map is a report view that can show relationships between objectives, goals, and key performance indicators (KPIs).

In a PerformancePoint dashboard, a strategy map alongside its scorecard might resemble the following image:

PerformancePoint strategy map

In the image, the color of each shape in the diagram is determined by the indicator that is connected to it. For example, the scorecard shows that Asia is on target overall, off target for the Sales Amount measure, and on target for the Sales Quantity measure. Thus, we see the shape that represents Asia colored in green, the shape for Sales Amounts colored in yellow, and Sales Quantity colored in green.

You are not limited to simple diagrams such as the one shown. You can use any Visio diagram. However, if you want the shape colors to update automatically, the kinds of shapes that you use matter. To configure the strategy map so that the shape colors correspond to scorecard values, use a Visio diagram that does not consist of complex shapes. Examples of complex shapes include shapes that consist of groups or sets of other shapes.

Strategy maps and the Balanced Scorecard

Strategy maps have their roots in the Balanced Scorecard framework, which defines organizational performance by using four perspectives:

  • Financial This perspective typically includes metrics such as revenue, cost, and profit.

  • Customer This perspective, which is also known as the customer satisfaction perspective, typically includes metrics such as customer counts, market share, and number of complaints.

  • Internal process This perspective, which is also known as the operations perspective, typically includes metrics such as time to market for new products, service error rates, and quality control measures.

  • Learning and growth This perspective, which is also known as the human resources perspective, typically includes metrics such as employee turnover rates, the number of new employees, and hiring data.

A Balanced Scorecard in PerformancePoint Services is typically a dashboard page that consists of the following:

  • A scorecard that displays performance metrics across the organization using the four perspectives described earlier in this section. The scorecard contains four groups of KPIs that correspond to those perspectives. For example, one set of KPIs includes financial metrics, another set includes customer metrics, and so on.

  • A strategy map that includes four groups of shapes (one group of shapes for each perspective) that are connected to the scorecard KPIs.

A Balanced Scorecard might resemble the following image:

Example of a Balanced Scorecard

Although many organizations find the Balanced Scorecard framework useful, you do not have to follow it when you create your strategy map. You can create your strategy map using any combination of KPIs and objectives in a PerformancePoint scorecard. For example, you can use a strategy map to show performance metrics across different geographical regions. Or, you can diagram a process in your organization and show how well each contributor to the process is performing.

See Also

Concepts

Create a strategy map by using Dashboard Designer


Overview of Web Page reports in Dashboard Designer
See Also

Published: May 29, 2010

In PerformancePoint Dashboard Designer, a Web Page report is a report type that you can use to display a Web site in a dashboard. You would typically use Web Page reports for purposes such as the following:

  • To add textual details about other reports that are on the dashboard page. For example, you might use a Web Page report to help users understand the key performance indicators (KPIs) that are in a scorecard and what actions they should take when a KPI is off target.

  • To add a Web site, such as a financial news page that displays alerts, stock market activity, and news bulletins to a dashboard targeted at sales, marketing, or finance professionals.

  • To display a report, such as a Visio Graphics Service report, an Access Services report, or a Project Server report that you cannot create by using Dashboard Designer.

  • To add a blog or a forum that displays discussion threads and user comments on a new product in a dashboard page.

These are only some examples of how a Web Page report can be useful. A Web Page report displays an internal or external site in a Web Part that you can then include in your dashboard, either as a single item on the page or as an item alongside other dashboard items.

Limitations of Web Page reports

The site that you display in a Web Page report is live and fully functional, exactly as it is in a typical Web browser. However, Web Page reports do not typically have filtering and exporting capabilities that are available in other PerformancePoint report types.

  • Dashboard filters In general, you cannot connect a dashboard filter to a Web Page report. However, depending on the site that is displayed in the Web Page report, you might be able to add a parameter to the Web site address (URL) that is specified for the report.

  • Exporting information Dashboard users cannot export a Web Page report to Microsoft PowerPoint or Microsoft Excel by using the Web Part menu for a Web Page report. To capture the information displayed in a Web Page report, dashboard users can print the report by using the Print toolbar commands for the Web browser.

See Also

Concepts

Create a Web Page report by using Dashboard Designer


Overview of the PerformancePoint Decomposition Tree
See Also

Published: January 20, 2011

The PerformancePoint Decomposition Tree, new in PerformancePoint Services in Microsoft SharePoint Server 2010, is an analytics tool that dashboard users can use to perform root-cause analysis. Dashboard users can view how individual members in a group contribute to the whole.

In a Decomposition Tree, members are ranked from greatest to least, or from least to greatest. The Decomposition Tree enables users to decompose, or analyze, a group to see its individual members and how they can be ranked according to a selected measure, such as by sales amounts.

Tip:

The Decomposition Tree is useful for understanding why a particular value in a report or a scorecard is what it is. However, dashboard users cannot export a Decomposition Tree to Microsoft Excel or Microsoft PowerPoint like they can with some other kinds of reports, such as scorecards or analytic charts or grids. In addition, dashboard users cannot save their analysis that they did by using the Decomposition Tree.

In this article:

  • How do I create or open a Decomposition Tree?

  • How do I use a Decomposition Tree?

How do I create or open a Decomposition Tree?

As a dashboard author, you do not create the Decomposition Tree by using PerformancePoint Dashboard Designer. In addition, you cannot display a Decomposition Tree as a top-level report view that is always displayed in a dashboard alongside other reports. Instead, dashboard users open the Decomposition Tree from a report in a dashboard that is deployed to Microsoft SharePoint Server 2010.

Note:

To open and use the Decomposition Tree, dashboard users must have Microsoft Silverlight 3 or Microsoft Silverlight 4 installed on their computer. Also be aware that depending on how a scorecard or an analytic view is configured, dashboard users might be unable to open the Decomposition Tree. For example, if a dashboard user right-clicks a report or scorecard value that uses a calculated member or a background item, the Decomposition Tree option might not be available.

To open the Decomposition Tree

  1. In a PerformancePoint dashboard that is published to SharePoint Server 2010, select a report view that uses SQL Server Analysis Services data. Examples include analytic charts and grids, and some kinds of scorecards.

  2. In the report view, right-click a value, and then select Decomposition Tree. The value can be a cell in a scorecard or a grid, or it can be an amount in a chart.

    The Decomposition Tree opens in a browser window.

How do I use a Decomposition Tree?

Dashboard users would typically use a Decomposition Tree to see how a single value in a report or a scorecard can be broken down into its contributing members. The Decomposition Tree automatically sorts results and applies an inline Pareto chart to the data. Therefore, dashboard users can quickly see the highest contributors to a particular report value. Dashboard users can also see trends across individual members that contribute to an overall value.

When dashboard users begin to use the Decomposition Tree, they typically start with one bar, which is a decomposition node, located on the left side of the screen. Use the following procedure to conduct root-cause analysis.

To conduct root-cause analysis by using a Decomposition Tree

  1. In a PerformancePoint dashboard that is published to SharePoint Server 2010, select a report view that uses SQL Server Analysis Services data. Examples include analytic charts and grids, and some kinds of scorecards.

  2. In the report view, right-click a value, and then select Decomposition Tree. The value can be a cell in a scorecard or a grid, or it can be an amount in a chart.

    The Decomposition Tree opens in a browser window.

  3. Click a decomposition node. A list of dimensions and hierarchies is displayed.

  4. Select the dimension and hierarchy that you want to use. The view automatically updates to display the next level of detail for the item that you selected.

  5. Repeat Steps 3 and 4 to show additional levels of detail in the view.

  6. To view member properties for a dimension member, browse to a single dimension member. Click its node to open a dialog box that contains additional options, and then click Show Properties.

See Also

Concepts

Overview of PerformancePoint reports and scorecards
Plan, design, and implement a PerformancePoint dashboard


Overview of PerformancePoint scorecards
See Also

Published: November 4, 2010

A scorecard is a special kind of report that provides a high-level snapshot of performance for a group or an organization. Scorecards display a collection of key performance indicators (KPIs) and the performance targets for those KPIs to show progress toward achieving specific goals. The KPIs in a scorecard represent specific, measurable elements of performance, such "Sales" for a particular group, or "Number of customer complaints per day."

A scorecard provides a visual representation of performance that can give you a summary of progress at a glance. In a PerformancePoint dashboard, a basic scorecard might resemble the following image:

Basic PerformancePoint scorecard that has one KPI

Scorecards are as varied as the organizations they represent. A retail business might measure performance by reporting sales volume, for example, and a city government might track the number of citizens who attend community meetings. In addition, some scorecards might contain only one KPI, whereas other scorecards might contain multiple KPIs.

In this article:

  • Characteristics of PerformancePoint scorecards

  • Interactive functionality in scorecards

  • Data sources for scorecards

Characteristics of PerformancePoint scorecards

A scorecard that was created by using PerformancePoint Dashboard Designer is known as a PerformancePoint scorecard. Some features that you might see in a PerformancePoint scorecard are described in the following list:

  • Trend indicators, such as arrows, that show whether performance has improved, remained the same, or decreased from a previous time period.

  • Complex KPIs that measure performance by comparing multiple values or by using calculated metrics. For example, suppose that sales performance is determined not only by comparing gross sales amounts to quota, but also by factoring in gross profit margin and weighted sales metrics. You can have KPIs that show all the measures of sales performance and then calculate an overall performance measurement.

  • Time Intelligence to show performance for dynamic time periods or as of a particular date. For example, you might have a column labeled Last Six Months in your scorecard that is automatically updated.

  • Expandable and collapsible rows or columns that you can use to see lower or higher levels of detail in the scorecard. For example, suppose that you have an item named All Products on rows in your scorecard. Depending on how the scorecard is configured, you can click Products and see the next level of detail. The scorecard updates and displays additional rows, one for each item in the Products group.

  • KPIs that are used as filters for other reports, such as analytic charts or grids in a dashboard. For example, suppose that you have a scorecard that is connected to an analytic chart. When you click a KPI, the analytic chart automatically updates to display information that is relevant to that KPI. When you click another KPI, the report updates again to display information for that KPI, and so on.

  • The ability to open a Decomposition Tree to analyze how individual members contribute to a value. Depending on how the scorecard is configured and if it uses SQL Server Analysis Services data, you can right-click a value, and then click Decomposition Tree.

Interactive functionality in scorecards

You would typically include one or more scorecards in your dashboard to enable dashboard users to easily view whether performance is on or off target at a glance. Depending on how you set up your scorecards, dashboard users can use those scorecards to perform the following tasks:

  • Expand or collapse rows in the scorecard.

    Drill up (or down) to view higher (or lower levels) of detail.

  • Apply value filters to display the top (or bottom) members in a group, or values that are in a given range.

  • Export information to Microsoft PowerPoint or Microsoft Excel.

  • Click a value in a scorecard that is linked to a KPI Details report to view additional information about KPI values and properties.

    Note:

    This option applies to dashboards that contain a scorecard that is connected to a KPI Details report on the same page.

  • Click a KPI that is linked to another report, such as an analytic chart or grid, to display additional information about that KPI value.

Data sources for scorecards

PerformancePoint scorecards can use data that is stored in any of the following data sources:

  • SQL Server Analysis Services

  • A SharePoint list

  • An Excel Services file

  • A table in a SQL Server database

  • A list of values that is created by the scorecard author

See Also

Concepts

Create a scorecard by using Dashboard Designer
Overview of PerformancePoint reports and scorecards
Assemble dashboard pages and link items together by using Dashboard Designer


Overview of PerformancePoint dashboard filters and connections
See Also

Published: November 4, 2010

You can use PerformancePoint Dashboard Designer to create many kinds of dashboard filters and connections. For example, you can create dashboard filters that are stand-alone dashboard items that you can reuse across multiple dashboards or across multiple pages in a dashboard. You can also create analytic reports and scorecards that use built-in filters to display particular information. In addition, you can create connections between dashboard items, such as a connection between a scorecard key performance indicator (KPI) and another report.

This article summarizes the different kinds of dashboard filters and connections that you can create by using Dashboard Designer.

In this article:

  • Dashboard filters

  • Report and scorecard filters

  • Scorecard KPI connections

  • Using combinations of filters and connections

Dashboard filters

When you create a dashboard filter, you must first decide what kind of filter that you want to create. By using Dashboard Designer, you can select from six different dashboard filter templates, as shown in the following table.

Filter template Description

Custom Table

Use the Custom Table filter template when you want to create your own data table that you will use for the filter. Here are several examples of when you might use this template:

  • To bring together data from different data sources and construct a mapping table to organize the data.

  • To specify the names of the items that dashboard users will see. This is useful when the data source that you want to use contains names that dashboard users might not recognize.

  • To create your own list of items for the dashboard filter.

When you create a dashboard filter by using the Custom Table filter template, you begin by using an application, such as Microsoft Excel, to create and configure the table that you want to use. Then, you use that table to create a data source. Finally, you create and configure the dashboard filter.

The Custom Table filter template works with tabular data sources, such as Excel Services, an Excel workbook, a SharePoint list, or a table that is stored in Microsoft SQL Server.

To create a Custom Table dashboard filter, see Create a Custom Table filter by using Dashboard Designer.

Important:

Do not use the Custom Table filter template when you can use the Member Selection filter template. Although the Custom Table filter template works with tabular data, you should only use this template for special cases such as those that are described earlier in this article where you create your own data table. For more information, see Filters for Tabular Data Sources and Tabular Filters Explained (http://go.microsoft.com/fwlink/p/?LinkId=204884).

MDX Query

Use the MDX Query filter template when you want to specify your own Multidimensional Expressions (MDX) expression to create the dashboard filter. For information about the kinds of MDX expressions that you can use, see Filter (MDX) (http://go.microsoft.com/fwlink/p/?LinkId=204885).

The MDX Query template works with data that is stored in SQL Server Analysis Services.

To create an MDX Query dashboard filter, see Create an MDX Query filter by using Dashboard Designer.

Member Selection

Use the Member Selection filter template when you want to quickly and easily create a dashboard filter by selecting dimension members that are in a database.

The Member Selection filter template works with data that is stored in Analysis Services or any tabular data source that contains members.

To create a Member Selection dashboard filter, see Create a Member Selection filter by using Dashboard Designer.

Named Set

Use the Named Set filter template when you want to quickly and easily create a dashboard filter by selecting a group of items that was defined as a set in a database.

The Named Set filter template works with data that is stored in SQL Server Analysis Services.

To create a Named Set dashboard filter, see Create a Named Set filter by using Dashboard Designer.

Time Intelligence

Use the Time Intelligence filter template when you want to create a dashboard filter that contains a list of dynamic time periods that are continuously up to date. Examples of time periods that you can use are included in the following list:

  • Last Year

  • Last Six Months

  • Last 30 Days

  • Year to Date

When you create a dashboard filter by using the Time Intelligence filter template, you create a list of time periods by specifying Time Intelligence formulas. Each formula uses a particular syntax (this is known as Simple Time Period Specification syntax) which generally takes the form of Period-n (or Period+n), where "n" represents the number of time periods to include in the formula.

For more information about Time Intelligence formulas, see PerformancePoint Time Intelligence quick reference.

The Time Intelligence filter template works with data that is stored in Analysis Services, or any tabular data source. However, the data source that you use for the Time Intelligence filter and any data sources that are used by the reports and scorecards to which you want to connect the Time Intelligence filter must be configured to work with Time Intelligence. For more information about how to configure a data source to work with Time Intelligence, see Configure data sources to work with Time Intelligence by using Dashboard Designer.

To create a Time Intelligence dashboard filter, see Create a Time Intelligence filter by using Dashboard Designer.

Time Intelligence Connection Formula

Use the Time Intelligence Connection Formula filter template when you want to create a dashboard filter that uses a calendar control to display information as of a particular date. By default, the Time Intelligence Connection Formula filter is always set to the current date in the dashboard. However, dashboard users can use the calendar control to select a different date and view information for that particular date in the reports and scorecards that are connected to the dashboard filter.

When you create a dashboard filter by using the Time Intelligence Connection Formula filter template, you configure each connection to the filter by using the Formula Editor dialog box. For more information, see Use the Connection Formula dialog box in Dashboard Designer to configure a filter connection.

Similar to the Time Intelligence dashboard filter, the Time Intelligence Connection Formula filter template works with data that is stored in Analysis Services or any tabular data source that was configured to work with Time Intelligence.

To create a Time Intelligence Connection Formula dashboard filter, see Create a Time Intelligence filter by using Dashboard Designer.

Except for the Time Intelligence Connection Formula filter, which uses a calendar control, dashboard filters are displayed as lists or expandable tree controls in a dashboard. Similar to reports and scorecards, dashboard filters are reusable items. That is, you can use dashboard filters across multiple dashboards and across multiple pages in a dashboard.

To create a dashboard filter, see Create a dashboard filter by using Dashboard Designer.

Report and scorecard filters

You can create reports and scorecards that use their own hidden filters. For example, you can create an analytic chart to show information for the top 10 items in a group. You can do this by applying a Top 10 value filter or by using a custom MDX query to specify the information to display in the chart. For more information about how to create and configure analytic reports, see Create an analytic chart or grid by using Dashboard Designer.

You can also create scorecards that contain their own filters. For example, you can configure a scorecard to only show (or not show) rows that are on target or off target. You can configure scorecards not to show empty rows, and similar to analytic charts and grids, you can apply value filters to a scorecard to show the top or bottom members of a group. For more information about how to create and configure scorecards, see Create a scorecard by using Dashboard Designer.

Report and scorecard filters are not noticeable in a dashboard because they are seamlessly integrated into each report or scorecard. Depending on the method that you use to create an analytic report or a scorecard, some analytic functionality might not be available. For example, if you use a custom MDX query to create an analytic chart or grid, dashboard users might be unable to open the Decomposition Tree from a report value. This can also occur with scorecards that contain KPIs that use calculated metrics. In addition, the Show Details command, which enables dashboard users to view transaction-level details for a particular value, might not be available.

Scorecard KPI connections

You can connect a scorecard KPI to another report in a dashboard. For example, you can connect a KPI to an analytic chart or grid, or to a Reporting Services report. This enables you to use the KPI as a filter for another report or as a mechanism to cause another report to display in the dashboard.

Connect a KPI to another report when you want to do any of the tasks that are described in the following list:

  • Use a KPI as a filter for other reports, such as analytic charts or grids.

    For example, suppose that a KPI shows overall sales performance for a particular geographical region. Suppose additionally that you want to view sales amounts across product categories for that geographical region. You can connect the KPI to an analytic chart that shows sales amounts across different product categories. Then, when dashboard users click that KPI, the analytic chart automatically updates to display the product sales information.

  • Enable dashboard consumers to click a KPI to see more information about its underlying details.

    Suppose that a KPI shows sales performance for a particular geographical region and that there are several sales representatives for that region. You can connect the KPI to an analytic chart that shows detailed information for each sales representative. Then, when dashboard users click that KPI, the analytic chart shows even more detailed information for the sales representatives.

  • Link a KPI to multiple reports.

    Suppose that a KPI shows overall sales performance for a geographical region. Suppose additionally that you want to display more detailed information about that KPI in multiple reports in the dashboard. You can connect a single KPI to multiple reports. Then, when dashboard users click that KPI, all the reports that are connected to it automatically refresh to display the detailed information.

When you link KPIs to other reports in a dashboard, you create a more dynamic, interactive dashboard that displays information based on what a dashboard user clicks.

Using combinations of filters and connections

You can use combinations of filters and connections in your PerformancePoint dashboard. For example, consider the following scenario:

A user named Pat creates a line chart to show product sales amounts over multiple periods of time. The chart uses an embedded filter to show sales amounts for just the core products. Next, Pat creates a scorecard to show sales performance information for various sales representatives in the group. Then, Pat creates a dashboard filter that contains a list of geographical regions. Pat creates a dashboard page and adds the scorecard, line chart, and filter to the page. Pat connects the dashboard filter to both the scorecard and the report and then deploys the dashboard. Now, dashboard users can use the filter to select a particular geographical region. Then, the scorecard shows sales performance for only that region, and the line chart updates to show sales amounts over periods of time in that geographical region.

When you use combinations of filters and connections in your dashboard, make sure that you create connections that make sense for the data and that will work in the dashboard. For example, if a report contains an embedded filter to show information for a particular time period, you might not want to connect a dashboard filter that also contains a list of time periods to the report. For more information, see Overview of connecting filters to reports or scorecards by using Dashboard Designer.

See Also

Tasks

Connect a filter to a report or a scorecard by using Dashboard Designer

Concepts

Create a dashboard filter by using Dashboard Designer


Overview of connecting filters to reports or scorecards by using Dashboard Designer

When you create dashboards, you can include one or more filters to enable dashboard users to focus on specific information. Filters are dashboard elements that you can create and attach to scorecards and reports to restrict the kinds of content that you want to display. For example, you can include a Time filter that dashboard users can use to view information for a specific time period.

Dashboard filters vary in appearance and functionality, and typically belong to one of the following groups:

  • Items, such as key performance indicators (KPIs) in a PerformancePoint scorecard, which are linked to other reports. When dashboard users click a KPI, any reports that are connected to it update to display information that is relevant to that KPI.

  • Individual dashboard items that resemble lists, expandable trees, or a calendar control. These include PerformancePoint filters and other kinds of standard SharePoint Server filters.

Comparing PerformancePoint filters to SharePoint Server filters

When you want to include a dashboard filter, you can decide between using PerformancePoint filters or other kinds of SharePoint Server filters. Use the following table to compare the differences and features of each.

PerformancePoint filters SharePoint Server filters

Available filter types

Six PerformancePoint filter templates, as follows:

  • Member Selection. Create a filter by selecting individual members or a group of members in your data source.

  • MDX Query. Create a list of items by specifying a Multidimensional Expressions (MDX) query that works with SQL Server 2008 Analysis Services or SQL Server 2005 Analysis Services.

  • Named Set. Create a filter by selecting a named set, which is a group of members that is defined in an Analysis Services database.

  • Tabular Values. Create a filter by selecting members in a custom table that uses Excel Services, Microsoft Excel, a SharePoint list, or SQL Server content.

  • Time Intelligence. Create a time filter to display information for dynamic time periods, such as the last six months.

  • Time Intelligence Connection Formula. Create a time filter that uses a calendar control to display information as of a particular date.

Many SharePoint Server filter templates. These include the following:

  • SQL Server Analysis Services Filter. Create a filter by first selecting a content connection from a Web Part that is located on the same page, a SharePoint Data Connection library, or an Office Data Connection library, and then selecting a dimension and hierarchy to use for the filter.

  • Choice Filter. Create a filter by typing a list of items to include in the filter.

  • Business Data Catalog Filter. Create a filter by first selecting an entity in a Business Data Catalog and then specifying a Value column to use. You can also specify a Description column.

  • Current User Filter. Use properties, such as a dashboard user's SharePoint credentials, birthday, hobbies, and so on, as a filter.

  • Date Filter. Create a basic time filter. You can either provide a default value for the date or leave it blank. Users can select a date by either using a calendar control or by entering the date that they want to use.

  • Page Field Filter. Create a filter that uses information from the current SharePoint page.

  • Query String (URL) Filter. Use a Web site address (URL) that includes a query string as part of the URL.

  • SharePoint List Filter. Select a SharePoint list and then use a column for the filter.

  • Text Filter. Use a box to enter text. If you want, you can specify a default value for the box.

Created by using

PerformancePoint Dashboard Designer

Edit mode in a SharePoint site, such as a Web Parts page

Storage and reusability

Saved to a SharePoint list that contains PerformancePoint dashboard items. These include reports, scorecards, and dashboard pages.

Reusable across multiple pages in a dashboard and across multiple dashboards.

Saved to a single SharePoint page.

Not reusable across other pages or dashboards.

Connected to items by using

Dashboard Designer

or

Edit mode in a SharePoint page

Note:

Advanced filter configuration options are available when you use Dashboard Designer to connect PerformancePoint filters to other PerformancePoint items.

Edit mode in a SharePoint page

Page/item refresh behavior

Depends on the Web Parts that you connect. In general:

  • When you connect PerformancePoint filters to PerformancePoint items, your dashboard page updates asynchronously when a user applies a filter. That is, the whole dashboard page does not reload. Instead, the results are displayed automatically in the PerformancePoint items that are connected to the filter.

  • When you connect a PerformancePoint filter to a non-PerformancePoint report type, the whole dashboard page is likely to reload when a dashboard user applies a filter.

Depends on your dashboard and the Web Parts that you connect.

In general, if the dashboard page includes a Filter Actions button, then the page updates only when a user clicks the Filter Actions button. If the dashboard page does not include a Filter Actions button, then the page updates automatically as soon as the user clicks elsewhere on the page.

Connecting Web Parts

When you link a filter to a dashboard item, you connect one Web Part to another. You have several different options available, some of which are described in the following table:

Filter/Web Part combination Examples

Connect a PerformancePoint Web Part to another PerformancePoint Web Part.

  • Connect a PerformancePoint dashboard filter to an analytic chart.

  • Connect a scorecard KPI to an analytic grid.

  • Connect a PerformancePoint scorecard to a KPI Details report.

Connect a PerformancePoint Web Part to a non-PerformancePoint Web Part.

Connect a filter that you created by using Dashboard Designer to a Chart Web Part that you created by using SharePoint Designer.

Connect a non-PerformancePoint filter to a PerformancePoint Web Part

Connect a filter that you created by using edit mode in a SharePoint site to an analytic chart that you created by using Dashboard Designer.

Connect two non-PerformancePoint Web Parts together.

Connect a SharePoint filter to a SharePoint list.

Note:

When you are connecting two PerformancePoint Web Parts, use Dashboard Designer to create the connection. When you are connecting other kinds of Web Parts, use another method, such as edit mode in the SharePoint site where your dashboard is hosted.

Selecting filters that will work with your dashboard item(s)

Whether and how your filters will work depends on several factors. These include the following:

  • Data source compatibility. When you connect a filter to a report or a scorecard, those items do not necessarily have to use the same data source. However, they must use similar kinds of content. For example, let's say that you create a dashboard filter that you call a Geography filter and that contains a list of countries/regions. Then the report or scorecard that you connect to that filter must use content that contains a similar list of countries/regions.

  • Web Part types. When you connect one Web Part to another, the connection consists of a provider Web Part (which sends a value or query string), a linking mechanism, and a consumer Web Part. You might also have a transformer that translates the value or query string sent from the provider Web Part to the consumer Web Part. If either Web Part is not technically able to send or receive its value or query string, the connection will not work. For example, you can connect a dashboard filter to a KPI Details report. However, that filter does not affect the report. To learn more about the technology of connecting Web Parts, see Web Parts Connections Overview (http://go.microsoft.com/fwlink/p/?LinkId=185223).


Overview of training PerformancePoint dashboard users (SharePoint Server 2010)

Published: April 28, 2011

At the end of a deployment of PerformancePoint Services dashboards, one of the last phases is to train users to use the dashboards that are created. When you provide training or make sure that it occurs, users are more likely to adopt the dashboard and less likely to request support.

The following image is a simplified, high-level view of the life cycle of a dashboard deployment project.

Life Cycle of Dashboard Deployment

Training materials should instruct users on how to navigate and use the charts, reports, and other dashboard elements to monitor and analyze relevant information. This article has links to training material to help you provide training and inform users what to expect in a dashboard.

Train users on PerformancePoint Dashboards

The following are areas to emphasize as your organization develops its own training materials.

Explain to users what the scorecard, report, and dashboard elements mean

In many cases, users do not know what they want until they see a prototype or the initial design of a dashboard and its various elements. During and after the design phase, instruct users on the following.

  • The purpose of the dashboard and what is being measured.

  • How current the data is, when the data is refreshed (latency) for each data source behind the dashboard element, and when users should check for an update to refresh the view of the dashboard elements.

  • The indicators and how they show what is "good" and "bad".

  • The thresholds and trending indicators used to indicate whether things are becoming better or worse.

  • The filters that are available to users for refining the data that is shown.

  • What the target is and what the norm is for a KPI.

  • How to display more details and, on the other hand, how to view data more generally with the various mechanisms described later in this article.

  • Users should be encouraged to give feedback to the dashboard author on what they think is missing or can be improved. For example, if users do not see data that is relevant to their decision making, such as additional views or separate dashboards, they should say something to the dashboard author.

Give an overview of PerformancePoint report types

Users should review the following documentation about reports, scorecards, and other dashboard elements that are relevant to their dashboard implementation.

  • Learn about PerformancePoint scorecards (http://go.microsoft.com/fwlink/p/?LinkId=215812).

  • Learn about PerformancePoint report types (http://go.microsoft.com/fwlink/p/?LinkId=215813), which discusses the different report types:

    • Analytic charts and grids

    • Excel Services reports

    • SQL Server Reporting Services reports

    • ProClarity Server reports

    • Web Page reports

    • Scorecards

    • Strategy Map

    • KPI Details reports

  • Learn about the Decomposition Tree (http://go.microsoft.com/fwlink/p/?LinkId=215871), which describes a root-cause analysis tool for looking at SQL Server Analysis Services data.

Show how to navigate PerformancePoint reports, Web Parts, and other dashboard components

The following are articles that show how to navigate reports, Web Parts, and other PerformancePoint dashboard components.

  • Getting Started: PerformancePoint dashboards and Web Parts (http://go.microsoft.com/fwlink/p/?LinkId=215875), which gives short descriptions of dashboard elements and links to helpful articles and more.

    • What is the difference between a dashboard and a scorecard? (http://go.microsoft.com/fwlink/p/?LinkId=215873)

    • Why is some information not visible on my dashboard? (http://go.microsoft.com/fwlink/p/?LinkId=215874)

  • How to navigate PerformancePoint dashboards and explore data (http://go.microsoft.com/fwlink/p/?LinkID=215872)

  • Make Better Business Decisions (http://go.microsoft.com/fwlink/p/?LinkId=215876), gives users a tour of how to use a PerformancePoint dashboard to analyze potential business concerns, such as profitability, and then share information and recommendations with other users in order to improve business decision making.

Demonstrate how dashboards are created

PerformancePoint Services includes a dashboard authoring tool that has many features for creating KPIs, scorecards, reports, filters, and dashboards. Although the following videos are made for dashboard authors, users can watch them to learn what is available in a dashboard. The following videos introduce PerformancePoint Services and Dashboard Designer. All are available at Up to Speed with PerformancePoint Dashboard Designer (http://go.microsoft.com/fwlink/p/?LinkId=215878).

  • Video 1: Introducing Dashboard Designer (5:48)

  • Video 2: Tour Dashboard Designer (11:17)

  • Video 3: Creating a basic dashboard (13:20)

  • Video 4: Adding a report to a dashboard (3:36)

  • Video 5: Making changes to a PerformancePoint dashboard (7:55)

  • Video 6: Adding a page to a PerformancePoint dashboard (4:22)


Create a data source inventory for PerformancePoint dashboard authors
See Also

Published: May 5, 2011

When you configure PerformancePoint Services in Microsoft SharePoint Server 2010 for your environment, one tool that can save you and dashboard authors much work is a data source inventory. You would typically use a data source inventory to list and track the various data sources that your organization might use with PerformancePoint Services.

For example, suppose that your organization has configured PerformancePoint Services and that a dashboard author is about to use PerformancePoint Dashboard Designer for the first time. The dashboard author begins by selecting (or creating) a data connection in Dashboard Designer. This person might not know where the data is stored. However, if a data source inventory exists and includes the names of servers where data is stored and other relevant information, the dashboard author can easily select or create a data connection to use for reports, scorecards, and filters.

Creating a data source inventory

Depending on the process that your particular organization uses, you can use a data source inventory before and after you create any data connections in Dashboard Designer. For example, you might create a data source inventory before you or other SharePoint administrators even configure PerformancePoint Services. You can then use the data source inventory to decide how you want to configure security and data source authentication methods for PerformancePoint Services.

After PerformancePoint Services is configured, you can then refer to the data source inventory while you create data connections in Dashboard Designer. That way, dashboard authors do not have to remember which servers host which data sources and what they contain. Instead, dashboard authors can refer to the data source inventory, select the data connection in Dashboard Designer that they want to use, and proceed to create one or more dashboard items using that data source.

A useful data source inventory typically includes information such as the following details:

  • Server names where data is stored

  • Database names, types, and descriptions

  • Time dimension types and descriptions that include fiscal and calendar year configurations

  • Authentication methods and user roles that are used by database servers

We have created a PerformancePoint Data Source Inventory template by using Microsoft Excel 2010 that you might find helpful. For more information and to download the template, see PerformancePoint Data Source Inventory template (http://go.microsoft.com/fwlink/p/?LinkId=217462).

If you prefer, you can also create your own data source inventory file by using whatever applications that you want. For example, you can use Microsoft Word, Microsoft Excel, a SharePoint list, or any other application that makes it easy for you to list the information that you want to capture for your data source inventory.

To create a PerformancePoint data source inventory

  1. Locate all the databases that your organization might use with PerformancePoint Services.

  2. Open the application that you want to use to create your PerformancePoint data source inventory.

  3. By using that application, create columns that correspond to the following list:

    1. Server Use this column to specify the name of a server where data is stored.

    2. Data Warehouse Use this column to specify the name of a data warehouse or a master database that contains data.

    3. Database Use this column to specify the name of a database that contains data.

    4. Data Type Use this column to indicate whether a database is an online analytical processing (OLAP) database, a relational table, a static table, and so on.

    5. Cube/Table/List Use this column to type the name of a single cube, table, or list.

    6. Description Use this column to type a brief description for the database. For example, you could indicate that a database contains sales performance information or product inventory details.

    7. Data Dictionary? Use this column to indicate whether a data dictionary exists for the database. A data dictionary contains data about databases that are in a database system. Data dictionaries store all the various schema and file specifications and their locations. They also contain information about which programs use which data and which users are interested in which reports.

    8. Number of Time Dimensions Use this column to indicate how many time dimensions exist in a particular database. For example, some databases contain multiple time dimensions, whereas other databases might only use one time dimension.

    9. Primary Time Dim Use this column to specify the name of the primary time dimension, whether it is based on a fiscal or a calendar year, and what its hierarchical structure is. For example, you could type Calendar YQMD to indicate that the time dimension is based on a calendar year and is organized into Year, Quarter, Month, and Day units of time.

    10. First Date in Primary Time Dim(s) Use this column to specify the first date that exists in the primary time dimension. For example, if that time dimension contains data as of March 1, 1999, then you would type that date in this column.

    11. Secondary Time Dim If a database has only one time dimension, you can skip this column. Otherwise, use this column to specify the name of a secondary time dimension, whether it is based on a fiscal or a calendar year, and what its hierarchical structure is. For example, you could type Fiscal YMD to indicate that the secondary time dimension is based on a fiscal year and is organized into Year, Month, and Day units of time.

    12. First Date in Secondary Time Dim(s) Use this column to specify the first date that exists in the secondary time dimension. For example, if that time dimension contains data as of June 1, 1999, then you would type that date in this column.

    13. Authentication Method Use this column to indicate what kind of authentication method is used to connect to the database. For example, you might specify Kerberos protocol, forms-based authentication, and so on.

    14. User Roles If user roles are not defined in the database, you can skip this column. Otherwise, list any server roles that have been defined for the database. For example, some organizations use roles that determine what information is visible to users who are assigned those roles. One role might enable a user to view global information, whereas another role might limit a user's ability to view information for a particular geographic region or territory.

    15. Data Source Created in PDD? Use this column to indicate whether a data connection was created for the database in Dashboard Designer.

    16. PDD Data Source Name If the PerformancePoint data connection was created in Dashboard Designer, use this column to type the name of that data connection. If the PerformancePoint data connection has not yet been created, you can add this information later.

    17. PDD Data Source URL If the PerformancePoint data connection was created in Dashboard Designer, use this column to specify its Web site address (URL) to its location on SharePoint Server 2010.

    18. Configured for TI? If the PerformancePoint data connection was created in Dashboard Designer, use this column to indicate whether it was configured to work with Time Intelligence. Otherwise, you can skip this column.

    19. Additional Comments/Details Use this column to add any additional information about the database that you want to use. For example, you might indicate how often the data is refreshed.

  4. Save the PerformancePoint data source inventory to a safe location, according to your organization's policies and procedures.

After you have created your PerformancePoint data source inventory, you can use it for any of the following purposes:

  • To serve as a checklist of data connections to be created or configured by using Dashboard Designer.

  • To use during PerformancePoint dashboard planning activities.

  • To provide dashboard authors with a list of available data connections and what they contain.

  • To serve as a master record of available databases that are available in your organization.

See Also

Concepts

Plan, design, and implement a PerformancePoint dashboard
Create data connections (PerformancePoint Services)
Configure data sources to work with Time Intelligence by using Dashboard Designer
Create a plan for a PerformancePoint dashboard


Create data connections (PerformancePoint Services)

Data sources defined in PerformancePoint Dashboard Designer are stored in a trusted data connection library on SharePoint Server 2010. A trusted data connection library is a document library that you have determined as safe. It restricts using the data source files, but still lets them be read. However, by default, a document library is created when provisioning PerformancePoint Services. Administrators can manage data connections on the server by creating more than one data connection library. If a user updates a data source connection in the document library, the information is shared and updated when a workspace file is opened in Dashboard Designer.

In PerformancePoint Services the security settings for data sources are stored in each data source. You have the choice of having users connect by using the Unattended Service Account, the Unattended User Account and add authenticated user in connection string (Analysis Services only), or you can authenticate using Per-User Identity. Per-User Identity requires Kerberos protocol.

In this section:

  • Create an Analysis Services data connection (PerformancePoint Services)

  • Create a PowerPivot data connection (PerformancePoint Services)

  • Create a SharePoint List data connection (PerformancePoint Services)

  • Create an Excel Services data connection (PerformancePoint Services)

  • Create a SQL Server table data connection (PerformancePoint Services)

  • Create an Excel Workbook data connection (PerformancePoint Services)


Create an Analysis Services data connection (PerformancePoint Services)

In PerformancePoint Services, the security settings for data sources are stored in each data source. For Analysis Services, you have the choice of having all users connect by using the Unattended Service Account, the Unattended User Account and add authenticated user in connection string, or you can authenticate using Per-User Identity. Per-User Identity requires Kerberos protocol.

Important:

PerformancePoint Services accesses external data sources by using a delegated Windows identity. Consequently, external data sources must reside within the same domain as the SharePoint Server 2010 farm. If external data sources do not reside within the same domain, authentication to the external data sources will fail. For more information, see Planning considerations for services that access external data sources.

In this article:

  • Create an Analysis Services data source

  • Video demonstration

Create an Analysis Services data source

Create an Analysis Services data source by either entering the name of the Analysis Services server, database and cube name, or by typing a connection string and the cube name in the Dashboard Designer.

Tip:

It is recommended that you select your authentication method before you specify your server connection.

To Create an Analysis Services Data Source

  1. Click the Create tab, and then click Data Source.

  2. In the Category pane of the Select a Data Source Template dialog box, click Multidimensional and then click Analysis Services. Click OK.

  3. In the left navigation pane (workspace browser), type the name of your data source.

  4. In the Data Source Settings section, select the method by which to authenticate to the data source.

  5. In the Formatting Dimension drop-down list, select desired dimension formatting needed for the report.

  6. In the Cache Lifetime drop-down box, type the refresh rate (in minutes) for the cache. Data from this data source will update at this interval.

  7. In the center pane, click the Editor tab. In the Connection Settings section, select the method by which to connect to the data source.

    To use a standard connection:

    1. Select Use standard connection

    2. Type the full path for the server to which you want to connect. This populates the options in the database list.

    3. In the Database box, select a database name.

    4. (Optional) In the Roles box, type the name of the role, such as an administrator or database role. To specify multiple roles, type the names of the roles and separate them by commas.

    To use a specific connection string:

    1. Select Use the following connection.

    2. Type the connection string to the server including the cube name to which you want to connect.

    3. From the Cube drop-down list, select the specific cube that you want to use as the data source in the database.

  8. Click Test Connection to confirm that the connection is configured correctly.

Video demonstration

To view a demonstration of how to create an Analysis Services data connection in PerformancePoint Services, watch the following video.

Video: Create an Analysis Services connection

Watch the video | To download a copy of the video, right-click the link, and then click Save Target As.


Create a PowerPivot data connection (PerformancePoint Services)

PerformancePoint Services in SharePoint Server 2010 supports PowerPivot models as a data source. You can use data in a PowerPivot model and build interactive dashboards using PerformancePoint Services features such as Key Performance Indicators (KPIs), Scorecards, Analytic Charts, Analytic Grids and Filters.

Note:

PerformancePoint Services accesses external data sources by using a delegated Windows identity. Consequently, external data sources must reside within the same domain as the SharePoint Server 2010 farm. If external data sources do not reside within the same domain, authentication to the external data sources will fail. For more information, see Planning considerations for services that access external data sources.

Create a PowerPivot data source connection

To use PowerPivot as a data source within PerformancePoint Services dashboard, you must have PerformancePoint Services activated on a SharePoint Server 2010 farm and have PowerPivot for SharePoint 2010 installed. Once a PowerPivot model is created, it must be uploaded to a SharePoint Server site that has PowerPivot for SharePoint enabled.

Important:

You must apply the hotfix detailed in the Microsoft Knowledge Base article When you run a .NET Framework 2.0 based application, a System.AccessViolationException exception occurs, or a deadlock occurs on two threads in an application domain (Article ID 975954) in order to use PowerPivot as a data source in PerformancePoint Services.

Important:

You must have ADOMD 10 installed on the server on which you are authoring the Dashboard in order to access a PowerPivot workbook as a data source.

In PerformancePoint Services, the security setting for data sources is stored in each data source. By using PowerPivot as a data source, you can authenticate either using an unattended service account or a Per-user identity. Per-user identity requires Kerberos protocol.

Security Note:

You cannot authenticate to a PowerPivot data source by selecting the Unattended Service Account and add authenticated user name in connection string option.

Important:

Time Intelligence is not supported for PowerPivot data sources.

To Create a PowerPivot data source connection

  1. Click the Create tab, and then click Data Source.

  2. In the Category pane of the Select a Data Source Template dialog box, click Multidimensional and then click Analysis Services. Click OK.

  3. In the left navigation pane (workspace browser), type the name of your data source.

  4. In the center pane, click the Editor tab. In the Connection Settings section, select Use the following connection.

  5. Type the connection string to the PowerPivot data source by using the following format: DATA SOURCE=http://contoso/Documents/PowerPivot_Sample.xlsx

  6. Select the cube from the drop-down menu. The cube name for a PowerPivot model will always be Sandbox.

  7. In the Data Source Settings section, select the method on which to authenticate to the data source.

  8. From the Formatting Dimension list, select desired dimension formatting needed for the report.

  9. From the Cache Lifetime list, type the refresh rate (in minutes) for the cache. Data from this data source will update at this interval.

  10. Click Test Connection to confirm that the connection is configured correctly.

Video demonstration

To view a demonstration of how to create a PowerPivot data connection in PerformancePoint Services, watch the following video.

Video: Create a data connection to SQL Server

Watch the video | To download a copy of the video, right-click the link, and then click Save Target As.


Create a SharePoint List data connection (PerformancePoint Services)

Data from a SharePoint list can be used as a data source in PerformancePoint Services. The data from the SharePoint lists can only be read by using PerformancePoint Services; any editing of the data must be done from SharePoint Server. You can connect to any kind of SharePoint list.

Note:

PerformancePoint Services accesses external data sources by using a delegated Windows identity. Consequently, external data sources must reside within the same domain as the SharePoint Server 2010 farm. If external data sources do not reside within the same domain, authentication to the external data sources will fail. For more information, see Planning considerations for services that access external data sources.

Create a SharePoint list data connection

In PerformancePoint Services, the security settings for data sources are stored in each data source. For SharePoint lists, you have the choice of having all users connect by using the Unattended Service Account or to authenticate using Per-User Identity. Per-User Identity requires Kerberos protocol.

Tip:

We recommend that you select your authentication method before you specify your server connection.

Tip:

Only the default list view is available as a data source or available as a fact or dimension for a KPI or filter. For example, if a column is hidden in the default view, it is not in the list preview of Dashboard Designer.

To create a data source connection to a SharePoint list

  1. Click the Create tab, and then click Data Source.

  2. In the Category pane of the Select a Data Source Template dialog box, click Tabular List and then click SharePoint list. Click OK.

  3. In the left navigation pane (workspace browser), type a name for your data source.

  4. In the center pane, click the Editor tab. In the Data Source Settings section, select the method on which to authenticate to the data source.

  5. In the Cache Lifetime drop-down list, type the refresh rate (in minutes) for the cache. Data from this data source will update at this interval.

  6. In the Connection Settings section, type the URL to the SharePoint site.

  7. In the SharePoint Site List drop-down, select a List collection.

  8. In the List drop-down list, select the desired SharePoint list from the collection.

  9. Click Test Data Source to confirm that the connection is configured correctly.

Video demonstration

To view a demonstration of how to create a SharePoint list data connection in PerformancePoint Services, watch the following video.

Video: Create a SharePoint List data connection

Watch the video | To download a copy of the video, right-click the link, and then click Save Target As.


Create an Excel Services data connection (PerformancePoint Services)

A data source connection can be made to data within Excel files that have been published to Excel Services on a SharePoint site. Published parameter values can be modified from within PerformancePoint Services. This is useful when a parameter is an input to the value of a published cell; this could be used in a KPI, for example, and enable the dynamic change of that cell value from PerformancePoint Services.

Important:

PerformancePoint Services accesses external data sources by using a delegated Windows identity. Consequently, external data sources must reside within the same domain as the SharePoint Server 2010 farm. If external data sources do not reside within the same domain, authentication to the external data sources will fail. For more information, see Planning considerations for services that access external data sources.

Create an Excel Services data source connection

In PerformancePoint Services the security settings for data sources are stored in each data source. For Excel Services workbooks, you have the choice of having all users connect by using the Unattended Service Account, or you can authenticate using Per-User Identity. Per-User Identity requires Kerberos protocol.

Tip:

It is recommended that you select your authentication method before you specify your server connection.

Security Note:

You cannot connect to an Excel Services data source when the site or library containing the workbook you are trying to connect to is set to Anonymous Access.

To Create an Excel Services data source connection

  1. Launch Dashboard Designer.

  2. Click the Create tab, and then click Data Source.

  3. In the Category pane of the Select a Data Source Template dialog box, click Tabular List and then click Excel Services. Click OK.

  4. In the left navigation pane (workspace browser), type a name for your data source.

  5. In the center pane, click the Editor tab. In the Data Source Settings section, select the method by which to authenticate to the data source.

  6. In the Refresh Interval box, enter the duration in minutes for the data to refresh.

  7. In the Connection Settings section, type the URL of the SharePoint site.

  8. From the Document Library drop-down list, select the SharePoint document library where the workbook is located.

  9. From the Excel Workbook drop-down list, select desired workbook.

  10. In the Item Name drop-down list, select a Named Range or table. Only one Named Range or Table is supported per Excel Services data source.

    Important:

    If you connect to a Microsoft Office Excel 2007 workbook as a data source, you must type the Item name; it will not appear in the drop-down list.

    Tip:

    Your selected Named Range or Table can be later seen on the View tab. A column from that Item can be set as a Time Dimension and configured from the Time tab.

  11. Click Test Data Source to confirm that the connection is configured correctly.

Video demonstration

To view a demonstration of how to create an Excel Services data connection in PerformancePoint Services, watch the following video.

Video: Create an Excel Services data connection

Watch the video | To download a copy of the video, right-click the link, and then click Save Target As.


Create a SQL Server table data connection (PerformancePoint Services)

A SQL Server table or view can be used as a data source by PerformancePoint Services. Only tables and views can be used as SQL Server data sources. SQL database data cannot be modified from the Dashboard Designer.

Important:

PerformancePoint Services accesses external data sources by using a delegated Windows identity. Consequently, external data sources must reside within the same domain as the SharePoint Server 2010 farm. If external data sources do not reside within the same domain, authentication to the external data sources will fail. For more information, see Planning considerations for services that access external data sources in Services architecture planning (SharePoint Server 2010).

In this article:

  • Create a SQL Server table data source connection

  • Video demonstration

Create a SQL Server table data source connection

In PerformancePoint Services the security settings for data sources are stored in each data source. For SQL Server tables, you have the choice of authenticating to the server by using the Unattended Service Account or by using Per-User Identity. Per-User Identity requires Kerberos protocol.

Tip:

It is recommended that you select your authentication method before you specify your server connection.

To Create a SQL Server table data source connection

  1. Launch Dashboard Designer.

  2. Click the Create tab, and then click Data Source.

  3. In the Category pane of the Select a Data Source Template dialog box, click Tabular List and then click SQL Server table. Click OK.

  4. In the left navigation pane (workspace browser), type in a name for your data source.

  5. In the center pane, click the Editor tab. In the Data Source Settings section, select the method by which to authenticate to the data source.

  6. In Refresh Interval, specify the duration (in minutes) before data is refreshed from the source.

  7. In the Connection Settings section, select the method by which to connect to the data source.

    To use a standard connection:

    1. Select Use standard connection

    2. Type the full path for the server to which you want to connect. This populates the options in the database list.

    3. In the Database box, select a database name.

    To use a specific connection string:

    1. Select Use the following connection.

    2. Type a connection string with the full path of the server and database to which you want to connect.

    3. In the Table drop-down list, select the specific table that you want to use.

  8. Click Test Data Source to confirm that the connection is configured correctly.

  9. In the Workspace Browser, right-click the data source, and then click Save.

    Note:

    If the SQL Server table that you select for the data connection contains a datetime column, you might receive an error message that indicates the data source has not been saved. This can occur even though the data source has indeed been saved. This is a known issue.

Video demonstration

To view a demonstration of how to create a SQL Server table data connection in PerformancePoint Services, watch the following video.

Video: Create a data connection to SQL Server

Watch the video | To download a copy of the video, right-click the link, and then click Save Target As.


Create an Excel Workbook data connection (PerformancePoint Services)

Create an Excel Workbook data connection (import a workbook)

An existing Microsoft Excel file can be imported as an Excel workbook data source in PerformancePoint Services. Once the data source is created, an internal copy of the Excel file is used and all modifications to the data are done from the Edit tab in Dashboard Designer. The original Excel file is disconnected and independent from PerformancePoint Services. In PerformancePoint Services, security settings for data sources are stored in each data source. However, when you create a data source to an Excel workbook, a copy is imported and stored within PerformancePoint and is no longer an external data source.

To Create Excel Workbook data connection (import a workbook)

  1. Click the Create tab, and then click Data Source.

  2. In the Category pane of the Select a Data Source Template dialog box, click Tabular List and then click Import from Excel Workbook. Click OK.

  3. In the left navigation pane (workspace browser), type the name of your data source.

  4. In the center pane, click Import.

Important:

Microsoft Excel Web App workbooks that use the Click2Run method cannot be used as a data source in PerformancePoint Services.

Video demonstration

To view a demonstration of how to create an Excel Workbook data connection in PerformancePoint Services, watch the following video.

Video: Create an Excel Worksheet data connection

Watch the video | To download a copy of the video, right-click the link, and then click Save Target As.


Configure data sources to work with Time Intelligence by using Dashboard Designer
See Also

Published: May 15, 2010

When you want to use Time Intelligence in your PerformancePoint dashboards, make sure that you configure the appropriate data sources correctly to work with Time Intelligence. For example, suppose that you create a dashboard filter that uses Time Intelligence, and you want to connect it to multiple reports and scorecards. The data sources that are used for those items must all be configured to work with Time Intelligence. Otherwise, the dashboard filter will not function correctly.

When you configure a data source to work with Time Intelligence, you specify the values that determine how time will be interpreted for each data source. After a data source connection is created in PerformancePoint Services, the time properties are set on the Time tab. Tabular data sources, which include Excel Services workbooks, Microsoft Excel workbooks, SharePoint lists, and Microsoft SQL Server tables, have a different set up page for their time properties compared to SQL Server Analysis Services data sources.

In this section:

  • Configure Analysis Services data source time settings by using Dashboard Designer

  • Configure tabular data source time settings by using Dashboard Designer

  • PerformancePoint Time Intelligence quick reference

See Also

Concepts

PerformancePoint Time Intelligence quick reference
Create a Time Intelligence filter by using Dashboard Designer


Configure Analysis Services data source time settings by using Dashboard Designer
See Also

Published: May 15, 2010

When you want to use Time Intelligence in your PerformancePoint dashboards, make sure that you configure the appropriate data sources correctly to work with Time Intelligence. When you configure a data source to work with Time Intelligence, you specify the values that determine how time will be interpreted for each data source. Read this article to learn how to configure Microsoft SQL Server Analysis Services (SSAS) data sources to work with Time Intelligence.

Important:

Always have time dimensions start at the beginning of their respective year, even if that means having empty members for the first half of the year. For example, if the fiscal time dimension year starts on July 1, 2010, but only has data recorded for January 1, 2011, you still must start the fiscal time dimension on July 1, 2010, to ensure that Time Intelligence functions for the full initial fiscal year.

To set time properties in an Analysis Services data source

  1. After creating an Analysis Services data connection, click the Time tab.

  2. From the Time Dimension drop-down list, select the time dimension for all Time Intelligence formulas and functions, such as a fiscal time dimension or a traditional calendar time dimension.

  3. From the Reference Member drop-down list, select the start of the time dimension's year by clicking an instance of the year's start date.

    Note:

    If your time dimension uses fiscal years that start on July 1, select an instance of July 1 in the member selector. Note that this could be titled as July 1 in the cube, or it might be represented as FY2010 H1 Q1 M1 D1, or perhaps some other format. If you are using a traditional calendar year time dimension, you would select an instance of January 1.

  4. Select the hierarchy level. This is where you select the precise reference member. For example, indicate if the member represents a day, month, semester, and so on.

  5. Under Reference Date, enter a calendar date that is equal to the period specified by the reference member. In this step, map the cube's time dimension to a traditional calendar.

  6. In the Time Member Associations section, map your time dimension hierarchies (listed under the Member Level column) to defined Time Intelligence hierarchies (listed under the Time Aggregation column).

  7. Click Save on the toolbar.

See Also

Concepts

Configure data sources to work with Time Intelligence by using Dashboard Designer
Create a Time Intelligence filter by using Dashboard Designer
Use the Connection Formula dialog box in Dashboard Designer to configure a filter connection


Configure tabular data source time settings by using Dashboard Designer
See Also

Published: May 15, 2010

When you want to use Time Intelligence in your PerformancePoint dashboards, make sure that you configure the appropriate data sources correctly to work with Time Intelligence. When you configure a data source to work with Time Intelligence, you specify the values that determine how time will be interpreted for each data source. Read this article to learn how to configure tabular data sources, such as Excel Services workbooks, Microsoft Excel workbooks, SharePoint lists, and Microsoft SQL Server tables, to work with Time Intelligence.

Semesters, quarters, and weeks are relative, and are based on the start month, whereas years, months, days, hours, minutes, and seconds are absolute and are based on the traditional calendar. In the relative time periods, Time Intelligence treats dates that are earlier than the start month as occurring in the previous year, and dates that are later than the start month as occurring in the current year.

Important:

Always have time dimensions start at the beginning of their respective year, even if that means having empty members for the first half of the year. For example, if the fiscal time dimension year starts on July 1, 2010, but only has data recorded for January 1, 2011, you still must start the fiscal time dimension on July 1, 2010, to ensure that Time Intelligence functions for the full initial fiscal year.

PerformancePoint Services automatically detects date values in a tabular data source.

If the time dimension that you want to use is not listed in the Time Dimensions section, click the View tab to preview the data source. Select the date column in the preview, and then in the Details pane under Column Type, select TimeDimension.

To set time properties in a tabular data source

  1. After creating a tabular data source connection, click the Time tab.

  2. The Time Dimensions section lists the time columns that PerformancePoint Services has auto-detected in the data source. Select the Time Dimension on which to base all Time Intelligence formulas and functions.

  3. In the Time Period Levels section, select the period levels that you want to use.

    Important:

    Time Intelligence for tabular data sources lets you select and use the whole range of levels. This differs from setting time periods in an Analysis Services cube data source, which restricts you to only those time period levels that are built in the cube's time dimension.

  4. In the Fiscal Calendar section, select the month starts the fiscal year. The first day of the selected month is the start date for the year.

  5. Click Save on the toolbar.

See Also

Concepts

Configure data sources to work with Time Intelligence by using Dashboard Designer
Create a Time Intelligence filter by using Dashboard Designer
Use the Connection Formula dialog box in Dashboard Designer to configure a filter connection


PerformancePoint Time Intelligence quick reference
See Also

Published: May 15, 2010

PerformancePoint Services in Microsoft SharePoint Server 2010 includes advanced functionality that includes Time Intelligence. You can use Time Intelligence to display information for dynamic periods of time, such as year to date or last 30 days, in your reports and scorecards. You can also create dashboard filters that use Time Intelligence.

When you include Time Intelligence in your dashboards, you use a particular syntax to create formulas that are known as TI formulas.

Read this article for an overview of the different kinds of TI formulas that you can use. For information about how to use Time Intelligence in your dashboards, see the following articles:

  • Create a Time Intelligence filter by using Dashboard Designer

  • Use the Connection Formula dialog box in Dashboard Designer to configure a filter connection

Quick samples

Formula structure:

[(]<Period>[Offset>[)][ <Function>[<Offset>]]]

To display | Formula | Result
Yesterday | day-1 | The previous day relative to the current date
Tomorrow | day+1 | The next day relative to the current date.
The current quarter and today | quarter, day | A set of time periods consisting of the current day and current quarter.
Last 10 days | day:day-9 | A 10-day range including today.
Last 10 days (excluding today) | day-1:day-10 | A 10-day range NOT including today.
Same day last year | (year-1).day | Current date (month and day) for last year. For example, if the current date were December 10, 2010, then (year-1).day would show information for December 10, 2009.
Same month last year | (year-1).month | Current month for last year. For example, if the current month were December, 2010, then (year-1).month would show information for December, 2009.
Same range of a period of six months last year | (year-1).(month-5): (year-1).(month) | From 18 months ago to one year ago. For example, if the current month were December 2010, then (year-1).(month-5): (year-1).month would show information for the time period ranging from June, 2009 to December, 2009.
Same range of months to date for last year | (year-1).firstmonth: (year-1).month | From the first month of last year up to and including the month parallel to the current month this year.
Year to date | yeartodate | A single time period representing the aggregation of values from the beginning of the year up to and including the last completed period. The period corresponds to the most specific time period defined for the data source.
Year to date (by month) | yeartodate.fullmonth | A single time period representing the aggregation of values from the beginning of the year up to and including the last completed month.
Year to date (by day) | yeartodate.fullday | A single time period representing the aggregation of values from the beginning of the year up to and including the last completed day.
Parallel year to date | yeartodate-1 | The aggregation of the same set of default time periods completed in the current year except for the prior year.
Parallel year to date (by month) | (yeartodate-1).fullMonth | The aggregation of time periods last year that is equal to year to date periods for the current year.

General conventions

  • TI formulas are not case-sensitive.

  • White space is ignored.

  • Use parentheses when you use a time period with an offset together with a function.

  • Offsets can be defined on any standard and "to date" time period.

  • The current period is assumed when no offset is specified.

  • Use singular nouns, not plurals in your TI formulas. For example, use "month" and not "months."

Syntax elements

The TI formulas consist of operators, periods and functions. The formula is intentionally simple yet robust.

Operators

Operator | Use
"." | The period or "dot" operator delimits time periods from functions. The string in front of the dot always corresponds to the time period. The string following the dot always corresponds to the time period function. Example: year.firstMonth
"+" or "-" | The plus (+) and minus (-) operators are used to determine the offset relative to the current date. Use the minus sign (-) to specify time periods in the past. Use the plus sign (+) to specify time periods in the future. Example: day-1
"()" | Parentheses are used to group a time period and its offset when you use them together with a function. Required. Example: (year-1).firstMonth:(year-1).month
"," | Commas are used to delimit multiple time periods in the same formula. Example: year, Quarter, Month, day
":" | The colon operator (:) specifies a range of time periods. Example: day:day-4

Standard time periods

Standard time periods supported in PerformancePoint Services include the following:

Period | Example
Year | Year-1, year+2
Quarter | quarter, Quarter-4
Month | Month-2
Week | Week-51
Day | Day-9, day+2
Hour | Hour-12
Minute | minute-30
Second | second+5

Standard time period functions

Time period functions can be applied to any standard time period using the dot operator (.). The functions available in PerformancePoint Services include the following:

Function | Use
FirstQuarter | Specifies the first quarter in a year.
LastQuarter | Specifies the last quarter in a year
FirstMonth | Specifies the first month in a year or quarter.
LastMonth | Specifies the last month in a year or quarter.
FirstWeek | Specifies the first week in a year, quarter, or month.
LastWeek | Specifies the last week in a year, quarter, or month.
FirstDay | Specifies the first day in a week, month, or larger time period.
LastDay | Specifies the last day in a week, month, or larger time period.
FirstHour | Specifies the first hour in a day, week, or larger time period.
LastHour | Specifies the last hour in a day, week, or larger time period.
FirstMinute | Specifies the first minute in an hour, day, or larger time period.
LastMinute | Specifies the last minute in an hour, day, or larger time period.
FirstSecond | Specifies the first minute in a minute, hour, or larger time period.
LastSecond | Specifies the last minute in a minute, hour, or larger time period.

Period-to-date formulas

Period-to-date formulas are new in PerformancePoint Services. Period-to-date calculations aggregate all the time periods to date up to the last completed full period. Incomplete time periods are automatically excluded. By default, they are evaluated to the lowest degree of precision in the data source. For example, if the most specific time period in the data source were days, then the month-to-date expression will aggregate all days from the beginning of the month to the last completed full day in the month. (The opposite is true for standard time periods; these automatically include incomplete periods.) PerformancePoint Services supports the following period-to-date time periods:

Period | Use
YearToDate | Specifies a time period from the beginning of the year to the current period.
QuarterToDate | Specifies a time period from the beginning of the quarter to the current period.
MonthToDate | Specifies a time period from the beginning of the month to the current period.
WeekToDate | Specifies a time period from the beginning of the week to the current period.
DayToDate | Specifies a time period from the beginning of the day to the current period.
HourToDate | Specifies a time period from the beginning of the hour to the current period.
MinuteToDate | Specifies a time period from the beginning of the minute to the current period.

Period-to-date functions

Period-to-date functions enable you to control the level of detail for time periods to include. If, for example, you want to show the year-to-date including up to the last completed full month, you can add a full-period function. PerformancePoint Services supports the following full-period functions:

Function | Effect
FullQuarter | Specifies that the period to date should include up to the last full quarter.
FullMonth | Specifies that the period to date should include up to the last full month.
FullWeek | Specifies that the period to date should include up to the last full week.
FullDay | Specifies that the period to date should include up to the last full day.
FullHour | Specifies that the period to date should include up to the last full hour.
FullMinute | Specifies that the period to date should include up to the last full minute.
FullSecond | Specifies that the period to date should include up to the last full second.

Parallel period-to-date

You can use Time Intelligence to compare values for a set of time periods for the current year to an equivalent set of time periods for the previous year. For example, suppose that the current year to date includes January-July of 2010. You may want to compare this value to the same set of time periods for the previous year; in this case January-July 2009. This is easy to do by using TI formulas. Simply add an offset value to the to-date period.

YearToDate-1

In fact, offsets can be specified on any to-date time period. This also works when a full period function is applied additionally. Remember to use parentheses in this case.

(YearToDate-1).FullMonth

See Also

Concepts

Configure data sources to work with Time Intelligence by using Dashboard Designer
Create a Time Intelligence filter by using Dashboard Designer
Use the Connection Formula dialog box in Dashboard Designer to configure a filter connection


Create reports and scorecards by using Dashboard Designer
See Also

Published: July 8, 2010

Using PerformancePoint Dashboard Designer, you can create many kinds of reports for your dashboard. Examples of report types include analytic charts and grids, Excel Services reports, strategy maps, and many other kinds of reports.

To learn more about the different kinds of reports that you can create, see Learn about PerformancePoint report types (http://go.microsoft.com/?linkid=9736440).

In this section

Read the following articles to learn how create reports for your PerformancePoint dashboard.

Task | Article
Create a scorecard that contains one or more key performance indicators (KPIs). | Create a scorecard by using Dashboard Designer
Create an analytic chart or grid that uses SQL Server Analysis Services data. | Create an analytic chart or grid by using Dashboard Designer
Create a KPI Details report that is connected to a scorecard to display information about KPI values and properties in a dashboard. | Create a KPI Details report by using Dashboard Designer
Create a PerformancePoint Web Part to display an existing ProClarity Server report. | Create a ProClarity Server report by using Dashboard Designer
Create a PerformancePoint Web Part to display an existing SQL Server Reporting Services report. | Create a Reporting Services report by using Dashboard Designer
Create a PerformancePoint Web Part to display an existing Excel Services report. | Create an Excel Services report by using Dashboard Designer
Create a PerformancePoint Web Part to display an existing Web site in a dashboard, either as a single item on the page or as an item alongside other dashboard items. | Create a Web Page report by using Dashboard Designer
Create a strategy map that is connected to a scorecard to show relationships between objectives, goals, and key performance indicators (KPIs). | Create a strategy map by using Dashboard Designer

See Also

Concepts

Create a plan for a PerformancePoint dashboard
Assemble dashboard pages and link items together by using Dashboard Designer


Create a scorecard by using Dashboard Designer
See Also

Published: September 16, 2010

By using PerformancePoint Dashboard Designer, you can create lots of scorecards for your dashboards. Scorecards are dashboard items that show performance for one or more metrics. Scorecards compare actual results to specified goals and express the results by using graphical indicators.

A scorecard resembles a table that usually has Target and Actual value columns and one or more key performance indicators (KPIs).

When you create a scorecard by using Dashboard Designer, you can select from several different methods:

  • You can use a wizard to set up a basic scorecard. This is useful when you are new to Dashboard Designer and you do not have many existing dashboard items that you can reuse. This method is also useful when want to quickly and easily create a scorecard.

    When you use a wizard to create a scorecard, you start by selecting the kind of data source that will be used by at least one KPI in the scorecard. You use the wizard to create the scorecard, and then you finish configuring the scorecard in the workspace.

  • You can create a blank scorecard and then manually add the KPIs and other items that you want to use in the scorecard. This is useful when you or other dashboard authors have already created one or more KPIs.

Use the resources listed in this topic to create a scorecard by using Dashboard Designer.

Articles in this section

This section contains the following articles to help you create and configure scorecards by using Dashboard Designer.

Task | Article
Create a scorecard by using a wizard | Create a PerformancePoint scorecard by using a wizard
Create a blank scorecard | Create a blank scorecard by using Dashboard Designer
Create and configure a KPI | Create and configure a KPI by using Dashboard Designer
Edit a scorecard by adding or changing its KPIs, dimension members, and other information | Edit a scorecard by using Dashboard Designer

See Also

Concepts

Assemble dashboard pages and link items together by using Dashboard Designer


Turn on or off the scorecard wizard in Dashboard Designer
See Also

Published: September 16, 2010

When you use PerformancePoint Dashboard Designer to create scorecards, you typically start by clicking the Create tab in the ribbon. Then, in the Dashboard Items group, you click Scorecard. Depending on how Dashboard Designer is configured, one of the following actions occurs:

  • The Select a Scorecard Template dialog box opens. This is the first page of the scorecard wizard.

  • A blank scorecard opens for editing.

You can easily configure Dashboard Designer either to use the Create a Scorecard wizard or to create a blank scorecard every time that you create a scorecard. That is, you can turn on or off the Create a Scorecard wizard in Dashboard Designer.

To turn on (or off) the Create a Scorecard wizard

  1. In Dashboard Designer, click the Microsoft Office button to open the Microsoft Office Backstage view.

  2. Click the Designer Options button to open the Options dialog box.

  3. On the Personalize tab, select (or clear) the Use wizards to create scorecards check box.

    Tip:

    An alternate method that you can use is to clear the Use wizard to create scorecards check box on the Select a Scorecard Template page of the wizard. Then, the next time that you click Scorecard on the Create tab in the ribbon, a blank scorecard will open for editing.

  4. Click OK to close the Options dialog box.

See Also

Concepts

Create a scorecard by using Dashboard Designer


Create a blank scorecard by using Dashboard Designer
See Also

Published: September 16, 2010

When you create a blank scorecard by using PerformancePoint Dashboard Designer, you create an empty scorecard that has no key performance indicators (KPIs) or other information. Then, you configure the scorecard to add the KPIs and other items that you want to display in the scorecard. You would typically create a blank scorecard when you and other dashboard authors have already created KPIs.

To create a KPI, see Create and configure a KPI by using Dashboard Designer.

To create a blank scorecard

  1. In Dashboard Designer, in the Workspace Browser, click PerformancePoint Content.

  2. On the Create tab, in the Dashboard Items group, click Scorecard.

  3. Depending on whether Dashboard Designer is configured to use a wizard to create scorecards, one of the following actions occurs:

    • The Select a Scorecard Template dialog box opens.

      If this occurs, select the Blank Scorecard template. Do this by using the following procedure:

      1. In the Select a Scorecard Template dialog box, in the Category section, click Standard.

      2. In the Template section, click Blank Scorecard.

      3. Click OK to close the Select a Scorecard Template dialog box, and then proceed to Step 4.

    • A blank scorecard opens for editing.

      If this occurs, proceed to Step 4.

    Tip:

    You can configure Dashboard Designer to use or not to use a wizard to create scorecards. For more information, see Turn on or off the scorecard wizard in Dashboard Designer.

  4. In the center pane, click the Properties tab.

  5. In the Name box, type the name that you want to use for the scorecard.

  6. (This step is optional.) To specify a location for the scorecard, click the Display Folder button, and then select or create a folder.

  7. In the Workspace Browser, right-click the scorecard, and then click Save.

  8. Proceed to configure the scorecard to add content to it. See Edit a scorecard by using Dashboard Designer.

See Also

Concepts

Create a scorecard by using Dashboard Designer
Edit a scorecard by using Dashboard Designer


Create a PerformancePoint scorecard by using a wizard
See Also

Published: September 16, 2010

By using PerformancePoint Dashboard Designer, you can create scorecards for your dashboards. A scorecard is a report type that shows organizational performance by displaying a collection of key performance indicators (KPIs) together with performance targets for those KPIs.

When you create a PerformancePoint scorecard, you can use a wizard to guide you through the process. When you use a wizard, you begin by selecting a template. The template that you select corresponds to the kind of data source that you plan to use for your scorecard.

Important:

Make sure that Dashboard Designer is configured to use a scorecard wizard. For more information, see Turn on or off the scorecard wizard in Dashboard Designer.

To select a scorecard template

  1. Identify the kind of data source that you want to use for your scorecard. The data source that you want to use will help you determine which scorecard template to select, as described in the following table.

    Data source Scorecard template

    SQL Server Analysis Services

    Analysis Services

    Tabular data source, such as one of the following:

    • An Excel Services file

    • An Excel workbook

    • A SharePoint list

    • A table that is stored in a SQL Server database

    Excel Services, Excel Workbook, SharePoint List, or SQL Server Table

    No particular data source

    Blank Scorecard or Fixed Values Scorecard

  2. Make sure that the data source that you want to use is available. Do this by using the following procedure:

    1. In Dashboard Designer, click the Home tab, and then click Refresh.

    2. In the Workspace Browser, click Data Connections.

    3. In the center pane of the workspace, review the list of data sources on the Server and Workspace tabs.

    4. Confirm that the data source that you want to use is available. If it is not listed, then you might have to create a data connection. For information about how to create a data source, see Create data connections (PerformancePoint Services).

  3. Use the appropriate procedure in the following list to create your scorecard. (For example, if you want to use the SQL Server Analysis Services template, click the link for the Create an Analysis Services scorecard by using Dashboard Designer procedure.)

    • Create an Analysis Services scorecard by using Dashboard Designer

    • Create a blank scorecard by using Dashboard Designer

    • Create a tabular data scorecard by using Dashboard Designer

See Also

Concepts

Create reports and scorecards by using Dashboard Designer
Edit a scorecard by using Dashboard Designer
Add a KPI Details report to a dashboard by using Dashboard Designer


Create an Analysis Services scorecard by using Dashboard Designer
See Also

Published: September 16, 2010

When you use PerformancePoint Dashboard Designer to create a scorecard, you can use a wizard to guide you through the process. You begin by selecting a template. The template that you select typically corresponds to the data source for at least one key performance indicator (KPI) in the scorecard. This article describes how to create a PerformancePoint scorecard by using the Analysis Services template.

This template corresponds to SQL Server Analysis Services data sources that are available in Dashboard Designer.

Note:

You can configure Dashboard Designer to use or not to use a wizard to create scorecards. To create a scorecard that uses a particular template, make sure that Dashboard Designer is configured to use a scorecard wizard. For more information, see Turn on or off the scorecard wizard in Dashboard Designer.

Create a scorecard by using the Analysis Services scorecard template in Dashboard Designer

To create an Analysis Services scorecard

  1. In Dashboard Designer, in the Workspace Browser, click PerformancePoint Content.

  2. On the Create tab, in the Dashboard Items group, click Scorecard. The Select a Scorecard Template dialog box opens.

    Important:

    If the Select a Scorecard Template dialog box does not open and a blank scorecard opens instead, then Dashboard Designer is not configured to use a scorecard wizard. To use a scorecard template such as the Analysis Services template, you must turn on the scorecard wizard. For more information, see Turn on or off the scorecard wizard in Dashboard Designer.

  3. In the Select a Scorecard Template dialog box, in the Category section, click Microsoft.

  4. In the Template section, select Analysis Services.

  5. Click OK to close the Select a Scorecard Template dialog box.

  6. In the Select a Data Source page, select the Analysis Services data source that you want to use, and then click Next.

  7. In the Select a KPI Source page, select from one the following options, and then click Next:

    • Create KPIs from SQL Server Analysis Services measures. This option enables you to create a list of potential KPIs or to select existing KPIs that are based on measures in the Analysis Services cube.

    • Import SQL Server Analysis Services KPIs. This option enables you to copy any KPIs that have been defined in the Analysis Services cube into Dashboard Designer.

  8. Depending on which option you selected in Step 7, use one of the procedures in the following table.

    Option Procedure

    Create KPIs from SQL Server Analysis Services measures

    You can either create KPIs that are based on measures in the Analysis Services cube, or select existing KPIs.

    To create new KPIs

    1. In the Select KPIs to Import page, click Add KPI.

      A KPI from the data source that you selected for the scorecard appears.

    2. Continue to click Add KPI until you see the KPI (or KPIs) that you want to use.

    3. To remove any KPIs from the list, select a KPI, and then click Delete Selected KPIs.

      Tip:

      To select multiple KPIs, press and hold the CTRL key while you click each KPI in the list.

    4. Click Next.

    To select existing KPIs

    1. In the Select KPIs to Import page, click Select KPI.

      The Select a KPI dialog box opens.

    2. In the Select a KPI dialog box, use the SharePoint Site and Workspace tabs to locate the KPI (or KPIs) that you want to use, and then click OK.

      Tip:

      To select multiple KPIs, press and hold the CTRL key while you click each KPI in the list.

    3. Click Next.

    Import SQL Server Analysis Services KPIs

    To import KPIs

    1. In the Select KPIs to Import page, wait for the list of any KPIs that have been defined in the Analysis Services cube to appear.

      Tip:

      The number of KPIs that might appear depends on the data source that you are using. For example, you might see only one KPI, or there might be no KPIs. If you do not see a KPI that you want to use, click the Previous button, select the Create KPIs from SQL Server Analysis Services measures, and then click Next.

    2. In the Import column, select the check box for each KPI that you want to use.

    3. Click Next.

  9. (This is optional.) On the Add Measure Filters page, you can add measure filters to the KPIs that you have selected or created. You use measure filters to restrict the information that you display in your scorecard. For example, suppose that you are creating a scorecard to show sales for some, but not all, geographical regions of an organization. You can use measure filters to select just the geographical regions that are of interest. You can also add time filters to show information for a particular time period, such as for the last six months or year to date.

    Note:

    To apply time filters, the Analysis Services cube that you are using for the scorecard must be configured to work with Time Intelligence. For more information, see Configure Analysis Services data source time settings by using Dashboard Designer.

    To add measure filters

    1. Select the Add measure filters check box to enable the Select Dimension button.

    2. Click the Select Dimension button to open the Select Dimension dialog box.

      Select the dimension hierarchy that you want to use, and then click OK to close the Select Dimension dialog box.

      The Select Members buttons are enabled.

      There are two Select Members buttons: one for actual values in the KPI, and one for target values.

    3. In the Select a dimension for actual measure filters section, click Select Members to open the Select Members dialog box.

    4. In the Select Members dialog box, use the expandable tree control to view the list of members that are in the dimension hierarchy.

      Select the items that you want to include in your filter, and then click OK to close the Select Members dialog box.

    5. In the Select a dimension for target measure filters section, click Select Members to open the Select Members dialog box.

    6. In the Select Members dialog box, use the expandable tree control to view the list of members that are in the dimension hierarchy.

      Select the items that you want to include in your filter, and then click OK to close the Select Members dialog box.

    To add time filters (this is optional)

    1. In the Enter a formula for actual measure filter box, type a Time Intelligence formula.

    2. In the Enter a formula for target measure filter box, type a Time Intelligence formula.

    Tip:

    For more information about formulas that you can use, see PerformancePoint Time Intelligence quick reference.

  10. In the Add Measure Filters box, click Next.

  11. (This is optional.) On the Add Member Columns page, you can add dimension members in columns in the scorecard.

    To add column members

    1. In the Add Member Columns dialog box, select the Add column members check box to enable the Select Dimension button.

    2. Click the Select Dimension button to open the Select Dimension dialog box.

      Select the dimension hierarchy that you want to use, and then click OK to close the Select Dimension dialog box.

      The Select Members button is enabled.

    3. Click Select Members to open the Select Members dialog box.

    4. In the Select Members dialog box, use the expandable tree control to view the list of members that are in the dimension hierarchy.

      Select the items that you want to include as column members in your scorecard, and then click OK to close the Select Members dialog box.

  12. In the Add Member Columns box, click Next.

  13. On the Locations page, use the Create KPIs in list to specify a location where you want any KPIs that you created or imported to be saved, and then click Finish.

    The scorecard opens for editing.

  14. In the center pane, click the Properties tab.

  15. In the Name box, type the name that you want to use for the scorecard.

  16. (This step is optional.) To specify a location for the scorecard, click the Display Folder button, and then select or create a folder.

  17. In the Workspace Browser, right-click the scorecard, and then click Save.

After you have created the scorecard, you can configure it. Use the following procedures to configure the scorecard and its KPIs:

  • Configure a basic KPI

  • Add KPIs to a scorecard by using Dashboard Designer

  • Edit a scorecard by using Dashboard Designer

See Also

Concepts

Create reports and scorecards by using Dashboard Designer
Add a KPI Details report to a dashboard by using Dashboard Designer


Create a Fixed Values scorecard by using Dashboard Designer
See Also

Published: September 16, 2010

When you use PerformancePoint Dashboard Designer to create a scorecard, you can use a wizard to guide you through the process. You begin by selecting a template. The template that you select typically corresponds to the data source for at least one key performance indicator (KPI) in the scorecard. This article describes how to create a PerformancePoint scorecard by using the Fixed Values Scorecard template. This template does not require you to use a data source. Instead, you specify the values for the scorecard while you use the wizard.

Note:

You can configure Dashboard Designer to use or not to use a wizard to create scorecards. To create a scorecard that uses the Fixed Values template, make sure that Dashboard Designer is configured to use a scorecard wizard. For more information, see Turn on or off the scorecard wizard in Dashboard Designer.

To create a Fixed Values scorecard

  1. In Dashboard Designer, in the Workspace Browser, click PerformancePoint Content.

  2. On the Create tab, in the Dashboard Items group, click Scorecard. The Select a Scorecard Template dialog box opens.

    Important:

    If the Select a Scorecard Template dialog box does not open and a blank scorecard opens instead, then Dashboard Designer is not configured to use a scorecard wizard. To use a scorecard template such as the Fixed Values Scorecard template, you must turn on the scorecard wizard. For more information, see Turn on or off the scorecard wizard in Dashboard Designer.

  3. In the Select a Scorecard Template dialog box, in the Category section, click Standard.

  4. In the Template section, click Fixed Values Scorecard, and then click OK.

  5. In the Select KPIs to import page, notice that a new KPI is already listed in the center pane.

    You can either continue with this one KPI, or you can add more KPIs.

  6. To add KPIs

    1. In the Select KPIs to Import page, click New KPI.

      A KPI from the data source that you selected for the scorecard appears.

    2. Continue to click New KPI until you see the KPI (or KPIs) that you want to use.

    3. To remove any KPIs from the list, select a KPI, and then click Delete Selected KPIs.

      Tip:

      To select multiple KPIs, press and hold the CTRL key while you click each KPI in the list.

  7. Specify a name, banding type, and actual and target values for each KPI in the list by using the following procedure:

    To set up each KPI in the list

    1. In the KPI Name column, click the default name, and then type a new name for the KPI.

    2. In the Band Type column, use the list to select one of the following options:

      • Increasing is Better

      • Decreasing is Better

      • Closer to Target is Better

    3. In the Actual column, type a number that represents actual results. For example, if you are creating a scorecard for a sales team, you might type a sales amount in this column.

    4. In the Target column, type a number that represents the goal, or target value. For example, if you are creating a scorecard for a sales team, you might type a sales quota amount in this column.

  8. After you have created, named, and configured the KPIs that you want to use in the scorecard, click Next.

  9. On the Locations page, use the Create KPIs in list to specify a location where you want the KPIs that you created to be saved, and then click Finish.

    The scorecard opens for editing.

  10. In the center pane, click the Properties tab.

  11. In the Name box, type the name that you want to use for the scorecard.

  12. (This step is optional.) To specify a location for the scorecard, click the Display Folder button, and then select or create a folder.

  13. In the Workspace Browser, right-click the scorecard, and then click Save.

After you have created the scorecard, you can configure it. Use the following procedures to configure the scorecard and its KPIs:

  • Configure a basic KPI

  • Add KPIs to a scorecard by using Dashboard Designer

  • Edit a scorecard by using Dashboard Designer

See Also

Concepts

Create reports and scorecards by using Dashboard Designer
Add a KPI Details report to a dashboard by using Dashboard Designer


Create a tabular data scorecard by using Dashboard Designer
See Also

Published: September 16, 2010

When you use PerformancePoint Dashboard Designer to create a scorecard, you can use a wizard to guide you through the process. You begin by selecting a template. The template that you select typically corresponds to the data source for at least one key performance indicator (KPI) in the scorecard. This article describes how to create a PerformancePoint scorecard by using one of the following scorecard templates:

  • The Excel Services template.

  • The Excel Workbook template.

  • The SharePoint List template.

  • The SQL Server Table template.

These templates correspond to tabular data sources that are available in Dashboard Designer.

Note:

You can configure Dashboard Designer to use or not to use a wizard to create scorecards. To create a scorecard that uses a particular template, make sure that Dashboard Designer is configured to use a scorecard wizard. For more information, see Turn on or off the scorecard wizard in Dashboard Designer.

To create a scorecard by using a tabular data source

  1. In Dashboard Designer, in the Workspace Browser, click PerformancePoint Content.

  2. On the Create tab, in the Dashboard Items group, click Scorecard. The Select a Scorecard Template dialog box opens.

    Important:

    If the Select a Scorecard Template dialog box does not open and a blank scorecard opens instead, then Dashboard Designer is not configured to use a scorecard wizard. To use a scorecard template such as the Excel Services template, you must turn on the scorecard wizard. For more information, see Turn on or off the scorecard wizard in Dashboard Designer.

  3. In the Select a Scorecard Template dialog box, in the Category section, click Tabular.

  4. In the Template section, select one of the following tabular data sources:

    • Excel Services

    • Excel Workbook

    • SharePoint List

    • SQL Server Table

  5. Click OK to close the Select a Scorecard Template dialog box.

  6. In the Select a Data Source page, select the tabular data source that you want to use, and then click Next.

    For example, if you selected the Excel Services template, select the Excel Services data source that you want to use.

  7. In the Select KPIs to Import page, you can either create KPIs that are based on measures in the data source that you selected or select existing KPIs. Depending on which option you choose, use one of the procedures in the following table.

    Option Procedure

    Create KPIs that are based on measures in the data source

    To create new KPIs

    1. In the Select KPIs to Import page, click Add KPI.

      A KPI from the data source that you selected for the scorecard appears.

    2. Continue to click Add KPI until you see the KPI (or KPIs) that you want to use.

    3. To remove any KPIs from the list, select a KPI, and then click Delete Selected KPIs.

      Tip:

      To select multiple KPIs, press and hold the CTRL key while you click each KPI in the list.

    4. Click Next.

    Select existing KPIs that you and other dashboard authors have created

    To select existing KPIs

    1. In the Select KPIs to Import page, click Select KPI.

      The Select a KPI dialog box opens.

    2. In the Select a KPI dialog box, use the SharePoint Site and Workspace tabs to locate the KPI (or KPIs) that you want to use, and then click OK.

      Tip:

      To select multiple KPIs, press and hold the CTRL key while you click each KPI in the list.

    3. Click Next.

  8. (This is optional.) On the Add Measure Filters page, you can add measure filters to the KPIs that you have selected or created. You use measure filters to restrict the information that you display in your scorecard. For example, suppose that you are creating a scorecard to show sales for some, but not all, geographical regions of an organization. You can use measure filters to select just the geographical regions that are of interest. You can also add time filters to show information for a particular time period, such as for the last six months or year to date.

    Note:

    To apply time filters, the data source that you are using for the scorecard must be configured to work with Time Intelligence. For more information, see Configure tabular data source time settings by using Dashboard Designer.

    To add measure filters

    1. Select the Add measure filters check box to enable the Select Dimension button.

    2. In the Select a dimension for measure filters section, click Select Dimension.

      Select the dimension that you want to use, and then click OK to close the Select Dimension dialog box.

      The Select Members buttons are enabled.

      There are two Select Members buttons: one for actual values in the KPI, and one for target values.

    3. In the Select a dimension for actual measure filter section, click Select Members.

    4. In the Select Members dialog box, view the list of members that are in the dimension.

      Select the items that you want to include in your filter, and then click OK to close the Select Members dialog box.

    5. In the Select a dimension for target measure filter section, click Select Members.

    6. In the Select Members dialog box, view the list of members that are in the dimension.

      Select the items that you want to include in your filter, and then click OK to close the Select Members dialog box.

    To add time filters (this is optional)

    1. In the Enter a formula for actual measure filter box, type a Time Intelligence formula.

    2. In the Enter a formula for target measure filter box, type a Time Intelligence formula.

      Tip:

      For more information about formulas that you can use, see PerformancePoint Time Intelligence quick reference.

  9. In the Add Measure Filters box, click Next.

  10. (This is optional.) On the Add Member Columns page, you can add dimension members in columns in the scorecard.

    To add column members

    1. In the Add Member Columns dialog box, select the Add column members check box to enable the Select Dimension button.

    2. Click Select Dimension to open the Select Dimension dialog box.

      Select the dimension that you want to use, and then click OK to close the Select Dimension dialog box.

      The Select Members button is enabled.

    3. Click Select Members to open the Select Members dialog box.

    4. In the Select Members dialog box, view the list of members that are in the dimension.

      Select the items that you want to include as column members in your scorecard, and then click OK to close the Select Members dialog box.

  11. In the Add Member Columns box, click Next.

    If Next is not available, then click Finish and proceed to Step 13.

  12. On the Locations page, use the Create KPIs in list to specify a location where you want any KPIs that you created or imported to be saved, and then click Finish.

    The scorecard opens for editing.

  13. In the center pane, click the Properties tab.

  14. In the Name box, type the name that you want to use for the scorecard.

  15. (This step is optional.) To specify a location for the scorecard, click the Display Folder button, and then select or create a folder.

  16. In the Workspace Browser, right-click the scorecard, and then click Save.

After you have created the scorecard, you can configure it. See Edit a scorecard by using Dashboard Designer.

See Also

Concepts

Create reports and scorecards by using Dashboard Designer
Add a KPI Details report to a dashboard by using Dashboard Designer
Create and configure a KPI by using Dashboard Designer


Create and configure a KPI by using Dashboard Designer
See Also

Published: June 17, 2010

In PerformancePoint Services in Microsoft SharePoint Server 2010, a key performance indicator (KPI) is a scorecard element that shows at a glance whether performance is on- or off-target for a particular metric. KPIs can vary greatly in their appearance and complexity, but KPIs typically calculate how actual values compare to target values and indicate performance by using a graphical indicator.

By using PerformancePoint Dashboard Designer, you can easily create and configure basic KPIs for your dashboard. Then, you can extend those KPIs by configuring them to use additional functionality, such as calculated metrics, dimension filters, and trend indicators. For more information, see Extend a PerformancePoint KPI.

In this article:

  • Create a KPI

  • Configure a basic KPI

Create a KPI

By using PerformancePoint Dashboard Designer, you can create a KPI by either importing a KPI from a database, such as SQL Server Analysis Services, or by using the Create a KPI wizard in Dashboard Designer. Use the following table to determine which method to use.

Method Description

Import a KPI

When you import a KPI, you use the Create a Scorecard wizard in Dashboard Designer. The wizard enables you to copy one or more KPIs from the database server into Dashboard Designer and then configure those KPIs.

Select this method when you are creating a scorecard by using the wizard or when you want to import existing KPIs from a data source.

Note:

There are many ways to create and configure a scorecard by using Dashboard Designer. The procedure that is described in this article focuses on the tasks that are specific to importing a KPI. For more information about how to create a scorecard, see Create a scorecard by using Dashboard Designer.

Create a KPI

When you create a KPI, you use the Create a KPI wizard in Dashboard Designer.

Select this method when you want to create a KPI separate from creating a scorecard or when you want to create and configure a new KPI that you define.

To import a KPI by using the Create a Scorecard wizard

  1. In Dashboard Designer, in the Workspace Browser, click PerformancePoint Content.

  2. On the ribbon, click the Create tab.

  3. On the ribbon, in the Dashboard Items group, click Scorecard.

    The Select a Scorecard Template dialog box opens.

  4. In the Category pane, click All. Then, in the Template pane, click one of the following templates:

    • Analysis Services

    • Excel Services

    • Excel Workbook

    • SharePoint List

    • SQL Server Table

    The template that you select corresponds to the kind of data source that you plan to use for the scorecard. For example, if you want to import a KPI that is stored in an Analysis Services database, select the Analysis Services template.

    Note:

    Do not select Blank Scorecard or Fixed Values Scorecard. Those templates contain no KPIs.

    After you have selected the template that you want to use, click OK.

  5. In the Select a data source page, review the list of data sources on the SharePoint Site and Workspace tabs. Select the data source that you want to use, and then click Next.

    Note:

    If the data source that contains the KPI(s) that you want to use is not listed, then you might have to create a data connection. See Create data connections (PerformancePoint Services).

  6. If you selected the Analysis Services scorecard template, the Select a KPI Source page opens. (Otherwise, proceed to step 7.)

    Select the Create KPIs from SQL Server Analysis Services measures option, and then click Next.

  7. In the Select KPIs to Import page, select the KPI (or KPIs) that you want to use by following these steps:

    1. Click Add KPI.

      A KPI from the data source that you selected for the scorecard appears.

    2. Continue clicking Add KPI until you see the KPI (or KPIs) that you want to use.

    3. To remove any KPIs from the list, select a KPI and then click Delete Selected KPIs.

      Tip:

      To select multiple KPIs, press and hold the CTRL key while you click each KPI in the list.

    4. Click Next.

  8. On the Add Measure Filters page, click Next.

  9. On the Add Member Columns page, click Next.

  10. On the Locations page, confirm that the correct location is specified in the Create KPIs in list, and then click Finish.

The KPI (or KPIs) that you have imported can now be configured.

To create a KPI by using the Create a KPI wizard

  1. In Dashboard Designer, in the Workspace Browser, click PerformancePoint Content.

  2. On the ribbon, click the Create tab.

  3. On the ribbon, in the Dashboard Items group, click KPI.

    The Select a KPI Template dialog box opens.

  4. In the Template pane, select either the Blank KPI or Objective template, and then click OK.

    • Select Blank KPI to create a single KPI.

    • Select Objective to create a KPI that serves as a heading for a group of other KPIs.

    Tip:

    The main difference between the two KPI templates is in their default calculation method. By default, an Objective KPI uses no calculation, and a Blank KPI uses a normalized weighted score calculation. However, you can specify the calculation method that is used by the KPI, regardless of which template that you selected.

The KPI that you have created opens for editing in the workspace where you can configure it.

Configure a basic KPI

After you have created or imported a KPI, your next step is to configure it to measure performance. Begin with a KPI for that is open for editing, and then use the Editor tab to configure it.

To open a KPI for editing

  1. In Dashboard Designer, locate the Workspace Browser on the left side of the window, and then click PerformancePoint Content. The center pane displays two tabs: SharePoint and Workspace.

  2. Locate a KPI that you want to configure.

  3. Double-click the KPI that you want to configure to open it for editing.

To configure a basic KPI

  1. In the center pane, on the Editor tab, notice two sections: the Actual and Targets section, and the Thresholds section.

    • The Actual and Targets section is where you configure the names of the metrics, numeric formatting, kind of indicator, data source, and calculation settings that are used by the KPI.

    • The Thresholds section is where you configure the indicator and scoring settings that will be used by the KPI.

      The Thresholds section is enabled when you click a column in a Target value.

  2. Configure the Actual value for a basic KPI by specifying the name, number formatting, data mapping, and calculation settings for that value.

    To configure the Actual value for a basic KPI

    1. To edit the name of the Actual value, in the Name column, click the current name of that value to highlight its text, and then type a new name.

    2. To specify how numeric values are displayed in a scorecard, take the following steps:

      1. In the Number Format column, click the hypertext to open the Format Numbers dialog box.

      2. Specify the format and other settings that you want to use for the value in the KPI.

      3. Click OK to close the Format Numbers dialog box.

    3. To specify the data source that you want to use for an Actual value, take the following steps:

      1. In the Data Mappings column, click the hypertext. A Data Source Mapping dialog box opens.

        Depending on how the KPI was created, the Data Source Mapping dialog box will be one of the following:

        • Fixed Values Data Source Mapping dialog box

        • Dimensional Data Source Mapping dialog box

      2. Click Change Source to open the Select a Data Source dialog box.

      3. Select the data source that you want to use, and then click OK.

    4. To specify calculation settings for the Actual value, take the following steps:

      1. In the Calculation column, click the hypertext to open the Calculation dialog box.

      2. Select the kind of calculation that you want to use, and then click OK.

  3. Configure the Target value for a basic KPI by specifying the name, number formatting, data mapping, indicator, and calculation settings for that value.

    To configure the Target value for a basic KPI

    1. To edit the name of the Target value, in the Name column, click the current name of that value to highlight its text, and then type a new name.

    2. To specify which value to compare to the Target value, use the Compare to list to select an Actual value.

    3. To specify how numeric values are displayed in a scorecard, take the following steps:

      1. In the row that contains the Target value, in the Number Format column, click the hypertext to open the Format Numbers dialog box.

      2. Specify the format and other settings that you want to use for the value in the KPI.

      3. Click OK to close the Format Numbers dialog box.

    4. To configure the indicator and scoring settings that are used by each Target value, take the following steps:

      1. In the Target row, click the cell in the Indicators column.

        The Thresholds pane is enabled.

      2. In the Thresholds pane, verify that the correct settings are used for the various threshold values.

      3. To make any changes to the indicator and scoring settings, click Set Scoring Pattern and Indicator to open the Edit Banding Settings wizard.

      4. Use the wizard to specify the scoring pattern, indicator, and worst value for the KPI.

    5. To specify the data source that you want to use for a Target value, take the following steps:

      1. In the Data Mappings column, click the hypertext. A Data Source Mapping dialog box opens.

        Depending on how the KPI was created, the Data Source Mapping dialog box will be one of the following:

        • Fixed Values Data Source Mapping dialog box

        • Dimensional Data Source Mapping dialog box

      2. Click Change Source to open the Select a Data Source dialog box.

      3. Select the data source that you want to use, and then click OK.

    6. To specify calculation settings for the Target value, take the following steps:

      1. In the Calculation column, click the hypertext to open the Calculation dialog box.

      2. Select the kind of calculation that you want to use, and then click OK.

  4. Give the KPI a name, and save it.

    To name and save the KPI

    1. In the center pane, click the Properties tab.

    2. In the Name box, type the name that you want to use for the KPI.

    3. (This step is optional.) To specify a location for the KPI, click the Display Folder button, and then select or create a folder.

    4. In the Workspace Browser, right-click the KPI, and then click Save.

The KPI is now available for you and other dashboard authors to use in PerformancePoint scorecards. You can also extend it by additionally configuring the KPI. For more information, see Extend a PerformancePoint KPI.

See Also

Concepts

Extend a PerformancePoint KPI
Create a scorecard by using Dashboard Designer


Edit a scorecard by using Dashboard Designer
See Also

Published: September 16, 2010

After you and other dashboard authors have created scorecards by using PerformancePoint Dashboard Designer, you can then edit those scorecards to display information in a particular way. Some examples of the kinds of changes that you can make to a scorecard include the following:

  • Change the toolbar and other viewing options for scorecard users. You can enable or disable the scorecard toolbar and configure other kinds of display settings for a scorecard.

  • Add items, such as key performance indicators (KPIs) or dimension members to a scorecard.

  • Create or change the hierarchical structure of information in a scorecard. You can configure a hierarchical structure for KPIs and dimension members in a scorecard.

Read the articles in the following table to edit a scorecard.

Task | Article
Change the way a scorecard is displayed in a dashboard | Configure view settings for a scorecard by using Dashboard Designer
Add KPIs to a scorecard | Add KPIs to a scorecard by using Dashboard Designer
Add dimension members to a scorecard | Add dimension members to a scorecard by using Dashboard Designer
Create or change a hierarchical structure in a scorecard | Create or change a hierarchical structure in a scorecard by using Dashboard Designer

See Also

Concepts

Create a scorecard by using Dashboard Designer


Configure view settings for a scorecard by using Dashboard Designer
See Also

Published: September 16, 2010

By using PerformancePoint Dashboard Designer, you can configure view settings for a scorecard. These settings control how a scorecard behaves in a PerformancePoint dashboard. For example, you can control the level of interactivity in a scorecard by enabling or disabling the ability for users to leave comments in a scorecard. You can also specify whether to display a scorecard toolbar, and which toolbar commands to display.

To configure view settings for a PerformancePoint scorecard

  1. In Dashboard Designer, locate the Workspace Browser on the left side of the window, and then click PerformancePoint Content. The center pane displays two tabs: SharePoint and Workspace.

  2. Locate a scorecard for which you want to configure view settings.

  3. Double-click the scorecard that you want to change to open it for editing.

  4. In the center pane, click the Editor tab.

  5. On the Edit tab, in the View group, click Settings.

    The View Settings dialog box opens. There, you can configure the view settings that you want to use for the scorecard.

  6. To control the level of interactivity in the scorecard, in the View Settings dialog box, select Interactivity in the navigation pane. Then, select or clear the options that you want to enable or disable, as shown in the following table.

    Interactivity Section Option Description

    Allow

    Expand/collapse (+/-)

    Select this option to enable dashboard authors and users to expand and collapse scorecard rows and columns.

    Row members

    Select this option to enable dashboard authors and users to expand and collapse scorecard rows.

    Column members

    Select this option to enable dashboard authors and users to expand and collapse scorecard columns.

    Comments

    Select this option to enable dashboard authors and users to leave comments in scorecard cells.

    Important:

    Before you select the Comments option, make sure that "Enable comments" is selected in Central Administration settings for PerformancePoint Services. Otherwise, users might receive an error message when they try to leave comments.

    Allow once deployed

    Drill down

    Select this option to enable dashboard users to drill down to see lower levels of detail in scorecard rows and columns.

    Row members

    Select this option to enable dashboard users to drill down on data in scorecard rows.

    Column members

    Select this option to enable dashboard users to drill down on data in scorecard columns.

    Show details

    Select this option to enable dashboard users to view transaction-level details for a particular scorecard value.

    Note:

    In a dashboard, the Show Details command is available only for scorecard cells that contain data that is stored in SQL Server Analysis Services and do not contain calculated values.

    Filter by status

    Select this option to enable dashboard users to filter the information that is displayed in a scorecard by key performance indicator (KPI) status.

    Filter

    Select this option to enable dashboard users to apply filters, such as Top 10 and Value Filters to a scorecard.

    Sort

    Select this option to enable dashboard users to sort rows or columns in a scorecard.

  7. To control the display settings for the scorecard, in the View Settings dialog box, select Display in the navigation pane. Then, select or clear the options that you want to enable or disable, as shown in the following table.

    Display Section Option Description

    Show

    Actual and target headers

    Select this option to display Actual and Target headings in the scorecard.

    Wrapped text in cells

    Select this option to wrap text in scorecard cells. This is useful for row or column members that have longer names.

    Gridlines

    Select this option to display gridlines in a scorecard.

    Messages

    Empty cells

    Select this option to specify what should be displayed in empty scorecard cells.

    If you select the Empty cells option, type the text that you want to display in the Empty cells box.

    Error cells

    Select this option to specify what should be displayed in scorecard cells that have errors.

    The default text is Error. To edit the text, delete the default text and type the text that you want to display in the Error cells box.

  8. To control the display settings for the scorecard, in the View Settings dialog box, select Toolbar in the navigation pane. Then, select or clear the options that you want to enable or disable, as shown in the following table.

    Option Description

    Show scorecard toolbar

    Select this option to display the scorecard toolbar.

    When you select this option, all of the following options are automatically selected. You can keep these selections to clear them to control which toolbar commands are displayed in the scorecard toolbar.

    Similarly, if you select any of the following options, the Show scorecard toolbar option will be selected.

    Filter by Status

    Select this option to display the Filter by Status toolbar command in the scorecard toolbar. This enables dashboard users to view only the KPIs that have a particular status, such as those that are on or off target.

    Default Rollup (average weighted)

    Select this option to display the Default Rollup toolbar command in the scorecard toolbar. This enables dashboard users to view overall performance for objective KPIs based on average weighted values in the scorecard.

    For example, suppose that the scorecard contains an objective KPI that has multiple KPIs nested underneath the objective KPI. If a dashboard user uses the Default Rollup toolbar command, the objective KPI will show overall performance that is based on a weighted average of the nested KPIs.

    Worst Indicator Rollup

    Select this option to display the Worst Indicator Rollup toolbar command in the scorecard. This enables dashboard users to see whether any KPIs in an objective KPI are off target.

    For example, suppose that the scorecard contains an objective KPI that has three KPIs nested underneath the objective KPI. Suppose also that two of those KPIs show that performance is on target, and the third KPI indicates performance is off target. If a dashboard user uses the Worst Indicator Rollup toolbar command, the objective KPI will show performance as off target, based on the status of the third KPI.

    Indicator Count Rollup

    Select this option to display the Indicator Count Rollup toolbar command in the scorecard. This enables dashboard users to see how many KPIs are in each kind of status for a given objective KPI.

    For example, suppose that the scorecard contains an objective KPI that has four KPIs nested underneath the objective KPI. Suppose also that one KPI shows that performance is off target, and three show that performance is on target. If a dashboard user uses the Indicator Count Rollup toolbar, objective KPI will summarize that information by displaying numeric totals for each indicator.

    Show as Tree

    Select this option to display the Show as Tree toolbar command in the scorecard. This enables dashboard users to toggle between a hierarchical view or a flatter, tabular view of the scorecard.

    Collapse All

    Select this option to display the Collapse All toolbar command in the scorecard. This enables dashboard users to collapse rows in the scorecard and view only high-level information.

    Expand All

    Select this option to display the Expand All toolbar command in the scorecard. This enables dashboard users to expand rows in the scorecard to view lower levels of information.

    Show Inline Text

    Do not use this option. It does not work in the current version of PerformancePoint Services.

  9. To control the display settings for the scorecard, in the View Settings dialog box, select Filters in the navigation pane. Then, select or clear the options that you want to enable or disable, as shown in the following table.

    Option Description

    Filter empty rows

    Select this option to prevent empty rows from displaying in the scorecard.

    Filter by status

    Select any of the following options to display only the KPIs that have the status that you select.

    • On Target

    • Slightly Off Target

    • Off Target

  10. After you have specified the display options that you want to use for the scorecard, in the View Settings dialog box, click OK.

  11. On the Edit tab, in the View group, click Update to display the changes that you made to the scorecard.

  12. In the Workspace Browser, right-click the scorecard, and then click Save.

See Also

Concepts

Edit a scorecard by using Dashboard Designer
Create a scorecard by using Dashboard Designer
Create and configure a KPI by using Dashboard Designer


Add KPIs to a scorecard by using Dashboard Designer
See Also

Published: September 16, 2010

When you create a PerformancePoint scorecard, the scorecard typically contains at least one key performance indicator (KPI). You can use PerformancePoint Dashboard Designer to add more KPIs to the scorecard. A scorecard can contain multiple KPIs that use the same or different data sources.

To add a KPI to a scorecard

  1. In Dashboard Designer, locate the Workspace Browser on the left side of the window, and then click PerformancePoint Content. The center pane displays two tabs: SharePoint and Workspace.

  2. Locate and double-click the scorecard that you want to change to open it.

  3. In the center pane, click the Editor tab.

  4. In the Details pane, expand KPIs, and then locate the KPI that you want to add.

    Note:

    If the KPI that you want to add is not displayed, take the following steps:

    1. In Dashboard Designer, locate the Workspace Browser on the left side of the window, and then click PerformancePoint Content. The center pane displays two tabs: SharePoint and Workspace.

    2. Locate the KPI that you want to add to a scorecard.

    3. Double-click the KPI to open it for editing.

    4. Return to Step 1 to reopen the scorecard that you want to edit.

  5. From the Details pane, expand KPIs, and then drag a KPI to the scorecard.

    You can put a KPI on rows or columns in the scorecard.

  6. Repeat for each KPI that you want to add.

  7. On the Edit tab, in the View group, click Update to display the changes that you made to the scorecard.

  8. In the Workspace Browser, right-click the scorecard, and then click Save.

See Also

Concepts

Create a scorecard by using Dashboard Designer
Create and configure a KPI by using Dashboard Designer
Create or change a hierarchical structure in a scorecard by using Dashboard Designer
Edit a scorecard by using Dashboard Designer


Add dimension members to a scorecard by using Dashboard Designer
See Also

Published: September 16, 2010

When you create a PerformancePoint scorecard, the scorecard typically contains at least one key performance indicator (KPI). The scorecard might not contain dimension members. You can use PerformancePoint Dashboard Designer to add one or more dimension members to the scorecard.

Important:

A scorecard can contain multiple KPIs that use the same or different data sources. To add one or more dimension members to a scorecard, the scorecard must contain at least one KPI that uses the same data source as the dimension members that you want to add. Before you begin the following procedure, make sure that the scorecard contains at least one KPI that uses the data source that contains the dimension members that you want to use. For more information about how to add a KPI to a scorecard, see Add KPIs to a scorecard by using Dashboard Designer.

In addition, make sure that the scorecard KPIs do not contain dimension filters for the same dimension as the dimension members that you are adding to the scorecard. For example, suppose that the scorecard contains a KPI to show sales performance, and that KPI contains dimension filters to display information for certain product categories. Then, suppose that the dimension members that you want to add to the scorecard contain product categories. Before you add the dimension members to the scorecard, you must make sure that you remove the dimension filter on the KPI. Otherwise, the Decomposition Tree option will be disabled for the scorecard.

To add dimension members to a PerformancePoint scorecard

  1. In Dashboard Designer, locate the Workspace Browser on the left side of the window, and then click PerformancePoint Content. The center pane displays two tabs: SharePoint and Workspace.

  2. Double-click the scorecard that you want to change to open it.

  3. In the center pane, click the Editor tab.

  4. In the Details pane, expand Dimensions, and then locate the dimension hierarchy that you want to add.

    Note:

    If the dimension hierarchy that you want to use is not displayed, make sure that the scorecard contains at least one KPI that uses the data source that contains the dimension members that you want to use. For more information about how to add a KPI to a scorecard, see Add KPIs to a scorecard by using Dashboard Designer.

    Then, in the Details pane, in the Data Source section, use the list to select the data source that contains the dimension hierarchy that you want to use.

  5. From the Details pane, expand Dimensions, and then drag a dimension hierarchy to the scorecard.

    Tip:

    You can put dimension members in rows or columns in the scorecard. In addition, you can put dimension members underneath a KPI.

    As you drag a dimension hierarchy to the scorecard, small blue arrows will appear in the scorecard to show you approximately where the dimension members will be positioned. For example, if the dimension members will be at the same level as a KPI, arrows pointing downward will appear. If the dimension members will be nested underneath a KPI, arrows pointing to the right side of the KPI will appear.

    The Select Members dialog box opens.

  6. For each dimension hierarchy that you add to the scorecard, you can either keep the default selection (this is typically All) or select the dimension members that you want to display.

    To select individual dimension members

    1. In the Select Members dialog box, use the expandable tree control to view the list of members that are in the dimension hierarchy.

    2. Select the items that you want to display in your scorecard.

      Tip:

      To select a group of items at the same time, right-click the top-level dimension in the tree, and then click an available option, such as Select Children or Autoselect Members.

    3. Click OK.

      The Select Members dialog box closes and your scorecard updates to display the members that you selected.

  7. On the Edit tab, in the View group, click Update to refresh the scorecard.

  8. In the Workspace Browser, right-click the scorecard, and then click Save.

See Also

Concepts

Create a scorecard by using Dashboard Designer
Create and configure a KPI by using Dashboard Designer
Create or change a hierarchical structure in a scorecard by using Dashboard Designer
Edit a scorecard by using Dashboard Designer


Create or change a hierarchical structure in a scorecard by using Dashboard Designer
See Also

Published: September 16, 2010

After you create a PerformancePoint scorecard that contains multiple key performance indicators (KPIs), you use PerformancePoint Dashboard Designer to create or configure a hierarchical structure for the scorecard. For example, you can promote or demote individual KPIs, and you can configure the position of a KPI in an existing hierarchy.

KPIs can be organized into one of three categories: objective KPIs, non-leaf KPIs, and leaf-level KPIs.

  • Objective KPIs An objective KPI is a KPI that has non-leaf KPIs indented under it, or a combination of non-leaf KPIs and leaf-level KPIs.

    An objective KPI states performance for an overall goal, because it rolls up related KPI scores into a single summary indicator.

  • Non-leaf KPIs A non-leaf KPI is a KPI that has leaf-level KPIs that are indented under it.

    A non-leaf KPI heads a group of closely related measures, and it aggregates the values of the leaf-level KPIs that are in the group.

  • Leaf-level KPIs A leaf-level KPI is at the lowest level of a scorecard hierarchy. It has no KPIs under it in the hierarchy.

    A leaf-level KPI reflects a single performance measure, because it compares actual performance for a single measure to its target value.

The following image shows two objective KPIs, two non-leaf KPIs, and several leaf-level KPIs.

PerformancePoint scorecard showing multiple KPIs

In this image, the Financial Perspective and Increase Shareholder Value KPIs are objective KPIs that show overall performance that is based on the KPIs that are indented under it. The Productivity and Growth KPIs are non-leaf KPIs that each head a group of leaf-level KPIs. The leaf-level KPIs are Expense as % of Revenue, Asset Utilization, Revenue Growth, Gross Margin %, and Revenue Growth New Products.

You can also add dimension members to a scorecard, and you can nest them underneath a KPI. For more information, see Add dimension members to a scorecard by using Dashboard Designer.

Note:

Before you begin to promote or demote KPIs in a scorecard, make sure that the scorecard contains multiple KPIs. For more information, see Create and configure a KPI by using Dashboard Designer and Add KPIs to a scorecard by using Dashboard Designer.

To promote or demote a KPI in a scorecard hierarchy

  1. In Dashboard Designer, locate the Workspace Browser on the left side of the window, and then click PerformancePoint Content. The center pane displays two tabs: SharePoint and Workspace.

  2. Double-click the scorecard that you want to change to open it.

  3. In the center pane, click the Editor tab.

  4. Click the Edit tab.

  5. Make sure the KPIs are in the correct order in the scorecard. To move the KPI up or down in the scorecard, follow these steps:

    1. In the scorecard, click a KPI to select it.

    2. On the ribbon, in the Header group, use the Move Up or Move Down toolbar commands.

      Each time that you click a Move Up or Move Down toolbar command, the KPI that you selected moves one row up or down in the scorecard.

    3. Repeat until all the KPIs are in the order that you want them in the scorecard.

  6. Make sure that the KPIs that you want to promote or demote are configured to use the correct calculations. For example, an objective or non-leaf KPI uses No value for its calculation setting, whereas a leaf-level KPI uses another calculation setting, such as Default, which is a normalized weighted score calculation. For more information about how to view or configure calculation settings for a KPI, see Configure a basic KPI.

  7. After you have confirmed that all the KPIs are in the correct order and use the correct calculation settings, you are ready to begin promoting or demoting KPIs. Use the following procedure:

    1. In the scorecard, click a KPI to select it.

    2. On the ribbon, in the Header group, use the Decrease Indent or Increase Indent toolbar commands to promote or demote the KPI.

    3. Repeat for each KPI in the scorecard.

  8. On the Edit tab, in the View group, click Update to display the changes that you made to the scorecard.

  9. In the Workspace Browser, right-click the scorecard, and then click Save.

See Also

Concepts

Create a scorecard by using Dashboard Designer
Edit a scorecard by using Dashboard Designer
Create and configure a KPI by using Dashboard Designer


Create an analytic chart or grid by using Dashboard Designer
See Also

By using PerformancePoint Dashboard Designer, you can create analytic reports for your dashboards. Analytic reports are dynamic, visual representations of data that can be displayed as interactive line charts, bar charts, pie charts, and tables (which are called grids). Analytic charts and grids use data that is stored in SQL Server 2008 Analysis Services or in SQL Server 2005 Analysis Services. For more information, see Overview of PerformancePoint analytic charts and grids.

To watch a video about how to create an analytic chart, see Video: Creating an analytic chart by using PerformancePoint Dashboard Designer (http://go.microsoft.com/?linkid=9727268).

Create an analytic chart or grid

Before you begin to create your analytic chart, make sure that the data source that you want to use is available.

To verify that your data source is available

  1. In Dashboard Designer, click the Home tab, and then click Refresh.

  2. In the Workspace Browser, click Data Connections.

  3. In the center pane of the workspace, review the list of data sources on the Server and Workspace tabs.

  4. Confirm that the data source that you want to use is available. If it is not listed, then you might have to create a data connection.

When you create an analytic chart, you do this in several stages. First, you create the basic structure of your report. Then, you configure the report to display data.

To create the basic structure of your report

  1. In Dashboard Designer, in the Workspace Browser, click PerformancePoint Content.

  2. In the ribbon, click the Create tab.

  3. In the ribbon, in the Reports group, click Analytic Chart or Analytic Grid.

    The Create an Analytic Chart Report (or Create an Analytic Grid) wizard opens.

  4. In the Select a Data Source window, select the SQL Server Analysis Services data source that you want to use.

  5. Click Finish.

    The analytic report opens for editing in the center pane of the workspace.

  6. In the center pane, click the Properties tab.

  7. In the Name box, type the name that you want to use for the report.

  8. (This step is optional.) To specify a location for the report, click the Display Folder button, and then select or create a folder.

  9. In the Workspace Browser, right-click the report, and then click Save.

After you have created the basic structure of your report, configure it to display information. When you configure the report to display information, you can select from two methods.

  • You can use the Design tab to drag items from the Details pane and preview your report. As you configure the report, it automatically updates in the center pane so you can see how it will appear in the dashboard.

  • You can use the Query tab to specify or edit the custom Multidimensional Expressions (MDX query) that is used to display information.

    Tip:

    If you create an analytic chart by using the Query tab (and not the Design tab), dashboard users might be unable to drill up or down into the data.

To configure the report to display information by using the Design tab (recommended)

  1. Begin with the analytic report open for editing in Dashboard Designer. In the center pane, click the Design tab.

  2. In the Details pane, expand Measures, Dimensions, or Named Sets to display the list of items that are available in each category.

  3. Drag an item to the Series (or Rows), Bottom Axis (or Columns), or Background section.

    Tip:

    To display data in your analytic report, you must put at least one item in each Series (or Rows) and Bottom Axis (or Columns) section.

    Placing an item in the Background section is optional.

    You can use many combinations of measures, dimensions, and named sets. For example, you can place a named set in one section and a measure in another section. Or you can put one dimension hierarchy in one section and a different dimension hierarchy in another. You can also put measures in the Background section, or you can leave the Background section blank.

    • The Series section corresponds to the vertical axis of your chart, and the Bottom Axis section corresponds to the horizontal axis.

    • The Rows section corresponds to the horizontal rows of your grid, and the Columns section corresponds to the vertical columns.

    • Any items that you put in the Background section (this is optional) serve as hidden filters for your analytic chart or grid. For example, if you put a Geography dimension in the Background section and then select some, but not all, of the geographical regions in the hierarchy, then the information that is displayed in your analytic report will be limited to those geographical regions that you selected.

      Note:

      If you put a dimension in the Background section and select the All option in the list of members, make sure that you do not select individual dimension members, too. Otherwise, you might receive an error message. The error message indicates that there was an error running the data source query.

  4. For each dimension that is located on your chart, you can either keep the default selection (this is typically All), or you can select the dimension members that you want to display.

    To select individual dimension members

    1. Right-click a dimension, and then click Select Members. Or click the down arrow next to the dimension name, and then click Select Members.

      The Select Members dialog box opens.

    2. Use the expandable tree control to view the list of members that are in the dimension hierarchy.

    3. Select the items that you want to display in your analytic report.

    4. Click OK.

      The Select Members dialog box closes and your analytic report updates to display the members that you selected.

  5. Repeat steps 2-4 for each item that you want to display in your chart.

  6. In the ribbon, use the toolbar commands in the View group of the Edit tab to specify the view type and settings for your analytic report.

    Important:

    If you are creating an analytic grid that uses a PowerPivot data connection, make sure that you use the tabular layout option instead of the compact layout. Otherwise, dashboard users might get error messages when they attempt to use Value Filters on the report.

    To apply a tabular layout to the grid, on the Edit tab, in the View group, use the Layout menu to select Tabular Layout.

  7. In the Workspace Browser, right-click the report, and then click Save.

To configure the report to display information by using the Query tab (requires familiarity with MDX)

  1. Begin with an analytic report open for editing in Dashboard Designer. In the center pane, click the Query tab.

  2. In the MDX pane, specify the MDX query that you want to use for your analytic report.

    For example, if you want to show sales information for different products across different sales territories, your MDX query might resemble the following example.

    Copy Code
    SELECT
HIERARCHIZE( { [Product].[Product].[Product Category Name].&[8], [Product].[Product].[Product Category Name].&[7], [Product].[Product].[Product Category Name].&[6], [Product].[Product].[Product Category Name].&[5], [Product].[Product].[Product Category Name].&[4], [Product].[Product].[Product Category Name].&[3], [Product].[Product].[Product Category Name].&[2], [Product].[Product].[Product Category Name].&[1] } )
ON COLUMNS,

HIERARCHIZE( { [Sales Territory].[Territory Hierarchy].[Sales Territory Group].&[North America], [Sales Territory].[Territory Hierarchy].[Sales Territory Group].&[Europe], [Sales Territory].[Territory Hierarchy].[Sales Territory Group].&[Asia] } )
ON ROWS

FROM [Sales]

WHERE ( [Measures].[Sales Amount] )

    The actual query that you use depends on the data cube and the kinds of information that you want to do display.

  3. (This is optional.) If you want to connect dashboard filters to the analytic report, you must configure the report to receive filters.

    Important:

    The following procedure applies only to analytic charts or grids that were created by using a custom MDX query.

    1. In the center pane, in the MDX pane, select a code example that represents a dimension member, dimension hierarchy, or a named set.

      Depending on the kind of filter that you want to use for the analytic chart or grid, the code example that you select will vary.

      For example, you might have an analytic chart that uses an MDX query that includes the expression, [Geography].[Geography].[Region]. That code example represents a dimension hierarchy in the Geography dimension.

      To configure the chart to receive a geography filter, select the complete code example [Geography].[Geography].[Region]

    2. In the Parameters section, type a name for your parameter, and then click Insert.

      The parameter name appears in the MDX pane.

      For example, if you insert a parameter called Geo into the code example, [Geography].[Geography].[Region], the MDX pane displays <<Geo>> instead of that code example.

      You can now link a dashboard filter to report by using this parameter. Then, when a dashboard user selects an item in the filter that is linked to this report, <<Geo>> is replaced with that item in the query. The analytic report displays the results.

    3. To add more than one parameter, repeat Steps 3a and 3b.

      For example, consider an analytic chart that has the following code, which includes two parameters.

      Copy Code
      SELECT {[Time].[Calendar].[Year].&[2006]} ON COLUMNS, { TOPCOUNT({DESCENDANTS(<<Product>>, [Product].[Product].[Product])}, 20, ([Time].[Calendar].[Year].&[2009], [Measures].[Sales Amt]))} ON ROWS FROM [Sales] WHERE (<<Geography>>, [Measures].[Sales Amt])

      This query enables you to link two kinds of filters to the analytic report: a Products filter and a Geography filter.

      Based on this MDX query, a dashboard user who selects a product category in the Products filter, and then geographical region in the Geography filter, will see the top 20 products (in descending order) for that geographical region in the year 2009.

  4. In the center pane, click the Design tab to preview your analytic chart or grid.

  5. In the ribbon, use the toolbar commands in the View group of the Edit tab to specify the view type and settings for your analytic report.

  6. In the Workspace Browser, right-click the report, and then click Save.

Edit an analytic chart or grid

After you have created your analytic report, you can configure it to adjust how you want the information to be displayed. For example, you can configure the information that is displayed. Or you can change the view type of a report, such as by changing a bar chart to a line chart, or a chart to a grid.

When you want to configure the information that is displayed in an analytic report, you can use one of two methods:

  • You can use the Design tab in the center pane of the workspace to add or remove the dimensions, measures, and named sets that you use in the report. You also use the Design tab to preview the analytic report.

  • Use the Query tab in the center pane of the workspace to change the MDX query that is used to display information in the report.

To use the Design tab to add, remove, or change the items that appear in a report

  1. Begin with an analytic report open for editing in Dashboard Designer. In the center pane of the workspace, click the Design tab.

  2. Make one or more of the following changes to your analytic chart or grid:

    Action Procedure

    Add an item to an analytic chart or grid

    1. In the Details pane, expand Measures, Dimensions, or Named Sets to display the list of items that are available in that category.

    2. From the Details pane, drag an item to the Series (or Rows), Bottom Axis (or Columns), or Background section.

    3. Repeat for each item that you want to display in your chart.

    Remove an item from a chart or grid

    In the Series (or Rows), Bottom Axis (or Columns), or Background section, right-click the item that you want to remove, and then click Remove.

    Move an item to a different location in the chart or grid

    In the Series (or Rows), Bottom Axis (or Columns), or Background section, right-click the item that you want to move, and then click the section where you want to place the item.

    Or:

    Drag the item that you want to move to a different section.

    Display different dimension members in the chart or grid

    1. Right-click a dimension, and then click Select Members. The Select Members dialog box opens.

    2. Use the expandable tree control to view the list of dimension members. Select the items that you want to display in your analytic chart, and then click OK.

      The Select Members dialog box closes and your analytic chart or grid updates to display the members that you selected.

  3. In the Workspace Browser, right-click the analytic report, and then click Save.

To use the Query tab to add, remove, or configure the items that appear in a report

  1. Begin with an analytic report open for editing in Dashboard Designer. In the center pane of the workspace, click the Query tab.

  2. In the MDX pane, edit the MDX query that appears. Or, type a new MDX query.

  3. In the Workspace Browser, right-click the analytic report, and then click Save.

See Also

Concepts

Overview of PerformancePoint analytic charts and grids
Create a PowerPivot data connection (PerformancePoint Services)


Create a KPI Details report by using Dashboard Designer
See Also

Published: May 29, 2010

Using PerformancePoint Dashboard Designer, you can create a KPI Details report for your dashboard. KPI Details reports are used to show additional information about the KPIs and other items that are in a scorecard. The KPI Details report serves as a companion to a scorecard. This means that a KPI Details report is not used in a dashboard without its accompanying scorecard on the same dashboard page. For more information, see Overview of PerformancePoint KPI Details reports.

You can create a single KPI Details report and then reuse it in multiple dashboards.

To create a KPI Details report

  1. In the ribbon, click the Create tab. Then, in the Reports group, click KPI Details.

    The report opens for editing.

  2. In the center pane, click the Editor tab. There, you can specify the information that you want to display in the report.

    KPI section Option Description

    Cell Context Information

    Show cell context information

    Select this option to display the following information:

    • Metric

    • Measure

    • Row Path, which corresponds to the scorecard row that was clicked.

    • Column Path, which corresponds to the scorecard column that was clicked.

    Expand cell context sections by default

    By default, this option is selected. It causes the KPI Details report to be expanded to display the information that you specify.

    Show Indicator Options

    Show status graph

    Do not use this option. It does not work in the current version of PerformancePoint Services.

    Show indicator graphic

    Do not use this option. It does not work in the current version of PerformancePoint Services.

    Show Details Information

    Show actual

    Select this option to display actual values when cells in the scorecard's Target column are clicked.

    Show calculation

    Select this option to display how scores are calculated and what banding method is used by the KPI that was clicked.

    KPIs use one of the following calculations:

    • Increasing is better

    • Decreasing is better

    • Closer to target is better

    Show score

    Select this option to show raw scores when cells in the scorecard's Target column are clicked.

    Show threshold grid

    Select this option to determine whether to show the threshold grid when cells in the scorecard's Target column are clicked.

    The threshold grid includes the following information:

    • The kind of indicator that is used by the KPI that was clicked

    • A table showing the different thresholds and performance for a KPI.

    When you select Show threshold grid, you must also select one of the following two options:

    • Percentage threshold values

    • Target values adjusted for indicator threshold percentages

    For metrics with normalized weighted value, show Percentage values

    Select this option to display performance in percentages in the threshold grid.

    For metrics with normalized weighted value, show Target values adjusted for indicator threshold percentages

    Select this option to display performance in numeric values in the threshold grid.

    Show variance

    Select this option to show the variance from the next status threshold.

    For example, if performance is slightly off target for a particular metric, the variance would be how far away the metric is from being on target.

    Additional information

    Show Description

    Select this option to display any text that was entered in the Description box for a KPI (visible on the Properties tab for a KPI in Dashboard Designer).

    Show Comments

    Select this option to display any comments or annotations that have been added to a scorecard.

    Depending on whether comments (or annotations) are enabled in the SharePoint Central Administration Web site, both dashboard authors and dashboard consumers can add comments to a scorecard.

    • Dashboard authors can open a scorecard for editing in Dashboard Designer and add comments by using the Edit tab.

    • Dashboard users can add comments to a scorecard in its SharePoint site by right-clicking a cell, and then clicking Comments.

    Show KPI Properties

    Select this option to display any custom properties that might have been created for each KPI (visible on the Properties tab for a KPI in Dashboard Designer).

    Show Person Responsible

    Select this option to display information about the person who is responsible for the KPI status (which is visible on the Properties tab for a KPI in Dashboard Designer).

  3. In the center pane, click the Properties tab.

  4. In the Name box, type the name that you want to use for the report.

  5. (This step is optional.) To specify a location for the report, click the Display Folder button, and then select or create a folder.

  6. In the Workspace Browser, right-click the report, and then click Save.

After you have created the KPI Details report, you can add it to a dashboard page and connect it to a scorecard. For more information, see Add a KPI Details report to a dashboard by using Dashboard Designer.

See Also

Concepts

Create and assemble a dashboard page by using Dashboard Designer
Create a scorecard by using Dashboard Designer
Plan, design, and implement a PerformancePoint dashboard


Create a ProClarity Server report by using Dashboard Designer
See Also

Published: July 8, 2010

By using PerformancePoint Dashboard Designer, you can create ProClarity Server reports for your dashboards. A ProClarity Server report is a ProClarity view that was published to ProClarity Server.

Examples of ProClarity views include the Perspective View, Decomposition Tree, Performance Map, and analytic charts and grids.

You would typically add a ProClarity report to your dashboard for any of the following reasons:

  • To use reports that have been published to ProClarity Server

  • To use ProClarity views that are not yet available in PerformancePoint Services in Microsoft SharePoint Server 2010

  • To save time and work by using existing report views

Create a reference to a ProClarity Server report

In Dashboard Designer, you do not actually create a ProClarity Server report. Instead, you create a PerformancePoint Web Part to display an existing ProClarity Server report.

When you create a ProClarity Server report, you do it in three stages, as described in the following list:

  1. Create the basic structure of your report

  2. Create the connection to the report

  3. Specify additional configuration options for the report

To create the basic structure of your report

  1. In Dashboard Designer, in the Workspace Browser, click PerformancePoint Content.

  2. In the ribbon, click the Create tab.

  3. In the ribbon, in the Reports group, click Other Reports.

    The Select a Report Template dialog box opens.

  4. In the Select a Report Template dialog box, click ProClarity Analytics Server Page, and then click OK.

    The blank report opens for editing in the center pane of the workspace.

  5. In the center pane, click the Properties tab.

  6. In the Name box, type the name that you want to use for the report.

  7. (This step is optional.) To specify a location for the report, click the Display Folder button, and then select or create a folder.

  8. In the Workspace Browser, right-click the report, and then click Save.

  9. Configure the report to display information.

To connect to the report

  1. Begin with the report open for editing in Dashboard Designer. In the center pane, click the Editor tab.

  2. In the Server URL box, specify the Web site address (URL) for the server that hosts the report that you want to use.

    The server name typically takes the form http://<servername>/pas.

  3. Click the Browse button to locate the report that you want to use.

    The PAS Browser dialog box opens.

  4. Use one of the following methods to log on to ProClarity Server. The method that you use depends on whether ProClarity Server is configured to accept integrated or basic authentication.

    • Select the Use Windows Credentials check box if ProClarity Server is configured to accept Integrated Windows authentication.

    • Type your Windows NT user credentials in the User Name, Password, and Domain boxes if ProClarity Server is configured to accept Basic authentication.

    Note:

    Contact an IT Administrator if you have questions about how ProClarity Server is configured in your environment.

  5. In the PAS Browser dialog box, click Refresh to update the list of libraries, books, and pages. Browse through the libraries and books, and then select the ProClarity Server Page that you want to use.

  6. Click OK to close the wizard.

    Your report opens in the center pane of the workspace.

  7. In the Workspace Browser, right-click the report, and then click Save.

You can now add the ProClarity Server report to a dashboard or specify configuration options for the report.

To specify configuration options for the report (optional)

  1. Begin with the report open for editing in Dashboard Designer. In the center pane, click the Editor tab.

  2. Use the Configuration Options list to select one of the following:

    Option Description

    ad; (Disable Decomposition Tree)

    This option disables the Decomposition Tree report type.

    When you select this option, dashboard users can view other report types. However, they cannot change the view to the Decomposition Tree.

    In addition, dashboard consumers cannot select a value in the report and then use the Decomposition Tree to analyze the underlying data for that value.

    dd; (Disable Drill to Detail)

    This option disables the Drill to Detail functionality, which is equal to Show Details in scorecards and reports.

    When you select this option, dashboard consumers can explore data and view a higher or lower level of detail for a report value. However, they cannot view the lowest level of detail in the report.

    ad;dd; (Disable Decomposition Tree and Drill to Detail)

    This option disables both the Decomposition Tree and the ability to see the lowest level of detail for a report value.

    When you select this option, dashboard consumers can view some report types. However, they cannot change the view to the Decomposition Tree or view the lowest level of detail in the report.

    st; (All Interaction Disabled)

    This option displays the report as a static image.

    When you select this option, dashboard consumers can only view the report. They cannot change the view or explore data.

  3. In the Workspace Browser, right-click the report, and then click Save.

See Also

Concepts

Create a dashboard page by using Dashboard Designer
Assemble dashboard pages and link items together by using Dashboard Designer


Create a Reporting Services report by using Dashboard Designer
See Also

Published: May 29, 2010

By using PerformancePoint Dashboard Designer, you can create Microsoft SQL Server Reporting Services (SSRS) reports for your dashboards. A Reporting Services report is a report that is published to SQL Server Reporting Services and contains one or more charts and tables. By adding a Reporting Services report to a PerformancePoint dashboard, you can reuse an existing report. In addition, if the Reporting Services report contains at least one parameter, you can connect PerformancePoint dashboard filters to the Reporting Services report.

Tip:

For information about creating a Reporting Services report and adding one or more parameters to the report, see the following resources:

  • Designing Reports in Report Designer and Report Builder 3.0 (SSRS)

  • Tutorial: Adding Parameters to a Report (SSRS)

Create a reference to a Reporting Services report

In Dashboard Designer, you do not actually create a Reporting Services report. Instead, you create a PerformancePoint Web Part to display an existing Reporting Services report.

To create a Reporting Services report, see Designing Reports in Report Designer and Report Builder 3.0 (SSRS). To add parameters to the Reporting Services report that you can use to connect to dashboard filters, see Tutorial: Adding Parameters to a Report (SSRS).

Important:

Make sure that you have collected the following information:

  • The full name of the Reporting Services report that you want to use.

  • The server location where the Reporting Services report is stored.

  • The server mode (SharePoint Integrated or Report Center) that you will use for the report, and whether Reporting Services is configured to use the Trusted Account authentication mode in SharePoint Server 2010.

    Tip:

    To view Reporting Services configuration settings in SharePoint Server 2010, in Central Administration, under General Application Settings, click Reporting Services Integration.

  • Any parameters that might exist in the Reporting Services report, and information about how those parameters are configured. (You would typically need this information to connect a PerformancePoint dashboard filter to the Reporting Services report.)

Also, make sure that you and the dashboard users have the necessary permissions to view the report.

When you create a Reporting Services report by using Dashboard Designer, you do it in several stages, as described in the following list:

  1. Create the basic structure of the Web Part.

  2. Create the connection to the report. When you do this, you select between two modes in Dashboard Designer:

    • Report Center mode, which corresponds to Native mode in Reporting Services

    • SharePoint Integrated mode

  3. Configure the report to display the information that you want to show.

To create the basic structure of your report Web Part

  1. In Dashboard Designer, in the Workspace Browser, click PerformancePoint Content.

  2. In the ribbon, click the Create tab.

  3. In the ribbon, in the Reports group, click Reporting Services.

    The blank report opens for editing in the center pane of the workspace.

  4. In the center pane, click the Properties tab.

  5. In the Name box, type the name that you want to use for the report.

  6. (This step is optional.) To specify a location for the report, click the Display Folder button, and then select or create a folder.

  7. In the Workspace Browser, right-click the report, and then click Save.

  8. Configure the report to display information by using either Report Center mode or SharePoint Integrated mode.

To connect to the report by using Report Center mode

  1. Begin with the report open for editing in Dashboard Designer. In the center pane, click the Editor tab.

  2. Use the Server mode list to select Report Center.

    Tip:

    Report Center mode in Dashboard Designer corresponds to Native mode in Reporting Services.

  3. In the Server name box, specify the Web site address (URL) for the server that hosts the report that you want to use.

    The server name typically takes the form http://<servername>/reportserver.

  4. Click the Browse button to locate the report that you want to use.

  5. Click the Preview button to view the report in the Preview pane.

  6. Proceed to finish configuring the report

To connect to the report by using SharePoint Integrated mode

  1. Begin with the report open for editing in Dashboard Designer. In the center pane, click the Editor tab.

  2. Use the Server mode list to select SharePoint Integrated.

    Tip:

    SharePoint Integrated mode in Dashboard Designer corresponds to SharePoint Integrated mode in the Reporting Services report server.

  3. In the Report Server URL box, specify the Web site address (URL) for the server that hosts the report that you want to use. Depending on how Reporting Services is configured, the URL should resemble one of the following examples:

    • If Reporting Services is configured to use Windows authentication, then the server name typically takes the form http://<servername>/reportserver.

    • If Reporting Services is configured to use Trusted Account authentication in SharePoint Server, then the server name typically takes the form http://servername/_vti_bin/reportserver.

  4. In the Report URL box, specify the complete address for the report that you want to use.

    The report address typically takes the form http://<servername>/<document library>/<reportname>.rdl.

  5. Click the Preview button to view the report in the Preview pane.

  6. Finish configuring the report.

To finish configuring the report to display data

  1. Begin with the report open for editing in Dashboard Designer. In the center pane, click the Editor tab.

  2. Specify the following settings for your report:

    Item Description

    Show toolbar

    Select this check box to display the Reporting Services toolbar.

    Show parameters

    Select this check box to display the filters that are specific to the report.

    Show docmap

    Select this check box to include a document map in a separate pane in your report view.

    Note:

    Not all Reporting Services reports have document maps. The document map is created by using either SQL Server Reporting Services Report Builder or Microsoft Business Intelligence Development Studio. For more information, see How to Add Items to a Document Map (Reporting Services) (http://go.microsoft.com/?linkid=9733881)

    Zoom

    Select a value in this list to set the viewing size of the report.

    Format

    Select a value in this list to specify how you want your report to display in the dashboard.

    Section

    In this box, type the page number of the page that you want to display.

    For example, suppose that the Reporting Services report contains three pages, and the information that you want to display is located on page 3. In this case, you would type 3 in the Section box in Dashboard Designer.

    DocMap ID

    Whether you use this option depends on the version of SQL Server Reporting Services that was used to create the Reporting Services report.

    • If SQL Server 2005 Reporting Services was used, select this option to display a specific page or an item in the Reporting Services report.

    • If SQL Server 2008 Reporting Services was used, do not use this option. It does not work in the current version of PerformancePoint Services.

  3. Review the information in the Report parameters section.

    If the report that you selected contains parameters, they are displayed in the report parameters section. Depending on how those parameters are configured and the particular information that you want to display in the dashboard, you might not want to make any changes to the parameters. However, you might want to specify a default value for one or more parameters.

    If the report contains at least one parameter and you want to specify a particular default value for a parameter, follow these steps:

    1. In the Report parameters section, click a parameter.

    2. Click the Edit button. The Parameter Picker dialog box appears.

    3. In the Parameter Picker dialog box, use the drop-down menu to select a default value for the parameter, and then click OK.

      The default value that you specify will be selected automatically in the PerformancePoint dashboard when it is deployed to SharePoint Server. If Show toolbar and Show parameters are selected, dashboard users can change parameter selections.

    4. Repeat for each parameter that you want to configure.

  4. In the Workspace Browser, right-click the report, and then click Save.

After you have created and saved your report, you can add it to a dashboard page.

See Also

Concepts

Add dashboard items to a page by using Dashboard Designer


Create an Excel Services report by using Dashboard Designer

Published: May 29, 2010

By using PerformancePoint Dashboard Designer, you can create Excel Services in Microsoft SharePoint Server 2010 reports for your dashboards. An Excel Services report is a Microsoft Excel workbook that was published to Microsoft SharePoint Server 2010 by using Excel Services. Most Excel Services reports contain one or more charts and tables. When you add an Excel Services report to a PerformancePoint dashboard, you reuse an existing report that can contain views, such as PivotTable reports and PivotChart reports, which you cannot create by using Dashboard Designer. In addition, you can connect PerformancePoint dashboard filters to the Excel Services report. For more information, see Overview of Excel Services reports displayed in PerformancePoint Web Parts.

In this article:

  • Create a reference to an Excel Services report

  • Publish named items in an Excel workbook

Create a reference to an Excel Services report

In Dashboard Designer, you do not actually create an Excel Services report. Instead, you create a PerformancePoint Web Part to display an existing Excel Services report.

Important:

Before you start, make sure that you have collected the following information:

  • The name of the report that you want to use

  • The Microsoft SharePoint Server location (including the SharePoint site and document library) where the Excel Services report is stored

  • Any named items that might exist in the Excel Services report

  • Any parameters that might exist in the Excel Services report, and information about how those parameters are configured. (You would typically need this information to connect a PerformancePoint dashboard filter to the Excel Services report.)

    If the Excel Services workbook is stored in a different server farm than the one that you are using for Dashboard Designer, parameters in the Excel workbook will not be available in Dashboard Designer.

Also make sure that you and the dashboard users have the necessary permissions to view the report.

When you create an Excel Services report, you do it in several stages, as described in the following list:

  1. Create the basic structure of the report.

  2. Create a connection to the report.

  3. Configure the report to display the particular information that you want to show.

  4. (This is optional.) Specify toolbar and interactivity settings for the report.

To create the basic structure of the report

  1. In Dashboard Designer, in the Workspace Browser, click PerformancePoint Content.

  2. On the Create tab, in the Reports group, click Other Reports.

    The Select a Report Template dialog box opens.

  3. In the Select a Report Template dialog box, click Excel Services, and then click OK.

    The report opens for editing in the center pane of the workspace.

  4. In the center pane, click the Properties tab.

  5. In the Name box, type the name that you want to use for the report.

  6. (This step is optional.) To specify a location for the report, click the Display Folder button, and then select or create a folder.

  7. In the Workspace Browser, right-click the report, and then click Save.

  8. Create a connection to the report.

To create a connection to the report

  1. Begin with the report open for editing in Dashboard Designer. In the center pane, click the Editor tab.

  2. In the Report Settings section, in the SharePoint site box, do one of the following:

    • Type the Web site address (URL) of the SharePoint site where the Excel Services report is hosted.

    • If the SharePoint site list is available, use it to select the SharePoint site where the Excel Services report is hosted.

  3. Use the Document library list to select the document library where the Excel Services report is hosted.

  4. Use the Excel workbook list to select the Excel Services report that you want to display.

  5. (This step is optional.) If you want to view the report, do one of the following:

    • To view the report in a browser window, on the Editor tab, click the View button that is located next to the Excel workbook list.

    • To view the report in Dashboard Designer, in the center pane of the workspace, click the View tab.

  6. In the Workspace Browser, right-click the report, and then click Save.

After you have created and saved the report, you can configure it, or you can add it to a dashboard page.

To configure the report to display particular information

  1. Begin with the report open for editing in Dashboard Designer. In the center pane, click the Editor tab.

  2. (This step is optional.) If you want to display an item in the workbook instead of display the whole workbook, use the Item name list to select an item.

    If the Item name list is empty, see Publishing named items in an Excel workbook later in this article.

  3. (This step is optional.) If the Excel Services report includes parameters and you want to specify default selections for those parameters, follow these steps:

    1. In the Workbook Parameters section, locate the parameter for which you want to specify a default value.

      Note:

      If the Workbook Parameters section is empty, either the Excel Services report has no parameters or the workbook is stored in a different server farm than the one that you are using for Dashboard Designer.

    2. In the Value column for that parameter, type the default value that you want to use.

      Tip:

      You might want to view the Excel Services workbook in its SharePoint site to see which parameter(s) you want to use.

  4. In the Workspace Browser, right-click the report, and then click Save.

Now that you have created and configured the report, you can either add it to a dashboard page or specify toolbar and interactivity settings for the report.

To specify toolbar and interactivity settings for the report

  1. Begin with the report open for editing in Dashboard Designer. In the center pane, click the Editor tab.

  2. On the ribbon, click the Edit tab, and then click Report Settings.

    The Report Settings dialog box opens.

  3. In the pane on the left side of the Report Settings dialog box, click Interactivity, and then specify the options that you want to use.

    Important:

    Do not use the Typing and Formula Entry option. It does not have functionality in the current version of PerformancePoint Services in Microsoft SharePoint Server 2010.

    The Interactivity options are configured for the Excel workbook when it is published to SharePoint Server. To view detailed information about these options, see Interactivity Settings in Excel Web Access Web Part custom properties (http://go.microsoft.com/?linkid=9730256).

  4. In the pane on the left side of the Report Settings dialog box, click Toolbar, and then specify the options that you want to use.

    The Toolbar options are Excel Services options that are configured for the Excel workbook when it is published to Excel Services. To view detailed information about these options, see Toolbar and Title Bar section properties in Excel Web Access Web Part custom properties (http://go.microsoft.com/?linkid=9730257).

  5. In the Workspace Browser, right-click the report, and then click Save.

You can now add the report to a dashboard page.

Publish named items in an Excel workbook

If you want to configure an Excel Services report to display a named item that is defined in Excel, the named item must be published to SharePoint Server. Otherwise, the Item name list will be empty in Dashboard Designer.

Simply publishing the workbook does not ensure that named items are published, too.

To publish named items in an Excel workbook

  1. In Excel, on the File tab, click Save & Send, and then click Save to SharePoint.

  2. In the Save to SharePoint section, click Publish Options.

  3. In the Publish Options dialog box, on the Show tab, use the list to select Items in the Workbook.

  4. Select all the named items in the list, and then click OK.

  5. In the Save to SharePoint section, click Browse for a location, and then click Save As.

    The Save As dialog box opens.

  6. In the Save As dialog box, specify the Web site address (URL) to the document library where you want to publish the workbook.

    The URL resembles http://<server name>/<sharepoint site name>/<document library>.

    (For example, we use the URL http://litware-sp/bicenter/Reports.)

  7. Click Save to publish the workbook.


Create a Web Page report by using Dashboard Designer
See Also

Published: June 10, 2010

By using PerformancePoint Dashboard Designer, you can create Web Page reports for your dashboards. Web Page reports are fully functional Web sites that can be displayed in a PerformancePoint dashboard. For more information about Web Page reports, see Overview of Web Page reports in Dashboard Designer.

Create a reference to a Web site

In Dashboard Designer, when you create a Web Page report, you create a PerformancePoint Web Part to display an existing Web site. You do not actually create the Web site by using Dashboard Designer.

To create a Web Page report

  1. In Dashboard Designer, in the Workspace Browser, click PerformancePoint Content.

  2. In the ribbon, click the Create tab.

  3. In the ribbon, in the Reports group, click Other Reports.

    The Select a Report Template dialog box opens.

  4. In the Select a Report Template dialog box, click Web Page, and then click OK.

    The Web Page report opens for editing in the center pane of the workspace.

  5. In the center pane, click the Editor tab. Then, in the URL box, specify the Web site address (URL) for the site that you want to display.

    Tip:

    Some kinds of pages might not work with the Web Page report type. For example, pages that store cookies might not function correctly in a PerformancePoint Web Part. Make sure that the Web site that you want to use will work with this report type. For more information, contact a SharePoint administrator.

  6. In the center pane, click the Properties tab.

  7. In the Name box, type the name that you want to use for the report.

  8. (This step is optional.) To specify a location for the report, click the Display Folder button, and then select or create a folder.

  9. In the Workspace Browser, right-click the report, and then click Save.

See Also

Concepts

Overview of Web Page reports in Dashboard Designer


Create a strategy map by using Dashboard Designer
See Also

Using PerformancePoint Dashboard Designer, you can create a strategy map for your dashboard. The strategy map uses a scorecard as its data source, and a Visio diagram as its visual display structure. When you create and configure a strategy map, you connect individual shapes in a Microsoft Visio diagram to KPIs in a scorecard. The color of each shape indicates whether performance is on or off target for that particular item.

To learn more about strategy maps, see Overview of PerformancePoint strategy maps.

Important:

Before you create a strategy map report, make sure that the correct version of Microsoft Visio is installed on your computer. The version that you use must be compatible with PerformancePoint Dashboard Designer.

  • If you are using the 64-bit edition of Dashboard Designer, then you must install the 64-bit edition of Microsoft Visio 2010.

  • If you are using the 32-bit edition of Dashboard Designer, then you must install the 32-bit edition of either Microsoft Office Visio 2007 or Microsoft Visio 2010.

  • Dashboard Designer uses the mode of the operating system where it is running. For example, if you have a 64-bit system, Dashboard Designer runs in 64-bit mode. Users cannot select a different mode.

Create a strategy map

Before you begin to create your strategy map, make sure that the following items have been created:

  • A diagram that was created by using Microsoft Visio 2010 or Microsoft Office Visio 2007. The diagram cannot consist of complex shapes (groups or sets of other shapes).

    Tip:

    We recommend that you create your Visio diagram before you create your strategy map. However, you can create a Visio diagram in Dashboard Designer by importing stencils.

  • A scorecard that was created by using Dashboard Designer.

When you create a strategy map, you do this in two main phases. First, you create the basic structure of the strategy map. Next, you configure the strategy map to display information.

To create the basic structure of the strategy map

  1. In Dashboard Designer, locate the Workspace Browser pane. Click PerformancePoint Content.

  2. In the ribbon, click the Create tab, and then in the Reports group, click Strategy Map. The Create a Strategy Map Report wizard opens.

  3. In the Select a Scorecard step of the wizard, select the scorecard that you want to use, and then click Finish.

    The strategy map opens in the center pane of the workspace.

  4. In the center pane, click the Properties tab. In the Name box, type the name that you want to use for the report.

    To specify a location for the report, click the Display Folder button and select or create a folder.

  5. In the Workspace Browser, right-click the strategy map, and then click Save. Proceed to the next section to configure the strategy map.

To configure the strategy map to display information

  1. Begin with the strategy map open for editing in Dashboard Designer. Click the Edit tab, and then click Edit Strategy Map.

    The Strategy Map Editor dialog box opens.

  2. In the Strategy Map Editor dialog box, do one of the following:

    Situation Action

    You have already created a Visio diagram

    click Import Visio File, and then browse to the location where the Visio diagram is saved. Then click Open.

    The Visio diagram opens in the Strategy Map Editor dialog box.

    You want to create a Visio diagram

    Click Stencil. Browse to the location where the Visio stencils are located, and then click Open. (For Microsoft Visio 2010, the default location for the stencil shapes is Program Files\Microsoft Office\Office14\Visio Content\.)

    Use the stencil shapes to create your Visio diagram in the Strategy Map Editor dialog box.

  3. Click a shape in the Visio diagram, and then click Connect Shape.

    The Connect Shape dialog box opens and displays the scorecard that was selected for the strategy map.

  4. In the Connect Shape dialog box, click the cell that you want to connect to the shape that you selected.

    If you want the color of the shape to update automatically to indicate whether performance is on or off target, make sure that you click in a cell that is in the Target column. (The Target column is the column that contains the graphical indicator).

  5. Click Connect.

  6. (This step is optional.) To replace the text inside a shape with the text that is used for the scorecard KPI, select the check box next to Show KPI name in shape text.

    For example, if the KPI is called "Sales Amount" and you select the check box, then the words "Sales Amount" will replace whatever text was in the shape.

  7. Repeat steps 4-6 for each shape in the Visio diagram that you want to connect to the scorecard KPIs.

  8. When you have finished connecting shapes to KPIs, in the Connect Shape dialog box, click the Close button.

  9. In the Strategy Map Editor dialog box, click the Apply button.

    The dialog box closes and the strategy map appears in the center pane of the workspace.

  10. In the Workspace Browser, right-click the strategy map, and then click Save.

Edit a strategy map

During or after the time when you create a strategy map, you can easily edit it. For example, you can configure or replace the Visio diagram that you use for the strategy map.

To edit a strategy map

  1. In Dashboard Designer, open a strategy map.

  2. In the ribbon, click the Edit tab, and then click Edit Strategy Map.

    The Strategy Map Editor dialog box opens.

  3. Use the Strategy Map Editor to make one or more of the following changes to the strategy map:

    To achieve this Perform this step

    Move an object in the diagram

    Drag it to a new location.

    Use a different diagram

    Click Import Visio File, browse to the diagram that you want to use, and then click Open.

    (The diagram opens in the Strategy Map Editor dialog box, where you can link each shape to a KPI.)

    Open and use a stencil

    Click Stencil. Browse to the stencil that you want to use, and then click Open.

    (A stencil is a collection of shapes associated with a particular Visio template. You can use a stencil to revise all instances of a shape on the page. You can also use a stencil to change a shape by applying your own custom shape to a diagram.)

    Configure the connection between a shape and a KPI

    Click the shape, and then click Connect Shape. In the Select a KPI dialog box, select a KPI and then click Close.

    Disconnect a shape from a KPI

    Click a shape, and then click Disconnect Shape.

    Make all the shapes fit on one page in Visio 2007 or Visio 2010

    Click Resize to Fit.

    Make all the shapes fit on one printed page

    Click Fit for Print.

  4. In the Workspace Browser, right-click the strategy map, and then click Save.

See Also

Concepts

Overview of PerformancePoint strategy maps


Create a dashboard filter by using Dashboard Designer
See Also

Published: November 4, 2010

You can use PerformancePoint Dashboard Designer to create many kinds of dashboard filters. Filters enable you to display particular information in a dashboard. You can create filters that are stand-alone dashboard items that you can reuse across multiple dashboards or across multiple pages in a dashboard. These kinds of dashboard filters enable dashboard users to view more specific information that is of interest to them.

In this section

Read the following articles to learn how create dashboard filters for your PerformancePoint dashboard.

  • Configure cascading filters by using Dashboard Designer (SharePoint Server 2010 SP1) describes how to configure cascading filters for PerformancePoint dashboards.

  • Create a Custom Table filter by using Dashboard Designer describes how to create a data table and then use that to create a dashboard filter.

  • Create an MDX Query filter by using Dashboard Designer describes how to create a dashboard filter that uses a custom Multidimensional Expressions (MDX) query.

  • Create a Member Selection filter by using Dashboard Designer describes how to create a dashboard filter by selecting dimension members that are stored in SQL Server Analysis Services or a tabular data source.

  • Create a Named Set filter by using Dashboard Designer describes how to create a dashboard filter by selecting a set of members that was defined in Analysis Services.

  • Create a Time Intelligence filter by using Dashboard Designer describes how to create a dynamic time filter for a dashboard that remains up to date automatically. You can either create a filter that uses a list of time periods, such as Year to Date or Last Six Months, or you can create a filter that uses a calendar control.

See Also

Tasks

Connect a filter to a report or a scorecard by using Dashboard Designer

Concepts

Overview of PerformancePoint dashboard filters and connections
Create and assemble a dashboard page by using Dashboard Designer


Configure cascading filters by using Dashboard Designer (SharePoint Server 2010 SP1)
See Also

Published: June 28, 2011

Important:

The ability to create cascading filters as described in this article is available only in Microsoft SharePoint Server 2010 with Service Pack 1 (SP1). If you are using an earlier version of PerformancePoint Services, you will be unable to perform the procedures that are described in this article.

You can use PerformancePoint Dashboard Designer to create various dashboard filters that you connect to reports and scorecards. When a dashboard filter contains lots of items, dashboard users must spend time scrolling through a list or an expandable tree to select the items they want to use to filter dashboard content. To help eliminate this, you can configure dashboard filters in such a way that one is connected to another. This creates cascading filters. Cascading filters work so that as a dashboard user selects an item in one filter, the list of items in the next is scoped according to what was selected in the first. By including cascading filters in your dashboards, dashboard users can pinpoint the information that they need more efficiently.

For example, suppose that you have created a dashboard to show product sales information for North America. Dashboard users want to view information for specific cities. Rather than create a single filter that contains a long list of states or provinces and cities, you can configure cascading filters. You can create one Country filter that lists Canada and North America. You can then create a States or Provinces filter that contains a list of all the states and provinces in North America, and a Cities filter that contains a list of all the cities. You can connect the Country filter to the States filter and then connect the States filter to the Cities filter. After you publish the dashboard, dashboard users can view information for specific cities by first selecting a Canada or United States by using the Country filter, which narrows the list of items in the States or Provinces filter. Dashboard users can then select a state or province, which narrows the list of items in the Cities filter. Finally, dashboard users can select an item in the Cities filter to view information for a specific city.

When you configure cascading filters for a dashboard, you can add an Apply Filters button. This enables dashboard users to make their filter selections and then apply them all at the same time.

To add cascading filters to a PerformancePoint dashboard, you follow this process:

  1. Create filters to use as cascading filters

  2. Add cascading filters to a dashboard page

Create filters to use as cascading filters

During this phase, you create two or more dashboard filters to use as cascading filters. The dashboard filters must use data that is stored in SQL Server Analysis Services or PowerPivot and should use the same measure.

You can use any of the following filter templates to create your dashboard filters:

  • Member Selection

  • Named Set

  • MDX Query

    Note:

    Before you begin to create a filter by using an MDX query, make sure that you are familiar with MDX. For more information about MDX queries, see Multidimensional Expressions (MDX) Reference (http://go.microsoft.com/fwlink/p/?LinkId=185458).

Use any of the following procedures in this section to create the dashboard filters.

To create a Member Selection filter

  1. In Dashboard Designer, in the Workspace Browser, click PerformancePoint Content.

  2. In the ribbon, on the Create tab, in the Dashboard Items group, click Filter.

    The Select a Filter Template dialog box opens.

  3. Click Member Selection, and then click OK.

    The Select a data source page opens.

  4. Use the SharePoint Site and Workspace tabs to select the Analysis Services data source that you want to use for the filter, and then click Next.

    The Select Members page opens.

  5. In the Filter Dimension section, click Select Dimension.

    The Select Dimension dialog box opens.

  6. Select the dimension hierarchy that you want to use for the filter, and then click OK.

  7. On the Select Members page, click Select Members.

  8. Select the members that you want to use for the filter. To specify a default filter selection, right-click an item, and then click Set as Default Selection. Then click OK.

  9. Use the Filter measure list to specify a measure to use for this filter, and then click Next.

    Tip:

    Depending on the cascading filters that you want to create, you should select the same measure for all the filters. For example, suppose that you are creating cascading filters to show product sales across different geographical regions. You create several filters based on different hierarchies in the same Geography dimension. In this case, you would select a sales amount measure for all the geography filters.

  10. On the Select Display Method page, click a display type, and then click Finish.

    Tip:

    As a best practice, we recommend that you select the List display type.

  11. In the Workspace Browser, notice that the default text for the new filter is highlighted. Type a name for the filter, and then press the Enter key.

  12. In the Workspace Browser, right-click the filter, and then click Save.

  13. Take one of the following steps:

    • Repeat this procedure to create another Member Selection filter.

    • Create another filter by following one of the other procedures in this section.

    • Proceed to Add cascading filters to a dashboard page.

To create a Named Set filter

  1. In Dashboard Designer, in the Workspace Browser, click PerformancePoint Content.

  2. In the ribbon, on the Create tab, in the Dashboard Items group, click Filter.

    The Select a Filter Template dialog box opens.

  3. Click Named Set, and then click OK.

  4. Use the SharePoint Site and Workspace tabs to select the Analysis Services data source that you want to use for the filter, and then click Next.

  5. Use the Select named set list to select a named set that is defined in Analysis Services.

    The MDX expression for the named set is displayed in the Named set expression box.

  6. Use the Filter measure list to specify a measure to use for this filter, and then click Next.

    Tip:

    Depending on the cascading filters that you want to create, you should select the same measure for all the filters. For example, suppose that you are creating cascading filters to show product sales across different geographical regions. You create several filters based on different hierarchies in the same Geography dimension. In this case, you would select a sales amount measure for all the geography filters.

  7. On the Select Display Method page, click a display type, and then click Finish.

    Tip:

    As a best practice, we recommend that you select the List display type.

  8. In the Workspace Browser, notice that the default text for the new filter is highlighted. Type a name for the filter, and then press the Enter key.

  9. In the Workspace Browser, right-click the filter, and then click Save.

  10. Take one of the following steps:

    • Repeat this procedure to create another Named Set filter.

    • Create another filter by following one of the other procedures in this section.

    • Proceed to Add cascading filters to a dashboard page.

To create an MDX Query filter

  1. In Dashboard Designer, in the Workspace Browser, click PerformancePoint Content.

  2. In the ribbon, on the Create tab, in the Dashboard Items group, click Filter.

    The Select a Filter Template dialog box opens.

  3. Click MDX Query, and then click OK.

  4. Use the SharePoint Site and Workspace tabs to select the Analysis Services data source that you want to use for the filter, and then click Next.

  5. In the Enter MDX Formula box, specify the multidimensional expressions (MDX) query that you want to use.

  6. Use the Filter measure list to specify a measure to use for this filter, and then click Next.

    Tip:

    Depending on the cascading filters that you want to create, you should select the same measure for all the filters. For example, suppose that you are creating cascading filters to show product sales across different geographical regions. You create several filters based on different hierarchies in the same Geography dimension. In this case, you would select a sales amount measure for all the geography filters.

  7. On the Select Display Method page, click a display type, and then click Finish.

    Tip:

    As a best practice, we recommend that you select the List display type.

  8. In the Workspace Browser, notice that the default text for the new filter is highlighted. Type a name for the filter, and then press the Enter key.

  9. In the Workspace Browser, right-click the filter, and then click Save.

  10. Take one of the following steps:

    • Repeat this procedure to create another MDX Query filter.

    • Create another filter by following one of the other procedures in this section.

    • Proceed to Add cascading filters to a dashboard page.

Add cascading filters to a dashboard page

When you are ready to add cascading filters to a dashboard, you start by creating a new dashboard page. You can either create a new dashboard or open an existing dashboard for editing and then add a new page to it.

To create a new dashboard

  1. In Dashboard Designer, in the Workspace Browser, click PerformancePoint Content.

  2. In the ribbon, on the Create tab, in the Dashboard Items group, click Dashboard.

    The Select a Dashboard Page Template dialog box opens.

  3. Select a template, and then click OK.

    Tip:

    We recommend that you use a page layout template that enables you to put the cascading filters in a single dashboard zone. An example of such a template is the Header, 2 Columns template.

    You can also edit any page template by adding or removing dashboard zones. For more information, see Configure specific sizes of individual PerformancePoint dashboard zones and/or items with zones.

    The new dashboard opens for editing.

  4. In the Workspace Browser, notice that the default text for the new dashboard is highlighted. Type a name for the dashboard, and then press the Enter key.

  5. Keep the dashboard open, and proceed to add cascading filters and reports to the page.

To add a new page to an existing dashboard

  1. In Dashboard Designer, in the Workspace Browser, click PerformancePoint Content.

    The center pane displays two tabs: SharePoint and Workspace.

  2. Use the SharePoint and Workspace tabs to select the dashboard that you want to edit, and double-click the dashboard to open it for editing.

  3. In the center pane, on the Editor tab, in the Pages section, click New Page.

    The Select a Dashboard Page Template dialog box opens.

  4. Select a template, and then click OK.

    Tip:

    We recommend that you use a page layout template that enables you to put the cascading filters in a single dashboard zone. An example of such a template is the Header, 2 Columns template.

    You can also edit any page template by adding or removing dashboard zones. For more information, see Configure specific sizes of individual PerformancePoint dashboard zones and/or items with zones.

    The new dashboard page opens for editing.

  5. In the Pages section, in the Name column, select the default text for the dashboard page and type a new name. Then press the Enter key.

  6. Keep the dashboard open, and proceed to add cascading filters and reports to the page.

Now that you have set up the dashboard page, the next step is to add cascading filters and reports to the page.

To add cascading filters and reports to a dashboard page

  1. Begin with a blank dashboard page open for editing. In the ribbon, click the Edit tab.

  2. Identify the dashboard zone where you want to put the cascading filters. Click that zone, and then, on the Edit tab, in the Layout group, click Zone Settings.

    The Zone Settings dialog box opens.

  3. On the Orientation tab, select Vertical, and then click OK.

    Note:

    We configure the zone that will contain the cascading filters to use a vertical orientation as a best practice. This helps make it easier for dashboard users to view and use the cascading filters.

  4. In the Details pane, expand Filters, and then expand PerformancePoint Content.

  5. From the Details pane, drag a cascading filter to the dashboard zone. Repeat for each cascading filter. Make sure to arrange them in the correct order in the zone.

  6. (This is optional.) From the Details pane, drag Apply Filters Button to the same zone where the cascading filters are positioned. Make sure to put it at the bottom of the list in the zone.

    Note:

    As a best practice, we recommend that you add the Apply Filters button when you add cascading filters to a dashboard. This enables dashboard users to make filter selections and then apply those selections all at the same time. In addition, reports and scorecards do not refresh until a dashboard user clicks the Apply Filters button.

  7. In the Details pane, expand Scorecards (or Reports), and then expand PerformancePoint Content.

  8. From the Details pane, drag a scorecard (or a report) to a zone in the dashboard.

  9. Repeat Steps 7-8 until you have added all the report types that you want to use in the dashboard.

  10. In the Workspace Browser, right-click the dashboard, and then click Save to save your changes. Do not close the dashboard.

Now that you have added dashboard items to the page, the next step is to connect the cascading filters.

To connect cascading filters

  1. Begin with the dashboard page open for editing. Locate the top-level cascading filter.

  2. Click the down arrow for a cascading filter, and then click Create Connection.

    The Connection dialog box opens.

  3. On the Items tab, use the Send values to list to select the next level cascading filter.

  4. On the Values tab, use the Source value list to select an item, such as Member Unique Name. Then click OK to close the Connection dialog box.

  5. Locate the next-level cascading filter, and repeat Steps 2-4 for that filter.

  6. Repeat Step 5 until you reach the lowest-level cascading filter.

  7. Locate the lowest-level cascading filter. Click the down arrow for that filter, and then click Create Connection.

    The Connection dialog box opens.

  8. On the Items tab, use the Send values to list to select a report or a scorecard to which you want to connect the filter.

  9. On the Values tab, select a combination of values by using the Connect to list and the Source value list.

    Depending on how a report or scorecard is configured, the list of options that are available in the Connect to and Source value lists will vary. By using these lists, you can choose from many combinations. For example, you can select a page, row, or column in one list, and Display Value or Member Unique Name in the other list.

    Although it might seem as if you can select any combination of values in the Connect to and Source value lists, not all combinations will work correctly. You will not see whether a filter connection works until you publish the dashboard to a SharePoint site, such as a designated location where you can preview and test the dashboard.

    Some examples of combinations that work are listed in the following table.

    Connect to list item Source value list item Description

    Measures

    Member Unique Name

    This configuration causes the filter to display information in a report or a scorecard for the measure that is used by the filter.

    Dimension Hierarchies on Rows or Columns

    Member Unique Name

    This configuration causes the filter to replace rows or columns in a report or scorecard to be replaced with the item or items that dashboard consumers select by using the filter.

    Axis, Page, Row, Column, or Row (or Column) Hierarchies

    Display Value

    This configuration causes member captions from a report or scorecard's underlying database to be displayed in the report or scorecard when the filter is applied. (Member captions resemble labels like "Baseball Bats" or "Baseball Gloves.")

  10. (This is optional.) To apply a formula that additionally filters the content, click the Connection Formula button. The Connection Formula dialog box opens.

    In the Connection Formula dialog box, type a formula that will be applied to filter the data before it reaches the report or scorecard. Depending on the filter that you are connecting, the formula that you specify can include a Time Intelligence statement or an MDX query. For example, if you are connecting a Time Intelligence Connection Formula filter to a report or a scorecard, you can only specify a Time Intelligence statement.

    After you have specified your formula, click OK to close the Connection Formula dialog box.

  11. Click OK to close the Connection dialog box. In the center pane of the workspace, in the Connections box for the report or scorecard, you can see the name of the filter that you have connected to it.

  12. Repeat Steps 7-11 for each item that you want to connect to the cascading filters.

  13. In the Workspace Browser, right-click the dashboard, and then click Save. Deploy the dashboard to view and test the cascading filters.

    Important:

    When you connect a filter to another filter, a report, or a scorecard, you can create an invalid filter connection that will only exhibit problems when you view the dashboard in its SharePoint site. When an invalid filter connection is made, a report or scorecard displays unexpected content or an error message. If this occurs, reconfigure the filter connection.

See Also

Concepts

Create a dashboard filter by using Dashboard Designer
Overview of PerformancePoint dashboard filters and connections
Plan, design, and implement a PerformancePoint dashboard


Create a Custom Table filter by using Dashboard Designer
See Also

Published: November 4, 2010

When you use PerformancePoint Dashboard Designer to create a dashboard filter, you can select from various filter templates that include the Custom Table filter template. You would use the Custom Table filter template in situations such as those that are described in the following list:

  • You want to create one dashboard filter that pulls in data from multiple data sources. That filter will then be connected to multiple reports and scorecards in the dashboard.

  • You want to specify the names of the items that you use in the filter, instead of using the default names that are used in the data source that you plan to use for the filter.

  • You want to create your own list of items to use in the filter and then map that list to similar kinds of items that are in a database.

When you create a dashboard filter by using the Custom Table filter template, you typically use the following process:

  1. Phase 1: Create and save a table.

  2. Phase 2: Create a tabular data source.

  3. Phase 3: Create the dashboard filter.

Phase 1: Create and save a table

During this phase, you use an application such as Microsoft Excel to construct a table. The table that you create is used as a mapping table to map database members to fully qualified names. This enables you to bring together information from different data sources in a single table, or to configure the names of the members that dashboard users will see.

Tip:

In this article, we assume that you use Excel to create and configure the custom table. However, you can also use a SharePoint list or a table in Microsoft SQL Server.

To create a table to use with a Custom Table dashboard filter

  1. Using Excel, create a data table that contains the items that you want to use for the dashboard filter.

  2. Make sure to organize the data into columns, with one column for each kind of information. For example, you might have one column that contains regions/countries, and another that contains cities.

  3. Decide which columns will be used for the following purposes in the filter:

    • Members This column contains the members that you want to include in the filter. If you are creating a hierarchical structure in the filter, the members in this column are second-level members in the hierarchy.

      During Phase 3, when you create the dashboard filter, you will select this "Members" column as the Key column in Dashboard Designer.

    • Parent members This column contains the parent members that you want to include in the filter. These members are at a level higher than the "Members" column. If you are creating a hierarchical structure in the filter, the parent member names are the first-level members in the hierarchy. Depending on the table that you use, you might not specify a column for parent members.

      During Phase 3, when you create the dashboard filter, you will select this "Parent members" column as the Parent Key column in Dashboard Designer.

    • Display names This column contains the member names that you want dashboard users to see in the dashboard. Depending on the table that you use, you might not specify a column for default members.

      During Phase 3, when you create the dashboard filter, you will select this "Display names" column as the Display value column.

    • Default This column should contain only the values "True" and "False," and it should be configured as a dimension that has no aggregation.

      During Phase 3, when you create the dashboard filter, you could use this "Default" column as the Is default column in Dashboard Designer. However, you are not required to have a "Default" column to create the filter.

  4. Save the file to your computer, and then proceed to create a tabular data source in Dashboard Designer.

Phase 2: Create a tabular data source

During this phase, you create a data connection that uses the table that you created during Phase 1.

To create a tabular data source that uses the custom table

  1. In Dashboard Designer, in the Workspace Browser, click Data Connections.

  2. On the Create tab, in the Dashboard Items group, click Data Source.

    The Select a Data Source Template dialog box opens.

  3. In the Template pane, click Import from Excel Workbook, and then click OK.

    Tip:

    In this article, we assume that you used Excel to create the custom table. If you used a SharePoint list or a table in SQL Server, make sure that you select the appropriate tabular data source template.

    In the center pane, on the Editor tab, click Import.

  4. Locate the Excel workbook that you created, and then click Open.

    Tip:

    If an Edit data in Excel dialog box opens, specify whether to use column headers that might be on the first row of the Excel workbook. Select or clear the Headers on First Row check box, and then click either Discard changes or Accept changes.

    The data in the Excel workbook is displayed in the center pane.

  5. In the center pane, click the Properties tab.

  6. In the Name box, type the name that you want to use for the data source.

  7. (This step is optional.) To specify a location for the data source, click the Display Folder button, and then select or create a folder.

  8. In the Workspace Browser, right-click the data source, and then click Save. Proceed to create the dashboard filter.

Phase 3: Create the dashboard filter

During this phase, you create a dashboard filter by using the Custom Table filter template in Dashboard Designer.

To create a dashboard filter that uses the Custom Table filter template

  1. In Dashboard Designer, in the Workspace Browser, click PerformancePoint Content.

  2. On the Create tab, in the Dashboard Items group, click Filter.

    The Select a Filter Template dialog box opens.

  3. In the Select a Filter Template dialog box, click Custom Table, and then click OK.

    The Create a Filter wizard opens.

  4. On the Select a Data Source page, select the data source that you want to use, and then click Next.

    • Use the SharePoint Site tab to view a list of data sources that have been saved to Microsoft SharePoint Server 2010.

    • Use the Workspace tab to view a list of data sources that you have created or used.

  5. On the Preview Table page, view the information that is available in the table that you selected. Make sure to note which columns that you want to use for the dashboard filter, and then click Next.

  6. On the Choose Key Columns page, specify which columns to use as Key, Parent key, Display value, and Is default settings.

    • Use the Key list to specify the column that contains the members that you want to use in the filter. If you are creating a filter that has a hierarchical structure, the Key column represents second-level members in the filter hierarchy.

    • Depending on whether you are creating a filter that has a hierarchical structure, use the Parent Key list to specify the column that contains the members that you want to designate as first-level members in the filter hierarchy. Otherwise, set the Parent key list to (None).

    • Use the Display Value list to specify the column that contains the members that you want to designate as captions for your filter. PerformancePoint Services passes those captions to any scorecards and reports that are linked to the filter.

    • In general, set the Is default list to (None).

      If the data source contains a dimension that contains "True" and "False" values and that dimension has no aggregation, you can select that dimension in the Is default list.

      Important:

      Do not use the Is default list to select a column that contains text or non-numeric values. Otherwise, an error message will occur in the dashboard.

    Click Next.

  7. In the Select Display Method page, select one of the following display types:

    • List Select this option to display the filter as a simple list in a drop-down menu. When you use this display type, dashboard consumers click an item in the list to specify what information to display.

    • Tree Select this option to display the filter as a list that includes an expandable tree control in a drop-down menu. When you use this display type, dashboard consumers expand the tree control, and then they select one item or a group of items to apply as a filter.

    • Multi-Select Tree Select this option to display the filter as a list that includes an expandable tree control that has check boxes in a drop-down menu. When you use this display type, dashboard consumers expand the tree control, and then they select the check boxes for the items that they want to use as a filter.

    After you select the display type that you want to use for your filter, click Finish.

  8. In the center pane, click the Properties tab.

  9. In the Name box, type the name that you want to use for the filter.

  10. (This step is optional.) To specify a location for the filter, click the Display Folder button, and then select or create a folder.

  11. In the Workspace Browser, right-click the filter, and then click Save.

After you have created your filter, you can add it to a dashboard page and then connect it to one or more dashboard items. For more information, see Connect a filter to a report or a scorecard by using Dashboard Designer.

See Also

Concepts

Overview of PerformancePoint dashboard filters and connections
Create a dashboard filter by using Dashboard Designer
Assemble dashboard pages and link items together by using Dashboard Designer


Create an MDX Query filter by using Dashboard Designer
See Also

Published: November 4, 2010

When you use PerformancePoint Dashboard Designer to create a dashboard filter, you can select from various filter templates that include the MDX Query filter template. You can use the MDX Query template to create a list of items by specifying a Multidimensional Expressions (MDX) query to select a group of items in a database.

The MDX Query template works with data that is stored in SQL Server Analysis Services. For more information about dashboard filters, see Overview of PerformancePoint dashboard filters and connections.

Note:

Before you begin to create a filter by using an MDX query, make sure that you are familiar with MDX. For more information about MDX queries, see Multidimensional Expressions (MDX) Reference (http://go.microsoft.com/fwlink/p/?LinkId=185458).

To create an MDX Query filter

  1. In Dashboard Designer, in the Workspace Browser, click PerformancePoint Content.

  2. On the Create tab, in the Dashboard Items group, click Filter.

    The Select a Filter Template dialog box opens.

  3. In the Select a Filter Template dialog box, click MDX Query, and then click OK.

    The Create a Filter wizard opens.

  4. On the Select a Data Source page, select the Analysis Services data source that you want to use, and then click Next.

    • Use the SharePoint Site tab to view a list of data sources that have been saved to Microsoft SharePoint Server 2010.

    • Use the Workspace tab to view a list of data sources that you have created or used.

  5. On the Enter MDX Formula page, type an MDX query to select the items that you want to use for the filter.

    The MDX query that you select might resemble the examples that are shown in the following table.

    Query Description

    [Product].[Category].members

    Create a list of the product categories that are in the Products dimension in the data cube.

    TOPCOUNT([Reseller].[Reseller].[Reseller].MEMBERS.10.([Geography].[Country].[United States]. [Measures].[Reseller Sales Amount]))

    Create a list of the top 10 resellers in the United States.

  6. Click Next.

  7. On the Select Display Method page, select one of the display types shown in the following table.

    Display method Description

    List

    Select this option to display the filter as a simple list in a drop-down menu. When you use this display type, dashboard consumers click an item in the list to specify what information to display.

    Tree

    Select this option to display the filter as a list that includes an expandable tree control in a drop-down menu. When you use this display type, dashboard consumers expand the tree control, and then they select one item or a group of items to apply as a filter.

    Multi-Select Tree

    Select this option to display the filter as a list that includes an expandable tree control that has check boxes in a drop-down menu. When you use this display type, dashboard consumers expand the tree control, and then they select the check boxes for the items that they want to use as a filter.

    After you select the display type that you want to use for the filter, click Finish.

  8. In the center pane, click the Properties tab.

  9. In the Name box, type the name that you want to use for the filter.

  10. (This step is optional.) To specify a location for the filter, click the Display Folder button, and then select or create a folder.

  11. In the Workspace Browser, right-click the filter, and then click Save.

After you have created the filter, you can add it to a dashboard page, and then connect it to one or more dashboard items. For more information, see Connect a filter to a report or a scorecard by using Dashboard Designer.

See Also

Concepts

Overview of PerformancePoint dashboard filters and connections
Create a dashboard filter by using Dashboard Designer
Assemble dashboard pages and link items together by using Dashboard Designer


Create a Member Selection filter by using Dashboard Designer
See Also

Published: May 29, 2010

When you use PerformancePoint Dashboard Designer to create a dashboard filter, you can select from various filter templates that include the Member Selection filter template. You can use the Member Selection template to create a list of items by selecting individual members that are in a database. The Member Selection template works with data that is stored in Microsoft SQL Server 2005 Analysis Services (SSAS), Microsoft SQL Server 2008 Analysis Services (SSAS), or any tabular data source that contains members.

To create a Member Selection filter

  1. In Dashboard Designer, in the Workspace Browser, click PerformancePoint Content.

  2. On the Create tab, in the Dashboard Items group, click Filter.

    The Select a Filter Template dialog box opens.

  3. In the Select a Filter Template dialog box, click Member Selection, and then click OK.

    The Create a Filter wizard opens.

  4. On the Select a Data Source page, select the data source that you want to use, and then click Next.

    • Use the SharePoint Site tab to view a list of data sources that have been saved to Microsoft SharePoint Server 2010.

    • Use the Workspace tab to view a list of data sources that you have created or used.

  5. On the Select Members page, specify the members that you want to use for the dashboard filter.

    1. Click Select Dimension to open the Select Dimension window.

    2. In the Select Dimension window, click the dimension hierarchy that you want to use for your dashboard filter, and then click OK.

      The Select Dimension window closes, and on the Select Members page, the Select Members button is enabled.

    3. Click the Select Members button to open the Select Members window.

      In the Select Members window, expand the list of dimension members.

    4. Select the members that you want to use for the dashboard filter by using one of the methods shown in the following table.

      Method and description Procedure

      Select parameterized filter options

      This option enables you to create a dashboard filter that remains up to date as the data cube changes.

      For example, suppose that you create a "Products" filter to display a list of product categories, and that new product categories will be added to the data cube after you have deployed your dashboard. If you use this method, your filter will automatically display the new product categories without requiring the dashboard filter to be changed.

      Do one of the following:

      • Right-click a level in the expandable tree, and then select an option, such as Select Children.

      • Right-click a level, click Autoselect Members, and then select an option, such as Select Children, Select Leaves, or Select All Descendants.

      Terms such as Children and Descendants are set functions that work with SQL Server Analysis Services. For more information, see MDX Function Reference (MDX) (http://go.microsoft.com/?linkid=9729738).

      Select members to create a static list

      This option enables you to create a dashboard filter that contains a list of items that you specify.

      Select the check boxes of the dimension members that you want to include in your filter.

      Tip:

      Some members might contain next-level members. When a member contains other members, a plus sign (+) appears next to that member. You can either select a member at the first level, or expand the list and select one or more members at the next lower level.

    5. (This step is optional.) Right-click the dimension member or members that you want to specify as the default filter selection, and then click Set as Default Selection.

      By default, the items that you select will be selected in the deployed dashboard before dashboard users apply the filter. You can select All or any individual item.

    6. Click OK to return to the Select Members page.

    7. Click Next.

  6. On the Select Display Method page, select one of the display types shown in the following table.

    Display method Description

    List

    Select this option to display the filter as a simple list in a drop-down menu. When you use this display type, dashboard consumers click an item in the list to specify what information to display.

    Tree

    Select this option to display the filter as a list that includes an expandable tree control in a drop-down menu. When you use this display type, dashboard consumers expand the tree control, and then they select one item or a group of items to apply as a filter.

    Multi-Select Tree

    Select this option to display the filter as a list that includes an expandable tree control that has check boxes in a drop-down menu. When you use this display type, dashboard consumers expand the tree control, and then they select the check boxes for the items that they want to use as a filter.

    After you select the display type that you want to use for your filter, click Finish.

  7. In the center pane, click the Properties tab.

  8. In the Name box, type the name that you want to use for the filter.

  9. (This step is optional.) To specify a location for the filter, click the Display Folder button, and then select or create a folder.

  10. In the Workspace Browser, right-click the filter, and then click Save.

After you have created your filter, you can add it to a dashboard page and then connect it to one or more dashboard items. For more information, see Connect a filter to a report or a scorecard by using Dashboard Designer.

See Also

Concepts

Assemble dashboard pages and link items together by using Dashboard Designer


Create a Named Set filter by using Dashboard Designer
See Also

Published: November 4, 2010

When you use PerformancePoint Dashboard Designer to create a dashboard filter, you can select from various filter templates that include the Named Set filter template. You can use the Named Set template to create a list of items by selecting a group of items that was defined as a set in a database. The Named Set template works with data that is stored in SQL Server Analysis Services. For more information about dashboard filters, see Overview of PerformancePoint dashboard filters and connections.

To create a Named Set filter

  1. In Dashboard Designer, in the Workspace Browser, click PerformancePoint Content.

  2. On the Create tab, in the Dashboard Items group, click Filter.

    The Select a Filter Template dialog box opens.

  3. In the Select a Filter Template dialog box, click Named Set, and then click OK.

    The Create a Filter wizard opens.

  4. On the Select a Data Source page, select the data source that you want to use, and then click Next.

    • Use the SharePoint Site tab to view a list of data sources that have been saved to Microsoft SharePoint Server 2010.

    • Use the Workspace tab to view a list of data sources that you have created or used.

  5. On the Select Named Set page, use the Select named set list to select the group of items that you want to use for the filter.

    The Named set expression box displays the Multidimensional Expressions (MDX) query that the server uses to define that named set.

  6. Click Next.

  7. On the Select Display Method page, select one of the display types shown in the following table.

    Display method Description

    List

    Select this option to display the filter as a simple list in a drop-down menu. When you use this display type, dashboard consumers click an item in the list to specify what information to display.

    Tree

    Select this option to display the filter as a list that includes an expandable tree control in a drop-down menu. When you use this display type, dashboard consumers expand the tree control, and then they select one item or a group of items to apply as a filter.

    Multi-Select Tree

    Select this option to display the filter as a list that includes an expandable tree control that has check boxes in a drop-down menu. When you use this display type, dashboard consumers expand the tree control, and then they select the check boxes for the items that they want to use as a filter.

    After you select the display type that you want to use for the filter, click Finish.

  8. In the center pane, click the Properties tab.

  9. In the Name box, type the name that you want to use for the filter.

  10. (This step is optional.) To specify a location for the filter, click the Display Folder button, and then select or create a folder.

  11. In the Workspace Browser, right-click the filter, and then click Save.

After you have created the filter, you can add it to a dashboard page, and then connect it to one or more dashboard items. For more information, see Connect a filter to a report or a scorecard by using Dashboard Designer.

See Also

Concepts

Overview of PerformancePoint dashboard filters and connections
Create a dashboard filter by using Dashboard Designer
Assemble dashboard pages and link items together by using Dashboard Designer


Create a Time Intelligence filter by using Dashboard Designer
See Also

Published: November 4, 2010

When you use PerformancePoint Dashboard Designer to create a dashboard filter, you can select from various filter templates that include two Time Intelligence filter templates: the Time Intelligence filter template, and the Time Intelligence Connection Formula filter template.

  • Use the Time Intelligence filter template to create a dashboard filter that contains a list of rolling time periods that you specify. Some examples of time periods that you might use include Last Two Years, Last Six Months, and Last 30 Days. See To create a Time Intelligence filter.

  • Use the Time Intelligence Connection Formula filter template to create a dashboard filter that uses a calendar control that dashboard users can use to view information as of a particular date. By default, the calendar control is set to the current date in the dashboard. However, dashboard users can use it to select a different date. See To create a Time Intelligence Connection Formula filter.

Important:

Regardless of which template that you select for a dashboard filter, Time Intelligence filters will only work with data sources that have been configured to work with Time Intelligence. This applies not only to the data source that you use for each filter, but also to the data sources that are used by the scorecards and reports to which you want to connect a Time Intelligence dashboard filter. For more information, see Configure data sources to work with Time Intelligence by using Dashboard Designer.

To learn more about dashboard filters that include Time Intelligence filters, see Overview of PerformancePoint dashboard filters and connections.

In this article:

  • Create a dashboard filter by using the Time Intelligence filter template

  • Create a dashboard filter by using the Time Intelligence Connection Formula filter template

Create a dashboard filter by using the Time Intelligence filter template

To create a Time Intelligence filter

  1. In Dashboard Designer, in the Workspace Browser, click PerformancePoint Content.

  2. On the Create tab, in the Dashboard Items group, click Filter.

  3. In the Select a Filter Template dialog box, click Time Intelligence, and then click OK.

  4. On the Select a Data Source page, click Add Data Source.

    The Select a Data Source dialog box opens.

  5. Select the data source that you want to use, and then click OK.

    • Use the SharePoint Site tab to view a list of data sources that have been saved to Microsoft SharePoint Server 2010.

    • Use the Workspace tab to view a list of data sources that you have created or used.

  6. Click Next.

  7. On the Enter Time Formula page, specify the list of items that you want to include in the filter. Do so by using the following procedure:

    1. Click a cell in the Formula column, and specify a Time Intelligence formula.

      The formula that you type might resemble one of the examples shown in the following table:

      Time Intelligence formula Description

      YearToDate

      Displays year-to-date information.

      Year:Year-2

      Displays information for a three-year period of time, from the current year to three years ago.

      Month:Month-5

      Displays information for the past six months.

      Week

      Displays information for the current week.

      For more examples of formulas that you can use, see PerformancePoint Time Intelligence quick reference.

    2. In the Display Name column, click the placeholder text, and then type a new phrase for the filter. For example, if you used YearToDate in the Formula column, you might type Year to Date in the Display Name column.

    3. Repeat steps a and b for each item that you want to use in the filter.

    4. Click the Preview button to test all the formulas that you specified. A Time Intelligence Preview window opens.

    5. In the Time Intelligence Preview window, verify that the formulas will work correctly.

      • If you receive a message that states that the data source has an invalid Time Intelligence configuration, you must configure the data source to work with Time Intelligence. Close the Time Intelligence Preview window, cancel the Create a Filter wizard, and then configure the data source. For more information, see Configure data sources to work with Time Intelligence by using Dashboard Designer.

      • If you receive a message that states that one or more of the formulas that you specified does not work, close the Time Intelligence Preview window and then configure those formulas. Next, click the Preview button to try again.

  8. After you have created and verified that the Time Intelligence formulas work, click Next.

  9. On the Select Display Method page, select one of the display types shown in the following table.

    Display method Description

    List

    Select this option to display the filter as a simple list in a drop-down menu. When you use this display type, dashboard consumers click an item in the list to specify what information to display.

    Tree

    Select this option to display the filter as a list that includes an expandable tree control in a drop-down menu. When you use this display type, dashboard consumers expand the tree control, and then they select one item or a group of items to apply as a filter.

    Multi-Select Tree

    Select this option to display the filter as a list that includes an expandable tree control that has check boxes in a drop-down menu. When you use this display type, dashboard consumers expand the tree control, and then they select the check boxes for the items that they want to use as a filter.

    After you select the display type that you want to use for your filter, click Finish.

  10. In the center pane, click the Properties tab.

  11. In the Name box, type the name that you want to use for the filter.

  12. (This step is optional.) To specify a location for the filter, click the Display Folder button, and then select or create a folder.

  13. In the Workspace Browser, right-click the filter, and then click Save.

After you have created a Time Intelligence or Time Intelligence Connection Formula filter, your next step is to connect it to a report or a scorecard. For more information, see Connect a filter to a report or a scorecard by using Dashboard Designer and Use the Connection Formula dialog box in Dashboard Designer to configure a filter connection.

Create a dashboard filter by using the Time Intelligence Connection Formula filter template

When you create a Time Intelligence Connection Formula filter, you do this in two phases:

  1. You create a dashboard filter by using the Time Intelligence Connection Formula filter template.

  2. You connect the filter to a report or a scorecard, and you use the Connection Formula dialog box to specify a Time Intelligence formula. You can connect the Time Intelligence Connection Formula filter to multiple reports and scorecards. However, you configure each connection separately and specify a formula for each connection.

To create a Time Intelligence Connection Formula filter

  1. In Dashboard Designer, in the Workspace Browser, click PerformancePoint Content.

  2. On the Create tab, in the Dashboard Items group, click Filter.

  3. In the Select a Filter Template dialog box, click Time Intelligence Connection Formula, and then click OK.

  4. On the Select a Data Source page, click Add Data Source.

    The Select a Data Source dialog box opens.

  5. Select the data source that you want to use, and then click OK.

    • Use the SharePoint Site tab to view a list of data sources that have been saved to Microsoft SharePoint Server 2010.

    • Use the Workspace tab to view a list of data sources that you have created or used.

  6. Click Next.

  7. On the Select Display Method page, click Finish.

    Tip:

    Notice that you did not specify any formulas or display methods. You specify a connection formula when you connect this filter to a report or a scorecard. In addition, the Time Intelligence Connection Formula filter only uses a calendar control.

  8. In the center pane, click the Properties tab.

  9. In the Name box, type the name that you want to use for the filter.

  10. (This step is optional.) To specify a location for the filter, click the Display Folder button, and then select or create a folder.

  11. In the Workspace Browser, right-click the filter, and then click Save.

    Important:

    At this point, you have created a Time Intelligence Connection Formula. However, you have not specified a formula the filter will use to display particular information. You must proceed to configure the connection between the Time Intelligence Connection Formula filter and a report, a scorecard, or .

When you connect a Time Intelligence Connection Formula filter to reports and scorecards in a dashboard, you configure each connection separately. Use the following procedure to connect a Time Intelligence Connection Formula filter to a report or a scorecard.

To connect a Time Intelligence Connection Formula filter to a report or a scorecard

  1. In Dashboard Designer, locate the Workspace Browser on the left side of the window, and then click PerformancePoint Content. The center pane displays two tabs: SharePoint and Workspace.

  2. Double-click the dashboard that you want to change to open it.

  3. In the Details pane on the right side of the window, expand the list of available filters. Drag the Time Intelligence Connection Formula filter that you want to use to a dashboard zone.

  4. Within the filter box that you added to the dashboard, click the down arrow located to the right side of the filter name, and then click Create Connection. The Connection dialog box opens, which enables you to configure the connection between the filter and scorecard or report.

  5. Click the Items tab. In the Send values to list, select the scorecard or report that you want to connect to the filter.

  6. Click the Values tab, and then select a combination of values by using the Connect to list and the Source value list.

    Depending on how the scorecard is configured, the list of options that are available in the Connect to and Source value lists will vary. By using these lists, you can choose from many combinations. For example, you can select a page, row, or column in one list, and Display Value or Member Unique Name in the other list.

    Although it might seem as if you can select any combination of values in the Connect to and Source value lists, not all combinations will work correctly. Some examples of combinations that work are listed in the following table.

    Connect to list item Source value list item Description

    TI formula

    Formula

    This configuration only works with PerformancePoint scorecards. It uses a Time Intelligence formula and causes the scorecard to display information for the specified time period.

    Current date-time

    Current date-time

    This configuration only works with PerformancePoint scorecards. It does not require a Time Intelligence formula and causes the scorecard to display information as of the current date.

    Axis, Page, Row, Column, or Row (or Column) Hierarchies

    Member Unique Name

    This configuration works with PerformancePoint reports and scorecards. It uses a report or scorecard member's fully qualified member name together with a Time Intelligence formula and causes the scorecard or report to display information about dimension members for the specified time period.

    Time dimension

    Data source

    This configuration works with analytic charts and grids. It uses a Time Intelligence formula and causes the analytic chart or grid to display information for the specified time period.

  7. Click the Connection Formula button. The Connection Formula dialog box opens.

  8. In the Connection Formula dialog box, type a Time Intelligence formula. The formula that you type might resemble one of the examples shown in the following table.

    Time Intelligence Formula Description

    Day

    Displays information as of the date that is selected in the calendar control.

    Quarter:Quarter-3

    Displays information for the last four quarters as of the date that is selected in the calendar control.

    YearToDate

    Displays year-to-date information as of the date that is selected in the calendar control.

    For more examples of formulas that you can use, see PerformancePoint Time Intelligence quick reference.

  9. Click OK to close the Connection Formula dialog box.

  10. Click OK to close the Connection dialog box. In the center pane of the workspace, in the Connections box for the report or scorecard, you can see the name of the filter that you have connected to it.

  11. In the Workspace Browser, right-click the dashboard and then click Save.

    Deploy the dashboard to view and test the filter connection.

    Important:

    When you connect a filter to a scorecard, you can create an invalid filter connection that you might not notice until you deploy the dashboard and view it in a SharePoint site. When an invalid filter connection is made, a scorecard might display unexpected content or an error message. If this occurs, reconfigure the filter connection.

See Also

Concepts

Create a dashboard filter by using Dashboard Designer
Use the Connection Formula dialog box in Dashboard Designer to configure a filter connection
Assemble dashboard pages and link items together by using Dashboard Designer


Create and assemble a dashboard page by using Dashboard Designer
See Also

Published: September 16, 2010

When you and other dashboard authors have created the reports and scorecards that you want to display in a dashboard, you are ready to create and assemble the dashboard pages. Read the articles listed in this topic to learn how to set up your dashboard pages by using PerformancePoint Dashboard Designer.

Task | Article
Create a dashboard page | Create a dashboard page by using Dashboard Designer
Configure specific sizes of items on the dashboard page | Configure specific sizes of individual PerformancePoint dashboard zones and/or items with zones
Add content to dashboard pages and link items together | Assemble dashboard pages and link items together by using Dashboard Designer

See Also

Concepts

Plan a PerformancePoint dashboard to show organizational performance


Create a dashboard page by using Dashboard Designer
See Also

Published: May 29, 2010

When you and other dashboard authors have created one or more views to display in a dashboard, you are ready to create dashboard pages to contain those dashboard items. Read this article to learn how to create dashboard pages by using PerformancePoint Dashboard Designer.

When you use Dashboard Designer to create your dashboard pages, you start by selecting a page template. You can change the page layout template selected for each page, and then you can add items to the pages.

To create the first page of a dashboard

  1. In Dashboard Designer, in the Workspace Browser, click PerformancePoint Content.

  2. In the ribbon, click the Create tab.

  3. In the ribbon, in the Dashboard Items group, click Dashboard.

    The Select a Dashboard Page Template dialog box opens.

  4. Select a page layout for the dashboard page, and then click OK.

    You can select from seven different page layout templates, as in the following list:

    • 1 Zone

    • 2 Columns

    • 2 Rows

    • 3 Columns

    • 3 Rows

    • Column, Split Column

    • Header, 2 Columns

    Tip:

    Select the page layout template that is best suited for the dashboard content that you want to display. For example, if you have only one report or scorecard to display, you might select the 1 Zone template. On the other hand, if you have several reports and a dashboard filter to display, you might select the Header, 2 Columns template.

    We recommend that you do not display too many items in a single page. Otherwise, the individual items on the page might not be displayed correctly. You can easily add more pages to a dashboard to display a large number of reports and scorecards in the dashboard.

  5. (This step is optional.) Make changes to the dashboard page layout. For example, you can add or remove a dashboard zone, or configure the sizes of dashboard zones. For more information, see Add, remove, or change the sizes of your zones.

  6. In the center pane, click the Properties tab.

  7. In the Name box, type the name that you want to use for the dashboard.

    Note:

    The name that you specify applies to the dashboard, not individual dashboard pages.

  8. (This step is optional.) To specify a location for the dashboard, click the Display Folder button, and then select or create a folder.

  9. (This step is optional.) To specify a name for the dashboard page, follow these steps:

    1. In the center pane, click the Editor tab.

    2. In the Pages section, click the dashboard page name to highlight it, and then type a new name for the page.

  10. In the Workspace Browser, right-click the dashboard, and then click Save.

To add pages to a dashboard

  1. Begin with the dashboard open for editing in Dashboard Designer. In the center pane, click the Editor tab.

  2. In the Pages section, click New Page to open the Select a Dashboard Page Template dialog box.

  3. Select a page layout for the dashboard page, and then click OK.

  4. (This step is optional.) Make changes to the dashboard page layout. For example, you can add or remove a dashboard zone, or configure the sizes of dashboard zones. For more information, see Add, remove, or change the sizes of your zones.

  5. (This step is optional.) To specify a name for the dashboard page, follow these steps:

    1. In the center pane, click the Editor tab.

    2. In the Pages section, click the dashboard page name to highlight it, and then type a new name for the page.

  6. Repeat Steps 1-5 for each page that you want to add to the dashboard.

  7. If you want the page navigator displayed, then click the Properties tab and select the Include page list for navigation check box.

  8. In the Workspace Browser, right-click the dashboard, and then click Save.

After you have set up your dashboard pages, you are ready to add items, such as reports, scorecards, and filters, to those dashboard pages.

See Also

Concepts

Assemble dashboard pages and link items together by using Dashboard Designer


Configure specific sizes of individual PerformancePoint dashboard zones and/or items with zones

When you create a dashboard by using PerformancePoint Dashboard Designer, you start by selecting a page template. Each template contains one or more dashboard zones in a particular arrangement. However, you are not limited to those configurations. You can easily add zones, remove zones, and configure the sizes of your zones. And, if you have too many items to fit on one page, you can easily add another page to your dashboard.

What do you want to do?

  • Add, remove, or change the sizes of your zones

  • Add a page to your dashboard

Add, remove, or change the sizes of your zones

After you select a template for your dashboard you can configure the size of one or more zones in your dashboard. As you add zones to a dashboard page, all the zones are automatically resized to accommodate the additional zones.

Tip:

If you add too many zones to a single page, your dashboard items might appear so small that they are difficult to view or are overwhelming for dashboard users. In addition, chart legends might not appear correctly.

To add or remove a zone

  1. In the center pane click the Editor tab.

  2. Right-click the Dashboard Content section, and then click one of the following:

    • Add Left. Adds a new zone to the left of the pointer

    • Add Right. Adds a new zone to the right side of the pointer

    • Add Above. Adds a new zone above the pointer

    • Add Below. Adds a new zone under the pointer

    • Split Zone. Divides the zone nearest the pointer into two zones of equal size

    • Delete Zone. Removes the zone nearest the pointer

To change the size of one or more dashboard zones

  1. In the center pane click the Editor tab.

  2. In the Dashboard Content section, right-click the zone that you want to configure. Or, if the zone contains an item, right-click the header of the zone, and then click Zone Settings. The Zone Settings dialog box opens.

    • On the Size tab, specify width and height settings for the dashboard zone. Zones can only be sized based on percentage and cannot be auto-sized or sized to specific pixel counts.

    • On the Orientation tab, arrange the items in the zone. You can select Horizontal, Vertical, or Stacked. The Horizontal option arranges multiple items in a row. The Vertical option arranges multiple items in a column. The Stacked option layers multiple items in the same location on the dashboard page. Dashboard users use a drop-down list to switch between the items.

    • Click OK to save your changes and close the Zone Settings dialog box.

Add a page to your dashboard

You can easily group many reports and scorecards in a single dashboard and keep it easy to use by adding pages to your dashboard. And you can use a different template for each page. When you have more than one page in your dashboard, you can display a page navigator across the top of your dashboard, which enables dashboard users to easily navigate through the pages.

To add a page to a dashboard

  1. In the center workspace pane, click the Editor tab. In the Pages section, click New Page to open the Select a Dashboard Page Template dialog box.

  2. If you want the page navigator displayed, then click the Properties tab and check Include page list for navigation.


Assemble dashboard pages and link items together by using Dashboard Designer
See Also

Published: May 29, 2010

After you have created dashboard items, such as pages, report views, and filters, your next step is to assemble your dashboard pages. Depending on how your dashboards are configured, you might also want to link some items, such as filters, to other items, such as reports.

Read the following articles to assemble your dashboard pages and link items together.

Task | Article
Add dashboard items, such as reports, scorecards, and filters, to a dashboard page. | Add dashboard items to a page by using Dashboard Designer
Link filters to scorecards and reports in a dashboard. | Connect a filter to a report or a scorecard by using Dashboard Designer
Configure a filter to work a particular way with a scorecard or a report by specifying a Connection Formula or an MDX query. | Use the Connection Formula dialog box in Dashboard Designer to configure a filter connection
Add a KPI Details report to a dashboard page and connect it to a scorecard. | Add a KPI Details report to a dashboard by using Dashboard Designer

See Also

Other Resources

Resource Center: Business Intelligence in SharePoint Server 2010


Add dashboard items to a page by using Dashboard Designer
See Also

Published: May 29, 2010

After you have created PerformancePoint dashboard items, such as reports, scorecards, and filters, and dashboard pages, your next step is to add items to the dashboard pages.

To add items to a dashboard page, you open a dashboard for editing, and then you add the items that you want to include in the dashboard.

To open a dashboard page for editing

  1. In PerformancePoint Dashboard Designer, locate the Workspace Browser on the left side of the window, and then click PerformancePoint Content. The center pane displays two tabs: SharePoint and Workspace.

  2. Locate a dashboard to which you want to add items.

  3. Double-click the dashboard that you want to change to open it for editing.

  4. If the dashboard contains more than one page, open the page that you want to edit. To do this, follow these steps:

    1. In the center pane, click the Editor tab.

    2. In the Pages section, click the name of the page to which you want to add dashboard items.

To add items to a dashboard page

  1. Begin with a dashboard page open for editing in Dashboard Designer, and the Editor tab displayed.

  2. In the Details pane on the right side of the window, expand the Scorecards, Reports, or Filters list.

  3. Locate the scorecard, report, or filter that you want to add to the dashboard, and then drag it to a dashboard zone.

    As you add items to a dashboard, keep in mind the suggestions in the following list:

    • As a best practice, put dashboard filters in a separate zone from where you put reports and scorecards. Otherwise, items such as chart legends or reports might not be displayed correctly.

    • Consider using the Header, 2 Columns dashboard page template for pages that will include dashboard filters. Then, you can put the filters in the Header zone, and put reports and scorecards in the other zones.

    • If you are adding an Excel Services report to the dashboard, make sure that you use the auto-size setting. Otherwise, additional scrollbars might display in the deployed dashboard. To specify auto-size settings, follow these steps:

      1. Immediately after you have added the Excel Services report to the dashboard, on the Edit tab, in the Layout group, click Edit Item.

        The Item Settings dialog box opens.

      2. On the Size tab, in the Width section, select Auto-size width.

      3. On the Size tab, in the Height section, select Auto-size height, and then click OK.

  4. Repeat steps 2 and 3 for each item that you want to include in the dashboard.

  5. In the Workspace Browser, right-click the dashboard, and then click Save.

  6. Do one of the following tasks:

    • Connect any filters to scorecards or reports. For more information, see Connect a filter to a report or a scorecard by using Dashboard Designer.

    • Add a KPI Details report to the page. For more information, see Add a KPI Details report to a dashboard by using Dashboard Designer.

    • Publish the dashboard to Microsoft SharePoint Server. For more information, see Deploy a PerformancePoint dashboard.

See Also

Concepts

Create a plan for a PerformancePoint dashboard
Create a dashboard page by using Dashboard Designer
Assemble dashboard pages and link items together by using Dashboard Designer


Connect a filter to a report or a scorecard by using Dashboard Designer
See Also

You can use PerformancePoint Dashboard Designer to create, configure, and deploy dashboards in your organization. When you create your dashboards, you can include one or more filters in your dashboard pages, and then link those filters to scorecards and reports. Filters are dashboard elements that you can create and attach to scorecards and reports to restrict the kinds of content that you want to display. For example, you can include a Time filter that dashboard users can use to view information for a specific time period.

Tip:

This article describes how to connect a dashboard filter to a report or a scorecard. In Microsoft SharePoint Server 2010 SP1, you can configure cascading filters, which means that you can connect one filter to another. For more information, see Configure cascading filters by using Dashboard Designer (SharePoint Server 2010 SP1).

Dashboard filters vary in appearance and functionality, but typically resemble lists or expandable trees. For example, in the picture that is shown here, we have a filter called "Year" that uses a list control.

Year filter that displays as a list

Dashboard users select an item from the list, and any reports or scorecards that are connected to it refresh automatically to display the specific information.

As another example, in the picture that is shown here, we have a filter called "Geography" that uses a multi-select tree control.

A Geography filter that uses a multi-select tree

Dashboard users click the filter to expand it. Then, users expand the All node to see the options that are available. Next, users click the check boxes of the items that they want to include in the filter, and then click Apply. Any reports or scorecards that are connected to the filter update automatically to display the results.

To connect a filter to a report or a scorecard by using Dashboard Designer

  1. In Dashboard Designer, locate the Workspace Browser on the left side of the window, and then click PerformancePoint Content. The center pane displays two tabs: SharePoint and Workspace.

  2. Double-click the dashboard that you want to change to open it.

  3. In the Details pane on the right side of the window, expand the list of available filters. Drag the filter that you want to use to a dashboard zone.

  4. Within the filter box that you added to the dashboard, click the down arrow located to the right side of the filter name, and then click Create Connection. The Connection dialog box appears, which enables you to configure the connection between the filter and dashboard item.

  5. Click the Items tab. In the Send values to list, select the report or scorecard that you want to connect to the filter.

  6. Click the Values tab, and then select a combination of values by using the Connect to list and the Source value list.

    Depending on how the scorecard is configured, the list of options that are available in the Connect to and Source value lists will vary. By using these lists, you can choose from many combinations. For example, you can select a page, row, or column in one list, and Display Value or Member Unique Name in the other list.

    Although it might seem as if you can select any combination of values in the Connect to and Source value lists, not all combinations will work correctly. You will not see whether a filter connection works until you publish the dashboard to a SharePoint site, such as a designated location where you can preview and test the dashboard.

    Some examples of combinations that work are listed in the following table.

    Connect to list item Source value list item Description

    Dimension Hierarchies on Rows or Columns

    Member Unique Name

    This configuration causes the filter to replace rows or columns in a report or scorecard to be replaced with the item or items that dashboard consumers select by using the filter.

    Axis, Page, Row, Column, or Row (or Column) Hierarchies

    Display Value

    This configuration causes member captions from a report or scorecard's underlying database to be displayed in the report or scorecard when the filter is applied. (Member captions resemble labels like "Baseball Bats" or "Baseball Gloves.")

    TI formula (This only applies to Time Intelligence filters.)

    Formula

    This configuration only works with PerformancePoint scorecards. It uses a Time Intelligence formula and causes the scorecard to display information for the specified time period.

    Current date-time (This only applies to Time Intelligence filters.)

    Current date-time

    This configuration only works with PerformancePoint scorecards. It does not require a Time Intelligence formula and causes the scorecard to display information as of the current date.

    Time dimension (This only applies to Time Intelligence filters.)

    Data source

    This configuration works with analytic charts and grids. It uses a Time Intelligence formula and causes the analytic chart or grid to display information for the specified time period.

  7. To apply a formula that additionally filters the content, click the Connection Formula button. The Connection Formula dialog box appears.

    In the Connection Formula dialog box, type a formula that will be applied to filter the data before it reaches the report or scorecard. Depending on the filter that you are connecting, the formula that you specify can include a Time Intelligence statement or an MDX query. For example, if you are connecting a Time Intelligence Connection Formula filter to a report or a scorecard, you can only specify a Time Intelligence statement.

    After you have specified your formula, click OK to close the Connection Formula dialog box.

  8. Click OK to close the Connection dialog box. In the center pane of the workspace, in the Connections box for the report or scorecard, you can see the name of the filter that you have connected to it.

  9. In the Workspace Browser, right-click the dashboard and then click Save. Deploy the dashboard to view and test the filter connection.

    Important:

    When you connect a filter to a report or a scorecard, you can create an invalid filter connection that will only become visible when you view the dashboard in its SharePoint site. When an invalid filter connection is made, a report or scorecard displays unexpected content or an error message. If this occurs, reconfigure the filter connection.

See Also

Concepts

Create a dashboard filter by using Dashboard Designer
Overview of PerformancePoint dashboard filters and connections


Use the Connection Formula dialog box in Dashboard Designer to configure a filter connection
See Also

When you use PerformancePoint Dashboard Designer to connect a filter to a view, you can use the Connection Formula dialog box to specify a formula. The formula that you specify causes the view to display particular information. For example, you can specify a formula to show data for dynamic time periods, such as the last six months. (This is called Time Intelligence.) Read this article for an overview of how the Connection Formula dialog box works and how you can use it with your dashboard filters.

The Connection Formula dialog box

You use the Connection Formula dialog box after you have connected a dashboard filter to a view and when you are connecting a Time Intelligence formula to a view. Depending on the formula that you specify, you can use the Connection Formula dialog box to display information in a view for dynamic time periods, such as the last year or the last six months. Or, you can use it to display more detailed results in a view than the filter would otherwise provide.

For example, suppose that you have created a dashboard filter that is called Products. That filter enables dashboard users to select a product category in a list, and then view information about that product category in the views that are connected to the filter. Suppose also that you want one view to show only the five best-selling products for each product category when the filter is applied. You can use the Connection Formula dialog box to specify a query to display that information in the view.

When you use the Connection Formula dialog box, you specify a Time Intelligence formula or a Multidimensional Expressions (MDX) query, depending on the information that you want to display.

Example: Specifying a Time Intelligence formula

Suppose that you create dashboards for the managers in your organization. A marketing manager wants to know how many leads a recent marketing campaign generated for the sales team. The manager also wants to see how many of those leads turned into actual sales over specific time periods, such as the last three months.

The current dashboard includes views that show the number of leads that were generated by each marketing campaign and how many leads were converted to sales. The marketing manager tells you that the dashboard provides good high-level information, but not enough data about specific periods of time.

Your solution is to create a Time Intelligence filter and connect it to your views. In the Connection Formula dialog box, you specify a formula to display information for the last three months. Then, you redeploy the dashboard.

The managers use that Time Intelligence filter to specify the time periods they want to examine, and their views display the appropriate results.

Example: Specifying an MDX query

Suppose that you create dashboards for the managers in your organization. One sales manager has a team that is responsible for multiple geographical regions. Some regional sales representatives are performing much better than other sales representatives are. In addition, the sales representatives in the major cities of each region all have varying sales amounts. The manager wants to know which cities have the highest sales in the individual regions, and how the sales amounts compare among all the cities in a particular region. The manager wants to see all this information in a single dashboard.

Your solution is to create a Geography filter that contains a list of regions. You connect the filter to the analytic views, and then you use the Connection Formula dialog box to specify an MDX query. That query causes the views that are connected to the filter to display information at the city level. Then you link the filter to the analytic charts, and redeploy the dashboard.

The managers use the Geography filter to specify a sales region, and the views automatically display information that is specific to that region. One view shows the top performing cities in the region, and another view shows the sales amounts for all the cities in the region.

Syntax of Connection Formula expressions

You can enter two kinds of expressions in the Connection Formula dialog box: a Time Intelligence expression or an MDX query.

  • A Time Intelligence expression uses the Simple Time Period Specification (STPS) syntax.

    STPS expressions take the form (Period + n) or (Period - n), where "n" is a positive integer that represents the number of time periods to include in a filter. Depending on the data sources that are used by the filter and the items connected to it, you can use time increments such as Year, Month, and Day. For example, (Year - 6) is an STPS expression that you can use to configure your filter to retrieve information for the last six years.

  • An MDX query can include one or more monikers, such as <<SourceValue>> or <<UniqueName>>. These monikers can be used alone or as part of a larger MDX query.

Important:

The specific formula that you use will vary depending on the data sources that are used for your filter and the item that you are connecting to the filter. Not all formulas work with all kinds of reports and scorecards. For example, let's say that you are connecting a filter to a report or scorecard that uses a data source that is not configured to work with Time Intelligence. In that case, the STPS expressions will not work for your filter connection. In addition, when you use some kinds of filters, such as a Time Intelligence Connection Formula filter, you must specify a formula in the Connection Formula dialog box.

Below are several examples of formulas to give you an overview of the kinds of expressions that you can use in the Connection Formula dialog box.

Examples of Time Intelligence expressions

Description | Syntax
Period-to-date functions to show results for a current period up to the current date | YearToDate or MonthToDate
Function to show a set of time periods, such as the most recent six months | (Month-5):Month

Examples of MDX expressions

Description | Syntax
Query that displays the children of a selected member | <<UniqueName>>.Children or <<SourceValue>>.Children
Function to show the top 10 items that are two levels under a selected member | TopCount({Descendants(<<UniqueName>>,2)}

See Also

Reference

Use MDX in the Connection Formula dialog box

Other Resources

Multidimensional Expressions (MDX) Reference (http://go.microsoft.com/fwlink/p/?LinkId=186166)


Add a KPI Details report to a dashboard by using Dashboard Designer
See Also

Published: May 29, 2010

Using PerformancePoint Dashboard Designer, you can add a KPI Details report to a dashboard that contains a scorecard. A KPI Details report is useful for providing additional information about scorecard key performance indicator (KPI) values and properties.

To add a KPI Details report, you first open a dashboard for editing, and then you add the KPI Details report to a dashboard page.

Tip:

Before you start, make sure that a KPI Details report exists. For more information, see Create a KPI Details report by using Dashboard Designer.

To open a dashboard for editing

  1. In Dashboard Designer, locate the Workspace Browser on the left side of the window, and then click PerformancePoint Content. The center pane displays two tabs: SharePoint and Workspace.

  2. Locate the dashboard to which you want to add a KPI Details report.

    Note:

    Make sure that the dashboard that you select contains a scorecard. A KPI Details report must be connected to a scorecard to display information.

  3. Double-click the dashboard that you want to change to open it for editing.

  4. If the dashboard contains more than one page, open the page that you want to edit. To do this, follow these steps:

    1. In the center pane, click the Editor tab.

    2. In the Pages section, click the name of the page that will contain the KPI Details report.

To add a KPI Details report to a dashboard page

  1. Begin with a dashboard page open for editing in Dashboard Designer, and the Editor tab displayed.

  2. In the Details pane on the right side of the window, expand the list of available reports. Drag the KPI Details report to a dashboard zone.

  3. Within the KPI Details box that you added to the dashboard, click the down arrow located to the right side of the report name, and then click Create Connection. The Connection dialog box opens, which enables you to configure the connection between the KPI Details report and a scorecard.

  4. Click the Items tab. In the Get values from list, select the scorecard that you want to connect to the KPI Details report. (You should see the KPI Details report already listed in the Send values to box.

    Note:

    If the dashboard page contains any dashboard filters, you might see those filters in the Get values from list together with any scorecards that might be there. Although you can connect a filter to a scorecard, filters do not work directly with the KPI Details report. This is because all the information that is displayed in the KPI Details report is determined by where dashboard users click in its accompanying scorecard.

  5. Click the Values tab and locate the Connect to list. In the Connect to list, select Cell.

  6. Use the Source value list to select Cell: Context.

  7. Click OK to close the Connection dialog box. In the center pane of the workspace, in the Connections box for the KPI Details report, you can see the name of the scorecard that you have connected to it.

  8. In the Workspace Browser, right-click the dashboard and then click Save. Deploy the dashboard to view and test the KPI Details report.

See Also

Concepts

Assemble dashboard pages and link items together by using Dashboard Designer


Overview of testing and deploying a dashboard by using Dashboard Designer
See Also

Published: July 16, 2012

To test and preview a dashboard in PerformancePoint Services in Microsoft SharePoint Server 2010, you must edit the deployment properties to direct the dashboard to the location of your choice.

In Microsoft Office PerformancePoint Server 2007, there is an option to preview a dashboard before you deploy it to the SharePoint production environment. In PerformancePoint Services, the preview option is not available. To test and preview a dashboard before publishing to a production environment, follow these steps to edit the location of where the dashboard is deployed.

Steps to deploy a dashboard to a test environment

For instruction on how to create PerformancePoint Services dashboards, see Plan, design, and implement a PerformancePoint dashboard. When you are ready to deploy a dashboard, follow these steps. The dashboards are .aspx pages. Standard contributor-level permissions in SharePoint Server are not enough to successfully create ASPX pages. Your account must have at least Design-level permissions on the SharePoint Server site that has the account that is deploying the dashboard.

To deploy a dashboard to a test environment

  1. Open PerformancePoint Dashboard Designer. Create and assemble a dashboard.

  2. In the center pane, click the Properties tab.

  3. In the Name box, type the name of your dashboard.

  4. In the Deployment Properties section, in the Document Library box, click Browse. Select Test Dashboards. The default path and document folder appear in the Document Library box.

    Note:

    You cannot manually edit this field. You must select a document folder from the Browse menu to designate a document folder.

  5. On the left-hand side of the window in the Workspace Browser pane, highlight and right-click the name of the dashboard that you want to deploy. Click Select Deploy to SharePoint.

  6. Review your deployed dashboard. Edit and revise Dashboard Designer as necessary.

  7. When you have completed your dashboard, click the Properties tab. In the Deployment Properties section, click Browse. Change the document folder to the name of your production dashboard location.

  8. Right-click the name of the dashboard you want to deploy to production. Click Select Deploy to SharePoint.

See Also

Concepts

User permissions and permission levels (SharePoint Server 2010)
Maintain, edit, and update PerformancePoint dashboards


Deploy a PerformancePoint dashboard

You can use PerformancePoint Dashboard Designer to create PerformancePoint dashboard items, such as reports, scorecards, and filters. You save those items in a SharePoint list, which enables you and other dashboard authors to share and reuse those dashboard items. When you have assembled a dashboard and are ready to view and use it, you deploy it to a SharePoint document library that contains PerformancePoint dashboards.

Important:

Before you start, make sure that you have at least Design permissions to the top-level SharePoint site that contains the subsite or folder where your dashboard content is stored. Otherwise, you can get an "Access denied" error message when you attempt to publish your dashboard.

To deploy a PerformancePoint dashboard

  1. Open Dashboard Designer. In the Workspace Browser pane, click PerformancePoint Content. Then, in the ribbon, click the Home tab, and then click Refresh.

  2. In the center pane of the workspace, double-click the dashboard that you want to publish. The Workspace Browser and the center pane refresh to display a list of dashboard items that you and other dashboard authors have saved to SharePoint Server.

  3. (This step is optional.) Click the Editor tab, and verify that each dashboard page contains all the items that you want to include in your dashboard. If you want, you can add or change the items that are in your dashboard. Then, in the Workspace Browser, right-click the dashboard, and then click Save.

  4. In the Workspace Browser, right-click the dashboard, and then click Deploy to SharePoint.

  5. If you are publishing the dashboard for the first time to a SharePoint site, the Deploy To box opens.

    • Select the Dashboards library that you want to use.

    • Use the Master Page list to specify a page template for your dashboard.

    • If your dashboard consists of more than one page, select the Include page list for navigation check box.

    • After you have specified the deployment settings for the dashboard, click OK.

  6. A Deploy to SharePoint Site box opens to display the status of your dashboard deployment. After your dashboard is deployed, a browser window opens to display your dashboard. There, you can view and test your dashboard items. When you are ready to share the dashboard with other users, you can copy the Web site address (URL) and send it in an e-mail message.


Create advanced PerformancePoint dashboards
See Also

Published: February 24, 2011

You can create advanced PerformancePoint dashboards by extending their functionality. For example, you can configure scorecards and reports to display particular information. You can also use custom queries and formulas to display information.

The articles in this section contain information about how to extend dashboards by using PerformancePoint Dashboard Designer.

In this section:

  • Connect PerformancePoint scorecard items to reports in a dashboard

  • Extend PerformancePoint dashboards by using MDX queries

  • Extend PerformancePoint dashboards by using Time Intelligence

  • Extend a PerformancePoint KPI

  • Make custom master pages available to deployment settings

See Also

Concepts

Plan, design, and implement a PerformancePoint dashboard


Connect PerformancePoint scorecard items to reports in a dashboard
See Also

Published: August 23, 2011

You can use PerformancePoint Dashboard Designer to create and deploy dashboards that contain various reports and scorecards for your organization. To make your dashboards more dynamic and interactive, you can connect some kinds of scorecard items, such as key performance indicators (KPI), to other reports. That way, when a dashboard user clicks an item in a scorecard that is linked to other reports, those reports update automatically to display additional, relevant information.

When you connect scorecards to other reports, you have many options available to you. For example, you can connect a scorecard item to an analytic chart or grid. When you do this, you can use the scorecard item as a filter for the analytic chart or grid.

Read the articles in this section to learn how to connect PerformancePoint scorecards to other reports.

In this section

  • Connect a PerformancePoint scorecard KPI to a report using Display Condition

  • Connect a PerformancePoint scorecard item to an analytic chart or grid

  • Connect a PerformancePoint scorecard item to a SQL Server Reporting Services report

  • Connect a PerformancePoint scorecard item to an Excel Services report

See Also

Concepts

Create reports and scorecards by using Dashboard Designer
Define custom properties for a PerformancePoint KPI
Create and assemble a dashboard page by using Dashboard Designer
Plan, design, and implement a PerformancePoint dashboard
Create advanced PerformancePoint dashboards


Connect a PerformancePoint scorecard KPI to a report using Display Condition
See Also

Published: August 23, 2011

By using PerformancePoint Dashboard Designer, you can connect a key performance indicator (KPI) in a scorecard to a report that is hidden until a dashboard user clicks that KPI. To do this, you configure the connection by using Display Condition in Dashboard Designer.

In this article:

  • Begin with a dashboard that contains a scorecard and a report

  • Connect a KPI to a report by specifying display conditions

Begin with a dashboard that contains a scorecard and a report

Make sure that the dashboard page contains a scorecard and a report that you want to connect to the scorecard.

If you do not have such a dashboard, you can create one. To create a basic dashboard, follow these steps.

To create a basic dashboard

  1. Create a scorecard. For more information, see Create a scorecard by using Dashboard Designer.

  2. Create a report, such as an analytic chart (or grid) or a Web Page report. For more information, see Create reports and scorecards by using Dashboard Designer.

  3. Create a dashboard page that uses a two-column page layout template. For more information, see Create a dashboard page by using Dashboard Designer.

  4. Add the scorecard and the report to the dashboard page that you created in step 3. For more information, see Add dashboard items to a page by using Dashboard Designer.

  5. Keep the dashboard open for editing, and proceed to Connect a KPI to a report by specifying display conditions.

Connect a KPI to a report by specifying display conditions

In Dashboard Designer, scorecards have certain fields and properties that you can use to configure connections. One of these fields is called Display Condition. You use it to configure the connection between scorecard KPIs and reports in a dashboard.

To connect a KPI to a report using Display Condition

  1. Begin with a dashboard page that is open for editing in Dashboard Designer. Click the Editor tab for the dashboard page that you want to change.

  2. Locate the scorecard that you want to connect to a report.

    In the zone that contains the scorecard, under AvailableFields, locate Display Condition.

  3. Drag Display Condition to the Drop fields to create connections box for the report that you want to connect to the scorecard.

    When you release the mouse, the Display Condition dialog box appears and displays a list of KPIs.

  4. Select the check boxes of all the KPIs that you want to connect to the report.

    Tip:

    In general, do not select the Default check box.

    Selecting the Default check box causes a report to appear regardless of whether dashboard users click each KPI that is connected to the report.

    For example, suppose that you are connecting a KPI to multiple reports. For one report, you select the Default check box when you configure the connection. When the dashboard is published to SharePoint Server, the report for which you selected the Default check box is visible, whereas the other reports remain hidden until a user clicks the KPI.

  5. Click OK to close the Display Condition dialog box.

    In the center pane of the workspace, in the Connections box for the report, you can see the name of the scorecard that you have connected to it.

  6. In the Workspace Browser, right-click the dashboard, and then click Save.

To view and test the connection, publish the dashboard to Microsoft SharePoint Server. For more information, see Deploy a PerformancePoint dashboard.

See Also

Concepts

Assemble dashboard pages and link items together by using Dashboard Designer
Plan, design, and implement a PerformancePoint dashboard
Create advanced PerformancePoint dashboards


Connect a PerformancePoint scorecard item to an analytic chart or grid
See Also

Published: May 12, 2011

By using PerformancePoint Dashboard Designer, you can connect a scorecard item to an analytic chart or grid. When you do this, you can use the scorecard item as filter for the analytic chart or grid. Or, you can use an analytic chart or grid to display additional information about a scorecard key performance indicator (KPI).

Begin by selecting or creating a dashboard that contains a scorecard and at least one analytic chart or grid. Then, select the method that you want to use to connect a scorecard item to an analytic report.

In this article:

  • Begin with a dashboard that contains a scorecard and an analytic report

  • Connect a scorecard item to an analytic chart or grid

Begin with a dashboard that contains a scorecard and an analytic report

Make sure that the dashboard page contains a scorecard and an analytic chart or grid that you want to connect to the scorecard. Both the scorecard and the analytic report must use the same SQL Server Analysis Services data cube.

If you do not have such a dashboard, you can create one. To create a basic dashboard, follow these steps.

To create a basic dashboard

  1. Create a data connection that uses SQL Server Analysis Services data. For more information, see Create an Analysis Services data connection (PerformancePoint Services).

  2. Create a scorecard that uses the data connection that you created in Step 1. For more information, see Create an Analysis Services scorecard by using Dashboard Designer.

  3. Create an analytic chart that uses the data connection that you created in Step 1. For more information, see Create an analytic chart or grid by using Dashboard Designer.

  4. Create a dashboard page that uses a two-column page layout template. For more information, see Create a dashboard page by using Dashboard Designer.

  5. Add the scorecard and the analytic chart to the dashboard page that you created in Step 4. For more information, see Add dashboard items to a page by using Dashboard Designer.

  6. Keep the dashboard open for editing, and proceed to Connect a scorecard item to an analytic chart or grid.

Connect a scorecard item to an analytic chart or grid

When you connect a scorecard item to an analytic chart or grid, the method that you use depends several factors. These include the kind of scorecard item that you want to link to the analytic report and whether the scorecard and analytic report use the same data source. To determine the method that you should use, refer to the following table.

Scorecard item to connect | Method to use | Effect in the dashboard
An item that is associated with a dimension member that is in the same SQL Server Analysis Services data cube that the analytic chart or grid uses as its data source. | Create a connection by using a Member UniqueName | The scorecard item serves as a filter for the analytic chart or grid that is connected to it. For example, suppose that the scorecard item is a geographical region, and that the geographical region is connected to an analytic grid. By default, the analytic grid displays information across all the geographical regions. However, when dashboard users click the geographical region in the scorecard, the analytic grid updates to show information for only that geographical region.
An item is associated with a measure that is in the same Analysis Services data cube that the analytic chart or grid uses as its data source. | Create a connection by using a custom property | The scorecard item causes the analytic chart or grid to display information for the same measure.

Create a connection by using a Member UniqueName

To create a connection to an analytic chart or grid by using the scorecard item's Member UniqueName

  1. Begin with a dashboard page that is open for editing in Dashboard Designer. Click the Editor tab for the dashboard page that you want to modify.

  2. Locate the scorecard that you want to connect to the analytic chart or grid.

    In the zone that contains the scorecard, under AvailableFields, locate Member UniqueName.

    Note:

    You should see two instances of Member UniqueName: one that corresponds to scorecard row and is located under Row Member, and one that corresponds to scorecard columns and is located under Column Member.

  3. Drag Member UniqueName to the Drop fields to create connections box for the analytic chart or grid that you want to connect to the scorecard.

    When you release the mouse, the Connection dialog box opens.

  4. In the Connection dialog box, the Connect to: and Source value: lists are already populated. These lists contain the recommended solutions for the connection to work. Keep these default settings, and then click OK.

  5. (This step is optional). To additionally configure the connection, you can specify a formula, such as a custom MultiDimensional Expressions (MDX) query or a Time Intelligence formula. To do this, click Connection Formula, specify the expression that you want to use, and then click OK.

    Tip:

    For more information about formulas that you can use, see Use the Connection Formula dialog box in Dashboard Designer to configure a filter connection.

  6. In the Workspace Browser, right-click the dashboard, and then click Save.

Create a connection by using a custom property

When you create a connection between a KPI and an analytic chart or grid by using a custom property, you begin by identifying a custom property that contains an MDX query.

To verify that a custom property was defined for a KPI

  1. Begin with a dashboard page that is open for editing in Dashboard Designer. Click the Editor tab for the dashboard page that you want to modify.

  2. Locate the scorecard that you want to connect to the analytic chart or grid. In the Workspace Browser, double-click the name of the scorecard to open it for editing.

  3. Locate the KPI that you want to connect to the analytic chart or grid. In the Workspace Browser, double-click the name of that KPI to open it in the center pane. Then, click the Properties tab.

  4. In the Custom Properties section, view the custom properties that have been defined for the KPI. Verify that at least one custom property uses an MDX query in the Value column.

    Note:

    If no custom properties are listed, or you cannot find a custom property that contains an appropriate MDX query, then you must define one for the KPI.

To define a custom property that uses an MDX query

  1. Begin with a KPI that is open for editing in Dashboard Designer. In the center pane, click the Editor tab.

  2. In the Custom Properties section, click New Property.

    The Property Type Selector dialog box opens.

  3. Select Text for the property type, and then click OK.

    The new property is listed in the Custom Properties section.

  4. In the Value column, specify the MDX query that you want to use. This query will pass context from the scorecard to an analytic chart or grid that uses the same Analysis Services data cube.

    The actual query that you specify will vary, depending on the data cube that you are using and the information that you want to display.

    For example, suppose that a scorecard contains inventory control KPIs to display performance information for inventory control in various countries. In addition, suppose that an analytic grid displays detailed information about product inventory for those same countries. In this case, you could use [Product].[Product].DEFAULTMEMBER. Then, when you connect the custom property to the analytic grid, the scorecard will send product information to the analytic grid so that the grid will display information for only the country that a dashboard user has clicked.

    Tip:

    For more information about how to use MDX with PerformancePoint Services, see Extend PerformancePoint dashboards by using MDX queries.

  5. In the Custom Properties section, in the Name column, select the default text and type the name that you want to use for the custom property.

  6. (This step is optional.) In the Description column, type a brief description for the custom property.

  7. In the Workspace Browser, right-click the KPI, and then click Save.

To create a connection by using a KPI's custom property

  1. Begin with a dashboard page that is open for editing in Dashboard Designer. Click the Editor tab for the dashboard page that you want to modify.

  2. Locate the scorecard that you want to connect to the analytic chart or grid. Under Available Fields, in the KPI section, click the custom property that you want to use and drag it to the Drop fields to create connections box for the analytic chart or grid.

    When you release the mouse button, the Connection dialog box opens.

  3. In the Connection dialog box, the Connect to: and Source value: lists are already populated. These lists contain the recommended solutions for the connection to work. Keep these default settings, and then click OK.

  4. (This step is optional.) To apply a formula that additionally filters the content, click the Connection Formula button. The Connection Formula dialog box opens.

    In the Connection Formula dialog box, type a formula that will be applied to filter the data before it reaches the report. The formula that you specify can include a Time Intelligence statement or an MDX query.

    Tip:

    For more information about the kinds of formulas that you can use, see Use the Connection Formula dialog box in Dashboard Designer to configure a filter connection.

    After you have specified a formula, click OK to close the Connection Formula dialog box.

  5. Click OK to close the Connection dialog box. In the center pane of the workspace, in the Connections box for the analytic chart or grid, you can see the name of the scorecard that you have connected to it.

  6. In the Workspace Browser, right-click the dashboard, and then click Save. Deploy the dashboard to view and test the filter connection.

See Also

Concepts

Define custom properties for a PerformancePoint KPI
Create a scorecard by using Dashboard Designer
Create an analytic chart or grid by using Dashboard Designer
Use the Connection Formula dialog box in Dashboard Designer to configure a filter connection


Connect a PerformancePoint scorecard item to a SQL Server Reporting Services report
See Also

Published: August 23, 2011

By using PerformancePoint Dashboard Designer, you can connect a scorecard key performance indicator (KPI) to a Microsoft SQL Server Reporting Services (SSRS) report. When you do this, you can use the KPI as a filter for the SQL Server Reporting Services report. That way, when users click the KPI, the Reporting Services report updates to display additional information about that KPI.

In this article:

  • Begin with a dashboard that contains a scorecard and a Reporting Services report

  • Connect a KPI to a Reporting Services report

Begin with a dashboard that contains a scorecard and a Reporting Services report

Make sure that the dashboard page contains a scorecard and a Reporting Services report that you want to connect to the scorecard. The Reporting Services report must contain at least one parameter.

If you do not have such a dashboard, you can create one. To create a basic dashboard, follow these steps.

To create a basic dashboard

  1. Create a scorecard that contains one or more KPIs. For more information, see Create a scorecard by using Dashboard Designer.

  2. Create a Reporting Services report that contains at least one parameter. For more information, see Create a Reporting Services report by using Dashboard Designer.

    Tip:

    Make a note of the parameters that are defined for the report. You can view this information in Dashboard Designer by clicking the Editor tab for the Reporting Services report.

  3. Create a dashboard page. Consider using a two-column page layout template to display the scorecard and the report next to one another. For more information, see Create a dashboard page by using Dashboard Designer.

  4. Add the scorecard and the Reporting Services report to the dashboard page that you created in step 3. For more information, see Add dashboard items to a page by using Dashboard Designer.

  5. Keep the dashboard open for editing, and proceed to Connect a KPI to a Reporting Services report.

Connect a KPI to a Reporting Services report

When you create a connection between a KPI and a Reporting Services report, you configure the connection by using a custom property that is defined for the KPI. The first step is to identify or define a custom property for each KPI that you want to connect to the report.

To verify that a custom property was defined for a KPI

  1. Begin with a dashboard page that is open for editing in Dashboard Designer. Click the Editor tab for the dashboard page that you want to change.

  2. Locate the scorecard that you want to connect to the Reporting Services report. In the Workspace Browser, double-click the name of the scorecard to open it for editing.

  3. Locate the KPI that you want to connect to the report. In the Workspace Browser, double-click the name of that KPI to open it in the center pane. Then click the Properties tab.

  4. In the Custom Properties section, view the custom properties that are defined for the KPI. Verify that at least one custom property contains a value such as a key, unique name, or caption that the Reporting Services report recognizes as an input for one or more parameters.

    Note:

    If no custom properties are listed, or you cannot find a custom property that contains an appropriate value, then you must define one for the KPI.

    See the following procedure for information about how to define a custom property.

To define a custom property for a KPI

  1. Begin with a dashboard page that is open for editing in Dashboard Designer. Click the Editor tab for the dashboard page that you want to change.

  2. Locate the scorecard that you want to connect to the Reporting Services report. In the Workspace Browser, double-click the name of the scorecard to open it for editing.

  3. Locate the KPI that you want to connect to the report. In the Workspace Browser, double-click the name of that KPI to open it in the center pane. Then click the Properties tab.

  4. In the Custom Properties section, click New Property.

    The Property Type Selector dialog box appears.

  5. Select Text for the property type, and then click OK.

    The new property is listed in the Custom Properties section.

  6. In the Value column, specify a value that the Reporting Services report will recognize as a valid input for its parameter. The value that you specify can be a query that corresponds to a key, unique name, or caption.

    For example, suppose that a scorecard contains inventory control KPIs to display performance information for inventory control in various countries. Suppose that the Reporting Services report uses SQL Server Analysis Services data, and that the report displays detailed information about product inventory for those same countries. In this case, you could use a multidimensional expressions (MDX) query that resembles [Product].[Product].DEFAULTMEMBER. Then when you connect the custom property to the Reporting Services report, the scorecard will send product information to the report so that the report displays information for only the country that a dashboard user has clicked.

    As another example, suppose that the Reporting Services report is an interactive map that displays sales information for various regions or countries. Suppose the report contains a Geography parameter. In this case, you can specify a value or a query that corresponds to a particular region or country.

  7. In the Custom Properties section, in the Name column, select the default text and type the name that you want to use for the custom property.

  8. (This step is optional.) In the Description column, type a brief description for the custom property.

  9. In the Workspace Browser, right-click the KPI, and then click Save.

Now that each KPI that you want to connect to the Reporting Services report contains at least one appropriate custom property, the next step is to configure the connection between each KPI and the report. You use the custom property to create and configure the connection.

To create a connection by using a KPI's custom property

  1. Begin with a dashboard page that is open for editing in Dashboard Designer. Click the Editor tab for the dashboard page that you want to change.

  2. Locate the scorecard that you want to connect to the Reporting Services report. Under Available Fields, in the KPI section, click the custom property that you want to use and drag it to the Drop fields to create connections box for the report.

    When you release the mouse button, the Connection dialog box appears.

  3. In the Connection dialog box, notice that the Connect to list and the Source value list are already populated. These lists contain the recommended solutions for the connection to work. Keep these default settings, and then click OK.

  4. (This step is optional.) To apply a formula that additionally filters the content, click the Connection Formula button. The Connection Formula dialog box appears.

    In the Connection Formula dialog box, type a formula that will be used to filter the data before it reaches the report. The formula that you specify can include a Time Intelligence statement or an MDX query.

    Tip:

    For more information about the kinds of formulas that you can use, see Use the Connection Formula dialog box in Dashboard Designer to configure a filter connection.

    After you have specified a formula, click OK to close the Connection Formula dialog box.

  5. Click OK to close the Connection dialog box. In the center pane of the workspace, in the Connections box for the Reporting Services report, you can see the name of the scorecard that you have connected to it.

  6. In the Workspace Browser, right-click the dashboard, and then click Save.

To view and test the connection, publish the dashboard to SharePoint Server. For more information, see Deploy a PerformancePoint dashboard.

See Also

Concepts

Assemble dashboard pages and link items together by using Dashboard Designer
Plan, design, and implement a PerformancePoint dashboard
Create advanced PerformancePoint dashboards


Connect a PerformancePoint scorecard item to an Excel Services report
See Also

Published: August 23, 2011

By using PerformancePoint Dashboard Designer, you can connect a scorecard key performance indicator (KPI) to an Excel Services report. When you do this, you can use the KPI as a filter for the Excel Services report. That way, when users click the KPI, the Excel Services report updates to display additional information about that KPI.

In this article:

  • Begin with a dashboard that contains a scorecard and an Excel Services report

  • Connect a KPI to an Excel Services report

Begin with a dashboard that contains a scorecard and an Excel Services report

Make sure that the dashboard page contains a scorecard and an Excel Services report that you want to connect to the scorecard. The Excel Services report must contain at least one parameter.

If you do not have such a dashboard, you can create one. To create a basic dashboard, follow these steps.

To create a basic dashboard

  1. Create a scorecard that contains one or more KPIs. For more information, see Create a scorecard by using Dashboard Designer.

  2. Create an Excel Services report that contains at least one parameter. For more information, see Create an Excel Services report by using Dashboard Designer.

  3. Create a dashboard page. Consider using a two-column page layout template to display the scorecard and the report next to one another. For more information, see Create a dashboard page by using Dashboard Designer.

  4. Add the scorecard and the Excel Services report to the dashboard page that you created in step 3. For more information, see Add dashboard items to a page by using Dashboard Designer.

  5. Keep the dashboard open for editing, and proceed to Connect a KPI to an Excel Services report.

Connect a KPI to an Excel Services report

When you create a connection between a KPI and an Excel Services report, you configure the connection by using a custom property that is defined for the KPI. The first step is to identify or define a custom property for each KPI that you want to connect to the report.

To verify that a custom property was defined for a KPI

  1. Begin with a dashboard page that is open for editing in Dashboard Designer. Click the Editor tab for the dashboard page that you want to change.

  2. Locate the scorecard that you want to connect to the Excel Services report. In the Workspace Browser, double-click the name of the scorecard to open it for editing.

  3. Locate the KPI that you want to connect to the report. In the Workspace Browser, double-click the name of that KPI to open it in the center pane. Then click the Properties tab.

  4. In the Custom Properties section, view the custom properties that are defined for the KPI. Verify that at least one custom property contains a value such as a query that the Excel Services report recognizes as an input for one or more parameters.

    Note:

    If no custom properties are listed, or you cannot find a custom property that contains an appropriate value, you must define one for the KPI.

    See the following procedure for information about how to define a custom property.

To define a custom property for a KPI

  1. Begin with a dashboard page that is open for editing in Dashboard Designer. Click the Editor tab for the dashboard page that you want to change.

  2. Locate the scorecard that you want to connect to the Excel Services report. In the Workspace Browser, double-click the name of the scorecard to open it for editing.

  3. Locate the KPI that you want to connect to the report. In the Workspace Browser, double-click the name of that KPI to open it in the center pane. Then click the Properties tab.

  4. In the Custom Properties section, click New Property.

    The Property Type Selector dialog box appears.

  5. Select Text for the property type, and then click OK.

    The new property is listed in the Custom Properties section.

  6. In the Value column, specify a value that the Excel Services report will recognize as a valid input for its parameter. The value that you specify can be a query that corresponds to a dimension hierarchy or member.

    For example, suppose that a scorecard contains inventory control KPIs to display performance information for inventory control in various regions or countries. Suppose that the Excel Services report uses SQL Server Analysis Services data, and that the report displays detailed information about product inventory across different product categories. Suppose also that the Excel Services report contains a Geography parameter. In this case, you could use a multidimensional expressions (MDX) query to specify a region or country as input for that parameter in the Excel Services report. Then, when you connect the custom property to the Excel Services report, the scorecard sends geographical information to the report so that the report displays information for only the region or country that a dashboard user has clicked.

  7. In the Custom Properties section, in the Name column, select the default text and type the name that you want to use for the custom property.

  8. (This step is optional.) In the Description column, type a brief description for the custom property.

  9. In the Workspace Browser, right-click the KPI, and then click Save.

Now that each KPI that you want to connect to the Excel Services report contains at least one appropriate custom property, the next step is to configure the connection between each KPI and the report. You use the custom property to create and configure the connection.

To create a connection by using a KPI's custom property

  1. Begin with a dashboard page that is open for editing in Dashboard Designer. Click the Editor tab for the dashboard page that you want to change.

  2. Locate the scorecard that you want to connect to the Excel Services report. Under Available Fields, in the KPI section, click the custom property that you want to use and drag it to the Drop fields to create connections box for the report.

    When you release the mouse button, the Connection dialog box appears.

  3. In the Connection dialog box, use the Connect to list to select the name of the parameter that was defined in the Excel Services file, and then click OK.

  4. (This step is optional.) To apply a formula that additionally filters the content, click the Connection Formula button. The Connection Formula dialog box appears.

    In the Connection Formula dialog box, type a formula that will be used to filter the data before it reaches the report. The formula that you specify can include a Time Intelligence statement or an MDX query.

    Tip:

    For more information about the kinds of formulas that you can use, see Use the Connection Formula dialog box in Dashboard Designer to configure a filter connection.

    After you have specified a formula, click OK to close the Connection Formula dialog box.

  5. Click OK to close the Connection dialog box. In the center pane of the workspace, in the Connections box for the Excel Services report, you can see the name of the scorecard that you have connected to it.

  6. In the Workspace Browser, right-click the dashboard, and then click Save.

To view and test the connection, publish the dashboard to SharePoint Server. For more information, see Deploy a PerformancePoint dashboard.

See Also

Concepts

Assemble dashboard pages and link items together by using Dashboard Designer
Plan, design, and implement a PerformancePoint dashboard
Create advanced PerformancePoint dashboards


Extend PerformancePoint dashboards by using MDX queries

You can extend functionality in your dashboards by using custom Multidimensional Expression (MDX) queries in PerformancePoint Dashboard Designer. You can use them to do any of the following:

  • Configure connections between sophisticated dashboard filters and dashboard items by using the Connection Formula dialog box, in which you type a query that refines the way a particular filter works.

  • Create a customized view in analytic charts and grids by using MDX queries on the Query tab.

  • Create calculated members for key performance indicators (KPIs) in a scorecard by using MDX tuples in the Dimensional Data Source Mapping dialog box.

MDX queries are especially useful for advanced dashboard authors who are very familiar with MDX and the SQL Server Analysis Services data that is used in PerformancePoint dashboard items.

This article contains some examples of MDX statements that you can use. However, these examples are an incomplete list. There are many more MDX queries that you can use with Dashboard Designer. To learn more about MDX queries, see Multidimensional Expressions (MDX) Reference (http://go.microsoft.com/fwlink/p/?LinkId=185458).

Note:

The examples in this article were created by using the AdventureWorks sample database that is available with Microsoft SQL Server.

In this article:

  • Use MDX in the Connection Formula dialog box (for filters)

  • Use MDX in the Query tab for an analytic chart or grid

  • Use MDX in the Dimensional Data Source Mapping dialog box (for scorecard KPIs)

Use MDX in the Connection Formula dialog box

You can use the Connection Formula dialog box to enhance the way your dashboard filters work with your dashboard items. For example, suppose that you have created a dashboard that includes a Geography filter and an analytic chart that shows product sales. By default, when a dashboard user selects a region or country in the filter, the chart displays the product sales amounts for that region or country. You might also want to display just the 10 best-selling products for each region/country. Your solution is to use the Connection Formula dialog box to enter an MDX query that displays the information that you want to show. Your filter and analytic chart do not change. However, the way the filter works with the report does change.

When you enter MDX queries in the Connection Formula dialog box, you can include one or more monikers, such as <<uniquename>>, in your formula. The moniker that you use can include additional MDX code, but it is not required. For example, you could use <<uniquename>> by itself to show general information about the dimension member that you want to filter. Or you could use <<uniquename>>.children to display the next level of detail about the dimension that you want to filter.

The following table includes some code examples that you can use in the Connection Formula dialog box.

Description | Syntax
Children of the selected member | <<UniqueName>>.Children or <<SourceValue>>.Children
Parent of the selected member | <<UniqueName>>.Parent
Descendants of the member at level 2 | Descendants(<<UniqueName>>,2)
Top 10 descendants of the member at level 2 for the "Internet Sales Amount" measure for Quarter 3 of 2008 | TopCount({Descendants(<<UniqueName>>,2)}, 10, ([Date].[Calendar].[Calendar Quarter].&[2008]&[3],[Measures].[Internet Sales Amount]))
The Hierarchize function, which lets you compare several countries or regions and select the top two members (cities) in each region | Hierarchize(Union(<<UniqueName>>, Generate(<<UniqueName>>, TopCount(Descendants([Geography].[Geography].CurrentMember, [Geography].[Geography].[City]), 2, ([Measures].[Sales Amt], [Time].[FY Year].&[2006]) )) ))
Nonempty values function | NONEMPTY(EXISTS([Dimension].[Hierarchy - Dimension].[Level number].members,<<SourceValue>>,'Measure Group'))

You open and use the Connection Formula dialog box when you are connecting a dashboard filter to a report or a scorecard. For more information, see Connect a filter to a report or a scorecard by using Dashboard Designer and Use the Connection Formula dialog box in Dashboard Designer to configure a filter connection.

Use MDX in the Query tab for an analytic chart or grid

When you create or edit analytic charts and grids, you can use the Query tab to configure your report by using a custom MDX query. You typically do this to create certain analytic views that you cannot replicate by using the drag-and-drop functionality that is available on the Design tab.

Visual Basic Note:

Reports created by using custom MDX lose some of their functionality in dashboards. For example, users will be unable to explore data to see higher or lower levels of detail in analytic charts and grids that have custom MDX code. Be sure to take this into account when you use custom MDX queries.

The following table includes some code examples that you can use on the Query tab for analytic charts and grids.

Description | Syntax
Add a constant line to an analytic chart to indicate a target value. After you create your view by using drag-and-drop functionality, you can click the Query tab and then add a WITH MEMBER clause. | WITH MEMBER [Measures].[Target] As 0.04, FORMAT_STRING="0.0%" SELECT { DESCENDANTS( [Date].[Fiscal].[FY 2003], [Date].[Fiscal].[Month] ) } ON COLUMNS, { [Measures].[Reseller Gross Profit Margin], [Measures].[Target] } ON ROWS FROM [AdventureWorks]
Create a custom MDX query that can be used to specify a member set for an analytic chart. This query example returns a member set that contains the top 20 products by sales amount for the calendar year 2006. This query also creates the parameters <<Product>> and <<Geography>>. | SELECT {[Time].[Calendar].[Year].&[2006]} ON COLUMNS, {TOPCOUNT({DESCENDANTS(<<Product>>, [Product].[Product].[Product]) }, 20, ( [Time].[Calendar].[Year].&[2006], [Measures].[Sales Amt]) ) } ON ROWS FROM [Sales] WHERE ( <<Geography>>, [Measures].[Sales Amt] )

You use the Query tab when you are creating or editing an analytic chart or grid. For more information, see Create an analytic chart or grid by using Dashboard Designer.

Use MDX in the Dimensional Data Source Mapping dialog box

When you want to configure sophisticated KPIs in your scorecard, you can use the Dimensional Data Source Mapping dialog box to enter an MDX tuple to create calculated values. For example, suppose that you have created a dashboard that includes a scorecard for a sales team. The scorecard compares quota amounts to actual sales amounts. However, the sales quota amounts change from one year to the next. Your solution is to create KPIs that use calculated target values. You can use the Dimensional Data Source Mapping dialog box to enter an MDX tuple.

The following table includes some code examples that you can use.

Description | Syntax
Calculate a target KPI that is 10% more than the same period last year. | ([Measures].[Sales Amount], [Date].[Fiscal].[Fiscal Year].&[2007].PrevMember)*1.1
Create a Trend Indicator for a KPI. | (([Date].[Calendar].CurrentMember, [Measures].[Customer Count])-([Date].[Calendar].CurrentMember.PrevMember, [Measures].[Customer Count]))/([Date].[Calendar].CurrentMember.PrevMember, [Measures].[Customer Count])
Calculate a 20% increase in the Sales Amount value from the same time period the prior year. | ([Measures].[Sales Amount], ParallelPeriod([Date].[Fiscal].[Fiscal Year], 2, [Date].[Fiscal].[Fiscal Quarter].&[2007]&[2]))*1.2

You use the Dimensional Data Source Mapping dialog box when you are configuring a KPI. For more information, see Create and configure a KPI by using Dashboard Designer.


Extend PerformancePoint dashboards by using Time Intelligence
See Also

Published: February 24, 2011

When you create dashboards by using PerformancePoint Dashboard Designer, you might want to consider adding Time Intelligence to dashboard items. Time Intelligence enables you to display dynamic information that is always up to date. For example, you can create a Time Intelligence dashboard filter to show information for rolling time periods, such as the last two years, the last six months, or the last 60 days. Or, you can create a key performance indicator (KPI) for a scorecard that uses Time Intelligence to show performance information about a period-to-date basis, such as year to date or month to date.

In this article:

  • What is Time Intelligence in PerformancePoint Services?

  • How can I add Time Intelligence to a PerformancePoint dashboard?

What is Time Intelligence in PerformancePoint Services?

Time Intelligence is functionality that enables you to create dashboards that display information for dynamic time periods that are relative to the current date. For example, you can configure dashboard content to display information for a range of time, such as Last Six Months or Quarter to Date. Or, you can configure dashboard content to display information as of a particular date.

In PerformancePoint Services, you add Time Intelligence to your dashboard content by specifying formulas that use a particular syntax. This syntax is called Simple Time Period Specification syntax, and it is used to define expressions that include some combination of time members, functions, and operators.

A time member is a unit of time, such as a year, month, week, or day. An operator enables you to specify a range of time or to combine periods of time. There are only two operators that are used with Time Intelligence in PerformancePoint Services: the colon (:), which is used to indicate a range of time; and the comma (,), which is used to combine time members.

Examples of Time Intelligence formulas are included in the following table.

Formula Description

<Member>ToDate

This period-to-date formula causes information to be displayed for information from the beginning of a particular time period to now.

For example, YearToDate would cause information to be displayed for the period of time ranging from the beginning of the current year to now.

<Member>:<Member>-5

This formula causes information to be displayed for the range of time from the current time period to six time periods ago.

For example, Month:Month-5 would cause information to be displayed for the past six months.

<Member>,<Member>-1

This formula causes information to be displayed for the current time period and the previous time period.

For example, Month, Month-1 causes information to be displayed for the current and previous month.

For more information about Time Intelligence formulas, see PerformancePoint Time Intelligence quick reference.

How can I add Time Intelligence to a PerformancePoint dashboard?

You can add Time Intelligence to a PerformancePoint dashboard in several different ways, as described in the following table.

Method Description

Create a Time Intelligence dashboard filter

You can create two kinds of Time Intelligence dashboard filters:

  • Time Intelligence dashboard filters that include a list of dynamic time periods that you specify

  • Time Intelligence Connection Formula dashboard filters that use a calendar control to specify information as of a particular date. When you create a Time Intelligence Connection Formula dashboard filter, you do not specify a formula until you connect that filter to a report or a scorecard.

For more information, see Create a Time Intelligence filter by using Dashboard Designer.

Configure a scorecard KPI to use Time Intelligence

You can configure a KPI to include a Time Intelligence filter in a metric, such as an Actual or Target value. For example, you can configure the KPI to show information for just the current year, or for the past six months.

For more information, see Add a Time Intelligence filter to a PerformancePoint KPI.

Important:

For Time Intelligence to work correctly, you must configure each data source that is used in your dashboard reports and scorecards to work with Time Intelligence. For more information, see Configure data sources to work with Time Intelligence by using Dashboard Designer.

See Also

Concepts

PerformancePoint Time Intelligence quick reference
Plan, design, and implement a PerformancePoint dashboard
Create advanced PerformancePoint dashboards


Extend a PerformancePoint KPI
See Also

Published: February 24, 2011

In PerformancePoint Services in Microsoft SharePoint Server 2010, a key performance indicator (KPI) is a scorecard element that shows at a glance whether performance is on- or off-target for a particular metric. KPIs can vary greatly in their appearance and complexity. After you and other dashboard authors have created basic KPIs by using PerformancePoint Dashboard Designer, you can then extend those KPIs by adding more complex functionality. For example, you can configure a KPI to use multiple actual or target values, calculated metrics, and filters.

The articles in this section contain information about how to additionally configure KPIs. For information about how to create KPIs, see Create and configure a KPI by using Dashboard Designer.

In this section:

  • Add multiple target or actual values to a PerformancePoint KPI

  • Add calculated metrics to a PerformancePoint KPI

  • Add a dimension filter to a PerformancePoint KPI

  • Add a Time Intelligence filter to a PerformancePoint KPI

  • Add trend indicators to a PerformancePoint KPI

  • Define custom properties for a PerformancePoint KPI

  • Use a custom MDX query for a PerformancePoint KPI

  • Configure aggregation settings for a PerformancePoint KPI

See Also

Concepts

Create and configure a KPI by using Dashboard Designer
Create a scorecard by using Dashboard Designer
Extend PerformancePoint dashboards by using MDX queries
Extend PerformancePoint dashboards by using Time Intelligence


Add multiple target or actual values to a PerformancePoint KPI
See Also

Published: February 24, 2011

After you have created a PerformancePoint KPI, you can use PerformancePoint Dashboard Designer to add multiple target or actual values to that KPI. That way, overall performance is measured by a combination of values.

For example, suppose that a retail organization wants to see sales performance as measured by sales amounts and gross profit margins. You can configure a Sales KPI that displays sales amounts compared to quota alongside gross profit margins in a single row in the scorecard.

Configuring KPIs to use multiple Actual and Target values

When you extend a KPI by adding multiple or actual values to a KPI, you begin by opening an existing KPI for editing. Then, you use the Editor tab in the center pane of Dashboard Designer to additionally configure that KPI. Before you perform the procedures in this article, make sure that you have an existing KPI to configure. To create a KPI, see Create and configure a KPI by using Dashboard Designer.

Open a KPI for editing

To open a KPI for editing

  1. In Dashboard Designer, locate the Workspace Browser on the left side of the window, and then click PerformancePoint Content. The center pane displays two tabs: SharePoint and Workspace.

  2. Using the SharePoint and Workspace tabs, locate a KPI that you want to configure.

  3. Double-click the KPI that you want to configure to open it for editing.

Add multiple Actual and Target values to a PerformancePoint KPI

When you add multiple Actual and Target values to a KPI, you configure each new value separately. You configure each new Actual value by specifying the name, number formatting, data mapping, and calculation settings for that KPI. You configure each new Target value by specifying the name, number formatting, data mapping, indicator, and calculation settings.

To configure an additional Actual value

  1. In the center pane, on the Editor tab, in the Actual and Targets section, click New Actual.

  2. To edit the name of the new Actual value, in the Name column, click the current name of that value to highlight its text, and then type a new name.

  3. To specify how numeric values are displayed in a scorecard, take the following steps:

    1. In the Number Format column, click the hypertext to open the Format Numbers dialog box.

    2. Specify the format and other settings that you want to use for the value in the KPI.

    3. Click OK to close the Format Numbers dialog box.

  4. To specify the data source that you want to use for the new Actual value, take the following steps:

    1. In the Data Mappings column, click the hypertext. The Fixed Values Data Source Mapping dialog box opens.

    2. Click Change Source to open the Select a Data Source dialog box.

    3. Use the SharePoint Site, Workspace, and Calculated Metric tabs to locate the data source that you want to use.

      If you want to use a calculation that is based on a formula for the new Actual value, see Add calculated metrics to a PerformancePoint KPI. Otherwise, proceed to the next step.

    4. After you have selected a data source, click OK to open the Dimensional Data Source Mapping dialog box. Then, use the Select a measure list to select an item, and click OK.

  5. To specify calculation settings for the new Actual value, take the following steps:

    1. In the Calculation column, click the hypertext to open the Calculation dialog box.

    2. Select the kind of calculation that you want to use, and then click OK.

  6. In the Workspace Browser, right-click the KPI, and then click Save.

To configure an additional Target value

  1. In the center pane, on the Editor tab, in the Actual and Targets section, click New Target.

  2. To edit the name of the new Target value, in the Name column, click the current name of that value to highlight its text, and then type a new name.

  3. To specify which value to compare to the new Target value, use the Compare to list to select an Actual value.

  4. To specify how numeric values are displayed in a scorecard, take the following steps:

    1. In the row that contains the new Target value, in the Number Format column, click the hypertext to open the Format Numbers dialog box.

    2. Specify the format and other settings that you want to use for the value in the KPI.

    3. Click OK to close the Format Numbers dialog box.

  5. To configure the indicator and scoring settings that are used by the new Target value, take the following steps:

    1. In the Target row, click the cell in the Indicators column.

      The Thresholds pane is enabled.

    2. In the Thresholds pane, verify that the correct settings are used for the various threshold values.

    3. To make any changes to the indicator and scoring settings, click Set Scoring Pattern and Indicator to open the Edit Banding Settings wizard.

    4. Use the wizard to specify the scoring pattern, indicator, and worst value for the KPI.

  6. To specify the data source that you want to use for the new Target value, take the following steps:

    1. In the Data Mappings column, click the hypertext. The Fixed Values Data Source Mapping dialog box opens.

    2. Click Change Source to open the Select a Data Source dialog box.

    3. Use the SharePoint Site, Workspace, and Calculated Metric tabs to locate the data source that you want to use.

      If you want to a use calculation that is based on a formula for the new Target value, see Add calculated metrics to a PerformancePoint KPI. Otherwise, proceed to the next step.

    4. After you have selected a data source, click OK to open the Dimensional Data Source Mapping dialog box. Then, use the Select a measure list to select an item, and click OK.

  7. To specify calculation settings for the new Target value, take the following steps:

    1. In the Calculation column, click the hypertext to open the Calculation dialog box.

    2. Select the kind of calculation that you want to use, and then click OK.

  8. In the Workspace Browser, right-click the KPI, and then click Save.

See Also

Concepts

Create and configure a KPI by using Dashboard Designer
Extend a PerformancePoint KPI
Create a scorecard by using Dashboard Designer


Add calculated metrics to a PerformancePoint KPI
See Also

Published: February 24, 2011

After you have created a PerformancePoint KPI, you can use PerformancePoint Dashboard Designer to configure that KPI to show performance that is based on a calculation that uses a formula. For example, suppose that you want to configure a KPI that shows growth calculated as a percentage. You can do this by configuring the KPI to use calculated metrics.

You can use calculated metrics for a KPI's Actual value, Target value, or both. In addition, calculated metrics can use data from the same or different data sources.

Configuring KPIs to use calculated metrics

When you extend a KPI by adding calculated metrics to that KPI, you begin by opening an existing KPI for editing. Then, you use the Editor tab in the center pane of Dashboard Designer to additionally configure that KPI. Before you perform the procedures in this article, make sure that you have an existing KPI to configure. To create a KPI, see Create and configure a KPI by using Dashboard Designer.

Open a KPI for editing

To open a KPI for editing

  1. In Dashboard Designer, locate the Workspace Browser on the left side of the window, and then click PerformancePoint Content. The center pane displays two tabs: SharePoint and Workspace.

  2. Using the SharePoint and Workspace tabs, locate a KPI that you want to configure.

  3. Double-click the KPI that you want to configure to open it for editing.

Configure a KPI to use calculated metrics

When you add calculated metrics to a KPI, you configure the data mappings for an Actual or Target value in a KPI. You configure the data mappings for each Actual or Target value separately.

To configure a KPI to use calculated metrics

  1. In the center pane, on the Editor tab, locate the Actual or Target value for which you want to use a calculated metric.

  2. In the Data Mappings column, click the hypertext. A Data Source Mapping dialog box opens.

    Depending on how the KPI was created, the Data Source Mapping dialog box will be one of the following:

    • Fixed Values Data Source Mapping dialog box.

    • Dimensional Data Source Mapping dialog box

    • Calculated Metrics Data Source Mapping dialog box

    Click Change Source to open the Select a Data Source dialog box.

  3. In the Select a Data Source dialog box, click the Calculated Metric tab.

  4. Select a formula, and then click OK.

    The Calculated Metrics Data Source Mapping dialog box opens.

  5. In the Calculated Metrics Data Source Mapping dialog box, notice the list of values and their corresponding sources. Also notice the formula that is displayed in the Formula pane.

  6. To configure the list of values or the formula, do one of the following:

    • To add a value to the list, click New Mapping.

    • To remove a value from the list, click its row, and then click Delete.

    • To use a different formula, click Change Source, and then use the Calculated Metric tab to select a formula template. Or, delete the existing formula and type your own formula.

  7. By default, each value has a name that resembles Value1, Value2, and so on. You can either keep these names, or change them to more meaningful names.

    To change the name of a value, in the Name column, click to select the text, and then type a new name.

  8. Each value that you use in the formula must be mapped to a data source. By default, each value is set to 1(Fixed Values). To configure a value, follow these steps:

    To map a value to a data source

    1. Click the hypertext in the Source column to open the Fixed Values Data Source Mapping dialog box.

    2. Do one of the following:

      • Specify a fixed value. In the Value box, type a numeric value to use in the formula. Then proceed to Step 9.

      • Specify a value from a database. To do this, take the following steps:

        1. Click Change Source to open the Select a Data Source dialog box.

        2. Use the SharePoint Site or Workspace tabs to select a data source. The Dimensional Data Source Mapping dialog box opens.

        3. In the Dimensional Data Source Mapping dialog box, use the Select a measure list to select an item, and then click OK.

  9. Repeat Steps 7-8 until you have finished configuring the calculated metric for the KPI. Then, click OK to close the Calculated Metrics Data Source Mapping dialog box.

  10. In the Workspace Browser, right-click the KPI, and then click Save.

See Also

Concepts

Create and configure a KPI by using Dashboard Designer
Extend a PerformancePoint KPI
Create a scorecard by using Dashboard Designer


Add a dimension filter to a PerformancePoint KPI
See Also

Published: February 24, 2011

After you have created a PerformancePoint KPI, you can use PerformancePoint Dashboard Designer to configure that KPI to use dimension filters. For example, suppose that you want to configure a KPI that shows performance for a particular geographical region. You can do this by adding a dimension filter to the KPI.

You can add a dimension filter to a KPI's Actual value, Target value, or both, provided these values use a dimensional data source and are not based on fixed values.

Adding dimension filters to PerformancePoint KPIs

When you extend a KPI by adding dimension filters to that KPI, you begin by opening an existing KPI for editing. Then, you use the Editor tab in the center pane of Dashboard Designer to additionally configure that KPI. Before you perform the procedures in this article, make sure that you have an existing KPI to configure. To create a KPI, see Create and configure a KPI by using Dashboard Designer.

Open a KPI for editing

To open a KPI for editing

  1. In Dashboard Designer, locate the Workspace Browser on the left side of the window, and then click PerformancePoint Content. The center pane displays two tabs: SharePoint and Workspace.

  2. Using the SharePoint and Workspace tabs, locate a KPI that you want to configure.

  3. Double-click the KPI that you want to configure to open it for editing.

Add a dimension filter to a KPI

When you add dimension filters to a KPI, you use the Dimensional Data Source Mapping dialog box. You configure each Actual or Target value separately.

To add a dimension filter to a KPI

  1. In the center pane, on the Editor tab, locate the Actual or Target value for which you want to add a dimension filter.

  2. In the Data Mappings column, click the hypertext. A Data Source Mapping dialog box opens. You add a dimension filter to a KPI's value by using the Dimensional Data Source Mapping dialog box. Depending on which Data Source Mapping dialog box opens, use one of the procedures shown in the following table.

    Data Source Mapping dialog box type Procedure

    Fixed Values Data Source Mapping

    If the Fixed Values Data Source Mapping dialog box is open, you cannot add a dimension filter to that value as it is configured. You can either select a different value, or you can specify a different (dimensional) data source to use for that value.

    To use a different data source, take the following steps:

    1. Click Change Source to open the Select a Data Source dialog box.

    2. Use the SharePoint Site and Workspace tabs to locate the data source that you want to use, and then click OK.

    3. Proceed to Step 3.

    Dimensional Data Source Mapping

    If the Dimensional Data Source Mapping dialog box is open, proceed to Step 3.

    Calculated Metrics Data Source Mapping

    If the Calculated Metrics Data Source Mapping dialog box is open, then the KPI's Actual or Target value is based on a formula that consists of one or more other values. You can define a dimension filter for each value that is listed in the Calculated Metrics Data Source Mapping dialog box, provided it does not use fixed values.

    1. In the Calculated Metrics Data Source Mapping dialog box, click the hypertext in the Source column for a value.

    2. Notice which kind of Data Source Mapping dialog box opens

      • If the Dimensional Data Source Mapping dialog box is open, proceed to Step 3.

      • If the Fixed Values Data Source Mapping dialog box opens, click Cancel and select a different value.

        Or, specify a different data source to use for that value. To use a different data source, take the following steps:

        1. Click Change Source to open the Select a Data Source dialog box.

        2. Use the SharePoint Site and Workspace tabs to locate the data source that you want to use, and then click OK.

        3. Proceed to Step 3.

    For more information about calculated metrics, see Add calculated metrics to a PerformancePoint KPI.

  3. In the Dimensional Data Source Mapping dialog box, click New Dimension Filter to open the Select Dimension dialog box.

  4. In the Dimension section, select the dimension hierarchy that you want to use, and then click OK.

  5. In the Dimensional Data Source Mapping dialog box, notice the new row for the dimension filter. By default, all the members in the dimension hierarchy that you selected will be used in the filter. To specify one or more individual members, in the Default column, click the hypertext to open the Select Members dialog box.

  6. In the Select Members dialog box, clear the Default Member (All) selection. Then, use the expandable tree control to view the list of dimension members. Select the items that you want to include in the dimension filter.

    Tip:

    Some members might contain next-level members. When a member contains other members, a plus sign (+) appears next to that member. You can either select a member at the first level, or expand the list and select one or more members at the next lower level.

  7. Click OK to close the Select Members dialog box, and then click OK to close the Dimensional Data Source Mapping dialog box.

  8. Repeat for each value for which you want to add a dimension formula.

    • If the Calculated Metrics Data Source Mapping dialog box is open, repeat Steps 2-7.

    • If no Data Source Mapping dialog box is open, repeat Steps 1-7.

  9. In the Workspace Browser, right-click the KPI, and then click Save.

See Also

Concepts

Create and configure a KPI by using Dashboard Designer
Extend a PerformancePoint KPI
Create a scorecard by using Dashboard Designer


Add a Time Intelligence filter to a PerformancePoint KPI
See Also

Published: February 24, 2011

After you have created a PerformancePoint KPI, you can use PerformancePoint Dashboard Designer to configure that KPI to use Time Intelligence. For example, suppose that you want to configure a KPI that shows performance on a year-to-date or month-to-date basis. You can do this by adding a Time Intelligence filter to the KPI.

You can add a Time Intelligence formula to a KPI's Actual value, Target value, or both.

Important:

Time Intelligence filters will only work with data sources that have been configured to work with Time Intelligence. Make sure that each data source that is used by a KPI is configured correctly before you add a Time Intelligence filter to a KPI. For more information, see Configure data sources to work with Time Intelligence by using Dashboard Designer.

To learn more about Time Intelligence, see Extend PerformancePoint dashboards by using Time Intelligence.

Adding Time Intelligence to PerformancePoint KPIs

When you extend a KPI by adding Time Intelligence filters to that KPI, you begin by opening an existing KPI for editing. Then, you use the Editor tab in the center pane of Dashboard Designer to additionally configure that KPI. Before you perform the procedures in this article, make sure that you have an existing KPI to configure. To create a KPI, see Create and configure a KPI by using Dashboard Designer.

Open a KPI for editing

To open a KPI for editing

  1. In Dashboard Designer, locate the Workspace Browser on the left side of the window, and then click PerformancePoint Content. The center pane displays two tabs: SharePoint and Workspace.

  2. Using the SharePoint and Workspace tabs, locate a KPI that you want to configure.

  3. Double-click the KPI that you want to configure to open it for editing.

Add a Time Intelligence filter to a KPI

When you add Time Intelligence filters to a KPI, you use the Dimensional Data Source Mapping dialog box. You configure each Actual or Target value separately.

To add a Time Intelligence filter to a KPI

  1. In the center pane, on the Editor tab, locate the Actual or Target value for which you want to add a Time Intelligence filter.

  2. In the Data Mappings column, click the hypertext. A Data Source Mapping dialog box opens. You add a Time Intelligence filter to a KPI's value by using the Dimensional Data Source Mapping dialog box. Depending on which Data Source Mapping dialog box opens, use one of the procedures shown in the following table.

    Data Source Mapping dialog box type Procedure

    Fixed Values Data Source Mapping

    If the Fixed Values Data Source Mapping dialog box is open, you cannot add a Time Intelligence to that value as it is configured. You can either select a different value, or you can specify a different (dimensional) data source to use for that value.

    To use a different data source, take the following steps:

    1. Click Change Source to open the Select a Data Source dialog box.

    2. Use the SharePoint Site and Workspace tabs to locate the data source that you want to use, and then click OK.

    3. Proceed to Step 3.

    Dimensional Data Source Mapping

    If the Dimensional Data Source Mapping dialog box is open, proceed to Step 3.

    Calculated Metrics Data Source Mapping

    If the Calculated Metrics Data Source Mapping dialog box is open, then the KPI's Actual or Target value is based on a formula that consists of one or more other values. You can define a Time Intelligence filter for each value that is listed in the Calculated Metrics Data Source Mapping dialog box, provided it does not use fixed values.

    1. In the Calculated Metrics Data Source Mapping dialog box, click the hypertext in the Source column for a value.

    2. Notice which kind of Data Source Mapping dialog box opens

      • If the Dimensional Data Source Mapping dialog box is open, proceed to Step 3.

      • If the Fixed Values Data Source Mapping dialog box opens, click Cancel and select a different value.

        Or, specify a different data source to use for that value. To use a different data source, take the following steps:

        1. Click Change Source to open the Select a Data Source dialog box.

        2. Use the SharePoint Site and Workspace tabs to locate the data source that you want to use, and then click OK.

        3. Proceed to Step 3.

    For more information about calculated metrics, see Add calculated metrics to a PerformancePoint KPI.

  3. In the Dimensional Data Source Mapping dialog box, click New Time Intelligence Filter to open the Time Formula Editor dialog box.

  4. In the Time formula section, type a formula.

    The formula that you specify uses a particular syntax that includes some combination of time units, which are known as time members, operators, and functions. A few examples of Time Intelligence formulas are included in the following table.

    Formula Description

    YearToDate

    Displays current year-to-date information.

    Month:Month-5

    Displays information for the past six months.

    For more information about Time Intelligence formulas, see PerformancePoint Time Intelligence quick reference.

  5. In the Preview section, click Preview to validate your formula.

    • If the formula is valid for the data source that is used by that KPI's value, the formal query is displayed in the Preview section.

    • If the formula is not valid, the formal query is not displayed, and an error message might occur. Edit the formula, and then click Preview again.

  6. Click OK to close the Time Formula Editor dialog box.

  7. In the Dimensional Data Source Mapping dialog box, notice the new row for the Time Intelligence filter. Click OK to close the Dimensional Data Source Mapping dialog box.

  8. Repeat for each value for which you want to add a Time Intelligence formula.

    • If the Calculated Metrics Data Source Mapping dialog box is open, repeat Steps 2-7.

    • If no Data Source Mapping dialog box is open, repeat Steps 1-7.

  9. In the Workspace Browser, right-click the KPI, and then click Save.

See Also

Concepts

Create and configure a KPI by using Dashboard Designer
Extend a PerformancePoint KPI
Create a scorecard by using Dashboard Designer


Add trend indicators to a PerformancePoint KPI
See Also

Published: February 24, 2011

After you have created a PerformancePoint KPI, you can use PerformancePoint Dashboard Designer to add trend indicators to that KPI. That way, dashboard users can see not only whether performance is on or off target, but also whether performance is increasing or decreasing.

For example, suppose that a retail organization wants to see sales performance for different geographical regions. You can configure a Sales KPI that displays current sales performance and shows whether the current performance is improving or declining.

Configuring KPIs to use trend indicators

When you extend a KPI by adding trend indicators to a KPI, you begin by opening an existing KPI for editing. Then, you extend that KPI by adding another Target value and configuring it as a trend indicator.

Important:

Before you perform the procedures in this article, make sure that you have an existing KPI to configure. To create a KPI, see Create and configure a KPI by using Dashboard Designer.

Open a KPI for editing

To open a KPI for editing

  1. In Dashboard Designer, locate the Workspace Browser on the left side of the window, and then click PerformancePoint Content. The center pane displays two tabs: SharePoint and Workspace.

  2. Using the SharePoint and Workspace tabs, locate a KPI that you want to configure.

  3. Double-click the KPI that you want to configure to open it for editing.

Add trend indicators to a PerformancePoint KPI

When you add trend indicators to a KPI, you add and configure an additional Target value to that KPI. Then, you configure the new Target value by selecting a specific kind of Trend indicator. A trend indicator is a special case indicator that compares a KPI's current Target value to its previous Actual value, and then display performance as increasing or decreasing.

To configure a Trend indicator

  1. In the center pane, on the Editor tab, in the Actual and Targets section, click New Target.

  2. In the Name column, click the current name of the new Target value to highlight its text, and then type a new name, such as Trend.

  3. Use the Compare to list to select an Actual value.

  4. Configure the indicator and scoring settings that are used by the Trend value by using the following procedure:

    To configure the indicator and scoring settings for a Trend value in a KPI

    1. In the Trend row, click the cell in the Indicators column to enable Thresholds pane.

    2. In the Thresholds pane, click Set Scoring Pattern and Indicator. The Edit Banding Settings dialog box opens.

    3. On the Select the Scoring Pattern page, specify a scoring pattern and banding method, and then click Next.

    4. On the Select an Indicator page, use the Available Indicators tab to select an indicator that is listed in the Trends section, and then click Next.

    5. On the Specify the worst value page, in the Enter worst value box, type a number that corresponds to the worst possible performance.

      Tip:

      By default, the number zero (0) is entered in the Enter worst value box. You can either keep this entry or specify a different value. However, if you type a number that is less than 0, it will be treated as 0 when calculations are performed.

    6. Click Finish to close the Edit Banding Settings dialog box.

  5. In the Workspace Browser, right-click the KPI, and then click Save.

See Also

Concepts

Create and configure a KPI by using Dashboard Designer
Extend a PerformancePoint KPI
Create a scorecard by using Dashboard Designer


Define custom properties for a PerformancePoint KPI
See Also

Published: March 31, 2011

After you have created a PerformancePoint key performance indicator (KPI), you can use PerformancePoint Dashboard Designer to define one or more custom properties for that KPI. You might define custom properties for KPIs for various reasons that include those that are described in the following list:

  • To enable dashboard users to browse to additional information from a scorecard. For example, you can use a custom property to add a hyperlink to a scorecard that enables users to open dashboard page or a website that provides more information.

  • To pass values from a KPI to another report in the dashboard. For example, you can use a custom property to use a KPI as a filter for an analytic chart or grid. That way, when users click the KPI, additional information about that KPI is displayed in the analytic report.

  • To apply custom extensions, such as scorecard transform operations by using the PerformancePoint Services application programming interface (API). For example, you can use a custom property to apply a transform operation that changes the way a scorecard is displayed without actually changing the scorecard itself.

Adding custom properties to KPIs

When you define custom properties for a KPI, you begin by opening an existing KPI for editing. Then, you use the Editor tab in the center pane of Dashboard Designer to additionally configure that KPI.

Important:

Before you perform the procedures in this article, make sure that you have an existing KPI to configure. To create a KPI, see Create and configure a KPI by using Dashboard Designer.

Open a KPI for editing

To open a KPI for editing

  1. In Dashboard Designer, locate the Workspace Browser on the left side of the window, and then click PerformancePoint Content. The center pane displays two tabs: SharePoint and Workspace.

  2. Using the SharePoint and Workspace tabs, locate a KPI that you want to configure.

  3. Double-click the KPI that you want to configure to open it for editing.

Define custom properties for a KPI

When you define a custom property for a KPI, you use the Properties tab. You select a property type, and then specify a value and description for the new custom property.

To define a custom property for a KPI

  1. In the center pane, on the Properties tab, in the Custom Properties section, click New Property.

    The Property Type Selector dialog box opens.

  2. In the Property Type Selector dialog box, select a property type, and then click OK.

    You can select from four options, which are described in the following table.

    Property type Description

    Text

    Use a Text property to specify a phrase or a query.

    For example, you can type an MDX query that can be used by another report, such as an analytic report, an Excel Services report, or a SQL Server Reporting Services report that uses SQL Server Analysis Services data.

    Decimal

    Use a Decimal property to specify a numeric value.

    For example, you can type a decimal value that can be used to provide additional information in the dashboard.

    Date

    Use a Date property to specify a full date that includes month, day, and year.

    The date can be displayed in a scorecard, or it can be passed to another report, such as a Reporting Services report or an Excel Services report.

    Hyperlink

    Use a Hyperlink property to specify a website address (URL).

    For example, you can type a URL to a site that contains additional relevant information.

    The new property is listed in the Custom Properties section.

  3. In the Custom Properties section, in the Value column, specify a value that corresponds to the property type that you selected in Step 2.

  4. (This step is optional.) In the Description column, type a description for the custom property.

  5. Repeat Steps 1-4 for each custom property that you want to add to a KPI.

  6. In the Workspace Browser, right-click the KPI, and then click Save.

See Also

Concepts

Create and configure a KPI by using Dashboard Designer
Extend a PerformancePoint KPI
Create a scorecard by using Dashboard Designer


Use a custom MDX query for a PerformancePoint KPI

Longhorn Overview
Use a custom MDX query for a PerformancePoint KPI
See Also

Published: March 31, 2011

After you have created a PerformancePoint key performance indicator (KPI) that uses Microsoft SQL Server Analysis Services (SSAS) data, you can use PerformancePoint Dashboard Designer to extend that KPI by using a custom MultiDimensional Expressions (MDX) query. For example, suppose that you want to configure a KPI that shows performance for a particular set of dimension members. One way to do this is by adding an MDX query to the KPI.

You can add an MDX query to a KPI's Actual value, Target value, or both, provided these values use a SQL Server Analysis Services data source.

Adding custom MDX queries to PerformancePoint KPIs

When you extend a KPI by adding custom MDX queries, you begin by opening an existing KPI for editing. Then, you additionally configure that KPI by specifying an MDX query for a value, such as an Actual or Target value that is used in the KPI.

Important:

Before you perform the procedures in this article, make sure that you have an existing KPI to configure. The KPI must use data that is stored in Analysis Services To create a KPI, see Create and configure a KPI by using Dashboard Designer.

Open a KPI for editing

To open a KPI for editing

  1. In Dashboard Designer, locate the Workspace Browser on the left side of the window, and then click PerformancePoint Content. The center pane displays two tabs: SharePoint and Workspace.

  2. Using the SharePoint and Workspace tabs, locate a KPI that you want to configure.

  3. Double-click the KPI that you want to configure to open it for editing.

Add an MDX query to a KPI's Actual or Target value

When you add custom MDX queries to a KPI's value, you use the Dimensional Data Source Mapping dialog box to select and configure a value, such as an Actual or Target value. You configure each Actual or Target value separately.

To add an MDX query to a KPI

  1. In the center pane, on the Editor tab, locate the Actual or Target value for which you want to add a custom MDX query.

  2. In the Data Mappings column, click the hypertext. A Data Source Mapping dialog box opens. You add a custom MDX query to a KPI's value by using the Dimensional Data Source Mapping dialog box. Depending on which Data Source Mapping dialog box opens, use one of the procedures shown in the following table.

    Data Source Mapping dialog box type Procedure

    Fixed Values Data Source Mapping

    If the Fixed Values Data Source Mapping dialog box is open, you cannot add a custom MDX query to that value as it is configured. You can either select a different value, or you can specify a different (Analysis Services) data source to use for that value.

    To use a different data source, take the following steps:

    1. Click Change Source to open the Select a Data Source dialog box.

    2. Use the SharePoint Site and Workspace tabs to locate the Analysis Services data source that you want to use, and then click OK.

    3. Proceed to Step 3.

    Dimensional Data Source Mapping

    If the Dimensional Data Source Mapping dialog box is open, proceed to Step 3.

    Calculated Metrics Data Source Mapping

    If the Calculated Metrics Data Source Mapping dialog box is open, then the KPI's Actual or Target value is based on a formula that consists of one or more other values. You can define a custom MDX query for each value that is listed in the Calculated Metrics Data Source Mapping dialog box, provided it uses an Analysis Services data source.

    1. In the Calculated Metrics Data Source Mapping dialog box, click the hypertext in the Source column for a value.

    2. Notice which kind of Data Source Mapping dialog box opens

      • If the Dimensional Data Source Mapping dialog box is open, proceed to Step 3.

      • If the Fixed Values Data Source Mapping dialog box opens, click Cancel and select a different value.

        Or, specify a different (Analysis Services) data source to use for that value. To use a different data source, take the following steps:

        1. Click Change Source to open the Select a Data Source dialog box.

        2. Use the SharePoint Site and Workspace tabs to locate the Analysis Services data source that you want to use, and then click OK.

        3. Proceed to Step 3.

    Tip:

    For more information about calculated metrics, see Add calculated metrics to a PerformancePoint KPI.

  3. In the Dimensional Data Source Mapping dialog box, in the Aggregate members by section, select the Use MDX tuple formula check box.

  4. In the Use MDX tuple formula box, type the MDX query that you want to use for the KPI.

    Tip:

    To view examples of MDX queries that you can use, see Extend PerformancePoint dashboards by using MDX queries.

  5. After you have specified the MDX query that you want to use, click OK to close the Dimensional Data Source Mapping dialog box.

  6. Repeat for each value for which you want to add a dimension formula.

    • If the Calculated Metrics Data Source Mapping dialog box is open, repeat Steps 2-5.

    • If no Data Source Mapping dialog box is open, repeat Steps 1-5.

  7. In the Workspace Browser, right-click the KPI, and then click Save.

See Also

Concepts

Create and configure a KPI by using Dashboard Designer
Extend a PerformancePoint KPI
Create a scorecard by using Dashboard Designer
Extend PerformancePoint dashboards by using MDX queries


Configure aggregation settings for a PerformancePoint KPI
See Also

Published: March 31, 2011

After you have created a PerformancePoint key performance indicator (KPI), you can use PerformancePoint Dashboard Designer to additionally configure that KPI. If the KPI uses Microsoft SQL Server Analysis Services (SSAS) data, you can specify how member values are aggregated for Actual or Target values in the KPI. For example, you can configure the KPI value to use the sum of member values, or to use the average of member values.

You can configure aggregation settings for a KPI's Actual value, Target value, or both, provided these values use an Analysis Services data source.

Configuring aggregation settings for PerformancePoint KPIs

When you configure a KPI by specifying aggregation settings, you begin by opening an existing KPI for editing. Then, you use the Editor tab in the center pane of Dashboard Designer to additionally configure that KPI.

Important:

Before you perform the procedures in this article, make sure that you have an existing KPI to configure. To create a KPI, see Create and configure a KPI by using Dashboard Designer.

Open a KPI for editing

To open a KPI for editing

  1. In Dashboard Designer, locate the Workspace Browser on the left side of the window, and then click PerformancePoint Content. The center pane displays two tabs: SharePoint and Workspace.

  2. Using the SharePoint and Workspace tabs, locate a KPI that you want to configure.

  3. Double-click the KPI that you want to configure to open it for editing.

Specify aggregation settings for a KPI

When specify aggregation settings for a KPI, you use the Dimensional Data Source Mapping dialog box. You configure each Actual or Target value separately.

To configure aggregation settings for a KPI

  1. In the center pane, on the Editor tab, locate the Actual or Target value for which you want to specify aggregation settings.

  2. In the Data Mappings column, click the hypertext. A Data Source Mapping dialog box opens. You specify aggregation settings for a KPI's value by using the Dimensional Data Source Mapping dialog box. Depending on which Data Source Mapping dialog box opens, use one of the procedures shown in the following table.

    Data Source Mapping dialog box type Procedure

    Fixed Values Data Source Mapping

    If the Fixed Values Data Source Mapping dialog box is open, you cannot specify aggregation settings to that value as it is configured. You can either select a different value, or you can specify a different (Analysis Services) data source to use for that value.

    To use a different data source, take the following steps:

    1. Click Change Source to open the Select a Data Source dialog box.

    2. Use the SharePoint Site and Workspace tabs to locate the Analysis Services data source that you want to use, and then click OK.

    3. Proceed to Step 3.

    Dimensional Data Source Mapping

    If the Dimensional Data Source Mapping dialog box is open, confirm that the KPI is using Analysis Services data, and then proceed to Step 3.

    Tip:

    The Dimensional Data Source Mapping dialog box will open if a KPI's value uses data that is stored in Analysis Services, Excel Services, an Excel workbook, a SharePoint list, or a SQL Server table. If you do not know whether a KPI uses Analysis Services data, contact a SharePoint administrator.

    Calculated Metrics Data Source Mapping

    If the Calculated Metrics Data Source Mapping dialog box is open, then the KPI's Actual or Target value is based on a formula that consists of one or more other values. You can specify aggregation settings for each value that is listed in the Calculated Metrics Data Source Mapping dialog box, provided it uses Analysis Services data.

    1. In the Calculated Metrics Data Source Mapping dialog box, click the hypertext in the Source column for a value.

    2. Notice which kind of Data Source Mapping dialog box opens

      • If the Dimensional Data Source Mapping dialog box is open, confirm that the KPI is using Analysis Services data, and then proceed to Step 3.

        Tip:

        The Dimensional Data Source Mapping dialog box will open if a KPI's value uses data that is stored in Analysis Services, Excel Services, an Excel workbook, a SharePoint list, or a SQL Server table. If you do not know whether a KPI uses Analysis Services data, contact a SharePoint administrator.

      • If the Fixed Values Data Source Mapping dialog box opens, click Cancel and select a different value.

        Or, specify a different data source to use for that value. To use a different data source, take the following steps:

        1. Click Change Source to open the Select a Data Source dialog box.

        2. Use the SharePoint Site and Workspace tabs to locate the Analysis Services data source that you want to use, and then click OK.

        3. Proceed to Step 3.

    For more information about calculated metrics, see Add calculated metrics to a PerformancePoint KPI.

  3. In the Dimensional Data Source Mapping dialog box, use the Aggregate members by list to select the aggregation method that you want to use. You can select from the options that are described in the following table.

    Aggregation method Description

    Default

    The Default setting uses a weighted average value that is defined in the data source for the KPI's Actual or Target value.

    Sum

    The Sum setting adds the member values and then uses the sum for the KPI's Actual or Target value.

    Minimum

    The Minimum setting uses the lowest member value for the KPI's Actual or Target value.

    Maximum

    The Maximum setting uses the largest member value for the KPI's Actual or Target value.

    Count

    The Count setting uses a member count for the KPI's Actual or Target value.

    Average

    The Average setting uses a non-weighted average of the member values for the KPI's Actual or Target value.

  4. After you have selected the aggregation method that you want to use, click OK to close the Dimensional Data Source Mapping dialog box.

  5. Repeat for each value for which you want to add a dimension formula.

    • If the Calculated Metrics Data Source Mapping dialog box is open, repeat Steps 2-4.

    • If no Data Source Mapping dialog box is open, repeat Steps 1-4.

  6. In the Workspace Browser, right-click the KPI, and then click Save.

See Also

Concepts

Create and configure a KPI by using Dashboard Designer
Extend a PerformancePoint KPI
Create a scorecard by using Dashboard Designer


Make custom master pages available to deployment settings

Published: May 5, 2011

In Microsoft SharePoint Server 2010, you can customize the appearance of a PerformancePoint dashboard by applying a custom master page. For example, you can create and apply a custom master page that uses a theme that matches your organization's branding and color scheme. This article is an overview for applying a master page to published PerformancePoint dashboards.

Whether you used the default master page (v4.master) as a starting point or created a new custom master page from scratch, you can apply a customized master page to your deployment of a PerformancePoint dashboard. When you deploy a dashboard to a SharePoint site, you must have at least permission level of Designers on the SharePoint site.

Create a custom master page for a PerformancePoint dashboard

There are several ways to create and customize master pages in SharePoint Server 2010. To customize master pages, you need SharePoint Designer 2010. For information about how to create and customize master pages, see Introduction to SharePoint master pages (http://go.microsoft.com/fwlink/p/?LinkId=217527) and Customize a master page to brand your site.

When you finish customizing a master page, the next step is to make it available to the PerformancePoint dashboard deployment properties. One approach is to upload the custom master page to the master page gallery, which we describe in this article.

To upload a custom master page to the master page gallery

  1. In the SharePoint site, click Site Actions, Site Settings, and in the Galleries section click Master pages and layouts.

    Note:

    All master pages available for a PerformancePoint dashboard are located in the site collection's master page gallery for the specified dashboard document library.

  2. Select Documents on the ribbon and then click Upload Document. A Master Page Gallery - Upload Master Page dialog box appears.

  3. Click Browse and locate where you saved your custom master page, and then click OK. Another dialog box appears.

  4. Select Publishing Master Page for Content Type.

  5. Select Compatible UI Version(s) 4 and then select OK. You will see your custom master page in the Master Page Gallery on the All Master Pages page.

You now have the additional option of changing the default master page to the custom master page that you uploaded to the gallery. You can do this by selecting the dashboard in PerformancePoint Dashboard Designer and in the central pane under Deployment Properties, select the Master Page drop-down list.

After deploying your dashboard, you may decide to change the master page in the deployed dashboard. The following instructions show how to do this. The site and all sites that inherit from it will be affected by this change.

To change the current master page

  1. On the page where your PerformancePoint Dashboard is published, click Site Actions and then click Site Settings.

  2. In the Look and Feel section, select Master page. The Site Master Page Settings page appears.

  3. Select the custom master page from the drop-down list.


Provide training materials to PerformancePoint dashboard users
See Also

Published: March 17, 2011

When you create and publish dashboards by using PerformancePoint Services in Microsoft SharePoint Server 2010, you can help dashboard users get comfortable using your dashboards by providing training materials. You can create your own training materials, or you can take advantage of online content that is designed to help new users ramp up. This article contains links to resources that are available on Office.com.

By using these resources, you can save work in training dashboard users.

Help content and training materials

To locate Help content and training materials for dashboard consumers, use the following links:

  • Up to Speed with PerformancePoint Dashboards (http://go.microsoft.com/fwlink/p/?LinkId=213732). This article includes information and videos to guide new dashboard user through the basics of how to navigate and use a PerformancePoint dashboard. The article describes what dashboards and Web Parts are, and what kinds of tasks can be performed on most PerformancePoint dashboards.

  • What's New in PerformancePoint Dashboards (http://go.microsoft.com/fwlink/p/?LinkId=213733). This article includes information and a video describing new features and functionality in PerformancePoint Services for users who have upgraded from Microsoft Office PerformancePoint Server 2007 to PerformancePoint Services. The article showcases scorecard improvements, new report types and views, and value filters that are available with PerformancePoint Services.

  • Make Better Business Decisions (http://go.microsoft.com/fwlink/p/?LinkId=213734). This training course guides dashboard users through learning their way around a dashboard to using reports and scorecards together to pinpoint potential problem areas and improve decision making in an organization. The training course also includes a downloadable Quick Reference card that describes how to perform common tasks and a quiz.

  • How to Navigate PerformancePoint Dashboards and Explore Data (http://go.microsoft.com/fwlink/p/?LinkId=213735). This article describes how to explore data in a dashboard. This includes how to use shortcut menus, apply filters, and reset a dashboard view.

See Also

Concepts

Plan, design, and implement a PerformancePoint dashboard
Overview of PerformancePoint reports and scorecards


Maintain, edit, and update PerformancePoint dashboards
See Also

Published: August 11, 2011

After you have created and deployed a dashboard by using PerformancePoint Dashboard Designer, your next step is to maintain and edit the dashboard as appropriate. This article describes how to edit PerformancePoint dashboards.

You can edit PerformancePoint dashboards by using two methods, as described in the following table:

Method Description

Use Dashboard Designer to edit dashboard content

Use this method when you want to edit the content that is displayed in individual items, such as reports, scorecards, and filters.

You open Dashboard Designer and use it to change one or more dashboard items, such as filters, key performance indicators (KPIs), scorecards, reports, and pages. Depending on the changes that you make, you then republish the dashboard to SharePoint Server.

One advantage of using this method is that you can configure advanced connections. For example, you can specify custom multidimensional expression (MDX) queries or Time Intelligence formulas to configure filter connections. However, when you republish a dashboard, any changes that have been made by using edit mode in SharePoint Server are overwritten. In addition, by using this method, you can only add or edit PerformancePoint Web Parts. For example, you cannot add a Chart Web Part to a dashboard page by using Dashboard Designer.

To use this method, see Edit dashboard content by using Dashboard Designer.

Use edit mode in a SharePoint site to change dashboard content

Use this method when you want to configure which Web Parts are displayed in the dashboard.

You open a page for editing in a Web browser. You can then add or remove Web Parts in the dashboard.

Here are two advantages of using this method:

  • You can add non-PerformancePoint Web Parts to a dashboard. For example, you can add a SharePoint task list to a page. Or you can add a Media Web Part to display images in a dashboard page.

  • You can add existing PerformancePoint Web Parts (these are dashboard items that were created by using Dashboard Designer) to a dashboard page without opening Dashboard Designer.

However, if a dashboard author republishes a dashboard, any changes that were made by using this method are overwritten.

To use this method, see Edit a dashboard by using edit mode in SharePoint Server.

Edit dashboard content by using Dashboard Designer

When you want to edit dashboard content by using Dashboard Designer, you begin by opening Dashboard Designer.

Open Dashboard Designer

When you want to edit dashboard content by using Dashboard Designer, the first step is to open Dashboard Designer. You can open Dashboard Designer by using one of three methods:

  • You can open Dashboard Designer from the Business Intelligence Center. You would typically use this method if you are using Dashboard Designer for the first time or if you want to view or edit multiple dashboard items.

  • You can open Dashboard Designer from a single dashboard item in a SharePoint list, such as the PerformancePoint Content list or the Data Connections list. You would typically use this method to edit a single item, such as a data connection, a report, a scorecard, a KPI, a filter, or a dashboard page.

  • You can open Dashboard Designer from the Start menu on your computer. You can only use this method if you have opened Dashboard Designer at least one time on your computer.

Use one of the following procedures to open Dashboard Designer.

To open Dashboard Designer from the Business Intelligence Center

  1. Using your web browser, open the Business Intelligence Center.

    Tip:

    If you do not know where the Business Intelligence Center is located, contact a SharePoint administrator.

  2. In the Business Intelligence Center, click a section, such as Monitor Key Performance, Build and Share Reports, or Create Dashboards.

    More information about each area is displayed in the center pane.

  3. In the center of the page, click a Start using PerformancePoint Services link.

    The PerformancePoint site template opens.

  4. Click Run Dashboard Designer.

    Dashboard Designer opens and installs a shortcut on your computer's Start menu.

To open Dashboard Designer from an item in a SharePoint list

  1. In a SharePoint list that contains PerformancePoint items, such as the Data Connections list or the PerformancePoint Content list, locate an item that you want to edit.

    Tip:

    If you do not know where PerformancePoint dashboard content is stored on SharePoint Server, contact a SharePoint administrator.

  2. Point to the name of a dashboard item, click the down arrow that appears, and then click Edit in Dashboard Designer.

    Dashboard Designer opens with the dashboard item ready for editing.

To open Dashboard Designer from the Start menu on your computer

  1. Make sure that you have opened Dashboard Designer at least one time on your computer.

  2. Click Start, click All Programs, click SharePoint, and then click PerformancePoint Dashboard Designer.

    Dashboard Designer opens.

Edit PerformancePoint dashboard content

After you have opened Dashboard Designer, the next step is to open a dashboard item for editing. Use this procedure to open a data source, a report, a KPI, a scorecard, or a filter. To edit a dashboard page, see the procedure that follows this one.

To open a dashboard item for editing

  1. In Dashboard Designer, on the Home tab, in the Workspace group, click Refresh.

    The list of dashboard content that is saved to SharePoint Server updates in the center pane.

  2. Depending on the kind of item that you want to edit, in the Workspace Browser, click PerformancePoint Content or Data Connections.

    • To edit a report, a KPI, a scorecard, or a filter, click PerformancePoint Content.

    • To edit a dashboard, skip this procedure and see the next one.

    • To edit a data source connection, click Data Connections.

  3. In the center pane, double-click the item that you want to edit.

    The item opens for editing.

  4. In the center pane, use the Editor tab (or the Design tab) to configure the information that is displayed. And, in the ribbon, click the Edit tab to view additional toolbar commands that you can use to configure the dashboard item.

  5. In the Workspace Browser, right-click the dashboard item, and then click Save.

You can edit a dashboard page by adding or removing items and by specifying a master page and page navigation. To edit a dashboard by using Dashboard Designer, follow these steps:

To edit a dashboard by using Dashboard Designer

  1. In Dashboard Designer, on the Home tab, in the Workspace group, click Refresh.

    The list of dashboard content that is saved to SharePoint Server updates in the center pane.

  2. In the Workspace Browser, click PerformancePoint Content.

  3. In the center pane, locate the dashboard that you want to edit. Double-click the dashboard to open it for editing.

  4. In the center pane, on the Editor tab, in the Pages section, click the page that you want to edit.

  5. To add a page to a dashboard, take the following steps:

    1. In the Pages section, click New Page.

      The Select a Dashboard Page Template dialog box opens.

    2. Select a template, and then click OK.

      The new page opens in the center pane.

    3. (This is optional.) In the Pages section, in the Name column, select the default text and type a new name for the dashboard page.

  6. To add items to a dashboard page, take the following steps:

    1. In the Details pane, expand Scorecards, Reports, or Filters, and then expand PerformancePoint Content.

    2. Drag the item that you want to add to the dashboard to a dashboard zone in the Dashboard Content section.

      Tip:

      If the item that you want to add is not listed in the Details pane, take the following steps:

      1. In the Workspace Browser, click PerformancePoint Content.

      2. In the center pane, locate the item that you want to add to the dashboard. Double-click it to open it.

      3. Repeat Step 6.

  7. To remove items from a dashboard page, take the following steps:

    1. In the Dashboard Content section, locate the item that you want to remove from the dashboard.

    2. Next to the item's name, in the upper-right corner, click the "X."

  8. Repeat Steps 6 and 7 to add or remove items from the dashboard.

  9. (This is optional.) To change the master page that is used for the dashboard, take the following steps:

    1. In the center pane, click the Properties tab.

    2. In the Deployment Properties section, use the Master Page list to specify which master page to use for the dashboard.

      Tip:

      Contact a SharePoint administrator if you want help with master pages.

  10. In the Workspace Browser, right-click the dashboard, and then click Save.

Depending on the changes that you make to a dashboard, you might have to republish it for dashboard users to see the changes. When you make minor changes, such as changing the information that is displayed in a report or a scorecard, you do not necessarily have to republish the dashboard. However, when you make structural changes, such as adding or removing items from a dashboard, you must republish the dashboard.

Note:

When you republish a dashboard, any changes that were made to the dashboard by using editing mode in SharePoint Server are overwritten.

To republish a dashboard

  1. Begin with a dashboard open for editing in Dashboard Designer.

  2. If the dashboard contains multiple pages, make sure that you configure the dashboard to include page navigation. In the center pane, on the Properties tab, in the Deployment Properties section, select the check box next to Include page list for navigation.

  3. In the Workspace Browser, right-click the dashboard, and then click Save.

  4. In the Workspace Browser, right-click the dashboard, and then click Deploy to SharePoint.

Edit a dashboard by using edit mode in SharePoint Server

When you want to edit a dashboard by using edit mode in SharePoint Server, begin by opening a page for editing.

To open a dashboard page for editing

  1. Open a Web browser and navigate to the Business Intelligence Center.

    Tip:

    If you do not know where the Business Intelligence Center is, contact a SharePoint administrator.

  2. In the Quick Launch, click Dashboards.

    The Dashboards document library opens and displays a list of folders. Each folder contains one or more dashboard pages.

  3. Click a folder to open it, and then click the name of a dashboard page.

  4. In the ribbon, click the Page tab.

  5. Click the Edit Page menu, and then click Edit Page.

    Important:

    Do not click Edit in SharePoint Designer. You cannot use Microsoft SharePoint Designer to edit dashboard pages that contain PerformancePoint Web Parts. Otherwise, data connections to those Web Parts might fail and data will no longer display.

    The page opens for editing.

To edit a dashboard page by using edit mode in SharePoint Server

  1. Begin with a dashboard page open for editing in SharePoint Server.

  2. To add items, take the following steps:

    1. In a dashboard zone, click Add a Web Part.

      A list of Web Parts opens near the top of the page.

    2. In the Categories pane, select a category, and then, in the Web Parts pane, select a Web Part type.

    3. In the About the Web Part section, click Add.

      The Web Part is added to the page.

  3. To remove a Web Part, take the following steps:

    1. Point to the name of the Web Part.

      A down arrow is displayed.

    2. Click the down arrow, and in the drop-down list, select Delete.

      A dialog box opens and displays a message. The message indicates that the Web Part will be permanently deleted. This means the Web Part will be removed from view in the dashboard page.

    3. In the confirmation dialog box, click OK.

  4. To edit a Web Part, take the following steps:

    1. Point to the name of the Web Part.

      A down arrow is displayed.

    2. Click the down arrow, and in the drop-down list, select Edit Web Part.

      On the right side of the page, a Web Part tool pane opens.

    3. Use the Web Part tool pane to edit the Web Part, and then click OK to save your changes.

  5. Repeat Steps 2-4 until you have added or removed all the Web Parts that you want to change.

    Tip:

    For more information, see Add, move, minimize, or delete a Web Part from a page.

  6. When you have finished making changes to the dashboard page, in the ribbon, on the Page tab, click Stop Editing.

    Refresh the page to view your changes.

See Also

Concepts

Plan, design, and implement a PerformancePoint dashboard


Add Visio Services reports to a PerformancePoint dashboard
See Also

Published: February 14, 2012

This article describes the two ways to add a Visio Services report to a PerformancePoint dashboard. The first method is to add a Web page report while working within PerformancePoint Dashboard Designer and link it to a Visio Services report web site. The other way is to change a published PerformancePoint dashboard by editing the SharePoint page and adding a Web Part that is linked to the report page.

Add a Visio Services report to a dashboard by using Dashboard Designer

In Dashboard Designer, when you create a Web page report, you create a PerformancePoint Web Part to display an existing Web site.

To create a Visio Services Web page report

  1. In Dashboard Designer, in the Workspace Browser, click PerformancePoint Content.

  2. In the ribbon, click the Create tab.

  3. In the ribbon, in the Reports group, click Other Reports.

    The Select a Report Template dialog box opens.

  4. In the Select a Report Template dialog box, click Web Page, and then click OK.

    The Web Page report opens for editing in the center pane of the workspace.

  5. In the center pane, click the Editor tab. Then, in the URL box, specify the location of the Visio Web drawing.

  6. In the center pane, click the Properties tab.

  7. In the Name box, type the name that you want to use for the Visio Services report.

  8. In the Workspace Browser, right-click the report, and then click Save.

  9. Add the report to the dashboard.

Add a Visio Services Web Part to a deployed PerformancePoint Dashboard

To embed a Visio Web drawing on a page, you must be a site administrator for that page with Contribute, Approve, Manage Hierarchy, Design, or Full Control permission.

To embed a Visio Web drawing on an existing dashboard page

  1. Go to the PerformancePoint dashboard page.

  2. Click the Edit tab and then click Edit Page.

  3. Click a Web Part zone on the page.

  4. Click the Insert tab and then click Web Part.

  5. Select the Office Client Applications category and then select the Visio Web Access Web Part.

  6. Click Add.

    An empty Visio Web Access Web Part will appear on your page.

  7. Click the Click here to open the tool pane link to open the Web Part tool pane.

  8. Type the URL to the Visio Web drawing or use the browser Browse button to locate it. Click OK.

    Note:

    Only Visio Web drawings that are hosted within the same SharePoint farm as the site that is hosting the Web Part can be embedded. Visio Services checks the permissions of page viewers before it displays a web drawing.VisioServices_2nd_CurrentVer drawing displays only if the user has the right to view it.

See Also

Concepts

User permissions and permission levels (SharePoint Server 2010)
Visio Services overview (SharePoint Server 2010)

Other Resources

View a Visio Web drawing in a Web Part (http://go.microsoft.com/fwlink/p/?LinkId=242694)


Associate a failover database server for PerformancePoint Services
See Also

Published: June 28, 2011

This article describes the steps that are required to configure PerformancePoint Services in Microsoft SharePoint Server 2010 for use with Microsoft SQL Server mirroring. This feature requires Microsoft SharePoint Server 2010 with Service Pack 1 (SP1).

The procedures in this article should be used as part of your overall mirroring configuration for your SharePoint Server farm. For detailed information about how to configure database mirroring for your SharePoint Server farm, see Configure availability by using SQL Server database mirroring (SharePoint Server 2010).

Configuring a failover database server

When you create a PerformancePoint Services service application, a PerformancePoint Services database, separate from SharePoint Server content or configuration databases, is created to store annotations, comments in a scorecard, and other temporary objects. If you have installed Service Pack 1 for SharePoint Server, you can configure a failover database server for this database. Database mirroring must be configured in SQL Server before you follow this procedure.

To associate a failover database server for PerformancePoint Services

  1. In the SharePoint Central Administration Web site, select Manage service applications.

  2. Select the existing PerformancePoint Services service application and then select Properties in the Service Applications ribbon.

    The Edit PerformancePoint Service Application page appears.

  3. In the Failover Database Server box, type the name of the instance of SQL Server where the mirror of your PerformancePoint Services database is located.

  4. Click OK.

See Also

Concepts

Configure PerformancePoint Services

Other Resources

Database Mirroring (http://go.microsoft.com/fwlink/p/?LinkID=180597)


Set up and configure Access Services (SharePoint Server 2010)

Access Services in Microsoft SharePoint Server 2010 is a service that allows users to publish an Microsoft Access 2010 Web database to a SharePoint site. When an Access Web database is published to SharePoint Server 2010, a site is created to host the Web database, plus it moves all of the database objects and data to a SharePoint list on that site.

While you do not need the Access client to use the published Web database, the Access client is required to make any changes to the database structure. In addition, a user account is required to use the Web database on SharePoint Server 2010. Anonymous access is not supported.

Deploy Access Services

The following steps are needed to deploy Access Services:

  1. Install and configure Microsoft SQL Server 2008 R2 Reporting Services Add-in for SharePoint Technologies 2010 (SSRS).

  2. Create an account in the Active Directory directory service to run the application pool for the Access Services service application.

  3. Register that account as a managed account in SharePoint Server 2010.

  4. Start Access Services.

  5. Create an Access Services service application.

To create an Access Services service application

  1. On the Central Administration home page, under Application Management, click Manage service applications.

  2. On the Manage Service Applications page, click New, and then click Access Services.

  3. In the Access Services Application Name section, type Access Services in the text box.

  4. Select the Create new application pool option and type AccessServicesAppPool in the Application pool name text box.

  5. Select the Configurable option, and from the drop-down list, select CONTOSO\accessapppool.

  6. Click OK.

Access Services settings

There are no additional settings required after the initial installation of Access Services. The services are ready to use as soon as the SharePoint Server 2010 installation is completed. However you may change the default configuration settings to suit your business need. The following table contains the configurable Access Services settings.

To configure an Access Services service application

  1. Verify that the user account that is performing this procedure is a site administrator for the Access Services service application and also has Designer permissions.

  2. On the Home page of the SharePoint Central Administration Web site, in the Application Management section, click Manage service applications.

  3. Click the Access Services service application that you want to change.

  4. On the Access Services Settings page, change any of the following settings:

    Setting Description

    Lists and Queries

    Settings for queries used against Microsoft SharePoint Foundation lists

    Maximum Columns per query

    The maximum number of columns that can be referenced in a query. Note that some columns may automatically be reference by the query engine and will be included in this limit.

    Valid values: from 1 to 255

    Default value: 32

    Maximum Rows per query

    The maximum number of rows that a list used in a query can have, or that the output of the query can have.

    Valid values: from 1 to 200000

    Default value: 50000

    Maximum Sources per query

    The maximum number of lists that may be used as input to one query.

    Valid values: from 1 to 20

    Default value: 8

    Maximum Calculated Columns per query

    The maximum number of inline calculated columns that can be included in a query, either in the query itself or in any sub-query on which it is based. Calculated columns in the underlying Microsoft SharePoint Foundation list are not included.

    Valid values: from 0 to 32

    Default value: 10

    Maximum Order by Clauses per query

    The maximum number of Order By clauses in the query.

    Valid values: from 1 to 8

    Default value: 4

    Allow Outer Joins

    Allow left and right outer joins in a query. Inner Joins are always allowed.

    Check box: selected or cleared for Outer Joins allowed.

    Allow Non Remote-able Queries

    Allow queries that cannot be remoted to the database tier to run.

    Check box: selected or cleared for Remotable Queries allowed.

    Maximum Records Per Table

    The maximum number of records that a table in an application can contain.

    Valid values: -1 (indicates no limit), any positive integer

    Default value: 500000

    Application Objects

    Limitations on the types of objects an Access Services application can contain

    Maximum Application Log Size

    The maximum number of records for an Access Services Application Log list.

    Valid values: -1 (indicates no limit), from 1 to any positive integer

    Default value: 3000

    Session Management

    Behavior of Access Database Service sessions

    Maximum Request Duration

    The maximum duration (in seconds) allowed for a request from an application.

    Valid values: -1 (indicates no limit), 1 through 2007360 (24 days)

    Default value: 30

    Maximum Sessions Per User

    The maximum number of sessions allowed per anonymous user. If a user has this many sessions and starts a new session, the user's oldest session is deleted.

    Valid values: -1 (no limit), from 1 to any positive integer

    Default value: 10

    Maximum Sessions Per Anonymous User

    The maximum number of sessions allowed per user. If a user has this many sessions and starts a new session, the user's oldest session is deleted.

    Valid values: -1 (no limit), from 1 to any positive integer

    Default value: 25

    Cache Timeout

    The maximum time (in seconds) that a data cache can remain available, as measured from the end of each request for data in that cache.

    Valid values: -1 (indicates no limit), 1 through 2007360 (24 days)

    Default value: 300

    Maximum Session Memory

    The maximum amount of memory (in MB) that a single session can use.

    Valid values: 0 (disable) through 4095.

    Default value: 64

    Memory Utilization

    Allocation of memory on Access Database Service

    Maximum Private Bytes

    The maximum number of private bytes (in MB) allocated by the Access Database Service process.

    Valid values: -1 (the limit is set to 50% of physical memory on the computer), any positive integer

    Default value: -1

    Templates

    Settings related to template management

    Maximum Template Size

    The maximum size (in MB) allowed for Access Templates (ACCDT).

    Valid values: -1 (no limit), from 1 to any positive integer

    Default value: 30

  5. Click OK.


How to use Access Services from a template (SharePoint Server 2010)
See Also

There are three primary ways to begin using Access Services, described below. Each of these procedures requires the user to have Designer permissions.

Create an Access Services database from a site template

This method allows the creation of an Access database from templates already stored on a computer running Microsoft SharePoint Server 2010. There are five Web database templates that are provided to Access Services users for SharePoint Server 2010:

  • Assets Web Database

  • Charitable Contributions Web Database

  • Contacts Web Database

  • Issues Web Database

  • Projects Web Database

Use the following procedure to instantiate a new Access template on a computer running SharePoint Server 2010. Requires Designer

To create a new Access Services Web database from a template

  1. Open the SharePoint Central Administration Web site.

  2. Choose Site Actions.

  3. Choose New Site.

  4. On the Create site page:

    1. Select Web Databases

    2. Select the template you wish to use.

    3. Type a Title that closely matches the site's intended use.

    4. In the URL Name box, type a short version of the title you specified above.

    5. Click More Options.

    6. In the Description box, type a brief description of the site's details.

    7. Select Use same permissions as parent site.

    8. In the Navigation section: Select Yes.

    9. In the Navigation Inheritance section: Select Yes.

  5. Click Create.

    The new Access Services site is created and you will be able to begin using it immediately.

Upload an existing Access template from the Access 2010 client to a computer running SharePoint Server 2010

This method allows users to upload Access Services templates that have been created offline.

Use the following process to upload an existing Access template to be used in Access Services online.

Upload an offline Access Services template

  1. Open Microsoft Access 2010 and then open an existing template.

  2. Select the Access "Office" button, point to Share, and then click Publish to Access Services.

  3. Choose Save As and then click the Address bar.

  4. Type the URL for your Access Services site.

  5. Name the file and then click Save.

The template is uploaded to the server running Access Services and made available for use online.

Open an existing Access template, modify it, and then upload it to a computer running SharePoint Server 2010

Use the following process to upload an existing Access template to be used in Access Services online.

Open, modify, and upload an offline template

  1. Open Access 2010 and open an existing template.

  2. Make any needed modifications.

  3. Save the template locally.

  4. Select the Access "Office" button, point to Share, and then click Publish to Access Services.

  5. Select Save As and then click the Address bar.

  6. Type the URL for your Access Services site.

  7. Name the file and then click Save.

The template is uploaded to the server running Access Services and made available for use online.

See Also

Concepts

Introduction to Access Services (SharePoint Server 2010)


Create an Access Services service application (SharePoint Server 2010)

The following steps show how to create a new Access Services service application.

To create an additional Access Services service database

  1. Verify that the user account that is performing this procedure is an administrator for the Access Services service application.

  2. On the Home page of the SharePoint Central Administration Web site, in the Application Management section, click Manage service applications.

  3. On the ribbon, click New, and then click Access Services.

  4. Type a name for the new service application.

  5. Choose an existing application pool or create a new one.

  6. Choose whether to create a Access Services Application Proxy (recommended).

  7. Click OK.


Delete an Access Services service application (SharePoint Server 2010)

The following steps show how to delete a Access Services service application.

To delete an Access Services service application

  1. Verify that the user account that is performing this procedure is an administrator for the Access Services service application.

  2. On the Home page of the SharePoint Central Administration Web site, in the Application Management section, click Manage service applications.

  3. Select the Access Services service application that you want to delete.

  4. On the ribbon, click Delete.

  5. In the confirmation dialog box, click OK.


Use macros to automate tasks in Web objects in applications published to Access Services (SharePoint Server 2010)

Published: April 28, 2011

Macros play a much larger role in Microsoft Access 2010 than in previous versions of Access. In fact, using a macro is the only way to automate tasks in Web objects and in applications that you publish to Access Services in Microsoft SharePoint Server 2010. One area that has caused confusion is using the correct syntax in a macro.

Macro syntax and arguments

There are two classes of macro arguments: string arguments and expression arguments. Each of these classes requires very different syntax.

String arguments

The first class of macro argument is a string argument. You can easily identify string arguments because they do not have an equal sign (=) before and outside the argument text box. An example is the Message argument of the Message Box macro action. To specify a message, enter a string in the argument, without quotation marks. However, you can also enter an expression in this argument by entering an equal sign (=), and then entering an expression. As in all expressions, strings need to be in quotation marks.

Expression arguments

The other class of argument is stated in the form of an expression. An example of this type is the WhereCondition argument of the SetFilter macro action. In the Macro Designer, these arguments display an equal sign (=) before and outside the argument text box. This highlights to the user that the argument must be expressed in the form of an expression.

"Double expression" or "double evaluation" occurs when one expression is nested inside another. In an expression argument, if you enter an equal sign (=) in the text box, the expression will be evaluated two times: the first time for your equal sign and a second time for the equal sign that appears before and outside the argument text box.

Warning:

If you are using an expression argument in a Web database macro, the syntax must be correct or you will get a run-time error every time that your macro is run. Double expression is not supported in Access Services applications.


Methods of listing Access Services applications
See Also

Published: December 13, 2011

To view a current list of the provisioned service applications in Access Services in Microsoft SharePoint Server 2010, use one of the following methods.

To list all the Access Services service applications by using SharePoint Central Administration

  1. Verify that you are a member of the farm administrators group, a requirement for creating a service application.

  2. On the SharePoint Central Administration Web site home page, in the Application Management section, click Manage service applications.

    The Access Services service applications are listed on the Manage Service Applications page.

To list all the Access Services service applications by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. From the Windows PowerShell command prompt (PS C:\>), type the following command, and then press Enter:

    Get-SPAccessServiceApplication

See Also

Reference

Get-SPAccessServiceApplication

Concepts

Create an Access Services service application (SharePoint Server 2010)
Delete an Access Services service application (SharePoint Server 2010)
Set up and configure Access Services (SharePoint Server 2010)


Visio Graphics Service administration (SharePoint Server 2010)
See Also

Summary: You can create, configure, list, or delete Visio Services service applications by using SharePoint Central Administration or Windows PowerShell.

The Visio Graphics Service is a Microsoft SharePoint Server 2010 service application that allows users to share and view Visio web drawings using Visio Services. The service application also enables data-connected Microsoft Visio 2010 web drawings to be refreshed and updated from different data sources.

Important:

In farms with multiple Web servers, Visio Services requires the state service to be running. Visio Services does not automatically provision this service. For more information about the State Service, see Manage the State Service (SharePoint Server 2010).

In this section:

  • Create a Visio Graphics Service service application (SharePoint Server 2010)

  • Delete a Visio Graphics Service service application (SharePoint Server 2010)

  • List all Visio Graphics Service service applications (SharePoint Server 2010)

  • Create a Visio Graphics Service service application proxy (SharePoint Server 2010)

  • Delete a Visio Graphics Service service application proxy (SharePoint Server 2010)

  • List all Visio Graphics Service service application proxies (SharePoint Server 2010)

  • Configure Visio Graphics Service global settings (SharePoint Server 2010)

  • Configure Visio Graphics Service trusted data providers (SharePoint Server 2010)

See Also

Concepts

Plan for Visio Services (SharePoint Server 2010)
Visio Services in SharePoint Server 2010 knowledge articles

Other Resources

Resource Center: Business Intelligence in SharePoint Server 2010


Create a Visio Graphics Service service application (SharePoint Server 2010)
See Also

Summary: The Visio Graphics Service can be provisioned through Central Administration or with Windows PowerShell. The following steps show how to create a Visio Graphics Service service application.

Video demonstration

This demonstration shows the steps for creating a Visio Graphics Service service application by using Central Administration.

Screenshot of Video

Watch the video (http://go.microsoft.com/fwlink/p/?LinkId=196857). To download the video file, right-click the link, and then click Save Target As.

Procedures

To create a Visio Graphics Service service application by using Central Administration

  1. Verify that you have the following administrative credentials:

    • To create a service application, you must be a member of the farm administrators group.

  2. On the Central Administration Home page, in the Application Management section, click Manage service applications.

    Important:

    Visio Services in Microsoft SharePoint Server 2010 requires the SharePoint Server Enterprise Site Collection Features feature to be active on each site collection where you plan to use the Visio Web Access Web Part.

  3. On the ribbon, click New, and then click Visio Graphics Service.

  4. Type a name for the new service application.

  5. Choose an existing application pool or create a new one.

  6. Choose whether to create a Visio Graphics Service Application Proxy (recommended).

  7. Click OK.

To create a Visio Graphics Service service application by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. From the Windows PowerShell command prompt (that is, PS C:\>), type the following command and press ENTER:

    New-SPVisioServiceApplication <ServiceAppName> -serviceapplicationpool <AppPoolName> -AddToDefaultGroup

For more information, see New-SPVisioServiceApplication.

See Also

Concepts

Visio Services in SharePoint Server 2010 knowledge articles
Delete a Visio Graphics Service service application (SharePoint Server 2010)
List all Visio Graphics Service service applications (SharePoint Server 2010)


Delete a Visio Graphics Service service application (SharePoint Server 2010)
See Also

Summary: The Visio Graphics Service can be deleted through Central Administration or with Windows PowerShell. The following steps show how to delete a Visio Graphics Service service application.

To delete a Visio Graphics Service service application by using Central Administration

  1. Verify that you have the following administrative credentials:

    • To delete a service application, you must be a member of the farm administrators group.

  2. On the Central Administration Home page, in the Application Management section, click Manage service applications.

  3. Select the Visio Graphics Service service application that you want to delete.

  4. On the ribbon, click Delete.

  5. In the confirmation dialog box, click OK.

To delete a Visio Graphics Service service application by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. From the Windows PowerShell command prompt (that is, PS C:\>), type the following command and press ENTER:

    Remove-SPServiceApplication <ServiceAppName>

For more information, see Remove-SPServiceApplication.

See Also

Concepts

Visio Services in SharePoint Server 2010 knowledge articles
List all Visio Graphics Service service applications (SharePoint Server 2010)


List all Visio Graphics Service service applications (SharePoint Server 2010)
See Also

Summary: The provisioned Visio Services service applications can be listed through Central Administration or with Windows PowerShell. The following steps show how to list all the Visio Graphics Service service applications.

To list all the Visio Graphics Service service applications by using Central Administration

  1. Verify that you have the following administrative credentials:

    • To create a service application, you must be a member of the farm administrators group.

  2. On the Central Administration home page, in the Application Management section, click Manage service applications. The Visio Graphics Service service applications are listed on the Manage Service Applications page.

To list all the Visio Graphics Service service applications by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. From the Windows PowerShell command prompt (that is, PS C:\>), type the following command and press ENTER:

    Get-SPVisioServiceApplication

For more information, see Get-SPVisioServiceApplication.

See Also

Concepts

Visio Services in SharePoint Server 2010 knowledge articles
List all Visio Graphics Service service application proxies (SharePoint Server 2010)


Create a Visio Graphics Service service application proxy (SharePoint Server 2010)
See Also

Summary: A Visio Graphics Service service application proxy can be provisioned with Windows PowerShell. The following steps show how to create a Visio Graphics Service service application proxy.

Note:

A Visio Graphics Service service application proxy can only be created in the SharePoint Central Administration Web site when you are creating a new Visio Graphics Service service application. To do so, ensure that the Create a Visio Graphics Service Application Proxy and add it to the default proxy group check box is checked when you create a new service application.

To create a Visio Graphics Service service application proxy by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. From the Windows PowerShell command prompt (that is, PS C:\>), type the following command and then press ENTER:

    New-SPVisioServiceApplicationProxy <ServiceAppName>

For more information, see New-SPVisioServiceApplicationProxy.

See Also

Concepts

Visio Services in SharePoint Server 2010 knowledge articles
Delete a Visio Graphics Service service application proxy (SharePoint Server 2010)
List all Visio Graphics Service service application proxies (SharePoint Server 2010)


Delete a Visio Graphics Service service application proxy (SharePoint Server 2010)
See Also

Summary: The Visio Graphics Service application service proxy can be deleted through Central Administration or with Windows PowerShell. The following steps show how to create a Visio Graphics Service service application.

To delete a Visio Graphics Service service application proxy by using Central Administration

  1. Verify that you have the following administrative credentials:

    • To delete a service application proxy, you must be a member of the farm administrators group.

  2. On the Central Administration Home page, in the Application Management section, click Manage service applications.

  3. Select the Visio Graphics Service service application proxy you want to delete.

  4. On the ribbon, click Delete.

  5. In the confirmation dialog box, click OK.

To delete a Visio Graphics Service service application proxy by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. From the Windows PowerShell command prompt (that is, PS C:\>), type the following command and press ENTER:

    Remove-SPServiceApplicationProxy <ProxyID>

For more information, see Remove-SPServiceApplicationProxy.

See Also

Reference

Get-SPVisioServiceApplicationProxy

Concepts

Visio Services in SharePoint Server 2010 knowledge articles
List all Visio Graphics Service service application proxies (SharePoint Server 2010)


List all Visio Graphics Service service application proxies (SharePoint Server 2010)
See Also

The provisioned Visio Graphics Service service application proxies can be listed through the SharePoint Central Administration Web site or with Windows PowerShell. The following steps show how to list all the Visio Graphics Service service application proxies.

To list all the Visio Graphics Service service application proxies by using Central Administration

  1. Verify that you have the following administrative credentials:

    • To create a service application, you must be a member of the farm administrators group.

  2. On the Central Administration Home page, in the Application Management section, click Manage service applications. The Visio Graphics Service service applications and their associated proxies are listed on the Manage Service Applications page.

To list all the Visio Graphics Service service application proxies by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. From the Windows PowerShell command prompt (that is, PS C:\>), type the following command and press ENTER:

    Get-SPVisioServiceApplicationProxy

For more information, see Get-SPVisioServiceApplicationProxy.

See Also

Concepts

Visio Services in SharePoint Server 2010 knowledge articles


Configure Visio Graphics Service global settings (SharePoint Server 2010)
See Also

Summary: The Visio Graphics Service global settings can be provisioned through the SharePoint Central Administration Web site or with Windows PowerShell. The following steps show how to create a Visio Graphics Service service application.

To configure a Visio Graphics Service service application by using Central Administration

  1. Verify that you have the following administrative credentials:

    • To create a service application, you must be a member of the farm administrators group.

  2. On the Central Administration Home page, in the Application Management section, click Manage service applications.

  3. Click the Visio Graphics Service service application that you want to configure.

  4. On the Visio Graphics Service Settings page, configure the following settings:

    Parameter Description

    Maximum Diagram Size

    The maximum size in MB of a Web drawing that can be rendered. A larger size limit may lead to slower performance if the server is under heavy load, whereas a smaller limit may prevent more complex Web drawings from being rendered.

    Minimum Cache Age

    The minimum number of minutes that a Web drawing is cached in memory. Smaller values allow for more frequent data refresh operations for users, but increase CPU and memory usage on the server.

    This value is per user per drawing. The interval begins when a user views a Web drawing. That user cannot refresh that Web drawing until the interval expires. The interval begins for other users when they first view the Web drawing.

    This parameter applies to data-connected Web drawings.

    Valid values range from 0 to 34560 minutes. The default value is 5 minutes.

    Maximum Cache Age

    The number of minutes after which cached Web drawings are purged. Larger values decrease file I/O and CPU load but increase memory usage on the server.

    This parameter applies to static diagrams.

    Maximum Recalc Duration

    The number of seconds before data refresh operations time out. Longer timeouts will allow for more complex data connected Web drawings to be recalculated, but will use more processing power. This applies only to data connected Web drawings.

    External Data

    The target application ID in the registered Secure Store Service that is used to reference Unattended Service Account credentials. The Unattended Service Account is a single account that all documents can use to refresh data. It is required when you connect to data sources external to SharePoint Server, such as SQL Server.

  5. Click OK.

To configure a Visio Graphics Service service application by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. From the Windows PowerShell command prompt (that is, PS C:\>), the following syntax to manage the performance parameters in the Visio Graphics Service service application, and then press ENTER:

    Set-SPVisioPerformance -MaxDiagramCacheAge<Minutes>-MaxDiagramSize <SizeMB>-MaxRecalcDuration<Seconds>-MinDiagramCacheAge<Minutes>-VisioServiceApplication<VisioServiceApp>

  6. From the Windows PowerShell command prompt, type the following syntax to manage the data configuration parameters in the Visio Graphics Service service application, and then press ENTER:

    Set-SPVisioExternalData -VisioServiceApplication<VisioServiceApp>-UnattendedServiceAccountApplicationID<ApplicationID>

For more information, see Set-SPVisioPerformance.

See Also

Concepts

Visio Services in SharePoint Server 2010 knowledge articles
Configure Visio Graphics Service trusted data providers (SharePoint Server 2010)


Configure Visio Graphics Service trusted data providers (SharePoint Server 2010)
See Also

Summary: The Visio Graphics Service trusted data providers can be provisioned through Central Administration or with Windows PowerShell.

Trusted data providers

By default, the following trusted data providers are trusted by the Visio Graphics Service:

Description | ID | Type
Microsoft SQL Server OLE DB Driver (MDAC) | SQLOLEDB | 1
Microsoft SQL Server OLE DB Driver (MDAC SQL Server 2000) | SQLOLEDB.1 | 1
Microsoft SQL Server ODBC Driver (MDAC) | SQL Server | 3
Microsoft SQL Server ODBC DSN Driver (MDAC) | SQL Server | 4
Microsoft SQL Server OLE DB DSN Driver for ODBC | SQLOLEDB.1 | 4
Microsoft SQL Server OLE DB Driver (SNAC) | SQLNCLI | 1
Microsoft SQL Server OLE DB Driver (SNAC SQL Server 2005) | SQLNCLI.1 | 1
Microsoft SQL Server ODBC Driver (SNAC) | SQL Native Client | 3
Microsoft SQL Server ODBC DSN Driver (SNAC) | SQL Native Client | 4
Oracle Provider for OLE DB | OraOLEDB.Oracle.1 | 1
Oracle ODBC Driver for Oracle 9.2 | Oracle in OraHome92 | 3
Oracle ODBC DSN Driver for Oracle 9.2 | Oracle in OraHome92 | 4
IBM OLE DB Provider for DB2 | IBMDADB2 | 1
IBM DB2 ODBC Driver | IBM DB2 ODBC DRIVER | 3
IBM DB2 ODBC DSN Driver | IBM DB2 ODBC DRIVER | 4
Microsoft SQL ODBC Driver | MSDASQL.1 | 3
Microsoft SQL ODBC DSN Driver | MSDASQL.1 | 4
Microsoft SharePoint List | WSSList | 5
Excel Web Services | Microsoft.Office.Visio.Server.EcsDataHandler, Microsoft.Office.Visio.Server, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c | 6

Data Provider ID

The Data Provider ID is the name of the driver that acts as the data provider. This ID must be the same ID that is used to reference the data provider in a connection string. The driver for the data provider must be installed on every application server that is running the Visio Graphics Service. Once you have installed the driver on your application servers, you can add it as a trusted data provider in Visio Services in Microsoft SharePoint Server 2010.

Data Provider type

When adding a new trusted data provider, the data provider type must be one of the following values:

Number | Type
1 | OLE DB
2 | SQL
3 | ODBC
4 | ODBC with DSN
5 | SharePoint Lists
6 | Custom Data Provider

Data Provider description

The data provider description is a friendly name that appears in the Trusted Data Providers section of the Manage the Visio Graphics Service page in SharePoint Central Administration.

Creating, editing, and deleting trusted data providers

The following steps show how to create a Visio Graphics Service service application.

To create a Visio Graphics Service trusted data provider by using Central Administration

  1. Verify that you have the following administrative credentials:

    • To create a trusted data provider, you must be a member of the farm administrators group.

  2. On the Central Administration Home page, in the Application Management section, click Manage service applications.

  3. Click the Visio Graphics Service service application where you want to create the trusted data provider.

  4. Click Trusted Data Providers.

  5. Click Add a new Trusted Data Provider.

  6. Enter values for the following parameters:

    Parameter Description

    Trusted Data Provider ID

    The Trusted Data Provider ID

    Trusted Data Provider Type

    The Data Provider type

    Trusted Data Provider Type Description

    Description of the Trusted Data Provider type

  7. Click OK.

To edit a Visio Graphics Service trusted data provider by using Central Administration

  1. Verify that you have the following administrative credentials:

    • To edit a trusted data provider, you must be a member of the farm administrators group.

  2. In Central Administration, under Application Management, click Manage service applications.

  3. Click the Visio Graphics Service service application where you want to edit the trusted data provider.

  4. Click Trusted Data Providers.

  5. Select the data provider that you want to edit, and from the drop-down menu select Edit Trusted Data Provider.

  6. Edit the settings that you want, and then click OK.

To delete a Visio Graphics Service trusted data provider by using Central Administration

  1. Verify that you have the following administrative credentials:

    • To delete a trusted data provider, you must be a member of the farm administrators group.

  2. In Central Administration, under Application Management, click Manage service applications.

  3. Click the Visio Graphics Service service application where you want to delete the trusted data provider.

  4. Click Trusted Data Providers.

  5. Select the data provider that you want to delete, and from the drop-down menu select Delete Trusted Data Provider.

To create a Visio Graphics Service trusted data provider by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. From the Windows PowerShell command prompt (that is, PS C:\>), type the following command and press ENTER:

    New-SPVisioSafeDataProvider -DataProviderId<ProviderID>-DataProviderType<Int32>-VisioServiceApplication<VisioServiceApp>

For more information, see New-SPVisioSafeDataProvider.

To edit a Visio Graphics Service trusted data provider by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. From the Windows PowerShell command prompt (that is, PS C:\>), type the following command and press ENTER:

    Set-SPVisioSafeDataProvider -DataProviderId<ProviderID>-DataProviderType<Int32>-Description<String>-VisioServiceApplication<VisioServiceApp>

For more information, see Set-SPVisioSafeDataProvider.

To delete a Visio Graphics Service trusted data provider by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. From the Windows PowerShell command prompt (that is, PS C:\>), type the following command and press ENTER:

    Remove-SPVisioSafeDataProvider -DataProviderId<ProviderID>-DataProviderType<Int32>-VisioServiceApplication<VisioServiceApp>

For more information, see Remove-SPVisioSafeDataProvider.

See Also

Concepts

Visio Services in SharePoint Server 2010 knowledge articles
Configure Visio Graphics Service global settings (SharePoint Server 2010)


Create an Enterprise wiki (SharePoint Server 2010)
See Also

An Enterprise wiki helps users capture and publish knowledge that can be shared across the enterprise. When an organization needs an easy content editing experience in a single location for co-authoring content, conducting discussions, and managing projects, consider creating an Enterprise wiki. For more information, see Enterprise Wikis overview (SharePoint Server 2010).

Before you perform this procedure, confirm the following:

  • Microsoft SharePoint Server 2010 is installed.

  • You have read the following topics:

    • Enterprise wiki planning (SharePoint Server 2010)

    • Managed metadata service application overview (SharePoint Server 2010)

In this article:

  • Create an Enterprise wiki by using Central Administration

  • Create an Enterprise wiki by using Windows PowerShell

Create an Enterprise wiki by using Central Administration

You typically use the Central Administration Web site to create an Enterprise wiki in a stand-alone deployment.

To create an Enterprise wiki by using Central Administration

  1. Verify that you have the following administrative credentials:

    • To use Central Administration, the user account that is performing this procedure must be a member of the Farm Administrators group.

  2. On the Central Administration Web site, in the Application Management section, click Create site collection.

    Note:

    You can also create an Enterprise wiki as a sub-site of another site by clicking New Site on the Site Actions menu.

  3. In the Web Application section, click the Web Application drop-down list to select the Web application where you want to create the Enterprise wiki.

  4. In the Title and Description section, type a title in the Title box and, optionally, type a description in the Description box.

  5. In the Web Site Address section, select / to create the Enterprise wiki at the root of the Web application, or select /sites/ to create the Enterprise wiki site at a specific path. If you select /sites/, you must also type the site name.

  6. In the Template Selection section, click the Publishing tab, and then click Enterprise Wiki.

  7. In the Primary Site Collection Administrator section, type the user name for the user who will be the site collection administrator.

  8. In the Secondary Site Collection Administrator section, type the user name for the secondary administrator of the site collection.

    Designating a secondary site collection administrator is a best practice to ensure that someone can manage the site collection when a primary site collection administrator is not present.

  9. If you are using quotas to manage storage for site collections, in the Quota Template section, click a template in the Select a quota template list.

  10. Click OK.

Create an Enterprise wiki by using Windows PowerShell

You typically use Windows PowerShell to create an Enterprise wiki when you want to automate the task, which is common in enterprises.

Create an Enterprise wiki by using Windows PowerShell

  1. Verify that you meet the following minimum requirements:

    • See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. From the Windows PowerShell command prompt window (that is, PS C:\>), type the following commands:

    1. To display all the site templates, type the following command:

      Copy Code
      Get-SPWebTemplate

    2. To create a variable that contains the name of the Enterprise wiki template, type the following command:

      Copy Code
      $wikitemp = Get-SPWebTemplate "ENTERWIKI#0"

    3. To create an Enterprise wiki site, type the following command:

      Copy Code
      New-SPSite http://contoso.com/CWiki -OwnerAlias <domain\user> -Template $wikitemp

      Where <domain\user> is the user name of the site owner.

    For more information, see New-SPSite and Get-SPWebTemplate.

    We recommend that you use Windows PowerShell when performing command-line administrative tasks. The Stsadm command-line tool has been deprecated, but is included to support compatibility with previous product versions.

See Also

Other Resources

Resource Center: Enterprise Collaboration in SharePoint Server 2010


Web content management operations (SharePoint Server 2010)

Microsoft SharePoint Server 2010 integrates Web content management capabilities that organizations can use to empower their business users to manage their own Web content. This section includes topics about document conversions and variations.

In this section:

  • Manage document conversions (SharePoint Server 2010)

  • Variations management


Manage document conversions (SharePoint Server 2010)

Microsoft SharePoint Server 2010 supports installing document converters on the server that let users transform documents from one format to another. Conversions can be run either from the user interface or programmatically, such as from a custom workflow. The relationship between a source document and its transformed counterpart is maintained.

SharePoint Server 2010 includes a Document Conversions Load Balancer service that balances document conversion requests from across the server farm, and a Document Conversions Launcher service that schedules and initiates the document conversions on a server.

In this section:

  • Configure Document Conversions Load Balancer and Launcher Services (SharePoint Server 2010)

  • Enable document converters for a Web application


Enable document converters for a Web application
See Also

This article explains how to enable and configure document converters for a Web application for Microsoft SharePoint Server 2010. A document converter is an application installed on a server that enables users to convert documents from one format to another.

Note:

Some document content, such as images, is not converted.

Before you perform this procedure, confirm that:

  • You have enabled both the Document Conversions Launcher Service and the Document Conversions Load Balancer Service. For more information, see Configure Document Conversions Load Balancer and Launcher Services (SharePoint Server 2010).

Enable and configure document converters for a Web application

Use this procedure to enable and configure document converters for a Web application. These document converters will be used by all site collections within the Web application.

To enable document converters for a Web application

  1. Verify that you have the following administrative credentials:

    • At the minimum, you must be a member of the Farm Administrators SharePoint group to complete this procedure.

  2. On the Central Administration Web site, click General Application Settings.

  3. On the General Application Settings page, under External Service Connections, click Configure document conversions.

  4. On the Configure Document Conversions page, in the Web Application section, verify that the Web application that you want is selected. If it is not, on the Web Application menu, click Change Web Application and then, on the Select Web Application page, select the Web application for which you want to configure general settings.

  5. In the Enable Document Conversions section, select Yes to enable document conversions for the site. By default, No is selected.

  6. In the Load Balancer Server section, select a server from the Load Balancer server menu. By default, None is selected. You must select a server before you can enable the document converters.

  7. In the Conversion Schedule section, click one of the following to specify how frequently the Document Conversion timer job should run.

    • Minutes

    • Hourly

    • Daily

  8. In the Converter Settings section, click one of the following:

    • Customize "From InfoPath Form to Web Page" (xml into html)

    • Customize "From Word Document to Web Page" (docx into html)

    • Customize "From Word Document with Macros to Web Page" (docm into html)

    • Customize "From XML to Web Page" (xml into html)

    The Document Convert Settings page is displayed.

  9. On the Document Converter Settings page, in the Converter Settings section, do any of the following, and then click OK:

    • To disable the document converter, clear the Make this document converter available for all document libraries on the server check box. By default, this box is selected.

    • To change the amount of time until a document conversion times-out, type a number in the Time-out length (seconds) box. By default, this field is set to 300.

    • To change the number of retries, type a number in the Maximum retries box. By default, this number is set to 3.

    • To specify the maximum size of a file that the converter will handle, type a number in the Maximum file size (in KB) box. By default, this field is empty.

  10. On the Configure Document Conversions page, click OK.

See Also

Concepts

Configure Document Conversions Load Balancer and Launcher Services (SharePoint Server 2010)


Variations management

The variations feature in Microsoft SharePoint Server 2010 makes content available to specific audiences on different sites by copying content from a source variation site to each target variation site. When users visit the root site, they are redirected to the appropriate variation site, based on the language setting of their Web browser. If necessary, the content can be customized on the target variation site. For example, content on a target variation site can be translated into other languages before it is published. Variations can be used only on SharePoint Server 2010 sites that have been created with one of the Publishing site templates or on sites for which the SharePoint Server Publishing Infrastructure feature has been enabled. For more information about variations, see Variations overview (SharePoint Server 2010).

In this section:

  • Use the variationsfixuptool operation (SharePoint Server 2010) This article explains how farm administrators can use the Stsadm variationsfixuptool operation to control and perform operations against variations sites.

  • Manage automatic propagation of variation pages This article explains how to disable and enable automatic propagation of variation pages by using Windows PowerShell and the object model.


Use the variationsfixuptool operation (SharePoint Server 2010)
See Also

This article explains how to use the Stsadm variationsfixuptool operation for Microsoft SharePoint Server 2010. With the variationsfixuptool operation, farm administrators can control and perform operations against variations. The variations feature makes the same content available to specific audiences across different sites by copying content from a source variation site to each target variation site.

A farm administrator can use the variationsfixuptool operation to do the following:

  • Analyze, report, and fix potential variation problems, such as orphaned pages and incomplete variation hierarchies.

  • Investigate and report how many variation jobs are running in a specific site collection.

For more information about variations, see Variations overview (SharePoint Server 2010).

Using the variationsfixuptool operation

Use the following procedure to run the variationsfixuptool operation.

Use the variationsfixuptool operation

  1. Verify that you have the following administrative credentials:

    • To use Stsadm, you must be a member of the local Administrators group on the server.

  2. On the drive on which SharePoint Server 2010 is installed, change to the following directory: %COMMONPROGRAMFILES%\Microsoft shared\Web server extensions\14\Bin.

  3. Type the following command, and then press ENTER:

    stsadm -o variationsfixuptool -url<source variation site URL>

    Other parameters you can use include -recurse, -label, -fix, -scan, -spawn, and -showrunningjobs. For more information, see Variationsfixuptool: Stsadm operation (Office SharePoint Server).

See Also

Concepts

Variations overview (SharePoint Server 2010)
Plan variations (SharePoint Server 2010)


Manage automatic propagation of variation pages
See Also

Published: May 29, 2010

The variations feature makes content available to specific audiences on different sites by copying content from a source variation site to each target variation site. The Automatic Creation setting determines whether sites and pages on the source variation site are created automatically on the target variation sites. By default, this setting is enabled. However, there might be cases in which you do not want pages to propagate automatically. For example, if you have multilingual sites, you might not want changes from the source page to propagate automatically to your translated pages. You can use Windows PowerShell and the object model to disable automatic propagation of variation pages. When automatic propagation is disabled, the Automatic Creation setting is ignored for pages, although sites continue to follow the Automatic Creation setting. Instead, you can publish pages on-demand by clicking Create or Update from the Publish menu to propagate source versions to all targets.

For more information about propagating variation pages, see Variations: Propagate Pages on Your Terms. For more information about variations, see Variations overview (SharePoint Server 2010).

Note:

The automatic propagation setting is not accessible in the user interface. You must use Windows PowerShell to change this setting.

In this article:

  • Disable automatic propagation of variation pages

  • Enable automatic propagation of variation pages

Disable automatic propagation of variation pages

You can disable automatic propagation by using Windows PowerShell and the object model. When automatic propagation is disabled, you can propagate source pages to all targets on-demand by clicking Create or Update from the Publish menu.

To disable automatic propagation of variation pages

  1. Verify that you meet the following minimum requirements:

    • See Add-SPShellAdmin.

    • You must read about_Execution_Policies (http://go.microsoft.com/fwlink/p/?LinkId=193050).

  2. Copy the following code and paste it into a text editor, such as Notepad:

    Copy Code
    $site = Get-SPSite "<VariationURL>"
$folder = $site.RootWeb.Lists["Relationships List"].RootFolder
$folder.Properties.Add("DisableAutomaticPropagation", $true)
$folder.Update()
$site.Close()

  3. Replace <VariationURL> with the URL of the variation site collection.

  4. Save the file, naming it Disable-Propagation.ps1.

    Note:

    You can use a different file name, but you must save the file as an ANSI-encoded text file whose extension is .ps1.

  5. On the Start menu, click All Programs.

  6. Click Microsoft SharePoint 2010 Products.

  7. Click SharePoint 2010 Management Shell.

  8. Change to the directory where you saved the file.

  9. At the Windows PowerShell command prompt, type the following command:

    Copy Code
    ./Disable-Propagation.ps1

Enable automatic propagation of variation pages

You can enable automatic propagation by using Windows PowerShell and the object model.

To enable automatic propagation of variation pages

  1. Verify that you meet the following minimum requirements:

    • See Add-SPShellAdmin.

    • You must read about_Execution_Policies (http://go.microsoft.com/fwlink/p/?LinkId=193050).

  2. Copy the following code and paste it into a text editor, such as Notepad:

    Copy Code
    $site = Get-SPSite "<VariationURL>"
$folder = $site.RootWeb.Lists["Relationships List"].RootFolder
$folder.Properties.Remove("DisableAutomaticPropagation")
$folder.Update()
$site.Close()

  3. Replace <VariationURL> with the URL of the variation site collection.

  4. Save the file, naming it Enable-Propagation.ps1.

    Note:

    You can use a different file name, but you must save the file as an ANSI-encoded text file whose extension is .ps1.

  5. On the Start menu, click All Programs.

  6. Click Microsoft SharePoint 2010 Products.

  7. Click SharePoint 2010 Management Shell.

  8. Change to the directory where you saved the file.

  9. At the Windows PowerShell command prompt, type the following command:

    Copy Code
    ./Enable-Propagation.ps1

See Also

Other Resources

Running Windows PowerShell Scripts


Mobile administration (SharePoint Server 2010)
See Also

Mobile views are enabled by default for most SharePoint lists and libraries. Users can access document libraries, lists, wikis, blogs, Web Parts pages, back-end business data, and sites from their mobile devices. Additional mobile features include:

  • Users can use the mobile search experience to find people, contact information, and content on SharePoint sites.

  • Users can subscribe to alerts that are sent by using Short Message Service (SMS). The alerts are sent to users' mobile devices when changes are made to a SharePoint list or item.

  • With Microsoft Office Web Apps, users can view Word, Excel, and PowerPoint documents in mobile browsers.

    Note:

    For more information about Office Web Apps, see Office Web Apps (Installed on SharePoint 2010 Products).

In this section:

  • Configure a mobile account (SharePoint Server 2010)

    This article discusses how to configure and manage a mobile account to enable users to subscribe to alerts that are sent by using SMS.

  • Configure mobile views (SharePoint Server 2010)

    This article discusses how administrators can configure mobile views for custom libraries and lists.

  • Configure external access for mobile devices (SharePoint Server 2010)

    This article describes how to make SharePoint sites externally accessible for mobile devices.

See Also

Concepts

Plan for mobile devices (SharePoint Server 2010)

Other Resources

Resource Center: Security and Authentication for SharePoint Server 2010


Configure mobile views (SharePoint Server 2010)

A mobile view is a version of the SharePoint site that has been optimized for mobile devices. In Microsoft SharePoint Server, mobile views are enabled by default for most lists or libraries that were created by using default templates. Mobile views are not enabled by default for custom lists, custom libraries, or for lists or libraries that were created in previous versions of SharePoint that have been upgraded to SharePoint Server. Mobile views are not available for Datasheet and Gantt view types.

The browser definition file lists the mobile browsers and devices that are supported by SharePoint Server and is used to redirect mobile browsers to the mobile views. You can modify the browser definition file to change the redirect behavior of a mobile browser, or to add or delete entries from the list of supported mobile devices.

In this article:

  • Configure mobile views

  • Modify the browser definition file (compat.browser)

Configure mobile views

This section describes how to configure mobile views for custom lists, custom libraries, or for lists or libraries that were created in previous versions of SharePoint.

Note:

Mobile views are not available for Datasheet and Gantt view types.

To configure the mobile view for a list

  1. In the list for which you want to configure the mobile view, in List Tools, click the List tab on the ribbon.

  2. On the ribbon, in the Manage Views group, click Modify View.

  3. On the Edit <list type> View page, expand Mobile, and then configure the following settings according to your preferences:

    Note:

    Not all settings are available for all views.

    Enable this view for mobile access

    Make this view the default view for mobile access

    Number of items to display in list view web part for this view

    Field to display in mobile list simple view

To configure the mobile view for a library

  1. In the library for which you want to configure the mobile view, in Library Tools, click the Library tab on the ribbon.

  2. On the ribbon, in the Manage Views group, click Modify View.

  3. On the Edit View page, expand Mobile, and then configure the following settings according to your preferences:

    Note:

    Not all settings are available for all views.

    Enable this view for mobile access

    Make this view the default view for mobile access

    Number of items to display in list view web part for this view

    Field to display in mobile list simple view

Modify the browser definition file (compat.browser)

The browser definition file contains a list of the mobile browsers and devices that can access mobile views in SharePoint Server. When a user browses a SharePoint site from a mobile device, the mobile browser submits to the site an HTTP GET request that includes a user agent string. If the mobile browser and device model in the user agent string are listed in the browser definition file and the isMobileDevice setting for the mobile browser is set to true, SharePoint Server redirects the mobile browser to the mobile view of the site. Otherwise, a standard view of the site is shown in the mobile browser. You can modify the file to change the redirect behavior of a mobile browser.

The browser definition file lists the mobile browsers and devices that are supported by SharePoint Server. The file can be updated when product updates to SharePoint Server are released. You can also modify the file to add a mobile browser or device to the list.

Note:

There is a compat.browser file for each Internet Information Services (IIS) Web site.

To change the redirect behavior of a mobile browser

  1. Start IIS Manager by typing INETMGR at a command prompt.

  2. Right-click the IIS Web site where the SharePoint Web application is installed, and then click Explore.

  3. In Windows Explorer, double-click the App_Browsers folder.

  4. Open the compat.browser file in a text editor.

  5. Find the <browser> node that corresponds to the mobile browser or device that you want to modify.

  6. Find the <capability name="isMobileDevice" value="true" /> element.

  7. Set the value attribute to false to display a standard view of the site in the mobile browser.

  8. Save your changes to the compat.browser file.

  9. Restart IIS by entering the following command at the command prompt: iisreset /noforce.

To add a mobile browser or device, you create a <browser> node that identifies the mobile browser or device and defines its capabilities. For more information about what can be entered in the <browser> node, see Browser Definition File Schema (browsers Element) (http://go.microsoft.com/fwlink/p/?LinkID=146162).

To add a mobile browser and device model

  1. Start IIS Manager by typing INETMGR at a command prompt.

  2. Right-click the IIS Web site where the SharePoint Web application is installed, and then click Explore.

  3. In Windows Explorer, double-click the App_Browsers folder.

  4. Open the compat.browser file in a text editor.

  5. Find the <browsers> node.

  6. Add a new <browser> node to the end of the list of browsers.

  7. Save your changes to the compat.browser file.

  8. Restart IIS by entering the following command at the command prompt: iisreset /noforce.


Configure external access for mobile devices (SharePoint Server 2010)
See Also

Mobile device users can access a SharePoint site either by using a mobile browser or by using a rich client application such as Microsoft SharePoint Workspace Mobile 2010. This article describes how to make SharePoint sites accessible for mobile devices when the devices are used outside the corporate firewall. There are three methods for enabling external access:

  • Virtual private network server A virtual private network (VPN) server that supports Secure Sockets Layer (SSL), such as Microsoft Forefront Unified Access Gateway (UAG), enables you to publish SharePoint sites across the corporate firewall. The following steps summarize how to make a SharePoint site accessible from outside the corporate firewall when using a VPN server:

    • Set up the VPN server.

    • Publish the SharePoint site on the VPN server.

    • Configure an alternate access mapping for the SharePoint site.

    • Add the SharePoint site to a zone that allows cross-firewall access. For more information about cross-firewall access, see Configure cross-firewall access, later in this article.

    Note:

    Forefront UAG is the only VPN server that is supported by Microsoft Office Mobile on Windows Phone 7 and Windows Phone 6.5. For more information about how to configure Forefront UAG to support Microsoft Office Mobile, see Configure Forefront UAG for SharePoint Workspace Mobile, later in this article.

    For more information about Forefront UAG, see Forefront Unified Access Gateway (UAG) (http://go.microsoft.com/fwlink/p/?LinkID=196384), SharePoint publishing solution guide (http://go.microsoft.com/fwlink/p/?LinkId=206256), and Deploying Forefront UAG for mobile devices.

  • Mobile proxy server Mobile proxy servers, such as Microsoft System Center Mobile Device Center and Blackberry Enterprise Server, help mobile devices work within the IT infrastructure of a company. To access a SharePoint site from outside the corporate firewall, the mobile proxy server must pass the mobile browser's HTTP headers directly through to SharePoint Server.

  • Direct Internet access The SharePoint site can be placed on the extranet. This method supports only basic authentication. We recommend using a combination of technology and policy safeguards, such as SSL, with any Internet-facing servers.

In this article:

  • Configure cross-firewall access

  • Configure Forefront UAG for SharePoint Workspace Mobile

Configure cross-firewall access

After the SharePoint site is published outside the firewall, you must add the site to a zone that allows cross-firewall access. A cross-firewall access zone is used to generate external PC and mobile URLs in mobile alert messages, and enables users to send an externally accessible URL when they click the E-mail a link button on the ribbon.

To configure a cross-firewall access zone

  1. Verify that you have the following administrative credentials:

    • You must be a member of the Farm Administrators group.

  2. In Central Administration, click System Settings.

  3. On the System Settings page, under Farm Management, click Configure cross firewall access zone.

  4. On the Cross Firewall Access Zone page, in Web Application, in the Web Application list box, select the Web application that is published across the firewall.

  5. In Cross Firewall Access Zone, in the Zone selection for cross firewall access list box, select the zone that is published across the firewall.

Configure Forefront UAG for SharePoint Workspace Mobile

Office Mobile users can connect to a SharePoint site by using the mobile browser or by using Microsoft SharePoint Workspace Mobile 2010. This section describes the overall procedure for publishing a SharePoint site so it can be accessed by mobile devices, and it also describes additional configuration required to support SharePoint Workspace Mobile.

  1. Publish the SharePoint site. For more information, see SharePoint publishing solution guide (http://go.microsoft.com/fwlink/p/?LinkId=206256).

    Note:

    We recommend that you use Forefront UAG with Service Pack 1 (SP1) installed.

  2. Publish the SharePoint site for mobile browsing. For more information, see Configuring Forefront UAG for mobile browsing (http://go.microsoft.com/fwlink/p/?LinkID=208322).

The SharePoint site can now be accessed by mobile browsers. To support connecting from SharePoint Workspace Mobile, you must also publish the SharePoint site for SharePoint Workspace Mobile on the Forefront UAG server. For more information, see Publishing SharePoint sites for SharePoint Workspace Mobile (http://go.microsoft.com/fwlink/p/?LinkId=206257).

SharePoint Workspace Mobile does not support directly connecting to sites in the Internet zone. When a user connects to the published site, Forefront UAG identifies the user agent that is sent by SharePoint Workspace Mobile and responds with an HTTP 401 challenge. SharePoint Workspace Mobile uses the user credentials that are configured in the Forefront UAG settings of the mobile device to authenticate to Forefront UAG by using Basic authentication. Forefront UAG then authenticates the user to the SharePoint site

Note:

A site that has a fully qualified domain name (for example, https://hrweb.contoso.com) is considered to be in the Internet zone by SharePoint Workspace Mobile.

The following procedures describe how configure the Forefront UAG settings on a Windows Phone device. Users must configure the Forefront UAG settings on their Windows Phone device before they can use SharePoint Workspace Mobile to access a SharePoint site. We recommend that you provide these procedures to users so they can configure their Windows Phone devices, and also provide them with their Forefront UAG server information.

To configure Forefront UAG settings on a Windows Phone 6.5 device (end users)

  1. On the mobile device, start SharePoint Workspace Mobile.

  2. Tap Menu, tap Settings, and then tap Configure Forefront UAG Server.

  3. In the Forefront UAG address box, type the URL of the UAG trunk.

  4. Enter the domain user name and password.

  5. Tap OK.

To configure Forefront UAG settings on a Windows Phone 7.0 device (end users)

  1. On Start, flick left to the App list, and then tap Office.

  2. Flick to SharePoint, and then tap All.

  3. Tap More, tap Settings, and then tap UAG server.

  4. On the UAG Server screen, do the following:

    1. Tap the UAG server address box, and then type the server address, beginning with https://.

    2. Tap the User name box, and then type your domain and user name. For example, if you log on to your computer by using domainName\userName, you would type domainName\userName in the box.

    3. Tap the Password box, and then type your password.

    4. Tap the Save password check box.

    5. Tap Done.

See Also

Other Resources

Resource Center: Installation and Deployment for SharePoint Server 2010


Building Windows Phone 7 applications with SharePoint 2010 Products and Unified Access Gateway (UAG) (white paper)

Published: April 21, 2011

This white paper describes how to build Windows Phone 7 applications with Microsoft SharePoint 2010 Products and Microsoft Forefront Unified Access Gateway (UAG). It provides business scenarios that can benefit from custom mobile applications that authenticate by using UAG and use the features of SharePoint 2010 Products for collaboration. It also introduces the concepts and code that are required to access SharePoint list data in a secure manner from a Windows Phone 7 device, and provides steps to install and configure a non-production instance of UAG for the purposes of developing and testing mobile applications for SharePoint 2010 Products.

Download this white paper as a Microsoft Word document (.doc). (http://go.microsoft.com/fwlink/p/?LinkID=216117)

Download this white paper as a PDF file (.pdf). (http://go.microsoft.com/fwlink/p/?LinkId=216118)


SharePoint workspace administration (SharePoint Server 2010)
See Also

Published: March 17, 2011

Microsoft SharePoint Workspace 2010 is an application that enables SharePoint Server 2010 users to efficiently synchronize local content with SharePoint site libraries and lists, whether or not they have access to the corporate network. If users need to work offline, content synchronization occurs automatically when they return online and connect to the corporate network. SharePoint Workspace 2010 is included with Office Professional Plus 2010 and you can configure or customize it as you would other Office applications.

To become familiar with SharePoint Workspace 2010, or to provide guidance for SharePoint users whom you support, see SharePoint Workspace 2010.

In this article:

  • Configure SharePoint Server 2010 for SharePoint Workspace

  • Set SharePoint site permissions for SharePoint workspace users

  • Customize the SharePoint Workspace deployment

Configure SharePoint Server 2010 for SharePoint Workspace

SharePoint users can easily create SharePoint workspaces on their local computers so long as SharePoint Workspace 2010 is installed with their other Office 2010 applications and the servers running SharePoint Server 2010 are configured to support offline access.

To configure SharePoint Server 2010 for SharePoint Workspace, do the following:

  • Confirm that Remote Differential Compression (RDC) is enabled on SharePoint Server and install if it is not. RDC supports offline synchronization protocols, and optimizes performance during document transfer between SharePoint Workspace and SharePoint Server. You can check RDC status or install the feature from the Windows Server Manager.

  • Confirm that Allow items from this site to be downloaded to offline clients is enabled for SharePoint sites that will support offline viewing and contributions. You can configure this setting at the site level by clicking Site Settings, and then going to the Offline Client Availability options.

  • If your organization uses Line of Business Interoperability (LOBi) lists (for connections to external databases instead of to the SharePoint Server database) and if users have to take these lists offline, ensure that Offline Synchronization of External Lists is enabled. You can configure this setting in Central Administration under Manage farm features in System Settings, or at the site level by clicking Site Settings and then going to Manage site features.

  • If you use an alternate access mapping list, add the URLs of client-accessible sites to the list. You can access the alternate accessing mapping list under System Settings in Central Administration.

For more information about how to prepare SharePoint Server 2010 for SharePoint Workspace, see Configure and customize SharePoint Workspace 2010.

Set SharePoint site permissions for SharePoint workspace users

Make sure that potential offline SharePoint users have been granted at least Read permissions for sites to which they need to connect. Users who are expected to contribute content to site lists or libraries need Contribute permission. Site administrators can define groups and set permissions by selecting the Site Permissions options from the Site Actions menu.

For more information about how to set SharePoint site permissions, see Determine permission levels and groups (SharePoint Server 2010).

Customize the SharePoint Workspace deployment

You can customize SharePoint Workspace installations by deploying Active Directory Group Policy objects (GPOs) or by including an Office Customization Tool (OCT) .msp file in the SharePoint Workspace installation. If SharePoint Workspace clients are members of an in-house Active Directory group and are connected to the Windows domain you will most likely deploy GPOs. Review the following points for guidance:

  • The most important policy to consider is the Prohibit Groove workspaces policy, which blocks the use of peer collaboration workspaces. SharePoint Workspace lets individual users create a SharePoint workspace to synchronize content with a SharePoint site. In addition, SharePoint Workspace also lets users create two types of peer workspaces: Groove workspaces and Shared Folders. A SharePoint workspace provides a single connection between an authorized client and a SharePoint site, while a peer workspace allows multiple users to join it. You may want to discourage use of peer workspace types, especially if you have set up central content storage on servers that are running SharePoint Server 2010.

  • Other SharePoint Workspace policies let you determine whether IPv4 or IPv6 should be recognized on client computers.

  • The SharePoint Server Require Secure Socket Layer protection for external client connections policy is recommended for added security because no default encryption is in place.

For more information about how to customize SharePoint Workspace 2010, see Configure and customize SharePoint Workspace 2010.

See Also

Other Resources

Plan for SharePoint Workspace 2010
SharePoint Workspace 2010 overview
Deployment checklist for SharePoint Workspace 2010


Deploy a client tool for taking SharePoint content offline (video)
See Also

Published: March 3, 2011

This video shows how to deploy Microsoft SharePoint Workspace 2010 to SharePoint client machines so that end users can efficiently synchronize offline work with SharePoint sites.

In order to benefit from this video, you should have expertise in the following areas:

  • Microsoft SharePoint Server 2010 administration

  • SharePoint site administration

  • Microsoft Office 2010 policy deployment

SharePoint Offline Video

Running time: 10:59

Play video Watch the "Deploy a client tool for taking SharePoint content offline" video

Download video For an optimal viewing experience, download the "Deploy a client tool for taking SharePoint content offline" video.

Right-click the link, and then click Save Target As to download a copy. Clicking the link will open a .wmv file in the default video viewer for full-resolution viewing.

Related resources

Resource | Description
Configure and customize SharePoint Workspace 2010 | Learn how to customize SharePoint Workspace 2010 deployment with policies that suit your organization's usage and security requirements.
Deployment checklist for SharePoint Workspace 2010 | See a checklist of SharePoint Workspace deployment steps.
SharePoint Workspace 2010 | Learn about the SharePoint Workspace client application.
Network settings for SharePoint Workspace 2010 | Learn about network settings that apply to SharePoint Workspace.
Determine permission levels and groups for SharePoint Server 2010 | Learn about permissions and group definition for SharePoint Server 2010.
Group Policy for SharePoint Workspace 2010 | Learn about how to set policies for SharePoint Workspace 2010.
Video - What you can do with SharePoint Workspace | See how SharePoint Workspace can help SharePoint users work more efficiently any time anywhere.
Video - Germany's premier fire-safety company depends on SharePoint Workspace | See how one organization uses SharePoint Workspace to help teams share information and stay up-to-date with the latest reports and findings.

See Also

Concepts

Video demos and training for SharePoint Server 2010


Security and protection for SharePoint Server 2010

This section provides information and best practices about how to make the Microsoft SharePoint Server 2010 system more secure and how to help protect data.

In this section:

  • Security planning for sites and content (SharePoint Server 2010)

  • Plan Visio Services security (SharePoint Server 2010)

  • Plan for business continuity management (SharePoint Server 2010)

  • Initial deployment administrative and service accounts (SharePoint Server 2010)

  • Security and permissions (SharePoint Server 2010)

  • User permissions and permission levels (SharePoint Server 2010)

Security Note:

SharePoint Server 2010 uses several Windows encryption algorithms for computing hash values that do not comply with Federal Information Processing Standard (FIPS) 140-2, Security Requirements for Cryptographic Modules. These algorithms are not used for security purposes; they are used for internal processing. For example, SharePoint Server 2010 uses MD5 to create hash values that are used as unique identifiers.

Because SharePoint Server 2010 uses these algorithms, it does not support the Windows security policy setting that requires FIPS compliant algorithms for encryption and hashing. This Windows security policy is managed through the FIPSAlgorithmPolicy registry key in Windows, which is described in the "Configure FIPS policy for a mixed environment" section of the following topic:

  • Additional System Countermeasures (http://go.microsoft.com/fwlink/p/?LinkId=209130)

When you enable the FIPS compliant mode in Windows, you see errors that are described in the following Microsoft Knowledge Base article:

  • KB 2000371: You receive an error message when you try to start a workflow with FIPS enabled (http://go.microsoft.com/fwlink/p/?LinkId=209131)

FIPS 140-2 defines security standards that the United States and Canadian governments use to validate security levels for products that implement cryptography. For more information about FIPS 140-2, see the following references:

  • FIPS 140 Evaluation (http://go.microsoft.com/fwlink/p/?LinkId=209132)

  • FIPS Publications (http://go.microsoft.com/fwlink/p/?LinkId=209157)

The goal of FIPS is to provide a standardized way to ensure the security and privacy of sensitive information in computer systems of the United States and Canadian governments. Using a FIPS compliant algorithm for encryption of data over an open network is a key requirement for FISMA certification. The Windows FIPSAlgorithmPolicy registry key is neither necessary nor sufficient for FISMA certification, it is a useful enforcement tool for many solutions, but not SharePoint Server 2010.

The FIPS contribution to FISMA certification is the strength of encryption used for security purposes. Security-related encryption within SharePoint Server 2010 is performed by using FIPS-compliant cipher suites.

For additional information about FISMA, FISMA certification, and reverse proxy see the following articles:

  • Federal Information Security Management Act (FISMA) Implementation Project (http://go.microsoft.com/fwlink/?LinkId=242329)

  • Microsoft Office 365(http://go.microsoft.com/fwlink/?LinkId=215509)

  • Microsoft News Center (http://go.microsoft.com/fwlink/?LinkId=242330)

  • http://go.microsoft.com/fwlink/?LinkId=242339 (http://go.microsoft.com/fwlink/?LinkId=242339)


Troubleshooting (SharePoint Server 2010)

Published: February 24, 2011

This section provides information to help IT pros troubleshoot Microsoft SharePoint Server 2010. The troubleshooting information is organized according to the logical areas of interest to the SharePoint administrator.

We encourage you to give us your feedback. Your comments, suggestions, and troubleshooting tips can be incorporated into future versions of this content. You can send your feedback to us at ITSPDOCS@microsoft.com.

In this section:

  • PerformancePoint Services troubleshooting

  • My Sites troubleshooting

  • Mobile device troubleshooting (SharePoint Server 2010)

  • User Profile Service troubleshooting


PerformancePoint Services troubleshooting
See Also

Published: February 24, 2011

The articles in this section provide tools, techniques, and links to other resources that can help you troubleshoot issues that you might encounter with PerformancePoint Services in Microsoft SharePoint Server 2010.

We encourage you to give us your feedback. Your comments, suggestions, and troubleshooting tips can be incorporated into future versions of this content. You can send your feedback to us at ITSPDOCS@microsoft.com.

In this section:

  • Dashboard Designer does not open or launch correctly

  • Excel Services reports are displayed with extra scrollbars in a PerformancePoint dashboard

  • The PerformancePoint site template does not display after it has been customized

See Also

Concepts

PerformancePoint Services administration (SharePoint Server 2010)


Dashboard Designer does not open or launch correctly
See Also

Published: March 17, 2011

This article contains tips for solving common problems that you might encounter when you attempt to open and use PerformancePoint Dashboard Designer.

In this article:

  • Opening Dashboard Designer from a PerformancePoint item in a SharePoint list

  • Using the Safari Web browser to start Dashboard Designer

  • Using the Mozilla Firefox Web browser to start Dashboard Designer

Opening Dashboard Designer from a PerformancePoint item in a SharePoint list

Issue: You might be unable to open Dashboard Designer from a PerformancePoint item, such as a report, scorecard, or data connection in a SharePoint list.

Summary: When you try open Dashboard Designer from a PerformancePoint item that is located in either the Data Connections or the PerformancePoint Content list, you might receive an error message instead.

Resolution: We recommend that you open Dashboard Designer from the PerformancePoint site template for the first time.

To open Dashboard Designer from the PerformancePoint site template

  1. In the Business Intelligence Center, click a section, such as Monitor Key Performance, Build and Share Reports, or Create Dashboards. More information about each area is displayed in the center pane:

  2. Click the Start using PerformancePoint Services link. The PerformancePoint site template opens.

  3. Click Run Dashboard Designer. If you have the necessary permissions assigned to you in SharePoint Server, Dashboard Designer will install and open.

Using the Safari Web browser to start Dashboard Designer

Issue: When you attempt to open Dashboard Designer from the PerformancePoint site template and you are using the Safari Web browser, Dashboard Designer does not start.

Resolution: We recommend that you use Internet Explorer to start Dashboard Designer for the first time. After that, you can open Dashboard Designer by using the Start menu. (Click the Start button, point to All Programs, point to SharePoint, and then click PerformancePoint Dashboard Designer.)

Using the Mozilla Firefox Web browser to start Dashboard Designer

Issue: When you attempt to open Dashboard Designer, you might encounter an error message.

Message: The error message indicates that you cannot download the application, and that the application is missing required files. This can occur if Microsoft .NET Framework Assistant 1.1 is not installed on your computer.

Resolution: Download and install Microsoft .NET Framework Assistant 1.1. For more information, see Microsoft .NET Framework Version 1.1 Redistributable Package (http://go.microsoft.com/?linkid=9763247).

See Also

Concepts

Plan, design, and implement a PerformancePoint dashboard


Excel Services reports are displayed with extra scrollbars in a PerformancePoint dashboard
See Also

Published: February 24, 2011

Issue: Extra scroll bars are displayed for an Excel Services report that is displayed in a PerformancePoint Web Part.

Summary: When you add an Excel Services report to a PerformancePoint dashboard, the Excel Services report might display additional scroll bars in the deployed dashboard. This does not occur when you display an Excel Services report in a Web Part that is not a PerformancePoint Web Part. However, if you want to connect PerformancePoint dashboard filters to the Excel Services report, you should create the Excel Services report Web Part by using Dashboard Designer.

Resolution: To avoid having additional scroll bars display for the Excel Services report, you must specify auto-size settings for that item in Dashboard Designer. You do this in Dashboard Designer, immediately after you add the Excel Services report to the dashboard page.

To specify auto-size settings for an Excel Services report

  1. As soon as you have added the Excel Services report to a dashboard page, on the Edit tab, click Edit Item to open the Item Settings dialog box.

  2. On the Size tab, select both the Auto-size width and Auto-size height options, and then click OK.

  3. Finish adding dashboard items to the dashboard.

  4. In the Workspace Browser, right-click the dashboard, and then click Save.

  5. Republish the dashboard.

For more information about how to add items to a dashboard page, see Add dashboard items to a page by using Dashboard Designer.

See Also

Concepts

Create an Excel Services report by using Dashboard Designer
Create and assemble a dashboard page by using Dashboard Designer


The PerformancePoint site template does not display after it has been customized
See Also
[image]

Published: December 13, 2011

This article contains tips for solving common problems that you might encounter when you attempt to customize the PerformancePoint site template master page. The PerformancePoint site template is the page that appears when users click Start using PerformancePoint Services in the Business Intelligence Center.

Issue: In the PerformancePoint site template, users cannot view the page. Instead, users receive an error message that states, "An error occurred during the processing of /BICenter/Pages/ppssample.aspx. Code blocks are not allowed in this file."

Note:

The exact path provided in the error message is determined by the name of your organization's Business Intelligence Center and can vary from our example.

Summary: When site administrators modify the PerformancePoint site template, it affects the underlying master page in SharePoint Server 2010 and enables server-side scripting.

Resolution: We recommend that you remove the server-side script from the PerformancePoint site template after you change it.

To remove server-side scripting from the PerformancePoint site template

  1. Modify the PerformancePoint site template to suit your organization's needs, and then save and close the page.

  2. Using a site editing tool such as SharePoint Designer, open the PerformancePoint site template for editing.

    Important:

    You can use SharePoint Designer to edit the PerformancePoint site template as described in this article, but you must not use it to edit dashboards that contain PerformancePoint Web Parts. Otherwise, the underlying data connections to those dashboards could become disabled.

  3. Select a view that enables you to view the code for the PerformancePoint site template, and then locate the following code examples:

    Copy Code
    var siteCollection = "<%=SPHttpUtility.UrlPathEncode(siteCol.Value,false,true)%>";
var siteLocation = "<%=SPHttpUtility.UrlPathEncode(site.Value,false,true)%>";

  4. Edit the code that you located in Step 3 to read as follows:

    Copy Code
    var siteCollection = "/";
var siteLocation = "/BICenter/";

  5. Save your changes, and verify that the PerformancePoint site template page is checked in.

See Also

Concepts

PerformancePoint Services troubleshooting
Plan, design, and implement a PerformancePoint dashboard


My Sites troubleshooting
See Also

Published: March 24, 2011

This article provides information to help IT professionals troubleshoot My Sites

We encourage you to give us your feedback. Your comments, suggestions, and troubleshooting tips can be incorporated into future versions of this content. You can send your feedback to us at ITSPDOCS@microsoft.com.

When the SharePoint administrator creates and configures My Sites for Microsoft SharePoint Server 2010, he or she, or end users, might encounter any of the following error messages or issues:

  • Cannot enable site creation because there is no site collection at "/" on the web application

  • There has been an error creating the personal site. Contact your site administrator for more information

  • File not found

  • Could not load user profile

  • Your personal site cannot be created because the managed path &lt;text_string&gt; has not been created. Contact your site administrator for more information.

  • There was a problem retrieving data for this field. Updating values in this field is disabled temporarily. You can still update values in other fields

  • There are one or more errors with the data you have entered. The site does not contain a default keywords term store

  • You do not have access to edit this user profile

  • An unexpected error has occurred

  • Colleagues' tags, notes, or ratings do not appear

  • User profile pictures are missing following an upgrade

Cannot enable site creation because there is no site collection at "/" on the web application

When the SharePoint administrator tries to enable self-service site creation for the Web application that hosts My Sites, he or she might encounter this error message.

This error can occur when the Web application that hosts My Sites does not have a site collection at root path.

My Sites require that a site collection exist at the Web application root (which displays as / in the user interface). Without this, you will receive a message that indicates that there is no site collection at the root when you try to enable self-service site creation for the Web application. Because we recommend that you use a dedicated Web application to host My Sites, you should use the root path for the My Site host collection unless you have a specific requirement to create the site collection deeper in the uniform resource locator (URL) path.

If you create the My Site host deeper in the path, it must be under an explicit inclusion managed path. Additionally, you must create a separate site collection at the Web application root, although this site collection can be empty and created without a template. For more information about managed paths, see Define managed paths (SharePoint Server 2010).

To resolve this error, in Central Administration, do the following:

  1. Click Application Management.

  2. In the Site Collections section, click View all site collections.

  3. On the Site Collection page, in the Web Application box, verify that the Web application selected is the one that hosts My Sites. If it is not, click the down arrow, and then click Change Web Application to select the Web application that hosts My Sites.

  4. Verify that there is a site collection at the Web application root. If there is not, create a new site collection at the Web application root. This site collection can be empty and created without a template. For more information see, Create a site collection (SharePoint Server 2010).

There has been an error creating the personal site. Contact your site administrator for more information

When an end user tries to create an individual site collection on their personal My Site page by clicking the My Content link for the first time, he or she might encounter this error message.

This error can occur when the SharePoint administrator does not use a wildcard inclusion managed path to configure the My Site Settings for the User Profile service application connected to the Web application that hosts My Sites. For example, the managed path is an explicit inclusion managed path. If you create the My Site host site collection that is deeper than the root path, the site collection must use an explicit inclusion managed path. For more information, see Plan for My Sites (SharePoint Server 2010).

To resolve this error, in Central Administration, do the following:

  1. Click Application Management.

  2. In the Service Applications section, click Manage service applications.

  3. On the Manage Service Applications page, click the User Profile service application that is associated with the Web application that hosts My Sites, and then, in the Operations section of the ribbon, click Manage.

  4. On the Manage Profile Service page, in the My Site Settings section, click Setup My Sites.

  5. On the Manage Profile Service page, in the Personal Site Location section, verify that the value in the Location box is a wildcard inclusion managed path defined on the Web application that hosts My Sites. If not, create a new wildcard inclusion managed path for the Web application, and then use it as the value in the Location box. For more information see, Define managed paths (SharePoint Server 2010).

File not found

When an end user tries to create an individual site collection on their personal My Site page by clicking the My Content link for the first time, he or she might encounter the "File not found" error message.

This error can occur when the SharePoint administrator performed the following sequence of tasks to create a Web application to host My Sites that is not a valid configuration:

  1. Created a My Site host site collection that is at the Web application root.

  2. Enabled self-service site creation for the Web application.

  3. Deleted the My Site host site collection at the Web application root.

  4. Created another My Site host site collection that is not at the Web application root. (/<some_string>) for the same Web application, on which self-service site creation is still enabled.

My Sites require that a site collection exist at the Web application root (which displays as / in the user interface). Because we recommend that you use a dedicated Web application to host My Sites, you should use the root path for the My Site host collection unless you have a specific requirement to create the site collection deeper in the uniform resource locator (URL) path.

If you create the My Site host deeper in the path, it must be under an explicit inclusion managed path. Additionally, you must create a separate site collection at the Web application root, although this site collection can be empty and created without a template. For more information about managed paths, see Define managed paths (SharePoint Server 2010).

To resolve this error, in Central Administration, do the following:

  1. Click Application Management.

  2. In the Site Collections section, click View all site collections.

  3. On the Site Collection page, in the Web Application box, verify that the Web application selected is the one that hosts My Sites. If not, click the down arrow, and then click Change Web Application to select the Web application that hosts My Sites.

  4. Verify that there is a site collection at the Web application root. If there is not, create a new site collection at the Web application root. This site collection can be empty and created without a template. For more information see, Create a site collection (SharePoint Server 2010).

Could not load user profile

When an end user tries to access their personal My Site by entering the URL in a supported browser, he or she might encounter this error message.

This error can occur when the SharePoint administrator does not connect a User Profile service application with the Web application that hosts My Sites, or disconnects a User Profile service application from the Web application that hosts My Sites. For more information, see Set up My Sites (SharePoint Server 2010).

To resolve this error, in Central Administration, do the following:

  1. Click Application Management.

  2. In the Web Applications section, click Manage web applications.

  3. On the Web Application Management page, click the Web Application that hosts My Sites, and then, in the Manage section of the ribbon, click Service Connections.

  4. In the Configure Service Connections Associations dialog box, ensure that a User Profile service application is selected and set as the default. For more information, see Set up My Sites (SharePoint Server 2010).

Your personal site cannot be created because Self-Service Site Creation is not enabled. Contact your site administrator for more information.

When an end user tries to create an individual site collection on their personal My Site by clicking the My Content link for the first time, he or she might encounter this error message.

This error can occur when the SharePoint administrator does not enable self-service site create for the Web application that hosts My Sites.

To resolve this error, in Central Administration, do the following:

  1. Click Application Management.

  2. In the Web Applications section, click Manage web applications.

  3. On the Web Application Management page, click the Web Application that hosts My Sites, and then, in the Security section of the ribbon, click Self-Service Site Creation.

  4. In the Self-Service Site Collection Management dialog box, click On.

Your personal site cannot be created because the managed path <text_string> has not been created. Contact your site administrator for more information.

When an end user tries to create an individual site collection on their personal My Site by clicking the My Content link for the first time, he or she might encounter this error message.

This error can occur when the SharePoint administrator does not use a valid wildcard inclusion managed path to configure the My Site settings for the User Profile service application connected to the Web application that hosts My Sites. For example, the managed path does not exist or is not spelled correctly.

The site collection that you create to host My Sites can be created at the root path of the Web application, although it can be created as an explicit inclusion managed path deeper in the URL as long as there is a site collection created at the Web application root. If you create My Sites at the root path, you must specify a valid explicit inclusion managed path when you configure the My Site settings in the User Profile service application. For more information about selecting the path for the My Site host collection, see My Sites architecture in the "Plan for My Sites" article.

To resolve this error, in Central Administration, do the following:

  1. Click Application Management.

  2. In the Service Applications section, click Manage service applications.

  3. On the Manage Service Applications page, click the User Profile service application that is associated with the Web application that hosts My Sites, and then, in the Operations section of the ribbon, click Manage.

  4. On the Manage Profile Service page, in the My Site Settings section, click Setup My Sites.

  5. On the Manage Profile Service page, in the Personal Site Location section, verify that the value in the Location box is a valid wildcard inclusion managed path defined on the Web application that hosts My Sites. If not, create a new wildcard inclusion managed path for the Web application, and then use it as the value in the Location box. For more information see, Define managed paths (SharePoint Server 2010).

There was a problem retrieving data for this field. Updating values in this field is disabled temporarily. You can still update values in other fields

An end user might encounter this error message when trying to update the following information in his or her profile:

  • Ask Me About

  • Office Location

  • Past projects

  • Skills

  • Schools

  • Interests

This error can occur if the SharePoint administrator connects a Managed Metadata service application to the Web application that hosts My Sites and the Managed Metadata Web service is stopped.

To resolve this error, in Central Administration, do the following:

  1. Click Application Management.

  2. In the Service Applications section, click Manage services on server.

  3. On the Services on Server page, in the Managed Metadata Web Service row, click Start.

There are one or more errors with the data you have entered. The site does not contain a default keywords term store

An end user might encounter this error message when trying to close his or her profile after updating the following information:

  • Ask Me About

  • Office Location

  • Past projects

  • Skills

  • Schools

  • Interests

This error can occur when the SharePoint administrator has not configured a Managed Metadata service application and specified the connection as the default keyword term store for the Web application that hosts My Sites. A Managed Metadata service application enables Web applications to store and access keywords from a managed metadata term database. For My Sites, this functionality is required for users to specify keywords in the Ask Me About section or use keywords for social tagging. A Managed Metadata service application is highly recommended for My Sites. It must be configured as the default keyword term store for the Web application. For more information, see Managed metadata service application overview (SharePoint Server 2010).

You do not have access to edit this user profile

An end user might encounter this error message when trying to close his or her profile after updating the following information:

  • Ask Me About

  • Office Location

  • Past projects

  • Skills

  • Schools

  • Interests

This error can occur if the SharePoint administrator has connected a Managed Metadata service application to the Web application that hosts My Sites and the Managed Metadata Service Application connection has only Read Access to Term Store permission. For more information, see Grant permission to access a managed metadata service.

A Managed Metadata service application enables Web applications to store and access keywords from a managed metadata term database. For My Sites, this functionality is required for users to specify keywords in the Ask Me About section or use keywords for social tagging. A Managed Metadata service application is highly recommended for My Sites.

To resolve this error, in Central Administration, do the following:

  1. Click Application Management.

  2. In the Service Applications section, click Manage service applications.

  3. On the Manage Service Applications page, click the User Profile service application that is associated with the Web application that hosts My Sites, and then, in the Operations section of the ribbon, click Permissions.

  4. In the Connection Permissions for Managed Metadata Service, click either Read and Restricted Write Access to Term Store or Full Access to Term Store.

An unexpected error has occurred

When an end user tries to add a file to the My Content page, he or she might encounter this error message.

This error can occur when the User Profile service is stopped.

To resolve this error, in Central Administration, do the following:

  1. Click Application Management

  2. In the Service Applications section, click Manage services on server.

  3. On the Services on Server page, in the User Profile Service row, click Start.

Colleagues' tags, notes, or ratings do not appear

When a user adds a colleague to their personal My Site, they should be able to see any tags, notes, or ratings that the colleague created and did not mark as private. Occasionally, colleagues' tags, notes and ratings might not appear for other reasons, as follows:

  • The SharePoint administrator has not enabled search for My Sites. Adding a tag, a note, or a rating to a Web page creates an activity. Before SharePoint Server displays an activity, it uses a component called the security trimmer to determine whether the current user has permission to view the Web page to which the activity applies. If the user is not permitted to view the Web page, SharePoint Server 2010 does not display the activity. If the security trimmer has insufficient information to determine whether a user has permission to view a Web page, it errs on the side of caution and reports that the user does not have permission to view the Web page. As a result, if search has not crawled a Web page, activities that relate to that Web page will not be displayed. For more information, see Privacy and security implications of social tagging (SharePoint Server 2010).

    For information about how to enable search, see Manage Search service applications (SharePoint Server 2010).

  • The SharePoint administrator has not enabled or has disabled the Activity Feed Job for the User Profile service application that is connected to the Web application that hosts My Sites.

    To resolve this error, in Central Administration, do the following:

    1. Click Monitoring.

    2. In the Timer Jobs section, click Review jobs definitions.

    3. On the Jobs Definitions page, in the Title column, click the Activity Feed Job for the User Profile service application.

    4. On the Edit Timer Job page, click Enable, and then click OK.

User profile pictures are missing following an upgrade

When the SharePoint administrator upgrades from Microsoft Office SharePoint Server 2007 to SharePoint Server 2010, changes the URL of the farm, and then decommissions the Microsoft Office SharePoint Server 2007 farm, he or she might encounter this issue.

This issue occurs because SharePoint Server 2010 uses a different method for storing profile picture files. Therefore, after an upgrade, the URL for the individual profile picture files still link to the picture's former location. To link the profile pictures files to the correct location in the upgraded farm, use the following procedure.

To link the profile pictures to the correct location in the new farm

  1. To perform this procedure, verify that you meet the following minimum requirements:

    • See Add-SPShellAdmin.

    • You must read about_Execution_Policies (http://go.microsoft.com/fwlink/p/?LinkId=193050).

  2. Copy the following code and paste it into a text editor, such as Notepad:

    Copy Code
    $upm = new-object Microsoft.Office.Server.UserProfiles.UserProfileManager([Microsoft.SharePoint.SPServiceContext]::GetContext("http://oldURL"))

foreach($profile in $upm.GetEnumerator())
{
             $property = $profile.GetProfileValueCollection("PictureURL")
if ([System.String]::IsNullOrEmpty($property))
{
write-host The user profile does not have a profile picture.;

}
else
{
$property.Value = $property.Value.Replace("http://oldURL", "http://newURL")
$profile.Commit()
}
}

  3. Replace http://oldURL with the URL for the Web application that hosted the old My Sites site collection.

    Replace http://newURL with the URL for the Web application that hosted the new My Sites site collection.

  4. Save the file, naming it ChangeProfilePictureURLs.ps1.

    Note:

    You can use a different file name, but you must save the file as an ANSI-encoded text file whose extension is .ps1.

  5. On the Start menu, click All Programs.

  6. Click Microsoft SharePoint 2010 Products.

  7. Click SharePoint 2010 Management Shell.

  8. Change to the directory where you saved the file.

  9. At the Windows PowerShell command prompt, type the following command:

    Copy Code
    ./ChangeProfilePictureURLs.ps1

  10. After you have run the script, you must also run the Update-SPProfilePhotoStore cmdlet to update the profile photo store to be compatible with SharePoint Server 2010.

    At the Windows PowerShell command prompt, type the following command:

    Copy Code
    Update-SPProfilePhotoStore -MySiteHostLocation <URL of the My Site host>

    For more information, see Update-SPProfilePhotoStore.

See Also

Other Resources

Running Windows PowerShell Scripts


Mobile device troubleshooting (SharePoint Server 2010)
See Also

Published: March 24, 2011

This article helps you troubleshoot issues that you might encounter with mobile devices.

In this article:

  • Apple iPad users are not redirected to the mobile view

Apple iPad users are not redirected to the mobile view

The SharePoint standard view is not supported on Apple iPad devices. Instead, users can use the mobile view to view SharePoint content on their iPad devices. By default, iPad users are redirected to the standard view of SharePoint sites. This is because the iPad user agent is not included in the browser definition file (compat.browser). To change the default view for iPad users, you must add the iPad user agent string to the compat.browser file and set isMobileDevice to true. This redirects iPad users to the mobile view of a SharePoint site.

The following example shows a user agent string that can be used for iPad devices.

Copy Code
<!-- iPad Safari Browser -->
<!-- sample UA "Mozilla/5.0 (iPad; U; CPU OS 4_2_1 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8C148 Safari/6533.18.5" -->
<browser id="iPadSafari" parentID="AppleSafari">
<identification>
<userAgent match="iPad" />
<userAgent match="Mobile" />
</identification>
<capabilities>
<capability name="isMobileDevice" value="true" />
<capability name="canInitiateVoiceCall" value="true" />
<capability name="optimumPageWeight" value="1500" />
<capability name="requiresViewportMetaTag" value="true" />
<capability name="supportsTouchScreen" value="true" />
<capability name="telephoneNumberDetectionDisabled" value="true" />
</capabilities>
</browser>

For more information about how to update the compat.browser file, see the Modify the browser definition file (compat.browser) section in Configure mobile views (SharePoint Server 2010). For more information about how to use iPad devices with SharePoint 2010 Products, see SharePoint 2010 and Apple iPad (http://go.microsoft.com/fwlink/p/?LinkID=214218).

See Also

Concepts

Plan for mobile devices (SharePoint Server 2010)
Mobile administration (SharePoint Server 2010)


Office Web Apps troubleshooting (Installed on SharePoint 2010 Products)

Published: May 16, 2012

This article contains information to help IT pros troubleshoot Microsoft Office Web Apps.

We encourage you to give us your feedback. Your comments, suggestions, and troubleshooting tips can be incorporated into future versions of this content. You can send your feedback to us at ITSPDOCS@microsoft.com.

When the SharePoint administrator installs and configures Microsoft Office Web Apps, he or she, or end users, might encounter any of the following error messages or issues:

  • End users cannot view or edit Office 2010 documents in the browser

  • Office 2010 documents open in the client application instead of in the browser

  • An end user cannot open an Office 2010 document in the client application by using the button on the toolbar

  • When you try to uninstall Office Web Apps, you receive an error that it has already been uninstalled

  • When you attempt to reinstall SharePoint Server 2010 on a computer, you receive an error that there is a conflict with SharePoint 2010 Products that were previously installed

The following sections describe possible causes and how to fix these issues.

End users cannot view or edit Office 2010 documents in the browser

After the SharePoint administrator has installed, configured, and activated Office Web Apps, end users might receive an error message when they try to view or edit Microsoft Word, Microsoft Excel, Microsoft PowerPoint, or Microsoft OneNote documents in the browser.

The error messages might include, but are not limited to, the following:

  • Unable to process the request.

  • An unexpected error has occurred.

  • PowerPoint Web App encountered an error. Please try again.

  • Word Web App cannot open this document due to an unknown error. If the problem persists, try opening the file in Microsoft Word.

  • OneNote Web App cannot open this notebook because the Office Web Apps Feature isn't activated on this site collection. Try opening the file in Microsoft OneNote.

  • The file that you selected could not be found. Check the spelling of file name and verify that the location is correct. Make sure that the file has not been renamed, moved, or deleted.

These errors might occur for one or more of the following reasons:

  • The SharePoint administrator has run Office Web Apps Setup, which configures the default open behavior for SharePoint to open Microsoft Word, Excel, PowerPoint, and OneNote documents in the browser by using their associated Web application. However, the SharePoint administrator has not yet started the services, created the service applications, and activated the Office Web Apps feature.

  • The Office Web Apps services are not started on the Web front-end server.

  • The Office Web Apps service applications and proxies have not been created.

  • The Office Web Apps service applications proxies are not associated with the proxy group of the Web application that the site collection belongs to.

  • There might be a problem with the permissions for the service account that is used to run the Web application or one of the Office Web Apps services: Excel Calculation Services, PowerPoint Service, or Word Viewing Service. The Web application and service applications must have the appropriate permissions to access the content databases and the configuration database.

To resolve these errors, apply the following solutions:

  • The SharePoint administrator can avoid end users' seeing error messages while he or she finishes additional deployment tasks to deploy Office Web Apps on a live production server. We recommended that you enable the OpenInClient feature on existing site collections before you run Setup. For more information, see Configure the default open behavior for browser-enabled documents (Office Web Apps).

  • Activate the Office Web Apps feature for the site collection. For information about how to activate the Office Web Apps feature for a site collection, see Activate the Office Web Apps feature in Deploy Office Web Apps (Installed on SharePoint 2010 Products).

  • Verify that the services have been created and check the status of the services on the servers in the farm by doing the following:

    1. On the Central Administration Web site, in Application Management, click Manage services on server.

    2. On the Services on Server page, do the following:

      1. In the list of services on the selected server, verify that Excel Calculation Services, PowerPoint Service, and Word Viewing Service exist and are started. If a service is not started, click Start.

      2. Click the Server button at the top, click Change Server, and then in the Select Server dialog box, click a different server name.

      3. Repeat these steps until you have verified that the services exist and are started on all servers in the farm.

  • Verify that the Office Web Apps service applications and proxies have been created by doing the following:

    1. On the Central Administration Web site, in Application Management, click Manage service applications.

    2. On the Manage Service Applications page, verify that there the following kinds of service applications exist:

      • Excel Services Application Web service application

      • PowerPoint service application

      • Word Viewing service application

    Verify that the service applications have been created. For information about how to create service applications, see Create the service applications and the service application proxies in Deploy Office Web Apps (Installed on SharePoint 2010 Products).

  • Verify that the Office Web Apps service applications and proxies are associated with the proxy group of the Web application that the site collection belongs to by doing the following:

    1. On the Central Administration Web site, in Application Management, click Manage web applications.

    2. On the Web Applications Management page, select the Web applications that the site collection belongs to, and then click Service Connections.

    3. On the Configure Service Application Associations page, verify that the following kinds of service application proxies are associated with the Web application:

      • Excel Services Application Web service application proxy

      • PowerPoint service application proxy

      • Word Viewing service application proxy

      For information about how to add service application connections to a Web application, see Add or remove a service application connection to a Web application (SharePoint Server 2010) or Add or remove a service application connection to a Web application (SharePoint Foundation 2010).

  • Verify that the service account permissions for the Web application and the Office Web Apps services are appropriate. The Web application and service applications must have the appropriate permissions to access the content databases and the configuration database. For information about the appropriate service account permissions for the Web application and the Office Web Apps services, see Account permissions and security settings (SharePoint Server 2010).

Office 2010 documents open in the client application instead of in the browser

Except for Excel, the default open behavior for a site collection is to open Office 2010 documents in the client application, if the client application is installed. If the SharePoint administrator installs Office Web Apps and then the Office Web Apps feature is activated for a site collection, the default open behavior is set to open Office 2010 documents in the browser.

If the documents do not open in the browser, it could be for the following reasons:

  • The Office Web Apps feature is not activated for the site collection in which the document resides.

  • The Open Documents in Client Applications by Default feature is activated for the site collection in which the document resides.

To resolve this error, do the following:

  • Verify that the Office Web Apps feature is activated for the site collection in which the document resides. For information about how to activate the Office Web Apps feature for the site in which the document resides, see Activate the Office Web Apps feature in Deploy Office Web Apps (Installed on SharePoint 2010 Products).

  • Verify that the Open Documents in Client Applications by Default feature is not activated for the site collection in which the document resides. For information about the Open Documents in Client Applications by Default feature, see Configure the default open behavior for browser-enabled documents (Office Web Apps).

An end user cannot open an Office 2010 document in the client application by using the button on the toolbar

While using Office Web Apps, an end user clicks the Open in Word, Open in PowerPoint, Open in Excel, or Open in OneNote button on the toolbar and receives a message that states that the file cannot be opened in the client application.

This error might occur for one or more of the following reasons:

  • The user is running a 64-bit version of Internet Explorer.

  • The ActiveX control necessary for opening the file in the Office client application is not installed or is not running in the browser.

  • Microsoft Office is not installed on the client computer.

  • The version of Office that is installed is earlier than Office 2003.

  • Security settings in Internet Explorer prevent ActiveX controls from running.

  • The browser does not support ActiveX.

  • The client browser is Firefox, but the plug-in that enables Firefox to open Office documents is not installed.

When you try to uninstall Office Web Apps, you receive an error that it has already been uninstalled

If you uninstall SharePoint Server 2010 before you uninstall Office Web Apps and then attempt to uninstall Office Web Apps by using Control Panel, you will receive an error that Office Web Apps has already been uninstalled. This situation does not apply to Microsoft SharePoint Foundation 2010.

To resolve this error, see You cannot use Programs and Features within Control Panel to remove Office Web Apps from Windows Server 2008 (http://go.microsoft.com/fwlink/p/?LinkId=215534).

When you attempt to reinstall SharePoint Server 2010 on a computer, you receive an error that there is a conflict with SharePoint 2010 Products that were previously installed

You might encounter an error if you uninstall SharePoint Server 2010 but do not uninstall Office Web Apps, and then attempt to reinstall SharePoint Server 2010 on the same server. In this situation, you will receive an error that there is a conflict with a previously installed Microsoft Office 2010 Server product.

To resolve this error, see You cannot use Programs and Features within Control Panel to remove Office Web Apps from Windows Server 2008 (http://go.microsoft.com/fwlink/p/?LinkId=215534).


User Profile Service troubleshooting
See Also

Published: March 24, 2011

This section contains tips for solving problems that you may encounter when you use the User Profile Service.

We encourage you to give us your feedback. Your comments, suggestions, and troubleshooting tips can be incorporated into future versions of this content. You can send your feedback to us at ITSPDOCS@microsoft.com.

In this section:

  • Troubleshoot User Profile Synchronization Service start issues (SharePoint Server 2010)

  • Troubleshoot profile synchronization configuration issues (SharePoint Server 2010)

Note:

Microsoft periodically releases software updates to fix reported problems. If you do not see your issue described in this article, review the list of software updates to see whether there is a software update that resolves your issue. To see the latest software updates, see Updates for SharePoint 2010 Products (http://go.microsoft.com/fwlink/p/?LinkId=160585).

See Also

Other Resources

Resource Center: Operations and Manageability for SharePoint Server 2010


Troubleshoot User Profile Synchronization Service start issues (SharePoint Server 2010)
See Also

Published: March 24, 2011

This article contains tips for solving problems that you may encounter when you attempt to start the User Profile Synchronization service.

The User Profile Synchronization service interacts with Microsoft Forefront Identity Manager (FIM) to synchronize profile information with external systems such as directory services and business systems. The two FIM services, Forefront Identity Manager Service and Forefront Identity Manager Synchronization Service, are provisioned when you start the User Profile Synchronization service. Being unable to start the User Profile Synchronization service is the most common profile synchronization (profile sync) issue that administrators encounter.

The User Profile Synchronization service can take up to ten minutes to start. The User Profile Synchronization service is successfully started when:

  • The User Profile Synchronization service has a status of Started on the Services on Server page in Central Administration.

  • The Forefront Identity Manager Service and the Forefront Identity Manager Synchronization Service have a status of Started in the Services Microsoft Management Console. Both services run using the farm account.

    Important:

    Do not start the FIM services manually in the Services Microsoft Management Console. Starting the FIM services manually or changing the FIM service configuration is not supported.

If a long time has passed since you started the User Profile Synchronization service and the Services on Server page shows a status of either Starting or Stopped, review the following sections to learn more about problems that can cause User Profile Synchronization service start issues.

Note:

The Services on Server page does not refresh automatically. You must manually refresh the page to see updated information.

In this article:

  • Incorrect permissions on the farm account

  • Default schema for the farm account in the synchronization database is not set correctly

  • User Profile Synchronization service cannot start because Central Administration Web site uses Secure Sockets Layer

  • User Profile Synchronization service cannot start after a server restart

Note:

Microsoft periodically releases software updates to fix reported problems. If you do not see your issue described in this article, review the list of software updates to see whether there is a software update that resolves your issue. To see the latest software updates, see Updates for SharePoint 2010 Products (http://go.microsoft.com/fwlink/p/?LinkId=160585).

Incorrect permissions on the farm account

The farm account is used to start the User Profile Synchronization service. The Forefront Identity Manager Service and the Forefront Identity Manager Synchronization Service also run under the farm account. To resolve this issue, do the following:

  1. Determine the farm account

  2. Verify that the farm account has the required permissions

Determine the farm account

Some people confuse farm administrators with the farm account. Farm administrators are user accounts that are members of the Farm Administrators group. The farm account is the account that was specified when you installed and configured SharePoint Server. The farm account was used to create and access the configuration database. It also acts as the application pool identity account for the SharePoint Central Administration application pool, and it is the account under which the Microsoft SharePoint Foundation Workflow Timer service runs. To determine the farm account, from Central Administration, click Configure service accounts, and then click Farm account. This is the account that is used to start the User Profile Synchronization service and it must be granted the appropriate permissions.

Note:

Do not use the Service Accounts page to change the account that the User Profile Synchronization service runs under. This is not supported.

Verify that the farm account has the required permissions

Verify that the farm account has the following permissions:

  • The farm account has Log On Locally permission to the server on which you are trying to start the User Profile Synchronization service.

  • The farm account is a member of the Administrators group on the server on which you are trying to start the User Profile Synchronization service.

    Note:

    This permission is required only to start the User Profile Synchronization service. After the User Profile Synchronization service is started, you can remove the farm account from the Administrators group.

After making changes to the farm account, you must restart the SharePoint 2010 Timer service or restart the server. This ensures that every SharePoint service that is currently running as the farm account is using the latest credentials.

Default schema for the farm account in the synchronization database is not set correctly

The default schema for the farm account in the synchronization database is not set correctly if you used Windows PowerShell to create the User Profile Service application and you were not logged on as the farm account when you created the User Profile Service application. The following error is reported in the Universal Logging System (ULS) log:

Failed to configure ILM, will attempt during next rerun. Exception: System.Data.SqlClient.SqlException: Specified collection 'StringSchemaCollection' cannot be dropped because it is used by object '<farmaccount>.GetObjectCurrent'.
Note:

We do not recommend logging in as the farm account.

To resolve this issue, delete the User Profile Service application and re-create it by using Central Administration or a Windows PowerShell script. The following procedures show examples of how to use a Windows PowerShell script to create a User Profile Service application.

The server on which you are trying to start the User Profile Synchronization service might have User Account Control (UAC) disabled or enabled. You use one of the two following procedures depending on whether UAC is disabled on the server or UAC is enabled on the server.

To create a User Profile Service application by using Windows PowerShell if UAC is disabled on the server

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. Copy the following code and paste it into a text editor such as Notepad:

    Copy Code
    $sb = {
  Add-PSSnapin Microsoft.SharePoint.PowerShell

  $saAppPool = Get-SPServiceApplicationPool "SharePoint Web Services Default"
  $dbServer="<DBServer>"
  $upa = New-SPProfileServiceApplication -Name "<UPSAppName>" `
  -ApplicationPool $saAppPool `
  -ProfileDBName "<ProfileDBName>" `
  -ProfileDBServer $dbServer `
  -SocialDBName "<SocialDBName>" `
  -SocialDBServer $dbServer `
  -ProfileSyncDBName "<SyncDBName>" `
  -ProfileSyncDBServer $dbServer `
  -ErrorAction SilentlyContinue -ErrorVariable er
  }
$cred = Get-Credential "<FarmAccount>"
$job = Start-Job -Credential $cred -ScriptBlock $sb | Wait-Job

    Where:

    • <DBServer> is the name of the database server where the profile databases will be created.

    • <UPSAppName> is the name of the User Profile Service application to create.

    • <ProfileDBName> is the name of the profile database to create.

    • <SocialDBName> is the name of the social database to create.

    • <SyncDBName> is the name of the sync database to create.

    • <FarmAccount> is the farm account.

  3. Save the file, naming it Create-UPSApp.ps1.

    Note:

    You can use a different file name. However, you must save the file as an ANSI-encoded text file whose extension is .ps1.

  4. On the Start menu, click All Programs.

  5. Click Microsoft SharePoint 2010 Products.

  6. Click SharePoint 2010 Management Shell.

  7. Change to the directory where you saved the file.

  8. At the Windows PowerShell command prompt, type the following command:

    Copy Code
    ./Create-UPSApp.ps1

  9. When prompted, type the farm account password, and then click OK.

For more information, see New-SPProfileServiceApplication.

To create a User Profile Service application by using Windows PowerShell if UAC is enabled on the server

  1. Verify that the farm account is a member of the Administrators group on the local server computer on which you want to run the Windows PowerShell commands, and verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. Copy the following code and paste it into a text editor such as Notepad:

    Copy Code
    Add-PSSnapin Microsoft.SharePoint.PowerShell
New-SPProfileServiceApplication -Name "<UPSAppName>" `
  -ApplicationPool $saAppPool `
  -ProfileDBName "<ProfileDBName>" `
  -ProfileDBServer $dbServer `
  -SocialDBName "<SocialDBName>" `
  -SocialDBServer $dbServer `
  -ProfileSyncDBName "<SyncDBName>" `
  -ProfileSyncDBServer $dbServer `
  -ErrorAction SilentlyContinue -ErrorVariable er

    Where:

    • <UPSAppName> is the name of the User Profile Service application to create.

    • <ProfileDBName> is the name of the profile database to create.

    • <SocialDBName> is the name of the social database to create.

    • <SyncDBName> is the name of the sync database to create.

  3. Save the file, naming it Create-UPSApp.ps1.

    Note:

    You can use a different file name. However, you must save the file as an ANSI-encoded text file whose extension is .ps1.

  4. On the Start menu, click All Programs.

  5. Click Microsoft SharePoint 2010 Products.

  6. Click SharePoint 2010 Management Shell.

  7. Change to the directory where you saved the file.

  8. Create a new process that runs as an administrator on the local server computer. At the Windows PowerShell command prompt, type the following commands:

    Copy Code
    # Get the farm account credentials
$farmAcct = (Get-SPFarm).DefaultServiceAccount
$cred = Get-Credential $farmAcct.Name

# Create the User Profile Service application
$ScriptFile = "Create-UPSApp.ps1"

# Create a new process with UAC elevation
Start-Process $PSHOME\powershell.exe -Credential $cred -ArgumentList "-Command Start-Process $PSHOME\powershell.exe -ArgumentList `"'$scriptfile'`" -Verb Runas" -Wait

    The User Account Control window appears. Click Yes.

  9. When prompted, type the farm account password, and then click OK.

For more information, see New-SPProfileServiceApplication.

User Profile Synchronization service cannot start because Central Administration Web site uses Secure Sockets Layer

There was an issue with profile synchronization when the Central Administration Web site is configured to use Secure Sockets Layer (SSL). This issue is fixed in the Microsoft SharePoint Server 2010 October 2010 Cumulative Update. For more information about the cumulative update, see http://support.microsoft.com/kb/2394320.

User Profile Synchronization service cannot start after a server restart

If you have a single-box deployment where Active Directory Domain Services (AD DS), SQL Server, and SharePoint Server are all installed on a single server, timing issues may prevent the User Profile Synchronization service from starting. For example, in order to start the two FIM services, SQL Server must be started and be responding to connections. If SQL Server is not up and running when the FIM services are started, the FIM services will not start.

To avoid this issue, you can use the Services Microsoft Management Console to change the start-up behavior of the FIM services from Automatic to Automatic (Delayed Start).

Acknowledgements

The SharePoint Server 2010 Content Publishing team thanks Spencer Harbar, Enterprise Architect, for contributing to this article. His blog can be found at http://www.harbar.net.

See Also

Concepts

Configure profile synchronization (SharePoint Server 2010)
Plan for profile synchronization (SharePoint Server 2010)
Troubleshoot profile synchronization configuration issues (SharePoint Server 2010)


Troubleshoot profile synchronization configuration issues (SharePoint Server 2010)
See Also

Published: March 24, 2011

This article contains tips for solving problems that you may encounter when you configure profile synchronization (profile sync).

Note:

This article does not cover issues with starting the User Profile Synchronization service. If you are having problems starting the User Profile Synchronization service, see Troubleshoot User Profile Synchronization Service start issues (SharePoint Server 2010).

In this article:

  • SharePoint Health Analyzer alert: The server farm account should not be used for other services

  • An authentication provider does not appear in the Authentication Provider Instance list

  • Imported user profile data is not displayed in a user's My Site

  • Time-out error occurs when you create a synchronization connection

  • Deleted users still have user profiles

  • Exported properties are not written to the directory service

  • People search cannot find imported user profiles

  • Event ID 3 is logged in the application log

Note:

Microsoft periodically releases software updates to fix reported problems. If you do not see your issue described in this article, review the list of software updates to see whether there is a software update that resolves your issue. To see the latest software updates, see Updates for SharePoint 2010 Products (http://go.microsoft.com/fwlink/p/?LinkId=160585).

SharePoint Health Analyzer alert: The server farm account should not be used for other services

The following alert appears in the SharePoint Health Analyzer:

<FarmAccount>, the account used for the SharePoint timer service and the central administration site, is highly privileged and should not be used for any other services on any machines in the server farm. The following services were found to use this account: User Profile Synchronization Service (Windows Service).

This message can be ignored. The User Profile Synchronization Service must run as the farm account.

An authentication provider does not appear in the Authentication Provider Instance list

When you create a profile synchronization connection for a directory service and you are not using Windows authentication, you must specify the authentication provider type and the authentication provider instance to use. The Authentication Provider Instance list should display all authentication providers that match the specified authentication provider type. If the list does not include the appropriate authentication provider, it could be because of one of the following reasons.

There are no Web applications that use the authentication provider

In addition to the Central Administration Web application, there must be at least one Web application that is configured to use the authentication provider. Create a Web application that uses the authentication provider and then try to create the profile synchronization connection. For more information about creating Web applications, see Create a Web application (SharePoint Server 2010).

The authentication provider is not set up correctly

Verify that the authentication provider is set up correctly, based on which of the following authentication methods you are using:

  • Forms-based authentication

    The Web.Config file of the Central Administration Web site is one of the places wherein the membership information of the forms-based authentication providers is stored. SharePoint Server examines the Central Administration Web.Config file to determine the list of available authentication providers. Review your Central Administration Web.Config file to confirm that it has the correct membership provider and role manager settings. In particular, verify the following settings in the Web.Config file:

    • The port attribute specifies the port that is used to connect to the directory service. Confirm with your directory service administrator that you are using the correct port.

    • The userNameAttribute attribute specifies the name of the attribute in the directory service that serves as the unique identifier of each profile. Confirm with your directory service administrator that you are using the correct user name attribute.

    For more information about how to set up forms-based authentication, see Configure forms-based authentication for a claims-based Web application (SharePoint Server 2010).

  • SAML token-based authentication

    Using Security Assertion Markup Language (SAML) token-based authentication with profile synchronization requires the following:

    • A trusted identity provider that uses SAML tokens.

    • A My Sites Web application that is configured to use the trusted identity provider.

    For more information about how to set up SAML token-based authentication, see Configure authentication using a SAML security token (SharePoint Server 2010) and Configuring SharePoint 2010 and ADFS v2 End to End (http://go.microsoft.com/fwlink/p/?LinkId=207629).

Imported user profile data is not displayed in a user's My Site

When users access their My Site, their user account is associated with a corresponding user profile in SharePoint Server and the imported user profile data should be appear in their My Site. In claims-based Web applications, SharePoint Server uses the Claim User Identifier property (SPS-ClaimID) to match an authenticated user to the correct user profile. If the SPS-ClaimID is not mapped to the directory service attribute that you want to use as the user identifier, when a user is authenticated, he or she is not matched to the correct user profile and will not see the imported user profile data.

To resolve this issue, map the SPS-ClaimID property to the directory service attribute that uniquely identifies the user and then start a full profile synchronization. For example, if you are using a trusted identity provider for authentication that uses the e-mail address as the identity claim, map the SPS-ClaimID property to the mail attribute. For more information about mapping profile properties, see Map user profile properties in "Configure profile synchronization".

Time-out error occurs when you create a synchronization connection

A time-out error occurs when creating or editing a synchronization connection by using the Add/Edit a synchronization connection page in Central Administration.

The following table describes the time-outs and their default values.

Time-out setting Default value

Connect to the directory service server

Note:

This time-out setting is available in the Microsoft SharePoint Server 2010 June 2010 Cumulative Update. For more information, see http://support.microsoft.com/kb/983497.

120 seconds

Populate containers

1000 seconds (almost 17 minutes)

Save a synchronization connection

300,000 milliseconds (5 minutes)

To resolve this issue, increase the appropriate profile synchronization time-out setting. For more information, see the Adjust profile synchronization time-outs section in the "Maintain profile synchronization" topic.

Deleted users still have user profiles

Users that are deleted in the directory service still have a user profile in SharePoint Server. This issue can be caused by one of the following reasons.

The My Site Cleanup Job is not active

By default, the My Site Cleanup Job is enabled and runs hourly. When the My Site Cleanup job runs, it looks for all users who are marked for deletion and deletes their profiles. An e-mail message is also sent to the manager with a link to the deleted user's site. The e-mail message contains a request to the manager to move any documents or data that the manager wants to preserve, because the site might be deleted in the future. Verify that the My Site Cleanup Job is active. For more information about timer jobs, see Manage timer jobs in "Timer Job Reference".

The User Profile Service application does not have a My Site Host configured

The My Site Cleanup Job requires that the User Profile Service application has a My Site Host configured. This is required even if you do not plan to use My Sites. If a My Site Host is not configured, the profiles marked for deletion will never be deleted by the My Site Cleanup Job. For more information about how to configure a My Site Host, see the To configure My Site settings for the User Profile Service Application section of the "Set Up My Sites" topic.

The obsolete users were not imported by using profile synchronization

Sometimes the user profiles in SharePoint Server can include users that were not imported by using profile synchronization. This can occur, for example, if you upgraded from an earlier version of SharePoint Server and chose to only synchronize a subset of domains with SharePoint Server 2010. You can use Windows PowerShell to remove the obsolete users. For more information, see the Remove obsolete users and groups section of the "Maintain profile synchronization" topic.

Exported properties are not written to the directory service

User profile data is written to a directory service when you create an export mapping for a user profile property. If user profile properties are imported correctly but are not exported to the directory service, you can try the following:

  • Verify that the synchronization account has the necessary permissions. The synchronization account is the account that is used to access the directory service and synchronize profile information between SharePoint Server and the directory service. You specify this account when you create the synchronization connection. For certain directory services, additional permissions may be required to write data back to the directory service. Review the permissions information in the Grant account permissions section of the "Configure profile synchronization" topic.

  • If you changed the direction of a property mapping (that is, you deleted the import mapping and then added an export mapping), a full synchronization is required for properties to be exported to the directory service. For more information, see the Start the User Profile Synchronization service section in the "Configure profile synchronization" topic.

People search cannot find imported user profiles

People search enables users to find other people in the organization. The imported user profiles must be crawled before people search can work correctly. The following issues can prevent people search from finding the imported user profiles:

  • The account that is used to crawl user profiles (that is, the crawl account) does not have permission to the User Profile Service application.

    The crawl account must have the Retrieve People Data for Search Crawlers permission on the User Profile Service application. For more information about how to give an account permission to the User Profile Service application, see Assign administration of User Profile service features (SharePoint Server 2010).

    To give the crawl account permission to the User Profile Service application

    1. Verify that you have the following administrative credentials:

      • You must be a member of the Farm Administrators group.

    2. On the Central Administration Web site, in the Application Management section, click Manage service applications.

    3. On the Manage Service Applications page, click the row that contains the User Profile Service application.

    4. On the Service Applications tab, in the Operations section, click Administrators.

    5. In the text box, type the crawl account and then click Add.

    6. In the Permissions for <account> box, select Retrieve People Data for Search Crawlers, and then click OK.

  • The content source does not have the correct URL for the user profiles location.

    The Search Service application must know the location of the user profiles. Verify that the URL is correct.

    Note:

    If you are using a crawl rule to crawl user profiles, verify that the URL in the crawl rule is correct. For more information about crawl rules, see Manage crawl rules (SharePoint Server 2010).

    To verify the URL that is used to crawl user profiles

    1. Verify that you have the following administrative credentials:

      • You must be an administrator for the Search service application.

    2. On the Central Administration Web site, in the Application Management section, click Manage service applications.

    3. On the Manage Service Applications page, click Search Service Application.

    4. On the Search Administration page, on the Quick Launch, in the Crawling section, click Content sources.

    5. On the Manage Content Sources page, right-click Local SharePoint sites, and then click Edit.

    6. In the Start Addresses section, look for a URL that begins with sps3://. This is the URL that is used to crawl user profiles.

      The sps3:// URL is in the form sps3://<hostname>, where <hostname> is the host name of the Web application for the User Profile Service application.

      Note:

      If the Web application is configured to use Secure Sockets Layer (SSL), the URL must be in the form sps3s://<hostname>.

Event ID 3 is logged in the application log

This issue occurs if the Microsoft SharePoint Server 2010 August 2010 Cumulative Update is installed after the User Profile Service application was created and the User Profile Synchronization service was started.

These errors should not affect the functionality of the profile synchronization feature, and can be ignored. If you want to eliminate these errors, you must delete and re-create the User Profile Service application. For more information about this issue, see http://support.microsoft.com/kb/2432041.

Acknowledgements

The SharePoint Server 2010 Content Publishing team thanks Spencer Harbar, Enterprise Architect, for contributing to this article. His blog can be found at http://www.harbar.net.

See Also

Concepts

User Profile Service troubleshooting
Configure profile synchronization (SharePoint Server 2010)
Plan for profile synchronization (SharePoint Server 2010)
Manage profile synchronization (SharePoint Server 2010)
Configure a profile synchronization connection in SharePoint Server 2010 (video)
Configure a synchronization connection to a SQL Server database in SharePoint Server 2010 (video)


Technical reference for SharePoint Server 2010
See Also

Technical reference includes information about Windows PowerShell for Microsoft SharePoint Server 2010 and other useful reference information about general settings, security, and tools.

In this section:

  • Windows PowerShell for SharePoint Server 2010

  • System Center Operations Manager knowledge articles (SharePoint Server 2010)

  • Managing privacy (SharePoint Server 2010)

  • Upgrade reference (SharePoint Server 2010)

  • Installation reference (SharePoint Server 2010)

  • User permissions and permission levels (SharePoint Server 2010)

  • Database types and descriptions (SharePoint Server 2010)

  • Managed metadata input file format (SharePoint Server 2010)

  • User experience on read-only sites (SharePoint Server 2010)

  • Language packs (SharePoint Server 2010)

  • Scripted deployment reference (SharePoint Server 2010)

  • Account permissions and security settings (SharePoint Server 2010)

  • SharePoint 2010 Administration Toolkit (SharePoint Server 2010)

  • Peoplepicker-peopleeditoronlyresolvewithinsitecollection: Stsadm property (SharePoint Server 2010)

  • Default user profile properties (SharePoint Server 2010)

  • Default user profile property mappings (SharePoint Server 2010)

  • Connection filter data types and operators (SharePoint Server 2010)

  • User profile property data types (SharePoint Server 2010)

  • Grant Active Directory Domain Services permissions for profile synchronization (SharePoint Server 2010)

See Also

Other Resources

Stsadm command-line tool (Office SharePoint Server)


Windows PowerShell for SharePoint Server 2010
See Also

Windows PowerShell can be used with Microsoft SharePoint Server 2010 to perform both simple and complex administrative tasks. Information about cmdlets in SharePoint Server 2010 is currently accessible using command-line Help. For information about Windows PowerShell in general, visit the Windows PowerShell Technology Center (http://go.microsoft.com/fwlink/p/?LinkId=167152).

In this section:

  • SharePoint 2010 Products administration by using Windows PowerShell

  • Index of SharePoint Server 2010 Windows PowerShell cmdlets

  • Windows PowerShell for SharePoint Server 2010 reference

  • Updates to Windows PowerShell cmdlets (SharePoint Server 2010)

  • Stsadm to Windows PowerShell mapping (SharePoint Server 2010)

  • Microsoft Press: Using Windows PowerShell to Perform and Automate Farm Administrative Tasks

See Also

Other Resources

Resource Center: What's New in Microsoft SharePoint Server 2010


SharePoint 2010 Products administration by using Windows PowerShell

This article describes how to use Windows PowerShell with Microsoft SharePoint 2010 Products and provides an overview of basic Windows PowerShell cmdlets and concepts necessary to get the most benefit from this powerful functionality.

In this article:

  • Overview

  • Accessing Windows PowerShell for SharePoint 2010 Products

  • Permissions

  • Scripts and execution policies

  • Learning Windows PowerShell

Overview

Windows PowerShell is a command-line scripting tool that provides an administrator full access to applicable application programming interfaces (APIs), along with the ability to unlock the capability to interact directly with SharePoint 2010 Products to manipulate Web applications, site collections, sites, lists and much more. In addition, the administrator has the ability to script cmdlets (pronounced "command-lets"), which makes for an improved experience from past product versions.

Windows PowerShell 2.0 is a pre-requisite for installing SharePoint 2010 Products. It will be installed, if necessary, when you run the Microsoft SharePoint Products Preparation Tool. By default, Windows PowerShell is located at the following path: <%SystemRoot%>\System32\WindowsPowerShell\v1.0\PowerShell.exe.

Note:

Windows PowerShell 2.0 is backward compatible with Windows PowerShell 1.0 and subsequently installs to the v1.0 folder.

For a list of new features for Windows PowerShell version 2.0, see About Windows PowerShell 2.0 (http://go.microsoft.com/fwlink/p/?LinkId=113247).

For an interactive tool and guide that helps you learn Windows PowerShell syntax, see Windows PowerShell Command Builder Tool and Getting Started Guide.

We recommend that you use Windows PowerShell when performing command-line administrative tasks. The Stsadm command-line tool has been deprecated, but is included to support compatibility with previous product versions.

Accessing Windows PowerShell for SharePoint 2010 Products

After installing SharePoint 2010 Products, the applicable Windows PowerShell cmdlets are available by using the SharePoint 2010 Management Shell, or by using the Windows PowerShell console. With the management shell, you can manage every aspect of SharePoint 2010 Products. You can create new site collections, Web applications, user accounts, service applications, proxies, and more. The commands from the management shell output SharePoint objects based on the Microsoft .NET Platform. These objects can be applied as input to subsequent commands or stored in local variables for later use.

With the management shell, you do not have to register the snap-in that contains the cmdlets. Registration of the Microsoft.SharePoint.PowerShell.dll module for SharePoint 2010 cmdlets is automatic, as a result of the line Add-PSSnapin Microsoft.SharePoint.PowerShell in the SharePoint.ps1 file located in %CommonProgramFiles%\Microsoft Shared\Web Server Extensions\14\Config\PowerShell\Registration. If you choose to use the Windows PowerShell console, you must register this snap-in manually.

Whether you are using the management shell or the Windows PowerShell console, you can also load additional snap-ins. For more information, see Customizing Profiles (http://go.microsoft.com/fwlink/p/?LinkId=183166).

To access the SharePoint 2010 Management Shell

  1. On the Start menu, click All Programs.

  2. Click Microsoft SharePoint 2010 Products.

  3. Click SharePoint 2010 Management Shell.

Note:

The SharePoint 2010 Management Shell and the Windows PowerShell console also differ in the use of the ReuseThread option, which defines how the threading model is used. The management shell's use is defined by this line, {Host.Runspace.ThreadOptions = "ReuseThread"}, which is in the SharePoint.ps1 file. For more information, see PS Thread Options (http://go.microsoft.com/fwlink/p/?LinkId=183145).

Permissions

Before you can use the management shell and the Windows PowerShell cmdlets, verify that you meet the following minimum requirements: See Add-SPShellAdmin.

If you do not have membership in the SharePoint_Shell_Access role or WSS_Admin_WPG local group, use the Add-SPShellAdmin cmdlet. When the Add-SPShellAdmin cmdlet is used, the user is added to the WSS_Admin_WPG group in all front-end Web servers and is added to the SharePoint_Shell_Access role. If the target database does not have a SharePoint_Shell_Access role, the role is automatically created. Once the Add-SPShellAdmin cmdlet has been run, the user can run SharePoint 2010 Windows PowerShell cmdlets in a multiple-server farm environment.

When you run the Add-SPShellAdmin cmdlet to add a user to the SharePoint_Shell_Access role, you must have the following security permissions:

  • Securityadmin server role access on the SQL instance and the db_owner role in a database.

  • Administrative permission on the local computer.

Note:

Typically, the person that will use the Add-SPShellAdmin cmdlet must be associated with the user account that was used for Setup.

You must run the Add-SPShellAdmin cmdlet for all databases to which you want to grant access. If no database is specified, the farm configuration database is used. If you do specify a database, the farm content database will be included in addition to the farm configuration database you specify.

To see a list of all of the *SPShellAdmin cmdlets, from a Windows PowerShell command prompt, type Get-Command -Noun SPShellAdmin.

Scripts and execution policies

Although you can use Windows PowerShell to perform a single administrative task, the real benefit of using Windows PowerShell cmdlets is the ability to use a script to automate a series of tasks. A script is a plain text file that contains one or more Windows PowerShell commands. Windows PowerShell scripts have a .ps1 file name extension.

When using a script, be aware that the minimum required execution policy for SharePoint 2010 Products is RemoteSigned, while the default policy for Windows PowerShell is Restricted. If the policy is left as Restricted, the SharePoint 2010 Management Shell will change the policy for Windows PowerShell to RemoteSigned. This means the SharePoint 2010 Management Shell must be launched with elevated administrative permission by selecting Run as administrator. This change will apply to all Windows PowerShell sessions.

For additional information about scripts and execution polices, see about_scripts and about_Execution_Policies respectively.

Learning Windows PowerShell

There are several Windows PowerShell learning resources for SharePoint IT professionals who are not familiar with Windows PowerShell.

TechNet Scripting Center

The TechNet Scripting Center includes many resources for learning the basics of using Windows PowerShell. It also contains script repositories with samples of scripts commonly used with various Microsoft products. The following table shows the main learning resources.

Page | Description
Windows PowerShell Documentation on TechNet (http://go.microsoft.com/fwlink/p/?LinkId=187813) | This section of the TechNet Library contains Web copies of the core Windows PowerShell Get-Help topics. The section also has Web copies of the Windows PowerShell Getting Started document, the PowerShell.exe help, and a Windows PowerShell primer.
Scripting With Windows PowerShell (http://go.microsoft.com/fwlink/p/?LinkId=187815) | The home page for Windows PowerShell scripting learning resources.
Windows PowerShell Owner's Manual (http://go.microsoft.com/fwlink/p/?LinkId=187817) | Web-based guide for getting started with Windows PowerShell.
Windows PowerShell Quick Reference (http://go.microsoft.com/fwlink/p/?LinkId=187819) | Downloadable copy of the Quick Reference document installed with Windows PowerShell.

Windows PowerShell documents

Windows PowerShell installs the following documents in the Windows PowerShell 1.0 program group. They can also be installed after downloading the Windows PowerShell 1.0 Documentation Pack (http://go.microsoft.com/fwlink/p/?LinkId=187822).

File | Description
GettingStarted.rtf | Describes how to start using Windows PowerShell.
UsersGuide.rtf | A primer for the Windows PowerShell environment and language.
QuadFold.rtf | A printable quick reference document for the commonly used Windows PowerShell syntax and commands. Also available as a download from the TechNet Scripting Center.

As you read these resources, consider that the following concepts and cmdlets are useful ones to learn before using Windows PowerShell for SharePoint 2010 Products:

  • Get-Command (http://go.microsoft.com/fwlink/p/?LinkId=171069)

  • Get-Member (http://go.microsoft.com/fwlink/p/?LinkId=171070)

  • Get-Help (http://go.microsoft.com/fwlink/p/?LinkId=171068).

  • Aliasing (http://go.microsoft.com/fwlink/p/?LinkId=113207)

  • Piping and the Pipeline in Windows PowerShell (http://go.microsoft.com/fwlink/?LinkId=187808)

  • Cmdlet Parameter Sets (http://go.microsoft.com/fwlink/p/?LinkId=187810)

  • Foreach-Object (http://go.microsoft.com/fwlink/p/?LinkId=187812)

  • Where-Object (http://go.microsoft.com/fwlink/p/?LinkId=187811)


Windows PowerShell for SharePoint Server 2010 reference

The following articles list cmdlets for Microsoft SharePoint Server 2010 by functionality:

  • Access Services cmdlets (SharePoint Server 2010)

  • Backup and recovery cmdlets (SharePoint Server 2010)

  • Business Connectivity Services cmdlets (SharePoint Server 2010)

  • Database cmdlets (SharePoint Server 2010)

  • Enterprise content management cmdlets (SharePoint Server 2010)

  • Excel Services cmdlets (SharePoint Server 2010)

  • Farm cmdlets (SharePoint Server 2010)

  • Features and solutions cmdlets (SharePoint Server 2010)

  • General cmdlets (SharePoint Server 2010)

  • Health monitoring cmdlets (SharePoint Server 2010)

  • Import and export cmdlets (SharePoint Server 2010)

  • InfoPath Services cmdlets (SharePoint Server 2010)

  • Logging and events cmdlets (SharePoint Server 2010)

  • Performance cmdlets (SharePoint Server 2010)

  • PerformancePoint Services cmdlets (SharePoint Server 2010)

  • Search cmdlets (SharePoint Server 2010)

  • Secure Store service cmdlets (SharePoint Server 2010)

  • Security cmdlets (SharePoint Server 2010)

  • Service application cmdlets (SharePoint Server 2010)

  • SharePoint Foundation 2010 Search cmdlets (SharePoint Server 2010)

  • Site collection cmdlets (SharePoint Server 2010)

  • Site management cmdlets (SharePoint Server 2010)

  • State service and session state cmdlets (SharePoint Server 2010)

  • Timer jobs cmdlets (SharePoint Server 2010)

  • Upgrade and migration cmdlets (SharePoint Server 2010)

  • User Profile service cmdlets (SharePoint Server 2010)

  • Visio Graphics Services cmdlets (SharePoint Server 2010)

  • Web Analytics cmdlets (SharePoint Server 2010)

  • Web application cmdlets (SharePoint Server 2010)

  • Word Services cmdlets (SharePoint Server 2010)

  • Workflow management cmdlets (SharePoint Server 2010)


Access Services cmdlets (SharePoint Server 2010)
See Also

Access Services is a service in Microsoft SharePoint Server 2010 that lets an administrator view, edit, and configure a Microsoft Access application within a Web browser.

All Access Services settings support backup and recovery, regardless of whether there is a UI setting in Central Administration. However, backup and recovery only apply to service-level and administrative-level settings; end-user content from the Access application is not backed up as part of this process.

Access Services has Windows PowerShell functionality that you can use to provision the service or provision a new instance that uses settings from a previous backup; configure and manage macro and query setting; manage and configure session management; and configure all the global settings of the service.

Cmdlet name | Description
Get-SPAccessServiceApplication | Returns an Access Services application or a collection of Access Services applications.
New-SPAccessServiceApplication | Creates a new instance of an Access Services application.
Set-SPAccessServiceApplication | Sets global properties of an existing Access Services application.

See Also

Other Resources

Resource Center: Windows PowerShell for SharePoint Server 2010


Get-SPAccessServiceApplication
See Also Example
[image]

Published: May 12, 2010

Returns an Access Services application or a collection of Access Services applications.

Get-SPAccessServiceApplication [[-Identity] <SPAccessServiceApplicationPipeBind>] [-AssignmentCollection <SPAssignmentCollection>]

Parameters

Parameter Required Type Description

Identity

Optional

Microsoft.Office.Access.Server.PowerShell.SPAccessServiceApplicationPipeBind

Specifies the Access Services application to get.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; or an instance of a valid SPAccessServiceApplication object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Detailed Description

The Get-SPAccessServiceApplication cmdlet retrieves an Access Services application. If an identity is not specified, the cmdlet returns the collection of Access Services applications that are in the farm. The properties returned from this cmdlet are read-only. If changes need to be made, use the Set-SPAccessServiceApplication cmdlet. These changes affect all computers in the farm in which this Access Services application runs.

Input Types

Return Types

Example

------------EXAMPLE 1----------------

Copy Code
Get-SPAccessServiceApplication -identity "MyAccessService"

This example displays an Access Services application named MyAccessService.

------------EXAMPLE 2----------------

Copy Code
Get-SPAccessServiceApplication | where {$_.recordsintablemax -gt 10000}

This example displays every Access Services application that run in the farm, which allows more than 10,000 records in a table.

------------EXAMPLE 3----------------

Copy Code
Get-SPAccessServiceApplication

This example displays every Access Services application in the farm.

See Also

Reference

Set-SPAccessServiceApplication


New-SPAccessServiceApplication
See Also Example
[image]

Published: May 12, 2010

Creates a new instance of an Access Services application in Microsoft SharePoint Server 2010.

New-SPAccessServiceApplication -ApplicationPool <SPIisWebServiceApplicationPoolPipeBind> [-ApplicationLogSizeMax <Int32>] [-AssignmentCollection <SPAssignmentCollection>] [-CacheTimeout <Int32>] [-ColumnsMax <Int32>] [-Confirm [<SwitchParameter>]] [-Default <SwitchParameter>] [-Name <String>] [-NonRemotableQueriesAllowed <SwitchParameter>] [-OrderByMax <Int32>] [-OuterJoinsAllowed <SwitchParameter>] [-OutputCalculatedColumnsMax <Int32>] [-PrivateBytesMax <Int32>] [-RecordsInTableMax <Int32>] [-RequestDurationMax <Int32>] [-RowsMax <Int32>] [-SessionMemoryMax <Int32>] [-SessionsPerAnonymousUserMax <Int32>] [-SessionsPerUserMax <Int32>] [-SourcesMax <Int32>] [-TemplateSizeMax <Int32>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Name

Optional

System.String

Specifies the display name of the Access Services application to create. The name can contain a maximum of 128 characters and can contain the comma (,), equal sign (=), or colon (:) characters provided they are enclosed in quotation marks.

The type must be a valid name of an Access Services application; for example, AccessSrvApp1.

ApplicationPool

Required

Microsoft.SharePoint.PowerShell.SPIisWebServiceApplicationPoolPipeBind

Specifies the existing Internet Information Services (IIS) application pool to run the Web service in for the new Access Services application.

The type must be a valid instance of a SPIisWebServiceApplicationPool object.

ApplicationLogMaxSize

Optional

System.Int32

Specifies the maximum number of records for an Access Services Application Log list. Valid valies: -1 to maxint. 0 means none are allowed. The default value is 3000.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

CacheTimeout

Optional

System.Int32

Specifies the number of seconds that a data cache will remain active on Access Services with no user activity. Valid values include: -1, cache never times out; 1 to 2073600, cache remains active from 1 second to 24 days.

The type must be the integers -1, or an integer in the range of 1 to 2073600 (24 days). The default value is 300.

ColumnsMax

Optional

System.Int32

Specifies the maximum number of columns that a list involved in a query can contain, or that the output of the query can contain. The default value is 30.

The type must be an integer in the range of 1 to 255

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

Default

Optional

System.Management.Automation.SwitchParameter

Specifies that the service application is associated with Web applications by adding this service application's proxy to the farm's default proxy list.

NonRemotableQueriesAllowed

Optional

System.Management.Automation.SwitchParameter

Specifies that queries that cannot be remoted to the database tier can run.

OrderByMax

Optional

System.Int32

Specifies the maximum number of Order By clauses in the query. The default value is 4.

The type must be an integer in the range of 1 to 8.

OuterJoinsAllowed

Optional

System.Management.Automation.SwitchParameter

Specifies that left and right outer joins are supported. Inner joins are always supported.

OutputCalculatedColumnsMax

Optional

System.Int32

Specifies the maximum number of calculated columns that can be included in the output as a part of the query. Calculated columns in the underlying list are not included. The default value is 10.

The type must be an integer in the range of 1 to 32.

PrivateBytesMax

Optional

System.Int32

Specifies the maximum private bytes in megabytes (MB) that can be used by Access Services. When set to -1, Access Services defaults to 75 percent of physical memory on the machine. Valid values are -1 (no limit), and from 1 to any positive integer.The default value is -1.

RecordsInTableMax

Optional

System.Int32

Specifies the maximum number of records allowed for a table in the Access Services application. Valid values include: -1, no limit, and 1 to any positive integer. The default value is 500000.

The type must be the integer -1, or an integer in the range of 1 to MaxInt.

RequestDurationMax

Optional

System.Int32

Specifies the maximum number of seconds that a request to perform an operation can use before the request times out. Valid values include: -1, no limit, 1 to 2073600, cache remains active 1 second to 24 days. The default value is 30.

The type must be the integer -1, or an integer in the range of 1 to 2073600 (24 days)

RowsMax

Optional

System.Int32

Specifies the maximum number of rows that a list involved in a query can have, or that the output of the query can have. The default value is 50000.

The type must be an integer in the range of 1 to 200000.

SessionMemoryMax

Optional

System.Int32

Specifies the maximum allowable size, in megabytes, of an individual session. Valid values include 0, disable property, and 1 to 4095. The default value is 64.

The type must be the integer 0, or an integer in the range of 1 to 4095.

SessionsPerAnonymousUserMax

Optional

System.Int32

Specifies the maximum number of sessions allowed per user. If this maximum is reached, the oldest session will be deleted when a new session is started. Valid values include: -1, no limit, and 1 to any positive integer. The default value is 10.

The type must be the integer -1, or an integer in the range of 1 to MaxInt.

SessionsPerUserMax

Optional

System.Int32

Specifies the maximum number of sessions allowed per user. If this maximum is reached, the oldest session will be deleted when a new session is started. Valid values include: -1, no limit, and 1 to any positive integer. The default value is 10.

The type must be the integer -1, or an integer in the range of 1 to MaxInt.

SourcesMax

Optional

System.Int32

Specifies the maximum number of lists that can be used as input to a query at one time. The default value is 8.

The type must be an integer in the range of 1 to 20.

TemplateSizeMax

Optional

System.Int32

The maximum allowable size in megabytes allowed for Microsoft Access templates (.accdt file files) uploaded into the solution gallery. Valid values: -1(no limit), from 1 to any positive integer.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The New-SPAccessServiceApplication cmdlet creates a new instance of an Access Services application in SharePoint Server 2010. After you create a new Access Services application, use the Set-SPAccessServiceApplication cmdlet to modify its global settings.

Input Types

Return Types

Example

------------EXAMPLE 1----------------

Copy Code
New-SPAccessServiceApplication -Name "MyAccessService" -SPIisWebServiceApplicationPool MyAppPool

This example creates a new instance of Access Services named MyAccessService that runs under the application pool named MyAppPool.

------------EXAMPLE 2----------------

Copy Code
New-SPAccessServiceApplication -Name "MyAccessService" -SPIisWebServiceApplicationPool MyAppPool -SessionsPerUserMax 25

This example creates a new instance of Access Services named MyAccessService that runs under the application pool named MyAppPool, which allows up to 25 sessions per user on each back end application server machine on which Access Services runs.

See Also

Reference

Set-SPAccessServiceApplication
Get-SPAccessServiceApplication


Set-SPAccessServiceApplication
See Also Example
[image]

Published: May 12, 2010

Sets global properties of an existing Access Services application in Microsoft SharePoint Server 2010.

Set-SPAccessServiceApplication [-Identity] <SPAccessServiceApplicationPipeBind> [-ApplicationLogSizeMax <Int32>] [-AssignmentCollection <SPAssignmentCollection>] [-CacheTimeout <Int32>] [-ColumnsMax <Int32>] [-Confirm [<SwitchParameter>]] [-NonRemotableQueriesAllowed <SwitchParameter>] [-OrderByMax <Int32>] [-OuterJoinsAllowed <SwitchParameter>] [-OutputCalculatedColumnsMax <Int32>] [-PrivateBytesMax <Int32>] [-RecordsInTableMax <Int32>] [-RequestDurationMax <Int32>] [-RowsMax <Int32>] [-SessionMemoryMax <Int32>] [-SessionsPerAnonymousUserMax <Int32>] [-SessionsPerUserMax <Int32>] [-SourcesMax <Int32>] [-TemplateSizeMax <Int32>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.Office.Access.Server.PowerShell.SPAccessServiceApplicationPipeBind

Specifies the Access Services application to update.

The type must be a valid name of an Access Services application; for example, AccessSrvApp1; a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; or an instance of a valid SPAccessServiceApplication object.

ApplicationLogMaxSize

Optional

System.Int32

The maximum number of records for an Access Services Application Log list. Valid valies: -1 to maxint. A value of zero means none is allowed. The default value is 3000.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

CacheTimeout

Optional

System.Int32

Specifies the number of seconds that a data cache will remain active on Access services with no user activity. Valid values include: -1, cache never times out; 1 to 2073600, cache remains active from 1 second to 24 days.

The type must be the integers -1, or an integer in the range of 1 to 2073600 (24 days). The default value is 300.

ColumnsMax

Optional

System.Int32

Specifies the maximum number of columns that a list involved in a query can contain, or that the output of the query can contain. The default value is 30.

The type must be an integer in the range of 1 to 255.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

NonRemotableQueriesAllowed

Optional

System.Management.Automation.SwitchParameter

Specifies that queries that cannot be sent remotely to the database tier can run.

OrderByMax

Optional

System.Int32

Specifies the maximum number of Order By clauses in the query. The default value is 4.

The type must be an integer in the range of 1 to 8.

OuterJoinsAllowed

Optional

System.Management.Automation.SwitchParameter

Specifies that left and right outer joins are supported. Inner joins are always supported.

OutputCalculatedColumnsMax

Optional

System.Int32

Specifies the maximum number of calculated columns that can be included in the output as a part of the query. Calculated columns in the underlying SharePoint list are not included. The default value is 10.

The type must be an integer in the range of 1 to 32.

PrivateBytesMax

Optional

System.Int32

Specifies the maximum private bytes in megabytes that can be used by Access Services. When set to -1 it defaults to 75 percent of physical memory on the machine. Valid values: -1, no limit, from 1 to any positive integer.The default value is -1.

RecordsInTableMax

Optional

System.Int32

Specifies the maximum number of records allowed for a table in the Access Services application. Valid values include: -1, no limit, and 1 to any positive integer. The default value is 500000.

The type must be the integer -1, or an integer in the range of 1 to MaxInt.

RequestDurationMax

Optional

System.Int32

Specifies the maximum number of seconds that a request to perform an operation can use before the request times out. Valid values include: -1, no limit, 1 to 2073600, cache remains active 1 second to 24 days. The default value is 30.

The type must be the integer -1, or an integer in the range of 1 to 2073600 (24 days)

RowsMax

Optional

System.Int32

Specifies the maximum number of rows that a list involved in a query can have, or that the output of the query can have. The default value is 50000.

The type must be an integer in the range of 1 to 200000.

SessionMemoryMax

Optional

System.Int32

Specifies the maximum allowable size, in megabytes, of an individual session. Valid values include: 0, disable property, 1 to 4095. The default value is 64.

The type must be the integer 0, or an integer in the range of 1 to 4095.

SessionsPerAnonymousUserMax

Optional

System.Int32

The maximum number of sessions allowed per user. If this maximum is reached, the oldest session will be deleted when a new session is started. Valid values include: -1, no limit, and 1 to any positive integer. The default value is 10.

The integer -1, or an integer in the range of 1 to MaxInt

SessionsPerUserMax

Optional

System.Int32

Specifies the maximum number of sessions allowed per user. If this maximum is reached, the oldest session will be deleted when a new session is started. Valid values include: -1, no limit, and 1 to any positive integer. The default value is 10.

The integer -1, or an integer in the range of 1 to MaxInt.

SourcesMax

Optional

System.Int32

Specifies the maximum number of lists that may be used as input to a query at one time. The default value is 8.

The type must be an integer in the range of 1 to 20.

TemplateSizeMax

Optional

System.Int32

The maximum allowable size in megabytes (MB) allowed for Access templates (.accdt files) uploaded into the solution gallery. Valid values: -1, no limit, from 1 to any positive integer.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Set-SPAccessServiceApplication cmdlet sets the global runtime properties of an existing Access Services application in SharePoint Server 2010. The changes made to the properties by using this cmdlet affect all machines in the farm on which this Access Services application runs.

Input Types

Return Types

Example

------------EXAMPLE 1------------------

Copy Code
Set-SPAccessServiceApplication -identity "MyAccessService" -requestDurationMax 100

This example sets the Access Services application named MyAccessService to let requests take up to 100 seconds before they time out.

------------EXAMPLE 2------------------

Copy Code
Get-SPAccessServiceApplication | Set-SPAccessServiceApplication -sessionsPerUserMax 5

This example sets every Access Services application in the farm to allow up to five sessions per user on each back-end application server computer on which Access Services runs.

First, every Access Services application is retrieved, and then a new value is set by using the Set-SPAccessServiceApplication cmdlet.

------------EXAMPLE 3------------------

Copy Code
Get-SPAccessServiceApplication | where {$_.rowsMax -gt 50000 } | Set-SPAccessServiceApplication -rowsMax 50000

This example sets every Access Services application in the farm that allows more than 50,000 rows to be returned from, or used in, a query, and then sets the service application to allow up to 50,000 rows only.

First, every Access Services application that has more than 50,000 rows is retrieved, and then a new value is set by using the Set-SPAccessServiceApplication cmdlet.

See Also

Reference

Get-SPAccessServiceApplication


Backup and recovery cmdlets (SharePoint Server 2010)
See Also

A backup is a copy of data that is used to restore and recover that data after a system failure. Maintaining backups of data is useful for routine purposes, such as copying a database from one server to another, setting up database mirroring, archiving for governmental purposes, and disaster recovery.

In Microsoft SharePoint Server 2010, you can use Windows PowerShell functionality to perform a backup or restore process for the following items:

  • Farm

  • Site collection

  • Configuration database

  • Services

  • List or document

Cmdlet name | Description
Backup-SPConfigurationDatabase | Performs a farm-level configuration-only backup.
Backup-SPFarm | Creates a backup of an individual database, Web application, or the entire farm.
Restore-SPFarm | Restores one or more items from a backup.
Backup-SPSite | Performs a backup of a site collection.
Restore-SPSite | Restores a site collection.
Get-SPBackupHistory | Returns a history of backup and restore operations.

See Also

Other Resources

Resource Center: Windows PowerShell for SharePoint Server 2010


Backup-SPConfigurationDatabase
See Also Example
[image]

Published: May 12, 2010

Performs a farm-level configuration-only backup.

Backup-SPConfigurationDatabase -Directory <String> [-AssignmentCollection <SPAssignmentCollection>] [-DatabaseCredentials <PSCredential>] [-DatabaseName <String>] [-DatabaseServer <String>] [-Item <String>]
Backup-SPConfigurationDatabase -ShowTree <SwitchParameter> [-AssignmentCollection <SPAssignmentCollection>] [-DatabaseCredentials <PSCredential>] [-DatabaseName <String>] [-DatabaseServer <String>] [-Item <String>]

Parameters

1

Parameter

Required

Type

Description

Directory

Required

System.String

Specifies the path where SharePoint 2010 Products stores the backup package it generates. If you have a computer on which Microsoft SQL Server 2008 and an instance of SharePoint 2010 Products are installed, you can use local drive paths. This includes a basic installation. However, if SQL Server 2008 and SharePoint 2010 Products are installed on multiple computers or if you have multiple servers running SharePoint 2010 Products, you must use Universal Naming Convention (UNC) share paths so that the SQL Server database and search components are written to the same location; for example, \\computer_name\volume\Backup).

Multiple backup packages can be stored in the same location. This is the same path that you pass to the Directory parameter of the Restore-SPFarm cmdlet.

The type must be either of the valid paths:

- C:\folder_name

- \\server_name\folder_name

Note:

The spbr* folders are automatically created.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

DatabaseCredentials

Optional

System.Management.Automation.PSCredential

Specifies the ID and password that corresponds to the administrator user name for the SQL Server database.

This parameter should only be specified if SQL authentication is used to connect to the database. If Windows authentication is used to connect to the database, then this parameter should not be specified.

DatabaseName

Optional

System.String

Specifies the configuration database name.

DatabaseServer

Optional

System.String

Specifies the SQL database server that contains the configuration database. The default value is the local computer name.

The type must be a valid database server; for example, DS.

Item

Optional

System.String

Indicates the part of the farm to back up. You may use the full farm path notation as displayed by the ShowTree parameter or the name of the target component in the path if the component has a unique name. If multiple items match the name, the full path must be provided. Surround the item or path in quotation marks if it contains a space.

If the Item parameter is not specified, the entire farm configuration is backed up.

2

Parameter

Required

Type

Description

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

DatabaseCredentials

Optional

System.Management.Automation.PSCredential

Specifies the ID and password that corresponds to the administrator user name for the SQL Server database.

This parameter should only be specified if SQL authentication is used to connect to the database. If Windows authentication is used to connect to the database, then this parameter should not be specified.

DatabaseName

Optional

System.String

Specifies the configuration database name.

DatabaseServer

Optional

System.String

Specifies the SQL database server that contains the configuration database. The default value is the local computer name.

The type must be a valid database server; for example, DS.

Item

Optional

System.String

Indicates the part of the farm to back up. You may use the full farm path notation as displayed by the ShowTree parameter or the name of the target component in the path if the component has a unique name. If multiple items match the name, the full path must be provided. Surround the item or path in quotation marks if it contains a space.

If the Item parameter is not specified, the entire farm configuration is backed up.

ShowTree

Optional

System.Management.Automation.SwitchParameter

Displays which objects in the farm will be backed up based on the other parameters passed to the backup cmdlet, namely the Item parameter. Items that will be excluded from the backup based on the other parameters passed to the Backup-SPConfigurationDatabase cmdlet will be preceded with an asterisk character (*). Items that cannot be backed up will be enclosed in square brackets ([ ]). A backup will not be performed if the ShowTree parameter is present.

Detailed Description

This cmdlet contains more than one parameter set. You may only use parameters from one parameter set, and you may not combine parameters from different parameter sets. For more information about how to use parameter sets, see Cmdlet Parameter Sets.

The Backup-SPConfigurationDatabase cmdlet performs a configuration-only backup of the current farm or a configuration-only backup of a separate configuration database which is not attached to the current farm. If you wish to perform a configuration-only backup of the current farm, there is no need to specify the DatabaseServer and DatabaseName parameters. However, using the Backup-SPFarm cmdlet with the ConfigurationOnly parameter is recommended for such a scenario.

An example of a configuration backup is an administrator creates a farm configuration template which then can be applied to other SharePoint farms by performing a restore using the Restore-SPFarm cmdlet.

Input Types

Return Types

Example

-------------------EXAMPLE 1--------------------

Copy Code
Backup-SPConfigurationDatabase -DatabaseName SharePoint_Config -DatabaseServer SqlServer1 -Directory \\server\share\Backup -ShowTree

This example displays components that are available for inclusion in a configuration-only backup.

-------------------EXAMPLE 2--------------------

Copy Code
Backup-SPConfigurationDatabase -DatabaseName SharePoint_Config -DatabaseServer SqlServer1 -Directory \\server\share\Backup -Verbose

This example performs a configuration-only backup with verbose output.

See Also

Reference

Connect-SPConfigurationDatabase
Disconnect-SPConfigurationDatabase
New-SPConfigurationDatabase
Remove-SPConfigurationDatabase
Restore-SPFarm


Backup-SPFarm
See Also Example
[image]

Published: May 12, 2010

Creates a backup of an individual database, Web application, or the entire farm.

Backup-SPFarm -BackupMethod <String> -Directory <String> [-AssignmentCollection <SPAssignmentCollection>] [-BackupThreads <Int32>] [-ConfigurationOnly <SwitchParameter>] [-Confirm [<SwitchParameter>]] [-Force <SwitchParameter>] [-Item <String>] [-Percentage <Int32>] [-WhatIf [<SwitchParameter>]]
Backup-SPFarm -ShowTree <SwitchParameter> [-AssignmentCollection <SPAssignmentCollection>] [-ConfigurationOnly <SwitchParameter>] [-Confirm [<SwitchParameter>]] [-Item <String>] [-WhatIf [<SwitchParameter>]]

Parameters

1

Parameter

Required

Type

Description

BackupMethod

Required

System.String

Specifies the type of backup file to be created.

If a backup is performed with the -ShowTree parameter, then the BackupMethod parameter is not used.

A full backup is a backup of all the selected data. A differential backup is a backup of all the selected data that has changed since the last full backup. If an item does not support differential backup, then a full backup is performed for that item instead.

The type must be either of the following:

- Full

- Differential

Directory

Required

System.String

Specifies the path where SharePoint 2010 Products stores the backup package it generates. If you have a computer on which Microsoft SQL Server 2008 and an instance of SharePoint 2010 Products are installed, you can use local drive paths. This includes a basic installation. However, if SQL Server 2008 and SharePoint 2010 Products are installed on multiple computers or if you have multiple servers running SharePoint 2010 Products, you must use Universal Naming Convention (UNC) share paths so that the SQL Server database and search components are written to the same location; for example, \\computer_name\volume\Backup).

Multiple backup packages can be stored in the same location. This is the same path that you pass to the Directory parameter of the Restore-SPFarm cmdlet.

The type must be either of the valid paths:

- C:\folder_name

- \\server_name\folder_name

Note:

The spbr* folders are automatically created.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

BackupThreads

Optional

System.Int32

Specifies the number of threads to be used during the backup. The fewer the threads, the easier the backup log file is to read and understand. The more the threads, the more components that can be backed up in parallet, potentially resulting in a faster backup operation. The minimum value is 1 and the maximum value is 10.

The default value is 3.

If a backup is performed with the -ShowTree parameter, then the BackupMethod parameter is not used.

ConfigurationOnly

Optional

System.Management.Automation.SwitchParameter

If set, the backup will contain configuration settings only (no data) for each of the objects to be backed up.

Force

Optional

System.Management.Automation.SwitchParameter

Specifies to proceed with a backup operation even if the estimation is that the backup directory does not have sufficient space to hold the entire backup.

If a backup is performed with the ShowTree parameter, then the Force parameter is not used.

Item

Optional

System.String

Indicates the part of the farm to back up. You might use the full farm path notation as displayed by the ShowTree parameter or the name of the target component in the path if the component has a unique name. If multiple items are included in the same match, the full path must be provided. By default, the top node is selected. Surround the item or path in quotation marks if it contains a space. If this parameter is not specified, the entire farm is backed up.

The type must be a valid item; for example, Farm\Microsoft SharePoint Foundation Web Application\SharePoint - 80.

Percentage

Optional

System.Int32

Requests progress updates about the backup operation to be displayed in increments of that percentage; for example, a value of 5 displays backup progress updates at every 5 percent completed, and a value of 10 displays backup progress updates at every 10 percent completed. To have progress outputs displayed, you must specify the Verbose parameter.

Note:

This percentage is not precise and the actual progress updates might be lower or higher than requested. Progress updates are always recorded in the backup log file.

The percentage value is not prcesie and the actual progress updates might be lower or higher than requested.

The default value is 5. For a very large database, 1 is the recommended value.

Valid values are an integer value between 1 and 100.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

2

Parameter

Required

Type

Description

ShowTree

Required

System.Management.Automation.SwitchParameter

Displays which objects in the farm will be backed up based on the other parameters passed to the Backup-SPFarm cmdelt, namely the Item parameter. Items that will be excluded from the backup based on the other parameters passed to the Backup-SPFarm cmdlet will be preceded with an asterisk character (*). Items that cannot be backed up will be enclosed in square brackets ([ ]). A backup will not be performed if the ShowTree parameter is present.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

ConfigurationOnly

Optional

System.Management.Automation.SwitchParameter

If set, the backup will contain configuration settings only (no data) for each of the objects to be backed up.

Item

Optional

System.String

Indicates the part of the farm to back up. You might use the full farm path notation as displayed by the ShowTree parameter or the name of the target component in the path if the component has a unique name. If multiple items are included in the same match, the full path must be provided. By default, the top node is selected. Surround the item or path in quotation marks if it contains a space. If this parameter is not specified, the entire farm is backed up.

The type must be a valid item; for example, Farm\Microsoft SharePoint Foundation Web Application\SharePoint - 80.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

This cmdlet contains more than one parameter set. You may only use parameters from one parameter set, and you may not combine parameters from different parameter sets. For more information about how to use parameter sets, see Cmdlet Parameter Sets.

The Backup-SPFarm cmdlet creates a backup for the entire farm or individual components within the farm. It can also be used to back up just the configuration settings of a farm to be used as a farm template for other SharePoint farms. If you want to back up a single site collection, use the Backup-SPSite cmdlet.

Input Types

Return Types

Example

--------------------EXAMPLE 1---------------------

Copy Code
Backup-SPFarm -Directory \\file_server\share\Backup -BackupMethod full -ConfigurationOnly

This example backs up the configuration settings of the farm to the \\file_server\share\Backup directory.

--------------------EXAMPLE 2---------------------

Copy Code
Backup-SPFarm -ShowTree -Item "Microsoft SharePoint Foundation Web Application" -Verbose

This example shows which components of the farm would be backed up under the "Microsoft SharePoint Foundation Web Application" node, but do not actually back them up.

--------------------EXAMPLE 3---------------------

Copy Code
Backup-SPFarm -Directory C:\Backup -BackupMethod full -BackupThreads 10 -Force

This example performs a backup of a farm using 10 threads and forces the backup to be saved to the C:\Backup directory even though SharePoint estimates that it does not have sufficient space available.

See Also

Reference

Backup-SPConfigurationDatabase
Get-SPBackupHistory
Restore-SPFarm


Backup-SPSite
See Also Example
[image]

Published: May 12, 2010

Performs a backup of a site collection.

Backup-SPSite [-Identity] <SPSitePipeBind> -Path <String> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-Force <SwitchParameter>] [-NoSiteLock <SwitchParameter>] [-UseSqlSnapshot <SwitchParameter>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.SharePoint.PowerShell.SPSitePipeBind

Specifies the URL or GUID of the site collection to be backed up.

For example, a valid URL, such as http://server_name/sites/site_name or a GUID such as, "01234567-89ab-cdef-0123-456789abcdef"

Path

Required

System.String

Specifies the full path to the backup file (that is, C:\Backup\site_name.bak.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

Force

Optional

System.Management.Automation.SwitchParameter

Specify to overwrite an existing backup file if it already exists.

NoSiteLock

Optional

System.Management.Automation.SwitchParameter

Specifies the site collection to remain read and write during the backup.

If the NoSiteLock parameter is not specified, then a site collection that has a site collection lock setting of "none" or "no additions" will be temporarily set to "read only" while the site collection backup is performed. Once the backup has completed, the site collection lock will return to its original state. The backup package will record the original site collection lock state so that it is restored to that state.

If users are writing to the site collection while the site collection is being backed up, then the NoSiteLock parameter is not recommended for potential impact to backup integrity

UseSqlSnapshot

Optional

System.Management.Automation.SwitchParameter

Specifies a SQL Database Snapshot will be created when the backup begins, and all site collection data will be retrieved directly from the database snapshot. This snapshot will be deleted automatically when the backup completes

The UseSqlSnapshot parameter is recommended if the database server hosting your content database supports database snapshots such as SQL Server Enterprise Edition and SQL Server Developer Edition. This is because it will ensure a valid backup while allowing users to continue reading and writing to the site collection during the backup. It is not necessary to specify the NoSiteLock parameter when specifying the UseSqlSnapshot parameter.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Backup-SPSite cmdlet performs a backup of the site collection when the Identity parameter is used.

By default, the site collection will be set to read-only for the duration of the backup to reduce the potential for user activity during the backup operation to corrupt the backup. If you have SQL Server Enterprise Edition, we recommend that UseSqlSnapshot parameter be used because this ensures a valid backup while it allows users to continue reading and writing to the site collection during the backup.

Input Types

Return Types

Example

-------------------EXAMPLE 1--------------------

Copy Code
Backup-SPSite http://server_name/sites/site_name -Path C:\Backup\site_name.bak

This example backs up a site collection at http://server_name/sites/site_name to the C:\Backup\site_name.bak file.

-------------------EXAMPLE 2--------------------

Copy Code
Get-SPSiteAdministration http://server_name/sites/site_name | Backup-SPSite -Path C:\Backup\site_name.bak

This example backs up a site collection at http://server_name/sites/site_name to the C:\Backup\site_name.bak file. Same result as Example 1, but a different way of performing the operation.

-------------------EXAMPLE 3--------------------

Copy Code
Backup-SPSite http://server_name/sites/site_name -Path C:\Backup\site_name.bak -UseSqlSnapshot

This example backs up a site collection using database snapshots to ensure backup integrity.

See Also

Reference

Get-SPSite
Move-SPSite
Restore-SPSite
Set-SPSite
Get-SPSiteAdministration


Get-SPBackupHistory
See Also Example
[image]

Published: May 12, 2010

Returns a history of backup and restore operations.

Get-SPBackupHistory -Directory <String> [-AssignmentCollection <SPAssignmentCollection>] [-ShowBackup <SwitchParameter>] [-ShowRestore <SwitchParameter>]

Parameters

Parameter Required Type Description

Directory

Required

System.String

Specifies the path where the SharePoint 2010 Products backup packages generated from a farm backup have been stored.

The type must be a valid path in either of the following forms:

- C:\folder_name

- \\server_name\folder_name

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

ShowBackup

Optional

System.Management.Automation.SwitchParameter

Filters the output so that the history of backup operations only is displayed. If both the ShowBackup and the ShowRestore parameters are not specified, the history of both backup and restore operations is displayed.

ShowRestore

Optional

System.Management.Automation.SwitchParameter

Filters the output so that the history of restore operations only is displayed. If both the ShowBackup and the ShowRestore parameters are absent, the history of both backup and restore operations is displayed.

Detailed Description

The Get-SPBackupHistory cmdlet reads a history of backup and restore operations that have been run. Specifies whether you want to display only the backup history, only the restore history, or all of the history.

Input Types

Return Types

Errors

Error | Description

Exceptions

Exceptions | Description

Example

------------------EXAMPLE 1-----------------

Copy Code
Get-SPBackupHistory -Directory \\file_server\share\Backup

This example returns all farm backup and restore operations that have been run for the \\file_server\share\Backup directory.

------------------EXAMPLE 2-----------------

Copy Code
Get-SPBackupHistory -Directory C:\Backup -ShowBackup

This example returns all of the farm backup operations that have been run for the C:\Backup directory.

------------------EXAMPLE 3-----------------

Copy Code
(Get-SPBackupHistory -Directory C:\Backup -ShowBackup)[0].SelfId | Restore-SPFarm -Directory C:\Backup -RestoreMethod overwrite

This example gets all of the farm backup operations that have been run for the C:\Backup directory, finds the most recent backup, and then passes its backup GUID to the Restore-SPFarm cmdlet. The Restore-SPFarm cmdlet will then perform an overwrite restore from that backup package.

See Also

Reference

Backup-SPFarm
Backup-SPConfigurationDatabase
Restore-SPFarm


Restore-SPFarm
See Also Example
[image]

Published: May 12, 2010

Restores one or more items from a backup.

Restore-SPFarm -Directory <String> -RestoreMethod <String> [-AssignmentCollection <SPAssignmentCollection>] [-BackupId <Guid>] [-ConfigurationOnly <SwitchParameter>] [-Confirm [<SwitchParameter>]] [-FarmCredentials <PSCredential>] [-Force <SwitchParameter>] [-Item <String>] [-NewDatabaseServer <String>] [-Percentage <Int32>] [-RestoreThreads <Int32>] [-WhatIf [<SwitchParameter>]]
Restore-SPFarm -Directory <String> -ShowTree <SwitchParameter> [-AssignmentCollection <SPAssignmentCollection>] [-BackupId <Guid>] [-ConfigurationOnly <SwitchParameter>] [-Confirm [<SwitchParameter>]] [-Item <String>] [-WhatIf [<SwitchParameter>]]

Parameters

1

Parameter

Required

Type

Description

Directory

Optional

System.String

Specifies the path where SharePoint 2010 Products stored the backup package. If you have a computer on which Microsoft SQL Server 2008 and an instance of SharePoint 2010 Products are installed, you can use local drive paths. This includes a basic installation. However, if SQL Server 2008 and SharePoint 2010 Products are installed on multiple computers, you must use Universal Naming Convention (UNC) share paths so that the SQL Server 2008 and SharePoint 2010 Products can read from the same location (for example, \\computer_name \volume\Backup).

The type must be either of the valid paths:

- C:\folder_name

- \\server_name\folder_name

Note:

The spbr* folders are created automatically.

RestoreMethod

Optional

System.String

Specifies the method of restore to perform.

The valid values are:

- New; Specifies a new location to restore the content and is intended to be used when restoring to a different farm. Additional prompts will be presented to specify the new settings.

- Overwrite; Restores content and settings to their original locations and is intended to be used when restoring to the same farm it was backed up from. If the Overwrite parameter is used, a confirmation prompt is displayed. If you want the confirmation prompt suppressed, use the Force parameter.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

BackupId

Optional

System.Guid

Specifies the GUID of the backup package that is to be restored. Each backup package has a unique GUID associated with it. The GUID can be seen by using the Get-SPBackupHistory cmdlet to view the backup history. If this parameter is not specified, the most recent backup package in the path that is specified with the Directory parameter is used.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890abcdef.

ConfigurationOnly

Optional

System.Management.Automation.SwitchParameter

Specifies settings only (no data) will be restored from the backup package and applied to objects on the destination farm.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

FarmCredentials

Optional

System.Management.Automation.PSCredential

Specifies the credentials that will be used for all components being restored. For example, the application pool credentials for Web applications being restored. If an application pool being restored already exists in the farm, the credentials specified by the FarmCredentials parameter is ignored when restoring that application pool.

Force

Optional

System.Management.Automation.SwitchParameter

Suppresses the prompt warning that you will overwrite components when you perform an overwrite restore operation.

Item

Optional

System.String

Indicates the part of the backup package to be restored. You can use the full farm path notation as displayed by the ShowTree parameter or the name of the target component in the path if it has a unique name. If multiple items match the name, the full path must be provided. Surround the item or path in double quotation marks if it contains a space. If this parameter is absent, the entire backup package is restored.

The type must be a valid item, such as:

Farm\Microsoft SharePoint Foundation Web Application\SharePoint - 80

NewDatabaseServer

Optional

System.String

Specifies a valid SQL Database Server name. If specified, will be used as a default Database Server name for all databases within the restore operation.

This parameter is only valid when restoring as new. It is not valid for overwrite restores.

Percentage

Optional

System.Int32

Requests that progress updates about the restore operation be displayed in increments of that percentage. For example, a value of 5 displays restore progress updates at every 5 percent completed, and a value of 10 displays restore progress updates at every 10 percent completed.

Note: Progress will only be displayed in the output if the -Verbose parameter is specified. Otherwise, you may see the progress in the restore log file.

This percentage is not precise and the actual progress updates might be lower or higher than requested.

For a very large database, 1 is the recommended value.

The type must be an integer value between 1 and 100.

The default value is 5.

RestoreThreads

Optional

System.Int32

The number of threads that should be used during the restore.

The fewer the restore threads, the easier it is to understand the restore log. However, the more restore threads, the more components can be restored in parallel, potentially resulting in a faster restore.

The valid range is between 1 and 10. The default value is 3.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

2

Parameter

Required

Type

Description

Directory

Optional

System.String

Specifies the path where SharePoint 2010 Products stored the backup package. If you have a computer on which Microsoft SQL Server 2008 and an instance of SharePoint 2010 Products are installed, you can use local drive paths. This includes a basic installation. However, if SQL Server 2008 and SharePoint 2010 Products are installed on multiple computers, you must use Universal Naming Convention (UNC) share paths so that the SQL Server 2008 and SharePoint 2010 Products can read from the same location (for example, \\computer_name \volume\Backup).

The type must be either of the valid paths:

- C:\folder_name

- \\server_name\folder_name

Note:

The spbr* folders are created automatically.

ShowTree

Optional

System.Management.Automation.SwitchParameter

Displays which objects in the farm will be restored based on the other parameters passed to the Restore-SPFarm cmdlet namely the Item and ConfigurationOnly parameters. Items that will be excluded from the restore based on the other parameters passed to the Restore-SPFarm cmdlet will be preceded with an asterisk (*). Items that cannot be restored will be enclosed in square brackets ([ ]). A restore operation will not be performed if the ShowTree parameter is present.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

BackupId

Optional

System.Guid

Specifies the GUID of the backup package that is to be restored. Each backup package has a unique GUID associated with it. The GUID can be seen by using the Get-SPBackupHistory cmdlet to view the backup history. If this parameter is not specified, the most recent backup package in the path that is specified with the Directory parameter is used.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890abcdef.

ConfigurationOnly

Optional

System.Management.Automation.SwitchParameter

Specifies settings only (no data) will be restored from the backup package and applied to objects on the destination farm.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

Item

Optional

System.String

Indicates the part of the backup package to be restored. You can use the full farm path notation as displayed by the ShowTree parameter or the name of the target component in the path if it has a unique name. If multiple items match the name, the full path must be provided. Surround the item or path in double quotation marks if it contains a space. If this parameter is absent, the entire backup package is restored.

The type must be a valid item, such as:

Farm\Microsoft SharePoint Foundation Web Application\SharePoint - 80

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

This cmdlet contains more than one parameter set. You may only use parameters from one parameter set, and you may not combine parameters from different parameter sets. For more information about how to use parameter sets, see Cmdlet Parameter Sets.

The Restore-SPFarm cmdlet restores one or more items from a backup such as an individual database, Web application, or the entire farm. This cmdlet can also be used to apply a farm template to the entire farm.

Input Types

Return Types

Example

-------------------EXAMPLE 1-----------------------

Copy Code
Restore-SPFarm -Directory \\file_server\share\Backup -BackupId 12345678-90ab-cdef-1234-567890abcdef -RestoreMethod new -ConfigurationOnly

This example restores the configuration settings from the backup package in the \\file_server\share\Backup directory to the farm.

-------------------EXAMPLE 2-----------------------

Copy Code
Restore-SPFarm -ShowTree -Directory \\file_server\share\Backup -BackupId 12345678-90ab-cdef-1234-567890abcdef -Item "Microsoft SharePoint Foundation Web Application" -Verbose

This example show which components of the farm would be restored under the Microsoft SharePoint Foundation Web Application node, but does not actually restore them.

-------------------EXAMPLE 3-----------------------

Copy Code
Restore-SPFarm -Directory C:\Backup -BackupId 12345678-90ab-cdef-1234-567890abcdef  -RestoreMethod overwrite -RestoreThreads 10 -Force

This example restores a farm by using 10 threads and suppresses the overwrite warning.

See Also

Reference

Backup-SPFarm
Backup-SPConfigurationDatabase
Get-SPBackupHistory


Restore-SPSite
See Also Example
[image]

Published: May 12, 2010

Restores a site collection.

Restore-SPSite [-Identity] <String> -Path <String> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-ContentDatabase <SPContentDatabasePipeBind>] [-Force <SwitchParameter>] [-GradualDelete <SwitchParameter>] [-HostHeaderWebApplication <String>] [-WhatIf [<SwitchParameter>]]
Restore-SPSite [-Identity] <String> -Path <String> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-DatabaseName <String>] [-DatabaseServer <String>] [-Force <SwitchParameter>] [-GradualDelete <SwitchParameter>] [-HostHeaderWebApplication <String>] [-WhatIf [<SwitchParameter>]]

Parameters

1

Parameter

Required

Type

Description

Identity

Required

System.String

Specifies the URL location to which the site collection is restored.

A site collection does not have to already exist at the URL location to perform a restore. However, you must specify a valid URL location that a site collection can be created. If a site collection already exists at the specified URL location, you must specify the Force parameter to overwrite it.

The type must be a valid URL, in the form http://server_name/sites/site_name.

Path

Required

System.String

Specifies a valid path to the location of the backup. For example, C:\Backup\site_name.bak.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

ContentDatabase

Optional

Microsoft.SharePoint.PowerShell.SPContentDatabasePipeBind

Specifies the SQL Server content database where the site collection data will be stored. If no content database is specified, the content database with the greatest unused site collection capacity and whose database status is ready will be used.

Force

Optional

System.Management.Automation.SwitchParameter

Specifies that the existing site collection at the URL location is to be overwritten by this restoration.

GradualDelete

Optional

System.Management.Automation.SwitchParameter

Specifies that the site collection being overwritten with the Force parameter should be gradually deleted over time by a timer job instead of all at once, which reduces its impact on SharePoint 2010 Products and SQL Server performance. This option is recommended for large site collections.

HostHeaderWebApplication

Optional

System.String

A valid URL assigned to the Web application by using alternate access mapping, such as http://server_name

Restores a site collection as a host-named site collection instead of a path-based site collection. When the HostHeaderWebApplication parameter is present, the value of the Identity parameter is the URL of the host-named site collection and the value of the HostHeaderWebApplication parameter is the URL of the Web application that will hold the host-named site collection.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

2

Parameter

Required

Type

Description

Identity

Required

System.String

Specifies the URL location to which the site collection is restored.

A site collection does not have to already exist at the URL location to perform a restore. However, you must specify a valid URL location that a site collection can be created. If a site collection already exists at the specified URL location, you must specify the Force parameter to overwrite it.

The type must be a valid URL, in the form http://server_name/sites/site_name.

Path

Required

System.String

Specifies a valid path to the location of the backup. For example, C:\Backup\site_name.bak.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

DatabaseName

Optional

System.String

Specifies the SQL Server content database where the site collection data will be stored. If no content database is specified, the content database with the greatest unused site collection capacity and whose database status is ready will be used.

The type must be a valid database name, in the form SQLDB1.

DatabaseServer

Optional

System.String

Specifies the name of the SQL Server containing the content database specified by the DatabaseName parameter.

The type must be a valid database server name, in the form SQLBE1 and needs to be used in conjunction with the DatabaseName parameter.

Force

Optional

System.Management.Automation.SwitchParameter

Specifies that the existing site collection at the URL location is to be overwritten by this restoration.

GradualDelete

Optional

System.Management.Automation.SwitchParameter

Specifies that the site collection being overwritten with the Force parameter should be gradually deleted over time by a timer job instead of all at once, which reduces its impact on SharePoint 2010 Products and SQL Server performance. This option is recommended for large site collections.

HostHeaderWebApplication

Optional

System.String

A valid URL assigned to the Web application by using alternate access mapping, such as http://server_name

Restores a site collection as a host-named site collection instead of a path-based site collection. When the HostHeaderWebApplication parameter is present, the value of the Identity parameter is the URL of the host-named site collection and the value of the HostHeaderWebApplication parameter is the URL of the Web application that will hold the host-named site collection.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

This cmdlet contains more than one parameter set. You may only use parameters from one parameter set, and you may not combine parameters from different parameter sets. For more information about how to use parameter sets, see Cmdlet Parameter Sets.

The Restore-SPSite cmdlet performs a restoration of the site collection to a location specified by the Identity parameter. A content database may only contain one copy of a site collection. If a site collection is backed up and restored to a different URL location within the same Web application, an additional content database must be available to hold the restored copy of the site collection.

Important:

The SharePoint 2010 Service Pack 1 (SP1) upgrade process alters the schema of all content databases. Because of these changes, you might need to take additional steps to restore a backup that you made before the farm was upgraded to SP1 to the farm after it is upgraded to SP1. For more information about doing this, see Restore pre-SP1 backups to an SP1 farm (SharePoint Server 2010) or Restore pre-SP1 backups to an SP1 farm (SharePoint Foundation 2010).

Return Types

Example

----------------------EXAMPLE 1----------------------

Copy Code
Restore-SPSite http://server_name/sites/site_name -Path C:\Backup\site_name.bak

This example restores a site collection from the backup file C:\Backup\site_name.bak to the site collection URL http://server_name/sites/site_name.

----------------------EXAMPLE 2----------------------

Copy Code
Restore-SPSite http://server_name/sites/site_name -Path C:\Backup\site_name.bak -Force -DatabaseServer SQLBE1 -DatabaseName SQLDB1

This example restores a site collection backup from the backup file C:\Backup\site_name.bak, but overwrites the existing site collection at http://server_name/sites/site_name while specifying that the site collection must be stored in a specific content database.

----------------------EXAMPLE 3----------------------

Copy Code
Restore-SPSite http://www.example.com -Path \\file_server\share\site_name.bak -HostHeaderWebApplication http://server_name

This example restores a site collection backup from the backup file \\file_server\share\site_name.bak to the host-named site collection http://www.example.com on the Web application http://server_name.

See Also

Reference

Backup-SPSite
Get-SPSite
Move-SPSite
New-SPSite
Remove-SPSite
Set-SPSite


Business Connectivity Services cmdlets (SharePoint Server 2010)
See Also

Published: June 24, 2010

Summary: You can use Windows PowerShell cmdlets to administer Microsoft Business Connectivity Services in a Microsoft SharePoint Server 2010 farm.

Cmdlet name | Description
Clear-SPSiteSubscriptionBusinessDataCatalogConfig | Deletes all data from the Business Data Connectivity Metadata Store for a specified partition.
Copy-SPBusinessDataCatalogAclToChildren | Copies a set of permissions of a Business Data Connectivity Metadata Store metadata object to its child objects.
Disable-SPBusinessDataCatalogEntity | Deactivates an external content type in the Business Data Connectivity Metadata Store.
Enable-SPBusinessDataCatalogEntity | Activates an external content type in the Business Data Connectivity Metadata Store.
Export-SPBusinessDataCatalogModel | Exports a Business Data Connectivity Model.
Export-SPSiteSubscriptionBusinessDataCatalogConfig | Exports all data from the Business Data Connectivity Metadata Store associated with a partition.
Get-SPBusinessDataCatalogMetadataObject | Returns a Business Data Connectivity Metadata Store metadata object.
Grant-SPBusinessDataCatalogMetadataObject | Grants a right to a principal for the specified Business Data Connectivity Metadata Store metadata object.
Import-SPBusinessDataCatalogDotNetAssembly | Imports data that is associated with the Business Data Connectivity Metadata Store for a partition.
Import-SPBusinessDataCatalogModel | Imports a Business Data Connectivity Model.
New-SPBusinessDataCatalogServiceApplication | Creates a new Business Data Connectivity service application in the farm.
New-SPBusinessDataCatalogServiceApplicationProxy | Creates a new Business Data Connectivity service application proxy in the farm.
Remove-SPBusinessDataCatalogModel | Deletes a Business Data Connectivity Model.
Revoke-SPBusinessDataCatalogMetadataObject | Revokes a right to a principal in the specified Business Data Connectivity Metadata Store metadata object.
Set-SPBusinessDataCatalogMetadataObject | Sets the value of a property or attribute of a Business Data Connectivity Metadata Store metadata object.
Set-SPBusinessDataCatalogServiceApplication | Sets global properties for a Business Data Connectivity service application in the farm.
Import-SPSiteSubscriptionBusinessDataCatalogConfig | Imports data associated with an exported file that contains all data associated with the Business Data Connectivity Metadata Store for a given partition.
Remove-SPSiteSubscriptionBusinessDataCatalogConfig | Removes the Business Data Connectivity Metadata Store for a partition.

See Also

Other Resources

Resource Center: Windows PowerShell for SharePoint Server 2010


Clear-SPSiteSubscriptionBusinessDataCatalogConfig
See Also Example
[image]

Published: May 12, 2010

Deletes all data from the Business Data Connectivity Metadata Store for a specified partition.

Clear-SPSiteSubscriptionBusinessDataCatalogConfig -ServiceContext <SPServiceContextPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

ServiceContext

Required

Microsoft.SharePoint.PowerShell.SPServiceContextPipeBind

Specifies the service context for which the Business Data Connectivity models are deleted.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Clear-SPSiteSubscriptionBusinessDataCatalogConfig cmdlet deletes all models and data from the Business Data Connectivity Metadata Store for a specified service partition.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
Clear-SPSiteSubscriptionBusinessDataCatalogConfig -ServiceContext http://contoso

This example deletes all data from the Business Data Connectivity Metadata Store for the specified site.

See Also

Reference

Export-SPSiteSubscriptionBusinessDataCatalogConfig
Import-SPSiteSubscriptionBusinessDataCatalogConfig


Copy-SPBusinessDataCatalogAclToChildren
See Also Example
[image]

Published: May 12, 2010

Copies a set of permissions of a Business Data Connectivity Metadata Store metadata object to its child objects.

Copy-SPBusinessDataCatalogAclToChildren -MetadataObject <MetadataObject> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

MetadataObject

Required

Microsoft.SharePoint.BusinessData.Administration.MetadataObject

Specifies the Business Data Connectivity metadata object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Copy-SPBusinessDataCatalogAclToChildren cmdlet copies a set of rights of a Business Data Connectivity metadata object to its child objects.

Any principals and their rights will be lost from the child metadata objects. Make sure that the parent metadata object has the final permissions you want, or make sure to append them to the child object again after you run this cmdlet.

Running this cmdlet on a BdcObjectType BdcCatalog (Business Data Connectivity Metadata Store) will propagate to:

- BDC Models

- External Systems

- External Content Types

- Methods

- Method Instances

Running this cmdlet on a BdcObjectType Model (Business Data Connectivity Model) will propagate to:

- Nothing; this type has no child metadata objects

Running this cmdlet on a BdcObjectType LobSystem (External System) will propagate to:

- External Content Types

- Methods

- Method Instances

Running this cmdlet on a BdcObjectType Entity (External Content Type) will propagate to:

- Methods

- Method Instances

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
$ExternalSystem = Get-SPBusinessDataCatalogMetadataObject -BdcObjectType "LobSystem" -ServiceContext http://contoso -Name "ContosoDatabase"

This example looks at the principals (users) and their corresponding rights given for the External System metadata object, and overwrites the permissions of its child metadata objects with these same principals and rights.

Any principals and their rights will be lost from the child metadata objects. Make sure that the parent metadata object has the final permissions you want, or make sure to append them to the child object again after you run this cmdlet.

See Also

Reference

Get-SPBusinessDataCatalogMetadataObject
Grant-SPBusinessDataCatalogMetadataObject


Disable-SPBusinessDataCatalogEntity
See Also Example
[image]

Published: May 12, 2010

Deactivates an External Content type in the Business Data Connectivity Metadata Store.

Disable-SPBusinessDataCatalogEntity -Identity <Entity> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.SharePoint.BusinessData.Administration.Entity

Specifies the External Content type in the Business Data Connectivity Metadata Store to deactivate.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Disable-SPBusinessDataCatalogEntity cmdlet deactivates an External Content type in the Business Data Connectivity Metadata Store.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
$entityToDisable = Get-SPBusinessDataCatalogMetadataObject -Namespace "Contoso" -Name "Customer" -BdcObjectType "Entity" -ServiceContext http://contoso
Copy Code
Disable-SPBusinessDataCatalogEntity -Identity $entityToDisable

This example deactivates the External Content type of the name Customer in the Contoso. Note that the terms External Content type and Entity refer to the same object type, and the term Disable refers to the same action as the Business Data Connectivity term Deactivate.

See Also

Reference

Enable-SPBusinessDataCatalogEntity


Enable-SPBusinessDataCatalogEntity
See Also Example
[image]

Published: May 12, 2010

Activates an External Content type in the Business Data Connectivity Metadata Store.

Enable-SPBusinessDataCatalogEntity -Identity <Entity> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.SharePoint.BusinessData.Administration.Entity

Specifies the External Content type in the Business Data Connectivity Metadata Store to activate.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Enable-SPBusinessDataCatalogEntity cmdlet activates an External Content type in the Business Data Connectivity Metadata Store.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
$entityToEnable = Get-SPBusinessDataCatalogMetadataObject -Namespace "Contoso" -Name "Customer" -BdcObjectType "Entity" -ServiceContext http://contoso
Copy Code
Enable-SPBusinessDataCatalogEntity -Identity $entityToEnable

This example activates the External Content type with the name Customer in the Contoso namespace on the site http://contoso. Note that the terms External Content type and Entity refer to the same object type.

See Also

Reference

Disable-SPBusinessDataCatalogEntity


Export-SPBusinessDataCatalogModel
See Also Example
[image]

Published: May 12, 2010

Exports a Business Data Connectivity Model.

Export-SPBusinessDataCatalogModel -Identity <MetadataObject> -Path <String> [-AssignmentCollection <SPAssignmentCollection>] [-Force <SwitchParameter>] [-LocalizedNamesIncluded <SwitchParameter>] [-ModelsIncluded <SwitchParameter>] [-PermissionsIncluded <SwitchParameter>] [-PropertiesIncluded <SwitchParameter>] [-ProxiesIncluded <SwitchParameter>] [-SettingId <String>]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.SharePoint.BusinessData.Administration.MetadataObject

Specifies the Business Data Connectivity Metadata Store metadata object from which to export the Business Data Connectivity Model.

Path

Required

System.String

Specifies the path and name to use to create the export file.

The type must be a valid path in either of the following forms:

- C:\folder_name \file.bdcm

- \\server_name\folder_name \file.bdcm

- …\folder_name\file.bdcm

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Force

Optional

System.Management.Automation.SwitchParameter

Overwrites the output file if the file exists.

LocalizedNamesIncluded

Optional

System.Management.Automation.SwitchParameter

Specifies that names for business data fields in multiple languages are exported.

ModelsIncluded

Optional

System.Management.Automation.SwitchParameter

Specifies that models are included in the exported Business Data Connectivity Model file. A model contains the base XML metadata for a system.

PermissionsIncluded

Optional

System.Management.Automation.SwitchParameter

Specifies that permissions from the Business Data Connectivity Model are exported.

PropertiesIncluded

Optional

System.Management.Automation.SwitchParameter

Specifies that properties from the application definition are exported.

ProxiesIncluded

Optional

System.Management.Automation.SwitchParameter

Specifies that proxies for Business Data Connectivity Service applications are exported.

SettingId

Optional

System.String

Specifies the custom environment settings model slice to export.

The type must be a valid string that identifies a model slice; for example, ModelSlice1.

Detailed Description

The Export-SPBusinessDataCatalogModel cmdlet exports a Business Data Connectivity Model. There are two types of Business Data Connectivity models: Model type (.bdcm) and Resource type (.bdcr). The Model type contains the base XML metadata, and can also include resource properties. The Resource type includes only resource properties.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
$Model = Get-SPBusinessDataCatalogMetadataObject -BdcObjectType "Model" -Name "ContosoModel" -ServiceContext http://contoso
Copy Code
Export-SPBusinessDataCatalogModel -Identity $Model -Path "C:\folder\model.bdcm"

This example gets a Business Data Connectivity Model from the Business Data Connectivity Metadata Store and exports it to the location specified with the name model and using the bdcm file extension.

See Also

Reference

Import-SPBusinessDataCatalogModel
Remove-SPBusinessDataCatalogModel


Export-SPSiteSubscriptionBusinessDataCatalogConfig
See Also Example
[image]

Published: May 12, 2010

Exports all data from the Business Data Connectivity Metadata Store associated with a partition.

Export-SPSiteSubscriptionBusinessDataCatalogConfig -Path <String> -ServiceContext <SPServiceContextPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-Force <SwitchParameter>] [-LocalizedNamesIncluded <SwitchParameter>] [-ModelsIncluded <SwitchParameter>] [-PermissionsIncluded <SwitchParameter>] [-PropertiesIncluded <SwitchParameter>] [-ProxiesIncluded <SwitchParameter>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Path

Required

System.String

Specifies the path and name to use to create the export file.

The type must be a valid path in either of the following forms:

- C:\folder_name\file.xml

- \\server_name\folder_name\file.xml

- …\folder_name\file.xml

ServiceContext

Required

Microsoft.SharePoint.PowerShell.SPServiceContextPipeBind

Specifies the service context of the data to be exported.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a service context (for example, http://ServiceContext1); or an instance of a valid SPServiceContext object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

Force

Optional

System.Management.Automation.SwitchParameter

Overwrites the output file if the file exists.

LocalizedNamesIncluded

Optional

System.Management.Automation.SwitchParameter

Specifies that names for business data fields in multiple languages are exported.

ModelsIncluded

Optional

System.Management.Automation.SwitchParameter

Specifies that Business Data Connectivity models are included in the exported file.

PermissionsIncluded

Optional

System.Management.Automation.SwitchParameter

Specifies that permissions from the Business Data Connectivity Models are exported.

PropertiesIncluded

Optional

System.Management.Automation.SwitchParameter

Specifies that properties from the Business Data Connectivity Models are exported.

ProxiesIncluded

Optional

System.Management.Automation.SwitchParameter

Specifies that proxies for Business Data Connectivity Service applications are exported.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The SPSiteSubscriptionBusinessDataCatalogConfig cmdlet exports all data from the Business Data Connectivity Metadata Store associated with a specified partition.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
Export-SPSiteSubscriptionBusinessDataCatalogConfig -ServiceContext http://contoso -Path "C:\folder\exportedFile.xml"

This example exports the data file named exportedFile.xml.

See Also

Reference

Import-SPSiteSubscriptionBusinessDataCatalogConfig
Clear-SPSiteSubscriptionBusinessDataCatalogConfig


Get-SPBusinessDataCatalogMetadataObject
See Also Example
[image]

Published: May 12, 2010

Returns a Business Data Connectivity Metadata Store metadata object.

Get-SPBusinessDataCatalogMetadataObject -BdcObjectType <Catalog | Model | LobSystem | LobSystemInstance | Entity> -ServiceContext <SPServiceContextPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-ContainingLobSystem <String>] [-Name <String>] [-Namespace <String>]

Parameters

Parameter Required Type Description

BdcObjectType

Required

Microsoft.SharePoint.BusinessData.SharedService.SPGetSPBusinessDataCatalogMetadataObjectCmdlet+PSBdcObjectType

Specifies the type of the metadata object to return.

The type must be one of the following valid metadata object types: BdcCatalog, Model, LobSystem, LobSystemInstance, or Entity.

ServiceContext

Required

Microsoft.SharePoint.PowerShell.SPServiceContextPipeBind

Specifies the service context of the Business Data Connectivity Metadata Store metadata object to return.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Name

Optional

System.String

Specifies the name of the metadata object.

Namespace

Optional

System.String

Specifies the namespace of the metadata object.

Detailed Description

The Get-SPBusinessDataCatalogMetadataObject cmdlet reads a Business Data Connectivity Metadata Store metadata object from a Business Data Connectivity Service application. Output for this cmdlet can be a series of objects.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
$Model = Get-SPBusinessDataCatalogMetadataObject -BdcObjectType "Model" -Name "ContosoModel" -ServiceContext http://contoso

This example gets a metadata object of type Model with the name ContosoModel from the Business Data Connectivity Metadata Store on the given site.

See Also

Reference

Set-SPBusinessDataCatalogMetadataObject
Grant-SPBusinessDataCatalogMetadataObject
Revoke-SPBusinessDataCatalogMetadataObject


Grant-SPBusinessDataCatalogMetadataObject
See Also Example
[image]

Published: May 12, 2010

Grants a right to a principal for the specified Business Data Connectivity Metadata Store metadata object.

Grant-SPBusinessDataCatalogMetadataObject -Identity <MetadataObject> -Principal <SPClaim> -Right <Execute | Edit | SetPermissions | SelectableInClients> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-SettingId <String>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.SharePoint.BusinessData.Administration.MetadataObject

Specifies the Business Data Connectivity Metadata Store metadata object that contains the principal.

Principal

Required

System.String

Specifies the principal to whom the rights apply.

The type must be a claim.

Right

Required

Microsoft.SharePoint.BusinessData.SharedService.SPGrantSPBusinessDataCatalogMetadataObjectCmdlet+PSBdcRight

Specifies the right to grant the principal.

The type must be one of the following valid PSBdcRight object types: All, Execute, Edit, SetPermissions, or SelectableInClients.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

SettingId

Optional

System.String

Specifies the model slice for which to grant the right.

The type must be a valid string that identifies a model slice; for example, ModelSlice1.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Grant-SPBusinessDataCatalogMetadataObject cmdlet grants the right to a specified principal (user) for a Business Data Connectivity Metadata Store metadata object. This cmdlet checks to verify that the Identity parameter is a valid IndividuallySecurableMetadata object.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
$claimJohn = New-SPClaimsPrincipal -Identity "CONTOSO\johndoe" -IdentityType WindowsSamAccountName
Copy Code
$Model = Get-SPBusinessDataCatalogMetadataObject -BdcObjectType "Model" -ServiceContext http://contoso -Name "ContosoModel"
Copy Code
Grant-SPBusinessDataCatalogMetadataObject -Identity $Model -Principal $claimJohn -Right Edit

This example gives Edit permissions to the user with the identity johndoe on domain CONTOSO, for the model metadata object with the name ContosoModel.

See Also

Reference

Set-SPBusinessDataCatalogMetadataObject
Get-SPBusinessDataCatalogMetadataObject
Revoke-SPBusinessDataCatalogMetadataObject


Import-SPBusinessDataCatalogDotNetAssembly
Example
[image]

Published: May 12, 2010

Imports a .NET Connectivity assembly.

Import-SPBusinessDataCatalogDotNetAssembly -LobSystem <LobSystem> -Path <String> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-DependentAssemblyPaths <String[]>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

LobSystem

Required

Microsoft.SharePoint.BusinessData.Administration.LobSystem

Specifies the LobSystem that the assembly corresponds to.

Path

Required

System.String

Specifies the path to the primary assembly.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

DependentAssemblyPaths

Optional

System.String[]

Specifies a list of paths to dependent assemblies.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Import-SPBusinessDataCatalogDotNetAssembly cmdlet imports a .NET Connectivity Assembly that corresponds to a .NET Assembly Connector and LobSystem in the metadata store.

Input Types

Return Types

Example

-----------------EXAMPLE 1----------------

Copy Code
Import-SPBusinessDataCatalogDotNetAssembly -LobSystem $ContosoDB -Path "c:\Folder\Assembly.dll"

This example imports the assembly Assembly.

-----------------EXAMPLE 2----------------

Copy Code
Import-SPBusinessDataCatalogDotNetAssembly -LobSystem $ContosoDB -Path "c:\Folder\Assembly.dll" -DependentAssemblyPaths "c:\Folder\Assembly2.dll","c:\Folder\Assembly3.dll"

This example imports the assembly Assembly, and also imports the dependent assemblies Assembly2 and Assembly3.


Import-SPBusinessDataCatalogModel
See Also Example
[image]

Published: May 12, 2010

Imports a Business Data Connectivity Model.

Import-SPBusinessDataCatalogModel -Identity <MetadataObject> -Path <String> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-Force <SwitchParameter>] [-LocalizedNamesIncluded <SwitchParameter>] [-ModelsIncluded <SwitchParameter>] [-PermissionsIncluded <SwitchParameter>] [-PropertiesIncluded <SwitchParameter>] [-SettingId <String>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.SharePoint.BusinessData.Administration.MetadataObject

Specifies the Business Data Connectivity Metadata Store metadata object to import to.

Path

Required

System.String

Specifies the path and name to use.

The type must be a valid path in either of the following forms:

- C:\folder_name\file.bdcm

- \\server_name\folder_name\file.bdcm

- …\folder_name\file.bdcm

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

Force

Optional

System.Management.Automation.SwitchParameter

Overwrites the Business Data Connectivity Model if the file exists.

LocalizedNamesIncluded

Optional

System.Management.Automation.SwitchParameter

Specifies that names for business data fields in multiple languages are imported.

ModelsIncluded

Optional

System.Management.Automation.SwitchParameter

Specifies that models are included in the imported Business Data Connectivity Model file. A model contains the base XML metadata for a system.

PermissionsIncluded

Optional

System.Management.Automation.SwitchParameter

Specifies that permissions from the Business Data Connectivity Model are imported.

PropertiesIncluded

Optional

System.Management.Automation.SwitchParameter

Specifies that properties from the Business Data Connectivity Model are imported.

SettingId

Optional

System.String

Specifies the custom environment settings model slice to import.

The type must be a valid string that identifies a model slice; for example, ModelSlice1.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Import-SPBusinessDataCatalogModel cmdlet imports a Business Data Connectivity Model. There are two types of Business Data Connectivity models: Model type (.bdcm) and Resource type (.bdcr). The Model type contains the base XML metadata, and can also include resource properties. The Resource type includes only resource properties.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
$MetadataStore = Get-SPBusinessDataCatalogMetadataObject -BdcObjectType "Catalog" -ServiceContext http://contoso
Copy Code
Import-SPBusinessDataCatalogModel -Path "C:\folder\model.bdcm" -Identity $MetadataStore

This example gets the Business Data Connectivity Metadata Store and then imports a Business Data Connectivity Model of Model type to it from the path specified with the name model.

See Also

Reference

Export-SPBusinessDataCatalogModel
Remove-SPBusinessDataCatalogModel


New-SPBusinessDataCatalogServiceApplication
See Also Example
[image]

Published: May 12, 2010

Creates a new Business Data Connectivity service application in the farm.

New-SPBusinessDataCatalogServiceApplication -ApplicationPool <SPIisWebServiceApplicationPoolPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-DatabaseCredentials <PSCredential>] [-DatabaseName <String>] [-DatabasePassword <SecureString>] [-DatabaseServer <String>] [-DatabaseUsername <String>] [-FailoverDatabaseServer <String>] [-Name <String>] [-PartitionMode <SwitchParameter>] [-Sharing <SwitchParameter>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

ApplicationPool

Required

Microsoft.SharePoint.PowerShell.SPIisWebServiceApplicationPoolPipeBind

Specifies the IIS application pool to use for the new Business Data Connectivity service application.

DatabaseName

Required

System.String

Specifies the name for the Business Data Connectivity database.

DatabaseServer

Required

System.String

Specifies the name of the host server for the database specified in DatabaseName.

The type must be a valid SQL Server host name; for example, SERVER\Database.

Name

Required

System.String

Specifies a display name for the new Business Data Connectivity service application.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

DatabaseCredentials

Optional

System.Management.Automation.PSCredential

Specifies the PSCredential object that contains the user name and password to be used for database SQL Server Authentication.

The type must be a valid PSCredential object.

DatabasePassword

Optional

System.Security.SecureString

Specifies the password for the user specified in DatabaseUserName. Use this parameter only if SQL Server Authentication is used to access the Business Data Connectivity database.

The type must be a valid password.

DatabaseUsername

Optional

System.String

Specifies the user name to use for connecting to the database. Use this parameter only if SQL Server Authentication is used to access the Business Data Connectivity database.

FailoverDatabaseServer

Optional

System.String

Specifies the name of the host server for the failover database server.

PartitionMode

Required

System.Management.Automation.SwitchParameter

Specifies that the service application restricts data by subscription ID. This property cannot be changed after the service application is created.

Sharing

Required

System.Management.Automation.SwitchParameter

Specifies that the Business Data Connectivity application is published and shared across the farm.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The New-SPBusinessDataCatalogServiceApplication cmdlet creates a new Business Data Connectivity service application in the farm.

Input Types

Return Types

Errors

Error | Description

Exceptions

Exceptions | Description

Example

------------------EXAMPLE------------------

Copy Code
New-SPBusinessDataCatalogServiceApplication -ApplicationPool "SharePoint Web Services Default" -DatabaseName "ContosoBdcDB" -DatabaseServer "CONTOSO\SharePoint" -Name "ContosoServiceApp"

This example creates a Business Data Connectivity service application named ContosoServiceApp. In this process it uses the SharePoint Web Services Default application pool and creates a database named ContosoBdcDB.

See Also

Reference

Set-SPBusinessDataCatalogServiceApplication
New-SPBusinessDataCatalogServiceApplicationProxy


New-SPBusinessDataCatalogServiceApplicationProxy
See Also Example
[image]

Published: May 12, 2010

Creates a new Business Data Connectivity service application proxy in the farm.

New-SPBusinessDataCatalogServiceApplicationProxy -Uri <Uri> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-DefaultProxyGroup <SwitchParameter>] [-Name <String>] [-PartitionMode <SwitchParameter>] [-WhatIf [<SwitchParameter>]]
New-SPBusinessDataCatalogServiceApplicationProxy -ServiceApplication <SPServiceApplicationPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-DefaultProxyGroup <SwitchParameter>] [-Name <String>] [-WhatIf [<SwitchParameter>]]

Parameters

1

Parameter

Required

Type

Description

Name

Required

System.String

Specifies a display name for the new Business Data Connectivity service application proxy.

Uri

Required

System.Uri

Specifies the URI of a remote service application to which to connect.

The type must be a valid URI, in the form file:\\server_name\sitedocs.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

DefaultProxyGroup

Required

System.Management.Automation.SwitchParameter

Specifies that the service application proxy is added to the default proxy group for the farm.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

2

Parameter

Required

Type

Description

Name

Required

System.String

Specifies a display name for the new Business Data Connectivity service application proxy.

ServiceApplication

Required

Microsoft.SharePoint.PowerShell.SPServiceApplicationPipeBind

Specifies the Business Data Connectivity service application associated with the new proxy.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

DefaultProxyGroup

Required

System.Management.Automation.SwitchParameter

Specifies that the service application proxy is added to the default proxy group for the farm.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

This cmdlet contains more than one parameter set. You may only use parameters from one parameter set, and you may not combine parameters from different parameter sets. For more information about how to use parameter sets, see Cmdlet Parameter Sets.

The New-SPBusinessDataCatalogServiceApplicationProxy cmdlet creates a new Business Data Connectivity service application proxy for a Business Data Connectivity service application in the farm.

Input Types

Return Types

Errors

Error | Description

Exceptions

Exceptions | Description

Example

------------------EXAMPLE------------------

Copy Code
New-SPBusinessDataCatalogServiceApplicationProxy -Name "ContosoServiceAppProxy" -ServiceApplication $serviceApplication

This example creates a new Business Data Connectivity service application proxy with the name ContosoServiceAppProxy for the given service application.

See Also

Reference

New-SPBusinessDataCatalogServiceApplication
Set-SPBusinessDataCatalogServiceApplication


Remove-SPBusinessDataCatalogModel
See Also Example
[image]

Published: May 12, 2010

Deletes a Business Data Connectivity Model.

Remove-SPBusinessDataCatalogModel -Identity <MetadataObject> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.SharePoint.BusinessData.Administration.MetadataObject

Specifies the Business Data Connectivity Metadata Store metadata object to remove.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Remove-SPBusinessDataCatalogModel cmdlet deletes a Business Data Connectivity Model.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
$modelFile = Get-SPBusinessDataCatalogMetadataObject -Name "ContosoModel" -BdcObjectType Model -ServiceContext http://contoso
Copy Code
Remove-SPBusinessDataCatalogModel -Identity $modelFile

This example removes the Business Data Connectivity Model file named ContosoModel.

See Also

Reference

Import-SPBusinessDataCatalogModel
Export-SPBusinessDataCatalogModel


Revoke-SPBusinessDataCatalogMetadataObject
See Also Example
[image]

Published: May 12, 2010

Revokes a right to a principal in the specified Business Data Connectivity Metadata Store metadata object.

Revoke-SPBusinessDataCatalogMetadataObject -Identity <MetadataObject> -Principal <SPClaim> -Right <Execute | Edit | SetPermissions | SelectableInClients> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-SettingId <String>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.SharePoint.BusinessData.Administration.MetadataObject

Specifies the Business Data Connectivity Metadata Store metadata object that contains the principal.

Principal

Required

System.String

Specifies the principal to whom the rights apply.

The type must be a claim.

Right

Required

Microsoft.SharePoint.BusinessData.SharedService.SPGrantSPBusinessDataCatalogMetadataObjectCmdlet+PSBdcRight

Specifies the right to revoke the principal.

The type must be one of the following valid PSBdcRight object types: All, Execute, Edit, SetPermissions, or SelectableInClients.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

SettingId

Optional

System.String

Specifies the custom environment settings model slice for which to revoke the right.

The type must be a valid string that identifies a model slice; for example, ModelSlice1.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Revoke-SPBusinessDataCatalogMetadataObject cmdlet revokes a right granted to a principal user in the specified Business Data Connectivity Metadata Store metadata object.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
$claimJohn = New-SPClaimsPrincipal -Identity "CONTOSO\johndoe" -IdentityType WindowsSamAccountName
Copy Code
$MetadataObject = Get-SPBusinessDataCatalogMetadataObject -BdcObjectType "LobSystem" -ServiceContext http://contoso -Name "ContosoDatabase"
Copy Code
Revoke-SPBusinessDataCatalogMetadataObject -Identity $MetadataObject -Principal $claimJohn -Right "Execute"

This example removes the execute right from the External System with the name ContosoDatabase for the user with the identity of johndoe on the domain CONTOSO.

See Also

Reference

Set-SPBusinessDataCatalogMetadataObject
Get-SPBusinessDataCatalogMetadataObject
Grant-SPBusinessDataCatalogMetadataObject


Set-SPBusinessDataCatalogMetadataObject
See Also Example
[image]

Published: May 12, 2010

Sets the value of a property or attribute of a Business Data Connectivity Metadata Store metadata object.

Set-SPBusinessDataCatalogMetadataObject -Identity <MetadataObject> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-PropertyName <String>] [-PropertyValue <PSObject>] [-Remove <SwitchParameter>] [-SettingId <String>] [-WhatIf [<SwitchParameter>]]

Set-SPBusinessDataCatalogMetadataObject -Identity <MetadataObject> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-DisplayName <String>] [-Remove <SwitchParameter>] [-SettingId <String>] [-WhatIf [<SwitchParameter>]]

Set-SPBusinessDataCatalogMetadataObject -Identity <MetadataObject> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-PropertyName <String>] [-Remove <SwitchParameter>] [-Remove <SwitchParameter>] [-SettingId <String>] [-WhatIf [<SwitchParameter>]]

Parameters

1

Parameter

Required

Type

Description

Identity

Required

Microsoft.SharePoint.BusinessData.Administration.MetadataObject

Specifies the Business Data Connectivity Metadata Store metadata object to update.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

PropertyName

Optional

System.String

Specifies the name of the property to update.

PropertyValue

Optional

System.Management.Automation.PSObject

Sets the new value of the property specified in the PropertyName parameter.

Remove

Optional

System.Management.Automation.SwitchParameter

Removes the property specified in the PropertyName parameter.

SettingId

Optional

System.String

Specifies the custom environment settings model slice for which the property applies.

The type must be a valid string that identifies a model slice; for example, ModelSlice1.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

2

Parameter

Required

Type

Description

Identity

Required

Microsoft.SharePoint.BusinessData.Administration.MetadataObject

Specifies the Business Data Connectivity Metadata Store metadata object to update.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

DisplayName

Optional

System.String

Specifies the display name of the Business Data Connectivity Metadata Store metadata object.

Remove

Optional

System.Management.Automation.SwitchParameter

Removes the property specified in the PropertyName parameter.

SettingId

Optional

System.String

Specifies the custom environment settings model slice for which the property applies.

The type must be a valid string that identifies a model slice; for example, ModelSlice1.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

3

Parameter

Required

Type

Description

Identity

Required

Microsoft.SharePoint.BusinessData.Administration.MetadataObject

Specifies the Business Data Connectivity Metadata Store metadata object to update.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

PropertyName

Optional

System.String

Specifies the name of the property to update.

Remove

Optional

System.Management.Automation.SwitchParameter

Removes the property specified in the PropertyName parameter.

SettingId

Optional

System.String

Specifies the custom environment settings model slice for which the property applies.

The type must be a valid string that identifies a model slice; for example, ModelSlice1.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

This cmdlet contains more than one parameter set. You may only use parameters from one parameter set, and you may not combine parameters from different parameter sets. For more information about how to use parameter sets, see Cmdlet Parameter Sets.

The Set-SPBusinessDataCatalogMetadataObject cmdlet sets the value of a property or attribute of a Business Data Connectivity Metadata Store metadata object.

Input Types

Return Types

Example

------------------EXAMPLE 1------------------

Copy Code
$objectToSetOn = Get-SPBusinessDataCatalogMetadataObject -Namespace "ContosoDatabase" -Name "ContosoDatabase" -BdcObjectType "LobSystemInstance" -ServiceContext http://contoso
Copy Code
Set-SPBusinessDataCatalogMetadataObject -Identity $objectToSetOn -PropertyName "ShowInSearchUI" -PropertyValue "True"

This example creates a property on the LobSystemInstance (External System Instance) of name ContosoDatabase. The property has the name ShowInSearchUI and a value of True.

See Also

Reference

Get-SPBusinessDataCatalogMetadataObject
Revoke-SPBusinessDataCatalogMetadataObject
Grant-SPBusinessDataCatalogMetadataObject


Set-SPBusinessDataCatalogServiceApplication
See Also Example
[image]

Published: May 12, 2010

Sets global properties for a Business Data Connectivity service application in the farm.

Set-SPBusinessDataCatalogServiceApplication -Identity <SPServiceApplicationPipeBind> [-ApplicationPool <SPIisWebServiceApplicationPool>] [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-DatabaseCredentials <PSCredential>] [-DatabaseName <String>] [-DatabasePassword <SecureString>] [-DatabaseServer <String>] [-DatabaseUsername <String>] [-FailoverDatabaseServer <String>] [-Name <String>] [-Sharing <SwitchParameter>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

ApplicationPool

Optional

Microsoft.SharePoint.Administration.SPIisWebServiceApplicationPool

Specifies the IIS application pool to use for the new Business Data Connectivity service application.

DatabaseCredentials

Optional

System.Management.Automation.PSCredential

Specifies the PSCredential object that contains the user name and password to be used for database SQL Server Authentication.

The type must be a valid PSCredential object.

DatabaseName

Optional

System.String

Specifies the name of the Business Data Connectivity database.

The type must be a valid name of a SQL Server database; for example, UsageLogDB1.

DatabasePassword

Optional

System.Security.SecureString

Specifies the password for the user specified in DatabaseUserName. Use this parameter only if SQL Server Authentication is used to access the Business Data Connectivity database.

The type must be a valid password.

DatabaseServer

Optional

System.String

Specifies the name of the Business Data Connectivity database.

The type must be a valid name of a SQL Server database; for example, UsageLogDB1.

DatabaseUsername

Optional

System.String

Specifies the user name to use for connecting to the catalog database. Use this parameter only if SQL Server Authentication is used to access the Business Data Connectivity database.

The type must be a valid user name; for example, UserName1.

FailoverDatabaseServer

Optional

System.String

Specifies the name of the host server for the failover database server.

The type must be a valid SQL Server host name; for example, SQLServerHost1.

Identity

Optional

Microsoft.SharePoint.PowerShell.SPServiceApplicationPipeBind

Specifies the Business Data Connectivity service application associated with the new proxy.

Name

Optional

System.String

Specifies a display name for the new Business Data Connectivity service application proxy.

Sharing

Optional

System.Management.Automation.SwitchParameter

Specifies that the Business Data Connectivity service application is published and shared across the farm.

AssignmentColletion

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Set-SPBusinessDataCatalogServiceApplication cmdlet sets global properties for a Business Data Connectivity service application in the farm.

Input Types

Return Types

Errors

Error | Description

Exceptions

Exceptions | Description

Example

------------------EXAMPLE------------------

Copy Code
Set-SPBusinessDataCatalogServiceApplication -Identity $serviceApplication -FailoverDatabaseServer "CONTOSO\Backup"

This example sets the failover database server to CONTOSO\Backup for the given service application.

See Also

Reference

New-SPBusinessDataCatalogServiceApplication
New-SPBusinessDataCatalogServiceApplicationProxy


Import-SPSiteSubscriptionBusinessDataCatalogConfig
See Also Example
[image]

Published: May 12, 2010

Imports data associated with an exported file that contains all data associated with the Business Data Connectivity Metadata Store for a given partition.

Import-SPSiteSubscriptionBusinessDataCatalogConfig -Path <String> -ServiceContext <SPServiceContextPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-LocalizedNamesIncluded <SwitchParameter>] [-ModelsIncluded <SwitchParameter>] [-PermissionsIncluded <SwitchParameter>] [-PropertiesIncluded <SwitchParameter>] [-ProxiesIncluded <SwitchParameter>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Path

Required

System.String

Specifies the path and name to use to create the export file.The type must be a valid path in either of the following forms:

C:\folder_name

\\server_name\folder_name

..\folder_name\file.xml

ServiceContext

Required

Microsoft.SharePoint.PowerShell.SPServiceContextPipeBind

Specifies the service context of the data to be exported.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a service context (for example, http://ServiceContext1); or an instance of a valid SPServiceContext object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

LocalizedNamesIncluded

Optional

System.Management.Automation.SwitchParameter

Specifies that names for business data fields in multiple languages be imported.

ModelsIncluded

Optional

System.Management.Automation.SwitchParameter

Specifies that Business Data Connectivity models be included in the imported file.

PermissionsIncluded

Optional

System.Management.Automation.SwitchParameter

Specifies that permissions from the Business Data Connectivity model be exported.

PropertiesIncluded

Optional

System.Management.Automation.SwitchParameter

Specifies that properties from the Business Data Connectivity model be imported.

ProxiesIncluded

Optional

System.Management.Automation.SwitchParameter

Specifies that proxies for Business Data Connectivity Service Applications be exported.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

Use the Import-SPSiteSubscriptionBusinessDataCatalogConfig cmdlet to import a data file that contains Business Data Connecitivity models and all data associated with the Business Data Connectivity Metadata Store for a given partition.

Input Types

Return Types

Example

---------------------EXAMPLE---------------------------

Copy Code
Import-SPSiteSubscriptionBusinessDataCatalogConfig -Path "C:\folder\importFile.xml" -ServiceContext http://contoso

This example imports the data file named importFile.xml.

See Also

Reference

Clear-SPSiteSubscriptionBusinessDataCatalogConfig
Export-SPSiteSubscriptionBusinessDataCatalogConfig
Remove-SPSiteSubscriptionBusinessDataCatalogConfig


Remove-SPSiteSubscriptionBusinessDataCatalogConfig
See Also Example
[image]

Published: May 12, 2010

Removes the Business Data Connectivity Metadata Store for a partition.

Remove-SPSiteSubscriptionBusinessDataCatalogConfig -ServiceContext <SPServiceContextPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

ServiceContext

Required

Microsoft.SharePoint.PowerShell.SPServiceContextPipeBind

Specifies the service context of the Business Data Connectivity Metadata Store to remove.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a service context (for example, http://ServiceContext1); or an instance of a valid SPServiceContext object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Remove-SPSiteSubscriptionBusinessDataCatalogConfig cmdlet removes the Business Data Connectivity Metadata Store and all associated data for a specified partition. To completely remove a partition and the data that it contains, run the Clear-SPSiteSubscriptionBusinessDataCatalogConfig cmdlet to remove the data from the Business Data Connectivity Metadata Store, and then run the Remove-SPSiteSubscriptionBusinessDataCatalogConfig cmdlet.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
Remove-SPSiteSubscriptionBusinessDataCatalogConfig -ServiceContext http://contoso

This example removes the Business Data Connectivity Metadata Store for the partition http://contoso.

See Also

Reference

Export-SPSiteSubscriptionBusinessDataCatalogConfig
Import-SPSiteSubscriptionBusinessDataCatalogConfig


Database cmdlets (SharePoint Server 2010)
See Also

You can use Windows PowerShell cmdlets to manage databases in a Microsoft SharePoint Server 2010 farm.

Cmdlet name | Description
Connect-SPConfigurationDatabase | Connects the local server computer to a farm.
Disconnect-SPConfigurationDatabase | Disconnects the local server computer from the farm.
Move-SPBlobStorageLocation | Copies a Windows SharePoint Services 3.0 database by using Remote BLOB Storage (RBS).
New-SPConfigurationDatabase | Creates a new configuration database.
Remove-SPConfigurationDatabase | Permanently removes a configuration database.
Dismount-SPContentDatabase | Detaches a content database from the Web application it is currently associated with.
Get-SPContentDatabase | Returns one or more content databases.
Mount-SPContentDatabase | Attaches an existing content database to the farm.
New-SPContentDatabase | Creates a new content database and attaches it to the specified Web application.
Remove-SPContentDatabase | Deletes a content database.
Set-SPContentDatabase | Sets global properties of a SharePoint content database.
Test-SPContentDatabase | Tests a content database.
Get-SPDatabase | Retrieves all properties of a database.

See Also

Other Resources

Resource Center: Windows PowerShell for SharePoint Server 2010


Connect-SPConfigurationDatabase
See Also Example
[image]

Published: May 12, 2010

Connects the local server computer to a farm.

Connect-SPConfigurationDatabase [-DatabaseName] <String> [-Passphrase] <SecureString> -DatabaseServer <String> [-AssignmentCollection <SPAssignmentCollection>] [-DatabaseCredentials <PSCredential>]

Parameters

Parameter Required Type Description

DatabaseName

Required

System.String

Specifies the name of the configuration database to which to connect the server.

The type must be a valid database name; for example, DB1.

DatabaseServer

Required

A valid database server, such as "DS"

Specifies the server on which to create the configuration database. The default value is the local computer name.

Passphrase

Required

System.Security.SecureString

Specifies the secure password phrase for connecting the current server to the configuration database.

The type must be a valid secure string; for example, MyBDCApp1serverkey.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

DatabaseCredentials

Optional

System.Management.Automation.PSCredential

Specifies the PSCredential object that contains the user name and password to be used for database SQL authentication. If this parameter is not specified, the current user is used.

The type must be a valid PSCredential object.

Detailed Description

The Connect-SPConfigurationDatabase cmdlet connects the current server to the specified configuration database.

Essentially, this cmdlet connects the server to the farm. If the current computer cannot be connected to a farm, the following error message is displayed:

"This machine is already connected to a SharePoint farm. See: Dismount-SPConfigurationDatabase"

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
Connect-SPConfigurationDatabase -DatabaseServer "ServerName\InstanceName" -DatabaseName "SharePointConfigurationDatabaseName" -Passphrase (ConvertTo-SecureString "MyP@ssw0rd" -AsPlainText -Force
Copy Code
Start-Service SPTimerv4

This example joins the local server computer to a farm that is configured to use the database SharePointConfigurationDatabase on an instance of SQL Server by using the name ServerName\InstanceName with the passphrase MyP@ssw0rd.

See Also

Reference

Backup-SPConfigurationDatabase
Disconnect-SPConfigurationDatabase
Dismount-SPContentDatabase
New-SPConfigurationDatabase
Remove-SPConfigurationDatabase


Disconnect-SPConfigurationDatabase
See Also Example
[image]

Published: May 12, 2010

Disconnects the local server computer from the farm.

Disconnect-SPConfigurationDatabase [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Disconnect-SPConfigurationDatabase cmdlet disconnects the active server computer from the SharePoint configuration database. This operation removes the server computer from the farm. The configuration database must be disconnected before the database can be removed.

Input Types

Return Types

Errors

Error | Description

Exceptions

Exceptions | Description

Example

------------------EXAMPLE------------------

Copy Code
Disconnect-SPConfigurationDatabase -Confirm:$false

This example removes the local server computer from a farm without prompting for user confirmation.

See Also

Reference

New-SPConfigurationDatabase
Remove-SPConfigurationDatabase
Connect-SPConfigurationDatabase
Backup-SPConfigurationDatabase


Move-SPBlobStorageLocation
Example
[image]

Published: May 12, 2010

Copies a Windows SharePoint Services 3.0 content database by using Remote BLOB Storage (RBS).

Move-SPBlobStorageLocation [-SourceDatabase] <String> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-DestinationDatabase <String>] [-DestinationDataSourceInstance <String>] [-Dir <String>] [-VerboseMod <$true | $false>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

SourceDatabase

Required

System.String

Specifies the name of the Windows Internal Database.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

DestinationDatabase

Optional

System.String

Specifies the name of the migrated database. If the DestinationDatabase parameter is not specified, the SourceDatabase parameter is used.

DestinationDataSourceInstance

Optional

System.String

Specifies the destination database instance name. The value in the SourceDatabase parameter is migrated to this instance. The database instance name should be Microsoft SQL Server 2008 with Service Pack 1 (SP1) and Cumulative Update 2 version or higher. If the DestinationDataSourceInstance parameter is not specified, the local host name is used.

Dir

Optional

System.String

Used for all disk operations, including storing temporary backups and database (.mdf) files of a migrated database. If the Dir parameter is not specified, a default directory of the destination SQL Server instance is used. The free space in this directory should be at least two times the size of the source database.

VerboseMod

Optional

System.Boolean

Generates verbose log output to be displayed in the Command Prompt window. If the VerboseMod parameter is not specified, no output is displayed.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

Use the Move-SPBlobStorageLocation cmdlet to copy a Windows SharePoint Services 3.0 content database into a Microsoft SQL Server 2008 with Service Pack 1 (SP1) and Cumulative Update 2 database instance by using Remote BLOB Storage (RBS). The database size limitation for SQL Server 2008 with SP1 and Cumulative Update 2 is 4 gigabyes (GB). If a Windows SharePoint Services 3.0 content database is greater than 4 GB, the database cannot be copied directly into a SQL Server 2008 with SP1 and Cumulative Update 2 database instance. The Move-SPBlobStorageLocation cmdlet uses the advantage of RBS and copies databases larger than 4 GB. RBS stores the data on the local hard disk and keeps the links to the data in the database, which results in a smaller database.

Input Types

Return Types

Example

-------------------EXAMPLE 1-----------------------

Copy Code
Move-SPBlobStorageLocation WSS_Content

This example copies the content database named WSS_Content from the Windows Internal Database to the same database name in Microsoft SQL Server 2008 Express by using RBS.

-------------------EXAMPLE 2-----------------------

Copy Code
Move-SPBlobStorageLocation WSS_Content -DestinationDatabase WSS_V4_Content -BackupDatabase WSSBackupDB -VerboseMod:$true

This example copies the content database named WSS_Content from the Windows Internal Database to a database in SQL Server 2008 Express. The name of the new database will be WSS_V4_Content. During the move, the backup file name will be WSSBackupDB. The output of this command displays log information to the Command Prompt window.


New-SPConfigurationDatabase
See Also Example
[image]

Published: May 12, 2010

Creates a new configuration database.

New-SPConfigurationDatabase [-DatabaseName] <String> [-DatabaseServer] <String> [[-DirectoryDomain] <String>] [[-DirectoryOrganizationUnit] <String>] [[-AdministrationContentDatabaseName] <String>] [[-DatabaseCredentials] <PSCredential>] [-FarmCredentials] <PSCredential> [-Passphrase] <SecureString> [-AssignmentCollection <SPAssignmentCollection>]

Parameters

Parameter Required Type Description

DatabaseName

Required

System.String

Specifies the name of the new configuration database.

DatabaseServer

Required

System.String

Specifies the database server on which to create the configuration database. If no value is specified, the default value is used.

DirectoryDomain

Optional

System.String

Specifies the directory domain for the new farm. If no domain is specified, the domain in which the local computer is located is used.

DirectoryOrganizationUnit

Optional

System.String

Specifies the directory organizational unit for the new configuration database. If no organizational unit is specified, the organizational unit in which the local computer is located is used.

AdministrationContentDatabaseName

Required

System.String

Specifies the name for the Central Administration content database for the new farm. If no name is specified, a default name is used.

DatabaseCredentials

Optional

System.Management.Automation.PSCredential

Specifies the Credential object for the database user. Use this parameter if you use SQL Server Authentication. If no database credentials are provided, Windows authentication is used.

FarmCredentials

Required

System.Management.Automation.PSCredential

Specifies credentials for the Farm Administrator account.

Passphrase

Required

System.Security.SecureString

Specifies the secure password phrase for the new farm. This passphrase is used to join other machines to this farm.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Detailed Description

The New-SPConfigurationDatabase cmdlet creates a new configuration database on the specified database server. This is the central database for a new SharePoint farm.

Input Types

Return Types

Example

------------------EXAMPLE-----------------------

Copy Code
New-SPConfigurationDatabase -DatabaseName "SharePointConfigDB1" -DatabaseServer "SQL-01" -Passphrase (ConvertTo-SecureString "MyPassword" -AsPlainText -force) -FarmCredentials (Get-Credential)

This example prompts the user to provide user credentials for the default Farm Administrator account.

See Also

Reference

Backup-SPConfigurationDatabase
Disconnect-SPConfigurationDatabase
Connect-SPConfigurationDatabase
Remove-SPConfigurationDatabase
Dismount-SPContentDatabase


Remove-SPConfigurationDatabase
See Also Example
[image]

Published: May 12, 2010

Permanently removes a configuration database.

Remove-SPConfigurationDatabase [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Remove-SPConfigurationDatabase cmdlet permanently removes the farm's configuration database. The configuration database must be already dismounted from any associated farm.

Input Types

Return Types

Example

------------------EXAMPLE-----------------------

Copy Code
Remove-SPConfigurationDatabase

This example permanently deletes a configuration database from a farm.

See Also

Reference

Backup-SPConfigurationDatabase
Disconnect-SPConfigurationDatabase
Connect-SPConfigurationDatabase
Dismount-SPContentDatabase
New-SPConfigurationDatabase


Dismount-SPContentDatabase
See Also Example
[image]

Published: May 12, 2010

Detaches a content database from its currently associated Web application.

Dismount-SPContentDatabase [-Identity] <SPContentDatabasePipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.SharePoint.PowerShell.SPContentDatabasePipeBind

Specifies the content database to detach.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a SharePoint content database (for example, SPContentDB1); or an instance of a valid SPContentDatabase object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

Use the Dismount-SPContentDatabase cmdlet to detatch the given content database from its currently associated Web application. This cmdlet will not delete the content database. Use the Remove-SPContentDatabase cmdlet to delete a content database.

Input Types

Return Types

Errors

Error | Description

Exceptions

Exceptions | Description

Example

--------------EXAMPLE 1------------

Copy Code
Dismount-SPContentDatabase 12345678-90ab-cdef-1234-567890abcdef

This example detaches the content database with the GUID 12345678-90ab-cdef-1234-567890abcdef from its current parent Web application.

--------------EXAMPLE 2------------

Copy Code
Get-SPContentDatabase -WebApplication http://sitename | Dismount-SPContentDatabase -WhatIf

This example detaches all content databases from the Web application on port 80 of the local machine. Remove the WhatIf parameter to perform the operation.

See Also

Reference

Get-SPContentDatabase
Set-SPContentDatabase
New-SPContentDatabase
Remove-SPContentDatabase
Mount-SPContentDatabase
Test-SPContentDatabase


Get-SPContentDatabase
See Also Example
[image]

Published: May 12, 2010

Returns one or more content databases.

Get-SPContentDatabase [[-Identity] <SPContentDatabasePipeBind>] [-AssignmentCollection <SPAssignmentCollection>]
Get-SPContentDatabase -WebApplication <SPWebApplicationPipeBind> [-AssignmentCollection <SPAssignmentCollection>]
Get-SPContentDatabase -Site <SPSitePipeBind> [-AssignmentCollection <SPAssignmentCollection>]
Get-SPContentDatabase -ConnectAsUnattachedDatabase <SwitchParameter> -DatabaseName <String> -DatabaseServer <String> [-AssignmentCollection <SPAssignmentCollection>] [-DatabaseCredentials <PSCredential>]

Parameters

1

Parameter

Required

Type

Description

Identity

Optional

Microsoft.SharePoint.PowerShell.SPContentDatabasePipeBind

Specifies a specific content database to get.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a SharePoint content database (for example, SPContentDB1); or an instance of a valid SPContentDatabase object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

2

Parameter

Required

Type

Description

WebApplication

Required

Microsoft.SharePoint.PowerShell.SPWebApplicationPipeBind

Returns the content databases for the specified Web application.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of SharePoint Web application (for example, MyOfficeApp1); or an instance of a valid SPWebApplication object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

3

Parameter

Required

Type

Description

Site

Required

Microsoft.SharePoint.PowerShell.SPSitePipeBind

Returns the content database for the specified site collection.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid URL, in the form http://server_name; or an instance of a valid SPSite object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

4

Parameter

Required

Type

Description

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

ConnectAsUnattachedDatabase

Optional

System.Management.Automation.SwitchParameter

Specifies that only unattached databases in the farm are returned.

Detailed Description

This cmdlet contains more than one parameter set. You may only use parameters from one parameter set, and you may not combine parameters from different parameter sets. For more information about how to use parameter sets, see Cmdlet Parameter Sets.

The Get-SPContentDatabase cmdlet returns the specified content databases.

Input Types

Return Types

Errors

Error | Description

Exceptions

Exceptions | Description

Example

----------------EXAMPLE 1------------

Copy Code
Get-SPContentDatabase -webapplication http://sitename

This example returns all content databases used by the sitename Web application.

----------------EXAMPLE 2------------

Copy Code
Get-SPContentDatabase -site http://contoso.com

This example returns the content database that contains the site collection at http://contoso.com.

See Also

Reference

Set-SPContentDatabase
New-SPContentDatabase
Remove-SPContentDatabase
Mount-SPContentDatabase
Test-SPContentDatabase
Upgrade-SPContentDatabase


Mount-SPContentDatabase
See Also Example
[image]

Published: May 12, 2010

Attaches an existing content database to the farm.

Mount-SPContentDatabase [-Name] <String> [-WebApplication] <SPWebApplicationPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-AssignNewDatabaseId <SwitchParameter>] [-ChangeSyncKnowledge <SwitchParameter>] [-ClearChangeLog <SwitchParameter>] [-Confirm [<SwitchParameter>]] [-DatabaseCredentials <PSCredential>] [-DatabaseServer <String>] [-MaxSiteCount <Int32>] [-UpdateUserExperience <SwitchParameter>] [-WarningSiteCount <Int32>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Name

Required

System.String

Specifies the existing content database to attach to the farm.

The type must be a valid name of a SharePoint content database; for example, SPContentDB1.

WebApplication

Required

Microsoft.SharePoint.PowerShell.SPWebApplicationPipeBind

Attaches the content database to the specified SharePoint Web application.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of SharePoint Web application (for example, MyOfficeApp1); or an instance of a valid SPWebApplication object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

AssignNewDatabaseId

Optional

System.Management.Automation.SwitchParameter

Creates a new database ID automatically when the content database is attached.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

ClearChangeLog

Optional

System.Management.Automation.SwitchParameter

Clears any pending changes from the change log in the content database.

DatabaseCredentials

Optional

System.Management.Automation.PSCredential

Specifies the PSCredential object that contains the user name and password to be used for database SQL Authentication.

The type must be a valid PSCredential object.

DatabaseServer

Optional

Microsoft.SharePoint.PowerShell.SPServerPipeBind

Specifies the name of the host server for the content database specified in the Name parameter.

The type must be a valid SQL Server host name; for example, SQLServerHost1.

MaxSiteCount

Optional

System.Int32

Specifies the maximum number of Web sites that can use the content database.

The type must be a positive integer.

UpdateUserExperience

Optional

System.Management.Automation.SwitchParameter

Determines whether the content databases should upgrade to the latest user interface. By default, the user interface will not change during upgrade.

WarningSiteCount

Optional

System.Int32

Specifies the number of sites that can be created before a warning event is generated and the owner of the site collection is notified.

The type must be a positive integer.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Mount-SPContentDatabase cmdlet attaches an existing content database to the farm. If the database being mounted requires an upgrade, this cmdlet will cause the database to be upgraded.

Input Types

Return Types

Errors

Error | Description

Exceptions

Exceptions | Description

Example

-----------------EXAMPLE---------------------

Copy Code
Mount-SPContentDatabase "MyDatabase" -DatabaseServer "MyServer" -WebApplication http://sitename

This example mounts an already existing database to the sitename Web application.

See Also

Reference

Get-SPContentDatabase
Set-SPContentDatabase
Remove-SPContentDatabase
Upgrade-SPContentDatabase
Dismount-SPContentDatabase
Get-SPServer


New-SPContentDatabase
Example
[image]

Published: May 12, 2010

Creates a new content database and attaches it to the specified Web application.

New-SPContentDatabase [-Name] <String> [-WebApplication] <SPWebApplicationPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-AssignNewDatabaseId <SwitchParameter>] [-ChangeSyncKnowledge <SwitchParameter>] [-ClearChangeLog <SwitchParameter>] [-Confirm [<SwitchParameter>]] [-DatabaseCredentials <PSCredential>] [-DatabaseServer <String>] [-MaxSiteCount <Int32>] [-WarningSiteCount <Int32>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Name

Required

System.String

Specifies the new content database to create within the farm.

The type must be a valid name of a SharePoint content database; for example, SPContentDB1.

WebApplication

Required

Microsoft.SharePoint.PowerShell.SPWebApplicationPipeBind

Attaches the content database to the specified SharePoint Web application.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of SharePoint Web application (for example, MyOfficeApp1); or an instance of a valid SPWebApplication object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

AssignNewDatabaseId

Optional

System.Management.Automation.SwitchParameter

Creates a new database ID automatically when the content database is attached.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

ClearChangeLog

Optional

System.Management.Automation.SwitchParameter

Clears any pending changes from the change log in the content database.

DatabaseCredentials

Optional

System.Management.Automation.PSCredential

Specifies the PSCredential object that contains the user name and password to be used for database SQL Server Authentication.

The type must be a valid PSCredential object.

DatabaseServer

Optional

Microsoft.SharePoint.PowerShell.SPServerPipeBind

Specifies the name of the host server for the content database specified in the Name parameter.

The type must be a valid SQL Server host name; for example, SQLServerHost1.

MaxSiteCount

Optional

System.Int32

Specifies the maximum number of Web sites that can use the content database.

The type must be a positive integer.

WarningSiteCount

Optional

System.Int32

Specifies the number of sites that can be created before a warning event is generated and the owner of the site collection is notified.

The type must be a positive integer.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The New-SPContentDatabase cmdlet creates a new content database and attaches it to the specified Web application.

Input Types

Return Types

Errors

Error | Description

Exceptions

Exceptions | Description

Example

--------------EXAMPLE--------------------

Copy Code
New-SPContentDatabase "MyDatabase" -DatabaseServer "MyServer" -WebApplication http://sitename

This example creates a new content database for the sitename Web application.


Remove-SPContentDatabase
See Also Example
[image]

Published: May 12, 2010

Deletes a content database.

Remove-SPContentDatabase [-Identity] <SPContentDatabasePipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-Force <SwitchParameter>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.SharePoint.PowerShell.SPContentDatabasePipeBind

Specifies the content database to delete.

The type must be a valid GUID, such as 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a SharePoint content database (for example, SPContentDB1); or an instance of a valid SPContentDatabase object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Remove-SPContentDatabase cmdlet deletes a content database permanently from Microsoft SQL Server 2008 R2, SQL Server 2008 with Service Pack 1 (SP1) and Cumulative Update 2, or SQL Server 2005 with SP3 and Cumulative Update 3. In situations where data needs to be persisted, use the Dismount-SPContentDatabase cmdlet. This will remove the content database from SharePoint 2010 Products but not from SQL Server 2008 R2, SQL Server 2008 with SP1 and Cumulative Update 2, or SQL Server 2005 with SP3 and Cumulative Update 3.

Input Types

Return Types

Errors

Error | Description

Exceptions

Exceptions | Description

Example

-----------------EXAMPLE---------------------

Copy Code
Get-SPContentDatabase 12345678-90ab-cdef-1234-567890abcdef | Remove-SPContentDatabase

This example deletes the specified content database.

See Also

Reference

Get-SPContentDatabase
New-SPContentDatabase
Set-SPContentDatabase
Upgrade-SPContentDatabase
Test-SPContentDatabase


Set-SPContentDatabase
See Also Example
[image]

Published: May 12, 2010

Sets global properties of a SharePoint content database.

Set-SPContentDatabase [-Identity] <SPContentDatabasePipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-MaxSiteCount <Int32>] [-Status <Online | Disabled | Offline | Unprovisioning | Provisioning | Upgrading>] [-WarningSiteCount <Int32>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.SharePoint.PowerShell.SPContentDatabasePipeBind

Specifies the content database to update.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a SharePoint content database (for example, SPContentDB1); or an instance of a valid SPContentDatabase object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

MaxSiteCount

Optional

System.Int32

Specifies the maximum number of site collections that this database can host.

The type must be a positive integer. Set to $null to clear this value.

Status

Optional

Microsoft.SharePoint.Administration.SPObjectStatus

Specifies the status of the SQL Server database. Set this parameter to Ready to make the database available to host new sites. Set this parameter to Offline to make the database unavailable to host new sites.

The type must be either of the following: Ready or Offline

WarningSiteCount

Optional

System.Int32

Specifies the number of site collections that can be created before a warning event is generated and the owner of the site collection is notified.

The type must be a positive integer. Set to $null to clear this value.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Set-SPContentDatabase cmdlet sets global properties of a SharePoint content database.

Input Types

Return Types

Errors

Error | Description

Exceptions

Exceptions | Description

Example

---------------EXAMPLE 1---------------

Copy Code
Get-SPContentDatabase http://contoso.com | Set-SPContentDatabase -MaxSiteCount 1

This example sets the MaxSiteCount for the content database that contains contoso.com to 1.

---------------EXAMPLE 2---------------

Copy Code
Get-SPContentDatabase -WebApplication http://sitename | Set-SPContentDatabase -WarningSiteCount $null

This example clears the WarningSiteCount for all databases in the sitename Web application.

See Also

Reference

Get-SPContentDatabase
New-SPContentDatabase
Remove-SPContentDatabase
Upgrade-SPContentDatabase
Dismount-SPContentDatabase
Test-SPContentDatabase


Test-SPContentDatabase
See Also Example
[image]

Published: May 12, 2010

Tests a content database.

Test-SPContentDatabase [-Identity] <SPContentDatabasePipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-DatabaseCredentials <PSCredential>] [-ServerInstance <SPDatabaseServiceInstancePipeBind>] [-ShowRowCounts <SwitchParameter>]
Test-SPContentDatabase -Name <String> -WebApplication <SPWebApplicationPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-DatabaseCredentials <PSCredential>] [-ServerInstance <SPDatabaseServiceInstancePipeBind>] [-ShowRowCounts <SwitchParameter>]

Parameters

1

Parameter

Required

Type

Description

Identity

Required

Microsoft.SharePoint.PowerShell.SPContentDatabasePipeBind

Specifies an existing connected Microsoft SharePoint 2010 Products content database to one of the two parameter sets in the form of a GUID or database name if it is unique.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

DatabaseCredentials

Optional

System.Management.Automation.PSCredential

Specifies the PSCredential object that contains the user name and password to be used for database SQL Server Authentication.

The type must be a valid PSCredential object.

ServerInstance

Optional

Microsoft.SharePoint.PowerShell.SPDatabaseServiceInstancePipeBind

Specifies the instance of the database service to use to test the specified content database.

The type must be a valid GUID, such as 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a SQL Server instance (for example, DBSvrInstance1); or an instance of a valid SPDatabaseServiceInstance object.

ShowRowCounts

Optional

System.Management.Automation.SwitchParameter

Returns database statistics which are row counts for tables in the content database.

2

Parameter

Required

Type

Description

Name

Required

System.String

Specifies the existing content database to test.

The type must be a valid name of a SharePoint content database; for example, SPContentDB1.

WebApplication

Required

Microsoft.SharePoint.PowerShell.SPWebApplicationPipeBind

Specifies the SharePoint Web application to use to test the content database.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; or a valid name of SharePoint Web application (for example, MyOfficeApp1); or an instance of a valid SPWebApplication object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

DatabaseCredentials

Optional

System.Management.Automation.PSCredential

Specifies the PSCredential object that contains the user name and password to be used for database SQL Server Authentication.

The type must be a valid PSCredential object.

ServerInstance

Optional

Microsoft.SharePoint.PowerShell.SPDatabaseServiceInstancePipeBind

Specifies the instance of the database service to use to test the specified content database.

The type must be a valid GUID, such as 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a SQL Server instance (for example, DBSvrInstance1); or an instance of a valid SPDatabaseServiceInstance object.

ShowRowCounts

Optional

System.Management.Automation.SwitchParameter

Returns database statistics which are row counts for tables in the content database.

Detailed Description

This cmdlet contains more than one parameter set. You may only use parameters from one parameter set, and you may not combine parameters from different parameter sets. For more information about how to use parameter sets, see Cmdlet Parameter Sets.

Use the Test-SPContentDatabase cmdlet to test a content database against a Web application to verify all customizations referenced within the content database are also installed in the web application. This cmdlet can be issued against a content database currently attached to the farm, or a content database that is not connected to the farm. It can be used to test content databases from SharePoint 2010 Products and from SharePoint Products and Technologies.

Note:

The Test-SPContentDatabase cmdlet does not change any of the data or structure of the content database, but can cause load on the database while the checks are in progress, which could temporarily block use of the content database. This cmdlet should only be used against a content database that is currently under low or no usage.

Input Types

Return Types

Example

----------------------------EXAMPLE 1-----------------------

Copy Code
Test-SPContentDatabase -name WSS_Content_DB -webapplication http://sitename

This example tests the WSS_Content_DB content database against the sitename Web application, and returns a list of issues.

----------------------------EXAMPLE 2-----------------------

Copy Code
$DB = Get-SPContentDatabase -site http://contoso.com
Copy Code
Test-SPContentDatabase $DB -showrowcounts

This example gets the content database that contains the site collection at http://contoso.com, and then tests the database against the Web application that hosts it to determine issues. Together with displaying the list of issues, by specifying the ShowRowCounts parameter, this also returns the table size metrics from the content database.

See Also

Reference

Get-SPContentDatabase
New-SPContentDatabase
Set-SPContentDatabase
Remove-SPContentDatabase
Mount-SPContentDatabase
Upgrade-SPContentDatabase


Get-SPDatabase
See Also Example
[image]

Published: May 12, 2010

Retrieves all properties of a database.

Get-SPDatabase [[-Identity] <SPDatabasePipeBind>] [-AssignmentCollection <SPAssignmentCollection>]
Get-SPDatabase -ServerInstance <SPDatabaseServiceInstancePipeBind> [-AssignmentCollection <SPAssignmentCollection>]

Parameters

1

Parameter

Required

Type

Description

Identity

Optional

Microsoft.SharePoint.PowerShell.SPDatabasePipeBind

Specifies the name of the database to display public properties.

The type must be a valid GUID, in the form 1234-3456-567kg.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

2

Parameter

Required

Type

Description

ServerInstance

Required

Microsoft.SharePoint.PowerShell.SPDatabaseServiceInstancePipeBind

Specifies the name of the SQL instance that contains the database in either the form "Server" for a default SQL instance or "Server\Instance" for a named SQL instance.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Detailed Description

This cmdlet contains more than one parameter set. You may only use parameters from one parameter set, and you may not combine parameters from different parameter sets. For more information about how to use parameter sets, see Cmdlet Parameter Sets.

The Get-SPDatabase cmdlet displays all public properties of a database to the current window. If the Identity parameter is specified, only properties of that ID are displayed.

Input Types

Return Types

Example

--------------------EXAMPLE---------------------

Copy Code
Get-SPDatabase -ServerInstance "ServerA\SharePoint"

This example gets all databases on a specific named SQL Server Express instance.

See Also

Reference

Get-SPContentDatabase
New-SPContentDatabase
Set-SPContentDatabase


Enterprise content management cmdlets (SharePoint Server 2010)
See Also

Enterprise content management (ECM) is the strategies, methods, and tools used to obtain, retain, and deliver content and documents related to processes within an organization. In Microsoft SharePoint Server 2010, Windows PowerShell cmdlets focus on two aspects of content deployment functionality.

Content deployment copies content from a source SharePoint Server 2010 site collection to a destination site collection. You can copy the entire source site collection or a subset of sites.

Note:

Make sure that you run the initial content deployment as a full deployment. After you complete a full deployment, you can run an incremental deployment, which deploys only changed pages and related assets.

The Windows PowerShell cmdlets that are related to content deployment focus on two areas:

  • Content deployment path A content deployment path defines the relationship between a source and destination site collection for content deployment. After you create a path, you can create jobs and associate them with the path to begin deploying content.

    Use the Windows PowerShell noun, SPContentDeploymentPath, to retrieve, set, and create deployment paths.

  • Content deployment job A content deployment job is associated with a content deployment path. It defines the specific content to be deployed from the source to the destination, and the schedule on which the deployment should occur.

    The Windows PowerShell noun, SPContentDeploymentJob, lets the administrator retrieve, set, and create deployment jobs.

This article also lists cmdlets that support administration of metadata.

Content deployment

Cmdlet name | Description
Get-SPContentDeploymentJob | Returns a content deployment job or a collection of content deployment jobs.
Get-SPContentDeploymentPath | Returns a content deployment path or a collection of content deployment paths.
Get-SPSiteSubscriptionEdiscoveryHub | Displays the eDiscovery hub for a site subscription.
Get-SPSiteSubscriptionEdiscoverySearchScope | Displays the search scope for the eDiscovery hub of the specified site collection.
New-SPContentDeploymentJob | Creates a content deployment job.
New-SPContentDeploymentPath | Creates a new content deployment path.
Remove-SPContentDeploymentJob | Removes a content deployment job.
Remove-SPContentDeploymentPath | Removes a content deployment path.
Set-SPContentDeploymentJob | Sets properties of a content deployment job.
Set-SPContentDeploymentPath | Sets properties of a content deployment path.
Set-SPSiteSubscriptionEdiscoveryHub | Sets properties for the eDiscovery hub of a site subscription.
Start-SPContentDeploymentJob | Starts a content deployment job.

Metadata administration

Cmdlet name | Description
Clear-SPMetadataWebServicePartitionData | Removes all data for a site subscription on a metadata Web service application
Export-SPMetadataWebServicePartitionData | Exports the data from a metadata Web service for a site subscription.
Get-SPMetadataServiceApplication | Returns the properties of a service application or a collection of service applications.
Get-SPMetadataServiceApplicationProxy | Returns the properties of a service application proxy or a collection of service application proxies.
Get-SPSiteSubscriptionMetadataConfig | Returns the site subscription configuration settings for a metadata service application.
Get-SPTaxonomySession | Returns a TaxonomySession object.
Import-SPMetadataWebServicePartitionData | Restores the data for a site subscription.
New-SPMetadataServiceApplication | Creates a new metadata service application.
New-SPMetadataServiceApplicationProxy | Creates a new metadata service application proxy.
Remove-SPSiteSubscriptionMetadataConfig | Removes site subscription configuration settings.
Set-SPMetadataServiceApplication | Sets the properties for a metadata service application.
Set-SPMetadataServiceApplicationProxy | Sets the properties for a metadata service application proxy.
Set-SPSiteSubscriptionMetadataConfig | Sets the site subscription configuration settings for a specified metadata service application.

See Also

Other Resources

Resource Center: Windows PowerShell for SharePoint Server 2010


Get-SPContentDeploymentJob
See Also Example
[image]

Published: May 12, 2010

Returns a content deployment job or a collection of content deployment jobs.

Get-SPContentDeploymentJob [[-Identity] <SPContentDeploymentJobPipeBind>] [-AssignmentCollection <SPAssignmentCollection>] [-Path <SPContentDeploymentPathPipeBind>]

Parameters

Parameter Required Type Description

Identity

Optional

Microsoft.SharePoint.Publishing.Cmdlet.SPContentDeploymentJobPipeBind

Specifies the content deployment job to get.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a content deployment job (for example, DeployJob1); or an instance of a valid SPContentDeploymentJob object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Path

Optional

Microsoft.SharePoint.Publishing.Cmdlet.SPContentDeploymentPathPipeBind

Specifies that content deployment jobs for only the specified content deployment path are returned.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a content deployment job (for example; DeployPath1); or an instance of a valid SPContentDeploymentPath object.

Detailed Description

The Get-SPContentDeploymentJob cmdlet reads the specified content deployment job. If the Identity parameter is not specified, this cmdlet returns the collection of content deployment jobs on the farm.

Input Types

Return Types

Example

---------------EXAMPLE--------------

Copy Code
Get-SPContentDeploymentJob "Job 1"

This example returns the content deployment job called Job 1.

See Also

Reference

New-SPContentDeploymentJob
Remove-SPContentDeploymentJob
Set-SPContentDeploymentJob
Start-SPContentDeploymentJob


Get-SPContentDeploymentPath
See Also Example
[image]

Published: May 12, 2010

Returns a content deployment path or a collection of content deployment paths.

Get-SPContentDeploymentPath [[-Identity] <SPContentDeploymentPathPipeBind>] [-AssignmentCollection <SPAssignmentCollection>]

Parameters

Parameter Required Type Description

Identity

Optional

Microsoft.SharePoint.Publishing.Cmdlet.SPContentDeploymentPathPipeBind

Specifies the content deployment path to get.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a content deployment path (for example, DeployPath1); or an instance of a valid SPContentDeploymentJob object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Detailed Description

The Get-SPContentDeploymentPath cmdlet reads the specified content deployment path. If the Identity parameter is not specified, this cmdlet returns the collection of content deployment paths on the farm.

Input Types

Return Types

Example

--------------EXAMPLE--------------

Copy Code
Get-SPContentDeploymentPath "Path 1"

This example returns the content deployment path named Path1.

See Also

Reference

New-SPContentDeploymentPath
Remove-SPContentDeploymentPath
Set-SPContentDeploymentPath


Get-SPSiteSubscriptionEdiscoveryHub
See Also Example
[image]

Published: May 12, 2010

Displays the eDiscovery hub for a site subscription.

Get-SPSiteSubscriptionEdiscoveryHub [-Identity] <SPSiteSubscriptionPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.SharePoint.PowerShell.SPSiteSubscriptionPipeBind

Specifies the URL of the site collections to the eDiscovery hub. Can pipe the result from the Get-SPSiteSubcription cmdlet.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

Use the Get-SPSiteSubscriptionEdiscoveryHub cmdlet to display the site collection configured as the eDiscovery hub for the specified site subscription.

Input Types

Return Types

Example

------------------EXAMPLE----------------------

Copy Code
Get-SPSiteSubscriptionEdiscoveryHub -Identity http://contoso.com

This example displays the eDiscovery hub for the specified site collection.

See Also

Reference

Get-SPSiteSubscriptionEdiscoverySearchScope
Set-SPSiteSubscriptionEdiscoveryHub


Get-SPSiteSubscriptionEdiscoverySearchScope
See Also Example
[image]

Published: May 12, 2010

Displays the search scope for the eDiscovery hub of the specified site collection.

Get-SPSiteSubscriptionEdiscoverySearchScope [-Identity] <SPSiteSubscriptionPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.SharePoint.PowerShell.SPSiteSubscriptionPipeBind

Specifies the URL to the group of site collections that contained the search scope.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

Use the Get-SPSiteSubscriptionEdiscoverySearchScope cmdlet to retrieve the search scope that has been configured for the eDiscovery hub of the specified site subscription.

Input Types

Return Types

Example

-------------------EXAMPLE--------------------

Copy Code
Get-SPSiteSubscriptionEdiscoverySearchScope - Identity http://contoso.com

This example displays the search scope for the eDiscovery hub for the specified site collection.

See Also

Reference

Get-SPSiteSubscriptionEdiscoveryHub
Set-SPSiteSubscriptionEdiscoveryHub


New-SPContentDeploymentJob
See Also Example
[image]

Published: May 12, 2010

Creates a content deployment job.

New-SPContentDeploymentJob -Name <String> -SPContentDeploymentPath <SPContentDeploymentPathPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-Description <String>] [-EmailAddresses <String[]>] [-EmailNotifications <None | SendEmailOnFailure | SendEmailOnSuccess | SendEmailOnAlways>] [-HostingSupportEnabled <SwitchParameter>] [-IncrementalEnabled <SwitchParameter>] [-Schedule <String>] [-ScheduleEnabled <SwitchParameter>] [-Scope <SPWebPipeBind[]>] [-SqlSnapshotSetting <None | CreateNew>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Name

Required

System.String

Specifies the name of the new content deployment job.

The type must be a valid name of a content deployment job; for example, DeployJob1.

SPContentDeploymentPath

Required

Microsoft.SharePoint.Publishing.Cmdlet.SPContentDeploymentPathPipeBind

Specifies the deployment path to associate with the new deployment job.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a content deployment job (for example; DeployJob1); or an instance of a valid SPContentDeploymentJob object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

Description

Optional

System.String

Specifies the description for the content deployment job. The name can be a maximum of 4096 alphanumeric characters.

The type must be a valid string.

EmailAddresses

Optional

System.String[]

Specifies the e-mail addresses of individuals who receive notification e-mails about this ContentDeploymentJob object.

The type must be a list of valid e-mail addresses.

EmailNotifications

Optional

Microsoft.SharePoint.Publishing.Administration.ContentDeploymentNotificationSettings

Specifies how e-mail notifications are sent about this ContentDeploymentJob object.

The type must be one of the following:

-Never specifies that e-mail notifications will not be sent when a job succeeds or fails.

- SendEmailOnSuccess specifies that e-mail notifications will be sent if a content deployment job succeeds.

- SendEmailOnFailure specifies that e-mail notifications will be sent if a content deployment job fails.

- SendEmailOnAlways specifies that e-mail notifications will be sent when a job succeeds or fails.

HostingSupportEnabled

Optional

System.Management.Automation.SwitchParameter

Enables special hosting- behavior. The default value is False.

Normally, a content deployment job is enabled or disabled by using the SharePoint Central Administration Web site. However, in the case of hosting, the tenant administrator does not have permissions to access the Central Administration page to configure jobs. Therefore, when the HostingSupportEnabled parameter is set to True, the hoster creates the job, so that tenants can enable or disable their deployment jobs from their tenant administration site.

IncrementalEnabled

Optional

System.Management.Automation.SwitchParameter

Specifies that only incremental changes are deployed to the destination site collection.

Schedule

Optional

System.String

Sets the schedule for the deployment job.

The type must be a valid SPSchedule object.

ScheduleEnabled

Optional

System.Management.Automation.SwitchParameter

Specifies to enable the schedule for the deployment job. If the schedule is not enabled the job can be run only manually.

Scope

Optional

Microsoft.SharePoint.PowerShell.SPWebPipeBind[]

Sets the scope of the deployment job. SPSites passed in must exist in the current path of the source site collection. The default scope is the entire site collection. Valid values include an SPWeb object or an array of SPWeb objects.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a Microsoft SharePoint Foundation 2010 Web site (for example, MySPSite1); or an instance of a valid SPWeb object.

SqlSnapshotSetting

Optional

Microsoft.SharePoint.Publishing.Administration.ContentDeploymentSqlSnapshotSetting

Creates a database snapshot of the source SharePoint Foundation 2010 content database to use for the export process.

The type must be one of the following values:

- None

- CreateNew

Note:

The CreateNew value requires thatMicrosoft SQL Server Enterprise Edition be installed.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The New-SPContentDeploymentJob cmdlet adds a new content deployment job to a farm.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
Get-SPContentDeploymentPath "Path 1" | New-SPContentDeploymentJob -Name "Deployment Job" -SPContentDeploymentPath $_ -IncrementalEnabled:$true -ScheduleEnabled:$false

This example creates a new content deployment job called Deployment Job by using the deployment path Path 1. The job is configured to be an incremental job with no schedule.

See Also

Reference

Get-SPContentDeploymentJob
Remove-SPContentDeploymentJob
Set-SPContentDeploymentJob
Start-SPContentDeploymentJob


New-SPContentDeploymentPath
See Also Example
[image]

Published: May 12, 2010

Creates a new content deployment path.

New-SPContentDeploymentPath -DestinationCentralAdministrationURL <Uri> -DestinationSPSite <String> -DestinationSPWebApplication <Uri> -Name <String> -PathAccount <PSCredential> -SourceSPSite <SPSitePipeBind> -SourceSPWebApplication <SPWebApplicationPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Authentication <Basic | Windows>] [-CompressionEnabled <SwitchParameter>] [-Confirm [<SwitchParameter>]] [-DeploySecurityInformation <None | WssOnly | All>] [-DeployUserNamesEnabled <SwitchParameter>] [-Description <String>] [-EventReceiversEnabled <SwitchParameter>] [-KeepTemporaryFilesOptions <Never | Always | Failure>] [-PathEnabled <SwitchParameter>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

DestinationCentralAdministrationURL

Required

System.Uri

Specifies the SharePoint Central Administration URL for the destination farm.

The type must be a valid URL, in the form http://server_name.

DestinationSPSite

Required

Microsoft.SharePoint.PowerShell.SPSitePipeBind

Specifies the destination site collection.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid URL, in the form http://server_name; or an instance of a valid SPSite object.

DestinationSPWebApplication

Required

Microsoft.SharePoint.PowerShell.SPWebApplicationPipeBind

Specifies the destination Web application.

The type must be a valid URL, in the form http://server_name; a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of Web application (for example, MyOfficeApp1); or an instance of a valid SPWebApplication object.

Name

Required

System.String

Specifies the name of the new content deployment path.

The type must be a valid name of a content deployment path; for example, DeployPath1.

PathAccount

Required

System.Management.Automation.PSCredential

Specifies the user ID that is an administrator on the Central Administration page on the destination farm.

The type must be a valid SharePoint user.

SourceSPSite

Required

Microsoft.SharePoint.PowerShell.SPSitePipeBind

Specifies the source site collection for the deployment path. Must be a site collection in the source specified in the SourceSPWebApplication parameter.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid URL, in the form http://server_name; or an instance of a valid SPSite object.

SourceSPWebApplication

Required

Microsoft.SharePoint.PowerShell.SPWebApplicationPipeBind

Specifies the source Web application for the deployment path.

The type must be a valid URL, in the form http://server_name; a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of SharePoint Web application (for example, MyOfficeApp1); or an instance of a valid SPWebApplication object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Authentication

Optional

Microsoft.SharePoint.Publishing.Administration.PathAuthenticationOption

Sets the Windows-based authentication type that the source front-end Web server uses to communicate with the destination Web application.

The type must be one of the following values: WindowsAuth or BasicAuth.

CompressionEnabled

Optional

System.Management.Automation.SwitchParameter

Turns on compression during the export.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

DeploySecurityInformation

Optional

Microsoft.SharePoint.Deployment.SPIncludeSecurity

Specifies the user and group information to include during the export operation for this content deployment path. The default value is All.

The type must be one of the following values: None, All, or WssOnly- Applies only Microsoft SharePoint Foundation 2010 security settings. Includes user memberships and role assignments such as default roles, for example, Web Designer or any custom roles that extend from the default roles. The access control list (ACL) for each object is migrated. No user information defined in the DAP or LDAP servers is included.

DeployUserNamesEnabled

Optional

System.Management.Automation.SwitchParameter

Specifies whether to include user names during a deployment.

Valid values are one of the following:

- $True Retains the original author and editor information, time and date stamp, and user lookup value.

- $False Retains the original date and time stamp, but replaces the author and editor data with the System Account, and replaces the user lookup value with an empty string ("").

Description

Optional

System.String

Sets the description for the content deployment path. The description can contain a maximum of 4096 alphanumeric characters.

The type must be a valid string.

EventReceiversEnabled

Optional

System.Management.Automation.SwitchParameter

Turns on event receivers during import.

KeepTemporaryFilesOptions

Optional

Microsoft.SharePoint.Publishing.Administration.TemporaryFilesOption

Specifies that temporary files are kept after content deployment is finished.

The type must be one of the following values: Never, Always, or OnFailure.

PathEnabled

Optional

System.Management.Automation.SwitchParameter

Enables the new content deployment path.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The New-SPContentDeploymentPath cmdlet adds a new content deployment path for a content deployment job.

Input Types

Return Types

Example

-----------------EXAMPLE----------------------

Copy Code
$source = Get-SPSite "http://source/"
Copy Code
$credentials=Get-Credential
Copy Code
New-SPContentDeploymentPath -Name "Deployment Path" -SourceSPWebApplication $source.WebApplication -SourceSPSite $source DestinationCentralAdministrationURL "http://destination:8080" -DestinationSPWebApplication "http://destination" -DestinationSPSite "http://destination" -KeepTemporaryFilesOptions "Failure" -PathAccount $credentials -PathEnabled:$true

This example creates a new deployment path called Deployment Path that connects a source at http://source to a destination at http://destination. The path is enabled and configured to keep temporary files on job failure.

See Also

Reference

Get-SPContentDeploymentPath
Remove-SPContentDeploymentPath
Set-SPContentDeploymentPath


Remove-SPContentDeploymentJob
See Also Example
[image]

Published: May 12, 2010

Removes a content deployment job.

Remove-SPContentDeploymentJob [-Identity] <SPContentDeploymentJobPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.SharePoint.Publishing.Cmdlet.SPContentDeploymentPathPipeBind

Specifies the content deployment job to remove. The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a content deployment job (for example; DeployJob1); or an instance of a valid SPContentDeploymentJob object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Remove-SPContentDeploymentJob cmdlet removes a content deployment job.

Input Types

Return Types

Example

-------------------EXAMPLE------------------

Copy Code
Remove-SPContentDeploymentJob -Identity "DeployJob1"

This example removes a deployment job named DeployJob1.

See Also

Reference

Get-SPContentDeploymentPath
New-SPContentDeploymentPath
Set-SPContentDeploymentPath
Start-SPContentDeploymentJob


Remove-SPContentDeploymentPath
See Also Example
[image]

Published: May 12, 2010

Removes a content deployment path.

Remove-SPContentDeploymentPath [-Identity] <SPContentDeploymentPathPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.SharePoint.Publishing.Cmdlet.SPContentDeploymentPathPipeBind

Specifies the content deployment path to remove. The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a content deployment path (for example; DeployPath1); or an instance of a valid SPContentDeploymentPath object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Remove-SPContentDeploymentPath cmdlet removes a content deployment path.

Input Types

Return Types

Example

--------------------EXAMPLE-----------------------

Copy Code
Remove-SPContentDeploymentPath -Path1

This example removes a content path named Path1.

See Also

Reference

Get-SPContentDeploymentPath
New-SPContentDeploymentPath
Set-SPContentDeploymentPath


Set-SPContentDeploymentJob
See Also Example
[image]

Published: May 12, 2010

Sets properties of a content deployment job.

Set-SPContentDeploymentJob [-Identity] <SPContentDeploymentJobPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-Description <String>] [-EmailAddresses <String[]>] [-EmailNotifications <None | SendEmailOnFailure | SendEmailOnSuccess | SendEmailOnAlways>] [-HostingSupportEnabled <SwitchParameter>] [-IncrementalEnabled <SwitchParameter>] [-Name <String>] [-Schedule <String>] [-ScheduleEnabled <SwitchParameter>] [-Scope <SPWebPipeBind[]>] [-SqlSnapshotSetting <None | CreateNew>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.SharePoint.Publishing.Cmdlet.SPContentDeploymentJobPipeBind

Specifies the content deployment job to update.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a content deployment job (for example, DeployJob1); or an instance of a valid SPContentDeploymentJob object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

Description

Optional

System.String

Specifies the description for the content deployment job. The name can be a maximum of 4096 alphanumeric characters.

The type must be a valid string.

EmailAddresses

Optional

System.String[]

Specifies the e-mail addresses of individuals who receive notification e-mails about this ContentDeploymentJob object.

The type must be a list of valid e-mail addresses.

EmailNotifications

Optional

Microsoft.SharePoint.Publishing.Administration.ContentDeploymentNotificationSettings

Specifies how e-mail notifications are sent about this ContentDeploymentJob object.

The type must be one of the following:

-Never specifies that e-mail notifications will not be sent when a job succeeds or fails.

- Success specifies that e-mail notifications will be sent if a content deployment job succeeds.

- Failure specifies that e-mail notifications will be sent if a content deployment job fails.

- Always specifies that e-mail notifications will be sent when a job succeeds or fails.

HostingSupportEnabled

Optional

System.Management.Automation.SwitchParameter

Enables special hosting behavior. The default value is False.

Normally, a content deployment job is enabled or disabled by using the SharePoint Central Administration Web site. However, in the case of hosting, the tenant administrator does not have permissions to access the Central Administration page to configure jobs. Therefore, when the HostingSupportEnabled parameter is set to True, the hoster creates the job, so that tenants can enable or disable their deployment jobs from their tenant administration site.

IncrementalEnabled

Optional

System.Management.Automation.SwitchParameter

Specifies that only incremental changes are deployed to the destination site collection.

Name

Optional

System.String

Specifies the name of the new content deployment job.

The type must be a valid name of a content deployment job; for example, DeployJob1.

Schedule

Optional

System.String

Sets the schedule for the deployment job.

The type must be a valid SPSchedule object.

ScheduleEnabled

Optional

System.Management.Automation.SwitchParameter

Enables the schedule for the deployment job. If the schedule is not enabled, the job can be run manually only.

Scope

Optional

Microsoft.SharePoint.PowerShell.SPWebPipeBind[]

Sets the scope of the deployment job. SPSite objects that are passed in must exist in the current path of the source site collection. The default scope is the entire site collection. Valid values include a SPWeb object or an array of SPWeb objects.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a Microsoft SharePoint Foundation 2010 Web site (for example, MySPSite1); or an instance of a valid SPWeb object.

SqlSnapshotSetting

Optional

Microsoft.SharePoint.Publishing.Administration.ContentDeploymentSqlSnapshotSetting

Backs up the SharePoint Foundation 2010 content database by using SQL Server.

The type must be one of the following values: None or CreateNew.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Set-SPContentDeploymentJob cmdlet sets the properties of a content deployment job.

Input Types

Return Types

Example

-----------------EXAMPLE------------------

Copy Code
Get-SPContentDeploymentJob "Job 1" | Set-SPContentDeploymentJob -Schedule "hourly between 0 and 59" -ScheduleEnabled:$true

This example sets the deployment job called Job 1 to run hourly.

See Also

Reference

Get-SPContentDeploymentPath
New-SPContentDeploymentJob
Remove-SPContentDeploymentJob
Start-SPContentDeploymentJob


Set-SPContentDeploymentPath
See Also Example
[image]

Published: May 12, 2010

Sets properties of a content deployment path.

Set-SPContentDeploymentPath [-Identity] <SPContentDeploymentPathPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Authentication <Basic | Windows>] [-CompressionEnabled <SwitchParameter>] [-Confirm [<SwitchParameter>]] [-DeploySecurityInformation <None | WssOnly | All>] [-DeployUserNamesEnabled <SwitchParameter>] [-Description <String>] [-DestinationCentralAdministrationURL <Uri>] [-EventReceiversEnabled <SwitchParameter>] [-KeepTemporaryFilesOptions <Never | Always | Failure>] [-Name <String>] [-PathAccount <PSCredential>] [-PathEnabled <SwitchParameter>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.SharePoint.Publishing.Cmdlet.SPContentDeploymentPathPipeBind

Specifies the content deployment path to update.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a content deployment job (for example; DeployPath1); or an instance of a valid SPContentDeploymentPath object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Authentication

Optional

Microsoft.SharePoint.Publishing.Administration.PathAuthenticationOption

Sets the Windows-based authentication type that the source front-end Web server uses to communicate with the destination Web application.

The type must be one of the following values: WindowsAuth or BasicAuth.

CompressionEnabled

Optional

System.Management.Automation.SwitchParameter

Turns on compression during the export.

DeploySecurityInformation

Optional

Microsoft.SharePoint.Deployment.SPIncludeSecurity

Specifies the user and group information to include during the export operation for this content deployment path. The default value is All.

The type must be one of the following values: None, All, or WssOnly- Applies only Microsoft SharePoint Foundation 2010 security settings. Includes user memberships and role assignments such as default roles, for example, Web Designer or any custom roles that extend from the default roles. The access control list (ACL) for each object is migrated. No user information defined in the DAP or LDAP servers is included.

DeployUserNamesEnabled

Optional

System.Management.Automation.SwitchParameter

Specify to enable event receivers during import.

Description

Optional

System.String

Sets the description for the content deployment path. The description can contain a maximum of 4096 alphanumeric characters.

The type must be a valid string.

DestinationCentralAdministrationURL

Optional

System.Uri

Specifies the SharePoint Central Administration URL for the destination farm.

The type must be a valid URL, in the form http://server_name.

EventReceiversEnabled

Optional

System.Management.Automation.SwitchParameter

Turns on event receivers during import.

KeepTemporaryFilesOptions

Optional

Microsoft.SharePoint.Publishing.Administration.TemporaryFilesOption

Specifies that temporary files are kept after content deployment is finished.

The type must be one of the following values: Never, Always, or OnFailure.

Name

Optional

System.String

Specifies the name of the content deployment path.

The type must be a valid name of a content deployment path; for example, DeploymentPath1.

PathAccount

Optional

System.Management.Automation.PSCredential

Specifies the user ID that is an administrator on the Central Administration page on the destination farm.

The type must be a valid SharePoint user.

PathEnabled

Optional

System.Management.Automation.SwitchParameter

Enables the content deployment path.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Set-SPContentDeploymentPath cmdlet sets the properties of a content deployment path for a content deployment job.

Input Types

Return Types

Example

------------EXAMPLE-------------

Copy Code
Get-SPContentDeploymentPath "Path 1" | Set-SPContentDeploymentPath -PathEnabled:$false

This example sets the deployment path Path 1 to be disabled.

See Also

Reference

Get-SPContentDeploymentPath
New-SPContentDeploymentPath
Remove-SPContentDeploymentPath


Set-SPSiteSubscriptionEdiscoveryHub
See Also Example
[image]

Published: May 12, 2010

Sets properties for the eDiscovery hub of a site subscription.

Set-SPSiteSubscriptionEdiscoveryHub -Site <SPSitePipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-SearchScope <String>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Site

Required

Microsoft.SharePoint.PowerShell.SPSitePipeBind

Specifies the site collection for the Ediscovery hub.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

SearchScope

Optional

System.String

Specifies the name for the search scope. The default value is All Sites.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Set-SPSiteSubscriptionEdiscoveryHub cmdlet sets global properties and settings for the Ediscovery hub.

Input Types

Return Types

Example

--------------------EXAMPLE--------------------

Copy Code
Set-SPSiteSubscriptionEdiscoverySearchScope -Site http://contoso.com/sites/sitecollection1 -SearchScope 1

This example enables the search scope for the entire site subscription. A value of zero (0) disables the search scope across the entire site subscription.

See Also

Reference

Get-SPSiteSubscriptionEdiscoveryHub
Get-SPSiteSubscriptionEdiscoverySearchScope


Start-SPContentDeploymentJob
See Also Example
[image]

Published: May 12, 2010

Starts a content deployment job.

Start-SPContentDeploymentJob [-Identity] <SPContentDeploymentJobPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-DeploySinceTime <String>] [-TestEnabled <SwitchParameter>] [-UseSpecificSnapshot <String>] [-WaitEnabled <SwitchParameter>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.SharePoint.Publishing.Cmdlet.SPContentDeploymentJobPipeBind

Specifies the content deployment job to run.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a content deployment job (for example, DeployJob1); or an instance of a valid SPContentDeploymentJob object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

DeploySinceTime

Optional

System.String

Specifies the date to use to determine what changes to export incrementally. This parameter is ignored if the deployment job type is full.

The type must be a valid DateTime type, in the form 2010,12,05.

TestEnabled

Optional

System.Management.Automation.SwitchParameter

Runs the content deployment job in test mode only.

WaitEnabled

Optional

System.Management.Automation.SwitchParameter

Specifies that the command is not returned until the operation is complete.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Start-SPContentDeploymentJob cmdlet starts a content deployment job.

Input Types

Return Types

Example

--------------EXAMPLE-----------------

Copy Code
Get-SPContentDeploymentPath "Path 1" | New-SPContentDeploymentJob -Name "Job 1" -SPContentDeploymentPath $_ -IncrementalEnabled:$true -ScheduleEnabled:$false | Start-SPContentDeploymentJob

This example creates a content deployment job Job 1 and runs it immediately.

See Also

Reference

Get-SPContentDeploymentJob
New-SPContentDeploymentJob
Remove-SPContentDeploymentJob
Set-SPContentDeploymentJob


Clear-SPMetadataWebServicePartitionData
See Also Example
[image]

Published: May 12, 2010

Removes all data for a site subscription on a metadata Web service application.

Clear-SPMetadataWebServicePartitionData [-Identity] <SPSiteSubscriptionPipeBind> [-ServiceProxy] <SPMetadataServiceProxyCmdletPipeBind> [-AssignmentCollection <SPAssignmentCollection>]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.SharePoint.PowerShell.SPSiteSubscriptionPipeBind

Specifies the site subscription configuration to remove.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a site subscription (for example, SiteSubscriptionConfig1); or an instance of a valid SiteSubscription object.

ServiceProxy

Required

Microsoft.SharePoint.Taxonomy.Cmdlet.SPMetadataServiceProxyCmdletPipeBind

Specifies the service proxy for the service application that contains the site subscription.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of the service application proxy (for example, ServiceAppProxy1); or an instance of a valid SPMetadataServiceProxy object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Detailed Description

Use the Clear-SPMetadataWebServicePartitionData cmdlet to clear all data for a site subscription on a metadata Web service application.

Input Types

Return Types

Example

----------------EXAMPLE---------------

Copy Code
Clear-SPMetadataWebServicePartitionData -Identity $siteSubscriptionPipeBind1 -ServiceProxy "MetadataServiceProxy2"

This example removes data for a site subscription on a Metadata Service application.

See Also

Reference

Export-SPMetadataWebServicePartitionData
Import-SPMetadataWebServicePartitionData


Export-SPMetadataWebServicePartitionData
See Also Example
[image]

Published: May 12, 2010

Exports the data from a metadata Web service for a site subscription.

Export-SPMetadataWebServicePartitionData [-Identity] <SPSiteSubscriptionPipeBind> [-ServiceProxy] <SPMetadataServiceProxyCmdletPipeBind> -Path <String> [-AssignmentCollection <SPAssignmentCollection>]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.SharePoint.PowerShell.SPSiteSubscriptionPipeBind

Specifies the site subscription to export.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a site subscription (for example, SiteSubscriptionConfig1); or an instance of a valid SiteSubscription object.

ServiceProxy

Required

Microsoft.SharePoint.Taxonomy.Cmdlet.SPMetadataServiceProxyCmdletPipeBind

Specifies the service proxy for the service application that contains the site subscription.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of the service application proxy (for example, ServiceAppProxy1); or an instance of a valid SPMetadataServiceProxy object.

Path

Required

System.String

Specifies the path and file name for the file to create from the exported data.

The type must be a valid path in either of the following forms:

- C:\folder_name\subscription_export

- \\server_name\folder_name\file_name.cab

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Detailed Description

Use the Export-SPMetadataWebServicePartitionData cmdlet to export the data from a metadata Web service that is associated with the specified site subscription.

Input Types

Return Types

Example

-----------------EXAMPLE--------------

Copy Code
Export-SPMetadataWebServicePartitionData -Identity $siteSubscriptionPipeBind1 -ServiceProxy "MetadataServiceProxy2" -Path "\\server_name\folder_name\file_name.cab"

This example creates a backup of data for a specific site subscription on a Metadata Service application.

See Also

Reference

Clear-SPMetadataWebServicePartitionData
Import-SPMetadataWebServicePartitionData


Get-SPMetadataServiceApplication
See Also Example
[image]

Published: May 12, 2010

Returns a managed metadata service application.

Get-SPMetadataServiceApplication [-Identity] <SPMetadataServiceCmdletPipeBind> [-AssignmentCollection <SPAssignmentCollection>]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.SharePoint.Taxonomy.Cmdlet.SPMetadataServiceCmdletPipeBind

Specifies the managed metadata service application to get.

The type must be a valid GUID or the name of a valid managed metadata service application.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Detailed Description

Use the Get-SPMetadataServiceApplication cmdlet to retrieve a specified managed metadata service application.

Input Types

Return Types

Example

----------------EXAMPLE-----------------

Copy Code
Get-SPMetadataServiceApplication -Identity "ManagedMetadataServiceApp1"

This example retrieves an existing managed metadata service application.

See Also

Reference

New-SPMetadataServiceApplication
Set-SPMetadataServiceApplication


Get-SPMetadataServiceApplicationProxy
See Also Example
[image]

Published: May 12, 2010

Returns an existing connection to a managed metadata service application, which is also known as a proxy, to the managed metadata service application.

Get-SPMetadataServiceApplicationProxy [-Identity] <SPMetadataServiceProxyCmdletPipeBind> [-AssignmentCollection <SPAssignmentCollection>]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.SharePoint.Taxonomy.Cmdlet.SPMetadataServiceProxyCmdletPipeBind

Specifies the service application proxy to read.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of the service application proxy (for example, ServiceAppProxy1); or an instance of a valid SPMetadataServiceProxy object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Detailed Description

Use the Get-SPMetadataServiceApplicationProxy cmdlet to get a specified connection to a managed metadata service application.

Input Types

Return Types

Example

----------------EXAMPLE-------------

Copy Code
Get-SPMetadataServiceApplicationProxy -Identity "MetadataServiceProxy1"

This example retrieves an existing connection to a managed metadata service application.

See Also

Reference

New-SPMetadataServiceApplicationProxy
Set-SPMetadataServiceApplicationProxy


Get-SPSiteSubscriptionMetadataConfig
See Also Example
[image]

Published: May 12, 2010

Returns the site subscription configuration settings for a Metadata Service application.

Get-SPSiteSubscriptionMetadataConfig [-Identity] <SPSiteSubscriptionPipeBind> [-ServiceProxy] <SPMetadataServiceProxyCmdletPipeBind> [-AssignmentCollection <SPAssignmentCollection>]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.SharePoint.PowerShell.SPSiteSubscriptionPipeBind

Specifies the site subscription to read.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a site subscription (for example, SiteSubscriptionConfig1); or an instance of a valid SiteSubscription object.

ServiceProxy

Required

Microsoft.SharePoint.Taxonomy.Cmdlet.SPMetadataServiceProxyCmdletPipeBind

Specifies the proxy of the metadata Service application for the site subscription.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of the service application proxy (for example, ServiceAppProxy1); or an instance of a valid SPMetadataServiceProxy object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Detailed Description

Use the Get-SPSiteSubscriptionMetadataConfig cmdlet to read the site subscription configuration settings for a specified shared service application for the Metadata Service.

Input Types

Return Types

Example

------------------EXAMPLE-----------------

Copy Code
Get-SPSiteSubscriptionMetadataConfig -Identity $siteSubscriptionPipeBind1 -ServiceProxy "MetadataServiceProxy2"

This example retrieves the site subscription-specific settings for an existing partitioned Metadata Service application.

See Also

Reference

Remove-SPSiteSubscriptionMetadataConfig
Set-SPSiteSubscriptionMetadataConfig


Get-SPTaxonomySession
Example
[image]

Published: May 12, 2010

Returns a TaxonomySession object.

Get-SPTaxonomySession -Site <SPSitePipeBind> [-AssignmentCollection <SPAssignmentCollection>]

Parameters

Parameter Required Type Description

Site

Required

Microsoft.SharePoint.PowerShell.SPSitePipeBind

Specifies the SharePoint site mapped to the set of metadata term stores for the taxonomy session.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid URL, in the form http://server_name; or an instance of a valid SPSite object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Detailed Description

Use the Get-SPTaxonomySession cmdlet to get a TaxonomySession object. A TaxonomySession object contains the set of metadata term stores for a taxonomy session.

Input Types

Return Types

Example

-----------------EXAMPLE--------------------

Copy Code
$session = Get-SPTaxonomySession -Site "http://sitename"

This example retrieves a TaxonomySession object, which can be used to access term stores associated with the Web application for a site.


Import-SPMetadataWebServicePartitionData
See Also Example
[image]

Published: May 12, 2010

Restores the data for a site subscription.

Import-SPMetadataWebServicePartitionData [-Identity] <SPSiteSubscriptionPipeBind> [-ServiceProxy] <SPMetadataServiceProxyCmdletPipeBind> -Path <String> [-AssignmentCollection <SPAssignmentCollection>] [-OverwriteExisting <SwitchParameter>]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.SharePoint.PowerShell.SPSiteSubscriptionPipeBind

Specifies the site subscription to import.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a site subscription (for example, SiteSubscriptionConfig1); or an instance of a valid SiteSubscription object.

ServiceProxy

Required

Microsoft.SharePoint.Taxonomy.Cmdlet.SPMetadataServiceProxyCmdletPipeBind

Specifies the proxy for the service application that contains the site subscription.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of the service application proxy (for example, ServiceAppProxy1); or an instance of a valid SPMetadataServiceProxy object.

Path

Required

System.String

Specifies the path and name of the subscription data file to import.

The type must be a valid path in either of the following forms:

- C:\folder_name\formtemplate_name

- \\server_name\folder_name\file_name.cab

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

OverwriteExisting

Optional

System.Management.Automation.SwitchParameter

Specifies whether to overwrite the existing site subscription data, if it exists.

Detailed Description

Use the Import-SPMetadataWebServicePartitionData cmdlet to restore data for a site subscription to a shared service application for the Metadata Service.

Input Types

Return Types

Example

-------------------EXAMPLE----------------------

Copy Code
Import-SPMetadataWebServicePartitionData -Identity $siteSubscriptionPipeBind1 -ServiceProxy "MetadataServiceProxy2" -Path "\\server_name\folder_name\file_name.cab"

This example restores a backup of Metadata Service application data for a specific site subscription on a Metadata Service application.

See Also

Reference

Clear-SPMetadataWebServicePartitionData
Export-SPMetadataWebServicePartitionData


New-SPMetadataServiceApplication
See Also Example
[image]

Published: May 12, 2010

Creates a new managed metadata service application.

New-SPMetadataServiceApplication -ApplicationPool <SPIisWebServiceApplicationPoolPipeBind> -Name <String> [-AdministratorAccount <String>] [-AssignmentCollection <SPAssignmentCollection>] [-CacheTimeCheckInterval <Int32>] [-Confirm [<SwitchParameter>]] [-DatabaseCredentials <PSCredential>] [-DatabaseName <String>] [-DatabaseServer <String>] [-FailoverDatabaseServer <String>] [-FullAccessAccount <String>] [-HubUri <String>] [-MaxChannelCache <Int32>] [-PartitionMode <SwitchParameter>] [-ReadAccessAccount <String>] [-RestrictedAccount <String>] [-SyndicationErrorReportEnabled <SwitchParameter>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Name

Required

System.String

Specifies the name of the service application to create. The name can contain a maximum of 128 characters.

AdministratorAccount

Optional

System.String

A comma-separated list of user accounts or service accounts in the format <domain>\<account> that may create and run the service application. The accounts must already exist.

ApplicationPool

Required

Microsoft.SharePoint.PowerShell.SPIisWebServiceApplicationPoolPipeBind

Specifies an existing IIS application pool in which to run the new managed metadata service application.

The value must be a GUID that is the identity of an SPServiceApplicationPool object; the name of an existing application pool, or an instance of an SPServiceApplicationPool object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

CacheTimeCheckInterval

Optional

System.Int32

Specifies an interval, in seconds, that a front-end Web Server should wait before asking the application server for changes. This value is set per timer job, client application, or Web application.

The mininum value is 1, and there is no maximum value. The default value is 10.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

DatabaseCredentials

Optional

System.Management.Automation.PSCredential

Specifies the PSCredential object that contains the user name and password to be used for database SQL authentication.

If SQL authentication is to be used, either DatabaseCredentials must be specified or both the DatabaseUserName and DatabasePassword parameters must be set.

The type must be a valid PSCredential object.

DatabaseName

Optional

System.String

Specifies the name of the database to create for the new managed metadata service application.

The type must be a valid name of a SQL Server database; for example MeatadataDB1.

DatabaseServer

Optional

System.String

Specifies the name of the host server for the database specified in DatabaseName.

The type must be a valid name of a SQL Server database; for example SqlServerHost1.

FailoverDatabaseServer

Optional

System.String

Specifies the name of the host server for the failover database server.

The type must be a valid SQL Server host name; for example, SQLServerHost1.

FullAccessAccount

Optional

System.String

Specifies a comma-separated set of application pool accounts in the format <domain>\<account> that will be given read/write permission to the managed metadata service's term store and content type gallery. The accounts must already exist.

HubUri

Optional

System.String

Specifies the fully qualified URL of the site collection that contains the content type gallery that the service will provide access to.

MaxChannelCache

Optional

System.Int32

Specifies the maximum number of Windows Communication Foundation (WCF) channels that a front-end Web server should hold open to the application server. This value is set per timer job, client application, or Web application.

The minimum value is 0, and there is no maximum value. The default value is 4.

PartitionMode

Optional

System.Management.Automation.SwitchParameter

Specifies that the service application restrict data by subscription.

Note This property cannot be changed after the service application has been created.

ReadAccessAccount

Optional

System.String

Specifies a comma-separated set of application pool accounts in the format <domain>\<account> that will be given read-only permission to the managed metadata service's term store and content type gallery. The accounts must already exist.

RestrictedAccount

Optional

System.String

Specifies a comma-separated set of application pool accounts in the format <domain>\<account> that will be given permission to read the managed metadata service's term store and content type gallery, and permission to write to open term sets and local term sets and to create new enterprise keywords. The accounts must already exist.

SyndicationErrorReportEnabled

Optional

System.Management.Automation.SwitchParameter

Enables reporting of errors when content types are imported.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

Use the New-SPMetadataServiceApplication cmdlet to create a new managed metadata service application.

Input Types

Return Types

Example

-------------------EXAMPLE 1-------------

Copy Code
New-SPMetadataServiceApplication -Name "MetadataServiceApp1" -ApplicationPool "AppPool1" -DatabaseName "MetadataDB1"

This example creates a new managed metadata service application.

-------------------EXAMPLE 2-------------

Copy Code
New-SPMetadataServiceApplication -Name "MetadataServiceApp2" -ApplicationPool "AppPool1" -DatabaseName "MetadataDB2" -HubUri "http://sitename" -SyndicationErrorReportEnabled

This example creates a new managed metadata service application and specifies a content type hub to be used for syndication. It also enables error reporting during syndication.

-------------------EXAMPLE 3-------------

Copy Code
New-SPMetadataServiceApplication -Name "MetadataServiceApp3" -ApplicationPool "AppPool1" -DatabaseName "MetadataDB3" -PartitionMode

This example creates a new managed metadata service application that is partitioned, for use by sites in a subscription.

See Also

Reference

Get-SPMetadataServiceApplication
Set-SPMetadataServiceApplication


New-SPMetadataServiceApplicationProxy
See Also Example
[image]

Published: May 12, 2010

Creates a new connection to a managed metadata service application.

New-SPMetadataServiceApplicationProxy -Name <String> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-ContentTypePushdownEnabled <SwitchParameter>] [-ContentTypeSyndicationEnabled <SwitchParameter>] [-DefaultKeywordTaxonomy <SwitchParameter>] [-DefaultProxyGroup <SwitchParameter>] [-DefaultSiteCollectionTaxonomy <SwitchParameter>] [-PartitionMode <SwitchParameter>] [-ServiceApplication <SPMetadataServiceCmdletPipeBind>] [-Uri <String>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Name

Required

System.String

Specifies the display name of the service application proxy to create. The name can contain a maximum of 128 characters.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

ContentTypePushdownEnabled

Optional

System.Management.Automation.SwitchParameter

Specifies that existing instances of changed content types in subsites and libraries will be updated.

ContentTypeSyndicationEnabled

Optional

System.Management.Automation.SwitchParameter

Specifies that this connection will provide access to the content types that are associated with the managed metadata service application.

DefaultProxyGroup

Optional

System.Management.Automation.SwitchParameter

Specifies that the connection be added to the default proxy group for the farm.

DefaultKeywordTaxonomy

Optional

System.Management.Automation.SwitchParameter

Specifies that new enterprise keywords will be stored in the term store associated with the managed metadata service application.

DefaultSiteCollectionTaxonomy

Optional

System.Management.Automation.SwitchParameter

Specifies that the term set that is created when you create a new managed metadata column will be stored in the term store associated with the managed metadata application.

PartitionMode

Optional

System.Management.Automation.SwitchParameter

Specifies that the service application restrict data by subscription.

Note:

This property cannot be changed after the service application proxy has been created.

ServiceApplication

Optional

Microsoft.SharePoint.Taxonomy.Cmdlet.SPMetadataServiceCmdletPipeBind

Specifies the local managed metadata service application to connect to. The service application must exist on the local farm.

The type must be a valid GUID; a valid name of the service application; or an instance of a valid SPMetadataServiceApplication object.

Uri

Optional

System.String

Specifies the URI of a remote managed metadata service application to connect to.

Note:

To specify the managed metadata service application that this proxy is connecting to, you must set only the URI parameter or only the ServiceApplication parameter.

The type must be a valid URL, in the form urn:schemas-microsoft-com:sharepoint:service:fa5c65ebed244a15817768825004f3a7#authority=urn:uuid:acdd6deff6sd4bb899f5beb42051bf3b7&authority=https:// <server>:32844/Topology/topology.svc.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

Use the New-SPMetadataServiceApplicationProxy cmdlet to create a new connection to a managed metadata service application.

Input Types

Return Types

Example

-------------------EXAMPLE 1----------------

Copy Code
New-SPMetadataServiceApplicationProxy -Name "MetadataServiceProxy1" -ServiceApplication "MetadataServiceApp1"

This example creates a connection to a managed metadata service application in the local farm.

-------------------EXAMPLE 2----------------

Copy Code
New-SPMetadataServiceApplicationProxy -Name "MetadataServiceProxy3" -ServiceApplication "MetadataServiceApp3" -PartitionMode

This example creates a partitioned connection to a managed metadata service application in the local farm.

See Also

Reference

Get-SPMetadataServiceApplicationProxy
Set-SPMetadataServiceApplicationProxy


Remove-SPSiteSubscriptionMetadataConfig
See Also Example
[image]

Published: May 12, 2010

Removes site subscription configuration settings.

Remove-SPSiteSubscriptionMetadataConfig [-Identity] <SPSiteSubscriptionPipeBind> [-ServiceProxy] <SPMetadataServiceProxyCmdletPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.SharePoint.PowerShell.SPSiteSubscriptionPipeBind

Specifies the site subscription for which to remove the Metadata Service application settings.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a site subscription (for example, SiteSubscriptionConfig1); or an instance of a valid SiteSubscription object.

ServiceProxy

Required

Microsoft.SharePoint.Taxonomy.Cmdlet.SPMetadataServiceProxyCmdletPipeBind

Specifies the local metadata service proxy for the service application containing the site subscription-specific settings.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of the service application proxy (for example, ServiceAppProxy1); or an instance of a valid SPMetadataServiceProxy object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

Use the Remove-SPSiteSubscriptionMetadataConfig cmdlet to remove the site subscription-specific configuration settings for a specified Metadata Service application.

Input Types

Return Types

Example

--------------------EXAMPLE-------------------

Copy Code
Remove-SPSiteSubscriptionMetadataConfig -Identity $siteSubscriptionPipeBind1 -ServiceProxy "MetadataServiceProxy2"

This example removes the site subscription-specific settings from an existing partitioned Metadata Service application.

See Also

Reference

Set-SPSiteSubscriptionMetadataConfig
Get-SPSiteSubscriptionMetadataConfig


Set-SPMetadataServiceApplication
See Also Example
[image]

Published: May 12, 2010

Sets the properties of a managed metadata service application.

Set-SPMetadataServiceApplication [-Identity] <SPMetadataServiceCmdletPipeBind> [-AdministratorAccount <String>] [-ApplicationPool <SPIisWebServiceApplicationPoolPipeBind>] [-AssignmentCollection <SPAssignmentCollection>] [-CacheTimeCheckInterval <Int32>] [-Confirm [<SwitchParameter>]] [-DatabaseCredentials <PSCredential>] [-DatabaseName <String>] [-DatabaseServer <String>] [-DoNotUnpublishAllPackages <SwitchParameter>] [-FailoverDatabaseServer <String>] [-FullAccessAccount <String>] [-HubUri <String>] [-MaxChannelCache <Int32>] [-Name <String>] [-ReadAccessAccount <String>] [-RestrictedAccount <String>] [-SyndicationErrorReportEnabled <SwitchParameter>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.SharePoint.Taxonomy.Cmdlet.SPMetadataServiceCmdletPipeBind

Specifies the managed metadata service application to update.

The type must be a valid GUID or the name of a valid managed metadata service application.

AdministratorAccount

Optional

System.String

A comma-separated list of user accounts or service accounts in the format <domain>\<account> that may create and run the service application. The accounts must already exist.

If a value is set by using this parameter, any existing values for the FullAccessAccount, ReadAccessAccount, and RestrictedAccount parameters are removed. Consider setting all four parameters at the same time.

ApplicationPool

Optional

Microsoft.SharePoint.PowerShell.SPIisWebServiceApplicationPoolPipeBind

Specifies an existing IIS application pool in which to run the Web service for the managed metadata service application.

The value must be a GUID that is the identity of an SPServiceApplicationPool object; the name of an existing application pool; or an instance of a valid SPServiceApplicationPool object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

CacheTimeCheckInterval

Optional

System.Int32

Specifies the interval, in seconds, that a front-end Web server should wait before asking the application server for changes. This value is set per timer job, client application, or Web application.

The mininum value is 1, and there is no maximum value. The default value is 10.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

DatabaseCredentials

Optional

System.Management.Automation.PSCredential

Specifies the PSCredential object that contains the user name and password to be used for database SQL authentication.

If SQL authentication is to be used, either the DatabaseCredentials parameter must be specified or both the DatabaseUserName and DatabasePassword parameters must be set.

The type must be a valid PSCredential object.

DatabaseName

Optional

System.String

Specifies the name of the database that contains the term store for the managed metadata service application.

The type must be a valid name of a SQL Server database; for example MeatadataDB1.

DatabaseServer

Optional

System.String

Specifies the name of the host server for the database specified in DatabaseName.

The type must be a valid name of a SQL Server database; for example SqlServerHost1.

DoNotUnpublishAllPackages

Optional

System.Management.Automation.SwitchParameter

If this flag is set, the packages will not be unpublished. If the HubUri parameter is changed, all content type packages will be unpublished by default.

If the HubUri parameter is not changed, this flag has no effect.

FailoverDatabaseServer

Optional

System.String

Specifies the name of the host server for the failover database server.

The type must be a valid SQL Server host name; for example, SQLServerHost1.

FullAccessAccount

Optional

System.String

Specifies a comma-separated set of application pool accounts in the format <domain>\<account> that will be given read/write permission to the managed metadata service's term store and content type gallery. The accounts must already exist.

If a value is set by using this parameter, any existing values for the AdministratorAccount, ReadAccessAccount, and RestrictedAccount parameters are removed. Consider setting all four parameters at the same time.

Name

Optional

System.String

Specifies the new name of the service application. The name can contain a maximum of 128 characters.

RestrictedAccount

Optional

System.String

Specifies a comma-separated set of application pool accounts in the format <domain>\<account> that will be given permission to read the managed metadata service's term store and content type gallery, and permission to write to open term sets and local term sets and to create new enterprise keywords. The accounts must already exist.

If a value is set by using this parameter, any previous values for the FullAccessAccount, ReadAccessAccount, and AdministratorAccount parameters are removed. Consider setting all four parameters at the same time.

SyndicationErrorReportEnabled

Optional

System.Management.Automation.SwitchParameter

Enables reporting of errors when content types are imported.

HubUri

Optional

System.String

Specifies the fully qualified URL of the site collection that contains the content type gallery that the service will provide access to.

MaxChannelCache

Optional

System.Int32

Specifies the maximum number of Windows Communication Foundation (WCF) channels that a front-end Web server holds open to the application server. This value is set per timer job, client application, or Web application.

The minimum value is 0, and there is no maximum value. The default value is 4.

ReadAccessAccount

Optional

System.String

Specifies a comma-separated set of application pool accounts in the format <domain>\<account> that will be given read-only permission to the managed metadata service's term store and content type gallery. The accounts must already exist.

If a value is set by using this parameter, any previous values for the FullAccessAccount, RestrictedAccount, and AdministratorAccount parameters are removed. Consider setting all four parameters at the same time.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

Use the Set-SPMetadataServiceApplication cmdlet to set the properties of a managed metadata service application.

Input Types

Return Types

Example

--------------------EXAMPLE 1---------------------

Copy Code
Set-SPMetadataServiceApplication -Identity "MetadataServiceApp1" -HubUri "http://sitename" -SyndicationErrorReportEnabled

This example adds a content type hub to an existing managed metadata service application. It also enables error reporting when content types are imported.

--------------------EXAMPLE 2---------------------

Copy Code
Set-SPMetadataServiceApplication -Identity "MetadataServiceApp1" -AdministratorAccount "contoso\username1" -FullAccessAccount "contoso\AppPoolAccount1,contoso\AppPoolAccount2" -RestrictedAccount "contoso\AppPoolAccount3,contoso\AppPoolAccount4,contoso\AppPoolAccount5" -ReadAccessAccount "contoso\AppPoolAccount6"

This example sets permissions on an existing managed metadata service application.

Note:

If you use Windows PowerShell to set any of the account values, you should set all of them. The Set-SPMetadataServiceApplication cmdlet first erases all accounts, then adds the accounts that you specified.

See Also

Reference

Get-SPMetadataServiceApplication
New-SPMetadataServiceApplication


Set-SPMetadataServiceApplicationProxy
See Also Example
[image]

Published: May 12, 2010

Sets the properties of a connection to a managed metadata service application.

Set-SPMetadataServiceApplicationProxy [-Identity] <SPMetadataServiceProxyCmdletPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-ContentTypePushdownEnabled <SwitchParameter>] [-ContentTypeSyndicationEnabled <SwitchParameter>] [-DefaultKeywordTaxonomy <SwitchParameter>] [-DefaultProxyGroup <SwitchParameter>] [-DefaultSiteCollectionTaxonomy <SwitchParameter>] [-Name <String>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.SharePoint.Taxonomy.Cmdlet.SPMetadataServiceProxyCmdletPipeBind

Specifies the connection to update.

The type must be a GUID that represents the identity of the connection to modify, the name of a valid connection to a managed metadata service, or an instance of a valid SPMetadataServiceProxy object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

ContentTypePushdownEnabled

Optional

System.Management.Automation.SwitchParameter

Specifies that existing instances of changed content types in subsites and libraries will be updated.

ContentTypeSyndicationEnabled

Optional

System.Management.Automation.SwitchParameter

Specifies that this connection will provide access to the content types that are associated with the managed metadata service application.

DefaultKeywordTaxonomy

Optional

System.Management.Automation.SwitchParameter

Specifies that new enterprise keywords will be stored in the term store associated with the managed metadata service application.

Note:

Do not make more than one connection the default keyword location.

DefaultSiteCollectionTaxonomy

Optional

System.Management.Automation.SwitchParameter

Specifies that the term set that is created when you create a new managed metadata column will be stored in the term store associated with the managed metadata service application.

Note:

Do not make more than one connection the default location for site collection term sets.

Name

Optional

System.String

Specifies the new display name of the connection. The name can contain a maximum of 128 characters.

DefaultProxyGroup

Optional

System.Management.Automation.SwitchParameter

Specifies that the connection be added to the default proxy group of the farm.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

Use the Set-SPMetadataServiceApplicationProxy cmdlet to set the properties of a connection to a managed metadata service application.

Input Types

Return Types

Example

-----------------EXAMPLE 1---------------------

Copy Code
Set-SPMetadataServiceApplicationProxy -Identity "MetadataServiceProxy1" -ContentTypeSyndicationEnabled -ContentTypePushdownEnabled

This example enables content type syndication and enables content type pushdown on an existing connection to a managed metadata service application.

-----------------EXAMPLE 2---------------------

Copy Code
Set-SPMetadataServiceApplicationProxy -Identity "MetadataServiceProxy1" -ContentTypeSyndicationEnabled:$false -ContentTypePushdownEnabled:$false

This example disables content type syndication and disables content type pushdown on an existing connection to a managed metadata service application.

-----------------EXAMPLE 3---------------------

Copy Code
Set-SPMetadataServiceApplicationProxy -Identity "MetadataServiceProxy1" -DefaultKeywordTaxonomy -DefaultSiteCollectionTaxonomy:$false

This example configures an existing connection to a managed metadata service application to be the default location for storing enterprise keywords and prevents it from being the default location for storing column-specific term sets.

See Also

Reference

Get-SPMetadataServiceApplicationProxy
New-SPMetadataServiceApplicationProxy


Set-SPSiteSubscriptionMetadataConfig
See Also Example
[image]

Published: May 12, 2010

Sets the site subscription configuration settings for a specified Metadata Service application.

Set-SPSiteSubscriptionMetadataConfig [-Identity] <SPSiteSubscriptionPipeBind> [-ServiceProxy] <SPMetadataServiceProxyCmdletPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-DoNotUnpublishAllPackages <SwitchParameter>] [-HubUri <String>] [-SyndicationErrorReportEnabled <SwitchParameter>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.SharePoint.PowerShell.SPSiteSubscriptionPipeBind

Specifies the site subscription for which to set the Metadata Service application settings.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a site subscription (for example, SiteSubscriptionConfig1); or an instance of a valid SiteSubscription object.

ServiceProxy

Required

Microsoft.SharePoint.Taxonomy.Cmdlet.SPMetadataServiceProxyCmdletPipeBind

Specifies the local metadata service proxy for the service application that contains the site subscription-specific settings.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of the service application proxy (for example, ServiceAppProxy1); or an instance of a valid SPMetadataServiceProxy object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

DoNotUnpublishAllPackages

Optional

System.Management.Automation.SwitchParameter

HubUri

Optional

System.String

Specifies the URI of the syndication hub.

The type must be a valid URI, in the form file:\\server_name\sitedocs.

SyndicationErrorReportEnabled

Optional

System.Management.Automation.SwitchParameter

Enables error reporting for content type syndication.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

Use the Set-SPSiteSubscriptionMetadataConfig cmdlet to set the site subscription-specific settings for a specified shared service application for the Metadata Service.

Input Types

Return Types

Example

--------------------EXAMPLE---------------------

Copy Code
Set-SPSiteSubscriptionMetadataConfig -Identity $siteSubscriptionPipeBind1 -ServiceProxy "MetadataServiceProxy2" -HubUri "http://sitename" -SyndicationErrorReportEnabled:$false

This example sets the content type syndication hub and disables syndication error reporting for a specific site subscription on an existing partitioned Metadata Service application.

See Also

Reference

Remove-SPSiteSubscriptionMetadataConfig
Get-SPSiteSubscriptionMetadataConfig


Excel Services cmdlets (SharePoint Server 2010)
See Also

Excel Services Application is a service application in Microsoft SharePoint Server 2010 that you can use to share, secure, and manage Microsoft Excel 2010 workbooks (.xlsx, .xlsb, and .xlsm extensions) as interactive reports in a consistent way throughout the enterprise.

All Excel Services Application settings will support backup and recovery regardless of whether there is a UI setting in the Central Administration Web site. This means that all global settings, trusted locations, user-defined-functions, data connection libraries, and trusted data provider settings will support backup and recovery. However, the following items will not be backed up as part of the backup and recovery process:

  • User-defined function assemblies. These assemblies will not be backed up or restored because they are binary files and not simply settings; however, the data in the list of trusted user-defined functions is backed up.

  • Trusted data provider binaries. The full list of trusted data providers and all associated properties, however, are backed up.

  • Any Excel Web Access (EWA) Web Part properties.

  • Office data connection (.odc extension) files and workbook files.

Note:

URLs of any kind (that is, URLs to trusted locations, user-defined functions, or data connection libraries) must be manually fixed after a restore operation because they might no longer be valid.

In addition to using Windows PowerShell for Excel Services Application backup and recovery functionality, you can use Windows PowerShell to provision the service application from scratch or provision a new instance that uses settings from a previous backup, and manage and configure trusted file locations, data providers, data connection libraries, and settings for user-defined function assemblies. You can also change global settings for Excel Services Application.

Cmdlet Name | Description
Get-SPExcelBlockedFileType | Returns a file type or list of file types that are prevented from being loaded.
Get-SPExcelDataConnectionLibrary | Returns a trusted data connection library or a list of trusted data connection libraries.
Get-SPExcelDataProvider | Returns a safe data provider or a list of safe data providers.
Get-SPExcelFileLocation | Returns a trusted file location or a list of trusted file locations.
Get-SPExcelServiceApplication | Returns an SPExcelServiceApplication object.
Get-SPExcelUserDefinedFunction | Returns a user-defined function or a collection of user-defined functions.
New-SPExcelBlockedFileType | Adds a file type to the list of file types that Excel Services Application prevents from being loaded.
New-SPExcelDataConnectionLibrary | Adds a new data connection library to Excel Services Application.
New-SPExcelDataProvider | Adds a new safe data provider to Excel Services Application.
New-SPExcelFileLocation | Adds a new trusted location to Excel Services Application.
New-SPExcelServiceApplication | Creates a new instance of Excel Services Application.
New-SPExcelUserDefinedFunction | Adds a new user-defined function to Excel Services Application.
Remove-SPExcelBlockedFileType | Removes an entry from the list of file types that are prevented from being loaded on Excel Services Application.
Remove-SPExcelDataConnectionLibrary | Removes a data connection library from Excel Services Application.
Remove-SPExcelDataProvider | Removes a data provider from Excel Services Application.
Remove-SPExcelFileLocation | Removes a trusted file location from Excel Services Application.
Remove-SPExcelUserDefinedFunction | Removes a user-defined function from Excel Services Application.
Set-SPExcelDataConnectionLibrary | Sets properties of a data connection library for Excel Services Application.
Set-SPExcelDataProvider | Sets properties of a safe data provider for Excel Services Application.
Set-SPExcelFileLocation | Sets properties of a trusted file location for Excel Services Application.
Set-SPExcelServiceApplication | Sets global properties for Excel Services Application.
Set-SPExcelUserDefinedFunction | Sets properties of a user-defined function in Excel Services Application.

See Also

Other Resources

Introduction to Excel Services
Resource Center: Windows PowerShell for SharePoint Server 2010


Get-SPExcelBlockedFileType
See Also Example
[image]

Published: May 12, 2010

Returns a file type or list of file types that are prevented from loading.

Get-SPExcelBlockedFileType [[-Identity] <SPExcelBlockedFileTypePipeBind>] -ExcelServiceApplication <SPExcelServiceApplicationPipeBind> [-AssignmentCollection <SPAssignmentCollection>]

Parameters

Parameter Required Type Description

Identity

Optional

Microsoft.Office.Excel.Server.Cmdlet.SPExcelBlockedFileTypePipeBind

Specifies the BlockedFileType object to return. If the Identity parameter is not specified, this cmdlet returns the list of file extensions that are currently prevented from loading on Excel Services Application.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a file type (for example, FileType1); one of the following file types: XLSX, XLSB, XLSM; or an instance of a valid SPExcelBlockedFileType object.

ExcelServiceApplication

Yes

Microsoft.Office.Excel.Server.Cmdlet.SPExcelServiceApplicationPipeBind

Specifies the Excel Services Application Web service application that contains the SPBlockedExcelFileType list object.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of an Excel Services Application Web service application in the farm (for example, MyExcelService1); or an instance of a valid SPExcelServiceApplication object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Detailed Description

The Get-SPExcelBlockedFileType cmdlet reads a file type or a list of file types that cannot be loaded in Excel Services Application. Excel Services Application does not load any files that correspond to a file type in this list.

Input Types

Return Types

Example

--------------EXAMPLE 1----------------

Copy Code
Get-SPExcelServiceApplication -Identity "MyExcelService" | Get-SPExcelBlockedFileType | format-table

This example returns a list of file extensions that currently cannot be loaded by using Excel Services Application, and then formats the result in a table.

See Also

Reference

New-SPExcelBlockedFileType
Remove-SPExcelBlockedFileType


Get-SPExcelDataConnectionLibrary
See Also Example
[image]

Published: May 12, 2010

Returns a trusted data connection library or a list of trusted data connection libraries.

Get-SPExcelDataConnectionLibrary [[-Identity] <SPExcelDCLPipeBind>] -ExcelServiceApplication <SPExcelServiceApplicationPipeBind> [-AssignmentCollection <SPAssignmentCollection>]

Parameters

Parameter Required Type Description

Identity

Optional

Microsoft.Office.Excel.Server.Cmdlet.SPExcelDCLPipeBind

Specifies the DataConnectionLibrary object to return. If the identity parameter is not specified, this cmdlet returns all the data connection libraries that have connection files that can be loaded by Excel Services Application.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a data connection library (for example, DataConnectionLib1); a valid URL, in the form http://server_name; or an instance of a valid SPExcelDCL object.

ExcelServiceApplication

Required

Microsoft.Office.Excel.Server.Cmdlet.SPExcelServiceApplicationPipeBind

Specifies the Excel Services Application Web service application that contains the SPExcelDataConnectionLibrary list object.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of an Excel Services Application Web service application in the farm (for example, MyExcelService1); or an instance of a valid SPExcelServiceApplication object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Detailed Description

The Get-SPExcelDataConnectionLibrary cmdlet gets a library of data connection files that Excel Services Application and the Excel client use to connect to an external data source. Excel Services Application loads data connection files only if they are stored in a data connection library that is in the list of trusted data connection libraries.

Input Types

Return Types

Example

--------------EXAMPLE 1--------------

Copy Code
Get-SPExcelserviceapplication -Identity "MyExcelService" | Get-SPExcelDataConnectionLibrary

This example displays all the data connection libraries that connection files can be loaded by an Excel Services Application Web service application.

--------------EXAMPLE 2--------------

Copy Code
Get-SPExcelserviceapplication -identity "MyExcelService" | Get-SPExcelDataConnectionLibrary | where {$_.Description.Contains("Sales Cube")}

This example displays all the data connection libraries that have descriptions containing the words Sales Cube from the specified Excel Services Application Web service application.

See Also

Reference

New-SPExcelDataConnectionLibrary
Remove-SPExcelDataConnectionLibrary
Set-SPExcelDataConnectionLibrary


Get-SPExcelDataProvider
See Also Example
[image]

Published: May 12, 2010

Returns a safe data provider or a list of safe data providers.

Get-SPExcelDataProvider -ExcelServiceApplication <SPExcelServiceApplicationPipeBind> [-AssignmentCollection <SPAssignmentCollection>]

Parameters

Parameter Required Type Description

ExcelServiceApplication

Required

Microsoft.Office.Excel.Server.Cmdlet.SPExcelServiceApplicationPipeBind

Specifies the Excel Services Application Web service application that contains the SPExcelDataProvider list object.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of an Excel Services Application Web service application in the farm (for example, MyExcelService1); or an instance of a valid SPExcelServiceApplication object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Detailed Description

The Get-SPExcelDataProvider cmdlet reads a safe data provider or a list of safe data providers for an Excel Services Application. Excel Services Application refreshes external data connections only if the data provider for the connection is on the list of safe data providers. Excel Services Application includes a set of common data providers on this list. Therefore, using cmdlets to modify safe data providers is typically done only in custom data connection scenarios.

Input Types

Return Types

Example

---------------------EXAMPLE---------------------

Copy Code
Get-SPExcelServiceApplication -Identity "ExcelServices" | Get-SPExcelDataProvider | where {$_.ProviderID -eq "SQLOLEDB"}

This example displays the data provider with the provider identifier (ID) SQLOLEDB from the list of data providers that is on the MyExcelService application. To select a specific provider from the list of safe providers, you must pipe a where clause that can filter the list of providers.

--------------EXAMPLE--------------

Copy Code
Get-SPExcelDataProvider -ExcelServiceApplication "Excel Services" | format-table

This example displays a list of safe data providers for the specific Excel Services Application Web service application, and then formats the results of the data providers in a table.

See Also

Reference

New-SPExcelDataProvider
Remove-SPExcelDataProvider
Set-SPExcelDataProvider


Get-SPExcelFileLocation
See Also Example
[image]

Published: May 12, 2010

Returns a trusted file location or a list of trusted file locations.

Get-SPExcelFileLocation [[-Identity] <SPExcelFileLocationPipeBind>] -ExcelServiceApplication <SPExcelServiceApplicationPipeBind> [-AssignmentCollection <SPAssignmentCollection>]

Parameters

Parameter Required Type Description

Identity

Optional

Microsoft.Office.Excel.Server.Cmdlet.SPExcelFileLocationPipeBind

Specifies the SPExcelFileLocation object to return. If the Identity parameter is not specified, the cmdlet returns all the file locations in the specified. Excel Services Application Web service application.

The type must be a valid string that identifies the file location, in the form http://myPortal/myTeam; a valid string that identifies the path, in the form C:\folder_name; a valid UNC path to a trusted location in the form, \\computer_name\share; a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; or an instance of a valid SPExcelFileLocation object.

ExcelServiceApplication

Required

Microsoft.Office.Excel.Server.Cmdlet.SPExcelServiceApplicationPipeBind

Specifies the Excel Services Application Web service application that contains the SPExcelFileLocation list object.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of an Excel Services Application Web service application in the farm (for example, MyExcelService1); or an instance of a valid SPExcelServiceApplication object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Detailed Description

The Get-SPExcelFileLocation cmdlet gets locations from which Excel Services Application loads workbooks. Excel Services Application loads only workbooks that are stored in a trusted file location. Properties of trusted file locations control how workbooks can be used when loaded by Excel Services Application. Excel Services Application always enforces the properties that are defined by the trusted file location from which a workbook was loaded. The properties of the trusted file location to use are determined through comparison of the file path for the workbook with the address of the trusted file location.

Input Types

Return Types

Example

--------------EXAMPLE 1--------------

Copy Code
Get-SPExcelServiceApplication -Identity "MyExcelService" | Get-SPExcelFileLocation

This example displays a list of trusted file locations for the Excel Services Application Web service application named MyExcelService.

--------------EXAMPLE 2--------------

Copy Code
Get-SPExcelServiceApplication -Identity "MyExcelService" | Get-SPExcelFileLocation | Format-list *

This example displays a list of trusted file locations for the Excel Services Application Web service application named MyExcelService, and then formats the list of properties into a table.

--------------EXAMPLE 3--------------

Copy Code
Get-SPExcelServiceApplication -Identity "MyExcelService" | Get-SPExcelFileLocation | where {$_.ExternalDataAllowed -ne "None"}

This example displays a list of trusted file locations that allow external data connectivity for the Excel Services Application Web service application named MyExcelService.

See Also

Reference

New-SPExcelFileLocation
Remove-SPExcelFileLocation
Set-SPExcelFileLocation


Get-SPExcelServiceApplication
See Also Example
[image]

Published: May 12, 2010

Returns an SPExcelServiceApplication object.

Get-SPExcelServiceApplication [[-Identity] <SPExcelServiceApplicationPipeBind>] [-AssignmentCollection <SPAssignmentCollection>]

Parameters

Parameter Required Type Description

Identity

Optional

Microsoft.Office.Excel.Server.Cmdlet.SPExcelServiceApplicationPipeBind

Specifies the ExcelServiceApplication object to get.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of an Excel Services Application Web service application in the farm (for example, MyExcelService1); or an instance of a valid SPExcelServiceApplication object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Detailed Description

The Get-SPExcelServiceApplication cmdlet retrieves an SPExcelServiceApplication object. If the object returned by this cmdlet is changed, the change affects all instances of the specified Excel Services Application Web service application in the farm.

Input Types

Return Types

Example

--------------EXAMPLE 1--------------

Copy Code
Get-SPExcelServiceApplication "MyExcelServices"

This example displays the Excel Services Application Web service application named MyExcelServices.

--------------EXAMPLE 2--------------

Copy Code
Get-SPExcelServiceApplication

This example displays every Excel Services Application Web service application that runs in the farm.

--------------EXAMPLE 3--------------

Copy Code
Get-SPExcelServiceApplication -Identity "MyExcelService" | format-list *

This example displays Excel Services Application Web service application named MyExcelService, and then displays all of its settings in a list format.

See Also

Reference

New-SPExcelServiceApplication
Set-SPExcelServiceApplication


Get-SPExcelUserDefinedFunction
See Also Example
[image]

Published: May 12, 2010

Returns a user-defined function or a collection of user-defined functions.

Get-SPExcelUserDefinedFunction [[-Identity] <SPExcelUDFPipeBind>] -ExcelServiceApplication <SPExcelServiceApplicationPipeBind> [-AssignmentCollection <SPAssignmentCollection>]

Parameters

Parameter Required Type Description

Identity

Optional

Microsoft.Office.Excel.Server.Cmdlet.SPExcelUDFPipeBind

Specifies the UserDefinedFunction object to get. If the Identity parameter is not specified, the cmdlet returns all of the functions in the user defined functions list.

The type must be a valid name of the code assembly (for example, SampleCompany.SampleApplication.SampleUdf); or an instance of a valid SPExcelUDF object.

ExcelServiceApplication

Required

Microsoft.Office.Excel.Server.Cmdlet.SPExcelServiceApplicationPipeBind

Specifies the Excel Services Application Web service application that contains the SPExcelUserDefinedFunction list object.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of an Excel Services Application Web service application in the farm (for example, MyExcelService1); or an instance of a valid SPExcelServiceApplication object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Detailed Description

The Get-SPExcelUserDefinedFunction cmdlet reads a user-defined function and its properties, or returns the collection of user-defined functions for an Excel Services Application Web service application. Excel Services Application uses only user-defined functions that are in the list of user-defined functions. User-defined functions are managed code assemblies that can be called from an Excel Services Application workbook by using standard Excel Services Application formula syntax. The assemblies can perform custom logic or other actions, such as refreshing data. Windows PowerShell cmdlets operate on the entries in the user-defined function list, but do not operate on the assemblies.

Input Types

Return Types

Example

--------------EXAMPLE 1--------------

Copy Code
Get-SPExcelServiceApplication -Identity "MyExcelService" | Get-SPExcelUserDefinedFunction -Identity SampleCompany.SampleApplication.SampleUdf

This example displays the user-defined function named SampleCompany.SampleApplication.SampleUdf from the list of user-defined functions that is in the Excel Services Application Web service application named MyExcelService.

--------------EXAMPLE 2--------------

Copy Code
Get-SPExcelServiceApplication | Get-SPExcelUserDefinedFunction | format-list

This example displays every user-defined function for every Excel Services Application Web service application in the farm, and then displays the results in a list.

See Also

Reference

New-SPExcelUserDefinedFunction
Remove-SPExcelUserDefinedFunction
Set-SPExcelUserDefinedFunction


New-SPExcelBlockedFileType
See Also Example
[image]

Published: May 12, 2010

Adds a file type to the list of file types that Excel Services Application prevents from loading.

New-SPExcelBlockedFileType -ExcelServiceApplication <SPExcelServiceApplicationPipeBind> -FileType <XLSX | XLSB | XLSM> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

ExcelServiceApplication

Required

Microsoft.Office.Excel.Server.Cmdlet.SPExcelServiceApplicationPipeBind

Specifies the Excel Services Application Web service application that contains the SPBlockedExcelFileType list object.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of an Excel Services Application Web service application in the farm (for example, MyExcelService1); or an instance of a valid SPExcelServiceApplication object.

FileType

Required

Microsoft.Office.Excel.Server.FileType

Specifies the file types that are blocked from loading.

The type must be one of the following file extensions: XLSX, XLSB, or XLSM.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The New-SPExcelBlockedExcelFileType cmdlet adds an entry to the list of file types that Excel Services Application prevents from loading. Excel Services Application does not load any files that correspond to a file type that is on this list. The specified file type is prevented from loading by all instances of Excel Services Application for the specified Excel Services Application Web service application.

Input Types

Return Types

Example

--------------EXAMPLE--------------

Copy Code
Get-SPExcelServiceApplication -identity "MyExcelService" | New-SPExcelBlockedExcelFileType -FileType XLSM

This example adds an entry for XLSM to the list of file types that Excel Services Application currently prevents from loading.

See Also

Reference

Get-SPExcelBlockedFileType
Remove-SPExcelBlockedFileType


New-SPExcelDataConnectionLibrary
See Also Example
[image]

Published: May 12, 2010

Adds a new data connection library to Excel Services Application.

New-SPExcelDataConnectionLibrary -Address <String> -ExcelServiceApplication <SPExcelServiceApplicationPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-Description <String>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Address

Required

System.String

Specifies the address of the data connection library. The address must be unique in the list of trusted data connection libraries.

The type must be a valid URL, in the form http://server_name.

ExcelServiceApplication

Required

Microsoft.Office.Excel.Server.Cmdlet.SPExcelServiceApplicationPipeBind

Specifies the Excel Services Application Web service application that contains the SPExcelDataConnectionLibrary list object.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of an Excel Services Application Web service application in the farm (for example, MyExcelService1); or an instance of a valid SPExcelServiceApplication object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

Description

Optional

System.String

Specifies a friendly description for the data connection library.

The type must be a valid string; for example, this is a custom OLEDB provider.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The New-SPExcelDataConnectionLibrary cmdlet adds a data connection library to the list of trusted data connection libraries for an Excel Services Application Web service application. Excel Services Application loads only data connection files that are stored in a data connection library that is on the list of trusted data connection libraries. Data connection libraries contain data connection files, which contain all the resources that Excel Services Application and the Excel client require to connect to an external data source. Data connection libraries enable you to reuse and share data connections. Data connections can be loaded by using information from the workbook file; however, using a data connection library to load data connections allows data connections to be managed separately from workbooks.

Input Types

Return Types

Example

--------------EXAMPLE----------------

Copy Code
Get-SPExcelServiceApplication -Identity "MyExcelService" | New-SPExcelDataConnectionLibrary -address "http://portal/site/salesDCL" -description "This is the DCL where all the connections to the sales data are stored."

This example adds a new data connection library (DCL), and then sets its description to the list of trusted data connection libraries that is in the Excel Services Application Web service application named MyExcelService.

Workbooks can use connection files stored in that library to refresh data on the Excel Services Application Web service application.

See Also

Reference

Get-SPExcelDataConnectionLibrary
Remove-SPExcelDataConnectionLibrary
Set-SPExcelDataConnectionLibrary


New-SPExcelDataProvider
See Also Example
[image]

Published: May 12, 2010

Adds a new safe data provider to Excel Services Application.

New-SPExcelDataProvider -ExcelServiceApplication <SPExcelServiceApplicationPipeBind> -ProviderId <String> -ProviderType <Oledb | Odbc | OdbcDsn> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-Description <String>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

ExcelServiceApplication

Required

Microsoft.Office.Excel.Server.Cmdlet.SPExcelServiceApplicationPipeBind

Specifies the Excel Services Application Web service application that contains the SPExcelDataProvider list object.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of an Excel Services Application Web service application in the farm (for example, MyExcelService1); or an instance of a valid SPExcelServiceApplication object.

ProviderId

Required

System.String

Specifies the name of the provider. This ID should be present in the connection strings generated by this provider and the ID must be unique for the provider type.

The type must be a valid name of a provider; for example CustomOLEDB.

ProviderType

Required

Microsoft.Office.Excel.Server.DataProviderType

Specifies the supported type of data provider to add to safe provider list.

The type must be one of the following: OleDb, Odbc, or OdbcDsn.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

Description

Optional

System.String

Specifies a friendly description for the new data provider.

The type must be a valid string; for example, "This is a custom OLEDB provider".

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The New-SPExcelDataProvider cmdlet adds a data provider to the list of safe data providers in an Excel Services Application Web service application. Excel Services Application refreshes external data connections only if the data provider for a connection is on the list of safe data providers. Excel Services Application includes a set of common data providers on this list. Therefore, using cmdlets to modify safe data providers typically occurs only in custom data connection scenarios.

Input Types

Return Types

Example

--------------EXAMPLE 1--------------

Copy Code
Get-SPExcelServiceApplication -identity "MyExcelService" | New-SPExcelDataProvider -providerID "CustomOLEDB" -ProviderType OleDb -description "This is a custom OLEDB provider"

This example adds a new custom OLEDB data provider to the list of safe data providers for the Excel Services Application Web service application named MyExcelService.

--------------EXAMPLE 2--------------

Copy Code
Get-SPExcelServiceApplication | New-SPExcelDataProvider -providerID "CustomOLEDB" -ProviderType OleDb -description "This is a custom OLEDB provider"

This example adds a new custom OLEDB data provider to the list of safe data providers for all Excel Services Application Web service application in the farm.

See Also

Reference

Get-SPExcelDataProvider
Remove-SPExcelDataProvider
Set-SPExcelDataProvider


New-SPExcelFileLocation
See Also Example
[image]

Published: May 12, 2010

Adds a new trusted location to Excel Services Application.

New-SPExcelFileLocation -Address <String> -ExcelServiceApplication <SPExcelServiceApplicationPipeBind> [-AbortOnRefreshOnOpenFail <SwitchParameter>] [-AssignmentCollection <SPAssignmentCollection>] [-AutomaticVolatileFunctionCacheLifetime <Int32>] [-ChartAndImageSizeMax <Int32>] [-ChartRenderDurationMax <Int32>] [-ConcurrentDataRequestsPerSessionMax <Int32>] [-Confirm [<SwitchParameter>]] [-DefaultWorkbookCalcMode <File | Manual | Auto | AutoDataTables>] [-Description <String>] [-DisplayGranularExtDataErrors <SwitchParameter>] [-ExternalDataAllowed <None | Dcl | DclAndEmbedded>] [-IncludeChildren <SwitchParameter>] [-LocationType <SharePoint | Unc | Http>] [-ManualExtDataCacheLifetime <Int32>] [-NewWorkbookSessionTimeout <Int32>] [-PeriodicExtDataCacheLifetime <Int32>] [-RequestDurationMax <Int32>] [-RESTExternalDataAllowed <SwitchParameter>] [-SessionTimeout <Int32>] [-ShortSessionTimeout <Int32>] [-UdfsAllowed <SwitchParameter>] [-WarnOnDataRefresh <SwitchParameter>] [-WhatIf [<SwitchParameter>]] [-WorkbookSizeMax <Int32>]

Parameters

Parameter Required Type Description

Address

Required

System.String

Specifies a Web folder, or file directory from which Excel Services Application can load workbooks.

The type must be a valid URL, in the form http://myPortal/myTeam; or a valid UNC path in form, \\server_name\folder_name

ExcelServiceApplication

Required

Microsoft.Office.Excel.Server.Cmdlet.SPExcelServiceApplicationPipeBind

Specifies the Excel Services Application Web service application that contains the SPExcelFileLocation list object.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of an Excel Services Application Web service application in the farm (for example, MyExcelService1); or an instance of a valid SPExcelServiceApplication object.

AbortOnRefreshOnOpenFail

Optional

System.Management.Automation.SwitchParameter

Specifies that the loading of a Excel Services Application file automatically fails if an automatic data refresh operation fails when the file is opened. The load is failed only if the following conditions are true:

- The user has SharePoint Product and Technologies read-only permissions to the file.

- The workbook file has data connections that are refreshed automatically when the Excel Services Application file is opened.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

AutomaticVolatileFunctionCacheLifetime

Optional

System.Int32

Specifies the maximum time, in seconds, that a computed value for a volatile function is cached for automatic recalculations. Valid values include:

-1 Calculates once when the workbook loads.

0 Always calculates.

1 to 2073600 Caches 1 second to 24 days. The default integer value is 300.

The type must be the integers -1 or 0, or an integer value in the range of 1 to 2073600.

ChartAndImageSizeMax

Optional

System.Int32

Specifies the maximum size, in megabytes, of a chart or image that can be opened. The default value is 1.

The type must be a valid integer greater than 0.

ConcurrentDataRequestsPerSessionMax

Optional

System.Int32

Specifies the maximum number of concurrent external data requests allowed in each session. If a session must issue more than this number of requests, additional requests must be queued. The scope of this setting is the logical server. The default value is 5.

The type must be a positive integer.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

DefaultWorkbookCalcMode

Optional

Microsoft.Office.Excel.Server.DefaultWorkbookCalcMode

Specifies the calculation mode of workbooks. Settings other than File override the workbook settings. The default setting is File.

The type must be one of the following: File, Manual, Auto, or AutoDataTables.

Description

Optional

System.String

Specifies a friendly description for the new file location.

The type must be a valid string; for example, this is the file location of the monthly sales reports.

DisplayGranularExtDataErrors

Optional

System.Management.Automation.SwitchParameter

Displays granular error messages for external data failures for files in this location.

ExternalDataAllowed

Optional

Microsoft.Office.Excel.Server.AllowExternalData

Specifies the type of external data access allowed for workbooks. None specifies that data refresh is disabled. Dcl specifies that data is refreshed only when it uses a connection file in a trusted data connection library. DclandEmbedded specifies that a data connection library can be used but is not required. The scope of this setting is the trusted location. The default value is None.

The type must be any of the following settings:

None

Dcl

DclAndEmbedded

IncludeChildren

Optional

System.Management.Automation.SwitchParameter

Indicates that subordinate URLs, directories and libraries are trusted. For example, if the trusted file location is http://portal, and IncludeChildren is true, http://portal/subSite is also trusted, as is any URL subordinate to the URL specified in Address.

LocationType

Optional

Microsoft.Office.Excel.Server.LocationType

Specifies the type of location. Location type indicates how Excel Services Application retrieves files from the location specified in Address. The default setting is the SharePoint type. The default value is SharePoint.

The type must be one of the following: SharePoint, UNC, or HTTP.

ManualExtDataCacheLifetime

Optional

System.Int32

Specifies the time, in seconds, that Excel Services Application waits before it re-issues a manual, or user-initiated, external data request. During this time period, the results from the previous external data request can be returned from an external data cache. The default value is 300.

The valid values are any one of the following items:

-1 Never refresh after first query.1 to 2073600- Caches 1 second to 24 days.

NewWorkbookSessionTimeout

Optional

System.Int32

Specifies the time, in seconds, that a session for a new, unsaved, workbook remains active on Excel Services Application with no user activity. Valid values include the following:

-1 Session never expires.

0 Session expires at the end of a single request.

1 to 2073600 Remains active 1 second to 24 days. The default value is 1800.

The type must be -1, 0, or an integer in the range of 1 to 2073600.

PeriodicExtDataCacheLifetime

Optional

System.Int32

Specifies the time, in seconds, that Excel Services Application waits before it re-issues an on-open or periodic (that is, automatic) external data request. During this time period, the results from the previous external data request can be returned from an external data cache. A value of -1 specifies never to refresh after the first query. The default value is 300.

The type must be -1, 0, or integer in the range of 1 to 2073600.

RequestDurationMax

Optional

System.Int32

Specifies the maximum duration, in seconds, for a single request in a session. After this time elapses, the request times out. The default value is 300.

The type must be -1 (no limit) or an integer in the range of 1 to 2073600.

RESTExternalDataAllowed

Optional

System.Management.Automation.SwitchParameter

Specifies whether requests from the Representational State Transfer (REST) Application Programming Interface (API) are permitted to refresh external data connections. The RESTExternalDataAllowed parameter has no effect if ExternalDataAllowed parameter is set to None.

SessionTimeout

Optional

System.Int32

Specifies the time, in seconds, that a session remains active on Excel Services Application with no user activity. Valid values include the following:

-1 Session never expires.

0 session expires at the end of a single request.

1 to 2073600 Remains active 1 second to 24 days. The default value is 300.

The type must be -1, 0, or an integer in the range of 1 to 2073600.

ShortSessionTimeout

Optional

System.Int32

Specifies the time, in seconds, that a user has to make the initial interaction with a spreadsheet. After this time has elapsed, if the user is not active, the session is closed. The value must always be less than SessionTimeout. If the ShortSessionTimeout value is greater than or equal to SessionTimeout, an error is returned. The default value is 75.

The type must be -1 or an integer in the range of 1 to 2073600.

UdfsAllowed

Optional

System.Management.Automation.SwitchParameter

Specifies that user-defined functions can be called by workbooks that are loaded from the trusted file location that is specified in Address.

The default value is False.

WarnOnDataRefresh

Optional

System.Management.Automation.SwitchParameter

Specifies that a warning is displayed to the user on the first refresh of data for the workbook. The default value is True.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

WorkbookSizeMax

Optional

System.Int32

Specifies the maximum size, in megabytes, of a workbook that can be loaded. The default value is 10.

The type must be an integer value in the range of 1 to 2000.

Detailed Description

The New-SPExcelFileLocation cmdlet adds a new location to the list of trusted file locations in an Excel Services Application Web service application. Excel Services Application loads only workbooks that are stored in a trusted file location. Properties of trusted file locations control how workbooks can be used when loaded on Excel Services Application. Excel Services Application always enforces the properties defined by the trusted file location from which a workbook was loaded. The properties that the trusted file location uses are determined through comparison of the file path for the workbook with the Address parameter of the trusted file location.

The longest match takes precedence. For example, if http://portal/site/ and http://portal/site/subsite are trusted locations, and you load a workbook from the subsite, the application uses the properties from the subsite trusted location because it has the longest matching address.

Input Types

Return Types

Example

--------------EXAMPLE 1--------------

Copy Code
Get-SPExcelServiceApplication -identity "MyExcelService" | New-SPExcelFileLocation -address "http://myPortal/myTeam" -includechildren -locationType SharePoint -description "This is my team's site on myPortal." -workbooksizemax 50 -externaldataallowed DclAndEmbedded -WarnOnDataRefresh:$false

This example adds a new trusted file location to the list of trusted file locations that is in the Excel Services Application Web service application named MyExcelService.

This example enables workbooks to load from any child or subfolder that starts with http://myPortal/myTeam. All workbooks loaded from this location must be smaller than 50 megabytes (MB) in size. The workbooks can refresh external data by using connections that are embedded in the workbook file or stored in a data connection library. A warning message that the workbook is attempting to refresh external data will not be displayed.

--------------EXAMPLE 2--------------

Copy Code
Get-SPExcelServiceApplication -identity "MyExcelService" | New-SPExcelFileLocation -address http://myPortal/myTeam/managers -locationType SharePoint -description "This is the manager's subsite for myTeam."

This example adds a new trusted file location to the list of trusted file locations that is in the Excel Services Application Web service application named MyExcelService with a given address and description.

See Also

Reference

Get-SPExcelFileLocation
Remove-SPExcelFileLocation
Set-SPExcelFileLocation


New-SPExcelServiceApplication
See Also Example
[image]

Published: May 12, 2010

Creates a new instance of Excel Services Application.

New-SPExcelServiceApplication -ApplicationPool <SPIisWebServiceApplicationPoolPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-CachingOfUnusedFilesEnable <SwitchParameter>] [-Confirm [<SwitchParameter>]] [-CrossDomainAccessAllowed <SwitchParameter>] [-Default <SwitchParameter>] [-EncryptedUserConnectionRequired <None | Connection>] [-ExternalDataConnectionLifetime <Int32>] [-FileAccessMethod <UseImpersonation | UseFileAccessAccount>] [-LoadBalancingScheme <WorkbookUrl | RoundRobin | Local>] [-MemoryCacheThreshold <Int32>] [-Name <String>] [-PrivateBytesMax <Int32>] [-SessionsPerUserMax <Int32>] [-SiteCollectionAnonymousSessionsMax <Int32>] [-TerminateProcessOnAccessViolation <SwitchParameter>] [-ThrottleAccessViolationsPerSiteCollection <Int32>] [-UnattendedAccountApplicationId <String>] [-UnusedObjectAgeMax <Int32>] [-WhatIf [<SwitchParameter>]] [-WorkbookCache <String>] [-WorkbookCacheSizeMax <Int32>]

Parameters

Parameter Required Type Description

ApplicationPool

Required

Microsoft.SharePoint.PowerShell.SPIisWebServiceApplicationPoolPipeBind

Specifies the existing IIS application pool to run the Web service in for the new Excel Service application.

The type must be a valid SPIisWebServiceApplicationPool object.

Name

Required

System.String

Specifies a friendly name for the new Excel Services Application Web service application. The name that you use must be a unique name of an Excel Services Application Web service application that is in this farm. The name can be a maximum of 128 characters. The default value is Service_numofapplications+1.

The type must be a valid string; for example, MyExcelServiceApp1.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

CachingOfUnusedFilesEnable

Optional

System.Management.Automation.SwitchParameter

Specifies that files that are no longer used by Excel Services Application can remain in the cache for later use. The default is true when the parameter is not specified on the command.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

CrossDomainAccessAllowed

Optional

System.Management.Automation.SwitchParameter

Specifies that trusted workbooks and data connection files can be requested and rendered by Web Parts or pages that reside in other HTTP domains.

Default

Optional

System.Management.Automation.SwitchParameter

Specifies that the proxy for this service application is added to the default proxy group of the farm.

EncryptedUserConnectionRequired

Optional

Microsoft.Office.Excel.Server.EncryptedConnectionMode

Requires that encryption is used between the end user and the Excel Services Application server. The scope of this setting is the logical server. The default value is None.

The type must be one of the following: None or Connection.

ExternalDataConnectionLifetime

Optional

System.Int32

Specifies the maximum number of seconds that an external data connection can remain open in the connection pool. Valid values include:

-1 Never recycle

1 to 2073600 Remain active 1 second to 24 days.

The default value is 1800.

FileAccessMethod

Optional

Microsoft.Office.Excel.Server.FileAccessMethod

Specifies the authentication method that Excel Services Application uses to retrieve files. UseFileAccessAccount specifies that all workbooks always use the credentials of the service account running Excel Services Application. UseImpersonation specifies that Excel Services Application retrieves the workbook files as the user who is making the request. The default value is UseImpersonation.

The type must be one of the following: UseImpersonation or UseFileAccessAccount.

LoadBalancingScheme

Optional

Microsoft.Office.Excel.Server.LoadBalancingScheme

Specifies the load-balancing schema that is used by the Excel Services Application Web service application for sending requests to different back-end computers that are running Excel Calculation Services. The default value is WorkbookURL.

The type must be one of the following: RoundRobin, Local, or WorkbookURL.

MemoryCacheThreshold

Optional

System.Int32

Specifies the percentage of the maximum private bytes that can be allocated to inactive objects. When the memory cache threshold is exceeded, cached objects that are not currently in use are released. Setting this value to 0 disables caching of inactive objects. The default value is 90.

The type must be an integer in the range of 0 to 95.

PrivateBytesMax

Optional

System.Int32

Specifies the maximum private bytes, in megabytes, used by Excel Services Application. When set to -1, the maximum private bytes defaults to 50 percent of physical memory on the computer. Valid values include -1 for no limit, and any positive integer. The default value is -1.

The type must be -1 or any positive integer.

SessionsPerUserMax

Optional

System.Int32

Specifies the maximum number of sessions allowed for a user. If a user reaches this maximum, the oldest session will be deleted when a new session is started. Valid values include -1 for no limit, and any positive integer. The default value is 25.

The type must be -1 or any positive integer.

SiteCollectionAnonymousSessionsMax

Optional

System.Int32

Specifies the maximum number of anonymous sessions allowed per site collection. A value of 0 specifies that no anonymous sessions are allowed. Valid values include -1 for no limit, 0 to disable the setting, or any positive integer. The default value is 25.

The type must be -1, 0, or any positive integer.

TerminateProcessOnAccessViolation

Optional

System.Management.Automation.SwitchParameter

Terminates Excel Services Application when an access violation occurs in the process.

ThrottleAccessViolationsPerSiteCollection

Optional

System.Int32

Specifies that if a workbook causes an access violation error on Excel Services Application, all files that originate from that workbook's site collection are blocked from loading for the specified period (in seconds). Existing sessions for files on that site collection are unaffected. Valid values include 0 to disable the setting, and the range of 1 to 2073600 seconds (24 days). The default value is 0.

The type must be an integer value in the range of 0 to 2073600.

UnattendedAccountApplicationId

Optional

System.String

Specifies that the application ID that is used to look up the unattended service account credentials from the secure store service specified by UnattendedAccountSecureServiceAppName. The secure store service is contacted when this parameter is set and specific error cases occur. Valid values are alphanumeric strings with a maximum of 256 characters. The default value is an empty string.

The type must be a valid string of alphanumeric characters; for example, UnattendedServiceAccountID.

Note:

The unattended account is a single account that all workbooks can use to refresh data. An unattended account is required when workbook connections specify None for authentication, or when any non-Windows credentials are used to refresh data.

UnusedObjectAgeMax

Optional

System.Int32

Specifies the maximum amount of time, in minutes, that objects not currently used in a session are kept in the memory cache. Valid values include -1 for no maximum setting, and a positive integer in the range of 1 to 34560 minutes (24 days). The default value is -1.

The type must be -1, or an integer in the range of 1 to 34560.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

WorkbookCache

Optional

System.String

Specifies the local file system location of the cache that is used for storing workbooks used by Excel Services Application.

If no value is specified, then the default value is a subdirectory in the system temporary directory.

The type must be a valid path in either of the following forms:

-- C:\folder_name

-- \\server_name\folder_name

WorkbookCacheSizeMax

Optional

System.Int32

Specifies the maximum allowable size, in megabytes, of an individual session. The default value is 0.

The type must be any positive integer.

Detailed Description

The New-SPExcelServiceApplication cmdlet creates a new Excel Services Application Web service application with new settings. After you create a new Excel Services Application Web service application, you can use the Set-SPExcelServiceApplication cmdlet to modify the global settings of the new application.

Input Types

Return Types

Example

--------------EXAMPLE 1--------------

Copy Code
New-SPExcelServiceApplication -Name "MyExcelService" -ApplicationPool "SharePoint Services"

This example creates a new instance of Excel Services Application with the display name MyExcelService.

--------------EXAMPLE 2--------------

Copy Code
New-SPExcelServiceApplication -Name "My Excel Service" -ApplicationPool "SharePoint Services" -SessionsPerUserMax 5

This example creates a new instance of Excel Services Application with the display name My Excel Service and allows only five sessions per user for each back-end application server computer that is running Excel Services Application.

See Also

Reference

Get-SPExcelServiceApplication
Set-SPExcelServiceApplication


New-SPExcelUserDefinedFunction
See Also Example
[image]

Published: May 12, 2010

Adds a new user-defined function to Excel Services Application.

New-SPExcelUserDefinedFunction -Assembly <String> -ExcelServiceApplication <SPExcelServiceApplicationPipeBind> [-AssemblyLocation <GAC | LocalFile>] [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-Description <String>] [-Enable <SwitchParameter>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Assembly

Required

System.String

Specifies the strongly typed name of the assembly. The name must be unique in the list of user-defined functions. The name can be a maximum of 4096 alphanumeric characters.

The type must be a string of alphanumeric characters; for example:

-- SampleCompany.SampleApplication.SampleUdf

-- C:\UDFs\SampleUdf.dll

-- \\MyNetworkServer\UDFs\SampleUdf.dll

ExcelServiceApplication

Required

Microsoft.Office.Excel.Server.Cmdlet.SPExcelServiceApplicationPipeBind

Specifies the Excel Services Application Web service application that contains the list of user-defined functions.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of an Excel Services Application Web service application in the farm (for example, MyExcelService1); or an instance of a valid SPExcelServiceApplication object.

AssemblyLocation

Optional

Microsoft.Office.Excel.Server.AssemblyLocation

Specifies the location where the assembly is stored. The default value is GAC.

The type must be one of the following: GAC or LocalFile.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

Description

Optional

System.String

Specifies a friendly description for the user-defined function. The name can be a maximum of 4096 alphanumeric characters. The default value is an empty string.

The type must be a valid string of alphanumeric characters; for example, this is the user-defined function for consolidation reports.

Enable

Optional

System.Management.Automation.SwitchParameter

Activates the user-defined function for use with Excel Services Application. The default value is True.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The New-SPExcelUserDefinedFunction cmdlet adds a user-defined function to an Excel Services Application Web service application. Excel Services Application uses only user-defined functions that have an entry in the list of user-defined functions. User-defined functions are managed code assemblies that can be called from an Excel Services Application workbook by using standard Excel Services Application formula syntax. The assemblies can perform custom logic or other actions, such as refresh data. Windows PowerShell cmdlets operate on the entries that are in the list of user-defined functions, but they do not operate on the assemblies.

Input Types

Return Types

Example

--------------EXAMPLE 1--------------

Copy Code
New-SPExcelUserDefinedFunction -ExcelServiceApplication "MyExcelService" -Assembly "SampleCompany.SampleApplication.SampleUdf" -AssemblyLocation GAC

This example adds the SampleComany.SampleApplication.SampleUdf file to the Excel Services Application Web service application named MyExcelService as a new user-defined function.

The user-defined function assembly is deployed to the global assembly cache (GAC).

--------------EXAMPLE 2--------------

Copy Code
Get-SPExcelServiceApplication | New-SPExcelUserDefinedFunction -Assembly "SampleCompany.SampleApplication.SampleUdf" -AssemblyLocation GAC

This example adds the SampleComany.SampleApplication.SampleUdf file to every Excel Services Application Web service application in the farm.

The user-defined function assembly is deployed to the global assembly cache (GAC).

See Also

Reference

Get-SPExcelUserDefinedFunction
Remove-SPExcelUserDefinedFunction
Set-SPExcelUserDefinedFunction


Remove-SPExcelBlockedFileType
See Also Example
[image]

Published: May 12, 2010

Removes an entry from the list of file types that are prevented from loading on Excel Services Application.

Remove-SPExcelBlockedFileType [-Identity] <SPExcelBlockedFileTypePipeBind> -ExcelServiceApplication <SPExcelServiceApplicationPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Optional

Microsoft.Office.Excel.Server.Cmdlet.SPExcelBlockedFileTypePipeBind

Specifies the file type to remove from the list of blocked file types.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; one of the following file types: XLSX, XLSB, XLSM; or an instance of a valid SPExcelBlockedFileType object.

ExcelServiceApplication

Required

Microsoft.Office.Excel.Server.Cmdlet.SPExcelServiceApplicationPipeBind

Specifies the Excel Services Application Web service application that contains the SPBlockedExcelFileType list object.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of an Excel Services Application Web service application in the farm (for example, MyExcelService1); or an instance of a valid SPExcelServiceApplication object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Remove-SPExcelBlockedExcelFileType cmdlet removes an entry from the list of file types that are prevented from loading on an Excel Services Application Web service application. Excel Services Application does not load any file types that correspond to a file type that is on this list.

Input Types

Return Types

Example

--------------EXAMPLE----------------

Copy Code
Get-SPExcelServiceApplication -Identity "MyExcelService" | Remove-SPExcelBlockedExcelFileType -FileType XLSX

This example removes the .xlsx file name extensions from the list of file types that are prevented from loading by Excel Services Application.

After the .xlsx file name extension is removed from the list, these extensions are allowed to load in Excel Services Application.

See Also

Reference

Get-SPExcelBlockedFileType
New-SPExcelBlockedFileType


Remove-SPExcelDataConnectionLibrary
See Also Example
[image]

Published: May 12, 2010

Removes a data connection library from Excel Services Application.

Remove-SPExcelDataConnectionLibrary [-Identity] <SPExcelDCLPipeBind> -ExcelServiceApplication <SPExcelServiceApplicationPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Optional

Microsoft.Office.Excel.Server.Cmdlet.SPExcelDCLPipeBind

Specifies the data connection library to remove.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a data connection library (for example, DataConnectionLib1); a valid URL, in the form http://server_name; or an instance of a valid SPExcelDCL object.

ExcelServiceApplication

Required

Microsoft.Office.Excel.Server.Cmdlet.SPExcelServiceApplicationPipeBind

Specifies the Excel Services Application Web service application that contains the SPExcelDataConnectionLibrary list object.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of an Excel Services Application Web service application in the farm (for example, MyExcelService1); or an instance of a valid SPExcelServiceApplication object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Remove-SPExcelDataConnectionLibrary cmdlet removes a library from the Excel Services Application trusted data connection libraries list. Excel Services Application loads data connection files only if they are stored in a data connection library that is on the trusted data connection libraries list.

Input Types

Return Types

Example

--------------EXAMPLE 1--------------

Copy Code
Get-SPExcelServiceApplication -Identity "MyExcelService" | Remove- SPExcelDataConnectionLibrary -Identity "http://portal/site/salesDCL"

This example removes the http://portal/site/salesDCL library from the list of trusted data connection libraries, which is on the Excel Services Application Web service application named MyExcelService.

Connection files are no longer loaded from this library. Workbooks that depend on this connection file might not refresh data.

--------------EXAMPLE 2--------------

Copy Code
Get-SPExcelServiceApplication | Get-SPExcelDataConnectionLibrary | Remove-SPExcelDataConnectionLibrary

This example removes all data connection libraries from all Excel Services Application running in the farm.

Connection files are no longer loaded from any libraries. Workbooks that depend on any connection files might not refresh data.

See Also

Reference

Get-SPExcelDataConnectionLibrary
New-SPExcelDataConnectionLibrary
Set-SPExcelDataConnectionLibrary


Remove-SPExcelDataProvider
See Also Example
[image]

Published: May 12, 2010

Removes a data provider from Excel Services Application.

Remove-SPExcelDataProvider [-Identity] <SPExcelDataProviderPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.Office.Excel.Server.Cmdlet.SPExcelDataProviderPipeBind

Specifies the SPExcelDataProvider object to remove.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh, or an instance of a valid SPExcelDataProvider object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Remove-SPExcelDataProvider cmdlet removes a data provider that is stored on the list of safe data providers. Excel Services Application refreshes external data connections only if the data provider for that connection is on the list of safe data providers. Excel Services Application includes a set of common data providers on this list, so using cmdlets to modify safe data providers is typically done only in custom data connection scenarios.

Input Types

Return Types

Example

--------------EXAMPLE 1--------------

Copy Code
Get-SPExcelServiceApplication -Identity "MyExcelService" | Get-SPExcelDataProvider | where {$_.providerID -eq "SQLOLEDB" } | Remove-SPExcelDataProvider

This example removes the default SQL OLEDB data provider from the list of safe data providers that is on the Excel Services Application Web service application named MyExcelService.

Excel Services Application will no longer refresh any data connections that use this data provider.

--------------EXAMPLE 2--------------

Copy Code
$provider = Get-SPExcelServiceApplication -Identity "MyExcelService" | Get-SPExcelDataProvider | { where {$_.providerID -eq "MyCustomProvider"}
Copy Code
Remove-SPExcelDataProvider $provider

This example removes a custom data provider from the list of safe data providers that is on the Excel Services Application Web service application named MyExcelService.

Excel Services Application will no longer refresh any data connections that use this data provider.

See Also

Reference

Get-SPExcelDataProvider
New-SPExcelDataProvider
Set-SPExcelDataProvider


Remove-SPExcelFileLocation
See Also Example
[image]

Published: May 12, 2010

Removes a trusted file location from Excel Services Application.

Remove-SPExcelFileLocation [-Identity] <SPExcelFileLocationPipeBind> -ExcelServiceApplication <SPExcelServiceApplicationPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Optional

Microsoft.Office.Excel.Server.Cmdlet.SPExcelFileLocationPipeBind

Specifies the FileLocation object to remove.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid string that identifies the file location, in the form http://myPortal/myTeam; a valid string that identifies the path, in the form C:\folder_name; or an instance of a valid SPExcelFileLocation object.

ExcelServiceApplication

Required

Microsoft.Office.Excel.Server.Cmdlet.SPExcelServiceApplicationPipeBind

Specifies the Excel Services Application Web service application that contains the SPExcelFileLocation list object.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of an Excel Services Application Web service application in the farm (for example, MyExcelService1); or an instance of a valid SPExcelServiceApplication object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Remove-SPExcelFileLocation cmdlet removes a location from the list of trusted file locations. Excel Services Application loads only workbooks that are stored in a trusted file location. Properties of trusted file locations control how workbooks can be used when loaded on Excel Services Application. Excel Services Application always enforces the properties defined by the trusted file location from which a workbook was loaded. The properties used by the trusted file location are determined by comparing the file path for the workbook with the Address parameter of the trusted file location.

Input Types

Return Types

Example

--------------EXAMPLE 1--------------

Copy Code
Remove-SPExcelFileLocation -ExcelServiceApplication "My Excel Service" -Identity http://portal/badTeamSite

This example removes the http://portal/badTeamSite from the list of trusted file locations for the Excel Services Application Web service application named My Excel Service.

--------------EXAMPLE 2--------------

Copy Code
Get-SPExcelServiceApplication | Get-SPExcelFileLocation | where {$_.Address -ne "http://"} | Remove-SPExcelFileLocation

This example removes all nondefault trusted file locations from every Excel Services Application Web service application in the farm.

See Also

Reference

Get-SPExcelFileLocation
New-SPExcelFileLocation
Set-SPExcelFileLocation


Remove-SPExcelUserDefinedFunction
See Also Example
[image]

Published: May 12, 2010

Removes a user-defined function from Excel Services Application.

Remove-SPExcelUserDefinedFunction [-Identity] <SPExcelUDFPipeBind> -ExcelServiceApplication <SPExcelServiceApplicationPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Optional

Microsoft.Office.Excel.Server.Cmdlet.SPExcelUDFPipeBind

Specifies the SPExcelUserDefinedFunction object that you want to remove.

The type must be a valid name of the code assembly (for example, SampleCompany.SampleApplication.SampleUdf); or an instance of a valid SPExcelUDF object.

ExcelServiceApplication

Required

Microsoft.Office.Excel.Server.Cmdlet.SPExcelServiceApplicationPipeBind

Specifies the Excel Services Application Web service application that contains the list of user-defined functions.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of an Excel Services Application Web service application in the farm (for example, MyExcelService1); or an instance of a valid SPExcelServiceApplication object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Remove-SPExcelUserDefinedFunction cmdlet removes a user-defined function from the list of user-defined functions. User-defined functions are managed code assemblies that can be called from an Excel Services Application workbook by using standard Excel Services Application formula syntax. The assemblies can perform custom logic or other actions, such as refresh data. The Windows PowerShell cmdlets operate on the entries in the user-defined function list, but do not operate on the assemblies.

Input Types

Return Types

Example

--------------EXAMPLE 1--------------

Copy Code
Remove-SPExcelUserDefinedFunction -ExcelServiceApplication "My Excel Service" -Identity "SampleCompany.SampleApplication.SampleUdf"

This example removes the SampleCompany.SampleApplication.SampleUdf user-defined function from the list of user-defined functions that is in the Excel Services Application Web service application named MyExcelService.

--------------EXAMPLE 2--------------

Copy Code
Get-SPExcelServiceApplication | Remove-SPExcelUserDefinedFunction -Identity "SampleCompany.SampleApplication.SampleUdf"

This example removes the SampleCompany.SampleApplication.SampleUdf user-defined function from the list of user-defined functions for every Excel Services Application Web service application in the farm.

See Also

Reference

Get-SPExcelUserDefinedFunction
New-SPExcelUserDefinedFunction
Set-SPExcelUserDefinedFunction


Set-SPExcelDataConnectionLibrary
See Also Example
[image]

Published: May 12, 2010

Sets properties of a data connection library for Excel Services Application.

Set-SPExcelDataConnectionLibrary [-Identity] <SPExcelDCLPipeBind> -ExcelServiceApplication <SPExcelServiceApplicationPipeBind> [-Address <String>] [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-Description <String>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.Office.Excel.Server.Cmdlet.SPExcelDCLPipeBind

Specifies the DataConnectionLibrary object to update.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a data connection library (for example, DataConnectionLib1); a valid URL, in the form http://server_name; or an instance of a valid SPExcelDCL object.

ExcelServiceApplication

Required

Microsoft.Office.Excel.Server.Cmdlet.SPExcelServiceApplicationPipeBind

Specifies the Excel Services Application Web service application that contains SPExcelDataConnectionLibrary list object.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of an Excel Services Application Web service application in the farm (for example, MyExcelService1); or an instance of a valid SPExcelServiceApplication object.

Address

Optional

System.String

Specifies the address of the data connection library. The address must be unique in the list of trusted data connection libraries.

The type must be a valid URL, in the form http://server_name.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

Description

Optional

System.String

Specifies a friendly description for the data connection library.

The type must a valid a string; for example, "This is the data connection library where all the connections to the sales data are stored".

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Set-SPExcelDataConnectionLibrary cmdlet sets the properties of a library from which Excel Services Application loads data connection files. Excel Services Application loads data connection files only if they are stored in a data connection library that is on the list of trusted data connection libraries. Data connection libraries constitute a kind of list that contains data connection files. These files contain everything that Excel Services Application and the Excel client require to connect to an external data source. Data connection libraries enable you to reuse and share data connections. Data connections can be loaded by using information from the workbook file. However, using a data connection library to load data connections provides an additional layer for data connections so that they can be managed separately from workbooks.

Input Types

Return Types

Example

--------------EXAMPLE 1--------------

Copy Code
Get-SPExcelServiceApplication -Identity "MyExcelService" | Get-SPExcelDataConnectionLibrary | where {$_.address -eq "http://portal/site/salesDCL" } | Set-SPExcelDataConnectionLibrary -Description "This is the DCL where all the connections to the sales data are stored

This example sets a display description for the entry http://portal/site/salesDCL in the list of trusted data connection libraries (DCLs) that is on the Excel Services Application Web service application named MyExcelService.

--------------EXAMPLE 2--------------

Copy Code
Get-SPExcelServiceApplication -Identity "MyExcelService" | Get-SPExcelDataConnectionLibrary | where {$_.address -eq "http://portal/site/salesDCL" } | Set-SPExcelDataConnectionLibrary -Address "http://portal/site/salesDCL

This example updates the address of the data connection library for the entry http://portal/test/site/salesDCL to http://portal/site/salesDCL in the list of trusted data connection libraries, which is on the Excel Services Application Web service application named MyExcelService.

See Also

Reference

Get-SPExcelDataConnectionLibrary
New-SPExcelDataConnectionLibrary
Remove-SPExcelDataConnectionLibrary


Set-SPExcelDataProvider
See Also Example
[image]

Published: May 12, 2010

Sets properties of a safe data provider for Excel Services Application.

Set-SPExcelDataProvider [-Identity] <SPExcelDataProviderPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-Description <String>] [-ProviderId <String>] [-ProviderType <Oledb | Odbc | OdbcDsn>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.Office.Excel.Server.Cmdlet.SPExcelDataProviderPipeBind

Specifies the SPExcelDataProvider object to update.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh, or an instance of a valid SPExcelDataProvider object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

Description

Optional

System.String

Specifies a display description for the data provider.

The type must a valid a string; for example, this is a custom OLEDB provider.

ProviderId

Optional

System.String

Specifies the name of the data provider. This ID should be present in the connection strings generated by this data provider, and the ID must be unique for the data provider type.

The type must a valid name of a provider; for example, CustomOLEDB.

ProviderType

Optional

Microsoft.Office.Excel.Server.DataProviderType

Specifies the supported type of the data provider to set.

The type must be one of the following: OleDb, Odbc, or OdbcDsn.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Set-SPExcelDataProvider cmdlet sets the properties of a data provider that is stored in the list of safe data providers. Excel Services Application refreshes external data connections only if the data provider for that connection is in the list of safe data providers. Excel Services Application include a set of common data providers in this list. Therefore, using cmdlets to modify safe data providers is typically an operation of custom data connection scenarios.

Input Types

Return Types

Example

--------------EXAMPLE 1--------------

Copy Code
Get-SPExcelServiceApplication -Identity "MyExcelService" | Get-SPExcelDataProvider | where {$_.providerID -eq "SQLOLEDB" } | Set-SPExcelDataProvider -Description "This is the Microsoft SQL OLEDB driver (MDAC)"

This example retrieves the SQLOLEDB data provider from the list of safe data providers that is on the Excel Services Application Web service application named MyExcelService, and then adds a display description.

--------------EXAMPLE 2--------------

Copy Code
$provider = Get-SPExcelServiceApplication -Identity "MyExcelService" | Get-SPExcelDataProvider | where {$_.providerID -eq "SQLOLEDB" }
Copy Code
Set-SPExcelDataProvider $provider -Description "The SQLOLEDB provider description has changed."
Copy Code
$provider | format-table

This example retrieves the SQLOLEDB data provider from the list of safe data providers that is on the Excel Services Application Web service application named MyExcelService, as an object, adds a new display description, and then displays the provider output in a Command Prompt window, formatted as a table.

See Also

Reference

Get-SPExcelDataProvider
Remove-SPExcelDataProvider
Set-SPExcelDataProvider


Set-SPExcelFileLocation
See Also Example
[image]

Published: May 12, 2010

Sets properties of a trusted file location for Excel Services Application.

Set-SPExcelFileLocation [-Identity] <SPExcelFileLocationPipeBind> -ExcelServiceApplication <SPExcelServiceApplicationPipeBind> [-AbortOnRefreshOnOpenFail <SwitchParameter>] [-Address <String>] [-AssignmentCollection <SPAssignmentCollection>] [-AutomaticVolatileFunctionCacheLifetime <Int32>] [-ChartAndImageSizeMax <Int32>] [-ChartRenderDurationMax <Int32>] [-ConcurrentDataRequestsPerSessionMax <Int32>] [-Confirm [<SwitchParameter>]] [-DefaultWorkbookCalcMode <File | Manual | Auto | AutoDataTables>] [-Description <String>] [-DisplayGranularExtDataErrors <SwitchParameter>] [-ExternalDataAllowed <None | Dcl | DclAndEmbedded>] [-IncludeChildren <SwitchParameter>] [-LocationType <SharePoint | Unc | Http>] [-ManualExtDataCacheLifetime <Int32>] [-NewWorkbookSessionTimeout <Int32>] [-PeriodicExtDataCacheLifetime <Int32>] [-RequestDurationMax <Int32>] [-RESTExternalDataAllowed <SwitchParameter>] [-SessionTimeout <Int32>] [-ShortSessionTimeout <Int32>] [-UdfsAllowed <SwitchParameter>] [-WarnOnDataRefresh <SwitchParameter>] [-WhatIf [<SwitchParameter>]] [-WorkbookSizeMax <Int32>]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.Office.Excel.Server.Cmdlet.SPExcelFileLocationPipeBind

Specifies the FileLocation object to update. The name must be unique in the list of file locations.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid string identifying the file location, in the form http://myPortal/myTeam; a valid string identifying the path, in the form C:\folder_name; or an instance of a valid SPExcelFileLocation object.

ExcelServiceApplication

Required

Microsoft.Office.Excel.Server.Cmdlet.SPExcelServiceApplicationPipeBind

Specifies the Excel Services Application Web service application that contains the SPExcelFileLocation list object.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of an Excel Services Application Web service application in the farm (for example, MyExcelService1); or an instance of a valid SPExcelServiceApplication object.

AbortOnRefreshOnOpenFail

Optional

System.Management.Automation.SwitchParameter

Specifies that the load of a Excel Services Application file automatically fails if an automatic data refresh operation fails when the file is opened. The load is failed only if the following conditions are true:

-- User has read-only permissions to the Excel Services Application file.

-- Workbook file has data connections that refresh automatically when the Excel file is opened.

Address

Optional

System.String

Specifies a Web folder, or file directory from which Excel Services Application can load workbooks.

The type must be a valid URL, in the form http://myPortal/myTeam; or a valid UNC path in form, \\server_name\folder_name

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

AutomaticVolatileFunctionCacheLifetime

Optional

System.Int32

Specifies the maximum time, in seconds, that a computed value for a volatile function is cached for automatic recalculations. Valid values include:

-1, calculate once when the workbook loads

0, always calculate

1 to 2073600, cache 1 second to 24 days

The type must be the integers -1 or 0, or an integer value in the range of 1 to 2073600.

ChartAndImageSizeMax

Optional

System.Int32

Specifies the maximum size, in megabytes, of a chart or image that can be opened. The default value is 1.

The type must be a valid integer greater than 0.

ConcurrentDataRequestsPerSessionMax

Optional

System.Int32

Specifies the maximum number of concurrent external data requests allowed in each session. If a session must issue more than this number of requests, additional requests must be queued. The scope of this setting is the logical server. The default value is 5.

The type must be a positive integer.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

DefaultWorkbookCalcMode

Optional

Microsoft.Office.Excel.Server.DefaultWorkbookCalcMode

Specifies the calculation mode of workbooks. All of the settings except the File setting override the workbook settings. If this parameter is changed, it is applied to all new sessions on Excel Services Application when the ConfigDB properties cache is refreshed. The default setting is File.

The type must be one of the following: File, Manual, Auto, or AutoDataTables.

Description

Optional

System.String

Specifies a friendly description for the new file location.

The type must be a valid string; for example, this is the file location of the monthly sales reports.

DisplayGranularExtDataErrors

Optional

System.Management.Automation.SwitchParameter

Displays granular error messages for external data failures for files in this location.

ExternalDataAllowed

Optional

Microsoft.Office.Excel.Server.AllowExternalData

Specifies the type of external data access allowed for workbooks: None specifies that data refresh is disabled. Dcl specifies that data is refreshed only when it uses a connection file in a trusted data connection library. DclandEmbedded specifies that a data connection library can be used but is not required. The scope of this setting is the trusted location.

The default value is None.

The type must be one of the following: None, Dcl, or DclAndEmbedded.

IncludeChildren

Optional

System.Management.Automation.SwitchParameter

Indicates that subordinate URLs, directories and libraries are trusted. For example, if the trusted file location is http://portal, and IncludeChildren is true, then http://portal/subSite is also trusted, as is any subURL under the URL specified in Address.

LocationType

Optional

Microsoft.Office.Excel.Server.LocationType

The type of location. LocationType indicates how Excel Services Application retrieves files from that location specified in Address. The default value is SharePoint.

The type must be one of the following: SharePoint, UNC, or HTTP.

ManualExtDataCacheLifetime

Optional

System.Int32

Specifies the time, in seconds, that Excel Services Application waits before re-issuing a manual, or user-initiated, external data request. During this period, the results from the previous external data request may be returned from an external data cache.

Valid values are:

-1 Never refresh after first query

1 to 2073600 Caches 1 second to 24 days.

The default value is 300.

NewWorkbookSessionTimeout

Optional

System.Int32

Specifies the time, in seconds, that a session for a new, unsaved, workbook will remain active on Excel Services Application with no user activity. The default value 1800. Valid values include the following:

-1, session never expires

0, session expires at the end of a single request

1 to 2073600, remain active 1 second to 24 days.

The type must be -1, 0, or an integer in the range of 1 to 2073600.

PeriodicExtDataCacheLifetime

Optional

System.Int32

Specifies the time, in seconds, that Excel Services Application waits before re-issuing an on-open or periodic (that is, automatic) external data request. During this period, the results from the previous external data request may be returned from an external data cache. A value -1 specifies to never refresh after the first query.

The type must be -1, 0, or an integer in the range of 1 to 2073600.

The default value is 300.

RequestDurationMax

Optional

System.Int32

Specifies the maximum duration, in seconds, for a single request in a session. After this time elapses the request is timed out.

The type must be -1 (no limit) or an integer in the range of 1 to 2073600.

The default value is 300.

RESTExternalDataAllowed

Optional

System.Management.Automation.SwitchParameter

Specifies whether requests from the Representational State Transfer (REST) Application Programming Interface (API) are permitted to refresh external data connections.

The RESTExternalDataAllowed parameter has no effect if the External DataAllowed parameter is set to None.

SessionTimeout

Optional

System.Int32

Specifies the time, in seconds, that a session will remain active on Excel Services Application with no user activity. The default is 300 seconds. The default value is 300. Valid values include:

-1, session never expires

0, session expires at the end of a single request

1 to 2073600, remain active 1 second to 24 days

The type must be -1, 0, or an integer in the range of 1 to 2073600.

ShortSessionTimeout

Optional

System.Int32

Specifies the time, in seconds, that a user has to make the initial interaction with a spreadsheet. After this time has elapsed, if the user is not active, then the session is closed. The value must always be less than SessionTimeout. If the ShortSessionTimeout value is greater than or equal to SessionTimeout, an error is returned. The default value is 75.

The type must be -1 or an integer in the range of 1 to 2073600.

UdfsAllowed

Optional

System.Management.Automation.SwitchParameter

Specifies that user-defined functions can be called by workbooks loaded from the trusted file location that is specified in Address.

WarnOnDataRefresh

Optional

System.Management.Automation.SwitchParameter

Specifies that a warning is displayed to the user on the first refresh of data for the workbook. The default value is True.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

WorkbookSizeMax

Optional

System.Int32

Specifies the maximum size, in megabytes, of a workbook that can be loaded. The default value is 10.

The type must be an integer value in the range of 1 to 2000.

Detailed Description

The Set-SPExcelFileLocation cmdlet sets properties of a location from which Excel Services Application loads workbooks. Excel Services Application loads only workbooks that are stored in a trusted file location. Properties of trusted file locations control how workbooks can be used when they are loaded on Excel Services Application. Excel Services Application always enforces the properties that are defined by the trusted file location from which a workbook was loaded. The properties that are used by the trusted file location are determined by comparison of the file path for the workbook with the Address parameter of the trusted file location.

Input Types

Return Types

Example

--------------EXAMPLE 1--------------

Copy Code
Get-SPExcelFileLocation -ExcelServiceApplication "My Excel Service" | where { $_.externaldataallowed -eq "DclAndEmbedded"} | Set-SPExcelFileLocation -ExernalDataAllowed Dcl

This example gets every trusted file location for the Excel Services Application Web service application named My Excel Service that allows data connections to load from workbook files and specifies that the locations must use a data connection library to load data connections.

--------------EXAMPLE 2--------------

Copy Code
Get-SPExcelServiceApplication | Get-SPExcelFileLocation | where {$_.Address -eq "http://"} | Set-SPExcelFileLocation -Description "This is the default trusted file location for Excel Services Application. It allows any file from anywhere in SharePoint to load."

This example changes the description of the default file location for every Excel Services Application Web service application in the farm.

See Also

Reference

Get-SPExcelFileLocation
New-SPExcelFileLocation
Remove-SPExcelFileLocation


Set-SPExcelServiceApplication
See Also Example
[image]

Published: May 12, 2010

Sets global properties for Excel Services Application.

Set-SPExcelServiceApplication [[-Identity] <SPExcelServiceApplicationPipeBind>] [-AssignmentCollection <SPAssignmentCollection>] [-CachingOfUnusedFilesEnable <SwitchParameter>] [-Confirm [<SwitchParameter>]] [-CrossDomainAccessAllowed <SwitchParameter>] [-EncryptedUserConnectionRequired <None | Connection>] [-ExternalDataConnectionLifetime <Int32>] [-FileAccessMethod <UseImpersonation | UseFileAccessAccount>] [-LoadBalancingScheme <WorkbookUrl | RoundRobin | Local>] [-MemoryCacheThreshold <Int32>] [-PrivateBytesMax <Int32>] [-SessionsPerUserMax <Int32>] [-SiteCollectionAnonymousSessionsMax <Int32>] [-TerminateProcessOnAccessViolation <SwitchParameter>] [-ThrottleAccessViolationsPerSiteCollection <Int32>] [-UnattendedAccountApplicationId <String>] [-UnusedObjectAgeMax <Int32>] [-WhatIf [<SwitchParameter>]] [-WorkbookCache <String>] [-WorkbookCacheSizeMax <Int32>]

Parameters

Parameter Required Type Description

Identity

Optional

Microsoft.Office.Excel.Server.Cmdlet.SPExcelServiceApplicationPipeBind

Specifies the SPExcelServiceApplication object to update.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of an Excel Services Application Web service application in the farm (for example, MyExcelService1); or an instance of a valid SPExcelServiceApplication object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

CachingOfUnusedFilesEnable

Optional

System.Management.Automation.SwitchParameter

Specifies that files that are no longer used by Excel Services Application can remain in the cache for later use. The default is true when the parameter is not specified on the command.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

CrossDomainAccessAllowed

Optional

System.Management.Automation.SwitchParameter

Specifies that trusted workbooks and data connection files can be requested and rendered by Web Parts or pages that reside in other HTTP domains.

EncryptedUserConnectionRequired

Optional

Microsoft.Office.Excel.Server.EncryptedConnectionMode

Requires that encryption is used between the end-user and the server running Excel Services Application. The scope of this setting is the logical server. The default value is None.

The type must be one of the following: None or Connection.

ExternalDataConnectionLifetime

Optional

System.Int32

Specifies the maximum number of seconds that an external data connection can remain open in the connection pool.

Valid values are:

-1 Never recycle

1 to 2073600 Remain active 1 second to 24 days.

The default value is 1800.

FileAccessMethod

Optional

Microsoft.Office.Excel.Server.FileAccessMethod

Specifies the authentication method that Excel Services Application uses to retrieve files. UseFileAccessAccount specifies that all workbooks always use the credentials of the service account running Excel Services Application. UseImpersonation specifies that Excel Services Application retrieves the workbook files as the user who makes the request. The default value is UseImpersonation.

The type must be one of the following: UseImpersonation or UseFileAccessAccount.

LoadBalancingScheme

Optional

Microsoft.Office.Excel.Server.LoadBalancingScheme

Specifies the load-balancing schema that is used by the Excel Services Application Web service application to send requests to different back-end Excel Services Application computers. The default value is WorkbookURL.

The type must be one of the following: RoundRobin, Local, or WorkbookURL.

MemoryCacheThreshold

Optional

System.Int32

Specifies the percentage of the maximum private bytes that can be allocated to inactive objects. When the memory cache threshold is exceeded, cached objects that are not currently in use are released. Setting this value to 0 disables caching of inactive objects. The default value is 90.

The type must be an integer in the range of 0 to 95.

PrivateBytesMax

Optional

System.Int32

Specifies the maximum private bytes, in megabytes, that are used by Excel Services Application. When set to -1, the maximum private bytes defaults to 50 percent of physical memory on the computer. Valid values include -1 for no limit, and any positive integer. The default value is -1.

The type must be -1 or any positive integer.

SessionsPerUserMax

Optional

System.Int32

Specifies the maximum number of sessions allowed for a user. If a user reaches this maximum the oldest session is deleted when a new session is started. Valid values include -1 for no limit, and any positive integer. The default value is 25.

The type must be -1 or any positive integer.

SiteCollectionAnonymousSessionsMax

Optional

System.Int32

Specifies the maximum number of anonymous sessions allowed per site collection. A value of 0 specifies that no anonymous sessions are allowed. Valid values include -1 for no limit, 0 to disable the setting, or any positive integer. The default value is 25.

The type must be -1, 0, or any positive integer.

TerminateProcessOnAccessViolation

Optional

System.Management.Automation.SwitchParameter

Terminates Excel Services Application when an access violation occurs in the process.

ThrottleAccessViolationsPerSiteCollection

Optional

System.Int32

Specifies that if a workbook causes an access violation error on Excel Services Application, all files originating from that workbook's site collection are blocked from loading for the specified period (in seconds). Existing sessions for files on that site collection are unaffected. Valid values include 0 to disable the setting, and the range of 1 to 2073600 seconds (24 days). The default value is 0.

The type must be an integer value in the range of 0 to 2073600.

UnattendedAccountApplicationId

Optional

System.String

Specifies that the application ID that is used to look up the unattended service account credentials from the secure storage service that is specified by the UnattendedAccountSecureServiceAppName parameter. The secure storage service is contacted when this parameter is set and specific error cases occur. Valid values are alphanumeric strings with a maximum of 256 characters. The default value is an empty string.

The type must be a valid string of alphanumeric characters; for example, UnattendedServiceAccountID.

Note:

The unattended account is a single account that all workbooks can use to refresh data. An unattended account is required when workbook connections specify None for authentication, or when any non-Windows credentials are used to refresh data.

UnusedObjectAgeMax

Optional

System.Int32

Specifies the maximum amount of time, in minutes, that objects not currently used in a session are kept in the memory cache. Valid values include -1 for no maximum setting, and a positive integer in the range of 1 to 34560 minutes (24 days). The default value is -1.

The type must be -1, or an integer in the range of 1 to 34560.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

WorkbookCache

Optional

System.String

Specifies the local file system location of the cache that is used to store workbooks that are used by Excel Services Application.

If no value is specified, the default value is a subdirectory in the system temporary directory.

The type must be a valid path in either of the following forms:

-- C:\folder_name

-- \\server_name\folder_name

WorkbookCacheSizeMax

Optional

System.Int32

Specifies the maximum allowable size, in megabytes, of an individual session. The default value is 0.

The type must be any positive integer.

Detailed Description

The Set-ExcelServiceApplication cmdlet changes global runtime properties for Excel Services Application. Changes to properties that are made by using this cmdlet affect all machines in the farm that are running an instance of the specified Excel Services Application Web service application.

Input Types

Return Types

Example

--------------EXAMPLE 1--------------

Copy Code
Set-SPExcelServiceApplication ExcelServiceTestApplication -sessionsperusermax 10

This example sets the Excel Services Application Web service application named ExcelServiceTestApplication to enable each user to open no more than 10 sessions at one time on a back-end application server that runs Excel Services Application.

--------------EXAMPLE 2--------------

Copy Code
Get-SPExcelServiceApplication | where{ $_.privatebytesmax -ne -1 } | Set-SPExcelServiceApplication -PrivateBytesMax -1

This example displays every Excel Services Application application that runs in the farm that is using a user-specified value for the maximum number of private bytes of memory on the computer, and then sets that value to -1, which indicates that Excel Services Application will consume 50 percent of the available memory resources.

See Also

Reference

Get-SPExcelServiceApplication
New-SPExcelServiceApplication


Set-SPExcelUserDefinedFunction
See Also Example
[image]

Published: May 12, 2010

Sets properties of a user-defined function in Excel Services Application.

Set-SPExcelUserDefinedFunction [-Identity] <SPExcelUDFPipeBind> -ExcelServiceApplication <SPExcelServiceApplicationPipeBind> [-Assembly <String>] [-AssemblyLocation <GAC | LocalFile>] [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-Description <String>] [-Enable <SwitchParameter>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.Office.Excel.Server.Cmdlet.SPExcelUDFPipeBind

Specifies the SPExcelUserDefinedFunction object to update.

The type must be a valid name of the code assembly; for example, SampleCompany.SampleApplication.SampleUdf; or an instance of a valid SPExcelUDF object.

ExcelServiceApplication

Required

Microsoft.Office.Excel.Server.Cmdlet.SPExcelServiceApplicationPipeBind

Specifies the Excel Services Application Web service application that contains the SPExcelUserDefinedFunction list object.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of an Excel Services Application Web service application in the farm (for example, MyExcelService1); or an instance of a valid SPExcelServiceApplication object.

Assembly

Optional

System.String

Specifies the strongly-typed name of the assembly. The name must be unique in the list of user-defined functions, and cannot be more than 4096 alphanumeric characters long.

The type must be a string of alphanumeric characters; for example, SampleCompany.SampleApplication.SampleUdf, C:\UDFs\SampleUdf.dll, or \\MyNetworkServer\UDFs\SampleUdf.dll.

AssemblyLocation

Optional

Microsoft.Office.Excel.Server.AssemblyLocation

Specifies the location where the assembly is stored.

The type must be one of the following: GAC or LocalFile.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

Description

Optional

System.String

Specifies a display description for the user-defined function. The name cannot be more than 4096 alphanumeric characters long.

The type must be a string of alphanumeric characters; for example, this is the user-defined function for consolidation reports.

Enable

Optional

System.Management.Automation.SwitchParameter

Activates the user-defined function for use with Excel Services Application.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Set-SPExcelUserDefinedFunction cmdlet sets properties of a user-defined function assembly. Excel Services Application uses only user-defined functions that have an entry in the user-defined function list. User-defined functions are managed code assemblies that can be called from a Excel Services Application workbook by using standard Excel Services Application formula syntax. The assemblies can perform custom logic or other actions, such as refresh data. Windows PowerShell cmdlets operate on the entries in the user-defined function list and do not operate on the assemblies.

Input Types

Return Types

Example

--------------EXAMPLE 1--------------

Copy Code
Set-SPExcelUserDefinedFunction -ExcelServiceApplication "My Excel Service" -Identity SampleCompany.SampleApplication.SampleUdf -Description "This is the new description for the sample UDF"

This example changes the description of the user-defined function (UDF) to the UDF SampleCompany.SampleApplication.SampleUdf file for the Excel Services Application Web service application named My Excel Service.

--------------EXAMPLE 2--------------

Copy Code
Get-SPExcelServiceApplication "My Excel Service" | Set-SPExcelUserDefinedFunction -Identity SampleCompany.SampleApplication.SampleUdf -Enable: $false

This example disables the sample UDF SampleCompany.SampleApplication.SampleUdf file from the Excel Services Application named My Excel Service.

See Also

Reference

Get-SPExcelUserDefinedFunction
New-SPExcelUserDefinedFunction
Remove-SPExcelUserDefinedFunction


Farm cmdlets (SharePoint Server 2010)

Published: June 24, 2010

You can use Windows PowerShell cmdlets to administer a Microsoft SharePoint Server 2010 farm.

Cmdlet name | Description
Get-SPFarmConfig | Returns a global property or a collection of global properties for the local farm.
Get-SPProcessAccount | Returns a system account or a managed account.
Get-SPWebTemplate | Displays all globally installed site templates that match the given identity.
Install-SPWebTemplate | Installs the given site template.
New-SPCentralAdministration | Creates a new SharePoint Central Administration Web application.
Set-SPCentralAdministration | Sets the port for the SharePoint Central Administration Web site.
Set-SPFarmConfig | Sets a global property or a collection of global properties for the local farm.
Set-SPPassPhrase | Sets the passphrase to a new value.
Set-SPWebTemplate | Changes the title and description of an installed site template.
Start-SPAdminJob | Immediately starts any waiting administrative job on the local computer.
Uninstall-SPWebTemplate | Uninstalls the given site template.


Get-SPFarmConfig
See Also Example
[image]

Published: May 12, 2010

Returns a global property or a collection of global properties for the local farm.

Get-SPFarmConfig [-AssignmentCollection <SPAssignmentCollection>] [-ServiceConnectionPoint <SwitchParameter>]

Parameters

Parameter Required Type Description

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

ServiceConnectionPoint

Optional

System.Management.Automation.SwitchParameter

Gets the information stored in the current farm's service connection point in Active Directory.

Detailed Description

The Get-SPFarmConfig cmdlet retrieves global settings for the local farm that are not members of the SPFarm object. This cmdlet creates a new PSCustomObject object from the collection of properties returned from the local farm, and then adds this object to the pipeline. The PSCustomObject object can be read, or modified and passed to the Set-SPFarmConfig cmdlet to change parameter values.

The properties collected in the PSCustomObject object must be farm-wide settings, and must be configurable only once for the entire farm. The parameter name added to the PSCustomObject object must match exactly the input parameter name for the Set-SPFarmConfig cmdlet.

Input Types

Return Types

Example

-------------EXAMPLE----------------

Copy Code
$a = Get-SPFarmConfig
Copy Code
$a.AjaxTimeout = 200
Copy Code
$a | Set-SPFarmConfig

This example uses the Get-SPFarmConfig cmdlet to add the Ajax Timeout setting to the PSCustomObject object, sets the value for Ajax Timeout, and then passes PSCustomObject to the Set-SPFarmConfig cmdlet to change the Ajax Timeout setting. Ajax Timeout, a farm-wide setting, is a member of the SPWebService object and cannot be accessed with a Windows PowerShell cmdlet.

You can perform the same operations with either of the following commands.

Copy Code
Set-SPFarmConfig -AjaxTimeout 200
Copy Code
Get-SPFarmConfig | Select AjaxTimeout 200

See Also

Reference

Set-SPFarmConfig


Get-SPProcessAccount
Example
[image]

Published: May 12, 2010

Returns a system account or a managed account.

Get-SPProcessAccount [-AssignmentCollection <SPAssignmentCollection>] [-NetworkService <SwitchParameter>]
Get-SPProcessAccount [-AssignmentCollection <SPAssignmentCollection>] [-LocalSystem <SwitchParameter>]
Get-SPProcessAccount [-AssignmentCollection <SPAssignmentCollection>] [-LocalService <SwitchParameter>]

Parameters

1

Parameter

Required

Type

Description

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

NetworkService

Optional

System.Management.Automation.SwitchParameter

Returns the NetworkService account.

2

Parameter

Required

Type

Description

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

LocalSystem

Optional

System.Management.Automation.SwitchParameter

Returns the LocalSystem account.

3

Parameter

Required

Type

Description

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

LocalService

Optional

System.Management.Automation.SwitchParameter

Returns the LocalService account.

Detailed Description

This cmdlet contains more than one parameter set. You may only use parameters from one parameter set, and you may not combine parameters from different parameter sets. For more information about how to use parameter sets, see Cmdlet Parameter Sets.

The Get-SPProcessAccount cmdlet returns a system account or a managed account and creates the SPProcessAccountPipeBind object. All operations that can accept an account can accept the SPProcessAccountPipeBind in place of the SPManagedAccountPipeBind.

Input Types

Return Types

Errors

Error | Description

Exceptions

Exceptions | Description

Example

------------------EXAMPLE 1-----------------------

Copy Code
Get-SPProcessAccount -NetworkService

This example creates the SPProcessAccountPipeBind type by using the NetworkService account.

------------------EXAMPLE 2-----------------------

Copy Code
Get-SPProcessAccount -NetworkService | New-SPServiceApplicationPool -Account $_

This example creates an SPServiceApplicationPool account by using the NetworkService account returned by the Get-SPProcessAccount cmdlet.


Get-SPWebTemplate
See Also Example
[image]

Published: May 12, 2010

Displays all globally installed site templates that match the given identity.

Get-SPWebTemplate [[-Identity] <SPWebTemplatePipeBind>] [-AssignmentCollection <SPAssignmentCollection>]

Parameters

Parameter Required Type Description

Identity

Optional

Microsoft.SharePoint.PowerShell.SPWebApplicationPipeBind

Specifies the name of the Web template to display.

The type must be the ID or full or partial name of the Web template.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Detailed Description

The Get-SPWebTemplate cmdlet displays all installed site templates that match the full or partial identity that was given.

Input Types

Return Types

Example

--------------EXAMPLE 1-----------------

Copy Code
$template = Get-SPWebTemplate "STS#0"
Copy Code
New-SPSite http://contoso.com -OwnerAlias "DOMAIN\JDOE" -Template $template

This example creates a site collection by using the team site Web template (ID=STS#0).

--------------EXAMPLE 2-----------------

Copy Code
Get-SPWebTemplate "STS*"

This example displays basic information about all the STS templates.

See Also

Reference

Set-SPWebTemplate
Install-SPWebTemplate
Uninstall-SPWebTemplate


Install-SPWebTemplate
See Also Example
[image]

Published: May 12, 2010

Installs the given site template.

Install-SPWebTemplate [-Path] <String> -Name <String> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-Description <String>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Path

Required

System.String

Specifies the path to the site template package.

The type must be a valid path; for example, <example of path>.

Name

Required

System.String

Specifies the name of the template.

The type must be a valid name; for example, MyTemplate.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

Description

Optional

System.String

Specifies the template description.

The type must be a valid description; for example, Joe's Template.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Install-SPWebTemplate cmdlet installs the given site template using the name provided (title) as the unique ID.

Input Types

Return Types

Example

--------------EXAMPLE-----------------

Copy Code
Install-SPWebTemplate -path "mytemplate.cab" -name "My Template" -description "TestFarm"

This example installs the mytemplate.cab file as My Template with the description "TestFarm" on the farm.

See Also

Reference

Get-SPWebTemplate
Set-SPWebTemplate
Uninstall-SPWebTemplate


New-SPCentralAdministration
See Also Example
[image]

Published: May 12, 2010

Creates a new SharePoint Central Administration Web application.

New-SPCentralAdministration [[-Port] <Int32>] [[-WindowsAuthProvider] <String>] [-AssignmentCollection <SPAssignmentCollection>]

Parameters

Parameter Required Type Description

Port

Optional

System.Int32

Specifies the port number for Central Administration. If no port is specified, a nonconflicting port number is auto-generated.

The type must be a valid port number.

Important:

If you specify a port number that has already been assigned, IIS does not start the new site until you change either the port number of the new site or the port number of the old site.

WindowsAuthProvider

Optional

System.String

Specifies the authorization provider for this Web application. If no authentication provider is specified, the default value NTLM is used.

The type must be one of two values: Kerberos, orNTLM.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Detailed Description

The New-SPCentralAdministration cmdlet creates a new Central Administration Web application and starts the central administration service on the local computer. Central Administration is available only on computers where this service runs.

Input Types

Return Types

None.

Example

------------------EXAMPLE-----------------------

Copy Code
New-SPCentralAdministration -Port 3000

This example creates the Central Administration site at port 3000 on the local farm.

See Also

Reference

Set-SPCentralAdministration


Set-SPCentralAdministration
See Also Example
[image]

Published: May 12, 2010

Sets the port for the SharePoint Central Administration Web site.

Set-SPCentralAdministration -Port <Int32> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Port

Required

System.Int32

Specifies the administration port for the Central Administration site.

The type must be a valid port number; for example, 8080.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Set-SPCentralAdministration cmdlet sets the port for the Central Administration site.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
Set-SPCentralAdministration -Port 8282

This example sets the port for the Central Administration web application on the local farm to 8282.

See Also

Reference

New-SPCentralAdministration


Set-SPFarmConfig
See Also Example
[image]

Published: May 12, 2010

Sets a global property or a collection of global properties for the local farm.

Set-SPFarmConfig [-ASPScriptOptimizationEnabled <$true | $false>] [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-DataFormWebPartAutoRefreshEnabled <$true | $false>] [-Force <SwitchParameter>] [-InstalledProductsRefresh <SwitchParameter>] [-ServiceConnectionPointBindingInformation <String>] [-ServiceConnectionPointDelete <SwitchParameter>] [-WhatIf [<SwitchParameter>]] [-WorkflowBatchSize <Int32>] [-WorkflowEventDeliveryTimeout <Int32>] [-WorkflowPostponeThreshold <Int32>]

Parameters

Parameter Required Type Description

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

DataFormWebPartAutoRefreshEnabled

Optional

System.Boolean

Specifies whether any DataFormWebPart on any page in this farm is allowed to periodically refresh its contents asynchronously (after the page has finished rendering). When set to false, all DataFormWebParts will ignore the automatic refresh interval provided in Web Part properties.

Force

Optional

System.Management.Automation.SwitchParameter

Forces the deletion or updating of the service connection point.

InstalledProductsRefresh

Optional

System.Management.Automation.SwitchParameter

Updates the current machine license state with the list of products that are installed in the farm.

ServiceConnectionPointBindingInformation

Optional

System.String

Adds or updates the service connection point for the current farm in Active Directory Domain Service (AD DS).

The type must be an array of strings that are key value pairs that will be added to the service connection point.

ServiceConnectionPointDelete

Optional

System.Management.Automation.SwitchParameter

Delete the service connection point for the current farm in AD DS.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

WorkflowBatchSize

Optional

System.Int32

Specifies the paging size for events delivered to a single workflow instance. For each request, the events are streamed out 100 at a time.

Batch size is the number of events processed for a single workflow instance, which can have many events queued at the same time. Throttle will override batch size; if the workflow instance cannot be started or restarted because there are too many instances running across all front-end Web servers, none of the events will be fetched, regardless of the batch size.

WorkflowEventDeliveryTimeout

Optional

System.Int32

Specifies the time as an integer in which a workflow job must run without the job timing out. If the workflow job does time out, it gets put back in the queue to be run again.

For example, if the value is set to 5, the workflow job must run within 5 minutes are the workflow job will time out. Any workflow job that does time out is placed back in the queue to run again.The default value is 5.

WorkflowPostponeThreshold

Optional

System.Int32

Specifies the number of workflows that can be running in IIS against a content database at a time before new workflow instances get postponed into a queue.

Detailed Description

The Set-SPFarmConfig cmdlet updates a collection of global settings for the local farm that are not members of the SPFarm object. Use the Get-SPFarmConfig cmdlet to read global settings for the local farm and to create a new PSCustomObject object from the collection of properties returned from the local farm, and then add this object to the pipeline. Modify the PSCustomObject object and pass it to the Set-SPFarmConfig cmdlet to change the parameter values.

The properties collected in the PSCustomObject object must be farm-wide settings, and must be configurable only once for the entire farm. The parameter name added to the PSCustomObject object must match exactly the input parameter name for the Set-SPFarmConfig cmdlet.

Input Types

Return Types

Example

---------------------EXAMPLE--------------------------

Copy Code
$a = Get-SPFarmConfig
Copy Code
$a.AjaxTimeout = 200
Copy Code
$a | Set-SPFarmConfig

This example uses the Get-SPFarmConfig cmdlet to add the Ajax Timeout setting to the PSCustomObject object, sets the value for Ajax Timeout, and then passes PSCustomObject to the Set-SPFarmConfig cmdlet to change the Ajax Timeout setting. Ajax Timeout, a farm-wide setting, is a member of the SPWebService object and cannot be accessed by using a Windows PowerShell cmdlet.

You can perform the same operations with either of the following commands.

Copy Code
Set-SPFarmConfig -AjaxTimeout 200

See Also

Reference

Get-SPFarmConfig


Set-SPPassPhrase
Example
[image]

Published: May 12, 2010

Sets the pass phrase to a new value.

Set-SPPassPhrase -ConfirmPassPhrase <SecureString> -PassPhrase <SecureString> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-WhatIf [<SwitchParameter>]]
Set-SPPassPhrase -PassPhrase <SecureString> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-LocalServerOnly <SwitchParameter>] [-WhatIf [<SwitchParameter>]]

Parameters

1

Parameter

Required

Type

Description

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

2

Parameter

Required

Type

Description

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

LocalServerOnly

Optional

System.Management.Automation.SwitchParameter

Scopes the Passphrase change to the local server only. If this parameter is not used, the Passphrase change is performed farm-wide.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

This cmdlet contains more than one parameter set. You may only use parameters from one parameter set, and you may not combine parameters from different parameter sets. For more information about how to use parameter sets, see Cmdlet Parameter Sets.

The Set-SPPassPhrase cmdlet sets the Passphrase to a new Passphrase value. If the LocalServerOnly parameter is not used, the farm encryption key is re-encrypted with the new value and attempts to propagate this value to all other servers in the farm. If the LocalServerOnly parameter is used, this is updated on the local machine only, and the farm encryption key is not changed. The Passphrase value must be the same on all servers in the farm if the farm is to function correctly. So if the Passphrase fails to propagate to all servers, the LocalServerOnly parameter can be used to set the remaining servers to the new Passphrase value manually.

Input Types

Return Types

Example

------------------EXAMPLE-----------------------

Copy Code
$passphrase = ConvertTo-SecureString -asPlainText -Force
Copy Code
Set-SPPassPhrase -PassPhrase $passphrase -Confirm

This example queries for a string to use as a passphrase, and sets the farm passphrase to a new value.


Set-SPWebTemplate
See Also Example
[image]

Published: May 12, 2010

Changes the title and description of an installed site template.

Set-SPWebTemplate [-Identity] <SPWebTemplatePipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-Description <String>] [-Name <String>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.SharePoint.PowerShell.SPWebTemplatePipeBind

Specifies the name of the Web template to be changed.

The type must the ID or full name of the Web template.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

Description

Optional

System.String

Specifies the new description.

The type must be a valid description; for example, This is template.

Name

Optional

System.String

Specifies the new name for the template.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Set-SPWebTemplate cmdlet changes the title and description of an installed site template.

Input Types

Return Types

Example

------------------EXAMPLE-----------------------

Copy Code
Get-SPSiteTemplate "ATH#0" | Set-SPSiteTemplate -name "Athletics Site"
Copy Code
Set-SPSiteTemplate "ATH#0" -name "Athletics Site"

This examples change the ATH#0 template title to Athletics Site.

See Also

Reference

Get-SPWebTemplate
Install-SPWebTemplate
Uninstall-SPWebTemplate


Start-SPAdminJob
See Also Example
[image]

Published: May 12, 2010

Immediately starts any waiting administrative job on the local computer.

Start-SPAdminJob [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

Use the Start-SPAdminJob cmdlet to execute all administrative timer jobs immediately rather than waiting for the timer job to run.

When the service account for the SharePoint 2010 Administration service (SPAdminV4)) is disabled (necessary in some installations for security reasons), the Start-SPAdminJob cmdlet must be run on all computers to perform administrative task like provisioning.

When you run this cmdlet in person (not in script), use the Verbose parameter to see the individual administrative operations that are run.

Input Types

Return Types

none

Errors

Error | Description

Exceptions

Exceptions | Description

Example

------------------EXAMPLE-----------------------

Copy Code
Start-SPAdminJob -Verbose

This example runs all waiting administrative jobs and shows verbose output to the administrator.

See Also

Reference

Get-SPTimerJob
Set-SPTimerJob
Enable-SPTimerJob
Disable-SPTimerJob


Uninstall-SPWebTemplate
See Also Example
[image]

Published: May 12, 2010

Uninstalls the given site template.

Uninstall-SPWebTemplate [-Identity] <SPWebTemplatePipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-Language <UInt32>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.SharePoint.PowerShell.SPWebTemplatePipeBind

Specifies the ID or full name of the site template to remove.

A valid site template; for example, MYTEMP#0.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

Language

No

System.Int32

Specifies the language of the file to remove. If this parameter is not provided, all the languages of given template are removed. The default value is ALL.

The type must be a valid language locale ID. For English, use 1033.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Uninstall-SPWebTemplate cmdlet uninstalls the given site template by providing a full identity.

Input Types

Return Types

None.

Errors

Error | Description

Exceptions

Exceptions | Description

Example

------------------EXAMPLE-----------------------

Copy Code
Uninstall-SPWebTemplate "mytemplate"
Copy Code
Get-SPWebTemplate "mytemplate" | Uninstall-SPWebTemplate

This example removes a site template named mytemplate.

See Also

Reference

Get-SPWebTemplate
Install-SPWebTemplate
Set-SPWebTemplate


Features and solutions cmdlets (SharePoint Server 2010)
See Also

You can use Windows PowerShell cmdlets to manage features and solutions in a Microsoft SharePoint Server 2010 farm.

Cmdlet name | Description
Add-SPSiteSubscriptionFeaturePackMember | Adds a feature to a SharePoint feature set.
Add-SPSolution | Uploads a SharePoint solution package to the farm.
Add-SPUserSolution | Uploads a new sandboxed solution to the solution gallery.
Disable-SPFeature | Disables an installed SharePoint feature at a given scope.
Enable-SPFeature | Enables an installed SharePoint feature at the given scope.
Get-SPFeature | Returns the SharePoint features based on a given scope.
Get-SPSiteSubscriptionFeaturePack | Retrieves available SharePoint feature sets or the Feature set assigned to a given site subscription.
Get-SPSolution | Returns a specified SharePoint solution.
Get-SPUserSolution | Returns a specified sandboxed solution.
Install-SPFeature | Installs a SharePoint feature by using the Feature.xml file.
Install-SPSolution | Deploys an installed SharePoint solution in the farm.
Install-SPUserSolution | Activates a sandboxed solution in a site collection.
New-SPSiteSubscriptionFeaturePack | Creates a new SharePoint feature set that can be used to limit the features available to a site subscription.
Remove-SPSiteSubscriptionFeaturePack | Removes a SharePoint feature set from a site subscription.
Remove-SPSiteSubscriptionFeaturePackMember | Removes a feature definition from the provided SharePoint feature set.
Remove-SPSolution | Removes a SharePoint solution from a farm.
Remove-SPUserSolution | Removes a sandboxed solution from the solution gallery.
Remove-SPSolutionDeploymentLock | Removes the solution deployment lock for a server.
Uninstall-SPFeature | Uninstalls an installed feature definition.
Uninstall-SPUserSolution | Deactivates a sandboxed solution in a site collection.
Uninstall-SPSolution | Retracts a deployed SharePoint solution.
Update-SPSolution | Upgrades a deployed SharePoint solution.
Update-SPUserSolution | Upgrades an activated sandboxed solution in a farm.

See Also

Other Resources

Resource Center: Windows PowerShell for SharePoint Server 2010


Add-SPSiteSubscriptionFeaturePackMember
See Also Example
[image]

Published: May 12, 2010

Adds a feature to a SharePoint Feature set.

Add-SPSiteSubscriptionFeaturePackMember [-Identity] <SPSiteSubscriptionFeaturePackPipeBind> -FeatureDefinition <SPFeatureDefinitionPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.SharePoint.PowerShell.SPFeatureSetPipeBind

Specifies the Feature set object or GUID to which the given SharePoint Feature is added.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; or a valid name of a Feature set (for example, FeatureSet1); or an instance of a valid SPFeatureSet object.

FeatureDefinition

Required

Microsoft.SharePoint.PowerShell.SPFeatureDefinitionPipeBind

Specifies the Feature definition, name, or GUID to add to the Feature set.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Add- SPSiteSubscriptionFeaturePackMember cmdlet adds features to the provided SharePoint Feature set. Feature sets are an Allow List of SharePoint Features that can be associated with any site subscription. If a Feature set is assigned to a site subscription, only the SPFeatures object in that Feature set are available for use on the site collections and Web sites that are members of the site subscription. Feature sets contain a list of the GUIDs of each Feature that are on the Allow List for associated site subscriptions.

Input Types

Return Types

Example

-------------EXAMPLE----------------

Copy Code
$fs = New-SPFeatureSet
Copy Code
Get-SPFeature -limit all | Where{ $_.Scope -eq "WEB" } | Add-SPSiteSubscriptionFeaturePackMember -id $fs
Copy Code
$fs = Get-SPFeatureSet $fs

This example creates a Feature set and adds all Web site scoped Features to the set.

The Feature set is refreshed in the last line so that the local object has the correct values.

See Also

Reference

Remove-SPSiteSubscriptionFeaturePackMember


Add-SPSolution
See Also Example
[image]

Published: May 12, 2010

Uploads a SharePoint solution package to the farm.

Add-SPSolution [-LiteralPath] <String> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-Language <UInt32>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

LiteralPath

Required

System.String

Specifies the path to the solution package.

The type must be a valid path in either of the following forms:

- C:\folder_name

- \\server_name\folder_name

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

Language

Optional

System.UInt32

Specifies the language pack to install with the solution package.

The type must be a valid language identifier; for example, 1033.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Add-SPSolution cmdlet adds a SharePoint solution package to the farm. This cmdlet does not deploy the uploaded SharePoint solution. Use the Install-SPSolution cmdlet to deploy the SharePoint solution in the farm.

Input Types

Return Types

Errors

Error | Description

Exceptions

Exceptions | Description

Example

------------------EXAMPLE------------------

Copy Code
Add-SPSolution -LiteralPath c:\contoso_solution.wsp

This example adds the SharePoint solution in the file contoso_solution.wsp to the farm.

See Also

Reference

Get-SPSolution
Update-SPSolution
Uninstall-SPSolution
Remove-SPSolution
Install-SPSolution
Remove-SPSolutionDeploymentLock


Add-SPUserSolution
See Also Example
[image]

Published: May 12, 2010

Uploads a new sandboxed solution to the solution gallery.

Add-SPUserSolution [-LiteralPath] <String> -Site <SPSitePipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

LiteralPath

Required

System.String

Specifies the path to the sandboxed solution package.

The type must be a valid path in either of the following forms:

- C:\folder_name

- \\server_name\folder_name

Site

Required

Microsoft.SharePoint.PowerShell.SPSitePipeBind

Specifies the site collection where the sandboxed solution is to be added.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid URL, in the form http://server_name; or an instance of a valid SPSiteobject.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Add-SPUserSolution cmdlet uploads a new sandboxed solution package to the solution gallery. This cmdlet does not activate the uploaded sandboxed solution; to activate the solution in the site collection, use the Install-SPUserSolution cmdlet.

Input Types

Return Types

Errors

Error | Description

Exceptions

Exceptions | Description

Example

-------------------EXAMPLE---------------------

Copy Code
Add-SPUserSolution -LiteralPath c:\contoso_solution.wsp -Site http://sitename

This example adds the sandboxed solution c:\contoso_solution.wsp to the site http://sitename.

See Also

Reference

Update-SPUserSolution
Install-SPUserSolution
Uninstall-SPUserSolution
Remove-SPUserSolution
Get-SPUserSolution


Disable-SPFeature
See Also Example
[image]

Published: May 12, 2010

Disables an installed SharePoint Feature at a given scope.

Disable-SPFeature [-Identity] <SPFeatureDefinitionPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-Force <SwitchParameter>] [-Url <String>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.SharePoint.PowerShell.SPFeatureDefinitionPipeBind

Specifies the name of the Feature or GUID to disable.

The type must be the name of the Feature folder located in the 14\Template\Features folder or GUID, in the format 21d186e1-7036-4092-a825-0eb6709e9281.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

Force

Optional

System.Management.Automation.SwitchParameter

Forces a Feature to be disabled.

Url

Optional

System.String

Specifies the URL of the Web application, site collection, or Web site to which the Feature is being disabled.

The type must be a valid URL, such as http://server_name.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Disable-SPFeature cmdlet disables a SharePoint Feature at the given scope. If the scope of the Feature is the farm, the URL is not needed. Otherwise, provide the URL at which this Feature is to be deactivated (explicit scope is not needed).

Input Types

Return Types

none

Example

--------------EXAMPLE 1-----------------

Copy Code
Disable-SPFeature -identity "MyCustom" -URL http://somesite

This example disables the "MyCustom" Web site scoped feature at http://somesite.

--------------EXAMPLE 2-----------------

Copy Code
$w = Get-SPWeb http://somesite/myweb | ForEach{ $_.URL }
Copy Code
Get-SPFeature -Web $w |%{ Disable-SPFeature -Identity $_ -URL $w}

This example disables all features in the subsite at http://somesite/myweb.

You do not need to use the SPAssignment cmdlets in this case because the Web object is not stored — only the string value for the URL.

See Also

Reference

Install-SPFeature
Enable-SPFeature
Get-SPFeature
Uninstall-SPFeature


Enable-SPFeature
See Also Example
[image]

Published: May 12, 2010

Enables an installed SharePoint Feature at the given scope.

Enable-SPFeature [-Identity] <SPFeatureDefinitionPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-Force <SwitchParameter>] [-PassThru <SwitchParameter>] [-Url <String>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.SharePoint.PowerShell.SPFeatureDefinitionPipeBind

Specifies the name of the Feature or GUID to uninstall.

The type must be the name of the Feature folder located in the 14\Template\Features folder or GUID, in the form 21d186e1-7036-4092-a825-0eb6709e9281.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

Force

Optional

System.Management.Automation.SwitchParameter

Forces the activation of a Feature. This causes any custom code associated with the Feature to rerun.

PassThru

Optional

System.Management.Automation.SwitchParameter

If provided, the cmdlet outputs the Feature definition object after enable.

Url

Optional

System.String

Specifies the URL of the Web application, site collection, or Web site for which the Feature is being activated.

The type must be a valid URL; for example, http://server_name.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Enable-SPFeature cmdlet enables an installed feature at the given scope. If the feature is a farm feature, no URL is needed. Otherwise, provide the URL where the feature is to be enabled and it will be enabled at the proper scope based on the Feature definition.

This cmdlet has no output unless the PassThru parameter is provided, in which case the SPFeatureDefinition object for the newly enabled feature is returned.

Note:

If you try to use the Url parameter on a farm-scoped feature, you receive the following error message:

The feature '<feature name>' applies to the entire farm; the Url parameter cannot be used with farm-scoped features.

Input Types

Return Types

Example

--------------EXAMPLE 1-----------------

Copy Code
Enable-SPFeature -identity "MyCustom" -URL http://somesite

This example enables the "MyCustom" site scoped SharePoint Feature at http://somesite.

--------------EXAMPLE 2-----------------

Copy Code
$w = Get-SPWeb http://somesite/myweb | ForEach{ $_.URL }
Copy Code
Get-SPFeature -Web $w |%{ Enable-SPFeature -Identity $_ -URL $w}

This example enables all SharePoint Features in the subsite at http://somesite/myweb.

See Also

Reference

Disable-SPFeature
Install-SPFeature
Uninstall-SPFeature
Get-SPFeature


Get-SPFeature
See Also Example
[image]

Published: May 12, 2010

Returns the SharePoint Features based on a given scope.

Get-SPFeature [[-Identity] <SPFeatureDefinitionPipeBind>] [-AssignmentCollection <SPAssignmentCollection>] [-Limit <String>]
Get-SPFeature [[-Identity] <SPFeatureDefinitionPipeBind>] [-AssignmentCollection <SPAssignmentCollection>] [-Farm <SwitchParameter>] [-Limit <String>]
Get-SPFeature [[-Identity] <SPFeatureDefinitionPipeBind>] [-AssignmentCollection <SPAssignmentCollection>] [-Limit <String>] [-Sandboxed <SwitchParameter>] [-Site <SPSitePipeBind>]
Get-SPFeature [[-Identity] <SPFeatureDefinitionPipeBind>] [-AssignmentCollection <SPAssignmentCollection>] [-Limit <String>] [-Web <SPWebPipeBind>]
Get-SPFeature [[-Identity] <SPFeatureDefinitionPipeBind>] [-AssignmentCollection <SPAssignmentCollection>] [-Limit <String>] [-WebApplication <SPWebApplicationPipeBind>]

Parameters

1

Parameter

Required

Type

Description

Identity

Optional

Microsoft.SharePoint.PowerShell.SPFeatureDefinitionPipeBind

Specifies the name of the Feature to retrieve.

The type must be the full or partial name, in the form Feature1, or a GUID, in the form 1234-4567-9879, of the Feature to get .

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Limit

Optional

System.String

Limits the display results. If "All" is specified, all Features are displayed.

The type must be a valid number greater than 0. The default value is 200.

2

Parameter

Required

Type

Description

Identity

Optional

Microsoft.SharePoint.PowerShell.SPFeatureDefinitionPipeBind

Specifies the name of the Feature to retrieve.

The type must be the full or partial name, in the form Feature1, or a GUID, in the form 1234-4567-9879, of the Feature to get .

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Farm

Optional

System.Management.Automation.SwitchParameter

Specifies that if this parameter is used, only enabled farm Features are displayed.

Limit

Optional

System.String

Limits the display results. If "All" is specified, all Features are displayed.

The type must be a valid number greater than 0. The default value is 200.

3

Parameter

Required

Type

Description

Identity

Optional

Microsoft.SharePoint.PowerShell.SPFeatureDefinitionPipeBind

Specifies the name of the Feature to retrieve.

The type must be the full or partial name, in the form Feature1, or a GUID, in the form 1234-4567-9879, of the Feature to get .

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Limit

Optional

System.String

Limits the display results. If "All" is specified, all Features are displayed.

The type must be a valid number greater than 0. The default value is 200.

Site

Optional

Microsoft.SharePoint.PowerShell.SPSitePipeBind

Specifies the name of the site collection from which to get enabled Features.

The type must be a valid URL for a site collection, in the form http://server_name .

4

Parameter

Required

Type

Description

Identity

Optional

Microsoft.SharePoint.PowerShell.SPFeatureDefinitionPipeBind

Specifies the name of the Feature to retrieve.

The type must be the full or partial name, in the form Feature1, or a GUID, in the form 1234-4567-9879, of the Feature to get .

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Limit

Optional

System.String

Limits the display results. If "All" is specified, all Features are displayed.

The type must be a valid number greater than 0. The default value is 200.

Web

Optional

Microsoft.SharePoint.PowerShell.SPWebPipeBind

Specifies the URL or GUID of the Web.

The type must be a valid URL, in the form http://server_name , or a GUID, in the form 1234-5678-9876-0987.

5

Parameter

Required

Type

Description

Identity

Optional

Microsoft.SharePoint.PowerShell.SPFeatureDefinitionPipeBind

Specifies the name of the Feature to retrieve.

The type must be the full or partial name, in the form Feature1, or a GUID, in the form 1234-4567-9879, of the Feature to get .

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Limit

Optional

System.String

Limits the display results. If "All" is specified, all Features are displayed.

The type must be a valid number greater than 0. The default value is 200.

Web

Optional

Microsoft.SharePoint.PowerShell.SPWebPipeBind

Specifies the URL or GUID of the Web.

The type must be a valid URL, in the form http://server_name , or a GUID, in the form 1234-5678-9876-0987.

WebApplication

Optional

Microsoft.SharePoint.PowerShell.SPWebApplicationPipeBind

Specifies the name of the Web application from which to get enabled Features.

The type must be a valid URL to the Web application in the form http://server_name .

Detailed Description

This cmdlet contains more than one parameter set. You may only use parameters from one parameter set, and you may not combine parameters from different parameter sets. For more information about how to use parameter sets, see Cmdlet Parameter Sets.

All parameter sets take the Identity parameter, which can be either the relative path of the SharePoint Feature (considered the feature name) or the GUID of a Feature definition. If the Identity parameter is provided, the cmdlets attempt to find the given Feature definition or instance for the given scope. If no parameters are specified, all installed features are returned.

The Get-SPFeature cmdlet behaves differently at each scope, returning the enabled Features at each level. If no scope is provided, all installed Features are returned.

Input Types

Return Types

Example

--------------EXAMPLE 1-----------------

Copy Code
Get-SPFeature -Limit ALL | Where-Object {$_.Scope -eq "SITE"}

This example returns a list of all installed SITE scoped Features.

--------------EXAMPLE 2-----------------

Copy Code
Get-SPSite http://somesite | Get-SPWeb -Limit ALL |%{ Get-SPFeature -Web $_ } | Select DisplayName,ID -Unique

This example returns the name and identifier (ID) of each uniquely enabled Feature on every SPWeb object in the site collection at http://somesite.

See Also

Reference

Install-SPFeature
Enable-SPFeature
Disable-SPFeature
Uninstall-SPFeature


Get-SPSiteSubscriptionFeaturePack
See Also Example
[image]

Published: May 12, 2010

Retrieves available SharePoint Feature sets or the Feature set assigned to a given site subscription.

Get-SPSiteSubscriptionFeaturePack [[-Identity] <SPSiteSubscriptionFeaturePackPipeBind>] [-AssignmentCollection <SPAssignmentCollection>]
Get-SPSiteSubscriptionFeaturePack [-AssignmentCollection <SPAssignmentCollection>] [-SiteSubscription <SPSiteSubscriptionPipeBind>]

Parameters

1

Parameter

Required

Type

Description

Identity

Optional

Microsoft.SharePoint.PowerShell.SPFeatureSetPipeBind

Specifies a valid name or GUID of the Feature set.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

2

Parameter

Required

Type

Description

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

SiteSubscription

Optional

Microsoft.SharePoint.PowerShell.SPSiteSubscriptionPipeBind

If provided, ensures that the returned Feature set is the Feature set that is currently assigned to the given site subscription.

Detailed Description

This cmdlet contains more than one parameter set. You may only use parameters from one parameter set, and you may not combine parameters from different parameter sets. For more information about how to use parameter sets, see Cmdlet Parameter Sets.

The Get-SPSiteSubscriptionFeaturePack cmdlet retrieves available SharePoint Feature sets or the Feature set assigned to a given site subscription.

Warning:

Be careful when you assign Feature sets to variables because changes to the Feature set are not reflected until the variable is refreshed.

Input Types

Return Types

Example

------------------EXAMPLE 1------------------

Copy Code
Get- SPSiteSubscriptionFeaturePack

This example returns all defined Feature sets in the local farm.

------------------EXAMPLE 2------------------

Copy Code
Get-SPSiteSubscriptionFeaturePack -SiteSubscription http://contoso.com | ForEach{ $_.FeatureDefinitions }

This example returns the list (name, ID, and scope) of all Features allowed in the Feature set that is currently assigned to the site subscription of http://contoso.com.

See Also

Reference

New-SPSiteSubscriptionFeaturePack
Remove-SPSiteSubscriptionFeaturePack
Add-SPSiteSubscriptionFeaturePackMember


Get-SPSolution
See Also Example
[image]

Published: May 12, 2010

Returns a specified SharePoint solution.

Get-SPSolution [[-Identity] <SPSolutionPipeBind>] [-AssignmentCollection <SPAssignmentCollection>]

Parameters

Parameter Required Type Description

Identity

Optional

Microsoft.SharePoint.PowerShell.SPSolutionPipeBind

Specifies the SharePoint solution to get.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a SharePoint solution (for example, SPSolution1); or an instance of a valid SPSolution object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Detailed Description

The Get-SPSolution cmdlet returns a specified SharePoint solution. If the Identity parameter is not specified, this cmdlet returns the collection of all installed SharePoint solutions in the farm.

Input Types

Return Types

Errors

Error | Description

Exceptions

Exceptions | Description

Example

------------------EXAMPLE------------------

Copy Code
Get-SPSolution

This example returns the collection of all installed SharePoint solutions in the farm.

See Also

Reference

Get-SPSolution
Add-SPSolution
Update-SPSolution
Uninstall-SPSolution
Remove-SPSolution
Install-SPSolution
Remove-SPSolutionDeploymentLock


Get-SPUserSolution
See Also Example
[image]

Published: May 12, 2010

Returns a specified sandboxed solution.

Get-SPUserSolution [[-Identity] <SPUserSolutionPipeBind>] -Site <SPSitePipeBind> [-AssignmentCollection <SPAssignmentCollection>]

Parameters

Parameter Required Type Description

Identity

Optional

Microsoft.SharePoint.PowerShell.SPUserSolutionPipeBind

Specifies the sandboxed solution to get.

The type must be a valid name of a user solution (for example, UserSolution1); or an instance of a valid SPUserSolution object.

Site

Required

Microsoft.SharePoint.PowerShell.SPSitePipeBind

Specifies the site collection that contains the sandboxed solution.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid URL, in the form http://server_name; or an instance of a valid SPSite object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Detailed Description

The Get-SPUserSolution cmdlet returns a specified sandboxed solution. If the Identity parameter is not specified, this cmdlet returns the collection of sandboxed solutions in the site collection. A user solution is a sandboxed solution.

Input Types

Return Types

Errors

Error | Description

Exceptions

Exceptions | Description

Example

-----------------EXAMPLE---------------------

Copy Code
Get-SPUserSolution -Site http://sitename

This example displays information about sandboxed solutions in the site http://sitename.

See Also

Reference

Update-SPUserSolution
Install-SPUserSolution
Uninstall-SPUserSolution
Remove-SPUserSolution
Add-SPUserSolution


Install-SPFeature
See Also Example
[image]

Published: May 12, 2010

Installs a SharePoint Feature by using the Feature.xml file.

Install-SPFeature [-Path] <String> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-Force <SwitchParameter>] [-WhatIf [<SwitchParameter>]]
Install-SPFeature -AllExistingFeatures <SwitchParameter> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-Force <SwitchParameter>] [-SolutionId <String>] [-WhatIf [<SwitchParameter>]]
Install-SPFeature -ScanForFeatures <SwitchParameter> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-Force <SwitchParameter>] [-SolutionId <String>] [-WhatIf [<SwitchParameter>]]

Parameters

1

Parameter

Required

Type

Description

Path

Required

System.String

Specifies a valid file path; for example, MyFeature.

Path to feature must be a literal path to the 14\Template\Features directory. Can be any standard character that the Windows system supports for a file name. The feature.xml filename is implied and does not need to be provided.

If the feature file is not found on disk, the following error message is displayed: "Failed to find the XML file at location 14\Template\Features\<file path>."

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

Force

Optional

System.Management.Automation.SwitchParameter

Forces the installation of an already installed feature.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

2

Parameter

Required

Type

Description

AllExistingFeatures

Required

System.Management.Automation.SwitchParameter

Scans for existing, but unregistered features, and then registers them with the farm.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

Force

Optional

System.Management.Automation.SwitchParameter

Forces the installation of an already installed feature.

SolutionId

Optional

System.String

Specifies the solution id of the features. If the SolutionId parameter is not provided, all solution ids are scanned.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

3

Parameter

Required

Type

Description

ScanForFeatures

Required

System.Management.Automation.SwitchParameter

Scans and then displays a feature. The ScanForFeatures parameter does not install a feature.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

Force

Optional

System.Management.Automation.SwitchParameter

Forces the installation of an already installed feature.

SolutionId

Optional

System.String

Specifies the solution id of the features. If the SolutionId parameter is not provided, all solution ids are scanned.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

This cmdlet contains more than one parameter set. You may only use parameters from one parameter set, and you may not combine parameters from different parameter sets. For more information about how to use parameter sets, see Cmdlet Parameter Sets.

The Install-SPFeature cmdlet installs a specific SPFeature object by providing in the Identity parameter the relative path from the folder "$env:ProgramFiles\Common Files\Microsoft Shared\Web Server Extensions\14\TEMPLATE\FEATURES\ to the feature. The SharePoint Feature's files must already be put in the proper directory, either manually or by using a solution installer.

If the AllExistingFeatures parameter is provided, the file system is scanned and any new features are installed. This is generally only used during deployment and upgrade.

Input Types

Return Types

Example

--------------EXAMPLE 1-----------------

Copy Code
Install-SPFeature -path "MyCustomFeature"

This example installs a new feature at $env:ProgramFiles\Common Files\Microsoft Shared\Web Server Extensions\14\TEMPLATE\FEATURES\MyCustomFeature/feature.xml.

--------------EXAMPLE 2-----------------

Copy Code
Install-SPFeature -AllExistingFeatures -Whatif

This example shows the unregistered features, available on the file system, that are installed if this command is run without the WhatIf parameter. This is commonly done after an upgrade process.

See Also

Reference

Get-SPFeature
Enable-SPFeature
Disable-SPFeature
Uninstall-SPFeature


Install-SPSolution
See Also Example
[image]

Published: May 12, 2010

Deploys an installed SharePoint solution in the farm.

Install-SPSolution [-Identity] <SPSolutionPipeBind> [-AllWebApplications <SwitchParameter>] [-AssignmentCollection <SPAssignmentCollection>] [-CASPolicies <SwitchParameter>] [-Confirm [<SwitchParameter>]] [-Force <SwitchParameter>] [-GACDeployment <SwitchParameter>] [-Language <UInt32>] [-Local <SwitchParameter>] [-Time <String>] [-WebApplication <SPWebApplicationPipeBind>] [-WhatIf [<SwitchParameter>]]
Install-SPSolution [[-Identity] <SPSolutionPipeBind>] -Synchronize <SwitchParameter> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-Language <UInt32>] [-WhatIf [<SwitchParameter>]]

Parameters

1

Parameter

Required

Type

Description

Identity

Required

Microsoft.SharePoint.PowerShell.SPSolutionPipeBind

Specifies the SharePoint solution to deploy.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a SharePoint solution (for example, SPSolution1); or an instance of a valid SPSolution object.

AllWebApplications

Optional

System.Management.Automation.SwitchParameter

Specifies that the new SharePoint solution is deployed for all SharePoint Web applications in the farm.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

CASPolicies

Optional

System.Management.Automation.SwitchParameter

Specifies that code access security (CAS) policies can be deployed for the new SharePoint solution.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

Force

Optional

System.Management.Automation.SwitchParameter

Forces the deployment of the new SharePoint solution.

GACDeployment

Optional

System.Management.Automation.SwitchParameter

Specifies that global assembly cache (GAC) can be deployed for the new SharePoint solution.

Language

Optional

System.UInt32

Specifies a language for the solution when a solution language package is deployed. If this parameter is not specified, zero ("0") is assumed. Use zero for solutions that are valid for all languages.

Local

Optional

System.Management.Automation.SwitchParameter

Deploys the solution on the active server computer.

Time

Optional

System.String

Specifies when the solution will be deployed. The default value is immediate deployment.

The type must be a valid DateTime value, in the form 2010, 5, 1.

WebApplication

Optional

Microsoft.SharePoint.PowerShell.SPWebApplicationPipeBind

Deploys the SharePoint solution for the specified SharePoint Web application.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of SharePoint Web application (for example, MyOfficeApp1); or an instance of a valid SPWebApplication object.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

2

Parameter

Required

Type

Description

Identity

Required

Microsoft.SharePoint.PowerShell.SPSolutionPipeBind

Specifies the SharePoint solution to deploy.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a SharePoint solution (for example, SPSolution1); or an instance of a valid SPSolution object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

Language

Optional

System.UInt32

Specifies a language for the solution when a solution language package is deployed. If this parameter is not specified, zero ("0") is assumed. Use zero for solutions that are valid for all languages.

Synchronize

Optional

System.Management.Automation.SwitchParameter

Synchronizes all solutions or the specified solution in the local farm.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

This cmdlet contains more than one parameter set. You may only use parameters from one parameter set, and you may not combine parameters from different parameter sets. For more information about how to use parameter sets, see Cmdlet Parameter Sets.

The Install-SPSolution cmdlet deploys an installed SharePoint solution in the farm. Use the Add-SPSolution cmdlet to install a SharePoint solution package io the farm.

Input Types

Return Types

Errors

Error | Description

Exceptions

Exceptions | Description

Example

------------------EXAMPLE------------------

Copy Code
Install-SPSolution -Identity contoso_solution.wsp -GACDeployment

This example deploys the installed SharePoint solution contoso_solution.wsp in the farm and specifies that GAC can be deployed for the new SharePoint solution.

See Also

Reference

Get-SPSolution
Add-SPSolution
Update-SPSolution
Uninstall-SPSolution
Remove-SPSolution
Remove-SPSolutionDeploymentLock


Install-SPUserSolution
See Also Example
[image]

Published: May 12, 2010

Activates a sandboxed solution in a site collection.

Install-SPUserSolution [-Identity] <SPUserSolutionPipeBind> -Site <SPSitePipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.SharePoint.PowerShell.SPUserSolutionPipeBind

Specifies the sandboxed solution to activate.

The type must be a valid name of a sandboxed solution (for example, UserSolution1); or an instance of a valid SPUserSolution object.

Site

Required

Microsoft.SharePoint.PowerShell.SPSitePipeBind

Activates the sandboxed solution for the specified site collection.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid URL, in the form http://server_name; or an instance of a valid SPSite object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Install-SPUserSolution cmdlet activates a sandboxed solution in a site collection. A user solution is a sandboxed solution.

Input Types

Return Types

Errors

Error | Description

Exceptions

Exceptions | Description

Example

-------------------EXAMPLE---------------------

Copy Code
Install-SPUserSolution -Identity contoso_solution.wsp -Site http://sitename

This example activates the sandboxed solution contoso_solution.wsp in the site http://sitename.

See Also

Reference

Update-SPUserSolution
Uninstall-SPUserSolution
Remove-SPUserSolution
Get-SPUserSolution
Add-SPUserSolution


New-SPSiteSubscriptionFeaturePack
See Also Example
[image]

Published: May 12, 2010

Creates a new SharePoint Feature set that can be used to limit the features available to a site subscription.

New-SPSiteSubscriptionFeaturePack [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

Use the New- SPSiteSubscriptionFeaturePack cmdlet to create a new SharePoint Feature set that limits the Features available to a specified site subscription.

SharePoint Feature sets are on an Allow List of SharePoint Features that can be associated with any site subscription. If a Feature set is assigned to a site subscription, only SPFeatures objects in that Feature set are available for use on the site collections and Webs that are members of the site subscription. Feature sets contain a list of the GUIDs of each Feature that is on an Allow List for associated site subscriptions.

Input Types

Return Types

Example

------------------EXAMPLE-----------------------

Copy Code
$fs = New- SPSiteSubscriptionFeaturePack

This example creates a new SharePoint Feature set and stores it in a variable.

See Also

Reference

Get-SPSiteSubscriptionFeaturePack
Add-SPSiteSubscriptionFeaturePackMember
New-SPSiteSubscriptionFeaturePack
Add-SPSiteSubscriptionFeaturePackMember


Remove-SPSiteSubscriptionFeaturePack
See Also Example
[image]

Published: May 12, 2010

Removes a SharePoint Feature set from a site subscription.

Remove-SPSiteSubscriptionFeaturePack [-Identity] <SPSiteSubscriptionFeaturePackPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.SharePoint.PowerShell.SPFeatureSetPipeBind

Specifies the Feature set object to delete.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; or a valid name of a feature set (for example, FeatureSet1); or an instance of a valid SPFeatureSet object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Remove- SPSiteSubscriptionFeaturePack cmdlet removes a SharePoint Feature set by specifying the GUID or Feature set object.

Input Types

Return Types

Example

-----------------EXAMPLE------------------------

Copy Code
Remove-SPFeatureSet -Identity "30daa535-b0fe-4d10-84b0-fb04029d161a"

This example removes a SharePoint Feature set that has the ID 30daa535-b0fe-4d10-84b0-fb04029d161a.

See Also

Reference

Get-SPSiteSubscriptionFeaturePack
New-SPSiteSubscriptionFeaturePack
Remove-SPSiteSubscriptionFeaturePack
Add-SPSiteSubscriptionFeaturePackMember


Remove-SPSiteSubscriptionFeaturePackMember
See Also Example
[image]

Published: May 12, 2010

Removes a feature definition from the provided SharePoint Feature set.

Remove-SPSiteSubscriptionFeaturePackMember [-Identity] <SPSiteSubscriptionFeaturePackPipeBind> -FeatureDefinition <SPFeatureDefinitionPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-WhatIf [<SwitchParameter>]]
Remove-SPSiteSubscriptionFeaturePackMember [-Identity] <SPSiteSubscriptionFeaturePackPipeBind> -AllFeatureDefinitions <SwitchParameter> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-WhatIf [<SwitchParameter>]]

Parameters

1

Parameter

Required

Type

Description

Identity

Required

Microsoft.SharePoint.PowerShell.SPFeatureSetPipeBind

Specifies the Feature set from which to remove a feature.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; or a valid name of a feature set (for example, FeatureSet1); or an instance of a valid SPFeatureSet object.

FeatureDefinition

Required

Microsoft.SharePoint.PowerShell.SPFeatureDefinitionPipeBind

Specifies the feature definition to be removed.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

2

Parameter

Required

Type

Description

Identity

Required

Microsoft.SharePoint.PowerShell.SPFeatureSetPipeBind

Specifies the Feature set from which to remove a feature.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; or a valid name of a feature set (for example, FeatureSet1); or an instance of a valid SPFeatureSet object.

AllFeatureDefinitions

Required

System.Management.Automation.SwitchParameter

Clears all features from the Feature set.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

This cmdlet contains more than one parameter set. You may only use parameters from one parameter set, and you may not combine parameters from different parameter sets. For more information about how to use parameter sets, see Cmdlet Parameter Sets.

The Remove-SPSiteSubscriptionFeaturePackMember cmdlet removes the provided FeatureDefintion parameter from the feature set specified by the Identity parameter. If the AllFeatureDefinitions flag is provided, all feature definitions are removed from the given Feature set.

Input Types

Return Types

Example

------------------EXAMPLE 1-----------------------

Copy Code
$FS = Get-SPSiteSubscriptionFeaturePack "30daa535-b0fe-4d10-84b0-fb04029d161a"
Copy Code
Remove-SPSiteSubscriptionFeaturePackMember -Identity $fs -FeatureDefinition (Get-SPFeature "PublishingSite")

This example removes the PublishingSite feature from the Feature set that has ID 30daa535-b0fe-4d10-84b0-fb04029d161a.

------------------EXAMPLE 2-----------------------

Copy Code
Get-SPSiteSubscriptionFeaturePack "30daa535-b0fe-4d10-84b0-fb04029d161a" | Remove-SPSiteSubscriptionFeaturePackMember -AllFeatureDefinitions

This example removes all features from the Feature set 30daa535-b0fe-4d10-84b0-fb04029d161a.

See Also

Reference

Add-SPSiteSubscriptionFeaturePackMember
Get-SPSiteSubscriptionFeaturePack
Remove-SPSiteSubscriptionFeaturePack


Remove-SPSolution
See Also Example
[image]

Published: May 12, 2010

Removes a SharePoint solution from a farm.

Remove-SPSolution [-Identity] <SPSolutionPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-Force <SwitchParameter>] [-Language <UInt32>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.SharePoint.PowerShell.SPSolutionPipeBind

Specifies the SharePoint solution to remove.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a SharePoint solution (for example, SPSolution1); or an instance of a valid SPSolution object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

Force

Optional

System.Management.Automation.SwitchParameter

Forces the removal of the SharePoint solution. You can use this parameter to remove SharePoint solutions that have been added to the server, even if they have not been deployed by using the Install-SPSolution cmdlet.

Language

Optional

System.UInt32

Removes the language pack for the specified language.

The type must be a valid language identifier; for example, 1033.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Remove-SPSolution cmdlet deletes a SharePoint solution from a farm. Before you use this cmdlet, you must use the Uninstall-SPSolution cmdlet to retract the solution files from the front-end Web server.

Input Types

Return Types

Errors

Error | Description

Exceptions

Exceptions | Description

Example

------------------EXAMPLE------------------

Copy Code
Remove-SPSolution -Identity contoso_solution.wsp

This example removes the SharePoint solution contoso_solution.wsp.

See Also

Reference

Get-SPSolution
Add-SPSolution
Update-SPSolution
Uninstall-SPSolution
Install-SPSolution


Remove-SPUserSolution
See Also Example
[image]

Published: May 12, 2010

Removes a sandboxed solution from the solution gallery.

Remove-SPUserSolution [-Identity] <String> -Site <SPSitePipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.SharePoint.PowerShell.SPUserSolutionPipeBind

Specifies the sandboxed solution to remove.

The type must be a valid name of a sandboxed solution (for example, UserSolution1); or an instance of a valid SPUserSolution object.

Site

Required

Microsoft.SharePoint.PowerShell.SPSitePipeBind

Remove the sandboxed solution from the specified site collection.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid URL, in the form http://server_name; or an instance of a valid SPSite object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Remove-SPUserSolution cmdlet completely removes a sandboxed solution from the solution gallery. Before you can remove the sandboxed solution from the solution gallery, you must deactivate it by using the Uninstall-SPUserSolution cmdlet.

Input Types

Return Types

Example

----------------EXAMPLE----------------------

Copy Code
Remove-SPUserSolution -Identity contoso_solution.wsp -Site http://sitename

This example removes the sandboxed solution contoso_solution.wsp from the site http://sitename.

See Also

Reference

Update-SPUserSolution
Install-SPUserSolution
Uninstall-SPUserSolution
Get-SPUserSolution
Add-SPUserSolution


Remove-SPSolutionDeploymentLock
See Also Example
[image]

Published: May 12, 2010

Removes the solution deployment lock for a server.

Remove-SPSolutionDeploymentLock [[-Identity] <SPServerPipeBind>] [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Optional

Microsoft.SharePoint.PowerShell.SPServerPipeBind

Specifies the server for which the solution deployment lock is to be removed.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; the IP address of a server computer, in the form 208.77.188.166; a valid name of a SQL Server host service (for example, SQLServerHost1); or an instance of a valid SPServer object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Remove-SPSolutionDeploymentLock cmdlet removes the solution deployment lock for a server. If the Identity parameter is not specified, this cmdlet removes the solution deployment lock for all servers in the farm.

Input Types

Return Types

Errors

Error | Description

Exceptions

Exceptions | Description

Example

------------------EXAMPLE------------------

Copy Code
Remove-SPSolutionDeploymentLock

This example removes the solution deployment lock for all servers in the farm.

See Also

Reference

Remove-SPSolution
Get-SPSolution
Add-SPSolution
Update-SPSolution
Uninstall-SPSolution
Install-SPSolution


Uninstall-SPFeature
See Also Example
[image]

Published: May 12, 2010

Uninstalls an installed feature definition.

Uninstall-SPFeature [-Identity] <SPFeatureDefinitionPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-Force <SwitchParameter>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Parameter

Microsoft.SharePoint.PowerShell.SPFeatureDefinitionPipeBind

Specifies the name of the feature or GUID to uninstall.

The type must be the name of the feature folder located in the <drive>:\program files\common files\Microsoft Shared\Web server extensions\14\template\features folder, or must be a GUID, in the form 21d186e1-7036-4092-a825-0eb6709e9281.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

Force

No

System.Management.Automation.SwitchParameter

Forces the uninstallation of a feature that is already installed.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Uninstall-SPFeature cmdlet removes the specified feature definition from the collection of feature definitions in the farm.

Input Types

Return Types

none

Errors

Error | Description

Exceptions

Exceptions | Description

Example

------------------EXAMPLE-----------------------

Copy Code
Uninstall-SPFeature -path "MyCustomFeature"

This example uninstalls the feature at $env:ProgramFiles\Common Files\Microsoft Shared Debug\Web Server Extensions\14\TEMPLATE\FEATURES\MyCustomFeature/feature.xml.

See Also

Reference

Get-SPFeature
Enable-SPFeature
Disable-SPFeature
Install-SPFeature


Uninstall-SPUserSolution
See Also Example
[image]

Published: May 12, 2010

Deactivates a sandboxed solution in a site collection.

Uninstall-SPUserSolution [-Identity] <SPUserSolutionPipeBind> -Site <SPSitePipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.SharePoint.PowerShell.SPUserSolutionPipeBind

Specifies the sandboxed solution to deactivate.

The type must be a valid name of a sandboxed solution (for example, UserSolution1); or an instance of a valid SPUserSolution object.

Site

Required

Microsoft.SharePoint.PowerShell.SPSitePipeBind

Deactivates the sandboxed solution for the specified site collection.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid URL, in the form http://server_name; or an instance of a valid SPSite object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Uninstall-SPUserSolution cmdlet deactivates a sandboxed solution in a site collection so that you can delete it by using the Remove-SPUserSolution cmdlet. A user solution is a sandboxed solution.

Input Types

Return Types

Example

------------------EXAMPLE---------------

Copy Code
Uninstall-SPUserSolution -Identity contoso_solution.wsp -Site http://sitename

This example deactivates the sandboxed solution contoso_solution.wsp on the site http://sitename.

See Also

Reference

Update-SPUserSolution
Install-SPUserSolution
Remove-SPUserSolution
Get-SPUserSolution
Add-SPUserSolution


Uninstall-SPSolution
See Also Example
[image]

Published: May 12, 2010

Retracts a deployed SharePoint solution.

Uninstall-SPSolution [-Identity] <SPSolutionPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-Language <UInt32>] [-Local <SwitchParameter>] [-Time <String>] [-WhatIf [<SwitchParameter>]]
Uninstall-SPSolution [-Identity] <SPSolutionPipeBind> -WebApplication <SPWebApplicationPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-Language <UInt32>] [-Local <SwitchParameter>] [-Time <String>] [-WhatIf [<SwitchParameter>]]
Uninstall-SPSolution [-Identity] <SPSolutionPipeBind> -AllWebApplications <SwitchParameter> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-Language <UInt32>] [-Local <SwitchParameter>] [-Time <String>] [-WhatIf [<SwitchParameter>]]

Parameters

1

Parameter

Required

Type

Description

Identity

Required

Microsoft.SharePoint.PowerShell.SPSolutionPipeBind

Specifies the SharePoint solution to uninstall.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a SharePoint solution (for example, SPSolution1); or an instance of a valid SPSolution object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

Language

Optional

System.UInt32

Uninstalls the language pack for the specified language.

The type must be a valid language identifier; for example, 1033.

Local

Optional

System.Management.Automation.SwitchParameter

Uninstalls the solution from the active server computer.

Time

Optional

System.String

Specifies when the solution will be uninstalled. The default value is immediate retraction.

The type must be a valid DateTime value, in the form 2010,12,05.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

2

Parameter

Required

Type

Description

Identity

Required

Microsoft.SharePoint.PowerShell.SPSolutionPipeBind

Specifies the SharePoint solution to uninstall.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a SharePoint solution (for example, SPSolution1); or an instance of a valid SPSolution object.

WebApplication

Required

Microsoft.SharePoint.PowerShell.SPWebApplicationPipeBind

Uninstalls the SharePoint solution for the specified SharePoint Web application.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; or a valid name of a SharePoint Web application (for example, MyOfficeApp1); or an instance of a valid SPWebApplication object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

Language

Optional

System.UInt32

Uninstalls the language pack for the specified language.

The type must be a valid language identifier; for example, 1033.

Local

Optional

System.Management.Automation.SwitchParameter

Uninstalls the solution from the active server computer.

Time

Optional

System.String

Specifies when the solution will be uninstalled. The default value is immediate retraction.

The type must be a valid DateTime value, in the form 2010,12,05.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

3

Parameter

Required

Type

Description

Identity

Required

Microsoft.SharePoint.PowerShell.SPSolutionPipeBind

Specifies the SharePoint solution to uninstall.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a SharePoint solution (for example, SPSolution1); or an instance of a valid SPSolution object.

AllWebApplications

Required

System.Management.Automation.SwitchParameter

Specifies that the new SharePoint solution will be uninstalled for all SharePoint Web applications in the farm.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

Language

Optional

System.UInt32

Uninstalls the language pack for the specified language.

The type must be a valid language identifier; for example, 1033.

Local

Optional

System.Management.Automation.SwitchParameter

Uninstalls the solution from the active server computer.

Time

Optional

System.String

Specifies when the solution will be uninstalled. The default value is immediate retraction.

The type must be a valid DateTime value, in the form 2010,12,05.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

This cmdlet contains more than one parameter set. You may only use parameters from one parameter set, and you may not combine parameters from different parameter sets. For more information about how to use parameter sets, see Cmdlet Parameter Sets.

The Uninstall-SPSolution cmdlet retracts a deployed SharePoint solution in preparation for removing it from the farm entirely. This cmdlet removes files from the front-end Web server. Use the Remove-SPSolution cmdlet to delete the solution package from the solution store of the farm; be sure to use the Remove-SPSolution cmdlet only after you have run Uninstall-SPSolution.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
Uninstall-SPUserSolution -Identity contoso_solution.wsp

This example retracts the deployed SharePoint solution contoso_solution.wsp.

See Also

Reference

Get-SPSolution
Add-SPSolution
Update-SPSolution
Remove-SPSolution
Install-SPSolution
Remove-SPSolutionDeploymentLock


Update-SPSolution
See Also Example
[image]

Published: May 12, 2010

Upgrades a deployed SharePoint solution.

Update-SPSolution [-Identity] <SPSolutionPipeBind> -LiteralPath <String> [-AssignmentCollection <SPAssignmentCollection>] [-CASPolicies <SwitchParameter>] [-Confirm [<SwitchParameter>]] [-Force <SwitchParameter>] [-GACDeployment <SwitchParameter>] [-Local <SwitchParameter>] [-Time <String>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.SharePoint.PowerShell.SPSolutionPipeBind

Specifies the SharePoint solution to deploy.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a SharePoint solution (for example, SPSolution1); or an instance of a valid SPSolution object.

LiteralPath

Required

System.String

Specifies the path to the solution package.

The type must be a valid path in either of the following forms:

- C:\folder_name

- \\server_name\folder_name

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

CASPolicies

Optional

System.Management.Automation.SwitchParameter

Specifies that Code Access Security (CAS) policies can be deployed for the new SharePoint solution.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

Force

Optional

System.Management.Automation.SwitchParameter

Forces the deployment of the new SharePoint solution.

GACDeployment

Optional

System.Management.Automation.SwitchParameter

Specifies that the new SharePoint solution can be deployed to the global assembly cache (GAC).

Local

Optional

System.Management.Automation.SwitchParameter

Deploys the solution on the local computer only.

Time

Optional

System.String

Specifies when the solution will be deployed. The default value is immediate deployment.

The type must be a valid DateTime value, in the form 2010, 5, 1.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Update-SPSolution cmdlet upgrades a deployed SharePoint solution in the farm. Use this cmdlet only if a new solution contains the same set of files and features as the deployed solution. If files and features are different, the solution must be retracted and redeployed by using the Uninstall-SPSolution and Install-SPSolution cmdlets, respectively.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
Update-SPSolution -Identity contoso_solution.wsp -LiteralPath c:\contoso_solution_v2.wsp -GACDeployment

This example upgrades the deployed SharePoint solution contoso_solution.wsp to the solution c:\contoso_solution_v2.wsp.

See Also

Reference

Get-SPSolution
Add-SPSolution
Uninstall-SPSolution
Remove-SPSolution
Install-SPSolution
Remove-SPSolutionDeploymentLock


Update-SPUserSolution
See Also Example
[image]

Published: May 12, 2010

Upgrades an activated sandboxed solution in a farm.

Update-SPUserSolution [-Identity] <SPUserSolutionPipeBind> -Site <SPSitePipeBind> -ToSolution <SPUserSolutionPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.SharePoint.PowerShell.SPUserSolutionPipeBind

Specifies the sandboxed solution to upgrade.

The type must be a valid name of a sandboxed solution (for example, UserSolution1); or an instance of a valid SPUserSolution object.

Site

Required

Microsoft.SharePoint.PowerShell.SPSitePipeBind

Upgrade the sandboxed solution for the specified site collection.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid URL, in the form http://server_name; or an instance of a valid SPSite object.

ToSolution

Required

Microsoft.SharePoint.PowerShell.SPUserSolutionPipeBind

Specifies the sandboxed solution you want to upgrade to.

The type must be a valid name of a sandboxed solution (for example, UserSolution1); or an instance of a valid SPUserSolution object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Update-SPUserSolution cmdlet upgrades a sandboxed solution that has already been activated in a specified site collection. A user solution is a sandboxed solution. Before you use this cmdlet to upgrade the activated solution, use the Add-SPUserSolution cmdlet to upload the upgraded solution to the solution gallery.

Input Types

Return Types

Example

------------------EXAMPLE---------------------

Copy Code
Update-SPUserSolution -Identity contoso_solution.wsp -Site http://sitename -ToSolution contoso_solution_v2.wsp

This example upgrades the sandboxed solution contoso_solution.wsp in the site http://sitename to the sandboxed solution contoso_solution_v2.wsp.

See Also

Reference

Install-SPUserSolution
Uninstall-SPUserSolution
Remove-SPUserSolution
Get-SPUserSolution
Add-SPUserSolution


General cmdlets (SharePoint Server 2010)
See Also

You can use Windows PowerShell cmdlets for general administration of a Microsoft SharePoint Server 2010 farm.

Cmdlet name | Description
Get-SPBrowserCustomerExperienceImprovementProgram | Returns the current opt-in state for the browser Customer Experience Improvement Program.
Get-SPHelpCollection | Returns Help collection files.
Install-SPHelpCollection | Installs the provided Help site collection files in the current farm.
Set-SPBrowserCustomerExperienceImprovementProgram | Turns on or off the browser Customer Experience Improvement Program.
Start-SPAssignment | Initiates a new assignment store.
Stop-SPAssignment | Disposes of objects in the provided assignment collection.
Uninstall-SPHelpCollection | Removes Help collection files.

See Also

Other Resources

Resource Center: Windows PowerShell for SharePoint Server 2010


Get-SPBrowserCustomerExperienceImprovementProgram
See Also Example
[image]

Published: May 12, 2010

Returns the current opt-in state for the browser Customer Experience Improvement Program.

Get-SPBrowserCustomerExperienceImprovementProgram -Farm <SwitchParameter> [-AssignmentCollection <SPAssignmentCollection>]
Get-SPBrowserCustomerExperienceImprovementProgram -WebApplication <SPWebApplicationPipeBind> [-AssignmentCollection <SPAssignmentCollection>]
Get-SPBrowserCustomerExperienceImprovementProgram -SiteSubscription <SPSiteSubscriptionPipeBind> [-AssignmentCollection <SPAssignmentCollection>]

Parameters

1

Parameter

Required

Type

Description

Farm

Required

System.Management.Automation.SwitchParameter

Specifies that the opt-in state for the farm is returned by this cmdlet.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

2

Parameter

Required

Type

Description

WebApplication

Required

Microsoft.SharePoint.PowerShell.SPWebApplicationPipeBind

Returns the opt-in state for the specified SharePoint Web application.

The type must be a valid URL, in the form http://server_name; a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of SharePoint Web application (for example, MyOfficeApp1); or an instance of a valid SPWebApplication object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

3

Parameter

Required

Type

Description

SiteSubscription

Required

Microsoft.SharePoint.PowerShell.SPSiteSubscriptionPipeBind

Returns the opt-in state for the specified site subscription.

The type must be a valid URL, in the form http://server_name; a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a site subscription (for example, SiteSubscription1); or an instance of a valid SiteSubscription object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Detailed Description

This cmdlet contains more than one parameter set. You may only use parameters from one parameter set, and you may not combine parameters from different parameter sets. For more information about how to use parameter sets, see Cmdlet Parameter Sets.

The Get-SPBrowserCustomerExperienceImprovementProgram cmdlet reads the current opt-in state for the browser Customer Experience Improvement Program.

Input Types

Return Types

Example

------------------EXAMPLE 1-----------------------

Copy Code
Get-SPBrowserCustomerExperienceImprovementProgram -WebApplication http://WebAppexample1

This example returns the current Customer Experience Improvement Program opt-in state for the Web application, WebAppexample1.

------------------EXAMPLE 2-----------------------

Copy Code
Get-SPSiteSubscription http://SiteSubscription1 | Get- SPBrowserCustomerExperienceImprovementProgram

The following example returns the Customer Experience Improvement Program opt-in state for the site subscription, SiteSubscription1.

See Also

Reference

Set-SPBrowserCustomerExperienceImprovementProgram


Get-SPHelpCollection
See Also Example
[image]

Published: May 12, 2010

Returns Help collection files.

Get-SPHelpCollection [-AssignmentCollection <SPAssignmentCollection>] [-Name <String>]

Parameters

Parameter Required Type Description

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Name

Optional

System.String

Specifies the name of the Help collection files to get.

The type must be a valid name of a Help collection folder; for example, HelpDocs1.

Detailed Description

The Get-SPHelpCollection cmdlet reads the specified Help collection files. If the Name parameter is not specified, this cmdlet returns all installed Help collection files.

Input Types

Return Types

Errors

Error | Description

Exceptions

Exceptions | Description

Example

------------------EXAMPLE------------------

Copy Code
Get-SPHelpCollection

This example gets all installed Help collection files.

See Also

Reference

Install-SPHelpCollection
Uninstall-SPHelpCollection


Install-SPHelpCollection
See Also Example
[image]

Published: May 12, 2010

Installs the provided Help site collection files in the current farm.

Install-SPHelpCollection -LiteralPath <String> [-AssignmentCollection <SPAssignmentCollection>]
Install-SPHelpCollection -All <SwitchParameter> [-AssignmentCollection <SPAssignmentCollection>]

Parameters

1

Parameter

Required

Type

Description

LiteralPath

Optional

System.String

Specifies the exact path to a specific custom Help file in the Help site collection cab file.

The type must be a valid path in either of the following forms:

- C:\folder_name

- \\server_name\folder_name

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

2

Parameter

Required

Type

Description

All

Required

System.Management.Automation.SwitchParameter

If the LiteralPath parameter is not specified, specifies that all Help Collection CABs under %Program Files%\Common Files\Microsoft Shared\Web Server Extensions\14\HCCab\<LCID> in the Help site collection are installed, and existing Help collections are overwritten.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Detailed Description

This cmdlet contains more than one parameter set. You may only use parameters from one parameter set, and you may not combine parameters from different parameter sets. For more information about how to use parameter sets, see Cmdlet Parameter Sets.

The Install-SPHelpCollection cmdlet installs the Help site collection files for SharePoint 2010 Products in the current farm. Use the LiteralPath parameter to install specific custom Help collection files. If the LiteralPath parameter is not specified, all available Help in the Help site collection is installed and existing Help collection files are overwritten.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
Install-SPHelpCollection -LiteralPath 'C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\HCCab\1033\OSSAdmin.cab'

This example installs the specified help collection in the current farm.

See Also

Reference

Get-SPHelpCollection
Uninstall-SPHelpCollection


Set-SPBrowserCustomerExperienceImprovementProgram
See Also Example
[image]

Published: May 12, 2010

Turns on or off the browser Customer Experience Improvement Program.

Set-SPBrowserCustomerExperienceImprovementProgram -Farm <SwitchParameter> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-Enable <SwitchParameter>] [-WhatIf [<SwitchParameter>]]
Set-SPBrowserCustomerExperienceImprovementProgram -WebApplication <SPWebApplicationPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-Enable <SwitchParameter>] [-WhatIf [<SwitchParameter>]]
Set-SPBrowserCustomerExperienceImprovementProgram -SiteSubscription <SPSiteSubscriptionPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-Enable <SwitchParameter>] [-WhatIf [<SwitchParameter>]]

Parameters

1

Parameter

Required

Type

Description

Farm

Required

System.Management.Automation.SwitchParameter

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

Enable

Optional

System.Management.Automation.SwitchParameter

Turns on the browser Customer Experience Improvement Program. The default value is True.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

2

Parameter

Required

Type

Description

WebApplication

Required

Microsoft.SharePoint.PowerShell.SPWebApplicationPipeBind

Sets the Customer Experience Improvement Program opt-in state for the specified SharePoint Web application.

The type must be a valid URL, in the form http://server_name; a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of SharePoint Web application (for example, MyOfficeApp1); or an instance of a valid SPWebApplication object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

Enable

Optional

System.Management.Automation.SwitchParameter

Turns on the browser Customer Experience Improvement Program. The default value is True.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

3

Parameter

Required

Type

Description

SiteSubscription

Required

Microsoft.SharePoint.PowerShell.SPSiteSubscriptionPipeBind

Sets the Customer Experience Improvement Program opt-in state for the specified site subscription.

The type must be a valid URL, in the form http://server_name; a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a site subscription (for example, SiteSubscription1); or an instance of a valid SiteSubscription object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

Enable

Optional

System.Management.Automation.SwitchParameter

Turns on the browser Customer Experience Improvement Program. The default value is True.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

This cmdlet contains more than one parameter set. You may only use parameters from one parameter set, and you may not combine parameters from different parameter sets. For more information about how to use parameter sets, see Cmdlet Parameter Sets.

The Set-SPBrowserCustomerExperienceImprovementProgram cmdlet turns on or off the browser Customer Experience Improvement Program for collecting software quality metrics.

Input Types

Return Types

Example

------------------EXAMPLE 1-----------------------

Copy Code
Set-SPBrowserCustomerExperienceImprovementProgram -Farm -Enable

This example turns on the browser Customer Experience Improvement Program for the farm.

------------------EXAMPLE 2-----------------------

Copy Code
Set-SPBrowserCustomerExperienceImprovementProgram -Farm -Enable:$False

This example turns off the browser Customer Experience Improvement Program for the farm.

------------------EXAMPLE 3-----------------------

Copy Code
Set-SPWebApplication http://MyOfficeApp1 | Get- SPBrowserCustomerExperienceImprovementProgram -Enable

This example turns on the browser Customer Experience Improvement Program for the Web application, MyOfficeApp1.

See Also

Reference

Get-SPBrowserCustomerExperienceImprovementProgram


Start-SPAssignment
See Also Example
[image]

Published: May 12, 2010

Initiates a new assignment store.

Start-SPAssignment [-AssignmentCollection <SPAssignmentCollection>] [-Global <SwitchParameter>]

Parameters

Parameter Required Type Description

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Global

Optional

System.Management.Automation.SwitchParameter

If you use this parameter, all objects are assigned to the lifetime of the script and are disposed of when the Stop-SPAssignment cmdlet is called.

If you do not use this parameter, you must assign the output of this cmdlet to a variable and then dispose of objects by using the Identity parameter of the Stop-SPAssignment cmdlet.

Detailed Description

The Start-SPAssignment cmdlet properly disposes of objects used with variable assignments.

Large amounts of memory are often required when SPWeb, SPSite, or SPSiteAdminsitration objects are used. So the use of these objects, or lists of these objects, in Windows PowerShell scripts requires proper memory management. By default, all Get commands dispose of these objects immediately after the pipeline finishes, but by using SPAssignment, you can assign the list of objects to a variable and dispose of the objects after they are no longer needed. You can also ensure that the objects remain as long as you need them, even throughout multiple iterations of commands.

There are three levels of assignment:

-- No assignment — The object is not assigned to a variable and is disposed of after each iteration of the command.

-- Simple assignment — All objects are assigned to the global assignment store. This is done by using the Global parameter. When using this level, all objects are assigned to a global store and are disposed of when the Stop-SPAssignment cmdlet is called.

-- Advanced assignment — Objects are assigned to named stores for disposal. You can dispose of objects by using the Identity parameter with the Stop-SPAssignment cmdlet.

Note:

Regardless of the assignment level used, all objects are disposed of when the Windows PowerShell run space is closed.

Input Types

Return Types

SPAssignmentCollection

Errors

Error | Description

Exceptions

Exceptions | Description

Example

------------------EXAMPLE 1-----------------------

Copy Code
Start-SPAssignment -global
Copy Code
$w = Get-SPWeb http://MyWeb
Copy Code
$w | Set-SPWeb -title "Accounting"
Copy Code
Stop-SPAssignment -global

This example uses simple assignment. Although it is easier to use simple assignment, it is not a good idea to run commands that iterate through multiple SPSite or SPWeb objects while simple assignment is enabled. Ensure that you run Stop-SPAssignment before you attempt any iterations of multiple objects.

------------------EXAMPLE 2-----------------------

Copy Code
$gc = Start-SPAssignment
Copy Code
$web = $gc | Get-SPWeb http://MyWeb
Copy Code
$web | Set-SPWeb -title "Accounting"
Copy Code
Stop-SPAssignment -Identity $gc

This example sets the title of the SPWeb object in multiple lines and controls the rate of disposal. This is an advanced example. Only developers are advised to use it.

See Also

Reference

Stop-SPAssignment


Stop-SPAssignment
See Also Example
[image]

Published: May 12, 2010

Disposes of objects in the provided assignment collection.

Stop-SPAssignment [[-SemiGlobal] <SPAssignmentCollection>] [-AssignmentCollection <SPAssignmentCollection>] [-Global <SwitchParameter>]

Parameters

Parameter Required Type Description

SemiGlobal

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentColletion

Provides the assignment collector from which to dispose of objects.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Global

Optional

System.Management.Automation.SwitchParameter

Stops the global assignment collector from storing objects, and disposes of any objects contained by the global assignment collector.

Detailed Description

The Stop-SPAssignment cmdlet disposes of objects in the provided assignment collection. Use the Global parameter to dispose of all objects in the global assignment collector and to stop the global store from collecting additional objects. Provide a SemiGlobal assignment collector to dispose of all contained objects.

Input Types

Return Types

Errors

Error | Description

Exceptions

Exceptions | Description

Example

------------------EXAMPLE------------------

Copy Code
Start-SPAssignment -global
Copy Code
$w = Get-SPWeb http://MyWeb
Copy Code
$w | Set-SPWeb -title "Accounting"
Copy Code
Stop-SPAssignment -global

This example uses simple assignment. While easier to use simple assignment, running commands that iterate through multiple SPSite or SPWeb objects while simple assignment is enabled is not recommended. Ensure that Stop-SPAssignment is run before attempting any iterations of multiple objects.

See Also

Reference

Start-SPAssignment


Uninstall-SPHelpCollection
See Also Example
[image]

Published: May 12, 2010

Removes Help collection files.

Uninstall-SPHelpCollection -Name <String> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Name

Required

System.String

Specifies the name of the Help collection files to uninstall.

The type must be a valid name of a Help collection; for example, HelpDocs1.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Uninstall-SPHelpCollection cmdlet removes the specified Help collection files from the product Help library in the current farm.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
Uninstall-SPHelpCollection - Name "OSSAdmin.1033"

This example uninstalls a Help collection. The folder name of the Help collection to uninstall is OSSAdmin.1033.

See Also

Reference

Get-SPHelpCollection
Install-SPHelpCollection


Health monitoring cmdlets (SharePoint Server 2010)

Published: March 31, 2011

You can use Windows PowerShell cmdlets to create and manage health analyzer rules in a Microsoft SharePoint Server 2010 farm.

The SPHealthAnalysisRule cmdlets were first introduced in the February 2011 Cumulative Update, which is available for download here: Description of the SharePoint Server 2010 Cumulative Update Server Hotfix Package (MOSS server-package)

Cmdlet name | Description
Disable-SPHealthAnalysisRule | Disables a health analyzer rule.
Enable-SPHealthAnalysisRule | Enables a health analyzer rule.
Get-SPHealthAnalysisRule | Gets a health analyzer rule.


Get-SPHealthAnalysisRule
See Also Example
[image]

Published: March 31, 2011

Gets a health analyzer rule.

Get-SPHealthAnalysisRule [-AssignmentCollection <SPAssignmentCollection>]
Get-SPHealthAnalysisRule [-Identity] <SPHealthAnalysisRuleInstancePipeBind> [-AssignmentCollection <SPAssignmentCollection>]

Parameters

1

Parameter

Required

Type

Description

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

2

Parameter

Required

Type

Description

Identity

Required

Microsoft.SharePoint.PowerShell.SPHealthAnalysisRuleInstancePipeBind

Specifies the name or GUID of the health analyzer rule to get.

The type must be a valid name, an instance of a valid SPHealthAnalysisRule object, or a valid GUID (for example, 12345678-90ab-cdef-1234-567890bcdefgh).

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Detailed Description

This cmdlet contains more than one parameter set. You may only use parameters from one parameter set, and you may not combine parameters from different parameter sets. For more information about how to use parameter sets, see Cmdlet Parameter Sets.

Use the Get-SPHealthAnalysisRule cmdlet to return a list of a health analyzer rules. To return a specify health analyzer rule, use the Identity parameter; otherwise, all health analyzer rules will be returned.

The SPHealthAnalysisRule cmdlets were first introduced in the February 2011 Cumulative Update, which is available for download as follows:

  • Description of the SharePoint Foundation 2010 Cumulative Update Server Hotfix Package (SharePoint Foundation server-package)

  • Description of the SharePoint Server 2010 Cumulative Update Server Hotfix Package (MOSS server-package

Input Types

Return Types

Example

---------------------EXAMPLE 1---------------------------

Copy Code
Get-SPHealthAnalysisRule -Identity "CustomRule"

This example returns the health analyzer rule named CustomRule.

See Also

Reference

Disable-SPHealthAnalysisRule
Enable-SPHealthAnalysisRule


Enable-SPHealthAnalysisRule
See Also Example
[image]

Published: March 31, 2011

Enables a health analyzer rule.

Enable-SPHealthAnalysisRule [-Identity] <SPHealthAnalysisRuleInstancePipeBind> [-AssignmentCollection <SPAssignmentCollection>]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.SharePoint.PowerShell.SPHealthAnalysisRuleInstancePipeBind

Specifies the name or GUID of the health analyzer rule to enable.

The type must be a valid name, an instance of a valid SPHealthAnalysisRule object, or a valid GUID (for example, 12345678-90ab-cdef-1234-567890bcdefgh).

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Detailed Description

Use the Enable-SPHealthAnalysisRule cmdlet to enable a health analyzer rule.

Note:

The SPHealthAnalysisRule cmdlets were first introduced in the February 2011 Cumulative Update, which is available for download as follows:

  • Description of the SharePoint Foundation 2010 Cumulative Update Server Hotfix Package (SharePoint Foundation server-package)

  • Description of the SharePoint Server 2010 Cumulative Update Server Hotfix Package (MOSS server-package

Input Types

Return Types

Example

---------------------EXAMPLE 1---------------------------

Copy Code
Enable-SPHealthAnalysisRule -Identity "CustomRule"

This example enables the health analyzer rule named CustomRule.

See Also

Reference

Disable-SPHealthAnalysisRule
Get-SPHealthAnalysisRule


Disable-SPHealthAnalysisRule
See Also Example
[image]

Published: March 31, 2011

Disables health analyzer rules.

Disable-SPHealthAnalysisRule [-Identity] <SPHealthAnalysisRuleInstancePipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.SharePoint.PowerShell.SPHealthAnalysisRuleInstancePipeBind

Specifies the name or GUID of the health analyzer rule to disable.

The type must be a valid name; an instance of a valid SPHealthAnalysisRule object, or a valid GUID (for example, 12345678-90ab-cdef-1234-567890bcdefgh).

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

Use the Disable-SPHealthAnalysisRule cmdlet to disable a health analyzer rule.

Note:

The SPHealthAnalysisRule cmdlets were first introduced in the February 2011 Cumulative Update, which is available for download as follows:

  • Description of the SharePoint Foundation 2010 Cumulative Update Server Hotfix Package (SharePoint Foundation server-package)

  • Description of the SharePoint Server 2010 Cumulative Update Server Hotfix Package (MOSS server-package

Input Types

Return Types

Example

---------------------EXAMPLE 1---------------------------

Copy Code
Disable-SPHealthAnalysisRule -Identity "CustomRule"

This example disables the health analyzer rule named CustomRule.

See Also

Reference

Enable-SPHealthAnalysisRule
Get-SPHealthAnalysisRule


Import and export cmdlets (SharePoint Server 2010)
See Also

You can use Windows PowerShell to import or export a site collection, Web application, list, or library.

Cmdlet name | Description
Import-SPWeb | Imports a site collection, Web application, list, or library.
Export-SPWeb | Exports a site collection, Web application, list, or library.

See Also

Other Resources

Resource Center: Windows PowerShell for SharePoint Server 2010


Import-SPWeb
See Also Example
[image]

Published: May 12, 2010

Imports a web, list, or library.

Import-SPWeb [-Identity] <SPWebPipeBind> -Path <String> [-ActivateSolutions <SwitchParameter>] [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-Force <SwitchParameter>] [-HaltOnError <SwitchParameter>] [-HaltOnWarning <SwitchParameter>] [-IncludeUserCustomAction <None | All>] [-IncludeUserSecurity <SwitchParameter>] [-NoFileCompression <SwitchParameter>] [-NoLogFile <SwitchParameter>] [-UpdateVersions <Append | Overwrite | Ignore>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.SharePoint.PowerShell.SPWebPipeBind

Specifies the URL or GUID of the Web to import into.

The type must be a valid URL, GUID, or object; for example, a valid URL, in the form http://server_name, or a GUID, in the form, 1234-4567-5678a.

Path

Required

System.String

Specifies the name of the import file.

If the NoFileCompression parameter is used, a directory must be specified; otherwise, any file format is valid.

ActivateSolutions

Optional

System.Management.Automation.SwitchParameter

Specifies whether user solutions are activated during import.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

Force

Optional

System.Management.Automation.SwitchParameter

Forcefully overwrites the export package if it already exists.

The type must be either of the following values

-True

-False

The default value is False.

HaltOnError

Optional

System.Management.Automation.SwitchParameter

Stops the import process when an error occurs.

HaltOnWarning

Optional

System.Management.Automation.SwitchParameter

Stops the import process when a warning occurs.

IncludeUserCustomAction

Optional

Microsoft.SharePoint.Deployment.SPIncludeUserCustomAction

Specifies whether User Custom Actions are included during import.

IncludeUserSecurity

Optional

System.Management.Automation.SwitchParameter

Preserves the user security settings except for SPLists that have broken inheritance and item level permissions set.

NoFileCompression

Optional

System.Management.Automation.SwitchParameter

Either enables or disables file compression in the import package. The import package is stored in the folder specified by the Path parameter or Identity parameter. We recommend that you use this parameter for performance reasons. If compression is enabled, the import process can increase by approximately 30 percent.

NoLogFile

Optional

System.Management.Automation.SwitchParameter

Suppresses the generation of an import log file. If this parameter is absent, the Import-SPWeb cmdlet will generate an export log file in the same location as the export package. The log file uses Unified Logging Service (ULS).

We recommend that you use this parameter. However, for performance reasons, you might not want to generate a log file.

UpdateVersions

No

Microsoft.SharePoint.Deployment.SPUpdateVersions

Indicates how to resolve situations where a file to be imported to a site already exists in that site. If the UpdateVersions parameter is absent, the import operation by default uses a value of 1.

The type must be any one of the following:

-Add new versions to the current file

-Overwrite the file and all of its versions (delete then insert)

-Ignore the file if it exists on the destination

The default value is Add new versions to the current file.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Import-SPWeb cmdlet imports a web, list, or library. The capability to import from a library is a new feature in SharePoint 2010 Products.

Input Types

Return Types

Example

---------------------EXAMPLE----------------------

Copy Code
Import-SPWeb http://site -Path export.cmp -UpdateVersions -Overwrite

This example imports the contents of export.cmp into a site at http://site, overwriting the versioned content on the site with the contents of the export.cmp file.

See Also

Reference

Export-SPWeb
Get-SPWeb
New-SPWeb
Remove-SPWeb
Set-SPWeb


Export-SPWeb
See Also Example
[image]

Published: May 12, 2010

Exports a site, list, or library.

Export-SPWeb [-Identity] <SPWebPipeBind> -Path <String> [-AssignmentCollection <SPAssignmentCollection>] [-CompressionSize <Int32>] [-Confirm [<SwitchParameter>]] [-Force <SwitchParameter>] [-HaltOnError <SwitchParameter>] [-HaltOnWarning <SwitchParameter>] [-IncludeUserSecurity <SwitchParameter>] [-IncludeVersions <LastMajor | CurrentVersion | LastMajorAndMinor | All>] [-ItemUrl <String>] [-NoFileCompression <SwitchParameter>] [-NoLogFile <SwitchParameter>] [-UseSqlSnapshot <SwitchParameter>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.SharePoint.PowerShell.SPWebPipeBind

Specifies the URL or GUID of the Web to be exported.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a SharePoint site (for example, MySPSite1); or an instance of a valid SPWeb object.

Path

Required

System.String

Specifies the name of the export file.

If the NoFileCompression parameter is used, a directory must be specified; otherwise, any file format is valid.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

CompressionSize

Optional

System.Int32

Sets the maximum file size for the compressed export files. If the total size of the exported package is greater than this size, the exported package will be split into multiple files.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

Force

Optional

System.Management.Automation.SwitchParameter

Forcefully overwrites the export package if it already exists.

The type must be either of the following values:

-True

-False

The default value is False.

HaltOnError

Optional

System.Management.Automation.SwitchParameter

Stops the export process when an error occurs.

HaltOnWarning

Optional

System.Management.Automation.SwitchParameter

Stops the export process when a warning occurs.

IncludeUserSecurity

Optional

System.Management.Automation.SwitchParameter

Preserves the user security settings except for SPLists that have broken inheritance and item level permissions set.

IncludeVersions

Optional

Microsoft.SharePoint.Deployment.SPIncludeVersions

Indicates the type of file and list item version history to be included in the export operation. If the IncludeVersions parameter is absent, the Export-SPWeb cmdlet by default uses a value of 1.

The type must be any one of the following versions:

-Last major version for files and list items (default)

-The current version, either the last major version or the last minor version

-Last major and last minor version for files and list items

-All versions for files and list items

ItemUrl

Optional

System.string

Specifies the URL of the Web application, GUID, or object to be exported.

The type must be a valid URL; for example, http://server_name.

NoFileCompression

Optional

System.Management.Automation.SwitchParameter

Either enables or disables file compression in the export package. The export package is stored in the folder specified by the Path parameter or Identity parameter. We recommend that you use this parameter for performance reasons. If compression is enabled, the export process can increase by approximately 30 percent.

NoLogFile

Optional

System.Management.Automation.SwitchParameter

Suppresses the generation of an export log file. If this parameter is not specified, the Export-SPWeb cmdlet will generate an export log file in the same location as the export package. The log file uses Unified Logging Service (ULS).

It is recommended to use this parameter. However, for performance reasons, you might not want to generate a log file.

UseSqlSnapshot

Optional

System.Management.Automation.SwitchParameter

Specifies a SQL Database Snapshot will be created when the export process begins, and all exported data will be retrieved directly from the database snapshot. This snapshot will be automatically deleted when export completes.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Export-SPWeb cmdlet exports a site, list, or library. The capability to export from a library is a new feature in SharePoint 2010 Products.

Input Types

Return Types

Example

--------------------EXAMPLE-----------------------.

Copy Code
Export-SPWeb http://site -Path "site export.cmp"

This example exports the site at http://site/ to a file called site export.cmp in the current directory.

See Also

Reference

Get-SPWeb
New-SPWeb
Set-SPWeb
Import-SPWeb
Remove-SPWeb


InfoPath Services cmdlets (SharePoint Server 2010)
See Also

InfoPath Forms Services is a service in Microsoft SharePoint Server 2010 that you can use to view, edit, and configure a form template in Microsoft InfoPath 2010 or viewed within a Web browser.

All InfoPath Forms Services settings will support backup and recovery regardless of whether there is a UI setting in the Central Administration Web site. However, backup and recovery only apply to the service and administrative-level settings; end-user content is not backed up as part of this process.

Cmdlet name | Description
Add-SPInfoPathUserAgent | Adds a user agent to a farm.
Disable-SPInfoPathFormTemplate | Deactivates an InfoPath 2010 form template from the specified site collection.
Enable-SPInfoPathFormTemplate | Activates an InfoPath 2010 form template in the specified site collection.
Export-SPInfoPathAdministrationFiles | Saves InfoPath 2010 form templates on the SharePoint Central Administration Web site and .udcx files to a .cab file.
Get-SPDataConnectionFile | Returns a data connection file or a collection of data connection files.
Get-SPDataConnectionFileDependent | Returns deployed forms on the server dependent on a universal data connection.
Get-SPInfoPathFormsService | Returns the InfoPath Forms Services in SharePoint Server 2010 settings that are in the farm.
Get-SPInfoPathFormTemplate | Returns an InfoPath 2010 form template.
Get-SPInfoPathUserAgent | Returns a user agent or all the currently defined user agents for the farm.
Get-SPInfoPathWebServiceProxy | Returns the Web proxy settings for the Web application.
Import-SPInfoPathAdministrationFiles | Imports InfoPath 2010 form templates and .udcx files that are located on the SharePoint Central Administration Web site.
Install-SPDataConnectionFile | Installs the provided data connection file.
Install-SPInfoPathFormTemplate | Installs an InfoPath 2010 form template on a farm.
Remove-SPInfoPathUserAgent | Removes a user agent.
Set-SPDataConnectionFile | Sets properties of a data connection file.
Set-SPInfoPathFormsService | Sets parameters for InfoPath Forms Services in SharePoint Server 2010.
Set-SPInfoPathFormTemplate | Sets properties of an InfoPath 2010 form template.
Set-SPInfoPathWebServiceProxy | Sets parameters for an existing SharePoint Web service application.
Start-SPInfoPathFormTemplate | Activates a previously quiesced InfoPath 2010 form template.
Stop-SPInfoPathFormTemplate | Disables an InfoPath 2010 form template on a farm before an upgrade.
Test-SPInfoPathFormTemplate | Validates that an InfoPath 2010 form template is browser-enabled.
Uninstall-SPDataConnectionFile | Removes a data connection file.
Uninstall-SPInfoPathFormTemplate | Removes an InfoPath 2010 form template from a farm.
Update-SPInfoPathUrl | Updates InfoPath 2010 form templates (.xsn files) and universal data connections (.udcx files), including all .xsn files and .udcx files that were deployed by an administrator.
Update-SPInfoPathFormTemplate | Upgrades all InfoPath 2010 form templates on the farm.

See Also

Other Resources

Resource Center: Windows PowerShell for SharePoint Server 2010


Add-SPInfoPathUserAgent
See Also Example
[image]

Published: May 12, 2010

Adds a user agent to a farm.

Add-SPInfoPathUserAgent [-Name] <String> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Name

Required

System.String

Specifies the name of the user agent to receive Microsoft InfoPath 2010 files. These user agents represent search bots that are commonly used in an enterprise environment. If a different search technology is being used and InfoPath 2010 files are not being indexed, you can add additional search bots for that technology to the collection.

The type must be a valid file name; for example UserAgentName1.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Add-SPInfoPathUserAgent cmdlet creates a user agent to receive the .xml file that contains the data of the form for indexing. The user agent receives the InfoPath 2010 files from InfoPath Forms Services in Microsoft SharePoint Server 2010 instead of Web pages in response to an HTTP request.

Input Types

Return Types

Example

------------EXAMPLE-----------------

Copy Code
Add-SPInfoPathUserAgent -Name "NewAgent"

This example creates a new agent named NewAgent.

See Also

Reference

Get-SPInfoPathUserAgent
Remove-SPInfoPathUserAgent


Disable-SPInfoPathFormTemplate
See Also Example
[image]

Published: May 12, 2010

Deactivates a Microsoft InfoPath 2010 form template from the specified site collection.

Disable-SPInfoPathFormTemplate [-Identity] <SPFormTemplatePipeBind> -Site <SPSitePipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.Office.InfoPath.Server.Cmdlet.SPFormTemplatePipeBind

Specifies the InfoPath 2010 form template to disable.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a form template (for example, InfoPathFormTemplate1); a valid name of a form template files (for example, FormTemplateFile1.xsn); or an instance of a valid SPFormTemplate object.

Site

Required

Microsoft.SharePoint.PowerShell.SPSitePipeBind

Specifies the site collection that contains the InfoPath 2010 form template to deactivate.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid URL, in the form http://server_name; or an instance of a valid SPSite object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Disable-SPInfoPathFormTemplate cmdlet deactivates the InfoPath 2010 form template that is specified in the Identity parameter.

Input Types

Return Types

Example

---------------EXAMPLE--------------

Copy Code
Disable-SPInfoPathFormTemplate -Identity "FormTemplate.xsn" -Site http://testSite
Copy Code
"FormTemplatexsn" | Disable-SPInfoPathFormTemplate -Site "http://testSite"

This example deactivates an InfoPath 2010 form template from a site collection named TestSite.

See Also

Reference

Enable-SPInfoPathFormTemplate
Get-SPInfoPathFormTemplate
Install-SPInfoPathFormTemplate
Set-SPInfoPathFormTemplate
Start-SPInfoPathFormTemplate
Stop-SPInfoPathFormTemplate
Test-SPInfoPathFormTemplate
Uninstall-SPInfoPathFormTemplate
Update-SPInfoPathFormTemplate


Enable-SPInfoPathFormTemplate
See Also Example
[image]

Published: May 12, 2010

Activates a Microsoft InfoPath 2010 form template in the specified site collection.

Enable-SPInfoPathFormTemplate [-Identity] <SPFormTemplatePipeBind> -Site <SPSitePipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.Office.InfoPath.Server.Cmdlet.SPFormTemplatePipeBind

Specifies the InfoPath 2010 form template to activate. The form template must be an administrator-approved, browser-enabled form template that is available on the server farm.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a form template (for example, InfoPathFormTemplate1); a valid name of a form template files (for example, FormTemplateFile1.xsn); or an instance of a valid SPFormTemplate object.

Site

Required

Microsoft.SharePoint.PowerShell.SPSitePipeBind

Specifies the site collection that contains the InfoPath 2010 form template to activate.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid URL, in the form http://server_name; or an instance of a valid SPSite object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Enable-SPInfoPathFormTemplate cmdlet activates an InfoPath 2010 form template to the SharePoint site collection specified in the Site parameter. This cmdlet returns a new InfoPath 2010 form template.

Input Types

Return Types

Example

--------------EXAMPLE-----------------

Copy Code
Enable-SPInfoPathFormTemplate -Identity "FormTemplate.xsn" -Site "http://TestSite"
Copy Code
"FormTemplatexsn" | Enable-SPInfoPathFormTemplate -Site "http://TestSite"

This example activates an InfoPath 2010 form template to a site collection named TestSite.

See Also

Reference

Disable-SPInfoPathFormTemplate
Get-SPInfoPathFormTemplate
Install-SPInfoPathFormTemplate
Set-SPInfoPathFormTemplate
Start-SPInfoPathFormTemplate
Stop-SPInfoPathFormTemplate
Test-SPInfoPathFormTemplate
Uninstall-SPInfoPathFormTemplate
Update-SPInfoPathFormTemplate


Export-SPInfoPathAdministrationFiles
See Also Example
[image]

Published: May 12, 2010

Saves Microsoft InfoPath 2010 form templates on the SharePoint Central Administration Web site and .udcx files to a .cab file.

Export-SPInfoPathAdministrationFiles [-Path] <String> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-Identity <SPFormsServicePipeBind>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Path

Required

System.String

Specifies the location and name of the output .cab file.

The type must be a valid file path, in the form \\ipadmin\folder\backups1\ipfsfiles.cab.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

Identity

Optional

Microsoft.Office.InfoPath.Server.Cmdlet.SPFormsServicePipeBind

Specifies the site collection that contains the InfoPath 2010 form template and Central Administration .udcx files to export.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid URL, in the form http://server_name; or an instance of a valid SPSite object.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Export-SPInfoPathAdministrationFiles cmdlet saves all InfoPath 2010 form templates (.xsn files) and universal data connections (.udcx files) that are located on the Central Administration page. The backup package includes all workflow forms in Microsoft InfoPath that were deployed by an administrator and not included with Microsoft SharePoint Server 2010, and includes browser forms that were deployed by an administrator. The backup package is output to the specified .cab file.

Input Types

Return Types

Example

---------------EXAMPLE--------------

Copy Code
Export-SPInfoPathAdministrationFiles -path d:\file.cab

This example saves all InfoPath 2010 form templates (.xsn files) and universal data connections (.udcx files) located on the SharePoint Central Administration Web site in a compressed cabinet file named file.cab.

See Also

Reference

Import-SPInfoPathAdministrationFiles


Get-SPDataConnectionFile
See Also Example
[image]

Published: May 12, 2010

Returns a data connection file or a collection of data connection files.

Get-SPDataConnectionFile [[-Identity] <SPDataConnectionFilePipeBind>] [-AssignmentCollection <SPAssignmentCollection>]

Parameters

Parameter Required Type Description

Identity

Optional

Microsoft.Office.InfoPath.Server.Cmdlet.SPDataConnectionFilePipeBind

Specifies the data file connection to get.

The type must be a valid GUID, in form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a data connection file (for example, DataConnectionFileName1.udcx); or an instance of a valid SPDataConnectionFile object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Detailed Description

The Get-SPDataConnectionFile cmdlet gets a specified data connection file or a collection of data connection files. If the Identity parameter is not specified, the cmdlet returns the collection of data connection files for the farm.

Input Types

Return Types

Example

---------------EXAMPLE 1--------------

Copy Code
Get-SPDataConnectionFile

This example lists the Identity, DisplayName, and WebAccessible properties ofeach .udcx file.

---------------EXAMPLE 2--------------

Copy Code
"Sample.udcx" | Get-SPDataConnectionFile

This example lists the Identity, DisplayName, and WebAccessible properties of the specified file, named Sample.udcx.

---------------EXAMPLE 3--------------

Copy Code
Get-SPDataConnectionFile | where {$_.Category -eq "Category1"}

This example lists the Identity, DisplayName, and WebAccessible properties of all .udcx files with the specified Category.

See Also

Reference

Install-SPDataConnectionFile
Set-SPDataConnectionFile
Uninstall-SPDataConnectionFile


Get-SPDataConnectionFileDependent
Example
[image]

Published: May 12, 2010

Returns deployed forms on the server dependent on a universal data connection.

Get-SPDataConnectionFileDependent [-Identity] <SPDataConnectionFilePipeBind> [-AssignmentCollection <SPAssignmentCollection>]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.Office.InfoPath.Server.Cmdlet.SPDataConnectionFilePipeBind

Specifies the data connection file to get.

The type must be a valid GUID, in form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a data connection file (for example, DataConnectionFileName1.udcx); or an instance of a valid SPDataConnectionFile object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Detailed Description

The Get-SPDataConnectionFileDependent returns all administrator deployed forms that depend on a specified universal data connection (.udc) file located in the central data connection store.

Input Types

Return Types

Example

--------------EXAMPLE-----------------

Copy Code
Get-SPDataConnectionFileDependant -Identity "FileName.udcx
Copy Code
"FileName.udcx" | Get-SPDataConnectionFileDependant

This example displays a list of deployed forms with a specified name.


Get-SPInfoPathFormsService
See Also Example
[image]

Published: May 12, 2010

Returns the InfoPath Forms Services in Microsoft SharePoint Server 2010 settings that are in the farm.

Get-SPInfoPathFormsService [-AssignmentCollection <SPAssignmentCollection>] [-Identity <SPFormsServicePipeBind>]

Parameters

Parameter Required Type Description

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Identity

Optional

Microsoft.Office.InfoPath.Server.Cmdlet.SPFormsServicePipeBind

Specifies the InfoPath Forms Services settings to get.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a forms service (for example, FormsService1); or an instance of a valid SPFormsService object.

Detailed Description

The Get-SPInfoPathFormsService cmdlet reads the settings for the InfoPath Forms Services in SharePoint Server 2010.

Input Types

Return Types

Example

-----------EXAMPLE----------------

Copy Code
Get-SPInfoPathFormsService

This example displays the InfoPath Forms Services settings for the entire farm.

See Also

Reference

Set-SPInfoPathFormsService


Get-SPInfoPathFormTemplate
See Also Example
[image]

Published: May 12, 2010

Returns a Microsoft InfoPath 2010 form template.

Get-SPInfoPathFormTemplate [[-Identity] <SPFormTemplatePipeBind>] [-AssignmentCollection <SPAssignmentCollection>]

Parameters

Parameter Required Type Description

Identity

Optional

Microsoft.Office.InfoPath.Server.Cmdlet.SPFormTemplatePipeBind

Specifies the InfoPath 2010 form template to get.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a form template (for example, InfoPathFormTemplate1); a valid name of a form template files (for example, FormTemplateFile1.xsn); or an instance of a valid SPFormTemplate object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Detailed Description

The Get-SPInfoPathFormTemplate cmdlet reads a specific InfoPath 2010 form template or the collection of templates. If the Identity parameter is not specified, the cmdlet returns the collection of InfoPath 2010 form templates for the farm.

Input Types

Return Types

Example

---------------EXAMPLE 1--------------

Copy Code
Get-SPInfoPathFormTemplate

This example lists the Identity, DisplayName, and FormTemplateStatus property for each admininstrator-deployed InfoPath 2010 form template.

---------------EXAMPLE 2--------------

Copy Code
"SomeFormTemplate.xsn" | Get-SPInfoPathFormTemplate | format-list

This example lists all the properties of the specified InfoPath 2010 form template.

See Also

Reference

Disable-SPInfoPathFormTemplate
Enable-SPInfoPathFormTemplate
Install-SPInfoPathFormTemplate
Set-SPInfoPathFormTemplate
Start-SPInfoPathFormTemplate
Stop-SPInfoPathFormTemplate
Test-SPInfoPathFormTemplate
Uninstall-SPInfoPathFormTemplate
Update-SPInfoPathFormTemplate


Get-SPInfoPathUserAgent
See Also Example
[image]

Published: May 12, 2010

Returns a user agent or all the currently defined user agents for the farm.

Get-SPInfoPathUserAgent [[-Identity] <SPUserAgentPipeBind>] [-AssignmentCollection <SPAssignmentCollection>]

Parameters

Parameter Required Type Description

Identity

Optional

Microsoft.Office.InfoPath.Server.Cmdlet.SPUserAgentPipeBind

Specifies the user agent to get.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a user agent (for example, UserAgent1; or an instance of a valid SPUserAgent object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Detailed Description

The Get-SPInfoPathUserAgent cmdlet reads the user agent specified in Identity. If the Identity parameter is not specified, this cmdlet returns the collection of user agents for the farm.

Input Types

Return Types

Example

--------------EXAMPLE-----------------

Copy Code
Get-SPInfoPathUserAgent

This example displays a list of user agents in the entire farm.

See Also

Reference

Add-SPInfoPathUserAgent
Remove-SPInfoPathUserAgent


Get-SPInfoPathWebServiceProxy
See Also Example
[image]

Published: May 12, 2010

Returns the Web proxy settings for the Web application.

Get-SPInfoPathWebServiceProxy [-Identity] <SPWebServiceProxyPipeBind> [-AssignmentCollection <SPAssignmentCollection>]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.Office.InfoPath.Server.Cmdlet.SPWebServiceProxyPipeBind

Specifies the SharePoint Web application to get.

The type must be a valid URL, in the form http://server_name, or a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Detailed Description

The Get-SPInfoPathWebServiceProxy cmdlet reads the Web proxy settings for the SharePoint Web application specified in Identity.

Input Types

Return Types

Example

--------------EXAMPLE-----------------

Copy Code
Get-SPInfoPathWebServiceProxy -Identity "http://server_name"

This example displays the Web service proxy settings for a specified Web application.

See Also

Reference

Set-SPInfoPathWebServiceProxy


Import-SPInfoPathAdministrationFiles
See Also Example
[image]

Published: May 12, 2010

Imports Microsoft InfoPath 2010 form templates and .udcx files that are located on the SharePoint Central Administration Web site.

Import-SPInfoPathAdministrationFiles [-Path] <String> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-Identity <SPFormsServicePipeBind>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Path

Required

System.String

Specifies the location of the .cab file to import.

The type must be a valid file path, in the form \\ipadmin\folder\backups1\ipfsfiles.cab.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

Identity

Optional

Microsoft.Office.InfoPath.Server.Cmdlet.SPFormsServicePipeBind

Specifies the destination InfoPath Forms Services service for the import.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a forms service (for example, FormsService1); or an instance of a valid SPFormsService object.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Import-SPInfoPathAdministrationFiles cmdlet imports InfoPath 2010 form templates (.xsn files) and universal data connections (.udcx files) that are located on the SharePoint Central Administration Web site into the specified InfoPath Forms Services service. This cmdlet imports from a backup package that includes all workflow forms in Microsoft InfoPath that were deployed by an administrator and not included with Microsoft SharePoint Foundation 2010, and browser forms that were deployed by an administrator.

Input Types

Return Types

Example

--------------EXAMPLE-----------------

Copy Code
Import-SPInfoPathAdministrationFiles -path "backupfiles.cab"

This example imports form templates (XSN files) and universal data connections (UDCX files) located on the SharePoint Central Administration Web site into the specified Forms service.

See Also

Reference

Export-SPInfoPathAdministrationFiles


Install-SPDataConnectionFile
See Also Example
[image]

Published: May 12, 2010

Installs the provided data connection file.

Install-SPDataConnectionFile [-Path] <String> [-AssignmentCollection <SPAssignmentCollection>] [-Category <String>] [-Confirm [<SwitchParameter>]] [-Overwrite <SwitchParameter>] [-WebAccessible <SwitchParameter>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Path

Required

System.String

Specifies the full path to the name of the file in the data connection store.

The type must be the name of a valid data connection file; for example, C:\foldername\myconnection.udcx.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Category

Optional

System.String

Sets an arbitrary category on the file which can be used to group the files. The category name can have a maximum of 255 characters.

The type must be a valid string value; for example, Category1.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

Overwrite

Optional

System.Management.Automation.SwitchParameter

Overwrites the existing data connection file. The default value is False.

WebAccessible

Optional

System.Management.Automation.SwitchParameter

Specifies that the universal data connection file can be accessed by using the Web service. If False, only the Microsoft Forms Server 2010 can retrieve the universal data connection files internally. The default value is False.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Install-SPDataConnectionFile cmdlet installs the provided data connection file. If the specified data connection file exists, the user is prompted to replace the existing file.

This cmdlet does not create a new file. Instead, it creates a new data connection file object.

Input Types

Return Types

Example

---------------EXAMPLE--------------

Copy Code
Install-SPDataConnectionFile -Path .\folder\sample.udcx -Category "Install" -WebAccessible $true
Copy Code
".\folder\sample.udcx" | Install-SPDataConnectionFile -Category "Install" -Category "Category1"  -Overwrite $true

This example uploads a data connection file to a specified category.

This cmdlet is equivalent to the Upload Data Connection File user interface setting that is located on the Manage Data Connection Files page of the SharePoint Central Administration Web site.

See Also

Reference

Get-SPDataConnectionFile
Set-SPDataConnectionFile
Uninstall-SPDataConnectionFile


Install-SPInfoPathFormTemplate
See Also Example
[image]

Published: May 12, 2010

Installs an Microsoft InfoPath 2010 form template on a farm.

Install-SPInfoPathFormTemplate [-Path] <String> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-EnableGradualUpgrade <SwitchParameter>] [-NoWait <SwitchParameter>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Path

Required

System.String

Specifies the path and name of the form template to install.

The type must be a valid path and file name of a form template, in the form:

- C:\folder_name\formtemplate_name

- \\server_name\folder_name\formtemplate_name

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

EnableGradualUpgrade

Optional

System.Management.Automation.SwitchParameter

Specifies that the new form can be gradually upgraded.

- If specified and the form template file exists, the form template is gradually upgraded and is then used for new sessions only.

- If not specified and the form template does not exist, the form is overwritten during an upgrade and is then used for exisiting and new sessions.

- If specified and the form template file does not exist, ignore the switch.

- If not specified and the file exists, the user is prompted to upgrade and to use the gradual upgrade if the upgrade is allowed.

NoWait

Optional

System.Management.Automation.SwitchParameter

Specifies that the form template is installed in the background and that the progress of the installation not be shown.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Install-SPInfoPathFormTemplate cmdlet installs an InfoPath 2010 form template on a farm.

Input Types

Return Types

Example

---------------EXAMPLE--------------

Copy Code
Install-SPInfoPathFormTemplate -Path c:\Form.xsn
Copy Code
"FormTemplateFirst.xsn", "FormTemplateSecond.xsn", "FormTemplateThird.xsn" | Install-SPInfoPathFormTemplate

This example installs multiple form templates on a farm.

See Also

Reference

Disable-SPInfoPathFormTemplate
Enable-SPInfoPathFormTemplate
Get-SPInfoPathFormTemplate
Set-SPInfoPathFormTemplate
Start-SPInfoPathFormTemplate
Stop-SPInfoPathFormTemplate
Test-SPInfoPathFormTemplate
Uninstall-SPInfoPathFormTemplate
Update-SPInfoPathFormTemplate


Remove-SPInfoPathUserAgent
See Also Example
[image]

Published: May 12, 2010

Removes a user agent.

Remove-SPInfoPathUserAgent [-Identity] <SPUserAgentPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.Office.InfoPath.Server.Cmdlet.SPUserAgentPipeBind

Specifies the name of the user agent to delete.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a user agent (for example, UserAgent1; or an instance of a valid SPUserAgent object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Remove-SPIPUserAgent cmdlet removes a specified user agent from the user agent collection on a farm.

Input Types

Return Types

Example

--------------EXAMPLE-----------------

Copy Code
Remove-SPInfoPathUserAgent -Identity "UserAgentName"

This example removes a user agent.

See Also

Reference

Add-SPInfoPathUserAgent
Get-SPInfoPathUserAgent


Set-SPDataConnectionFile
See Also Example
[image]

Published: May 12, 2010

Sets properties of a data connection file.

Set-SPDataConnectionFile [-Identity] <SPDataConnectionFilePipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Category <String>] [-Confirm [<SwitchParameter>]] [-Description <String>] [-DisplayName <String>] [-WebAccessible <String>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.Office.InfoPath.Server.Cmdlet.SPDataConnectionFilePipeBind

Specifies the data connection file to update.

The type must be a valid GUID, in form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a data connection file (for example, DataConnectionFileName1.udcx); or an instance of a valid SPDataConnectionFile object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Category

Optional

System.String

Sets an arbitrary category on the file which can be used to group the files. The category name can have a maximum of 255 characters.

The type must be a valid string value; for example, Category1.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

Description

Optional

System.String

Sets the description for the data connection file. The name can be a maximum of 4096 alphanumeric characters.

The type must be a valid string; for example, Description of my universal data connection file.

DisplayName

Optional

System.String

Specifies the display name that describes the data connection file. The name can have a maximum of 255 characters.

The type must be a valid string; for example, InfoPathUDC1.

WebAccessible

Optional

System.String

Specifies that the universal data connection file can be accessed by using the Web service. If false, only the forms server can retrieve the universal data connection files internally. The default value is False.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Set-SPDataConnectionFile cmdlet sets the properties of the data connection file specified in the Identity parameter.

Input Types

Return Types

Example

--------------EXAMPLE-----------------

Copy Code
Set-SPDataConnectionFile -Identity "sample.udcx" -Category "Temp"

This example updates the Category of the specified .udcx file.

--------------EXAMPLE 2-----------------

Copy Code
Set-SPDataConnectionFile -Identity "sample.udcx" -DisplayName "NewDisplayName"

This example updates the DisplayName of the specified .udcx file.

--------------EXAMPLE 3-----------------

Copy Code
Sample.udcx" | Set-SPDataConnectionFile -Category "Temp"

This example updates the Category of the specified .udcx file.

--------------EXAMPLE 4-----------------

Copy Code
Get-SPDataConnectionFile | where {$_.Category -eq "Category1"}  | Set-SPDataConnectionFile -Category "Category2"

This example updates the Category field for the collection of .udcx files that are returned from a query used by the Get-SPDataConnectionFile cmdlet.

See Also

Reference

Get-SPDataConnectionFile
Install-SPDataConnectionFile
Uninstall-SPDataConnectionFile


Set-SPInfoPathFormsService
See Also Example
[image]

Published: May 12, 2010

Sets parameters for InfoPath Forms Services in Microsoft SharePoint Server 2010.

Set-SPInfoPathFormsService [-ActiveSessionTimeout <Nullable>] [-AllowEmbeddedSqlForDataConnections <String>] [-AllowUdcAuthenticationForDataConnections <String>] [-AllowUserFormBrowserEnabling <String>] [-AllowUserFormBrowserRendering <String>] [-AllowUserFormCrossDomainDataConnections <String>] [-AllowViewState <String>] [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-DefaultDataConnectionTimeout <Nullable>] [-Identity <SPFormsServicePipeBind>] [-MaxDataConnectionResponseSize <Nullable>] [-MaxDataConnectionRoundTrip <Nullable>] [-MaxDataConnectionTimeout <Nullable>] [-MaxFormLoadTime <Nullable>] [-MaxPostbacksPerSession <Nullable>] [-MaxSizeOfUserFormState <Nullable>] [-MaxUserActionsPerPostback <Nullable>] [-MemoryCacheSize <Nullable>] [-RequireSslForDataConnections <String>] [-ViewStateThreshold <Nullable>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

ActiveSessionTimeout

Optional

System.Nullable

Specifies the duration, in minutes, that a form's session state can remain active. The default value is 1440.

The type must be a non-negative integer value in the range from 0 through 999,999.

AllowEmbeddedSqlForDataConnections

Optional

System.String

Specifies a value that indicates whether embedded SQL authentication can be used by browser-enabled Microsoft InfoPath 2010 form templates.

The type must be one of the following values: True, False (default)

AllowUdcAuthenticationForDataConnections

Optional

System.String

Specifies that authentication information in a universal data connection (.udcx file) can be used.

The type must be one of the following values: True (default), False

AllowUserFormBrowserEnabling

Optional

System.String

Specifies that users can browser enable form templates that do not contain form code, require full trust, enable rendering on a mobile device, or use a data connection managed by a server administrator.

The type must be one of the following values: True (default), False

AllowUserFormBrowserRendering

Optional

System.String

Specifies that browser-enabled form templates will be rendered by InfoPath Forms Services.

The type must be one of the following values: True (default), False

AllowUserFormCrossDomainDataConnections

Optional

System.String

Specifies that data connections to data sources located in a different domain can be queried.

The type must be one of the following values: True, False (default)

AllowViewState

Optional

System.String

Defines the location to store form session state: View state when True, or Session State Service when False.

The type must be one of the following values: True, False (default)

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

DefaultDataConnectionTimeout

Optional

System.Nullable

Specifies the default data connection timeout in milliseconds. The default value is 10000 (10 seconds).

The type must be a non-negative integer and less than or equal to the value set for MaxDataConnectionTimeout.

Identity

Optional

Microsoft.Office.InfoPath.Server.Cmdlet.SPFormsServicePipeBind

Specifies the InfoPath Forms Services service to update.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of an InfoPath Forms Services service (for example, FormsService1); or an instance of a valid SPFormsService object.

MaxDataConnectionResponseSize

Optional

System.Nullable

Specifies the maximum size allowed for a data connection response. The default value is 15000 kilobytes (KB).

The type must be a non-negative integer.

MaxDataConnectionRoundTrip

Optional

System.Nullable

Sets a threshold, in milliseconds, for the maximum time it takes from the start of a data request to the return of the data request on the server (the data connection round trip). If the data connection round trip time exceeds this threshold, an event is logged in the Operational log.

MaxDataConnectionTimeout

Optional

System.Nullable

Specifies the maximum data connection timeout in milliseconds. The default value is 20000 (20 seconds).

The type must be a non-negative integer and less than or equal to 999999.

MaxFormLoadTime

Optional

System.Nullable

Sets a threshold, in milliseconds, for maximum form load time. If form load time exceeds this threshold, an event is logged in the Operational log.

The MaxFormLoadTime parameter measures the time it takes for a form to open, starting from when the request is accepted by the server until it leaves the server.

MaxPostbacksPerSession

Optional

System.Nullable

Specifies the value of the maximum postbacks that an instance of a browser-enabled Microsoft InfoPath 2010 form template can make to the InfoPath Forms Services service. The default value is 20.

The type must be a non-negative integer and less than or equal to 999999.

MaxSizeOfFormSessionState

Optional

System.Nullable

Specifies the value of the maximum size in kilobytes of session state an instance of a browser-enabled InfoPath form template can use. The default value is 4096.

The type must be a non-negative integer and less than or equal to 999999.

MaxUserActionsPerPostback

Optional

System.Nullable

Specifies the maximum user actions per postback. The default value is 200.

The type must be a non-negative integer and less than or equal to 999999.

MemoryCacheSize

Optional

System.Nullable

Sets the size, in megabytes (MB), of the cache for solutions in memory.

The default value is 250 MB.

RequireSslForDataConnections

Optional

System.String

Specifies the Secure Sockets Layer (SSL) requirement value. If data connections in browser-enabled form templates require basic authentication or digest authentication, a password is sent over the network. Set this value to True to require an SSL-encrypted connection for these authentication types.

The type must be one of the following values: True (default), False.

ViewStateThreshold

Optional

System.Nullable

Specifies the maximum size in kilobytes of the session state when stored in the form view. The default value is 40.

The type must be a non-negative integer and less than or equal to 99,999,999.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Set-SPInfoPathFormsService cmdlet modifies the settings for InfoPath Forms Services in SharePoint Server 2010.

Input Types

Return Types

Example

--------------EXAMPLE 1-----------------

Copy Code
Set-SPInfoPathFormsService -AllowUserFormBrowserEnabling $true -AllowUserFormBrowserRendering $false

This example modifies the AllowUserFormBrowserEnabling and AllowUserFormBrowserRendering parameter values.

--------------EXAMPLE 2-----------------

Copy Code
Set-SPInfoPathFormsService -AllowViewState $true -ViewStateThreshold 40961

This example modifies the AllowViewState and ViewStateThreshold parameter values.

See Also

Reference

Get-SPInfoPathFormsService


Set-SPInfoPathFormTemplate
See Also Example
[image]

Published: May 12, 2010

Sets properties of a Microsoft InfoPath 2010 form template.

Set-SPInfoPathFormTemplate [-Identity] <SPFormTemplatePipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Category <String>] [-Confirm [<SwitchParameter>]] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.Office.InfoPath.Server.Cmdlet.SPFormTemplatePipeBind

Specifies the InfoPath 2010 form template to update.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a form template (for example, InfoPathFormTemplate1); a valid name of a form template files (for example, FormTemplateFile1.xsn); or an instance of a valid SPFormTemplate object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Category

Optional

System.String

Specifies the category of the form template. The category name can have a maximum of 255 characters.

The type must be a valid name of a form template category; for example, FormTemplateCategory1.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Set-SPInfoPathFormsTemplate cmdlet modifies the category of an InfoPath 2010 form template or to specify the browser streams for the form template.

Input Types

Return Types

Example

---------------EXAMPLE--------------

Copy Code
Set-InfoPathFormTemplate -Identity "Sample.xsn" -Category "WorkFlowCategory"

This example modifies the category property of a form template for a specified name.

See Also

Reference

Disable-SPInfoPathFormTemplate
Enable-SPInfoPathFormTemplate
Get-SPInfoPathFormTemplate
Install-SPInfoPathFormTemplate
Start-SPInfoPathFormTemplate
Stop-SPInfoPathFormTemplate
Test-SPInfoPathFormTemplate
Uninstall-SPInfoPathFormTemplate
Update-SPInfoPathFormTemplate


Set-SPInfoPathWebServiceProxy
See Also Example
[image]

Published: May 12, 2010

Sets parameters for an existing SharePoint Web service application.

Set-SPInfoPathWebServiceProxy [-Identity] <SPWebServiceProxyPipeBind> [-AllowForUserForms <String>] [-AllowWebServiceProxy <String>] [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.Office.InfoPath.Server.Cmdlet.SPWebServiceProxyPipeBind

Specifies the SharePoint Web service application proxy to update.

The type must be a valid URL, in the form http://server_name; a valid name of a Web application (for example, WebApp1); a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; or an instance of a valid SPWebServiceProxy object.

AllowForUserForms

Optional

System.String

Specifies that a form opened in the Microsoft InfoPath client can use the InfoPath Forms Services Web service proxy to connect to a Web service. This parameter can be set only when AllowWebServiceProxy is set to True.

The type must be one of the following: True, False The default value is False.

AllowWebServiceProxy

Optional

System.String

Specifies that browser-enabled form templates can use the InfoPath Forms Services Web service proxy to connect to a Web service.

The type must be one of the following: True, False The default value is False.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Set-SPInfoPathWebServiceProxy cmdlet configures exposed parameters for an existing SharePoint Web application.

Input Types

Return Types

Example

--------------EXAMPLE-----------------

Copy Code
Set-SPInfoPathWebServiceProxy -Identity "http://server_name" -AllowWebServiceProxy $true

This example sets the Web service proxy for a Web application.

See Also

Reference

Get-SPInfoPathWebServiceProxy


Start-SPInfoPathFormTemplate
See Also Example
[image]

Published: May 12, 2010

Activates a previously quiesced Microsoft InfoPath 2010 form template.

Start-SPInfoPathFormTemplate [-Identity] <SPFormTemplatePipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.Office.InfoPath.Server.Cmdlet.SPFormTemplatePipeBind

Specifies the InfoPath 2010 form template to start.

The type must be a valid URL, in the form http://server_name; a valid name of a Web application (for example, WebApp1); a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; or an instance of a valid SPWebServiceProxy object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Start-SPInfoPathFormTemplate cmdlet activates a previously quiesced InfoPath 2010 form template after the form is upgraded. During update, a form is quiesced, which disables access to the form.

Input Types

Return Types

Example

---------------EXAMPLE--------------

Copy Code
Start-SPInfoPathFormTemplate -Identity formName.xsn

This example activates a form with a specified name.

See Also

Reference

Disable-SPInfoPathFormTemplate
Enable-SPInfoPathFormTemplate
Get-SPInfoPathFormTemplate
Install-SPInfoPathFormTemplate
Set-SPInfoPathFormTemplate
Stop-SPInfoPathFormTemplate
Test-SPInfoPathFormTemplate
Uninstall-SPInfoPathFormTemplate
Update-SPInfoPathFormTemplate


Stop-SPInfoPathFormTemplate
See Also Example
[image]

Published: May 12, 2010

Disables a Microsoft InfoPath 2010 form template on a farm before an upgrade.

Stop-SPInfoPathFormTemplate [-Identity] <SPFormTemplatePipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-TimeLeft <Nullable>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.Office.InfoPath.Server.Cmdlet.SPFormTemplatePipeBind

Specifies the InfoPath 2010 form template to start.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a form template (for example, InfoPathFormTemplate1); a valid name of a form template files (for example, FormTemplateFile1.xsn); or an instance of a valid SPFormTemplate object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

TimeLeft

Optional

System.Nullable

Specifies the time duration, in minutes, before the form template will be quiesced. The default value is 0.

An integer value in the range from 0 to 1440.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Stop-SPInfoPathFormTemplate cmdlet quiesces, or disables, an InfoPath 2010 form template before it upgrades the form. Before a form is updated it is quiesced, which disables access to the form. Use Start-SPIPFormTemplate to unquiesce, or activate, a form template after the form is upgraded.

Input Types

Return Types

Example

---------------EXAMPLE--------------

Copy Code
Stop-SPInfoPathFormTemplate -Identity formName.xsn

This example disables a form template for a specified name.

See Also

Reference

Disable-SPInfoPathFormTemplate
Enable-SPInfoPathFormTemplate
Get-SPInfoPathFormTemplate
Install-SPInfoPathFormTemplate
Set-SPInfoPathFormTemplate
Start-SPInfoPathFormTemplate
Test-SPInfoPathFormTemplate
Uninstall-SPInfoPathFormTemplate
Update-SPInfoPathFormTemplate


Test-SPInfoPathFormTemplate
See Also Example
[image]

Published: May 12, 2010

Validates that a Microsoft InfoPath 2010 form template is browser-enabled.

Test-SPInfoPathFormTemplate [-Path] <String> [-AssignmentCollection <SPAssignmentCollection>]

Parameters

Parameter Required Type Description

Path

Required

System.String

Specifies the path and name of the InfoPath 2010 form template to install.

The type must be a valid path and file name of a form template, in the form:

- C:\folder_name\formtemplate_name

- \\server_name\folder_name\formtemplate_name

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Detailed Description

The Test-SPInfoPathFormTemplate cmdlet validates that an InfoPath 2010 form template can be browser-enabled.

Input Types

Return Types

Example

---------------EXAMPLE--------------

Copy Code
Test-SPInfoPathFormTemplate -Identity formName.xsn

This example validates an InfoPath 2010 form template for a specified name.

See Also

Reference

Disable-SPInfoPathFormTemplate
Enable-SPInfoPathFormTemplate
Get-SPInfoPathFormTemplate
Install-SPInfoPathFormTemplate
Set-SPInfoPathFormTemplate
Start-SPInfoPathFormTemplate
Stop-SPInfoPathFormTemplate
Uninstall-SPInfoPathFormTemplate
Update-SPInfoPathFormTemplate


Uninstall-SPDataConnectionFile
See Also Example
[image]

Published: May 12, 2010

Removes a data connection file.

Uninstall-SPDataConnectionFile [-Identity] <SPDataConnectionFilePipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.Office.InfoPath.Server.Cmdlet.SPDataConnectionFilePipeBind

Specifies the data connection file to remove.

The type must be a valid GUID, in form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a data connection file (for example, DataConnectionFileName1.udcx); or an instance of a valid SPDataConnectionFile object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Uninstall-SPDataConnectionFile cmdlet removes the data connection file specified in the Identity parameter.

Input Types

Return Types

Example

--------------EXAMPLE-----------------

Copy Code
Uninstall-SPDataConnectionFile -Identity "Sample.udcx
Copy Code
"Sample1.udcx", "Sample2.udcx", "Sample3.udcx" | Uninstall-SPDataConnectionFile

This example uninstalls a specified data connection file in two different ways.

See Also

Reference

Get-SPDataConnectionFile
Install-SPDataConnectionFile
Set-SPDataConnectionFile


Uninstall-SPInfoPathFormTemplate
See Also Example
[image]

Published: May 12, 2010

Removes a Microsoft InfoPath 2010 form template from a farm.

Uninstall-SPInfoPathFormTemplate [-Identity] <SPFormTemplatePipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.Office.InfoPath.Server.Cmdlet.SPFormTemplatePipeBind

Specifies the Microsoft InfoPath form template to uninstall.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a form template (for example, InfoPathFormTemplate1); a valid name of a form template files (for example, FormTemplateFile1.xsn); or an instance of a valid SPFormTemplate object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Uninstall-SPInfoPathFormTemplate cmdlet removes a specified InfoPath 2010 form template from a farm.

Input Types

Return Types

Example

--------------EXAMPLE-----------------

Copy Code
Uninstall-SPInfoPathFormTemplate -Identity formName.xsn

This example removes an InfoPath 2010 form template from a farm.

See Also

Reference

Disable-SPInfoPathFormTemplate
Enable-SPInfoPathFormTemplate
Get-SPInfoPathFormTemplate
Install-SPInfoPathFormTemplate
Set-SPInfoPathFormTemplate
Start-SPInfoPathFormTemplate
Stop-SPInfoPathFormTemplate
Test-SPInfoPathFormTemplate
Update-SPInfoPathFormTemplate


Update-SPInfoPathAdminFileUrl
Example
[image]

Published: May 12, 2010

Updates InfoPath form templates (.xsn files) and universal data connections (.udcx files), including all .xsn files and .udcx files that were deployed by an administrator.

Update-SPInfoPathAdminFileUrl -Find <Uri> -Replace <Uri> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-Scan <SwitchParameter>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Find

Required

System.Uri

Specifies the URL to find.

The type must be a valid URL, in the form http://previous_server_name.

Replace

Required

System.Uri

Specifies the URL to find.

The type must be a valid URL, in the form http://server_name.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

Scan

Optional

System.Management.Automation.SwitchParameter

Run the tool and log the actions that can be taken. No content is changed as a result of the scan.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Update-SPInfoPathAdminFileUrl cmdlet updates data connections in administrator-approved InfoPath form templates (.xsn files) and universal data connections (.udcx files). This allows for InfoPath data connections that reference the current farm to be updated when content is migrated to a different farm URL. This cmdlet cannot update any references to URLs that exist in form template business logic (code). Typically, this cmdlet is used with the Import-SPInfoPathAdministratorFiles cmdlet.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
Get-SPWebApplication http://contoso2010 | Update-SPInfoPathAdminFileUrl
-find "http://contoso2007"
-replace "http://contoso2010"

This example updates data connections in administrator-approved InfoPath form templates and universal data connection files. Data connections that reference http://contoso 2007 are updated to reference http://contoso2010.


Update-SPInfoPathFormTemplate
See Also Example
[image]

Published: May 12, 2010

Upgrades all Microsoft InfoPath form templates on the farm.

Update-SPInfoPathFormTemplate [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Update-SPInfoPathFormTemplate cmdlet upgrades all the InfoPath form templates on a farm that were deployed by an administrator. Use this cmdlet after the farm is upgraded to a new version.

Input Types

Return Types

Example

---------------EXAMPLE--------------

Copy Code
Update-SPInfoPathFormTemplate

This example updates InfoPath form templates on the entire farm.

See Also

Reference

Disable-SPInfoPathFormTemplate
Enable-SPInfoPathFormTemplate
Get-SPInfoPathFormTemplate
Install-SPInfoPathFormTemplate
Set-SPInfoPathFormTemplate
Start-SPInfoPathFormTemplate
Stop-SPInfoPathFormTemplate
Test-SPInfoPathFormTemplate
Uninstall-SPInfoPathFormTemplate


Update-SPInfoPathUrl
Example
[image]

Published: May 12, 2010

Runs a Microsoft InfoPath 2010 .xsn/.udc fix-up on Microsoft SharePoint Foundation 2010.

Update-SPInfoPathUrl -WebApplication <SPWebApplicationPipeBind> -Find <Uri> -Replace <Uri> [-AssignmentCollection <SPAssignmentCollection>] [-CentralAdministrationFiles <SwitchParameter>] [-Confirm [<SwitchParameter>]] [-PrepForGradualUpgrade <SwitchParameter>] [-Scan <SwitchParameter>] [-WhatIf [<SwitchParameter>]]
Update-SPInfoPathUrl -ContentDatabase <SPContentDatabase> -Find <Uri> -Replace <Uri> [-AssignmentCollection <SPAssignmentCollection>] [-CentralAdministrationFiles <SwitchParameter>] [-Confirm [<SwitchParameter>]] [-PrepForGradualUpgrade <SwitchParameter>] [-Scan <SwitchParameter>] [-WhatIf [<SwitchParameter>]]
Update-SPInfoPathUrl -Site <SPSitePipeBind> -Find <Uri> -Replace <Uri> [-AssignmentCollection <SPAssignmentCollection>] [-CentralAdministrationFiles <SwitchParameter>] [-Confirm [<SwitchParameter>]] [-PrepForGradualUpgrade <SwitchParameter>] [-Scan <SwitchParameter>] [-WhatIf [<SwitchParameter>]]
Update-SPInfoPathUrl -File <Uri> -Find <Uri> -Replace <Uri> [-AssignmentCollection <SPAssignmentCollection>] [-CentralAdministrationFiles <SwitchParameter>] [-Confirm [<SwitchParameter>]] [-PrepForGradualUpgrade <SwitchParameter>] [-Scan <SwitchParameter>] [-WhatIf [<SwitchParameter>]]

Parameters

1

Parameter

Required

Type

Description

WebApplication

Required

Microsoft.SharePoint.PowerShell.SPWebApplicationPipeBind

Specifies the parent SharePoint Web application where the update will start.

The type must be a valid URL, in the form http://server_name; a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a SharePoint Web application (for example, MyOfficeApp1); or an instance of a valid SPWebApplication object.

Find

Required

System.Uri

Specifies the URL to find.

The type must be a valid URL, in the form http://server_name.

Replace

Required

System.Uri

Specifies the URL to replace.

The type must be a valid URL, in the form http://server_name.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

CentralAdministrationFiles

Optional

System.Management.Automation.SwitchParameter

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

PrepForGradualUpgrade

Optional

System.Management.Automation.SwitchParameter

Specifies that the gradualUpgradeURL.xml file is inserted into the form template and SPFile persisted properties are added.

Scan

Optional

System.Management.Automation.SwitchParameter

Specifies that functionality is scanned.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

2

Parameter

Required

Type

Description

ContentDatabase

Required

Microsoft.SharePoint.Administration.SPContentDatabase

Specifies the parent content database where the update will start.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a content database (for example, SPContent DB1); or an instance of a valid SPContentDatabase object.

Find

Required

System.Uri

Specifies the URL to find.

The type must be a valid URL, in the form http://server_name.

Replace

Required

System.Uri

Specifies the URL to replace.

The type must be a valid URL, in the form http://server_name.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

CentralAdministrationFiles

Optional

System.Management.Automation.SwitchParameter

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

PrepForGradualUpgrade

Optional

System.Management.Automation.SwitchParameter

Specifies that the gradualUpgradeURL.xml file is inserted into the form template and SPFile persisted properties are added.

Scan

Optional

System.Management.Automation.SwitchParameter

Specifies that functionality is scanned.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

3

Parameter

Required

Type

Description

Site

Required

Microsoft.SharePoint.PowerShell.SPSitePipeBind

Specifies the parent site collection where the update will start.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid URL, in the form http://server_name; or an instance of a valid SPSite object.

Find

Required

System.Uri

Specifies the URL to find.

The type must be a valid URL, in the form http://server_name.

Replace

Required

System.Uri

Specifies the URL to replace.

The type must be a valid URL, in the form http://server_name.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

CentralAdministrationFiles

Optional

System.Management.Automation.SwitchParameter

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

PrepForGradualUpgrade

Optional

System.Management.Automation.SwitchParameter

Specifies that the gradualUpgradeURL.xml file is inserted into the form template and SPFile persisted properties are added.

Scan

Optional

System.Management.Automation.SwitchParameter

Specifies that functionality is scanned.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

4

Parameter

Required

Type

Description

File

Required

System.Uri

Specifies the parent file on a SharePoint Web site where the update will start.

Find

Required

System.Uri

Specifies the URL to find.

The type must be a valid URL, in the form http://server_name.

Replace

Required

System.Uri

Specifies the URL to replace.

The type must be a valid URL, in the form http://server_name.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

CentralAdministrationFiles

Optional

System.Management.Automation.SwitchParameter

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

PrepForGradualUpgrade

Optional

System.Management.Automation.SwitchParameter

Specifies that the gradualUpgradeURL.xml file is inserted into the form template and SPFile persisted properties are added.

Scan

Optional

System.Management.Automation.SwitchParameter

Specifies that functionality is scanned.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Update-SPInfoPathUrls cmdlet updates form templates (.xsn files) and universal data connections (.udcx files) that are located on the SharePoint Central Administration Web site.

This cmdlet supports parameter sets for Web application, Content Database, Site, and File.

Input Types

Return Types

Example

--------------EXAMPLE-------------------

Copy Code
Update-SPInfoPathUrl -Site "http://server_name" -Find "http://findUrl" -Replace "http://ReplaceUrl"

This example updates connection settings.


Logging and events cmdlets (SharePoint Server 2010)
See Also

You can use Windows PowerShell cmdlets to log system events and perform diagnostics.

Cmdlet name | Description
Clear-SPLogLevel | Resets the Windows trace logging and event logging levels to their default values.
Get-SPLogLevel | Returns a list of objects or diagnostic levels.
Set-SPLogLevel | Sets the trace and event level for a set of categories.
Get-SPLogEvent | Returns results from a Unified Logging Service (ULS) trace log.
Get-SPDiagnosticConfig | Retrieves ULS diagnostic configuration values of the farm.
Get-SPDiagnosticsProvider | Returns a diagnostics provider.
Merge-SPLogFile | Combines trace log entries from all farm computers into a single log file on the local computer.
New-SPLogFile | Creates a new log file.
New-SPUsageLogFile | Starts a new usage log file on the current server computer.
Set-SPDiagnosticConfig | Sets diagnostic configuration settings on the farm.
Set-SPDiagnosticsProvider | Enables a diagnostics provider and updates its retention policy.

See Also

Other Resources

Resource Center: Windows PowerShell for SharePoint Server 2010


Clear-SPLogLevel
See Also Example
[image]

Published: May 12, 2010

Resets the Windows trace logging and event logging levels to their default values.

Clear-SPLogLevel [-AssignmentCollection <SPAssignmentCollection>] [-Identity <String[]>] [-InputObject <PSObject>]

Parameters

Parameter Required Type Description

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Identity

Optional

System.String[]

Specifies the name(s) of the category or set of categories to set the throttle for; for example, "Unified Logging Service". If the Identity parameter is not specified, the event throttling setting is applied to all categories in the farm.

Providing an invalid category is a non-terminating error and will be ignored.

InputObject

Optional

System.Management.Automation.PSObject

Specifies the result of the InputObject parameter to be piped. The value can be a string in a format identical to the Identity parameter, or can be an SPDiagnosticsCategory object. The user can retrieve one or more categories from the Get-SPLogLevel cmdlet, modify their values, and then pipe the results to the Set-SPLogLevel cmdlet.

Detailed Description

The Clear-SPLogLevel cmdlet resets the Windows event logging and trace logging levels for the specified categories to the default values. If the Identity parameter is not provided, all categories are affected.

Input Types

Return Types

Example

--------------EXAMPLE 1-----------------

Copy Code
Clear-SPLogLevel -Identity Cat1

This example resets the log levels for a single category.

--------------EXAMPLE 2-----------------

Copy Code
"Cat1", "Cat2", "Cat3" | Clear-SPLogLevel

This example resets the log levels for multiple categories.

--------------EXAMPLE 3-----------------

Copy Code
Get-SPLogLevel | Clear-SPLogLevel

This example resets the log levels for all categories.

See Also

Reference

Get-SPLogLevel
Set-SPLogLevel


Get-SPLogLevel
See Also Example
[image]

Published: May 12, 2010

Returns a list of objects or diagnostic levels.

Get-SPLogLevel [-AssignmentCollection <SPAssignmentCollection>] [-Identity <String[]>]

Parameters

Parameter Required Type Description

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Identity

Optional

System.String[]

Specifies a valid category name; for example, Backup and Restore, or Administration.

Detailed Description

The Get-SPLogLevel cmdlet displays a list of objects or diagnostic levels based on the criteria specified. If no parameter is specified, a list of all diagnostic levels for all categories is returned.

Input Types

Return Types

Example

--------------EXAMPLE 1-----------------

Copy Code
Get-SPLogLevel

This example displays throttle levels for all categories.

--------------EXAMPLE 2-----------------

Copy Code
Get-SPLogLevel -Identity "Category1"

This example displays the throttle level for the Category1 category.

--------------EXAMPLE 3-----------------

Copy Code
"Cat1", "Cat2", "Cat3" | Get-SpLogLevel

This example displays the throttle level for multiple categories.

--------------EXAMPLE 4-----------------

Copy Code
Get-SPLogLevel -Identity "Area:*"

This example displays the throttle level for all categories in one area.

See Also

Reference

Set-SPLogLevel
Clear-SPLogLevel


Set-SPLogLevel
See Also Example
[image]

Published: May 12, 2010

Sets the trace and event level for a set of categories.

Set-SPLogLevel [-AssignmentCollection <SPAssignmentCollection>] [-EventSeverity <String>] [-Identity <String[]>] [-InputObject <PSObject>] [-TraceSeverity <String>]

Parameters

Parameter Required Type Description

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

EventSeverity

Optional

System.String

Specifies the category level to be set. The category level is any one of the following values:

- None

- ErrorCritical

- Error

- Warning

- Information

- Verbose

Identity

Optional

System.String[]

Specifies the name(s) of the category or set of categories to set the throttle for; for example, "Unified Logging Service". If the Identity parameter is not specified, the event-throttling setting is applied to all categories in the farm.

InputObject

Optional

System.Management.Automation.PSObject

The InputObject is pipelined to the cmdlet and can be a string in a format identical to the Identity parameter, or can be an SPDiagnosticsCategory object. The user can retrieve one or more categories from the Get-SPLogLevel cmdlet, modify the category values, and then pipeline them into the Set-SPLogLevel cmdlet.

TraceSeverity

Optional

System.String

Specifies trace throttle to set the specified categor(ies) to. The trace log files are text files that are written to the trace log path that is defined on the Diagnostic Logging Settings page on the SharePoint Central Administration site. The type must be any one of the following values:

- None (no traces are written to the trace log)

- Unexpected

- Monitorable

- High

- Medium

- Verbose

- VerboseEx

Detailed Description

The Set-SPLogLevel cmdlet sets the Windows event logging and trace logging levels for one or more diagnostic logging categories registered in the farm. If an event or trace associated with a category occurs, but is less severe than that category's logging level, the event or trace is not written to the event log or the trace log. If an event or trace associated with a category occurs and is equally severe or more severe than that category's logging level, the event or trace is written to the event log or the trace log.

Input Types

Return Types

Example

------------------EXAMPLE 1-----------------------

Copy Code
set-sploglevel -TraceSeverity Monitorable

This example sets the TraceSeverity values for all categories to Monitorable.

------------------EXAMPLE 2-----------------------

Copy Code
Set-SPLogLevel -TraceSeverity High -EventSeverity Warning -Identity "Cat1"

This example sets the EventSeverity and TraceSeverity values for a single category.

------------------EXAMPLE 3-----------------------

Copy Code
"Cat1", "Cat2", "Cat3" | Set-SPLogLevel -EventSeverity Error

This example sets the EventSeverity values for multiple categories.

------------------EXAMPLE 4-----------------------

Copy Code
Set-SPLogLevel -EventSeverity Warning -Identity "AreaName:*"

This example sets the EventSeverity values for all categories in the same area.

See Also

Reference

Get-SPLogLevel
Clear-SPLogLevel


Get-SPLogEvent
See Also Example
[image]

Published: May 12, 2010

Returns results from a Unified Logging Service (ULS) trace log.

Get-SPLogEvent [-AssignmentCollection <SPAssignmentCollection>] [-AsString <SwitchParameter>] [-ContextKey <String[]>] [-Directory <String>] [-EndTime <DateTime>] [-MinimumLevel <String>] [-StartTime <DateTime>]
Get-SPLogEvent [-AssignmentCollection <SPAssignmentCollection>] [-AsString <SwitchParameter>] [-ContextKey <String[]>] [-EndTime <DateTime>] [-File <String>] [-MinimumLevel <String>] [-StartTime <DateTime>]

Parameters

1

Parameter

Required

Type

Description

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentColletion

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

AsString

Optional

System.Management.Automation.SwitchParameter

Returns each record as a separate string

ContextKey

Optional

System.String[]

Specifies that context data should be added to the results for the specified Context Keys, for example: -ContextKey @("UserName", "SiteName").

Directory

Optional

System.String

Lists log files from an alternate directory (any directory other than the configured LogLocation directory).

MinimumLevel

Optional

System.String

Returns records at or above the specified level. The valid values are Error or Warning.

EndTime

Optional

System.DateTime

The type must be a valid DateTime format that is culture-specific to the administrative language, such as 2/16/2007 12:15:12 for English-US.

StartTime

Optional

System.DateTime

The type must be a valid DateTime format that is culture-specific to the administrative language, such as 2/16/2007 12:15:12 for English-US.

2

Parameter

Required

Type

Description

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentColletion

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

AsString

Optional

System.Management.Automation.SwitchParameter

Returns each record as a separate string

ContextKey

Optional

System.String[]

Specifies that context data should be added to the results for the specified Context Keys, for example: -ContextKey @("UserName", "SiteName").

MinimumLevel

Optional

System.String

Returns records at or above the specified level. The valid values are Error or Warning.

EndTime

Optional

System.DateTime

The type must be a valid DateTime format that is culture-specific to the administrative language, such as 2/16/2007 12:15:12 for English-US.

File

Optional

System.String

Specifies a specific file to query records from.

StartTime

Optional

System.DateTime

The type must be a valid DateTime format that is culture-specific to the administrative language, such as 2/16/2007 12:15:12 for English-US.

Detailed Description

This cmdlet contains more than one parameter set. You may only use parameters from one parameter set, and you may not combine parameters from different parameter sets. For more information about how to use parameter sets, see Cmdlet Parameter Sets.

The Get-SPLogEvent cmdlet returns records from a ULS trace log file that match the criteria. If no parameters are specified, all records from all log files are returned. Use the StartTime and EndTime parameters to filter on a time range. The use of these parameters is recommended to optimize performance of this cmdlet.

Input Types

Return Types

Example

--------------EXAMPLE 1-----------------

Copy Code
Get-SPLogEvent -MinimumLevel "Warning"

This example returns all log entries equal to or more severe than Warning from the default log directory.

--------------EXAMPLE 2-----------------

Copy Code
Get-SPLogEvent -Directory "C:\Logs" | Where-Object {$_.Level -eq "Warning"}

This example returns all warning entries from log files in the C:\Logs directory.

--------------EXAMPLE 3-----------------

Copy Code
Get-SPLogEvent -StartTime "12/04/2007 17:00" -EndTime "12/04/2007 18:00"

This example returns error entries that occurred during a particular time range, which is culture-specific to the United States.

--------------EXAMPLE 4-----------------

Copy Code
Get-SPLogEvent -ContextKey @("UserName" ,"SiteName")

This example returns the contents of the most recent log file and adds the specified context key data.

--------------EXAMPLE 5-----------------

Copy Code
Get-SPLogEvent | Where-Object {$_.Level -eq "Error" -and {$_.Area -eq "SharePoint Foundation "}

This example returns all error entries related to SharePoint Foundation.

--------------EXAMPLE 6-----------------

Copy Code
Get-SPLogEvent -ContextKey @("Name") | %{$_.ToString() + "'t" + $_.Context["Name"]}

This example returns the contents of the log file and adds context data.

See Also

Reference

New-SPLogFile
Get-SPLogLevel


Get-SPDiagnosticConfig
See Also Example
[image]

Published: May 12, 2010

Retrieves ULS diagnostic configuration values of the farm.

Get-SPDiagnosticConfig [-AssignmentCollection <SPAssignmentCollection>]

Parameters

Parameter Required Type Description

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Detailed Description

The Get-SPDiagnoticConfig cmdlet retrieves ULS diagnostic configuration values of the farm.

Input Types

Return Types

Example

--------------EXAMPLE-----------------

Copy Code
Get-SPDiagnosticConfig

This example returns all diagnostic configuration values.

See Also

Reference

Set-SPDiagnosticConfig


Get-SPDiagnosticsProvider
See Also Example
[image]

Published: May 12, 2010

Returns a diagnostics provider.

Get-SPDiagnosticsProvider [[-Identity] <SPDiagnosticsProviderPipeBind>] [-AssignmentCollection <SPAssignmentCollection>]

Parameters

Parameter Required Type Description

Identity

Optional

Microsoft.SharePoint.PowerShell.SPDiagnosticsProviderPipeBind

Specifies the diagnostics provider to get.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a diagnostic provider (for example, DiagnosticsProv1); or an instance of a valid SPDiagnosticsProvider object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Detailed Description

The Get-SPDiagnosticsProvider cmdlet reads the specified diagnostics provider. If the Identity parameter is not specified, this cmdlet returns the collection diagnostics providers in the farm.

Input Types

Return Types

Example

------------------EXAMPLE-----------------------

Copy Code
Get-SPDiagnosticsProvider

This example returns all the diagnostics providers in the farm.

------------------EXAMPLE 2-----------------------

Copy Code
Get-SPDiagnosticsProvider job-diagnostics-event-log-provider

This example returns the event log diagnostics provider.

See Also

Reference

Set-SPDiagnosticsProvider


Merge-SPLogFile
See Also Example
[image]

Published: May 12, 2010

Combines trace log entries from all farm computers into a single log file on the local computer.

Merge-SPLogFile -Path <String> [-Area <String[]>] [-AssignmentCollection <SPAssignmentCollection>] [-Category <String[]>] [-ContextFilter <String[]>] [-Correlation <Guid[]>] [-EndTime <DateTime>] [-EventID <String[]>] [-ExcludeNestedCorrelation <SwitchParameter>] [-Level <String>] [-Message <String[]>] [-Overwrite <SwitchParameter>] [-Process <String[]>] [-StartTime <DateTime>] [-ThreadID <UInt32[]>]

Parameters

Parameter Required Type Description

Path

Required

System.String

Specifies the path and file name to which to write the merged log file. Relative paths are supported.

Area

Optional

System.String[]

Specifies the area name to filter on.

The type must be a valid name; for example, SharePoint Foundation.

The use of wildcards is supported.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Category

Optional

System.String[]

Specifies the category ID to filter on.

The type must be a valid category name; for example, category1.

The use of wildcards is supported.

ContextFilter

Optional

System.String[]

Specifies a filter for trace entries in a particular context in the form key=value, for example, user=contoso\joeuser.

Correlation

Optional

System.Guid[]

Specifies the correlation ID to filter on. The type must be a valid GUID, in the form F0BB0790-4323-A153-096F-ABCDC80E24D4.

EndTime

Optional

System.DateTime

Specifies the end time of the log entries returned.

The type must be a valid DateTime format that is culture-specific to the administrative language, such as 2/16/2007 12:15:12 for English-US.

EventID

Optional

System.String[]

Specifies the Event ID to filter on. The use of wildcards is supported.

ExcludeNestedCorrelation

Optional

System.Management.Automation.SwitchParameter

Excludes nested correlation values in the results. This parameter is only used when filtering results by using the ContextFilter parameter

By default, records returned from the ContextFilter parameter include all related records in addition to the records that match the filter. Specifying this option includes only the records that match the filter and excludes any related records.

Level

Optional

System.String

Specifies the level name to filter on.

Results include the specified level and everything more severe.

Message

Optional

System.String[]

Specifies the message text to filter on.

The type must be valid text. Text with spaces should be enclosed with quotation marks; for example, "This is a test."

The use of wildcards is supported.

Overwrite

No

System.Management.Automation.SwitchParameter

Overwrites the log file if it already exists at the specified path.

The type must be either of the following values:

- $True

- $False

The default value is $False.

Process

Optional

System.String[]

Specifies the process name to filter on.

The use of wildcards is supported.

StartTime

Optional

System.DateTime

Specifies the start time of the log entries returned.

The type must be a valid DateTime format that is culture-specific to the administrative language, such as 2/16/2007 12:15:12 for English-US.

The default is one hour prior to the current time on the local computer.

ThreadID

Optional

System.UInt32[]

Specifies the thread ID to filter on.

The type must be a valid integer from 0 through 4,294,967,295.

Detailed Description

The Merge-SPLogFile cmdlet returns records from Unified Logging Service (ULS) trace log files on each farm server that match the criteria, and writes the results to a new log file on the local computer. If no results are returned, a warning is written to the Windows PowerShell console window.

We recommend that you filter by using the StartTime and EndTime parameters to optimize performance of this cmdlet. Some filtering parameters such as Process, Area, Category, EventID and Message support wildcards.

Input Types

Return Types

Example

--------------EXAMPLE 1-----------------

Copy Code
Merge-SPLogFile -Path "C:\Logs\FarmMergedLog.log" -Overwrite

This example merges the last hour of log data from all farm computers with no filtering.

--------------EXAMPLE 2-----------------

Copy Code
Merge-SPLogFile -Path "C:\Logs\FarmMergedLog.log" -Overwrite -Area Search

This example merges the last hour of log data from the Search area.

--------------EXAMPLE 3-----------------

Copy Code
Merge-SPLogFile -Path "C:\Logs\FarmMergedLog.log" -Overwrite -Area "SharePoint Foundation","Web Analytics Services"

This example merges the last hour of log data from the SharePoint Foundation and Web Analytics Services areas.

--------------EXAMPLE 4-----------------

Copy Code
Merge-SPLogFile -Path "C:\Logs\FarmMergedLog.log" -Overwrite -Level High

This example merges the log data of level High or higher.

--------------EXAMPLE 5-----------------

Copy Code
Merge-SPLogFile -Path "C:\Logs\FarmMergedLog.log" -Overwrite -StartTime "06/09/2008 16:00" - EndTime "06/09/2008 16:15"

This example merges the log data for events in a particular time range, which is culture-specific to the United States.

--------------EXAMPLE 6-----------------

Copy Code
Merge-SPLogFile -Path "C:\Logs\FarmMergedLog.log" -Overwrite -Message "*permission changed*"

This example merges the log data for events with permission changed in the message text.

--------------EXAMPLE 7-----------------

Copy Code
Merge-SPLogFile -Overwrite -Path d:\1.log -ContextFilter "name=timer job*" -Area "*search*"

This example merges the log data for all search timer jobs.

--------------EXAMPLE 8-----------------

Copy Code
Merge-SPLogFile -Overwrite -Path d:\2.log -ContextFilter "user=contoso?joeuser"

This example shows how to merge the log data for all user names that have a contoso\joeuser or Contoso/joeuser format.

See Also

Reference

New-SPLogFile


New-SPLogFile
See Also Example
[image]

Published: May 12, 2010

Creates a new log file.

New-SPLogFile [-AssignmentCollection <SPAssignmentCollection>]

Parameters

Parameter Required Type Description

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Detailed Description

The New-SPLogFile cmdlet ends the current log file and starts a new log file.

Input Types

Return Types

Example

--------------EXAMPLE-----------------

Copy Code
New-SPLogFile

This example ends the current log file and starts a new log file.

See Also

Reference

Merge-SPLogFile


New-SPUsageLogFile
Example
[image]

Published: May 12, 2010

Starts a new usage log file on the current server computer.

New-SPUsageLogFile [-AssignmentCollection <SPAssignmentCollection>]

Parameters

Parameter Required Type Description

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Detailed Description

The New-SPUsageLogFile cmdlet starts a new usage log file on the current server computer. The usage data in memory is flushed to the current usage log file before the new log file is created.

Input Types

Return Types

Example

-------------------EXAMPLE-------------------

Copy Code
New-SPUsageLogFile

This example terminates the current usage log file and creates a new one.


Set-SPDiagnosticConfig
See Also Example
[image]

Published: May 12, 2010

Sets diagnostic configuration settings on the farm.

Set-SPDiagnosticConfig [-AllowLegacyTraceProviders <SwitchParameter>] [-AssignmentCollection <SPAssignmentCollection>] [-CustomerExperienceImprovementProgramEnabled <SwitchParameter>] [-DaysToKeepLogs <Int32>] [-DownloadErrorReportingUpdatesEnabled <SwitchParameter>] [-ErrorReportingAutomaticUploadEnabled <SwitchParameter>] [-ErrorReportingEnabled <SwitchParameter>] [-EventLogFloodProtectionEnabled <SwitchParameter>] [-EventLogFloodProtectionNotifyInterval <Int32>] [-EventLogFloodProtectionQuietPeriod <Int32>] [-EventLogFloodProtectionThreshold <Int32>] [-EventLogFloodProtectionTriggerPeriod <Int32>] [-InputObject <PSObject>] [-LogCutInterval <Int32>] [-LogDiskSpaceUsageGB <Int32>] [-LogLocation <String>] [-LogMaxDiskSpaceUsageEnabled <SwitchParameter>] [-ScriptErrorReportingDelay <Int32>] [-ScriptErrorReportingEnabled <SwitchParameter>] [-ScriptErrorReportingRequireAuth <SwitchParameter>]

Parameters

Parameter Required Type Description

AllowLegacyTraceProviders

Optional

System.Management.Automation.SwitchParameter

Specifies that trace providers built for previous versions of SharePoint Products and Technologies can write to the trace session for SharePoint 2010 Products.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

CustomerExperienceImprovementProgramEnabled

Optional

System.Management.Automation.SwitchParameter

Specifies whether participation in the Customer Experience Improvement Program (CEIP) is enabled.

The CEIP is designed to improve the quality, reliability, and performance of Microsoft products and technologies. With your permission, anonymous information about your server is sent to Microsoft to help improve SharePoint 2010 Products.

The type must be either of the following values:

- $True

- $False

The default value is $True.

DaysToKeepLogs

Optional

System.Int32

Specifies the number of days to keep trace log files. The type must be a valid number between 1 and 366. The default value is 14 days..

DownloadErrorReportingUpdatesEnabled

Optional

System.Management.Automation.SwitchParameter

Specifies whether the error reporting remote control file is downloaded.

The type must be either of the following values:

- $True

- $False

The default value is $True.

ErrorReportingAutomaticUploadEnabled

Optional

System.Management.Automation.SwitchParameter

Specifies whether error reports are uploaded to Microsoft automatically.

Error reports include the following: information regarding the condition of the server when a problem occurs; the operating system version and computer hardware in use; and the digital product ID, which can be used to identify your license. The IP address of your computer is also sent because you are connecting to an online service to send error reports; however, the IP address is used only to generate aggregate statistics.

The type must be either of the following values:

- $True

- $False

The default value is $True.

ErrorReportingEnabled

Optional

System.Management.Automation.SwitchParameter

Specifies whether collection of error reports is enabled.

Error reports are created when your system encounters hardware or software problems. Microsoft and its partners actively use these reports to improve the reliability of the software. Error reports include the following: information regarding the condition of the server when the problem occurs; the operating system version and computer hardware in use; and the digital product ID, which can be used to identify your license. The IP address of your computer is also sent because you are connecting to an online service to send error reports; however, the IP address is used only to generate aggregate statistics.

The type must be either of the following values:

- $True

- $False

The default value is $True.

EventLogFloodProtectionEnabled

Optional

System.Management.Automation.SwitchParameter

Specifies whether the Event log flood protection feature is enabled.

If multiple similar events are written to the event log, some duplicate messages are suppressed. Then, after a period of time, a summary message is written that shows how many events were suppressed.

The type must be either of the following values:

- $True

- $False

The default value is $True.

EventLogFloodProtectionNotifyInterval

Optional

System.Int32

Specifies in minutes how often to write a summary event indicating how many events were suppressed due to flood protection.

The integer range is between 1 and 1440. The default value is 5.

EventLogFloodProtectionQuietPeriod

Optional

System.Int32

Specifies in minutes how much time must pass without an event firing to exit flood protection.

The integer range is between 1 and 1440. The default value is 2.

EventLogFloodProtectionThreshold

Optional

System.Int32

Specifies the number of events allowed in a given timeframe before an event is considered to be flooding the event log.

The integer range is between 1 and 100. The default value is 5.

EventLogFloodProtectionTriggerPeriod

Optional

System.Int32

Specifies in minutes the timeframe to watch for events that may be flooding.

The integer range is between 1 and 1440. The default value is 2.

InputObject

Optional

System.Management.Automation.PSObject

Use the result from the Get-SPDiagnosticConfig cmdlet, make modifications, and then pipeline the object into Set-SPDiagnosticConfig cmdlet to update the content database.

LogCutInterval

Optional

System.Int32

Specifies a time period to roll over to the next log file.

The type must be a valid number between 0 and 1440.

The default value is 30.

LogDiskSpaceUsageGB

Optional

System.Int32

Specifies the maximum amount of storage to use for trace log files, in gigabytes (GB).

The default value is 1000 and only takes effect when the LogMaxDiskSpaceusageEnabled cmdlet is set to True.

The type must be a valid number between 1 and 1000.

LogLocation

Optional

System.String

Specifies the path of where to log files will reside.

The type must be a valid path, in the form C:\Logs.

The default location is %CommonProgramFiles%\Microsoft Shared\Web Server Extensions\14\Logs.

LogMaxDiskSpaceUsageEnabled

Optional

System.Management.Automation.SwitchParameter

Specifies whether to restrict the maximum space to use for trace log files.

The type must be either of the following values:

- $True

- $False

The default value is $False.

ScriptErrorReportingDelay

Optional

System.Int32

Specifies the time (in minutes) between script error reports.

The type must be a valid integer between 0 and 1440. The value is specified in minutes.

The default value is 30.

ScriptErrorReportingEnabled

Optional

System.Management.Automation.SwitchParameter

Specifies whether error reporting is enabled for client script errors.

The type must be either of the following values:

- $True

- $False

The default value is $True.

ScriptErrorReportingRequireAuth

Optional

System.Management.Automation.SwitchParameter

Specifies whether script error reporting requires authentication.

The type must be either of the following values:

- $True

- $False

The default value is $True.

Detailed Description

Use the Set-SPDiagnosticConfig cmdlet to set diagnostic configuration settings on the entire farm.

Input Types

Return Types

Example

------------------EXAMPLE 1-----------------------

Copy Code
set-spdiagnosticconfig -errorReportingEnable -DownloadErrorReportingUpdatesEnabled:$false -DaysToKeepLog  60

This example enables ErrorReporting, disables DownloadErrorReportingUpdatesEnable, and sets DaysToKeepLog to 60.

------------------EXAMPLE 2-----------------------

Copy Code
$L = get-spdiagnosticconfig
Copy Code
$L.CustomerExperienceImprovementProgramEnabled = $false
Copy Code
$L.LogCutInterval = 60
Copy Code
$L | Set-SPDiagnosticConfig

This example disables CEIP and sets LogCutInterval to 60 minutes.

See Also

Reference

Get-SPDiagnosticConfig


Set-SPDiagnosticsProvider
See Also Example
[image]

Published: May 12, 2010

Enables a diagnostics provider and updates its retention policy.

Set-SPDiagnosticsProvider [-Identity] <SPDiagnosticsProviderPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-DaysRetained <Int32>] [-Enable <SwitchParameter>] [-MaxTotalSizeInBytes <Int64>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.SharePoint.PowerShell.SPDiagnosticsProviderPipeBind

Specifies the diagnostics provider to update.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a diagnostic provider (for example, DiagnosticProv1); or an instance of a valid SPDiagnosticsProvider object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

DaysRetained

Optional

System.Int32

Specifies the number of days to retain the data collected by a diagnostics provider.

The type must be a valid integer value in the range of 1 to 14.

Enable

Optional

System.Management.Automation.SwitchParameter

Turns on or off the specified diagnostics provider.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Set-SPDiagnosticsProvider cmdlet enables a diagnostics provider and updates its retention policy.

Input Types

Return Types

Example

------------------EXAMPLE 1-----------------------

Copy Code
Get-SPDiagnosticsProvider job-diagnostics-event-log-provider | Set-SPDiagnosticsProvider -Enable:$false
Copy Code
Get-SPDiagnosticsProvider job-diagnostics-event-log-provider

This example disables the event log diagnostics provider.

------------------EXAMPLE 2-----------------------

Copy Code
Get-SPDiagnosticsProvider job-diagnostics-event-log-provider | Set-SPDiagnosticsProvider -Enable -DaysRetained 10
Copy Code
Get-SPDiagnosticsProvider job-diagnostics-event-log-provider

This example enables the event log diagnostics provider and changes its retention policy to 10 days.

See Also

Reference

Get-SPDiagnosticsProvider


Managed metadata cmdlets (SharePoint Server 2010)

Published: July 29, 2010

Managed metadata is a hierarchical collection of centrally managed terms that you can define and then use as attributes for items in Microsoft SharePoint Server 2010.

This article lists cmdlets that support administration of managed metadata.

Managed metadata administration

Cmdlet name | Description
Clear-SPMetadataWebServicePartitionData | Removes all data for a site subscription on a managed metadata Web service application.
Export-SPMetadataWebServicePartitionData | Exports the data from a managed metadata Web service for a site subscription.
Get-SPMetadataServiceApplication | Returns a managed metadata service application.
Get-SPMetadataServiceApplicationProxy | Returns an existing connection to a managed metadata service application, which is also known as a proxy, to the managed metadata service application.
Get-SPSiteSubscriptionMetadataConfig | Returns the site subscription configuration settings for a managed metadata service application.
Get-SPTaxonomySession | Returns a TaxonomySession object.
Import-SPMetadataWebServicePartitionData | Restores the data for a site subscription.
New-SPMetadataServiceApplication | Creates a new managed metadata service application.
New-SPMetadataServiceApplicationProxy | Creates a new connection to a managed metadata service application.
Remove-SPSiteSubscriptionMetadataConfig | Removes site subscription configuration settings.
Set-SPMetadataServiceApplication | Sets the properties of a managed metadata service application.
Set-SPMetadataServiceApplicationProxy | Sets the properties of a connection to a managed metadata service application.
Set-SPSiteSubscriptionMetadataConfig | Sets the site subscription configuration settings for a specified managed metadata service application.


Performance cmdlets (SharePoint Server 2010)
See Also

You can use Windows PowerShell cmdlets to manage performance for a Microsoft SharePoint Server 2010 farm.

Cmdlet name | Description
Add-SPDiagnosticsPerformanceCounter | Adds an instance of a performance counter.
Get-SPDiagnosticsPerformanceCounter | Returns a collection of performance counters.
Remove-SPDiagnosticsPerformanceCounter | Removes an instance of a performance counter.
Disable-SPWebApplicationHttpThrottling | Turns off network throttling for a Web application.
Enable-SPWebApplicationHttpThrottling | Turns on network throttling for a Web application.
Get-SPBusinessDataCatalogThrottleConfig | Returns the throttling configuration for a Business Data Connectivity Service application.
Set-SPBusinessDataCatalogThrottleConfig | Sets the throttling configuration for a Business Data Connectivity Service application.
Get-SPWebApplicationHttpThrottlingMonitor | Reads all counters for network throttling on a Web application.
Set-SPWebApplicationHttpThrottlingMonitor | Sets the Health Score bucket values for an existing network throttling performance counter for a specified Web application.

See Also

Other Resources

Resource Center: Windows PowerShell for SharePoint Server 2010


Add-SPDiagnosticsPerformanceCounter
See Also Example
[image]

Published: May 12, 2010

Adds a new instance of a performance counter to a Web front end computer or a database server.

Add-SPDiagnosticsPerformanceCounter [-Category] <String> -Counter <String> [-AllInstances <SwitchParameter>] [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-DatabaseServer <SwitchParameter>] [-WebFrontEnd <SwitchParameter>] [-WhatIf [<SwitchParameter>]]
Add-SPDiagnosticsPerformanceCounter [-Category] <String> -Instance <String> [-AllInstances <SwitchParameter>] [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-Counter <String>] [-DatabaseServer <SwitchParameter>] [-WebFrontEnd <SwitchParameter>] [-WhatIf [<SwitchParameter>]]

Parameters

1

Parameter

Required

Type

Description

Category

Required

System.String

Specifies the category of performance counter to add to the target Web front end computer or database server.

The type must be a valid name of a category of performance counters; for example, ASP.NET, PhysicalDisk, or Processor.

Counter

Required

System.String

Specifies the type of counter to add to the target Web front end computer or database server.

The type must be a valid name of counter type; for example, Requests Queued, Avg. Disk Queue Length, and % Processor Time.

AllInstances

Optional

System.Management.Automation.SwitchParameter

Collects all instances of a counter category and type on the target Web front end computer or database server.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

DatabaseServer

Optional

System.Management.Automation.SwitchParameter

Adds the specified performance counter to all database servers in the farm.

WebFrontEnd

Optional

System.Management.Automation.SwitchParameter

Adds the specified performance counter to all Web front end computers in the farm.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

2

Parameter

Required

Type

Description

Category

Required

System.String

Specifies the category of performance counter to add to the target Web front end computer or database server.

The type must be a valid name of a category of performance counters; for example, ASP.NET, PhysicalDisk, or Processor.

Counter

Required

System.String

Specifies the type of counter to add to the target Web front end computer or database server.

The type must be a valid name of counter type; for example, Requests Queued, Avg. Disk Queue Length, and % Processor Time.

Instance

Required

System.String

Specifies the display name of the new performance counter.

The type must be a valid name of a performance counter instance; for example Total_PerfCounter.

AllInstances

Optional

System.Management.Automation.SwitchParameter

Collects all instances of a counter category and type on the target Web front end computer or database server.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

DatabaseServer

Optional

System.Management.Automation.SwitchParameter

Adds the specified performance counter to all database servers in the farm.

WebFrontEnd

Optional

System.Management.Automation.SwitchParameter

Adds the specified performance counter to all Web front end computers in the farm.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

This cmdlet contains more than one parameter set. You may only use parameters from one parameter set, and you may not combine parameters from different parameter sets. For more information about how to use parameter sets, see Cmdlet Parameter Sets.

The Add-SPDiagnosticsPerformanceCounter cmdlet adds a performance counter to a front end Web server or a database server. A performance counter is read and recorded in the usage database. By default, the new performance counter is added to the database servers in the farm.

Input Types

Return Types

Example

------------------EXAMPLE 1------------------

Copy Code
Add-SPDiagnosticsPerformanceCounter -category ASP.NET -Counter "Requests Queued"

This example adds the counter that has the name ASP.NET\Requests Queued on front end Web servers.

------------------EXAMPLE 2------------------

Copy Code
Add-SPDiagnosticsPerformanceCounter -category PhysicalDisk -counter "Avg. Disk Queue Length" -allinstances

This example adds all instances of the counter PhysicalDisk in the category Avg. Disk Queue Length on front end Web servers.

------------------EXAMPLE 3------------------

Copy Code
Add-SPDiagnosticsPerformanceCounter -category Processor -counter "% Processor Time" -instance "_Total" -databaseserver

This example adds the _Total instance of the counter % Processor Time in the category Processor on database servers.

See Also

Reference

Get-SPDiagnosticsPerformanceCounter
Remove-SPDiagnosticsPerformanceCounter


Get-SPDiagnosticsPerformanceCounter
See Also Example
[image]

Published: May 12, 2010

Returns a collection of performance counters.

Get-SPDiagnosticsPerformanceCounter [-AssignmentCollection <SPAssignmentCollection>] [-DatabaseServer <SwitchParameter>] [-WebFrontEnd <SwitchParameter>]

Parameters

Parameter Required Type Description

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

DatabaseServer

Optional

System.Management.Automation.SwitchParameter

Returns performance counters collected for the database servers in the farm.

WebFrontEnd

Optional

System.Management.Automation.SwitchParameter

Returns performance counters collected for the front end Web servers in the farm.

Detailed Description

The Get-SPDiagnosticsPerformanceCounter cmdlet returns the collection of performance counters that are read and recorded in the usage database. If neither the DatabaseServer or WebFrontEnd parameters are specified, this cmdlet returns the performance counters on the front end Web servers and database servers in the farm.

To distinguish counters that are collected on database servers and counters that are collected on front end Web servers, note that counters that are collected on database servers have a Provider Name of job-diagnostics-performance-counter-sql-provider, and counters that are collected on front end Web servers have a Provider Name of job-diagnostics-performance-counter-wfe-provider.

Note:

The Get-SPDiagnosticsPerformanceCounter cmdlet is only available by using Windows PowerShell. There is no user interface.

Input Types

Return Types

Example

------------------EXAMPLE 1------------------

Copy Code
Get- SPDiagnosticsPerformanceCounter

This example gets the performance counter settings for front end Web servers and database servers.

------------------EXAMPLE 2------------------

Copy Code
Get- SPDiagnosticsPerformanceCounter -WebFrontEnd

This example gets the performance counter settings for front end Web servers.

------------------EXAMPLE 3------------------

Copy Code
Get- SPDiagnosticsPerformanceCounter -DatabaseServer

This example gets the performance counter settings for database servers.

See Also

Reference

Add-SPDiagnosticsPerformanceCounter
Remove-SPDiagnosticsPerformanceCounter


Remove-SPDiagnosticsPerformanceCounter
See Also Example
[image]

Published: May 12, 2010

Removes an instance of a performance counter.

Remove-SPDiagnosticsPerformanceCounter [-Category] <String> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-Counter <String>] [-DatabaseServer <SwitchParameter>] [-Instance <String>] [-WebFrontEnd <SwitchParameter>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Category

Required

System.String

Specifies the category of performance counters to remove.

The type must be a valid name of a category of performance counters; for example, ASP.NET, PhysicalDisk, or Processor.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

Counter

Optional

System.String

Specifies the type of counter to remove. If this parameter is not specified, this cmdlet removes all performance counters of the specified category.

The type must be a valid name of counter type; for example, Requests Queued, Avg. Disk Queue Length, and % Processor Time.

DatabaseServer

Optional

System.Management.Automation.SwitchParameter

Removes the specified performance counters that are collected on the database servers in the farm.

Instance

Optional

System.String

Specifies the instance name of the performance counter to remove. If this parameter is not specified, this cmdlet removes all instances of the specified performance counter.

The type must be a valid name of a performance counter instance; for example Total_PerfCounter.

WebFrontEnd

Optional

System.Management.Automation.SwitchParameter

Removes performance counters that are collected on the front end Web servers in the farm.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Remove-SPDiagnosticsPerformanceCounter cmdlet removes performance counters from the collection of performance counters that are read and recorded in the usage database. This cmdlet can also be used to remove entire categories and types of counters from the collection. If either the DatabaseServer or WebFrontEnd parameters are not specified, this cmdlet removes the specified performance counters on the front end Web servers in the farm.

Note:

The Remove-SPDiagnosticsPerformanceCounter cmdlet is only available by using Windows PowerShell. There is no user interface.

Input Types

Return Types

Example

------------------EXAMPLE 1------------------

Copy Code
Remove-SPDiagnosticsPerformanceCounter -category ASP.NET

This example removes all the counters in the category ASP.NET on front end Web servers.

------------------EXAMPLE 2------------------

Copy Code
Remove-SPDiagnosticsPerformanceCounter -category ASP.NET -Counter "Requests Queued"

This example removes the counters in the category ASP.NET that have requests queued on front end Web servers.

------------------EXAMPLE 3------------------

Copy Code
Remove-SPDiagnosticsPerformanceCounter -category Processor -counter "% Processor Time" -instance "_Total" -databaseserver

This example removes the counters of the _Total instance, with the counter % Processor Time in the category Processor on database servers.

See Also

Reference

Add-SPDiagnosticsPerformanceCounter
Get-SPDiagnosticsPerformanceCounter


Disable-SPWebApplicationHttpThrottling
See Also Example
[image]

Published: May 12, 2010

Turns off network throttling for a Web application.

Disable-SPWebApplicationHttpThrottling [-Identity] <SPWebApplicationPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.SharePoint.PowerShell.SPWebApplicationPipeBind

Turns off network throttling on the specified SharePoint Web application.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; or a valid name of a SharePoint Web application (for example, MyOfficeApp1); or an instance of a valid SPWebApplication object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Disable-SPWebApplicationHttpThrottling cmdlet turns off network throttling for a Web application. This operation prompts you to confirm that you want to turn off network throttling.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
Disable-SPWebApplicationHTTPThrottling http://sitename

This example disables network throttling on the Web application http://sitename.

See Also

Reference

Get-SPWebApplicationHttpThrottlingMonitor
Enable-SPWebApplicationHttpThrottling
Set-SPWebApplicationHttpThrottlingMonitor


Enable-SPWebApplicationHttpThrottling
See Also Example
[image]

Published: May 12, 2010

Turns on network throttling for a Web application.

Enable-SPWebApplicationHttpThrottling [-Identity] <SPWebApplicationPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.SharePoint.PowerShell.SPWebApplicationPipeBind

Turns on network throttling on the specified SharePoint Web application.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; or a valid name of a SharePoint Web application (for example, MyOfficeApp1); or an instance of a valid SPWebApplication object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Enable-SPWebApplicationHttpThrottling cmdlet turns on network throttling for a Web application. This operation prompts you to confirm that you want to turn on network throttling.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
Enable-SPWebApplicationHttpThrottling http://sitename

This example enables network throttling on the http://sitename Web application.

See Also

Reference

Get-SPWebApplicationHttpThrottlingMonitor
Disable-SPWebApplicationHttpThrottling
Set-SPWebApplicationHttpThrottlingMonitor


Get-SPBusinessDataCatalogThrottleConfig
See Also Example
[image]

Published: May 12, 2010

Returns the throttling configuration for a Business Data Connectivity Service application.

Get-SPBusinessDataCatalogThrottleConfig -Scope <Global | Database | WebService | Wcf | Custom> -ServiceApplicationProxy <SPServiceApplicationProxyPipeBind> -ThrottleType <None | Items | Size | Connections | Timeout> [-AssignmentCollection <SPAssignmentCollection>]
Get-SPBusinessDataCatalogThrottleConfig -FileBacked <SwitchParameter> -Scope <Global | Database | WebService | Wcf | Custom> -ThrottleType <None | Items | Size | Connections | Timeout> [-AssignmentCollection <SPAssignmentCollection>]

Parameters

1

Parameter

Required

Type

Description

Scope

Required

Microsoft.BusinessData.SystemSpecific.ThrottleScope

Returns the throttling configuration for the specified the scope.

The type must be one of the following: Wcf, WebService, Database, Global, or Custom.

ServiceApplicationProxy

Required

Microsoft.SharePoint.PowerShell.SPServiceApplicationProxyPipeBind

Specifies the Business Data Connectivity Service application proxy that contains the throttling configuration to get.

ThrottleType

Required

Microsoft.BusinessData.SystemSpecific.ThrottleType

Returns the throttling configuration for the specified throttle type.

The type must be one of the following: None, Items, Size, Connections, or Timeout.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

2

Parameter

Required

Type

Description

FileBacked

Required

System.Management.Automation.SwitchParameter

Requests the throttling configuration for file backed metadata catalogs.

Scope

Required

Microsoft.BusinessData.SystemSpecific.ThrottleScope

Returns the throttling configuration for the specified the scope.

The type must be one of the following: Wcf, WebService, Database, Global, or Custom.

ThrottleType

Required

Microsoft.BusinessData.SystemSpecific.ThrottleType

Returns the throttling configuration for the specified throttle type.

The type must be one of the following: None, Items, Size, Connections, or Timeout.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Detailed Description

This cmdlet contains more than one parameter set. You may only use parameters from one parameter set, and you may not combine parameters from different parameter sets. For more information about how to use parameter sets, see Cmdlet Parameter Sets.

The Get-SPBusinessDataCatalogThrottleConfig cmdlet reads the throttling configuration for a Business Data Connectivity Service application.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
Get-SPBusinessDataCatalogThrottleConfig -Scope Database -ThrottleType Items -ServiceApplicationProxy $contosoServAppProxy

This example returns the throttling information that is related to database items for the given service application.

See Also

Reference

Set-SPBusinessDataCatalogThrottleConfig


Set-SPBusinessDataCatalogThrottleConfig
See Also Example
[image]

Published: May 12, 2010

Sets the throttling configuration for a Business Data Connectivity Service application.

Set-SPBusinessDataCatalogThrottleConfig -Default <Int32> -Identity <ThrottleConfig> -Maximum <Int32> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-WhatIf [<SwitchParameter>]]
Set-SPBusinessDataCatalogThrottleConfig -Enforced <SwitchParameter> -Identity <ThrottleConfig> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-WhatIf [<SwitchParameter>]]

Parameters

1

Parameter

Required

Type

Description

Default

Required

System.Int32

Specifies the default setting of the throttle configuration.

Identity

Required

Microsoft.SharePoint.BusinessData.SharedService.ThrottleConfig

Specifies the throttle configuration to update.

Maximum

Required

System.Int32

Specifies the maximum value of the throttling configuration setting.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

2

Parameter

Required

Type

Description

Enforced

Required

System.Management.Automation.SwitchParameter

Specifies that the throttle configuration setting cannot be overridden.

Identity

Required

Microsoft.SharePoint.BusinessData.SharedService.ThrottleConfig

Specifies the throttle configuration to update.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

This cmdlet contains more than one parameter set. You may only use parameters from one parameter set, and you may not combine parameters from different parameter sets. For more information about how to use parameter sets, see Cmdlet Parameter Sets.

The Set-SPBusinessDataCatalogThrottleConfig cmdlet sets the throttling configuration for a Business Data Connectivity Service application.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
Get-SPBusinessDataCatalogThrottleConfig -Scope Database -ThrottleType Items -ServiceApplicationProxy $contosoServAppProxy | Set-SPBusinessDataCatalogThrottleConfig -Maximum 1000000000 -Default 500000

This example sets the database item throttling to values of 1000000000 maximum and 500000 default for the given service application.

See Also

Reference

Get-SPBusinessDataCatalogThrottleConfig


Get-SPWebApplicationHttpThrottlingMonitor
See Also Example
[image]

Published: May 12, 2010

Returns all counters and their associated Health Score bucket values for network throttling on a Web application.

Get-SPWebApplicationHttpThrottlingMonitor [-Identity] <SPWebApplicationPipeBind> [-AssignmentCollection <SPAssignmentCollection>]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.SharePoint.PowerShell.SPWebApplicationPipeBind

Returns throttling performance counter settings for the specified SharePoint Web application.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of SharePoint Web application (for example, MyOfficeApp1); or an instance of a valid SPWebApplication object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Detailed Description

The Get-SPWebApplicationHttpThrottlingMonitor cmdlet reads all counters for network throttling on a Web application. This cmdlet returns a list that contains all of the performance counters and their associated Health Score bucket values.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
$s = get-SPWebApplicationHTTPThrottlingMonitors http://sharepoint

This example gets all performance counters that are being read in the network throttling monitor for the http://sharepoint Web application.

See Also

Reference

Set-SPWebApplicationHttpThrottlingMonitor
Enable-SPWebApplicationHttpThrottling
Disable-SPWebApplicationHttpThrottling


Set-SPWebApplicationHttpThrottlingMonitor
See Also Example
[image]

Published: May 12, 2010

Sets the Health Score bucket values for an existing network throttling performance counter for a specified Web application.

Set-SPWebApplicationHttpThrottlingMonitor [-Identity] <SPWebApplicationPipeBind> [-Category] <String> [-Counter] <String> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-HealthScoreBuckets <Double[]>] [-Instance <String>] [-IsDESC <SwitchParameter>] [-LowerLimit <Double>] [-UpperLimit <Double>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.SharePoint.PowerShell.SPWebApplicationPipeBind

Specifies the SharePoint Web application to update.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a SharePoint Web application (for example, MyOfficeApp1); or an instance of a valid SPWebApplication object.

Category

Required

System.String

Specifies the name of the performance counter category.

The type must be a valid performance counter category in the throttling monitor. Use the Get-SPWebApplicationHttpThrottlingMonitor cmdlet to return a list of performance counter categories in the throttling monitor.

Counter

Required

System.String

Specifies the name of the performance counter.

The type must be a valid performance counter in the throttling monitor. Use the Get-SPWebApplicationHttpThrottlingMonitor cmdlet to return a list of performance counters in the throttling monitor.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

HealthScoreBuckets

Optional

System.Double[]

Specifies bucket ranges to use in determining the calculation of the server Health Score for this counter.

Instance

Optional

System.String

Specifies the instance of the performance counter. The default value is empty. If the specified value is invalid, this cmdlet will not run.

IsDESC

Optional

System.Management.Automation.SwitchParameter

Specifies that this counter is interpreted in descending order.

If this parameter is set, Health Score bucket values are interpreted in descending order; for example, set this parameter by using the Memory category and Available Mbytes counter to monitor available memory.

LowerLimit

Optional

System.Double

Specifies the lower limit of the numerical threshold of the specified performance counter. The lower limit is the lowest value in the Health Score bucket values.

UpperLimit

Optional

System.Double

Specifies the upper limit of the numerical threshold of the specified performance counter. The upper limit is the highest value in the Health Score bucket values.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Set-SPWebApplicationHttpThrottlingMonitor cmdlet sets the Health Score bucket values for an existing network throttling performance counter for a specified Web application.

Input Types

Return Types

Example

------------------EXAMPLE 1------------------

Copy Code
$buckets=(2000,1000,500,300,200,100,50,30,20,10)
Set-SPWebApplicationHttpThrottlingMonitor http://sharepoint -
Category Memory -Counter 'Available Mbytes' -IsDesc -HealthScoreBuckets $buckets

This example sets the Health Score bucket values for the Memory\Available Mbytes counter to the array listed for the http://sharepoint Web application.

------------------EXAMPLE 2------------------

Copy Code
Set-SPWebApplicationHttpThrottlingMonitor http://sharepoint
0 -Category Memory -Counter 'Available Mbytes' -IsDesc -UpperLimit 3000

This example sets the upper limit for the Memory\Available Mbytes counter, the highest value in the Health Score buckets, to 3000 for the the http://sharepoint Web application.

See Also

Reference

Get-SPWebApplicationHttpThrottlingMonitor
Enable-SPWebApplicationHttpThrottling
Disable-SPWebApplicationHttpThrottling


PerformancePoint Services cmdlets (SharePoint Server 2010)
See Also

PerformancePoint Services in Microsoft SharePoint Server 2010 is a powerful performance management service in Microsoft SharePoint Server 2010 that you can use to monitor and analyze your business. By providing flexible, easy-to-use tools for building dashboards, scorecards, and key performance indicators (KPIs), PerformancePoint Services can help everyone across your organization make informed business decisions that align with company-wide objectives and strategy.

You can use Windows PowerShell functionality to provision PerformancePoint Services, manage and configure a service application, configure and manage trusted locations, configure and manage proxies for the service application, and configure the global settings of the service.

Cmdlet name | Description
Clear-SPPerformancePointServiceApplicationTrustedLocation | Clears all the trusted locations for a PerformancePoint Services application identity
Get-SPPerformancePointSecureDataValues | Displays unattended service account settings.
Get-SPPerformancePointServiceApplication | Returns a PerformancePoint Service application object and properties.
Get-SPPerformancePointServiceApplicationTrustedLocation | Returns a trusted location object and properties for a PerformancePoint Services application.
New-SPPerformancePointServiceApplication | Creates a new service application for PerformancePoint Services.
New-SPPerformancePointServiceApplicationProxy | Creates a proxy for a PerformancePoint Services application.
New-SPPerformancePointServiceApplicationTrustedLocation | Creates a new trusted location for a PerformancePoint Services application.
Remove-SPPerformancePointServiceApplication | Deletes a PerformancePoint Services application from a farm.
Remove-SPPerformancePointServiceApplicationProxy | Deletes the proxy for a PerformancePoint Services application.
Remove-SPPerformancePointServiceApplicationTrustedLocation | Removes a single trusted location from a PerformancePoint Services application.
Set-SPPerformancePointSecureDataValues | Sets global settings for the unattended service account.
Set-SPPerformancePointServiceApplication | Sets global run-time properties for a PerformancePoint Services application.

See Also

Other Resources

Resource Center: Windows PowerShell for SharePoint Server 2010


Clear-SPPerformancePointServiceApplicationTrustedLocation
See Also Example
[image]

Published: May 12, 2010

Clears all the trusted locations for a PerformancePoint Service application identity.

Clear-SPPerformancePointServiceApplicationTrustedLocation -ServiceApplication <SPPerformancePointMonitoringServiceApplicationPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-TrustedLocationType <DataSource | Content>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

ServiceApplication

Required

Microsoft.PerformancePoint.Scorecards.SPPerformancePointMonitoringServiceApplicationPipeBind

Specifies the PerformancePoint Service application that contains the trusted locations.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a PerformancePoint Service application (for example, PerfPointApp1); or an instance of a valid SPPerformancePointMonitoringServiceApplication object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

TrustedLocationType

Optional

System.Nullable

Specifies the type of trusted locations to clear. If the TrustedLocationType parameter is not specified, this cmdlet clears all the trusted locations for the specified PerformancePoint Service application.

The type must be one of the following: content, data source.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Clear-SPPerformancePointServiceApplicationTrustedLocation cmdlet removes all the trusted locations for a PerformancePoint Service application. Use the TrustedLocationType parameter to remove only the trusted locations for a trusted location type.

Input Types

Return Types

Example

------------------EXAMPLE-----------------------

Copy Code
Clear-SPPerformancePointServiceApplicationTrustedLocation -ServiceApplication My_Service_Application

This example removes trusted locations from the Service application named, My_Service_Application.

See Also

Reference

Get-SPPerformancePointServiceApplicationTrustedLocation
New-SPPerformancePointServiceApplicationTrustedLocation
Remove-SPPerformancePointServiceApplicationTrustedLocation


Get-SPPerformancePointServiceApplication
See Also Example
[image]

Published: May 12, 2010

Returns a PerformancePoint Service application object and properties.

Get-SPPerformancePointServiceApplication [[-Identity] <SPPerformancePointMonitoringServiceApplicationPipeBind>] [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Optional

Microsoft.PerformancePoint.Scorecards.SPPerformancePointMonitoringServiceApplicationPipeBind

Specifies the PerformancePoint Service application to get.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a PerformancePoint Service application (for example, PerfPointApp1); or an instance of a valid SPPerformancePointMonitoringServiceApplication object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

Use the Get-SPPerformancePointServiceApplication cmdlet to read a PerformancePoint Service application object and properties. If the Identity parameter is not specified, the cmdlet returns the collection of PerformancePoint Service applications in the farm.

Input Types

Return Types

Example

-------------------EXAMPLE------------------

Copy Code
Get-SPPerformancePointServiceApplication "PPSApp_01"

This example gets a PerformancePoint Service application named PPSApp_01.

See Also

Reference

New-SPPerformancePointServiceApplication
Remove-SPPerformancePointServiceApplication
Set-SPPerformancePointServiceApplication


Get-SPPerformancePointServiceApplicationTrustedLocation
See Also Example
[image]

Published: May 12, 2010

Returns a trusted location object and properties for a PerformancePoint Service application.

Get-SPPerformancePointServiceApplicationTrustedLocation [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-Identity <SPPerformancePointMonitoringServiceApplicationTrustedLocationPipeBind>] [-ServiceApplication <SPPerformancePointMonitoringServiceApplicationPipeBind>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

Identity

Optional

Microsoft.PerformancePoint.Scorecards.SPPerformancePointMonitoringServiceApplicationTrustedLocationPipeBind

Specifies the trusted location to get.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; or an instance of a valid SPPerformancePointMonitoringServiceApplicationTrustedLocation object.

ServiceApplication

Optional

Microsoft.PerformancePoint.Scorecards.SPPerformancePointMonitoringServiceApplicationPipeBind

Specifies the PerformancePoint Service application that contains the trusted location.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a PerformancePoint Service application (for example, PerfPointApp1); or an instance of a valid SPPerformancePointMonitoringServiceApplication object.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

Use the Get-SPPerformancePointMonitoringServiceApplicationTrustedLocation cmdlet to read a trusted location object and properties. If the Identity parameter is not specified, this cmdlet returns the list of all trusted locations and their properties for a PerformancePoint Service application.

Input Types

Return Types

Example

----------------------EXAMPLE----------------------

Copy Code
Get-SPPerformancePointServiceApplication PPSApp_01 | Get-SPPerformancePointServiceApplicationTrustedLocation -Identity $_.ID | select *

This example retrieves TrustedLocation information for the PPSApp_01 PerformancePoint Service application.

See Also

Reference

Clear-SPPerformancePointServiceApplicationTrustedLocation
New-SPPerformancePointServiceApplicationTrustedLocation
Remove-SPPerformancePointServiceApplicationTrustedLocation


New-SPPerformancePointServiceApplication
See Also Example
[image]

Published: May 12, 2010

Creates a new service application for the PerformancePoint Service.

New-SPPerformancePointServiceApplication [-Name] <String> -ApplicationPool <SPIisWebServiceApplicationPoolPipeBind> [-AnalyticQueryCellMax <Int32>] [-AnalyticQueryLoggingEnabled <$true | $false>] [-AnalyticResultCacheMinimumHitCount <Int32>] [-ApplicationCacheEnabled <$true | $false>] [-ApplicationCacheMinimumHitCount <Int32>] [-ApplicationProxyCacheEnabled <$true | $false>] [-AssignmentCollection <SPAssignmentCollection>] [-CommentsDisabled <$true | $false>] [-CommentsScorecardMax <Int32>] [-Confirm [<SwitchParameter>]] [-DatabaseFailoverServer <String>] [-DatabaseName <String>] [-DatabaseServer <String>] [-DatabaseSQLAuthenticationCredential <PSCredential>] [-DataSourceQueryTimeoutSeconds <Int32>] [-DecompositionTreeMaximum <Int32>] [-ElementCacheSeconds <Int32>] [-FilterRememberUserSelectionsDays <Int32>] [-FilterTreeMembersMax <Int32>] [-IndicatorImageCacheSeconds <Int32>] [-MSMQEnabled <$true | $false>] [-MSMQName <String>] [-SelectMeasureMaximum <Int32>] [-SessionHistoryHours <Int32>] [-ShowDetailsInitialRows <Int32>] [-ShowDetailsMaxRows <Int32>] [-ShowDetailsMaxRowsDisabled <$true | $false>] [-TrustedContentLocationsRestricted <$true | $false>] [-TrustedDataSourceLocationsRestricted <$true | $false>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Name

Required

System.String

Specifies the name of the new PerformancePoint Service application.

The type must be a valid name of a PerformancePoint Service application; for example, PerfPointApp1.

ApplicationPool

Optional

Microsoft.SharePoint.PowerShell.SPIisWebServiceApplicationPoolPipeBind

Specifies the existing IIS application pool to run the Web service in for the service application.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of an application pool (for example, AppPoolName1); or an instance of a valid IISWebServiceApplicationPool object.

AnalyticQueryCellMax

Optional

System.Int32

Specifies the maximum number of returned cells in an analytic grid.

A valid integer value from 1 through 1,000,000,000. The default value is 100,000.

AnalyticQueryLoggingEnabled

Optional

System.Nullable

Turns on verbose logging of query events.

The type must be one of the following: True or False. The default value is False.

ApplicationCacheEnabled

Optional

System.Nullable

Specifies whether the rendered output cache on the application server is on (True) or off (False). The default value is True.

ApplicationCacheMinimumHitCount

Optional

System.Nullable

Specifies the minimum number of times rendered output must be requested before it is added to cache. The default value is 2.

ApplicationProxyCacheEnabled

Optional

System.Nullable

Specifies rendered output cache on the front end Web server. The default value is True.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

CommentsDisabled

Optional

System.Nullable

Specifies that users can add comments to scorecard cells.

The type must be one of the following: true or false.

CommentsScorecardMax

Optional

System.Nullable

Specifies the maximum number of comments that can be added to a scorecard. The default value is 1000.

The type must be an integer value from 1 through 1,000,000.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

DatabaseFailoverServer

Optional

System.String

Specifies the name of the database server that contains the PerformancePoint Services database that must be mirrored.

This parameter was introduced in Microsoft SharePoint Server 2010 with Service Pack 1 (SP1) and Microsoft SharePoint Foundation 2010 with Service Pack 1 (SP1).

DatabaseName

Optional

System.String

Specifies the name of the PerformancePoint Services database that will be created when the service application is provisioned.

This parameter was introduced in Microsoft SharePoint Server 2010 with Service Pack 1 (SP1) and Microsoft SharePoint Foundation 2010 with Service Pack 1 (SP1).

DatabaseServer

Optional

System.String

Specifies the name of the database server where the PerformancePoint Services database will be created. This should be the same server name that is used for the SharePoint content and configuration databases.

The value may be written as SQL instance\server if it is not referring to the default instance.

This parameter was introduced in Microsoft SharePoint Server 2010 with Service Pack 1 (SP1) and Microsoft SharePoint Foundation 2010 with Service Pack 1 (SP1).

DatabaseSQLAuthenticationCredential

Optional

System.Management.Automation.PSCredential

Determines whether to use Windows authentication or SQL Server authentication when connecting to a PerformancePoint Services database.

This parameter was introduced in Microsoft SharePoint Server 2010 with Service Pack 1 (SP1) and Microsoft SharePoint Foundation 2010 with Service Pack 1 (SP1).

DataSourceQueryTimeoutSeconds

Optional

System.Nullable

Specifies the time, in seconds, before a data source query times out. The default value is 300.

The type must be an integer value in the range of 1 to 36,000.

DecompositionTreeMaximum

Optional

System.Nullable

Specifies the maximum number of items (per level) returned to the decomposition tree visualization.

A valid integer value from 1 through 1,000,000. The default value is 25.

ElementCacheSeconds

Optional

System.Int32

Specifies the first class object cache expiration time. The default value is 15.

FilterRememberUserSelectionsDays

Optional

System.Nullable

Specifies the number of days that user filter selections are remembered. The default value is 90.

The type must be an integer value from 1 through 10,000.

FilterTreeMembersMax

Optional

System.Nullable

Specifies the maximum number of records to show in filter treeview control. The default value is 500.

The type must be an integer value from 1 through 100,000.

IndicatorImageCacheSeconds

Optional

System.Nullable

Specifies the time, in seconds, that key performance indicator (KPI) icons are cached. The default value is 10.

The type must be an integer value from 1 through 3,600.

MSMQEnabled

Optional

System.Nullable

Specifies that notifications are sent to Microsoft Message Queuing (MSMQ) on content change.

The type must be one of the following: true or false. The default value is False.

MSMQName

Optional

System.String

Specifies the name of the queue. The queue name can contain a maximum of 380 characters, and cannot contain the following characters: CR (ASCII 13), LF (ASCII 10), backslash (\), plus sign (+, comma (,), or quotation marks ("") .

The type must be a valid MSMQ name; for example, MessageQueue1.

SelectMeasureMaximum

Optional

System.Nullable

Specifies the maximum number of measures to show in a dashboard Select Measure control. The default value is 1000.

The type must be an integer value from 1 through 1,000,000.

SessionHistoryHours

Optional

System.Nullable

Specifies the number of hours between clearing expired user navigation history. The default value is 2.

The type must be an integer value from 1 through 48.

ShowDetailsInitialRows

Optional

System.Nullable

Specifies the initial number of rows to retrieve for show details. The default value is 1,000.

The type must be an integer value from 1 through 100,000.

ShowDetailsMaxRows

Optional

System.Nullable

Specifies the maximum number of rows to retrieve for show details.

The type must be an integer value from 1 through 1,000,000. The default value is 10,000.

ShowDetailsMaxRowsDisabled

Optional

System.Nullable

Turns off the ShowDetailsInitialRows setting. If set to True, Analysis Services controls limit.

The type must be one of the following: True or False. The default value is False.

TrustedContentLocationsRestricted

Optional

System.Nullable

Specifies that only specified locations are trusted. The default setting is false (trust all content locations).

The type must be one of the following: True or False. The default value is False.

TrustedDataSourceLocationsRestricted

Optional

System.Nullable

Specifies that only specified locations are trusted. The default setting is false (trust all data source locations).

The type must be one of the following: True or False. The default value is False.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The New-SPPerformancePointServiceApplication cmdlet creates a new PerformancePoint Service on the farm.

Input Types

Return Types

Example

-----------------EXAMPLE------------------------

Copy Code
New-SPPerformancePointServiceApplication -Name PPS_Application_01 -ApplicationPool PPS_Application_Pool_01

This example creates a new PerformancePoint Service application named PPSApp_01 and sets it to run under an application pool named PPS_Application_Pool_01.

See Also

Reference

Get-SPPerformancePointServiceApplication
Remove-SPPerformancePointServiceApplication
Set-SPPerformancePointServiceApplication


New-SPPerformancePointServiceApplicationProxy
See Also Example
[image]

Published: May 12, 2010

Creates a proxy for a PerformancePoint Service application.

New-SPPerformancePointServiceApplicationProxy [-Name] <String> -ServiceApplication <SPPerformancePointMonitoringServiceApplicationPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-Default <SwitchParameter>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Name

Required

System.String

Specifies the name of the PerformancePoint Service application proxy to create.

The type must be a valid name of a PerformancePoint Service application proxy; for example, PerfPointAppProxy1.

ServiceApplication

Required

Microsoft.PerformancePoint.Scorecards.SPPerformancePointMonitoringServiceApplicationPipeBind

Specifies the PerformancePoint Service application that is associated with the new service application proxy.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a PerformancePoint service application (for example, PerfPointApp1); or an instance of a valid SPPerformancePointMonitoringServiceApplication object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

Default

Optional

System.Management.Automation.SwitchParameter

Specifies that the new application proxy will be added to the default service application proxy group.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The New-SPPerformancePointServiceApplicationProxy cmdlet creates a proxy for a PerformancePoint Service application.

Input Types

Return Types

Example

--------------------EXAMPLE--------------------

Copy Code
New-SPPerformancePointServiceApplicationProxy -Name PPS_Application_Proxy_01 -ServiceApplication PPS_Application_01 -Default

This example creates a new PerformancePoint Service application proxy named PPS_Application_Proxy_01, associated with the service application named PPS_Application_01 and is added to the Default proxy group.

See Also

Reference

Remove-SPPerformancePointServiceApplicationProxy


New-SPPerformancePointServiceApplicationTrustedLocation
See Also Example
[image]

Published: May 12, 2010

Creates a new trusted location for a PerformancePoint Service application.

New-SPPerformancePointServiceApplicationTrustedLocation -ServiceApplication <SPPerformancePointMonitoringServiceApplicationPipeBind> -TrustedLocationType <DataSource | Content> -Type <SiteCollection | Site | List | DocumentLibrary> -Url <String> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-Description <String>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

ServiceApplication

Required

Microsoft.PerformancePoint.Scorecards.SPPerformancePointMonitoringServiceApplicationPipeBind

Specifies the PerformancePoint Service application to which the new trusted location will be added.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a PerformancePoint Service application (for example, PerfPointApp1); or an instance of a valid SPPerformancePointMonitoringServiceApplication object.

TrustedLocationType

Required

Microsoft.PerformancePoint.Scorecards.TrustedFileType

Specifies the type of trusted locations to create. If TrustedLocationType is not specified, this cmdlet creates all the trusted locations for the specified PerformancePoint Service application.

The type must be one of the following: Content or Data Source.

Type

Required

Microsoft.PerformancePoint.Scorecards.RepositoryLocationType

Specifies the type of trusted location.

The type must be one of the following: Site Collection, Site, Document Library, List

Url

Required

System.String

Specifies the URL of the trusted location site, site collection, site, document library, or list. The type must be a valid URL, in the form http://server_name, or http://server_name/sitecollection/site/list.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

Description

Optional

System.String

Specifies the description of the new safe data provider.

The type must be a valid string with a maximum of 4096 characters.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The New-SPPerformancePointServiceApplicationTrustedLocation cmdlet creates a new trusted location for a PerformancePoint Service application. The new trusted location can be a Content or Data Source trusted location type and is enforced only when it is enabled in the PerformancePoint Service application.

Input Types

Return Types

Example

------------------EXAMPLE---------------------

Copy Code
New-SPPerformancePointServiceApplicationTrustedLocation -ServiceApplication PPSApp_01 -url "http://Some_Valid_Site_URL" -Type Site -TrustedLocationType Content

This example creates a new TrustedLocation for the PPSApp_01 service application. This creates a Content trusted location of type Site with the specified URL.

See Also

Reference

Clear-SPPerformancePointServiceApplicationTrustedLocation
Get-SPPerformancePointServiceApplicationTrustedLocation
Remove-SPPerformancePointServiceApplicationTrustedLocation


Remove-SPPerformancePointServiceApplication
See Also Example
[image]

Published: May 12, 2010

Deletes a PerformancePoint Service application from a farm.

Remove-SPPerformancePointServiceApplication [-Identity] <SPPerformancePointMonitoringServiceApplicationPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.PerformancePoint.Scorecards.SPPerformancePointMonitoringServiceApplicationPipeBind

Specifies the PerformancePoint Service application to delete.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a PerformancePoint Service application (for example, PerfPointApp1); or an instance of a valid SPPerformancePointMonitoringServiceApplication object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Remove-SPPerformancePointServiceApplication cmdlet deletes a PerformancePoint Service application.

Input Types

Return Types

Example

--------------------EXAMPLE-----------------

Copy Code
Remove-SPPerformancePointServiceApplication -Identity PPSApp_01

This example removes the PPSApp_01 PerformancePoint Service application.

See Also

Reference

Get-SPPerformancePointServiceApplication
New-SPPerformancePointServiceApplication
Set-SPPerformancePointServiceApplication


Remove-SPPerformancePointServiceApplicationProxy
See Also Example
[image]

Published: May 12, 2010

Deletes the proxy for a PerformancePoint Service application.

Remove-SPPerformancePointServiceApplicationProxy [-Identity] <SPPerformancePointMonitoringServiceApplicationProxyPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.PerformancePoint.Scorecards.SPPerformancePointMonitoringServiceApplicationProxyPipeBind

Specifies the PerformancePoint Service application proxy to delete.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a PerformancePoint Service application proxy (for example, PerfPointAppProxy1); or an instance of a valid SPPerformancePointMonitoringServiceApplicationProxy object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Remove-SPPerformancePointServiceApplicationProxy cmdlet deletes the proxy for a PerformancePoint Service application.

Input Types

Return Types

Example

------------------EXAMPLE--------------------

Copy Code
Remove-SPPerformancePointServiceApplicationProxy -Identity PPS_Application_Proxy_01

This example removes the PPS_Application_Proxy_01 application proxy from its associated PerformancePoint Service application.

See Also

Reference

New-SPPerformancePointServiceApplicationProxy


Remove-SPPerformancePointServiceApplicationTrustedLocation
See Also Example
[image]

Published: May 12, 2010

Removes a single trusted location from a PerformancePoint Service application.

Remove-SPPerformancePointServiceApplicationTrustedLocation -Identity <SPPerformancePointMonitoringServiceApplicationTrustedLocationPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.PerformancePoint.Scorecards.SPPerformancePointMonitoringServiceApplicationTrustedLocationPipeBind

Specifies the trusted location to delete.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; or an instance of a valid SPPerformancePointMonitoringServiceApplicationTrustedLocation object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Remove-SPPerformancePointServiceApplicationTrustedLocation cmdlet deletes a single trusted location from a PerformancePoint Service application.

Input Types

Return Types

Example

---------------------EXAMPLE--------------------

Copy Code
Remove-SPPerformancePointServiceApplicationTrustedLocation -Identity <Valid GUID of a Trusted Location in an Application>

This example removes a Trusted Location having the specified GUID from a PerformancePoint Service Application.

See Also

Reference

Clear-SPPerformancePointServiceApplicationTrustedLocation
Get-SPPerformancePointServiceApplicationTrustedLocation
New-SPPerformancePointServiceApplicationTrustedLocation


Set-SPPerformancePointSecureDataValues
See Also Example
[image]

Published: May 12, 2010

Sets global settings for the unattended service account.

Set-SPPerformancePointSecureDataValues [-ServiceApplication] <SPPerformancePointMonitoringServiceApplicationPipeBind> -DataSourceUnattendedServiceAccount <PSCredential> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

ServiceApplication

Required

Microsoft.PerformancePoint.Scorecards.SPPerformancePointMonitoringServiceApplicationPipeBind

Specifies the PerformancePoint Service application that is to be configured.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a PerformancePoint Service application (for example, PerfPointApp1); or an instance of a valid SPPerformancePointServiceApplication object.

DataSourceUnattendedServiceAccount

Required

System.Management.Automation.PSCredential

Specifies the user credentials (user name and password) for the data source of the unattended service account.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Set-SPPerformancePointSecureDataValues cmdlet sets global settings and properties for the unattended service account.

Input Types

Return Types

Example

--------------------EXAMPLE 1--------------------

Copy Code
Set-SPPerformancePointSecureDataValues -ServiceApplication "PerformancePoint Service Application" -DataSourceUnattendedServiceAccount (get-credential)

This example shows how to set the unattended service account by prompting the user for the user name and password.

--------------------EXAMPLE 2--------------------

Copy Code
Set-SPPerformancePointSecureDataValues -ServiceApplication "PerformancePoint Service Application" -DataSourceUnattendedServiceAccount (New-Object System.Management.Automation.PSCredential "domain\user", (ConvertTo-SecureString "password" -AsPlainText -Force))

This example shows how to pass the user name and password as parameters to the cmdlet.

The DataSourceUnattendedServiceAccount parameter accepts a PSCredential object. Therefore, to pass in this value as a parameter, a new PSCredential object must be created using the desired username and password values. The PSCredential object requires that the password be given as a SecureString type.

See Also

Reference

Get-SPPerformancePointSecureDataValues


Set-SPPerformancePointServiceApplication
See Also Example
[image]

Published: May 12, 2010

Sets global runtime properties for a PerformancePoint Services application.

Set-SPPerformancePointServiceApplication [-Identity] <SPPerformancePointMonitoringServiceApplicationPipeBind> [-AnalyticQueryCellMax <Int32>] [-AnalyticQueryLoggingEnabled <$true | $false>] [-AnalyticResultCacheMinimumHitCount <Int32>] [-ApplicationCacheEnabled <$true | $false>] [-ApplicationCacheMinimumHitCount <Int32>] [-ApplicationPool <SPIisWebServiceApplicationPoolPipeBind>] [-ApplicationProxyCacheEnabled <$true | $false>] [-AssignmentCollection <SPAssignmentCollection>] [-CommentsDisabled <$true | $false>] [-CommentsScorecardMax <Int32>] [-Confirm [<SwitchParameter>]] [-DatabaseFailoverServer <String>] [-DatabaseName <String>] [-DatabaseServer <String>] [-DatabaseSQLAuthenticationCredential <PSCredential>] [-DatabaseUseWindowsAuthentication <$true | $false>] [-DataSourceQueryTimeoutSeconds <Int32>] [-DecompositionTreeMaximum <Int32>] [-ElementCacheSeconds <Int32>] [-FilterRememberUserSelectionsDays <Int32>] [-FilterTreeMembersMax <Int32>] [-IndicatorImageCacheSeconds <Int32>] [-MSMQEnabled <$true | $false>] [-MSMQName <String>] [-SelectMeasureMaximum <Int32>] [-SessionHistoryHours <Int32>] [-SettingsDatabase <String>] [-ShowDetailsInitialRows <Int32>] [-ShowDetailsMaxRows <Int32>] [-ShowDetailsMaxRowsDisabled <$true | $false>] [-TrustedContentLocationsRestricted <$true | $false>] [-TrustedDataSourceLocationsRestricted <$true | $false>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.PerformancePoint.Scorecards.SPPerformancePointMonitoringServiceApplicationPipeBind

Specifies the PerformancePoint Service application to update.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a PerformancePoint Service application (for example, PerfPointApp1); or an instance of a valid SPPerformancePointMonitoringServiceApplication object.

AnalyticQueryCellMax

Optional

System.Int32

Specifies the maximum number of returned cells in an analytic grid.

A valid integer between 1-1,000,000,000. The default value is 100,000.

AnalyticQueryLoggingEnabled

Optional

System.Nullable

Turns on verbose logging of query events.

The type must be one of the following: True, False. The default value is False.

ApplicationCacheEnabled

Optional

System.Nullable

Specifies whether rendered output cache on the application server is on (True) or off (False). The default value is True.

ApplicationCacheMinimumHitCount

Optional

System.Nullable

Specifies the minimum number of times rendered output must be requested before it is added to cache. The default value is 2.

ApplicationPool

Optional

Microsoft.SharePoint.PowerShell.SPIisWebServiceApplicationPoolPipeBind

Specifies the existing IIS application pool to run the Web service in for the service application.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of an application pool (for example, AppPoolName1); or an instance of a valid IISWebServiceApplicationPool object.

ApplicationProxyCacheEnabled

Optional

System.Nullable

Specifies rendered output cache on the web front end. The default value is True.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

CommentsDisabled

Optional

System.Nullable

Specifies that users can add comments to scorecard cells.

The type must be one of the following: $True, $False. The default value is $False.

CommentsScorecardMax

Optional

System.Nullable

Specifies the maximum number of comments that can be added to a scorecard. The default value is 1000.

The type must be an integer value in the range of 1 to 1,000,000.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

DatabaseFailoverServer

Optional

System.String

Specifies the name of the database server that contains the PerformancePoint Services database that must be mirrored.

This parameter was introduced in Microsoft SharePoint Server 2010 with Service Pack 1 (SP1) and Microsoft SharePoint Foundation 2010 with Service Pack 1 (SP1).

DatabaseName

Optional

System.String

Specifies the name of the PerformancePoint Services database that will be created when the service application is provisioned.

This parameter was introduced in Microsoft SharePoint Server 2010 with Service Pack 1 (SP1) and Microsoft SharePoint Foundation 2010 with Service Pack 1 (SP1).

DatabaseServer

Optional

System.String

Specifies the name of the database server where the PerformancePoint Services database will be created. This should be the same server name that is used for the SharePoint content and configuration databases.

The value may be written as SQL instance\server if it is not referring to the default instance.

This parameter was introduced in Microsoft SharePoint Server 2010 with Service Pack 1 (SP1) and Microsoft SharePoint Foundation 2010 with Service Pack 1 (SP1).

DatabaseSQLAuthenticationCredential

Optional

System.Management.Automation.PSCredential

Determines whether to use Windows authentication or SQL Server authentication when connecting to a PerformancePoint Services database.

This parameter was introduced in Microsoft SharePoint Server 2010 with Service Pack 1 (SP1) and Microsoft SharePoint Foundation 2010 with Service Pack 1 (SP1).

DataSourceQueryTimeoutSeconds

Optional

System.Nullable

Specifies the time, in seconds, before a data source query times out. The default value is 300.

The type must be an integer value in the range of 1 to 36,000.

DecompositionTreeMaximum

Optional

System.Nullable

Specifies the maximum number of items (per level) returned to the decomposition tree visualization.

A valid integer value between 1-1,000,000. The default value is 25.

ElementCacheSeconds

Optional

System.Int32

Specifies the first class object cache expiration time. The default value is 15.

FilterRememberUserSelectionsDays

Optional

System.Nullable

Specifies the number of days that user filter selections are remembered. The default value is 90.

The type must be an integer value in the range of 1 to 10,000.

FilterTreeMembersMax

Optional

System.Nullable

The maximum number of records to show in filter treeview control. The default value is 500.

An integer value in the range of 1 to 100,000

IndicatorImageCacheSeconds

Optional

System.Nullable

Specifies the time, in seconds, that key performance indicator (KPI) icons are cached. The default value is 10.

The type must be an integer value in the range of 1 to 3600.

MSMQEnabled

Optional

System.Nullable

Specifies that notifications are sent to Microsoft Message Queuing (MSMQ) on content change.

The type must be one of the following: True, False. The default value is False.

MSMQName

Optional

System.String

Specifies the name of the queue. The queue name can contain a maximum of 380 characters, and cannot contain the following characters: CR (ASCII 13), LF (ASCII 10), backslash (\), plus sign (+), comma (,), or quotation marks ("").

The type must be a valid MSMQ name; for example, MessageQueue1.

SelectMeasureMaximum

Optional

System.Nullable

Specifies the maximum number of measures to show in a dashboard Select Measure control. The default value is 1000.

The type must be an integer value in the range of 1 to 1,000,000.

SessionHistoryHours

Optional

System.Nullable

Specifies the number of hours between clearing of expired user navigation history. The default value is 2.

The type must be an integer value in the range of 1 to 48.

SettingsDatabase

Optional

System.String

Specifies the name of the PerformancePoint Service database used for that service application.

ShowDetailsInitialRows

Optional

System.Nullable

Specifies the initial number of rows to retrieve for show details. The default value is 1000.

The type must be an integer value in the range of 1 to 100,000.

ShowDetailsMaxRows

Optional

System.Nullable

Specifies the maximum number of rows to retrieve for show details.

The type must be an integer value in the range of 1 to 1,000,000.

ShowDetailsMaxRowsDisabled

Optional

System.Nullable

Turns off the ShowDetailsInitialRows setting. If set to true, Analysis Services controls limit.

The type must be one of the following: True, False. The default value is False.

TrustedContentLocationsRestricted

Optional

System.Nullable

Specifies that only specified locations are trusted. The default setting is false (trust all content locations).

The type must be one of the following: True, False. The default value is False.

TrustedDataSourceLocationsRestricted

Optional

System.Nullable

Specify to trust only specified data source locations. The default is to trust all data source locations.

The type must be one of the following: True, False. The default value is False.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Set-SPPerformancePointServiceApplication cmdlet updates global runtime properties for a PerformancePoint Service application. The changes made to properties by using this cmdlet affect all servers in the farm that run the instance of the specified PerformancePoint Service application.

Input Types

Return Types

Example

----------------EXAMPLE----------------------

Copy Code
Set-SPPerformancePointServiceApplication -Identity PPSApp_01 -DataSourceQueryTimeoutSeconds 5000

This example sets the Data Source Query Timeout setting to a value of 5000. This cmdlet is equivalent to the PerformancePoint Service Settings page on the SharePoint Central Administration Web site.

See Also

Reference

Get-SPPerformancePointServiceApplication
New-SPPerformancePointServiceApplication
Remove-SPPerformancePointServiceApplication


Get-SPPerformancePointSecureDataValues
See Also Example
[image]

Published: May 12, 2010

Displays unattended service account settings.

Get-SPPerformancePointSecureDataValues [-ServiceApplication] <SPPerformancePointMonitoringServiceApplicationPipeBind> [-AssignmentCollection <SPAssignmentCollection>]

Parameters

Parameter Required Type Description

ServiceApplication

Required

Microsoft.PerformancePoint.Scorecards.SPPerformancePointMonitoringServiceApplicationPipeBind

Specifies the PerformancePoint Service application that is associated with the unattended service account.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a PerformancePoint Service application (for example, PerfPointApp1); or an instance of a valid SPPerformancePointServiceApplication object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Detailed Description

The Get-SPPerformancePointSecureDataValues cmdlet displays global settings for the unattended service account.

Input Types

Return Types

Example

------------------EXAMPLE 1---------------------

Copy Code
Get-SPPerformancePointServiceApplication | Get-SPPerformancePointSecureDataValues

This example shows how to get the unattended service account settings using a service application pipe bind.

------------------EXAMPLE 2---------------------

Copy Code
Get-SPPerformancePointSecureDataValues -ServiceApplication "PerformancePoint Service Application"

This example shows how to specify the service application by using the service application name.

See Also

Reference

Set-SPPerformancePointSecureDataValues


Search cmdlets (SharePoint Server 2010)
See Also

Search is composed of several components, all of which provide specific functionality that is required for Search to operate. These components can be configured by using Windows PowerShell cmdlets.

Administration

Cmdlet name | Description
Get-SPEnterpriseSearchAdministrationComponent | Returns the administration component for a search service application.
Set-SPEnterpriseSearchAdministrationComponent | Sets properties of an administration component for a search service application.
Ping-SPEnterpriseSearchContentService | Sends a request to the content distributor.

Crawling

Cmdlet name | Description
Get-SPEnterpriseSearchCrawlComponent | Returns a crawl component for a shared search application.
Get-SPEnterpriseSearchCrawlContentSource | Returns a crawl content source.
Get-SPEnterpriseSearchCrawlCustomConnector | Returns a CustomConnector object type.
Get-SPEnterpriseSearchCrawlDatabase | Returns a crawl store.
Get-SPEnterpriseSearchCrawlExtension | Returns the file types to be included in the content index.
Get-SPEnterpriseSearchCrawlMapping | Returns a crawl mapping for the search application.
Get-SPEnterpriseSearchCrawlRule | Accesses crawl rules.
Get-SPEnterpriseSearchCrawlTopology | Returns a crawl topology.
New-SPEnterpriseSearchCrawlComponent | Adds a query component to a query topology.
New-SPEnterpriseSearchCrawlContentSource | Creates a new crawl content source for a shared search application.
New-SPEnterpriseSearchCrawlCustomConnector | Registers a protocol for custom crawling.
New-SPEnterpriseSearchCrawlDatabase | Creates a crawl database which can be added to a search service application.
New-SPEnterpriseSearchCrawlExtension | Adds an extension rule to a shared search application.
New-SPEnterpriseSearchCrawlMapping | Creates a crawl mapping rule for a shared search application.
New-SPEnterpriseSearchCrawlRule | Creates a new crawl rule.
New-SPEnterpriseSearchCrawlTopology | Adds a crawl topology to a shared search application.
Remove-SPEnterpriseSearchCrawlComponent | Deletes a crawl component from a shared search application.
Remove-SPEnterpriseSearchCrawlContentSource | Deletes a specified crawl content source from a search application.
Remove-SPEnterpriseSearchCrawlCustomConnector | Removes a CustomConnector object.
Remove-SPEnterpriseSearchCrawlDatabase | Sets properties of a crawl database for a search service application.
Remove-SPEnterpriseSearchCrawlExtension | Removes a file name extension from the list of files that can be crawled.
Remove-SPEnterpriseSearchCrawlMapping | Deletes a crawl mapping.
Remove-SPEnterpriseSearchCrawlRule | Deletes a crawl rule.
Remove-SPEnterpriseSearchCrawlTopology | Deletes a crawl topology.
Set-SPEnterpriseSearchCrawlContentSource | Sets the properties of a crawl content source for a shared search application.
Set-SPEnterpriseSearchCrawlDatabase | Sets properties of a crawl database for a search service application.
Set-SPEnterpriseSearchCrawlRule | Sets properties for a crawl rule.
Set-SPEnterpriseSearchCrawlTopology | Sets the properties of a crawl topology on a shared search application.

Service Application

Cmdlet name | Description
Get-SPEnterpriseSearchService | Returns the search service for a farm.
Get-SPEnterpriseSearchServiceApplication | Returns the search service application for a farm.
Get-SPEnterpriseSearchServiceApplicationProxy | Returns the search service application proxy.
Get-SPEnterpriseSearchServiceInstance | Returns the search service instance for a farm.
New-SPEnterpriseSearchServiceApplication | Adds a search service application to a farm.
New-SPEnterpriseSearchServiceApplicationProxy | Adds a new search application proxy to a farm..
Remove-SPEnterpriseSearchServiceApplication | Deletes a search service application.
Remove-SPEnterpriseSearchServiceApplicationProxy | Deletes a search service application proxy.
Restore-SPEnterpriseSearchServiceApplication | Restores a third-party backup of a search application.
Resume-SPEnterpriseSearchServiceApplication | Resumes a search service application that was suspended.
Set-SPEnterpriseSearchService | Sets the properties of a search service for a farm.
Set-SPEnterpriseSearchServiceApplication | Sets the properties of a search service application for a farm.
Set-SPEnterpriseSearchServiceApplicationProxy | Sets properties of a search service application proxy.
Set-SPEnterpriseSearchServiceInstance | Sets the properties of a search service instance.
Start-SPEnterpriseSearchServiceInstance | Starts an instance of a search service.
Stop-SPEnterpriseSearchServiceInstance | Stops an instance of a search manager service.
Suspend-SPEnterpriseSearchServiceApplication | Suspends a search service application, pausing all crawls and search operations, to perform a task such as system maintenance.
Upgrade-SPEnterpriseSearchServiceApplication | Upgrades a search service application.

Querying

Cmdlet name | Description
Get-SPEnterpriseSearchQueryAndSiteSettingsService | Returns the search manager service.
Get-SPEnterpriseSearchQueryAndSiteSettingsServiceInstance | Returns the service manager service instance.
Get-SPEnterpriseSearchQueryAndSiteSettingsServiceProxy | Returns the search manager service proxy.
Get-SPEnterpriseSearchQueryAuthority | Returns an authoritative page.
Get-SPEnterpriseSearchQueryComponent | Returns a query component.
Get-SPEnterpriseSearchQueryDemoted | Returns a demoted site rule.
Get-SPEnterpriseSearchQueryKeyword | Returns a keyword term.
Get-SPEnterpriseSearchQueryScope | Returns a query results scope.
Get-SPEnterpriseSearchQueryScopeRule | Returns a shared scope rule.
Get-SPEnterpriseSearchQuerySuggestionCandidates | Returns a list of queries.
Get-SPEnterpriseSearchQueryTopology | Returns a query topology.
Get-SPEnterpriseSearchRankingModel | Returns a ranking model.
Get-SPEnterpriseSearchSecurityTrimmer | Returns a custom security trimmer.
New-SPEnterpriseSearchQueryAuthority | Adds an authoritative page to a shared search application.
New-SPEnterpriseSearchQueryComponent | Adds a query component to a query topology.
New-SPEnterpriseSearchQueryDemoted | Adds a demoted site rule to a shared search application.
New-SPEnterpriseSearchQueryKeyword | Adds a keyword term to a shared search application.
New-SPEnterpriseSearchQueryScope | Adds a query results scope to a shared search application.
New-SPEnterpriseSearchQueryScopeRule | Adds a shared scope rule to a query scope.
New-SPEnterpriseSearchQueryTopology | Adds a query topology to a shared search application.
New-SPEnterpriseSearchRankingModel | Adds a ranking model to a shared search application.
New-SPEnterpriseSearchSecurityTrimmer | Adds a custom security trimmer to a shared search application.
Remove-SPEnterpriseSearchQueryAuthority | Deletes an authoritative page.
Remove-SPEnterpriseSearchQueryComponent | Deletes a query component.
Remove-SPEnterpriseSearchQueryDemoted | Deletes a demoted site rule.
Remove-SPEnterpriseSearchQueryKeyword | Deletes a query keyword.
Remove-SPEnterpriseSearchQueryScope | Deletes a query scope.
Remove-SPEnterpriseSearchQueryScopeRule | Deletes query results scope rules.
Remove-SPEnterpriseSearchQueryTopology | Deletes a query topology.
Remove-SPEnterpriseSearchRankingModel | Deletes a ranking model.
Remove-SPEnterpriseSearchSecurityTrimmer | Deletes a custom security trimmer.
Restart-SPEnterpriseSearchQueryComponent | Restarts a failed query component.
Set-SPEnterpriseSearchQueryAuthority | Sets the properties of an authoritative page for a shared search application.
Set-SPEnterpriseSearchQueryComponent | Modifies properties for a query component.
Set-SPEnterpriseSearchQueryKeyword | Sets the properties of a keyword term for a shared search application.
Set-SPEnterpriseSearchQueryScope | Sets the properties of a query results scope for a shared search application.
Set-SPEnterpriseSearchQueryScopeRule | Sets the properties of a shared scope rule for a query scope.
Set-SPEnterpriseSearchQueryTopology | Sets the properties of a query topology for a shared search application.
Set-SPEnterpriseSearchRankingModel | Sets the properties of a ranking model for a shared search application.
Start-SPEnterpriseSearchQueryAndSiteSettingsServiceInstance | Starts an instance of a search manager service.
Stop-SPEnterpriseSearchQueryAndSiteSettingsServiceInstance | Stops an instance of a search manager service.

Metadata

Cmdlet name | Description
Get-SPEnterpriseSearchMetadataCategory | Returns a crawled property category.
Get-SPEnterpriseSearchMetadataCrawledProperty | Returns a crawled property.
Get-SPEnterpriseSearchMetadataManagedProperty | Returns a managed property.
Get-SPEnterpriseSearchMetadataMapping | Returns the current state of a managed property mapping.
New-SPEnterpriseSearchMetadataCategory | Adds a crawled property category to a search service application.
New-SPEnterpriseSearchMetadataCrawledProperty | Adds a crawled property to a search application crawled property category.
New-SPEnterpriseSearchMetadataManagedProperty | Adds a managed property to a shared search application.
New-SPEnterpriseSearchMetadataMapping | Adds a managed property mapping to a shared search application.
Remove-SPEnterpriseSearchMetadataCategory | Deletes a crawled property category.
Remove-SPEnterpriseSearchMetadataManagedProperty | Deletes a metadata managed property.
Remove-SPEnterpriseSearchMetadataMapping | Deletes a metadata mapping from a managed property.
Set-SPEnterpriseSearchMetadataCategory | Sets properties of a crawled property category for a shared search application.
Set-SPEnterpriseSearchMetadataCrawledProperty | Sets the properties of a metadata crawled property for a shared search application.
Set-SPEnterpriseSearchMetadataManagedProperty | Sets the properties of a metadata managed property.
Set-SPEnterpriseSearchMetadataMapping | Sets the properties of a managed property mapping for a shared search application.

Topology

Cmdlet name | Description
Import-SPEnterpriseSearchTopology | Imports and activates a topology from an XML file.
Export-SPEnterpriseSearchTopology | Exports an existing search topology.

General

Cmdlet name | Description
Get-SPEnterpriseSearchIndexPartition | Returns an index partition for a query topology.
Get-SPEnterpriseSearchLanguageResourcePhrase | Returns a language resource phrase.
Get-SPEnterpriseSearchPropertyDatabase | Returns a property store.
Get-SPEnterpriseSearchSiteHitRule | Returns the shared site hit rule.
New-SPEnterpriseSearchLanguageResourcePhrase | Adds a language resource phrase to a shared search application.
New-SPEnterpriseSearchPropertyDatabase | Creates a new property store for use by a search service application.
New-SPEnterpriseSearchSiteHitRule | Adds a new site hit rule for a search application.
Remove-SPEnterpriseSearchLanguageResourcePhrase | Deletes a language resource phrase from a shared search application.
Remove-SPEnterpriseSearchPropertyDatabase | Deletes a property store.
Remove-SPEnterpriseSearchSiteHitRule | Deletes a site hit rule.
Set-SPEnterpriseSearchIndexPartition | Sets properties of an index partition for a query topology.
Set-SPEnterpriseSearchPropertyDatabase | Modifies properties for a property store.

Microsoft FAST Search Server 2010 for SharePoint

Microsoft FAST Search Server 2010 for SharePoint can replace SharePoint Server search features in environments where scale and performance requirements exceed the capabilities of SharePoint Server search. FAST Search Server 2010 for SharePoint can be deployed across multiple servers for redundancy and to increase performance and capacity. Deployment and management take place primarily through command-line operations — not the SharePoint Central Administration Web site — and can be scripted by using Windows PowerShell. FAST Search Server 2010 for SharePoint is only available with a SharePoint Server Enterprise Client Access License (CAL).

The following table describes the cmdlets for FAST Search Server 2010 for SharePoint.

Cmdlet name | Description
Get-SPEnterpriseSearchExtendedConnectorProperty | Returns the value of the property of the search service application.
New-SPEnterpriseSearchExtendedConnectorProperty | Adds new Extended Connector properties.
Set-SPEnterpriseSearchExtendedConnectorProperty | Sets the value of an ExtendedConnector object.
Remove-SPEnterpriseSearchExtendedConnectorProperty | Removes properties of search service applications of ExtendedConnector type.
Set-SPEnterpriseSearchExtendedQueryProperty | Sets FAST Search for SharePoint service-specific properties.
Get-SPEnterpriseSearchExtendedQueryProperty | Returns the properties used for connecting SharePoint to a FAST Search for SharePoint service.
Get-SPEnterpriseSearchExtendedClickThroughExtractorJobDefinition | Gets an object representing the click-through extractor-job instance of a specific FAST Search for SharePoint search service application.

See Also

Other Resources

Resource Center: Windows PowerShell for SharePoint Server 2010


Get-SPEnterpriseSearchAdministrationComponent
See Also Example
[image]

Published: May 12, 2010

Returns the administration component for a search service application.

Get-SPEnterpriseSearchAdministrationComponent -SearchApplication <SearchServiceApplicationPipeBind> [-AssignmentCollection <SPAssignmentCollection>]

Parameters

Parameter Required Type Description

SearchApplication

Required

Microsoft.Office.Server.Search.Cmdlet.SearchServiceApplicationPipeBind

Specifies the search application that contains the administration component.

The type must be a valid name (GUID), in the form 12345678-90ab-cdef-1234-567890bcdefgh; or an instance of a valid SearchServiceApplication object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Detailed Description

The Get-SPEnterpriseSearchAdmininstrationComponent cmdlet retrieves an administration component for a search service application in order to update or delete it.

Input Types

Return Types

Example

------------------EXAMPLE----------------

Copy Code
$searchApp = Get-SPEnterpriseSearchServiceApplication ExampleSearchServiceApplication
$adminCmpnt = Get-SPEnterpriseSearchAdministrationComponent
  -SearchApplication $searchApp

This example obtains an object reference to the administration component of a search service application named ExampleSearchServiceApplication.

See Also

Reference

Set-SPEnterpriseSearchAdministrationComponent
Get-SPEnterpriseSearchServiceApplication


Set-SPEnterpriseSearchAdministrationComponent
See Also Example
[image]

Published: May 12, 2010

Sets properties of an administration component for a search service application.

Set-SPEnterpriseSearchAdministrationComponent [[-Identity] <AdminComponentPipeBind>] [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-Force <SwitchParameter>] [-SearchApplication <SearchServiceApplicationPipeBind>] [-SearchServiceInstance <SearchServiceInstancePipeBind>] [-StoragePath <String>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Optional

Microsoft.Office.Server.Search.Cmdlet.AdminComponentPipeBind

Specifies the administration component to update.

The type must be a valid name (GUID), such as 12345678-90ab-cdef-1234-567890bcdefgh; or an instance of a valid AdminComponent object

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

SearchApplication

Optional

Microsoft.Office.Server.Search.Cmdlet.SearchServiceApplicationPipeBind

Specifies the search application that contains the administration component.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid search application name (for example, SearchApp1); or an instance of a valid SearchServiceApplication object.

Force

Optional

System.Management.Automation.SwitchParameter

Specifies that the admin component must be moved to the new search service instance.

SearchServiceInstance

Optional

Microsoft.Office.Server.Search.Cmdlet.SearchServiceInstancePipeBind

Specifies the search service instance to host the administration component.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a search server (for example, MyQueryServer); or an instance of a valid SearchServiceInstance object.

StoragePath

Optional

System.String

Specifies the path for storing data for the administration component. The path must contain a valid file share and use valid registry characters.

The type must be a valid path in either of the following forms:

- C:\ folder_name

- \\server_name\folder_name

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Set-SPEnterpriseSearchAdministrationComponent cmdlet updates properties of an AdministrationComponent object for a search service application.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
$searchapp = Get-SPEnterpriseSearchServiceApplication "Sample Search Service Application" admin = Get-SPEnterpriseSearchAdministrationComponent -SearchApplication $searchapp
$admin | Set-SPEnterpriseSearchAdministrationComponent -SearchServiceInstance newserver -Force

This example moves the administration component to a different server.

See Also

Reference

Get-SPEnterpriseSearchAdministrationComponent


Ping-SPEnterpriseSearchContentService
Example
[image]

Published: May 12, 2010

Sends a request to the content distributor.

Ping-SPEnterpriseSearchContentService [-HostName] <String>

Parameters

Parameter | Required | Type | Description
HostName | Required | System.String | Specifies the name of the host server for the search service. The type must be a valid fully qualified FAST Server host name; for example, FASTServerHost1.mydomain.com; or a host name and port number, for example, FastServerHost1.mydomain.com::16100

Detailed Description

Use the Ping-SPEnterpriseSearchContentService cmdlet to send a request to the content distributor to determine whether the content distributor is available.

Input Types

Return Types

Example

--------------EXAMPLE-------------------------

Copy Code
Ping-SPEnterpriseSearchContentService -HostName "FASTServer1.mydomain.com"

This example sends a request to a content distributor on the host with the name FASTServer1.mydomain.com.


Get-SPEnterpriseSearchCrawlComponent
See Also Example
[image]

Published: May 12, 2010

Returns a crawl component for a shared search application.

Get-SPEnterpriseSearchCrawlComponent [[-Identity] <CrawlComponentPipeBind>] -CrawlTopology <CrawlTopologyPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-SearchApplication <SearchServiceApplicationPipeBind>]

Parameters

Parameter Required Type Description

Identity

Optional

Microsoft.Office.Server.Search.Cmdlet.CrawlComponentPipeBind

Specifies the crawl component to get.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh, or an instance of a valid CrawlComponent object.

CrawlTopology

Required

Microsoft.Office.Server.Search.Cmdlet.CrawlTopologyPipeBind

Specifies the crawl topology that contains the crawl component collection.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh, or an instance of a valid CrawlTopology object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

SearchApplication

Optional

Microsoft.Office.Server.Search.Cmdlet.SearchServiceApplicationPipeBind

Specifies the search application that contains the crawl topology.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid search application name (for example, SearchApp1); or an instance of a valid SearchServiceApplication object.

Detailed Description

The Get-SPEnterpriseSearchCrawlComponent cmdlet reads a CrawlComponent object when a crawl component for a shared search application is created, updated, or deleted. If the Identity parameter is not specified, this cmdlet returns the crawl component collection for the specified crawl topology.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
Get-SPEnterpriseSearchServiceApplication "SearchApp1" | Get-SPEnterpriseSearchCrawlTopology -Active | Get-SPEnterpriseSearchCrawlComponent

This example retrieves the list of all crawl components in the active crawl topology for the search application SearchApp1.

See Also

Reference

New-SPEnterpriseSearchCrawlComponent
Remove-SPEnterpriseSearchCrawlComponent


Get-SPEnterpriseSearchCrawlContentSource
See Also Example
[image]

Published: May 12, 2010

Returns a crawl content source.

Get-SPEnterpriseSearchCrawlContentSource [[-Identity] <ContentSourcePipeBind>] -SearchApplication <SearchServiceApplicationPipeBind> [-AssignmentCollection <SPAssignmentCollection>]

Parameters

Parameter Required Type Description

Identity

Optional

Microsoft.Office.Server.Search.Cmdlet.ContentSourcePipeBind

Specifies the content source to get.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a ContentSource object (for example, ContentSource1); or an instance of a valid ContentSource object.

SearchApplication

Required

Microsoft.Office.Server.Search.Cmdlet.SearchServiceApplicationPipeBind

Specifies the search application that contains the content source.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid search application name (for example, SearchApp1); or an instance of a valid SearchServiceApplication object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Detailed Description

The Get-SPEnterpriseSearchCrawlContentSource cmdlet reads the content source when the rules of content source are created, updated, or deleted, or reads a CrawlContentSource object when the search functionality is initially configured and after any new content source is added.

If the Identity parameter is not specified, this cmdlet returns the content source collection for the specified search application.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
$searchapp = Get-SPEnterpriseSearchServiceApplication " SearchApp1"
$contentsource = Get-SPEnterpriseSearchCrawlContentSource -SearchApplication $searchapp -Identity "Local SharePoint Sites" $contentsource.StartFullCrawl()

This example retrieves the default content source for the search service application, SearchApp1, and starts a full crawl on the content source.

See Also

Reference

New-SPEnterpriseSearchCrawlContentSource
Set-SPEnterpriseSearchCrawlContentSource
Remove-SPEnterpriseSearchCrawlContentSource


Get-SPEnterpriseSearchCrawlCustomConnector
See Also Example
[image]

Published: May 12, 2010

Returns a CustomConnector object type.

Get-SPEnterpriseSearchCrawlCustomConnector -SearchApplication <SearchServiceApplicationPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Protocol <String>]

Parameters

Parameter Required Type Description

SearchApplication

Required

Microsoft.Office.Server.Search.Cmdlet.SearchServiceApplicationPipeBind

Specifies the Search application with which the CustomConnector objects are associated.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Protocol

Optional

System.String

Specifies the string version of the protocol for which to return the CustomConnector object. For example, "dctm://"

Detailed Description

The Identity parameter displays a custom connector for a specified Web application. If no parameters are specified, all the objects of the CustomConnector object type are returned.

Input Types

Return Types

Example

--------------------EXAMPLE----------------------

Copy Code
$searchApp = Get-SPEnterpriseSearchServiceApplication MySearchServiceApp
$crawlConn = Get-SPEnterpriseSearchCrawlCustomConnector -SearchApplication
$searchApp -Protocol "http://"

This example obtains a reference to all custom crawl connectors for the http:// protocol for a search service application named MySearchServiceApp.

See Also

Reference

New-SPEnterpriseSearchCrawlCustomConnector
Remove-SPEnterpriseSearchCrawlCustomConnector
Get-SPEnterpriseSearchServiceApplication


Get-SPEnterpriseSearchCrawlDatabase
See Also Example
[image]

Published: May 12, 2010

Returns a crawl store.

Get-SPEnterpriseSearchCrawlDatabase [[-Identity] <CrawlStorePipeBind>] -SearchApplication <SearchServiceApplicationPipeBind> [-AssignmentCollection <SPAssignmentCollection>]

Parameters

Parameter Required Type Description

Identity

Optional

Microsoft.Office.Server.Search.Cmdlet.CrawlStorePipeBind

Specifies the crawl database to get.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a CrawlStore object, in the form CrawlStore1; or an instance of a valid CrawlStore object.

SearchApplication

Required

Microsoft.Office.Server.Search.Cmdlet.SearchServiceApplicationPipeBind

Specifies the search application that contains the crawl database.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid search application name (for example, SearchApp1); or an instance of a valid SearchServiceApplication object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Detailed Description

The Get-SPEnterpriseSearchCrawlDatabase cmdlet returns a CrawlStore object for use during configuration and when a crawl database for a search service application is modified or deleted. A crawl database stores crawl history data for a search service application.

If the Identity parameter is not specified, this cmdlet returns the crawl database collection for the specified search application.

Input Types

Return Types

Example

-------------------EXAMPLE-------------------

Copy Code
$crawlDatabase = Get-SPEnterpriseSearchCrawlDatabase -SearchApplication
MySearchServiceApp -Identity CrawlDB_1

This example gets a reference to the crawl database CrawlDB_1 from the search service application named MySearchServiceApp.

See Also

Reference

New-SPEnterpriseSearchCrawlDatabase
Set-SPEnterpriseSearchCrawlDatabase
Remove-SPEnterpriseSearchCrawlDatabase


Get-SPEnterpriseSearchCrawlExtension
See Also Example
[image]

Published: May 12, 2010

Returns the file types to be included in the content index.

Get-SPEnterpriseSearchCrawlExtension [[-Identity] <ExtensionPipeBind>] -SearchApplication <SearchServiceApplicationPipeBind> [-AssignmentCollection <SPAssignmentCollection>]

Parameters

Parameter Required Type Description

Identity

Optional

Microsoft.Office.Server.Search.Cmdlet.ExtensionPipeBind

Specifies the file name extension to get.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid file name extension (for example, .xml); or an instance of a valid CrawlExtension object.

SearchApplication

Required

Microsoft.Office.Server.Search.Cmdlet.SearchServiceApplicationPipeBind

Specifies the search application that contains the extension collection.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid search application name (for example, SearchApp1); or an instance of a valid SearchServiceApplication object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Detailed Description

The Get-SPEnterpriseSearchCrawlExtension cmdlet returns any or all file extensions in the index for a search application.

Run this cmdlet at the initial search configuration, and after any new IFilter interface is added to read the rule when you create, update, or delete the extension rule. If the Identity parameter is not specified, this cmdlet returns the crawl extension collection for the specified search application.

Input Types

Return Types

Example

Add code example.

Copy Code
$searchapp = Get-SPEnterpriseSearchServiceApplication "Sample Search Service Application"
$searchapp | Get-SPEnterpriseSearchCrawlExtension "pdf"

This example checks whether the pdf file type is included in the file types to be included in the content index.

See Also

Reference

New-SPEnterpriseSearchCrawlExtension
Remove-SPEnterpriseSearchCrawlExtension


Get-SPEnterpriseSearchCrawlMapping
See Also Example
[image]

Published: May 12, 2010

Returns a crawl mapping for the search application.

Get-SPEnterpriseSearchCrawlMapping [[-Identity] <CrawlMappingPipeBind>] -SearchApplication <SearchServiceApplicationPipeBind> [-AssignmentCollection <SPAssignmentCollection>]

Parameters

Parameter Required Type Description

Identity

Optional

Microsoft.Office.Server.Search.Cmdlet.CrawlMappingPipeBind

Specifies the crawl mapping to get.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid URL, in the form http://crawlmap1; or an instance of a valid CrawlMapping object.

SearchApplication

Required

Microsoft.Office.Server.Search.Cmdlet.SearchServiceApplicationPipeBind

Specifies the search application that contains the crawl mapping collection.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid search application name (for example, SearchApp1); or an instance of a valid SearchServiceApplication object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Detailed Description

The Get-SPEnterpriseSearchCrawlMapping cmdlet reads a CrawlMapping object when one of the crawl mapping rules is created, updated, or deleted. Run this cmdlet when the search is initially configured, and when access is changed through a different mechanism to create the crawl mapping rule; for example, when a rule is changed to use file:\\ rather than http://.

If the Identity parameter is not specified, this cmdlet returns the crawl mapping collection for the specified search application.

Input Types

Return Types

Example

Copy Code
$searchapp = Get-SPEnterpriseSearchServiceApplication "SearchApp1"
$searchapp | Get-SPEnterpriseSearchCrawlMapping

This example returns the crawl mappings for the search application SearchApp1.

See Also

Reference

New-SPEnterpriseSearchCrawlMapping
Remove-SPEnterpriseSearchCrawlMapping


Get-SPEnterpriseSearchCrawlRule
See Also Example
[image]

Published: May 12, 2010

Accesses crawl rules.

Get-SPEnterpriseSearchCrawlRule [[-Identity] <CrawlRulePipeBind>] -SearchApplication <SearchServiceApplicationPipeBind> [-AssignmentCollection <SPAssignmentCollection>]

Parameters

Parameter Required Type Description

Identity

Optional

Microsoft.Office.Server.Search.Cmdlet.CrawlRulePipeBind

Specifies the search crawl rule path. A valid URL, such as "http://server_name", or an instance of a valid CrawlRule object

SearchApplication

Required

Microsoft.Office.Server.Search.Cmdlet.SearchServiceApplicationPipeBind

Specifies the search application that contains the crawl rule. The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid search application name (for example, SearchApp1); or an instance of a valid SearchServiceApplication object

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Detailed Description

Use the Get-SPEnterpriseSearchCrawlRule cmdlet for a search administrator to run this procedure to retrieve the crawl rule when the crawl rule is updated or deleted.

Input Types

Return Types

Example

---------------EXAMPLE 1-----------------

Copy Code
$searchApp = Get-SPEnterpriseSearchServiceApplication ExampleSearchServiceApplication
$crawlRule = Get-SPEnterpriseSearchCrawlRule -SearchApplication  $searchApp -Identity http://example
$crawlRule | Set-SPEnterpriseSearchCrawlRule -Type InclusionRule

This example uses the Get-SPEnterpriseSearchCrawlRule cmdlet to retrieve a crawl rule in order to change its type from ExclusionRule to InclusionRule.

---------------EXAMPLE 2---------------

Copy Code
$searchApp = Get-SPEnterpriseSearchServiceApplication MySearchServiceApp Get-SPEnterpriseSearchCrawlRule -SearchApplication $searchApp | where
{$_.Path -like "*example*"}

This example returns a list of crawl rules with paths that contain the word example from the search service application named, MySearchServiceApp.

See Also

Reference

New-SPEnterpriseSearchCrawlRule
Set-SPEnterpriseSearchCrawlRule
Remove-SPEnterpriseSearchCrawlRule


Get-SPEnterpriseSearchCrawlTopology
Example
[image]

Published: May 12, 2010

Returns a crawl topology.

Get-SPEnterpriseSearchCrawlTopology [[-Identity] <CrawlTopologyPipeBind>] -SearchApplication <SearchServiceApplicationPipeBind> [-Active <SwitchParameter>] [-AssignmentCollection <SPAssignmentCollection>]

Parameters

Parameter Required Type Description

Identity

Optional

Microsoft.Office.Server.Search.Cmdlet.CrawlTopologyPipeBind

Specifies the crawl topology to get.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh, or an instance of a valid CrawlTopology object.

SearchApplication

Required

Microsoft.Office.Server.Search.Cmdlet.SearchServiceApplicationPipeBind

Specifies the search application that contains the crawl topology collection.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid search application name (for example, SearchApp1); or an instance of a valid SearchServiceApplication object.

Active

Optional

System.Management.Automation.SwitchParameter

Filters to return only active crawl topologies. An active crawl topology is currently serving crawls for the search application.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Detailed Description

The Get-SPEnterpriseSearchCrawlTopology cmdlet returns a crawl topology for a search application. A crawl topology contains the crawl component collection for a topology.

If the Identity parameter is not specified, this cmdlet returns the crawl topology collection for the specified search application.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
$searchapp = Get-SPEnterpriseSearchServiceApplication "SearchApp1"
$searchapp | Get-SPEnterpriseSearchCrawlTopology

This example returns all crawl topologies for the search application SearchApp1.


New-SPEnterpriseSearchCrawlComponent
Example
[image]

Published: May 12, 2010

Creates a crawl component for a shared search application.

New-SPEnterpriseSearchCrawlComponent -CrawlDatabase <CrawlStorePipeBind> -CrawlTopology <CrawlTopologyPipeBind> -SearchServiceInstance <SearchServiceInstancePipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-IndexLocation <String>] [-SearchApplication <SearchServiceApplicationPipeBind>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

CrawlStore

Required

Microsoft.Office.Server.Search.Cmdlet.CrawlStorePipeBind

Creates the new crawl component in the specified crawl store.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a CrawlStore object (for example, CrawlStore1); or an instance of a valid CrawlStore object.

CrawlTopology

Required

Microsoft.Office.Server.Search.Cmdlet.CrawlTopologyPipeBind

Specifies the crawl topology that contains the crawl component collection.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh, or an instance of a valid CrawlTopology object.

SearchServiceInstance

Required

Microsoft.Office.Server.Search.Cmdlet.SearchServiceInstancePipeBind

Specifies the search service instance to host the new crawl component.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a query server (for example, MyQueryServer); or an instance of a valid SearchServiceInstance object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

IndexLocation

Optional

System.String

Specifies the path for the index directory where the full-text index files are created.

The type must be a valid path in either of the following forms:

- C:\ folder_name

- \\server_name\folder_name

SearchApplication

Optional

Microsoft.Office.Server.Search.Cmdlet.SearchServiceApplicationPipeBind

Specifies the search application that contains the crawl topology.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid search application name (for example, SearchApp1); or an instance of a valid SearchServiceApplication object.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The New-SPEnterpriseSearchCrawlComponent cmdlet is run when the search functionality is initially configured, or when a new crawl component is added to a crawl topology for a shared search application. A crawl topology can contain multiple crawl components.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
$searchapp = Get-SPEnterpriseSearchServiceApplication "SearchApp1"
$topo = Get-SPEnterpriseSearchCrawlTopology -SearchApplication $searchapp -Identity 00000000-0000-0000-0000-000000000000
New-SPEnterpriseSearchCrawlComponent -SearchApplication $searchapp -CrawlTopology $topo -CrawlDatabase "Sample_Search_Service_Application_CrawlStoreDB" -SearchServiceInstance servername -IndexLocation d:\crawlshare
$topo | Set-SPEnterpriseSearchCrawlTopology -Active

This example retrieves the inactive crawl topology, adds a component, and then activates the topology.


New-SPEnterpriseSearchCrawlContentSource
Example
[image]

Published: May 12, 2010

Creates a new crawl content source for a shared search application.

New-SPEnterpriseSearchCrawlContentSource [-Name] <String> -SearchApplication <SearchServiceApplicationPipeBind> -Type <Business | O12Business | CustomRepository | Custom | Exchange | File | LotusNotes | SharePoint | Web> [-AssignmentCollection <SPAssignmentCollection>] [-BDCApplicationProxyGroup <SPServiceApplicationProxyGroupPipeBind>] [-Confirm [<SwitchParameter>]] [-CrawlPriority <Nullable>] [-CustomProtocol <String>] [-LOBSystemSet <String[]>] [-MaxPageEnumerationDepth <Nullable>] [-MaxSiteEnumerationDepth <Nullable>] [-SharePointCrawlBehavior <Nullable>] [-StartAddresses <String>] [-Tag <String>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Name

Required

System.String

Specifies the name of the content source to create.

The type must be a valid name of a ContentSource object (for example, ContentSource1.

SearchApplication

Yes

Microsoft.Office.Server.Search.Cmdlet.SearchServiceApplicationPipeBind

Specifies the search application that contains the content source.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid search application name (for example, SearchApp1); or an instance of a valid SearchServiceApplication object.

Type

Required

System.String

Specifies the name of the content source type. Valid values are web, sharepoint, custom, lotusnotes, custom, file, exchange (for Microsoft Exchange public folders), and business (for the Business Data Connectivity Metadata Store).

The type must be the valid name of a content source type; for example, custom.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

BDCApplicationProxyGroup

Optional

Microsoft.SharePoint.PowerShell.SPServiceApplicationProxyGroupPipeBind

Specifies the proxy to use for a business type content source. This proxy group must contain a default Business Data Connectivity Metadata Store proxy.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

CrawlPriority

Optional

System.Nullable

Specifies the priority of this content source.

The type must one of the following integers: 1= Normal, 2=High.

CustomProtocol

Optional

Optional

Specifies the custom protocol, handled by the custom connector, to use for this content source.

LOBSystemSet

Optional

System.String[]

Specifies a comma-separated list of Business Data Connectivity Metadata Store system names and system instance names for a business type content source.

MaxPageEnumerationDepth

Optional

System.Nullable

Specifies, for a web or custom type content source, the number of page hops that the crawler can make from the start address to a content item.

MaxSiteEnumerationDepth

Optional

System.Nullable

Specifies, for a web or custom type content source, the number of site hops that the crawler can take from the start address to a content item.

SharePointCrawlBehavior

Optional

System.Nullable

Specifies crawl behavior for a sharepoint type content source. The search application behavior can be either:

Specify CrawlSites to crawl only particular site collections.

Specify CrawlVirtualServers to crawl the entire server and all site collections on the server.

StartAddresses

Optional

System.String

Specifies the comma-separated list of URLs at which to start a crawl for this content source.

The type must be a valid URL, in the form http://server_name.

Tag

Optional

System.String

Specifies the URL for the page to modify the settings for a custom content source. The string that specifies the URL can contain a maximum of 1,024 characters.

The type must be a valid URL, in the form http://server_name.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Detailed Description

The New-SPEnterpriseSearchCrawlContentSource cmdlet creates a new content source.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
$searchapp = Get-SPEnterpriseSearchServiceApplication "SearchApp1"
New-SPEnterpriseSearchCrawlContentSource -SearchApplication $searchapp -Type file -name somename -StartAddresses file://someserver/public

This example creates a new content source of type file to crawl a file system.

Note:

A crawl schedule must be created by using the Set-SPEnterpriseSearchCrawlContentSource cmdlet to automatically crawl this content source.


New-SPEnterpriseSearchCrawlCustomConnector
Example
[image]

Published: May 12, 2010

Registers a protocol for custom crawling.

New-SPEnterpriseSearchCrawlCustomConnector -ModelFilePath <String> -Protocol <String> -SearchApplication <SearchServiceApplicationPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-Name <String>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

ModelFilePath

Required

System.String

Specifies the path to a model file.

Protocol

Required

System.String

Specifies the string version of the protocol; for example, dctm://.

SearchApplication

Required

Microsoft.Office.Server.Search.Cmdlet.SearchServiceApplicationPipeBind

Specifies the search application that is associated with the protocol.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid search application name (for example, SearchApp1); or an instance of a valid SearchServiceApplication object

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

Name

Optional

System.String

Specifies the display name of the custom connector that appears on the SharePoint Central Administration Web site.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The New-SPEnterpriseSearchCrawlCustomConnector cmdlet registers, for a search system, the protocol that is used to crawl the custom repository.

If the Name parameter is not provided, in the administration application user interface (UI) the name protocol identifies the protocol specified.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
$searchApp = Get-SPEnterpriseSearchServiceApplication mySearchServiceApp
New-SPEnterpriseSearchCrawlCustomConnector -SearchApplication $searchApp
-ModelFilePath \\models\myFileTypeModel.mft -Protocol "mftml://"

This example creates a custom connector for a file type whose model is located at \\models\myFileTypeModel.mft and has the protocol name mftml://.


New-SPEnterpriseSearchCrawlDatabase
See Also Example
[image]

Published: May 12, 2010

Creates a crawl database which can be added to a search service application.

New-SPEnterpriseSearchCrawlDatabase -DatabaseName <String> -SearchApplication <SearchServiceApplicationPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-DatabasePassword <SecureString>] [-DatabaseServer <String>] [-DatabaseUsername <String>] [-Dedicated <SwitchParameter>] [-FailoverDatabaseServer <String>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

DatabaseName

Required

System.String

Specifies the name of the database to create for the crawl database.

The type must be a valid name of a SQL Server database; for example, CrawlStoreDB1.

SearchApplication

Required

Microsoft.Office.Server.Search.Cmdlet.SearchServiceApplicationPipeBind

Specifies the search application that contains the crawl database.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid search application name (for example, SearchApp1); or an instance of a valid SearchServiceApplication object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

DatabasePassword

Optional

System.String

Specifies the name of the password for the Microsoft SQL Server database server.

DatabaseServer

Optional

System.String

Specifies the name of the host server for the database specified in DatabaseName.

The type must be a valid SQL Server host name; for example, SQLServerHost1.

DatabaseUsername

Optional

System.String

Specifies the account name specified in the Database Server parameter.

Dedicated

Optional

System.Management.Automation.SwitchParameter

Used for scale-out optimization, this parameter specifies that the database is dedicated to one or more hosts using host distribution rules, and is not shared for all other hosts.

FailoverDatabaseServer

Optional

System.String

Server that is used for failover when SQL Server mirroring is used.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The New-SPEnterpriseSearchCrawlDatabase cmdlet is used during initial configuration and farm scale-out to create a new crawl database, which can be added to a search service application. A crawl database stores crawl history for a search application.

Input Types

Return Types

Exceptions

Exceptions | Description

Example

------------------EXAMPLE------------------

Copy Code
$searchApp = Get-SPEnterpriseSearchServiceApplication mySearchServiceApp
New-SPEnterpriseSearchCrawlDatabase -SearchApplication $searchApp
-DatabaseName newCrawlDB

This example creates a new crawl database named newCrawlDB for the mySearchServiceApp search service application.

See Also

Reference

Set-SPEnterpriseSearchCrawlDatabase
Get-SPEnterpriseSearchCrawlDatabase
Remove-SPEnterpriseSearchCrawlDatabase


New-SPEnterpriseSearchCrawlExtension
See Also Example
[image]

Published: May 12, 2010

Adds an extension rule to a shared search application.

New-SPEnterpriseSearchCrawlExtension [[-Name] <String>] -SearchApplication <SearchServiceApplicationPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Optional

Microsoft.Office.Server.Search.Cmdlet.SearchServiceApplicationPipeBind

Specifies the file name extension to set.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid file name extension (for example, .xml); or an instance of a valid CrawlExtension object.

SearchApplication

Required

Microsoft.Office.Server.Search.Cmdlet.SearchServiceApplicationPipeBind

Specifies the search application that contains the extension collection.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid search application name (for example, SearchApp1); or an instance of a valid SearchServiceApplication object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The New-SPEnterpriseSearchCrawlExtension cmdlet adds a file extension to the list of file types to be included in the index. Run this cmdlet after any new IFilter interface is added in order to ensure the new file type is crawled.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
$searchapp = Get-SPEnterpriseSearchServiceApplication "SearchApp1"
$searchapp | New-SPEnterpriseSearchCrawlExtension "pdf"

This example adds, after adding a PDF IFilter, the file type to the list of file extensions to be included in the index.

See Also

Reference

Get-SPEnterpriseSearchCrawlExtension
Remove-SPEnterpriseSearchCrawlExtension


New-SPEnterpriseSearchCrawlMapping
Example
[image]

Published: May 12, 2010

Creates a crawl mapping rule for a shared search application.

New-SPEnterpriseSearchCrawlMapping [-Url] <String> -SearchApplication <SearchServiceApplicationPipeBind> -Target <String> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Url

Required

System.String

Specifies the source URI for the crawl mapping.

The type must be a valid URL, in the form http://server_name.

SearchApplication

Required

Microsoft.Office.Server.Search.Cmdlet.SearchServiceApplicationPipeBind

Specifies the search application that contains the crawl mapping collection.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid search application name (for example, SearchApp1); or an instance of a valid SearchServiceApplication object.

Target

Required

System.String

Specifies the target URI for the crawl mapping to get.

The type must be a valid URI; for example, file:\\ server_name\sitedocs.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The New-SPEnterpriseSearchCrawlMapping cmdlet is run when the search functionality is initially configured, and when access is changed through a different mechanism to create the crawl mapping rule; for example, when a rule is changed to use file:\\ rather than http://.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
$searchapp = Get-SPEnterpriseSearchServiceApplication "SearchApp1"
New-SPEnterpriseSearchCrawlMapping -SearchApplication $searchapp -Url "file://location1" -Target "http://location2"

This example will change the query results link from the file share where the item was crawled to the Web site location from which the item can be browsed.


New-SPEnterpriseSearchCrawlRule
See Also Example
[image]

Published: May 12, 2010

Creates a new crawl rule.

New-SPEnterpriseSearchCrawlRule [-Path] <String> -SearchApplication <SearchServiceApplicationPipeBind> -Type <InclusionRule | ExclusionRule> [-AccountName <String>] [-AccountPassword <SecureString>] [-AssignmentCollection <SPAssignmentCollection>] [-AuthenticationType <Nullable>] [-Confirm [<SwitchParameter>]] [-ContentClass <String>] [-CrawlAsHttp <Nullable>] [-FollowComplexUrls <Nullable>] [-IsAdvancedRegularExpression <Nullable>] [-PluggableSecurityTrimmerId <Nullable>] [-Priority <Nullable>] [-SuppressIndexing <Nullable>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.Office.Server.Search.Cmdlet.CrawlRulePipeBind

Specifies a unique path to which a crawl rule applies.

SearchApplication

Required

Microsoft.Office.Server.Search.Cmdlet.SearchServiceApplicationPipeBind

Specifies the Search application that is associated with the crawl rule to be modified.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid search application name (for example, SearchApp1); or an instance of a valid SearchServiceApplication object.

Type

Required

Microsoft.Office.Server.Search.Administration.CrawlRuleType

Specifies the type of crawl rule. A value of zero (0) includes the rule, a value of 1 excludes the rule.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

AuthenticationType

Optional

System.Nullable

Specifies one of the following authentication types to access matching URLs:

BasicAccountRuleAccess — Specifies the account name and password that are required for this authentication type.

CertificateRuleAccess — Specifies the valid client certificate name that is required for this authentication type.

NTLMAccountRuleAccess — Specifies the account name for integrated authentication.

FormRuleAccess — Specifies a valid URL for HTTP POST or HTTP GET, public and private parameters, and a list of error pages that are used by this authentication type.

CookieRuleAccess — Specifies private parameters and a list of error pages that are used by this authentication type.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

ContentClass

Optional

System.String

Specifies the string that is sent to the protocol handler for any content that matches the crawl rule.

CrawlAsHttp

Optional

System.Nullable

Specifies whether the crawler should crawl content from a hierarchical content source as HTTP content.

FollowComplexUrls

Optional

System.Nullable

Specifies whether the index engine should crawl content with URLs that contain a question mark (?).

IsAdvancedRegularExpression

Optional

System.Nullable

Specifies whether the rule has a full regular expression syntax.

The default value is False.

PluggableSecurityTrimmerId

Optional

System.Nullable

Specifies the ID of the custom pluggable security trimmer to use, if registered.

Priority

Optional

System.Nullable

Defines where in the list of crawl rules this crawl rule should be applied.

The priority value cannot be less than 0 or greater than or equal to the number of crawl rules for the search application.

SuppressIndexing

Optional

System.Nullable

Specifies whether the crawler should exclude the content of items that this rule applies to from the content index.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The New-SPEnterpriseSearchCrawlRule cmdlet creates special rules for crawling items that are contained in the specified path.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
New-SPEnterpriseSearchCrawlRule -SearchApplication mySearchServiceApp -Identity http://ExampleSharePointSite -CrawlAsHttp 1 -Type InclusionRule

This example creates an inclusion type crawl rule for the site at http://ExampleSharePointSite. The rule specifies that the site be crawled as an HTTP site.

See Also

Reference

Set-SPEnterpriseSearchCrawlRule
Get-SPEnterpriseSearchCrawlRule
Remove-SPEnterpriseSearchCrawlRule


New-SPEnterpriseSearchCrawlTopology
See Also Example
[image]

Published: May 12, 2010

Adds a crawl topology to a shared search application.

New-SPEnterpriseSearchCrawlTopology -SearchApplication <SearchServiceApplicationPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Clone <SwitchParameter>] [-Confirm [<SwitchParameter>]] [-CrawlTopology <CrawlTopologyPipeBind>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

SearchApplication

Required

Microsoft.Office.Server.Search.Cmdlet.SearchServiceApplicationPipeBind

Specifies the search application that contains the crawl topology collection.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid search application name (for example, SearchApp1); or an instance of a valid SearchServiceApplication object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Clone

Optional

System.Management.Automation.SwitchParameter

Specifies that a new crawl topology is created by cloning an existing crawl topology.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

CrawlTopology

Optional

Microsoft.Office.Server.Search.Cmdlet.CrawlTopologyPipeBind

Specifies the identity of an existing query topology to clone for the new crawl topology.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh, or an instance of a valid CrawlTopology object.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The New-SPEnterpriseSearchCrawlTopology cmdlet adds a crawl topology. A crawl topology contains the crawl component collection for a topology on a shared search application. A search service application can contain multiple crawl topologies when a change to a topology adds or deletes a crawl component.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
$searchapp = Get-SPEnterpriseSearchServiceApplication "SearchApp1"
$topo = Get-SPEnterpriseSearchCrawlTopology -SearchApplication $searchapp
New-SPEnterpriseSearchCrawlTopology -SearchApplication $searchapp -clone -CrawlTopology $topo

This example creates a new crawl topology (for adding crawl components) by cloning, or copying, the existing crawl topology.

See Also

Reference

Get-SPEnterpriseSearchCrawlTopology
Set-SPEnterpriseSearchCrawlTopology
Remove-SPEnterpriseSearchCrawlTopology


Remove-SPEnterpriseSearchCrawlComponent
See Also Example
[image]

Published: May 12, 2010

Deletes a crawl component from a shared search application.

Remove-SPEnterpriseSearchCrawlComponent [-Identity] <CrawlComponentPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-CrawlTopology <CrawlTopologyPipeBind>] [-SearchApplication <SearchServiceApplicationPipeBind>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.Office.Server.Search.Cmdlet.CrawlComponentPipeBind

Specifies the crawl component to delete.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh, or an instance of a valid CrawlComponent object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

CrawlTopology

Optional

Microsoft.Office.Server.Search.Cmdlet.CrawlTopologyPipeBind

Specifies the crawl topology that contains the crawl component to delete.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh, or an instance of a valid CrawlTopology object.

SearchApplication

Optional

Microsoft.Office.Server.Search.Cmdlet.SearchServiceApplicationPipeBind

Specifies the search application that contains the crawl component.

Must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid search application name, (for example, SearchApp1); or an instance of a valid SearchServiceApplication object.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Remove-SPEnterpriseSearchCrawlComponentAdmin cmdlet deletes a specified crawl component from a shared service application.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
$searchapp = Get-SPEnterpriseSearchServiceApplication "SearchApp1)"
$topo = Get-SPEnterpriseSearchCrawlTopology -SearchApplication $searchapp
New-SPEnterpriseSearchCrawlTopology -SearchApplication $searchapp -clone -CrawlTopology $topo
$newtopo = Get-SPEnterpriseSearchCrawlTopology -SearchApplication $searchapp -Identity 11111111-1111-1111-1111-111111111111
$cc = Get-SPEnterpriseSearchCrawlComponent -CrawlTopology $newtopo -Identity 22222222-2222-2222-2222-222222222222
$cc | Remove-SPEnterpriseSearchCrawlComponent
$newtopo | Set-SPEnterpriseSearchCrawlTopology -Active

This example creates a new, inactive crawl topology, removes a crawl component from the crawl topology, and then activates the new crawl topology.

See Also

Reference

New-SPEnterpriseSearchCrawlComponent
Get-SPEnterpriseSearchCrawlComponent


Remove-SPEnterpriseSearchCrawlContentSource
See Also Example
[image]

Published: May 12, 2010

Deletes a specified crawl content source from a search application.

Remove-SPEnterpriseSearchCrawlContentSource [-Identity] <ContentSourcePipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-SearchApplication <SearchServiceApplicationPipeBind>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.Office.Server.Search.Cmdlet.ContentSourcePipeBind

The crawl content source to delete.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a ContentSource object (for example, ContentSource1); or an instance of a valid ContentSource object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

SearchApplication

Optional

Microsoft.Office.Server.Search.Cmdlet.SearchServiceApplicationPipeBind

Specifies the search application that contains the crawl content source.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid search application name (for example, SearchApp1); or an instance of a valid SearchServiceApplication object.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Remove-SPEnterpriseSearchCrawlContentSource cmdlet deletes a specified crawl content source from a service application.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
$searchapp = Get-SPEnterpriseSearchServiceApplication "SearchApp1"
$topo = Get-SPEnterpriseSearchCrawlTopology -SearchApplication $searchapp
New-SPEnterpriseSearchCrawlTopology -SearchApplication $searchapp -clone -CrawlTopology $topo
$newtopo = Get-SPEnterpriseSearchCrawlTopology -SearchApplication $searchapp -Identity 11111111-1111-1111-1111-111111111111
$cc = Get-SPEnterpriseSearchCrawlComponent -CrawlTopology $newtopo -Identity 22222222-2222-2222-2222-222222222222
$cc | Remove-SPEnterpriseSearchCrawlComponent
$newtopo | Set-SPEnterpriseSearchCrawlTopology -Active

This example creates a new, inactive, crawl topology, removes a crawl component from it, and activates the new crawl topology.

See Also

Reference

Get-SPEnterpriseSearchCrawlContentSource
New-SPEnterpriseSearchCrawlContentSource
Set-SPEnterpriseSearchCrawlContentSource


Remove-SPEnterpriseSearchCrawlCustomConnector
See Also Example
[image]

Published: May 12, 2010

Removes a CustomConnector object.

Remove-SPEnterpriseSearchCrawlCustomConnector -Identity <SPCustomConnectorPipeBind> -SearchApplication <SearchServiceApplicationPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.Office.Server.Search.Cmdlet.SPCustomConnectorPipeBind

Specifies the CustomConnector object to remove. The Identity parameter must be an instance of a valid CustomConnector object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Get-SPEnterpriseSearchCrawlCustomConnector selects the custom connector or connectors, and then pipes them to the Remove-SPEnterpriseSearchCrawlCustomConnector cmdlet.

Input Types

Return Types

Example

--------------------EXAMPLE------------------

Copy Code
Get-SPEnterpriseSearchCrawlCustomConnector -SearchApplication MySearchServiceApp" - Identity "dctm://" | Remove-SPEnterpriseSearchCrawlCustomConnector

This example removes a custom connector for the dctm:// protocol from the MySearchServiceApp search service application.

See Also

Reference

New-SPEnterpriseSearchCrawlCustomConnector
Get-SPEnterpriseSearchCrawlCustomConnector


Remove-SPEnterpriseSearchCrawlDatabase
See Also Example
[image]

Published: May 12, 2010

Deletes a crawl database.

Remove-SPEnterpriseSearchCrawlDatabase [-Identity] <CrawlStorePipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-SearchApplication <SearchServiceApplicationPipeBind>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.Office.Server.Search.Cmdlet.CrawlStorePipeBind

Specifies the crawl database to delete.

A valid crawl database name, in the form CrawlStore1; or a valid GUID, such as 12345678-90ab-cdef-1234-567890bcdefgh; or an instance of a valid CrawlStore object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

SearchApplication

Optional

Microsoft.Office.Server.Search.Cmdlet.SearchServiceApplicationPipeBind

Specifies the search application that contains the crawl database collection.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid search application name (for example, SearchApp1); or an instance of a valid SearchServiceApplication object.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Remove-SPEnterpriseSearchCrawlDatabase cmdlet deletes a specified crawl database from a search service application. A crawl database stores crawl history for a search service application.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
Remove-SPEnterpriseSearchCrawlDatabase -Identity CrawlDB-0
-SearchApplication mySearchServiceApp

This example removes the CrawlDB-0 crawl database from the mySearchServiceApp search service application.

See Also

Reference

Get-SPEnterpriseSearchCrawlDatabase
New-SPEnterpriseSearchCrawlDatabase
Set-SPEnterpriseSearchCrawlDatabase


Remove-SPEnterpriseSearchCrawlExtension
See Also Example
[image]

Published: May 12, 2010

Removes a file name extension from the list of files that can be crawled.

Remove-SPEnterpriseSearchCrawlExtension [-Identity] <ExtensionPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-SearchApplication <SearchServiceApplicationPipeBind>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.Office.Server.Search.Cmdlet.ExtensionPipeBind

The file name extension to remove.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid file name extension (for example, .xml); or an instance of a valid CrawlExtension object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

SearchApplication

Optional

Microsoft.Office.Server.Search.Cmdlet.SearchServiceApplicationPipeBind

Specifies the search application that contains the extension collection.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid search application name (for example, SearchApp1); or an instance of a valid SearchServiceApplication object.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Remove-SPEnterpriseSearchCrawlExtension cmdlet prevents files with this extension from being crawled.

Input Types

Return Types

Example

Add code example.

Copy Code
$searchapp = Get-SPEnterpriseSearchServiceApplication "SearchApp1"
$searchapp | Get-SPEnterpriseSearchCrawlExtension "pdf" | Remove-SPEnterpriseSearchCrawlExtension

This example removes the PDF IFilter and removes the pdf file extension from the list of file types to include in the content index.

See Also

Reference

Get-SPEnterpriseSearchCrawlExtension
New-SPEnterpriseSearchCrawlExtension
Remove-SPEnterpriseSearchCrawlExtension


Remove-SPEnterpriseSearchCrawlMapping
See Also Example
[image]

Published: May 12, 2010

Deletes a crawl mapping.

Remove-SPEnterpriseSearchCrawlMapping [-Identity] <CrawlMappingPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-SearchApplication <SearchServiceApplicationPipeBind>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.Office.Server.Search.Cmdlet.CrawlMappingPipeBind

The crawl mapping to delete.

A valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid URL, in the form http://server_name; or an instance of a valid CrawlMapping object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

SearchApplication

Optional

Microsoft.Office.Server.Search.Cmdlet.SearchServiceApplicationPipeBind

Specifies the search application that contains the crawl mapping collection.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid search application name (for example, SearchApp1); or an instance of a valid SearchServiceApplication object.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Remove-SPEnterpriseSearchCrawlMapping cmdlet deletes a crawl mapping from the crawl mapping collection.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
$searchapp = Get-SPEnterpriseSearchServiceApplication "Sample Search Service Application"
$mappingtodelete = Get-SPEnterpriseSearchCrawlContentSource -Identity "somemapping"
$mappingtodelete | Remove-SPEnterpriseSearchCrawlMapping

This example removes a crawl mapping from a search application.

See Also

Reference

Get-SPEnterpriseSearchCrawlMapping
New-SPEnterpriseSearchCrawlMapping


Remove-SPEnterpriseSearchCrawlRule
See Also Example
[image]

Published: May 12, 2010

Deletes a crawl rule.

Remove-SPEnterpriseSearchCrawlRule [-Identity] <CrawlRulePipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-SearchApplication <SearchServiceApplicationPipeBind>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.Office.Server.Search.Cmdlet.CrawlRulePipeBind

The crawl rule to delete.

A valid crawl rule URL, such as http://server_name, or an instance of a valid CrawlRule object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

SearchApplication

Optional

Microsoft.Office.Server.Search.Cmdlet.SearchServiceApplicationPipeBind

The search application that contains the crawl rule collection.

A valid search application name, such as SearchApp1, or a valid GUID, such as 12345678-90ab-cdef-1234-567890bcdefgh, or an instance of a valid SearchServiceApplication object.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Remove-SPEnterpriseSearchCrawlRule cmdlet deletes a crawl rule that is used to crawl content for a content source.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
$searchApp = Get-SPEnterpriseSearchServiceApplication mySearchServiceApp
Remove-SPEnterpriseSearchCrawlRule -Identity http://mySPSite
-SearchApplication $searchApp

This example removes a crawl rule pertaining to the path http://mySPSite from the mySearchServiceApp search service application.

See Also

Reference

Get-SPEnterpriseSearchCrawlRule
New-SPEnterpriseSearchCrawlRule
Set-SPEnterpriseSearchCrawlRule


Remove-SPEnterpriseSearchCrawlTopology
See Also Example
[image]

Published: May 12, 2010

Deletes a crawl topology.

Remove-SPEnterpriseSearchCrawlTopology [-Identity] <CrawlTopologyPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-SearchApplication <SearchServiceApplicationPipeBind>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.Office.Server.Search.Cmdlet.CrawlTopologyPipeBind

Specifies the crawl topology to delete.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh, or an instance of a valid CrawlTopology object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

SearchApplication

Optional

Microsoft.Office.Server.Search.Cmdlet.SearchServiceApplicationPipeBind

Specifies the search application that contains the crawl topology collection.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid search application name (for example, SearchApp1); or an instance of a valid SearchServiceApplication object.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Remove-SPEnterpriseSearchCrawlTopology cmdlet deletes a specified crawl topology from the crawl topology collection. A crawl topology contains the crawl component collection for a topology on a shared search application.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
$searchapp = Get-SPEnterpriseSearchServiceApplication "SearchApp1"
$topo = Get-SPEnterpriseSearchCrawlTopology -SearchApplication $searchapp -Identity FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF
$topo | Remove-SPEnterpriseSearchCrawlTopology

This example retrieves the inactive crawl topology and removes it.

See Also

Reference

Get-SPEnterpriseSearchCrawlTopology
New-SPEnterpriseSearchCrawlTopology
Set-SPEnterpriseSearchCrawlTopology


Set-SPEnterpriseSearchCrawlContentSource
See Also Example
[image]

Published: May 12, 2010

Sets the properties of a crawl content source for a shared search application.

Set-SPEnterpriseSearchCrawlContentSource [-Identity] <ContentSourcePipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-BDCApplicationProxyGroup <SPServiceApplicationProxyGroupPipeBind>] [-Confirm [<SwitchParameter>]] [-CrawlPriority <Nullable>] [-CustomProtocol <String>] [-LOBSystemSet <String[]>] [-MaxPageEnumerationDepth <Nullable>] [-MaxSiteEnumerationDepth <Nullable>] [-Name <String>] [-SearchApplication <SearchServiceApplicationPipeBind>] [-StartAddresses <String>] [-Tag <String>] [-WhatIf [<SwitchParameter>]]
Set-SPEnterpriseSearchCrawlContentSource [-Identity] <ContentSourcePipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-BDCApplicationProxyGroup <SPServiceApplicationProxyGroupPipeBind>] [-Confirm [<SwitchParameter>]] [-CrawlPriority <Nullable>] [-CustomProtocol <String>] [-LOBSystemSet <String[]>] [-MaxPageEnumerationDepth <Nullable>] [-MaxSiteEnumerationDepth <Nullable>] [-Name <String>] [-RemoveCrawlSchedule <SwitchParameter>] [-ScheduleType <Nullable>] [-SearchApplication <SearchServiceApplicationPipeBind>] [-StartAddresses <String>] [-Tag <String>] [-WhatIf [<SwitchParameter>]]
Set-SPEnterpriseSearchCrawlContentSource [-Identity] <ContentSourcePipeBind> -ScheduleType <Nullable> [-AssignmentCollection <SPAssignmentCollection>] [-BDCApplicationProxyGroup <SPServiceApplicationProxyGroupPipeBind>] [-Confirm [<SwitchParameter>]] [-CrawlPriority <Nullable>] [-CrawlScheduleRepeatDuration <Nullable>] [-CrawlScheduleRepeatInterval <Nullable>] [-CrawlScheduleRunEveryInterval <Nullable>] [-CrawlScheduleStartDateTime <Nullable>] [-CustomProtocol <String>] [-DailyCrawlSchedule <SwitchParameter>] [-LOBSystemSet <String[]>] [-MaxPageEnumerationDepth <Nullable>] [-MaxSiteEnumerationDepth <Nullable>] [-Name <String>] [-SearchApplication <SearchServiceApplicationPipeBind>] [-StartAddresses <String>] [-Tag <String>] [-WhatIf [<SwitchParameter>]]
Set-SPEnterpriseSearchCrawlContentSource [-Identity] <ContentSourcePipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-BDCApplicationProxyGroup <SPServiceApplicationProxyGroupPipeBind>] [-Confirm [<SwitchParameter>]] [-CrawlPriority <Nullable>] [-CrawlScheduleDaysOfMonth <Nullable>] [-CrawlScheduleMonthsOfYear <Nullable>] [-CrawlScheduleRepeatDuration <Nullable>] [-CrawlScheduleRepeatInterval <Nullable>] [-CrawlScheduleStartDateTime <Nullable>] [-CustomProtocol <String>] [-LOBSystemSet <String[]>] [-MaxPageEnumerationDepth <Nullable>] [-MaxSiteEnumerationDepth <Nullable>] [-MonthlyCrawlSchedule <SwitchParameter>] [-Name <String>] [-ScheduleType <Nullable>] [-SearchApplication <SearchServiceApplicationPipeBind>] [-StartAddresses <String>] [-Tag <String>] [-WhatIf [<SwitchParameter>]]
Set-SPEnterpriseSearchCrawlContentSource [-Identity] <ContentSourcePipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-BDCApplicationProxyGroup <SPServiceApplicationProxyGroupPipeBind>] [-Confirm [<SwitchParameter>]] [-CrawlPriority <Nullable>] [-CrawlScheduleDaysOfWeek <Nullable>] [-CrawlScheduleRepeatDuration <Nullable>] [-CrawlScheduleRepeatInterval <Nullable>] [-CrawlScheduleRunEveryInterval <Nullable>] [-CrawlScheduleStartDateTime <Nullable>] [-CustomProtocol <String>] [-LOBSystemSet <String[]>] [-MaxPageEnumerationDepth <Nullable>] [-MaxSiteEnumerationDepth <Nullable>] [-Name <String>] [-ScheduleType <Nullable>] [-SearchApplication <SearchServiceApplicationPipeBind>] [-StartAddresses <String>] [-Tag <String>] [-WeeklyCrawlSchedule <SwitchParameter>] [-WhatIf [<SwitchParameter>]]

Parameters

1

Parameter

Required

Type

Description

Identity

Optional

Microsoft.Office.Server.Search.Cmdlet.ContentSourcePipeBind

Specifies the crawl content source to update.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a ContentSource object (for example, ContentSource1); or an instance of a valid ContentSource object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

BDCApplicationProxyGroup

Optional

Microsoft.SharePoint.PowerShell.SPServiceApplicationProxyGroupPipeBind

Specifies the proxy to use for a business type content source. This proxy group must contain a default Business Data Connectivity Metadata Store proxy.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

CrawlPriority

Optional

System.Nullable

Specifies the priority of this content source.

The type must be one of the following integers: 1= Normal, 2=High.

CustomProtocol

Optional

System.String

Specifies the custom protocol, handled by the custom connector, to use for this content source.

LOBSystemSet

Optional

System.String[]

Specifies a comma-separated list of Business Data Connectivity Metadata Store system names and system instance names for a business type content source.

MaxPageEnumerationDepth

Optional

System.Nullable

Specifies, for a web or custom type content source, the number of page hops that the crawler can make from the start address to a content item.

MaxSiteEnumerationDepth

Optional

System.Nullable

Specifies, for a web or custom type content source, the number of site hops that the crawler can take from the start address to a content item.

Name

Optional

System.String

Specifies the new display name for the content source.

The type must be a valid name of a content source; for example, ContentSource1.

SearchApplication

Optional

Microsoft.Office.Server.Search.Cmdlet.SearchServiceApplicationPipeBind

Specifies the search application that contains the content source.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid search application name (for example, SearchApp1); or an instance of a valid SearchServiceApplication object.

StartAddresses

Optional

System.String

Specifies the comma-separated list of URLs at which to start a crawl for this content source.

The type must be a valid URL, in the form http://server_name.

Tag

Optional

System.String

Specifies the URL for the page to modify the settings for a custom content source. The string that specifies the URL can contain a maximum of 1,024 characters.

The type must be a valid URL, in the form http://server_name.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

2

Parameter

Required

Type

Description

Identity

Optional

Microsoft.Office.Server.Search.Cmdlet.ContentSourcePipeBind

Specifies the crawl content source to update.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a ContentSource object (for example, ContentSource1); or an instance of a valid ContentSource object.

ScheduleType

Required

System.Nullable

Specifies the type of crawl schedule.

The type must be one of the following values: Full or Incremental.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

BDCApplicationProxyGroup

Optional

Microsoft.SharePoint.PowerShell.SPServiceApplicationProxyGroupPipeBind

Specifies the proxy to use for a business type content source. This proxy group must contain a default Business Data Connectivity Metadata Store proxy.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

CrawlPriority

Optional

System.Nullable

Specifies the priority of this content source.

The type must be one of the following integers: 1= Normal, 2=High.

CustomProtocol

Optional

System.String

Specifies the custom protocol, handled by the custom connector, to use for this content source.

LOBSystemSet

Optional

System.String[]

Specifies a comma-separated list of Business Data Connectivity Metadata Store system names and system instance names for a business type content source.

MaxPageEnumerationDepth

Optional

System.Nullable

Specifies, for a web or custom type content source, the number of page hops that the crawler can make from the start address to a content item.

MaxSiteEnumerationDepth

Optional

System.Nullable

Specifies, for a web or custom type content source, the number of site hops that the crawler can take from the start address to a content item.

Name

Optional

System.String

Specifies the new display name for the content source.

The type must be a valid name of a content source; for example, ContentSource1.

RemoveCrawlSchedule

Optional

System.Management.Automation.SwitchParameter

Deletes the specified crawl.

SearchApplication

Optional

Microsoft.Office.Server.Search.Cmdlet.SearchServiceApplicationPipeBind

Specifies the search application that contains the content source.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid search application name (for example, SearchApp1); or an instance of a valid SearchServiceApplication object.

StartAddresses

Optional

System.String

Specifies the comma-separated list of URLs at which to start a crawl for this content source.

The type must be a valid URL, in the form http://server_name.

Tag

Optional

System.String

Specifies the URL for the page to modify the settings for a custom content source. The string that specifies the URL can contain a maximum of 1,024 characters.

The type must be a valid URL, in the form http://server_name.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

3

Parameter

Required

Type

Description

Identity

Optional

Microsoft.Office.Server.Search.Cmdlet.ContentSourcePipeBind

Specifies the crawl content source to update.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a ContentSource object (for example, ContentSource1); or an instance of a valid ContentSource object.

ScheduleType

Required

System.Nullable

Specifies the type of crawl schedule.

The type must be one of the following values: Full or Incremental.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

BDCApplicationProxyGroup

Optional

Microsoft.SharePoint.PowerShell.SPServiceApplicationProxyGroupPipeBind

Specifies the proxy to use for a business type content source. This proxy group must contain a default Business Data Connectivity Metadata Store proxy.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

CrawlPriority

Optional

System.Nullable

Specifies the priority of this content source.

The type must be one of the following integers: 1= Normal, 2=High.

CrawlScheduleRepeatDuration

Optional

System.Nullable

Specifies the number of times to repeat the crawl schedule.

CrawlScheduleRepeatInterval

Optional

System.Nullable

Specifies the number of minutes between each repeat interval for the crawl schedule

CrawlScheduleRunEveryInterval

Optional

System.Nullable

Specifies the interval between crawls.

When the DailyCrawlSchedule parameter is set, specifies the number of days between crawls.

When the WeeklyCrawlSchedule parameter is set, specifies the number of weeks between crawls.

CrawlScheduleStartDateTime

Optional

System.Nullable

Specifies the initial date of the crawl. The default value is midnight on the current day.

CustomProtocol

Optional

System.String

Specifies the custom protocol, handled by the custom connector, to use for this content source.

DailyCrawlSchedule

Optional

System.Management.Automation.SwitchParameter

Base schedule on days between crawls.

LOBSystemSet

Optional

System.String[]

Specifies a comma-separated list of Business Data Connectivity Metadata Store system names and system instance names for a business type content source.

MaxPageEnumerationDepth

Optional

System.Nullable

Specifies, for a web or custom type content source, the number of page hops that the crawler can make from the start address to a content item.

MaxSiteEnumerationDepth

Optional

System.Nullable

Specifies, for a web or custom type content source, the number of site hops that the crawler can take from the start address to a content item.

Name

Optional

System.String

Specifies the new display name for the content source.

The type must be a valid name of a content source; for example, ContentSource1.

SearchApplication

Optional

Microsoft.Office.Server.Search.Cmdlet.SearchServiceApplicationPipeBind

Specifies the search application that contains the content source.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid search application name (for example, SearchApp1); or an instance of a valid SearchServiceApplication object.

StartAddresses

Optional

System.String

Specifies the comma-separated list of URLs at which to start a crawl for this content source.

The type must be a valid URL, in the form http://server_name.

Tag

Optional

System.String

Specifies the URL for the page to modify the settings for a custom content source. The string that specifies the URL can contain a maximum of 1,024 characters.

The type must be a valid URL, in the form http://server_name.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

4

Parameter

Required

Type

Description

Identity

Optional

Microsoft.Office.Server.Search.Cmdlet.ContentSourcePipeBind

Specifies the crawl content source to update.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a ContentSource object (for example, ContentSource1); or an instance of a valid ContentSource object.

ScheduleType

Required

System.Nullable

Specifies the type of crawl schedule.

The type must be one of the following values: Full or Incremental.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

BDCApplicationProxyGroup

Optional

Microsoft.SharePoint.PowerShell.SPServiceApplicationProxyGroupPipeBind

Specifies the proxy to use for a business type content source. This proxy group must contain a default Business Data Connectivity Metadata Store proxy.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

CrawlPriority

Optional

System.Nullable

Specifies the priority of this content source.

The type must be one of the following integers: 1= Normal, 2=High.

CrawlScheduleDaysOfMonth

Optional

System.Nullable

Specifies the days on which to crawl when the MonthlyCrawlSchedule parameter is set.

CrawlScheduleMonthsOfYear

Optional

System.Nullable

Specifies the months on which to crawl when the MonthlyCrawlSchedule parameter is set.

CrawlScheduleRepeatDuration

Optional

System.Nullable

Specifies the number of times to repeat the crawl schedule.

CrawlScheduleRepeatInterval

Optional

System.Nullable

Specifies the number of minutes between each repeat interval for the crawl schedule

CrawlScheduleStartDateTime

Optional

System.Nullable

Specifies the initial date of the crawl. The default value is midnight on the current day.

CustomProtocol

Optional

System.String

Specifies the custom protocol, handled by the custom connector, to use for this content source.

LOBSystemSet

Optional

System.String[]

Specifies a comma-separated list of Business Data Connectivity Metadata Store system names and system instance names for a business type content source.

MaxPageEnumerationDepth

Optional

System.Nullable

Specifies, for a web or custom type content source, the number of page hops that the crawler can make from the start address to a content item.

MaxSiteEnumerationDepth

Optional

System.Nullable

Specifies, for a web or custom type content source, the number of site hops that the crawler can take from the start address to a content item.

MonthlyCrawlSchedule

Optional

System.Management.Automation.SwitchParameter

Base the schedule on months between crawls.

Name

Optional

System.String

Specifies the new display name for the content source.

The type must be a valid name of a content source; for example, ContentSource1.

SearchApplication

Optional

Microsoft.Office.Server.Search.Cmdlet.SearchServiceApplicationPipeBind

Specifies the search application that contains the content source.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid search application name (for example, SearchApp1); or an instance of a valid SearchServiceApplication object.

StartAddresses

Optional

System.String

Specifies the comma-separated list of URLs at which to start a crawl for this content source.

The type must be a valid URL, in the form http://server_name.

Tag

Optional

System.String

Specifies the URL for the page to modify the settings for a custom content source. The string that specifies the URL can contain a maximum of 1,024 characters.

The type must be a valid URL, in the form http://server_name.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

5

Parameter

Required

Type

Description

Identity

Optional

Microsoft.Office.Server.Search.Cmdlet.ContentSourcePipeBind

Specifies the crawl content source to update.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a ContentSource object (for example, ContentSource1); or an instance of a valid ContentSource object.

ScheduleType

Required

System.Nullable

Specifies the type of crawl schedule.

The type must be one of the following values: Full or Incremental.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

BDCApplicationProxyGroup

Optional

Microsoft.SharePoint.PowerShell.SPServiceApplicationProxyGroupPipeBind

Specifies the proxy to use for a business type content source. This proxy group must contain a default Business Data Connectivity Metadata Store proxy.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

CrawlPriority

Optional

System.Nullable

Specifies the priority of this content source.

The type must be one of the following integers: 1= Normal, 2=High.

CrawlScheduleDaysOfWeek

Optional

System.Nullable

Specifies the days on which to crawl when the WeeklyCrawlSchedule parameter is set.

CrawlScheduleRepeatDuration

Optional

System.Nullable

Specifies the number of times to repeat the crawl schedule.

CrawlScheduleRepeatInterval

Optional

System.Nullable

Specifies the number of minutes between each repeat interval for the crawl schedule

CrawlScheduleRunEveryInterval

Optional

System.Nullable

Specifies the interval between crawls.

When the DailyCrawlSchedule parameter is set, specifies the number of days between crawls.

When the WeeklyCrawlSchedule parameter is set, specifies the number of weeks between crawls.

CrawlScheduleStartDateTime

Optional

System.Nullable

Specifies the initial date of the crawl. The default value is midnight on the current day.

CustomProtocol

Optional

System.String

Specifies the custom protocol, handled by the custom connector, to use for this content source.

LOBSystemSet

Optional

System.String[]

Specifies a comma-separated list of Business Data Connectivity Metadata Store system names and system instance names for a business type content source.

MaxPageEnumerationDepth

Optional

System.Nullable

Specifies, for a web or custom type content source, the number of page hops that the crawler can make from the start address to a content item.

MaxSiteEnumerationDepth

Optional

System.Nullable

Specifies, for a web or custom type content source, the number of site hops that the crawler can take from the start address to a content item.

Name

Optional

System.String

Specifies the new display name for the content source.

The type must be a valid name of a content source; for example, ContentSource1.

SearchApplication

Optional

Microsoft.Office.Server.Search.Cmdlet.SearchServiceApplicationPipeBind

Specifies the search application that contains the content source.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid search application name (for example, SearchApp1); or an instance of a valid SearchServiceApplication object.

StartAddresses

Optional

System.String

Specifies the comma-separated list of URLs at which to start a crawl for this content source.

The type must be a valid URL, in the form http://server_name.

Tag

Optional

System.String

Specifies the URL for the page to modify the settings for a custom content source. The string that specifies the URL can contain a maximum of 1,024 characters.

The type must be a valid URL, in the form http://server_name.

WeeklyCrawlSchedule

Optional

System.Management.Automation.SwitchParameter

Base the schedule on weeks between crawls.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

This cmdlet contains more than one parameter set. You may only use parameters from one parameter set, and you may not combine parameters from different parameter sets. For more information about how to use parameter sets, see Cmdlet Parameter Sets.

The Set-SPEnterpriseSearchCrawlContentSource cmdlet updates the rules of a crawl content source when the search functionality is initially configured and after any new content source is added. This cmdlet is called once to set the incremental crawl schedule for a content source, and it is called again to set a full crawl schedule.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
$searchapp = Get-SPEnterpriseSearchServiceApplication "SearchApp1"
$cs = Get-SPEnterpriseSearchCrawlContentSource -SearchApplication $searchapp ""
$cs | Set-SPEnterpriseSearchCrawlContentSource -ScheduleType Full -DailyCrawlSchedule -CrawlScheduleRunEveryInterval 30
$cs | Set-SPEnterpriseSearchCrawlContentSource -ScheduleType Incremental -DailyCrawlSchedule -CrawlScheduleRepeatInterval 60 -CrawlScheduleRepeatDuration 1440

This example returns an existing content source ExampleContentSource1, and creates a schedule to run a full crawl every 30 days and an incremental crawl every hour every day.

See Also

Reference

Get-SPEnterpriseSearchCrawlContentSource
New-SPEnterpriseSearchCrawlContentSource
Remove-SPEnterpriseSearchCrawlContentSource


Set-SPEnterpriseSearchCrawlDatabase
See Also Example
[image]

Published: May 12, 2010

Sets properties of a crawl database for a search service application.

Set-SPEnterpriseSearchCrawlDatabase [-Identity] <CrawlStorePipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-DatabaseName <String>] [-DatabasePassword <SecureString>] [-DatabaseServer <String>] [-DatabaseUsername <String>] [-FailoverDatabaseServer <String>] [-SearchApplication <SearchServiceApplicationPipeBind>] [-Shared <SwitchParameter>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.Office.Server.Search.Cmdlet.CrawlStorePipeBind

Specifies the crawl database to modify.

A valid crawl database name, in the form CrawlStore1; or a valid GUID, such as 12345678-90ab-cdef-1234-567890bcdefgh; or an instance of a valid CrawlStore object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

FailoverDatabaseServer

Optional

System.String

Specifies the server to be used for failover when SQL Server mirroring is used.

SearchApplication

Optional

Microsoft.Office.Server.Search.Cmdlet.SearchServiceApplicationPipeBind

Specifies the name of the search application to which the crawl database applies.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid search application name (for example, SearchApp1); or an instance of a valid SearchServiceApplication object.

Shared

Optional

System.Management.Automation.SwitchParameter

Used to denote that the search crawl database is to be used for all crawls instead of dedicated to a specific set of hosts through host distribution.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Set-SPEnterpriseSearchCrawlDatabase cmdlet sets properties of a specified crawl database for a search service application. A crawl database stores crawl history for a search service application.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
$searchApp = Get-SPEnterpriseSearchServiceApplication mySearchServiceApp
Set-SPEnterpriseSearchCrawlDatabase -Identity SearchApp_CrawlStore
-SearchApplication $searchApp -FailoverDatabaseServer \\failoverServer

This example sets the failover database server for the crawl database, SearchApp_CrawlStore, to the \\failoverServer server.

See Also

Reference

Get-SPEnterpriseSearchCrawlDatabase
New-SPEnterpriseSearchCrawlDatabase
Remove-SPEnterpriseSearchCrawlDatabase


Set-SPEnterpriseSearchCrawlRule
See Also Example
[image]

Published: May 12, 2010

Sets properties for a crawl rule.

Set-SPEnterpriseSearchCrawlRule [-Identity] <CrawlRulePipeBind> [-AccountName <String>] [-AccountPassword <SecureString>] [-AssignmentCollection <SPAssignmentCollection>] [-AuthenticationType <Nullable>] [-Confirm [<SwitchParameter>]] [-ContentClass <String>] [-CrawlAsHttp <Nullable>] [-FollowComplexUrls <Nullable>] [-IsAdvancedRegularExpression <Nullable>] [-PluggableSecurityTimmerId <Nullable>] [-Priority <Nullable>] [-SearchApplication <SearchServiceApplicationPipeBind>] [-SuppressIndexing <Nullable>] [-Type <Nullable>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.Office.Server.Search.Cmdlet.CrawlRulePipeBind

Specifies the name of the crawl rule.

The type must be a valid crawl rule URL, such as http://server_name, or an instance of a valid CrawlRule object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

AuthenticationType

Optional

System.Nullable

Specifies one of the following authentication types:

BasicAccountRuleAccess Specifies basic authentication.

CertificateRuleAccess Specifies the X.509 certificate name.

NTLMAccountRuleAccess Specifies the account name for integrated authentication.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

ContentClass

Optional

System.String

Specifies a string that is sent to the protocol handler for any content that matches the crawl rule.

CrawlAsHttp

Optional

System.Nullable

Specifies whether the crawler crawls content from a hierarchical content source as HTTP content.

FollowComplexUrls

Optional

System.Nullable

Specifies whether the index engine crawls content from URLs that contain a question mark (?).

IsAdvancedRegularExpression

Optional

System.Nullable

Specifies whether the rule has full regular expression syntax.

The default value is False.

PluggableSecurityTimmerId

Optional

System.Nullable

Specifies the ID of the custom pluggable security trimmer to use, if registered.

Priority

Optional

System.Nullable

Defines where in the list of crawl rules this crawl rule is to be applied.

The priority value cannot be less than 0 or greater than or equal to the number of crawl rules for the search application.

SearchApplication

Optional

Microsoft.Office.Server.Search.Cmdlet.SearchServiceApplicationPipeBind

The name of the search application that is associated with the crawl rule to be modified.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid search application name (for example, SearchApp1); or an instance of a valid SearchServiceApplication object.

SuppressIndexing

Optional

System.Nullable

Specifies whether the crawler excludes the content of items, to which this rule applies, from the content index.

Type

Optional

System.Nullable

Specifies the type of crawl rule. A value of zero (0) includes the rule, and a value of 1 excludes the rule.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

A search administrator runs the Set-SPEnterpriseSearchCrawlRule cmdlet at initial search configuration or any other time, to set or update various attributes of a crawl rule.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
$crawlRule = Get-SPEnterpriseSearchCrawlRule -Identity
file://fileserver/root -SearchApplication mySearchServiceApp
Set-SPEnterpriseSearchCrawlRule -Identity $crawlRule -Type "ExclusionRule"

This example sets the type of the crawl rule pertaining to the URL, file://fileserver/root, to exclude this path from future crawls.

See Also

Reference

Get-SPEnterpriseSearchCrawlRule
New-SPEnterpriseSearchCrawlRule
Remove-SPEnterpriseSearchCrawlRule


Set-SPEnterpriseSearchCrawlTopology
See Also Example
[image]

Published: May 12, 2010

Sets the properties of a crawl topology on a shared search application.

Set-SPEnterpriseSearchCrawlTopology [-Identity] <CrawlTopologyPipeBind> [-Active <SwitchParameter>] [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-SearchApplication <SearchServiceApplicationPipeBind>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.Office.Server.Search.Cmdlet.CrawlTopologyPipeBind

Specifies the crawl topology to update.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh, or an instance of a valid CrawlTopology object.

Active

Optional

System.Management.Automation.SwitchParameter

Activates the specified topology. An active crawl topology is currently serving crawls for the search application.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

SearchApplication

Optional

Microsoft.Office.Server.Search.Cmdlet.SearchServiceApplicationPipeBind

Specifies the search application that contains the crawl topology collection.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid search application name (for example, SearchApp1); or an instance of a valid SearchServiceApplication object.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Set-SPEnterpriseSearchCrawlTopology cmdlet updates the properties of a specified crawl topology. A crawl topology contains the crawl component collection for a topology on a shared search application.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
$searchapp = Get-SPEnterpriseSearchServiceApplication "SearchApp1"
$topo = Get-SPEnterpriseSearchCrawlTopology -SearchApplication $searchapp -Identity 00000000-0000-0000-0000-000000000000
New-SPEnterpriseSearchCrawlComponent -SearchApplication $searchapp -CrawlTopology $topo -CrawlDatabase "Sample_Search_Service_Application_CrawlStoreDB" -SearchServiceInstance servername -IndexLocation d:\crawlshare
$topo | Set-SPEnterpriseSearchCrawlTopology -Active

This example retrieves the inactive crawl topology, adds a search component to it, and activates the crawl topology.

See Also

Reference

Get-SPEnterpriseSearchCrawlTopology
New-SPEnterpriseSearchCrawlTopology
Remove-SPEnterpriseSearchCrawlTopology


Get-SPEnterpriseSearchService
See Also Example
[image]

Published: May 12, 2010

Returns the search service for the farm.

Get-SPEnterpriseSearchService [-AssignmentCollection <SPAssignmentCollection>]

Parameters

Parameter Required Type Description

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Detailed Description

The Get-SPEnterpriseSearchService cmdlet returns the SearchService object when the search service is updated or deleted.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
$searchService = Get-SPEnterpriseSearchService

This example obtains a reference to the search service of the current farm.

See Also

Reference

Set-SPEnterpriseSearchService
Get-SPEnterpriseSearchServiceInstance
Start-SPEnterpriseSearchServiceInstance


Get-SPEnterpriseSearchServiceApplication
See Also Example
[image]

Published: May 12, 2010

Returns the search service application for a farm.

Get-SPEnterpriseSearchServiceApplication [[-Identity] <SearchServiceApplicationPipeBind>] [-AssignmentCollection <SPAssignmentCollection>]

Parameters

Parameter Required Type Description

Identity

Optional

Microsoft.Office.Server.Search.Cmdlet.SearchServiceApplicationPipeBind

Specifies the search service application to get.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid search application name (for example, SearchApp1); or an instance of a valid SearchServiceApplication object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Detailed Description

The Get-SPEnterpriseSearchServiceApplication cmdlet reads the SearchServiceApplication object when the search service application is updated or deleted.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
$ssa = Get-SPEnterpriseSearchServiceApplication -Identity MySSA

This example obtains a reference to a search service application named MySSA.

See Also

Reference

New-SPEnterpriseSearchServiceApplication
Set-SPEnterpriseSearchServiceApplication
Remove-SPEnterpriseSearchServiceApplication


Get-SPEnterpriseSearchServiceApplicationProxy
Example
[image]

Published: May 12, 2010

Returns the search service application proxy.

Get-SPEnterpriseSearchServiceApplicationProxy [[-Identity] <SearchServiceApplicationProxyPipeBind>] [-AssignmentCollection <SPAssignmentCollection>]

Parameters

Parameter Required Type Description

Identity

Optional

Microsoft.Office.Server.Search.Cmdlet.SearchServiceApplicationProxyPipeBind

Specifies the search service application proxy to get.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a search service application proxy (for example, SearchServiceAppProxy1); or an instance of a valid SearchServiceApplicationProxy object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Detailed Description

The Get-SPEnterpriseSearchServiceApplicationProxy cmdlet reads the SearchServiceApplicationProxy object when the search service application proxy is created, updated, or deleted. If the Identity parameter is not specified, this cmdlet returns the search service application proxy collection for the farm.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
$ssaProxy = Get-SPEnterpriseSearchServiceApplicationProxy -Identity SsaProxy

This example obtains a reference to a search service application proxy with the name SsaProxy.


Get-SPEnterpriseSearchServiceInstance
See Also Example
[image]

Published: May 12, 2010

Returns the search service instance for a farm.

Get-SPEnterpriseSearchServiceInstance [[-Identity] <SearchServiceInstancePipeBind>] [-AssignmentCollection <SPAssignmentCollection>] [-Local <SwitchParameter>]

Parameters

Parameter Required Type Description

Identity

Optional

Microsoft.Office.Server.Search.Cmdlet.SearchServiceInstancePipeBind

Specifies the search service instance to get.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a query server (for example, MyQueryServer); or an instance of a valid SearchServiceInstance object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Local

Optional

System.Management.Automation.SwitchParameter

Returns the search service instance for the current search server.

Detailed Description

The Get-SPEnterpriseSearchServiceInstance cmdlet returns the SearchServiceInstance object when the object is created, updated, or deleted.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
$ssInstance = Get-SPEnterpriseSearchServiceInstance -Local

This example obtains a reference to the local search service instance.

See Also

Reference

Set-SPEnterpriseSearchServiceInstance
Start-SPEnterpriseSearchServiceInstance
Stop-SPEnterpriseSearchServiceInstance


New-SPEnterpriseSearchServiceApplication
See Also Example
[image]

Published: May 12, 2010

Adds a search service application to a farm.

New-SPEnterpriseSearchServiceApplication [[-Name] <String>] -ApplicationPool <SPIisWebServiceApplicationPoolPipeBind> [-AdminApplicationPool <SPIisWebServiceApplicationPoolPipeBind>] [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-DatabaseName <String>] [-DatabasePassword <SecureString>] [-DatabaseServer <String>] [-DatabaseUsername <String>] [-FailoverDatabaseServer <String>] [-Partitioned <SwitchParameter>] [-SearchApplicationType <Nullable>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Name

Required

System.String

Specifies the names of the new search application.

The type must be a valid name of a search application; for example, SearchApp1.

ApplicationPool

Required

Microsoft.SharePoint.PowerShell.SPIisWebServiceApplicationPoolPipeBind

Specifies the IIS application pool to use for the new search application.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid URL of a search application, in the form http://server_name; or an instance of a valid SPIisWebServiceApplicationPool object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

DatabaseName

Optional

System.String

Specifies the name of the database to create for the new search application.

The type must be a valid name of a SQL Server database; for example, SearchAppDB1.

DatabasePassword

Optional

System.String

Specifies the password for the user ID that is used for accessing the search application database on SQL Server.

The type must be a valid password.

DatabaseServer

Optional

System.String

Specifies the name of the host server for the database specified in DatabaseName.

The type must be a valid SQL Server host name; for example, SQLServerHost1.

DatabaseUsername

Optional

System.String

Specifies the user ID to use for accessing the search application SQL Server database.

The type must be a valid user name; for example, SearchUserName1.

Partitioned

Optional

System.Management.Automation.SwitchParameter

Specifies that the search service application uses Web-hosted mode. Web-hosted mode segregates results for a given hosted subscription.

SearchApplicationType

Optional

System.Nullable

Specifies that the search service application is used as a connector for an extended search application.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The New-SPEnterpriseSearchServiceApplication cmdlet is used when the search functionality is initially configured or when a new shared search application is added to a farm. SPEnterpriseSearchServiceApplication represents a self-contained aggregation of indexed content and properties available for search, and provides an anchor class for setting global search properties. A farm can include multiple search service applications.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
$appPool = New-SPServiceApplicationPool -name "SsaAppPool" -account contoso\adminUser
$ssa = New-SPEnterpriseSearchServiceApplication -Name "NewSSA" -ApplicationPool $appPool
$searchInstance = Get-SPEnterpriseSearchServiceInstance -Local
$ssa | get-SPEnterpriseSearchAdministrationComponent | set-SPEnterpriseSearchAdministrationComponent -SearchServiceInstance $searchInstance
$ssa | Get-SPEnterpriseSearchAdministrationComponent

This example creates a new search service application named NewSSA in a new application pool and initializes its administration component. A search service application created in this way will have active query and crawl topologies, but no query or crawl components.

See Also

Reference

Get-SPEnterpriseSearchServiceApplication
Set-SPEnterpriseSearchServiceApplication
Remove-SPEnterpriseSearchServiceApplication


New-SPEnterpriseSearchServiceApplicationProxy
Example
[image]

Published: May 12, 2010

Adds a new search application proxy to a farm.

New-SPEnterpriseSearchServiceApplicationProxy [[-Name] <String>] -Uri <String> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-MergeWithDefaultPartition <SwitchParameter>] [-Partitioned <SwitchParameter>] [-WhatIf [<SwitchParameter>]]
New-SPEnterpriseSearchServiceApplicationProxy [[-Name] <String>] -SearchApplication <SearchServiceApplicationPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-MergeWithDefaultPartition <SwitchParameter>] [-Partitioned <SwitchParameter>] [-WhatIf [<SwitchParameter>]]

Parameters

1

Parameter

Required

Type

Description

Name

Required

System.String

Specifies the display name of the search application proxy to create.

The type must be a valid string; for example, SearchAppProxy1.

Uri

Required

System.String

Specifies the URI to the search application to use for search.

The type must be a valid URI, in the form file:\\server_name\searchapp.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

MergeWithDefaultPartition

Optional

System.Management.Automation.SwitchParameter

Merges the index partition for the proxy with the default index partition collection for the search service application.

Partitioned

Optional

System.Management.Automation.SwitchParameter

Specifies that the search service application must use Web-hosted mode. Web-hosted mode segregates results for a given hosted subscription.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

2

Parameter

Required

Type

Description

Name

Required

System.String

Specifies the display name of the search application proxy to create.

The type must be a valid string; for example, SearchAppProxy1.

SearchApplication

Required

Microsoft.Office.Server.Search.Cmdlet.SearchServiceApplicationPipeBind

Specifies the URI to the search application to use for search.

The type must be a valid URI, in the form file:\\server_name\searchapp.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

MergeWithDefaultPartition

Optional

System.Management.Automation.SwitchParameter

Merges the index partition for the proxy with the default index partition collection for the search service application.

Partitioned

Optional

System.Management.Automation.SwitchParameter

Specifies that the search service application must use Web-hosted mode. Web-hosted mode segregates results for a given hosted subscription.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

This cmdlet contains more than one parameter set. You may only use parameters from one parameter set, and you may not combine parameters from different parameter sets. For more information about how to use parameter sets, see Cmdlet Parameter Sets.

The New-SPEnterpriseSearchServiceApplicationProxy cmdlet creates a proxy for a search service application. The search service application proxy can be used by a Web application or another service consumer to use the functionality provided by the search application.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
New-SPEnterpriseSearchServiceApplicationProxy -Name MyNewProxy -SearchApplication MySSA

This example adds a search service application proxy to a search service application named MySSA.


Remove-SPEnterpriseSearchServiceApplication
See Also Example
[image]

Published: May 12, 2010

Deletes a search service application.

Remove-SPEnterpriseSearchServiceApplication [-Identity] <SearchServiceApplicationPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-RemoveData <SwitchParameter>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.Office.Server.Search.Cmdlet.SearchServiceApplicationPipeBind

Specifies the search service application to delete.

A valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; or a valid search application name (for example, SearchApp1); or an instance of a valid SearchServiceApplication object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

RemoveData

Optional

System.Management.Automation.SwitchParameter

Specifies that all search databases and index files associated with the search service application to be deleted.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Remove-SPEnterpriseSearchServiceApplication cmdlet deletes a specified search service application from a farm.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
Remove-SPEnterpriseSearchServiceApplication -Identity MySSA

This example removes the search service application named MySSA from the farm.

See Also

Reference

Get-SPEnterpriseSearchServiceApplication
New-SPEnterpriseSearchServiceApplication
Set-SPEnterpriseSearchServiceApplication
Get-SPEnterpriseSearchService
Get-SPEnterpriseSearchServiceInstance


Remove-SPEnterpriseSearchServiceApplicationProxy
Example
[image]

Published: May 12, 2010

Deletes a search service application proxy.

Remove-SPEnterpriseSearchServiceApplicationProxy [-Identity] <SearchServiceApplicationProxyPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.Office.Server.Search.Cmdlet.SearchServiceApplicationProxyPipeBind

Specifies the search service application proxy to delete.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a service application proxy (for example, ServiceAppProxy1); or an instance of a valid SearchServiceApplicationProxy object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Remove-SPEnterpriseSearchServiceApplicationProxy cmdlet deletes the specified search service application proxy from a farm.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
Remove-SPEnterpriseSearchServiceApplicationProxy -Identity SearchProxy

This example removes a search service application proxy named SearchProxy.


Restore-SPEnterpriseSearchServiceApplication
Example
[image]

Published: May 12, 2010

Restores third-party backup of a search application.

Restore-SPEnterpriseSearchServiceApplication [-Name] <String> -AdminSearchServiceInstance <SearchServiceInstancePipeBind> -ApplicationPool <SPIisWebServiceApplicationPoolPipeBind> -DatabaseName <String> -DatabaseServer <String> [-AdminApplicationPool <SPIisWebServiceApplicationPoolPipeBind>] [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-DatabasePassword <SecureString>] [-DatabaseUsername <String>] [-FailoverDatabaseServer <String>] [-WhatIf [<SwitchParameter>]]
Restore-SPEnterpriseSearchServiceApplication [-Name] <String> -ApplicationPool <SPIisWebServiceApplicationPoolPipeBind> -TopologyFile <String> [-AdminApplicationPool <SPIisWebServiceApplicationPoolPipeBind>] [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-KeepId <SwitchParameter>] [-WhatIf [<SwitchParameter>]]

Parameters

1

Parameter

Required

Type

Description

Parameter

Required

Type

Description

Name

Required

System.String

Specifies the new Search application name.

ApplicationPool

Required

Microsoft.SharePoint.PowerShell.SPIisWebServiceApplicationPoolPipeBind

Specifies the application pool for the query Web service.

AdminApplicationPool

Optional

Microsoft.SharePoint.PowerShell.SPIisWebServiceApplicationPoolPipeBind

Specifies the application pool for the administrative Web service.

AdminSearchServiceInstance

Optional

Microsoft.Office.Server.Search.Cmdlet.SearchServiceInstancePipeBind

Specifies the search service instance to be used with the administration component.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

DatabaseName

Optional

System.String

Specifies the name of the database to create for the restoring the search application.

The type must be a valid name of a SQL Server database; for example, RestoreDB1.

DatabasePassword

Optional

System.String

Specifies the name of the password for the database server on the Microsoft SQL Server.

DatabaseServer

Optional

System.String

Specifies the name of the host server for the database specified in DatabaseName.

The type must be a valid SQL Server host name; for example, SQLServerHost1.

DatabaseUsername

Optional

System.String

Specifies the account name specified in the Database Server parameter.

FailoverDatabaseServer

Optional

System.String

Use this parameter if you want the administration database to use a failover database server.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

ApplicationPool

Required

Microsoft.SharePoint.PowerShell.SPIisWebServiceApplicationPoolPipeBind

Specifies the application pool for the query Web service.

AdminApplicationPool

Optional

Microsoft.SharePoint.PowerShell.SPIisWebServiceApplicationPoolPipeBind

Specifies the application pool for the administrative Web service.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

2

Parameter

Required

Type

Description

Parameter

Required

Type

Description

Name

Required

System.String

Specifies the new Search application name.

ApplicationPool

Required

Microsoft.SharePoint.PowerShell.SPIisWebServiceApplicationPoolPipeBind

Specifies the application pool for the query Web service.

AdminApplicationPool

Optional

Microsoft.SharePoint.PowerShell.SPIisWebServiceApplicationPoolPipeBind

Specifies the application pool for the administrative Web service.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

ApplicationPool

Required

Microsoft.SharePoint.PowerShell.SPIisWebServiceApplicationPoolPipeBind

Specifies the application pool for the query Web service.

TopologyFile

Required

System.String

Specifies the path the the .XML file that contains the application topology information.

AdminApplicationPool

Optional

Microsoft.SharePoint.PowerShell.SPIisWebServiceApplicationPoolPipeBind

Specifies the application pool for the administrative Web service.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Parameters

1

Parameter

Required

Type

Description

Parameter

Required

Type

Description

Name

Required

System.String

Specifies the new Search application name.

ApplicationPool

Required

Microsoft.SharePoint.PowerShell.SPIisWebServiceApplicationPoolPipeBind

Specifies the application pool for the query Web service.

AdminApplicationPool

Optional

Microsoft.SharePoint.PowerShell.SPIisWebServiceApplicationPoolPipeBind

Specifies the application pool for the administrative Web service.

AdminSearchServiceInstance

Optional

Microsoft.Office.Server.Search.Cmdlet.SearchServiceInstancePipeBind

Specifies the search service instance to be used with the administration component.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

DatabaseName

Optional

System.String

Specifies the name of the database to create for the restoring the search application.

The type must be a valid name of a SQL Server database; for example, RestoreDB1.

DatabasePassword

Optional

System.String

Specifies the name of the password for the database server on the Microsoft SQL Server.

DatabaseServer

Optional

System.String

Specifies the name of the host server for the database specified in DatabaseName.

The type must be a valid SQL Server host name; for example, SQLServerHost1.

DatabaseUsername

Optional

System.String

Specifies the account name specified in the Database Server parameter.

FailoverDatabaseServer

Optional

System.String

Use this parameter if you want the administration database to use a failover database server.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

ApplicationPool

Required

Microsoft.SharePoint.PowerShell.SPIisWebServiceApplicationPoolPipeBind

Specifies the application pool for the query Web service.

AdminApplicationPool

Optional

Microsoft.SharePoint.PowerShell.SPIisWebServiceApplicationPoolPipeBind

Specifies the application pool for the administrative Web service.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

2

Parameter

Required

Type

Description

Parameter

Required

Type

Description

Name

Required

System.String

Specifies the new Search application name.

ApplicationPool

Required

Microsoft.SharePoint.PowerShell.SPIisWebServiceApplicationPoolPipeBind

Specifies the application pool for the query Web service.

AdminApplicationPool

Optional

Microsoft.SharePoint.PowerShell.SPIisWebServiceApplicationPoolPipeBind

Specifies the application pool for the administrative Web service.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

ApplicationPool

Required

Microsoft.SharePoint.PowerShell.SPIisWebServiceApplicationPoolPipeBind

Specifies the application pool for the query Web service.

TopologyFile

Required

System.String

Specifies the path the the .XML file that contains the application topology information.

AdminApplicationPool

Optional

Microsoft.SharePoint.PowerShell.SPIisWebServiceApplicationPoolPipeBind

Specifies the application pool for the administrative Web service.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

This cmdlet contains more than one parameter set. You may only use parameters from one parameter set, and you may not combine parameters from different parameter sets. For more information about how to use parameter sets, see Cmdlet Parameter Sets.

The Restore-SPEnterpriseSearchServiceApplication cmdlet is used by third parties to create a search application that uses existing data.

Some third parties back up the application data and need to restore the application later. So the data is restored and uses the Restore-SPEnterpriseSearchServiceApplication cmdlet to create a new search application that uses the restored data.

This cmdlet supports parameter sets. The first set of parameters is for Application Configuration Attach mode and the second set of parameters is for Search Application Attach mode.

Application Configuration Attach mode only restores configuration data that is stored in the administration database. However, Search Application Attach restores configuration, topology and all crawled data.

Input Types

Return Types

Example

-------------EXAMPLE 1--------------

Copy Code
$searchInstance = Get-SPEnterpriseSearchServiceInstance -local
$applicationPool = New-SPIisWebServiceApplicationPool -Name "SearchServiceApplicationPool"
Copy Code
Restore-SPEnterpriseSearchServiceApplication -Name "SearchServiceApplication" -ApplicationPool $applicationPool -AdminSearchServiceInstance $searchInstance -DatabaseName "SearchServiceApplication_Admindb" -DatabaseServer "SQLServer1"

This example uses Application Configuration Attach mode to restore configuration data.

-------------EXAMPLE 2--------------

Copy Code
$applicationPool = New-SPIisWebServiceApplicationPool -Name "SearchServiceApplicationPool"
Copy Code
Restore-SPEnterpriseSearchServiceApplication -Name "SearchServiceApplication" -ApplicationPool $applicationPool -TopologyFile "C:\TopologyFile.xml"

This example uses Search Application Attach mode to restore toplogoy data in the file named topology.xml.


Resume-SPEnterpriseSearchServiceApplication
See Also Example
[image]

Published: May 12, 2010

Resumes a search service application that was suspended.

Resume-SPEnterpriseSearchServiceApplication [-Identity] <SearchServiceApplicationPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.Office.Server.Search.Cmdlet.SearchServiceApplicationPipeBind

Specifies the search service application to resume.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid search application name (for example, SearchApp1); or an instance of a valid SearchServiceApplication object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Resume-SPEnterpriseSearchServiceApplication cmdlet reads the SearchServiceApplication object and moves it from the Paused for: External Request state to the Online state. If the Identity parameter is not specified, all search service applications from the farm are returned as a collection.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
$ssa = Get-SPEnterpriseSearchServiceApplication -Identity MySSA
$ssa | Resume-SPEnterpriseSearchServiceApplication

This example obtains a reference to a search service application named MySSA and then resumes it.

See Also

Reference

New-SPEnterpriseSearchServiceApplication
Set-SPEnterpriseSearchServiceApplication
Remove-SPEnterpriseSearchServiceApplication
Suspend-SPEnterpriseSearchServiceApplication


Set-SPEnterpriseSearchService
Example
[image]

Published: May 12, 2010

Sets the properties of a search service for a farm.

Set-SPEnterpriseSearchService [[-Identity] <SearchServicePipeBind>] [-AcknowledgementTimeout <String>] [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-ConnectionTimeout <String>] [-ContactEmail <String>] [-IgnoreSSLWarnings <String>] [-InternetIdentity <String>] [-PerformanceLevel <String>] [-ProxyType <String>] [-ServiceAccount <String>] [-ServicePassword <SecureString>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Optional

Microsoft.Office.Server.Search.Cmdlet.SearchServicePipeBind

Specifies the search service to update.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid search application name (for example, SearchService1); or an instance of a valid SearchService object.

AcknowledgementTimeout

Optional

System.String

Specifies the amount of time in seconds that the search server will wait for request acknowledgment while connecting to other services.

The type must be string input that can be parsed to an integer value.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

ConnectionTimeout

Optional

System.String

Specifies the amount of time in seconds that the search server waits while connecting to other services.

The type must be string input that can be parsed to an integer value.

ContactEmail

Optional

System.String

Specifies an e-mail address to which external site administrators can write if problems occur when the site is being crawled.

The type must be a valid e-mail address, in the form MyAddress@mycompany.com.

IgnoreSSLWarnings

Optional

System.String

Specifies that the search service will ignore Secure Sockets Layer (SSL) certificate name warnings. The default value is False.

The type must be a string that can be cast to a Boolean value; for example, True or False.

InternetIdentity

Optional

System.String

Specifies the value that the crawler sends in the headers of its HTTP requests to sites when it fetches their pages.

PerformanceLevel

Optional

System.String

Specifies the relative number of threads for the indexer performance:

Reduced: Total number of threads = number of processors, Max Threads/host = number of processors

Partly Reduced: Total number of threads = 4 times the number of processors , Max Threads/host = 16 time the number of processors

Maximum: Total number of threads = number of processors

The type must be one of the following values: Reduced, PartlyReduced, or Maximum.

ProxyType

Optional

System.String

Specifies whether the search service uses a proxy server or connects directly when crawling content. The default value is Direct, (No proxy server is used).

The type must be one of the following values: Direct or Proxy.

ServiceAccount

Optional

System.String

Specifies the user account or service account to use for running the Microsoft Office Server Search service. When this parameter is used, the ServicePassword parameter must also be specified.

The type must be a valid account name on the domain, in the form Domain\username or username.

ServicePassword

Optional

System.String

Specifies the password for the service account specified in ServiceAccount.

The type must contain the domain password to the account specified in the ServiceAccount parameter.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Set-SPEnterpriseSearchService cmdlet updates properties of a search service for a farm.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
$password = Read-Host -AsSecureString
**********
Set-SPEnterpriseSearchService -IgnoreSSLWarnings $true -ServiceAccount contoso\adminAccount -ServicePassword $password

This example configures the search service to ignore SSL warnings, and changes the service account for the search service.


Set-SPEnterpriseSearchServiceApplication
See Also Example
[image]

Published: May 12, 2010

Sets the properties of a search service application for a farm.

Set-SPEnterpriseSearchServiceApplication [-Identity] <SearchServiceApplicationPipeBind> [-AdminApplicationPool <SPIisWebServiceApplicationPoolPipeBind>] [-ApplicationPool <SPIisWebServiceApplicationPoolPipeBind>] [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-DatabaseName <String>] [-DatabasePassword <SecureString>] [-DatabaseServer <String>] [-DatabaseUsername <String>] [-DefaultContentAccessAccountName <String>] [-DefaultContentAccessAccountPassword <SecureString>] [-DefaultSearchProvider <Nullable>] [-DiacriticSensitive <String>] [-FailoverDatabaseServer <String>] [-VerboseQueryMonitoring <String>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.Office.Server.Search.Cmdlet.SearchServiceApplicationPipeBind

Specifies the search service application to update.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid search application name (for example, SearchApp1); or an instance of a valid SearchServiceApplication object.

AdminApplicationPool

Optional

Microsoft.SharePoint.PowerShell.SPIisWebServiceApplicationPoolPipeBind

Specifies the application pool for the administrative Web service for the search service application.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of an application pool (for example, AdminAppPool1); or an instance of a valid IISWebServiceApplicationPool object.

ApplicationPool

Microsoft.SharePoint.PowerShell.SPIisWebServiceApplicationPoolPipeBind

Specifies an application pool for the search service application.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of an application pool (for example, AppPool1); or an instance of a valid IISWebServiceApplicationPool object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

DatabaseName

Optional

System.String

Specifies the name of the database for the Web service administration.

The type must be a valid name of a SQL Server database; for example, WebAdminDB1.

DatabasePassword

Optional

System.String

Specifies the password for the user ID that is used for accessing the Web service administration database on SQL Server.

The type must be a valid password.

DatabaseServer

Optional

System.String

Specifies the name of the host server for the Web service administration database.

The type must be a valid SQL Server host name; for example, SQLServerHost1.

DatabaseUsername

Optional

System.String

Specifies the user ID to use for accessing the Web service administration database.

The type must be a valid user name; for example, WebAdminUserDB1.

DefaultContentAccessAccountName

Optional

System.String

Specifies the account ID to use for accessing content.

The type must be a valid user name; for example, ContentAccessUser1.

DefaultContentAccessAccountPassword

Optional

System.Security.SecureString

Specifies the password for the content access account.

The type must be a valid password.

DefaultSearchProvider

Optional

System.Nullable

Specifies the search application type to be used for this application:

0 = Default

1 = SharePoint Search

2 = Extended Search

DiacriticSensitive

Optional

System.String

Specifies that the search application respects diacritics (for example, ä).

FailoverDatabaseServer

Optional

System.String

Specifies the name of the host SQL instance for the failover database server.

The type must be a valid SQL Server instance name; for example, SQLServerHost1.

VerboseQueryMonitoring

Optional

System.String

Enables verbose query monitoring. The default value is False.

The type must be a string that can be cast to a Boolean value; for example, True or False.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Set-SPEnterpriseSearchServiceApplication cmdlet updates properties of a search service application. SPEnterpriseSearchServiceApplication represents a self-contained aggregation of indexed content and properties available for search, and provides an anchor class for setting global search properties. A search application can include multiple search service applications.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
Set-SPEnterpriseSearchServiceApplication -Identity MySSA -VerboseQueryMonitoring True

This example turns on verbose query logging in the search service application named MySSA.

See Also

Reference

New-SPEnterpriseSearchServiceApplication
Get-SPEnterpriseSearchServiceApplication
Remove-SPEnterpriseSearchServiceApplication


Set-SPEnterpriseSearchServiceApplicationProxy
Example
[image]

Published: May 12, 2010

Sets properties of a search service application proxy.

Set-SPEnterpriseSearchServiceApplicationProxy [-Identity] <SearchServiceApplicationProxyPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-Name <String>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.Office.Server.Search.Cmdlet.SearchServiceApplicationProxyPipeBind

Specified the search service application proxy to update.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a search service application proxy (for example, SearchServiceAppProxy1); or an instance of a valid SearchServiceApplicationProxy object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

Name

Optional

System.String

Specifies the display name of the search application proxy to create.

The type must be a valid string; for example, SearchAppProxy1.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Set-SPEnterpriseSearchServiceApplicationProxy cmdlet updates properties of a site administration service application proxy for a search application. SPEnterpriseSearchServiceApplicationProxy represents the proxy for search site administration functionality. One search service application proxy exists for each search application on a farm.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
Get-SPEnterpriseSearchServiceApplicationProxy -Identity SsaProxy | Set- SPEnterpriseSearchServiceApplicationProxy -Name ContosoSearchProxy

This example sets the display name of a search service application proxy.


Set-SPEnterpriseSearchServiceInstance
See Also Example
[image]

Published: May 12, 2010

Sets the properties of a search service instance.

Set-SPEnterpriseSearchServiceInstance [-Identity] <SearchServiceInstancePipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-DefaultIndexLocation <String>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Optional

Microsoft.Office.Server.Search.Cmdlet.SearchServiceInstancePipeBind

Specifies the search service instance to update.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a query server (for example, MyQueryServer); or an instance of a valid SearchServiceInstance object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

DefaultIndexLocation

Optional

System.String

Specifies the default path to use for creating an index of content.

The type must be a valid path in either of the following forms:

- C:\folder_name

- \\server_name\folder_name

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Set-SPEnterpriseSearchServiceInstance cmdlet updates properties of the search service instance for a farm.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
Get-SPEnterpriseSearchServiceInstance | Set-SPEnterpriseSearchServiceInstance -DefaultIndexLocation E:\SearchData

This example sets the index location for the search service instance to the path e:\SearchData.

See Also

Reference

Get-SPEnterpriseSearchServiceInstance
Start-SPEnterpriseSearchServiceInstance
Get-SPEnterpriseSearchService
Get-SPEnterpriseSearchServiceApplication


Start-SPEnterpriseSearchServiceInstance
See Also Example
[image]

Published: May 12, 2010

Starts an instance of a search service.

Start-SPEnterpriseSearchServiceInstance [-Identity] <SearchServiceInstancePipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.Office.Server.Search.Cmdlet.SearchServiceInstancePipeBind

Specifies the search service instance to start.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a query server (for example, MyQueryServer); or an instance of a valid SearchServiceInstance object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Start-SPEnterpriseSearchServiceInstance cmdlet starts an instance of a search service on a farm.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
Get-SPEnterpriseSearchServiceInstance -Local | Start-SPEnterpriseSearchServiceInstance

This example starts the local search service instance.

See Also

Reference

Stop-SPEnterpriseSearchServiceInstance
Get-SPEnterpriseSearchServiceInstance
Set-SPEnterpriseSearchServiceInstance


Stop-SPEnterpriseSearchServiceInstance
Example
[image]

Published: May 12, 2010

Stops an instance of a search service.

Stop-SPEnterpriseSearchServiceInstance [-Identity] <SearchServiceInstancePipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.Office.Server.Search.Cmdlet.SearchServiceInstancePipeBind

Specifies the shared search service instance to stop.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a query server (for example, MyQueryServer); or an instance of a valid SearchServiceInstance object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Stop-SPEnterpriseSearchServiceInstance cmdlet stops an instance of a search service.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
Get-SPEnterpriseSearchServiceInstance -Local | Stop-SPEnterpriseSearchServiceInstance

This example stops the local search service instance.


Suspend-SPEnterpriseSearchServiceApplication
See Also Example
[image]

Published: May 12, 2010

Suspends a search service application, pausing all crawls and search operations, to perform a task such as system maintenance.

Suspend-SPEnterpriseSearchServiceApplication [-Identity] <SearchServiceApplicationPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.Office.Server.Search.Cmdlet.SearchServiceApplicationPipeBind

Specifies the search service application to suspend.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid search application name (for example, SearchApp1); or an instance of a valid SearchServiceApplication object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Suspend-SPEnterpriseSearchServiceApplication cmdlet reads the SearchServiceApplication object and moves it from the Online state to the Paused for: External Request state.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
$ssa = Get-SPEnterpriseSearchServiceApplication -Identity MySSA
$ssa | Suspend-SPEnterpriseSearchServiceApplication

This example obtains a reference to a search service application named MySSA and pauses it, stopping all crawls.

See Also

Reference

New-SPEnterpriseSearchServiceApplication
Set-SPEnterpriseSearchServiceApplication
Remove-SPEnterpriseSearchServiceApplication
Resume-SPEnterpriseSearchServiceApplication


Upgrade-SPEnterpriseSearchServiceApplication
Example
[image]

Published: May 12, 2010

Upgrades a search service application.

Upgrade-SPEnterpriseSearchServiceApplication [-Identity] <SearchServiceApplicationPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.Office.Server.Search.Cmdlet.SearchServiceApplicationPipeBind

Specifies the search service application to upgrade.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid search application name (for example, SearchApp1); or an instance of a valid SearchServiceApplication object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Upgrade-SPEnterpriseSearchServiceApplication cmdlet starts an upgrade process on a search service application. This cmdlet runs the associated upgrade actions for the search service application. Also, you can upgrade multiple search service applications in parallel by launching several instances of this cmdlet. It is not necessary to run this cmdlet if you already have run the SharePoint Products Configuration Wizard.

Note:

For the upgrade process to run successful, all of the computers in the farm must have the same version of binaries installed.

Input Types

Return Types

Example

----------------EXAMPLE 1-----------------

Copy Code
Get-SPEnterpriseSearchServiceApplication | Upgrade-SPEnterpriseSearchServiceApplication

This example upgrades a search service application.

----------------EXAMPLE 2-----------------

Copy Code
Upgrade-SPEnterpriseSearchServiceApplication -Identity 846ceb0b-31d6-4c79-82c1-3a9deafe0b45

This example upgrades a search service application.

----------------EXAMPLE 3-----------------

Copy Code
Upgrade-SPEnterpriseSearchServiceApplication "DefaultSearchApplication"

This example upgrades a search service application.


Get-SPEnterpriseSearchQueryAndSiteSettingsService
Example
[image]

Published: May 12, 2010

Returns the search manager service.

Get-SPEnterpriseSearchQueryAndSiteSettingsService [-AssignmentCollection <SPAssignmentCollection>]

Parameters

Parameter Required Type Description

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Detailed Description

The Get-SPEnterpriseSearchQueryAndSiteSettingsService cmdlet returns a manager service. A manager service is the endpoint for the search service application to process queries and site administration requests from the search service application proxy.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
$qssService = Get-SPEnterpriseSearchQUeryAndSiteSettingsService

This example obtains a reference to the query and site settings service.


Get-SPEnterpriseSearchQueryAndSiteSettingsServiceInstance
Example
[image]

Published: May 12, 2010

Returns the service manager service instance.

Get-SPEnterpriseSearchQueryAndSiteSettingsServiceInstance [[-Identity] <SearchQueryAndSiteSettingsServiceInstancePipeBind>] [-AssignmentCollection <SPAssignmentCollection>] [-Local <SwitchParameter>]

Parameters

Parameter Required Type Description

Identity

Optional

Microsoft.Office.Server.Search.Cmdlet.SearchManagerServiceInstancePipeBind

Specifies the search manager service instance to get.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid server name on which search manager service instance runs; or an instance of a valid SearchManagerServiceInstance object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Local

Optional

System.Management.Automation.SwitchParameter

Specifies that the service manager service instance for the current search server is returned.

Detailed Description

The Get-SPEnterpriseSearchQueryAndSiteSettingsServiceInstance cmdlet returns the service manager service instance when a search manager service is started or stopped.

Input Types

Return Types

Example

------------------EXAMPLE 1------------------

Copy Code
$qqssSvcInstance = Get-SPEnterpriseSearchQueryAndSiteSettingsServiceInstance -Local

This example obtain a reference to the query and site setting service instance on the local farm.

------------------EXAMPLE 2------------------

Copy Code
$qssSvcInstance = Get-SPEnterpriseSearchQueryAndSiteSettingsServiceInstance -Identity myServer

This example obtain a reference to the query and site setting service instance from a specific server name.


Get-SPEnterpriseSearchQueryAndSiteSettingsServiceProxy
Example
[image]

Published: May 12, 2010

Returns the search manager service proxy.

Get-SPEnterpriseSearchQueryAndSiteSettingsServiceProxy [-AssignmentCollection <SPAssignmentCollection>]

Parameters

Parameter Required Type Description

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Detailed Description

The Get-SPEnterpriseSearchQueryAndSiteSettingsServiceProxy cmdlet reads the SearchQueryAndSiteSettingsServiceProxy object when a search Web service manager service is started or stopped.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
$qssSvcProxy = Get-SPEnterpriseSearchQueryAndSiteSettingsServiceProxy

This example obtains a reference to the query and site settings service proxy.


Get-SPEnterpriseSearchQueryAuthority
See Also Example
[image]

Published: May 12, 2010

Returns an authoritative page.

Get-SPEnterpriseSearchQueryAuthority [[-Identity] <AuthorityPagePipeBind>] -SearchApplication <SearchServiceApplicationPipeBind> [-AssignmentCollection <SPAssignmentCollection>]

Parameters

Parameter Required Type Description

Identity

Optional

Microsoft.Office.Server.Search.Cmdlet.AuthorityPagePipeBind

Specifies the query authority to get.

The type must be a valid URL, in the form http://server_name; or an instance of a valid AuthorityPage object.

SearchApplication

Required

Microsoft.Office.Server.Search.Cmdlet.SearchServiceApplicationPipeBind

Specifies the search application that contains the authority page to get.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid search application name (for example, SearchApp1); or an instance of a valid SearchServiceApplication object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Detailed Description

The Get-SPEnterpriseSearchQueryAuthority cmdlet reads a QueryAuthority object when the authoritative page is created or deleted or when the query rank is modified.

If the Identity parameter is not specified, this cmdlet returns the authority page collection for the specified search application.

Input Types

Return Types

Example

------------------EXAMPLE 1------------------

Copy Code
$ssa = Get-SPEnterpriseSearchServiceApplication -Identity "MySSA"
$qAuth = $ssa | Get-SPEnterpriseSearchQueryAuthority -Identity "http://contoso.com"

This example obtains the authoritative page for the URL http://contoso.com from the search service application named MySSA.

------------------EXAMPLE 2------------------

Copy Code
$qaCollection = Get-SPEnterpriseSearchQueryAuthority -SearchApplication "MySSA"

This example obtains the collection of query authority pages from a search service application named MySSA.

See Also

Reference

New-SPEnterpriseSearchQueryAuthority
Set-SPEnterpriseSearchQueryAuthority
Remove-SPEnterpriseSearchQueryAuthority


Get-SPEnterpriseSearchQueryComponent
See Also Example
[image]

Published: May 12, 2010

Returns a query component.

Get-SPEnterpriseSearchQueryComponent [[-Identity] <QueryComponentPipeBind>] -QueryTopology <QueryTopologyPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-SearchApplication <SearchServiceApplicationPipeBind>]

Parameters

Parameter Required Type Description

Identity

Optional

Microsoft.Office.Server.Search.Cmdlet.QueryComponentPipeBind

Specifies the query component to get.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh, or an instance of a valid QueryComponent object.

QueryTopology

Required

Microsoft.Office.Server.Search.Cmdlet.QueryTopologyPipeBind

Specifies the query topology that contains the query component collection.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh, or an instance of a valid QueryTopology object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

SearchApplication

Optional

Microsoft.Office.Server.Search.Cmdlet.SearchServiceApplicationPipeBind

Specifies the search application that contains the query topology.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid search application name (for example, SearchApp1); or an instance of a valid SearchServiceApplication object.

Detailed Description

The Get-SPEnterpriseSearchQueryComponent cmdlet reads a QueryComponent object when the query component is created, updated, or deleted.

If the Identity parameter is not specified, this cmdlet returns the query component collection from the specified query topology.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
$ssa =  Get-SPEnterpriseSearchServiceApplication -Identity "MySSA"
$ssa | Get-SPEnterpriseSearchQueryTopology -Active | Get-SPEnterpriseSearchQueryComponent

This example gets the collection of query components from the search application named MySSA.

See Also

Reference

New-SPEnterpriseSearchQueryComponent
Remove-SPEnterpriseSearchQueryComponent


Get-SPEnterpriseSearchQueryDemoted
See Also Example
[image]

Published: May 12, 2010

Returns a demoted site rule.

Get-SPEnterpriseSearchQueryDemoted [[-Identity] <DemotedPipeBind>] -SearchApplication <SearchServiceApplicationPipeBind> [-AssignmentCollection <SPAssignmentCollection>]

Parameters

Parameter Required Type Description

Identity

Optional

Microsoft.Office.Server.Search.Cmdlet.DemotedPipeBind

Specifies the demoted site rule to get.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid URL, in the form http://server_name; or an instance a valid Demoted object.

SearchApplication

Required

Microsoft.Office.Server.Search.Cmdlet.SearchServiceApplicationPipeBind

Specifies the search application that contains the demoted site rule collection.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid search application name (for example, SearchApp1); or an instance of a valid SearchServiceApplication object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Detailed Description

The Get-SPEnterpriseSearchQueryDemoted cmdlet reads the DemotedSite object when a demoted site rule is created or deleted, or when the demoted site rule is updated to modify the query rank.

If the Identity parameter is not specified, this cmdlet returns the demoted site rule collection for the specified search application.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
$demotedRule = Get-SPEnterpriseSearchQueryDemoted -Identity http://somesite.com -SearchApplication MySSA
$demotedRule | Remove-SPEnterpriseSearchQueryDemoted

This example obtains a reference to a site demotion rule for the URL http://somesite.com, and removes it.

See Also

Reference

New-SPEnterpriseSearchQueryDemoted
Remove-SPEnterpriseSearchQueryDemoted


Get-SPEnterpriseSearchQueryKeyword
See Also Example
[image]

Published: May 12, 2010

Returns a keyword term.

Get-SPEnterpriseSearchQueryKeyword [[-Identity] <KeywordPipeBind>] -Site <SPSitePipeBind> [-AssignmentCollection <SPAssignmentCollection>]

Parameters

Parameter Required Type Description

Identity

Optional

Microsoft.Office.Server.Search.Cmdlet.KeywordPipeBind

Specifies the keyword term to get.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid string that contains a keyword term (for example, KeywordTerm1); or an instance of a valid Keyword object.

Site

Required

Microsoft.SharePoint.PowerShell.SPSitePipeBind

Filters to return keywords with the specified results URL.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid URL, in the form http://server_name; or an instance of a valid SPSite object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Detailed Description

The Get-SPEnterpriseSearchQueryKeyword cmdlet reads a QueryKeyword object when the keyword rule is created, updated, or deleted.

If the Identity parameter is not specified, this cmdlet returns the query keyword collection from the specified search application.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
Get-SPEnterpriseSearchQueryKeyword -Identity Engineering -Site http://myserver/sites/engineering | Set-SPEnterpriseSearchQueryKeyword -StartDate "12/25/2009" -EndDate "12/24/2010" -Site http://myserver/sites/engineering

This example gets a reference to the keyword with the term Engineering from the site http://myserver/sites/engineering and sets the start dates and end dates for the keyword.

See Also

Reference

New-SPEnterpriseSearchQueryKeyword
Set-SPEnterpriseSearchQueryKeyword
Remove-SPEnterpriseSearchQueryKeyword


Get-SPEnterpriseSearchQueryScope
See Also Example
[image]

Published: May 12, 2010

Returns a query results scope.

Get-SPEnterpriseSearchQueryScope [[-Identity] <ScopePipeBind>] -SearchApplication <SearchServiceApplicationPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Url <Uri>]

Parameters

Parameter Required Type Description

Identity

Optional

Microsoft.Office.Server.Search.Cmdlet.ScopePipeBind

Specifies the results scope to get.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a scope (for example, Scope1); or an instance of a valid Scope object.

SearchApplication

Required

Microsoft.Office.Server.Search.Cmdlet.SearchServiceApplicationPipeBind

Specifies the search application that contains the query scope.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid search application name (for example, SearchApp1); or an instance of a valid SearchServiceApplication object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Url

Optional

System.Uri

Filters to return scopes for the specified results URL.

The type must be a valid URL, in the form http://server_name.

Detailed Description

The Get-SPEnterpriseSearchQueryScope cmdlet reads a QueryScope object when the shared scope is created or deleted, or when the definition of the shared scope is updated.

If the Identity parameter is not specified, this cmdlet returns the query scope collection from the specified search application.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
$ssa = Get-SPenterpriseSearchServiceApplication -Identity MySSA
Get-SPEnterpriseSearchQueryScope -Identity MustCrawl -SearchApplication $ssa | Set-SPEnterpriseSearchQueryScope -Description "Business critical sites to index" -CompilationType 1 -AlternateResultsPage http://altServer

This example obtains a reference to the scope named MustCrawl on the search application named MySSA, and changes the description, compilation type, and alternate access URL.

See Also

Reference

New-SPEnterpriseSearchQueryScope
Set-SPEnterpriseSearchQueryScope
Remove-SPEnterpriseSearchQueryScope
New-SPEnterpriseSearchQueryScopeRule


Get-SPEnterpriseSearchQueryScopeRule
See Also Example
[image]

Published: May 12, 2010

Returns a shared scope rule.

Get-SPEnterpriseSearchQueryScopeRule [[-Identity] <ScopeRulePipeBind>] -Scope <ScopePipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-SearchApplication <SearchServiceApplicationPipeBind>] [-Url <Uri>]

Parameters

Parameter Required Type Description

Identity

Optional

Microsoft.Office.Server.Search.Cmdlet.ScopeRulePipeBind

Specifies the scope rule to get.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a scope rule (for example, ScopeRule1); or an instance of a valid ScopeRule object.

Scope

Required

Microsoft.Office.Server.Search.Cmdlet.ScopePipeBind

Returns query scope rules for the specified scope.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a scope (for example, Scope1); or an instance of a valid Scope object.

Url

Required

System.Uri

The type must be a valid URL, in the form http://server_name.

Returns query scope rules for the specified results URL.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

SearchApplication

Optional

Microsoft.Office.Server.Search.Cmdlet.SearchServiceApplicationPipeBind

Specifies the search application that contains the query scope rule collection.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid search application name (for example, SearchApp1); or an instance of a valid SearchServiceApplication object.

Detailed Description

The Get-SPEnterpriseSearchQueryScopeRule cmdlet reads a QueryScopeRule object when the shared scope rule is created, updated, or deleted. SPEnterpriseSearchQueryScopeRule represents a query result scope rule that can be applied to a scope.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
$ssa = Get-SPEnterpriseSearchServiceApplication -Identity "MySSA"
$scope = Get-SPEnterpriseSearchQueryScope -Identity MustCrawl -SearchApplication $ssa
Get-SPEnterpriseSearchQueryScopeRule -Scope $scope -Url http://criticalSite | Set-SPEnterpriseSearchQueryScopeRule -Url http://criticalSite -UrlScopeRuleType Url

This example gets a reference to a scope rule for the URL http://criticalSite, and sets its rule type to URL.

See Also

Reference

New-SPEnterpriseSearchQueryScopeRule
Set-SPEnterpriseSearchQueryScopeRule
Remove-SPEnterpriseSearchQueryScopeRule


Get-SPEnterpriseSearchQuerySuggestionCandidates
Example
[image]

Published: May 12, 2010

Returns a list of queries.

Get-SPEnterpriseSearchQuerySuggestionCandidates -SearchApplication <SearchServiceApplicationPipeBind> [-AssignmentCollection <SPAssignmentCollection>]

Parameters

Parameter Required Type Description

SearchApplication

Required

Microsoft.Office.Server.Search.Cmdlet.SearchServiceApplicationPipeBind

Specifies the search application that contains the query topology.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid search application name (for example, SearchApp1); or an instance of a valid SearchServiceApplication object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Detailed Description

Use the Get-SPEnterpriseSearchQuerySuggestionCandidates cmdlet to return a list of popular queries that can be displayed in a related queries Web Part. The list gives the administrator a chance to review potential queries and add some of them to the related queries list.

Input Types

Return Types

Example

---------------------EXAMPLE------------------------

Copy Code
$searchapp = Get-SPEnterpriseSearchServiceApplication
Copy Code
Get-SPEnterpriseSearchQuerySuggestionCandidates -SearchApplication $searchapp

This example returns popular search queries by using the search application contained in the variable $searchapp.


Get-SPEnterpriseSearchQueryTopology
See Also Example
[image]

Published: May 12, 2010

Returns a query topology.

Get-SPEnterpriseSearchQueryTopology [[-Identity] <QueryTopologyPipeBind>] -SearchApplication <SearchServiceApplicationPipeBind> [-Active <SwitchParameter>] [-AssignmentCollection <SPAssignmentCollection>]

Parameters

Parameter Required Type Description

Identity

Optional

Microsoft.Office.Server.Search.Cmdlet.QueryTopologyPipeBind

Specifies the query topology to get.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh, or an instance of a valid QueryTopology object.

SearchApplication

Required

Microsoft.Office.Server.Search.Cmdlet.SearchServiceApplicationPipeBind

Specifies the search application that contains the query topology.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid search application name (for example, SearchApp1); or an instance of a valid SearchServiceApplication object.

Active

Optional

System.Management.Automation.SwitchParameter

Filters to return only active query topologies. An active query topology is currently serving queries for the search application.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Detailed Description

The Get-SPEnterpriseSearchQueryTopology cmdlet reads a QueryTopology object when the query topology is created, updated, or deleted.

If the Identity parameter is not specified, this cmdlet returns the query topology collection from a farm for the specified search application.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
$queryTopology$searchapp = Get-SPEnterpriseSearchServiceApplication -"SearchApp1"
$qtopo = Get-SPEnterpriseSearchQueryTopology -SearchApplication MySSA$searchapp -Active

This example retrieves the active query topology from a search application named SearchApp1.

See Also

Reference

New-SPEnterpriseSearchQueryTopology
Set-SPEnterpriseSearchQueryTopology
Remove-SPEnterpriseSearchQueryTopology


Get-SPEnterpriseSearchRankingModel
See Also Example
[image]

Published: May 12, 2010

Returns a ranking model.

Get-SPEnterpriseSearchRankingModel [[-Identity] <RankingModelPipeBind>] -SearchApplication <SearchServiceApplicationPipeBind> [-AssignmentCollection <SPAssignmentCollection>]

Parameters

Parameter Required Type Description

Identity

Optional

Microsoft.Office.Server.Search.Cmdlet.RankingModelPipeBind

Specifies the ranking model to get.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh, or an instance of a valid RankingModel object.

SearchApplication

Required

Microsoft.Office.Server.Search.Cmdlet.SearchServiceApplicationPipeBind

Specifies the search application that contains the ranking model.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid search application name (for example, SearchApp1); or an instance of a valid SearchServiceApplication object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Detailed Description

The Get-SPEnterpriseSearchRankingModel cmdlet reads the RankingModel object when a ranking model is created, removed, or updated.

If the Identity parameter is not specified or the identity does not match any of the ranking models in the collection, an exception is thrown and the default ranking model is used.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
$rankingModelList = Get-SPEnterpriseSearchServiceApplication -Identity "MySSA" | Get-SPEnterpriseSearchRankingModel

This example obtains a reference to the collection of ranking models for the search service application MySSA.

See Also

Reference

New-SPEnterpriseSearchRankingModel
Set-SPEnterpriseSearchRankingModel
Remove-SPEnterpriseSearchRankingModel


Get-SPEnterpriseSearchSecurityTrimmer
See Also Example
[image]

Published: May 12, 2010

Returns a custom security trimmer.

Get-SPEnterpriseSearchSecurityTrimmer [[-Identity] <SecurityTrimmerPipeBind>] -SearchApplication <SearchServiceApplicationPipeBind> [-AssignmentCollection <SPAssignmentCollection>]

Parameters

Parameter Required Type Description

Identity

Optional

Microsoft.Office.Server.Search.Cmdlet.SecurityTrimmerPipeBind

Specifies the pluggable security trimmer used for the specified search application.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh, or an instance of a valid SecurityTrimmer object.

SearchApplication

Required

Microsoft.Office.Server.Search.Cmdlet.SearchServiceApplicationPipeBind

Specifies the search application that contains the security trimmer.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid search application name (for example, SearchApp1); or an instance of a valid SearchServiceApplication object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Detailed Description

The Get-SPEnterpriseSearchSecurityTrimmer cmdlet returns the PluggableSecurityTrimmer object when a customized security trimmer is created, updated, or deleted for the query results of the specified search application. A custom security trimmer trims search results before the results are returned to the user.

If the Identity parameter is not specified, this cmdlet returns the security trimmer collection for the specified search application.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
Get-SPEnterpriseSearchServiceApplication -Identity MySSA | Get-SPEnterpriseSearchSecurityTrimmer

This example obtains the pluggable security trimmers registered in the search service application MySSA.

See Also

Reference

New-SPEnterpriseSearchSecurityTrimmer
Remove-SPEnterpriseSearchSecurityTrimmer


New-SPEnterpriseSearchQueryAuthority
See Also Example
[image]

Published: May 12, 2010

Adds an authoritative page to a shared search application.

New-SPEnterpriseSearchQueryAuthority [-Url] <String> -Level <Single> -SearchApplication <SearchServiceApplicationPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Url

Required

System.String

Specifies the query authority page to create.

The type must be a valid URL, in the form http://server_name.

Level

Required

System.Single

Specifies the level of the new authoritative page. Authoritative pagesare expert pages that link to the most relevant information. A search service application can have multiple authoritative pages. The Level property is used to specify the relative relevance adjustment of the authoritative pages. This parameter may receive a floating point value of 0.0 - 2.0, where 0.0 has the most positive impact on relevance.

SearchApplication

Required

Microsoft.Office.Server.Search.Cmdlet.SearchServiceApplicationPipeBind

Specifies the search application that contains the authority page collection.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid search application name (for example, SearchApp1); or an instance of a valid SearchServiceApplication object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The New-SPEnterpriseSearchQueryAuthority cmdlet adds an authoritative page to adjust query rank. SPEnterpriseSearchQueryAuthority represents authoritative sites that rank higher in relevance than demoted sites, which are de-emphasized in relevance.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
$ssa = Get-SPEnterpriseSearchServiceApplication
New-SPEnterpriseSearchQueryAuthority -SearchApplication $ssa -Url http://contoso.com -Level 1.5

This example designates the URL http://contoso.com as an authoritative page with a relative importance of 1.5.

See Also

Reference

Get-SPEnterpriseSearchQueryAuthority
Set-SPEnterpriseSearchQueryAuthority
Remove-SPEnterpriseSearchQueryAuthority


New-SPEnterpriseSearchQueryComponent
See Also Example
[image]

Published: May 12, 2010

Adds a query component to a query topology.

New-SPEnterpriseSearchQueryComponent -IndexPartition <IndexPartitionPipeBind> -QueryTopology <QueryTopologyPipeBind> -SearchServiceInstance <SearchServiceInstancePipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-FailoverOnly <SwitchParameter>] [-IndexLocation <String>] [-SearchApplication <SearchServiceApplicationPipeBind>] [-ShareName <String>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

IndexPartition

Required

Microsoft.Office.Server.Search.Cmdlet.IndexPartitionPipeBind

Specifies the index partition to use for the query component.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh, or an instance of a valid IndexPartition object.

QueryTopology

Required

Microsoft.Office.Server.Search.Cmdlet.QueryTopologyPipeBind

Specifies the query topology that contains the query component collection.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh, or an instance of a valid QueryTopology object.

SearchServiceInstance

Required

Microsoft.Office.Server.Search.Cmdlet.SearchServiceInstancePipeBind

Specifies the search service instance to host the new query component.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a query server, in the form MyQueryServer; or an instance of a valid SearchServiceInstance object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

FailoverOnly

Optional

System.Management.Automation.SwitchParameter

Specifies whether the query component is used for failover.

IndexLocation

Optional

System.String

Specifies the path to the index directory where the full-text index files are created.

The type must be a valid path in either of the following forms:

- C:\ folder_name

- \\server_name\folder_name

SearchApplication

Optional

Microsoft.Office.Server.Search.Cmdlet.SearchServiceApplicationPipeBind

Specifies the search application that contains the query topology.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid search application name (for example, SearchApp1); or an instance of a valid SearchServiceApplication object.

ShareName

Optional

System.String

Specifies the name for the file share at the path specified in IndexLocation. The string must contain only characters valid in a UNC path.

The type must be a valid name of a file share; for example, FileShare1.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The New-SPEnterpriseSearchQueryComponent cmdlet is used when the search functionality is initially configured and a new query component is added to a shared search application. A query topology has one or more index partitions and one or more query components. Query components perform user query-generated full-text term search in index partitions.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
$ssa = GetSPEnterpriseSearchServiceApplication
$qtOld = $ssa | Get-SPEnterpriseSearchQueryTopology -Active
$ssInstance = Get-SPEnterpriseSearchServiceInstance -Local
$qtNew = $ssa | New-SPEnterpriseSearchQueryTopology -Partitions 1
$idxPartition = (Get-SPEnterpriseSearchIndexPartition -QueryTopology $qtOld)
$queryComponent = New-SPEnterpriseSearchQuerycomponent -QueryTopology $qtNew -IndexPartition $idxPartition -SearchServiceInstance $ssInstance
$qtNew | Set-SPEnterpriseSearchQueryTopology -Active
$qtOld | Remove-SPEnterpriseSearchQueryTopology

This example creates a query topology with a single partition and creates a query component for that topology. It then sets the newly-created query topology as the active query topology of a search application named MySSA, and deletes the old topology.

See Also

Reference

Get-SPEnterpriseSearchQueryComponent
Remove-SPEnterpriseSearchQueryComponent


New-SPEnterpriseSearchQueryDemoted
See Also Example
[image]

Published: May 12, 2010

Adds a demoted site rule to a shared search application.

New-SPEnterpriseSearchQueryDemoted [-Url] <String> -SearchApplication <SearchServiceApplicationPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Url

Required

System.String

Specifies the identity of the new demoted site rule.

The type must be a valid URL, in the form http://server_name.

SearchApplication

Required

Microsoft.Office.Server.Search.Cmdlet.SearchServiceApplicationPipeBind

Specifies the search application that contains the demoted site rule collection.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid search application name (for example, SearchApp1); or an instance of a valid SearchServiceApplication object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The New-SPEnterpriseSearchQueryDemoted cmdlet adjusts query rank by adding a demoted site rule to the shared search application. Query demoted sites are de-emphasized in relevance.

Input Types

Return Types

Example

------------------EXAMPLE-----------------

Copy Code
Get-SPEnterpriseSearchServiceApplication -Identity MySSA | New-SPEnterpriseSearchQueryDemoted -Url http://examplesite

This example adds a demoted site rule for the URL http://examplesite.com to a search service application.

See Also

Reference

Get-SPEnterpriseSearchQueryDemoted
Remove-SPEnterpriseSearchQueryDemoted


New-SPEnterpriseSearchQueryKeyword
See Also Example
[image]

Published: May 12, 2010

Adds a keyword term to a shared search application.

New-SPEnterpriseSearchQueryKeyword [-Term] <String> -Site <SPSitePipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-Contact <String>] [-Definition <String>] [-EndDate <Nullable>] [-ReviewDate <Nullable>] [-StartDate <Nullable>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Term

Required

System.String

Specifies the keyword term to create.

The type must be a valid string that contains a keyword term (for example, KeywordTerm1).

Site

Required

Microsoft.SharePoint.PowerShell.SPSitePipeBind

Associates the new keyword term to the specified results URL.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid URL, in the form http://server_name; or an instance of a valid SPSite object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

Contact

Optional

System.String

Specifies the user name associated with the new keyword.

The type must be a valid user name; for example, KeywordUser1.

Definition

Optional

System.String

Specifies the definition of the new keyword term.

The type must be a valid string; for example, a keyword term definition.

EndDate

Optional

System.Nullable

Specifies the expiration date of the keyword term. The default value is MaxDate.

The type must be a valid DateTime type, in the form 2010,12,05.

ReviewDate

Optional

System.Nullable

Specifies the review date of the keyword term. The default value is MaxDate.

The type must be a valid date, in the form 2010,12,05.

StartDate

Optional

System.Nullable

Specifies the activation date for the keyword term. The default value is the current date.

The type must be a valid date, in the form 2010,12,05.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The New-SPEnterpriseSearchQueryKeyword cmdlet changes query results by creating a new keyword. A query keyword is a query component of a query topology. SPEnterpriseSearchQueryKeyword represents relevance setting through keywords.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
New-SPEnterpriseSearchQueryKeyword -Term Tangible -Site http://myserver/sites/team

This example creates a new query keyword for the site http://myserver/sites/team with the term Tangible.

See Also

Reference

Get-SPEnterpriseSearchQueryKeyword
Set-SPEnterpriseSearchQueryKeyword
Remove-SPEnterpriseSearchQueryKeyword


New-SPEnterpriseSearchQueryScope
See Also Example
[image]

Published: May 12, 2010

Adds a query results scope to a shared search application.

New-SPEnterpriseSearchQueryScope [-Name] <String> -Description <String> -DisplayInAdminUI <Nullable> -SearchApplication <SearchServiceApplicationPipeBind> [-AlternateResultsPage <String>] [-AssignmentCollection <SPAssignmentCollection>] [-CompilationType <Nullable>] [-Confirm [<SwitchParameter>]] [-ExtendedSearchFilter <String>] [-OwningSiteUrl <Uri>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Name

Required

System.String

Specifies the identity of the scope to create.

The type must be a valid name of a scope (for example, Scope1).

Description

Required

System.String

Adds a description of the new query scope.

The type must be a valid string; for example, a description of a query scope.

DisplayInAdminUI

Required

System.Nullable

Specifies that the new scope is displayed in the administration application user interface (UI). The default setting is to hide the new scope in the administration application UI.

SearchApplication

Required

Microsoft.Office.Server.Search.Cmdlet.SearchServiceApplicationPipeBind

Specifies the search application that contains the query scope collection.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid search application name (for example, SearchApp1); or an instance of a valid SearchServiceApplication object.

AlternateResultsPage

Required

System.String

Specifies the location to display results for the new query scope.

The type must be a valid URL, in the form http://server_name.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

CompilationType

Optional

System.Nullable

Specifies the compilation type of the new scope. The value 0 specifies the conditionally compiled scope type, and the value 1 specifies the always compiled scope type.

The type must be either of the following: 0 or 1.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

OwningSiteUrl

Optional

System.Uri

Specifies the SharePoint site that is associated with the new scope.

The type must be a valid SharePoint site URL, in the form http://server_name.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

Use the New-SPEnterpriseSearchQueryScope cmdlet to create a new shared scope. SPEnterpriseSearchQueryScope represents a query results scope used by all shared search applications on the farm.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
$ssa = Get-SPEnterpriseSearchServiceApplication -Identity MySSA
$ssa | New-SPEnterpriseSearchQueryScope -Name MustCrawl -Description "Sites we must crawl" -DisplayInAdminUI $true

This example adds a scope named MustCrawl that will be displayed in the administration UI to the search service application named MySSA.

See Also

Reference

Get-SPEnterpriseSearchQueryScope
Set-SPEnterpriseSearchQueryScope
Remove-SPEnterpriseSearchQueryScope
New-SPEnterpriseSearchQueryScopeRule


New-SPEnterpriseSearchQueryScopeRule
See Also Example
[image]

Published: May 12, 2010

Adds a shared scope rule to a query scope.

New-SPEnterpriseSearchQueryScopeRule -RuleType <String> -Scope <ScopePipeBind> -Url <Uri> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-FilterBehavior <String>] [-ManagedProperty <ManagedPropertyPipeBind>] [-MatchingString <String>] [-PropertyValue <String>] [-SearchApplication <SearchServiceApplicationPipeBind>] [-UrlScopeRuleType <String>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

RuleType

Required

System.String

Specifies the type of scope rule to create.

The type must be one of the following values: AllContent, Url, or PropertyQuery.

Scope

Required

Microsoft.Office.Server.Search.Cmdlet.ScopePipeBind

Applies the query scope rule to the specified scope.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a scope (for example, Scope1); or an instance of a valid Scope object.

Url

Required

System.Uri

Specifies the results URL that is associated with the query scope rule.

The type must be a valid URL, in the form http://server_name.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

FilterBehavior

Optional

System.String

Specifies the type of scope rule to create for the query scope. The default value is Include.

The type must be one of the following values: Exclude, Include, or Require.

ManagedProperty

Optional

Microsoft.Office.Server.Search.Cmdlet.ManagedPropertyPipeBind

Specifies the managed property to use for the PropertyQuery scope rule.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a managed property (for example, ManagedProperty1); or an instance of a valid ManagedProperty object.

MatchingString

Optional

System.String

Specifies the string to use when matching the URL rule type.

PropertyValue

Optional

System.String

Specifies the property value to use when matching the PropertyQuery rule type.

SearchApplication

Required

Microsoft.Office.Server.Search.Cmdlet.SearchServiceApplicationPipeBind

Specifies the search application that contains the query scope rule collection.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid search application name (for example, SearchApp1); or an instance of a valid SearchServiceApplication object.

UrlScopeRuleType

Optional

System.String

Specifies the value to use when matching the URL rule type.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The New-SPEnterpriseSearchQueryScopeRule cmdlet creates a new shared scope rule. SPEnterpriseSearchQueryScopeRule represents a query results scope rule that can be applied to a scope.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
$ssa = Get-SPEnterpriseSearchServiceApplication -Identity
Copy Code
$scope = Get-SPEnterpriseSearchQueryScope -Identity MustCrawl -SearchApplication $ssa
Copy Code
$sr = New-SPEnterpriseSearchQueryScopeRule -Scope $scope -RuleType AllContent -Url http://criticalSite
Copy Code
Get-SPEnterpriseSearchQueryScopeRule -Scope $scope -Url http://criticalSite

This example creates a new scope rule of type AllContent for the URL http://criticalSite.

See Also

Reference

Remove-SPEnterpriseSearchQueryScopeRule
Get-SPEnterpriseSearchQueryScopeRule
Set-SPEnterpriseSearchQueryScopeRule
Get-SPEnterpriseSearchQueryScope


New-SPEnterpriseSearchQueryTopology
See Also Example
[image]

Published: May 12, 2010

Adds a query topology to a shared search application.

New-SPEnterpriseSearchQueryTopology -SearchApplication <SearchServiceApplicationPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Clone <SwitchParameter>] [-Clone <SwitchParameter>] [-Confirm [<SwitchParameter>]] [-QueryTopology <QueryTopologyPipeBind>] [-WhatIf [<SwitchParameter>]]
New-SPEnterpriseSearchQueryTopology -SearchApplication <SearchServiceApplicationPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Clone <SwitchParameter>] [-Confirm [<SwitchParameter>]] [-Partitions <String>] [-WhatIf [<SwitchParameter>]]

Parameters

1

Parameter

Required

Type

Description

SearchApplication

Required

Microsoft.Office.Server.Search.Cmdlet.SearchServiceApplicationPipeBind

Specifies the search application that contains the query topology.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid search application name (for example, SearchApp1); or an instance of a valid SearchServiceApplication object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Clone

Optional

System.Management.Automation.SwitchParameter

Specifies that the new query topology is created by cloning an existing query topology.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

QueryTopology

Optional

Microsoft.Office.Server.Search.Cmdlet.QueryTopologyPipeBind

Specifies the query topology to clone for the new query topology.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh, or an instance of a valid QueryTopology object.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

2

Parameter

Required

Type

Description

SearchApplication

Required

Microsoft.Office.Server.Search.Cmdlet.SearchServiceApplicationPipeBind

Specifies the search application that contains the query topology.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid search application name (for example, SearchApp1); or an instance of a valid SearchServiceApplication object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Clone

Optional

System.Management.Automation.SwitchParameter

Specifies that the new query topology is created by cloning an existing query topology.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

Partitions

Optional

System.String

Specifies the number of query partitions to use for the new query topology.

The type must be a valid string that indicates a number less than or equal to 256.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

This cmdlet contains more than one parameter set. You may only use parameters from one parameter set, and you may not combine parameters from different parameter sets. For more information about how to use parameter sets, see Cmdlet Parameter Sets.

The New-SPEnterpriseSearchQueryTopology cmdlet is used when the search functionality is initially configured or when a new query topology is created. A search service application can contain multiple query topologies when a query component or index partition is added to or deleted from a topology.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
$ssa = GetSPEnterpriseSearchServiceApplication
$qtOld = $ssa | Get-SPEnterpriseSearchQueryTopology -Active
$ssInstance = Get-SPEnterpriseSearchServiceInstance -Local
$qtNew = $ssa | New-SPEnterpriseSearchQueryTopology -Partitions 1
$idxPartition = (Get-SPEnterpriseSearchIndexPartition -QueryTopology $qtOld)
$queryComponent = New-SPEnterpriseSearchQuerycomponent -QueryTopology $qtNew -IndexPartition $idxPartition -SearchServiceInstance $ssInstance
$qtNew | Set-SPEnterpriseSearchQueryTopology -Active
$qtOld | Remove-SPEnterpriseSearchQueryTopology

This example creates a query topology with a single partition and creates a query component for that topology. It sets the new query topology as the active query topology of a search service application named MySSA, and deletes the old topology.

See Also

Reference

Get-SPEnterpriseSearchQueryTopology
Set-SPEnterpriseSearchQueryTopology
Remove-SPEnterpriseSearchQueryTopology


New-SPEnterpriseSearchRankingModel
See Also Example
[image]

Published: May 12, 2010

Adds a ranking model to a shared search application.

New-SPEnterpriseSearchRankingModel -RankingModelXML <String> -SearchApplication <SearchServiceApplicationPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

RankingModelXML

Required

System.String

Specifies the name of the XML representation of the new ranking model.

The type must be a valid name of an .xml file; for example, XMLfilename1.

SearchApplication

Required

Microsoft.Office.Server.Search.Cmdlet.SearchServiceApplicationPipeBind

Specifies the search application that contains the ranking model.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid search application name (for example, SearchApp1); or an instance of a valid SearchServiceApplication object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The New-SPEnterpriseSearchRankingModel cmdlet adds a new ranking model to the collection. The name, description, and identifier (ID) for the new ranking model are contained in the .xml file specified in RankingModelXML.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
Get-SPEnterpriseSearchServiceApplication -Identity "NewSSA" | New-SPEnterpriseSearchRankingModel -RankingModelXML rankModel.xml

This example creates a ranking model for the search service application MySSA from the file rankModel.xml.

See Also

Reference

Get-SPEnterpriseSearchRankingModel
Set-SPEnterpriseSearchRankingModel
Remove-SPEnterpriseSearchRankingModel


New-SPEnterpriseSearchSecurityTrimmer
See Also Example
[image]

Published: May 12, 2010

Adds a custom security trimmer to a shared search application.

New-SPEnterpriseSearchSecurityTrimmer [-Id] <Int32> -RulePath <String> -SearchApplication <SearchServiceApplicationPipeBind> -TypeName <String> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-Properties <String>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Id

Required

System.Int32

Specifies the identity of the pluggable security trimmer to use for the specified search application. If this parameter specifies an existing custom security trimmer, the trimmer will be removed and replaced with the custom trimmer.

RulePath

Required

System.String

Specifies the content path to which the security trimmer will be applied.

The string must be a valid URI, in the form file:\\server_name\content, and it must correspond to an existing crawl rule.

SearchApplication

Required

Microsoft.Office.Server.Search.Cmdlet.SearchServiceApplicationPipeBind

Adds the security trimmer to the specified search application.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid search application name (for example, SearchApp1); or an instance of a valid SearchServiceApplication object.

TypeName

Required

System.String

Specifies the fully-qualified type name of a security trimmer type. The name must refer to a type whose assembly is deployed to the global assembly cache on a query server, and that type must implement the ISecurityTrimmer interface (Microsoft.Office.Server.Search.Query.ISecurityTrimmer).

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

Properties

Optional

System.String

Specifies the name-value pairs that specify the configuration properties.

The type must be in the following name/value pair format: Name1~Value1~Name2~Value2~

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The New-SPEnterpriseSearchSecurityTrimmer cmdlet creates a new object to configure the pluggable security trimmer. SPEnterpriseSearchSecurityTrimmer represents a pluggable security trimmer that performs customized security trimming of search results at query time, when the results are returned to the user.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
$ssa = Get-SPEnterpriseSearchServiceApplication -Identity "MySSA"
New-SPEnterpriseSearchSecurityTrimmer -Id 1234 -SearchApplication $ssa -TypeName Contoso.Security.QueryTrimmer -RulePath http://myServer

This example adds a new custom security trimmer of type Contoso.Security.QueryTrimmer to the path http://myServer.

See Also

Reference

Get-SPEnterpriseSearchSecurityTrimmer
Remove-SPEnterpriseSearchSecurityTrimmer


Remove-SPEnterpriseSearchQueryAuthority
See Also Example
[image]

Published: May 12, 2010

Deletes an authoritative page.

Remove-SPEnterpriseSearchQueryAuthority [-Identity] <AuthorityPagePipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-SearchApplication <SearchServiceApplicationPipeBind>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.Office.Server.Search.Cmdlet.AuthorityPagePipeBind

Specifies the query authority page to delete.

The type must be a valid URL, in the form http://server_name; or an instance a valid AuthorityPage object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

SearchApplication

Optional

Microsoft.Office.Server.Search.Cmdlet.SearchServiceApplicationPipeBind

Specifies the search application that contains the authoritative page collection to delete.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid Search application name (for example, SearchApp1); or an instance of a valid SearchServiceApplication object.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Remove-SPEnterpriseSearchQueryAuthority cmdlet adjusts query rank by deleting an authoritative page. SPEnterpriseSearchQueryAuthority represents authoritative sites that rank higher in relevance than demoted sites, which are de-emphasized in relevance.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
Remove-SPEnterpriseSearchQueryAuthority -Identity http://contoso.com -SearchApplication MySSA

This example removes the query authority URL http://contoso.com from the search service application named MySSA.

See Also

Reference

Get-SPEnterpriseSearchQueryAuthority
New-SPEnterpriseSearchQueryAuthority
Set-SPEnterpriseSearchQueryAuthority


Remove-SPEnterpriseSearchQueryComponent
See Also Example
[image]

Published: May 12, 2010

Deletes a query component.

Remove-SPEnterpriseSearchQueryComponent [-Identity] <QueryComponentPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-QueryTopology <QueryTopologyPipeBind>] [-SearchApplication <SearchServiceApplicationPipeBind>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.Office.Server.Search.Cmdlet.QueryComponentPipeBind

Specifies the query component to delete.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh, or an instance of a valid QueryComponent object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

QueryTopology

Optional

Microsoft.Office.Server.Search.Cmdlet.QueryTopologyPipeBind

Specifies the query topology that contains the query component collection.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh, or an instance of a valid QueryTopology object.

SearchApplication

Optional

Microsoft.Office.Server.Search.Cmdlet.SearchServiceApplicationPipeBind

Specifies the search application that contains the query topology.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid search application name (for example, SearchApp1); or an instance of a valid SearchServiceApplication object.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Remove-SPEnterpriseSearchQueryComponent cmdlet deletes a query component from the query component collection.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
$ssa = Get-SPEnterproseSearchServiceApplication -Identity MySSA
Remove-SPEnterpriseSearchQueryComponent -Identity ($ssa | Get-SPEnterpriseSearchQueryTopology -Active | Get-SPEnterpriseSearchQueryComponent)

This example removes the query component from the active query topology of a search service application named MySSA.

See Also

Reference

Get-SPEnterpriseSearchQueryComponent
New-SPEnterpriseSearchQueryComponent
Get-SPEnterpriseSearchQueryTopology


Remove-SPEnterpriseSearchQueryDemoted
See Also Example
[image]

Published: May 12, 2010

Deletes a demoted site rule.

Remove-SPEnterpriseSearchQueryDemoted [-Identity] <DemotedPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-SearchApplication <SearchServiceApplicationPipeBind>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.Office.Server.Search.Cmdlet.DemotedPipeBind

Specifies the demoted site rule to delete.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid URL, in the form http://server_name; or an instance of a valid Demoted object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

SearchApplication

Optional

Microsoft.Office.Server.Search.Cmdlet.SearchServiceApplicationPipeBind

Specifies the search application that contains the demoted site collection.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid search application name (for example, SearchApp1); or an instance of a valid SearchServiceApplication object.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Remove-SPEnterpriseSearchQueryDemoted cmdlet adjusts query rank by deleting a demoted site rule from the demoted site collection. Query demoted sites are de-emphasized in relevance.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
$demotedRule = Get-SPEnterpriseSearchQueryDemoted -Identity http://somesite.com -SearchApplication MySSA
$demotedRule | Remove-SPEnterpriseSearchQueryDemoted

This example obtains a reference to a site demotion rule for the URL http://somesite.com, and removes it.

See Also

Reference

Get-SPEnterpriseSearchQueryDemoted
New-SPEnterpriseSearchQueryDemoted


Remove-SPEnterpriseSearchQueryKeyword
See Also Example
[image]

Published: May 12, 2010

Deletes a query keyword.

Remove-SPEnterpriseSearchQueryKeyword [-Identity] <KeywordPipeBind> -Site <SPSitePipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.Office.Server.Search.Cmdlet.KeywordPipeBind

Specifies the keyword term to delete.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid string that contains a keyword term (for example, KeywordTerm1); or an instance of a valid Keyword object.

Site

Required

Microsoft.SharePoint.PowerShell.SPSitePipeBind

Filters to delete keywords from the specified site collection of results.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid URL, in the form http://server_name; or an instance of a valid SPSite object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Remove-SPEnterpriseSearchQueryKeyword cmdlet deletes unused or unwanted keywords from the query keyword collection.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
Get-SPEnterpriseSearchQueryKeyword -Identity Engineering -Site http://myserver/sites/engineering | Remove-SPEnterpriseSearchQueryKeyword -Site http://myserver/sites/engineering

This example removes the Engineering keyword from the site collection at http://myserver/sites/engineering.

See Also

Reference

Get-SPEnterpriseSearchQueryKeyword
New-SPEnterpriseSearchQueryKeyword
Set-SPEnterpriseSearchQueryKeyword


Remove-SPEnterpriseSearchQueryScope
See Also Example
[image]

Published: May 12, 2010

Deletes a query scope.

Remove-SPEnterpriseSearchQueryScope [-Identity] <ScopePipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-SearchApplication <SearchServiceApplicationPipeBind>] [-Url <Uri>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.Office.Server.Search.Cmdlet.ScopePipeBind

Specifies the query scope to delete.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a scope (for example, Scope1); or an instance of a valid Scope object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

SearchApplication

Optional

Microsoft.Office.Server.Search.Cmdlet.SearchServiceApplicationPipeBind

Specifies the search application that contains the query scope collection.

The type must be a valid GUID, of the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid search application name (for example, SearchApp1); or an instance of a valid SearchServiceApplication object.

Url

Optional

System.Uri

Filters to delete scopes of the specified results URL.

The type must be a valid URL, in the form http://server_name.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Remove-SPEnterpriseSearchQueryScope cmdlet deletes one or more specified shared scopes from the query scope collection. A query scope represents a query results scope used by all shared search applications on the farm.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
$ssa = Get-SPenterpriseSearchServiceApplication -Identity MySSA
Get-SPEnterpriseSearchQueryScope -Identity MustCrawl -SearchApplication $ssa | Remove-SPEnterpriseSearchQueryScope

This example removes a scope named MustCrawl from a search service application named MySSA.

See Also

Reference

Get-SPEnterpriseSearchQueryScope
New-SPEnterpriseSearchQueryScope
Set-SPEnterpriseSearchQueryScope
Get-SPEnterpriseSearchQueryScopeRule


Remove-SPEnterpriseSearchQueryScopeRule
See Also Example
[image]

Published: May 12, 2010

Deletes query results scope rules.

Remove-SPEnterpriseSearchQueryScopeRule [-Identity] <ScopeRulePipeBind> -Url <Uri> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-Scope <ScopePipeBind>] [-SearchApplication <SearchServiceApplicationPipeBind>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.Office.Server.Search.Cmdlet.ScopeRulePipeBind

Specifies the scope rule to delete.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a scope rule (for example, ScopeRule1); or an instance of a valid ScopeRule object.

Url

Required

System.Uri

Filters to delete query scope rules for the specified results URL.

The type must be a valid URL, in the form http://server_name.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

Scope

Optional

Microsoft.Office.Server.Search.Cmdlet.ScopePipeBind

Filters to delete multiple rules for a specified scope.

The type must be a valid string that identifies the scope; for example, Scope1.

SearchApplication

Optional

Microsoft.Office.Server.Search.Cmdlet.SearchServiceApplicationPipeBind

Specifies the search application that contains the query scope rule collection.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid search application name (for example, SearchApp1); or an instance of a valid SearchServiceApplication object.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Remove-SPEnterpriseSearchQueryScopeRule cmdlet deletes one or more shared scope rules from the scope rule collection.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
$ssa = Get-SPEnterpriseSearchServiceApplication -Identity "MySSA"
$scope = Get-SPEnterpriseSearchQueryScope -Identity MustCrawl -SearchApplication $ssa
Get-SPEnterpriseSearchQueryScopeRule -Scope $scope -Url http://criticalSite | Remove-SPEnterpriseSearchQueryScopeRule -Url http://criticalSite

This example removes a scope rule for the URL http://criticalSite from a search service application named MySSA.

See Also

Reference

Get-SPEnterpriseSearchQueryScopeRule
New-SPEnterpriseSearchQueryScopeRule
Set-SPEnterpriseSearchQueryScopeRule
Get-SPEnterpriseSearchQueryScope


Remove-SPEnterpriseSearchQueryTopology
See Also Example
[image]

Published: May 12, 2010

Deletes a query topology.

Remove-SPEnterpriseSearchQueryTopology [-Identity] <QueryTopologyPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-SearchApplication <SearchServiceApplicationPipeBind>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.Office.Server.Search.Cmdlet.QueryTopologyPipeBind

Specifies the query topology to delete.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh, or an instance of a valid QueryTopology object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

SearchApplication

Optional

Microsoft.Office.Server.Search.Cmdlet.SearchServiceApplicationPipeBind

Specifies the search application that contains the query topology collection.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid search application name (for example, SearchApp1); or an instance of a valid SearchServiceApplication object.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Remove-SPEnterpriseSearchQueryTopology cmdlet deletes a specified query topology from the query topology collection.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
$ssa = Get-SPEnterpriseSearchServiceApplication -Identity MySSA
$qtList = $ssa | Get-SPEnterpriseSearchQueryTopology
$qtList
Id              : 668b6492-c8b5-4272-82e5-34c6eeddd215
IndexPartitions : {2785d65d-4e2d-4d8d-b374-fb6fcca08c4d}
QueryComponents : {b189cb8c-fe61-4984-8378-0449b5e4c2ba-query-0}
State           : Active
ActivationError :

Id              : 3884c529-5ef2-4182-81cb-5a28e70312b5
IndexPartitions : {20620966-0a3b-4348-abca-a762d0b9876c}
QueryComponents : {b189cb8c-fe61-4984-8378-0449b5e4c2ba-query-0}
State           : Inactive
ActivationError :

$qtList[1] | Remove-SPEnterpriseSearchQueryTopology

This example obtains the collection of query topologies of a search service application named MySSA, and removes the inactive topology.

See Also

Reference

Get-SPEnterpriseSearchQueryTopology
New-SPEnterpriseSearchQueryTopology
Set-SPEnterpriseSearchQueryTopology


Remove-SPEnterpriseSearchRankingModel
See Also Example
[image]

Published: May 12, 2010

Deletes a ranking model.

Remove-SPEnterpriseSearchRankingModel [-Identity] <RankingModelPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-SearchApplication <SearchServiceApplicationPipeBind>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.Office.Server.Search.Cmdlet.RankingModelPipeBind

Specifies the ranking model to delete.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh, or an instance of a valid RankingModel object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

SearchApplication

Optional

Microsoft.Office.Server.Search.Cmdlet.SearchServiceApplicationPipeBind

Specifies the search application that contains the ranking model.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid search application name (for example, SearchApp1); or an instance of a valid SearchServiceApplication object.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Remove-SPEnterpriseSearchRankingModel cmdlet deletes a specified ranking model.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
$rankingModel = Get-SPEnterpriseSearchServiceApplication -Identity "MySSA" | Get-SPEnterpriseSearchRankingModel
$rankingModel[0] |  Remove-SPEnterpriseSearchRankingModel

This example removes the first ranking model of the collection of ranking models for the search service application named MySSA.

See Also

Reference

Get-SPEnterpriseSearchRankingModel
New-SPEnterpriseSearchRankingModel
Set-SPEnterpriseSearchRankingModel


Remove-SPEnterpriseSearchSecurityTrimmer
See Also Example
[image]

Published: May 12, 2010

Deletes a custom security trimmer.

Remove-SPEnterpriseSearchSecurityTrimmer [-Identity] <SecurityTrimmerPipeBind> -SearchApplication <SearchServiceApplicationPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.Office.Server.Search.Cmdlet.SecurityTrimmerPipeBind

Specifies the pluggable security trimmer to delete.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh, or an instance of a valid SecurityTrimmer object.

SearchApplication

Required

Microsoft.Office.Server.Search.Cmdlet.SearchServiceApplicationPipeBind

Specifies the search application that contains the security trimmer.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid search application name (for example, SearchApp1); or an instance of a valid SearchServiceApplication object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Remove-SPEnterpriseSearchSecurityTrimmer cmdlet deletes the customized security trimmer that is used for a search application's query results. A custom security trimmer trims search results before the results are returned to the user.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
Get-SPEnterpriseSearchSecurityTrimmer -SearchApplication MySSA |  Remove-SPEnterpriseSearchSecurityTrimmer

This example removes the pluggable security trimmer registered in the search service application named MySSA.

See Also

Reference

Get-SPEnterpriseSearchSecurityTrimmer
New-SPEnterpriseSearchSecurityTrimmer


Restart-SPEnterpriseSearchQueryComponent
Example
[image]

Published: May 12, 2010

Restarts a failed query component.

Restart-SPEnterpriseSearchQueryComponent [-Identity] <QueryComponentPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-QueryTopology <QueryTopologyPipeBind>] [-SearchApplication <SearchServiceApplicationPipeBind>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.Office.Server.Search.Cmdlet.QueryComponentPipeBind

Specifies the query component to restart.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh, or an instance of a valid QueryComponent object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

QueryTopology

Optional

Microsoft.Office.Server.Search.Cmdlet.QueryTopologyPipeBind

Specifies the query topology that contains the query component collection.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh, or an instance of a valid QueryTopology object.

SearchApplication

Optional

Microsoft.Office.Server.Search.Cmdlet.SearchServiceApplicationPipeBind

Specifies the search application that contains the query topology.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid search application name (for example, SearchApp1); or an instance of a valid SearchServiceApplication object.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Restart-SPEnterpriseSearchQueryComponent cmdlet recovers a failed query component from its redundant component under the same index partition. There must be redundant query components (at least two) serving one index partition, one of which being in Ready state.

If this query component is offline because of some failures —for example, index corruption, low disk, or out-of- sync — a user can recover this component by running this cmdlet.

Note:

Although the Restart-SPEnterpriseSearchQueryComponent cmdlet is designed to recover a failed (offline) query component, it can also be called on a Ready component to clone one that has the same index files as its source component.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
$ssa = GetSPEnterpriseSearchServiceApplication -Identity MySSA
$qt = $ssa.QueryTopologies
$qc = Get-SPEnterpriseSearchQueryComponent -QueryTopology $qt.ActiveTopology
$qc | fl Name,State

Name  : 06f80fa2-c043-41cf-9b73-1c86037be74e-query-1
State : Ready

Name  : 06f80fa2-c043-41cf-9b73-1c86037be74e-query-0
State : Offline

$qc[0] |  Restart-SPEnterpriseSearchQueryComponent

This example restarts a query component in the active query topology of a search service application named MySSA.


Set-SPEnterpriseSearchQueryAuthority
See Also Example
[image]

Published: May 12, 2010

Sets the properties of an authoritative page for a shared search application.

Set-SPEnterpriseSearchQueryAuthority [-Identity] <AuthorityPagePipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-Level <Nullable>] [-SearchApplication <SearchServiceApplicationPipeBind>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.Office.Server.Search.Cmdlet.AuthorityPagePipeBind

Specifies the query authority page to update.

The type must be a valid URL, in the form http://server_name; or an instance of a valid AuthorityPage object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

Level

Required

System.Single

Specifies the level of the new authoritative page. Authoritative pages, designated by the service application administrator, are expert pages that link to the most relevant information. Because a search service application can have several designated authoritative pages, you use the Level property to specify the value of a specific page. This parameter sets the level for the most valuable authoritative pages to 0.

The type must be one of the following floating-point numbers: 0, 1, or 2.

SearchApplication

Required

Microsoft.Office.Server.Search.Cmdlet.SearchServiceApplicationPipeBind

Specifies the search application that contains the authority page collection.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid search application name (for example, SearchApp1); or an instance of a valid SearchServiceApplication object.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Set-SPEnterpriseSearchQueryAuthority cmdlet updates properties of an authoritative page and adjusts the query rank of an authoritative page. SPEnterpriseSearchQueryAuthority represents authoritative sites that rank higher in relevance than demoted sites, which are de-emphasized in relevance.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
Set-SPEnterpriseSearchQueryAuthority -Identity http://contoso.com -Level 0.5 -SearchApplication MySSA

This example adjusts the authoritative level of the URL http://contoso.com to 0.5 on the search service application named MySSA.

See Also

Reference

New-SPEnterpriseSearchQueryAuthority
Get-SPEnterpriseSearchQueryAuthority
Remove-SPEnterpriseSearchQueryAuthority


Set-SPEnterpriseSearchQueryComponent
Example
[image]

Published: May 12, 2010

Modifies properties for a query component.

Set-SPEnterpriseSearchQueryComponent [-Identity] <QueryComponentPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-FailoverOnly <Nullable>] [-QueryTopology <QueryTopologyPipeBind>] [-SearchApplication <SearchServiceApplicationPipeBind>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.Office.Server.Search.Cmdlet.QueryComponentPipeBind

Specifies the query component to set.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh, or an instance of a valid QueryComponent object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

FailoverOnly

Optional

System.Nullable

Specifies that the query component only serves queries as a last resort, after all query instances for the partition have failed.

QueryTopology

Optional

Microsoft.Office.Server.Search.Cmdlet.QueryTopologyPipeBind

Specifies the query topology that contains the query component collection.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh, or an instance of a valid QueryTopology object.

SearchApplication

Optional

Microsoft.Office.Server.Search.Cmdlet.SearchServiceApplicationPipeBind

Specifies the search application that contains the query topology.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid search application name (for example, SearchApp1); or an instance of a valid SearchServiceApplication object.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Set-SPEnterpriseSearchQueryComponent cmdlet updates properties for a query component.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
$searchApp = Get-SPEnterpriseSearchServiceApplication mySearchServiceApp
Get-SPEnterpriseSearchQueryTopology -SearchApplication $searchApp
Get-SPEnterpriseSearchQueryComponent -QueryTopology $qt |
Set-SPEnterpriseSearchQueryComponent -FailoverOnly $true

This example sets the query component of the search service application, mySearchServiceApp, to serve as a failover-only query component.


Set-SPEnterpriseSearchQueryKeyword
See Also Example
[image]

Published: May 12, 2010

Sets the properties of a keyword term for a shared search application.

Set-SPEnterpriseSearchQueryKeyword [-Identity] <KeywordPipeBind> -Site <SPSitePipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-Contact <String>] [-Definition <String>] [-EndDate <Nullable>] [-ReviewDate <Nullable>] [-StartDate <Nullable>] [-Term <String>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.Office.Server.Search.Cmdlet.KeywordPipeBind

Specifies the keyword term to update.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid string that contains a keyword term (for example, KeywordTerm1); or an instance of a valid Keyword object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

Contact

Optional

System.String

Specifies the user name associated with the new keyword.

The type must be a valid user name; for example, KeywordUser1.

Definition

Optional

System.String

Specifies the definition of the new keyword term.

The type must be a valid string; for example, a keyword term definition.

EndDate

Optional

System.Nullable

Specifies the expiration date of the keyword term. The default value is MaxDate.

The type must be a valid DateTime type, in the form 2010,12,05.

ReviewDate

Optional

System.Nullable

Specifies the review date of the keyword term. The default value is MaxDate.

The type must be a valid DateTime type, in the form 2010,12,05.

SearchApplication

Optional

Microsoft.Office.Server.Search.Cmdlet.SearchServiceApplicationPipeBind

Specifies the search application that contains the query keyword collection.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid search application name (for example, SearchApp1); or an instance of a valid SearchServiceApplication object.

Site

Optional

Microsoft.SharePoint.PowerShell.SPSitePipeBind

Associates the new keyword term to the specified results URL.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid URL, in the form http://server_name; or an instance of a valid SPSite object.

StartDate

Optional

System.Nullable

Specifies the activation date for the keyword term. The default value is the current date.

The type must be a valid date, in the form 2010,12,05.

Term

Optional

System.String

Specifies the keyword term that triggers keyword results.

The type must be a valid string; for example, a keyword term.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Set-SPEnterpriseSearchQueryKeyword cmdlet updates properties and rules of a keyword term. A query keyword is a query component of a query topology. SPEnterpriseSearchQueryKeyword represents relevance setting through keywords.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
Get-SPEnterpriseSearchQueryKeyword -Identity Engineering -Site http://myserver/sites/engineering | Set-SPEnterpriseSearchQueryKeyword -StartDate "12/25/2009" -EndDate "12/24/2010" -Site http://myserver/sites/engineering

This example gets a reference to the keyword with the term Engineering from the site http://myserver/sites/engineering, and sets the start dates and end dates for the keyword.

See Also

Reference

New-SPEnterpriseSearchQueryKeyword
Get-SPEnterpriseSearchQueryKeyword
Remove-SPEnterpriseSearchQueryKeyword


Set-SPEnterpriseSearchQueryScope
See Also Example
[image]

Published: May 12, 2010

Sets the properties of a query results scope for a shared search application.

Set-SPEnterpriseSearchQueryScope [-Identity] <ScopePipeBind> -AlternateResultsPage <String> [-AssignmentCollection <SPAssignmentCollection>] [-CompilationType <Nullable>] [-Confirm [<SwitchParameter>]] [-Description <String>] [-DisplayInAdminUI <Nullable>] [-Name <String>] [-SearchApplication <SearchServiceApplicationPipeBind>] [-Url <Uri>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.Office.Server.Search.Cmdlet.ScopePipeBind

Specifies the identity of the scope to create.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a scope (for example, Scope1); or an instance of a valid Scope object.

AlternateResultsPage

Required

System.String

Specifies the location to display results for the new query scope.

The type must be a valid URL, in the form http://server_name.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

CompilationType

Optional

System.Nullable

Specifies the compilation type of the new scope. The value 0 specifies the conditionally compiled scope type, and the value 1 specifies the always compiled scope type.

The type must be either of the following: 0 or 1.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

Description

Optional

System.String

Adds a description of the new query scope.

The type must be a valid string; for example, a description of a query scope.

DisplayInAdminUI

Optional

System.Nullable

Specifies that the new scope is displayed in the administration application user interface (UI). The default setting is to hide the new scope in the administration application UI.

Name

Optional

System.String

Specifies a name for the query scope.

The type must be a valid name of a query scope; for example, QueryScope1.

SearchApplication

Optional

Microsoft.Office.Server.Search.Cmdlet.SearchServiceApplicationPipeBind

Specifies the search application that contains the query scope collection.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid search application name (for example, SearchApp1); or an instance of a valid SearchServiceApplication object.

Url

Optional

System.Uri

Filters to delete scopes for the specified results URL.

The type must be a valid URL, in the form http://server_name.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Set-SPEnterpriseSearchQueryScope cmdlet updates properties of a shared scope. SPEnterpriseSearchQueryScope represents a query results scope used by all shared search applications on the farm.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
$ssa = Get-SPenterpriseSearchServiceApplication -Identity MySSA
Get-SPEnterpriseSearchQueryScope -Identity MustCrawl -SearchApplication $ssa | Set-SPEnterpriseSearchQueryScope -Description "Business critical sites to index" -CompilationType 1 -AlternateResultsPage http://altServer

This example obtains a reference to the scope named MustCrawl on the search service application named MySSA, and changes the description, compilation type, and alternate access URL.

See Also

Reference

New-SPEnterpriseSearchQueryScope
Get-SPEnterpriseSearchQueryScope
Remove-SPEnterpriseSearchQueryScope
Get-SPEnterpriseSearchQueryScopeRule


Set-SPEnterpriseSearchQueryScopeRule
See Also Example
[image]

Published: May 12, 2010

Sets the properties of a shared scope rule for a query scope.

Set-SPEnterpriseSearchQueryScopeRule [-Identity] <ScopeRulePipeBind> -Url <Uri> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-FilterBehavior <String>] [-ManagedPropertyName <String>] [-MatchingString <String>] [-PropertyValue <String>] [-Scope <ScopePipeBind>] [-SearchApplication <SearchServiceApplicationPipeBind>] [-UrlScopeRuleType <String>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.Office.Server.Search.Cmdlet.ScopeRulePipeBind

Specifies the scope rule to update.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a scope rule (for example, ScopeRule1); or an instance a valid ScopeRule object.

Url

Required

System.Uri

Specifies the results URL that is associated with the query scope rule.

The type must be a valid URL, in the form http://server_name.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

FilterBehavior

Optional

System.String

Specifies the type of scope rule to create for the query scope.

The type must be one of the following values: Exclude, Include, or Require.

ManagedPropertyName

Optional

System.String

Specifies the name of the managed property to use for the PropertyQuery scope rule.

The type must be a valid name of a managed property; for example, ManagedProp1.

MatchingString

Optional

System.String

Specifies the string to use when matching the URL rule type.

PropertyValue

Optional

System.String

Specifies the property value to use when matching the PropertyQuery rule type.

Scope

Optional

Microsoft.Office.Server.Search.Cmdlet.ScopePipeBind

Applies the query scope rule to the specified scope.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a scope (for example, Scope1); or an instance of a valid Scope object.

SearchApplication

Optional

Microsoft.Office.Server.Search.Cmdlet.SearchServiceApplicationPipeBind

Specifies the search application that contains the query scope rule collection.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid search application name (for example, SearchApp1); or an instance of a valid SearchServiceApplication object.

UrlScopeRuleType

Optional

System.String

Specifies the value to use when matching the URL rule type.

The type must be one of the following values: Folder, HostName, or Domain.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Set-SPEnterpriseSearchQueryScopeRule cmdlet updates the properties of a query scope. SPEnterpriseSearchQueryScopeRule represents a query results scope rule that can be applied to a scope.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
$ssa = Get-SPEnterpriseSearchServiceApplication -Identity "MySSA"
$scope = Get-SPEnterpriseSearchQueryScope -Identity MustCrawl -SearchApplication $ssa
Get-SPEnterpriseSearchQueryScopeRule -Scope $scope -Url http://criticalSite | Set-SPEnterpriseSearchQueryScopeRule -Url http://criticalSite -UrlScopeRuleType Url

This example gets a reference to a scope rule for the URL http://criticalSite and sets its rule type to Url.

See Also

Reference

New-SPEnterpriseSearchQueryScopeRule
Get-SPEnterpriseSearchQueryScopeRule
Remove-SPEnterpriseSearchQueryScopeRule
Get-SPEnterpriseSearchQueryScope


Set-SPEnterpriseSearchQueryTopology
See Also Example
[image]

Published: May 12, 2010

Sets the properties of a query topology for a shared search application.

Set-SPEnterpriseSearchQueryTopology [-Identity] <QueryTopologyPipeBind> [-Active <SwitchParameter>] [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-SearchApplication <SearchServiceApplicationPipeBind>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.Office.Server.Search.Cmdlet.QueryTopologyPipeBind

Specifies the query topology to update.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh, or an instance of a valid QueryTopology object.

Active

Optional

System.Management.Automation.SwitchParameter

Activates the topology to assume handling queries. An active query topology is currently serving queries for the search application.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

SearchApplication

Optional

Microsoft.Office.Server.Search.Cmdlet.SearchServiceApplicationPipeBind

Specifies the search application that contains the query topology.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid search application name (for example, SearchApp1); or an instance of a valid SearchServiceApplication object.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Set-SPEnterpriseSearchQueryTopology cmdlet updates properties of a query topology. A topology can contain multiple query topologies when a query component or index partition is added to or deleted from a topology.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
$ssi = Get-SPEnterpriseSearchServiceInstance
$ssa = Get-SPEnterpriseSearchServiceApplication -Identity MySSA
$newQueryTopology = $ssa | New-SPEnterpriseSearchQueryTopology -Partitions 1
$ip = Get-SPEnterpriseSearchIndexPartition -QueryTopology $newQueryTopology
$queryComponent = New-SPEnterpriseSearchQuerycomponent -QueryTopology $newQueryTopology -IndexPartition $ip -SearchServiceInstance $ssi
$newQueryTopology | Set-SPEnterpriseSearchQueryTopology -Active

This example creates a new query topology and query component, adds the new query topology to a search service application and sets it as the active query topology.

See Also

Reference

New-SPEnterpriseSearchQueryTopology
Get-SPEnterpriseSearchQueryTopology
Remove-SPEnterpriseSearchQueryTopology


Set-SPEnterpriseSearchRankingModel
See Also Example
[image]

Published: May 12, 2010

Sets the properties of a ranking model for a shared search application.

Set-SPEnterpriseSearchRankingModel [-Identity] <RankingModelPipeBind> -RankingModelXML <String> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-SearchApplication <SearchServiceApplicationPipeBind>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.Office.Server.Search.Cmdlet.RankingModelPipeBind

Specifies the ranking model to update.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh, or an instance of a valid RankingModel object.

RankingModelXML

Required

System.String

Specifies the name of the XML representation of the new ranking model.

The type must be a valid name of an .xml file; for example, XMLfilename1.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

SearchApplication

Optional

Microsoft.Office.Server.Search.Cmdlet.SearchServiceApplicationPipeBind

Specifies the search application that contains the ranking model.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid search application name (for example, SearchApp1); or an instance of a valid SearchServiceApplication object.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Set-SPEnterpriseSearchRankingModel cmdlet updates properties of a ranking model for a query service application. The name, description, and identifier (ID) for a ranking model are contained in the .xml file specified in RankingModelXML. If the Identity parameter is not specified or the identity does not match any of the ranking models in the collection, an exception is thrown and the default ranking model is used.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
$rankingModel = Get-SPEnterpriseSearchServiceApplication -Identity "MySSA" | Get-SPEnterpriseSearchRankingModel
$rankingModel[0] |  Set-SPEnterpriseSearchRankingModel -RankingModelXML newModel.xml

This example reconfigures the first ranking model from the search service application to the configuration contained in newModel.xml.

See Also

Reference

New-SPEnterpriseSearchRankingModel
Get-SPEnterpriseSearchRankingModel
Remove-SPEnterpriseSearchRankingModel


Start-SPEnterpriseSearchQueryAndSiteSettingsServiceInstance
Example
[image]

Published: May 12, 2010

Starts an instance of a search manager service.

Start-SPEnterpriseSearchQueryAndSiteSettingsServiceInstance [-Identity] <SearchQueryAndSiteSettingsServiceInstancePipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.Office.Server.Search.Cmdlet.SearchManagerServiceInstancePipeBind

Specifies the search manager service instance to start.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid SPServer name, or the name of a search manager service instance (for example, SearchManagerServiceInstance1); or an instance of a valid SearchManagerServiceInstance object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Start-SPEnterpriseSearchQueryAndSiteSettingsServiceInstance cmdlet starts the query and site settings service instance on the server instance in the same farm as the search service application to host the query object model (OM), Windows Communication Foundation (WCF) endpoint, and query processor for the search service application.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
$qssInstance = Get-SPEnterpriseSearchQueryAndSiteSettingsServiceInstance -Local
Start-SPEnterpriseSearchQueryAndSiteSettingsServiceInstance -Identity $qssInstance

This example starts the local query and site settings instance.


Stop-SPEnterpriseSearchQueryAndSiteSettingsServiceInstance
Example
[image]

Published: May 12, 2010

Stops an instance of a search manager service.

Stop-SPEnterpriseSearchQueryAndSiteSettingsServiceInstance [-Identity] <SearchQueryAndSiteSettingsServiceInstancePipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.Office.Server.Search.Cmdlet.SearchManagerServiceInstancePipeBind

Specifies the search manager service instance to stop.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid SPServer name, or the name of a search manager service instance (for example, SearchManagerServiceInstance1); or an instance of a valid SearchManagerServiceInstance object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Stop-SPEnterpriseSearchQueryAndSiteSettingsServiceInstance cmdlet stops an instance of a search manager service.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
$qssInstance = Get-SPEnterpriseSearchQueryAndSiteSettingsServiceInstance -Local
Stop-SPEnterpriseSearchQueryAndSiteSettingsServiceInstance -Identity $qssInstance

This example stops the local query and site settings service instance.


Get-SPEnterpriseSearchMetadataCategory
See Also Example
[image]

Published: May 12, 2010

Returns a crawled property category.

Get-SPEnterpriseSearchMetadataCategory [[-Identity] <CategoryPipeBind>] -SearchApplication <SearchServiceApplicationPipeBind> [-AssignmentCollection <SPAssignmentCollection>]

Parameters

Parameter Required Type Description

Identity

Optional

Microsoft.Office.Server.Search.Cmdlet.CategoryPipeBind

Specifies the metadata category to get.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a metadata category (for example, MetadataCategory1); or an instance of a valid Category object.

SearchApplication

Required

Microsoft.Office.Server.Search.Cmdlet.SearchServiceApplicationPipeBind

Specifies the search application that contains the enterprise search metadata categories.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid search application name (for example, SearchApp1); or an instance of a valid SearchServiceApplication object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Detailed Description

The Get-SPEnterpriseSearchMetadataCategory cmdlet reads a MetadataCategory object when the category is created, updated, or deleted. Run this cmdlet when the initial search is configured and after a new crawled property category is discovered during a crawl. SPEnterpriseSearchMetadataCategory represents a category in the enterprise search metadata property schema.

If the Identity parameter is not specified, this cmdlet returns the metadata category collection for the specified search application.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
$searchapp = Get-SPEnterpriseSearchServiceApplication "SearchApp1"
$cat = Get-SPEnterpriseSearchMetadataCategory -SearchApplication $searchapp -Identity People

This example returns the People metadata category for the search application SearchApp1.

See Also

Reference

New-SPEnterpriseSearchMetadataCategory
Set-SPEnterpriseSearchMetadataCategory
Remove-SPEnterpriseSearchMetadataCategory


Get-SPEnterpriseSearchMetadataCrawledProperty
Example
[image]

Published: May 12, 2010

Returns a crawled property.

Get-SPEnterpriseSearchMetadataCrawledProperty [[-Name] <String>] -SearchApplication <SearchServiceApplicationPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Category <CategoryPipeBind>] [-Limit <String>] [-PropSet <Nullable>] [-VariantType <Nullable>]

Parameters

Parameter Required Type Description

Name

Optional

System.String

Specifies the crawled property to get.

The type must be a valid name of a metadata category; for example, MetadataCategory1.

SearchApplication

Required

Microsoft.Office.Server.Search.Cmdlet.SearchServiceApplicationPipeBind

Specifies the search application that contains the crawled property.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid search application name (for example, SearchApp1); or an instance of a valid SearchServiceApplication object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Category

Optional

Microsoft.Office.Server.Search.Cmdlet.CategoryPipeBind

Filters to return crawled properties for the specified crawled property category.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a metadata category (for example, MetadataCategory1); or an instance of a valid Category object.

Limit

Optional

System.String

Specified the maximum number of items to return. Specify ALL to return all possible results.

PropSet

Optional

System.Nullable

Filters to return crawled properties with the specified property set.

The type must be a valid GUID that specifies the property set, in the form 12345678-90ab-cdef-1234-567890bcdefgh.

VariantType

Optional

System.Nullable

Filters to return crawled properties with the specified variant type.

The type must be an integer that specifies the variant data type of the property set.

Detailed Description

The Get-SPEnterpriseSearchMetadataCrawledProperty cmdlet reads a CrawledProperty object when the crawled category is created, updated, or deleted. Run this cmdlet when the search functionality is initially configured and after new crawled properties are discovered during a crawl. If the Name parameter is not specified, this cmdlet returns all crawled properties for the specified category for the specified search application. If neither the Name nor the Category parameter is specified, this cmdlet returns all crawled properties for the specified search application.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
$searchapp = Get-SPEnterpriseSearchServiceApplication "SearchApp1"
$cat = Get-SPEnterpriseSearchMetadataCategory -SearchApplication $searchapp -Identity People
Get-SPEnterpriseSearchMetadataCrawledProperty -SearchApplication $searchapp -Category $cat

This example returns all crawled properties for the search application SearchApp1 in the People metadata category.


Get-SPEnterpriseSearchMetadataManagedProperty
See Also Example
[image]

Published: May 12, 2010

Returns a managed property.

Get-SPEnterpriseSearchMetadataManagedProperty [[-Identity] <ManagedPropertyPipeBind>] -SearchApplication <SearchServiceApplicationPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Limit <String>]

Parameters

Parameter Required Type Description

Identity

Optional

Microsoft.Office.Server.Search.Cmdlet.ManagedPropertyPipeBind

Specifies the managed property to get.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a managed property (for example, ManagedProperty1); or an instance of a valid ManagedProperty object.

SearchApplication

Required

Microsoft.Office.Server.Search.Cmdlet.SearchServiceApplicationPipeBind

Specifies the search application that contains the managed property collection.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid search application name (for example, SearchApp1); or an instance of a valid SearchServiceApplication object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Limit

Optional

System.String

Specifies the maximum number of managed properties to return. Specify ALL to return all possible results.

Detailed Description

The Get-SPEnterpriseSearchMetadataManagedProperty cmdlet reads a ManagedProperty object when managed properties are created, updated, or deleted.

If the Identity parameter is not specified, this cmdlet returns the managed property collection for the specified search application.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
$searchapp = Get-SPEnterpriseSearchServiceApplication "SearchApp1"
$mp = Get-SPEnterpriseSearchMetadataManagedProperty -SearchApplication $searchapp -Identity testmanagedproperty

This example returns the managed property named testmanagedproperty for the search application SearchApp1.

See Also

Reference

New-SPEnterpriseSearchMetadataManagedProperty
Set-SPEnterpriseSearchMetadataManagedProperty
Remove-SPEnterpriseSearchMetadataManagedProperty


Get-SPEnterpriseSearchMetadataMapping
See Also Example
[image]

Published: May 12, 2010

Returns the current state of a managed property mapping.

Get-SPEnterpriseSearchMetadataMapping -SearchApplication <SearchServiceApplicationPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-CrawledProperty <CrawledPropertyPipeBind>] [-ManagedProperty <ManagedPropertyPipeBind>]

Parameters

Parameter Required Type Description

SearchApplication

Required

Microsoft.Office.Server.Search.Cmdlet.SearchServiceApplicationPipeBind

Specifies the search application that contains the metadata mapping.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid search application name (for example, SearchApp1); or an instance of a valid SearchServiceApplication object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

CrawledProperty

Optional

Microsoft.Office.Server.Search.Cmdlet.CrawledPropertyPipeBind

Filters to return mappings to the specified crawled property.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid URL, in the form http://server_name; or an instance of a valid CrawledProperty object.

ManagedProperty

Optional

Microsoft.Office.Server.Search.Cmdlet.ManagedPropertyPipeBind

Filters to return mappings to the specified managed property.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a managed property (for example, ManagedProperty1); or an instance of a valid ManagedProperty object.

Detailed Description

The Get-SPEnterpriseSearchMetadataMapping cmdlet reads a Mapping object when the managed property mapping is created, updated, or deleted. SPEnterpriseSearchMetadataMapping represents a category of a mapping between a managed property and one or more crawled properties in the enterprise search metadata property schema.

If the Identity parameter is not specified, this cmdlet returns the metadata mapping collection for the specified search application.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
$searchapp = Get-SPEnterpriseSearchServiceApplication "Sample Search Service Application"
$mp = Get-SPEnterpriseSearchMetadataManagedProperty -SearchApplication $searchapp -Identity Author
Get-SPEnterpriseSearchMetadataMapping -SearchApplication $searchapp -ManagedProperty $mp

This example lists all crawled properties mapped to the Author managed property.

See Also

Reference

New-SPEnterpriseSearchMetadataMapping
Set-SPEnterpriseSearchMetadataMapping
Remove-SPEnterpriseSearchMetadataMapping


New-SPEnterpriseSearchMetadataCategory
See Also Example
[image]

Published: May 12, 2010

Adds a crawled property category to a search service application.

New-SPEnterpriseSearchMetadataCategory [-Name] <String> -SearchApplication <SearchServiceApplicationPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-AutoCreateNewManagedProperties <Nullable>] [-Confirm [<SwitchParameter>]] [-DiscoverNewProperties <Nullable>] [-MapToContents <Nullable>] [-PropSet <Nullable>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Name

Required

System.String

Specifies the identity of the new metadata category.

The type must be a valid name of a metadata category (for example, MetadataCategory1).

SearchApplication

Required

Microsoft.Office.Server.Search.Cmdlet.SearchServiceApplicationPipeBind

Specifies the search application that contains the enterprise search metadata property schema.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid search application name (for example, SearchApp1); or an instance of a valid SearchServiceApplication object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

AutoCreateNewManagedProperties

Optional

System.Nullable

Specifies that new managed properties are mapped when new crawled properties in this category are found.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

DiscoverNewProperties

Optional

System.Nullable

Specifies that new properties in this category are discovered during a crawl.

MapToContents

Optional

System.Nullable

Specifies that string data from all crawled properties in this category is added to the full-text index catalog.

PropSet

Optional

System.Nullable

Creates the new metadata category with the specified property set.

The type must be a valid GUID that specifies the property set, in the form 12345678-90ab-cdef-1234-567890bcdefgh.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The New-SPEnterpriseSearchMetadataCategory cmdlet creates the new crawled property category. SPEnterpriseSearchMetadataCategory represents a category in the enterprise search metadata property schema.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
$searchapp = Get-SPEnterpriseSearchServiceApplication "SearchApp1"
New-SPEnterpriseSearchMetadataCategory -SearchApplication $searchapp -Name test -discovernewproperties $True

This example shows the creation of a new metadata category.

See Also

Reference

Get-SPEnterpriseSearchMetadataCategory
Set-SPEnterpriseSearchMetadataCategory
Remove-SPEnterpriseSearchMetadataCategory


New-SPEnterpriseSearchMetadataCrawledProperty
See Also Example
[image]

Published: May 12, 2010

Adds a crawled property to a search application crawled property category.

New-SPEnterpriseSearchMetadataCrawledProperty -Category <CategoryPipeBind> -IsNameEnum <$true | $false> -Name <String> -PropSet <Guid> -SearchApplication <SearchServiceApplicationPipeBind> -VariantType <Int32> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-IsMappedToContents <Nullable>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.Office.Server.Search.Cmdlet.CrawledPropertyPipeBind

Specifies the identity of the new crawled property.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a metadata category (for example, MetadataCategory1); or an instance of a valid Category object.

Category

Required

Microsoft.Office.Server.Search.Cmdlet.CategoryPipeBind

Specifies the crawled property category to add.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a metadata category (for example, MetadataCategory1); or an instance of a valid Category object.

IsNameEnum

Required

System.Boolean

Specifies whether the crawled property name is a string that was converted from an integer; for example, if the crawled property name is the string 5 that was converted from the value 5.

PropSet

Optional

System.Guid

Creates the new metadata property with the specified property set.

The type must be a valid GUID that specifies the property set, in the form 12345678-90ab-cdef-1234-567890bcdefgh.

SearchApplication

Required

Microsoft.Office.Server.Search.Cmdlet.SearchServiceApplicationPipeBind

Specifies the search application that contains the crawled property.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid search application name (for example, SearchApp1); or an instance of a valid SearchServiceApplication object.

VariantType

Required

System.Int32

Add the new crawled property as the specified variant type. For more information about valid values for this property, see VARIANT Type Constants (http://go.microsoft.com/fwlink/p/?LinkId=143322&clcid=0x409).

The type must be an integer that specifies the variant data type of the property set.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

IsMappedToContents

Optional

System.Nullable

Specifies that the crawled property is mapped to managed properties.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The New-SPEnterpriseSearchMetadataCrawledProperty cmdlet is used when the search functionality is initially configured, and after any new crawled property is added to create the rules for the crawled property. SPEnterpriseSearchMetadataCrawledProperty represents a crawled property in the enterprise search metadata property schema.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
$searchapp = Get-SPEnterpriseSearchServiceApplication "SearchApp1"
$cat = Get-SPEnterpriseSearchMetadataCategory -Identity SharePoint -SearchApplication $searchapp
New-SPEnterpriseSearchMetadataCrawledProperty -SearchApplication $searchapp -Category $cat -VariantType 20 -Propset  00000000-0000-1111-1111-111111111111 -Name testcrawledproperty -IsNameEnum $false

This example creates a new crawled property in the SharePoint category (VariantType 20).

See Also

Reference

Get-SPEnterpriseSearchMetadataCrawledProperty
Set-SPEnterpriseSearchMetadataCrawledProperty

Other Resources

VARIANT Type Constants (http://go.microsoft.com/fwlink/p/?LinkId=143322&clcid=0x409)


New-SPEnterpriseSearchMetadataManagedProperty
See Also Example
[image]

Published: May 12, 2010

Adds a managed property to a shared search application.

New-SPEnterpriseSearchMetadataManagedProperty [-Name] <String> -SearchApplication <SearchServiceApplicationPipeBind> -Type <Int32> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-DefaultForQueryIndependentRank <Nullable>] [-Description <String>] [-EnabledForQueryIndependentRank <Nullable>] [-EnabledForScoping <Nullable>] [-FullTextQueriable <Nullable>] [-IncludeInMd5 <Nullable>] [-NameNormalized <Nullable>] [-NoWordBreaker <Nullable>] [-RemoveDuplicates <Nullable>] [-RespectPriority <Nullable>] [-Retrievable <Nullable>] [-UserFlags <Nullable>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Name

Required

System.String

Specifies the name of the new managed property.

The type must be a valid name of a managed property (for example, ManagedProperty1).

SearchApplication

Required

Microsoft.Office.Server.Search.Cmdlet.SearchServiceApplicationPipeBind

Specifies the search application that contains the managed property collection.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid search application name (for example, SearchApp1); or an instance of a valid SearchServiceApplication object.

Type

Required

System.Int32

Specifies the data type of the new managed property.

The type must be one of the following data types:

Text

Integer

Decimal

DateTime

YesNo

Binary

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

DefaultForQueryIndependentRank

Optional

System.Nullable

Specifies that the property is mandatory when it is used in query-independent rank (relevance). The default value is 0.

Description

Optional

System.String

Adds a description for the new metadata managed property.

The type must be a valid string; for example, a description for a metadata managed property.

EnabledForQueryIndependentRank

Optional

System.Nullable

Specifies that the property can be used in query-independent rank (relevance). The default value is 0.

EnabledForScoping

Optional

System.Nullable

Specifies that the property can be used in a scope definition. The default value is 0.

FullTextQueriable

Optional

System.Nullable

Specifies that the managed property can be used in enterprise search SQL queries.

IncludeInMd5

Optional

System.Nullable

Specifies that the managed property is included in the hash used by the crawler to determine whether a document has changed. The default value is 0.

NameNormalized

Optional

System.Nullable

Specifies that the managed property has been converted to the full name. The default value is 0.

NoWordBreaker

Optional

System.Nullable

Specifies that the values for this property are processed by a word breaker. The default value is 0.

RemoveDuplicates

Optional

System.Nullable

Specifies that duplicate values for the property are removed. The default value is 1.

RespectPriority

Optional

System.Nullable

Specifies that only one instance of the property exists for an item. The default value is 0.

Retrievable

Optional

System.Nullable

Specifies that the property can be used for advanced search or keyword queries, and that the value for this property can be retrieved in search results.

UserFlags

Optional

System.Nullable

Reserved for future use.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The New-SPEnterpriseSearchMetadataManagedProperty cmdlet creates a new managed property for a crawled property mapping. SPEnterpriseSearchMetadataManagedProperty represents a managed property in the enterprise search metadata property schema.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
$searchapp = Get-SPEnterpriseSearchServiceApplication "SearchApp1"
New-SPEnterpriseSearchMetadataManagedProperty -SearchApplication $searchapp -Name testmanagedproperty -Type 1

This example adds a new text type managed property to a search application.

See Also

Reference

Get-SPEnterpriseSearchMetadataManagedProperty
Set-SPEnterpriseSearchMetadataManagedProperty
Remove-SPEnterpriseSearchMetadataManagedProperty


New-SPEnterpriseSearchMetadataMapping
See Also Example
[image]

Published: May 12, 2010

Adds a managed property mapping to a shared search application.

New-SPEnterpriseSearchMetadataMapping -CrawledProperty <CrawledPropertyPipeBind> -ManagedProperty <ManagedPropertyPipeBind> -SearchApplication <SearchServiceApplicationPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

CrawledProperty

Required

Microsoft.Office.Server.Search.Cmdlet.CrawledPropertyPipeBind

Filters the crawled property to map.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid URL, in the form http://server_name; or an instance of a valid CrawledProperty object.

ManagedProperty

Required

Microsoft.Office.Server.Search.Cmdlet.ManagedPropertyPipeBind

Specifies the managed property to receive the crawled property mapping.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a managed property (for example, ManagedProperty1); or an instance of a valid ManagedProperty object.

SearchApplication

Required

Microsoft.Office.Server.Search.Cmdlet.SearchServiceApplicationPipeBind

Specifies the managed property to receive the crawled property mapping.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid search application name (for example, SearchApp1); or an instance of a valid SearchServiceApplication object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The New-SPEnterpriseSearchMetadataMapping cmdlet maps a crawled property and adds the mapping to the managed property. SPEnterpriseSearchMetadataMapping represents a snapshot of a mapping between a managed property and one or more crawled properties in the enterprise search metadata property schema.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
$searchapp = Get-SPEnterpriseSearchServiceApplication "SearchApp1"
$mp = Get-SPEnterpriseSearchMetadataManagedProperty -SearchApplication $searchapp -Identity testmanagedproperty
$prop = Get-SPEnterpriseSearchMetadataCrawledProperty -SearchApplication $searchapp -Name testcrawledproperty
New-SPEnterpriseSearchMetadataMapping -SearchApplication $searchapp -CrawledProperty $prop -ManagedProperty $mp

This example maps a crawled property to a managed property.

See Also

Reference

Get-SPEnterpriseSearchMetadataMapping
Set-SPEnterpriseSearchMetadataMapping
Remove-SPEnterpriseSearchMetadataMapping

Other Resources

VARIANT Type Constants (http://go.microsoft.com/fwlink/p/?LinkId=143322&clcid=0x409)


Remove-SPEnterpriseSearchMetadataCategory
See Also Example
[image]

Published: May 12, 2010

Deletes a crawled property category.

Remove-SPEnterpriseSearchMetadataCategory [-Identity] <CategoryPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-SearchApplication <SearchServiceApplicationPipeBind>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.Office.Server.Search.Cmdlet.CategoryPipeBind

Specifies the metadata category to delete.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a metadata category (for example, MetadataCategory1); or an instance of a valid Category object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

SearchApplication

Optional

Microsoft.Office.Server.Search.Cmdlet.SearchServiceApplicationPipeBind

Specifies the search application that contains the enterprise search metadata property schema.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid search application name (for example, SearchApp1); or an instance of a valid SearchServiceApplication object.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Remove-SPEnterpriseSearchMetadataCategory cmdlet deletes a crawled property category. Use this cmdlet after a crawl to delete unused or unwanted categories from the metadata property schema.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
$searchapp = Get-SPEnterpriseSearchServiceApplication "SearchApp1"
$cat = Get-SPEnterpriseSearchMetadataCategory -Identity test2 -SearchApplication $searchapp
$cat | Remove-SPEnterpriseSearchMetadataCategory

This example shows the removal of a metadata category named test2.

See Also

Reference

Get-SPEnterpriseSearchMetadataCategory
New-SPEnterpriseSearchMetadataCategory
Set-SPEnterpriseSearchMetadataCategory


Remove-SPEnterpriseSearchMetadataManagedProperty
See Also Example
[image]

Published: May 12, 2010

Deletes a metadata managed property.

Remove-SPEnterpriseSearchMetadataManagedProperty [-Identity] <ManagedPropertyPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-SearchApplication <SearchServiceApplicationPipeBind>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.Office.Server.Search.Cmdlet.ManagedPropertyPipeBind

Specifies the managed property to delete.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a managed property (for example, ManagedProperty1); or an instance of a valid ManagedProperty object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

SearchApplication

Optional

Microsoft.Office.Server.Search.Cmdlet.SearchServiceApplicationPipeBind

Specifies the search application that contains the managed property collection.

The type must be a valid GUID, of the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid search application name (for example, SearchApp1); or an instance of a valid SearchServiceApplication object.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Remove-SPEnterpriseSearchManagedProperty cmdlet deletes unused or unwanted managed properties from the managed property collection.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
$searchapp = Get-SPEnterpriseSearchServiceApplication "SearchApp1"
$mp = Get-SPEnterpriseSearchMetadataManagedProperty -SearchApplication $searchapp -Identity testmanagedproperty
$mp | Remove-SPEnterpriseSearchMetadataManagedProperty

This example removes the managed property testmanagedproperty from the search service application, SearchApp1.

See Also

Reference

Get-SPEnterpriseSearchMetadataManagedProperty
New-SPEnterpriseSearchMetadataManagedProperty
Set-SPEnterpriseSearchMetadataManagedProperty


Remove-SPEnterpriseSearchMetadataMapping
See Also Example
[image]

Published: May 12, 2010

Deletes a metadata mapping from a managed property.

Remove-SPEnterpriseSearchMetadataMapping [-Identity] <MappingPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-SearchApplication <SearchServiceApplicationPipeBind>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.Office.Server.Search.Cmdlet.MappingPipeBind

Specifies the metadata mapping to delete.

A valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid URL, in the form http://server_name; or an instance of a valid CrawlMapping object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

SearchApplication

Optional

Microsoft.Office.Server.Search.Cmdlet.SearchServiceApplicationPipeBind

Specifies the search application that contains the managed property collection.

A valid GUID, such as 12345678-90ab-cdef-1234-567890bcdefgh; a valid search application name (for example, SearchApp1); or an instance of a valid SearchServiceApplication object.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Remove-SPEnterpriseSearchMetadataMapping cmdlet deletes unused or unwanted mappings from a managed property. A metadata mapping is the mapping between a managed property and one or more crawled properties in the enterprise search metadata property schema.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
$searchapp = Get-SPEnterpriseSearchServiceApplication "SearchApp1"
$mp = Get-SPEnterpriseSearchMetadataManagedProperty -SearchApplication $searchapp -Identity testmanagedproperty
$prop = Get-SPEnterpriseSearchMetadataCrawledProperty -SearchApplication $searchapp -Name testcrawledproperty
$map = Get-SPEnterpriseSearchMetadataMapping -SearchApplication $searchapp -CrawledProperty $prop -ManagedProperty $mp
$map | Remove-SPEnterpriseSearchMetadataMapping

This example removes the metadata mapping between the crawled property testcrawledproperty and the managed property testmanagedproperty.

See Also

Reference

Get-SPEnterpriseSearchMetadataMapping
New-SPEnterpriseSearchMetadataMapping
Set-SPEnterpriseSearchMetadataMapping


Set-SPEnterpriseSearchMetadataCategory
See Also Example
[image]

Published: May 12, 2010

Sets properties of a crawled property category for a shared search application.

Set-SPEnterpriseSearchMetadataCategory [-Identity] <CategoryPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-AutoCreateNewManagedProperties <Nullable>] [-Confirm [<SwitchParameter>]] [-DiscoverNewProperties <Nullable>] [-MapToContents <Nullable>] [-Name <String>] [-SearchApplication <SearchServiceApplicationPipeBind>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.Office.Server.Search.Cmdlet.CategoryPipeBind

Specifies the metadata category to update.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a metadata category (for example, MetadataCategory1); or an instance of a valid Category object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

AutoCreateNewManagedProperties

Optional

System.Nullable

Specifies that new managed properties are mapped when new crawled properties in this category are found.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

DiscoverNewProperties

Optional

System.Nullable

Specifies that new properties in this category are discovered during a crawl.

MapToContents

Optional

System.Nullable

Specifies that all string crawled properties are mapped to content.

Name

Optional

System.String

Specifies the name of the enterprise search metadata category.

The type must be a valid name of a metadata category; for example, MetadataCategory1.

SearchApplication

Optional

Microsoft.Office.Server.Search.Cmdlet.SearchServiceApplicationPipeBind

Specifies the search application that contains the enterprise search metadata categories.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid search application name (for example, SearchApp1); or an instance of a valid SearchServiceApplication object.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Set-SPEnterpriseSearchMetadataCategory cmdlet updates properties of a crawled property category when the search functionality is initially configured and after a new crawled property category is discovered during a crawl. SPEnterpriseSearchMetadataCategory represents a category in the enterprise search metadata property schema.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
$searchapp = Get-SPEnterpriseSearchServiceApplication "SearchApp1"
$cat = Get-SPEnterpriseSearchMetadataCategory -Identity test -SearchApplication $searchapp
$cat | Set-SPEnterpriseSearchMetadataCategory -Name test2

This example changes the name of the metadata category from test to test2.

See Also

Reference

New-SPEnterpriseSearchMetadataCategory
Get-SPEnterpriseSearchMetadataCategory
Remove-SPEnterpriseSearchMetadataCategory


Set-SPEnterpriseSearchMetadataCrawledProperty
See Also Example
[image]

Published: May 12, 2010

Sets the properties of a metadata crawled property for a shared search application.

Set-SPEnterpriseSearchMetadataCrawledProperty [-Identity] <CrawledPropertyPipeBind> -IsMappedToContents <Nullable> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.Office.Server.Search.Cmdlet.CrawledPropertyPipeBind

Specifies the crawled property to update.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid URL, in the form http://server_name; or an instance of a valid CrawledProperty object.

IsMappedToContents

Required

System.Nullable

Specifies that the crawled property is mapped to managed properties.

SearchApplication

Required

Microsoft.Office.Server.Search.Cmdlet.SearchServiceApplicationPipeBind

Specifies the search application that contains the crawled property.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid search application name (for example, SearchApp1); or an instance of a valid SearchServiceApplication object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Category

Optional

Microsoft.Office.Server.Search.Cmdlet.CategoryPipeBind

Adds the crawled property to the specified metadata category.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a metadata category (for example, MetadataCategory1); or an instance of a valid Category object.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

PropSet

Optional

System.Nullable

Creates the new metadata property with the specified property set.

A valid GUID that specifies the property set, in the form 12345678-90ab-cdef-1234-567890bcdefgh.

VariantType

Optional

System.Nullable

Adds the crawled property as the specified variant type. For more information about valid values for this property, see VARIANT Type Constants (http://go.microsoft.com/fwlink/p/?LinkId=143322&clcid=0x409).

The type must be an integer that specifies a valid variant data type of the property set.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Set-SPEnterpriseSearchMetadataCrawledProperty cmdlet updates properties of a crawled property when the search functionality is initially configured and after any new crawled property is added to create the rules for the crawled property. SPEnterpriseSearchMetadataCrawledProperty represents a crawled property in the enterprise search metadata property schema.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
$searchapp = Get-SPEnterpriseSearchServiceApplication "SearchApp1"
$prop = Get-SPEnterpriseSearchMetadataCrawledProperty -Name testcrawledproperty -SearchApplication $searchapp
$prop | Set-SPEnterpriseSearchMetadataCrawledProperty -IsMappedToContents $False

This example changes the attribute that maps the crawled property to managed properties to False.

See Also

Reference

New-SPEnterpriseSearchMetadataCrawledProperty
Get-SPEnterpriseSearchMetadataCrawledProperty

Other Resources

VARIANT Type Constants (http://go.microsoft.com/fwlink/p/?LinkId=143322&clcid=0x409)


Set-SPEnterpriseSearchMetadataManagedProperty
See Also Example
[image]

Published: May 12, 2010

Sets the properties of a metadata managed property.

Set-SPEnterpriseSearchMetadataManagedProperty [-Identity] <ManagedPropertyPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-DefaultForQueryIndependentRank <Nullable>] [-Description <String>] [-EnabledForQueryIndependentRank <Nullable>] [-EnabledForScoping <Nullable>] [-FullTextQueriable <Nullable>] [-IncludeInMd5 <Nullable>] [-Name <String>] [-NameNormalized <Nullable>] [-NoWordBreaker <Nullable>] [-RemoveDuplicates <Nullable>] [-RespectPriority <Nullable>] [-Retrievable <Nullable>] [-SearchApplication <SearchServiceApplicationPipeBind>] [-UserFlags <Nullable>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.Office.Server.Search.Cmdlet.ManagedPropertyPipeBind

Specifies the managed property to update.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a managed property (for example, ManagedProperty1); or an instance of a valid ManagedProperty object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

DefaultForQueryIndependentRank

Optional

System.Nullable

Specifies that the property is mandatory when it is used in query-independent rank (relevance).

Description

Optional

System.String

Adds a description for the new metadata managed property.

The type must be a valid string; for example, a description for a metadata managed property.

EnabledForQueryIndependentRank

Optional

System.Nullable

Specifies that the managed property is mandatory when it is used in the custom ranking model for the query-independent work of ranking.

The type must be one of the following query-independent ranking features in the custom model XML:

  • queryIndependentFeature

  • categoryFeature

  • languageFeature

EnabledForScoping

Optional

System.Nullable

Specifies that the property can be used in a scope definition. The default value is 0.

FullTextQueriable

Optional

System.Nullable

Specifies that the managed property can be used in enterprise search SQL queries.

IncludeInMd5

Optional

System.Nullable

Specifies that the managed property is included in the hash used by the crawler to determine whether a document has changed. The default value is 0.

Name

Optional

System.String

Specifies a name for the managed property.

The type must be a valid managed property name; for example, ManagedProperty1.

NameNormalized

Optional

System.Nullable

Specifies that the managed property has been converted to the full name. The default value is 0.

NoWordBreaker

Optional

System.Nullable

Specifies that the values for this property are processed by a word breaker. The default value is 0.

RemoveDuplicates

Optional

System.Nullable

Specifies that duplicate values for the property are removed. The default value is 1.

RespectPriority

Optional

System.Nullable

Specifies that only one instance of the property exists for an item. The default value is 0.

Retrievable

Optional

System.Nullable

Specifies that the property can be used for advanced search or keyword queries, and that the value for this property can be retrieved in search results.

SearchApplication

Optional

Microsoft.Office.Server.Search.Cmdlet.SearchServiceApplicationPipeBind

Specifies the search application that contains the managed property collection.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid search application name (for example, SearchApp1); or an instance of a valid SearchServiceApplication object.

UserFlags

Optional

System.Nullable

Reserved for future use.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Set-SPEnterpriseSearchMetadataManagedProperty cmdlet updates the properties of a managed property. This cmdlet is used typically to change the name or description of a managed property. SPEnterpriseSearchMetadataManagedProperty represents a managed property in the enterprise search metadata property schema.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
$searchapp = Get-SPEnterpriseSearchServiceApplication "SearchApp1"
$mp = Get-SPEnterpriseSearchMetadataManagedProperty -SearchApplication $searchapp -Identity testmanagedproperty
$mp | Set-SPEnterpriseSearchMetadataManagedProperty -EnabledForScoping $True

This example enables the managed property to be used in a scope.

See Also

Reference

New-SPEnterpriseSearchMetadataManagedProperty
Get-SPEnterpriseSearchMetadataManagedProperty
Remove-SPEnterpriseSearchMetadataManagedProperty


Set-SPEnterpriseSearchMetadataMapping
See Also Example
[image]

Published: May 12, 2010

Sets the properties of a managed property mapping for a shared search application.

Set-SPEnterpriseSearchMetadataMapping [-Identity] <MappingPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-CrawledProperty <CrawledPropertyPipeBind>] [-ManagedProperty <ManagedPropertyPipeBind>] [-SearchApplication <SearchServiceApplicationPipeBind>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.Office.Server.Search.Cmdlet.MappingPipeBind

Specifies the metadata mapping to update.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid URL, in the form http://server_name; or an instance of a valid CrawlMapping object.

SearchApplication

Required

Microsoft.Office.Server.Search.Cmdlet.SearchServiceApplicationPipeBind

Specifies the search application that contains the metadata mappings.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid search application name (for example, SearchApp1); or an instance of a valid SearchServiceApplication object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

CrawledProperty

Optional

Microsoft.Office.Server.Search.Cmdlet.CrawledPropertyPipeBind

Specifies the crawled property to map.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid URL, in the form http://server_name; or an instance of a valid CrawledProperty object.

ManagedProperty

Optional

Microsoft.Office.Server.Search.Cmdlet.ManagedPropertyPipeBind

Specifies the managed property to receive the crawled property mapping.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a managed property (for example, ManagedProperty1); or an instance of a valid ManagedProperty object.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Set-SPEnterpriseSearchMetadataMapping cmdlet updates properties of a managed property mapping. SPEnterpriseSearchMetadataMapping represents a snapshot of a mapping between a managed property and one or more crawled properties in the enterprise search metadata property schema.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
$searchapp = Get-SPEnterpriseSearchServiceApplication "SearchApp1"
$mp = Get-SPEnterpriseSearchMetadataManagedProperty -SearchApplication $searchapp -Identity testmanagedproperty
$prop = Get-SPEnterpriseSearchMetadataCrawledProperty -SearchApplication $searchapp -Name testcrawledproperty
Set-SPEnterpriseSearchMetadataMapping -SearchApplication $searchapp -ManagedProperty $mp

This example sets the mapping between the managed property testmanagedproperty and the crawled property testcrawledproperty for the search service application SearchApp1.

See Also

Reference

New-SPEnterpriseSearchMetadataMapping
Get-SPEnterpriseSearchMetadataMapping
Remove-SPEnterpriseSearchMetadataMapping

Other Resources

VARIANT Type Constants


Import-SPEnterpriseSearchTopology
Example
[image]

Published: May 12, 2010

Imports and activates a topology from an XML file.

Import-SPEnterpriseSearchTopology -Filename <String> -SearchApplication <SearchServiceApplicationPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Filename

Optional

System.String

Specifies the path and file name of the topology XML file to import.

The type must be a valid path, in the form MyFeature\Feature.xml.

SearchApplication

Required

Microsoft.Office.Server.Search.Cmdlet.SearchServiceApplicationPipeBind

Specifies the search application to which to apply the topology.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid search application name (for example, SearchApp1); or an instance of a valid SearchServiceApplication object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Import-SPEnterpriseSearchTopology cmdlet imports from an XML file the topology for a shared search application. The Export-SPEnterpriseSearchTopology cmdlet is used to save a search topology.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
$ssa = Get-SPEnterpriseSearchServiceAplication
Import-SPEnterpriseSearchTopology -SearchApplication $ssa -Filename .\topology.xml

This example imports a topology from a file named topology.xml to a search application.


Export-SPEnterpriseSearchTopology
See Also Example
[image]

Published: May 12, 2010

Saves an existing search topology.

Export-SPEnterpriseSearchTopology -Filename <String> -SearchApplication <SearchServiceApplicationPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Filename

Required

System.String

Specifies the path and file name to use to create the topology XML file.

The type must be a valid path, in the form MyFeature\Feature.xml.

SearchApplication

Required

Microsoft.Office.Server.Search.Cmdlet.SearchServiceApplicationPipeBind

Specifies the search application with the topology to export.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid search application name (for example, SearchApp1); or an instance of a valid SearchServiceApplication object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Export-SPEnterpriseSearchTopology cmdlet exports the topology for a shared search application.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
$ssa = Get-SPEnterpriseSearchServiceAplication
Export-SPEnterpriseSearchTopology -SearchApplication $ssa -Filename topology.xml

This example exports the topology of a search service application to a file named topology.xml.

See Also

Reference

Import-SPEnterpriseSearchTopology


Get-SPEnterpriseSearchIndexPartition
See Also Example
[image]

Published: May 12, 2010

Returns an index partition for a query topology.

Get-SPEnterpriseSearchIndexPartition [[-Identity] <IndexPartitionPipeBind>] -QueryTopology <QueryTopologyPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-SearchApplication <SearchServiceApplicationPipeBind>]

Parameters

Parameter Required Type Description

Identity

Optional

Microsoft.Office.Server.Search.Cmdlet.IndexPartitionPipeBind

Specifies the index partition to get.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh, or an instance of a valid IndexPartition object.

QueryTopology

Required

Microsoft.Office.Server.Search.Cmdlet.QueryTopologyPipeBind

Specifies the query topology that contains the index partition collection.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh, or an instance of a valid QueryTopology object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

SearchApplication

Optional

Microsoft.Office.Server.Search.Cmdlet.SearchServiceApplicationPipeBind

Specifies the search application that contains the query topology.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid search application name (for example, SearchApp1); or an instance of a valid SearchServiceApplication object.

Detailed Description

The Get-SPEnterpriseSearchIndexPartition cmdlet returns an index partition for a query topology. Index partitions define how document IDs are mapped to the query components for full-text user queries for a shared search application.

If the Identity parameter is not specified, this cmdlet returns the index partition collection for the specified query topology.

Input Types

Return Types

Example

Copy Code
$searchapp = Get-SPEnterpriseSearchServiceApplication "SearchApp1"
$qtopo = Get-SPEnterpriseSearchQueryTopology -SearchApplication $searchapp
$index = Get-SPEnterpriseSearchIndexPartition -QueryTopology $qtopo

This example retrieves an index partition for the only query topology in the search service application SearchApp1.

See Also

Reference

Set-SPEnterpriseSearchIndexPartition
Get-SPEnterpriseSearchPropertyDatabase


Get-SPEnterpriseSearchLanguageResourcePhrase
See Also Example
[image]

Published: May 12, 2010

Returns a language resource phrase.

Get-SPEnterpriseSearchLanguageResourcePhrase [[-Identity] <LanguageResourcePhrasePipeBind>] -SearchApplication <SearchServiceApplicationPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Language <String>] [-Mapping <String>] [-Type <Nullable>]

Parameters

Parameter Required Type Description

Identity

Optional

Microsoft.Office.Server.Search.Cmdlet.LanguageResourcePhrasePipeBind

Specifies the language resource phrase to get.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a language resource phrase (for example, LanguageResourcePhrase1); or an instance of a valid LanguageResourcePhrase object.

SearchApplication

Required

Microsoft.Office.Server.Search.Cmdlet.SearchServiceApplicationPipeBind

Specifies the search application that contains the language resources.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid search application name (for example, SearchApp1); or an instance of a valid SearchServiceApplication object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Language

Optional

System.String

Filters to return phrases of a specified source language.

The type must be a valid name of a language; for example, en-us or ja-jp.

Mapping

Optional

System.String

Allows a term or phrase to be mapped to another term or phrase. For example, the nickname "John" could be mapped to "Jonathan".

Type

Optional

System.Nullable

Filters to return phrases of a specified type.

The type must be one of the following valid types of phrases:

- QuerySuggestionBlockList

- QuerySuggestionAlwaysSuggest

- SpellingSuggestionBlockList

- SummaryNoiseList

- Nickname

- LastNameMap

- FirstNameMap

- SpellingSuggestionAlwaysSuggest

- CharacterMap

- QuerySuggestionSubstitution

Detailed Description

The Get-SPEnterpriseSearchLanguageResourcePhrase cmdlet reads a LanguageResourcePhrase object when the language resource phrase is created or deleted.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
$searchapp = Get-SPEnterpriseSearchServiceApplication "SearchApp1"
Get-SPEnterpriseSearchLanguageResourcePhrase -SearchApplication $searchapp -Language en-us -Type QuerySuggestionBlockList

This example returns all language resource entries for the en-us language in the QuerySuggestionBlockList type.

See Also

Reference

New-SPEnterpriseSearchLanguageResourcePhrase
Remove-SPEnterpriseSearchLanguageResourcePhrase


Get-SPEnterpriseSearchPropertyDatabase
See Also Example
[image]

Published: May 12, 2010

Returns a property store.

Get-SPEnterpriseSearchPropertyDatabase [[-Identity] <PropertyStorePipeBind>] -SearchApplication <SearchServiceApplicationPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-IndexPartition <IndexPartitionPipeBind>] [-QueryTopology <QueryTopologyPipeBind>]

Parameters

Parameter Required Type Description

Identity

Optional

Microsoft.Office.Server.Search.Cmdlet.PropertyStorePipeBind

Specifies the property store to get.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid property store name (for example, PropertyStore1); or an instance of a valid PropertyStore object.

SearchApplication

Optional

Microsoft.Office.Server.Search.Cmdlet.SearchServiceApplicationPipeBind

Specifies the search application that contains the property store collection.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid search application name (for example, SearchApp1); or an instance of a valid SearchServiceApplication object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

IndexPartition

Optional

Microsoft.Office.Server.Search.Cmdlet.IndexPartitionPipeBind

Specifies the index partition that contains the property store.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh, an ordinal that represents a specific partition, in the form 0, or an instance of a valid IndexPartition object.

QueryTopology

Optional

Microsoft.Office.Server.Search.Cmdlet.QueryTopologyPipeBind

Specifies the query topology that contains the property store.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh, or an instance of a valid QueryTopology object.

Detailed Description

The Get-SPEnterpriseSearchPropertyDatabase cmdlet reads a PropertyStore object for a search service application when the property store is created or updated. The PropertyStore object stores metadata about content for a search service application.

If the Identity parameter is not specified, this cmdlet returns the property store collection for the specified search application.

Input Types

Return Types

Example

-----------------EXAMPLE----------------

Copy Code
$propertyDB = Get-SPEnterpriseSearchPropertyDatabase -SearchApplication
mySearchServiceApp -Identity ExamplePropertyDB

This example obtains a reference to the property database ExamplePropertyDB from the mySearchServiceApp search application.

See Also

Reference

New-SPEnterpriseSearchPropertyDatabase
Set-SPEnterpriseSearchPropertyDatabase
Remove-SPEnterpriseSearchPropertyDatabase


Get-SPEnterpriseSearchSiteHitRule
Example
[image]

Published: May 12, 2010

Returns the shared site hit rule.

Get-SPEnterpriseSearchSiteHitRule [[-Identity] <SiteHitRulePipeBind>] [-AssignmentCollection <SPAssignmentCollection>] [-SearchService <SearchServicePipeBind>]

Parameters

Parameter Required Type Description

Identity

Optional

Microsoft.Office.Server.Search.Cmdlet.SiteHitRulePipeBind

Specifies the site hit rule to get.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh, or an instance of a valid SiteHitRule object.

SearchService

Required

Microsoft.Office.Server.Search.Cmdlet.SearchServicePipeBind

Specifies the search service that hosts the crawler with the specified shared site search rules.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid search application name (for example, SearchApp1); or an instance of a valid SearchServiceApplication object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Detailed Description

The Get-SPEnterpriseSearchSiteHitRule cmdlet reads a SiteHitRule object when the site hit rule is created, updated, or deleted. A SiteHitRule object sets how many crawler sessions (threads) can simultaneously crawl the given site.

If the Identity parameter is not specified, this cmdlet returns the site hit rule collection for the specified search application.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
$shRule = Get-SPEnterpriseSearchSiteHitRule -Identity MySiteHitRule

The following example obtains a reference to the site hit rule with the name MySiteHitRule.


New-SPEnterpriseSearchLanguageResourcePhrase
See Also Example
[image]

Published: May 12, 2010

Adds a language resource phrase to a shared search application.

New-SPEnterpriseSearchLanguageResourcePhrase [-Name] <String> -Language <String> -SearchApplication <SearchServiceApplicationPipeBind> -Type <Nullable> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-Mapping <String>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Name

Required

System.String

Specifies the term to add to the list specified in the Type parameter.

The type must be a valid name of a language resource phrase (for example, LanguageResourcePhrase1).

Language

Required

System.String

Adds the phrase for the specified source language.

The type must be a valid name of a language; for example, en-us or ja-jp.

SearchApplication

Required

Microsoft.Office.Server.Search.Cmdlet.SearchServiceApplicationPipeBind

Specifies the search application that contains the language resources.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid search application name (for example, SearchApp1); or an instance of a valid SearchServiceApplication object.

Type

Required

System.Nullable

Specifies the type of the new phrase.

The type must be one of the following valid types of phrases:

QuerySuggestionBlockList

QuerySuggestionAlwaysSuggest

SpellingSuggestionBlockList

SummaryNoiseList

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

Mapping

Optional

System.String

Allows a term or phrase to be mapped to another term or phrase. For example, the nickname "John" could be mapped to "Jonathan".

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The New-SPEnterpriseSearchLanguageResourcePhrase cmdlet adds a query keyword phrase to a shared search application.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
$searchapp = Get-SPEnterpriseSearchServiceApplication "SearchApp1"
New-SPEnterpriseSearchLanguageResourcePhrase -SearchApplication $searchapp -Language en-us -Type QuerySuggestionBlockList -Name secret

This example adds a new entry to the QuerySuggestionBlockList for the en-us language.

See Also

Reference

Get-SPEnterpriseSearchLanguageResourcePhrase
Remove-SPEnterpriseSearchLanguageResourcePhrase


New-SPEnterpriseSearchPropertyDatabase
See Also Example
[image]

Published: May 12, 2010

Creates a new property store for use by a search service application.

New-SPEnterpriseSearchPropertyDatabase -DatabaseName <String> -SearchApplication <SearchServiceApplicationPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-DatabasePassword <SecureString>] [-DatabaseServer <String>] [-DatabaseUsername <String>] [-FailoverDatabaseServer <String>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

DatabaseName

Required

System.String

Specifies the database for the new property store.

The type must be a valid name of a database; for example, PropertyStoreDB1.

SearchApplication

Required

Microsoft.Office.Server.Search.Cmdlet.SearchServiceApplicationPipeBind

Specifies the search application that contains the property store collection.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid search application name (for example, SearchApp1); or an instance of a valid SearchServiceApplication object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

DatabasePassword

Optional

System.String

Specifies the password of the database associated with the Database Name parameter.

DatabaseServer

Optional

System.String

Specifies the name of the host server for the database that is specified in DatabaseName. The default value is the SQL Server host for the Central Administration database.

The type must be a valid SQL Server host name; for example, SQLServerHost1.

DatabaseUsername

Optional

System.String

Specifies the account name from the Database Server parameter.

FailoverDatabaseServer

Optional

System.String

Specifies the server to be used for failover when SQL Server mirroring is used.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The New-SPEnterpriseSearchPropertyDatabase cmdlet creates a new property store for use by a search service application. This cmdlet is used when the search functionality is initially configured to scale out a search application. The PropertyStore object stores metadata about content for a search service application.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
$searchApp = Get-SPEnterpriseSearchServiceApplication mySearchServiceApp
New-SPEnterpriseSearchPropertyDatabase -SearchApplication $searchApp
-DatabaseName newPropertyDB

This example creates a new property database, newPropertyDB, for the mySearchServiceApp search service application.

See Also

Reference

Get-SPEnterpriseSearchServiceApplication
Set-SPEnterpriseSearchPropertyDatabase
Get-SPEnterpriseSearchPropertyDatabase
Remove-SPEnterpriseSearchPropertyDatabase


New-SPEnterpriseSearchSiteHitRule
See Also Example
[image]

Published: May 12, 2010

Adds a new site hit rule for a search application.

New-SPEnterpriseSearchSiteHitRule [-Name] <String> -Behavior <String> -HitRate <String> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-SearchService <SearchServicePipeBind>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.Office.Server.Search.Cmdlet.SiteHitRulePipeBind

The name of the host to which the site hit rule should be applied.

Behavior

Required

System.String

Defines a rule to be followed when the farm's search service crawls the given site. If a value of zero is specified, the hit rate is the maximum number of simultaneous requests. If a value of 1 is specified, then hit rate is the number of seconds to delay between requests to the server.

HitRate

Required

System.String

Value to use for maximum requests or seconds of delay, according to behavior.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

SearchService

Optional

Microsoft.Office.Server.Search.Cmdlet.SearchServicePipeBind

Specifies the search service in the farm that hosts the crawl.

The type must be an instance of a valid SearchService object; otherwise, the local service on the server that hosts the Windows PowerShell cmdlet will be used.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The New-SPEnterpriseSearchSiteHitRule cmdlet sets the maximum limits for crawling a site. The new site hit rule is used by all search service applications on the current farm.

Input Types

Return Types

Example

----------------EXAMPLE------------------

Copy Code
New-SPEnterpriseSearchSiteHitRule -Identity myHost -Behavior 0
-HitRate 40

This example creates a new site hit rule on the myHost host that limits to 40 the number of simultaneous requests.

See Also

Reference

Get-SPEnterpriseSearchSiteHitRule
Remove-SPEnterpriseSearchSiteHitRule


Remove-SPEnterpriseSearchLanguageResourcePhrase
See Also Example
[image]

Published: May 12, 2010

Deletes a language resource phrase from a shared search application.

Remove-SPEnterpriseSearchLanguageResourcePhrase [-Identity] <LanguageResourcePhrasePipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-Language <String>] [-Mapping <String>] [-SearchApplication <SearchServiceApplicationPipeBind>] [-Type <Nullable>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.Office.Server.Search.Cmdlet.LanguageResourcePhrasePipeBind

The language resource phrase to delete.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a language resource phrase (for example, LanguageResourcePhrase1); or an instance of a valid LanguageResourcePhrase object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

Language

Optional

System.String

Deletes phrases of the specified language only.

The type must be a valid name of a language; for example, en_us.

SearchApplication

Optional

Microsoft.Office.Server.Search.Cmdlet.SearchServiceApplicationPipeBind

Specifies the search application that contains the language resources.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid search application name (for example, SearchApp1); or an instance of a valid SearchServiceApplication object.

Type

Optional

System.Nullable

Constrains to delete phrases of specified type.

The type must be one of the following valid types of phrases:

  • QuerySuggestionBlockList

  • QuerySuggestionAlwaysSuggest

  • SpellingSuggestionBlockList

  • SummaryNoiseList

Mapping

Optional

System.String

Allows a term or phrase to be mapped to another term or phrase. For example, the nickname "John" could be mapped to "Jonathan".

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Remove-SPEnterpriseSearchLanguageResourcePhrase cmdlet deletes one or more language resource phrases from the collection of language resource phrases in a shared search application.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
$searchapp = Get-SPEnterpriseSearchServiceApplication "SearchApp1"
$obsoletephrase = Get-SPEnterpriseSearchLanguageResourcePhrase -SearchApplication $searchapp -Language en-us -Type QuerySuggestionBlockList -Identity secret
$obsoletephrase | Remove-SPEnterpriseSearchLanguageResourcePhrase -SearchApplication $searchapp -Type QuerySuggestionBlockList -Language en-us

This example removes a language resource item on the QuerySuggestionBlockList for the en-us language.

See Also

Reference

Get-SPEnterpriseSearchLanguageResourcePhrase
New-SPEnterpriseSearchLanguageResourcePhrase


Remove-SPEnterpriseSearchPropertyDatabase
See Also Example
[image]

Published: May 12, 2010

Deletes a property store.

Remove-SPEnterpriseSearchPropertyDatabase [-Identity] <PropertyStorePipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-SearchApplication <SearchServiceApplicationPipeBind>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.Office.Server.Search.Cmdlet.PropertyStorePipeBind

Specifies the property store to delete.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid property store name (for example, PropertyStore1); or an instance of a valid PropertyStore object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

SearchApplication

Optional

Microsoft.Office.Server.Search.Cmdlet.SearchServiceApplicationPipeBind

Specifies the search application that contains the property store collection.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid search application name (for example, SearchApp1); or an instance of a valid SearchServiceApplication object.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Remove-SPEnterpriseSearchPropertyDatabase cmdlet deletes a specified property store from the property store collection. A property store stores metadata about content for a search service application.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
Remove-SPEnterpriseSearchPropertyDatabase -Identity PropertyDB
-SearchApplication mySearchServiceApp

This example removes the property database, PropertyDB, from the mySearchServiceApp search service application.

See Also

Reference

Get-SPEnterpriseSearchPropertyDatabase
New-SPEnterpriseSearchPropertyDatabase
Set-SPEnterpriseSearchPropertyDatabase


Remove-SPEnterpriseSearchSiteHitRule
See Also Example
[image]

Published: May 12, 2010

Deletes a site hit rule.

Remove-SPEnterpriseSearchSiteHitRule [-Identity] <SiteHitRulePipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-SearchService <SearchServicePipeBind>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.Office.Server.Search.Cmdlet.SiteHitRulePipeBind

The rule that is used for the specified site.

The type must be a valid site hit rule host or an instance of a valid SiteHitRule object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

SearchService

Optional

Microsoft.Office.Server.Search.Cmdlet.SearchServicePipeBind

Specifies the search service in the farm that hosts the crawl.

The type must be an instance of a valid SearchService object; otherwise, the local service on the server that hosts the Windows PowerShell cmdlet is used.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Remove-SPEnterpriseSearchSiteHitRule cmdlet deletes the site hit rule that controls the number of threads used to crawl a given site.

Input Types

Return Types

Example

------------------EXAMPLE-------------------

Copy Code
Remove-SPEnterpriseSearchSiteHitRule -Identity myHost

This example removes a site hit rule for the myHost host.

See Also

Reference

Get-SPEnterpriseSearchSiteHitRule
New-SPEnterpriseSearchSiteHitRule


Set-SPEnterpriseSearchIndexPartition
See Also Example
[image]

Published: May 12, 2010

Sets properties of an index partition for a query topology.

Set-SPEnterpriseSearchIndexPartition [-Identity] <IndexPartitionPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-PropertyDatabase <PropertyStorePipeBind>] [-QueryTopology <QueryTopologyPipeBind>] [-SearchApplication <SearchServiceApplicationPipeBind>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.Office.Server.Search.Cmdlet.IndexPartitionPipeBind

Specifies the index partition to update.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh, or an instance of a valid IndexPartition object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

PropertyDatabase

Optional

Microsoft.Office.Server.Search.Cmdlet.PropertyStorePipeBind

Specifies the property store to update.

A valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid property store name (for example, PropertyStore1); or an instance of a valid PropertyStore object.

QueryTopology

Optional

Microsoft.Office.Server.Search.Cmdlet.QueryTopologyPipeBind

Specifies the query topology that contains the index partition collection.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh, or an instance of a valid QueryTopology object.

SearchApplication

Optional

Microsoft.Office.Server.Search.Cmdlet.SearchServiceApplicationPipeBind

Specifies the search application that contains the query topology.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid search application name (for example, SearchApp1); or an instance of a valid SearchServiceApplication object.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Set-SPEnterpriseSearchIndexPartition cmdlet updates properties of an index partition. Index partitions define how document identifiers (IDs) are mapped to the query components for full-text user queries for a shared search application.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
$searchapp = Get-SPEnterpriseSearchServiceApplication "SearchApp1"
$qtopo = Get-SPEnterpriseSearchQueryTopology -SearchApplication $searchapp
$qtopo2 = New-SPEnterpriseSearchQueryTopology -SearchApplication $searchapp -QueryTopology $qtopo -Clone
$index = Get-SPEnterpriseSearchIndexPartition -QueryTopology $qtopo2
$newpropstore = New-SPEnterpriseSearchPropertyDatabase -SearchApplication $searchapp -DatabaseName New_Property_Database
$index | Set-SPEnterpriseSearchIndexPartition -PropertyDatabase New_Property_Database
$qtopo2 | Set-SPEnterpriseSearchQueryTopology -Active

This example modifies the index partition by replacing the property database with a new database.

See Also

Reference

Get-SPEnterpriseSearchIndexPartition
Get-SPEnterpriseSearchQueryTopology


Set-SPEnterpriseSearchPropertyDatabase
See Also Example
[image]

Published: May 12, 2010

Modifies properties for a property store.

Set-SPEnterpriseSearchPropertyDatabase [-Identity] <PropertyStorePipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-DatabaseName <String>] [-DatabasePassword <SecureString>] [-DatabaseServer <String>] [-DatabaseUsername <String>] [-FailoverDatabaseServer <String>] [-SearchApplication <SearchServiceApplicationPipeBind>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.Office.Server.Search.Cmdlet.PropertyStorePipeBind

Specifies the property database to modify.

The value must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid property store name (for example, PropertyStore1); or an instance of a valid PropertyStore object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

FailoverDatabaseServer

Optional

System.String

Specifies the server that is used for failover when SQL Server mirroring is used.

SearchApplication

Optional

Microsoft.Office.Server.Search.Cmdlet.SearchServiceApplicationPipeBind

Specifies the search application that contains the property database.

The value must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid search application name (for example, SearchApp1); or an instance of a valid SearchServiceApplication object.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Set-SPEnterpriseSearchPropertyDatabase cmdlet modifies properties for a specified property store in the property store collection. A property store stores metadata about content for a search service application.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
$searchApp = Get-SPEnterpriseSearchServiceApplication mySearchServiceApp
Set-SPEnterpriseSearchPropertyDatabase -Identity PropertyStore-1
-SearchApplication $searchApp -FailoverDatabaseServer \\failoverServer

This example sets the failover database server for the property database, PropertyStore-1, to the \\failoverServer server.

See Also

Reference

Get-SPEnterpriseSearchPropertyDatabase
New-SPEnterpriseSearchPropertyDatabase
Remove-SPEnterpriseSearchPropertyDatabase


Get-SPEnterpriseSearchExtendedConnectorProperty
See Also Example
[image]

Published: May 12, 2010

Returns the value of the property of the search service application.

Get-SPEnterpriseSearchExtendedConnectorProperty [[-Identity] <ExtendedConnectorPropertyPipeBind>] -SearchApplication <SearchServiceApplicationPipeBind> [-AssignmentCollection <SPAssignmentCollection>]

Parameters

Parameter Required Type Description

Identity

Optional

Microsoft.Office.Server.Search.Cmdlet.ExtendedConnectorPropertyPipeBind

Specifies the name of the property to get.The most common property to retrieve is ContentDistributor.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh, or an instance of a valid ExtendedConnectorProperty object.

SearchApplication

Required

Microsoft.Office.Server.Search.Cmdlet.SearchServiceApplicationPipeBind

Specifies the search application that contains the administration component.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid search application name (for example, SearchApp1); or an instance of a valid SearchServiceApplication object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Detailed Description

Use the Get-SPEnterpriseSearchExtendedConnectorProperty cmdlet to return the value of the property of a search service application specified by the Identity parameter. The most common property to retrieve is ContentDistributor. This cmdlet is only valid for a search service application of ExtendedConnector type.

Input Types

Return Types

Example

-------------EXAMPLE 1---------------

Copy Code
Get-SPEnterpriseSearchExtendedConnectorProperty -Identity "ContentDistributor" -SearchApplication "Search Service Application"

This example retrieves the value of the ContentDistributor property.

-------------EXAMPLE 2---------------

Copy Code
Get-SPEnterpriseSearchExtendedConnectorProperty -SearchApplication "Search Service Application"

This example retrieves all the extended connector properties, and their values, of the mySearchServiceApp search service application.

See Also

Reference

Remove-SPEnterpriseSearchExtendedConnectorProperty
Set-SPEnterpriseSearchExtendedConnectorProperty
New-SPEnterpriseSearchExtendedConnectorProperty


New-SPEnterpriseSearchExtendedConnectorProperty
Example
[image]

Published: May 12, 2010

Adds new Extended Connector properties.

New-SPEnterpriseSearchExtendedConnectorProperty -Name <String> -SearchApplication <SearchServiceApplicationPipeBind> -Value <String> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Name

Required

System.String

Specifies the name of the new Extended Connector property.

SearchApplication

Required

Microsoft.Office.Server.Search.Cmdlet.SearchServiceApplicationPipeBind

Specifies the name of the Search application to add the new Extended Connector property.

Value

Required

System.String

Specifies the value of the Extended Connector property.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

Use the New-SPEnterpriseSearchExtendedConnectorProperty cmdlet to add a new Search Extended Connector property.

Input Types

Return Types

Example

----------------EXAMPLE----------------------

Copy Code


Set-SPEnterpriseSearchExtendedConnectorProperty
See Also Example
[image]

Published: May 12, 2010

Sets the value of an ExtendedConnector object.

Set-SPEnterpriseSearchExtendedConnectorProperty [-Identity] <ExtendedConnectorPropertyPipeBind> -Value <String> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-SearchApplication <SearchServiceApplicationPipeBind>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.Office.Server.Search.Cmdlet.ExtendedConnectorPropertyPipeBind

Specifies the name of the property to update.The most common property to set is ContentDistributor.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh, or an instance of a valid ExtendedConnectorProperty object.

Value

Required

System.String

Specifies the format for ContentDistributor in the form of a fully qualified domain name followed by the port number.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

SearchApplication

Optional

Microsoft.Office.Server.Search.Cmdlet.SearchServiceApplicationPipeBind

Specifies the search application that contains the administration component.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid search application name (for example, SearchApp1); or an instance of a valid SearchServiceApplication object.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Set-SPEnterpriseSearchExtendedConnectorProperty cmdlet sets the value of the ExtendedConnetor object. The most common property to set is ContentDistributor. This cmdlet is valid only for a SearchServiceApplication object whose search application type is an ExtendedConnector property.

Input Types

Return Types

Example

--------------EXAMPLE--------------

Copy Code
Set-SPEnterpriseSearchExtendedConnectorProperty -Identity "ContentDistributor" -Value "server.example.com:16100" -SearchApplication "mySearchServiceApp"

This example sets the value of the ContentDistributor property for the mySearchServiceApp search service application.

See Also

Reference

New-SPEnterpriseSearchExtendedConnectorProperty
Get-SPEnterpriseSearchExtendedConnectorProperty
Remove-SPEnterpriseSearchExtendedConnectorProperty


Remove-SPEnterpriseSearchExtendedConnectorProperty
See Also Example
[image]

Published: May 12, 2010

Removes properties of search service applications of ExtendedConnector type.

Remove-SPEnterpriseSearchExtendedConnectorProperty [-Identity] <ExtendedConnectorPropertyPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-SearchApplication <SearchServiceApplicationPipeBind>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type

Identity

Required

Microsoft.Office.Server.Search.Cmdlet.ExtendedConnectorPropertyPipeBind

Specifies the extended connector property to delete.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of an extended connector property (for example, ExtendedConnectorProp1), or an instance of a valid ExtendedConnectorProperty object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

SearchApplication

Optional

Microsoft.Office.Server.Search.Cmdlet.SearchServiceApplicationPipeBind

Specifies the search application that contains the property to delete.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid search application name (for example, SearchApp1); or an instance of a valid SearchServiceApplication object.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Remove-SPEnterpriseSearchExtendedConnectorProperty cmdlet removes previously set properties of the search application of ExtendedConnector type. The extended connector property to be removed must be passed either as an object returned by the Get-SPEnterpriseSearchExtendedQueryProperty cmdlet or by the property name together with a search service application that contains this property.

Input Types

Return Types

Example

------------------EXAMPLE 1------------------

Copy Code
$scApp | Remove-SPEnterpriseExtendedConnectorProperty -Identity ExtendedConnectorProp1

This example deletes the extended connector property ExtendedConnectorProp1. $scApp is an instance of a search application of ExtendedConnector type.

------------------EXAMPLE 2-----------------

Copy Code
Remove-SPEnterpriseExtendedConnectorProperty -Identity ExtendedConnectorProp1 -SearchApplication $scApp

This example deletes the extended connector property ExtendedConnectorProp1. $scApp is an instance of a search application of ExtendedConnector type.

------------------EXAMPLE 3------------------

Copy Code
Remove-SPEnterpriseExtendedConnectorProperty -Identity ExtendedConnectorProp1 -SearchApplication SSA1

This example deletes the extended connector property ExtendedConnectorProp1. SSA1 is an instance of a search application of ExtendedConnector type.

------------------EXAMPLE 4------------------

Copy Code
Remove-SPEnterpriseExtendedConnectorProperty -Identity $ExtendedConnectorProp1

This example deletes the extended connector property ExtendedConnectorProp1. $ExtendedConnectorProp1 is an instance of a search application of ExtendedConnector type.

See Also

Reference

Get-SPEnterpriseSearchExtendedConnectorProperty
New-SPEnterpriseSearchExtendedConnectorProperty
Set-SPEnterpriseSearchExtendedConnectorProperty


Set-SPEnterpriseSearchExtendedQueryProperty
Example
[image]

Published: May 12, 2010

Sets FAST Search for SharePoint service-specific properties.

Set-SPEnterpriseSearchExtendedQueryProperty [-Identity] <ExtendedPropertyPipeBind> -SearchApplication <SearchServiceApplicationPipeBind> -Value <Object> [-AssignmentCollection <SPAssignmentCollection>] [-Farm <SPFarmPipeBind>]

Parameters

Parameter Required Type Description

Identity

Optional

Microsoft.Office.Server.Search.Cmdlet.ExtendedPropertyPipeBind

SearchApplication

Required

Microsoft.Office.Server.Search.Cmdlet.SearchServiceApplicationPipeBind

Specifies the search application that contains the administration component.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid search application name (for example, SearchApp1); or an instance of a valid SearchServiceApplication object.

Value

Required

System.Object

Specifies the value to assign to the property indicated by the Identity parameter.

The expected format for FASTSearchQueryServiceLocation, FASTSearchAdminServiceLocation, and FASTSearchResourceStoreLocation is server name followed by the port number.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Detailed Description

The Set-SPEnterpriseSearchExtendedQueryProperty cmdlet updates properties used in a specific FAST Search for SharePoint search service application. The properties are needed to connect your deployment with a FAST Search Server back end and retain information about the location of the FAST Search Query Service and the FAST Search Admin Service. To get available properties, see Get-SPEnterpriseSearchExtendedQueryProperty.

Input Types

Return Types

Example

-------------EXAMPLE 1------------

Copy Code
Set-SPEnterpriseSearchExtendedQueryProperty -SearchApplication "mySearchServiceApp" -Identity "FASTSearchQueryServiceLocation" -Value "fastsearchquery.contoso.com:13285"

This example sets the location of the FAST Search Query Service to fastsearchquery.contoso.com port 13285.

-------------EXAMPLE 2------------

Copy Code
Set-SPEnterpriseSearchExtendedQueryProperty -SearchApplication "mySearchServiceApp" -Identity "FASTSearchAdminServiceLocation" -Value "fastsearchadmin.contoso.com:13256"

This example sets the location of the FAST Search Admin Service to fastsearchadmin.contoso.com port 13256.

-------------EXAMPLE 3------------

Copy Code
Set-SPEnterpriseSearchExtendedQueryProperty -SearchApplication "mySearchServiceApp" -Identity "FASTSearchResourceStoreLocation" -Value "http://fastsearchadmin.contoso.com:13255"

This example sets the location of the FAST Search Resource Store to fastsearchadmin.contoso.com port 13255.


Get-SPEnterpriseSearchExtendedQueryProperty
See Also Example
[image]

Published: May 12, 2010

Returns the properties used for connecting SharePoint to a FAST Search for SharePoint service.

Get-SPEnterpriseSearchExtendedQueryProperty [[-Identity] <ExtendedPropertyPipeBind>] -SearchApplication <SearchServiceApplicationPipeBind> [-AssignmentCollection <SPAssignmentCollection>]

Parameters

Parameter Required Type Description

Identity

Optional

Microsoft.Office.Server.Search.Cmdlet.ExtendedPropertyPipeBind

Specifies the property to get.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid URL, in the form http://server_name; or an instance of a valid ExtendedProperty object.

SearchApplication

Required

Microsoft.Office.Server.Search.Cmdlet.SearchServiceApplicationPipeBind

Specifies the search application that contains the query property.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid search application name (for example, SearchApp1); or an instance of a valid SearchServiceApplication object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Detailed Description

The Get-SPEnterpriseSearchExtendedQueryProperty cmdlet gets properties that are used for connecting SharePoint to a FAST Search for a SharePoint specific service. If the Identity parameter is not specified, this cmdlet returns all properties and their values for the specified search application.

Input Types

Return Types

Example

------------------EXAMPLE 1------------------

Copy Code
Get-SPEnterpriseSearchExtendedQueryProperty -SearchApplication "mySearchServiceApp "

This example gets all FAST Search for SharePoint service connection properties for the mySearchServiceApp search service application.

------------------EXAMPLE 2------------------

Copy Code
Get-SPEnterpriseSearchExtendedQueryProperty -SearchApplication "mySearchServiceApp" -Identity "FASTSearchQueryServiceLocation"

This example gets the property that specifies the location of the FAST Search Query Service for the mySearchServiceApp search service application.

See Also

Reference

Set-SPEnterpriseSearchExtendedQueryProperty
Get-SPEnterpriseSearchExtendedClickThroughExtractorJobDefinition
Get-SPEnterpriseSearchExtendedConnectorProperty


Get-SPEnterpriseSearchExtendedClickThroughExtractorJobDefinition
Example
[image]

Published: May 12, 2010

Gets an object representing the click-through extractor-job instance of a specific FAST Search for SharePoint search service application.

Get-SPEnterpriseSearchExtendedClickThroughExtractorJobDefinition -SearchApplication <SearchServiceApplicationPipeBind> [-AssignmentCollection <SPAssignmentCollection>]

Parameters

Parameter Required Type Description

SearchApplication

Required

Microsoft.Office.Server.Search.Cmdlet.SearchServiceApplicationPipeBind

Specifies the search application that contains the administration component.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid search application name (for example, SearchApp1); or an instance of a valid SearchServiceApplication object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Detailed Description

The Get-SPEnterpriseSearchExtendedClickThroughExtractorJobDefinition cmdlet gets an object that represents the FAST Search for SharePoint click-through extractor-job definition.

Input Types

Return Types

Example

-------------EXAMPLE---------------

Copy Code
Get-SPEnterpriseSearchExtendedClickThroughExtractorJobDefinition -SearchApplication "mySearchServiceApp"

This example retrieves the click-through extractor-job definition for the mySearchServiceApp search service application and displays its information.


Secure Store service cmdlets (SharePoint Server 2010)
See Also

In Microsoft SharePoint Server 2010, the Secure Store Service replaces the single sign-on (SSO) service that was used in Microsoft Office SharePoint Server 2007. The Secure Store Service is a claims-aware authentication service that includes a secure database for storing credentials that are associated with application IDs. These application IDs can be used to authorize access to external data sources. The Secure Store Service provides the capability of securely storing credentials and associating them to specific identities or a group of identities. A common scenario for Secure Store Service is an application trying to authenticate against a system in which the current user is known by a different name or has a different account for authentication. When used with Microsoft Business Connectivity Services, the Secure Store Service provides a means to authenticate against external data sources.

When you use Windows PowerShell cmdlets, you can create and configure a Secure Store Service instance, configure the settings of a credentials database, and configure all global settings of the Secure Store Service.

Cmdlet name | Description
Clear-SPSecureStoreCredentialMapping | Deletes a credential mapping from a Secure Store Service application.
Clear-SPSecureStoreDefaultProvider | Clears the secure store provider.
Disable-SPSingleSignOn | Disables the single sign-on (SSO) service on a farm server.
Get-SPSecureStoreApplication | Returns a Secure Store application.
New-SPSecureStoreApplication | Creates a new Secure Store application.
New-SPSecureStoreApplicationField | Creates a new Secure Store application fields object.
New-SPSecureStoreServiceApplication | Creates a new Secure Store Service application in the farm.
New-SPSecureStoreServiceApplicationProxy | Creates a new Secure Store Service application proxy in the farm.
New-SPSecureStoreTargetApplication | Creates a new Secure Store target application.
Remove-SPSecureStoreApplication | Deletes a Secure Store application.
Set-SPSecureStoreApplication | Sets properties of a Secure Store application.
Set-SPSecureStoreDefaultProvider | Sets or updates the secure store provider.
Set-SPSecureStoreServiceApplication | Sets properties of a Secure Store Service application in the farm.
Update-SPSecureStoreApplicationServerKey | Synchronizes the key on a server running SharePoint Server by using the Secure Store master key.
Update-SPSecureStoreCredentialMapping | Sets a new credential mapping for a Secure Store Service application.
Update-SPSecureStoreGroupCredentialMapping | Sets a new group credential mapping for a Secure Store Service application.
Update-SPSecureStoreMasterKey | Changes the master key of a Secure Store Service application.
Upgrade-SPSingleSignOnDatabase | Migrates the application definitions from single sign-on (SSO) database to Secure Store database as target applications.

See Also

Other Resources

Resource Center: Windows PowerShell for SharePoint Server 2010


Clear-SPSecureStoreCredentialMapping
See Also Example
[image]

Published: May 12, 2010

Deletes a credential mapping from a Secure Store Service application.

Clear-SPSecureStoreCredentialMapping -Identity <SPSecureStoreApplication> -Principal <SPClaim> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-WhatIf [<SwitchParameter>]]
Clear-SPSecureStoreCredentialMapping -All <SwitchParameter> -Principal <SPClaim> -ServiceContext <SPServiceContextPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-WhatIf [<SwitchParameter>]]

Parameters

1

Parameter

Required

Type

Description

Identity

Required

Microsoft.Office.SecureStoreService.PowerShellCmdlet.SPSecureStoreApplication

Specifies the Secure Store application (that contains the principal) from which to delete the credential mapping.

Principal

Required

Microsoft.SharePoint.SPClaim

Specifies the SPClaims object that contains the principal.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

2

Parameter

Required

Type

Description

All

Required

System.Management.Automation.SwitchParameter

Specifies that the principal is deleted from all Secure Store applications.

Principal

Required

Microsoft.SharePoint.SPClaim

Specifies the SPClaims object that contains the principal.

ServiceContext

Required

Microsoft.SharePoint.PowerShell.SPServiceContextPipeBind

Specifies the service context for which the credential mapping will be deleted.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

This cmdlet contains more than one parameter set. You may only use parameters from one parameter set, and you may not combine parameters from different parameter sets. For more information about how to use parameter sets, see Cmdlet Parameter Sets.

The Clear-SPSecureStoreCredentialMapping cmdlet deletes a credential mapping from a Secure Store application.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
$ssApp = Get-SPSecureStoreApplication -ServiceContext http://contoso -Name "ContosoTargetApplication"
Copy Code
$userClaim = New-SPClaimsPrincipal -Identity "CONTOSO\janedoe" -IdentityType WindowsSamAccountName
Copy Code
Clear-SPSecureStoreCredentialMapping -Identity $ssApp -Principal $userClaim

This example deletes the credential mapping from the target application ContosoTargetApplication for the user with alias johndoe and domain CONTOSO.

See Also

Reference

Update-SPSecureStoreCredentialMapping


Clear-SPSecureStoreDefaultProvider
See Also Example
[image]

Published: May 12, 2010

Clears the secure store provider.

Clear-SPSecureStoreDefaultProvider [-AssignmentCollection <SPAssignmentCollection>]

Parameters

Parameter Required Type Description

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Detailed Description

The Clear-SPSecureStoreDefaultProvider cmdlet clears the secure store provider.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
Clear-SPSecureStoreDefaultProvider

This example clears the secure store provider.

See Also

Reference

Set-SPSecureStoreDefaultProvider


Disable-SPSingleSignOn
See Also Example
[image]

Published: May 12, 2010

Disables the single sign-on (SSO) Service on a farm server.

Disable-SPSingleSignOn -ServerName <String> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

ServerName

Required

System.String

Specifies the name of the server in which the service is running.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

Use the Disable-SPSingleSignOn cmdlet to disable the SSO Service on a farm server.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
Disable-SPSingleSignOn myOldSSO -ServerName CONTOSO

This example turns off the SSO Service on the server named CONTOSO.

See Also

Reference

Upgrade-SPSingleSignOnDatabase


Get-SPSecureStoreApplication
See Also Example
[image]

Published: May 12, 2010

Returns a Secure Store application.

Get-SPSecureStoreApplication -Name <String> -ServiceContext <SPServiceContextPipeBind> [-AssignmentCollection <SPAssignmentCollection>]
Get-SPSecureStoreApplication -All <SwitchParameter> -ServiceContext <SPServiceContextPipeBind> [-AssignmentCollection <SPAssignmentCollection>]

Parameters

1

Parameter

Required

Type

Description

Name

Required

System.String

Specifies the name of the Secure Store application to get.

ServiceContext

Required

Microsoft.SharePoint.PowerShell.SPServiceContextPipeBind

Specifies the service context for the local Secure Store application to connect to.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

2

Parameter

Required

Type

Description

ServiceContext

Required

Microsoft.SharePoint.PowerShell.SPServiceContextPipeBind

Specifies the service context for the local Secure Store application to connect to.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Detailed Description

This cmdlet contains more than one parameter set. You may only use parameters from one parameter set, and you may not combine parameters from different parameter sets. For more information about how to use parameter sets, see Cmdlet Parameter Sets.

The Get-SPSecureStoreApplication cmdlet returns a Secure Store application.

Input Types

Return Types

Example

------------------EXAMPLE 1------------------

Copy Code
$ssApp = Get-SPSecureStoreApplication -ServiceContext http://contoso -Name "ContosoTargetApplication"

This example gets the Secure Store application for the target application with the name ContosoTargetApplication.

------------------EXAMPLE 2------------------

Copy Code
Get-SPSecureStoreApplication -ServiceContext http://contoso -All

This example returns all of the Secure Store applicationshttp://contoso.

See Also

Reference

New-SPSecureStoreApplication
Set-SPSecureStoreApplication
Remove-SPSecureStoreApplication
Update-SPSecureStoreApplicationServerKey


New-SPSecureStoreApplication
See Also Example
[image]

Published: May 12, 2010

Creates a new Secure Store application.

New-SPSecureStoreApplication -Fields <TargetApplicationField[]> -ServiceContext <SPServiceContextPipeBind> -TargetApplication <TargetApplication> [-Administrator <SPClaim[]>] [-AssignmentCollection <SPAssignmentCollection>] [-CredentialsOwnerGroup <SPClaim[]>] [-TicketRedeemer <SPClaim[]>]

Parameters

Parameter Required Type Description

ServiceContext

Required

Microsoft.SharePoint.PowerShell.SPServiceContextPipeBind

Specifies the service context for the target application.

TargetApplication

Required

Microsoft.Office.SecureStoreService.Server.TargetApplication

Specifies information about the target application. For example, the TargetApplication object includes data values for application name, display name, contact info, enable ticketing flag, and URL address to set the credential. The schema for the TargetApplication object is defined in the ISecureSToreProviderExtended interface that exposes the target application metadata.

Administrator

Optional

Microsoft.SharePoint.SPClaim[]

Specifies the administrator of the new Secure Store application.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

CredentialsOwnerGroup

Optional

Microsoft.SharePoint.SPClaim[]

Specifies the claims object for the groups that own the group credentials.

Fields

Optional

Microsoft.Office.SecureStoreService.Server.TargetApplicationField[]

Specifies the field information for the application. The default fields are username and password.

TicketRedeemer

Optional

Microsoft.SharePoint.SPClaim[]

Specifies the ticket redeemer claim value.

Detailed Description

The New-SPSecureStoreApplication cmdlet creates a new Secure Store application.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
$usernameField = New-SPSecureStoreApplicationField -Name "UserName" -Type WindowsUserName -Masked:$false

$passwordField = New-SPSecureStoreApplicationField -Name "Password" -Type WindowsPassword -Masked:$true

$fields = $usernameField,$passwordField

$userClaim = New-SPClaimsPrincipal -Identity "CONTOSO\janedoe" -IdentityType WindowsSamAccountName

$contosoTargetApp = New-SPSecureStoreTargetApplication -Name "ContosoTargetApplication" -FriendlyName "Contoso Target Application" -ApplicationType Group

New-SPSecureStoreApplication -ServiceContext http://contoso -TargetApplication $contosoTargetApp -Fields $fields -Administrator $claimUser

This example creates a new group target application ContosoTargetApplication, and then a new application for that target application. This new application has two fields; UserName of type WindowsUserName, and Password of type WindowsPassword. The user with identity janedoe on the CONTOSO domain is set as the target application administrator.

See Also

Reference

Get-SPSecureStoreApplication
Set-SPSecureStoreApplication
Remove-SPSecureStoreApplication


New-SPSecureStoreApplicationField
See Also Example
[image]

Published: May 12, 2010

Creates a new Secure Store application fields object.

New-SPSecureStoreApplicationField -Masked <SwitchParameter> -Name <String> -Type <UserName | Password | Pin | Key | Generic | WindowsUserName | WindowsPassword> [-AssignmentCollection <SPAssignmentCollection>]

Parameters

Parameter Required Type Description

Masked

Required

System.Management.Automation.SwitchParameter

Masks the visible characters that are typed in the field.

Name

Required

System.String

Specifies the name of the new target application field.

Type

Required

Microsoft.BusinessData.Infrastructure.SecureStore.SecureStoreCredentialType

Specifies the type of credential field to add to a target application.

The type must be one of the following: UserName, Password, Pin, Key, Generic, WindowsUserName, or WindowsPassword.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Detailed Description

The New-SPSecureStoreApplicationField cmdlet creates a new Secure Store application field object for a target application.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
New-SPSecureStoreApplicationField -Name "UserName" -Type WindowsUserName -Masked:$false

This example creates a new credential field of type WindowsUserName with the name UserName, and the masked property (which when true will hide characters as they are typed in by the user) set to false. This cmdlet is typically used in conjunction with the New-SPSecureStoreApplication cmdlet.

See Also

Reference

New-SPSecureStoreTargetApplication
New-SPSecureStoreApplication


New-SPSecureStoreServiceApplication
See Also Example
[image]

Published: May 12, 2010

Creates a new Secure Store Service application in the farm.

New-SPSecureStoreServiceApplication -ApplicationPool <SPIisWebServiceApplicationPoolPipeBind> -AuditingEnabled <SwitchParameter> [-AssignmentCollection <SPAssignmentCollection>] [-AuditlogMaxSize <Nullable>] [-Confirm [<SwitchParameter>]] [-DatabaseCredentials <PSCredential>] [-DatabaseName <String>] [-DatabasePassword <SecureString>] [-DatabaseServer <String>] [-DatabaseUsername <String>] [-FailoverDatabaseServer <String>] [-Name <String>] [-PartitionMode <SwitchParameter>] [-Sharing <SwitchParameter>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

ApplicationPool

Required

Microsoft.SharePoint.Administration.SPIisWebServiceApplicationPool

Specifies the existing IIS application pool to run the Web service in for the new service application.

AuditingEnabled

Required

System.Management.Automation.SwitchParameter

Turns on auditing for the Secure Store Service.

Name

Required

System.String

Specifies the name of the new Secure Store Service application.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

AuditlogMaxSize

Optional

System.Nullable

Specifies the number of days to retain the audit log.

The type must be a valid integer.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

DatabaseCredentials

Optional

System.Management.Automation.PSCredential

Specifies the PSCredential object that contains the user name and password to be used for database SQL authentication.

DatabaseName

Optional

System.String

Specifies the name of the Secure Store service database.

DatabasePassword

Optional

System.Security.SecureString

Specifies the password for the user specified in DatabaseUserName. Use this parameter only if SQL authentication is used to access the metadata service application database.

DatabaseServer

Optional

System.String

Specifies the name of the host server for the database specified in DatabaseName.

DatabaseUsername

Optional

System.String

Specifies the user name to use for connecting to the database for the Secure Store service application. Use this parameter only if SQL authentication is used to access the service application database.

FailoverDatabaseServer

Optional

System.String

Specifies the name of the host server for the failover database server.

PartitionMode

Optional

System.Management.Automation.SwitchParameter

Specifies that the service application restricts data by subscription ID. This property cannot be changed after the service application is created.

Sharing

Optional

System.Management.Automation.SwitchParameter

Specifies that the Secure Store service application is published and shared across the farm.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The New-SPSecureStoreServiceApplication cmdlet creates a new Secure Store Service application in the farm.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
New-SPSecureStoreServiceApplication -ApplicationPool "SharePoint Web Services Default" -AuditingEnabled:$false -DatabaseServer "CONTOSO\SharePoint" -DatabaseName "ContosoSSDatabase"-Name "Contoso Secure Store"

This example creates a new Secure Store Service application with the name Contoso Secure Store with auditing disabled, and creates a database with the name ContosoSSDatabase on the given database server for use with the service application.

See Also

Reference

Set-SPSecureStoreServiceApplication
New-SPSecureStoreServiceApplicationProxy


New-SPSecureStoreServiceApplicationProxy
See Also Example
[image]

Published: May 12, 2010

Creates a new Secure Store Service application proxy in the farm.

New-SPSecureStoreServiceApplicationProxy -Uri <Uri> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-DefaultProxyGroup <SwitchParameter>] [-Name <String>] [-WhatIf [<SwitchParameter>]]
New-SPSecureStoreServiceApplicationProxy -ServiceApplication <SPServiceApplicationPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-DefaultProxyGroup <SwitchParameter>] [-Name <String>] [-WhatIf [<SwitchParameter>]]

Parameters

1

Parameter

Required

Type

Description

Uri

Required

System.Uri

Specifies the URI of a remote Secure Store Service application associated with the new proxy.

The type must be a valid URI, in the form file:\\server_name\sitedocs.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

DefaultProxyGroup

Optional

System.Management.Automation.SwitchParameter

Specifies that the service application proxy be added to the farm's default proxy group.

Name

Optional

System.String

Specifies the name of the new service application proxy to create.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

2

Parameter

Required

Type

Description

ServiceApplication

Required

Microsoft.SharePoint.PowerShell.SPServiceApplicationPipeBind

Specifies the local Secure Store Service application associated with the new proxy.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

DefaultProxyGroup

Optional

System.Management.Automation.SwitchParameter

Specifies that the service application proxy be added to the farm's default proxy group.

Name

Optional

System.String

Specifies the name of the new service application proxy to create.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

This cmdlet contains more than one parameter set. You may only use parameters from one parameter set, and you may not combine parameters from different parameter sets. For more information about how to use parameter sets, see Cmdlet Parameter Sets.

The New-SPSecureStoreServiceApplicationProxy cmdlet creates a new Secure Store Service application proxy for a Secure Store Service application in the farm.

The New-SPSecureStoreServiceApplicationProxy cmdlet does not specify whether the service application proxy is partitioned or not. If you want to specify a partitioned service application proxy, a partitioned service application can be created by using the New-SPSecureStoreServiceApplication cmdlet. The result of the New-SPSecureStoreServiceApplication cmdlet can be passed to the New-SPSecureStoreServiceApplicationProxy cmdlet. Similarly, if you want to specify an unpartitioned service application proxy, an unpartitioned service application can be created by using the New-SPSecureStoreServiceApplication cmdlet. The result of the New-SPSecureStoreServiceApplication cmdlet can be passed to the New-SPSecureStoreServiceApplicationProxy cmdlet.

Input Types

Return Types

Errors

Error | Description

Exceptions

Exceptions | Description

Example

------------------EXAMPLE 1------------------

Copy Code
New-SPSecureStoreServiceApplicationProxy -Name "Contoso Service Application Proxy" -ServiceApplication $SSServiceApp

This example creates a new Secure Store Service application proxy with the name Contoso Service Application Proxy for the given service application.

------------------EXAMPLE 2------------------

Copy Code
$nameofproxy = "Connection to: HostedSecureStoreInParentFarm"
Copy Code
$proxy = Get-SPServiceApplicationProxy | where {$_ -match $nameofproxy}
Copy Code
$prop = $proxy.Properties
Copy Code
$type = $prop["Microsoft.Office.Server.Utilities.SPPartitionOptions"].GetType()
Copy Code
$partition = [enum]::Parse( $type, 1 )
Copy Code
$prop["Microsoft.Office.Server.Utilities.SPPartitionOptions"] = $partition
Copy Code
$proxy.Update()

This example converts an unpartitioned secure store service application proxy in the child to a partitioned one.

See Also

Reference

New-SPSecureStoreServiceApplication
Set-SPSecureStoreServiceApplication


New-SPSecureStoreTargetApplication
See Also Example
[image]

Published: May 12, 2010

Creates a new Secure Store target application.

New-SPSecureStoreTargetApplication -ApplicationType <Individual | Group | IndividualWithTicketing | GroupWithTicketing | RestrictedIndividual | RestrictedGroup> -FriendlyName <String> -Name <String> [-AssignmentCollection <SPAssignmentCollection>] [-ContactEmail <String>] [-SetCredentialsUri <Uri>] [-TimeoutInMinutes <Int32>]

Parameters

Parameter Required Type Description

ApplicationType

Required

Microsoft.BusinessData.Infrastructure.SecureStore.TargetApplicationType

Specifies the type of target application.

The type must be one of the following: Individual, Group, IndividualWithTicketing, GroupWithTicketing, RestrictedIndividual, or RestrictedGroup.

FriendlyName

Required

System.String

Specifies the name of the new target application.

Name

Required

System.String

Specifies the display name of the new target application.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

ContactEmail

Optional

System.String

Specifies the contact information for the target application.

SetCredentialsUri

Optional

System.Uri

Specifies the URI for setting the user application credentials.

The type must be a valid URI, in the form file:\\server_name\sitedocs.

TimeoutInMinutes

Optional

System.Int32

The time, in minutes, a ticket is valid if it is not redeemed by the target application. Make sure that the ticket time-out value is long enough to last between the time when the ticket is issued to the time that it is redeemed The default value is 2.

The type must be a valid integer.

Detailed Description

The New-SPSecureStoreTargetApplication cmdlet creates a new Secure Store Target application.

Input Types

Return Types

Example

------------------EXAMPLE 1------------------

Copy Code
New-SPSecureStoreTargetApplication -Name "ContosoTargetApplication" -FriendlyName "Contoso Target Application" -ApplicationType Group

This example creates a new group type target application with the given name and friendly display name.

See Also

Reference

New-SPSecureStoreApplicationField


Remove-SPSecureStoreApplication
See Also Example
[image]

Published: May 12, 2010

Deletes a Secure Store application.

Remove-SPSecureStoreApplication -Identity <SPSecureStoreApplication> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.Office.SecureStoreService.PowerShellCmdlet.SPSecureStoreApplication

Specifies the Secure Store application to delete.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Remove-SPSecureStoreApplication cmdlet deletes a Secure Store application.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
Get-SPSecureStoreApplication -ServiceContext http://contoso -Name "ContosoTargetApp" | Remove -SPSecureStoreApplication

This example removes the specified application and target.

See Also

Reference

Get-SPSecureStoreApplication
New-SPSecureStoreApplication
Set-SPSecureStoreApplication


Set-SPSecureStoreApplication
See Also Example
[image]

Published: May 12, 2010

Sets properties of a Secure Store application.

Set-SPSecureStoreApplication -Identity <SPSecureStoreApplication> [-Administrator <SPClaim[]>] [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-CredentialsOwnerGroup <SPClaim[]>] [-Fields <TargetApplicationField[]>] [-TargetApplication <TargetApplication>] [-TicketRedeemer <SPClaim[]>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.Office.SecureStoreService.PowerShellCmdlet.SPSecureStoreApplication

Specifies the Secure Store application to update.

Administrator

Optional

Microsoft.SharePoint.SPClaim[]

Specifies the administrator of the Secure Store application.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

CredentialsOwnerGroup

Optional

Microsoft.SharePoint.SPClaim[]

Specifies the claims object for the groups that own the group credentials.

Fields

Optional

Microsoft.Office.SecureStoreService.Server.TargetApplicationField[]

Specifies the field information for the application. The default fields are username and password.

TargetApplication

Optional

Microsoft.Office.SecureStoreService.Server.TargetApplication

Specifies the target application.

TicketRedeemer

Optional

Microsoft.SharePoint.SPClaim[]

Specifies the ticket redeemer claim value.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Set-SPSecureStoreApplication cmdlet sets properties of a Secure Store application.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
$targetApp.FriendlyName = "Updated Contoso Target App"
Copy Code
Set-SPSecureStoreApplication -Identity $application -TargetApplication $targetApp

This example sets a new display name Updated Contoso Target App for the target application.

See Also

Reference

Get-SPSecureStoreApplication
New-SPSecureStoreApplication
Remove-SPSecureStoreApplication


Set-SPSecureStoreDefaultProvider
Example
[image]

Published: May 12, 2010

Updates the secure store provider.

Set-SPSecureStoreDefaultProvider -Type <Type> [-AssignmentCollection <SPAssignmentCollection>]

Parameters

Parameter Required Type Description

Type

Required

System.Type

Specifies the provider type. The type must be loaded in memory.

The type must be a secure store provider type enclosed in square brackets; for example, [Reflection.Assembly].

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Detailed Description

The Set-SPSecureStoreDefaultProvider cmdlet sets or replaces the secure store provider. To register a third-party secure store, implement the ISecureStoreProvider interface. With the interface defined, place the DLL file in the global assembly cache, and then load the DLL and load the type, as shown in the example. You can then set the secure store provider.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
[Reflection.Assembly]::LoadFrom("C:\ContosoFolder\contosoSecureStore.dll")
Copy Code
$type = [Contoso.SecureStore.ContosoSecureStoreProvider]
Copy Code
Set-SPSecureStoreDefaultProvider -Type $type

This example sets the custom implemented secure store provider.


Set-SPSecureStoreServiceApplication
See Also Example
[image]

Published: May 12, 2010

Sets properties of a Secure Store Service application in the farm.

Set-SPSecureStoreServiceApplication -Identity <SPServiceApplicationPipeBind> [-ApplicationPool <SPIisWebServiceApplicationPool>] [-AssignmentCollection <SPAssignmentCollection>] [-AuditingEnabled <SwitchParameter>] [-AuditlogMaxSize <Nullable>] [-Confirm [<SwitchParameter>]] [-DatabaseCredentials <PSCredential>] [-DatabaseName <String>] [-DatabasePassword <SecureString>] [-DatabaseServer <String>] [-DatabaseUsername <String>] [-FailoverDatabaseServer <String>] [-Sharing <SwitchParameter>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.SharePoint.PowerShell.SPServiceApplicationPipeBind

Specifies the service application to update.

ApplicationPool

Optional

Microsoft.SharePoint.Administration.SPIisWebServiceApplicationPool

Specifies the existing IIS application pool to run the Web service in for the new service application.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

AuditingEnabled

Optional

System.Management.Automation.SwitchParameter

Turns on auditing for the Secure Store Service.

AuditlogMaxSize

Optional

System.Nullable

Specifies the number of days to retain the audit log.

The type must be a valid integer.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

DatabaseCredentials

Optional

System.Management.Automation.PSCredential

Specifies the PSCredential object that contains the user name and password to be used for database SQL authentication.

DatabaseName

Optional

System.String

Specifies the name of the Secure Store service database.

DatabasePassword

Optional

System.Security.SecureString

Specifies the password for the user specified in DatabaseUserName. Use this parameter only if SQL authentication is used to access the metadata service application database.

DatabaseServer

Optional

System.String

Specifies the name of the host server for the database specified in DatabaseName.

DatabaseUsername

Optional

System.String

Specifies the user name to use for connecting to the database for the Secure Store service application. Use this parameter only if SQL authentication is used to access the service application database.

FailoverDatabaseServer

Optional

System.String

Specifies the name of the host server for the failover database server.

Sharing

Optional

System.Management.Automation.SwitchParameter

Specifies that the Secure Store Service application is published and shared across the farm.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Set-SPSecureStoreServiceApplication cmdlet sets properties of a Secure Store Service application in the farm.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
Set-SPSecureStoreServiceApplication -Identity $contosoServApp -AuditlogMaxSize 40

This example sets the maximum size of the audit log to 40 days for the given service application.

See Also

Reference

New-SPSecureStoreServiceApplication
New-SPSecureStoreServiceApplicationProxy


Update-SPSecureStoreApplicationServerKey
See Also Example
[image]

Published: May 12, 2010

Synchronizes the key on a Microsoft SharePoint server with the Secure Store master key.

Update-SPSecureStoreApplicationServerKey -Passphrase <String> -ServiceApplicationProxy <SPServiceApplicationProxyPipeBind> [-AssignmentCollection <SPAssignmentCollection>]

Parameters

Parameter Required Type Description

Passphrase

Required

System.String

Specifies the passphrase that is used for the Secure Store service database.

ServiceApplicationProxy

Required

Microsoft.SharePoint.PowerShell.SPServiceApplicationProxyPipeBind

Specifies the proxy of the service application that contains the server key to synchronize.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Detailed Description

The Update-SPSecureStoreApplicationServerKey cmdlet synchronizes the key on a SharePoint server with the master key for the Secure Store service database.

Updating a server key is required when:

  • A new SharePoint server that will run a Secure Store service instance is joined to the farm.

  • The key stored in the server is not the key required for the current Secure Store service database (because of server or networking issues).

  • The master key is updated but during propagation of the new key, this process fails on one or more of the servers.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
$newPassPhrase = "abcDEF123!"

Update-SPSecureStoreApplicationServerKey -ServiceApplicationProxy $contosoProxy -Passphrase $newPassPhrase

This example synchronizes the passphrase of the server key on a SharePoint server with the master key for the Secure Store service database.

See Also

Reference

Update-SPSecureStoreMasterKey


Update-SPSecureStoreCredentialMapping
See Also Example
[image]

Published: May 12, 2010

Sets a new credential mapping for a Secure Store Service application.

Update-SPSecureStoreCredentialMapping -Identity <SPSecureStoreApplication> -Principal <SPClaim> -Values <SecureString[]> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.Office.SecureStoreService.PowerShellCmdlet.SPSecureStoreApplication

Specifies the Secure Store Service application (that contains the principal) from which to delete the credential mapping.

Principal

Required

Microsoft.SharePoint.SPClaim

Specifies the SPClaims object that contains the principal.

Values

Required

System.Security.SecureString[]

Specifies the field values for the credential mapping.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Update-SPSecureStoreCredentialMapping cmdlet sets a new credential mapping for a Secure Store Service application.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
$ssApp = Get-SPSecureStoreApplication -ServiceContext http://contoso -Name "ContosoTargetApplication"

$firstCredential = ConvertTo-SecureString "LOBDATABASE\jdoe" -AsPlainText -Force

$secondCredential = ConvertTo-SecureString "abcDEF123$%^" -AsPlainText -Force

$credentialValues = $firstCredential,$secondCredential

$userClaim = New-SPClaimsPrincipal -Identity "CONTOSO\janedoe" -IdentityType WindowsSamAccountName

Update-SPSecureStoreCredentialMapping -Identity $ssApp -Values $credentialValues -Principal $userClaim

This example updates a credential mapping for the given site and the target application ContosoTargetApplication, for the user with the identity janedoe on domain CONTOSO. This user is mapped to a pair of credential values on the External System with a username of identity jdoe on domain LOBDATABASE and password abcDEF123$%^.

See Also

Reference

Clear-SPSecureStoreCredentialMapping
Update-SPSecureStoreGroupCredentialMapping


Update-SPSecureStoreGroupCredentialMapping
See Also Example
[image]

Published: May 12, 2010

Sets a new group credential mapping for a Secure Store Service application.

Update-SPSecureStoreGroupCredentialMapping -Identity <SPSecureStoreApplication> -Values <SecureString[]> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.Office.SecureStoreService.PowerShellCmdlet.SPSecureStoreApplication

Specifies the Secure Store application (that contains the principal) from which to delete the credential mapping.

Values

Required

System.Security.SecureString[]

Specifies the field values for the credential mapping.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

WhatIf

Optional

System.Management.Automation.SwitchParameter

Detailed Description

The Update-SPSecureStoreGroupCredentialMapping cmdlet sets a new group credential mapping for a Secure Store Service application. Group credentials are a set of credentials that are associated with multiple identities. Target applications will get credentials for a Secure Store application by using the current user. If the current user meets the authorization rule defined in the Secure Store application for the group credentials, then the data is provided.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
$ssApp = Get-SPSecureStoreApplication -ServiceContext http://contoso -Name "ContosoGroupTargetApplication"

$firstCredential = ConvertTo-SecureString "LOBDATABASE\fulltimeemployees" -AsPlainText -Force

$secondCredential = ConvertTo-SecureString "abcDEF123$%^" -AsPlainText -Force

$credentialValues = $firstCredential,$secondCredential

Update-SPSecureStoreGroupCredentialMapping -Identity $ssApp -Values $credentialValues

This example adds a credential mapping for the target application ContosoGroupTargetApplication, for all users in this group target application. These users are mapped to a pair of credential values on the External System with a username of identity fulltimeemployees on domain LOBDATABASE and with password abcDEF123$%^.

See Also

Reference

Update-SPSecureStoreCredentialMapping
Clear-SPSecureStoreCredentialMapping


Update-SPSecureStoreMasterKey
See Also Example
[image]

Published: May 12, 2010

Changes the master key of a Secure Store Service application.

Update-SPSecureStoreMasterKey -Passphrase <String> -ServiceApplicationProxy <SPServiceApplicationProxyPipeBind> [-AssignmentCollection <SPAssignmentCollection>]

Parameters

Parameter Required Type Description

Passphrase

Required

System.String

Specifies the passphrase that is used for the Secure Store database. The passphrase that you enter is not stored. Make sure that you write down the passphrase and store it in a secure location. The passphrase will be required to add new Secure Store service servers.

ServiceApplicationProxy

Required

Microsoft.SharePoint.PowerShell.SPServiceApplicationProxyPipeBind

Specifies the proxy of the Secure Store service application that contains the master key to update.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Reencrypt

Optional

System.Management.Automation.SwitchParameter

Specifies that the database for the Secure Store service application is re-encrypted. This synchronizes the master key in all servers that run an instance of the Secure Store application.

Detailed Description

The Update-SPSecureStoreApplicationServerKey cmdlet changes the master key of a Secure Store Service application.

Updating the master key is required when:

  • A new instance of a service application is created and the database for the Secure Store service application is new or empty.

  • The master key or passphrase has been compromised.

  • Security guidelines require that the passphrase or key be replaced.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
$newPassPhrase = "abcDEF123!"
Copy Code
Update-SPSecureStoreMasterKey -ServiceApplicationProxy $contosoProxy -Passphrase $newPassPhrase

This example creates a new master key for the given service application.

See Also

Reference

Update-SPSecureStoreApplicationServerKey


Upgrade-SPSingleSignOnDatabase
See Also Example
[image]

Published: May 12, 2010

Migrates the application definitions from Single Sign-On (SSO) database to Secure Store database as target applications.

Upgrade-SPSingleSignOnDatabase -SecureStoreConnectionString <String> -SecureStorePassphrase <SecureString> -SSOConnectionString <String> [-AssignmentCollection <SPAssignmentCollection>]

Parameters

Parameter Required Type Description

SecureStoreConnectionString

Required

System.String

Specifies the SQL Server connection string for the Secure Store database.

SecureStorePassphrase

Required

System.Security.SecureString

Specifies the passphrase used for the Secure Store database.

SSOConnectionString

Required

System.String

Specifies the SQL Server connection string for the SSO database.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Detailed Description

The Upgrade-SPSingleSignOnDatabase cmdlet migrates the application definitions from SSO database to Secure Store database as target applications. Use the Upgrade-SPSingleSignOn cmdlet to convert an SSO database to a Secure Store database. SSO is a Microsoft SharePoint Server feature. SSO functionality is performed by the Secure Store Service in Microsoft SharePoint Server 2010.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
Upgrade-SPSingleSignOnDatabase -SSOConnectionString "Data Source=oldServer;Database=SSO;Trusted_Connection=yes;" -SecureStoreConnectionString "Data Source=CONTOSO\SQLDatabase;Database=ContosoSSDatabase;Trusted_Connection=yes;" -SecureStorePassphrase "abcDEF123!@#"

This example migrates the SSO database at the SSO connection to a Secure Store database at the Secure Store connection.

See Also

Reference

Disable-SPSingleSignOn


Security cmdlets (SharePoint Server 2010)
See Also

You can use Windows PowerShell cmdlets to administer security for Microsoft SharePoint Server 2010.

Cmdlet name | Description
Add-SPShellAdmin | Adds a user to the SharePoint_Shell_Access role for the specified database.
Get-SPShellAdmin | Returns the names of all users who have the SharePoint_Shell_Access role.
Remove-SPShellAdmin | Removes a user from the SharePoint_Shell_Access role.
Add-SPClaimTypeMapping | Adds a claim mapping to a trusted security token service (STS) identity provider.
Get-SPAuthenticationProvider | Returns an authentication provider.
Get-SPCertificateAuthority | Returns the SharePoint certificate authority (CA).
Get-SPClaimProvider | Returns a claim provider.
Get-SPClaimProviderManager | Returns a claim provider manager.
Get-SPManagedAccount | Retrieves accounts registered in the configuration database.
Get-SPManagedPath | Returns all managed paths that match the given criteria.
Get-SPSecurityTokenServiceConfig | Returns the security token service (STS) for the farm.
Get-SPServiceApplicationSecurity | Returns the SPObjectSecurity object for a service application.
Get-SPTrustedIdentityTokenIssuer | Returns an identity provider.
Get-SPTrustedRootAuthority | Returns a trusted root authority.
Get-SPTrustedServiceTokenIssuer | Returns the object that represents the farm trust.
Grant-SPObjectSecurity | Adds a new security principal to an SPObjectSecurity object.
Initialize-SPResourceSecurity | Enforces resource security on the local server.
New-SPAuthenticationProvider | Creates a new authentication provider in the farm.
New-SPClaimProvider | Registers a new claim provider in the farm.
New-SPClaimsPrincipal | Creates a new claims principal.
New-SPClaimTypeMapping | Creates a claim mapping rule for a security token service (STS) identity provider.
New-SPManagedAccount | Registers a new managed account.
New-SPManagedPath | Creates a new managed path for the given Web application for all host header site collections.
New-SPTrustedIdentityTokenIssuer | Creates an identity provider in the farm.
New-SPTrustedRootAuthority | Creates a trusted root authority.
New-SPTrustedServiceTokenIssuer | Creates a trust with a SharePoint farm.
Remove-SPClaimProvider | Unregisters a claim provider.
Remove-SPClaimTypeMapping | Deletes a claim type mapping rule for a security token service (STS) identity provider.
Remove-SPManagedAccount | Removes a managed account registration from the farm.
Remove-SPManagedPath | Deletes the specified managed path from the specified host header or Web application.
Remove-SPTrustedIdentityTokenIssuer | Deletes a security token service (STS) identity provider from the farm.
Remove-SPTrustedRootAuthority | Deletes a trusted root authority.
Remove-SPTrustedServiceTokenIssuer | Deletes the object that represents the farm trust.
Repair-SPManagedAccountDeployment | Repairs the local managed account credential deployment.
Revoke-SPObjectSecurity | Removes a security principal from a SPObjectSecurity object.
Set-SPClaimProvider | Updates registration of a claims provider.
Set-SPManagedAccount | Configures the managed account.
Set-SPSecurityTokenServiceConfig | Updates the settings of the SharePoint security token service (STS) identity provider.
Set-SPServiceApplicationSecurity | Updates the SPObjectSecurity object for a service application.
Set-SPTrustedIdentityTokenIssuer | Sets the identity providers of a Web application.
Set-SPTrustedRootAuthority | Creates a new trusted root authority.
Set-SPTrustedServiceTokenIssuer | Updates a trust with the farm.
Update-SPFarmEncryptionKey | Changes the value of the farm encryption key and, using the new key, re-encrypts all the data.

See Also

Other Resources

Resource Center: Windows PowerShell for SharePoint Server 2010


Add-SPShellAdmin
See Also Example
[image]

Published: May 12, 2010

Adds a user to the SharePoint_Shell_Access role for the specified database.

Add-SPShellAdmin [-UserName] <String> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-database <SPDatabasePipeBind>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

UserName

Required

System.String

Specifies the name of the user to add to the SharePoint_Shell_Access role in the target database.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

database

Optional

Microsoft.SharePoint.PowerShell.SPDatabasePipeBind

Specifies the GUID of the database or the Database object that includes the SharePoint_Shell_Access role to which you want to add the user. If the database parameter is not specified, the configuration database is used. The farm configuration database is always included, even if you specify another database.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

Important:

When you run this cmdlet to add a user to the SharePoint_Shell_Access role, you must have membership in the securityadmin fixed server role on the SQL Server instance, membership in the db_owner fixed database role on all affected databases, and local administrative permission on the local computer.

This cmdlet is intended only to be used with a database that uses Windows authentication. There is no need to use this cmdlet for databases that use SQL authentication; in fact, doing so may result in an error message.

Use the Add-SPShellAdmin cmdlet to add a user to the SharePoint_Shell_Access role as follows:

  • If you specify only the user, the user is added to the role for the farm configuration database.

  • If you use the database parameter, the user is added to the role on the farm configuration database, the Central Administration content database, and the specified database. Using the database parameter is the preferred method because most of the administrative operations require access to the Central Administration content database.

The user is added to the WSS_Admin_WPG group on all Web servers when the user is added to the SharePoint_Shell_Access role. If the target database does not have a SharePoint_Shell_Access role, the role is automatically created.

Important:

In order to use Windows PowerShell for SharePoint 2010 Products, a user must be a member of the SharePoint_Shell_Access role on the configuration database and a member of the WSS_ADMIN_WPG local group on the computer where SharePoint 2010 Products is installed. However, the result of running this cmdlet is that the user specified with the UserName parameter will have the dbo_owner role access on the affected databases as described above. Therefore, you should carefully plan which users are given this access.

Input Types

Return Types

Example

-------------------EXAMPLE 1-------------------------

Copy Code
Add-SPShellAdmin -UserName CONTOSO\User1

This example adds a new user named User1 to the SharePoint_Shell_Access role in the farm configuration database only, and also ensures the user is added to the WSS_Admin_WPG local group on each server in the farm.

-------------------EXAMPLE 2-------------------------

Copy Code
Add-SPShellAdmin -UserName CONTOSO\User1 -database 4251d855-3c15-4501-8dd1-98f960359fa6

This example adds a new user named User1 to the SharePoint_Shell_Access role in both the specified content database and the configuration database by passing a database GUID to the cmdlet.

-------------------EXAMPLE 3-------------------------

Copy Code
Get-SPDatabase | Where-Object {$_.WebApplication -like "SPAdministrationWebApplication"} | Add-SPShellAdmin CONTOSO\User1

This example adds a new user named User1 to the SharePoint_Shell_Access role in both the specified Central Administration content database and the configuration database.

-------------------EXAMPLE 4-------------------------

Copy Code
Get-SPDatabase | ?{$_.Name -eq "WSS_Content"} | Add-SPShellAdmin -Username CONTOSO\User1

This example adds a new user named User1 to the SharePoint_Shell_Access role of both the specified content database and the configuration database by passing the name of the database to the cmdlet.

See Also

Reference

Get-SPShellAdmin
Remove-SPShellAdmin


Get-SPShellAdmin
See Also Example
[image]

Published: May 12, 2010

Returns the names of all users who have the SharePoint_Shell_Access role.

Get-SPShellAdmin [[-database] <SPDatabasePipeBind>] [-AssignmentCollection <SPAssignmentCollection>]

Parameters

Parameter Required Type Description

database

Optional

Microsoft.SharePoint.PowerShell.SPDatabasePipeBind

Specifies the GUID of the database or the Databse Object that includes includes the SharePoint_Shell_Access role whose user names you want to display. If the database parameter is not specified, the configuration database is used.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Detailed Description

Use the Get-SPShellAdmin cmdlet to return the names of all users who have the SharePoint_Shell_Access role in a database.

Input Types

Return Types

Example

--------------------EXAMPLE----------------------

Copy Code
Get-SPShellAdmin -database 4251d855-3c15-4501-8dd1-98f960359fa6

This example returns the name of each user who has the SharePoint_Shell_Access role in the database specified.

See Also

Reference

Add-SPShellAdmin
Remove-SPShellAdmin


Remove-SPShellAdmin
See Also Example
[image]

Published: May 12, 2010

Removes a user from the SharePoint_Shell_Access role.

Remove-SPShellAdmin [-UserName] <String> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-database <SPDatabasePipeBind>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

UserName

Required

System.String

Specifies the name of the user you want to remove from the SharePoint_Shell_Access role in the specified database.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

database

Optional

Microsoft.SharePoint.PowerShell.SPDatabasePipeBind

Specifies the GUID of the database or the Databse Object that includes the SharePoint_Shell_Access role from which the user is to be removed. If the database parameter is not specified, the configuration database is used.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

Use the Remove-SPShellAdmin cmdlet to remove a user from the SharePoint_Shell_Access role in a specified database.

When you use this cmdlet to remove a user from the role, you do not remove the user from the WSS_ADMIN_WPG group in the target database.

When you run this cmdlet to add a user to the SharePoint_Shell_Access role, the user must have the following security permissions:

- Security_Admin role access on the instance of SQL Server and the db_owner role in the database.

- Administrative permission to the local computer.

Input Types

Return Types

Example

-----------------------EXAMPLE-----------------------------

Copy Code
Remove-SPShellAdmin -UserName CONTOSO\User1 -database 4251d855-3c15-4501-8dd1-98f960359fa6

This example removes an existing user named User1 from the SharePoint_Shell_Access role in the database specified.

See Also

Reference

Add-SPShellAdmin
Get-SPShellAdmin


Add-SPClaimTypeMapping
See Also Example
[image]

Published: May 12, 2010

Adds a claim mapping to a trusted security token service (STS) identity provider.

Add-SPClaimTypeMapping [-Identity] <SPClaimMappingPipeBind> [-TrustedIdentityTokenIssuer] <SPTrustedIdentityTokenIssuerPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Force <SwitchParameter>]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.SharePoint.PowerShell.SPClaimMappingPipeBind

Specifies the STS for the farm that will issue the security token for the identity provider.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; or a valid name of a claim mapping rule (for example, ClaimMap1); or an instance of a valid SPClaimMapping object.

TrustedIdentityTokenIssuer

Required

Microsoft.SharePoint.PowerShell.SPTrustedIdentityTokenIssuerPipeBind

Specifies the farm trust Token Issuer (STS authentication provider).

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; or a valid name of an authentication provider (for example, MyIDprovider1); or an instance of a valid SPTrustedIdentityTokenIssuer object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Force

Optional

System.Management.Automation.SwitchParameter

Overwrites the claim mapping rule if it exists.

Detailed Description

The Add-SPClaimTypeMapping cmdlet adds a claim type mapping rule to a security token service (STS) identity provider from a farm trust STS authentication provider.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
Get-SPTrustedIdentityProvider -Name "LiveIDSTS" | Add-SPClaimTypeMapping -IncomingClaimType "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier" -IncomingClaimTypeDisplayName "PUID" -LocalClaimType "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/thumbprint"

This example adds a claim mapping to a trusted identity token issuer.

See Also

Reference

New-SPClaimTypeMapping
Remove-SPClaimTypeMapping


Get-SPAuthenticationProvider
See Also Example
[image]

Published: May 12, 2010

Returns an authentication provider.

Get-SPAuthenticationProvider [[-Identity] <SPAuthenticationProviderPipeBind>] [-WebApplication] <SPWebApplicationPipeBind> [-Zone] <Default | Intranet | Internet | Custom | Extranet> [-AssignmentCollection <SPAssignmentCollection>]

Parameters

Parameter Required Type Description

Identity

Optional

Microsoft.SharePoint.PowerShell.SPAuthenticationProviderPipeBind

Specifies the authentication provider to get.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a SharePoint authentication provider (for example, NTLM); or an instance of a valid SPAuthenticationProvider object.

WebApplication

Required

Microsoft.SharePoint.PowerShell.SPWebApplicationPipeBind

Returns the content databases for the specified Web application.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of SharePoint Web application (for example, MyOfficeApp1); or an instance of a valid SPWebApplication object.

Zone

Required

Microsoft.SharePoint.Administration.SPUrlZone

Specifies the Web application zone or zones for which to return the authentication provider.

The type must be any one of the valid zones: Default, Intranet, Internet, Extranet, or Custom.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Detailed Description

The Get-SPAuthenticationProvider cmdlet returns an authentication provider on a specified Web application zone. The following are the standard authentication providers available for SharePoint 2010 Products: NTLM, Classic NTLM, Negotiate, and Classic Negotiate.

Input Types

Return Types

Example

-----------------EXAMPLE1-----------------

Copy Code
New-SPWebApplication http://sharepointonline.com -AuthenticationProvider (Get- SPAuthenticationProvider "LiveID STS")

This example registers the LiveID STS authentication provider for the new Web application.

-----------------EXAMPLE2-----------------

Copy Code
New-SPWebApplication http://contoso.com -AuthenticationProvider (New- SPAuthenticationProvider -ASPNetMembershipProvider "myMembershipProvider" -ASPNetRoleProvider "myRoleProvider")

This example registers ASPNet for the new Web application. Note that ASPNET memberships are not persisted and must be re-created every use.

-----------------EXAMPLE3-----------------

Copy Code
New-SPWebApplication http://contoso.com -AuthenticationProvider (Get- SPAuthenticationProvider "NTLM")

This example registers the NTLM authentication provider for the new Web application. This command is equivalent to the command New-SPWebApplication http://contoso.com; NTLM is default authentication provider.

-----------------EXAMPLE4-----------------

Copy Code
$ip = @( (Get- SPAuthenticationProvider "LiveID STS"), (New- SPAuthenticationProvider -ASPNetMembershipProvider "myMembershipProvider" -ASPNetRoleProvider "myRoleProvider"), (Get-SPAuthenticationProvider "NTLM")) )
New-SPWebApplication http://contoso.com -AuthenticationProvider $ip

This example registers the NTLM, ASPNet, and LiveID STS authentication providers for the new Web application.

-----------------EXAMPLE5-----------------

Copy Code
New-SPWebApplication http://contoso.com -AuthenticationProvider (Get- SPAuthenticationProvider "Legacy NTLM")

This example registers the Legacy NTLM authentication provider for the new Web application.

See Also

Reference

New-SPAuthenticationProvider


Get-SPCertificateAuthority
Example
[image]

Published: May 12, 2010

Returns the SharePoint certificate authority (CA).

Get-SPCertificateAuthority [-AssignmentCollection <SPAssignmentCollection>]

Parameters

Parameter Required Type Description

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Detailed Description

The Get-SPCertificateAuthority cmdlet returns the SharePoint certificate authority (CA).

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
$signingCert = (Get-SPServiceApplication | where $_.Name -eq 'SecurityTokenServiceApplication').SigningCertificate

This example gets the security token service (STS) identity provider signing certificate.


Get-SPClaimProvider
See Also Example
[image]

Published: May 12, 2010

Returns a claim provider.

Get-SPClaimProvider [[-Identity] <SPClaimProviderPipeBind>] [-AssignmentCollection <SPAssignmentCollection>]

Parameters

Parameter Required Type Description

Identity

Optional

Microsoft.SharePoint.PowerShell.SPClaimProviderPipeBind

Specifies the claim provider to get.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a claim provider (for example, MyClaimProvider1); or an instance of a valid SPClaimProvider object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Detailed Description

The Get-SPClaimProvider cmdlet returns a claim provider.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
Get-SPClaimProvider -Identity "MyClaimProvider" | Set-SPClaimProvider -Enabled $false

This example disables the claim provider MyClaimProvider.

See Also

Reference

New-SPClaimProvider
Set-SPClaimProvider
Remove-SPClaimProvider
Get-SPClaimProviderManager


Get-SPClaimProviderManager
See Also Example
[image]

Published: May 12, 2010

Returns a claim provider manager.

Get-SPClaimProviderManager [-AssignmentCollection <SPAssignmentCollection>]

Parameters

Parameter Required Type Description

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Detailed Description

The Get-SPClaimProviderManager cmdlet reads a claim provider manager.

Input Types

Return Types

Example

Add code example.

Copy Code

  See Also
Reference
Get-SPClaimProvider
New-SPClaimProvider
Set-SPClaimProvider


Get-SPManagedAccount
See Also Example
[image]

Published: May 12, 2010

Retrieves accounts registered in the configuration database.

Get-SPManagedAccount [[-Identity] <SPManagedAccountPipeBind>] [-AssignmentCollection <SPAssignmentCollection>] [-Service <SPServicePipeBind>]
Get-SPManagedAccount [[-Identity] <SPManagedAccountPipeBind>] [-AssignmentCollection <SPAssignmentCollection>] [-WebApplication <SPWebApplicationPipeBind>]
Get-SPManagedAccount [[-Identity] <SPManagedAccountPipeBind>] [-AssignmentCollection <SPAssignmentCollection>] [-Server <SPServerPipeBind>]

Parameters

1

Parameter

Required

Type

Description

Identity

Optional

Microsoft.SharePoint.PowerShell.SPManagedAccountPipeBind

Specifies the full name or partial name of the managed accounts to retrieve.

The type must be a valid account name, in the form Domain\User, or a GUID, in the form 1234-3456-09876.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Service

Optional

Microsoft.SharePoint.PowerShell.SPServicePipeBind

Specifies the scope to a service.

2

Parameter

Required

Type

Description

Identity

Optional

Microsoft.SharePoint.PowerShell.SPManagedAccountPipeBind

Specifies the full name or partial name of the managed accounts to retrieve.

The type must be a valid account name, in the form Domain\User, or a GUID, in the form 1234-3456-09876.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

WebApplication

Optional

Microsoft.SharePoint.PowerShell.SPWebApplicationPipeBind

Specifies the scope to a Web application.

3

Parameter

Required

Type

Description

Identity

Optional

Microsoft.SharePoint.PowerShell.SPManagedAccountPipeBind

Specifies the full name or partial name of the managed accounts to retrieve.

The type must be a valid account name, in the form Domain\User, or a GUID, in the form 1234-3456-09876.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Server

Optional

Microsoft.SharePoint.PowerShell.SPServerPipeBind

Specifies the scope to a server.

Detailed Description

This cmdlet contains more than one parameter set. You may only use parameters from one parameter set, and you may not combine parameters from different parameter sets. For more information about how to use parameter sets, see Cmdlet Parameter Sets.

The Get-SPManagedAccount cmdlet returns the managed accounts that match the given scope. The scope can be any one of the following values: Web application, service, or server.

Input Types

Return Types

Example

--------------EXAMPLE-----------------

Copy Code
Get-SPManagedAccount

This example displays all the managed accounts in the farm.

See Also

Reference

New-SPManagedAccount
Set-SPManagedAccount
Remove-SPManagedAccount


Get-SPManagedPath
See Also Example
[image]

Published: May 12, 2010

Returns all managed paths that match the given criteria.

Get-SPManagedPath [[-Identity] <SPPrefixPipeBind>] -WebApplication <SPWebApplicationPipeBind> [-AssignmentCollection <SPAssignmentCollection>]
Get-SPManagedPath [[-Identity] <SPPrefixPipeBind>] -HostHeader <SwitchParameter> [-AssignmentCollection <SPAssignmentCollection>]

Parameters

1

Parameter

Required

Type

Description

Identity

Optional

Microsoft.SharePoint.PowerShell.SPPrefixPipeBind

Specifies the URL or GUID of the managed path to return.

The type must be a valid URL, in the http://server_name or a valid GUID (for example, 12345678-90ab-cdef-1234-567890bcdefgh).

WebApplication

Required

Microsoft.SharePoint.PowerShell.SPWebApplicationPipeBind

Specifies the URL or GUID of the Web application from which to get the managed path.

The type must be a valid URL, in the form http://server_name, or a valid GUID (for example, 12345678-90ab-cdef-1234-567890bcdefgh).

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

2

Parameter

Required

Type

Description

Identity

Optional

Microsoft.SharePoint.PowerShell.SPPrefixPipeBind

Specifies the URL or GUID of the managed path to return.

The type must be a valid URL, in the http://server_name or a valid GUID (for example, 12345678-90ab-cdef-1234-567890bcdefgh).

HostHeader

Required

System.Management.Automation.SwitchParameter

If provided, the managed paths returned are for the HostHeader sites in the farm.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Detailed Description

This cmdlet contains more than one parameter set. You may only use parameters from one parameter set, and you may not combine parameters from different parameter sets. For more information about how to use parameter sets, see Cmdlet Parameter Sets.

The Get-SPManagedPath cmdlet returns the SharePoint managed path that matches the provided Identity for either a Web application, site collection or for all HostHeader site collections. If an Identity parameter is not provided, all managed paths for the given scope are returned.

HostHeader sites (no matter the Web application in which they are contained) share a single set of managed paths. Use the HostHeader parameter to return host header managed paths.

Input Types

Return Types

Example

--------------EXAMPLE 1-----------------

Copy Code
Get-SPManagedPath -WebApplication http://sitename

This example returns all managed paths for the specified Web application.

--------------EXAMPLE 2-----------------

Copy Code
Get-SPManagedPath -identity "Sites" -HostHeader

This example gets the Sites managed path from the HostHeader managed paths.

See Also

Reference

New-SPManagedPath
Remove-SPManagedPath


Get-SPSecurityTokenServiceConfig
See Also Example
[image]

Published: May 12, 2010

Returns the security token service (STS) for the farm.

Get-SPSecurityTokenServiceConfig [-AssignmentCollection <SPAssignmentCollection>]

Parameters

Parameter Required Type Description

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Detailed Description

The Get-SPSecurityTokenServiceConfig cmdlet reads the security token service (STS) for the farm. An STS authenticates security tokens in incoming SOAP messages.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
Set-SPSecurityTokenServiceConfig -ServiceTokenLifetime 1000

This example gets the security token service (STS) for the farm and sets the expiration for the service token cache to 1000 minutes.

See Also

Reference

Set-SPSecurityTokenServiceConfig


Get-SPServiceApplicationSecurity
See Also Example
[image]

Published: May 12, 2010

Returns the SPObjectSecurity object for a service application.

Get-SPServiceApplicationSecurity [-Identity] <SPServiceApplicationPipeBind> [-Admin <SwitchParameter>] [-AssignmentCollection <SPAssignmentCollection>]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.SharePoint.PowerShell.SPServiceApplicationPipeBind

Specifies the service application to get.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a service application (for example, SearchServiceApp1); or an instance of a valid SPServiceApplication object.

Admin

Optional

System.Management.Automation.SwitchParameter

Returns the access control list (ACL) that contains the administrators list of the service application.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Detailed Description

The Get-SPServiceApplicationSecurity cmdlet returns a security object for the specified service application. Use this cmdlet with the Grant-SPObjectSecurity and Set-SPServiceApplicationSecurity cmdlets to manage security for a service application.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
$security = Get-SPServiceApplicationSecurity $serviceApp -Admin
Grant-SPObjectSecurity $security $principal "Full Control"
Set-SPServiceApplicationSecurity $serviceApp -Admin $security

This example retrieves the SPObjectSecurity object corresponding to the administrator ACL on a service application, and adds a new user principal to that ACL. The new user is an administrator for the service application $serviceApp.

See Also

Reference

Set-SPServiceApplicationSecurity
Grant-SPObjectSecurity
Revoke-SPObjectSecurity


Get-SPTrustedIdentityTokenIssuer
See Also Example
[image]

Published: May 12, 2010

Returns an identity provider.

Get-SPTrustedIdentityTokenIssuer [[-Identity] <SPTrustedIdentityTokenIssuerPipeBind>] [-AssignmentCollection <SPAssignmentCollection>]

Parameters

Parameter Required Type Description

Identity

Optional

Microsoft.SharePoint.PowerShell.SPIdentityProviderPipeBind

Specifies the identity provider to get.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; or a valid name of identity provider (for example, LiveID STS); or an instance of a valid SPIdentityProvider object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Detailed Description

The Get-SPTrustedIdentityTokenIssuer cmdlet returns an identity provider.

Input Types

Return Types

Example

--------------------------EXAMPLE 1------------------------

Copy Code
$trustedsts = get - SPTrustedIdentityTokenIssuer "LiveIDSTS"

This example gets a trusted identity token issuer.

See Also

Reference

Set-SPTrustedIdentityTokenIssuer
New-SPTrustedIdentityTokenIssuer
Remove-SPTrustedIdentityTokenIssuer


Get-SPTrustedRootAuthority
See Also Example
[image]

Published: May 12, 2010

Returns a trusted root authority.

Get-SPTrustedRootAuthority [[-Identity] <SPTrustedRootAuthorityPipeBind>] [-AssignmentCollection <SPAssignmentCollection>]

Parameters

Parameter Required Type Description

Identity

Optional

Microsoft.SharePoint.PowerShell.SPTrustedRootAuthorityPipeBind

Specifies the trusted root authority to get.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a trusted root authority (for example, WFEFarm1); or an instance of a valid SPTrustedRootAuthority object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Detailed Description

The Get-SPTrustedRootAuthority cmdlet returns a trusted root authority. If a certificate file is used, it must have only one X509 certificate without private keys, otherwise an exception is raised.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
$rootauthority = Get-SPTrustedRootAuthority -Identity "WFEFarm1"

This example creates a new trusted root authority, WFEFarm1.

See Also

Reference

New-SPTrustedRootAuthority
Set-SPTrustedRootAuthority
Remove-SPTrustedRootAuthority


Get-SPTrustedServiceTokenIssuer
See Also Example
[image]

Published: May 12, 2010

Returns the object that represents the farm trust.

Get-SPTrustedServiceTokenIssuer [[-Identity] <SPTrustedServiceTokenIssuerPipeBind>] [-AssignmentCollection <SPAssignmentCollection>]

Parameters

Parameter Required Type Description

Identity

Optional

Microsoft.SharePoint.PowerShell.SPTrustedServiceTokenIssuerPipeBind

Specifies the trusted service token issuer to get.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a trusted service token issuer (for example, WFEFarm1); or an instance of a valid SPTrustedRootAuthority object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Detailed Description

The Get-SPTrustedServiceTokenIssuer cmdlet returns the object that represents the farm trust.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
Get-SPTrustedServiceTokenIssuer "WFEFarm1"

This example gets the trusted services token issuer WFEFarm1.

See Also

Reference

Set-SPTrustedServiceTokenIssuer
New-SPTrustedServiceTokenIssuer
Remove-SPTrustedServiceTokenIssuer


Grant-SPObjectSecurity
See Also Example
[image]

Published: May 12, 2010

Adds a new security principal to an SPObjectSecurity object.

Grant-SPObjectSecurity [-Identity] <SPObjectSecurity> [-Principal] <SPClaim> [-Rights] <String[]> [-AssignmentCollection <SPAssignmentCollection>] [-Replace <SwitchParameter>]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.SharePoint.Administration.AccessControl.SPObjectSecurity

Specifies the SPObjectSecurity object to which the new security principal is added. You can use the Get-SPServiceApplicationSecurity cmdlet to get a SPObjectSecurity object .

Principal

Required

Microsoft.SharePoint.Administration.Claims.SPClaim

Specifies the principal to whom the rights apply.

The type must a valid name a principal; for example, Full Control.

Rights

Required

System.String[]

Specifies the rights granted to the principal.

The type must a valid array of strings that represents the rights granted to the principal.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Replace

Optional

System.Management.Automation.SwitchParameter

Replaces the existing rights on the SPObjectSecurity object with the new rights specified. If this parameter is not specified, the new rights are added to the existing rights.

Detailed Description

The Grant-SPObjectSecurity cmdlet adds a new security principal, such as a user, to a SPObjectSecurity object. An SPObjectSecurity object is a common object that is used to represent the security access control list (ACL) of SharePoint administrative objects, in particular, service applications.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
$security = Get-SPServiceApplicationSecurity $serviceApp -Admin
Grant-SPObjectSecurity $security $principal "Full Control"
Set-SPServiceApplicationSecurity $serviceApp -Admin $security

This example retrieves the SPObjectSecurity object corresponding to the administrator ACL on a service application, and adds a new user principal to that ACL. The new user is an administrator for the service application $serviceApp.

See Also

Reference

Revoke-SPObjectSecurity
Get-SPServiceApplicationSecurity


Initialize-SPResourceSecurity
Example
[image]

Published: May 12, 2010

Enforces resource security on the local server.

Initialize-SPResourceSecurity [-AssignmentCollection <SPAssignmentCollection>]

Parameters

Parameter Required Type Description

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Detailed Description

The Initialize-SPResourceSecurity cmdlet enforces resource security on the local server. This cmdlet enforces security for all resources, including files, folders, and registry keys.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
Initialize-SPResourceSecurity

This example enforces resource security on the local server.


New-SPAuthenticationProvider
See Also Example
[image]

Published: May 12, 2010

Creates a new Authentication provider in the farm.

New-SPAuthenticationProvider [-AllowAnonymous <SwitchParameter>] [-AssignmentCollection <SPAssignmentCollection>] [-DisableKerberos <SwitchParameter>] [-UseBasicAuthentication <SwitchParameter>] [-UseWindowsIntegratedAuthentication <SwitchParameter>]
New-SPAuthenticationProvider -ASPNETMembershipProvider <String> -ASPNETRoleProviderName <String> [-AssignmentCollection <SPAssignmentCollection>]
New-SPAuthenticationProvider -TrustedIdentityTokenIssuer <SPTrustedIdentityTokenIssuerPipeBind> [-AssignmentCollection <SPAssignmentCollection>]

Parameters

1

Parameter

Required

Type

Description

AllowAnonymous

Optional

System.Management.Automation.SwitchParameter

Specifies whether the Web application allows anonymous access.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

DisableKerberos

Optional

System.Management.Automation.SwitchParameter

Specifies whether the Web application disables Kerberos authentication.

UseBasicAuthentication

Optional

System.Management.Automation.SwitchParameter

Specifies whether the Web application uses basic authentication.

UseWindowsIntegratedAuthentication

Optional

System.Management.Automation.SwitchParameter

Specifies whether the Web application uses Windows Integrated Authentication.

2

Parameter

Required

Type

Description

ASPNETMembershipProvider

Required

System.String

Specifies the name of the membership provider.

The type must be a valid name of an ASPNet membership provider; for example, myMembershipProvider.

ASPNETRoleProviderName

Required

System.String

Specifies the name of the role provider.

The type must be a valid name of an ASPNet role provider; for example, myRoleProvider.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

3

Parameter

Required

Type

Description

TrustedIdentityTokenIssuer

Required

Microsoft.SharePoint.PowerShell.SPTrustedIdentityTokenIssuerPipeBind

Specifies the identity of the authentication provider.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a TrustedIdentityTokenIssuer (for example, myRoleProvider); or an instance of a valid SPTrustedIdentityTokenIssuer object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Detailed Description

This cmdlet contains more than one parameter set. You may only use parameters from one parameter set, and you may not combine parameters from different parameter sets. For more information about how to use parameter sets, see Cmdlet Parameter Sets.

The New-SPAuthenticationProvider cmdlet creates a new Authentication provider in the farm.

NTLM, Classic NTLM, Negotiate, and Classic Negotiate can be set only in a Web Application.

For ASP.NET Membership Provider or Role providers, no objects are persisted. The object is created and used for setting this type of Authentication provider in a Web application.

For STS Authentication providers, an object is created and persisted in the SPFarm object.

Using classic NTLM with any claims based authentication type is not allowed.

Input Types

Return Types

Example

---------------------------EXAMPLE1------------------

Copy Code
$ap = New - SPAuthenticationProvider -UseWindowsIntegratedAuthentication
Copy Code
Set-SPWebApplication -Name "Claims Windows Web App" -ApplicationPool "Claims App Pool" -ApplicationPoolAccount "redmond\appool" -Url http://servername -Port 80 -AuthenticationProvider $ap

This example creates a Windows-claims authentication provider

---------------------------EXAMPLE2------------------

Copy Code
$ap = New-SPAuthenticationProvider -ASPNETMembershipProvider "membership" -ASPNETRoleProviderName "rolemanager"
Copy Code
Set-SPWebApplication -Name "Claims Windows Web App" -ApplicationPool "Claims App Pool" -ApplicationPoolAccount "redmond\appool" -Url http://servername -Port 80 -AuthenticationProvider $ap

This example creates an ASP.net membership role provider authentication provider.

---------------------------EXAMPLE3------------------

Copy Code
$ap = New - SPAuthenticationProvider -TrustedIdentityTokenIssuer | Get-SPTrustedIdentityTokenIssuer "LiveIDSTS"
Copy Code
Set-SPWebApplication -Name "Claims Windows Web App" -ApplicationPool "Claims App Pool" -ApplicationPoolAccount "redmond\appool" -Url http://servername -Port 80 -AuthenticationProvider $ap

This example creates a trusted token issuer authentication provider.

See Also

Reference

New-SPAuthenticationProvider


New-SPClaimProvider
See Also Example
[image]

Published: May 12, 2010

Registers a new claim provider in the farm.

New-SPClaimProvider -AssemblyName <String> -Description <String> -DisplayName <String> -Type <String> [-AssignmentCollection <SPAssignmentCollection>] [-Default <SwitchParameter>] [-Enabled <SwitchParameter>]

Parameters

Parameter Required Type Description

AssemblyName

Required

System.String

The type must be a valid name of an assembly; for example, ClaimAssembly1.

Specifies the name of the assembly with the claim provider.

Description

Required

System.String

Specifies the description of the claim provider.

The type must be a valid name of an assembly; for example, ClaimAssembly1.

DisplayName

Required

System.String

Specifies the display name of the new claim provider.

The type must be a valid name of a claim provider; for example, ClaimProvider1.

Type

Required

System.String

Specifies the type of the claim.

The type must be a valid name of a claim type; for example MyClaimProvider.Providers.CustomProvider.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Default

Optional

System.Management.Automation.SwitchParameter

Specifies that the claim provider applies to all Web applications and zones.

Enabled

Optional

System.Management.Automation.SwitchParameter

Turns on the claim provider.

Detailed Description

The New-SPClaimProvider cmdlet registers a new claim provider in the farm.

Input Types

Return Types

Example

------------------EXAMPLE 1------------------

Copy Code
New-SPClaimProvider -Name "MyClaimProvider" -Type "MyClaimProvider.Providers.CustomProvider" -AllWebApplications

This example registers a claim provider in the farm.

------------------EXAMPLE 2------------------

Copy Code
New-SPClaimProvider -Name "MyClaimProvider" -Type "MyClaimProvider.Providers.CustomProvider" -Scope (Get-SPWebApplication http://test)

This example registers a claim provider scoped to a given Web application.

See Also

Reference

Get-SPClaimProvider
Set-SPClaimProvider
Remove-SPClaimProvider


New-SPClaimsPrincipal
Example
[image]

Published: May 12, 2010

Creates a claims principal.

New-SPClaimsPrincipal [-Identity] <String> [-IdentityType] <WindowsSamAccountName | WindowsSecurityGroupName | WindowsSecurityGroupSid | FormsUser | FormsRole | EncodedClaim> [-AssignmentCollection <SPAssignmentCollection>]
New-SPClaimsPrincipal [-Identity] <String> [-TrustedIdentityTokenIssuer] <SPTrustedIdentityTokenIssuerPipeBind> [-AssignmentCollection <SPAssignmentCollection>]
New-SPClaimsPrincipal [-ClaimValue] <String> [[-ClaimType] <String>] [-TrustedIdentityTokenIssuer] <SPTrustedIdentityTokenIssuerPipeBind> [[-IdentifierClaim] <SwitchParameter>] [-AssignmentCollection <SPAssignmentCollection>]
New-SPClaimsPrincipal [-EncodedClaim] <String> [-AssignmentCollection <SPAssignmentCollection>]
New-SPClaimsPrincipal [-ClaimValue] <String> [-ClaimType] <String> [-ClaimProvider] <SPClaimProvider> [-AssignmentCollection <SPAssignmentCollection>]

Parameters

1

Parameter

Required

Type

Description

Identity

Required

System.String

Specifies the name of the new claims principal.

The type must be a valid name of a claims principal.

IdentityType

Required

Microsoft.SharePoint.Administration.Claims.SPIdentifierTypes

Specifies the type of the new claims principal.

The type must be one of the following: WindowsSamAccountName, WindowsSecurityGroupSid, FormsUser, FormsRole, or EncodedClaim.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

2

Parameter

Required

Type

Description

Identity

Required

System.String

Specifies the name of the new claims principal.

The type must be a valid name of a claims principal.

TrustedIdentityTokenIssuer

Required

Microsoft.SharePoint.PowerShell.SPTrustedIdentityTokenIssuerPipeBind

Specifies the ID of the authentication provider.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; or a valid name of an Authentication provider (for example, MyAuthprovider1); or an instance of a valid SPTrustedIdentityTokenIssuer object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

3

Parameter

Required

Type

Description

ClaimValue

Required

System.String

Specifies the claim value of the claims object. The claims value specifies the user, group, or computer that the claim is authenticating.

The type must be a valid claim value; for example, john@contoso.com.

ClaimType

Required

System.String

Specifies the type of claim to create. The value I indicates a unique user identity claim, and the value C indicates all other claims.

The type must be either of the following values: I or C.

TrustedIdentityTokenIssuer

Required

Microsoft.SharePoint.PowerShell.SPTrustedIdentityTokenIssuerPipeBind

Specifies the ID of the authentication provider.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; or a valid name of an Authentication provider (for example, MyAuthprovider1); or an instance of a valid SPTrustedIdentityTokenIssuer object.

IdentifierClaim

Optional

System.Management.Automation.SwitchParameter

Specifies if the new claim is an identity claim.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

4

Parameter

Required

Type

Description

EncodedClaim

Required

System.String

Converts a simple claim to a full encoded claim.

The type must be a valid claim value; for example, i:001w|redmond\user.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

5

Parameter

Required

Type

Description

ClaimValue

Required

System.String

Specifies the claim value of the claims object. The claims value specifies the user, group, or computer that the claim is authenticating.

The type must be a valid claim value; for example, john@contoso.com.

ClaimType

Required

System.String

Specifies the type of claim to create. The value I indicates a unique user identity claim, and the value C indicates all other claims.

The type must be either of the following values: I or C.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Detailed Description

This cmdlet contains more than one parameter set. You may only use parameters from one parameter set, and you may not combine parameters from different parameter sets. For more information about how to use parameter sets, see Cmdlet Parameter Sets.

The New-SPClaimsPrincipal cmdlet creates a claims principal.

Input Types

Return Types

Example

-------------------------EXAMPLE 1-----------------------------

Copy Code
New-SPSite http://sitename/sites/newsite -owner (New-SPClaimsPrincipal contoso\johndoe -TrustedIdentityTokenIssuer "NTLM")

This example creates a claim principal for a Windows user.

-------------------------EXAMPLE 2-----------------------------

Copy Code
New-SPSite http://localhost/sites/newsite -owner (New-SPClaimsPrincipal contoso\allusers -TrustedIdentityTokenIssuer "NTLM")

This example creates a claim principal for a Windows group.

-------------------------EXAMPLE 3-----------------------------

Copy Code
New-SPSite http://sitename/sites/newsite -owner (New-SPClaimsPrincipal -ClaimValue "john@contoso.com" -ClaimType Email -TrustedIdentityTokenIssuer "LiveID STS" -IdentifierClaim Yes)

This example creates a claim principal for a trusted identity token issuer claim.

-------------------------EXAMPLE 4-----------------------------

Copy Code
$ip = New-SPIdentityProvider -ASPNetMembershipProvider "myMembershipProvider" -ASPNetRoleProvider "myRoleProvider"
Copy Code
New-SPSite http://sitename/sites/newsite -owner (New-SPClaimsPrincipal "john@contoso.com" -TrustedIdentityTokenIssuer $ip)

This example creates a claim principal for a ASPNet Membership User.

-------------------------EXAMPLE 5-----------------------------

Copy Code
New-SPSite http://sitename/sites/newsite -owner (New-SPClaimsPrincipal "Sales Manager Role" -IdentityProvider "myRoleProvider")

This example creates a claim principal for a ASPNet Role.

-------------------------EXAMPLE 6-----------------------------

Copy Code
 $cp = New-SPClaimsPrincipal -Identity "redmond\SiteOwner" -IdentityType 1
Copy Code
New-SPSite http://servername:port -OwnerAlias $cp.ToEncodedString() -Template "STS#0"

This example creates a claim principal for a Basic Claim Role, which is also called an encoded claim).


New-SPClaimTypeMapping
See Also Example
[image]

Published: May 12, 2010

Creates a claim mapping rule for a security token service (STS) identity provider.

New-SPClaimTypeMapping [-IncomingClaimType] <String> [-IncomingClaimTypeDisplayName] <String> [[-LocalClaimType] <String>] [-AssignmentCollection <SPAssignmentCollection>] [-SameAsIncoming <SwitchParameter>]

Parameters

Parameter Required Type Description

IncomingClaimType

Required

System.String

Specifies the URI of the incoming claim type.

The type must be a valid URI, in the form http://schemas.microsoft.com/email.

IncomingClaimTypeDisplayName

Required

System.String

Specifies the display name of the incoming claim type.

The type must be a valid name of an incoming claim type; for example, Email.

LocalClaimType

Optional

System.String

Specifies the URI of the local claim type. If the SameAsIncoming parameter is False, this is a required parameter.

The type must be a valid URI, in the form http://schemas.microsoft.com/email.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

SameAsIncoming

Optional

System.Management.Automation.SwitchParameter

Specifies that the claim type specified in the IncomingClaimType parameter is used for the LocalClaimType parameter.

Detailed Description

The New-SPClaimTypeMapping cmdlet creates a claim mapping rule for a security token service (STS) identity provider.

Input Types

Return Types

Example

--------------------EXAMPLE 1----------------------------

Copy Code
$map1 = New-SPClaimTypeMapping -IncomingClaimType "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress" -IncomingClaimTypeDisplayName "EmailAddress" -SameAsIncoming
Copy Code
$map2 = New-SPClaimTypeMapping -IncomingClaimType "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier" -IncomingClaimTypeDisplayName "PUID" -LocalClaimType "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/thumbprint"
Copy Code
New-SPTrustedIdentityTokenIssuer -Name "LiveIDSTS" -Description "LiveID Provider" -Realm "urn:domain.company.com" -ImportTrustCertificate $cert -ClaimsMappings $map1[,$map2..] -SignInUrl "https://login.live.com/login.srf" -IdentifierClaim $map2.InputClaimType

This example creates a claim map from an incoming token to a SharePoint token.

See Also

Reference

Add-SPClaimTypeMapping
Remove-SPClaimTypeMapping


New-SPManagedAccount
See Also Example
[image]

Published: May 12, 2010

Registers a new managed account.

New-SPManagedAccount [-Credential] <PSCredential> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Credential

Required

System.Management.Automation.PSCredential

Indicates the Credential object that specifies the credentials of the new managed account. If you use Credential, you cannot specify Username and Password.

Password

Required

System.Security.SecureString

Specifies the password for the user specified in Username. If you use Credential, you cannot specify Username and Password.

Username

Required

System.String

Specifies the user name of the new managed account. If you use Credential, you cannot specify Username and Password.

The type must be a valid user name, in the form domain\username.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Detailed Description

The New-SPManagedAccount cmdlet registers a new managed account for the specified Credential or Username, and Password.

Input Types

Return Types

Example

------------------EXAMPLE-----------------------

Copy Code
$cred = Get-Credential
Copy Code
New-SPManagedAccount -Credential $cred

This example adds a new managed account to the farm by using credentials that are prompted.

See Also

Reference

Get-SPManagedAccount
Set-SPManagedAccount
Remove-SPManagedAccount


New-SPManagedPath
See Also Example
[image]

Published: May 12, 2010

Creates a new managed path for the given Web application for all host header site collections.

New-SPManagedPath [-RelativeURL] <String> -WebApplication <SPWebApplicationPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-Explicit <SwitchParameter>] [-WhatIf [<SwitchParameter>]]
New-SPManagedPath [-RelativeURL] <String> -HostHeader <SwitchParameter> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-Explicit <SwitchParameter>] [-WhatIf [<SwitchParameter>]]

Parameters

1

Parameter

Required

Type

Description

RelativeURL

Required

System.String

Specifies the relative URL for the new managed path.

The type must be a valid partial URL such as site or sites/teams/.

WebApplication

Required

Microsoft.SharePoint.PowerShell.SPWebApplicationPipeBind

Specifies the Web application group to add this path.

The type must be a valid URL, in the form http://server_name, or a GUID, in the form 1234-5678-0987645a.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

Explicit

Optional

System.Management.Automation.SwitchParameter

Specifies whether the managed path is explicit or wildcard.

If not provided, the managed path is a wildcard path.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

2

Parameter

Required

Type

Description

RelativeURL

Required

System.String

Specifies the relative URL for the new managed path.

The type must be a valid partial URL such as site or sites/teams/.

HostHeader

Required

System.Management.Automation.SwitchParameter

If this parameter is provided, this managed path applies to all host header site collections.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

Explicit

Optional

System.Management.Automation.SwitchParameter

Specifies whether the managed path is explicit or wildcard.

If not provided, the managed path is a wildcard path.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

This cmdlet contains more than one parameter set. You may only use parameters from one parameter set, and you may not combine parameters from different parameter sets. For more information about how to use parameter sets, see Cmdlet Parameter Sets.

The New-SPManagedPath cmdlet adds a new managed path to a given Web application or for use with all host header site collections. If the HostHeader switch is provided, the managed path is shared among all host header site collections; otherwise, a Web application must be specified to create this managed path within. The relative URL is a partial URL that represents the managed path. When the slash mark (/) is used, the root is defined. If the Explicit parameter is not provided, the new managed path is a wildcard path.

Input Types

Return Types

Example

------------------EXAMPLE-----------------------

Copy Code
New-SPManagedPath "Teams" -WebApplication "http://somesite"

This example creates a Teams managed path for a given Web application (http://somesite).

See Also

Reference

Get-SPManagedPath
Remove-SPManagedPath


New-SPTrustedIdentityTokenIssuer
See Also Example
[image]

Published: May 12, 2010

Creates an identity provider in the farm.

New-SPTrustedIdentityTokenIssuer -ClaimsMappings <SPClaimMappingPipeBind[]> -Description <String> -IdentifierClaim <String> -Name <String> -Realm <String> -SignInUrl <String> [-AssignmentCollection <SPAssignmentCollection>] [-ClaimProvider <SPClaimProviderPipeBind>] [-ImportTrustCertificate <X509Certificate2>] [-UseWReply <SwitchParameter>]

Parameters

Parameter Required Type Description

ClaimsMappings

Required

Microsoft.SharePoint.PowerShell.SPClaimMappingPipeBind[]

Specifies the mapping of the claims from the original token to the SharePoint token.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; or a valid name of a claim mapping rule (for example, Email); or an instance of a valid SPClaimMapping object.

Description

Required

System.String

Specifies a description for the new identity provider.

The type must be a valid string; for example, LiveID STS.

IdentifierClaim

Required

System.String

Specifies which claim type from the trusted STS will be used for the new identity provider.

The type must be a valid claim type from the trusted STS; for example, http://schemas.microsoft.com/2007/05/Claims/Puid.

Name

Required

System.String

Specifies the name of the new identity provider.

The type must be a valid name of an identity provider; for example, LiveIDSTS.

Realm

Required

System.String

Specifies the realm, or resource partition, associated with this trust.

The type must be a name of a valid realm; for example, MD_REALM.

SignInUrl

Required

System.String

Specifies the sign-in URLs for this trusted STS identity provider.

The type must be a valid URL, in the form http://int.live.com/.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

ClaimProvider

Optional

Microsoft.SharePoint.PowerShell.SPClaimProviderPipeBind

Specifies the IP STS that can resolve and search claims for claims people picker.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; or a valid name of identity provider (for example, MyIDprovider1); or an instance of a valid SPIdentityProvider object.

ImportTrustCertificate

Optional

System.Security.Cryptography.X509Certificates.X509Certificate2

Specifies the X.509 certificate object from trusted authentication provider farm.

The type must be a name of a valid X.509 certificate; for example, Certificate1.

UseWReply

Optional

System.Management.Automation.SwitchParameter

Includes a WReply with the token request. WReply is a URL at the relying party to which the requestor is redirected once sign-out processing is complete.

Detailed Description

The New-SPTrustedIdentityTokenIssuer cmdlet creates an identity provider in the farm. This object is created and used only for setting this type of identity provider in a Web application. The specified claim type cannot be NTLM, Classic NTLM, Negotiate, or Classic Negotiate. For ASP.NET Membership provider or Role providers, no objects are persisted. For security token service (STS) identity providers, this cmdlet creates and persists the identity provider object in the SPFarm object.

Input Types

Return Types

Example

----------------------- EXAMPLE---------------------------

Copy Code
New-SPTrustedIdentityTokenIssuer -Name "LiveIDSTS" - Description "LiveID STS" -Certificate (Get-ChildItem"cert:Certificates (LocalComputer)\Personal\Certificates -Name "LiveID Cert") -SignInUrl http://int.contoso.com/ -IdentifierClaim "http://schemas.contoso.com/2007/05/Claims/Puid"
Copy Code
Set -SPWebApplication http://contoso.com -IdentityProvider (Get-SPTrustedIdentityTokenIssuer "LiveIDSTS")

This example creates a new identity provider in the farm named LiveIDSTS.

See Also

Reference

Get-SPTrustedIdentityTokenIssuer
Set-SPTrustedIdentityTokenIssuer
Remove-SPTrustedIdentityTokenIssuer


New-SPTrustedRootAuthority
See Also Example
[image]

Published: May 12, 2010

Creates a trusted root authority.

New-SPTrustedRootAuthority [-Name] <String> -Certificate <X509Certificate2> [-AssignmentCollection <SPAssignmentCollection>]

Parameters

Parameter Required Type Description

Name

Required

System.String

Specifies the name of the trusted root authority to create.

The type must be a valid name of a trusted root authority; for example, WFEFarm1.

Certificate

Required

System.Security.Cryptography.X509Certificates.X509Certificate2

Specifies the X.509 certificate of the trusted root authority.

The type must be a name of a valid X.509 certificate; for example, Certificate1.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Detailed Description

The New-SPTrustedRootAuthority cmdlet creates a trusted root authority. If a certificate file is used, it must have only one X509 certificate without private keys, otherwise an exception is raised.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
$cert = Get-PfxCertificate C:\LiveIDSigningCert.pfx
New-SPTrustedRootAuthority -Name "WFEFarm1" -Certificate $cert

This example creates a new trusted root authority, WFEFarm1.

See Also

Reference

Get-SPTrustedRootAuthority
Set-SPTrustedRootAuthority
Remove-SPTrustedRootAuthority


New-SPTrustedServiceTokenIssuer
See Also Example
[image]

Published: May 12, 2010

Creates a trust with a SharePoint farm.

New-SPTrustedServiceTokenIssuer [-Name] <String> -Certificate <X509Certificate2> [-AssignmentCollection <SPAssignmentCollection>] [-Description <String>]

Parameters

Parameter Required Type Description

Name

Required

System.String

Specifies the name of the trust.

The type must be a valid name of a trusted service issuer; for example, WFEFarmTrust1.

Certificate

Required

System.Security.Cryptography.X509Certificates.X509Certificate2

The type must be a name of a valid X.509 certificate; for example, Certificate1.

Specifies the X.509 certificate object from trusted authentication provider farm.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Description

Optional

System.String

Specifies a description for the trust.

The type must be a valid string; for example, WFE Farm Trust1.

Detailed Description

The New-SPTrustedServiceTokenIssuer cmdlet creates a trust with a SharePoint farm. If a certificate file is used, it must have only one X509 certificate without private keys, otherwise an exception is raised.

Input Types

Return Types

Example

------------------EXAMPLE 1------------------

Copy Code
$cert = Get-PfxCertificate C:\LiveIDSigningCert.pfx
Copy Code
New-SPTrustedServiceTokenIssuer -Name "WFEFarm1" -Description "WFE Farm 1" -Certificate $cert

This example shows how to create a new SharePoint Farm trust using the trust certificate from a file.

See Also

Reference

Get-SPTrustedServiceTokenIssuer
Set-SPTrustedServiceTokenIssuer
Remove-SPTrustedServiceTokenIssuer


Remove-SPClaimProvider
See Also Example
[image]

Published: May 12, 2010

Unregisters a claim provider.

Remove-SPClaimProvider [-Identity] <SPClaimProviderPipeBind> [-AssignmentCollection <SPAssignmentCollection>]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.SharePoint.PowerShell.SPClaimProviderPipeBind

Specifies the claim provider to unregister.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a claim provider (for example, MyClaimProvider1); or an instance of a valid SPClaimProvider object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Detailed Description

The Remove-SPClaimProvider cmdlet unregisters a claim provider. If the unregistered claim provider was assigned to a trusted identity token issuer, the trusted token issuer will use the default (system) claim provider.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
Remove - SPClaimProvider -Identity "12345678-90ab-cdef-1234-567890bcdefgh"

This example removes a claim provider from the farm

See Also

Reference

Get-SPClaimProvider
New-SPClaimProvider
Set-SPClaimProvider


Remove-SPClaimTypeMapping
See Also Example
[image]

Published: May 12, 2010

Deletes a claim type mapping rule for a security token service (STS) identity provider.

Remove-SPClaimTypeMapping [-Identity] <SPClaimMappingPipeBind> [-TrustedIdentityTokenIssuer] <SPTrustedIdentityTokenIssuerPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.SharePoint.PowerShell.SPClaimMappingPipeBind

Specifies the claim mapping to delete.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; or a valid name of a claim mapping rule (for example, Email); or an instance of a valid SPClaimMapping object.

IdentityProvider

Required

Microsoft.SharePoint.PowerShell.SPIdentityProviderPipeBind

Specifies the farm trust identity provider STS that contains the claim mapping rule.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; or a valid name of identity provider (for example, LiveIDSTS); or an instance of a valid SPIdentityProvider object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Detailed Description

The Remove-SPClaimMapping cmdlet deletes a claim type mapping rule from a farm trust STS identity provider.

Input Types

Return Types

Example

--------------------EXAMPLE-------------------------

Copy Code
Remove-SPClaimMapping "Email" | Get-SPIdentityProvider "LiveIDSTS"

This example removes an identity provider named LiveIDSTS.

See Also

Reference

Add-SPClaimTypeMapping
New-SPClaimTypeMapping


Remove-SPManagedAccount
See Also Example
[image]

Published: May 12, 2010

Removes a managed account registration from the farm.

Remove-SPManagedAccount [-Identity] <SPManagedAccountPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-WhatIf [<SwitchParameter>]]
Remove-SPManagedAccount [-Identity] <SPManagedAccountPipeBind> -NewPassword <SecureString> [-AssignmentCollection <SPAssignmentCollection>] [-ChangePassword <SwitchParameter>] [-Confirm [<SwitchParameter>]] [-WhatIf [<SwitchParameter>]]

Parameters

1

Parameter

Required

Type

Description

Identity

Required

Microsoft.SharePoint.PowerShell.SPManagedAccountPipeBind

Specifies the full name or partial name of the managed accounts to retrieve.

The type must be a valid account name, in the form Domain\User, or a GUID, in the form 1234-3456-09876.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

2

Parameter

Required

Type

Description

Identity

Required

Microsoft.SharePoint.PowerShell.SPManagedAccountPipeBind

Specifies the full name or partial name of the managed accounts to retrieve.

The type must be a valid account name, in the form Domain\User, or a GUID, in the form 1234-3456-09876.

NewPassword

Required

System.Security.SecureString

Specifies a secure string for the new password (that is, $MySecureString).Works in conjunction with the ChangePassword parameter.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

ChangePassword

Optional

System.Management.Automation.SwitchParameter

Specifies whether a password is to be changed. Works in conjunction with the NewPassword parameter. When the ChangePassword value is set, a secure string value is required for the NewPassword parameter (that is, $MySecureString).

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

This cmdlet contains more than one parameter set. You may only use parameters from one parameter set, and you may not combine parameters from different parameter sets. For more information about how to use parameter sets, see Cmdlet Parameter Sets.

The Remove-SPManagedAccount cmdlet removes account registration from the configuration database within the farm.

Input Types

Return Types

Example

----------------------EXAMPLE-------------------

Copy Code
Remove-SPManagedAccount -Identity DOMAIN\ServiceAcct

This example removes the DOMAIN\ServiceAcct managed account from the farm.

See Also

Reference

Get-SPManagedAccount
New-SPManagedAccount
Set-SPManagedAccount


Remove-SPManagedPath
See Also Example
[image]

Published: May 12, 2010

Deletes the specified managed path from the specified host header or Web application.

Remove-SPManagedPath [-Identity] <SPPrefixPipeBind> -WebApplication <SPWebApplicationPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-WhatIf [<SwitchParameter>]]
Remove-SPManagedPath [-Identity] <SPPrefixPipeBind> -HostHeader <SwitchParameter> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-WhatIf [<SwitchParameter>]]

Parameters

1

Parameter

Required

Type

Description

Identity

Required

Microsoft.SharePoint.PowerShell.SPPrefixPipeBind

Specifies the name of the managed path to delete. For example, in the URL http://sitename/sites/site1, "sites" is the name of the managed path.

WebApplication

Required

Microsoft.SharePoint.PowerShell.WebApplicationPipeBind

Specifies the identity of the Web application that hosts the managed path to delete. The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid Web application name (for example, WebApplication1212); or a valid name, in the form WebApp2423.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

2

Parameter

Required

Type

Description

Identity

Required

Microsoft.SharePoint.PowerShell.SPPrefixPipeBind

Specifies the name of the managed path to delete. For example, in the URL http://sitename/sites/site1, "sites" is the name of the managed path.

HostHeader

Required

System.Management.Automation.SwitchParameter

Specifies that the Identity is a host header managed path.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

This cmdlet contains more than one parameter set. You may only use parameters from one parameter set, and you may not combine parameters from different parameter sets. For more information about how to use parameter sets, see Cmdlet Parameter Sets.

The Remove-SPManagedPath cmdlet deletes the managed path specified by the Identity parameter from the host header or the Web application. The Identity must be the partial URL of the managed path to be deleted.

If you are using host headers, specify the HostHeader parameter. To delete a HostHeader managed path, provide the HostHeader switch. Otherwise, you must specify the Web application that contains the managed path to be deleted.

Input Types

Return Types

Example

----------------------EXAMPLE 1----------------------------

Copy Code
Remove-SPManagedPath "sites" -HostHeader

This example removes the sites managed path from the list of HostHeader managed paths.

Depending on the confirmation level of the local system, the preceding example can prompt prior to execution.

------------------EXAMPLE 2-----------------------

Copy Code
Get-SPWebApplication | Remove-SPManagedPath "personal" -confirm:$false

This example removes the personal managed path from all Web applications in the farm. This command does not prompt for confirmation.

See Also

Reference

Get-SPManagedPath
New-SPManagedPath


Remove-SPTrustedIdentityTokenIssuer
See Also Example
[image]

Published: May 12, 2010

Deletes a security token service (STS) identity provider from the farm.

Remove-SPTrustedIdentityTokenIssuer [-Identity] <SPTrustedIdentityTokenIssuerPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.SharePoint.PowerShell.SPTrustedIdentityTokenIssuerPipeBind

Specifies the identity provider to remove.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; or a valid name of identity provider (for example, LiveID STS); or an instance of a valid SPIdentityProvider object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Remove-SPTrustedIdentityTokenIssuer cmdlet deletes a security token service (STS) identity provider from the farm.

Input Types

Return Types

Example

-----------------------------EXAMPLE----------------------------

Copy Code
Remove-SPTrustedIdentityTokenIssuer "LiveIDSTS"

This example removes an identity provider named LiveIDSTS from the farm.

See Also

Reference

Get-SPTrustedIdentityTokenIssuer
Set-SPTrustedIdentityTokenIssuer
New-SPTrustedIdentityTokenIssuer


Remove-SPTrustedRootAuthority
See Also Example
[image]

Published: May 12, 2010

Deletes a trusted root authority.

Remove-SPTrustedRootAuthority [-Identity] <SPTrustedRootAuthorityPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.SharePoint.PowerShell.SPTrustedRootAuthorityPipeBind

Specifies the trusted root authority to delete.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a trusted root authority (for example, WFEFarm1); or an instance of a valid SPTrustedRootAuthority object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Detailed Description

The Remove-SPTrustedRootAuthority cmdlet deletes a trusted root authority from a signing certificate store.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
Remove - SPTrustedRootAuthority -Name "WFEFarm1"

This example removes the trusted root authority WFEFarm1.

See Also

Reference

New-SPTrustedRootAuthority
Get-SPTrustedRootAuthority
Set-SPTrustedRootAuthority


Remove-SPTrustedServiceTokenIssuer
See Also Example
[image]

Published: May 12, 2010

Deletes the object that represents the farm trust.

Remove-SPTrustedServiceTokenIssuer [-Identity] <SPTrustedServiceTokenIssuerPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.SharePoint.PowerShell.SPTrustedServiceTokenIssuerPipeBind

Specifies the trusted service token issuer to delete.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a trusted service token issuer (for example, WFEFarm1); or an instance of a valid SPTrustedRootAuthority object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Detailed Description

The Remove-SPTrustedServiceTokenIssuer cmdlet deletes the object that represents the farm trust.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
Remove - SPTrustedServiceTokenIssuer "WFE Farm 2"

This example deletes the trusted service token issuer WFE Farm 2.

See Also

Reference

Set-SPTrustedServiceTokenIssuer
New-SPTrustedServiceTokenIssuer
Get-SPTrustedServiceTokenIssuer


Repair-SPManagedAccountDeployment
Example
[image]

Published: May 12, 2010

Repairs the local managed account credential deployment.

Repair-SPManagedAccountDeployment [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

Use the Repair-SPManagedAccountDeployment cmdlet to repair the local deployment of managed account credentials deployment on a server for the rare cases that the managed accounts service credentials are in a broken state. It re-deploys each local service and Web applications credentials and also determines if the passphrase is not correct on the server and repairs provides warnings accordingly. The Repair-SPManagedAccountDeployment cmdlet should not be used as part of the regular credential update process, but should be one of the first troubleshooting steps, specifically if a servers' services are failing to start when other servers' services are working correctly.

Input Types

Return Types

Example

----------EXAMPLE-----------

Copy Code
Repair-SPManagedAccountDeployment

This example repairs the deployment of credentials on all services and Web application associated with managed account (s) on the local server.


Revoke-SPObjectSecurity
See Also Example
[image]

Published: May 12, 2010

Removes a security principal from a SPObjectSecurity object.

Revoke-SPObjectSecurity [-Identity] <SPObjectSecurity> [-Principal] <SPClaim> [[-Rights] <String[]>] [-AssignmentCollection <SPAssignmentCollection>]
Revoke-SPObjectSecurity [-Identity] <SPObjectSecurity> -All <SwitchParameter> [-AssignmentCollection <SPAssignmentCollection>]

Parameters

1

Parameter

Required

Type

Description

Identity

Required

Microsoft.SharePoint.Administration.AccessControl.SPObjectSecurity

Specifies the SPObjectSecurity object from which the security principal is removed. You can use the Get-SPServiceApplicationSecurity cmdlet to get a SPObjectSecurity object .

Principal

Required

Microsoft.SharePoint.Administration.Claims.SPClaim

Specifies the principal for whom the rights are removed.

The type must a valid name a principal; for example, Full Control.

Rights

Optional

System.String[]

Specifies the rights of the principal to revoke.

The type must a valid array of strings that represents the rights of the principal to revoke.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

2

Parameter

Required

Type

Description

Identity

Required

Microsoft.SharePoint.Administration.AccessControl.SPObjectSecurity

Specifies the SPObjectSecurity object from which the security principal is removed. You can use the Get-SPServiceApplicationSecurity cmdlet to get a SPObjectSecurity object .

All

Required

System.Management.Automation.SwitchParameter

Specifies that all security principals are removed from the specified SPObjectSecurity object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Detailed Description

This cmdlet contains more than one parameter set. You may only use parameters from one parameter set, and you may not combine parameters from different parameter sets. For more information about how to use parameter sets, see Cmdlet Parameter Sets.

The Revoke-SPObjectSecurity cmdlet to remove a security principal, such as a user, from a SPObjectSecurity object. An SPObjectSecurity object is a common object that is used to represent the security access control list (ACL) of SharePoint administrative objects, in particular service applications.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
$security = Get-SPServiceApplicationSecurity $serviceApp -Admin
Revoke-SPObjectSecurity $security "domain\user"
Set-SPServiceApplicationSecurity $serviceApp -Admin $security

This example retrieves the SPObjectSecurity object corresponding to the administrator ACL on a service application, and removes a user from that ACL. The removed an administrator for the service application $serviceApp.

See Also

Reference

Grant-SPObjectSecurity
Get-SPServiceApplicationSecurity


Set-SPClaimProvider
See Also Example
[image]

Published: May 12, 2010

Updates registration of a claims provider.

Set-SPClaimProvider [-Identity] <SPClaimProviderPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Default <SwitchParameter>] [-Enabled <SwitchParameter>]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.SharePoint.PowerShell.SPClaimProviderPipeBind

Specifies the claim provider to update.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a claim provider (for example, MyClaimProvider1); or an instance of a valid SPClaimProvider object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Default

Optional

System.Management.Automation.SwitchParameter

Specifies that the claim provider applies to all Web applications and zones.

Enabled

Optional

System.Management.Automation.SwitchParameter

Turns on the claim provider.

Detailed Description

The Set-SPClaimProvider cmdlet updates registration of a claims provider.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
Set-SPClaimProvider -Identity "12345678-90ab-cdef-1234-567890bcdefgh"

This example turns off the specified claim provider.

See Also

Reference

Get-SPClaimProvider
Remove-SPClaimProvider
New-SPClaimProvider


Set-SPManagedAccount
See Also Example
[image]

Published: May 12, 2010

Configures the managed account.

Set-SPManagedAccount [-Identity] <SPManagedAccountPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-EmailNotification <Int32>] [-PreExpireDays <Int32>] [-Schedule <String>] [-WhatIf [<SwitchParameter>]]
Set-SPManagedAccount [-Identity] <SPManagedAccountPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-AutoGeneratePassword <SwitchParameter>] [-Confirm [<SwitchParameter>]] [-EmailNotification <Int32>] [-PreExpireDays <Int32>] [-Schedule <String>] [-WhatIf [<SwitchParameter>]]
Set-SPManagedAccount [-Identity] <SPManagedAccountPipeBind> -Password <SecureString> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-EmailNotification <Int32>] [-PreExpireDays <Int32>] [-Schedule <String>] [-WhatIf [<SwitchParameter>]]
Set-SPManagedAccount [-Identity] <SPManagedAccountPipeBind> -ConfirmPassword <SecureString> -NewPassword <SecureString> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-EmailNotification <Int32>] [-PreExpireDays <Int32>] [-Schedule <String>] [-SetNewPassword <SwitchParameter>] [-WhatIf [<SwitchParameter>]]
Set-SPManagedAccount [-Identity] <SPManagedAccountPipeBind> -ExistingPassword <SecureString> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-EmailNotification <Int32>] [-PreExpireDays <Int32>] [-Schedule <String>] [-UseExistingPassword <SwitchParameter>] [-WhatIf [<SwitchParameter>]]

Parameters

1

Parameter

Required

Type

Description

Identity

Required

Microsoft.SharePoint.PowerShell.SPManagedAccountPipeBind

Specifies the full name or partial name of the managed accounts to retrieve.

The type must be a valid account name, in the form Domain\User, or a GUID, in the form 1234-3456-09876.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

EmailNotification

Optional

System.Int32

Specifies the number of days before password change to begin e-mail notifications.

The default value is 5.

PreExpireDays

Optional

System.Int32

Specifies the number of days before expiration to schedule password change.

The default value is 2.

Schedule

Optional

System.String

Specifies the new schedule on which the password change job is to run.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

2

Parameter

Required

Type

Description

Identity

Required

Microsoft.SharePoint.PowerShell.SPManagedAccountPipeBind

Specifies the full name or partial name of the managed accounts to retrieve.

The type must be a valid account name, in the form Domain\User, or a GUID, in the form 1234-3456-09876.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

AutoGeneratePassword

Optional

System.Management.Automation.SwitchParameter

Automatically generates a new password.

The type must be either of the following values:

- True

- False

The default value is False.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

EmailNotification

Optional

System.Int32

Specifies the number of days before password change to begin e-mail notifications.

The default value is 5.

PreExpireDays

Optional

System.Int32

Specifies the number of days before expiration to schedule password change.

The default value is 2.

Schedule

Optional

System.String

Specifies the new schedule on which the password change job is to run.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

3

Parameter

Required

Type

Description

Identity

Required

Microsoft.SharePoint.PowerShell.SPManagedAccountPipeBind

Specifies the full name or partial name of the managed accounts to retrieve.

The type must be a valid account name, in the form Domain\User, or a GUID, in the form 1234-3456-09876.

Password

Required

System.Security.SecureString

Sets a password for the managed account.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

EmailNotification

Optional

System.Int32

Specifies the number of days before password change to begin e-mail notifications.

The default value is 5.

PreExpireDays

Optional

System.Int32

Specifies the number of days before expiration to schedule password change.

The default value is 2.

Schedule

Optional

System.String

Specifies the new schedule on which the password change job is to run.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

4

Parameter

Required

Type

Description

Identity

Required

Microsoft.SharePoint.PowerShell.SPManagedAccountPipeBind

Specifies the full name or partial name of the managed accounts to retrieve.

The type must be a valid account name, in the form Domain\User, or a GUID, in the form 1234-3456-09876.

ConfirmPassword

Required

System.Security.SecureString

Confirms the new password for this managed account.

NewPassword

Required

System.Security.SecureString

Sets a new password for the managed account

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

EmailNotification

Optional

System.Int32

Specifies the number of days before password change to begin e-mail notifications.

The default value is 5.

PreExpireDays

Optional

System.Int32

Specifies the number of days before expiration to schedule password change.

The default value is 2.

Schedule

Optional

System.String

Specifies the new schedule on which the password change job is to run.

SetNewPassword

Optional

System.Management.Automation.SwitchParameter

Sets the password to the new value that is passed in, and changes the value in AD DS.

The type must be either of the following values:

- True

- False

The default value is False.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

5

Parameter

Required

Type

Description

Identity

Required

Microsoft.SharePoint.PowerShell.SPManagedAccountPipeBind

Specifies the full name or partial name of the managed accounts to retrieve.

The type must be a valid account name, in the form Domain\User, or a GUID, in the form 1234-3456-09876.

ExistingPassword

Required

System.Security.SecureString

Sets the password for this managed account to an existing value that has already been changed in Active Directory Domain Services (AD DS).

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

EmailNotification

Optional

System.Int32

Specifies the number of days before password change to begin e-mail notifications.

The default value is 5.

PreExpireDays

Optional

System.Int32

Specifies the number of days before expiration to schedule password change.

The default value is 2.

Schedule

Optional

System.String

Specifies the new schedule on which the password change job is to run.

UseExistingPassword

Optional

System.Management.Automation.SwitchParameter

Sets the password to a new value passed in where the value is already changed in AD DS.

The type must be either of the following values:

- True

- False

The default value is False.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

This cmdlet contains more than one parameter set. You may only use parameters from one parameter set, and you may not combine parameters from different parameter sets. For more information about how to use parameter sets, see Cmdlet Parameter Sets.

The Set-SPManagedAccount cmdlet sets the properties on the given managed account.

You can use this cmdlet to change the password expiration and notification settings for the managed account: Use the default parameter set. Additionally, you can use this cmdlet to change the password for the managed account to automatically generated passwords on a set schedule: Use the parameter set that includes the AutoGeneratePassword parameter. You can also use this cmdlet to change the password for the managed account to a new value, known to the administrator: Use the parameter set that includes the SetNewPassword parameter. Finally, you can use this cmdlet to change the password for the managed account to an existing value that has been already been changed in Active Directory Domain Services (AD DS): Use the parameter set that includes the UseExistingPassword parameter.

Input Types

Return Types

Example

------------------EXAMPLE-----------------------

Copy Code
$m = Get-SPManagedAccount -Identity "DOMAINx\UserY"
Copy Code
Set-SPManagedAccount -Identity $m -AutoGeneratePassword true

This example displays an explicit managed account if it exists, and then attempts to update it to use automatically generated passwords.

See Also

Reference

Get-SPManagedAccount
New-SPManagedAccount
Remove-SPManagedAccount


Set-SPSecurityTokenServiceConfig
See Also Example
[image]

Published: May 12, 2010

Updates the settings of the SharePoint security token service (STS) identity provider.

Set-SPSecurityTokenServiceConfig [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-FormsTokenLifetime <Int32>] [-ImportSigningCertificate <X509Certificate2>] [-MaxLogonTokenCacheItems <Int32>] [-MaxServiceTokenCacheItems <Int32>] [-ServiceTokenCacheExpirationWindow <Int32>] [-ServiceTokenLifetime <Int32>] [-WhatIf [<SwitchParameter>]] [-WindowsTokenLifetime <Int32>]
Set-SPSecurityTokenServiceConfig -SigningCertificateThumbprint <String> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-FormsTokenLifetime <Int32>] [-MaxLogonTokenCacheItems <Int32>] [-MaxServiceTokenCacheItems <Int32>] [-ServiceTokenCacheExpirationWindow <Int32>] [-ServiceTokenLifetime <Int32>] [-SigningCertificateStoreName <String>] [-WhatIf [<SwitchParameter>]] [-WindowsTokenLifetime <Int32>]

Parameters

1

Parameter

Required

Type

Description

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

FormsTokenLifetime

Optional

System.Int32

Specifies the expiration time, in minutes, for tokens issued to ASP.NET Membership Provider and Role providers. The default value is 1380.

The type must be a valid integer.

ImportSigningCertificate

Optional

System.Security.Cryptography.X509Certificates.X509Certificate2

Specifies the X.509 certificate object from trusted authentication provider farm.

The type must be a name of a valid X.509 certificate; for example, Certificate1.

MaxLogonTokenCacheItems

Optional

System.Int32

Specifies the maximum number of entries for the in-memory logon token cache. The default value is 10000 entries.

The type must be a valid integer.

MaxServiceTokenCacheItems

Optional

System.Int32

Specifies the maximum number of entries for the in-memory service token cache. The default value is 10000 entries.

The type must be a valid integer.

ServiceTokenCacheExpirationWindow

Optional

System.Int32

Specifies the interval, in minutes, for automatically renewing the token in the cache. The default value is 2 minutes.

The type must be a valid integer.

ServiceTokenLifetime

Optional

System.Int32

Specifies the expiration time, in minutes, for the security token service cache. The default value is 15 minutes.

The type must be a valid integer.

WindowsTokenLifetime

Optional

System.Int32

Specifies the expiration time, in minutes, for tokens issued to Windows users. The default value is 1380 minutes.

The type must be a valid integer.

2

Parameter

Required

Type

Description

SigningCertificateThumbprint

Required

System.String

Specifies the thumbrpint of the signing certificate.

The type must be a valid identity of a signing certificate; for example 2796BAE63F1801E277261BA0D77770028F20EEE4.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

FormsTokenLifetime

Optional

System.Int32

Specifies the expiration time, in minutes, for tokens issued to ASP.NET Membership Provider and Role providers. The default value is 1380.

The type must be a valid integer.

MaxLogonTokenCacheItems

Optional

System.Int32

Specifies the maximum number of entries for the in-memory logon token cache. The default value is 10000 entries.

The type must be a valid integer.

MaxServiceTokenCacheItems

Optional

System.Int32

Specifies the maximum number of entries for the in-memory service token cache. The default value is 10000 entries.

The type must be a valid integer.

ServiceTokenCacheExpirationWindow

Optional

System.Int32

Specifies the interval, in minutes, for automatically renewing the token in the cache. The default value is 2 minutes.

The type must be a valid integer.

ServiceTokenLifetime

Optional

System.Int32

Specifies the expiration time, in minutes, for the security token service cache. The default value is 15 minutes.

The type must be a valid integer.

SigningCertificateStoreName

Optional

System.String

Specifies the certificate store where the signing certificate resides. The identity store for an identity provider can be a SQL database table, an Active Directory Domain Services (AD DS), or Active Directory Lightweight Directory Service (AD LDS).

The type must be a valid identity of a signing certificate store; for example IdentityStore1.

WindowsTokenLifetime

Optional

System.Int32

Specifies the expiration time, in minutes, for tokens issued to Windows users. The default value is 1380 minutes.

The type must be a valid integer.

Detailed Description

This cmdlet contains more than one parameter set. You may only use parameters from one parameter set, and you may not combine parameters from different parameter sets. For more information about how to use parameter sets, see Cmdlet Parameter Sets.

The Set-SPSecurityTokenServiceConfig cmdlet updates the settings of the SharePoint security token service (STS) identity provider. If a certificate file is used, the certificate must be an X509 certificate with private keys, otherwise an exception is raised.

Note:

This cmdlet operates only with certificates that can be exported. To create a certificate which can be used in this cmdlet specify the X509KeyStorageFlags.Exportable bit in the keyStorageFlags parameter of the x509Certificate2 object constructor.

Input Types

Return Types

Example

------------------EXAMPLE 1------------------

Copy Code
Set-SPSecurityTokenServiceConfig -SigningCertificateThumbprint "2796BAE63F1801E277261BA0D77770028F20EEE4"

This example updates the signing certificate of the SharePoint security token service (STS) identity provider with a certificate that has been deployed in the certificate store.

------------------EXAMPLE 2------------------

Copy Code
$stsCert = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2 "c:\sts.pfx","a",20
Copy Code
Set-SPSecurityTokenServiceConfig -ImportSigningCertificate $stsCert

This example imports the signing certificate for the SharePoint STS identity provider.

See Also

Reference

Get-SPSecurityTokenServiceConfig


Set-SPServiceApplicationSecurity
See Also Example
[image]

Published: May 12, 2010

Updates the SPObjectSecurity object for a service application.

Set-SPServiceApplicationSecurity [-Identity] <SPServiceApplicationPipeBind> [-ObjectSecurity] <SPObjectSecurity> [-Admin <SwitchParameter>] [-AssignmentCollection <SPAssignmentCollection>]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.SharePoint.PowerShell.SPServiceApplicationPipeBind

Specifies the service application that contains the SPObjectSecurity object to update.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a service application (for example, ServiceApp1); or an instance of a valid SPServiceApplication object.

ObjectSecurity

Required

Microsoft.SharePoint.Administration.AccessControl.SPObjectSecurity

Specifies the SPObjectSecurity object to update.

Admin

Optional

System.Management.Automation.SwitchParameter

Updates the access control list (ACL) that contains the administrators list of the service application.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Detailed Description

The Set-SPServiceApplicationSecurity cmdlet updates a security object for the specified service application. Use this cmdlet with the Grant-SPObjectSecurity and Get-SPServiceApplicationSecurity cmdlets to manage security for a service application.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
$security = Get-SPServiceApplicationSecurity $serviceApp -Admin
Grant-SPObjectSecurity $security $principal "Full Control"
Set-SPServiceApplicationSecurity $serviceApp -Admin $security

This example retrieves the SPObjectSecurity object corresponding to the administrator ACL on a service application, and adds a new user principal to that ACL. The new user is an administrator for the service application $serviceApp.

See Also

Reference

Get-SPServiceApplicationSecurity
Grant-SPObjectSecurity
Revoke-SPObjectSecurity


Set-SPTrustedIdentityTokenIssuer
See Also Example
[image]

Published: May 12, 2010

Sets the identity providers of a Web application.

Set-SPTrustedIdentityTokenIssuer [-Identity] <SPTrustedIdentityTokenIssuerPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-ClaimProvider <SPClaimProviderPipeBind>] [-ClaimsMappings <SPClaimMappingPipeBind[]>] [-Description <String>] [-ImportTrustCertificate <X509Certificate2>] [-Realm <String>] [-SignInUrl <String>] [-UseWReply <SwitchParameter>]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.SharePoint.PowerShell.SPTrustedIdentityTokenIssuerPipeBind

Specifies the identity provider to update.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; or a valid name of identity provider (for example, LiveID STS); or an instance of a valid SPIdentityProvider object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

ClaimProvider

Optional

Microsoft.SharePoint.PowerShell.SPClaimProviderPipeBind

Specifies the IP STS that can resolve and search claims for claims people picker.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; or a valid name of a claim provider (for example, MyIDprovider1); or an instance of a valid SPClaimProvider object.

ClaimsMappings

Optional

Microsoft.SharePoint.PowerShell.SPClaimMappingPipeBind[]

Specifies the mapping of the claims from the original token to the SharePoint token.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; or a valid name of a claim mapping rule (for example, Email); or an instance of a valid SPClaimMapping object.

Description

Optional

System.String

Specifies a description for the new identity provider.

The type must be a valid string; for example, LiveID STS.

ImportTrustCertificate

Optional

System.Security.Cryptography.X509Certificates.X509Certificate2

Specifies the X.509 certificate object from trusted authentication provider farm.

The type must be a name of a valid X.509 certificate; for example, Certificate1.

Realm

Optional

System.String

Specifies the realm, or resource partition, associated with this trust.

The type must be a name of a valid realm; for example, MD_REALM.

SignInUrl

Optional

System.String

Specifies the sign-in URLs for this trusted identity provider STS.

The type must be a valid URL, in the form http://int.live.com/.

UseWReply

Optional

System.Management.Automation.SwitchParameter

Includes a WReply with the token request. Wreply is a URL at the relying party to which the requestor is redirected once sign-out processing is complete.

Detailed Description

The Set-SPTrustedIdentityTokenIssuer cmdlet sets the identity providers of a Web application or extended Web application. For the ASP.NET Membership provider and Role provider, this cmdlet changes the identity provider only if the result is piped to a variable and passed to a Web application. For security token service (STS) identity providers, this cmdlet changes the persisted identity provider object in the SPFarm object.

Input Types

Return Types

Example

-------------------------EXAMPLE 1----------------------

Copy Code
Set-SPTrustedIdentityTokenIssuer "LiveIDSTS" -Certificate (Get-ChildItem"cert:Certificates (LocalComputer)\Personal\Certificates -Name "LiveID Cert")

This example sets the identity provider to LiveIDSTS.

-------------------------EXAMPLE 2----------------------

Copy Code
$ip = @( (Get-SPTrustedIdentityTokenIssuer "LiveID STS"), (New-SPTrustedIdentityTokenIssuer -ASPNetMembershipProvider "myMembershipProvider" -ASPNetRoleProvider "myRoleProvider"), (Get-SPTrustedIdentityTokenIssuer "NTLM")) )
New-SPWebApplication http://contoso.com -IdentityProvider $ip

This example sets the identity provider using the .ASPNetMembership and Role parameters. When these parameters are used, a variable must be set; otherwise, the values do not take effect.

See Also

Reference

Get-SPTrustedIdentityTokenIssuer
New-SPTrustedIdentityTokenIssuer
Remove-SPTrustedIdentityTokenIssuer


Set-SPTrustedRootAuthority
See Also Example
[image]

Published: May 12, 2010

Creates a new trusted root authority.

Set-SPTrustedRootAuthority [-Identity] <SPTrustedRootAuthorityPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Certificate <X509Certificate2>]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.SharePoint.PowerShell.SPTrustedRootAuthorityPipeBind

Specifies the trusted root authority to update.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a trusted root authority (for example, WFEFarm1); or an instance of a valid SPTrustedRootAuthority object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Certificate

Optional

System.Security.Cryptography.X509Certificates.X509Certificate2

Specifies the X.509 certificate of the trusted root authority.

The type must be a name of a valid X.509 certificate; for example, Certificate1.

Detailed Description

The Set-SPTrustedRootAuthority cmdlet creates a new trusted root authority. If a certificate file is used, the certificate must be an X509 certificate with private keys, otherwise an exception is raised.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
$cert = Get-PfxCertificate C:\LiveIDSigningCert.pfx
Get - SPTrustedRootAuthority -Name "WFEFarm1" | Set- SPTrustedRootAuthority -Certificate $cert

This example updates the certificate of the trusted root authority WFEFarm1.

See Also

Reference

Remove-SPTrustedRootAuthority
New-SPTrustedRootAuthority
Get-SPTrustedRootAuthority


Set-SPTrustedServiceTokenIssuer
See Also Example
[image]

Published: May 12, 2010

Updates a trust with the farm.

Set-SPTrustedServiceTokenIssuer [-Identity] <SPTrustedServiceTokenIssuerPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Certificate <X509Certificate2>] [-Description <String>]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.SharePoint.PowerShell.SPTrustedServiceTokenIssuerPipeBind

Specifies the trusted service token issuer to update.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a trusted service token issuer (for example, WFEFarm1); or an instance of a valid SPTrustedRootAuthority object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Certificate

Optional

System.Security.Cryptography.X509Certificates.X509Certificate2

Specifies the X.509 certificate object from trusted authentication provider farm.

The type must be a name of a valid X.509 certificate; for example, Certificate1.

Description

Optional

System.String

Specifies a description for the trust.

The type must be a valid string; for example, WFE Farm Trust1.

Detailed Description

The Set-SPTrustedServiceTokenIssuer cmdlet updates a trust with a SharePoint farm. If a certificate file is used, it must have only one X509 certificate without private keys, otherwise an exception is raised.

Input Types

Return Types

Example

------------------EXAMPLE 1------------------

Copy Code
$cert = Get-PfxCertificate C:\LiveIDSigningCert.pfx
Set - SPTrustedServiceTokenIssuer "WFEFarm1" - Description "WFE Farm 1" - ImportTrustCertificate $cert

This example updates a SharePoint Farm trust using the trust certificate from a file.

------------------EXAMPLE 2------------------

Copy Code
Set - SPTrustedServiceTokenIssuer "WFEFarm1" - Description "WFE Farm 1" -FederationMetadataUrl "https://liveid.com/STS/2007/03/fedmetadata.xml"

This example updates a SharePoint farm trust using the trust certificate from the federation metadata endpoint URL.

See Also

Reference

Get-SPTrustedServiceTokenIssuer
New-SPTrustedServiceTokenIssuer
Remove-SPTrustedServiceTokenIssuer


Update-SPFarmEncryptionKey
Example
[image]

Published: May 12, 2010

Changes the value of the farm encryption key and, using the new key, re-encrypts all the data.

Update-SPFarmEncryptionKey [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-Resume <SwitchParameter>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

Resume

Optional

System.Management.Automation.SwitchParameter

Resumes re-encryption of data with the new farm encryption key if a previous attempt failed.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Update-SPFarmEncryptionKey cmdlet changes the farm encryption key to a new randomly generated value. When the new key is used, all the data is re-encrypted.

Input Types

Return Types

Errors

Error | Description

Exceptions

Exceptions | Description

Example

------------------EXAMPLE-----------------------

Copy Code
Update-SPFarmEncryptionKey -confirm

This example changes the farm encryption key to a new value and re-encrypts all the data.


Service application cmdlets (SharePoint Server 2010)
See Also

You can use Windows PowerShell cmdlets to administer service applications in a Microsoft SharePoint Server 2010 farm.

Cmdlet name | Description
Add-SPServiceApplicationProxyGroupMember | Adds a member to the service application proxy group.
Get-SPServiceApplication | Returns the specified service application.
Get-SPServiceApplicationEndpoint | Returns the endpoint of a service application.
Get-SPServiceApplicationPool | Returns the specified Internet Information Services (IIS) application pool.
Get-SPServiceApplicationProxy | Returns an instance of the specified service application proxy.
Get-SPServiceApplicationProxyGroup | Returns the proxy group for the specified service application.
Get-SPServiceContext | Returns a service context.
Get-SPServiceHostConfig | Returns the common Web service settings.
Get-SPServiceInstance | Returns the services instance for a specific server or the entire farm.
Get-SPTopologyServiceApplication | Displays properties of the topology service application for the current farm.
Get-SPTopologyServiceApplicationProxy | Retrieves the topology service application proxy.
Get-SPUsageApplication | Returns a specified usage application.
Get-SPUsageDefinition | Returns a usage definition object.
Get-SPUsageService | Returns a usage service.
Grant-SPServiceApplication | Grants a user account access to the service application.
Install-SPService | Installs and provisions services on a farm.
New-SPServiceApplicationPool | Creates a new Web service application pool.
New-SPServiceApplicationProxyGroup | Creates a new service application proxy group.
New-SPSubscriptionSettingsServiceApplication | Creates a new subscription settings service application.
New-SPSubscriptionSettingsServiceApplicationProxy | Creates an application proxy to a subscription settings service application.
New-SPUsageApplication | Creates a new usage application.
Publish-SPServiceApplication | Shares the specified local service application outside the farm.
Receive-SPSharedServiceApplicationInfo | Configures this farm to receive service information from another farm.
Remove-SPServiceApplication | Deletes the specified service application on the local server.
Remove-SPServiceApplicationPool | Completely deletes the specified Web service application pool.
Remove-SPServiceApplicationProxy | Deletes the specified service application proxy.
Remove-SPServiceApplicationProxyGroup | Completely deletes the specified service application proxy group.
Remove-SPServiceApplicationProxyGroupMember | Removes one or more proxies from the specified service application proxy group.
Remove-SPSiteSubscriptionBusinessDataCatalogConfig | Removes the Business Data Connectivity Metadata Store for a partition.
Remove-SPUsageApplication | Removes a usage application from the local farm.
Revoke-SPServiceApplication | Revokes a user's access to a service application.
Set-SPServiceApplication | Sets properties of a service application.
Set-SPServiceApplicationEndpoint | Sets the host of an endpoint for a service application.
Set-SPServiceApplicationPool | Changes the account used for the Identity of the specified application pool.
Set-SPServiceHostConfig | Configures one or more common settings for all Web services.
Set-SPTopologyServiceApplication | Sets the properties on the topology service application of the local farm.
Set-SPTopologyServiceApplicationProxy | Sets the proxy properties of the topology service application.
Set-SPUsageApplication | Sets properties of a usage application.
Set-SPUsageDefinition | Sets the retention period for a usage provider.
Set-SPUsageService | Sets the properties of a usage service.
Start-SPServiceInstance | Starts the service instance for a service on a specific server or the farm.
Stop-SPServiceInstance | Stops the service instance for a service.
Unpublish-SPServiceApplication | Stops sharing the specified service application outside the farm.

See Also

Other Resources

Resource Center: Windows PowerShell for SharePoint Server 2010


Add-SPServiceApplicationProxyGroupMember
See Also Example
[image]

Published: May 12, 2010

Adds a member to the service application proxy group.

Add-SPServiceApplicationProxyGroupMember [-Identity] <SPServiceApplicationProxyGroupPipeBind> [-Member] <SPServiceApplicationProxyPipeBind[]> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

SPServiceApplicationProxyGroupPipeBind.

Specifies the service application proxy group to which to add the member.

Member

Required

SPServiceApplicationProxyPipeBind[]

Specifies an array of members to add to the service application proxy group.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Add-SPServiceApplicationProxyGroupMember cmdlet adds a member to the service application proxy group.

Input Types

Return Types

Example

------------------EXAMPLE-----------------------

Copy Code
Add-SPServiceApplicationProxyGroupMember RemoteProxyGroup -Member babab30e-8e3a-428b-8ff4-4d5c8f455e6d

This example adds a select service application proxy to the service application proxy group named RemoteProxyGroup.

The service application proxy group GUID is unique to every farm. You can run Get-SPServiceApplicationProxyGroup | Select Name,Id to see the GUID of the serviceapplication proxy groups. Use this result for any other SPServiceApplicationProxyGroup cmdlets.

See Also

Reference

Remove-SPServiceApplicationProxyGroupMember


Get-SPServiceApplication
See Also Example
[image]

Published: May 12, 2010

Returns the specified service application.

Get-SPServiceApplication [[-Identity] <SPServiceApplicationPipeBind>] [-AssignmentCollection <SPAssignmentCollection>] [-Name <String>]

Parameters

Parameter Required Type Description

Identity

Optional

Microsoft.SharePoint.PowerShell.SPServiceApplicationPipeBind

Specifies the GUID of the service application to get.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Detailed Description

The Get-SPServiceApplication cmdlet returns the service application specified by the Identity parameter. If no parameter is specified, the cmdlet returns all service applications in the farm.

Input Types

Return Types

Example

------------------EXAMPLE----------------------

Copy Code
Get-SPServiceApplication

This example returns all service applications in the farm.

See Also

Reference

Set-SPServiceApplication
Grant-SPServiceApplication
Revoke-SPServiceApplication
Get-SPServiceApplicationProxy


Get-SPServiceApplicationEndpoint
See Also Example
[image]

Published: May 12, 2010

Returns the endpoint of a service application.

Get-SPServiceApplicationEndpoint [-Identity] <SPServiceEndpointPipeBind> [-AssignmentCollection <SPAssignmentCollection>]
Get-SPServiceApplicationEndpoint -ServiceApplication <SPServiceApplicationPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Name <String>]

Parameters

1

Parameter

Required

Type

Description

Identity

Required

Microsoft.SharePoint.PowerShell.SPServiceEndpointPipeBind

Specifies the service endpoint to get.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid URI of an endpoint address, in the form http://sitename:8003/servicemodelsamples/service; or an instance of a valid SPServiceEndpoint object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

2

Parameter

Required

Type

Description

ServiceApplication

Required

Microsoft.SharePoint.PowerShell.SPServiceApplicationPipeBind

Specifies the service application to update.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a subscription settings service application (for example, SubscriptionSettingsApp1); or an instance of a valid SPServiceApplication object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Name

Optional

System.String

Specifies the name of the service application endpoint.

The type must be a valid name of an service application endpoint; for example, SvcAppEndpoint1.

Detailed Description

This cmdlet contains more than one parameter set. You may only use parameters from one parameter set, and you may not combine parameters from different parameter sets. For more information about how to use parameter sets, see Cmdlet Parameter Sets.

The Get-SPServiceApplicationEndpoint cmdlet sets the host of a service endpoint. Use the second parameter set and do not specify the Name parameter to return a collection of all endpoints for the specified service application.

Input Types

Return Types

Example

-------------------EXAMPLE--------------------

Copy Code
Get- SPServiceApplicationEndpoint -ServiceApplication "ServiceSubApp1"

This example returns the SPServiceEndpoint object based on the specified service application.

See Also

Reference

Set-SPServiceApplicationEndpoint


Get-SPServiceApplicationPool
See Also Example
[image]

Published: May 12, 2010

Returns the specified Internet Information Services (IIS) application pool.

Get-SPServiceApplicationPool [[-Identity] <SPIisWebServiceApplicationPoolPipeBind>] [-AssignmentCollection <SPAssignmentCollection>]

Parameters

Parameter Required Type Description

Identity

Optional

Microsoft.SharePoint.PowerShell.SPIisWebServiceApplicationPoolPipeBind

Specifies the name or identifier (ID) of the application pool to get.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Detailed Description

The Get-SPServiceApplicationPool cmdlet returns the IIS application pool specified by the Identity parameter, or returns all application pools if the Identity parameter is not specified.

Input Types

Return Types

Example

--------------EXAMPLE-----------------

Copy Code
Get-SPServiceApplicationPool

This example returns all the service application pools in the farm.

See Also

Reference

New-SPServiceApplicationPool
Set-SPServiceApplicationPool
Remove-SPServiceApplicationPool


Get-SPServiceApplicationProxy
See Also Example
[image]

Published: May 12, 2010

Returns an instance of the specified service application proxy.

Get-SPServiceApplicationProxy [[-Identity] <SPServiceApplicationProxyPipeBind>] [-AssignmentCollection <SPAssignmentCollection>]

Parameters

Parameter Required Type Description

Identity

Optional

Microsoft.SharePoint.PowerShell.SPServiceApplicationProxyPipeBind

Specifies the GUID of the service application proxy to return.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Detailed Description

This cmdlet contains more than one parameter set. You may only use parameters from one parameter set, and you may not combine parameters from different parameter sets. For more information about how to use parameter sets, see Cmdlet Parameter Sets.

The Get-SPServiceApplicationProxy cmdlet returns an instance of the service application proxy specified by the Identity parameter.

Input Types

Return Types

Example

--------------EXAMPLE-----------------

Copy Code
Get-SPServiceApplicationProxy

This example retrieves all the service application proxies in the farm.

See Also

Reference

Remove-SPServiceApplicationProxy
New-SPServiceApplicationProxyGroup
Remove-SPServiceApplicationProxyGroup
Get-SPServiceApplicationProxyGroup


Get-SPServiceApplicationProxyGroup
See Also Example
[image]

Published: May 12, 2010

Returns the proxy group for the specified service application.

Get-SPServiceApplicationProxyGroup [[-Identity] <SPServiceApplicationProxyGroupPipeBind>] [-AssignmentCollection <SPAssignmentCollection>]
Get-SPServiceApplicationProxyGroup -Default <SwitchParameter> [-AssignmentCollection <SPAssignmentCollection>]

Parameters

1

Parameter

Required

Type

Description

Identity

Optional

Microsoft.SharePoint.PowerShell.SPServiceApplicationProxyGroupPipeBind

Specifies the name or the GUID of the proxy group.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

2

Parameter

Required

Type

Description

Default

Required

System.Management.Automation.SwitchParameter

Returns the default sevice proxy group for the farm.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Detailed Description

The Get-SPServiceApplicationProxyGroup cmdlet displays a list of the proxy groups in the farm. To display a specific proxy group, use the Identity parameter. If no parameter value is specified, a list of all proxy groups is displayed.

Input Types

Return Types

Example

--------------EXAMPLE-----------------

Copy Code
Get-SPServiceApplicationProxyGroup

This example retrieves all of the service application proxy groups in the farm.

See Also

Reference

New-SPServiceApplicationProxyGroup
Remove-SPServiceApplicationProxyGroup
Add-SPServiceApplicationProxyGroupMember


Get-SPServiceContext
Example
[image]

Published: May 12, 2010

Returns a service context.

Get-SPServiceContext [-Site] <SPSitePipeBind> [-AssignmentCollection <SPAssignmentCollection>]
Get-SPServiceContext -SiteSubscription <SPSiteSubscriptionPipeBind> [-AssignmentCollection <SPAssignmentCollection>]

Parameters

1

Parameter

Required

Type

Description

Site

Required

Microsoft.SharePoint.PowerShell.SPSitePipeBind

Returns the service context for only the Web application that contains the specified site collection.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid URL, in the form http://server_name; or an instance of a valid SPSite object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

2

Parameter

Required

Type

Description

Site

Required

Microsoft.SharePoint.PowerShell.SPSitePipeBind

Returns the service context for only the Web application that contains the specified site collection.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid URL, in the form http://server_name; or an instance of a valid SPSite object.

SiteSubscription

Required

Microsoft.SharePoint.PowerShell.SPSiteSubscriptionPipeBind

Returns all of the service contexts for all Web applications in which the specified site subscription has site collections.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a site subscription (for example, SiteSubscriptionConfig1); or an instance of a valid SiteSubscription object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Detailed Description

This cmdlet contains more than one parameter set. You may only use parameters from one parameter set, and you may not combine parameters from different parameter sets. For more information about how to use parameter sets, see Cmdlet Parameter Sets.

The Get-SPServiceContext cmdlet returns a service context or a collection of service contexts. Specify the Site parameter to return an individual service context, or specify the SiteSubscription parameter to return a collection of service contexts.

Input Types

Return Types

Example

----------------EXAMPLE---------------

Copy Code
$sitesub = Get-SPSiteSubscription http://my.contoso.com/
Copy Code
Get-SPServiceContext $sitesub

This example returns the service context for a site in a hosted environment.


Get-SPServiceHostConfig
See Also Example
[image]

Published: May 12, 2010

Returns the common Web service settings.

Get-SPServiceHostConfig [-AssignmentCollection <SPAssignmentCollection>] [-Default <SwitchParameter>]

Parameters

Parameter Required Type Description

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Default

Optional

System.Management.Automation.SwitchParameter

This parameter has no effect.

Detailed Description

The Get-SPServiceHostConfig returns the common Web service settings.

Input Types

Return Types

Example

--------------EXAMPLE-------------------

Copy Code
Get- SPServiceHostConfig

This example displays the Web service settings.

See Also

Reference

Set-SPServiceHostConfig


Get-SPServiceInstance
See Also Example
[image]

Published: May 12, 2010

Returns the services instance for a specific server or the entire farm.

Get-SPServiceInstance [[-Identity] <SPServiceInstancePipeBind>] [-All <SwitchParameter>] [-AssignmentCollection <SPAssignmentCollection>]
Get-SPServiceInstance -Server <SPServerPipeBind> [-All <SwitchParameter>] [-AssignmentCollection <SPAssignmentCollection>]

Parameters

1

Parameter

Required

Type

Description

Identity

Optional

Microsoft.SharePoint.PowerShell.SPServiceInstancePipeBind

Specifies the GUID of the service instance.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

2

Parameter

Required

Type

Description

Server

Required

Microsoft.SharePoint.PowerShell.SPServerPipeBind

Specifies the server from which to return the service instance.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Detailed Description

This cmdlet contains more than one parameter set. You may only use parameters from one parameter set, and you may not combine parameters from different parameter sets. For more information about how to use parameter sets, see Cmdlet Parameter Sets.

The Get-SPServiceInstance cmdlet returns the services instance specified by the Identity parameter for a specific server. If the Server parameter is not specified, the Get-SPServiceInstance cmdlet returns results for the entire farm.

Input Types

Return Types

Example

--------------EXAMPLE-----------------

Copy Code
Get-SPServiceInstance -Server ServerA

This example displays the service instances from a given server.

See Also

Reference

Start-SPServiceInstance
Stop-SPServiceInstance


Get-SPTopologyServiceApplication
See Also Example
[image]

Published: May 12, 2010

Displays properties of the topology service application for the current farm.

Get-SPTopologyServiceApplication [[-Identity] <SPTopologyWebServiceApplicationPipeBind>] [-AssignmentCollection <SPAssignmentCollection>]

Parameters

Parameter Required Type Description

Identity

Optional

Microsoft.SharePoint.PowerShell.SPTopologyWebServiceApplicationPipeBind

Specifies the GUID of the application.

The type must be a valid GUID, in the form 1234-4567-098jhj.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Detailed Description

The Get-SPTopologyServiceApplication cmdlet displays the advanced properties of an application when the Identity parameter is used.

Input Types

Return Types

Example

--------------EXAMPLE-----------------

Copy Code
Get-SPTopologyServiceApplication

This example displays properties of the topology service application for the current farm.

See Also

Reference

Set-SPTopologyServiceApplication
Get-SPTopologyServiceApplicationProxy


Get-SPTopologyServiceApplicationProxy
See Also Example
[image]

Published: May 12, 2010

Retrieves the topology service application proxy.

Get-SPTopologyServiceApplicationProxy [[-Identity] <SPTopologyWebServiceProxyPipeBind>] [-AssignmentCollection <SPAssignmentCollection>]

Parameters

Parameter Required Type Description

Identity

Optional

Microsoft.SharePoint.PowerShell.SPTopologyWebServiceProxyPipeBind

Specifies the GUID of the application proxy.

The type must be a valid GUID, in the form 1234-4567-098jhj.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Detailed Description

The Get-SPTopologyServiceApplicationProxy cmdlet retrieves the local topology service application proxy.

Input Types

Return Types

Example

--------------EXAMPLE-----------------

Copy Code
Get-SPTopologyServiceApplicationProxy

This example displays the topology service application proxy in the farm.

See Also

Reference

Set-SPTopologyServiceApplicationProxy
Set-SPTopologyServiceApplication


Get-SPUsageApplication
See Also Example
[image]

Published: May 12, 2010

Returns a specified usage application.

Get-SPUsageApplication [[-Identity] <SPUsageApplicationPipeBind>] [-AssignmentCollection <SPAssignmentCollection>] [-UsageService <SPUsageServicePipeBind>]

Parameters

Parameter Required Type Description

Identity

Optional

Microsoft.SharePoint.PowerShell.SPUsageApplicationPipeBind

Specifies the usage application to get. If the Identity parameter is not specified, the cmdlet returns the local usage application.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a usage application (for example, UsageApplication1); or an instance of a valid SPUsageApplication object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

UsageService

Optional

Microsoft.SharePoint.PowerShell.SPUsageServicePipeBind

Filters to return the usage application with the specified parent SPUsageService object.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a usage service (for example, UsageService1); or an instance of a valid SPUsageService object.

Detailed Description

The Get-SPUsageApplication cmdlet return a specified usage application. If the Identity parameter is not specified, the cmdlet returns the local usage application.

Input Types

Return Types

Example

---------------EXAMPLE------------------

Copy Code
Get-SPUsageApplication -Identity "Usage and Health data collection"

This example returns the usage application named, Usage and Health data collection

See Also

Reference

New-SPUsageApplication
Set-SPUsageApplication
Remove-SPUsageApplication


Get-SPUsageDefinition
See Also Example
[image]

Published: May 12, 2010

Returns a usage definition object.

Get-SPUsageDefinition [[-Identity] <SPUsageDefinitionPipeBind>] [-AssignmentCollection <SPAssignmentCollection>]

Parameters

Parameter Required Type Description

Identity

Optional

Microsoft.SharePoint.PowerShell.SPUsageDefinitionPipeBind

Specifies the usage definition object to get.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a usage definition (for example, SiteSubscriptionConfig1); or an instance of a valid SPUsageDefinition object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Detailed Description

The Get-SPUsageDefinition cmdlet reads a usage definition object. If the Identity parameter is not specified, this cmdlet returns the collection of usage definitions in the farm. A usage definition object defines a specific type of usage.

Input Types

Return Types

Example

-----------------EXAMPLE-----------------

Copy Code
Get-SPUsageDefinition -Identity "Page Requests"

This example returns the SPRequestUsage provider on the local farm.

See Also

Reference

Set-SPUsageDefinition


Get-SPUsageService
See Also Example
[image]

Published: May 12, 2010

Returns a usage service.

Get-SPUsageService [[-Identity] <SPUsageServicePipeBind>] [-AssignmentCollection <SPAssignmentCollection>]

Parameters

Parameter Required Type Description

Identity

Optional

Microsoft.SharePoint.PowerShell.SPUsageServicePipeBind

Specifies the usage service to get. If the Identity parameter is not specified, the cmdlet returns the local usage service.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a usage service (for example, UsageService1); or an instance of a valid SPUsageService object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Detailed Description

The Get-SPUsageService cmdlet returns the specified usage service. If the Identity parameter is not specified, the cmdlet returns the local usage service.

Input Types

Return Types

Example

-------------------EXAMPLE-------------------------

Copy Code
Get-SPUsageService -Identity 57055d99-9914-4af6-a3bf-7b76e3f231c2

This example returns a SPUsageService object of the specified ID.

See Also

Reference

Set-SPUsageService


Grant-SPServiceApplication
See Also Example
[image]

Published: May 12, 2010

Grants a user account access to the service application.

Grant-SPServiceApplication -Identity <SPServiceApplicationPipeBind> -UserPrincipal <String> -Rights <String[]> -Type <String> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.SharePoint.PowerShell.SPServiceApplicationPipeBind

Specifies the GUID of the service application to which to grant access.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh.

UserPrincipal

Required

System.String

Specifies the identity to grant access to the service application.

The type must be a valid user principal name, in the form DOMAIN\user, or a claim, in the form CA:NTLM:Identity-username:domain\user.

Rights

Required

System.String[]

Specifies the rights to grant the user. By default, the following right exists - 'full' for both the admin and access types. Service applications can define their own rights.

The type must be a string array with valid user rights entries.

Type

Required

System.String

Specifies whether to grant the principal administrator rights or access rights.

Either Admin or Access.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Grant-SPServiceApplication cmdlet grants the specified level of access to the specified user accounts to the specified service application with the specified permissions.

Input Types

Return Types

Example

------------------EXAMPLE---------------------

Copy Code
Grant-SPServiceApplication 053c34be-d251-488c-8e94-644eae94da26 -UserPrincipal testdomin\tester1 -Rights Full Control -Type Admin

This example grants Full Control administrative access to the given user principal for the selected service application.

The service application GUID is unique to every farm. You can run the Get-SPServiceApplication cmdlet to see the GUID of the service applications, and then use the result from the Get-SPServiceApplication cmdlet for other SPServiceApplication cmdlets; for example, Grant-SPServiceApplication or Publish-SPServiceApplication.

See Also

Reference

Set-SPServiceApplication
Get-SPServiceApplication
Publish-SPServiceApplication
Revoke-SPServiceApplication
Remove-SPServiceApplication


Install-SPService
Example
[image]

Published: May 12, 2010

Installs and provisions services on a farm.

Install-SPService [-AssignmentCollection <SPAssignmentCollection>] [-Provision <SwitchParameter>]

Parameters

Parameter Required Type Description

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Provision

Optional

System.Management.Automation.SwitchParameter

Specifies default settings when installing a standalone service application.

Detailed Description

The Install-SPService cmdlet installs and optionally provisions services on a farm. This cmdlet installs all services, service instances, and service proxies specified in the registry on the local server computer. Use this cmdlet in a script that you build to install and deploy a SharePoint farm or to install a custom developed service.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
Install-SPService

This example installs all services, service instances and service proxies specified in the registry on the local server computer.


New-SPServiceApplicationPool
See Also Example
[image]

Published: May 12, 2010

Creates a new Web service application pool.

New-SPServiceApplicationPool [-Name] <String> [-Account] <SPProcessAccountPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Name

Required

System.String

Specifies the name of the new Web service application pool.

Account

Required

Microsoft.SharePoint.PowerShell.SPProcessAccountPipeBind

Specifies the credentials that will be the identity of the new application pool.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The New-SPServiceApplicationPool cmdlet creates a new Web service application pool in Internet Information Services (IIS).

Input Types

Return Types

Example

--------------------EXAMPLE-----------------------

Copy Code
New-SPServiceApplicationPool -Name TestServiceWebApplicationPool -Account testdomain\testuser1

This example creates a new Web service application pool.

For the Account parameter, the name of a managed account in the farm can be given. Use the Get-SPManagedAccount cmdlet to view the existing managed account in the farm. Also, a process account from the output of the Get-SPProcessAccount cmdlet can be used.

See Also

Reference

Get-SPServiceApplicationPool
Set-SPServiceApplicationPool
Remove-SPServiceApplicationPool


New-SPServiceApplicationProxyGroup
See Also Example
[image]

Published: May 12, 2010

Creates a new service application proxy group.

New-SPServiceApplicationProxyGroup [-Name] <String> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Name

Required

System.String

Specifies the name of the new service application proxy group.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The New-SPServiceApplicationProxyGroup cmdlet creates a new service application proxy group specified by the Name parameter.

Input Types

Return Types

Example

------------------EXAMPLE-----------------------

Copy Code
New-SPServiceApplicationProxyGroup -Name RemoteProxyGroup

This example creates a new service application proxy with the name RemoteProxyGroup.

See Also

Reference

Get-SPServiceApplicationProxyGroup
Add-SPServiceApplicationProxyGroupMember
Remove-SPServiceApplicationProxyGroup


New-SPSubscriptionSettingsServiceApplicationProxy
See Also Example
[image]

Published: May 12, 2010

Creates an application proxy to a subscription settings service application.

New-SPSubscriptionSettingsServiceApplicationProxy -Uri <String> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-WhatIf [<SwitchParameter>]]
New-SPSubscriptionSettingsServiceApplicationProxy -ServiceApplication <SPServiceApplicationPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-WhatIf [<SwitchParameter>]]

Parameters

1

Parameter

Required

Type

Description

Uri

Required

System.String

Specifies the address of the subscription settings service application to associate the new application proxy with.

The type must be a valid URI, in the form file:\\server_name\sitedocs.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

2

Parameter

Required

Type

Description

ServiceApplication

Required

Microsoft.SharePoint.PowerShell.SPServiceApplicationPipeBind

Specifies the subscription settings service application associated with the new proxy.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a subscription settings service application (for example, SubscriptionSettingsApp1); or an instance of a valid SPServiceApplication object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

This cmdlet contains more than one parameter set. You may only use parameters from one parameter set, and you may not combine parameters from different parameter sets. For more information about how to use parameter sets, see Cmdlet Parameter Sets.

Use the New-SPSubscriptionSettingsServiceApplicationProxy cmdlet to create an application proxy to a subscription settings service application. This is required for the local farm to consume a subscription settings service application.

Input Types

Return Types

Example

--------------------EXAMPLE---------------------------

Copy Code
$AppPool = New-SPIisWebServiceApplicationPool -Name SettingsServiceAppPool -Account (Get-SPManagedAccount DOMAIN\jdoe)
Copy Code
$App = New-SPSubscriptionSettingsServiceApplication -ApplicationPool $appPool -Name SettingsServiceApp -DatabaseName SettingsServiceDB
Copy Code
$proxy = New-SPSubscriptionSettingsServiceApplicationProxy -ServiceApplication $App
Copy Code
Get-SPServiceInstance | where{$_.TypeName -eq "Microsoft SharePoint Foundation Subscription Settings Service"} | Start-SPServiceInstance

This example creates an application pool, a new settings service application, a settings service application proxy, and then starts the service instance on the local machine. This example assumes that a managed account for DOMAIN\jdoe already exists.

See Also

Reference

New-SPSubscriptionSettingsServiceApplication
Set-SPSubscriptionSettingsServiceApplication


New-SPSubscriptionSettingsServiceApplication
See Also Example
[image]

Published: May 12, 2010

Creates a new subscription settings service application.

New-SPSubscriptionSettingsServiceApplication -ApplicationPool <SPIisWebServiceApplicationPoolPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-DatabaseCredentials <PSCredential>] [-DatabaseName <String>] [-DatabaseServer <String>] [-FailoverDatabaseServer <String>] [-Name <String>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

ApplicationPool

Required

Microsoft.SharePoint.PowerShell.SPIisWebServiceApplicationPoolPipeBind

Specifies the IIS application pool to use for the new subscription settings application.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of an application pool (for example, AppPoolName1); or an instance of a valid IISWebServiceApplicationPool object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

DatabaseCredentials

Optional

System.Management.Automation.PSCredential

Specifies the PSCredential object that contains the user name and password to be used for database SQL Server Authentication.

The type must be a valid PSCredential object.

DatabaseName

Optional

System.String

Specifies the name of the subscription settings database.

If not provided, one will be generated.

The type must be a valid name of a SQL Server database; for example, SubscriptionSettingsApp1.

DatabaseServer

Optional

Microsoft.SharePoint.PowerShell.SPServerPipeBind

Specifies the name of the host SQL Server instance for the database specified in the DatabaseName parameter. If not provided, the default database server will be used

The type must be a valid SQL Server instance name; for example, SQLServerHost1.

The type must be a valid name of a SQL Server database; for example, SubscriptionSettingsApp1.

FailoverDatabaseServer

Optional

Microsoft.SharePoint.PowerShell.SPServerPipeBind

Specifies the name of the host SQL Server instance for the failover database server.

The type must be a valid SQL Server instance name; for example, SQLServerHost1.

Name

Optional

System.String

Specifies the friendly name of the new subscription settings service.

The type must be a valid name of a subscription settings service application; for example, SubscriptionSettingsApp1.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

Use the New-SPSubscriptionSettingsServiceApplication cmdlet to create a subscription settings service application that can be used to store settings that are shared across all site collections in a single site subscription. This cmdlet is used only in an environment where site subscriptions are used to delegate administration or partition services that are used for storing settings that are shared across all site collections in a single site subscription. This cmdlet is used only in an environment where site subscriptions are used to delegate administration or partition services.

Input Types

Return Types

Example

-------------EXAMPLE---------------

Copy Code
$AppPool = New-SPServiceApplicationPool -Name SettingsServiceAppPool -Account (Get-SPManagedAccount DOMAIN\jdoe)
Copy Code
$App = New-SPSubscriptionSettingsServiceApplication -ApplicationPool $appPool -Name SettingsServiceApp -DatabaseName SettingsServiceDB
Copy Code
$proxy = New-SPSubscriptionSettingsServiceApplicationProxy -ServiceApplication $App
Copy Code
Get-SPServiceInstance | where{$_.TypeName -eq "Microsoft SharePoint Foundation Subscription Settings Service"} | Start-SPServiceInstance

This example creates an application pool, a new subscription settings service application, a subscription settings service application proxy, and starts the service instance on the local machine. This example assumes that a managed account for DOMAIN\jdoe already exists.

See Also

Reference

Set-SPSubscriptionSettingsServiceApplication
New-SPSubscriptionSettingsServiceApplicationProxy


New-SPUsageApplication
Example
[image]

Published: May 12, 2010

Creates a new usage application.

New-SPUsageApplication [[-Name] <String>] [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-DatabaseName <String>] [-DatabasePassword <SecureString>] [-DatabaseServer <String>] [-DatabaseUsername <String>] [-FailoverDatabaseServer <String>] [-UsageService <SPUsageServicePipeBind>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Name

Optional

System.String

Specifies the friendly name of the new usage application.

The type must be a valid name of a usage application; for example, UsageApplication1.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

DatabaseName

Optional

System.String

Specifies the name of the logging database. If the logging database does not exist, a logging database is automatically created.

The type must be a valid name of a SQL Server database; for example, UsageLogDB1.

DatabasePassword

Optional

System.Security.SecureString

Specifies the password for the user specified in DatabaseUserName. Use this parameter only if SQL Server Authentication is used to access the logging database.

The type must be a valid password.

DatabaseServer

Optional

Microsoft.SharePoint.PowerShell.SPServerPipeBind

Specifies the SPServer object where the logging database is created.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; the IP address of a server computer, in the form 208.77.188.166; a valid name of a SQL Server host service (for example, SQLServerHost1); or an instance of a valid SPServer object.

DatabaseUsername

Optional

System.String

Specifies the user name to use for connecting to the logging database. Use this parameter only if SQL Server Authentication is used to access the logging database.

The type must be a valid user name; for example, UserName1.

FailoverDatabaseServer

Optional

System.String

Specifies the name of the host SQL Server instance for the failover database server.

The type must be a valid SQL Server instance name; for example, SQLServerHost1.

UsageService

Optional

Microsoft.SharePoint.PowerShell.SPUsageServicePipeBind

Filters to return the usage application with the specified parent SPUsageService object.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a usage service (for example, UsageService1); or an instance of a valid SPUsageService object.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The New-SPUsageApplication cmdlet creates a new usage application in the local farm.

Input Types

Return Types

Example

-------------------EXAMPLE-------------------------

Copy Code
New-SPUsageApplication -Name "Usage Application For Farm ABC"

This example creates a new usage application for the specified name.


Publish-SPServiceApplication
See Also Example
[image]

Published: May 12, 2010

Shares the specified local service application outside the farm.

Publish-SPServiceApplication [-Identity] <SPServiceApplicationPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-Description <String>] [-InfoLink <Uri>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.SharePoint.PowerShell.SPServiceApplicationPipeBind

Specifies the GUID of the service application to share outside the farm.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

Description

Optional

System.String

Describes the service application to share outside the farm. If no value is specified, the value is left blank.

InfoLink

Optional

System.Uri

Specifies the link to more information about the service application to share outside the farm. If no link is specified, no link is made available.

The type must be a valid URL, in the form http://server_name/Site_Name/page_name.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Publish-SPServiceApplication cmdlet publishes the local service application, specified by the Identity parameter, outside the farm.

Input Types

Return Types

Example

------------------EXAMPLE-----------------------

Copy Code
Publish-SPServiceApplication 053c34be-d251-488c-8e94-644eae94da26 -Description "Connect to this TestServiceApplcation of you want to use FeatureA in your farm" -InfoLink http://testurl

This example publishes a service application to another farm.

The service application GUID is unique to every farm. You can run the Get-SPServiceApplication cmdlet to see the GUID of the service applications, and then use the result from the Get-SPServiceApplication cmdlet for other SPServiceApplication cmdlets; for example, Grant-SPServiceApplication.

See Also

Reference

Get-SPServiceApplication
Set-SPServiceApplication
Remove-SPServiceApplication
Grant-SPServiceApplication


Receive-SPSharedServiceApplicationInfo
Example
[image]

Published: May 12, 2010

Configures this farm to receive service information from another farm.

Receive-SPSharedServiceApplicationInfo [-FarmUrl] <Uri> [-AssignmentCollection <SPAssignmentCollection>] [-Filter <String>]

Parameters

Parameter Required Type Description

FarmUrl

Required

System.Uri

Specifies the URL of the farm from which to receive service application information.

The type must be a valid URL, in the form http://server_name.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Filter

Optional

System.String

Detailed Description

The Receive-SPSharedServiceApplicationInfo cmdlet retrieves the list of service applications published by another farm.

Input Types

Return Types

Example

------------------EXAMPLE-----------------------

Copy Code
Receive-SPSharedServiceApplicationInfo -FarmUrl http://FarmB/topology/topology.svc

This example retreives a list of service applications published by a given farm.

The FarmURL parameter can be obtained by the Get-SPTopologyWebServiceApplication cmdlet.


Remove-SPServiceApplication
See Also Example
[image]

Published: May 12, 2010

Deletes the specified service application on the local server.

Remove-SPServiceApplication [-Identity] <SPServiceApplicationPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-RemoveData <SwitchParameter>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.SharePoint.PowerShell.SPServiceApplicationPipeBind

Specifies the GUID of the service application to remove.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

RemoveData

Optional

SwitchParameter

Deletes all databases and other data associated with the service application.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Remove-SPServiceApplication cmdlet deletes the specified service application from the farm.

Input Types

Return Types

Example

--------------------EXAMPLE---------------------------

Copy Code
Remove-SPServiceApplication 053c34be-d251-488c-8e94-644eae94da26
-removedata

This example deletes the service application and its database.

The service application GUID is unique to every farm. You can run the Get-SPServiceApplication cmdlet to see the GUID of the service applications, and then use the result from the Get-SPServiceApplication cmdlet for other SPServiceApplication cmdlets; for example, Grant-SPServiceApplication or Publish-SPServiceApplication.

See Also

Reference

Get-SPServiceApplication
Set-SPServiceApplication
Publish-SPServiceApplication
Grant-SPServiceApplication


Remove-SPServiceApplicationPool
See Also Example
[image]

Published: May 12, 2010

Completely deletes the specified Web service application pool.

Remove-SPServiceApplicationPool [-Identity] <SPIisWebServiceApplicationPoolPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.SharePoint.PowerShell.SPIisWebServiceApplicationPoolPipeBind

Specifies the identity of the Web service application pool to delete.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Remove-SPServiceApplicationPool cmdlet completely deletes the specified Web service application pool.

Input Types

Return Types

Example

------------------EXAMPLE-----------------------

Copy Code
Remove-SPServiceApplicationPool TestServiceWebApplicationPool

This example deletes the selected service application pool.

See Also

Reference

Get-SPServiceApplicationPool
Set-SPServiceApplicationPool
Remove-SPServiceApplicationPool


Remove-SPServiceApplicationProxy
See Also Example
[image]

Published: May 12, 2010

Deletes the specified service application proxy.

Remove-SPServiceApplicationProxy [-Identity] <SPServiceApplicationProxyPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-RemoveData <SwitchParameter>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.SharePoint.PowerShell.SPServiceApplicationProxyPipeBind

Specifies the GUID of the service application proxy to remove.

The type must be a GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh.

RemoveData

Optional

System.Management.Automation.SwitchParameter

Deletes all databases and other data associated with the service application proxy.

AssignmentColletion

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentColletion

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Remove-SPServiceApplicationProxy cmdlet deletes the service application proxy specified by the Identity parameter.

Input Types

Return Types

Example

------------------EXAMPLE-----------------------

Copy Code
Remove-SPServiceApplicationProxy babab30e-8e3a-428b-8ff4-4d5c8f455e6d

This example deletes the given service application proxy.

The service application GUID is unique to every farm. You can run the Get-SPServiceApplication cmdlet to see the GUID of the service applications, and then use the result from the Get-SPServiceApplication cmdlet for other SPServiceApplication cmdlets; for example, Grant-SPServiceApplication or Publish-SPServiceApplication.

See Also

Reference

Get-SPServiceApplicationProxy
New-SPServiceApplicationProxyGroup
Remove-SPServiceApplicationProxy


Remove-SPServiceApplicationProxyGroup
See Also Example
[image]

Published: May 12, 2010

Completely deletes the specified service application proxy group.

Remove-SPServiceApplicationProxyGroup [-Identity] <SPServiceApplicationProxyGroupPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.SharePoint.PowerShell.SPServiceApplicationProxyGroupPipeBind

The identity of the service application proxy group to delete.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

Completely deletes the specified service application proxy group.

Input Types

Return Types

Example

--------------------EXAMPLE-------------------------

Copy Code
Remove-SPServiceApplicationProxyGroup RemoteProxyGroup

This example deletes the service application proxy group named RemoteProxyGroup.

The service application proxy group GUID is unique to every farm. You can run Get-SPServiceApplicationProxyGroup | Select Name,Id to see the GUID of the service application proxy groups. Use this result for any other SPServiceApplicationProxyGroup cmdlets.

See Also

Reference

Get-SPServiceApplicationProxyGroup
New-SPServiceApplicationProxyGroup


Remove-SPServiceApplicationProxyGroupMember
See Also Example
[image]

Published: May 12, 2010

Removes one or more proxies from the specified service application proxy group.

Remove-SPServiceApplicationProxyGroupMember [-Identity] <SPServiceApplicationProxyGroupPipeBind> [-Member] <SPServiceApplicationProxyPipeBind[]> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.SharePoint.PowerShell.SPServiceApplicationProxyGroupPipeBind

Specifies the identity of the service application proxy group from which to remove the member or members.

Member

Required

Microsoft.SharePoint.PowerShell.SPServiceApplicationProxyPipeBind[]

Specifies the member or members to remove from the service application proxy group.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Remove-SPServiceApplicationProxyGroupMember cmdlet removes one or more proxies from the specified service application proxy group.

Input Types

Return Types

Example

------------------EXAMPLE-----------------------

Copy Code
Remove-SPServiceApplicationProxyGroupMember RemoteProxyGroup -Member babab30e-8e3a-428b-8ff4-4d5c8f455e6d

This example removes a service application proxy from the selected service application proxy group named RemoteProxyGroup.

The service application proxy group GUID is unique to every farm. You can run Get-SPServiceApplicationProxyGroup | Select Name,Id to see the GUID of the service application proxy groups. Use this result for any other SPServiceApplicationProxyGroup cmdlets.

See Also

Reference

Add-SPServiceApplicationProxyGroupMember


Remove-SPUsageApplication
See Also Example
[image]

Published: May 12, 2010

Removes a usage application from the local farm.

Remove-SPUsageApplication [-Identity] <SPUsageApplicationPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-RemoveData <SwitchParameter>] [-UsageService <SPUsageServicePipeBind>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.SharePoint.PowerShell.SPUsageApplicationPipeBind

Specifies the usage application to delete.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a usage application (for example, UsageApplication1); or an instance of a valid SPUsageApplication object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

RemoveData

Optional

System.Management.Automation.SwitchParameter

Specifies that the logging database is also removed.

UsageService

Optional

Microsoft.SharePoint.PowerShell.SPUsageServicePipeBind

Reserved for future use.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Remove-SPUsageApplication cmdlet deletes a usage application from the local farm.

Input Types

Return Types

Example

-------------------EXAMPLE--------------------

Copy Code
Remove-SPUsageApplication -Identity "Usage and Health data collection" -RemoveData

This example removes the existing usage application and the associated logging DB.

See Also

Reference

Get-SPUsageApplication
Set-SPUsageApplication
New-SPUsageApplication


Revoke-SPServiceApplication
See Also Example
[image]

Published: May 12, 2010

Revokes a user's access to a service application.

Revoke-SPServiceApplication -Identity <SPServiceApplicationPipeBind> -UserPrincipal <String> -Type <String> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.SharePoint.PowerShell.SPServiceApplicationPipeBind

Specifies the GUID of the service application to which to revoke access.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh.

UserPrincipal

Required

System.String

Specifies the identity to revoke access to the service application.

The type must be a valid user principal name, in the form DOMAIN\user, or a claim, in the form CA:NTLM:Identity-username:domain\user.

Type

Required

System.String

Specifies the type of rights to revoke.

The type must be either Admin or Access.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Revoke-SPServiceApplication cmdlet revokes the specified user's access to the specified service application.

Input Types

Return Types

Example

------------------EXAMPLE-----------------------

Copy Code
Revoke-SPServiceAppliaion 053c34be-d251-488c-8e94-644eae94da26 -UserPrincipal testdomin\tester1 -Type Admin

This example revokes the administrative access given to the specified user for the selected service application.

The service application GUID is unique to every farm. You can run the Get-SPServiceApplication cmdlet to see the GUID of the service applications, and then use the result from the Get-SPServiceApplication cmdlet for other SPServiceApplication cmdlets; for example, Grant-SPServiceApplication or Publish-SPServiceApplication.

See Also

Reference

Get-SPServiceApplication
Set-SPServiceApplication
Publish-SPServiceApplication
Grant-SPServiceApplication


Set-SPServiceApplication
See Also Example
[image]

Published: May 12, 2010

Sets properties of a service application.

Set-SPServiceApplication [-Identity] <SPServiceApplicationPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-DefaultEndpoint <SPServiceEndpointPipeBind>] [-IisWebServiceApplicationPool <SPIisWebServiceApplicationPoolPipeBind>] [-ServiceApplicationProxyGroup <SPServiceApplicationProxyGroupPipeBind>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.SharePoint.PowerShell.SPServiceApplicationPipeBind

Specifies the service application to update.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a subscription settings service application (for example, SubSettingsApp1); or an instance of a valid SPServiceApplication object.

DefaultEndpoint

Optional

Microsoft.SharePoint.PowerShell.SPServiceEndpointPipeBind

Specifies the address of the default endpoint of the service application.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

IisWebServiceApplicationPool

Optional

Microsoft.SharePoint.PowerShell.SPIisWebServiceApplicationPoolPipeBind

Specifies the name or identity of the application pool used by the service application.

The IisWebServiceApplicationPool parameter only applies to Web Service applications.

ServiceApplicationProxyGroup

Optional

Microsoft.SharePoint.PowerShell.SPServiceApplicationProxyGroupPipeBind

Specifies a custom service application proxy group for the Web application to use. The Web application will use the proxies in this proxy group to connect to service applications. If the ServiceApplicationProxyGroup parameter is not specified, the farm's default proxy group is used.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

Use the Set-SPServiceApplication cmdlet to set various properties of a service application such as the default endpoint, and the application pool used by the service application.

Input Types

Return Types

Example

---------------------EXAMPLE----------------

Copy Code
$serviceapp = Get-SPServiceApplication "My Service App"
Copy Code
Set-SPServiceApplication $serviceapp -DefaultEndpoint https

This example sets the default endpoint of the service application to be https.

See Also

Reference

Get-SPServiceApplication
Revoke-SPServiceApplication
Publish-SPServiceApplication
Remove-SPServiceApplication


Set-SPServiceApplicationEndpoint
See Also Example
[image]

Published: May 12, 2010

Sets the host of an endpoint for a service application.

Set-SPServiceApplicationEndpoint [-Identity] <SPServiceEndpointPipeBind> -HostName <String> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-WhatIf [<SwitchParameter>]]
Set-SPServiceApplicationEndpoint [-Identity] <SPServiceEndpointPipeBind> -ResetHostName <SwitchParameter> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-WhatIf [<SwitchParameter>]]

Parameters

1

Parameter

Required

Type

Description

Identity

Required

Microsoft.SharePoint.PowerShell.SPServiceEndpointPipeBind

Specifies the service endpoint to update.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid URI of an endpoint address, in the form http://sitename:8003/servicemodelsamples/service; or an instance of a valid SPServiceEndpoint object.

HostName

Required

System.String

Specifies the default host of the service endpoint.

The type must be a valid full load balanced URL, in the form http://server_name.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

2

Parameter

Required

Type

Description

Identity

Required

Microsoft.SharePoint.PowerShell.SPServiceEndpointPipeBind

Specifies the service endpoint to update.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid URI of an endpoint address, in the form http://sitename:8003/servicemodelsamples/service; or an instance of a valid SPServiceEndpoint object.

ResetHostName

Required

System.Management.Automation.SwitchParameter

Removes the current host of the service endpoint and uses the default host.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

This cmdlet contains more than one parameter set. You may only use parameters from one parameter set, and you may not combine parameters from different parameter sets. For more information about how to use parameter sets, see Cmdlet Parameter Sets.

The Set- SPServiceApplicationEndpoint cmdlet sets the host of a service endpoint. Use the second parameter set to reset the host of the service endpoint to use the default endpoint.

Input Types

Return Types

Example

--------------------EXAMPLE-------------------

Copy Code
Set-SPServiceApplicationEndpoint -Identity "ServiceApp1" -HostName http://sitename -ResetHostName $true

This example associates the SPServiceEndpoint object with the specified identity and resets the hostname.

See Also

Reference

Get-SPServiceApplicationEndpoint


Set-SPServiceApplicationPool
See Also Example
[image]

Published: May 12, 2010

Changes the account used for the Identity of the specified application pool.

Set-SPServiceApplicationPool [-Identity] <SPIisWebServiceApplicationPoolPipeBind> [[-Account] <SPProcessAccountPipeBind>] [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.SharePoint.PowerShell.SPIisWebServiceApplicationPoolPipeBind

Specifies the identity of the Web service application pool to configure.

Account

Optional

Microsoft.SharePoint.PowerShell.SPProcessAccountPipeBind

Specifies the credentials that will be the new Identity of the application pool.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Set-SPServiceApplicationPool cmdlet changes the account used for the Identity of the specified application pool.

Input Types

Return Types

Example

------------------EXAMPLE-----------------------

Copy Code
Set-SPServiceApplicationPool  TestServiceWebApplicationPool -Account testdomain\testuser1

This example changes the identity of the selected service application pool.

For the Account parameter, the name of a managed account in the farm can be given. Use the Get-SPManagedAccount cmdlet to view the existing managed account in the farm. Also, a process account from the output of the Get-SPProcessAccount cmdlet can be used.

See Also

Reference

Get-SPServiceApplicationPool
New-SPServiceApplicationPool
Remove-SPServiceApplicationPool


Set-SPServiceHostConfig
See Also Example
[image]

Published: May 12, 2010

Configures one or more common settings for all Web services.

Set-SPServiceHostConfig [-Identity] <SPIisWebServiceSettings> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-HttpPort <Int32>] [-HttpsPort <Int32>] [-ImportSslCertificate <X509Certificate2>] [-NetTcpPort <Int32>] [-NoWait <SwitchParameter>] [-WhatIf [<SwitchParameter>]]
Set-SPServiceHostConfig [-Identity] <SPIisWebServiceSettings> -SslCertificateThumbprint <String> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-HttpPort <Int32>] [-HttpsPort <Int32>] [-NetTcpPort <Int32>] [-NoWait <SwitchParameter>] [-SslCertificateStoreName <String>] [-WhatIf [<SwitchParameter>]]

Parameters

1

Parameter

Required

Type

Description

Identity

Required

Microsoft.SharePoint.Administration.SPIisWebServiceSettings

Specifies the identity of the Web service application to configure.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

HttpPort

Optional

System.Int32

Specifies the new port for the Web service.

HttpsPort

Optional

System.Int32

Specifies the new secure port for the Web service.

ImportSslCertificate

Optional

System.Security.Cryptography.X509Certificates.X509Certificate2

Specifies the SSL Certificate to use for secure protocols.

NetTcpPort

Optional

System.Int32

Sets the TCP port for the Web service.

NoWait

Optional

System.Management.Automation.SwitchParameter

For more information, see TechNet.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

2

Parameter

Required

Type

Description

Identity

Required

Microsoft.SharePoint.Administration.SPIisWebServiceSettings

Specifies the identity of the Web service application to configure.

SslCertificateThumbprint

Required

System.String

Specifies the thumbprint of the SSL certificate to retrieve for secure protocols.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

HttpPort

Optional

System.Int32

Specifies the new port for the Web service.

HttpsPort

Optional

System.Int32

Specifies the new secure port for the Web service.

NetTcpPort

Optional

System.Int32

Sets the TCP port for the Web service.

NoWait

Optional

System.Management.Automation.SwitchParameter

For more information, see TechNet.

SslCertificateStoreName

Optional

System.String

Specifies the thumbprint of the SSL certificate to retrieve for secure protocols.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

This cmdlet contains more than one parameter set. You may only use parameters from one parameter set, and you may not combine parameters from different parameter sets. For more information about how to use parameter sets, see Cmdlet Parameter Sets.

The Set- SPServiceHostConfig cmdlet configures one or more common settings for all Web services.

Input Types

Return Types

Example

------------------EXAMPLE-----------------------

Copy Code
Set-SPServiceHostConfig -Port 12345

This example sets the HTTP port for the Web services.

See Also

Reference

Get-SPServiceHostConfig


Set-SPTopologyServiceApplication
See Also Example
[image]

Published: May 12, 2010

Sets the properties on the topology service application of the local farm.

Set-SPTopologyServiceApplication [-Identity] <SPTopologyWebServiceApplicationPipeBind> -LoadBalancerUrl <String> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.SharePoint.PowerShell.SPTopologyWebServiceApplicationPipeBind

Specifies the GUID of the application to be set.

The type must be a valid GUID, in the form 1234-456-854gh.

LoadBalancerUrl

Required

System.String

Specifies an external physical load balancer.

The type must be a valid URL, in the form http://search.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Set-SPTopologyServiceApplication cmdlet sets the advanced properties of an application when the Identity parameter is used.

Input Types

Return Types

Example

------------------EXAMPLE-----------------------

Copy Code
Set-SPTopologyServiceApplication 67877d63-bff4-4521-867a-ef4979ba07ce -LoadBalancedURL "https://testurl"

This example sets the load-balanced URL for the topology service application.

The topology service application GUID is unique to every farm. You can run the Get-SPTopologyServiceApplication cmdlet to retrieve the GUID.

See Also

Reference

Get-SPTopologyServiceApplication
Set-SPTopologyServiceApplicationProxy


Set-SPTopologyServiceApplicationProxy
See Also Example
[image]

Published: May 12, 2010

Sets the proxy properties of the topology service application.

Set-SPTopologyServiceApplicationProxy [-Identity] <SPTopologyWebServiceProxyPipeBind> -BadListPeriod <String> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.SharePoint.PowerShell.SPTopologyWebServiceProxyPipeBind

Specifies the GUID of the application proxy.

The type must be a valid GUID, in the form 1234-4567-098jhj.

BadListPeriod

Required

System.String

Specifies the time period that a node is kept in a bad list.

The type must be a valid value between 1 and 28800 (in seconds).

The default value is 10.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Set-SPTopologyServiceApplicationProxy cmdlet sets the properties of the local topology service application proxy and the default load balancer.

Input Types

Return Types

Example

------------------EXAMPLE-----------------------

Copy Code
Set-SPTopologyServiceApplicationProxy 67877d63-bff4-4521-867a-ef4979ba07ce -BadListPeriod 1234

This example sets the bad list period for the given topology service application proxy.

The topology service application GUID is unique to every farm. You can run the Get-SPTopologyServiceApplication cmdlet to retrieve the GUID.

See Also

Reference

Get-SPTopologyServiceApplicationProxy
Get-SPTopologyServiceApplication


Set-SPUsageApplication
See Also Example
[image]

Published: May 12, 2010

Sets properties of a usage application.

Set-SPUsageApplication [-Identity] <SPUsageApplicationPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-DatabaseName <String>] [-DatabasePassword <SecureString>] [-DatabaseServer <String>] [-DatabaseUsername <String>] [-EnableLogging <SwitchParameter>] [-FailoverDatabaseServer <String>] [-UsageService <SPUsageServicePipeBind>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.SharePoint.PowerShell.SPUsageApplicationPipeBind

Specifies the usage application to update.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh, a valid name of a usage application (for example; UsageApp1); or an instance of a valid SPServiceApplication object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

DatabaseName

Optional

System.String

Specifies the name of the logging database.

The type must be a valid name of a SQL Server database; for example, UsageLogDB1.

If the logging database does not exist, a logging database will be automatically created.

DatabasePassword

Optional

System.Security.SecureString

Specifies the password for the user specified in DatabaseUserName. Use this parameter only if SQL Server Authentication is used to access the logging database.

The type must be a valid password.

DatabaseServer

Optional

System.String

Specifies the name of the host server for the database specified in DatabaseName.

The type must be a valid SQL Server host name; for example, SQLServerHost1.

DatabaseUsername

Optional

System.String

Specifies the user name to use for connecting to the logging database. Use this parameter only if SQL Server Authentication is used to access the logging database.

The type must be a valid user name; for example, UserName1.

EnableLogging

Optional

System.Management.Automation.SwitchParameter

Specifies that this usage application collects usage data.

FailoverDatabaseServer

Optional

System.String

UsageService

Optional

Microsoft.SharePoint.PowerShell.SPUsageServicePipeBind

Specifies the SPUsageService object that is the parent of the usage application.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a usage service (for example, UsageService1); or an instance of a valid SPUsageService object.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Set-SPUsageApplication cmdlet sets properties of a usage application.

Input Types

Return Types

Example

-------------------EXAMPLE----------------------

Copy Code
Set-SPUsageApplication -Identity "Usage and Health data collection" -DatabaseServer "Server Name" -DatabaseName "New Logging DB

This example changes the database server and database name used by the usage logging service to store logging data.

See Also

Reference

Get-SPUsageApplication
New-SPUsageApplication
Remove-SPUsageApplication


Set-SPUsageDefinition
See Also Example
[image]

Published: May 12, 2010

Sets the retention period for a usage provider.

Set-SPUsageDefinition [-Identity] <SPUsageDefinitionPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-DaysRetained <Int32>] [-Enable <SwitchParameter>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.SharePoint.PowerShell.SPUsageDefinitionPipeBind

Specifies the usage definition object to update.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a usage definition (for example, SiteSubscriptionConfig1); or an instance of a valid SPUsageDefinition object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

DaysRetained

Optional

System.Int32

Specifies the number of days that usage data for the usage provider is retained in the usage service database. The default value is 14.

The type must be an integer between 0 and 31.

Enable

Optional

System.Management.Automation.SwitchParameter

Turns on the specified usage provider.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Set-SPUsageDefinition cmdlet sets the retention period for a specified usage provider. A usage definition object defines a specific type of usage provider.

Input Types

Return Types

Example

-----------------EXAMPLE--------------------

Copy Code
Set-SPUsageDefinition -Identity "Page Requests" -DaysRetained 31

This example sets the number of days that stores page requests usage data to 31.

See Also

Reference

Get-SPUsageDefinition


Set-SPUsageService
See Also Example
[image]

Published: May 12, 2010

Sets the properties of a usage service.

Set-SPUsageService [[-Identity] <SPUsageServicePipeBind>] [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-LoggingEnabled <Nullable>] [-UsageLogCutTime <UInt32>] [-UsageLogLocation <String>] [-UsageLogMaxSpaceGB <UInt32>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Optional

Microsoft.SharePoint.PowerShell.SPUsageServicePipeBind

Specifies the usage service to update.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a usage service (for example, UsageService1); or an instance of a valid SPUsageService object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

LoggingEnabled

Optional

System.Nullable

Specifies that usage data is logged to usage files.

UsageLogCutTime

Optional

System.UInt32

Specifies the time, in minutes, of usage data collected per usage log file. The default time is 5 minutes.

The type must be an integer in the range of 1 to 1440.

UsageLogLocation

Optional

System.String

Specifies the path on every computer in the farm where usage log files are created.

The type must be a valid path in either of the following forms:

- C:\folder_name

- \\server_name\folder_name

UsageLogMaxSpaceGB

Optional

System.UInt32

Specifies the amount in megabytes (MB) of space that can be used by usage log files. The valid range is 500 to 20,000 MB.

The default value is 5,000.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Set-SPUsageService cmdlet updates the properties of a usage service. If the Identity parameter is not specified, the cmdlet applies the changes to the local usage service.

Input Types

Return Types

Example

--------------------EXAMPLE-----------------

Copy Code
Set-SPUsageService -LoggingEnabled $false
Copy Code
Set-SPUsageService -UsageLogLocation "d:\\testusagelogdir
Copy Code
Set-SPUsageService -UsageLogCutTime 5

The examples disable usage logging, change the directory where usage files are stored, and creates a new usage log file every 5 minutes.

See Also

Reference

Get-SPUsageService


Start-SPServiceInstance
See Also Example
[image]

Published: May 12, 2010

Starts the service instance for a service on a specific server or the farm.

Start-SPServiceInstance [-Identity] <SPServiceInstancePipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.SharePoint.PowerShell.SPServiceInstancePipeBind

Specifies the GUID of the service instance to get.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

Use the Start-SPServiceInstance cmdlet to start the service instance for a service on a specific server or on the farm.

Input Types

Return Types

Errors

Error | Description

Exceptions

Exceptions | Description

Example

------------------EXAMPLE-----------------------

Copy Code
Start-SPServiceInstance 67877d63-bff4-4521-867a-ef4979ba07ce

This example starts the given service instance on the server.

The service instance GUID is unique to every farm. You can run the Get-SPServiceInstance cmdlet to see the GUID of the service instances, and then use the result from the SPServiceInstance cmdlet for other cmdlets.

See Also

Reference

Get-SPServiceInstance


Stop-SPServiceInstance
See Also Example
[image]

Published: May 12, 2010

Stops the service instance for a service.

Stop-SPServiceInstance [-Identity] <SPServiceInstancePipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.SharePoint.PowerShell.SPServiceInstancePipeBind

Specifies the GUID of the service instance to get.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

Stops the service instance for a service on the specified server or for the farm.

Input Types

Return Types

Errors

Error | Description

Exceptions

Exceptions | Description

Example

------------------EXAMPLE-----------------------

Copy Code
Stop-SPServiceInstance 67877d63-bff4-4521-867a-ef4979ba07ce

This example stops the service instance in the given server.

The service instance GUID is unique to every farm. You can run the Get-SPServiceInstance cmdlet to see the GUID of the service instances, and then use the result from the SPServiceInstance cmdlet for other cmdlets.

See Also

Reference

Get-SPServiceInstance
Start-SPServiceInstance


Unpublish-SPServiceApplication
See Also Example
[image]

Published: May 12, 2010

Stops sharing the specified service application outside the farm.

Unpublish-SPServiceApplication [-Identity] <SPServiceApplicationPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.SharePoint.PowerShell.SPServiceApplicationPipeBind

Specifies the GUID of the service application to stop sharing outside the farm.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

Use the Unpublish-SPServiceApplication cmdlet to stop publishing the service application, specified by the Identity parameter, outside the farm.

Input Types

Return Types

Errors

Error | Description

Exceptions

Exceptions | Description

Example

------------------EXAMPLE-----------------------

Copy Code
UnPublish-SPServiceApplication 053c34be-d251-488c-8e94-644eae94da26

This example stops publishing of the specified service application outside the farm.

The service application GUID is unique to every farm. You can run the Get-SPServiceApplication cmdlet to see the GUID of the service applications, and then use the result from the Get-SPServiceApplication cmdlet for other SPServiceApplication cmdlets; for example, Grant-SPServiceApplication or Publish-SPServiceApplication.

See Also

Reference

Get-SPServiceApplication
Set-SPServiceApplication
Publish-SPServiceApplication
Revoke-SPServiceApplication
Grant-SPServiceApplication


SharePoint Foundation 2010 Search cmdlets (SharePoint Server 2010)
See Also

Search for Microsoft SharePoint Foundation 2010 provides embedded search for site collections. Typically, Search for SharePoint Foundation 2010 is scoped to a single site collection and does not crawl external data sources. Most search capabilities are configured automatically, and search crawls happen automatically without scheduling and without administrator control.

Cmdlet name | Description
Get-SPSearchService | Returns a search service.
Set-SPSearchService | Sets properties of a search service.
Get-SPSearchServiceInstance | Returns an instance of a search service.
Set-SPSearchServiceInstance | Sets properties of a search service instance.

See Also

Other Resources

Resource Center: Windows PowerShell for SharePoint Server 2010


Get-SPSearchService
See Also Example
[image]

Published: May 12, 2010

Returns a search service.

Get-SPSearchService [-AssignmentCollection <SPAssignmentCollection>]

Parameters

Parameter Required Type Description

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Detailed Description

The Get-SPSearchService cmdlet reads the SPSearch object when the cmdlet updates a search service.

Input Types

Return Types

Example

--------------------EXAMPLE--------------------

Copy Code
$searchService = Get-SPSearchService

This example obtains a reference to the search service object.

See Also

Reference

Set-SPSearchService
Get-SPSearchServiceInstance
Set-SPSearchServiceInstance


Set-SPSearchService
See Also Example
[image]

Published: May 12, 2010

Sets properties of a search service.

Set-SPSearchService [[-Identity] <SPSearchServicePipeBind>] [-AddStartAddressForNonNTZone <String>] [-AssignmentCollection <SPAssignmentCollection>] [-CrawlAccount <String>] [-CrawlPassword <SecureString>] [-MaxBackupDuration <String>] [-PerformanceLevel <String>]

Parameters

Parameter Required Type Description

Identity

Optional

Microsoft.SharePoint.Search.Cmdlet.SPSearchServicePipeBind

Specifies the search service instance to set.

The type must be a valid GUID, such as 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a search service instance, such as SearchServiceInstance1; or an instance a valid SearchServiceInstance object

AddStartAddressForNonNTZone

Optional

System.String

Specifies to add start address for Web applications that do not have a Windows NT zone.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

CrawlAccount

Optional

System.String

Specifies the user account or service account to use for crawling.

The type must be a valid administrator account, such as MyAdminAcct1.

CrawlPassword

Optional

System.Security.SecureString

Provides the password for the service account that is specified in CrawlAccount.

The type must be a valid password, such as UserIDPassword.

MaxBackupDuration

Optional

System.String

Specifies the interval, in minutes, from the time the backup operation started for the search service in the Microsoft SharePoint Foundation 2010 content index and the time the search services will resume.

PerformanceLevel

Optional

System.String

Specifies the relative number of threads for the indexer performance:

Reduced: Total number of threads = number of processors, Max Threads/host = number of processors

PartlyReduced: Total number of threads = 4 times the number of processors , Max Threads/host = 16 times the number of processors

Maximum: Total number of threads = number of processors

The type must be any of the following values: Reduced, PartlyReduced, orMaximum

Detailed Description

The Set-SPSearchService cmdlet modifies the SearchService object properties.

Input Types

Return Types

Example

--------------------EXAMPLE--------------------

Copy Code
Set-SPSearchService -MaxBackupDuration 120

This example sets the maximum time, in minutes, between the start of a backup and the resumption of search services.

See Also

Reference

Get-SPSearchService
Get-SPSearchServiceInstance
Set-SPSearchServiceInstance


Get-SPSearchServiceInstance
See Also Example
[image]

Published: May 12, 2010

Returns an instance of a search service.

Get-SPSearchServiceInstance [[-Identity] <SPSearchServiceInstancePipeBind>] [-AssignmentCollection <SPAssignmentCollection>] [-Local <SwitchParameter>]

Parameters

Parameter Required Type Description

Identity

Optional

Microsoft.SharePoint.Search.Cmdlet.SPSearchServiceInstancePipeBind

Specifies the search service to update.

The type must be a valid GUID, such as 12345678-90ab-cdef-1234-567890bcdefgh a valid name of a search service, such as MySearch1; or an instance a valid SearchService object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Local

Optional

System.Management.Automation.SwitchParameter

Specifies to return the search service instance for the current search server.

Detailed Description

The Get-SPSearchServiceInstance cmdlet reads an SPSearchServiceInstance object when the cmdlet updates an instance of a search service that runs on one or more servers in the server farm.

Input Types

Return Types

Example

--------------------EXAMPLE--------------------

Copy Code
Get-SPSearchServiceInstance -Local

This example obtains a reference to the search service instance object that runs on the local computer.

See Also

Reference

Set-SPSearchService
Get-SPSearchService
Set-SPSearchServiceInstance


Set-SPSearchServiceInstance
See Also Example
[image]

Published: May 12, 2010

Sets properties of a search service instance.

Set-SPSearchServiceInstance [-Identity] <SPSearchServiceInstancePipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-ProxyType <String>]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.SharePoint.Search.Cmdlet.SPSearchServiceInstancePipeBind

Specifies the search service instance to set.

The type must be a valid GUID, such as 12345678-90ab-cdef-1234-567890bcdefgh, or a valid name of a search service instance, such as SearchServiceInstance1, or an instance a valid SearchServiceInstance object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

ProxyType

Optional

System.String

Defines whether crawler uses default, direct, or proxy connection parameters. Valid values are default, direct, and proxy. The default value is default.

The type must be a valid name of a proxy type, such as default.

Detailed Description

The Set-SPSearchServiceInstance cmdlet modifies the SearchServiceInstance object.

Input Types

Return Types

Example

--------------------EXAMPLE--------------------

Copy Code
Get-SPSearchServiceInstance -Local | Set-SPSearchServiceInstance -ProxyType proxy

This example sets the local search service instance proxy type to proxy.

See Also

Reference

Set-SPSearchService
Get-SPSearchService
Get-SPSearchServiceInstance


Site collection cmdlets (SharePoint Server 2010)

Published: June 24, 2010

You can use Windows PowerShell cmdlets for site collection administration for Microsoft SharePoint Server 2010.

Cmdlet name | Description
Get-SPWebPartPack | Returns the Web Part packages that were installed for the specified scope.
Install-SPWebPartPack | Installs the specified Web Part package to the specified location.
Uninstall-SPWebPartPack | Uninstalls the specified Web Part package.


Get-SPWebPartPack
See Also Example
[image]

Published: May 12, 2010

Returns the Web Part packages that were installed for the specified scope.

Get-SPWebPartPack [[-Identity] <String>] [-AssignmentCollection <SPAssignmentCollection>] [-GlobalOnly <SwitchParameter>] [-WebApplication <SPWebApplicationPipeBind>]

Parameters

Parameter Required Type Description

Identity

Optional

System.String

Specifies the full or partial name of the Web Part package from the configuration database.

The type must be a valid name of a Web Part package; for example, MyWebPartPackage.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

GlobalOnly

Optional

System.Management.Automation.SwitchParameter

Returns only Web Part packages that are installed in the global assembly cache (GAC).

WebApplication

Optional

Microsoft.SharePoint.PowerShell.SPWebApplicationPipeBind

Specifies the Web application from which to list Web Part packages. If no Web application is specified, the specified Web Part packages will be returned from all Web applications.

Detailed Description

The Get-SPWebPartPack cmdlet returns the installed Web Part packages that match the Identity parameter. The scope of results can be narrowed by using the optional WebApplication parameter. The scope does not include any Web Part packages installed in the global assembly cache (GAC) unless the GlobalOnly parameter is used. If this parameter is used, only Web Part packages that have been installed in the GAC are returned.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
Get-SPWebPartPack -WebApplication http://zsharepoint2:80

This example returns all Web Part packages that have been installed on the Web application on port 80 in local farm.

See Also

Reference

Install-SPWebPartPack
Uninstall-SPWebPartPack


Install-SPWebPartPack
See Also Example
[image]

Published: May 12, 2010

Installs the specified Web Part package to the specified location.

Install-SPWebPartPack [-LiteralPath] <String> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-Force <SwitchParameter>] [-GlobalInstall <SwitchParameter>] [-Language <UInt32>] [-WebApplication <SPWebApplicationPipeBind>] [-WhatIf [<SwitchParameter>]]
Install-SPWebPartPack [-Name] <String> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-Force <SwitchParameter>] [-GlobalInstall <SwitchParameter>] [-Language <UInt32>] [-WebApplication <SPWebApplicationPipeBind>] [-WhatIf [<SwitchParameter>]]

Parameters

1

Parameter

Required

Type

Description

LiteralPath

Required

System.String

Specifies the exact path to the Web Part package.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

Force

Optional

System.Management.Automation.SwitchParameter

Overwrites any existing Web Part package with the same name or installed in the same location.

GlobalInstall

Optional

System.Management.Automation.SwitchParameter

Installs the Web Part package in the global assembly cache (GAC) rather than in the /bin directory of each Web application. This installation makes the Web Part globally accessible on the servers.

Language

Optional

System.UInt32

Specifies the language ID for the Web Part package.

WebApplication

Optional

Microsoft.SharePoint.PowerShell.SPWebApplicationPipeBind

Specifies the Web application on which to install the Web Part pack. If no Web application is specified, the Web Part pack is installed on all Web applications.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

2

Parameter

Required

Type

Description

Name

Required

System.String

Specifies the name of the Web Part package to install.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

Force

Optional

System.Management.Automation.SwitchParameter

Overwrites any existing Web Part package with the same name or installed in the same location.

GlobalInstall

Optional

System.Management.Automation.SwitchParameter

Installs the Web Part package in the global assembly cache (GAC) rather than in the /bin directory of each Web application. This installation makes the Web Part globally accessible on the servers.

Language

Optional

System.UInt32

Specifies the language ID for the Web Part package.

WebApplication

Optional

Microsoft.SharePoint.PowerShell.SPWebApplicationPipeBind

Specifies the Web application on which to install the Web Part pack. If no Web application is specified, the Web Part pack is installed on all Web applications.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

This cmdlet contains more than one parameter set. You may only use parameters from one parameter set, and you may not combine parameters from different parameter sets. For more information about how to use parameter sets, see Cmdlet Parameter Sets.

The Install-SPWebPartPack cmdlet installs the Web Part package, at the LiteralPath parameter location, in the local farm. The Web Part package can be installed in a specific Web application by using the WebApplication parameter. If a Web application is not specified, the Web Part package is installed in all Web applications.

Use the Language parameter to specify a package language.

Use the GlobalInstall parameter to install the package to the global assembly cache (GAC). Assemblies in the GAC are granted FullTrust permission, which gives this package full access to all system-wide resources.

Use the Force parameter to install the package to overwrite any existing Web Part package with the same name or installed in the same location.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
Install-SPWebPartPack "MyCustomWebPartPack" -LiteralPath "c:/mywebpart.wpp" -GlobalInstall

This example installs the Web Part Package with the name MyCustomWebPartPack globally in the farm from the path c:/mywebpart.wpp.

See Also

Reference

Uninstall-SPWebPartPack
Get-SPWebPartPack


Uninstall-SPWebPartPack
See Also Example
[image]

Published: May 12, 2010

Uninstalls the specified Web Part package.

Uninstall-SPWebPartPack [-Identity] <String> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-Language <UInt32>] [-WebApplication <SPWebApplicationPipeBind>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

System.String

Specifies the Web Part package in the farm's configuration database.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

Language

Optional

System.Int32

Specifies the language ID of the Web Part package to delete. If no language is specified, the Web Part package is uninstalled for all languages.

The type must be a valid language identifier, in the form 1033.

WebApplication

Optional

Microsoft.SharePoint.PowerShell.SPWebApplicationPipeBind

Specifies the Web application from which to uninstall the Web Part package. If no Web application is specified, the Web Part package is uninstalled from all Web applications.

The type must be a valid name, in the form WebApplication-1212, or a URL, in the form http://server_name/WebApplication-1212.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Uninstall-SPWebPartPack cmdlet uninstalls the Web Part package specified by the Identity parameter.

Input Types

Return Types

None

Errors

Error | Description

Exceptions

Exceptions | Description

Example

------------------EXAMPLE1------------------

Copy Code
Uninstall-SPWebPartPack  "mypart.wpp" -WebApplication http://portal

This example uninstalls mypart.wpp to from the Web application http://portal.

------------------EXAMPLE2------------------

Copy Code
Get-SPWebPartPack -WebApplication http://portal | Uninstall-SPWebPartPack

This example uninstalls all Web part packages from the Web application http://portal.

See Also

Reference

Get-SPWebPartPack
Install-SPWebPartPack


Site management cmdlets (SharePoint Server 2010)
See Also

You can use Windows PowerShell cmdlets to manage sites in a Microsoft SharePoint Server 2010 farm.

Cmdlet name | Description
Get-SPCustomLayoutsPage | Returns a mapping to a custom layout page.
Get-SPUser | Returns the user account or accounts that match a given search criteria.
Get-SPWeb | Returns all subsites that match the given criteria.
Get-SPWebApplication | Returns all Web applications that match the given criteria.
Get-SPFarm | Returns the local SharePoint farm.
Get-SPProduct | Returns a list of the SharePoint-related products installed in the farm and the versions of all updates installed for each product.
Get-SPServer | Returns the server or servers in the farm that match the given identity.
Get-SPDeletedSite | Gets a list of deleted site collections. This cmdlet was introduced in Microsoft SharePoint Server 2010 with Service Pack 1 (SP1).
Get-SPSite | Returns all site collections that match the given criteria.
Get-SPSiteAdministration | Returns a site administration object that farm administrators can use to view certain information about site collections to which they might not have access.
Get-SPSiteSubscription | Returns the site subscription for the given URL or all site subscriptions in the local farm.
Get-SPSiteSubscriptionConfig | Returns the configuration properties of a site subscription.
Move-SPSite | Moves site collections from one content database to another.
Move-SPUser | Migrates a user account in SharePoint 2010 Products.
New-SPSite | Creates a new site collection at the specified URL.
New-SPSiteSubscription | Creates a new site subscription.
New-SPUser | Adds an existing user to a SharePoint site with the designated permissions.
New-SPWeb | Creates a new site in an existing site collection.
New-SPWebApplication | Creates a new Web application within the local farm.
New-SPWebApplicationExtension | Creates a new zone instance for the Web application.
Remove-SPDeletedSite | Removes a deleted site collection. This cmdlet was introduced in SharePoint Server 2010 with SP1.
Remove-SPSite | Completely deletes an existing site collection and all subsites.
Remove-SPSiteSubscription | Removes data stored in a subscription settings service application for a set of site subscriptions.
Remove-SPSiteSubscriptionSettings | Removes the settings service data for a specified site subscription, or finds and removes orphaned data.
Remove-SPUser | Removes a user from a Web site.
Remove-SPWeb | Completely deletes the specified Web.
Remove-SPWebApplication | Deletes the specified Web application.
Rename-SPServer | Renames a server that is currently connected to the farm.
Restore-SPDeletedSite | Restores a deleted site collection. This cmdlet was introduced in SharePoint Server 2010 with SP1.
Set-SPSite | Configures the specified site collection.
Set-SPSiteAdministration | Allows farm administrators to configure any site collection.
Set-SPSiteSubscriptionConfig | Sets the configuration properties of a site subscription.
Set-SPSubscriptionSettingsServiceApplication | Sets properties of a subscription settings service application.
Set-SPUser | Configures properties on an existing user.
Set-SPWebApplication | Configures the specified Web application.
Set-SPWeb | Configures the specified subsite.
Export-SPSiteSubscriptionSettings | Creates a backup file of site subscription data.
Import-SPSiteSubscriptionSettings | Restores a backup of subscription site settings to the given subscription identifier.

See Also

Other Resources

Resource Center: Windows PowerShell for SharePoint Server 2010


Get-SPCustomLayoutsPage
Example
[image]

Published: May 12, 2010

Returns a mapping to a custom layout page.

Get-SPCustomLayoutsPage -WebApplication <SPWebApplicationPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Identity <None | AccessDenied | Confirmation | Error | Login | RequestAccess | Signout | WebDeleted>]

Parameters

Parameter Required Type Description

WebApplication

Required

Microsoft.SharePoint.PowerShell.SPWebApplicationPipeBind

Specifies the SharePoint Web application that contains the custom layout page.

The type must be a valid URL, in the form http://server_name; a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of SharePoint Web application (for example, MyOfficeApp1); or an instance of a valid SPWebApplication object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Identity

Optional

Microsoft.SharePoint.Administration.SPWebApplication+SPCustomPage

Specifies the custom layout page to get.

The type must be one of the following: None, AccessDenied, Confirmation, Error, Login, RequestAccess, Signout, or WebDeleted.

Detailed Description

The Get-SPCustomLayoutsPagecmdlet cmdlet returns a mapping to a custom layout page in a Web application. If the Identity parameter is not specified, this cmdlet returns the collection of mappings for all custom layout pages.

Input Types

Return Types

Example

------------------EXAMPLE-----------------------

Copy Code
Get-SPCustomLayoutsPage -Identity "_layouts/accessdenied.aspx" -WebApplication "http://server_name/mywebapp"

This example returns the mapping of the AccessDenied layout page in the Web application.


Get-SPUser
See Also Example
[image]

Published: May 12, 2010

Returns the user account or accounts that match a given search criteria.

Get-SPUser [[-Identity] <SPUserPipeBind>] -Web <SPWebPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Group <SPGroupPipeBind>] [-Limit <String>]

Parameters

Parameter Required Type Description

Identity

Optional

Microsoft.SharePoint.PowerShell.SPUserPipeBind

Specifies the GUID or login name of the user to be returned.

The type must be a valid URL, in the form http://server_name, or GUID, in the form1234-5678-9807.

Web

Required

Microsoft.SharePoint.PowerShell.SPWebPipeBind

Specifies the Web site to be used as a scope.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a Microsoft SharePoint Foundation 2010 Web site (for example, MySPSite1); or an instance of a valid SPWeb object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Group

Optional

Microsoft.SharePoint.PowerShell.SPGroupPipeBind

Specifies the user group to which the new user belongs.

Limit

Optional

System.String

Specifies the maximum number of users to return. The default value is 500.

Detailed Description

The Get-SPUser cmdlet returns all SharePoint user accounts that match the scope given by the Identity, Web, or Group parameters.

The Identity parameter can use the alias of a user for returning exact matches. However, a scope must be provided if the Get-SPUser cmdlet is to work.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
Get-SPUser -Web "http://zsharepoint2" -Group "Viewers"

This example returns all members of the group Viewers on the Web site http://zsharepoint2.

See Also

Reference

Move-SPUser
New-SPUser
Set-SPUser
Remove-SPUser


Get-SPWeb
See Also Example
[image]

Published: May 12, 2010

Returns all subsites that match the given criteria.

Get-SPWeb [[-Identity] <SPWebPipeBind>] [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-Filter <ScriptBlock>] [-Limit <String>] [-Regex <SwitchParameter>] [-Site <SPSitePipeBind>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Optional

Microsoft.SharePoint.PowerShell.SPWebPipeBind

Specifies the name or full or partial URL of the subsite. If you use a relative path, you must specify the Site parameter.

A valid URL in the form http://server_name or a relative path in the form of /SubSites/MySubSite.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

Filter

Optional

System.Management.Automation.ScriptBlock

Specifies the server-side filter to use for the specified scope.

The type must be a valid filter in the form {filterName <operator> "filterValue"}.

Limit

Optional

System.String

Limits the maximum number of subsites to return. The default value is 200. To return all sites, enter ALL

The type must be a valid number greater than 0 or ALL.

Regex

Optional

System.Management.Automation.SwitchParameter

Specifies the URL that is provided by the Identity parameter is treated as a regular expression.

Site

Optional

Microsoft.SharePoint.PowerShell.SPSitePipeBind

Specifies the URL or GUID of the site collection from which to list subsites.

The type must be a valid URL, in the form of http://server_name; a GUID, in the form 1234-5678-9807, or an SPSite object.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Get-SPWeb cmdlet returns all subsites that match the scope given by the Identity parameter. All subsites that meet the criteria are returned.

The Identity can be either the full URL or a relative path. If you specify a relative path, you must also specify the Site parameter to identify the site collection from which to return the subsite.

The Identity parameter also supports providing a partial URL that ends in a wildcard character (*). All subsites that match this partial URL for the specified scope are returned. Additionally, if the Regex parameter is provided, the Identity parameter is treated as a regular expression and any subweb with a URL provided in the given scope that matches the expression is returned.

The Filter parameter is a server-side filter for certain subsite properties that are stored in the content database; without the Filter parameter, filtering on these properties is a slow process. These subsite properties are Template and Title. The Filter parameter is a script block that uses the same syntax as a Where-Object statement, but is run server-side for faster results.

It is important to note that every site collection returned by the Get-SPWeb cmdlet is automatically disposed of at the end of the pipeline. To store the results of Get-SPWeb in a local variable, the Start-SPAssignment and Stop-SPAssignment cmdlets must be used to avoid memory leaks.

Input Types

Return Types

Example

--------------------EXAMPLE 1----------------------

Copy Code
Get-SPWeb -site http://sitename/sites/site1

This example returns all the subwebs in a given site collection.

--------------------EXAMPLE 2----------------------

Copy Code
Get-SPWeb -Site http://sitename/sites/site1  -filter {$_.Template -eq "STS#0"}

This example displays all subsites that use the "STS#0" template.

--------------------EXAMPLE 3----------------------

Copy Code
Start-SPAssignment -Global
Copy Code
$w = Get-SPWeb http://sitename
Copy Code
$w.set_SiteLogoUrl("http://PathToImage/test.jpg")
Copy Code
$w.Update()
Copy Code
Stop-SPAssignment -Global

This example demonstrates how to save a subsite as a variable and to call object model methods on the SPAssignment object.

See Also

Reference

New-SPWeb
Set-SPWeb
Remove-SPWeb
Import-SPWeb


Get-SPWebApplication
See Also Example
[image]

Published: May 12, 2010

Returns all Web applications that match the given criteria.

Get-SPWebApplication [[-Identity] <SPWebApplicationPipeBind>] [-AssignmentCollection <SPAssignmentCollection>] [-IncludeCentralAdministration <SwitchParameter>]

Parameters

Parameter Required Type Description

Identity

Optional

Microsoft.SharePoint.PowerShell.SPWebApplicationPipeBind

Specifies the name, URL, or GUID of the Web application.

The type must be a valid URL, in the form http://server_name; a GUID, in the form 1234-5678-9876-0987; or a valid name, in the form SPWebApplication - 1212.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

IncludeCentralAdministration

Optional

System.Management.Automation.SwitchParameter

Includes the Central Administration Web application in the collection of Web applications that can be returned. The IncludeCentral Administration parameter must still meet any other filters provided.

Detailed Description

The Get-SPWebApplication cmdlet returns all Web applications that match the scope given by the Identity parameter. The Identity can be the name of the name, URL, or GUID of the Web application. If no Identity is specified, all Web applications are returned.

The Central Administration Web application is only returned if its exact identity is provided or the IncludeCentralAdministration flag is provided.

Input Types

Return Types

Example

------------------EXAMPLE 1----------------------

Copy Code
$w = Get-SPWebApplication http://sitename

This example gets the Web application for http://sitename and stores it in a variable.

------------------EXAMPLE 2-----------------------

Copy Code
Get-SPWebApplication -IncludeCentralAdministration | Where { $_.DefaultServerComment -eq "SharePoint Central Administration v4"} | Format-List *

This example displays all public properties on the SharePoint Central Administration Web application in list format.

See Also

Reference

Get-SPWebApplicationHttpThrottlingMonitor


Get-SPFarm
See Also Example
[image]

Published: May 12, 2010

Returns the local SharePoint farm.

Get-SPFarm [-AssignmentCollection <SPAssignmentCollection>]

Parameters

Parameter Required Type Description

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Detailed Description

The Get-SPFarm cmdlet returns the local SharePoint farm. No parameters are used.

Input Types

Return Types

SPFarm

Example

Copy Code
$f = Get-SPFarm

This example stores the local farm in a variable.

See Also

Reference

Get-SPFarmConfig
Set-SPFarmConfig
Backup-SPFarm
Restore-SPFarm


Get-SPProduct
Example
[image]

Published: May 12, 2010

Returns a list of the SharePoint-related products installed in the farm and the versions of all updates installed for each product.

Get-SPProduct [-AssignmentCollection <SPAssignmentCollection>] [-Local <SwitchParameter>]
Get-SPProduct [-AssignmentCollection <SPAssignmentCollection>] [-Server <SPServerPipeBind>]

Parameters

1

Parameter

Required

Type

Description

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Local

Optional

System.Management.Automation.SwitchParameter

Returns product and update information for only the local computer. If you use the Local parameter, you cannot use the Server parameter.

2

Parameter

Required

Type

Description

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Server

Optional

Microsoft.SharePoint.PowerShell.SPServerPipeBind

Returns product and update information for a specified server. If you use the Server parameter, you cannot use the Local parameter.

Detailed Description

This cmdlet contains more than one parameter set. You may only use parameters from one parameter set, and you may not combine parameters from different parameter sets. For more information about how to use parameter sets, see Cmdlet Parameter Sets.

The Get-SPProduct cmdlet returns a list of the SharePoint-related products installed in the farm and the versions of all updates installed for each product. By default this cmdlet returns the list of SharePoint-related products installed in the farm. Use the Local parameter to get only information about the local server or for a specific server to get the list, use the Server parameter.

Input Types

Return Types

Example

--------------EXAMPLE-----------------

Copy Code
Get-SPProduct -Local

This example displays the SharePoint-related products installed on the local server.


Get-SPServer
See Also Example
[image]

Published: May 12, 2010

Returns the server or servers in the farm that match the given identity.

Get-SPServer [[-Identity] <SPServerPipeBind>] [-AssignmentCollection <SPAssignmentCollection>]

Parameters

Parameter Required Type Description

Identity

Optional

Microsoft.SharePoint.PowerShell.SPServerPipeBind

Specifies the address of the server to return.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Detailed Description

The Get-SPServer cmdlet returns the SPServer object for the given identity (if it exists in the farm). If no parameters are specified, the cmdlet returns all servers in the farm.

Input Types

Return Types

Example

--------------EXAMPLE 1-----------------

Copy Code
Get-SPServer

This example returns all servers in the local farm in a list.

--------------EXAMPLE 2-----------------

Copy Code
Get-SPServer | Where{ $_.NeedsUpgrade -eq $TRUE}

This example returns a list of all servers in the farm that need an upgrade.

See Also

Reference

Rename-SPServer


Get-SPSite
See Also Example
[image]

Published: May 12, 2010

Returns all site collections that match the given criteria.

Get-SPSite [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-Filter <ScriptBlock>] [-Limit <String>] [-WebApplication <SPWebApplicationPipeBind>] [-WhatIf [<SwitchParameter>]]
Get-SPSite [-Identity] <SPSitePipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-Filter <ScriptBlock>] [-Limit <String>] [-Regex <SwitchParameter>] [-WhatIf [<SwitchParameter>]]
Get-SPSite -ContentDatabase <SPContentDatabasePipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-Filter <ScriptBlock>] [-Limit <String>] [-WhatIf [<SwitchParameter>]]
Get-SPSite -SiteSubscription <SPSiteSubscriptionPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-Filter <ScriptBlock>] [-Limit <String>] [-WhatIf [<SwitchParameter>]]

Parameters

1

Parameter

Required

Type

Description

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

Filter

Optional

System.Management.Automation.ScriptBlock

Specifies the script block of the server-side filter to apply.

The type must be a valid filter name and value in the form {$_PropertyName <operator> "filterValue"}.

Valid operators are: EQ, NE, LIKE, NOTLIKE.

Limit

Optional

System.String

Limits the maximum number of site collections to return. The default value is 200.

The type must be a valid non-negative number. Specify ALL to return all site collections for the given scope.

WebApplication

Optional

Microsoft.SharePoint.PowerShell.SPWebApplicationPipeBind

Specifies the URL, GUID, or name of the Web application from which to list sites.

The type must be a valid URL, in the form http://server_name, a valid GUID (for example, 12345678-90ab-cdef-1234-567890bcdefgh); or the Web application name (for example, WebApplication1212).

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

2

Parameter

Required

Type

Description

Identity

Required

Microsoft.SharePoint.PowerShell.SPSitePipeBind

Specifies the URL or GUID of the site collection to get.

The type must be a valid URL, in the form http://server_name or http://server_name/sites/sitename, or a valid GUID (for example, 12345678-90ab-cdef-1234-567890bcdefgh).

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

Filter

Optional

System.Management.Automation.ScriptBlock

Specifies the script block of the server-side filter to apply.

The type must be a valid filter name and value in the form {$_PropertyName <operator> "filterValue"}.

Valid operators are: EQ, NE, LIKE, NOTLIKE.

Limit

Optional

System.String

Limits the maximum number of site collections to return. The default value is 200.

The type must be a valid non-negative number. Specify ALL to return all site collections for the given scope.

Regex

Optional

System.Management.Automation.SwitchParameter

When used, the URL provided for the Identity parameter to be treated as a regular expression.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

3

Parameter

Required

Type

Description

ContentDatabase

Required

Microsoft.SharePoint.PowerShell.SPContentDatabasePipeBind

Specifies the GUID of the content database from which to list site collections.

The type must be a valid database name, in the form SPContentDB01, or a valid GUID (for example, 12345678-90ab-cdef-1234-567890bcdefgh).

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

Filter

Optional

System.Management.Automation.ScriptBlock

Specifies the script block of the server-side filter to apply.

The type must be a valid filter name and value in the form {$_PropertyName <operator> "filterValue"}.

Valid operators are: EQ, NE, LIKE, NOTLIKE.

Limit

Optional

System.String

Limits the maximum number of site collections to return. The default value is 200.

The type must be a valid non-negative number. Specify ALL to return all site collections for the given scope.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

4

Parameter

Required

Type

Description

SiteSubscription

Required

Microsoft.SharePoint.PowerShell.SPSiteSubscriptionPipeBind

Specifies the site subscription from which to get site collections.

The type must be a valid URL, in the form http://server_name or a valid GUID (for example, 12345678-90ab-cdef-1234-567890bcdefgh).

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

Filter

Optional

System.Management.Automation.ScriptBlock

Specifies the script block of the server-side filter to apply.

The type must be a valid filter name and value in the form {$_PropertyName <operator> "filterValue"}.

Valid operators are: EQ, NE, LIKE, NOTLIKE.

Limit

Optional

System.String

Limits the maximum number of site collections to return. The default value is 200.

The type must be a valid non-negative number. Specify ALL to return all site collections for the given scope.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

This cmdlet contains more than one parameter set. You may only use parameters from one parameter set, and you may not combine parameters from different parameter sets. For more information about how to use parameter sets, see Cmdlet Parameter Sets.

The Get-SPSite cmdlet returns either a single site that matches the Identity parameter, or all the sites that match the Filter parameter for the specified scope. The scopes are the WebApplication, ContentDatabase , and SiteSubscription parameters. If none of these scopes is provided, the scope is the farm. If the scope is specified with no Filter parameter, all sites in that scope are returned.

The Identity parameter supports providing a partial URL that ends in a wildcard character (*). All site collections that match this partial URL for the specified scope are returned. Additionally, if the Regex parameter is provided, the Identity parameter is treated as a regular expression and any site collection with a URL provided in the given scope that matches the expression is returned.

The Filter parameter is a server-side filter for certain site collection properties that are stored in the content database; without the Filter parameter, filtering on these properties is a slow process. These site collection properties are Owner, SecondaryOwner, and LockState. The Filter parameter is a script block that uses the same syntax as a Where-Object statement, but is run server-side for faster results.

Valid values for LockState are, Unlock, NoAdditions, ReadOnly, NoAccess.

It is important to note that every site collection returned by the Get-SPSite cmdlet is automatically disposed of at the end of the pipeline. To store the results of Get-SPSite in a local variable, the Start-SPAssignment and Stop-SPAssignment cmdlets must be used to avoid memory leaks.

Input Types

None

Return Types

Example

------------------EXAMPLE 1---------------------

Copy Code
Get-SPSite 'http://sitename' | Get-SPWeb -Limit All | Select Title

This example gets the collection of subweb titles in site collection at http://sitename.

------------------EXAMPLE 2---------------------

Copy Code
Get-SPSite -ContentDatabase "b399a366-d899-4cff-8a9b-8c0594ee755f" | Format-Table -Property Url, Owner, SecondaryOwner

This example gets a subset of data from all of the sites in the content database b399a366-d899-4cff-8a9b-8c0594ee755f.

------------------EXAMPLE 3---------------------

Copy Code
Start-SPAssignment -Global
Copy Code
$s = Get-SPSite -Identity http://MyApp/Sites/Site1
Copy Code
$s.Url
Copy Code
Stop-SPAssignment -Global

This example gets the sites specified by the Identity parameter and inserts the results in the variable s

The previous example uses the Global method of assignment collection. The Global method is easier to use but the contents of this object grows quickly. Be careful not to run a Get-SPSite command that returns many results while global assignment is enabled.

------------------EXAMPLE 4---------------------

Copy Code
$GC = Start-SPAssignment
Copy Code
$Sites = $GC | Get-SPSite -Filter {$_.Owner -eq "DOMAIN\JDoe"} -Limit 50
Copy Code
Stop-SPAssignment $GC

This example gets the first 50 sites owned by user DOMAIN\JDoe by using a server-side query, and assigns them to a local variable.

This example uses advanced assignment collection methods.

------------------EXAMPLE 5---------------------

Copy Code
Get-SPWebApplication http://sitename | Get-SPSite -Limit All |ForEach-Object {$sum=0}{ $sum+=$_.Usage.Storage }{$sum}

This example shows a command that returns the sum of the disk space usage for all sites in a given Web application.

------------------EXAMPLE 6---------------------

Copy Code
Get-SPSite -Identity "http://localserver/(my|personal)/sites" -Regex

This example returns all sites that match the given regular expression.

The Quotes on the Identity parameter are required when the Regex parameter is used.

------------------EXAMPLE 7---------------------

Copy Code
Get-SPSite http://sitename/sites/teams/* -Limit 100

This example gets up to 100 of the sites under the URL http://sitename/sites/teams.

------------------EXAMPLE 8---------------------

Copy Code
Get-SPSite | select url, @{Expression={$_.Usage.Storage}}

This example gets the amount of storage used by a site collection, by using the storage field of the .UsageInfo property.

See Also

Reference

Backup-SPSite
Move-SPSite
New-SPSite
Remove-SPSite
Restore-SPSite
Set-SPSite


Get-SPSiteAdministration
See Also Example
[image]

Published: May 12, 2010

Returns a site administration object that allows farm administrators to view certain information about site collections to which they might not have access.

Get-SPSiteAdministration [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-Filter <ScriptBlock>] [-Limit <String>] [-WebApplication <SPWebApplicationPipeBind>] [-WhatIf [<SwitchParameter>]]
Get-SPSiteAdministration [-Identity] <SPSiteAdministrationPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-Filter <ScriptBlock>] [-Limit <String>] [-Regex <SwitchParameter>] [-WhatIf [<SwitchParameter>]]
Get-SPSiteAdministration -ContentDatabase <SPContentDatabasePipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-Filter <ScriptBlock>] [-Limit <String>] [-WhatIf [<SwitchParameter>]]
Get-SPSiteAdministration -SiteSubscription <SPSiteSubscriptionPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-Filter <ScriptBlock>] [-Limit <String>] [-WhatIf [<SwitchParameter>]]

Parameters

1

Parameter

Required

Type

Description

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

Filter

Optional

System.Management.Automation.ScriptBlock

Specifies the script block of the server-side filter to apply.

The type must be a valid filter name and a value in the form { $_ PropertyName <operator > "filterValue"}}

Limit

Optional

System.String

Limits the maximum number of site collections to return. The default value is 200.

The type must be a valid non-negative number. Provide ALL to return all site collections for the given scope.

WebApplication

Optional

Microsoft.SharePoint.PowerShell.SPWebApplicationPipeBind

Specifies the URL, GUID, or name of the Web application from which to list sites.

The type must be a valid URL, in the form http://server_name; a valid GUID (for example, 12345678-90ab-cdef-1234-567890bcdefgh); or the Web application name (for example, WebApplication1212).

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

2

Parameter

Required

Type

Description

Identity

Required

Microsoft.SharePoint.PowerShell.SPSiteAdministrationPipeBind

Specifies the URL (full or partial) or GUID of the site collection to retrieve.

The type must be a valid URL, in the form http://server_name, or a GUID, in the form 1234-456-987fg.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

Filter

Optional

System.Management.Automation.ScriptBlock

Specifies the script block of the server-side filter to apply.

The type must be a valid filter name and a value in the form { $_ PropertyName <operator > "filterValue"}}

Limit

Optional

System.String

Limits the maximum number of site collections to return. The default value is 200.

The type must be a valid non-negative number. Provide ALL to return all site collections for the given scope.

Regex

Optional

System.Management.Automation.SwitchParameter

Enabling this switch causes the URL provided for the Identity parameter to be treated as a regular expression.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

3

Parameter

Required

Type

Description

ContentDatabase

Required

Microsoft.SharePoint.PowerShell.SPContentDatabasePipeBind

Specifies the URL (full or partial) or GUID of the site collection to retrieve.

The type must be a valid URL, in the form http://server_name, or a GUID, in the form, 1234-456-987fg.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

Filter

Optional

System.Management.Automation.ScriptBlock

Specifies the script block of the server-side filter to apply.

The type must be a valid filter name and a value in the form { $_ PropertyName <operator > "filterValue"}}

Limit

Optional

System.String

Limits the maximum number of site collections to return. The default value is 200.

The type must be a valid non-negative number. Provide ALL to return all site collections for the given scope.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

4

Parameter

Required

Type

Description

SiteSubscription

Required

Microsoft.SharePoint.PowerShell.SPSiteSubscriptionPipeBind

Specifies the site group from which to get site collections.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; an SPSite (object or URL) of a site collection that is a member of the site subscription; or an instance of a valid SiteSubscription object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

Filter

Optional

System.Management.Automation.ScriptBlock

Specifies the script block of the server-side filter to apply.

The type must be a valid filter name and a value in the form { $_ PropertyName <operator > "filterValue"}}

Limit

Optional

System.String

Limits the maximum number of site collections to return. The default value is 200.

The type must be a valid non-negative number. Provide ALL to return all site collections for the given scope.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

This cmdlet contains more than one parameter set. You may only use parameters from one parameter set, and you may not combine parameters from different parameter sets. For more information about how to use parameter sets, see Cmdlet Parameter Sets.

The Get-SPSiteAdminitration cmdlet returns a site administration object that allows farm administrators to view certain information about site collections to which they might not have access.

Input Types

Return Types

Example

------------------EXAMPLE 1------------------

Copy Code
Get-SPSiteAdministration | Select -Property Url, OwnerLoginName, @{Name="Storage";Expression={$_.Quota.StorageMaximumLevel}}

This example gets a subset of data from all of the sites in the content database with the URL b399a366-d899-4cff-8a9b-8c0594ee755f (farm administrator does not require access). This command uses the calculated property Storage to display the maximum storage value for the content database.

------------------EXAMPLE 2------------------

Copy Code
Start-SPAssignment -Global
$s = Get-SPSiteAdministration -Identity http://MyApp/Sites/Site1
$s.Url
Stop-SPAssignment -Global

This example gets the site collections specified by the Identity parameter and inserts the results into the variable s. This example uses the Global method of garbage collection. This method is easier to use but grows quickly. Do not run a Get-SPSite command that returns many results while global assignment is on.

------------------EXAMPLE 3------------------

Copy Code
$GC = Start-SPAssignment
$Sites = $GC | Get-SPSiteAdministration -Filter {$_.Owner -eq "DOMAIN\JDoe"} -Limit 50
Stop-SPAssignment $GC

This example gets the first 50 sites owned by user DOMAIN\JDoe by using a server-side query, and assigns the returned sites to a local variable. This command uses advanced assignment collection methods.

------------------EXAMPLE 4------------------

Copy Code
Get-SPWebApplication http://sitename | Get-SPSiteAdministration -Limit All |ForEach-Object {$sum=0}{ $sum+=$_.DiskUsed }{$sum}

This command returns the sum of the disk space usage for all sites in the specified Web application.

------------------EXAMPLE 5------------------

Copy Code
Get-SPWebApplication http://sitename | Get-SPSiteAdministration -Limit ALL | Select URL

This example gets the URLs for all site collections in a Web application.

------------------EXAMPLE 6------------------

Copy Code
Get-SPSiteAdministration -identity "http://localserver/(my|personal)/sites" -Regex

This example returns all sites that match the given regular expression. The quotation marks around the value specified for the Identity parameter are required when using the Regex flag.

------------------EXAMPLE 7------------------

Copy Code
Get-SPSite "http://sitename/sites/teams/*" -Limit 100

This example gets up to 100 of the sites under the URL http://sitename/sites/teams.

See Also

Reference

Set-SPSiteAdministration


Get-SPSiteSubscription
See Also Example
[image]

Published: May 12, 2010

Returns the site subscription for the given URL or all site subscriptions in the local farm.

Get-SPSiteSubscription [[-Identity] <SPSiteSubscriptionPipeBind>] [-AssignmentCollection <SPAssignmentCollection>]

Parameters

Parameter Required Type Description

Identity

Optional

Microsoft.SharePoint.PowerShell.SPSiteSubscriptionPipeBind

Specifies the ID of the subscription.

The type must be a valid URL, in the form http://server_name.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Detailed Description

The Get-SPSiteSubscription cmdlet returns the site subscription for the given URL when the Identity parameter is used. If no parameter is specified, all unique site subscriptions in the farm are listed.

Input Types

Return Types

Example

------------------EXAMPLE----------------------

Copy Code
$SiteSub = Get-SPSiteSubscription http://Contoso.com
Copy Code
$SiteSub = Get-SPSite http://contoso.com | Get-SPSiteSubscription

This example retrieves the site subscription for http://Contoso.com.

See Also

Reference

New-SPSiteSubscription
Remove-SPSiteSubscription


Get-SPSiteSubscriptionConfig
Example
[image]

Published: May 12, 2010

Returns the configuration properties of a site subscription.

Get-SPSiteSubscriptionConfig [-Identity] <SPSiteSubscriptionPipeBind> [-AssignmentCollection <SPAssignmentCollection>]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.SharePoint.PowerShell.SPSiteSubscriptionPipeBind

Specifies the site subscription configuration to get.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; an SPSite (object or URL) of a site collection that is a member of the site subscription; or an instance of a valid SiteSubscription object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Detailed Description

The Get-SPSiteSubscriptionConfig cmdlet returns the configuration properties of a site subscription.

Input Types

Return Types

Example

---------------EXAMPLE---------------

Copy Code
Get-SPSiteSubscriptionConfig http://contoso.com | Select FeatureSet

This example gets the feature set ID for the site subscription that contains the Web site http://contoso.com.


Move-SPSite
See Also Example
[image]

Published: May 12, 2010

Moves site collections from one content database to another.

Move-SPSite [-Identity] <SPSitePipeBind> -DestinationDatabase <SPContentDatabasePipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-RbsProviderMapping <Hashtable>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.SharePoint.PowerShell.SPSitePipeBind

Specifies the identity of the site collection to be moved. For example, http://servername/sites/sitename.

DestinationDatabase

Required

Microsoft.SharePoint.PowerShell.SPContentDatabasePipeBind

Specifies the content database that the site collection should be moved to. For example, ContentDB2.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

RbsProviderMapping

Optional

System.Collections.Hashtable

Note:

This parameter was added in Microsoft SharePoint Server 2010 with Service Pack 1 (SP1) and Microsoft SharePoint Foundation 2010 with Service Pack 1 (SP1).

Used to move an RBS-enabled site collection from one RBS-enabled content database to another RBS-enabled content database without moving the underlying BLOB content. If the content database has more than one RBS provider associated with it, you must specify all providers. The same providers must be enabled on the target content database and the source content database.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Move-SPSite cmdlet moves the data in the specified site collection from its current content database to the content database specified by the DestinationDatabase parameter. A no-access lock is applied to the site collection to prevent users from altering data within the site collection while the move is taking place. Once the move is complete, the site collection is returned to its original lock state. The destination content database specified must already exist, must be attached to the same SQL Server as the site collection's current content database, and must be attached to the site collection's current Web application.

Input Types

Return Types

Example

---------------------EXAMPLE 1-----------------------

Copy Code
Move-SPSite http://servername/sites/sitename -DestinationDatabase ContentDb2

This example moves the site collection http://servername/sites/sitename to the content database ContentDb2.

---------------------EXAMPLE 2-----------------------

Copy Code
Get-SPSite -ContentDatabase ContentDb1 | Move-SPSite -DestinationDatabase ContentDb2

This example moves all site collections in ContentDb1 to ContentDb2.

---------------------EXAMPLE 3-----------------------

Copy Code
Get-SPSiteAdministration | where { $_.OwnerLoginName -eq "DOMAIN\username" } | Move-SPSite -DestinationDatabase ContentDb2

This example moves all site collections where DOMAIN\username is the site collection owner to ContentDb2. The Get-SPSiteAdministration cmdlet is used instead of the Get-SPSite cmdlet because you must have permission within the site collection to access the properties of the SPSite object. You can access the properties of the SPSiteAdministration object as a SharePoint farm administrator.

---------------------EXAMPLE 4-----------------------

Copy Code
Move-SPSite -Identity siteUrl -DestinationDatabase databaseName -RbsProviderMapping
       @{"sourceProvider1"="targetProvider1", "sourceProvider2"="targetProvider2"}

This example moves an RBS-enabled site collection from one RBS-enabled content database to another RBS-enabled content database, sourceProvider1 is the source RBS provider and targetProvider1 is the target RBS provider.

See Also

Reference

Backup-SPSite
Get-SPSite
Restore-SPSite
Get-SPSiteAdministration


Move-SPUser
See Also Example
[image]

Published: May 12, 2010

Migrates a user account in SharePoint 2010 Products.

Move-SPUser [-Identity] <SPUserPipeBind> -NewAlias <String> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-IgnoreSID <SwitchParameter>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.SharePoint.PowerShell.SPUserPipeBind

Specifies the GUID or login name of the user to be returned.

The type must be a valid login name or GUID of the user, in the form DOMAIN\username or 1234-5678-9876-0987.

NewAlias

Required

System.String

Specifies the new login name of the user account.

The type must be a valid login name, in the form DOMAIN\username.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

IgnoreSID

Optional

System.Management.Automation.SwitchParameter

Indicates (if present) that Active Directory will not be queried for the SID history attribute to ensure that the new login name is correspondent to the old login name.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Move-SPUser cmdlet migrates user access from one domain user account to another. If an entry for the new login name already exists, the entry is marked for deletion to make way for the migration.

Input Types

Return Types

Errors

Error | Description

Example

------------------EXAMPLE------------------

Copy Code
Move-SPUser -Identity "DOMAIN\JaneDoe" -NewAlias "Domain\JaneSmith"

This example migrates DOMAIN\JaneDoe to the new account of DOMAIN\JaneSmith.

See Also

Reference

New-SPUser
Set-SPUser
Remove-SPUser
Get-SPUser


New-SPSite
See Also Example
[image]

Published: May 12, 2010

Creates a new site collection at the specified URL.

New-SPSite [-Url] <String> -OwnerAlias <SPUserPipeBind> [-AdministrationSiteType <None | TenantAdministration>] [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-ContentDatabase <SPContentDatabasePipeBind>] [-Description <String>] [-HostHeaderWebApplication <SPWebApplicationPipeBind>] [-Language <UInt32>] [-Name <String>] [-OwnerEmail <String>] [-QuotaTemplate <SPQuotaTemplatePipeBind>] [-SecondaryEmail <String>] [-SecondaryOwnerAlias <SPUserPipeBind>] [-SiteSubscription <SPSiteSubscriptionPipeBind>] [-Template <SPWebTemplatePipeBind>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Url

Required

System.String

Specifies the URL that the new site collection uses. If the URL is not a host header site, the URL must start with the the Web application URL.

OwnerAlias

Required

System.String

Specifies the user login name of the site owner.

The type must be a valid user alias, in the form Domain\username.

AdministrationSiteType

Optional

Microsoft.SharePoint.SPAdministrationSiteType

Specifies the site type.

Valid values are None or TentantAdministration.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

ContentDatabase

Optional

Microsoft.SharePoint.PowerShell.SPContentDatabasePipeBind

Specifies the name or GUID of the content database in which to create the new site. If no content database is specified, the site collection is selected automatically.

The type must be a valid database name, in the form SiteContent1212, or a GUID, in the form 1234-5678-9807.

Description

Optional

System.String

Describes the new site. If no value is specified, the value is left blank.

HostHeaderWebApplication

Optional

Microsoft.SharePoint.PowerShell.SPWebApplicationPipeBind

Specifies that if the URL provided is a host header, the HostHeaderWebApplication parameter must be the name, URL, GUID, or SPWebApplication object for the Web application in which this site collection is created. If no value is specified, the value is left blank.

The type must be a valid name, in the form WebApplication-1212; a URL (for example, http://server_name); or a GUID (for example, 1234-5678-9876-0987).

Language

Optional

System.Int32

Specifies the language ID for the new site collection. If no language is specified, the site collection is created with the same language that was specified when the product was installed.

This must be a valid language identifier (LCID).

Name

Optional

System.String

Specifies the title of the new site collection. If no name is specified, the default name is applied.

OwnerEmail

Optional

System.String

Specifies the e-mail address of site owner. If no value is specified, the value is left blank.

The type must be a valid e-mail address in the form, someone@example.com.

QuotaTemplate

Optional

Microsoft.SharePoint.PowerShell.SPQuotaTemplatePipeBind

Specifies the quota template for the new site. The template must exist already. If no template is specified, no quota is applied.

SecondaryEmail

Optional

System.String

Specifies the e-mail address of the secondary site owner. If no value is specified, the value is left blank.

The type must be a valid e-mail address, in the form someone@example.com.

SecondaryOwnerAlias

Optional

System.String

Specifies the user login credentials of the secondary site owner. If no value is specified, the value is left blank.

The type must be a valid user alias, in the form Domain\username.

SiteSubscription

Optional

Microsoft.SharePoint.PowerShell.SPSiteSubscriptionPipeBind

Specifies the Site Group to get site collections.

Template

Optional

Microsoft.SharePoint.PowerShell.SPWebTemplatePipeBind

Specifies the Web template for the root Web of the new site collection. The template must be already installed. If no template is specified, no template is provisioned.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The New-SPSite cmdlet creates a new site collection by using the URL and owner specified by the Url and OwnerAlias parameters.

Input Types

Return Types

Example

------------------EXAMPLE 1-----------------------

Copy Code
New-SPSite http://sitename/sites/test -OwnerAlias "DOMAIN\JDoe" -Language 1033

This example creates an English site collection at http://sitename/sites/test that is owned by user DOMAIN\Jdoe.

------------------EXAMPLE 2-----------------------

Copy Code
$w = Get-SPWebApplication http://sitename
Copy Code
New-SPSite http://www.contoso.com -OwnerAlias "DOMAIN\jdoe" -HostHeaderWebApplication $w -Name "Contoso" -Template "STS#0"

This example creates a host header site collection. Because the template is provided, the root Web of this site collection will be created.

------------------EXAMPLE 3-----------------------

Copy Code
Get-SPWebTemplate | Where{ $_.Title -eq "Team Site" } | ForEach-Object{ New-SPSite http://sitename/sites/test -OwnerAlias DOMAIN\jdoe -Template $_ }

This example creates a site collection by using the "Team Site" Web template.

See Also

Reference

Get-SPSite
Set-SPSite
Backup-SPSite
Move-SPSite
Restore-SPSite


New-SPSiteSubscription
See Also Example
[image]

Published: May 12, 2010

Creates a new site subscription.

New-SPSiteSubscription [-AssignmentCollection <SPAssignmentCollection>]

Parameters

Parameter Required Type Description

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Detailed Description

The New-SPSiteSubscription cmdlet creates a new subscription to which the SPSites object can belong. Sites that are members of a site subscription can share settings and configuration information. A site collection can be a member of only one site subscription and, once set, cannot be changed.

Site subscriptions are not persisted in a database until used in conjunction with either an SPSite or the Site Subscription Settings Service. After a site subscription is applied to any site collection in the farm, the site subscription can be retrieved by using the Get-SPSiteSubscription cmdlet.

Input Types

Return Types

Example

------------------EXAMPLE 1-----------------------

Copy Code
New-SPSiteSubscription |%{ New-SPSite http://contoso.com/sites/admin -SiteSubscription $_ -Template "TenantAdmin#0"}
Copy Code

This example creates a new site subscription and applies it to a new Tenant Administration site collection.
------------------EXAMPLE 2-----------------------
    Copy Code
$s = New-SPSiteSubscription

    Copy Code
Get-SPSite http://sitename | Set-SPSite -SiteSubscription $s

    Copy Code
Set-SPSite http://sitename -SiteSubscription {New-SPSiteSubscription}

This example adds a new subscription to an existing site collection at http://sitename.
  See Also
Reference
Get-SPSiteSubscription
Remove-SPSiteSubscription


New-SPUser
See Also Example
[image]

Published: May 12, 2010

Adds an existing user to a SharePoint site with the designated permissions.

New-SPUser [-UserAlias] <String> -Web <SPWebPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-DisplayName <String>] [-Email <String>] [-Group <SPGroupPipeBind>] [-MobileNumber <String>] [-PermissionLevel <String[]>] [-SiteCollectionAdmin <SwitchParameter>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

UserAlias

Required

System.String

Web

Required

Microsoft.SharePoint.PowerShell.SPWebPipeBind

Specifies the URL or GUID of the Web on which to create this user.

The type must be a valid URL, in the form http://server_name, or a GUID, in the form 1234-5678-9876-0987.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

DisplayName

Optional

System.String

Specifies a string that contains the display name of the user.

The type must be a valid user name; for example, Joe.

Email

Optional

System.String

Specifies the e-mail address of the new user.

The type must be a valid e-mail address, in the form someone@example.com.

Group

Optional

Microsoft.SharePoint.PowerShell.SPGroupPipeBind

Specifies the user group to which the new user belongs.

MobileNumber

Optional

System.String

Specifies the user e-mail address of the new user.

The type must be a valid e-mail address, in the form someone@example.com.

PermissionLevel

Optional

System.String[]

Adds a user to a permission level.

The type must be a valid permission level for the Web application; for example, Full Control, Read, Contribute, or All.

SiteCollectionAdmin

Optional

System.Management.Automation.SwitchParameter

Specifies whether to add the user as an administrator to the site collection.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The New-SPUser cmdlet adds an existing user to a SharePoint Web site with the designated permissions. This user has the given permissions in all subsites that inherit permissions. The user account must already exist in the user directory.

If your environment is in Active Directory mode, the user must already exist in Active Directory Domain Services (AD DS) and only the UserAlias parameter is required; all other fields are pulled from AD DS. If only an alias is given and the farm is in Active Directory Account Create mode, the Email parameter is also required.

Input Types

Return Types

Example

------------------EXAMPLE 1----------------------

Copy Code
PS> New-SPUser - UserAlias 'Contoso\Jdoe'-displayname 'John Doe' -web http://contoso.com

This example adds a new user named John Doe to the Contoso domain.

------------------EXAMPLE 2----------------------

Copy Code
Get-SPWeb http://sitename | New-SPUser -UserAlias Contoso\Jdoe

This example adds Contoso\Jdoe to all Webs in the http://sitename site collection. Because this site collection uses inherited permissions, only the top-level Web site needs to be touched.

See Also

Reference

Get-SPUser
Set-SPUser
Move-SPUser
Remove-SPUser


New-SPWeb
See Also Example
[image]

Published: May 12, 2010

Creates a new site in an existing site collection.

New-SPWeb [-Url] <String> [-AddToQuickLaunch <SwitchParameter>] [-AddToTopNav <SwitchParameter>] [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-Description <String>] [-Language <UInt32>] [-Name <String>] [-Template <SPWebTemplatePipeBind>] [-UniquePermissions <SwitchParameter>] [-UseParentTopNav <SwitchParameter>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Url

Required

System.String

Specifies the URL where the new site is to be created. The URL must be inside an existing site collection. The URL must be a valid URL, in the form http://server_name/site1.

Language

Optional

System.UInt32

Specifies the language template identifier for the new site. If no language is specified, the site is created with the same language that was specified when the product was installed.

The type must be a valid language identifier (LCID).

Template

Optional

SPWebTemplatePipeBind

Specifies the Web template for the new site. The template must already exist. If no template is specified, no template is applied and a template can be selected later.

Name

Optional

System.String

Specifies the title of the new site. If no title is specified, the default title is applied. The default title is configured for each template.

Description

Optional

System.String

Describes the new site. If no description is specified, the entry is left blank.

AddToQuickLaunch

Optional

System.Management.Automation.SwitchParameter

Adds this site to the Quick Launch.

UniquePermissions

Optional

System.Management.Automation.SwitchParameter

Specifies that this site is to be created with unique permissions.

AddToTopNav

Optional

System.Management.Automation.SwitchParameter

Adds this site to the top-level navigation bar.

UseParentTopNav

Optional

System.Management.Automation.SwitchParameter

Specifies that the same top-level navigation bar as the parent site is to be used for this site.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The New-SPWeb cmdlet creates a new site in the existing site collection specified by the Url parameter. You can create a site with a specific default language by specifying the Language parameter. If no language is specified, the site is created with the same language that was specified when the product was installed. You can create a site from a specific template by specifying the Template parameter. If no template is specified, the site is created and the template can be provided later or by the first user to log on.

Input Types

none

Return Types

Example

------------------EXAMPLE-----------------------

Copy Code
New-SPWeb http://somesite/subweb1 -Template "STS#0"

This example creates a new subsite by using the Team Site template at the provided URL (http://somesite/subweb1). The Team Site template is a value referenced as the variable STS#0 for the Template parameter.

See Also

Reference

Get-SPWeb
Set-SPWeb
Remove-SPWeb
Import-SPWeb


New-SPWebApplication
See Also Example
[image]

Published: May 12, 2010

Creates a new Web application within the local farm.

New-SPWebApplication -ApplicationPool <String> -Name <String> [-AdditionalClaimProvider <SPClaimProviderPipeBind[]>] [-AllowAnonymousAccess <SwitchParameter>] [-ApplicationPoolAccount <SPProcessAccountPipeBind>] [-AssignmentCollection <SPAssignmentCollection>] [-AuthenticationMethod <String>] [-AuthenticationProvider <SPAuthenticationProviderPipeBind[]>] [-Confirm [<SwitchParameter>]] [-DatabaseCredentials <PSCredential>] [-DatabaseName <String>] [-DatabaseServer <String>] [-HostHeader <String>] [-Path <String>] [-Port <UInt32>] [-SecureSocketsLayer <SwitchParameter>] [-ServiceApplicationProxyGroup <SPServiceApplicationProxyGroupPipeBind>] [-SignInRedirectProvider <SPTrustedIdentityTokenIssuerPipeBind>] [-SignInRedirectURL <String>] [-Url <String>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

ApplicationPool

Required

System.String

Specifies the name of an application pool to use; for example, SharePoint - 1213. If an application pool with the name provided does not exist, the ApplicationPoolAccount parameter must be provided and a new application pool will be created. If no value is specified, the default application pool will be used.

Name

Required

System.String

Specifies the name of the new Web application.

AdditionalClaimProvider

Optional

Microsoft.SharePoint.PowerShell.SPClaimProviderPipeBind[]

Adds a specific claim provider to the defined Web application.

AllowAnonymousAccess

Optional

System.Management.Automation.SwitchParameter

Allows anonymous access to the Web application.

ApplicationPoolAccount

Optional

Microsoft.SharePoint.PowerShell.SPProcessAccountPipeBind

Specifies the user account that this application pool will run as. Use the Get-SPIisWebServicApplicationPool cmdlet to use a system account.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

AuthenticationMethod

Optional

System.String

Uses Kerberos or NTLM to specify the authentication method. If no value is specified, the default NTLM is applied.

AuthenticationProvider

Optional

Microsoft.SharePoint.PowerShell.SPAuthenticationProviderPipeBind[]

Specifies the authentication provider or providers that apply to a Web application.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

DatabaseCredentials

Optional

System.Management.Automation.PSCredential

Specifies the Windows PowerShell Credential object for the database user account.

DatabaseName

Optional

System.String

Specifies the name of the initial content database for the new Web application.

The type must be a valid database name; for example, ContentDB1. If no value is specified, a value in the format WSS_Content_<GUID> is auto-generated.

DatabaseServer

Optional

System.String

Specifies the database server name. The type must be a valid database server name, in the form SQL1; where named instances are used, the format can appear as server\server. The default SQL server instance is used if a value is not provided.

HostHeader

Optional

System.String

Specifies a valid URL assigned to the Web application that must correlate to the alternate access mapping configuration, in the form server_name.

When the HostHeader parameter is present, the value of this field is the internal URL for the Web application. The Url parameter is used to specify the public URL.If no value is specified, the value is left blank.

Path

Optional

System.String

Specifies the physical directory for the new Web application in the virtual directories folder. The type is a valid path, in the form C:\Inutepub\wwwroot\MyWebApplication. If no value is specified, the value %wwwroot%\wss\VirtualDirectories\<portnumber> is applied.

Port

Optional

System.UInt32

Specifies the port on which this Web application can be accessed. This can be any valid port number. If no port is specified, a nonconflicting port number is automatically generated.

Important:

If you specify a port number that has already been assigned, IIS does not start the new site until you change either the port number of the new site or the port number of the old site.

SecureSocketsLayer

Optional

System.Management.Automation.SwitchParameter

Enables Secure Sockets Layer (SSL) encryption for this Web application. If you choose to use SSL, you must add the certificate on each server by using the IIS administration tools. Until this is done, the Web application will be inaccessible from this IIS Web site.

ServiceApplicationProxyGroup

Optional

Microsoft.SharePoint.PowerShell.SPServiceApplicationProxyGroupPipeBind

Specifies a custom service application proxy group for the Web application to use. The Web application will use the proxies in this proxy group to connect to service applications. If this parameter is not specified, the default proxy group for the farm is used.

SignInRedirectProvider

Optional

Microsoft.SharePoint.PowerShell.SPTrustedIdentityTokenIssuerPipeBind

Sets the sign-in redirect URL to point to the URL that is defined in the specified authentication provider.

SignInRedirectURL

Optional

System.String

Specifies the sign-in redirect URL for the Web application.

Url

Optional

System.String

Specifies the load-balanced URL for the Web application.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

Creates a new Web application specified by the Name parameter. The user specified by the DatabaseCredentials parameter must be a member of the dbcreator fixed server role on the database server.

Input Types

Return Types

Example

------------------EXAMPLE-----------------------

Copy Code
New-SPWebApplication -Name "Contoso Internet Site" -Port 80 -HostHeader sharepoint.contoso.com -URL "https://www.contoso.com" -ApplicationPool "ContosoAppPool" -ApplicationPoolAccount (Get-SPManagedAccount "DOMAIN\jdoe")

This example creates a new Web application by using an internal host header of sharepoint.contoso.com and a public URL of https://www.contoso.com.

See Also

Reference

Get-SPWebApplication
Set-SPWebApplication
Get-SPWebApplication


New-SPWebApplicationExtension
See Also Example
[image]

Published: May 12, 2010

Creates a new zone instance for the Web application.

New-SPWebApplicationExtension [-Identity] <SPWebApplicationPipeBind> -Name <String> -Zone <Default | Intranet | Internet | Custom | Extranet> [-AdditionalClaimProvider <SPClaimProviderPipeBind[]>] [-AllowAnonymousAccess <SwitchParameter>] [-AssignmentCollection <SPAssignmentCollection>] [-AuthenticationMethod <String>] [-AuthenticationProvider <SPAuthenticationProviderPipeBind[]>] [-Confirm [<SwitchParameter>]] [-HostHeader <String>] [-Path <String>] [-Port <UInt32>] [-SecureSocketsLayer <SwitchParameter>] [-SignInRedirectProvider <SPTrustedIdentityTokenIssuerPipeBind>] [-SignInRedirectURL <String>] [-Url <String>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.SharePoint.PowerShell.SPWebApplicationPipeBind

Specifies the Web application to extend.

Name

Required

System.String

Specifies the name of the new IIS Web site in the Web application.

Zone

Required

System.String

Specifies one of the five zones with which the internal URL of this new extension is to be associated. This zone cannot already be in use..

The type must be any one of the following values: Default, Intranet, Internet, Extranet, or Custom

AdditionalClaimProvider

Optional

Microsoft.SharePoint.PowerShell.SPClaimProviderPipeBind[]

Adds a specific claim provider to the defined Web application.

AllowAnonymousAccess

Optional

System.Management.Automation.SwitchParameter

Allows anonymous access to the Web application zone.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

AuthenticationMethod

Optional

String

Uses Kerberos or NTLM to specify the authentication method.

AuthenticationProvider

Optional

Microsoft.SharePoint.PowerShell.SPAuthenticationProviderPipeBind[]

Specifies the authentication provider(s) that applies to a Web apllication.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

HostHeader

Optional

System.String

Specifies a valid URL assigned to the Web application by that must correlate to the alternate access mapping configuration, in the form http://server_name.

When the HostHeader parameter is present, the value of this field is the internal URL for the Web application. The Url parameter is used to specify the public URL.

Path

Optional

System.String

Specifies the physical directory for the new Web site (in the virtual directories folder). The type is a valid path, in the form C:\Inetpub\wwwroot\MyWebApplication.

Port

Optional

System.UInt32

Specifies the application port. Can be any valid port number.

If no port is specified, a nonconflicting port number is automatically generated.

Important:

If you specify a port number that is already assigned, IIS does not start the new site until you change either the port number of the new site or the port number of the old site.

SecureSocketsLayer

Optional

System.Management.Automation.SwitchParameter

Enables Secure Sockets Layer (SSL) encryption for this Web application. If you use SSL, you must add the certificate on each server by using the IIS administration tools. Until this is done, the Web application is inaccessible from this IIS Web site.

SignInRedirectProvider

Optional

Microsoft.SharePoint.PowerShell.SPTrustedIdentityTokenIssuerPipeBind

Sets the sign-in redirect URL to point to the URL that is defined in the specified authentication provider.

SignInRedirectURL

Optional

System.String

Specifies the sign-in redirect URL for the Web application.

Url

Optional

System.String

Specifies the load-balanced URL for the Web application zone.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The New-SPWebApplicationExtension cmdlet creates a new zone instance for the Web application. This is also known as extending a Web application and allows alternate permissions to be configured for the same content that is available in the existing Web application.

Input Types

Return Types

Example

------------------EXAMPLE-----------------------

Copy Code
Get-SPWebApplication http://sitename | New-SPWebApplicationExtension -Name "ExtranetSite" -SecureSocketsLayer -Zone "Extranet" -URL "https://extranet.sitename.com"

This example extends the given Web application at http://sitename to the Extranet zone for SSL use.

See Also

Reference

Get-SPWebApplication
Set-SPWebApplication


Remove-SPSite
See Also Example
[image]

Published: May 12, 2010

Completely deletes an existing site collection and all subsites.

Remove-SPSite [-Identity] <SPSitePipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-DeleteADAccounts <SwitchParameter>] [-GradualDelete <SwitchParameter>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.SharePoint.PowerShell.SPSitePipeBind

Specifies the identity of the site to delete. The identity can be either a valid URL, in the form http://server_name; a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; or an SPSite object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

DeleteADAccounts

Optional

System.Management.Automation.SwitchParameter

Forces deletion of user accounts from Active Directory Domain Services (AD DS). This applies when in AD DS account creation mode and the value of this parameter is True, AD DS accounts associated with the site collection are also deleted from AD DS.

GradualDelete

Optional

System.Management.Automation.SwitchParameter

If provided, occurs gradually to use less system load. This operation is strongly recommended for deleting very large sites.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Remove-SPSite cmdlet completely deletes an existing site collection and all subsites. This operation cannot be undone.

Input Types

Return Types

Example

------------------EXAMPLE-----------------------

Copy Code
Remove-SPSite -Identity "http://sitename" -GradualDelete -Confirm:$False

This example removes the given site collection and all included sites by using GradualDelete; confirmation has been suppressed.

See Also

Reference

Get-SPSite
Set-SPSite
New-SPSite
Backup-SPSite
Remove-SPSite
Move-SPSite
Restore-SPSite


Remove-SPSiteSubscription
See Also Example
[image]

Published: May 12, 2010

Removes data stored in a subscription settings service application for a set of site subscriptions.

Remove-SPSiteSubscription [-Identity] <SPSiteSubscriptionPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-Force <SwitchParameter>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Specifies the name of the site subscription to remove.

Specifies the site subscription settings service application that contains the service data to delete.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a subscription settings service application (for example, SubscriptionSettingsApp1); or an instance of a valid SPSubscriptionSettingsServiceApplication object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

Force

Optional

System.Management.Automation.SwitchParameter

Forces the removal of a site subscription and is the only way to stop this command from prompting for confirmation.

The type must be either of the following values:

- True

- False

The default value is False.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Remove-SPSiteSubscription cmdlet removes a site subscription along with all contained site collections and settings.

Input Types

Return Types

Example

------------------EXAMPLE-----------------------

Copy Code
Remove-SPSiteSubscription "http://contoso.com"

This example removes all data for the contoso.com site subscription (site collections, site subscription, and settings).

See Also

Reference

Get-SPSiteSubscription
New-SPSiteSubscription
Remove-SPSiteSubscription


Remove-SPSiteSubscriptionSettings
See Also Example
[image]

Published: May 12, 2010

Removes the settings service data for a specified site subscription, or finds and removes orphaned data.

Remove-SPSiteSubscriptionSettings [-Identity] <SPServiceApplicationPipeBind> -SiteSubscriptions <Guid[]> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-WhatIf [<SwitchParameter>]]
Remove-SPSiteSubscriptionSettings [-Identity] <SPServiceApplicationPipeBind> -FindAllOrphans <SwitchParameter> [-AlternativeSiteSubscriptions <Guid[]>] [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-Force <SwitchParameter>] [-WhatIf [<SwitchParameter>]]

Parameters

1

Parameter

Required

Type

Description

Identity

Required

Microsoft.SharePoint.PowerShell.SPServiceApplicationPipeBind

Specifies the site subscription settings service application that contains the service data to delete.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a subscription settings service application (for example, SubscriptionSettingsApp1); or an instance of a valid SPSubscriptionSettingsServiceApplication object.

SiteSubscriptions

Required

System.Guid[]

Specifies the site subscriptions with the settings service data to delete.

The type must be an array of valid GUIDs.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

2

Parameter

Required

Type

Description

Identity

Required

Microsoft.SharePoint.PowerShell.SPServiceApplicationPipeBind

Specifies the site subscription settings service application that contains the service data to delete.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a subscription settings service application (for example, SubscriptionSettingsApp1); or an instance of a valid SPSubscriptionSettingsServiceApplication object.

FindAllOrphans

Required

System.Management.Automation.SwitchParameter

Specifies that orphaned settings stores in the service application are deleted.

AlternativeSiteSubscriptions

Optional

System.Guid[]

Specifies the complete collection or comma-separated list of site subscriptions that should exist in the settings service application. Any data not matching the items in this list will be removed.

This parameter is important when the FindAllOrphans parameter is used. The value specified for AlternativeSiteSubscriptions parameter is stating that any site subscriptions not on the local farm will be deleted, unless an alternate list of site subscriptions is given.

The type must be an array of valid GUIDs.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

Force

Optional

System.Management.Automation.SwitchParameter

Automatically bypasses the secondary warning provided by the cmdlet prior to the operation.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

This cmdlet contains more than one parameter set. You may only use parameters from one parameter set, and you may not combine parameters from different parameter sets. For more information about how to use parameter sets, see Cmdlet Parameter Sets.

The Remove-SPSiteSubscriptionSettings cmdlet deletes site subscription stored data for the specified site subscription. If the FindAllOrphans parameter is specified, this cmdlet locates any data in the service application that does not exist in the list of local site subscriptions or the alternate list of subscriptions.

The set of site subscriptions can be specified directly, or discovered by comparing data in the service application to the set of existing site subscriptions which finds the data set that corresponds to nonexistent site subscriptions.

Important:

If this cmdlet is run on a federated service application without specifying the complete list of site subscription IDs for the AlternativeSiteSubscriptions parameter, data loss can result.

Input Types

Return Types

Errors

Error | Description

Exceptions

Exceptions | Description

Example

------------EXAMPLE 1--------------

Copy Code
Remove-SPSiteSubscriptionSettings -FindAllOrphans -Whatif

This example finds all orphans and displays them on the screen. Remove the WhatIf parameter to remove these extra settings.

------------EXAMPLE 2--------------

Copy Code
Remove-SPSubscriptionSettingsServiceApplication -FindAllOrphans -AlternativeSiteSubscriptions $SubscriptionList

Use this example if the service application is consumed by a remote farm and you want the clean orphaned site subscription settings data (an array of all site subscriptions whose data must remain in the service application is assigned to the $SubscriptionList variable.

See Also

Reference

Import-SPSiteSubscriptionSettings
Export-SPSiteSubscriptionSettings


Remove-SPUser
See Also Example
[image]

Published: May 12, 2010

Removes a user from a Web site.

Remove-SPUser [-Identity] <SPUserPipeBind> -Web <SPWebPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-Group <SPGroupPipeBind>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.SharePoint.PowerShell.SPUserPipeBind

Specifies the GUID, the user name, or SPUser object to remove.

The type must be a valid GUID of the user, in the form 1234-5678-9876-0987.

Web

Required

Microsoft.SharePoint.PowerShell.SPWebPipeBind

Specifies the name of the URL or GUID from which the user is to be removed. This parameter is needed only if the identity provided is the user name.

The type must be a valid URL, in the form http://server_name, or a GUID, in the form 1234-5678-9807.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

Group

Optional

Microsoft.SharePoint.PowerShell.SPGroupPipeBind

The user only gets removed from that group. Otherwise, the user gets removed from the site.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Remove-SPUser cmdlet specifies the identity and user group from which a user is to be removed. The Remove-SPUser cmdlet does not remove the user from Active Directory Domain Services (AD DS).

Input Types

Return Types

Example

------------------EXAMPLE 1-----------------------

Copy Code
Remove-SPUser "Contoso \jdoe" -web http://test/web1
Copy Code
Get-SPWeb "http://test/web1" | Remove-SPUser "Contoso\jdoe"

This example removes the user (Contoso\jdoe) from the Web application http://test/web1.

------------------EXAMPLE 2-----------------------

Copy Code
Get-SPSite http://contoso.com |Get-SPWeb |Remove-SPUser "Contoso\jdoe"

This syntax removes the user (Contoso\Jdoe) from every Web in a site collection located at http://contoso.com.

See Also

Reference

Get-SPUser
Set-SPUser
New-SPUser
Remove-SPUser


Remove-SPWeb
See Also Example
[image]

Published: May 12, 2010

Completely deletes the specified Web.

Remove-SPWeb [-Identity] <SPWebPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-Recycle <SwitchParameter>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.SharePoint.PowerShell.SPWebPipeBind

Specifies the identity of the Web to delete.

The type must be a valid full URL, in the form http://server_name/site_name, or an SPWeb object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Remove-SPWeb cmdlet completely deletes the Web specified by the Identity parameter.

Important:

Deleting the top level Web site of a site collection causes the entire site collection to be removed.

Input Types

Return Types

Example

------------------EXAMPLE-----------------------

Copy Code
Remove-SPWeb http://sitename/subsite

This example completely deletes a subsite.

See Also

Reference

Get-SPWeb
Set-SPWeb
Remove-SPWeb
New-SPWeb
Import-SPWeb


Remove-SPWebApplication
See Also Example
[image]

Published: May 12, 2010

Deletes the specified Web application.

Remove-SPWebApplication [-Identity] <SPWebApplicationPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-DeleteIISSite <SwitchParameter>] [-RemoveContentDatabases <SwitchParameter>] [-WhatIf [<SwitchParameter>]]
Remove-SPWebApplication [-Identity] <SPWebApplicationPipeBind> -Zone <Default | Intranet | Internet | Custom | Extranet> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-DeleteIISSite <SwitchParameter>] [-WhatIf [<SwitchParameter>]]

Parameters

1

Parameter

Required

Type

Description

Identity

Required

Microsoft.SharePoint.PowerShell.SPWebApplicationPipeBind

Specifies the URL or name of the Web application to delete.

The type must be a valid URL, in the form http://server_name, or a valid name, in the form WebApplication-1212.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

DeleteIISSite

Optional

System.Management.Automation.SwitchParameter

Deletes the associated IIS Web sites. If this parameter is not provided, the IIS site is not removed.

RemoveContentDatabases

Optional

System.Management.Automation.SwitchParameter

Permanently deletes all associated content databases. If this parameter is not provided, no content databases are removed.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

2

Parameter

Required

Type

Description

Identity

Required

Microsoft.SharePoint.PowerShell.SPWebApplicationPipeBind

Specifies the URL or name of the Web application to delete.

The type must be a valid URL, in the form http://server_name, or a valid name, in the form WebApplication-1212.

Zone

Required

System.String

Specifies one of the five zones to be removed. If this parameter is not provided, all Web application zones are removed.

The type must be any one of the following values: Default, Intranet, Internet, Extranet, or Custom.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

DeleteIISSite

Optional

System.Management.Automation.SwitchParameter

Deletes the associated IIS Web sites. If this parameter is not provided, the IIS site is not removed.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

This cmdlet contains more than one parameter set. You may only use parameters from one parameter set, and you may not combine parameters from different parameter sets. For more information about how to use parameter sets, see Cmdlet Parameter Sets.

The Remove-SPWebApplication cmdlet deletes the Web application specified by the Identity and Zone parameters. If no zone is provided, the entire Web application and all zones are removed.

Input Types

Return Types

Example

------------------EXAMPLE 1-----------------------

Copy Code
Get-SPWebApplication http://sitename | Remove-SPWebApplication -Zone "Internet" -Confirm

This example prompts and then removes the Internet zone Web application extension on the Web application at http://sitename. This command does not remove the content databases or the IIS Web site.

------------------EXAMPLE 2-----------------------

Copy Code
Remove-SPWebApplication http://sitename -Confirm -DeleteIISSite -RemoveContentDatabases

This example permanently removes the Web application, all content databases, and the IIS Web site at http://sitename

See Also

Reference

Get-SPWebApplication
Set-SPWebApplication
New-SPWebApplication


Rename-SPServer
See Also Example
[image]

Published: May 12, 2010

Renames a server that is currently connected to the farm.

Rename-SPServer [-Identity] <SPServerPipeBind> -Name <String> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.SharePoint.PowerShell.SPServerPipeBind

Specifies the original name of the server.

The type must be a URL, in the form http://server_name, or a GUID, in the form 1234-4567-987gb.

Name

Required

System.String

Specifies the new name of the server.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Rename-SPServer cmdlet changes the name of the server for internal use within SharePoint 2010 Products. The server itself must be manually renamed.

Input Types

Return Types

Example

------------------EXAMPLE------------------

Copy Code
Rename-SPServer -Identity "wfb1" -Name "WFE1"

This example changes the name of the SharePoint server wfb1 to WFE1.

See Also

Reference

Get-SPServer


Set-SPSite
See Also Example
[image]

Published: May 12, 2010

Configures the specified sites.

Set-SPSite [-Identity] <SPSitePipeBind> [-AdministrationSiteType <None | TenantAdministration>] [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-LockState <String>] [-MaxSize <Int64>] [-OwnerAlias <SPUserPipeBind>] [-QuotaTemplate <SPQuotaTemplatePipeBind>] [-SecondaryOwnerAlias <SPUserPipeBind>] [-Template <SPWebTemplatePipeBind>] [-Url <String>] [-UserAccountDirectoryPath <String>] [-WarningSize <Int64>] [-WhatIf [<SwitchParameter>]]
Set-SPSite [-Identity] <SPSitePipeBind> [-AdministrationSiteType <None | TenantAdministration>] [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-Force <SwitchParameter>] [-SiteSubscription <SPSiteSubscriptionPipeBind>] [-WhatIf [<SwitchParameter>]]

Parameters

1

Parameter

Required

Type

Description

Identity

Required

Microsoft.SharePoint.PowerShell.SPSitePipeBind

Specifies the URL or GUID of the site collection to configure, or refers to an SPSite object that contains sites to configure.

The type must be a valid URL, in the form http://server_name; a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; or an SPSite object.

AdministrationSiteType

Optional

Microsoft.SharePoint.SPAdministrationSiteType

Specifies the site type.

Valid values are None or TentantAdministration.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

LockState

Optional

System.String

Sets the lock state of this site collection. The valid lock states are

Unlock Unlocks the site collection and makes it available to users

NoAdditions Prevents users from adding new content to the site collection. Updates and deletions are still allowed

ReadOnly Prevents users from adding, updating, or deleting content.

NoAccess Prevents access to content completely. Users who attempt to access the site receive an access-denied message.

MaxSize

Optional

System.Int32

Sets the maximum storage size for the site collection in megabytes.

The integer value must be larger than the WarningSize value. You cannot use this parameter if the site collection is using a quota template.

OwnerAlias

Optional

System.String

Specifies the alias name of the site collection administrator.

The type must be a valid e-mail alias, in the form domain\username.

QuotaTemplate

Optional

Microsoft.SharePoint.PowerShell.SPQuotaTemplatePipeBind

Specifies the new quota template for this site collection.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890abcdef or a string

SecondaryOwnerAlias

Optional

System.String

Sets the alias of the secondary site collection administrator.

The type must be a valid e-mail alias, in the form domain\username.

Template

Optional

Microsoft.SharePoint.PowerShell.SPWebTemplatePipeBind

Specifies the template for this site collection.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890abcdef.

Url

Optional

System.String

Specifies the URL of the new site.

UserAccountDirectoryPath

Optional

String

Sets an organization unit to which to scope user accounts.

WarningSize

Optional

System.Int32

Sets the storage warning level for the site collection.

The integer value must be between 0 and the MaxSize value. You cannot use this parameter if the site collection is using a quota template.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

2

Parameter

Required

Type

Description

Identity

Required

Microsoft.SharePoint.PowerShell.SPSitePipeBind

Specifies the URL or GUID of the site collection to configure, or refers to an SPSite object that contains sites to configure.

The type must be a valid URL, in the form http://server_name; a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; or an SPSite object.

AdministrationSiteType

Optional

Microsoft.SharePoint.SPAdministrationSiteType

Specifies the site type.

Valid values are None or TentantAdministration.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

Force

Optional

System.Management.Automation.SwitchParameter

Suppresses confirmation messages involved in setting the site subscription. This parameter is used in conjunction with the SiteSubscription parameter.

SiteSubscription

Optional

Microsoft.SharePoint.PowerShell.SPSiteSubscriptionPipeBind

Specifies the Site Group to get site collections.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

This cmdlet contains more than one parameter set. You may only use parameters from one parameter set, and you may not combine parameters from different parameter sets. For more information about how to use parameter sets, see Cmdlet Parameter Sets.

The Set-SPSite cmdlet configures the site collection that is specified by the Identity parameter. If a parameter is not used, the value is not changed.

Note:

The QuotaTemplate parameter is mutually exclusive to the MaxSize parameter and WarningSize parameter.

Input Types

Return Types

Example

------------------EXAMPLE 1---------------------

Copy Code
Get-SPSite http://sitename/sites/teams/* | Set-SPSite -SecondaryOwner "DOMAIN\Jdoe"

This example sets the secondary owner on a set of site collections to DOMAIN\Jdoe.

------------------EXAMPLE 2---------------------

Copy Code
Set-SPSite -identity "http://sitename" -MaxSize 4000000 -WarningSize 2000000

This example configures the Quota settings for the site collection http://sitename.

See Also

Reference

Get-SPSite
New-SPSite
Restore-SPSite
Remove-SPSite
Move-SPSite
Restore-SPSite


Set-SPSiteAdministration
See Also Example
[image]

Published: May 12, 2010

Allows farm administrators to configure any site collection.

Set-SPSiteAdministration [-Identity] <SPSiteAdministrationPipeBind> [-AdministrationSiteType <None | TenantAdministration>] [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-LockState <String>] [-MaxSize <Int64>] [-OwnerAlias <SPUserPipeBind>] [-SecondaryOwnerAlias <SPUserPipeBind>] [-Template <SPWebTemplatePipeBind>] [-WarningSize <Int64>] [-WhatIf [<SwitchParameter>]]
Set-SPSiteAdministration [-Identity] <SPSiteAdministrationPipeBind> [-AdministrationSiteType <None | TenantAdministration>] [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-Force <SwitchParameter>] [-SiteSubscription <SPSiteSubscriptionPipeBind>] [-WhatIf [<SwitchParameter>]]

Parameters

1

Parameter

Required

Type

Description

Identity

Required

Microsoft.SharePoint.PowerShell.SPSiteAdministrationPipeBind

Specifies the URL (full or partial) or GUID of the site collection.

The type must be a valid URL, in the form http://server_name, or a GUID, in the form 1234-456-987fg.

AdministrationSiteType

Optional

Microsoft.SharePoint.SPAdministrationSiteType

Specifies the site type.

Valid values are None or TentantAdministration.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

LockState

Optional

System.String

Specifies the lock state for the given site collection.

The type must be any of the following values:

- Unlock: Sets the site collection to unlock.

- Content: No new content can be added. Updates and deletions are allowed.

- Readonly: Sets the site collection to read-only.

- Noaccess: Sets the site collection to unavailable to all users.

MaxSize

Optional

System.Int32

Sets the maximum storage size of the site collection.

The type must be a valid number greater than or equal to 0. .

Set to 0 for unlimited.

OwnerAlias

Optional

System.String

Sets the owner of this site collection.

The type must be a valid user alias.

SecondaryOwnerAlias

Optional

System.String

Sets the secondary owner of this site collection.

The type must be a valid user alias.

Template

Optional

Microsoft.SharePoint.PowerShell.SPWebTemplatePipeBind

Specifies the Web template for the top-level Web site of this site collection. This can only be given if the template has not already been configured.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890abcdef, or an SPWebTemplate object.

WarningSize

Optional

System.Int64

Specifies the site collection warning size limit.

The type must be a valid number greater than or equal to 0. Set to 0 for unlimited.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

2

Parameter

Required

Type

Description

Identity

Required

Microsoft.SharePoint.PowerShell.SPSiteAdministrationPipeBind

Specifies the URL (full or partial) or GUID of the site collection.

The type must be a valid URL, in the form http://server_name, or a GUID, in the form 1234-456-987fg.

AdministrationSiteType

Optional

Microsoft.SharePoint.SPAdministrationSiteType

Specifies the site type.

Valid values are None or TentantAdministration.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

Force

Optional

System.Management.Automation.SwitchParameter

Suppresses confirmation messages involved in setting the site subscription. This parameter is used in conjunction with the SiteSubscription parameter.

SiteSubscription

Optional

Microsoft.SharePoint.PowerShell.SPSiteSubscriptionPipeBind

Specifies the Site Group to get site collections.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

This cmdlet contains more than one parameter set. You may only use parameters from one parameter set, and you may not combine parameters from different parameter sets. For more information about how to use parameter sets, see Cmdlet Parameter Sets.

The Set-SPSiteAdministration cmdlet allows a farm administrator to configure particular settings on a site collection even if the farm administrator is not granted explicit permissions. Any parameter that is not provided is not changed.

Input Types

Return Types

Example

------------------EXAMPLE-----------------------

Copy Code
Set-SPSiteAdministration http://sitename -OwnerAlias "DOMAIN\NewOwner"

This example allows farm administrators to change the ownership of a site collection to which they do not have access.

See Also

Reference

Get-SPSiteAdministration
Get-SPSite


Set-SPSiteSubscriptionConfig
Example
[image]

Published: May 12, 2010

Sets the configuration properties of a site subscription.

Set-SPSiteSubscriptionConfig [-Identity] <SPSiteSubscriptionPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-FeaturePack <SPSiteSubscriptionFeaturePackPipeBind>] [-PassThru <SwitchParameter>] [-UserAccountDirectoryPath <String>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.SharePoint.PowerShell.SPSiteSubscriptionPipeBind

Specifies the site subscription configuration to update.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; an SPSite (object or URL) of a site collection that is a member of the site subscription; or an instance of a valid SiteSubscription object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

PassThru

Optional

System.Management.Automation.SwitchParameter

Specifies the output object can be passed through the pipeline.

FeatureSet

Optional

Microsoft.SharePoint.PowerShell.SPFeatureSetPipeBind

Specifies the feature set that is associated with the site subscription.

Specifies a null value to clear the current association.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; or an instance of a valid SPFeatureSetobject.

UserAccountDirectoryPath

Optional

System.String

Sets the site user account directory path to a specific organizational unit (OU) that is in the same domain as the site subscription.

The type must be a name of a distinguished OU; for example, OU=Contoso1, DC=OSGCorp,DC=local.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Set-SPSiteSubscriptionConfig cmdlet sets the configuration properties of a site subscription.

Input Types

Return Types

Example

------------EXAMPLE---------------

Copy Code
Set-SPSiteSubscription http://contoso.com -FeatureSet 12345678-90ab-cdef-1234-567890abcdef

This example sets the Feature set of the entire site subscription that contains http://contoso.com with a Feature set GUID.


Set-SPSubscriptionSettingsServiceApplication
See Also Example
[image]

Published: May 12, 2010

Sets properties of a subscription settings service application.

Set-SPSubscriptionSettingsServiceApplication [-Identity] <SPServiceApplicationPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-DatabaseCredentials <PSCredential>] [-DatabaseName <String>] [-DatabaseServer <String>] [-FailoverDatabaseServer <String>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.SharePoint.PowerShell.SPServiceApplicationPipeBind

Specifies the settings service application to update.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a subscription settings service application (for example, SubscriptionSettingsApp1); or an instance of a valid SPSubscriptionSettingsServiceApplication object.

ApplicationPool

Optional

Microsoft.SharePoint.PowerShell.SPIisWebServiceApplicationPoolPipeBind

Specifies the Internet Information Services (IIS) application pool to use for the new subscription settings application.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of an application pool (for example, AppPoolName1); or an instance of a valid IISWebServiceApplicationPool object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

DatabaseCredentials

Optional

System.Management.Automation.PSCredential

Specifies the PSCredential object that contains the user name and password to be used for database SQL Server Authentication.

The type must be a valid PSCredential object.

DatabaseName

Optional

System.String

Specifies the name of the subscription settings database.

The type must be a valid name of a SQL Server database; for example, SubscriptionSettingsAppDB1.

DatabaseServer

Optional

Microsoft.SharePoint.PowerShell.SPServerPipeBind

Specifies the name of the host SQL Server instance for the database specified in DatabaseName parameter.

The type must be a valid SQL Server instance name; for example, SQLServerHost1.

FailoverDatabaseServer

Optional

System.String

Specifies the name of the host SQL Server instance for the failover database server.

The type must be a valid SQL Server instance name; for example, SQLServerHost1.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

Use the Set-SPSubscriptionSettingsServiceApplication cmdlet to set properties on a subscription settings service application.

Input Types

Return Types

Example

---------------------EXAMPLE--------------------------

Copy Code
$applicationPool = GetServiceApplicationPool SettingsApplicationPool
Copy Code
Get-SPServiceApplication -Name SettingsServiceApp | Set-SPSubscriptionSettingsServiceApplication -ApplicationPool $applicationPool

This example changes the application pool of the subscription settings service application. This command assumes that a subscription settings service application named SettingsServiceApp exists and that an application pool named SettingsApplicationPool exists

See Also

Reference

New-SPSubscriptionSettingsServiceApplication
New-SPSubscriptionSettingsServiceApplicationProxy


Set-SPUser
See Also Example
[image]

Published: May 12, 2010

Configures properties on an existing user.

Set-SPUser [-Identity] <SPUserPipeBind> [-AddPermissionLevel <String[]>] [-AssignmentCollection <SPAssignmentCollection>] [-ClearPermissions <SwitchParameter>] [-Confirm [<SwitchParameter>]] [-DisplayName <String>] [-Email <String>] [-Group <SPGroupPipeBind>] [-IsSiteCollectionAdmin <SwitchParameter>] [-MobileNumber <String>] [-PassThru <SwitchParameter>] [-RemovePermissionLevel <String[]>] [-SyncFromAD <SwitchParameter>] [-Web <SPWebPipeBind>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.SharePoint.PowerShell.SPUserPipeBind

Specifies the GUID, login name, or SPUser object of the user to be returned.

The type must be a valid GUID of the user, in the form 1234-5678-9876-0987.

AddPermissionLevel

Optional

System.String[]

Specifies the permission level to add to the user.

The type must be any one of the following types:

-- Contribute - Can view, add, update, and delete list items and documents.

-- Design - Can view, add, update, delete, approve, and customize documents.

-- Full Control - Has full control to all documents.

-- Limited Access - Can view specific lists, document libraries, list items, folders, or documents when permissions are granted.

-- Read - Can view pages and list items and download documents.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

ClearPermissions

Optional

System.Management.Automation.SwitchParameter

Clears all given permissions from the user. If Clear and Add values are given, the permissions are first cleared, then the new permissions are given.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

DisplayName

Optional

System.String

Specifies the new display name of the user.

The type must be a valid name.

Email

Optional

System.String

Specifies the new e-mail address of the user.

Group

Optional

Microsoft.SharePoint.PowerShell.SPGroupPipeBind

Adds the user to the specified named group of the given site.

IsSiteCollectionAdmin

Optional

none

Specifies whether to set the user as a site collection administrator.

MobileNumber

Optional

System.String

Sets the new mobile number for the user.

PassThru

Optional

none

If not provided, indicates that this cmdlet has no output. If provided, this parameter indicates that the SPUser object for this user is to be returned.

RemovePermissionLevel

Optional

System.String[]

Removes the permission level from the user.

SyncFromAD

Optional

System.Management.Automation.SwitchParameter

If provided, specifies that user information will be synchronized from the user directory store.

Web

Optional

Microsoft.SharePoint.PowerShell.SPWebPipeBind

Specifies the name of the URL or GUID to be used as a scope. This parameter is not needed if the SPUser object is provided as the identity.

The type must be a valid URL, in the form http://server_name, or GUID, in the form 1234-5678-9807.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Set-SPUser cmdlet configures properties on an existing user.

Input Types

Return Types

Example

------------------EXAMPLE-----------------------

Copy Code
Set-SPUser -Identity 'Contoso\jdoe' -Web http://test -AddPermissionLevel "Contributor"

This example sets a user (Contoso\jdoe) to be a contributor on http://test.

See Also

Reference

Get-SPUser
New-SPUser
Remove-SPUser
Move-SPUser


Set-SPWebApplication
See Also Example
[image]

Published: May 12, 2010

Configures the specified Web application.

Set-SPWebApplication [-Identity] <SPWebApplicationPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-DefaultQuotaTemplate <String>] [-DefaultTimeZone <Int32>] [-Force <SwitchParameter>] [-ServiceApplicationProxyGroup <SPServiceApplicationProxyGroupPipeBind>] [-WhatIf [<SwitchParameter>]]
Set-SPWebApplication [-Identity] <SPWebApplicationPipeBind> -Zone <Default | Intranet | Internet | Custom | Extranet> [-AdditionalClaimProvider <SPClaimProviderPipeBind[]>] [-AssignmentCollection <SPAssignmentCollection>] [-AuthenticationMethod <String>] [-AuthenticationProvider <SPAuthenticationProviderPipeBind[]>] [-Confirm [<SwitchParameter>]] [-Force <SwitchParameter>] [-SignInRedirectProvider <SPTrustedIdentityTokenIssuerPipeBind>] [-SignInRedirectURL <String>] [-WhatIf [<SwitchParameter>]]
Set-SPWebApplication [-Identity] <SPWebApplicationPipeBind> -SMTPServer <String> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-Force <SwitchParameter>] [-OutgoingEmailAddress <String>] [-ReplyToEmailAddress <String>] [-WhatIf [<SwitchParameter>]]

Parameters

1

Parameter

Required

Type

Description

Identity

Required

Microsoft.SharePoint.PowerShell.SPWebApplicationPipeBind

Specifies the name or URL of the Web application.

The type must be a valid name, in the form WebApplication-1212, or URL, in the form http://server_name/WebApplicaiton-1212.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

DefaultQuotaTemplate

Optional

System.String

Specifies the new default site quota template for this Web application.

DefaultTimeZone

Optional

System.Int32

Specifies the default time zone for new site collections in this Web application.

ServiceApplicationProxyGroup

Optional

Microsoft.SharePoint.PowerShell.SPServiceApplicationProxyGroupPipeBind

Specifies a custom service application proxy group for the Web application to use. The Web application will use the proxies in this proxy group to connect to service applications. If this parameter is not specified, the farm's default proxy group is used.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

2

Parameter

Required

Type

Description

Identity

Required

Microsoft.SharePoint.PowerShell.SPWebApplicationPipeBind

Specifies the name or URL of the Web application.

The type must be a valid name, in the form WebApplication-1212, or URL, in the form http://server_name/WebApplicaiton-1212.

Zone

Required

Microsoft.SharePoint.Administration.SPUrlZone

When configuring zone-specific settings, the zone to configure must be specified. This zone must already exist.

The type must be any one of the following values: Default, Intranet, Internet, Extranet, or Custom.

AdditionalClaimProvider

Optional

Microsoft.SharePoint.PowerShell.SPClaimProviderPipeBind[]

Adds a specific claim provider to the defined Web application.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

AuthenticationProvider

Optional

Microsoft.SharePoint.PowerShell.SPAuthenticationProviderPipeBind[]

Defines the authentication provider(s) that applies to the Web application.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

SignInRedirectProvider

Optional

Microsoft.SharePoint.PowerShell.SPTrustedIdentityTokenIssuerPipeBind

Sets the sign-in redirect URL to point to the URL that is defined in the specified authentication provider.

SignInRedirectURL

Optional

System.String

Specifies the sign-in redirect URL for the Web application.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

3

Parameter

Required

Type

Description

Identity

Required

Microsoft.SharePoint.PowerShell.SPWebApplicationPipeBind

Specifies the name or URL of the Web application.

The type must be a valid name, in the form WebApplication-1212, or URL, in the form http://server_name/WebApplicaiton-1212.

OutgoingEmailAddress

Optional

System.String

Specifies the new outgoing e-mail address for e-mail messages sent from this Web application. The type must be a valid address; for example, someone@example.com.

ReplyToEmailAddress

Optional

System.String

Configures the reply e-mail address.

The type must be a valid address; for example, someone@example.com.

SMTPServer

Required

System.String

Specifies the new outbound SMTP server that this Web application will use.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

This cmdlet contains more than one parameter set. You may only use parameters from one parameter set, and you may not combine parameters from different parameter sets. For more information about how to use parameter sets, see Cmdlet Parameter Sets.

The Set-SPWebApplication cmdlet configures the Web application specified by the Identity parameter. For any settings that are zone-specific (for the Zone parameter set), the zone to configure must be provided. The provided zone must already exist.

Input Types

Return Types

Example

------------------EXAMPLE-----------------------

Copy Code
Get-SPWebApplication http://somesite | Set-SPWebApplication -Zone "Extranet" -HostHeader "http://www.contoso.com" - AllowAnonymousAccess

This example sets the HostHeader URL for the Extranet zone of the given Web application as http://www.contoso.com and enables anonymous access.

See Also

Reference

Get-SPWebApplication
New-SPWebApplication
Remove-SPWebApplication


Set-SPWeb
See Also Example
[image]

Published: May 12, 2010

Configures the specified subsite.

Set-SPWeb [-Identity] <SPWebPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-Description <String>] [-RelativeUrl <String>] [-Template <SPWebTemplatePipeBind>] [-Theme <String>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.SharePoint.PowerShell.SPWebPipeBind

The URL of the Web or SPWeb object that represents the Web.

The type must be a valid URL, in the form http://server_name, or an SPWeb object.

Name

Optional

String

Specifies the new name of the Web.

Description

Optional

System.String

Specifies the new description of the Web.

RelativeUrl

Optional

System.String

Specifies the new relative URL for the Web. This is the URL path after the site collection URL.

Theme

Optional

System.String

Specifies the new theme to apply to the Web.

Template

Optional

Microsoft.SharePoint.PowerShell.SPWebTemplatePipeBind

Specifies the new template to apply to the Web. This cannot be done if the template is already applied.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Set-SPWeb cmdlet configures the subsite specified by the Identity parameter. Settings for any parameters that are not provided are not changed.

Input Types

Return Types

one

Example

------------------EXAMPLE-----------------------

Copy Code
Get-SPWeb http://sitename/subweb | Set-SPWeb -Title "My Site Title"

This example sets the title of an existing subsite.

See Also

Reference

Get-SPWeb
New-SPWeb
Remove-SPWeb
Export-SPWeb
Import-SPWeb


Export-SPSiteSubscriptionSettings
See Also Example
[image]

Published: May 12, 2010

Creates a backup file of site subscription data.

Export-SPSiteSubscriptionSettings [-Identity] <SPSiteSubscriptionPipeBind> -Path <String> [-AdminProperties <SwitchParameter>] [-AssignmentCollection <SPAssignmentCollection>] [-Force <SwitchParameter>]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.SharePoint.PowerShell.SPSiteSubscriptionPipeBind

Specifies the ID of the site subscription from which to back up data.

The type must be a valid URL, in the form http://server_name or a GUID in the form 1234-4567-985tg.

Path

Required

System.String

Specifies the location of the output file.

The type must be a valid path; for example, C:/backupfile.back..

AdminProperties

Optional

System.Management.Automation.SwitchParameter

Specifies that only administrator subscription properties are exported. If this parameter is not set, only non-administrator subscription properties are exported.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Force

No

System.Management.Automation.SwitchParameter

Forces the output backup file (if provided) to overwrite any existing file at the given path.

Detailed Description

The Export-SPSiteSubscriptionSettings cmdlet generates a backup file of all settings in the subscription data store for the given site subscription.

Input Types

Return Types

Example

--------------EXAMPLE-----------------

Copy Code
Get-SPSiteSubscription http://contoso.com | Backup-SPSiteSubscriptionSettings -path "c:/backups"

The example backs up the subscription settings store of http://www.contoso.com.

See Also

Reference

Import-SPSiteSubscriptionSettings
Remove-SPSiteSubscriptionSettings


Import-SPSiteSubscriptionSettings
See Also Example
[image]

Published: May 12, 2010

Restores a backup of subscription site settings to the given subscription identifier.

Import-SPSiteSubscriptionSettings [-Identity] <SPSiteSubscriptionPipeBind> -Path <String> [-AdminProperties <SwitchParameter>] [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-Force <SwitchParameter>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.SharePoint.PowerShell.SPSiteSubscriptionPipeBind

Specifies the ID of the subscription to restore .

The type must be a valid URL, in the form http://server_name, or a GUID, in the form 1234-4567-985tg.

Path

Required

System.String

Specifies the location of the input file.

The type must be a valid path, in the form C:\filename.bak.

AdminProperties

Optional

System.Management.Automation.SwitchParameter

Specifies that only administrator subscription properties are imported. If this parameter is not set, only non-administrator subscription properties are imported.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

Force

No

System.Management.Automation.SwitchParameter

If a setting key already exists, determines whether the value must be overwritten with the value in the backup file.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Import-SPSiteSubscriptionSettings cmdlet restores a backup of subscription site settings to the given subscription identifier when the Identity parameter is used. To overwrite existing settings, use the Force parameter.

Input Types

Return Types

Example

--------------EXAMPLE-----------------

Copy Code
Get-SPSiteSubscription http://contoso.com | Import-SPSiteSubscriptionSettings -path "c:/backups/contoso_settings_file.bak" -force

This example restores the subscription settings store of contoso.com.

See Also

Reference

Export-SPSiteSubscriptionSettings
Remove-SPSiteSubscriptionSettings


Get-SPDeletedSite
See Also Example
[image]

Published: June 28, 2011

Gets a list of deleted site collections.

Get-SPDeletedSite [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-ContentDatabase <SPContentDatabasePipeBind>] [-DateTimeFrom <String>] [-DateTimeTo <String>] [-Limit <String>] [-SiteSubscription <SPSiteSubscriptionPipeBind>] [-WebApplication <SPWebApplicationPipeBind>] [-WhatIf [<SwitchParameter>]]
Get-SPDeletedSite [-Identity] <SPDeletedSitePipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-ContentDatabase <SPContentDatabasePipeBind>] [-DateTimeFrom <String>] [-DateTimeTo <String>] [-Limit <String>] [-SiteSubscription <SPSiteSubscriptionPipeBind>] [-WebApplication <SPWebApplicationPipeBind>] [-WhatIf [<SwitchParameter>]]

Parameters

1

Parameter

Required

Type

Description

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

ContentDatabase

Optional

Microsoft.SharePoint.PowerShell.SPContentDatabasePipeBind

Specifies the GUID of the content database from which to list site collections.

The type must be a valid database name in the form SPContentDB01 or a valid GUID, for example, 12345678-90ab-cdef-1234-567890bcdefgh.

DateTimeFrom

Optional

System.String

The type must be a valid DateTime format that is culture-specific to the administrative language, such as 2/16/2007 12:15:12 for English-US.

DateTimeTo

Optional

System.String

The type must be a valid DateTime format that is culture-specific to the administrative language, such as 2/16/2007 12:15:12 for English-US.

Limit

Optional

System.String

Limits the maximum number of site collections to return. The default value is 1000.

The type must be a valid non-negative number. Specify ALL to return all site collections for the given scope.

SiteSubscription

Optional

Microsoft.SharePoint.PowerShell.SPSiteSubscriptionPipeBind

Specifies the site subscription from which to get site collections.

The type must be a valid URL in the form http://server_name or a valid GUID, for example, 12345678-90ab-cdef-1234-567890bcdefgh.

WebApplication

Optional

Microsoft.SharePoint.PowerShell.SPWebApplicationPipeBind

Specifies the URL, GUID, or name of the Web application from which to list sites.

The type must be a valid URL in the form http://server_name; a valid GUID, for example, 12345678-90ab-cdef-1234-567890bcdefgh; or the Web application name, for example, WebApplication1212.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

2

Parameter

Required

Type

Description

Identity

Required

Microsoft.SharePoint.PowerShell.SPDeletedSitePipeBind

Specifies the URL or GUID of the site collection to get.

The identity can be either a valid server-relative URL in the form /sites/site_name or a valid GUID, for example, 12345678-90ab-cdef-1234-567890bcdefgh.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

ContentDatabase

Optional

Microsoft.SharePoint.PowerShell.SPContentDatabasePipeBind

Specifies the GUID of the content database from which to list site collections.

The type must be a valid database name in the form SPContentDB01 or a valid GUID, for example, 12345678-90ab-cdef-1234-567890bcdefgh.

DateTimeFrom

Optional

System.String

The type must be a valid DateTime format that is culture-specific to the administrative language, such as 2/16/2007 12:15:12 for English-US.

DateTimeTo

Optional

System.String

The type must be a valid DateTime format that is culture-specific to the administrative language, such as 2/16/2007 12:15:12 for English-US.

Limit

Optional

System.String

Limits the maximum number of site collections to return. The default value is 1000.

The type must be a valid non-negative number. Specify ALL to return all site collections for the given scope.

SiteSubscription

Optional

Microsoft.SharePoint.PowerShell.SPSiteSubscriptionPipeBind

Specifies the site subscription from which to get site collections.

The type must be a valid URL in the form http://server_name or a valid GUID, for example, 12345678-90ab-cdef-1234-567890bcdefgh.

WebApplication

Optional

Microsoft.SharePoint.PowerShell.SPWebApplicationPipeBind

Specifies the URL, GUID, or name of the Web application from which to list sites.

The type must be a valid URL in the form http://server_name; a valid GUID, for example, 12345678-90ab-cdef-1234-567890bcdefgh; or the Web application name, for example, WebApplication1212.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

This cmdlet contains more than one parameter set. You may only use parameters from one parameter set, and you may not combine parameters from different parameter sets. For more information about how to use parameter sets, see Cmdlet Parameter Sets.

This cmdlet was introduced in Microsoft SharePoint Server 2010 with Service Pack 1 (SP1) and Microsoft SharePoint Foundation 2010 with Service Pack 1 (SP1).

Use the Get-SPDeletedSite cmdlet to display a list of deleted site collections by using the Identity parameter. If no parameter is specified, then all deleted site collections in the farm are displayed.

Unlike the Get-SPSite cmdlet that uses the host name and scheme for the Identity parameter (that is, http://server_name), the value of the identity parameter for all SPDeletedSite cmdlets use a server-relative URL. Typically, the forward slash character (/) begins the relative URL and also denotes the root site.

For additional information about a server-relative URL or understanding general concepts about absolute and relative URLs, see Server-relative URL Property or Understanding Absolute and Relative URL Addresses.

Input Types

Return Types

Example

------------------EXAMPLE 1---------------------

Copy Code
Get-SPDeletedSite -Identity 610857cb-8414-4a89-8bf3-ad3628f6c86c

This example gets a specific deleted site collection by using a site ID.

------------------EXAMPLE 2---------------------

Copy Code
Get-SPDeletedSite "/"

This example gets a deleted site collection from the root site.

------------------EXAMPLE 3---------------------

Copy Code
Get-SPDeletedSite '/Site/cat*'

This example matches a deleted site collection that contains any combination with the string "cat". The asterisk (*) wildcard character requests a match for multiple characters.

See Also

Reference

Remove-SPDeletedSite
Restore-SPDeletedSite


Remove-SPDeletedSite
See Also Example
[image]

Published: June 28, 2011

Removes a deleted site collection.

Remove-SPDeletedSite [-Identity] <SPDeletedSitePipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-ContentDatabase <SPContentDatabasePipeBind>] [-WebApplication <SPWebApplicationPipeBind>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.SharePoint.PowerShell.SPDeletedSitePipeBind

Specifies the identity of the deleted site collection to permanently delete. The identity can be either a valid server-relative URL in the form /sites/site_name; a valid GUID in the form 12345678-90ab-cdef-1234-567890bcdefgh; or an SPDeletedSite object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

ContentDatabase

Optional

Microsoft.SharePoint.PowerShell.SPContentDatabasePipeBind

Specifies the GUID of the content database from which to list site collections.

The type must be a valid database name in the form SPContentDB01 or a valid GUID, for example, 12345678-90ab-cdef-1234-567890bcdefgh.

WebApplication

Optional

Microsoft.SharePoint.PowerShell.SPWebApplicationPipeBind

Specifies the URL, GUID, or name of the Web application from which to list sites.

The type must be a valid URL in the form http://server_name; a valid GUID, for example, 12345678-90ab-cdef-1234-567890bcdefgh; or the Web application name, for example, WebApplication1212.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

This cmdlet was introduced in Microsoft SharePoint Server 2010 with Service Pack 1 (SP1) and Microsoft SharePoint Foundation 2010 with Service Pack 1 (SP1).

Use the Remove-SPDeletedSite cmdlet to permanently remove a deleted site collection from the farm.

Unlike the Remove-SPSite cmdlet that uses the host name and scheme for the Identity parameter (that is, http://server_name), the value of the identity parameter for all SPDeletedSite cmdlets use a server-relative URL. Typically, the forward slash character (/) begins the relative URL and also denotes the root site.

For additional information about a server-relative URL or understanding general concepts about absolute and relative URLs, see Server Relative URL Property or Understanding Absolute and Relative URL Addresses.

Input Types

Return Types

Example

------------------EXAMPLE-----------------------

Copy Code
Remove-SPDeletedSite -Identity 610857cb-8414-4a89-8bf3-ad3628f6c86c

This example permanently removes a specific deleted site collection by using a site ID.

See Also

Reference

Get-SPDeletedSite
Restore-SPDeletedSite


Restore-SPDeletedSite
See Also Example
[image]

Published: June 28, 2011

Restores a deleted site collection.

Restore-SPDeletedSite [-Identity] <SPDeletedSitePipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-ContentDatabase <SPContentDatabasePipeBind>] [-WebApplication <SPWebApplicationPipeBind>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.SharePoint.PowerShell.SPDeletedSitePipeBind

Specifies the identity of the deleted site collection to be restored. The identity can be either a valid server-relative URL in the form /sites/site_name; a valid GUID in the form 12345678-90ab-cdef-1234-567890bcdefgh; or an SPDeletedSite object

A site collection must not already exist at the URL location to perform a restore.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

ContentDatabase

Optional

Microsoft.SharePoint.PowerShell.SPContentDatabasePipeBind

Specifies the SQL Server content database where the site collection data will be stored. If no content database is specified, the content database with the greatest unused site collection capacity and whose database status is ready will be used.

WebApplication

Optional

Microsoft.SharePoint.PowerShell.SPWebApplicationPipeBind

Specifies the URL, GUID, or name of the Web application from which to list sites.

The type must be a valid URL in the form http://server_name; a valid GUID, for example, 12345678-90ab-cdef-1234-567890bcdefgh; or the Web application name, for example, WebApplication1212.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

This cmdlet was introduced in Microsoft SharePoint Server 2010 with Service Pack 1 (SP1) and Microsoft SharePoint Foundation 2010 with Service Pack 1 (SP1).

Use the Restore-SPDeletedSite cmdlet to restore a previously deleted site collection.

Unlike the Restore-SPSite cmdlet that uses the host name and scheme for the Identity parameter (that is, http://server_name), the value of the identity parameter for all SPDeletedSite cmdlets use a server-relative URL. Typically, the forward slash character (/) begins the relative URL and also denotes the root site.

For additional information about a server-relative URL or understanding general concepts about absolute and relative URLs, see Server-relative URL Property or Understanding Absolute and Relative URL Addresses.

Input Types

Return Types

Example

----------------------EXAMPLE 1----------------------

Copy Code
Restore-SPDeletedSite -Identity 610857cb-8414-4a89-8bf3-ad3628f6c86c

This example restores a specific deleted site collection by using the site ID.

See Also

Reference

Get-SPDeletedSite
Remove-SPDeletedSite


State service and session state cmdlets (SharePoint Server 2010)
See Also

These Windows PowerShell cmdlets are used to support session state and the state service.

Cmdlet name | Description
Disable-SPSessionStateService | Turns off the session state service on the farm
Dismount-SPStateServiceDatabase | Removes the association to a state service database from the farm without dropping the database in the Microsoft SQL Server database
Enable-SPSessionStateService | Creates a session state database and turns on the session state service
Get-SPSessionStateService | Returns the properties of the session state service, including time-out and database settings
Get-SPStateServiceApplication | Returns state service applications on the farm
Get-SPStateServiceApplicationProxy | Returns state service application proxies on the farm.
Get-SPStateServiceDatabase | Returns a state service database.
Initialize-SPStateServiceDatabase | Installs the state database schema into a state service database
Mount-SPStateServiceDatabase | Attaches an existing state service database to the farm
New-SPStateServiceApplication | Creates a new state service application
New-SPStateServiceApplicationProxy | Creates a proxy for a state service application
New-SPStateServiceDatabase | Creates and provisions a new state service database, and installs the state database schema into it
Remove-SPStateServiceDatabase | Removes a state service database from a state service application and drops it from the SQL Server
Resume-SPStateServiceDatabase | Resumes a paused state service database so that new rows of data are received
Set-SPSessionStateService | Updates the credentials that are used to communicate with the state service database
Set-SPStateServiceApplication | Updates the name of a state service application
Set-SPStateServiceApplicationProxy | Updates the name of a state service application proxy
Set-SPStateServiceDatabase | Updates properties of a state service database
Suspend-SPStateServiceDatabase | Pauses a state database and thus prevents new rows of data from being added to a database

See Also

Other Resources

Resource Center: Windows PowerShell for SharePoint Server 2010


Disable-SPSessionStateService
See Also Example
[image]

Published: May 12, 2010

Turns off the session state service on the farm.

Disable-SPSessionStateService [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Disable-SPSessionStateService cmdlet turns off the session state service. If your farm does not depend on session state service, we recommend that you disable it.

Note:

When session state is disabled, some Microsoft SharePoint Server 2010 services, components, and third-party components no longer function. Changing this property modifies the Web.config file on every content Web application on every server in the farm.

Input Types

Return Types

Example

--------------EXAMPLE-----------------

Copy Code
Disable-SPSessionStateService

This example turns off ASP.NET session state on the farm.

See Also

Reference

Enable-SPSessionStateService
Get-SPSessionStateService
Set-SPSessionStateService


Dismount-SPStateServiceDatabase
See Also Example
[image]

Published: May 12, 2010

Removes the association to a state service database from the farm without dropping the database in the Microsoft SQL Server database.

Dismount-SPStateServiceDatabase [-Identity] <SPStateDatabasePipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.Office.Server.Administration.SPStateDatabasePipeBind

Specifies the state service database to remove from the service application.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a state database (for example, StateSvcDB1); or an instance of a valid SPStateServiceDatabase object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Dismount-SPStateServiceDatabase cmdlet removes a state service database from a service application and deletes the associated SharePoint object. This cmdlet does not delete or alter the state service database.

Input Types

Return Types

Example

--------------EXAMPLE 1-----------------

Copy Code
Dismount-SPStateServiceDatabase -Identity 9703f7e2-9521-47c3-bd92-80e3eeba391b

This example removes the association between the SharePoint farm and the SQL Server database without dropping the SQL Server database.

--------------EXAMPLE 2-----------------

Copy Code
Get-SPStateServiceDatabase -ServiceApplication F9168C5E-CEB2-4faa-B6B
F-329BF39FA1E4 | Dismount-SPStateServiceDatabase

This example dismounts a single database because only the Identity parameter is used.

See Also

Reference

Initialize-SPStateServiceDatabase
Mount-SPStateServiceDatabase
New-SPStateServiceDatabase
Remove-SPStateServiceDatabase
Resume-SPStateServiceDatabase
Set-SPStateServiceDatabase
Suspend-SPStateServiceDatabase


Enable-SPSessionStateService
See Also Example
[image]

Published: May 12, 2010

Creates a session state database and turns on the session state service.

Enable-SPSessionStateService -DatabaseName <String> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-DatabaseCredentials <PSCredential>] [-DatabaseServer <String>] [-SessionTimeout <Nullable>] [-WhatIf [<SwitchParameter>]]
Enable-SPSessionStateService -DefaultProvision <SwitchParameter> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-SessionTimeout <Nullable>] [-WhatIf [<SwitchParameter>]]

Parameters

1

Parameter

Required

Type

Description

DatabaseName

Required

System.String

Specifies the name of the database for the session state service.

The type must be a valid name of a SQL Server database; for example, SessionStateDB1.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

DatabaseCredentials

Optional

System.Management.Automation.PSCredential

Specifies the database credentials for SQL Authentication used to access the session state service database. If this parameter is not specified, Windows authentication is used.

The type must be a valid PSCredential object.

DatabaseServer

Optional

System.String

Specifies the host SQL Server for the state service database.

The type must be a valid SQL Server host name; for example, SQLServerHost1.

SessionTimeout

Optional

System.Nullable

Specifies the time, in minutes, that a ASP .NET session state service will remain active with no user activity. The default value is 60.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

2

Parameter

Required

Type

Description

DefaultProvision

Required

System.Management.Automation.SwitchParameter

Specifies that the default provisioning settings are used. The default provisioning settings are: Windows Authentication, Auto SQL Server (configuration database), and Auto Catalog Name.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

SessionTimeout

Optional

System.Nullable

Specifies the time, in minutes, that a ASP .NET session state service will remain active with no user activity. The default value is 60.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

This cmdlet contains more than one parameter set. You may only use parameters from one parameter set, and you may not combine parameters from different parameter sets. For more information about how to use parameter sets, see Cmdlet Parameter Sets.

The Enable-SPSessionStateService cmdlet creates a session state database, installs the ASP.NET session state schema, and updates the Web.config files on the farm to turn on the session state service.

Input Types

Return Types

Example

--------------EXAMPLE 1-----------------

Copy Code
Enable-SPSessionStateService -DefaultProvision

This example enables a ASP.NET session state on a Microsoft SharePoint Server 2010 farm that uses the defaults (database hosted on the configuration database SQL Server, using Windows authentication, 60-minute session time-out).

--------------EXAMPLE 2-----------------

Copy Code
Enable-SPSessionStateService -DatabaseName "SessionStateDatabase" -DatabaseServer "localhost" -SessionTimeout 120

This example enables a ASP.NET session state on a Microsoft SharePoint Server 2010 farm that uses a custom database name, database server, session time-out of 120 minutes, and Windows credentials (due to the lack of a DatabaseCredentials parameter).

See Also

Reference

Disable-SPSessionStateService
Get-SPSessionStateService
Set-SPSessionStateService


Get-SPSessionStateService
See Also Example
[image]

Published: May 12, 2010

Returns the properties of the session state service, including time-out and database settings.

Get-SPSessionStateService [-AssignmentCollection <SPAssignmentCollection>]

Parameters

Parameter Required Type Description

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Detailed Description

The Get-SPSessionStateService cmdlet reads the properties of the session state service.

Input Types

Return Types

Example

--------------EXAMPLE-----------------

Copy Code
Get-SPSessionStateService

This example returns the current configuration of the session state service.

See Also

Reference

Disable-SPSessionStateService
Enable-SPSessionStateService
Set-SPSessionStateService


Get-SPStateServiceApplication
See Also Example
[image]

Published: May 12, 2010

Returns state service applications on the farm.

Get-SPStateServiceApplication [[-Identity] <SPStateServiceApplicationPipeBind>] [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Optional

Microsoft.Office.Server.Administration.SPStateServiceApplicationPipeBind

Specifies the state service application to get.

The type must be a valid name of a state service application (for example, StateServiceApp1) or a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Get-SPStateServiceApplication cmdlet returns a state service application on the farm. If the Identity parameter is not specified, this cmdlet returns the collection of all state service applications on the farm.

Input Types

Return Types

Example

--------------EXAMPLE 1-----------------

Copy Code
Get-SPStateServiceApplication

This example displays all state service applications in the farm.

--------------EXAMPLE 2-----------------

Copy Code
Get-SPStateServiceApplication -Identity "StateServiceApp1"

This example displays a specific state service application in the farm.

See Also

Reference

New-SPStateServiceApplication
Set-SPStateServiceApplication


Get-SPStateServiceApplicationProxy
See Also Example
[image]

Published: May 12, 2010

Returns state service application proxies on the farm.

Get-SPStateServiceApplicationProxy [[-Identity] <SPStateServiceApplicationProxyPipeBind>] [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Optional

Microsoft.Office.Server.Administration.SPStateServiceApplicationProxyPipeBind

Specifies the state service application proxy to get.

The type must be a valid name of a state service application proxy (for example, StateServiceProxy); a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Get-SPStateServiceApplicationProxy cmdlet returns a state service application proxy on the farm. If the Identity parameter is not specified, this cmdlet returns the collection of all state service application proxies on the farm.

Input Types

Return Types

Example

--------------EXAMPLE 1-----------------

Copy Code
Get-SPStateServiceApplicationProxy

This example displays all the state service application proxies on the farm.

--------------EXAMPLE 2-----------------

Copy Code
Get-SPStateServiceApplicationProxy -Identity 81dc50e0-c0f9-4d2c-8284-bb03bb1ea676

This example displays a specific state service application proxy on the farm.

See Also

Reference

New-SPStateServiceApplicationProxy
Set-SPStateServiceApplicationProxy


Get-SPStateServiceDatabase
Example
[image]

Published: May 12, 2010

Returns a state service database.

Get-SPStateServiceDatabase [[-Identity] <SPStateDatabasePipeBind>] [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-WhatIf [<SwitchParameter>]]
Get-SPStateServiceDatabase [[-ServiceApplication] <SPStateServiceApplicationPipeBind>] [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-WhatIf [<SwitchParameter>]]

Parameters

1

Parameter

Required

Type

Description

Identity

Optional

Microsoft.Office.Server.Administration.SPStateDatabasePipeBind

Specifies the state service database to get.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh or an instance of a valid SPStateServiceDatabase object (for example, StateSvcDB1).

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

2

Parameter

Required

Type

Description

ServiceApplication

Optional

Microsoft.Office.Server.Administration.SPStateServiceApplicationPipeBind

Filters to return only the state service database associated with the specified state service application.

The type must be a valid name of a state service application (for example, StateServiceApp1); a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; or an instance of a valid SPStateServiceApplication object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

This cmdlet contains more than one parameter set. You may only use parameters from one parameter set, and you may not combine parameters from different parameter sets. For more information about how to use parameter sets, see Cmdlet Parameter Sets.

The Get-SPStateServiceDatabase cmdlet returns a state service database on the farm. If the Identity parameter is not specified, this cmdlet returns the collection of all state service databases on the farm.

Input Types

Return Types

Example

--------------EXAMPLE 1----------------

Copy Code
Get-SPStateServiceDatabase

This example displays all of the state service databases on the farm.

--------------EXAMPLE 2--------------

Copy Code
Get-SPStateServiceDatabase -Identity 9703f7e2-9521-47c3-bd92-80e3eeba391b

This example displays a specific state service database in the farm.

--------------EXAMPLE 3--------------

Copy Code
Get-SPStateServiceDatabase -ServiceApplication "StateServiceApp1"

This example displays all state service databases associated with a specific service.


Initialize-SPStateServiceDatabase
See Also Example
[image]

Published: May 12, 2010

Installs the state database schema into a state service database.

Initialize-SPStateServiceDatabase [-Identity] <SPStateDatabasePipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.Office.Server.Administration.SPStateDatabasePipeBind

Specifies the state service database to initialize.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a state database (for example, StateSvcDB1); or an instance of a valid SPStateServiceDatabase object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Initialize-SPStateServiceDatabase cmdlet installs the session state database schema in an empty state service database. The current user's credentials are used to create the state database schema.

Input Types

Return Types

Example

--------------EXAMPLE 1-----------------

Copy Code
Initialize-SPStateServiceDatabase -Identity 9703f7e2-9521-47c3-bd92-80e3eeba391b

This example installs the state service database schema into the database associated with the provided identity.

See Also

Reference

Dismount-SPStateServiceDatabase
Mount-SPStateServiceDatabase
New-SPStateServiceDatabase
Remove-SPStateServiceDatabase
Resume-SPStateServiceDatabase
Set-SPStateServiceDatabase
Suspend-SPStateServiceDatabase


Mount-SPStateServiceDatabase
See Also Example
[image]

Published: May 12, 2010

Attaches an existing state service database to the farm.

Mount-SPStateServiceDatabase [-Name] <String> [-AssignmentCollection <SPAssignmentCollection>] [-DatabaseCredentials <PSCredential>] [-DatabaseServer <String>] [-ServiceApplication <SPStateServiceApplicationPipeBind>] [-Weight <Nullable>]

Parameters

Parameter Required Type Description

Name

Required

System.String

Specifies the database name that is created in the SQL Server database.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

DatabaseCredentials

Optional

System.Management.Automation.PSCredential

Specifies the database credentials for SQL Authentication used to access the state service database. If this parameter is not specified, Windows authentication is used.

The type must be a valid PSCredential object.

DatabaseServer

Optional

System.String

Specifies the name of the host server for the state service database.

The type must be a valid SQL Server host name; for example, SQLServerHost1.

ServiceApplication

Optional

Microsoft.Office.Server.Administration.SPStateServiceApplicationPipeBind

Specifies the state service application to which to add the state database.

The type must be a valid name of a state service application (for example, StateServiceApp1); a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; or an instance of a valid SPStateServiceApplication object.

Weight

Optional

System.Nullable

Specifies the weight for the state database used to load balance the allocation of new data. The default value is 1.

The type must be a valid integer in the range of 1 to 10.

Detailed Description

The Mount-SPStateServiceDatabase cmdlet attaches an existing state service database to the farm. If the session state database schema is not installed in the state service database, use the Initialize-SPStateServiceDatabase cmdlet to install the schema after the state service database has been mounted.

Input Types

Return Types

Example

--------------EXAMPLE 1-----------------

Copy Code
Mount-SPStateServiceDatabase -Name "statedata1" -DatabaseServer "localhost"

This example associates a Microsoft SharePoint Server 2010 farm with a SQL Server database.

This example is used in least privilege scenarios when an administrator cannot create databases in SQL. The database must already exist and be empty. The database cannot be used until the Initialize-SPStateServiceDatabase cmdlet is run, so errors could occur with this example.

--------------EXAMPLE 2-----------------

Copy Code
Mount-SPStateServiceDatabase -Name "statedata1" -DatabaseServer "localhost" -ServiceApplication "ServiceApp1" -Weight 10 | Initialize-SPStateServiceDatabase

This example associates a Microsoft SharePoint Server 2010 farm with a SQL Server database, at the same time that it also associates the database with a service application and gives a weight of 10. The result is immediately piped to the Initialize-SPStateServiceDatabase cmdlet so that the database can be used.

See Also

Reference

Dismount-SPStateServiceDatabase
Initialize-SPStateServiceDatabase
New-SPStateServiceDatabase
Remove-SPStateServiceDatabase
Resume-SPStateServiceDatabase
Set-SPStateServiceDatabase
Suspend-SPStateServiceDatabase


New-SPStateServiceApplication
See Also Example
[image]

Published: May 12, 2010

Creates a new state service application.

New-SPStateServiceApplication [-Name] <String> [-AssignmentCollection <SPAssignmentCollection>] [-Database <SPStateDatabasePipeBind>]

Parameters

Parameter Required Type Description

Name

Required

System.String

Specifies the name of the new service application.

The type must be a valid name of a service application; for example, StateSvcApp1.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Database

Optional

Microsoft.Office.Server.Administration.SPStateDatabasePipeBind

Specifies the state service database that is associated with the new service application.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a state database (for example, StateSvcDB1); or an instance of a valid SPStateServiceDatabase object.

Detailed Description

The New-SPStateServiceApplication cmdlet creates a new state service application on the farm. A state service application is the container for state service databases.

Input Types

Return Types

Example

--------------EXAMPLE 1-----------------

Copy Code
New-SPStateServiceApplication -Name "State Service Application 1"

This example creates a new state service application, named State Service Application 1, on the farm.

State service applications are the container for databases. State service applications must have a proxy and a database created to be usable.

--------------EXAMPLE 2-----------------

Copy Code
New-SPStateServiceDatabase -Name "State Service Database" | New-SPStateServiceApplication -Name "StateServiceApp1" | New-SPStateServiceApplicationProxy -DefaultProxyGroup

This example creates a new state service database, a new state service application associated with the database and a new state service application proxy associated with the state service application proxy.

This example configures all the objects required to have State Service operational on a farm.

See Also

Reference

Get-SPStateServiceApplication
Set-SPStateServiceApplication


New-SPStateServiceApplicationProxy
See Also Example
[image]

Published: May 12, 2010

Creates a proxy for a state service application.

New-SPStateServiceApplicationProxy [-ServiceApplication] <SPStateServiceApplicationPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-DefaultProxyGroup <SwitchParameter>] [-Name <String>]

Parameters

Parameter Required Type Description

ServiceApplication

Required

Microsoft.Office.Server.Administration.SPStateServiceApplicationPipeBind

Specifies the state service application to associate with the new proxy.

The type must be a valid name of a state service application (for example, StateServiceApp1); a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; or an instance of a valid SPStateServiceApplication object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

DefaultProxyGroup

Optional

System.Management.Automation.SwitchParameter

Specifies that the service application proxy is added to the farm's default proxy group.

Name

Optional

System.String

Specifies the display name of the new proxy.

The type must be a valid name of a SQL Server database; for example, SessionStateDB1. Service application proxy; for example, StateSvcAppProxy1.

Detailed Description

The New-SPStateServiceApplicationProxy cmdlet creates a proxy for a state service application.

Input Types

Return Types

Example

--------------EXAMPLE-------------------

Copy Code
Get-SPServiceApplication -Identity 9703f7e2-9521-47c3-bd92-80e3eeba391b | New-SPStateServiceApplicationProxy -DefaultProxyGroup

This example creates a new service application proxy, associates it with a provided service application, and adds it to the farm's default proxy group.

See Also

Reference

Get-SPStateServiceApplicationProxy
Set-SPStateServiceApplicationProxy


New-SPStateServiceDatabase
See Also Example
[image]

Published: May 12, 2010

Creates and provisions a new state service database, and installs the state database schema into it.

New-SPStateServiceDatabase [-Name] <String> [-AssignmentCollection <SPAssignmentCollection>] [-DatabaseCredentials <PSCredential>] [-DatabaseServer <String>] [-ServiceApplication <SPStateServiceApplicationPipeBind>] [-Weight <Nullable>]

Parameters

Parameter Required Type Description

Name

Required

System.String

Specifies the name for the state service database that is stored in SQL Server.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

DatabaseCredentials

Optional

System.Management.Automation.PSCredential

Specifies the database credentials for SQL Authentication used to access the state service database. If this parameter is not specified, Windows authentication is used.

The type must be a valid PSCredential object.

DatabaseServer

Optional

System.String

Specifies the name of the host server for the state service database.

The type must be a valid SQL Server host name; for example, SQLServerHost1.

ServiceApplication

Optional

Microsoft.Office.Server.Administration.SPStateServiceApplicationPipeBind

Specifies the state service application to add the state database to.

The type must be a valid name of a state service application (for example, StateServiceApp1); a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; or an instance of a valid SPStateServiceApplication object.

Weight

Optional

System.Nullable

Specifies the weight for the state database. The default value is 1.

This parameter is used when new rows of data are allocated among the collection of databases that are associated with a service application

The type must be a valid integer in the range of 1 to 10.

Detailed Description

The New-SPStateServiceDatabase cmdlet creates and a new state service database. This cmdlet installs the session state database schema in the state service database.

Input Types

Return Types

Example

--------------EXAMPLE 1-----------------

Copy Code
Get-SPStateServiceApplication -name "State Service Application 1" | New-SPStateServiceDatabase -Name "statedata1" -DatabaseServer "localhost"

This example creates a new state service database by using Windows authentication, and associates it with the provided service application.

--------------EXAMPLE 2-----------------

Copy Code
$cred = Get-Credential
Copy Code
Get-SPStateServiceApplication -name "State Service Application 1" | New-SPStateServiceDatabase -Name "statedata1" -DatabaseServer "localhost" -DatabaseCredentials $cred

This example creates a new state service database, a new state service application associated with the database and a new state service application proxy associated with the state service application proxy.

This example configures all the objects required to have State Service operational on a farm.

See Also

Reference

Dismount-SPStateServiceDatabase
Initialize-SPStateServiceDatabase
Mount-SPStateServiceDatabase
Remove-SPStateServiceDatabase
Resume-SPStateServiceDatabase
Set-SPStateServiceDatabase
Suspend-SPStateServiceDatabase


Remove-SPStateServiceDatabase
See Also Example
[image]

Published: May 12, 2010

Removes a state service database from a state service application and drops it from the SQL Server.

Remove-SPStateServiceDatabase [-Identity] <SPStateDatabasePipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.Office.Server.Administration.SPStateDatabasePipeBind

Specifies the state service database to remove.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a state database (for example, StateSvcDB1); or an instance of a valid SPStateServiceDatabase object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Remove-SPStateServiceDatabase cmdlet removes a state service database from a state service application and deletes the database. To remove a state service database and not delete the database, use the Dismount-SPStateServiceDatabase cmdlet.

Input Types

Return Types

Example

--------------EXAMPLE-----------------

Copy Code
Remove-SPStateServiceDatabase -Identity 9703f7e2-9521-47c3-bd92-80e3eeba391b

This example removes the specified database from a Microsoft SharePoint Server 2010 farm and drops the database from the SQL Server (data loss).

See Also

Reference

Dismount-SPStateServiceDatabase
Initialize-SPStateServiceDatabase
Mount-SPStateServiceDatabase
New-SPStateServiceDatabase
Resume-SPStateServiceDatabase
Set-SPStateServiceDatabase
Suspend-SPStateServiceDatabase


Resume-SPStateServiceDatabase
See Also Example
[image]

Published: May 12, 2010

Resumes a paused state service database so that new rows of data are received.

Resume-SPStateServiceDatabase [-Identity] <SPStateDatabasePipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.Office.Server.Administration.SPStateDatabasePipeBind

Specifies the state service database to resume.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a state database (for example, StateSvcDB1); or an instance of a valid SPStateServiceDatabase object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Resume-SPStateServiceDatabase cmdlet resumes a paused state service database, an operation that adds the state service database to the set of databases that can receive new data as required by Microsoft SharePoint Server 2010 applications.

Input Types

Return Types

Example

--------------EXAMPLE------------------

Copy Code
Resume-SPStateServiceDatabase -Identity 9703f7e2-9521-47c3-bd92-80e3eeba391b

This example resumes a paused state service database.

See Also

Reference

Dismount-SPStateServiceDatabase
Initialize-SPStateServiceDatabase
Mount-SPStateServiceDatabase
New-SPStateServiceDatabase
Remove-SPStateServiceDatabase
Set-SPStateServiceDatabase
Suspend-SPStateServiceDatabase


Set-SPSessionStateService
See Also Example
[image]

Published: May 12, 2010

Updates the credentials that are used to communicate with the state service database.

Set-SPSessionStateService [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-DatabaseCredentials <PSCredential>] [-SessionTimeout <Nullable>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

DatabaseCredentials

Optional

System.Management.Automation.PSCredential

Specifies the database credentials for SQL Authentication that are used to access the state service database. If this parameter is not specified, Windows authentication is used.

The type must be a valid PSCredential object.

SessionTimeout

Optional

System.Nullable

Specifies the time, in minutes that an ASP.NET session will remain active with no user activity.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Set-SPSessionStateService cmdlet updates the credentials that are used to communicate with the state service database.

Input Types

Return Types

Example

--------------EXAMPLE-----------------

Copy Code
Set-SPSessionStateService -SessionTimeout 120

This example changes the ASP.NET session state time-out to 2 hours.

See Also

Reference

Disable-SPSessionStateService
Enable-SPSessionStateService
Get-SPSessionStateService


Set-SPStateServiceApplication
See Also Example
[image]

Published: May 12, 2010

Updates the name of a state service application.

Set-SPStateServiceApplication [-Identity] <SPStateServiceApplicationPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-Name <String>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.Office.Server.Administration.SPStateServiceApplicationPipeBind

Specifies the state service application to update.

The type must be a valid name of a state service application (for example, StateServiceApp1); a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; or an instance of a valid SPStateServiceApplication object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

Name

Optional

System.String

Specifies the display name of the state service application.

The type must be a valid name of a state service application; for example, StateSvc1.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Set-SPStateServiceApplication cmdlet updates the name of a state service application.

Input Types

Return Types

Example

--------------EXAMPLE-----------------

Copy Code
Set-SPStateServiceApplication -Identity "State Service Application 1" -Name "New name for State Service Application 1"

This example changes the display name of a state service application.

See Also

Reference

Get-SPStateServiceApplication
New-SPStateServiceApplication


Set-SPStateServiceApplicationProxy
See Also Example
[image]

Published: May 12, 2010

Updates the name of a state service application proxy.

Set-SPStateServiceApplicationProxy [-Identity] <SPStateServiceApplicationProxyPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-Name <String>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.Office.Server.Administration.SPStateServiceApplicationProxyPipeBind

Specifies the state service application proxy to update.

The type must be a valid name of a state service application proxy (for example, StateServiceProxy); a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; or an instance of a valid SPStateServiceApplicationProxy object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Name

Optional

System.String

Specifies the display name of the state service application proxy.

The type must be a valid name of a state service application; for example, StateSvcProxy1.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Detailed Description

The Set-SPStateServiceApplicationProxy cmdlet updates the name of a state service application proxy.

Input Types

Return Types

Example

--------------EXAMPLE-----------------

Copy Code
Set-SPServiceApplicationProxy -Identity 9703f7e2-9521-47c3-bd92-80e3eeba391b -Name "New Service Application Proxy Name"

This example changes the display name of a state service application proxy.

See Also

Reference

Get-SPStateServiceApplicationProxy
New-SPStateServiceApplicationProxy


Set-SPStateServiceDatabase
See Also Example
[image]

Published: May 12, 2010

Updates properties of a state service database.

Set-SPStateServiceDatabase [-Identity] <SPStateDatabasePipeBind> [[-ServiceApplication] <SPStateServiceApplicationPipeBind>] [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-DatabaseCredentials <PSCredential>] [-Weight <Nullable>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.Office.Server.Administration.SPStateDatabasePipeBind

Specifies the state service database to update.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a state database (for example, StateSvcDB1); or an instance of a valid SPStateServiceDatabase object.

ServiceApplication

Optional

Microsoft.Office.Server.Administration.SPStateServiceApplicationPipeBind

Specifies the state service application to which to add the state database.

The type must be a valid name of a state service application (for example, StateServiceApp1); a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; or an instance of a valid SPStateServiceApplication object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

DatabaseCredentials

Optional

System.Management.Automation.PSCredential

Specifies the database credentials for SQL Authentication used to access the state service database. If this parameter is not specified, Windows authentication is used.

The type must be a valid PSCredential object.

Weight

Optional

System.Nullable

Specifies the weight for the state database. The default value is 1.

The type must be a valid integer in the range of 1 to 10.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Set-SPStateServiceDatabase cmdlet manages the credentials that are used to communicate with the database, sets the weight of the database, or changes the state service application with which it is associated.

Input Types

Return Types

Example

--------------EXAMPLE 1--------------

Copy Code
Set-SPStateServiceDatabase -Identity 9703f7e2-9521-47c3-bd92-80e3eeba391b -Weight 10

This example updates the database weight to the maximum (10).

--------------EXAMPLE 2--------------

Copy Code
Set-SPStateServiceDatabase -Identity 9703f7e2-9521-47c3-bd92-80e3eeba391b -ServiceApplication "StateSvcApp1"

This example updates the associated service application for a state service database.

--------------EXAMPLE 3--------------

Copy Code
$cred = Get-Credential
Copy Code
Set-SPStateServiceDatabase -Identity "StateSvcDB1" -DatabaseCredentials $cred

This example updates the SQL Authentication credentials that are used for a given database.

See Also

Reference

Dismount-SPStateServiceDatabase
Initialize-SPStateServiceDatabase
Mount-SPStateServiceDatabase
New-SPStateServiceDatabase
Remove-SPStateServiceDatabase
Resume-SPStateServiceDatabase
Suspend-SPStateServiceDatabase


Suspend-SPStateServiceDatabase
See Also Example
[image]

Published: May 12, 2010

Pauses a state database and thus prevents new rows of data from being added to a database.

Suspend-SPStateServiceDatabase [-Identity] <SPStateDatabasePipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.Office.Server.Administration.SPStateDatabasePipeBind

Specifies the state database to pause.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a state database (for example, StateSvcDB1); or an instance of a valid SPStateServiceDatabase object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Suspend-SPStateServiceDatabase cmdlet pauses a state database. This cmdlet updates the state database object that is specified in the Identity parameter.

Input Types

Return Types

Example

--------------EXAMPLE-----------------

Copy Code
Suspend-SPStateServiceDatabase -Identity 9703f7e2-9521-47c3-bd92-80e3eeba391b

This example suspends a specified state service database.

See Also

Reference

Dismount-SPStateServiceDatabase
Initialize-SPStateServiceDatabase
Mount-SPStateServiceDatabase
New-SPStateServiceDatabase
Remove-SPStateServiceDatabase
Resume-SPStateServiceDatabase
Set-SPStateServiceDatabase


Timer jobs cmdlets (SharePoint Server 2010)
See Also

You can use Windows PowerShell cmdlets to manage timer jobs in a Microsoft SharePoint Server 2010 farm.

Cmdlet name | Description
Disable-SPTimerJob | Disables a timer job.
Enable-SPTimerJob | Enables a timer job.
Get-SPTimerJob | Returns timer jobs.
Set-SPTimerJob | Sets the schedule for running a timer job.
Start-SPTimerJob | Runs a timer job once.

See Also

Other Resources

Resource Center: Windows PowerShell for SharePoint Server 2010


Disable-SPTimerJob
See Also Example
[image]

Published: May 12, 2010

Disables a timer job.

Disable-SPTimerJob [-Identity] <SPTimerJobPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.SharePoint.PowerShell.SPTimerJobPipeBind

Specifies the timer job to disable.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a timer job (for example, TimerJob1); or an instance of a valid SPTimerJob object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Disable-SPTimerJob cmdlet disables a timer job.

Input Types

Return Types

Errors

Error | Description

Exceptions

Exceptions | Description

Example

--------------------EXAMPLE-----------------------

Copy Code
Get-SPTimerJob job-ceip-datacollection | Disable-SPTimerJob

This example disables the timer job named job-ceip-datacollection.

See Also

Reference

Get-SPTimerJob
Enable-SPTimerJob
Set-SPTimerJob
Start-SPTimerJob


Enable-SPTimerJob
See Also Example
[image]

Published: May 12, 2010

Enables a timer job.

Enable-SPTimerJob [-Identity] <SPTimerJobPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.SharePoint.PowerShell.SPTimerJobPipeBind

Specifies the timer job to enable.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a timer job (for example, TimerJob1); or an instance of a valid SPTimerJob object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Enable-SPTimerJob cmdlet enables a timer job. A timer job must be enabled before it can be started.

Input Types

Return Types

Errors

Error | Description

Exceptions

Exceptions | Description

Example

-------------------EXAMPLE---------------------

Copy Code
Get-SPTimerJob job-ceip-datacollection | Enable-SPTimerJob

This example enables the timer job named job-ceip-datacollection.

See Also

Reference

Get-SPTimerJob
Set-SPTimerJob
Start-SPTimerJob
Disable-SPTimerJob


Get-SPTimerJob
See Also Example
[image]

Published: May 12, 2010

Returns timer jobs.

Get-SPTimerJob [[-Identity] <SPTimerJobPipeBind>] [-AssignmentCollection <SPAssignmentCollection>] [-Type <String>] [-WebApplication <SPWebApplicationPipeBind>]

Parameters

Parameter Required Type Description

Identity

Optional

Microsoft.SharePoint.PowerShell.SPTimerJobPipeBind

Specifies the timer job to get.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a timer job (for example, TimerJob1); or an instance of a valid SPTimerJob object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Type

Optional

System.String

Filters to return timer jobs of a specified type.

The type must be a name of a valid timer job type; for example, TimerJob1.

WebApplication

Optional

Microsoft.SharePoint.PowerShell.SPWebApplicationPipeBind

Filters to return timer jobs defined for the scope of a specified SharePoint Web application.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a SharePoint Web application (for example, MyOfficeApp1); or an instance of a valid SPWebApplication object.

Detailed Description

The Get-SPTimerJob cmdlet reads a specified timer job, timer jobs of a specified type, or timer jobs defined for a specified scope. If no parameters are specified, this cmdlet returns all timer job definitions for the farm.

Input Types

Return Types

Errors

Error | Description

Exceptions

Exceptions | Description

Example

---------------------EXAMPLE---------------------

Copy Code
Get-SPTimerJob -WebApplication "http://servername" | select Name, DisplayName

This example displays all timer jobs for a specified Web application.

See Also

Reference

Set-SPTimerJob
Start-SPTimerJob
Disable-SPTimerJob
Enable-SPTimerJob


Set-SPTimerJob
See Also Example
[image]

Published: May 12, 2010

Sets the schedule for running a timer job.

Set-SPTimerJob [-Identity] <SPTimerJobPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-Schedule <String>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.SharePoint.PowerShell.SPTimerJobPipeBind

Specifies the timer job to update.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a timer job (for example, TimerJob1); or an instance of a valid SPTimerJob object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

Schedule

Required

System.String

Specifies the schedule for running the timer job.

The type must be a valid SharePoint Timer service (SPTimer) schedule in the form of any one of the following schedules:

- Every 5 minutes between 0 and 59

- Hourly between 0 and 59

- Daily at 15:00:00

- Weekly between Fri 22:00:00 and Sun 06:00:00

- Monthly at 15 15:00:00

- Yearly at Jan 1 15:00:00

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Set-SPTimerJob cmdlet sets the schedule for running a specified timer job.

Input Types

Return Types

Errors

Error | Description

Exceptions

Exceptions | Description

Example

-------------------EXAMPLE------------------------

Copy Code
Get-SPTimerJob job-recycle-bin-cleanup | Set-SPTimerJob -Schedule "weekly at sat 5:00"

This example sets the schedule to run the job-recylce-bin-cleanup timer job to weekly at sat 5:00.

See Also

Reference

Get-SPTimerJob
Start-SPTimerJob
Disable-SPTimerJob
Enable-SPTimerJob


Start-SPTimerJob
See Also Example
[image]

Published: May 12, 2010

Runs a timer job once.

Start-SPTimerJob [-Identity] <SPTimerJobPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.SharePoint.PowerShell.SPTimerJobPipeBind

Specifies the timer job to run.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a timer job (for example, TimerJob1); or an instance of a valid SPTimerJob object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Start-SPTimerJob cmdlet runs a timer job once on each front-end Web server where the parent service is provisioned.

Input Types

Return Types

Example

-----------------EXAMPLE----------------

Copy Code
Get-SPTimerJob job-recycle-bin-cleanup | Start-SPTimerJob

This example starts the timer job named, job-recycle-bin-cleanup.

See Also

Reference

Get-SPTimerJob
Set-SPTimerJob
Disable-SPTimerJob
Enable-SPTimerJob


Upgrade and migration cmdlets (SharePoint Server 2010)
See Also

You can use Windows PowerShell cmdlets to help perform an upgrade from an earlier version of Microsoft SharePoint Server 2010.

Cmdlet name | Description
Test-SPContentDatabase | Tests a content database.
Upgrade-SPContentDatabase | Upgrades a content database.

See Also

Other Resources

Resource Center: Windows PowerShell for SharePoint Server 2010


Upgrade-SPContentDatabase
See Also Example
[image]

Published: May 12, 2010

Resumes a failed database upgrade or begins a build to build database upgrade.

Upgrade-SPContentDatabase [-Identity] <SPContentDatabasePipeBind> [[-ForceDeleteLock] <SwitchParameter>] [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-ServerInstance <SPDatabaseServiceInstancePipeBind>] [-UpdateUserExperience <SwitchParameter>] [-WhatIf [<SwitchParameter>]]
Upgrade-SPContentDatabase [[-ForceDeleteLock] <SwitchParameter>] -Name <String> -WebApplication <SPWebApplicationPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-ServerInstance <SPDatabaseServiceInstancePipeBind>] [-UpdateUserExperience <SwitchParameter>] [-WhatIf [<SwitchParameter>]]

Parameters

1

Parameter

Required

Type

Description

Identity

Required

Microsoft.SharePoint.PowerShell.SPContentDatabasePipeBind

Specifies the content database to upgrade.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh or an instance of a valid SPContentDatabase object.

ForceDeleteLock

Optional

System.Management.Automation.SwitchParameter

Forces deletion of locks on the database before the upgrade starts.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

ServerInstance

Optional

Microsoft.SharePoint.PowerShell.SPDatabaseServiceInstancePipeBind

The SQL Server instance that hosts the attached content database.

UpdateUserExperience

Optional

System.Management.Automation.SwitchParameter

Determines whether the content databases should upgrade to the latest user interface. By default, the user interface will not change during upgrade.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

2

Parameter

Required

Type

Description

ForceDeleteLock

Optional

System.Management.Automation.SwitchParameter

Forces deletion of locks on the database before the upgrade starts.

Name

Required

System.String

Specifies the name of attached content database.

WebApplication

Required

Microsoft.SharePoint.PowerShell.SPWebApplicationPipeBind

Specifies the Web application that hosts the attached content database.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

ServerInstance

Optional

Microsoft.SharePoint.PowerShell.SPDatabaseServiceInstancePipeBind

The SQL Server instance that hosts the attached content database.

UpdateUserExperience

Optional

System.Management.Automation.SwitchParameter

Determines whether the content databases should upgrade to the latest user interface. By default, the user interface will not change during upgrade.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

This cmdlet contains more than one parameter set. You may only use parameters from one parameter set, and you may not combine parameters from different parameter sets. For more information about how to use parameter sets, see Cmdlet Parameter Sets.

Use the Upgrade-SPContentDatabase cmdlet to resume a failed database upgrade or begin a build to build database upgrade against a SharePoint content database. When the Upgrade-SPContentDatabase cmdlet is run, an upgrade of an existing content database attached to the current farm is initiated. This cmdlet begins a new upgrade session, which can be used either to resume a failed version-to-version or build-to-build upgrade of a content database or to begin a build-to-build upgrade of a content database.

Input Types

Return Types

Example

--------------------------EXAMPLE------------------------------

Copy Code
$contentdb = Get-SPContentDatabase | Where-Object {$_.Name -match "SQLSERVER1\WSS_Content"}
Copy Code
Upgrade-SPContentDatabase -Identity $contentdb

This example selects a specific content database that is currently attached to the farm, and then initiates an upgrade session. This process continues until the upgrade is complete and might take some time, depending upon the amount of changes that have to be made during the upgrade.

See Also

Reference

Dismount-SPContentDatabase
Get-SPContentDatabase
Mount-SPContentDatabase
New-SPContentDatabase
Remove-SPContentDatabase
Set-SPContentDatabase
Test-SPContentDatabase


User Profile service cmdlets (SharePoint Server 2010)
See Also

In Microsoft SharePoint Server 2010, the User Profile Service is used to store and process information about users. This information is stored as a collection of user profile properties per user. The user information must be imported into the user profile store before it can be used by various personalization-related features and people search. These properties can be imported from line-of-business applications and directory services (primarily Active Directory directory service and Lightweight Directory Access Protocol (LDAP)).

In SharePoint Server 2010, the use of social tagging, expertise tagging, and profile synchronization are new features.

SharePoint Server 2010 provides an enterprise-wide repository for storing social and expertise tags and for associating those tags with a user's profile. Administrators can control who can tag items on a given site, decide which tags can be used, and delete tags prior to a specific date or based on a specific user profile ID. Tagging relies on the Managed Metadata Service and can be enabled by using either the UI or Windows PowerShell cmdlets.

Profile synchronization synchronizes data in the SharePoint profile store with profile information contained in directory services across the enterprise, such as Active Directory or LDAP. After a connection to the appropriate directory service has been set up, profile synchronization can be scheduled to run on a regular basis.

You can use User Profile Service Windows PowerShell cmdlets to create and configure the User Profile Service and profile tags, and to configure permissions and all global settings for the User Profile Service.

Cmdlet name | Description
Add-SPSiteSubscriptionProfileConfig | Adds a new site subscription to a User Profile Service application.
Get-SPProfileServiceApplicationSecurity | Returns permission and identity information.
Move-SPProfileManagedMetadataProperty | Moves multiple-string values into a term set.
New-SPProfileServiceApplication | Adds a User Profile Service application to a farm.
New-SPProfileServiceApplicationProxy | Creates a User Profile Service application proxy on the local farm.
Remove-SPSiteSubscriptionProfileConfig | Deletes a site subscription from a User Profile Service application.
Remove-SPSocialItemByDate | Deletes tags, notes, or ratings.
Set-SPProfileServiceApplication | Sets properties of a User Profile Service application.
Set-SPProfileServiceApplicationProxy | Sets properties of a proxy for a User Profile Service application.
Set-SPProfileServiceApplicationSecurity | Sets permission and identity information.
Set-SPSiteSubscriptionProfileConfig | Sets the parameters of a site subscription.
Update-SPProfilePhotoStore | Updates the profile photo store to be compatible with Microsoft SharePoint Server 2010.
Add-PluggableSecurityTrimmer | Adds a pluggable security trimmer to a User Profile service application proxy.
Get-PluggableSecurityTrimmer | Gets pluggable security trimmers that have been added to a User Profile service application proxy.
Remove-PluggableSecurityTrimmer | Removes pluggable security trimmers that have been added to a User Profile service application proxy.
Add-SPProfileLeader | Adds a company leader.
Get-SPProfileLeader | Returns the current company leaders.
Move-SPSocialComments | Moves social comments.
Remove-SPProfileLeader | Removes a company leader.

The following table shows cmdlets that are added as part of the User Profile Replication Engine, included in the SharePoint 2010 Administration Toolkit.

Cmdlet name | Description
Get-SPProfilePropertyCollection | Gets all user profile properties.
Start-SPProfileServiceFullReplication | Replicates all selected user profile properties from the source User Profile service application to the destination User Profile service application.
Start-SPProfileServiceRecoveryReplication | Recovers user profiles that failed to replicate during full profile replication.
Start-SPProfileServiceIncrementalReplication | Replicates changes for selected profile properties from the source User Profile service application to the destination User Profile service application using the Replication Engine Windows service.
Stop-SPProfileServiceIncrementalReplication | Stops incremental profile replication.

For more information, see SharePoint 2010 Administration Toolkit (SharePoint Server 2010).

See Also

Other Resources

Resource Center: Windows PowerShell for SharePoint Server 2010


Add-SPSiteSubscriptionProfileConfig
See Also Example
[image]

Published: May 12, 2010

Adds a new site subscription to a User Profile Service application.

Add-SPSiteSubscriptionProfileConfig [-Identity] <SPSiteSubscriptionPipeBind> -ProfileServiceApplicationProxy <SPServiceApplicationProxyPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-MySiteHostLocation <SPSitePipeBind>] [-SynchronizationOU <String>] [-WhatIf [<SwitchParameter>]]

Add-SPSiteSubscriptionProfileConfig [-Identity] <SPSiteSubscriptionPipeBind> -MySiteHostLocation <SPSitePipeBind> -ProfileServiceApplicationProxy <SPServiceApplicationProxyPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-MySiteHostLocation <SPSitePipeBind>] [-MySiteManagedPath <SPPrefixPipeBind>] [-SiteNamingConflictResolution <String>] [-SynchronizationOU <String>] [-WhatIf [<SwitchParameter>]]

Parameters

1

Parameter

Required

Type

Description

Identity

Required

Microsoft.SharePoint.PowerShell.SPServiceApplicationProxyPipeBind

Specifies the proxy of the User Profile Service application to add the site subscription to.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a User Profile Service application proxy (for example, UserProfileSvcProxy1); or an instance of a valid SPServiceApplicationProxy object.

MySiteHostLocation

Required

Microsoft.SharePoint.PowerShell.SPSitePipeBind

Specifies the site collection where the My Site host for the site subscription is provisioned.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; or a valid URL, in the form http://server_name; or an instance of a valid SPSite object.

ProfileServiceApplicationProxy

Required

Microsoft.SharePoint.PowerShell.SPServiceApplicationProxyPipeBind

Specifies the identifier for the User Profile Service Application proxy where the tenant is to be created.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

SynchronizationOU

Optional

System.String

Specifies the organizational unit serving the site subscription.

The type must be a valid name of an organizational unit; for example, OrgUnit1.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

2

Parameter

Required

Type

Description

Identity

Required

Microsoft.SharePoint.PowerShell.SPServiceApplicationProxyPipeBind

Specifies the proxy of the User Profile Service application to add the site subscription to.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a User Profile Service application proxy (for example, UserProfileSvcProxy1); or an instance of a valid SPServiceApplicationProxy object.

MySiteHostLocation

Required

Microsoft.SharePoint.PowerShell.SPSitePipeBind

Specifies the site collection where the My Site host for the site subscription is provisioned.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; or a valid URL, in the form http://server_name; or an instance of a valid SPSite object.

ProfileServiceApplicationProxy

Required

Microsoft.SharePoint.PowerShell.SPServiceApplicationProxyPipeBind

Specifies the identifier for the User Profile Service Application proxy where the tenant is to be created.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

MySiteManagedPath

Optional

Microsoft.SharePoint.PowerShell.SPPrefixPipeBind

Specifies the managed path where personal sites will be created.

The type must be a valid URL, in the form http://server_name.

SiteNamingConflictResolution

Optional

System.String

Specifies the format to use to name personal sites.

Use one of the following integer values:

1 Personal site collections are to be named based on user names without any conflict resolution. For example, http://portal_site/location/username/

2 Personal site collections are to be based on user names with conflict resolution by using domain names. For example, .../username/ or .../domain_username/

3 Personal site collections are to be named by using domain and user name always, to avoid any conflicts. For example, http://portal_site/location/domain_username/

The default value is 1 (do not resolve conflicts).

SynchronizationOU

Optional

System.String

Specifies the organizational unit serving the site subscription.

The type must be a valid name of an organizational unit; for example, OrgUnit1.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

This cmdlet contains more than one parameter set. You may only use parameters from one parameter set, and you may not combine parameters from different parameter sets. For more information about how to use parameter sets, see Cmdlet Parameter Sets.

The Add-SPSiteSubscriptionProfileConfig cmdlet adds a new site subscription to a User Profile Service application.

Input Types

Return Types

Example

--------------EXAMPLE------------------

Copy Code
#Get UPA Proxy
$pr = Get-SPServiceApplicationProxy | ? {$_.DisplayName.Contains(PartitionedUserProfileApplication_Proxy)}
Copy Code
#Add tenant to UPA
Add-SPSiteSubscriptionProfileConfig -Identity $sub -ProfileServiceApplicationProxy $pr -MySiteHostLocation http://contoso/my
Copy Code
#Create new site subscription
$sub = New-SPSiteSubscription

This example creates a new User Profile Service application tenant.

See Also

Reference

Remove-SPSiteSubscriptionProfileConfig
Set-SPSiteSubscriptionProfileConfig


Get-SPProfileServiceApplicationSecurity
Example
[image]

Published: May 12, 2010

Returns permission and identity information.

Get-SPProfileServiceApplicationSecurity -ProfileServiceApplicationProxy <SPServiceApplicationProxyPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-SiteSubscription <SPSiteSubscriptionPipeBind>] [-Type <String>]

Parameters

Parameter Required Type Description

ProfileServiceApplicationProxy

Required

Microsoft.SharePoint.PowerShell.SPServiceApplicationProxyPipeBind

Specifies the unique identifier for the proxy.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

SiteSubscription

Optional

Microsoft.SharePoint.PowerShell.SPSiteSubscriptionPipeBind

Specifies the account under which this service should run. This parameter is mandatory in a hosted-environment and optional in a non-hosted environment.

Type

Optional

System.String

Specifies the type of object to display.

The type is any one of the following values:

- MySiteReaderACL

- MySiteHostReaderACL

- UserACL

Detailed Description

Use the Get-SPProfileServiceApplicationSecurity cmdlet to display permission and identity information for the following User Profile objects:

- Read individual My Sites

- Use Personal Features

- Use Social Features

- Create Personal Site

Input Types

Return Types

Example

-------------------EXAMPLE--------------------

Copy Code
$UPAProxy = Get-SPServiceApplicationProxy -Identity "UPA proxy 1"
Copy Code
Get- SPProfileServiceApplicationSecurity - ProfileServiceApplicationProxy $UPAProxy -Type MySiteReaderACL

This example displays MySite information on UPA Proxy 1.


Move-SPProfileManagedMetadataProperty
Example
[image]

Published: May 12, 2010

Moves multiple-string values into a term set.

Move-SPProfileManagedMetadataProperty -Identity <String> -ProfileServiceApplicationProxy <SPServiceApplicationProxyPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-AvailableForTagging <SwitchParameter>] [-Confirm [<SwitchParameter>]] [-TermSetName <String>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

System.String

Specifies the name of the profile property that needs to be migrated to the taxonomy.

ProfileServiceApplicationProxy

Required

Microsoft.SharePoint.PowerShell.SPServiceApplicationProxyPipeBind

Specifies the name of the User Profile Service Application Proxy to use.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

AvailableForTagging

Optional

System.Management.Automation.SwitchParameter

Determines whether the terms in the resulting term set can be used for Managed Metadata tagging. If a term set has more than 30,000 terms, using it for Managed Metadata tagging may lead to performance issues on the client computer. Because a majority of the profile properties may have more than 30,000 terms, the default value is No.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

TermSetName

Optional

System.String

When specified, the term set name is created. If the TermSetName parameter is not specified, the property is mapped to the Keywords term set in Managed Metadata Service.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

Use the Move-SPProfileManagedMetadataProperty cmdlet to move multiple-string or single-string property values into a term set that you specify. If you do not specify a term set, the values are moved into the Keywords term set. Any new values you add to the property after running the cmdlet will be moved into the term set that you specified.

After a user profile application has been upgraded from Microsoft Office SharePoint Server 2007, single-string and multiple-string value properties are not available for use unless the Move-SPProfileManagedMetadataProperty cmdlet is run to map them to term sets within Managed Metadata Service.

Input Types

Return Types

Example

---------------EXAMPLE 1------------------

Copy Code
Move-SPProfileManagedMetadataProperty -Identity SPS-Interests -TermSetName Interests -AvailableForTagging -ProfileServiceApplicationProxy dbc4ccf5-b245-4e0f-8696-235402f83260

This example moves values from the SPS-Interests property into a new term set called Interests, and marks that term set as available for tagging.

---------------EXAMPLE 2------------------

Copy Code
Get-SPServiceApplicationProxy | ?{$_.DisplayName.Contains("User Profile Service")} | Move-SPProfileManagedMetadataProperty -Identity SPS-Interests -TermSetName Interests -AvailableForTagging

This example performs the same task as Example 1, but pipes the result for the ProfileServiceApplicationProxy parameter by using the Get-SPServiceApplicationProxy cmdlet.


New-SPProfileServiceApplication
See Also Example
[image]

Published: May 12, 2010

Adds a User Profile Service application to a farm.

New-SPProfileServiceApplication -ApplicationPool <SPIisWebServiceApplicationPoolPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-MySiteHostLocation <SPSitePipeBind>] [-Name <String>] [-PartitionMode <SwitchParameter>] [-ProfileDBCredentials <PSCredential>] [-ProfileDBFailoverServer <String>] [-ProfileDBName <String>] [-ProfileDBServer <String>] [-ProfileSyncDBCredentials <PSCredential>] [-ProfileSyncDBFailoverServer <String>] [-ProfileSyncDBName <String>] [-ProfileSyncDBServer <String>] [-SocialDBCredentials <PSCredential>] [-SocialDBFailoverServer <String>] [-SocialDBName <String>] [-SocialDBServer <String>] [-WhatIf [<SwitchParameter>]]
New-SPProfileServiceApplication -ApplicationPool <SPIisWebServiceApplicationPoolPipeBind> -MySiteHostLocation <SPSitePipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-MySiteHostLocation <SPSitePipeBind>] [-MySiteManagedPath <SPPrefixPipeBind>] [-Name <String>] [-PartitionMode <SwitchParameter>] [-ProfileDBCredentials <PSCredential>] [-ProfileDBFailoverServer <String>] [-ProfileDBName <String>] [-ProfileDBServer <String>] [-ProfileSyncDBCredentials <PSCredential>] [-ProfileSyncDBFailoverServer <String>] [-ProfileSyncDBName <String>] [-ProfileSyncDBServer <String>] [-SiteNamingConflictResolution <String>] [-SocialDBCredentials <PSCredential>] [-SocialDBFailoverServer <String>] [-SocialDBName <String>] [-SocialDBServer <String>] [-WhatIf [<SwitchParameter>]]

Parameters

1

Parameter

Required

Type

Description

ApplicationPool

Required

Microsoft.SharePoint.PowerShell.SPIisWebServiceApplicationPoolPipeBind

Specifies the existing IIS application pool in which to run the Web service for the service application.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of an application pool (for example, AppPoolName1); or an instance of a valid IISWebServiceApplicationPool object.

Name

Required

System.String

Specifies the display name for the new User Profile Service application. The name must be a unique name of a User Profile Service application in this farm. The name can be a maximum of 64 characters.

The type must be a valid name of a service application; for example, UserProfileSvcApp1.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

MySiteHostLocation

Optional

Microsoft.SharePoint.PowerShell.SPSitePipeBind

Specifies the site collection where the My Site will be created.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; or a valid URL, in the form http://server_name; or an instance of a valid SPSite object.

PartitionMode

Optional

System.Management.Automation.SwitchParameter

Specifies that the service application restrict data by site group. After the PartitionMode parameter is set and the service application is created, it cannot be changed.

ProfileDBCredentials

Optional

System.Management.Automation.PSCredential

Specifies the set of security credentials, such as a user name and a password, that is used to connect to the User Profile database that this cmdlet creates.

The type must be a valid PSCredential object.

ProfileDBName

Optional

System.String

Specifies the name of the database where the User Profile database is created.

ProfileDBServer

Optional

System.String

Specifies the database where the User Profile database will be created.

The type must be a valid name of a SQL Server database; for example, ProfileAppDB1.

ProfileSyncDBCredentials

Optional

System.Management.Automation.PSCredential

Specifies the set of security credentials, such as a user name and a password, that will be used to connect to the Profile Sync database that is specified in the ProfileSyncDBName parameter.

The type must be a valid PSCredential object.

ProfileDBFailoverServer

Optional

System.String

Associates a content database with a specific failover server that is used in conjunction with SQL Server database mirroring. The server name is the required value.

ProfileSyncDBName

Optional

System.String

Specifies the database where the Profile Sync database will be created.

The type must be a valid name of a SQL Server database; for example, ProfileSyncAppDB1.

ProfileSyncDBServer

Optional

System.String

Specifies the database server that will host the Profile Sync database that is specified in the ProfileSyncDBName parameter.

The type must be a valid name of a SQL Server host; for example, SQLServerProfileSyncHost1.

ProfileSyncDBFailoverServer

Optional

System.String

Associates a Profile Sync database with a specific failover server that is used in conjunction with SQL Server database mirroring. The server name is the required value.

SocialDBCredentials

Optional

System.Management.Automation.PSCredential

The set of security credentials, including a user name and a password, that is used to connect to the Social database that this cmdlet creates.

The type must be a valid PSCredential object.

SocialDBName

Optional

System.String

Specifies the database where the Social database will be created.

The type must be a valid name of a SQL Server host; for example, SQLServerSocialHost1.

SocialDBServer

Optional

System.String

Specifies the database server that will host the Social database that is specified in SocialDBName.

The type must be a valid name of a SQL Server host; for example, SQLServerSocialHost1.

SocialDBFailoverServer

Optional

System.String

Associates a Social database with a specific failover server that is used in conjunction with SQL Server database mirroring. The server name is the required value.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

2

Parameter

Required

Type

Description

ApplicationPool

Required

Microsoft.SharePoint.PowerShell.SPIisWebServiceApplicationPoolPipeBind

Specifies the existing IIS application pool in which to run the Web service for the service application.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of an application pool (for example, AppPoolName1); or an instance of a valid IISWebServiceApplicationPool object.

Name

Required

System.String

Specifies the display name for the new User Profile Service application. The name must be a unique name of a User Profile Service application in this farm. The name can be a maximum of 64 characters.

The type must be a valid name of a service application; for example, UserProfileSvcApp1.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

MySiteHostLocation

Optional

Microsoft.SharePoint.PowerShell.SPSitePipeBind

Specifies the site collection where the My Site will be created.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; or a valid URL, in the form http://server_name; or an instance of a valid SPSite object.

MySiteManagedPath

Optional

System.String

Specifies the managed path where personal sites will be created.

The type must be a valid URL, in the form http://server_name.

PartitionMode

Optional

System.Management.Automation.SwitchParameter

Specifies that the service application restrict data by site group. After the PartitionMode parameter is set and the service application is created, it cannot be changed.

ProfileDBCredentials

Optional

System.Management.Automation.PSCredential

Specifies the set of security credentials, such as a user name and a password, that is used to connect to the User Profile database that this cmdlet creates.

The type must be a valid PSCredential object.

ProfileDBName

Optional

System.String

Specifies the name of the database where the User Profile database is created.

ProfileDBServer

Optional

System.String

Specifies the database where the User Profile database will be created.

The type must be a valid name of a SQL Server database; for example, ProfileAppDB1.

ProfileSyncDBCredentials

Optional

System.Management.Automation.PSCredential

Specifies the set of security credentials, such as a user name and a password, that will be used to connect to the Profile Sync database that is specified in the ProfileSyncDBName parameter.

The type must be a valid PSCredential object.

ProfileDBFailoverServer

Optional

System.String

Associates a content database with a specific failover server that is used in conjunction with SQL Server database mirroring. The server name is the required value.

ProfileSyncDBName

Optional

System.String

Specifies the database where the Profile Sync database will be created.

The type must be a valid name of a SQL Server database; for example, ProfileSyncAppDB1.

ProfileSyncDBServer

Optional

System.String

Specifies the database server that will host the Profile Sync database that is specified in the ProfileSyncDBName parameter.

The type must be a valid name of a SQL Server host; for example, SQLServerProfileSyncHost1.

ProfileSyncDBFailoverServer

Optional

System.String

Associates a Profile Sync database with a specific failover server that is used in conjunction with SQL Server database mirroring. The server name is the required value.

SiteNamingConflictResolution

Optional

System.String

Specifies the format to use to name personal sites.

Use one of the following integer values:

1 Personal site collections are to be based on user names without any conflict resolution. For example, http://portal_site/location/username/

2 Personal site collections are to be based on user names with conflict resolution by using domain names. For example, .../username/ or .../domain_username/

3 Personal site collections are to be named by using domain and user name always, to avoid any conflicts. For example, http://portal_site/location/domain_username/

The default value is 1 (do not resolve conflicts).

SocialDBCredentials

Optional

System.Management.Automation.PSCredential

The set of security credentials, including a user name and a password, that is used to connect to the Social database that this cmdlet creates.

The type must be a valid PSCredential object.

SocialDBName

Optional

System.String

Specifies the database where the Social database will be created.

The type must be a valid name of a SQL Server host; for example, SQLServerSocialHost1.

SocialDBServer

Optional

System.String

Specifies the database server that will host the Social database that is specified in SocialDBName.

The type must be a valid name of a SQL Server host; for example, SQLServerSocialHost1.

SocialDBFailoverServer

Optional

System.String

Associates a Social database with a specific failover server that is used in conjunction with SQL Server database mirroring. The server name is the required value.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

This cmdlet contains more than one parameter set. You may only use parameters from one parameter set, and you may not combine parameters from different parameter sets. For more information about how to use parameter sets, see Cmdlet Parameter Sets.

The New-SPProfileServiceApplication cmdlet adds and creates a new profile service application, or creates an instance of a profile service.

Input Types

Return Types

Example

----------------------EXAMPLE-------------------------

Copy Code
$appPool = New-SPServiceApplicationPool -Name HostedAppPool -Account (Get-SPManagedAccount "contoso\AppPoolAccount")
New-SPProfileServiceApplication -Name PartitionedUserProfileApplication -PartitionMode -ApplicationPool $appPool

This example creates a new User Profile Service application.

See Also

Reference

Set-SPProfileServiceApplication


New-SPProfileServiceApplicationProxy
See Also Example
[image]

Published: May 12, 2010

Creates a User Profile Service application proxy on the local farm.

New-SPProfileServiceApplicationProxy -Uri <Uri> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-DefaultProxyGroup <SwitchParameter>] [-Name <String>] [-PartitionMode <SwitchParameter>] [-WhatIf [<SwitchParameter>]]
New-SPProfileServiceApplicationProxy -ServiceApplication <SPServiceApplicationPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-DefaultProxyGroup <SwitchParameter>] [-Name <String>] [-PartitionMode <SwitchParameter>] [-WhatIf [<SwitchParameter>]]

Parameters

1

Parameter

Required

Type

Description

Uri

Required

System.Uri

The URI of the remote user profile service application this proxy should communicate with. This value is required only if you plan to connect a User Profile Service application from a remote farm.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

DefaultProxyGroup

Optional

System.Management.Automation.SwitchParameter

Specifies that the User Profile Service application proxy be added to the default proxy group for the local farm.

Name

Optional

System.String

Specifies the display name for the new User Profile Service application. The name that you use must be a unique name of a User Profile Service application in this farm. The name can be a maximum of 128 characters.

The type must be a name of a valid User Profile Service application proxy; for example, UserProfileSvcProxy1.

PartitionMode

Optional

System.Management.Automation.SwitchParameter

Specifies that the service application restrict data by site group. After the PartitionMode parameter is set and the service application is created, it cannot be changed.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

2

Parameter

Required

Type

Description

ServiceApplication

Required

Microsoft.SharePoint.PowerShell.SPServiceApplicationPipeBind

Specifies the local User Profile Service application that is associated with the new proxy.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a subscription User Profile Service application (for example, ProfileSvcApp1); or an instance of a valid SPServiceApplication object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

DefaultProxyGroup

Optional

System.Management.Automation.SwitchParameter

Specifies that the User Profile Service application proxy be added to the default proxy group for the local farm.

Name

Optional

System.String

Specifies the display name for the new User Profile Service application. The name that you use must be a unique name of a User Profile Service application in this farm. The name can be a maximum of 128 characters.

The type must be a name of a valid User Profile Service application proxy; for example, UserProfileSvcProxy1.

PartitionMode

Optional

System.Management.Automation.SwitchParameter

Specifies that the service application restrict data by site group. After the PartitionMode parameter is set and the service application is created, it cannot be changed.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

This cmdlet contains more than one parameter set. You may only use parameters from one parameter set, and you may not combine parameters from different parameter sets. For more information about how to use parameter sets, see Cmdlet Parameter Sets.

The New-SPProfileServiceApplicationProxy creates a User Profile Service application proxy on the local farm. The proxy is added to the default proxy group for the local farm.

Input Types

Return Types

Example

--------------------EXAMPLE---------------------

Copy Code
$app = Get-SPServiceApplication -Name PartitionedUserProfileApplication. New-SPProfileServiceApplicationProxy -Name PartitionedUserProfileApplication_Proxy -ServiceApplication $app -PartitionMode

This example creates a new User Profile Service application proxy.

See Also

Reference

Set-SPProfileServiceApplicationProxy


Remove-SPSiteSubscriptionProfileConfig
See Also Example
[image]

Published: May 12, 2010

Deletes a site subscription from a User Profile Service application.

Remove-SPSiteSubscriptionProfileConfig [-Identity] <SPSiteSubscriptionPipeBind> -ProfileServiceApplicationProxy <SPServiceApplicationProxyPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.SharePoint.PowerShell.SPServiceApplicationProxyPipeBind

Specifies the proxy of the User Profile Service application that contains the site subscription to delete.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a service application proxy (for example, UserProfileSvcProxy1); or an instance of a valid SPServiceApplicationProxy object.

ProfileServiceApplicationProxy

Required

Microsoft.SharePoint.PowerShell.SPServiceApplicationProxyPipeBind

Name of the proxy of the User Profile Service application.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Remove-SPSiteSubscriptionProfileConfig cmdlet deletes a site subscription from a User Profile Service application.

Input Types

Return Types

Example

----------------EXAMPLE-----------------

Copy Code
$sub = Get-SPSiteSubscription http://contoso/my
Copy Code
$pr = Get-SPServiceApplicationProxy | ? {$_.DisplayName.Contains(PartitionedUserProfileApplication_Proxy)}Remove-SPSiteSubscriptionProfileConfig -Identity $sub -ProfileServiceApplicationProxy $pr

This example removes tenant data.

See Also

Reference

Add-SPSiteSubscriptionProfileConfig
Set-SPSiteSubscriptionProfileConfig


Remove-SPSocialItemByDate
Example
[image]

Published: May 12, 2010

Deletes tags, notes, or ratings.

Remove-SPSocialItemByDate -EndDate <DateTime> -ProfileServiceApplicationProxy <SPServiceApplicationProxyPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-RemoveComments <$true | $false>] [-RemoveRatings <$true | $false>] [-RemoveTags <$true | $false>] [-SiteSubscription <SPSiteSubscriptionPipeBind>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

EndDate

Required

System.DateTime

Specifies the date before which data is to be deleted.

ProfileServiceApplicationProxy

Required

Microsoft.SharePoint.PowerShell.SPServiceApplicationProxyPipeBind

Specifies the unique identifier for the proxy.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

RemoveComments

Optional

System.Boolean

When this parameter is specified, comments will be removed.

Valid values for this parameter are:

-- $True

-- $False

RemoveRatings

Optional

System.Boolean

When this parameter is specified, ratings will be removed.

Valid values for this parameter are:

--$True

--$False

RemoveTags

Optional

System.Boolean

When this parameter is specified, tags will be removed.

Valid values for this parameter are:

--$True

--$False

SiteSubscription

Optional

Microsoft.SharePoint.PowerShell.SPSiteSubscriptionPipeBind

Specifies the account under which this service should run. This parameter is mandatory in a hosted-environment and optional in a non-hosted environment.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

Use the Remove-SPSocialItemByDate cmdlet to delete, tags, notes, ratings created before a particular date.

Input Types

Return Types

Example

--------------EXAMPLE------------

Copy Code
Remove-SPSocialItemByDate -RemoveTags 1 -ProfileServiceApplicationProxy c6681d53-e6c4-432f-9f31-22d3de81b00c -EndDate 9/15/2009

This example removes tags before 9/15/09 from the specified User Profile Service Application Proxy.


Set-SPProfileServiceApplication
See Also Example
[image]

Published: May 12, 2010

Sets properties of a User Profile Service application.

Set-SPProfileServiceApplication [-Identity] <SPServiceApplicationPipeBind> [-ApplicationPool <SPIisWebServiceApplicationPoolPipeBind>] [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-GetNonImportedObjects <$true | $false>] [-MySiteHostLocation <SPSitePipeBind>] [-Name <String>] [-ProfileDBCredentials <PSCredential>] [-ProfileDBFailoverServer <String>] [-ProfileSyncDBCredentials <PSCredential>] [-ProfileSyncDBFailoverServer <String>] [-PurgeNonImportedObjects <$true | $false>] [-SocialDBCredentials <PSCredential>] [-SocialDBFailoverServer <String>] [-UseOnlyPreferredDomainControllers <$true | $false>] [-WhatIf [<SwitchParameter>]]
Set-SPProfileServiceApplication [-Identity] <SPServiceApplicationPipeBind> -MySiteHostLocation <SPSitePipeBind> [-ApplicationPool <SPIisWebServiceApplicationPoolPipeBind>] [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-GetNonImportedObjects <$true | $false>] [-MySiteHostLocation <SPSitePipeBind>] [-MySiteManagedPath <SPPrefixPipeBind>] [-Name <String>] [-ProfileDBCredentials <PSCredential>] [-ProfileDBFailoverServer <String>] [-ProfileSyncDBCredentials <PSCredential>] [-ProfileSyncDBFailoverServer <String>] [-PurgeNonImportedObjects <$true | $false>] [-SiteNamingConflictResolution <String>] [-SocialDBCredentials <PSCredential>] [-SocialDBFailoverServer <String>] [-UseOnlyPreferredDomainControllers <$true | $false>] [-WhatIf [<SwitchParameter>]]

Parameters

1

Parameter

Required

Type

Description

Identity

Required

Microsoft.SharePoint.PowerShell.SPServiceApplicationPipeBind

Specifies the User Profile Service application to update.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a subscription settings service application (for example, SubscriptionSettingsApp1); or an instance of a valid SPServiceApplication object.

ApplicationPool

Optional

Microsoft.SharePoint.PowerShell.SPIisWebServiceApplicationPoolPipeBind

Specifies the existing IIS application pool in which to run the Web service for the service application.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of an application pool (for example, AppPoolName1); or an instance of a valid IISWebServiceApplicationPool object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

MySiteHostLocation

Required

Microsoft.SharePoint.PowerShell.SPSitePipeBind

Specifies the site collection where the My Site will be provisioned.

The type must be a valid URL, in the form http://server_name; a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a site subscription (for example, SiteSubscription1); or an instance of a valid SiteSubscription object.

ProfileDBCredentials

Optional

System.Management.Automation.PSCredential

Specifies the set of security credentials, such as a user name and a password, that is used to connect to the User Profile database that this cmdlet creates.

The type must be a valid PSCredential object.

ProfileSyncDBCredentials

Optional

System.Management.Automation.PSCredential

Specifies the set of security credentials, such as a user name and a password, that will be used to connect to the Profile Sync database that is specified in the ProfileSyncDBName parameter.

The type must be a valid PSCredential object.

SocialDBCredentials

Optional

System.Management.Automation.PSCredential

The set of security credentials, including a user name and a password, that is used to connect to the Social database that this cmdlet creates.

The type must be a valid PSCredential object.

Name

Optional

System.String

Specifies the display name for the new User Profile Service application. The name that you use must be a unique name of a User Profile Service application in this farm. The name can be a maximum of 128 characters.

The type must be a valid name of a User Profile Service application; for example, UserProfileSvcApp1.

UseOnlyPreferredDomainControllers

Optional

System.Boolean

Restricts profile synchronization communication to a specific domain controller.

The valid values are $true or $false.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

2

Parameter

Required

Type

Description

Identity

Required

Microsoft.SharePoint.PowerShell.SPServiceApplicationPipeBind

Specifies the User Profile Service application to update.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a subscription settings service application (for example, SubscriptionSettingsApp1); or an instance of a valid SPServiceApplication object.

ApplicationPool

Optional

Microsoft.SharePoint.PowerShell.SPIisWebServiceApplicationPoolPipeBind

Specifies the existing IIS application pool in which to run the Web service for the service application.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of an application pool (for example, AppPoolName1); or an instance of a valid IISWebServiceApplicationPool object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

MySiteHostLocation

Required

Microsoft.SharePoint.PowerShell.SPSitePipeBind

Specifies the site collection where the My Site will be provisioned.

The type must be a valid URL, in the form http://server_name; a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a site subscription (for example, SiteSubscription1); or an instance of a valid SiteSubscription object.

MySiteManagedPath

Optional

Microsoft.SharePoint.PowerShell.SPPrefixPipeBind

Specifies the managed path location of personal sites.

The type must be a valid URL, in the form http://server_name.

ProfileDBCredentials

Optional

System.Management.Automation.PSCredential

Specifies the set of security credentials, such as a user name and a password, that is used to connect to the User Profile database that this cmdlet creates.

The type must be a valid PSCredential object.

ProfileSyncDBCredentials

Optional

System.Management.Automation.PSCredential

Specifies the set of security credentials, such as a user name and a password, that will be used to connect to the Profile Sync database that is specified in the ProfileSyncDBName parameter.

The type must be a valid PSCredential object.

SiteNamingConflictResolution

Optional

System.String

Specifies the format to use to name personal sites.

Use one of the following integer values:

1 Personal site collections are to be based on user names without any conflict resolution. For example, http://portal_site/location/username/

2 -- Personal site collections are to be based on user names with conflict resolution by using domain names. For example, .../username/ or .../domain_username/

3 Personal site collections are to be named by using domain and user name always, to avoid any conflicts. For example, http://portal_site/location/domain_username/

The default value is 1 (do not resolve conflicts).

SocialDBCredentials

Optional

System.Management.Automation.PSCredential

The set of security credentials, including a user name and a password, that is used to connect to the Social database that this cmdlet creates.

The type must be a valid PSCredential object.

Name

Optional

System.String

Specifies the display name for the new User Profile Service application. The name that you use must be a unique name of a User Profile Service application in this farm. The name can be a maximum of 128 characters.

The type must be a valid name of a User Profile Service application; for example, UserProfileSvcApp1.

UseOnlyPreferredDomainControllers

Optional

System.Boolean

Restricts profile synchronization communication to a specific domain controller.

The valid values are $true or $false.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

This cmdlet contains more than one parameter set. You may only use parameters from one parameter set, and you may not combine parameters from different parameter sets. For more information about how to use parameter sets, see Cmdlet Parameter Sets.

The Set-SPProfileServiceApplication cmdlet sets properties of a User Profile Service application.

Input Types

Return Types

Example

---------------EXAMPLE---------------------

Copy Code
$ap = Get-SPServiceApplication -Name PartitionedUserProfileApplication
Copy Code
#Change the name of the application
Set-SPProfileServiceApplication -Identity $ap -Name PartitionedUserProfileApplication2

This example sets profile information by using the specified identity.

See Also

Reference

New-SPProfileServiceApplication


Set-SPProfileServiceApplicationProxy
See Also Example
[image]

Published: May 12, 2010

Sets properties of a proxy for a User Profile Service application.

Set-SPProfileServiceApplicationProxy [-Identity] <SPServiceApplicationProxyPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-DefaultProxyGroup <SwitchParameter>] [-MySiteHostLocation <SPSitePipeBind>] [-MySiteManagedPath <SPPrefixPipeBind>] [-Name <String>] [-SiteNamingConflictResolution <String>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.SharePoint.PowerShell.SPServiceApplicationProxyPipeBind

Specifies the User Profile Service application proxy to update.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a service application proxy (for example, UserProfileSvcProxy1); or an instance of a valid SPServiceApplicationProxy object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

DefaultProxyGroup

Optional

System.Management.Automation.SwitchParameter

Specifies that the User Profile Service application proxy is added to the default proxy group for the local farm.

MySiteHostLocation

Optional

Microsoft.SharePoint.PowerShell.SPSitePipeBind

Specifies the site collection where the My Site will be created.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; or a valid URL, in the form http://server_name; or an instance of a valid SPSite object.

MySiteManagedPath

Optional

Microsoft.SharePoint.PowerShell.SPPrefixPipeBind

Specifies the managed path location of personal sites.

The type must be a valid URL, in the form http://server_name.

Name

Optional

System.String

Specifies the display name for the User Profile Service application. The name that you use must be a unique name of a User Profile Service application in this farm. The name can be a maximum of 128 characters.

The type must be a name of a valid service application proxy; for example, UserProfileSvcProxy1.

SiteNamingConflictResolution

Optional

System.String

Specifies the format to use to name personal sites.

Use one of the following integer values:

1 Personal site collections are to be based on user names without any conflict resolution. For example, http://portal_site/location/username/

2 Personal site collections are to be based on user names with conflict resolution by using domain names. For example, .../username/ or .../domain_username/

3 Personal site collections are to be named by using domain and user name always, to avoid any conflicts. For example, http://portal_site/location/domain_username/

The default value is 1 (do not resolve conflicts).

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Set-SPProfileServiceApplicationProxy cmdlet sets properties of a proxy for a User Profile Service application.

Input Types

Return Types

Example

----------------EXAMPLE---------------------

Copy Code
#Get UPA Proxy
$pr = Get-SPServiceApplicationProxy | ? {$_.DisplayName.Contains(PartitionedUserProfileApplication_Proxy)}
Copy Code
#Change the name of the proxy
Set-SPProfileServiceApplicationProxy -Identity $pr -Name PartitionedUserProfileApplication_Proxy2

This example sets a proxy for the User Profile Service application.

See Also

Reference

New-SPProfileServiceApplicationProxy


Set-SPProfileServiceApplicationSecurity
Example
[image]

Published: May 12, 2010

Sets permission and identity information.

Set-SPProfileServiceApplicationSecurity -Identity <SPObjectSecurity> -ProfileServiceApplicationProxy <SPServiceApplicationProxyPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-SiteSubscription <SPSiteSubscriptionPipeBind>] [-Type <String>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.SharePoint.Administration.AccessControl.SPObjectSecurity

ProfileServiceApplicationProxy

Required

Microsoft.SharePoint.PowerShell.SPServiceApplicationProxyPipeBind

Specifies the unique identifier for the proxy.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

SiteSubscription

Optional

Microsoft.SharePoint.PowerShell.SPSiteSubscriptionPipeBind

Specifies the account under which this service should run. This parameter is mandatory in a hosted-environment and optional in a non-hosted environment.

Type

Optional

System.String

Specifies the type of object to display.

The type is any one of the following values:

- MySiteReaderACL

- UserACL

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

Use the Set-SPProfileServiceApplictionSecurity cmdlet to set permission and identity information for the following User Profile objects:

- Read individual My Sites

- Use Personal Features

- Use Social Features

- Create Personal Site

Input Types

Return Types

Example

Copy Code


Set-SPSiteSubscriptionProfileConfig
See Also Example
[image]

Published: May 12, 2010

Sets the parameters of a site subscription.

Set-SPSiteSubscriptionProfileConfig [-Identity] <SPSiteSubscriptionPipeBind> -ProfileServiceApplicationProxy <SPServiceApplicationProxyPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-MySiteHostLocation <SPSitePipeBind>] [-SynchronizationOU <String>] [-WhatIf [<SwitchParameter>]]

Set-SPSiteSubscriptionProfileConfig [-Identity] <SPSiteSubscriptionPipeBind> -MySiteHostLocation <SPSitePipeBind> -ProfileServiceApplicationProxy <SPServiceApplicationProxyPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-MySiteHostLocation <SPSitePipeBind>] [-MySiteManagedPath <SPPrefixPipeBind>] [-SiteNamingConflictResolution <String>] [-SynchronizationOU <String>] [-WhatIf [<SwitchParameter>]]

Parameters

1

Parameter

Required

Type

Description

Identity

Required

Microsoft.SharePoint.PowerShell.SPServiceApplicationProxyPipeBind

Specifies the proxy of the User Profile Service application that contains the site subscription to update.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a User Profile Service application proxy (for example, UserProfileSvcProxy1); or an instance of a valid SPServiceApplicationProxy object.

MySiteHostLocation

Required

Microsoft.SharePoint.PowerShell.SPSitePipeBind

Specifies the site collection where the My Site host for the site subscription is provisioned.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; or a valid URL, in the form http://server_name; or an instance of a valid SPSite object.

ProfileServiceApplicationProxy

Required

Microsoft.SharePoint.PowerShell.SPServiceApplicationProxyPipeBind

Specifies the name of the proxy for the User Profile Service application.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

SynchronizationOU

Optional

System.String

Specifies the organizational unit that serves the site subscription.

The type must be a valid name of an organizational unit; for example, OrgUnit1.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

2

Parameter

Required

Type

Description

Identity

Required

Microsoft.SharePoint.PowerShell.SPServiceApplicationProxyPipeBind

Specifies the proxy of the User Profile Service application that contains the site subscription to update.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a User Profile Service application proxy (for example, UserProfileSvcProxy1); or an instance of a valid SPServiceApplicationProxy object.

MySiteHostLocation

Required

Microsoft.SharePoint.PowerShell.SPSitePipeBind

Specifies the site collection where the My Site host for the site subscription is provisioned.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; or a valid URL, in the form http://server_name; or an instance of a valid SPSite object.

ProfileServiceApplicationProxy

Required

Microsoft.SharePoint.PowerShell.SPServiceApplicationProxyPipeBind

Specifies the name of the proxy for the User Profile Service application.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

MySiteManagedPath

Optional

Microsoft.SharePoint.PowerShell.SPPrefixPipeBind

Specifies the managed path where personal sites will be created.

The type must be a valid URL, in the form http://server_name.

SiteNamingConflictResolution

Optional

System.String

Specifies the format to use to name personal sites.

Use one of the following integer values:

1-- Personal site collections to be named after user names without any conflict resolution. For example, http://portal_site/location/username/

2-- Personal site collections to be named after user names with conflict resolution by using domain names. For example, .../username/ or .../domain_username/

3-- Personal site collections to be named using domain and username always to avoid any conflicts. For example, http://portal_site/location/domain_username/

The default value is 1 (do not resolve conflicts).

SynchronizationOU

Optional

System.String

Specifies the organizational unit that serves the site subscription.

The type must be a valid name of an organizational unit; for example, OrgUnit1.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

This cmdlet contains more than one parameter set. You may only use parameters from one parameter set, and you may not combine parameters from different parameter sets. For more information about how to use parameter sets, see Cmdlet Parameter Sets.

The Set-SPSiteSubscriptionProfileConfig cmdlet sets the parameters of a site subscription.

Input Types

Return Types

Example

Add code example

Copy Code

  See Also
Reference
Add-SPSiteSubscriptionProfileConfig
Remove-SPSiteSubscriptionProfileConfig


Update-SPProfilePhotoStore
Example
[image]

Published: May 12, 2010

Updates the profile photo store to be compatible with Microsoft SharePoint Server 2010.

Update-SPProfilePhotoStore -MySiteHostLocation <SPSitePipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-CreateThumbnailsForImportedPhotos <$true | $false>] [-NoDelete <$true | $false>]

Parameters

Parameter Required Type Description

MySiteHostLocation

Required

Microsoft.SharePoint.PowerShell.SPSitePipeBind

Specifies the URL for the My Site host location where the photos are to be uploaded.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Detailed Description

After upgrading from Microsoft Office SharePoint Server 2007 to Microsoft SharePoint Server 2010, run the Update-SPProfilePhotoStore cmdlet to ensure that the SharePoint profile photo store is compatible with SharePoint Server 2010. The Update-SPProfilePhotoStore cmdlet should be used only after an upgrade from Office SharePoint Server 2007 has completed. When the Update-SPProfilePhotoStore cmdlet is used, three thumbnail versions with predictable sizes and names are created from the original photo, the new photos are placed into the My Site Host's User Photos library, and the property value in the profile database is updated.

During the operation, the original image is left as-is. If the operation fails for certain users for any reason, it continues on to the next user.

Input Types

Return Types

Example

------------------EXAMPLE-------------------

Copy Code
Update-SPProfilePhotoStore -MySiteHostLocation http://mysites

This example uploads photos to a specified My Site host location.


Get-SPProfilePropertyCollection
See Also Example
[image]

Published: July 15, 2010

Gets all user profile properties.

Get-SPProfilePropertyCollection [-Source] <String>

Parameters

Parameter | Required | Type | Description
Source | Required | System.String | Specifies the URL of the My Site Host from where the user profiles are retrieved, for example, http://hq.contoso.com:8081/my.

Detailed Description

The Get-SPProfilePropertyCollection cmdlet returns an object that contains a collection of all profile property subtypes from the source server. You can pipe the resulting object to other User Profile Replication Engine cmdlets.

Note:

Duplicate profile property subtypes are removed.

Input Types

Return Types

Example

----------Example ----------

Copy Code
get-spprofilepropertycollection -source http://hq.contoso.com:8081

This example gets all of the profile property subtypes from hq.contoso.com.

See Also

Reference

Start-SPProfileServiceFullReplication
Start-SPProfileServiceIncrementalReplication
Start-SPProfileServiceRecoveryReplication
Stop-SPProfileServiceIncrementalReplication

Concepts

User Profile Replication Engine overview (SharePoint Server 2010)


Start-SPProfileServiceFullReplication
See Also Example
[image]

Published: July 15, 2010

Replicates all selected user profile properties from the source User Profile service application to the destination User Profile service application. The User Profile Replication Engine will run as a modal Windows PowerShell 2.0 cmdlet until the replication is complete.

Start-SPProfileServiceFullReplication -Destination <String> -Source <String> [-ActiveDirectoryDomains <String[]>] [-DoSocialReplication <SwitchParameter>] [-DoUpgrade <SwitchParameter>] [-EnableInstrumentation <SwitchParameter>] [-MatchSubtype <SwitchParameter>] [-MaxNumberOfThreads <Int32>] [-NumberOfRetry <Int32>] [-Properties <String[]>] [-StartAtIndex <Int32>] [-Timeout <Int32>]

Parameters

Parameter | Required | Type | Description
Destination | Required | System.String | Specifies the URL of the My Site Host to where the user profiles are replicated, for example, http://euro.contoso.com:8081/my.
Source | Required | System.String | Specifies the URL of the My Site Host from where the user profiles are retrieved, for example, http://hq.contoso.com:8081/my.
ActiveDirectoryDomains | Optional | System.String | Specifies the Active Directory Domain Services (AD DS) accounts to be replicated, for example, "headquarters" or "Europe".The default value returns all AD DS domains.
DoSocialReplication | Optional | System.Management.Automation.SwitchParameter | Enables replication of social tags, notes, and ratings. Only use when both source and destination User Profile service applications are Microsoft SharePoint Server 2010-based.
DoUpgrade | Optional | System.Management.Automation.SwitchParameter | Enables the replacement of invalid characters in the social taxonomy. This attribute must be used if the source is a Office SharePoint Server 2007 User Profile SSP and the destination is a SharePoint Server 2010 User Profile service application.
EnableInstrumentation | Optional | System.Management.Automation.SwitchParameter | Enables detailed logging by using the instrumentation log.
MatchSubtype | Optional | System.Management.Automation.SwitchParameter | Prevents mismatches between source and destination profile properties by using the destination profile properties as a filter. For performance reasons, we recommend that you only use this parameter if most of the user profile properties are mismatched between the source User Profile service application and the destination User Profile service application.
MaxNumberOfThreads | Optional | System.Int32 | Specifies the maximum number of replication threads allowed on the server that is running the User Profile Replication Engine. The default value is 25. The actual number of running threads will be decided dynamically by the User Profile Replication Engine.
NumberOfRetry | Optional | System.Int32 | Specifies the number of times that the User Profile Replication Engine should attempt to restart in the event of a failure, for example, a network disconnection. The default value is 10.
Properties | Optional | System.String[] | Specifies which user profile properties to replicate, for example, "FirstName" or "AboutMe". You can also use the Get-SPProfilePropertyCollection cmdlet to return a collection of all user profile properties. The default value returns all user profile properties.
StartAtIndex | Optional | System.Int32 | Specifies which profile index in the profile database should be used as the start index. The default value is 0.
Timeout | Optional | System.Int32 | Specifies the amount of time the User Profile Replication Engine should wait for a response from the Web service before timing out. The default value is the Web service timeout.

Detailed Description

The Start-SPProfileServiceFullReplication cmdlet replicates all selected user profile information and social data—including social tags, notes, and ratings—from the source User Profile Service application to the destination User Profile service application. Replication begins at the start index and can be stopped by pressing CTRL+C.

Note:

It may take several seconds for all threads to stop once you have pressed CTRL+C.

If full replication is interrupted, check the log file for the last successful entry and restart using the StartAtIndex parameter.

The account running this cmdlet must be an administrator for the User Profile service application.

Input Types

Return Types

Example

----------Example----------

Copy Code
get-spprofilepropertycollection -source http://euro.contoso.com:8081 | start-spprofileservicefullreplication -source http://hq.contoso.com:8081 -destination http://euro.contoso.com:8081 -EnableInstrumentation -MaxNumberOfThreads 3 -DoSocialReplication

This example gets a collection of all user profile properties and replicates all user profile information and social data from hq.contoso.com to euro.contoso.com.

See Also

Reference

Get-SPProfilePropertyCollection
Start-SPProfileServiceIncrementalReplication
Start-SPProfileServiceRecoveryReplication
Stop-SPProfileServiceIncrementalReplication

Concepts

User Profile Replication Engine overview (SharePoint Server 2010)


Start-SPProfileServiceIncrementalReplication
See Also Example
[image]

Published: July 15, 2010

Replicates changes for selected profile properties from the source User Profile service application to the destination User Profile service application using the Replication Engine Windows service.

Start-SPProfileServiceIncrementalReplication -Destination <String[]> -Source <String> [-ActiveDirectoryDomains <String[]>] [-Credential <PSCredential>] [-DoSocialReplication <SwitchParameter>] [-DoUpgrade <SwitchParameter>] [-EnableInstrumentation <SwitchParameter>] [-FeedProperties <String[]>] [-MatchSubtype <SwitchParameter>] [-NumberOfRetry <Int32>] [-Properties <String[]>] [-ReplicationInterval <Int32>] [-Timeout <Int32>] [-WaitTimeBetweenFailures <Int32>]

Parameters

Parameter | Required | Type | Description
Destination | Required | System.String[] | Specifies the URL of the My Site Host to where the user profiles are replicated, for example, http://euro.contoso.com:8081/my.
Source | Required | System.String | Specifies the URL of the My Site Host from where the user profiles are retrieved, for example, http://hq.contoso.com:8081/my.
ActiveDirectoryDomains | Optional | System.String[] | Specifies the Active Directory Domain Services (AD DS) accounts to be replicated, for example, "headquarters" or "Europe".The default value returns all AD DS domains.
Credential | Optional | System.Management.Automation.PSCredential | Specifies the User Profile Replication Engine Windows service credentials the first time you run this cmdlet or anytime you want to change the Replication Engine service credentials. To get the User Profile Replication Engine Windows service credentials, use the Get-Credential cmdlet. For more information, see Get-Credential (http://go.microsoft.com/fwlink/p/?LinkID=113311).
DoSocialReplication | Optional | System.Management.Automation.SwitchParameter | Enables replication of social tags, notes, and ratings. Only use this parameter when both the source User Profile service application and the destination User Profile service application are Microsoft SharePoint Server 2010-based.
DoUpgrade | Optional | System.Management.Automation.SwitchParameter | Enables the replacement of invalid characters in the social taxonomy. This attribute must be used if the source is a Office SharePoint Server 2007 User Profile SSP and the destination is a SharePoint Server 2010 User Profile service application.
EnableInstrumentation | Optional | System.Management.Automation.SwitchParameter | Enables detailed logging by using the instrumentation log.
FeedProperties | Optional | System.String[] | Specifies that the trusted My Site host locations list should be ignored when replicating changes for the specified user profile properties.
MatchSubtype | Optional | System.Management.Automation.SwitchParameter | Prevents mismatches between source and destination profile properties by using the destination profile properties as a filter. For performance reasons, we recommend that you only use this parameter if most of the user profile properties are mismatched between the source User Profile service application and the destination User Profile service application.
NumberOfRetry | Optional | System.Int32 | Specifies the number of times that the User Profile Replication Engine should attempt to restart in the event of a failure, for example, a network disconnection. The default value is 10.
Properties | Optional | System.String[] | Specifies which user profile properties to replicate, for example, "FirstName" or "AboutMe". You can also use the Get-SPProfilePropertyCollection cmdlet to return a collection of all user profile properties. The default value returns all user profile properties.
ReplicationInterval | Optional | System.Int32 | Specifies the amount of time, in seconds, between each replication iteration. The default value is 5.
Timeout | Optional | System.Int32 | Specifies the amount of time the User Profile Replication Engine should wait for a response from the Web service before timing out. The default value is the Web service timeout.
WaitTimeBetweenFailures | Optional | System.Int32 | Specifies the amount of time, in seconds, that the User Profile Replication Engine should wait after it fails to replicate a user profile before the Start-SPProfileServiceRecoveryReplication process begins. The default value is 300.

Detailed Description

The Start-SPProfileServiceIncrementalReplication cmdlet replicates any changes to the user profile information and social data—including social tags, notes, and ratings—for the selected user profile properties from the source User Profile service application to the destination User Profile service application. The first time you run this cmdlet, you must provide the credentials for the User Profile Replication Engine Windows service. These credentials can be retrieved using the Get-credentials cmdlet. Once started, you can view the instrumentation log to verify if any changes are present.

If you need to stop incremental profile replication for any reason, use the Stop-SPProfileServiceIncrementalReplication cmdlet. Do not start or stop incremental profile replication by manually starting or stopping the User Profile Service Replication Engine Windows service using the Windows MMC snap-in.

You must have configured a trusted My Site host location by using the User Profile Service Administration Web page in Central Administration. For additional information about how to configure a trusted My Site host locations, see Add or delete a trusted My Site host location (SharePoint Server 2010).

Input Types

Return Types

Example

----------Example----------

Copy Code
get-spprofilepropertycollection -source http://euro.contoso.com:8081 | start-spprofileserviceincrementalreplication -source http://hq.contoso.com:8081 -destination http://euro.contoso.com:8081 -EnableInstrumentation -Credential $mycredential

This example replicates any changes to all user profile properties from hq.contoso.com to euro.contoso.com and tracks any changes in the instrumentation log.

See Also

Reference

Get-SPProfilePropertyCollection
Start-SPProfileServiceFullReplication
Start-SPProfileServiceRecoveryReplication
Stop-SPProfileServiceIncrementalReplication

Concepts

User Profile Replication Engine overview (SharePoint Server 2010)


Start-SPProfileServiceRecoveryReplication
See Also Example
[image]

Published: July 15, 2010

Recovers user profiles that failed to replicate during full profile replication. This cmdlet will copy and overwrite all user profile properties in the destination User Profile Service application for the specified profiles.

Start-SPProfileServiceRecoveryReplication -Destination <String> -FileName <String> -Source <String> [-DoSocialReplication <SwitchParameter>] [-DoUpgrade <SwitchParameter>] [-EnableInstrumentation <SwitchParameter>] [-MatchSubtype <SwitchParameter>] [-Properties <String[]>] [-Timeout <Int32>]

Parameters

Parameter | Required | Type | Description
Destination | Required | System.String | Specifies the URL of the My Site Host to where the user profiles are replicated, for example, http://euro.contoso.com:8081/my.
FileName | Required | System.String | Specifies the location of the accounts file. This file can be either the failed account file created during an instance of full replication or you can manually create a .txt or .rcv file that contains one user profile account per line, for example:Domain1\User1Domain1\User2Domain2\User1Domain2\User2Domain2\User3.
Source | Required | System.String | Specifies the URL of the My Site Host from where the user profiles are retrieved, for example, http://hq.contoso.com:8081/my.
DoSocialReplication | Optional | System.Management.Automation.SwitchParameter | Enables replication of social tags, notes, and ratings. Only use this parameter when both the source User Profile service application and the destination User Profile service application are Microsoft SharePoint Server 2010-based.
DoUpgrade | Optional | System.Management.Automation.SwitchParameter | Enables the replacement of invalid characters in the social taxonomy. This attribute must be used if the source is a Office SharePoint Server 2007 User Profile SSP and the destination is a SharePoint Server 2010 User Profile service application.
EnableInstrumentation | Optional | System.Management.Automation.SwitchParameter | Enables detailed logging by using the instrumentation log.
MatchSubtype | Optional | System.Management.Automation.SwitchParameter | Prevents mismatches between source and destination profile properties by using the destination profile properties as a filter. For performance reasons, we recommend that you only use this parameter if most of the user profile properties are mismatched between the source User Profile service application and the destination User Profile service application.
Properties | Optional | System.String[] | Specifies which user profile properties to replicate, for example, "FirstName" or "AboutMe". You can also use the Get-SPProfilePropertyCollection cmdlet to return a collection of all user profile properties. The default value returns all user profile properties.
Timeout | Optional | System.Int32 | Specifies the amount of time the User Profile Replication Engine should wait for a response from the Web service before timing out. The default is the Web service timeout.

Detailed Description

The Start-SPProfileServiceRecoveryReplication cmdlet replicates user profile information and social data—including social tags, notes, and ratings—for user profiles that failed to replicate during full profile replication. The list of these user profile accounts is saved to an accounts file that is created during full profile replication. The profile information and social data are replicated from the source User Profile service application to the destination User Profile service application.

Input Types

Return Types

Example

----------Example----------

Copy Code
get-spprofilepropertycollection -source http://euro.contoso.com:8081 | start-spprofileservicerecoveryreplication -source http://hq.contoso.com:8081 -destination http://euro.contoso.com:8081 -EnableInstrumentation -FileName "d:\accounts.txt"

This example retrieves a list of user profiles that failed to replicate during incremental profile replication and replicates the user profile information and social data from the source User Profile service application to the destination User Profile service application.

See Also

Reference

Get-SPProfilePropertyCollection
Start-SPProfileServiceFullReplication
Start-SPProfileServiceIncrementalReplication
Stop-SPProfileServiceIncrementalReplication

Concepts

User Profile Replication Engine overview (SharePoint Server 2010)


Stop-SPProfileServiceIncrementalReplication
See Also Example
[image]

Published: July 15, 2010

Stops incremental profile replication.

Stop-SPProfileServiceIncrementalReplication

Detailed Description

The Stop-SPProfileServiceIncrementalReplication cmdlet stops profile replication when performing incremental replication of user profile information from a source User Profile service application to a destination User Profile service application. You should use this cmdlet to stop the User Profile Replication Engine Windows service. Do not start or stop incremental profile replication by manually starting or stopping the User Profile Replication Engine Windows service using the Windows MMC snap-in.

The Stop-SPProfileServiceIncrementalReplication cmdlet does not take any parameters.

Input Types

Return Types

Example

----------Example----------

Copy Code
Stop-spprofileserviceincrementalreplication

This example stops incremental profile replication.

See Also

Reference

Get-SPProfilePropertyCollection
Start-SPProfileServiceFullReplication
Start-SPProfileServiceIncrementalReplication
Start-SPProfileServiceRecoveryReplication

Concepts

User Profile Replication Engine overview (SharePoint Server 2010)


Add-PluggableSecurityTrimmer
See Also Example
[image]

Published: May 12, 2010

Adds a pluggable security trimmer to a Profile service application proxy.

Add-PluggableSecurityTrimmer [-UserProfileApplicationProxyId] <Guid> -PlugInId <Int32> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-CustomProperties <NameValueCollection>] [-QualifiedTypeName <String>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

UserProfileApplicationProxyId

Required

System.Guid

Specifies the ID of the User Profile service application proxy to which you are adding the pluggable security trimmer.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh.

PlugInId

Required

System.Int32

The index of the pluggable security trimmer must have an integer value greater than or equal to zero.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

QualifiedTypeName

Optional

System.String

Specifies the qualified type name of the class that implements the pluggable security trimmer.

The type must be a valid qualified type name, in the form Microsoft.Office.Server.SocialData.SocialSecurityTrimmer,Microsoft.Office.Server.UserProfiles,Version=14.0.0.0,Culture=neutral,PublicKeyToken=71e9bce111e9429c.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

Use the Add-SPPluggableSecurityTrimmer cmdlet to add a specified pluggable security trimmer to a User Profile service application proxy.

Input Types

Return Types

Example

----------------EXAMPLE 1--------------------

Copy Code
$pr = Get-SPServiceApplicationProxy | ? {$_.TypeName.Contains("Profile")}
Copy Code
Add-SPPluggableSecurityTrimmer -UserProfileApplicationProxyId $pr.Id -PlugInId 0

This example adds a pluggable security trimmer that is related to the User Profile service application proxy.

-----------------EXAMPLE 2----------------------

Copy Code
$proxy = Get-SPServiceApplicationProxy | ? {$_.TypeName.Contains("Profile")} $proxy.Id
Copy Code
Add-SPPluggableSecurityTrimmer -UserProfileApplicationProxyId $proxy.Id -PlugInId 0

This example turns on security trimming in a User Profile Service Application.

See Also

Reference

Get-PluggableSecurityTrimmer
Remove-PluggableSecurityTrimmer


Get-PluggableSecurityTrimmer
See Also Example
[image]

Published: May 12, 2010

Gets pluggable security trimmers added to a profile service application proxy.

Get-PluggableSecurityTrimmer [-UserProfileApplicationProxyId] <Guid> [-AssignmentCollection <SPAssignmentCollection>]

Parameters

Parameter Required Type Description

UserProfileApplicationProxyId

Required

System.Guid

Specifies the ID of the User Profile service application proxy to which the pluggable security trimmers have been added.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Detailed Description

Use the Get-PluggableSecurityTrimmer cmdlet to list the pluggable security trimmers that have been added to a User Profile service application proxy.

Input Types

Return Types

Example

-------------------EXAMPLE---------------------

Copy Code
$pr = Get-SPServiceApplicationProxy | ? {$_.TypeName.Contains("Profile")}
Copy Code
Get-SPPluggableSecurityTrimmer -UserProfileApplicationProxyId $pr.Id

This example gets a list of the pluggable security trimmers that are associated with the User Profile service application proxy.

See Also

Reference

Add-PluggableSecurityTrimmer
Remove-PluggableSecurityTrimmer


Remove-PluggableSecurityTrimmer
See Also Example
[image]

Published: May 12, 2010

Removes a pluggable security trimmer from a profile service application proxy.

Remove-PluggableSecurityTrimmer [-UserProfileApplicationProxyId] <Guid> -PlugInId <Int32> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

UserProfileApplicationProxyId

Required

System.Guid

Specifies the ID of the User Profile service application proxy from which the pluggable security trimmer is removed.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh.

PlugInId

Required

System.Int32

The index of the pluggable security trimmer must have an integer value greater than or equal to zero.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

Use the Remove-PluggableSecurityTrimmer cmdlet to remove a specified pluggable security trimmer from a User Profile service application proxy.

Input Types

Return Types

Example

-----------------EXAMPLE 1----------------------

Copy Code
$pr = Get-SPServiceApplicationProxy | ? $_.TypeName.Contains("Profile")}
Copy Code
Remove-SPPluggableSecurityTrimmer -UserProfileApplicationProxyId $pr.Id -PlugInId 0

This example removes a pluggable security trimmer.

-----------------EXAMPLE 2----------------------

Copy Code
$proxy = Get-SPServiceApplicationProxy | ? {$_.TypeName.Contains("Profile")} $proxy.Id
Copy Code
Remove-SPPluggableSecurityTrimmer -UserProfileApplicationProxyId $proxy.Id -PlugInId 0

This example turns off security trimming in a User Profile Service Application.

See Also

Reference

Add-PluggableSecurityTrimmer
Get-PluggableSecurityTrimmer


Add-SPProfileLeader
See Also Example
[image]

Published: August 23, 2011

Adds a company leader.

Add-SPProfileLeader [-ProfileServiceApplicationProxy] <SPServiceApplicationProxyPipeBind> [-Name] <SPProfileLeaderPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-SiteSubscription <SPSiteSubscriptionPipeBind>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

ProfileServiceApplicationProxy

Required

Microsoft.SharePoint.PowerShell.SPServiceApplicationProxyPipeBind

Specifies the name of the User Profile Service Application Proxy to use.

Name

Required

Microsoft.Office.Server.UserProfiles.PowerShell.SPProfileLeaderPipeBind

Specifies the account name to be added as a leader for the new User Profile Service application. For example, Contoso\Joe.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

SiteSubscription

Optional

Microsoft.SharePoint.PowerShell.SPSiteSubscriptionPipeBind

Specifies the account under which this service should run. This parameter is mandatory in a hosted-environment and optional in a non-hosted environment.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

This cmdlet was introduced in Microsoft SharePoint Server 2010 with Service Pack 1 (SP1) and Microsoft SharePoint Foundation 2010 with Service Pack 1 (SP1).

Use the Add-SPProfileLeader cmdlet to add a user as the company leader.

For additional information about SPProfileLeader cmdlets, see The *-SPProfileLeader Windows PowerShell cmdlets in SharePoint Server 2010 SP1 (http://go.microsoft.com/fwlink/p/?LinkId=226295).

Note:

After you use the Add-SPProfileLeader cmdlet to add a company leader, you have to run a full crawl on the content source that contains the start address (URL) of the User Profile service application for the changes to take effect.

Input Types

Return Types

Example

---------EXAMPLE------------

Copy Code
$upaProxy = Get-SPServiceApplicationProxy 1232b6f7-b9ff-99ad-0cd0-fg1g67h981aq
Copy Code
Add-SPProfileLeader -ProfileServiceApplicationProxy $upaProxy -Name "contoso\janedow"

This example adds a company leader named, Jane Dow.

See Also

Reference

Get-SPProfileLeader
Remove-SPProfileLeader


Get-SPProfileLeader
See Also Example
[image]

Published: August 23, 2011

Returns the current company leaders.

Get-SPProfileLeader [-ProfileServiceApplicationProxy] <SPServiceApplicationProxyPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-SiteSubscription <SPSiteSubscriptionPipeBind>]

Parameters

Parameter Required Type Description

ProfileServiceApplicationProxy

Required

Microsoft.SharePoint.PowerShell.SPServiceApplicationProxyPipeBind

Specifies the name of the User Profile Service Application Proxy to use.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

SiteSubscription

Optional

Microsoft.SharePoint.PowerShell.SPSiteSubscriptionPipeBind

Specifies the account under which this service should run. This parameter is mandatory in a hosted-environment and optional in a non-hosted environment.

Detailed Description

This cmdlet was introduced in Microsoft SharePoint Server 2010 with Service Pack 1 (SP1) and Microsoft SharePoint Foundation 2010 with Service Pack 1 (SP1).

Use the Get-SPProfileLeader cmdlet to display the current company leaders.

For additional information about SPProfileLeader cmdlets, see The *-SPProfileLeader Windows PowerShell cmdlets in SharePoint Server 2010 SP1 (http://go.microsoft.com/fwlink/p/?LinkId=226295).

Input Types

Return Types

Example

----------EXAMPLE-----------------

Copy Code
$upaProxy = Get-SPServiceApplicationProxy 1232b6f7-b9ff-99ad-0cd0-fg1g67h981aq
Copy Code
Get-SPProfileLeader -ProfileServiceApplicationProxy $upaProxy

This example returns a company leader from the specific user profile service application as indicated by the variable, $upaProxy.

See Also

Reference

Add-SPProfileLeader
Remove-SPProfileLeader


Move-SPSocialComments
Example
[image]

Published: August 23, 2011

Moves social comments.

Move-SPSocialComments -ProfileServiceApplicationProxy <SPServiceApplicationProxyPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-NewUrl <String>] [-OldUrl <String>] [-SiteSubscription <SPSiteSubscriptionPipeBind>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

ProfileServiceApplicationProxy

Required

Microsoft.SharePoint.PowerShell.SPServiceApplicationProxyPipeBind

Specifies the name of the User Profile Service Application Proxy to use.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

NewUrl

Optional

System.String

Specifies the target URI to which the social notes will be moved.

OldUrl

Optional

System.String

Specifies the source URI from which the social notes will be moved.

SiteSubscription

Optional

Microsoft.SharePoint.PowerShell.SPSiteSubscriptionPipeBind

Specifies the account under which this service should run. This parameter is mandatory in a hosted-environment and optional in a non-hosted environment.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

This cmdlet was introduced in Microsoft SharePoint Server 2010 with Service Pack 1 (SP1) and Microsoft SharePoint Foundation 2010 with Service Pack 1 (SP1).

Use the Move-SPSocialComments cmdlet to move social comments from one page to another page.

Note:

This cmdlet does not move Tags or Ratings.

Input Types

Return Types

Example

-----------EXAMPLE-----------

Copy Code
$upaProxy = Get-SPServiceApplicationProxy 1232b6f7-b9ff-99ad-0cd0-fg1g67h981aq
Copy Code
Move-SPSocialComments -ProfileServiceApplicationProxy $upaProxy -OldUrl "http://contoso/Pages/oldtest.aspx" -NewUrl "http://contoso/Pages/newtest.aspx"
Copy Code

This example moves social comments from oldtest.aspx to newtest.aspx.


Remove-SPProfileLeader
See Also Example
[image]

Published: August 23, 2011

Remove a company leader.

Remove-SPProfileLeader [-ProfileServiceApplicationProxy] <SPServiceApplicationProxyPipeBind> [-Name] <SPProfileLeaderPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-SiteSubscription <SPSiteSubscriptionPipeBind>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

ProfileServiceApplicationProxy

Required

Microsoft.SharePoint.PowerShell.SPServiceApplicationProxyPipeBind

Specifies the name of the User Profile Service Application Proxy to use.

Name

Required

Microsoft.Office.Server.UserProfiles.PowerShell.SPProfileLeaderPipeBind

Specifies the account name to be removed as a leader for the new User Profile Service application. For example, Contoso\Joe.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

SiteSubscription

Optional

Microsoft.SharePoint.PowerShell.SPSiteSubscriptionPipeBind

Specifies the account under which this service should run. This parameter is mandatory in a hosted-environment and optional in a non-hosted environment.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

This cmdlet was introduced in Microsoft SharePoint Server 2010 with Service Pack 1 (SP1) and Microsoft SharePoint Foundation 2010 with Service Pack 1 (SP1).

Use the Remove-SPProfileLeader cmdlet to remove a user as the company leader.

For additional information about SPProfileLeader cmdlets, see The *-SPProfileLeader Windows PowerShell cmdlets in SharePoint Server 2010 SP1 (http://go.microsoft.com/fwlink/p/?LinkId=226295).

Input Types

Return Types

Example

---------------EXAMPLE------------

Copy Code
$upaProxy = Get-SPServiceApplicationProxy 1232b6f7-b9ff-99ad-0cd0-fg1g67h981aq
Copy Code
Remove-SPProfileLeader -ProfileServiceApplicationProxy $upaProxy -Name "contoso\janedow"

This example removes the user "Jane Dow" from the leaders list for a specific user profile service application.

See Also

Reference

Add-SPProfileLeader
Get-SPProfileLeader


Visio Graphics Services cmdlets (SharePoint Server 2010)
See Also

Visio Graphics Service is a service in Microsoft SharePoint Server 2010 that users can use to view published Visio diagrams. The service also refreshes published Visio diagrams that are connected to supported data sources.

All Visio Graphics Service settings will support backup and recovery, regardless of whether there is a UI setting. This means all global settings will support backup and restore operations.

The Visio Graphics Service has Windows PowerShell functionality that you can use to provision a new instance, manage and configure available data sources, manage and configure a list of safe data providers, and configure all the global settings of the service.

Cmdlet name | Description
Get-SPVisioExternalData | Returns the settings for external data connections for a Visio Services application.
Get-SPVisioPerformance | Returns the Visio Services settings for the performance of a Visio Services application.
Get-SPVisioSafeDataProvider | Returns the settings of a safe data provider for a Visio Services application.
Get-SPVisioServiceApplication | Returns properties of a Visio Services application or a collection of Visio Services applications.
Get-SPVisioServiceApplicationProxy | Returns properties of a Visio Services application proxy or a collection of Visio Services application proxies
New-SPVisioSafeDataProvider | Adds a new data provider to a Visio Services application.
New-SPVisioServiceApplication | Adds a new Visio Services application to a farm.
New-SPVisioServiceApplicationProxy | Adds a new Visio Services application proxy to a farm.
Remove-SPVisioSafeDataProvider | Removes a data provider from a Visio Services application.
Set-SPVisioExternalData | Configures settings related to external data connections for a Visio Services application.
Set-SPVisioPerformance | Sets performance properties for a Visio Services application.
Set-SPVisioSafeDataProvider | Specifies a description of a safe data provider for a Visio Services application.
Set-SPVisioServiceApplication | Sets the ServiceApplicationPool property for a Visio Services application.

See Also

Other Resources

Resource Center: Windows PowerShell for SharePoint Server 2010


Get-SPVisioExternalData
See Also Example
[image]

Published: May 12, 2010

Returns the settings for external data connections for a Visio Services application.

Get-SPVisioExternalData -VisioServiceApplication <SPVisioServiceApplicationPipeBind> [-AssignmentCollection <SPAssignmentCollection>]

Parameters

Parameter Required Type Description

VisioServiceApplication

Required

Microsoft.Office.Visio.Server.Cmdlet.SPVisioServiceApplicationPipeBind

Specifies the Visio Services application that contains the SPVisioExternalData object.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a Visio Services application (for example, MyVisioService1); or an instance of a valid SPVisioServiceApplication object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Detailed Description

The Get-SPVisioExternalData cmdlet reads the service settings for managing settings that are related to connecting to external data.

Input Types

Return Types

Example

------------------EXAMPLE 1------------------------

Copy Code
Get-SPVisioExternalData -VisioServiceApplication "VGS1"

This example gets settings related to external data for a Visio Services application.

------------------EXAMPLE 2------------------------

Copy Code
Get-SPVisioServiceApplication -identity "VGS1" | Get-SPVisioExternalData

This example uses a pipe bind to get settings related to external data for a Visio Services application.

See Also

Reference

Set-SPVisioExternalData


Get-SPVisioPerformance
See Also Example
[image]

Published: May 12, 2010

Returns the Visio Services settings for the performance of a Visio Services application.

Get-SPVisioPerformance -VisioServiceApplication <SPVisioServiceApplicationPipeBind> [-AssignmentCollection <SPAssignmentCollection>]

Parameters

Parameter Required Type Description

VisioServiceApplication

Required

Microsoft.Office.Visio.Server.Cmdlet.SPVisioServiceApplicationPipeBind

Specifies the Visio Services application that contains the SPVisioPerformance object.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a Visio Services application (for example, MyVisioService1); or an instance of a valid SPVisioServiceApplication object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Detailed Description

The Get-SPVisioPerformance cmdlet reads the service settings for managing and configuring peformance for a Visio Services application.

Input Types

Return Types

Example

-----------------EXAMPLE----------------------

Copy Code
Get-SPVisioPerformance -VisioServiceApplication "VGS1"

This example gets settings related to performance for a Visio Services application.

See Also

Reference

Set-SPVisioPerformance


Get-SPVisioSafeDataProvider
See Also Example
[image]

Published: May 12, 2010

Returns the settings of a safe data provider for a Visio Services application.

Get-SPVisioSafeDataProvider -VisioServiceApplication <SPVisioServiceApplicationPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-DataProviderId <String>] [-DataProviderType <Int32>]

Parameters

Parameter Required Type Description

VisioServiceApplication

Required

Microsoft.Office.Visio.Server.Cmdlet.SPVisioServiceApplicationPipeBind

Specifies the Visio Services application that contains the SPVisioSafeDataProvider object.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a Visio Services application (for example, MyVisioService1); or an instance of a valid SPVisioServiceApplication object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

DataProviderId

Optional

System.String

Specifies the safe data provider to get. The combination of DataProviderID and DataProviderType uniquely identify a data provider for a Visio Graphics Service application. The string that identifies the data provider can be a maximum of 255 alphanumeric characters.

The type must be a valid string that identifies the data provider; for example, VisioDataProvider1.

DataProviderType

Optional

System.Int32

Specifies the supported type of the data provider to get. Custom data types are supported; for example, Excel services.

The type must be a valid identity of a data provider type.

Detailed Description

The Get-SPVisioSafeDataProvider cmdlet retrieves the settings of the safe provider for a Visio Services application. If the DataProviderID parameter is not specified, this cmdlet returns the collection of safe providers in the farm.

Input Types

Return Types

Example

-------------------EXAMPLE 1----------------------

Copy Code
Get-SPVisioSafeDataProvider -VisioServiceApplication "VGS1"

This example returns a list of safe data providers for a specific Visio Services application.

-------------------EXAMPLE 2----------------------

Copy Code
Get-SPVisioSafeDataProvider -VisioServiceApplication "VGS1" -DataProviderID "SQLOLEDB" -DataProviderType 1

This example returns information about a specified safe data provider for a specific Visio Services application.

See Also

Reference

New-SPVisioSafeDataProvider
Remove-SPVisioSafeDataProvider
Set-SPVisioSafeDataProvider


Get-SPVisioServiceApplication
See Also Example
[image]

Published: May 12, 2010

Returns properties of a Visio Services application or a collection of Visio Services applications.

Get-SPVisioServiceApplication [[-Identity] <SPVisioServiceApplicationPipeBind>] [-AssignmentCollection <SPAssignmentCollection>]

Parameters

Parameter Required Type Description

Identity

Optional

Microsoft.Office.Visio.Server.Cmdlet.SPVisioServiceApplicationPipeBind

Specifies the Visio Services application to get.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a Visio Services application (for example, MyVisioService1); or an instance of a valid SPVisioServiceApplication object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Detailed Description

The Get-SPVisioServiceApplication cmdlet retrieves the settings of the specified Visio Services application. If the Identity parameter is not specified, this cmdlet returns the collection of Visio Services applications in the farm.

Input Types

Return Types

Example

-----------------------EXAMPLE 1-------------------------

Copy Code
Get-SPVisioServiceApplication

This example returns a collection of all Visio Services applications in the farm.

-----------------------EXAMPLE 2-------------------------

Copy Code
Get-SPVisioServiceApplication "VGS1"

This example returns properties of the VGS1 Visio Services application.

See Also

Reference

New-SPVisioServiceApplication
Set-SPVisioServiceApplication


Get-SPVisioServiceApplicationProxy
See Also Example
[image]

Published: May 12, 2010

Returns properties of a Visio Services application proxy or a collection of Visio Services application proxies.

Get-SPVisioServiceApplicationProxy [[-Identity] <SPVisioServiceApplicationProxyPipeBind>] [-AssignmentCollection <SPAssignmentCollection>]

Parameters

Parameter Required Type Description

Identity

Optional

Microsoft.Office.Visio.Server.Cmdlet.SPVisioServiceApplicationProxyPipeBind

Specifies the Visio Services application proxy to get.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a Visio Services application (for example, MyVisioService1); or an instance of a valid SPVisioServiceApplication object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Detailed Description

The Get-SPVisioServiceApplicationProxy cmdlet reads the settings of a Visio Services application proxy. If the Identity parameter is not specified, this cmdlet returns the collection of Visio Services application proxies on the farm.

Input Types

Return Types

Example

----------------EXAMPLE 1---------------------

Copy Code
Get-SPVisioServiceApplicationProxy

This example returns a list of Visio Services application proxies.

----------------EXAMPLE 2---------------------

Copy Code
Get-SPVisioServiceApplicationProxy "Connection to VGS2"

This example returns settings for a Visio Services application proxy.

See Also

Reference

New-SPVisioServiceApplicationProxy


New-SPVisioSafeDataProvider
See Also Example
[image]

Published: May 12, 2010

Adds a new data provider to a Visio Services application.

New-SPVisioSafeDataProvider -DataProviderId <String> -DataProviderType <Int32> -VisioServiceApplication <SPVisioServiceApplicationPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Description <String>]

Parameters

Parameter Required Type Description

DataProviderId

Required

System.String

Specifies the name of the data provider to create. The combination of DataProviderID and DataProviderType uniquely identify a data provider for a Visio Services application. The string that identifies the data provider can be a maximum of 255 alphanumeric characters.

The type must be a valid string that identifies the data provider; for example, VisioDataProvider1.

DataProviderType

Required

System.Int32

The type must be a valid identity of a data provider type.

Specifies the supported type of the data provider to add. Custom data types are supported; for example, Excel Services.

VisioServiceApplication

Required

Microsoft.Office.Visio.Server.Cmdlet.SPVisioServiceApplicationPipeBind

Specifies the Visio Services application in which to add the new safe data provider.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a Visio Services application (for example, MyVisioService1); or an instance of a valid SPVisioServiceApplication object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Description

Optional

System.String

Specifies the description of the new safe data provider.

The type must be a string with a maximum of 4096 characters.

Detailed Description

The New-SPVisioSafeDataProvider cmdlet adds a new data provider to the list of safe data providers for a Visio Services application.

Input Types

Return Types

Example

-------------------EXAMPLE------------------------

Copy Code
New-SPVisioSafeDataProvider -VisioServiceApplication "VGS1" -DataProviderID "CustomProvider" -DataProviderType 5 -Description "Custom Data Provider"

This example creates a new safe data provider for a specified Visio Services application.

See Also

Reference

Get-SPVisioSafeDataProvider
Remove-SPVisioSafeDataProvider
Set-SPVisioSafeDataProvider


New-SPVisioServiceApplication
See Also Example
[image]

Published: May 12, 2010

Adds a new Visio Services application to a farm.

New-SPVisioServiceApplication -ApplicationPool <SPIisWebServiceApplicationPoolPipeBind> [-AddToDefaultGroup <SwitchParameter>] [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-Name <String>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

ApplicationPool

Required

Microsoft.SharePoint.PowerShell.SPIisWebServiceApplicationPoolPipeBind

Specifies the existing IIS application pool in which to run the Web service for the service application.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of an application pool (for example, AppPoolName1); or an instance of a valid IISWebServiceApplicationPool object.

AddToDefaultGroup

Optional

System.Management.Automation.SwitchParameter

Specifies that a default proxy is created for the new Visio Services application.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

Name

Optional

Microsoft.Office.Visio.Server.Cmdlet.SPVisioServiceApplicationPipeBind

Specifies the Visio Services application to create.

The type must be a valid name of a Visio Service application; for example, MyVisioService1.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The New-SPVisioServiceApplication cmdlet adds a new Visio Services application to a farm.

Input Types

Return Types

Example

----------------EXAMPLE 1---------------------

Copy Code
New-SPVisioServiceApplication -Identity "VGS2" -ServiceApplicationPool "SharePoint Web Services Default" -CreateDefaultProxy

This example creates a new Visio Services application VGS2, and also creates a service application proxy associated with it.

----------------EXAMPLE 2---------------------

Copy Code
Get-SPIISWebServiceApplicationPool "SharePoint Web Services System Default" | New-SPVisioServiceApplication "VGS3"

This example creates a new Visio Services application VGS3 without creating an associated service application proxy. You can pipe the results from the Get-SPIISWebServiceApplicationPool cmdlet.

See Also

Reference

Get-SPVisioServiceApplication
Set-SPVisioServiceApplication


New-SPVisioServiceApplicationProxy
See Also Example
[image]

Published: May 12, 2010

Adds a new Visio Services application proxy to a farm.

New-SPVisioServiceApplicationProxy -ServiceApplication <String> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-Name <String>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

ServiceApplication

Required

System.String

Specifies the Visio Services application that is associated with the application proxy.

The type must be a valid name of a Visio Services application; for example, MyVisioService1.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Name

Optional

Microsoft.Office.Visio.Server.Cmdlet.SPVisioServiceApplicationProxyPipeBind

Specifies the Visio Services application proxy to create.

The type must be a valid name of a Visio Services application; for example, MyVisioService1.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The New-SPVisioServiceApplicationProxy cmdlet adds a new Visio Services application proxy to a farm.

Input Types

Return Types

Example

--------------------EXAMPLE------------------------

Copy Code
New-SPVisioServiceApplicationProxy -Identity "ProxyToVGS3" -ServiceApplicationName "VGS3"

This example creates a new Visio Services application proxy connected to a Visio Services application.

See Also

Reference

Get-SPVisioServiceApplicationProxy


Remove-SPVisioSafeDataProvider
See Also Example
[image]

Published: May 12, 2010

Removes a data provider from a Visio Services application.

Remove-SPVisioSafeDataProvider -DataProviderId <String> -DataProviderType <Int32> -VisioServiceApplication <SPVisioServiceApplicationPipeBind> [-AssignmentCollection <SPAssignmentCollection>]

Parameters

Parameter Required Type Description

DataProviderId

Required

System.String

Specifies the name of the data provider to delete. The combination of DataProviderID and DataProviderType uniquely identifies a data provider for a Visio Services application. The string that identifies the data provider can be a maximum of 255 alphanumeric characters.

The type must be a valid string that identifies the data provider.

DataProviderType

Required

System.Int32

Specifies the supported type of the data provider to delete.

The type must be a valid identity of a data provider type.

VisioServiceApplication

Required

Microsoft.Office.Visio.Server.Cmdlet.SPVisioServiceApplicationPipeBind

Specifies the Visio Services application that contains the SPVisioSafeDataProvider object.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a Visio Services application (for example, MyVisioService1); or an instance of a valid SPVisioServiceApplication object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Detailed Description

The Remove-SPVisioSafeDataProvider cmdlet deletes the safe data provider that is specified in the DataProviderID parameter.

Input Types

Return Types

Example

-------------------EXAMPLE------------------------

Copy Code
Remove-SPVisioSafeDataProvider -VisioServiceApplication "VGS1" -DataProviderID "CustomProvider" -DataProviderType 5

This example removes a safe data provider for a specified Visio Services application.

See Also

Reference

Get-SPVisioSafeDataProvider
New-SPVisioSafeDataProvider
Set-SPVisioSafeDataProvider


Set-SPVisioExternalData
See Also Example
[image]

Published: May 12, 2010

Configures settings related to external data connections for a Visio Services application.

Set-SPVisioExternalData -UnattendedServiceAccountApplicationID <String> -VisioServiceApplication <SPVisioServiceApplicationPipeBind> [-AssignmentCollection <SPAssignmentCollection>]

Parameters

Parameter Required Type Description

UnattendedServiceAccountApplicationID

Required

System.String

Specifies the target application ID in the registered secure store service that is used to reference unattended service account credentials. The unattended service account is a single account that all documents can use to refresh data. It is required when connecting to external data sources.

The type must be a valid value less than or equal to 256 characters. The application ID must be registered in the secure store service application or an error message will be displayed.

VisioServiceApplication

Required

Microsoft.Office.Visio.Server.Cmdlet.SPVisioServiceApplicationPipeBind

Specifies the Visio Services application that contains the SPVisioExternalData object.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a Visio Services application (for example, MyVisioService1); or an instance of a valid SPVisioServiceApplication object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Detailed Description

The Set-SPVisioExternalData cmdlet sets and configures settings for external data connections for the Visio Services application.

Input Types

Return Types

Example

--------------------EXAMPLE-----------------------

Copy Code
Set-SPVisioExternalData -VisioServiceApplication "VGS1" -UnattendedServiceAccountApplicationID "SSSApp1"

This example sets the unattended service account application ID to SSSApp1 for the Visio Services application named VGS1.

See Also

Reference

Get-SPVisioExternalData


Set-SPVisioPerformance
See Also Example
[image]

Published: May 12, 2010

Sets performance properties for a Visio Services application.

Set-SPVisioPerformance -MaxDiagramCacheAge <Int32> -MaxDiagramSize <Int64> -MaxRecalcDuration <Int32> -MinDiagramCacheAge <Int32> -VisioServiceApplication <SPVisioServiceApplicationPipeBind> [-AssignmentCollection <SPAssignmentCollection>]

Parameters

Parameter Required Type Description

MaxDiagramCacheAge

Required

System.Int32

Specifies the time, in minutes, after which cached items are purged. This value affects memory use on the server. A large cache age slows the rate at which diagrams can be refreshed by users and reduces CPU and memory use of the server. The default value is 60 minutes.

The type must be an integer in the range of 0 to 34560 (24 days).

MaxDiagramSize

Required

System.Int64

Specifies the maximum size, in megabytes, of a diagram that can be opened by the Visio Services application. The default value is 5.

The type must be an integer in the range of 1 to 50.

MaxRecalcDuration

Required

System.Int32

Specifies the maximum time, in seconds, that a diagram can only be recalculated by the Visio Services application. Diagram recalculation operations that take longer than this number of seconds are canceled by the service. A low value increases performance by allowing only simple diagrams to be processed by the server, which minimizes CPU and memory use. A larger value allows the recalculation of more complex diagrams while using more CPU cycles and memory.

The type must be a valid integer value in the range of 1 to 120 seconds (2 minutes). The default value is 60 seconds.

MinDiagramCacheAge

Required

System.Int32

Specifies the minimum time, in minutes, a diagram is cached in memory. This value affects memory use on the server. A small value allows users to refresh their diagrams more often, but will increase memory and CPU load of the server. The default value is 5.

The type must be an integer in the range of 0 to 34560 (24 days).

VisioServiceApplication

Required

Microsoft.Office.Visio.Server.Cmdlet.SPVisioServiceApplicationPipeBind

Specifies the Visio Services application that contains the SPVisioPerformance object.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a Visio Services application (for example, MyVisioService1); or an instance of a valid SPVisioServiceApplication object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Detailed Description

The Set-SPVisioPerformance cmdlet sets properties related to performance for a Visio Services application.

Input Types

Return Types

Example

-------------------EXAMPLE 1----------------------

Copy Code
Set-SPVisioPerformance -VisioServiceApplication "VGS2" -MaxDiagramSize 10 -MaxRecalcDuration 120 -MinDiagramCacheAge 1 -MaxDiagramCacheAge 4

This example changes settings that are related to performance for a Visio Services application.

-------------------EXAMPLE 2----------------------

Copy Code
Set-SPVisioPerformance -VisioServiceApplication "VGS2" -MaxDiagramSize 10

This example changes settings that are related to performance for a Visio Services application. Note that only one setting value is specified. The cmdlet prompts you for the other parameter values.

See Also

Reference

Get-SPVisioPerformance


Set-SPVisioSafeDataProvider
See Also Example
[image]

Published: May 12, 2010

Specifies a description of a safe data provider for a Visio Services application.

Set-SPVisioSafeDataProvider -DataProviderId <String> -DataProviderType <Int32> -Description <String> -VisioServiceApplication <SPVisioServiceApplicationPipeBind> [-AssignmentCollection <SPAssignmentCollection>]

Parameters

Parameter Required Type Description

DataProviderId

Required

System.String

Specifies the name of the data provider to update. The combination of DataProviderID and DataProviderType uniquely identifies a data provider for a Visio Services application. The string that identifies the data provider can be a maximum of 255 alphanumeric characters. Custom data types are supported; for example, Excel Services.

The type must be a valid string that identifies the data provider.

DataProviderType

Required

System.Int32

Specifies the supported type of the data provider to get. Custom data types are supported; for example, Excel services.

The type must be a valid identity of a data provider type.

Description

Required

System.String

Specifies the description of the safe data provider to set.

The type must be a string with a maximum of 4096 characters.

VisioServiceApplication

Required

Microsoft.Office.Visio.Server.Cmdlet.SPVisioServiceApplicationPipeBind

Specifies the Visio Services application that contains the SPVisioSafeDataProvider object.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a Visio Services application (for example, MyVisioService1); or an instance of a valid SPVisioServiceApplication object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Detailed Description

The Set-SPVisioSafeDataProvider cmdlet sets the Description property of a safe data provider for a Visio Services application.

Input Types

Return Types

Example

-------------------EXAMPLE 1----------------------

Copy Code
Set-SPVisioSafeDataProvider -VisioServiceApplication "VGS1" -DataProviderID "SQLOLEDB" -DataProviderType 1 -Description "SQL OLEDB Driver!"

This example sets the description property of a safe data provider for a specific Visio Services application.

-------------------EXAMPLE 2----------------------

Copy Code
Get-SPVisioServiceApplication -Identity "VGS1" | Set-SPVisioSafeDataProvider -DataProviderID "SQLOLEDB" -DataProviderType 1 -Description "SQL OLEDB Driver!"

This example sets the Description property of a safe data provider for a specific Visio Services application. The result is piped from the Set-SPVisioSafeDataProvider cmdlet.

See Also

Reference

Remove-SPVisioSafeDataProvider
Get-SPVisioSafeDataProvider
New-SPVisioSafeDataProvider


Set-SPVisioServiceApplication
See Also Example
[image]

Published: May 12, 2010

Sets the ServiceApplicationPool property for a Visio Services application.

Set-SPVisioServiceApplication [-Identity] <SPVisioServiceApplicationPipeBind> [-ServiceApplicationPool] <SPIisWebServiceApplicationPoolPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.Office.Visio.Server.Cmdlet.SPVisioServiceApplicationPipeBind

Specifies the Visio Services application to update.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a Visio Services application (for example, MyVisioService1); or an instance of a valid SPVisioServiceApplication object.

ServiceApplicationPool

Required

Microsoft.SharePoint.PowerShell.SPIisWebServiceApplicationPoolPipeBind

Specifies the IIS application pool to change. The Web service for the service application runs in the specified application pool.

The type must be a valid name of a Visio Service application pool, such as MyVisioServiceAppPool1; or a valid GUID, such as 12345678-90ab-cdef-1234-567890bcdefgh, or an instance of a valid SPIisWebServiceApplicationPoolPipeBind object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Set-SPVisioServiceApplication cmdlet sets the ServiceApplicationPool property for a Visio Services application.

Input Types

Return Types

Example

-----------------EXAMPLE 1----------------------

Copy Code
Set-SPVisioServiceApplication -identity "VGS1" -ServiceApplicationPool "SharePoint Web Services System Default"

This example changes the application pool of the VGS1 service application.

-----------------EXAMPLE 2----------------------

Copy Code
Get-SPServiceApplicationPool "SharePoint Web Services Default" | Set-SPVisioServiceApplication VGS1

This example changes the application pool of the VGS1 service application. The results are piped from the Get-SPServiceApplicationPool cmdlet.

See Also

Reference

New-SPVisioServiceApplication
Get-SPVisioServiceApplication
Get-SPVisioServiceApplication


Web Analytics cmdlets (SharePoint Server 2010)
See Also

Web Analytics Service is a service application in Microsoft SharePoint Server 2010 that you can use to perform site usage statistics and reporting within a browser.

You can use Windows PowerShell functionality to provision the Web Analytics Service; manage and configure the service application, storage settings, and quotas; and configure the global settings of the service application.

Cmdlet name | Description
Get-SPWebAnalyticsServiceApplication | Returns the settings for a Web Analytics Service application.
Get-SPWebAnalyticsServiceApplicationProxy | Retrieves a new Web Analytics Service application proxy.
New-SPWebAnalyticsServiceApplication | Adds a new Web Analytics Service application to the farm.
New-SPWebAnalyticsServiceApplicationProxy | Adds a new Web Analytics Service application proxy to the farm.
Set-SPWebAnalyticsServiceApplication | Sets properties of a Web Analytics Service application.
Set-SPWebAnalyticsServiceApplicationProxy | Sets a new proxy for the Web Analytics Service application.

See Also

Other Resources

Resource Center: Windows PowerShell for SharePoint Server 2010


Get-SPWebAnalyticsServiceApplication
See Also Example
[image]

Published: May 12, 2010

Returns the settings for a Web Analytics Service application.

Get-SPWebAnalyticsServiceApplication [-Identity] <WebAnalyticsServiceApplicationPipeBind> [-AssignmentCollection <SPAssignmentCollection>]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.Office.Server.WebAnalytics.Administration.Cmdlets.WebAnalyticsServiceApplicationPipeBind

Specifies the Web Analytics Service application to get.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a Web Analytics Service application (for example, WebAnalyticsApp1); or an instance of a valid WebAnalyticsServiceApplication object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Detailed Description

The Get-WebAnalyticsServiceApplication cmdlet reads the settings for a Web Analytics Service application.

Input Types

Return Types

Example

----------------------EXAMPLE------------------

Copy Code
get-spwebanalyticsserviceapplication WebAnalyticsServiceApplication1

This example displays all Web Analytics Service application settings.

See Also

Reference

New-SPWebAnalyticsServiceApplication
Set-SPWebAnalyticsServiceApplication


Get-SPWebAnalyticsServiceApplicationProxy
See Also Example
[image]

Published: May 12, 2010

Retrieves a new Web Analytics Service application proxy.

Get-SPWebAnalyticsServiceApplicationProxy [-Identity] <WebAnalyticsServiceApplicationProxyPipeBind> [-AssignmentCollection <SPAssignmentCollection>]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.Office.Server.WebAnalytics.Administration.Cmdlets.WebAnalyticsServiceApplicationProxyPipeBind

Specifies the name of the Web Analytics Service application proxy to retrieve.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Detailed Description

The Get-SPWebAnalyticsServiceApplicationProxy cmdlet retrieves a Web Analytics Service application proxy from the farm.

Input Types

Return Types

Example

-----------------EXAMPLE---------------------

Copy Code
Get-SPWebAnalyticsServiceApplicationProxy -Identity "WebAnalyticsServiceApp1"

This example retrieves settings for the application proxy named WebAnalyticsServiceApp1.

See Also

Reference

New-SPWebAnalyticsServiceApplicationProxy
Set-SPWebAnalyticsServiceApplicationProxy


New-SPWebAnalyticsServiceApplication
See Also Example
[image]

Published: May 12, 2010

Adds a new Web Analytics Service application to the farm.

New-SPWebAnalyticsServiceApplication -ApplicationPool <SPIisWebServiceApplicationPoolPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-EnableDataTrimming <SwitchParameter>] [-ListOfReportingDatabases <String>] [-ListOfStagingDatabases <String>] [-MaxAggregationDepth <String>] [-MinAggregationDepth <String>] [-Name <String>] [-ReportingDataRetentionPeriod <Int32>] [-SamplingRate <Int32>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

ApplicationPool

Required

Microsoft.SharePoint.PowerShell.SPIisWebServiceApplicationPoolPipeBind

Specifies the existing IIS application pool to run the Web service in the service application.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid URL of a search application, in the form http://server_name; or an instance of a valid SPIisWebServiceApplicationPool object.

Name

Optional

System.String

Specifies the display name for the new Web Analytics Service application. The name that you use must be a unique name of a Web Analytics Service application in this farm. The name can be a maximum of 128 characters and cannot include the invalid characters comma (,), equal sign (=), or colon (:).

The type must be a valid name of a service application proxy; for example, WebAnalyticsSvc1.

ReportingDataRetentionPeriod

Optional

System.Int32

Specifies the period, in months, that data is retained in the Web Analytics Reporting database. The default value is 25.

An integer in the range from 1 to 25.

ListOfReportingDatabases

Optional

System.String

Specifies the server and database name for the Web Analytics Reporting database. The parameter value is an XML string that contains the server name and the database name.

The type must be a valid XML string.

ListOfStagingDatabases

Optional

System.String

Specifies the server and database name for the Web Analytics Staging database. The parameter value is an XML string that contains the server name and the database name.

The type must be a valid XML string.

MaxAggregationDepth

Optional

System.String

Specifies the maximum aggregation depth that the Report Consolidator component will use to aggregate data. The MaxAggregationDepth parameter should always be used in conjunction with the MinAggregationDepth parameter

The value specified for the MaxAggregationDepth parameter should always be higher than the MinAggregationDepth parameter value.

The range of possible values in ascending order are: All, WebApplication, SiteCollection, Site,

The default value is Web Application.

MinAggregationDepth

Optional

System.String

Specifies the minimum aggregation depth that the Report Consolidator component will use to aggregate data. The MinAggregationDepth parameter should always be used in conjunction with the MaxAggregationDepth parameter

The value specified for the MinAggregationDepth parameter should be lower than the MaxAggregationDepth parameter value.

The range of possible values in ascending order are: Web Application, SiteCollection, Site,

The default value is WebApplication.

SamplingRate

Optional

System.Int32

Specifies the sample rate of incoming data. This controls the throttling to reduce the amount of data to be processed. A backend process estimates the original traffic numbers. The default value is 100.

The type must be an integer in the range of 0 to 100.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

EnableDataTrimming

Optional

System.Management.Automation.SwitchParameter

When enabled, the number of rows of data in the reporting database is trimmed to 20,000 rows per day per component (Site, Site collection, Web Application). Typically, the EnableDataTrimming parameter is enabled for improving performance of the Web Analytics Report Consolidator component.

The default value is false.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The New-WebAnalyticsServiceApplication cmdlet creates a new Web Analytics Service application in the farm.

Input Types

Return Types

Example

---------------------EXAMPLE-------------------

Copy Code
New-SPWebAnalyticsServiceApplication -Name WebAnalyticsServiceApplication1 -ReportingDataRetention 20 -SamplingRate 100 -ApplicationPool WebAnalyticsServiceApplication1

This example creates a new Web Analytics Service application.

See Also

Reference

Get-SPWebAnalyticsServiceApplication
Set-SPWebAnalyticsServiceApplication


New-SPWebAnalyticsServiceApplicationProxy
See Also Example
[image]

Published: May 12, 2010

Adds a new Web Analytics Service application proxy to the farm.

New-SPWebAnalyticsServiceApplicationProxy [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-Name <String>] [-ServiceApplication <WebAnalyticsServiceApplicationPipeBind>] [-URI <String>] [-ViewDataPermissionLevel <String>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

ServiceApplication

Optional

Microsoft.Office.Server.WebAnalytics.Administration.Cmdlets.WebAnalyticsServiceApplicationPipeBind

The Web Analytics Service Application that is associated with the new service application proxy. The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a Web Analytics Service Application (for example, WebAnalyticsApp1); or an instance of a valid WebAnalyticsServiceApplication object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

Name

Optional

System.String

Provides a unqiue name for the Web Analytics Service application.

URI

Optional

System.String

Specifies the address of the Web Analytics service application to associate the new application proxy with.

ViewDataPermissionLevel

Optional

System.String

Specifies the security level restriction set on the proxy that is used to authenticate a request.Valid values are High and Medium. A value of High specifies that the user's credentials will be used to authenticate the request. A value of Medium specifies that the SPContext object of the request is used for authentication.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The New-WebAnalyticsServiceApplicationProxy cmdlet creates a new Web Analytics Service application proxy to the farm or creates an instance of a Web Analytics Service application proxy.

Input Types

Return Types

Example

----------------EXAMPLE----------------

Copy Code
New-SPWebAnalyticsServiceApplicationProxy -Name WebAnalyticsServiceApplicationProxy1 -ServiceApplication WebAnalyticsServiceApplication1

This example creates a new Web Analytics Service application proxy.

See Also

Reference

Get-SPWebAnalyticsServiceApplicationProxy
Set-SPWebAnalyticsServiceApplicationProxy


Set-SPWebAnalyticsServiceApplication
See Also Example
[image]

Published: May 12, 2010

Sets properties of a Web Analytics Service application.

Set-SPWebAnalyticsServiceApplication [-Identity] <WebAnalyticsServiceApplicationPipeBind> [-ApplicationPool <SPIisWebServiceApplicationPoolPipeBind>] [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-EnableDataTrimming <SwitchParameter>] [-ListOfReportingDatabases <String>] [-ListOfStagingDatabases <String>] [-MaxAggregationDepth <String>] [-MinAggregationDepth <String>] [-ReportConsolidationStartTime <Int32>] [-ReportingDataRetentionPeriod <Int32>] [-SamplingRate <Int32>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.Office.Server.WebAnalytics.Administration.Cmdlets.WebAnalyticsServiceApplicationPipeBind

Specifies the Web Analytics Service application to update.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a Web Analytics Service application (for example, WebAnalyticsApp1); or an instance of a valid WebAnalyticsServiceApplication object.

ApplicationPool

Optional

Microsoft.SharePoint.PowerShell.SPIisWebServiceApplicationPoolPipeBind

Specifies the name of the application pool in the form of a GUID. You can pass in the object name from the New-SPIisWebServiceApplicationPool cmdlet.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

EnableDataTrimming

Optional

System.Management.Automation.SwitchParameter

When enabled, the number of rows of data in the reporting database is trimmed to 20,000 rows per day per component (Site, Site collection, Web Application). Typically, the EnableDataTrimming parameter is enabled for improving performance of the Web Analytics Report Consolidator component.

The default value is false.

ReportingDataRetentionPeriod

Optional

System.Int32

Specifies the period, in months, that data is retained in the Web Analytics Reporting database. The default value is 25.

An integer in the range from 1 to 25.

ReportConsolidationStartTime

Optional

System.Int32

Specifies the time expressed in hours that the report consolidation process is started. The default value is 3.

A valid integer between 1 and 23.

SamplingRate

Optional

System.Int32

Specifies the sample rate of incoming data. This controls the throttling to reduce the amount of data to be processed. A backend process estimates the original traffic numbers. The default value is 100.

The type must be an integer in the range of 0 to 100.

ListOfReportingDatabases

Optional

System.String

Specifies the server and database name for the Web Analytics Reporting database. The parameter value is an XML string that contains the server name and the database name.

The type must be a valid XML string.

ListOfStagingDatabases

Optional

System.String

Specifies the server and database name for the Web Analytics Staging database. The parameter value is an XML string that contains the server name and the database name.

The type must be a valid XML string.

MaxAggregationDepth

Optional

System.String

Specifies the maximum aggregation depth that the Report Consolidator component will use to aggregate data. The MaxAggregationDepth parameter should always be used in conjunction with the MinAggregationDepth parameter

The value specified for the MaxAggregationDepth parameter should always be higher than the MinAggregationDepth parameter value.

The range of possible values in ascending order are: All,WebApplication, SiteCollection, Site

The default value is WebApplication.

MinAggregationDepth

Optional

System.String

Specifies the minimum aggregation depth that the Report Consolidator component will use to aggregate data. The MinAggregationDepth parameter should always be used in conjunction with the MaxAggregationDepth parameter

The value specified for the MinAggregationDepth parameter should be lower than the MaxAggregationDepth parameter value.

The range of possible values in ascending order are: Web Application, SiteCollection, Site,

The default value is WebApplication.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Set-WebAnalyticsServiceApplication cmdlet sets the properties of a Web Analytics Service application.

Input Types

Return Types

Example

-------------------EXAMPLE 1---------------

Copy Code
Set-SPWebAnalyticsServiceApplication -Identity WebAnalyticsServiceApplication1 -ReportingDataRetentionPeriod 20 -SamplingRate 90

This example sets the reporting data retention and sampling rate for a Web Analytics Service application named WebAnalyticsServiceApplication1.

-------------------EXAMPLE 2---------------

Copy Code
Set-SPWebAnalyticsServiceApplication -Identity WebAnalyticsServiceApplication1 -ReportingDataRetentionPeriod 20 -SamplingRate 90 -ListOfReportingDatabases "<ReportingDatabases><ReportingDatabase ServerName='ap64bitbvt03-8' DatabaseName='R9'/></Reporting Databases>" -ListOfStagingDatabases "<StagingDatabases><StagingDatabase ServerName='ap64bitbvt03-8' DatabaseName='S9'/> <StagingDatabase ServerName='ap64bitbvt03-8' DatabaseName = 'S10'/></StagingDatabases>" -ApplicationPool "Sharepoint Web Services Default"

This example sets reporting data retention period, sampling rate, reporting database list, staging database list and application pool for a Web Analytics Service application named WebAnalyticsServiceApplication1.

See Also

Reference

Get-SPWebAnalyticsServiceApplication
New-SPWebAnalyticsServiceApplication


Set-SPWebAnalyticsServiceApplicationProxy
See Also Example
[image]

Published: May 12, 2010

Sets a new proxy for the Web Analytics Service application.

Set-SPWebAnalyticsServiceApplicationProxy [-Identity] <WebAnalyticsServiceApplicationProxyPipeBind> [-ViewDataPermissionLevel] <String> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.Office.Server.WebAnalytics.Administration.Cmdlets.WebAnalyticsServiceApplicationProxyPipeBind

Specifies the name of the Web Analytics Service application proxy.

ViewDataPermissionLevel

Required

System.String

Specifies the security level restriction set on the proxy that is used to authenticate a request.

Valid values are High and Medium. A value of High specifies that the user's credentials will be used to authenticate the request. A value of Medium specifies that the SPContext object of the request is used for authentication.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Set-SPWebAnalyticsServiceApplicationProxy sets a new Web Analytics Service application proxy to the farm.

Input Types

Return Types

Example

---------------------EXAMPLE----------------------

Copy Code
Set-SPWebAnalyticsServiceApplicationProxy -Identity "web analytics service application" -ViewDataPermissionLevel High

This example sets the Web Analytics Service application proxy permission level to High.

See Also

Reference

New-SPWebAnalyticsServiceApplicationProxy
Get-SPWebAnalyticsServiceApplicationProxy


Web application cmdlets (SharePoint Server 2010)

Published: June 24, 2010

You can use Windows PowerShell cmdlets to administer Web applications in a Microsoft SharePoint Server 2010 farm.

Cmdlet name | Description
Get-SPAlternateURL | Returns all alternate URLs that match a given set of criteria.
Get-SPMobileMessagingAccount | Retrieves mobile messaging accounts for the specified Web application.
Install-SPApplicationContent | Copies shared application data to existing Web application folders.
New-SPAlternateUrl | Creates a new public or internal URL for the specified Web application zone or resource.
Remove-SPAlternateUrl | Completely deletes the specified alternate URL.
Set-SPAlternateUrl | Configures the specified alternate URL.
Set-SPMobileMessagingAccount | Configures the specified mobile messaging account.


Get-SPAlternateURL
See Also Example
[image]

Published: May 12, 2010

Returns all alternate URLs that match a given set of criteria.

Get-SPAlternateURL [[-Identity] <SPAlternateUrlPipeBind>] [-AssignmentCollection <SPAssignmentCollection>] [-Zone <Default | Intranet | Internet | Custom | Extranet>]
Get-SPAlternateURL [[-Identity] <SPAlternateUrlPipeBind>] -WebApplication <SPWebApplicationPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Zone <Default | Intranet | Internet | Custom | Extranet>]
Get-SPAlternateURL [[-Identity] <SPAlternateUrlPipeBind>] -ResourceName <String> [-AssignmentCollection <SPAssignmentCollection>] [-Zone <Default | Intranet | Internet | Custom | Extranet>]

Parameters

1

Parameter

Required

Type

Description

Identity

Optional

Microsoft.SharePoint.PowerShell.SPAlternateUrlPipeBind

Specifies the URL or GUID of the alternate URL to get.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh, or a valid URL, in the form http://server_name.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Zone

Optional

System.String

Specifies one of the five zones with which the alternate URLs is associated.

Must be a valid zone: Default, Intranet, Internet, Extranet, or Custom

2

Parameter

Required

Type

Description

Identity

Optional

Microsoft.SharePoint.PowerShell.SPAlternateUrlPipeBind

Specifies the URL or GUID of the alternate URL to get.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh, or a valid URL, in the form http://server_name.

WebApplication

Required

Microsoft.SharePoint.PowerShell.SPWebApplicationPipeBind

Specifies the Web application from which to list alternate URLs.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Zone

Optional

System.String

Specifies one of the five zones with which the alternate URLs is associated.

Must be a valid zone: Default, Intranet, Internet, Extranet, or Custom

3

Parameter

Required

Type

Description

Identity

Optional

Microsoft.SharePoint.PowerShell.SPAlternateUrlPipeBind

Specifies the URL or GUID of the alternate URL to get.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh, or a valid URL, in the form http://server_name.

ResourceName

Required

System.String

Specifies the name of the resource from which to list alternate URLs.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Zone

Optional

System.String

Specifies one of the five zones with which the alternate URLs is associated.

Must be a valid zone: Default, Intranet, Internet, Extranet, or Custom

Detailed Description

This cmdlet contains more than one parameter set. You may only use parameters from one parameter set, and you may not combine parameters from different parameter sets. For more information about how to use parameter sets, see Cmdlet Parameter Sets.

The Get-SPAlternateURL cmdlet returns all alternate URLs that match the scope given by either the optional Identity parameter or by a combination of the optional WebApplication, Zone, or Resource parameters. Each criterion that is added narrows the scope. If no criteria are specified then all alternate URLs are returned.

If the Identity parameter is used, only the specific matching alternate URL is returned. If no alternate URL with the given identity exists at the given scope, nothing is returned.

Input Types

Return Types

Example

--------------EXAMPLE 1-----------------

Copy Code
Get-SPAlternateURL -WebApplication http://sitename

This example displays all the alternate URLs on a given Web application.

--------------EXAMPLE 2-----------------

Copy Code
Get-SPAlternateURL -ResourceName "MyResource"

This example displays all the alternate URLs for a given resource.

See Also

Reference

New-SPAlternateUrl
Set-SPAlternateUrl
Remove-SPAlternateUrl


Get-SPMobileMessagingAccount
See Also Example
[image]

Published: May 12, 2010

Retrieves mobile messaging accounts for the specified Web application.

Get-SPMobileMessagingAccount [[-Identity] <SPMobileMessagingAccountPipeBind>] -WebApplication <SPWebApplicationPipeBind> [-AssignmentCollection <SPAssignmentCollection>]

Parameters

Parameter Required Type Description

Identity

Optional

Microsoft.SharePoint.PowerShell.SPMobileMessagingAccountPipeBind

Specifies whether to return either Short Message Service (SMS) or Multimedia Messaging Service (MMS) account information. Valid values are:SMS and MMS. If you do not specify this parameter, account information is returned for both SMS and MMS.

WebApplication

Required

Microsoft.SharePoint.PowerShell.SPWebApplicationPipeBind

Specifies the identity of the Web application to delete. The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid Web application name (for example, WebApplication1212); or a valid name (for example, WebApp2423).

You either must specify WebApplication or must use the HostHeader switch and specify the full URL in the Identity parameter.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Detailed Description

The Get-SPMobileMessagingAccount cmdlet retrieves the specified mobile messaging accounts for the specified Web application.

Input Types

Return Types

Example

--------------EXAMPLE-----------------

Copy Code
Get-SPMobileMessagingAccount -WebApplication http://sitename

This example retrieves the current mobile account settings information of the Web application http://sitename.

See Also

Reference

Set-SPMobileMessagingAccount


Install-SPApplicationContent
Example
[image]

Published: May 12, 2010

Copies shared application data to existing Web application folders.

Install-SPApplicationContent [-AssignmentCollection <SPAssignmentCollection>]

Parameters

Parameter Required Type Description

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Detailed Description

The Install-SPApplicationContent cmdlet copies shared application data to existing Web application folders.

This cmdlet does not take any parameters.

Input Types

Return Types

Example

---------------------EXAMPLE--------------------

Copy Code
Install-SPApplicationContent

This example copies data to a Web application in the existing folders.


New-SPAlternateUrl
See Also Example
[image]

Published: May 12, 2010

Creates a new public or internal URL for the specified Web application zone or resource.

New-SPAlternateUrl [-Url] <String> -WebApplication <SPWebApplicationPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-Internal <SwitchParameter>] [-WhatIf [<SwitchParameter>]] [-Zone <Default | Intranet | Internet | Custom | Extranet>]
New-SPAlternateUrl [-Url] <String> -ResourceName <String> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-Internal <SwitchParameter>] [-WhatIf [<SwitchParameter>]] [-Zone <Default | Intranet | Internet | Custom | Extranet>]

Parameters

1

Parameter

Required

Type

Description

Url

Required

System.String

Specifies the public URL that users access to sign in to the Web application.

The type must be a valid URL, in the form http://server_name.

WebApplication

Required

Microsoft.SharePoint.PowerShell.SPWebApplicationPipeBind

Specifies the name, URL, or GUID of the Web application for which to create the mapping.

The type must be a valid name, URL, in the form WebApplication-1212, http://server_name, or GUID, in the form 1234-5678-9876-0987.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

Internal

Optional

System.Management.Automation.SwitchParameter

Makes this alternate URL an internal URL. If this parameter is not provided, the URL is a public URL.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Zone

Optional

System.String

Specifies one of the five zones with which the alternate URL is associated.

The type must be a valid zone: Default, Intranet, Internet, Extranet, or Custom.

2

Parameter

Required

Type

Description

Url

Required

System.String

Specifies the public URL that users access to sign in to the Web application.

The type must be a valid URL, in the form http://server_name.

ResourceName

Required

System.String

Specifies the resource name, if the alternate URL is for an external resource. If no value is specified, the value is left blank.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

Internal

Optional

System.Management.Automation.SwitchParameter

Makes this alternate URL an internal URL. If this parameter is not provided, the URL is a public URL.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Zone

Optional

System.String

Specifies one of the five zones with which the alternate URL is associated.

The type must be a valid zone: Default, Intranet, Internet, Extranet, or Custom.

Detailed Description

This cmdlet contains more than one parameter set. You may only use parameters from one parameter set, and you may not combine parameters from different parameter sets. For more information about how to use parameter sets, see Cmdlet Parameter Sets.

The New-SPAlternateUrl cmdlet creates a new public or internal URL for the specified Web application zone or resource. Use the ResourceName parameter if the alternate URL is for an external resource.

Each Web application can be associated with a collection of mappings between internal and public URLs. Both internal and public URLs consist of the protocol and domain portion of the full URL; for example, https://www.fabrikam.com. Users type a public URL to get to the SharePoint site, and that URL appears in the links on the pages. Internal URLs are in the URL requests that are sent to the SharePoint site. Many internal URLs can be associated with a single public URL in multiserver farms; for example, when a load balancer routes requests to specific IP addresses to various servers in the load-balancing cluster.

Each Web application supports five collections of mappings per URL; the five collections correspond to five zones (default, intranet, extranet, Internet, and custom). When the Web application receives a request for an internal URL in a particular zone, links on the pages returned to the user have the public URL for that zone.

Input Types

Return Types

Example

------------------EXAMPLE-----------------------

Copy Code
#create the public URL
New-SPAlternateURL https://www.contoso.com -Zone "Internet"
Copy Code
#create the internal URL
New-SPAlternateURL http://sharepoint.contoso.com -Zone "Internet" -internal

This example translates incoming requests for https://www.contoso.com into http://sharepoint.contoso.com (on the Internet zone).

When a reverse proxy is being set up to handle public URL SSL termination, alternate access mappings must be configured to handle the URL translation.

See Also

Reference

Set-SPAlternateUrl
Get-SPAlternateURL
Remove-SPAlternateUrl


Remove-SPAlternateUrl
See Also Example
[image]

Published: May 12, 2010

Completely deletes the specified alternate URL.

Remove-SPAlternateUrl [-Identity] <SPAlternateUrlPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.SharePoint.PowerShell.SPAlternateUrlPipeBind

Specifies the identity of the alternate URL to delete. The identity can be either a valid URL, in the form http://server_name, or a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Remove-SPAlternateUrl cmdlet completely deletes the alternate URL specified by the Identity parameter.

Input Types

Return Types

Example

------------------EXAMPLE 1-----------------------

Copy Code
Remove-SPAlternateURL -WebApplication http://sitename -Zone Extranet

This example deletes the extranet URL for the given Web application.

------------------EXAMPLE 2-----------------------

Copy Code
Get-SPWebApplication |%{ Get-SPAlternateURL -WebApplication $_ -Zone "Extranet" } | Remove-SPAlternateURL

This example removes all extranet alternate URLs in the farm.

See Also

Reference

New-SPAlternateUrl
Get-SPAlternateURL
Set-SPAlternateUrl


Set-SPAlternateUrl
See Also Example
[image]

Published: May 12, 2010

Configures the specified alternate URL.

Set-SPAlternateUrl [-Identity] <SPAlternateUrlPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-Url <String>] [-WhatIf [<SwitchParameter>]] [-Zone <Default | Intranet | Internet | Custom | Extranet>]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.SharePoint.PowerShell.SPAlternateUrlPipeBind

Specifies the URL or GUID of the alternate URL to change.

The type must be a valid URL, in the form http://server_name/WebApplication/site, or a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh.

Url

Required

System.String

Specifies the new alternate URL.

Zone

Required

System.String

Sets the supplied alternate URL as one of the five zones.

The type must be any one of the following values: Default, Intranet, Internet, Extranet, or Custom.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Set-SPAlternateUrl cmdlet changes the URL or zone of the alternate URL specified by the Identity parameter. This cmdlet can be used to change only the zone of internal URLs, and cannot be used to change the zone of public URLs.

Input Types

Return Types

Example

------------------EXAMPLE 1------------------

Copy Code
Set-SPAlternateURL -Identity https://www.contoso.com -Zone "Internet"

This example changes the zone of the alternate URL https://www.contoso.com.

------------------EXAMPLE 2------------------

Copy Code
Set-SPAlternateURL -Identity https://www.contoso.com -Url https://sharepoint.contoso.com -Zone "Default"

This example changes the URL and zone of the alternate URL https://www.contoso.com.

------------------EXAMPLE 3------------------

Copy Code
Get-SPAlternateURL https://www.contoso.com | Set-SPAlternateURL -Zone "Internet"

This example changes the zone of the alternate URL https://www.contoso.com.

------------------EXAMPLE 4------------------

Copy Code
Get-SPWebApplication |%{ Get-SPAlternateURL -WebApplication $_ -Zone "Extranet" } | Set-SPAlternateURL -Zone "Intranet"

This example changes the zone of the alternate URL for the specified Web application from Extranet to Intranet.

See Also

Reference

Get-SPAlternateURL
New-SPAlternateUrl
Remove-SPAlternateUrl


Set-SPMobileMessagingAccount
See Also Example
[image]

Published: May 12, 2010

Configures the specified mobile messaging account.

Set-SPMobileMessagingAccount [-Identity] <SPMobileMessagingAccountPipeBind> -WebApplication <SPWebApplicationPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Password <String>] [-ServiceName <String>] [-ServiceUrl <String>] [-UserId <String>]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.SharePoint.PowerShell.SPMobileMessagingAccountPipeBind

Specifies whether to return either Short Message Service (SMS) or Multimedia Messaging Service (MMS) account information. Valid values are SMS and MMS. If you do not specify this parameter account, information is returned for both SMS and MMS.

WebApplication

Required

Microsoft.SharePoint.PowerShell.SPWebApplicationPipeBind

Specifies the identity of the Web application that hosts the managed path to delete. The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid Web application name (for example, WebApplication1212); or a valid name (for example, WebApp2423).

You either must specify WebApplication or must use the HostHeader switch and specify the full URL in the Identity parameter.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Password

Optional

System.String

Specifies the password, if credentials are required for the account.

ServiceName

Optional

System.String

Specifies the name of the SMS service.

ServiceUrl

Optional

System.String

Specifies the URL of the SMS service.

UserId

Optional

System.String

Specifies the user name, if credentials are required for the account.

Detailed Description

The Set-SPMobileMessagingAccount cmdlet configures the specified mobile messaging account.

Input Types

Return Types

Example

------------------EXAMPLE-----------------------

Copy Code
Set-SPMobileMessagingAccount -WebApplication http://sitename -Identity SMS -ServiceName SMSLink -ServiceUrl https://www.adatum.com/Service/MessagingService.asmx-UserId someone@example.com -Password password1

This example changes the SMS mobile account settings of the Web application, http://sitename, to the following values:service name: SMSLink; service URL: https://www.adatum.com/Service/MessagingService.asmx; user ID: someone@example.com; and password: password1.

See Also

Reference

Get-SPMobileMessagingAccount


Word Services cmdlets (SharePoint Server 2010)
See Also

Word Services is a new feature in Microsoft SharePoint Server 2010 that you can use to perform automated document conversions on the server.

You can use Windows PowerShell functionality to provision Word Services from scratch or provision a new instance by using settings from a previous backup, configure and manage macro and query settings, and configure the global settings of the service.

Cmdlet name | Description
New-SPWordConversionServiceApplication | Creates a new instance of a Word Automation Services application on the farm.
Remove-SPWordConversionServiceJobHistory | Removes entries from the Word Automation Services job history database.
Set-SPWordConversionServiceApplication | Sets properties of a Word Automation Services application.

See Also

Other Resources

Resource Center: Windows PowerShell for SharePoint Server 2010


New-SPWordConversionServiceApplication
See Also Example
[image]

Published: May 12, 2010

Creates a new instance of a Word Automation Services application on the farm.

New-SPWordConversionServiceApplication [-Name] <String> -ApplicationPool <SPIisWebServiceApplicationPoolPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-DatabaseCredential <PSCredential>] [-DatabaseName <String>] [-DatabaseServer <String>] [-Default <SwitchParameter>] [-PartitionMode <SwitchParameter>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Name

Required

System.String

Specifies the name of the new Word Automation Services application.

The type must be a valid name of a Word Automation Services application; for example, WordSvcApp1.

ApplicationPool

Required

Microsoft.SharePoint.PowerShell.SPIisWebServiceApplicationPoolPipeBind

Specifies the existing IIS-managed application pool in which this instance of Word Automation Services runs.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of an application pool (for example, AppPoolName1); or an instance of a valid IISWebServiceApplicationPool object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

DatabaseCredential

Optional

System.Management.Automation.PSCredential

Specifies the credentials to use for connecting to the database for the Word Automation Services application. Use this parameter only if SQL Server Authentication is used to access the service application database.

When the DatabaseCredential parameter is specified, the DatabaseName and DatabaseServer parameters are required.

DatabaseName

Optional

System.String

Specifies the name of the database to create for the new Word Automation Services application.

The type must be a valid SQL database name; for example, MetadataDB1.

DatabaseServer

Optional

System.String

Specifies the name of the host server for the Word Automation Services database.

The type must be a valid SQL database server host name; for example, SQLServerHost1.

Default

Optional

System.Management.Automation.SwitchParameter

Specifies that the service application proxy is added to the farm's default proxy group for this Web application.

PartitionMode

Optional

System.Management.Automation.SwitchParameter

Specifies that this service behaves uniquely on a partitioned set of site collections. This property cannot be changed after the application is provisioned.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The New-SPWordConversionServiceApplication cmdlet creates a new instance of a Word Automation Services application on the farm.

Input Types

Return Types

Example

---------------EXAMPLE---------------

Copy Code
Get-SPServiceApplicationPool -Identity MyAppPool | New-SPWordConversionServiceApplication -Name WordServices1

This example creates a new Word Automation Services application named WordServices1 in an existing application pool named MyAppPool.

See Also

Reference

Set-SPWordConversionServiceApplication


Remove-SPWordConversionServiceJobHistory
Example
[image]

Published: May 12, 2010

Removes entries from the Word Automation Services job history database.

Remove-SPWordConversionServiceJobHistory [-Identity] <SPServiceApplicationPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-BeforeDate <Nullable>] [-Confirm [<SwitchParameter>]] [-IncludeActiveJobs <SwitchParameter>] [-JobId <Nullable>] [-SubscriptionId <Nullable>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.SharePoint.PowerShell.SPServiceApplicationPipeBind

Specifies the Word Automation Services application to be processed.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a Word Automation Services application (for example, WordSvcApp1); or an instance of a valid SPServiceApplication object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

BeforeDate

Optional

System.Nullable

Specifies that only jobs started before this date are to be removed.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

IncludeActiveJobs

Optional

System.Management.Automation.SwitchParameter

Specifies that jobs that contain active conversions can be removed. By default, jobs that have active conversions are not removed.

JobId

Optional

System.Nullable

Specifies that only the job with the specified ID is to be removed.

SubscriptionId

Optional

System.Nullable

Specifies that only jobs corresponding to this subscription ID are to be removed.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Remove-SPWordConversionServiceJobHistory cmdlet removes entries from the Word Automation Services job history database.

Input Types

Return Types

Example

---------------------EXAMPLE 1------------------------

Copy Code
Get-SPServiceApplication -Name TestWordServer | Remove-SPWordConversionServiceJobHistory -BeforeDate 1/1/2009

This example deletes all the items in the database before 1/1/2009.

---------------------EXAMPLE 2------------------------

Copy Code
Get-SPServiceApplication -Name TestWordServer | Remove-SPWordConversionServiceJobHistory -JobId 00000000-0000-0112-08FF-63927635FEF1 -IncludeActiveJobs

This example deletes the job with the specified ID, even if it is still processing.


Set-SPWordConversionServiceApplication
See Also Example
[image]

Published: May 12, 2010

Sets properties of a Word Automation Services application.

Set-SPWordConversionServiceApplication [-Identity] <WordServiceApplicationPipeBind> [-ActiveProcesses <Nullable>] [-AddSupportedFormats <String[]>] [-ApplicationPool <SPIisWebServiceApplicationPoolPipeBind>] [-AssignmentCollection <SPAssignmentCollection>] [-ClearSupportedFormats <SwitchParameter>] [-Confirm [<SwitchParameter>]] [-ConversionsPerInstance <Nullable>] [-ConversionTimeout <Nullable>] [-DatabaseCredential <PSCredential>] [-DatabaseName <String>] [-DatabaseServer <String>] [-DisableBinaryFileScan <SwitchParameter>] [-DisableEmbeddedFonts <SwitchParameter>] [-KeepAliveTimeout <Nullable>] [-MaximumConversionAttempts <Nullable>] [-MaximumConversionTime <Nullable>] [-MaximumGroupSize <Nullable>] [-MaximumMemoryUsage <Nullable>] [-RecycleProcessThreshold <Nullable>] [-RemoveSupportedFormats <String[]>] [-TimerJobFrequency <Nullable>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.SharePoint.PowerShell.SPServiceApplicationPipeBind

Specifies the Word Automation Services application to update.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of a Word Automation Services application (for example, WordSvcApp1); or an instance of a valid SPServiceApplication object.

ActiveProcesses

Optional

System.Nullable

Specifies the number of conversion processes on each machine on which the service application runs. This value is equivalent to the number of simultaneous conversions. The default value is 8.

The type must be a valid integer in the range from 1 to 1000.

AddSupportedFormats

Optional

System.String[]

Specifies a set of file formats to be enabled for use by the service application.

The value must be a comma-delimited list of one or more of the following: docx, doc, mht, rtf, xml.

ApplicationPool

Optional

Microsoft.SharePoint.PowerShell.SPIisWebServiceApplicationPoolPipeBind

Specifies the existing IIS managed application pool in which this instance of Word Automation Services runs.

The type must be a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of an application pool (for example, AppPoolName1); or an instance of a valid IISWebServiceApplicationPool object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

ClearSupportedFormats

Optional

System.Management.Automation.SwitchParameter

Specifies that all file formats should be disabled for use by the service application.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

ConversionsPerInstance

Optional

System.Nullable

Specifies the number of items sent to each conversion process (see the ActiveProcesses parameter description earlier in this table) every time the timer job is run. The default value is 12.

The type must be a valid integer.

ConversionTimeout

Optional

System.Nullable

Specifies the time, in minutes, after which a conversion that is marked InProgress is confirmed to be still running each time the timer job runs and, if necessary, the conversion is restarted. The default value is 5.

The type must be a valid integer in the range from 1 to 60.

DatabaseCredential

Optional

System.Management.Automation.PSCredential

Specifies the credentials to use for connecting to the database for the Word Automation Services application. Use this parameter only if SQL Authentication is used to access the service application database.

When the DatabaseCredential parameter is specified, the DatabaseName and DatabaseServer parameters are required.

DatabaseName

Optional

System.String

Specifies the name of the database to use for this instance of the Word Automation Services application.

The type must be a valid SQL database name; for example, MetadataDB1.

DatabaseServer

Optional

System.String

Specifies the name of the host server for the Word Automation Services database.

The type must be a valid SQL database server host name; for example, SQLServerHost1.

DisableBinaryFileScan

Optional

System.Management.Automation.SwitchParameter

Specifies whether additional checks are run when Microsoft Word 97 to Word 2003 documents are processed. Turn this setting off only if all documents processed by the service are trusted.

DisableEmbeddedFonts

Optional

System.Management.Automation.SwitchParameter

Specifies whether embedded fonts are ignored when present in input documents.

KeepAliveTimeout

Optional

System.Nullable

Specifies the length of time, in seconds, that a conversion can be non-responsive before it is terminated. The default value is 30.

The type must be a valid integer in the range from 10 to 60.

MaximumConversionAttempts

Optional

System.Nullable

The maximum number of conversion attempts before a conversion is marked with status "Failed". The default value is 2.

The type must be a valid integer in the range from 1 to 10.

MaximumConversionTime

Optional

System.Nullable

Specifies the maximum length of time, in seconds, that a conversion can run before it is terminated. The default value is 300.

The type must be a valid integer in the range from 60 to MaxInt.

MaximumMemoryUsage

Optional

System.Nullable

Specifies the maximum percentage of system memory which can be used by the service application. The default value is 100.

The type must be a valid integer in the range from 10 to 100.

RecycleProcessThreshold

Optional

System.Nullable

Specifies the number of documents which are converted before a conversion process is recycled. For additional information about the conversion process, see the ActiveProcess parameter description earlier in this table.

The type must be a valid integer in the range from 1 to 1000.

RemoveSupportedFormats

Optional

System.String[]

Specifies a set of file formats to be disabled for use by the service application.

The value must be a comma delimited list of one or more of the following: docx, doc, mht, rtf, xml.

TimerJobFrequency

Optional

System.Nullable

Specifies the frequency, in minutes, with which the timer job for this service application runs. The default value is 15.

The type must be a valid integer in the range from 1 to 59.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Set-SPWordConversionServiceApplication cmdlet sets global properties of a Word Automation Services application.

Input Types

Return Types

Example

-----------EXAMPLE-----------------

Copy Code
Get-SPServiceApplication -Name WordServices1 | Set-SPWordConversionServiceApplication -TimerJobFrequency 30

This example sets the timer job frequency of the WordServices1 application to 30 minutes.

See Also

Reference

New-SPWordConversionServiceApplication


Workflow management cmdlets (SharePoint Server 2010)
See Also

You can use Windows PowerShell cmdlets to manage workflows in a Microsoft SharePoint Server 2010 farm.

Cmdlet name | Description
Get-SPWorkflowConfig | Returns workflow settings for the specified Web application.
Set-SPWorkflowConfig | Configures the workflow settings for the specified Web application.
Get-SPDesignerSettings | Displays Microsoft SharePoint Designer 2010 features.
Set-SPDesignerSettings | Sets Microsoft SharePoint Designer 2010 features.

See Also

Other Resources

Resource Center: Windows PowerShell for SharePoint Server 2010


Get-SPWorkflowConfig
See Also Example
[image]

Published: May 12, 2010

Returns workflow settings for the specified Web application.

Get-SPWorkflowConfig [-WebApplication] <SPWebApplicationPipeBind> [-AssignmentCollection <SPAssignmentCollection>]
Get-SPWorkflowConfig [-SiteCollection] <SPSitePipeBind> [-AssignmentCollection <SPAssignmentCollection>]

Parameters

1

Parameter

Required

Type

Description

WebApplication

Required

Microsoft.SharePoint.PowerShell.SPWebApplicationPipeBind

Specifies the name or URL of the Web application.

The type must be a valid name, in the form WebApplication-1212, or a URL, in the form http://server_name/WebApplication-1212.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

2

Parameter

Required

Type

Description

SiteCollection

Required

Microsoft.SharePoint.PowerShell.SPSitePipeBind

Specifies the name or URL of the site collection.

The only other parameter that is used with the SiteCollection parameter is the DeclarativeWorkflowsEnabled parameter. No other parameters are used.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Detailed Description

This cmdlet contains more than one parameter set. You may only use parameters from one parameter set, and you may not combine parameters from different parameter sets. For more information about how to use parameter sets, see Cmdlet Parameter Sets.

The Get-SPWorkflowConfig cmdlet returns workflow settings for the Web application specified by the WebApplication parameter.

Input Types

Return Types

Example

--------------EXAMPLE-----------------

Copy Code
Get-SPWorkFlowConfig -webapplication http://sitename

This example gets workflow settings for the specified Web application (http://sitename).

To get farm-level workflow settings for event delivery time-out, postpone threshold, and batch size, use the Get-SPFarmConfig cmdlet.

See Also

Reference

Set-SPWorkflowConfig


Set-SPWorkflowConfig
See Also Example
[image]

Published: May 12, 2010

Configures the workflow settings for the specified Web application.

Set-SPWorkflowConfig [-WebApplication] <SPWebApplicationPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-DeclarativeWorkflowsEnabled <$true | $false>] [-EmailNoPermissionParticipantsEnabled <$true | $false>] [-SendDocumentToExternalParticipants <$true | $false>]
Set-SPWorkflowConfig [-SiteCollection] <SPSitePipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-DeclarativeWorkflowsEnabled <$true | $false>] [-EmailNoPermissionParticipantsEnabled <$true | $false>] [-SendDocumentToExternalParticipants <$true | $false>]

Parameters

1

Parameter

Required

Type

Description

WebApplication

Required

Microsoft.SharePoint.PowerShell.SPWebApplicationPipeBind

Specifies the name or URL of the Web application.

The type must be a valid name or GUID, in the form WebApplication-1212, or a URL, in the form http://server_name/WebApplication-1212.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

DeclarativeWorkflowsEnabled

Optional

System.Boolean

Sets whether declarative workflows are allowed to run in the Web application.

The type must be either 1 for True or 0 for False.

EmailNoPermissionParticipantsEnabled

Optional

System.Boolean

Sets whether workflows send task e-mail messages to users who do not have permissions to the site in which the workflows are running.

The type must be either 1 for True or 0 for False.

SendDocumentToExternalParticipants

Optional

System.Boolean

Sets whether workflows automatically send a copy of the document as an e-mail attachment to participants who do not have access to the site or who are not in any linked directory other than Active Directory Domain Services (AD DS).

The type must be either 1 for True or 0 for False.

2

Parameter

Required

Type

Description

SiteCollection

Required

Microsoft.SharePoint.PowerShell.SPSitePipeBind

Specifies the name or URL of the site collection.

The only other parameter that is used with the SiteCollection parameter is the DeclarativeWorkflowsEnabled parameter. No other parameters are used.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

DeclarativeWorkflowsEnabled

Optional

System.Boolean

Sets whether declarative workflows are allowed to run in the Web application.

The type must be either 1 for True or 0 for False.

EmailNoPermissionParticipantsEnabled

Optional

System.Boolean

Sets whether workflows send task e-mail messages to users who do not have permissions to the site in which the workflows are running.

The type must be either 1 for True or 0 for False.

SendDocumentToExternalParticipants

Optional

System.Boolean

Sets whether workflows automatically send a copy of the document as an e-mail attachment to participants who do not have access to the site or who are not in any linked directory other than Active Directory Domain Services (AD DS).

The type must be either 1 for True or 0 for False.

Detailed Description

This cmdlet contains more than one parameter set. You may only use parameters from one parameter set, and you may not combine parameters from different parameter sets. For more information about how to use parameter sets, see Cmdlet Parameter Sets.

Use the Set-SPWorkflowConfig cmdlet to configure the workflow settings for the specified Web application.

Input Types

Return Types

Example

------------------EXAMPLE-----------------------

Copy Code
Set-SPWorkflowConfig -webapplication http://sitename DeclarativeWorkflowsEnabled $true -EmailNoPermissionParticipantsEnabled $true -SendDocumentToExternalParticipants $false

This example sets the workflow settings for the specified Web application to turn on declarative workflows, turn on e-mail to participants who do not have permissions to the site, and turn off the functionality to send e-mail messages as attachments to external participants.

No return values. Use the Get-SPWorkflowConfig cmdlet to see values. To set farm-level workflow settings for event-delivery time-out and to postpone threshold and batch size, use Set-SPFarmConfig.

See Also

Reference

Get-SPWorkflowConfig


Get-SPDesignerSettings
See Also Example
[image]

Published: May 12, 2010

Displays Microsoft SharePoint Designer 2010 features.

Get-SPDesignerSettings [-WebApplication] <SPWebApplicationPipeBind> [-AssignmentCollection <SPAssignmentCollection>]

Parameters

Parameter Required Type Description

WebApplication

Required

Microsoft.SharePoint.PowerShell.SPWebApplicationPipeBind

Specifies the Web application in which the settings apply.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Detailed Description

The Get-SPDesignerSettings cmdlet determines whether SharePoint Designer 2010 features are enabled on the specified Web application.

Input Types

Return Types

Example

---------------------EXAMPLE------------------------

Copy Code
Get-SPDesignerSettings -webapplication http://contoso

This example retrieves the SharePoint Designer 2010 settings for the Web application, http://contoso.

See Also

Reference

Set-SPDesignerSettings


Set-SPDesignerSettings
See Also Example
[image]

Published: May 12, 2010

Sets Microsoft SharePoint Designer 2010 features.

Set-SPDesignerSettings [-WebApplication] <SPWebApplicationPipeBind> [-AllowDesigner <$true | $false>] [-AllowMasterPageEditing <$true | $false>] [-AllowRevertFromTemplate <$true | $false>] [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-ShowURLStructure <$true | $false>] [-WhatIf [<SwitchParameter>]]

Parameters

Parameter Required Type Description

WebApplication

Required

Microsoft.SharePoint.PowerShell.SPWebApplicationPipeBind

Specifies the Web application in which the settings will apply.

AllowDesigner

Optional

System.Boolean

Specifies whether to allow users to edit sites in a web application by using Microsoft SharePoint Designer 2010. The default value is True

AllowMasterPageEditing

Optional

System.Boolean

Specifies whether to allow site administrators to customize master pages and layout pages using Microsoft SharePoint Designer 2010. The default value is True.

AllowRevertFromTemplate

Optional

System.Boolean

Specifies whether to allow site administrators to detach pages from the original site definition using Microsoft SharePoint Designer 2010. The default value is True.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

ShowURLStructure

Optional

System.Boolean

Specifies whether to allow site administrators to manage the URL structure of their Web sites by using Microsoft SharePoint Designer 2010. The default value is True.

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

The Set-SPDesignerSettings cmdlet sets SharePoint Designer 2010 features on a specified Web application when the WebApplicaton is used.

Input Types

Return Types

Example

-------------------EXAMPLE--------------------

Copy Code
Set-SPDesignerSettings -WebApplication http://constoso -AllowRevertFromTemplate $False -AllowMasterPageEditing $False

This example disables the ability to detach pages from existing site definitions and to edit master pages and page layouts.

See Also

Reference

Get-SPDesignerSettings


Index of SharePoint Server 2010 Windows PowerShell cmdlets

This article contains lists of Windows PowerShell cmdlets that are included with Microsoft SharePoint Server 2010 in verb order and noun order.

In this article:

  • SharePoint Server 2010 cmdlets in verb order

  • SharePoint Server 2010 cmdlets in noun order

SharePoint Server 2010 cmdlets in verb order

Cmdlet name | Description
Add-SPClaimTypeMapping | Adds a claim mapping to a trusted security token service (STS) identity provider.
Add-SPDiagnosticsPerformanceCounter | Adds an instance of a performance counter.
Add-SPInfoPathUserAgent | Adds a user agent to a farm.
Add-SPProfileLeader | Adds a company leader.
Add-SPServiceApplicationProxyGroupMember | Adds a member to the service application proxy group.
Add-SPShellAdmin | Adds a user to the SharePoint_Shell_Access role for the specified database.
Add-SPSiteSubscriptionFeaturePackMember | Adds a feature to a SharePoint feature set.
Add-SPSiteSubscriptionProfileConfig | Adds a new site subscription to a User Profile Service application.
Add-SPSolution | Uploads a SharePoint solution package to the farm.
Add-SPUserSolution | Uploads a new sandboxed solution to the solution gallery.
Backup-SPConfigurationDatabase | Performs a farm-level configuration-only backup.
Backup-SPFarm | Creates a backup of an individual database, Web application, or the entire farm.
Backup-SPSite | Performs a backup of a site collection.
Clear-SPLogLevel | Resets the Windows trace logging and event logging levels to their default values.
Clear-SPMetadataWebServicePartitionData | Removes all data for a site subscription on a metadata Web service application
Clear-SPPerformancePointServiceApplicationTrustedLocation | Clears all the trusted locations for a PerformancePoint Services application identity
Clear-SPSecureStoreCredentialMapping | Deletes a credential mapping from a Secure Store Service application.
Clear-SPSecureStoreDefaultProvider | Clears the secure store provider.
Clear-SPSiteSubscriptionBusinessDataCatalogConfig | Deletes all data from the Business Data Connectivity Metadata Store for a specified partition.
Connect-SPConfigurationDatabase | Connects the local server computer to a farm.
Copy-SPBusinessDataCatalogAclToChildren | Copies a set of permissions of a Business Data Connectivity Metadata Store metadata object to its child objects.
Disable-SPBusinessDataCatalogEntity | Deactivates an external content type in the Business Data Connectivity Metadata Store.
Disable-SPFeature | Disables an installed SharePoint feature at a given scope.
Disable-SPInfoPathFormTemplate | Deactivates an InfoPath 2010 form template from the specified site collection.
Disable-SPSessionStateService | Turns off the session state service on the farm
Disable-SPSingleSignOn | Disables the single sign-on (SSO) service on a farm server.
Disable-SPTimerJob | Disables a timer job.
Disable-SPWebApplicationHttpThrottling | Turns off network throttling for a Web application.
Disconnect-SPConfigurationDatabase | Disconnects the local server computer from the farm.
Dismount-SPContentDatabase | Detaches a content database from the Web application it is currently associated with.
Dismount-SPStateServiceDatabase | Removes the association to a state service database from the farm without dropping the database in the Microsoft SQL Server database
Enable-SPBusinessDataCatalogEntity | Activates an external content type in the Business Data Connectivity Metadata Store.
Enable-SPFeature | Enables an installed SharePoint feature at the given scope.
Enable-SPInfoPathFormTemplate | Activates an InfoPath 2010 form template in the specified site collection.
Enable-SPSessionStateService | Creates a session state database and turns on the session state service
Enable-SPTimerJob | Enables a timer job.
Enable-SPWebApplicationHttpThrottling | Turns on network throttling for a Web application.
Export-SPBusinessDataCatalogModel | Exports a Business Data Connectivity Model.
Export-SPEnterpriseSearchTopology | Exports an existing search topology.
Export-SPInfoPathAdministrationFiles | Saves InfoPath 2010 form templates on the SharePoint Central Administration Web site and .udcx files to a .cab file.
Export-SPMetadataWebServicePartitionData | Exports the data from a metadata Web service for a site subscription.
Export-SPSiteSubscriptionBusinessDataCatalogConfig | Exports all data from the Business Data Connectivity Metadata Store associated with a partition.
Export-SPSiteSubscriptionSettings | Creates a backup file of site subscription data.
Export-SPWeb | Exports a site collection, Web application, list, or library.
Get-SPAccessServiceApplication | Returns an Access Services application or a collection of Access Services applications.
Get-SPAlternateURL | Returns all alternate URLs that match a given set of criteria.
Get-SPAuthenticationProvider | Returns an authentication provider.
Get-SPBackupHistory | Returns a history of backup and restore operations.
Get-SPBrowserCustomerExperienceImprovementProgram | Returns the current opt-in state for the browser Customer Experience Improvement Program.
Get-SPBusinessDataCatalogMetadataObject | Returns a Business Data Connectivity Metadata Store metadata object.
Get-SPBusinessDataCatalogThrottleConfig | Returns the throttling configuration for a Business Data Connectivity Service application.
Get-SPCertificateAuthority | Returns the SharePoint certificate authority (CA).
Get-SPClaimProvider | Returns a claim provider.
Get-SPClaimProviderManager | Returns a claim provider manager.
Get-SPContentDatabase | Returns one or more content databases.
Get-SPContentDeploymentJob | Returns a content deployment job or a collection of content deployment jobs.
Get-SPContentDeploymentPath | Returns a content deployment path or a collection of content deployment paths.
Get-SPCustomLayoutsPage | Returns a mapping to a custom layout page.
Get-SPDatabase | Retrieves all properties of a database.
Get-SPDataConnectionFile | Returns a data connection file or a collection of data connection files.
Get-SPDataConnectionFileDependent | Returns deployed forms on the server dependent on a universal data connection.
Get-SPDesignerSettings | Displays Microsoft SharePoint Designer 2010 features.
Get-SPDiagnosticConfig | Retrieves ULS diagnostic configuration values of the farm.
Get-SPDiagnosticsPerformanceCounter | Returns a collection of performance counters.
Get-SPDiagnosticsProvider | Returns a diagnostics provider.
Get-SPEnterpriseSearchAdministrationComponent | Returns the administration component for a search service application.
Get-SPEnterpriseSearchCrawlComponent | Returns a crawl component for a shared search application.
Get-SPEnterpriseSearchCrawlContentSource | Returns a crawl content source.
Get-SPEnterpriseSearchCrawlCustomConnector | Returns a CustomConnector object type.
Get-SPEnterpriseSearchCrawlDatabase | Returns a crawl store.
Get-SPEnterpriseSearchCrawlExtension | Returns the file types to be included in the content index.
Get-SPEnterpriseSearchCrawlMapping | Returns a crawl mapping for the search application.
Get-SPEnterpriseSearchCrawlRule | Accesses crawl rules.
Get-SPEnterpriseSearchCrawlTopology | Returns a crawl topology.
Get-SPEnterpriseSearchExtendedClickThroughExtractorJobDefinition | Gets an object representing the click-through extractor-job instance of a specific FAST Search for SharePoint search service application.
Get-SPEnterpriseSearchExtendedConnectorProperty | Returns the value of the property of the search service application.
Get-SPEnterpriseSearchExtendedQueryProperty | Returns the properties used for connecting SharePoint to a FAST Search for SharePoint service.
Get-SPEnterpriseSearchIndexPartition | Returns an index partition for a query topology.
Get-SPEnterpriseSearchLanguageResourcePhrase | Returns a language resource phrase.
Get-SPEnterpriseSearchMetadataCategory | Returns a crawled property category.
Get-SPEnterpriseSearchMetadataCrawledProperty | Returns a crawled property.
Get-SPEnterpriseSearchMetadataManagedProperty | Returns a managed property.
Get-SPEnterpriseSearchMetadataMapping | Returns the current state of a managed property mapping.
Get-SPEnterpriseSearchPropertyDatabase | Returns a property store.
Get-SPEnterpriseSearchQueryAndSiteSettingsService | Returns the search manager service.
Get-SPEnterpriseSearchQueryAndSiteSettingsServiceInstance | Returns the service manager service instance.
Get-SPEnterpriseSearchQueryAndSiteSettingsServiceProxy | Returns the search manager service proxy.
Get-SPEnterpriseSearchQueryAuthority | Returns an authoritative page.
Get-SPEnterpriseSearchQueryComponent | Returns a query component.
Get-SPEnterpriseSearchQueryDemoted | Returns a demoted site rule.
Get-SPEnterpriseSearchQueryKeyword | Returns a keyword term.
Get-SPEnterpriseSearchQueryScope | Returns a query results scope.
Get-SPEnterpriseSearchQueryScopeRule | Returns a shared scope rule.
Get-SPEnterpriseSearchQuerySuggestionCandidates | Returns a list of queries.
Get-SPEnterpriseSearchQueryTopology | Returns a query topology.
Get-SPEnterpriseSearchRankingModel | Returns a ranking model.
Get-SPEnterpriseSearchSecurityTrimmer | Returns a custom security trimmer.
Get-SPEnterpriseSearchService | Returns the search service for a farm.
Get-SPEnterpriseSearchServiceApplication | Returns the search service application for a farm.
Get-SPEnterpriseSearchServiceApplicationProxy | Returns the search service application proxy.
Get-SPEnterpriseSearchServiceInstance | Returns the search service instance for a farm.
Get-SPEnterpriseSearchSiteHitRule | Returns the shared site hit rule.
Get-SPExcelBlockedFileType | Returns a file type or list of file types that are prevented from being loaded.
Get-SPExcelDataConnectionLibrary | Returns a trusted data connection library or a list of trusted data connection libraries.
Get-SPExcelDataProvider | Returns a safe data provider or a list of safe data providers.
Get-SPExcelFileLocation | Returns a trusted file location or a list of trusted file locations.
Get-SPExcelServiceApplication | Returns an SPExcelServiceApplication object.
Get-SPExcelUserDefinedFunction | Returns a user-defined function or a collection of user-defined functions.
Get-SPFarm | Returns the local SharePoint farm.
Get-SPFarmConfig | Returns a global property or a collection of global properties for the local farm.
Get-SPFeature | Returns the SharePoint features based on a given scope.
Get-SPHelpCollection | Returns Help collection files.
Get-SPInfoPathFormsService | Returns the InfoPath Forms Services in SharePoint Server 2010 settings that are in the farm.
Get-SPInfoPathFormTemplate | Returns an InfoPath 2010 form template.
Get-SPInfoPathUserAgent | Returns a user agent or all the currently defined user agents for the farm.
Get-SPInfoPathWebServiceProxy | Returns the Web proxy settings for the Web application.
Get-SPLogEvent | Returns results from a Unified Logging Service (ULS) trace log.
Get-SPLogLevel | Returns a list of objects or diagnostic levels.
Get-SPManagedAccount | Retrieves accounts registered in the configuration database.
Get-SPManagedPath | Returns all managed paths that match the given criteria.
Get-SPMetadataServiceApplication | Returns the properties of a service application or a collection of service applications.
Get-SPMetadataServiceApplicationProxy | Returns the properties of a service application proxy or a collection of service application proxies.
Get-SPMobileMessagingAccount | Retrieves mobile messaging accounts for the specified Web application.
Get-SPPerformancePointSecureDataValues | Displays unattended service account settings.
Get-SPPerformancePointServiceApplication | Returns a PerformancePoint Service application object and properties.
Get-SPPerformancePointServiceApplicationTrustedLocation | Returns a trusted location object and properties for a PerformancePoint Services application.
Get-SPProcessAccount | Returns a system account or a managed account.
Get-SPProduct | Returns a list of the SharePoint-related products installed in the farm and the versions of all updates installed for each product.
Get-SPProfileLeader | Returns the current company leaders.
Get-SPProfileServiceApplicationSecurity | Returns permission and identity information.
Get-SPSearchService | Returns a search service.
Get-SPSearchServiceInstance | Returns an instance of a search service.
Get-SPSecureStoreApplication | Returns a Secure Store application.
Get-SPSecurityTokenServiceConfig | Returns the security token service (STS) for the farm.
Get-SPServer | Returns the server or servers in the farm that match the given identity.
Get-SPServiceApplication | Returns the specified service application.
Get-SPServiceApplicationEndpoint | Returns the endpoint of a service application.
Get-SPServiceApplicationPool | Returns the specified Internet Information Services (IIS) application pool.
Get-SPServiceApplicationProxy | Returns an instance of the specified service application proxy.
Get-SPServiceApplicationProxyGroup | Returns the proxy group for the specified service application.
Get-SPServiceApplicationSecurity | Returns the SPObjectSecurity object for a service application.
Get-SPServiceContext | Returns a service context.
Get-SPServiceHostConfig | Returns the common Web service settings.
Get-SPServiceInstance | Returns the services instance for a specific server or the entire farm.
Get-SPSessionStateService | Returns the properties of the session state service, including time-out and database settings
Get-SPShellAdmin | Returns the names of all users who have the SharePoint_Shell_Access role.
Get-SPSite | Returns all site collections that match the given criteria.
Get-SPSiteAdministration | Returns a site administration object that farm administrators can use to view certain information about site collections to which they might not have access.
Get-SPSiteSubscription | Returns the site subscription for the given URL or all site subscriptions in the local farm.
Get-SPSiteSubscriptionConfig | Returns the configuration properties of a site subscription.
Get-SPSiteSubscriptionEdiscoveryHub | Displays the eDiscovery hub for a site subscription.
Get-SPSiteSubscriptionEdiscoverySearchScope | Displays the search scope for the eDiscovery hub of the specified site collection.
Get-SPSiteSubscriptionFeaturePack | Retrieves available SharePoint feature sets or the Feature set assigned to a given site subscription.
Get-SPSiteSubscriptionMetadataConfig | Returns the site subscription configuration settings for a metadata service application.
Get-SPSolution | Returns a specified SharePoint solution.
Get-SPStateServiceApplication | Returns state service applications on the farm
Get-SPStateServiceApplicationProxy | Returns state service application proxies on the farm.
Get-SPStateServiceDatabase | Returns a state service database.
Get-SPTaxonomySession | Returns a TaxonomySession object.
Get-SPTimerJob | Returns timer jobs.
Get-SPTopologyServiceApplication | Displays properties of the topology service application for the current farm.
Get-SPTopologyServiceApplicationProxy | Retrieves the topology service application proxy.
Get-SPTrustedIdentityTokenIssuer | Returns an identity provider.
Get-SPTrustedRootAuthority | Returns a trusted root authority.
Get-SPTrustedServiceTokenIssuer | Returns the object that represents the farm trust.
Get-SPUsageApplication | Returns a specified usage application.
Get-SPUsageDefinition | Returns a usage definition object.
Get-SPUsageService | Returns a usage service.
Get-SPUser | Returns the user account or accounts that match a given search criteria.
Get-SPUserSolution | Returns a specified sandboxed solution.
Get-SPVisioExternalData | Returns the settings for external data connections for a Visio Services application.
Get-SPVisioPerformance | Returns the Visio Services settings for the performance of a Visio Services application.
Get-SPVisioSafeDataProvider | Returns the settings of a safe data provider for a Visio Services application.
Get-SPVisioServiceApplication | Returns properties of a Visio Services application or a collection of Visio Services applications.
Get-SPVisioServiceApplicationProxy | Returns properties of a Visio Services application proxy or a collection of Visio Services application proxies
Get-SPWeb | Returns all subsites that match the given criteria.
Get-SPWebAnalyticsServiceApplication | Returns the settings for a Web Analytics Service application.
Get-SPWebAnalyticsServiceApplicationProxy | Retrieves a new Web Analytics Service application proxy.
Get-SPWebApplication | Returns all Web applications that match the given criteria.
Get-SPWebApplicationHttpThrottlingMonitor | Reads all counters for network throttling on a Web application.
Get-SPWebPartPack | Returns the Web Part packages that were installed for the specified scope.
Get-SPWebTemplate | Displays all globally installed site templates that match the given identity.
Get-SPWorkflowConfig | Returns workflow settings for the specified Web application.
Grant-SPBusinessDataCatalogMetadataObject | Grants a right to a principal for the specified Business Data Connectivity Metadata Store metadata object.
Grant-SPObjectSecurity | Adds a new security principal to an SPObjectSecurity object.
Grant-SPServiceApplication | Grants a user account access to the service application.
Import-SPBusinessDataCatalogDotNetAssembly | Imports data that is associated with the Business Data Connectivity Metadata Store for a partition.
Import-SPBusinessDataCatalogModel | Imports a Business Data Connectivity Model.
Import-SPEnterpriseSearchTopology | Imports and activates a topology from an XML file.
Import-SPInfoPathAdministrationFiles | Imports InfoPath 2010 form templates and .udcx files that are located on the SharePoint Central Administration Web site.
Import-SPMetadataWebServicePartitionData | Restores the data for a site subscription.
Import-SPSiteSubscriptionSettings | Restores a backup of subscription site settings to the given subscription identifier.
Import-SPWeb | Imports a site collection, Web application, list, or library.
Initialize-SPResourceSecurity | Enforces resource security on the local server.
Initialize-SPStateServiceDatabase | Installs the state database schema into a state service database
Install-SPApplicationContent | Copies shared application data to existing Web application folders.
Install-SPDataConnectionFile | Installs the provided data connection file.
Install-SPFeature | Installs a SharePoint feature by using the Feature.xml file.
Install-SPHelpCollection | Installs the provided Help site collection files in the current farm.
Install-SPInfoPathFormTemplate | Installs an InfoPath 2010 form template on a farm.
Install-SPService | Installs and provisions services on a farm.
Install-SPSolution | Deploys an installed SharePoint solution in the farm.
Install-SPUserSolution | Activates a sandboxed solution in a site collection.
Install-SPWebPartPack | Installs the specified Web Part package to the specified location.
Install-SPWebTemplate | Installs the given site template.
Merge-SPLogFile | Combines trace log entries from all farm computers into a single log file on the local computer.
Mount-SPContentDatabase | Attaches an existing content database to the farm.
Mount-SPStateServiceDatabase | Attaches an existing state service database to the farm
Move-SPBlobStorageLocation | Copies a Windows SharePoint Services 3.0 database by using Remote BLOB Storage (RBS).
Move-SPProfileManagedMetadataProperty | Moves multiple-string values into a term set.
Move-SPSocialComments | Moves social comments.
Move-SPSite | Moves site collections from one content database to another.
Move-SPUser | Migrates a user account in SharePoint 2010 Products.
New-SPAccessServiceApplication | Creates a new instance of an Access Services application.
New-SPAlternateUrl | Creates a new public or internal URL for the specified Web application zone or resource.
New-SPAuthenticationProvider | Creates a new authentication provider in the farm.
New-SPBusinessDataCatalogServiceApplication | Creates a new Business Data Connectivity service application in the farm.
New-SPBusinessDataCatalogServiceApplicationProxy | Creates a new Business Data Connectivity service application proxy in the farm.
New-SPCentralAdministration | Creates a new SharePoint Central Administration Web application.
New-SPClaimProvider | Registers a new claim provider in the farm.
New-SPClaimsPrincipal | Creates a new claims principal.
New-SPClaimTypeMapping | Creates a claim mapping rule for a security token service (STS) identity provider.
New-SPConfigurationDatabase | Creates a new configuration database.
New-SPContentDatabase | Creates a new content database and attaches it to the specified Web application.
New-SPContentDeploymentJob | Creates a content deployment job.
New-SPContentDeploymentPath | Creates a new content deployment path.
New-SPEnterpriseSearchCrawlComponent | Adds a query component to a query topology.
New-SPEnterpriseSearchCrawlContentSource | Creates a new crawl content source for a shared search application.
New-SPEnterpriseSearchCrawlCustomConnector | Registers a protocol for custom crawling.
New-SPEnterpriseSearchCrawlDatabase | Creates a crawl database which can be added to a search service application.
New-SPEnterpriseSearchCrawlExtension | Adds an extension rule to a shared search application.
New-SPEnterpriseSearchCrawlMapping | Creates a crawl mapping rule for a shared search application.
New-SPEnterpriseSearchCrawlRule | Creates a new crawl rule.
New-SPEnterpriseSearchCrawlTopology | Adds a crawl topology to a shared search application.
New-SPEnterpriseSearchExtendedConnectorProperty | Adds new Extended Connector properties.
New-SPEnterpriseSearchLanguageResourcePhrase | Adds a language resource phrase to a shared search application.
New-SPEnterpriseSearchMetadataCategory | Adds a crawled property category to a search service application.
New-SPEnterpriseSearchMetadataCrawledProperty | Adds a crawled property to a search application crawled property category.
New-SPEnterpriseSearchMetadataManagedProperty | Adds a managed property to a shared search application.
New-SPEnterpriseSearchMetadataMapping | Adds a managed property mapping to a shared search application.
New-SPEnterpriseSearchPropertyDatabase | Creates a new property store for use by a search service application.
New-SPEnterpriseSearchQueryAuthority | Adds an authoritative page to a shared search application.
New-SPEnterpriseSearchQueryComponent | Adds a query component to a query topology.
New-SPEnterpriseSearchQueryDemoted | Adds a demoted site rule to a shared search application.
New-SPEnterpriseSearchQueryKeyword | Adds a keyword term to a shared search application.
New-SPEnterpriseSearchQueryScope | Adds a query results scope to a shared search application.
New-SPEnterpriseSearchQueryScopeRule | Adds a shared scope rule to a query scope.
New-SPEnterpriseSearchQueryTopology | Adds a query topology to a shared search application.
New-SPEnterpriseSearchRankingModel | Adds a ranking model to a shared search application.
New-SPEnterpriseSearchSecurityTrimmer | Adds a custom security trimmer to a shared search application.
New-SPEnterpriseSearchServiceApplication | Adds a search service application to a farm.
New-SPEnterpriseSearchServiceApplicationProxy | Adds a new search application proxy to a farm..
New-SPEnterpriseSearchSiteHitRule | Adds a new site hit rule for a search application.
New-SPExcelBlockedFileType | Adds a file type to the list of file types that Excel Services Application prevents from being loaded.
New-SPExcelDataConnectionLibrary | Adds a new data connection library to Excel Services Application.
New-SPExcelDataProvider | Adds a new safe data provider to Excel Services Application.
New-SPExcelFileLocation | Adds a new trusted location to Excel Services Application.
New-SPExcelServiceApplication | Creates a new instance of Excel Services Application.
New-SPExcelUserDefinedFunction | Adds a new user-defined function to Excel Services Application.
New-SPLogFile | Creates a new log file.
New-SPManagedAccount | Registers a new managed account.
New-SPManagedPath | Creates a new managed path for the given Web application for all host header site collections.
New-SPMetadataServiceApplication | Creates a new metadata service application.
New-SPMetadataServiceApplicationProxy | Creates a new metadata service application proxy.
New-SPPerformancePointServiceApplication | Creates a new service application for PerformancePoint Services.
New-SPPerformancePointServiceApplicationProxy | Creates a proxy for a PerformancePoint Services application.
New-SPPerformancePointServiceApplicationTrustedLocation | Creates a new trusted location for a PerformancePoint Services application.
New-SPProfileServiceApplication | Adds a User Profile Service application to a farm.
New-SPProfileServiceApplicationProxy | Creates a User Profile Service application proxy on the local farm.
New-SPSecureStoreApplication | Creates a new Secure Store application.
New-SPSecureStoreApplicationField | Creates a new Secure Store application fields object.
New-SPSecureStoreServiceApplication | Creates a new Secure Store Service application in the farm.
New-SPSecureStoreServiceApplicationProxy | Creates a new Secure Store Service application proxy in the farm.
New-SPSecureStoreTargetApplication | Creates a new Secure Store target application.
New-SPServiceApplicationPool | Creates a new Web service application pool.
New-SPServiceApplicationProxyGroup | Creates a new service application proxy group.
New-SPSite | Creates a new site collection at the specified URL.
New-SPSiteSubscription | Creates a new site subscription.
New-SPSiteSubscriptionFeaturePack | Creates a new SharePoint feature set that can be used to limit the features available to a site subscription.
New-SPStateServiceApplication | Creates a new state service application
New-SPStateServiceApplicationProxy | Creates a proxy for a state service application
New-SPStateServiceDatabase | Creates and provisions a new state service database, and installs the state database schema into it
New-SPSubscriptionSettingsServiceApplication | Creates a new subscription settings service application.
New-SPSubscriptionSettingsServiceApplicationProxy | Creates an application proxy to a subscription settings service application.
New-SPTrustedIdentityTokenIssuer | Creates an identity provider in the farm.
New-SPTrustedRootAuthority | Creates a trusted root authority.
New-SPTrustedServiceTokenIssuer | Creates a trust with a SharePoint farm.
New-SPUsageApplication | Creates a new usage application.
New-SPUsageLogFile | Starts a new usage log file on the current server computer.
New-SPUser | Adds an existing user to a SharePoint site with the designated permissions.
New-SPVisioSafeDataProvider | Adds a new data provider to a Visio Services application.
New-SPVisioServiceApplication | Adds a new Visio Services application to a farm.
New-SPVisioServiceApplicationProxy | Adds a new Visio Services application proxy to a farm.
New-SPWeb | Creates a new site in an existing site collection.
New-SPWebAnalyticsServiceApplication | Adds a new Web Analytics Service application to the farm.
New-SPWebAnalyticsServiceApplicationProxy | Adds a new Web Analytics Service application proxy to the farm.
New-SPWebApplication | Creates a new Web application within the local farm.
New-SPWebApplicationExtension | Creates a new zone instance for the Web application.
New-SPWordConversionServiceApplication | Creates a new instance of a Word Automation Services application on the farm.
Ping-SPEnterpriseSearchContentService | Sends a request to the content distributor.
Publish-SPServiceApplication | Shares the specified local service application outside the farm.
Receive-SPSharedServiceApplicationInfo | Configures this farm to receive service information from another farm.
Remove-SPAlternateUrl | Completely deletes the specified alternate URL.
Remove-SPBusinessDataCatalogModel | Deletes a Business Data Connectivity Model.
Remove-SPClaimProvider | Unregisters a claim provider.
Remove-SPClaimTypeMapping | Deletes a claim type mapping rule for a security token service (STS) identity provider.
Remove-SPConfigurationDatabase | Permanently removes a configuration database.
Remove-SPContentDatabase | Deletes a content database.
Remove-SPContentDeploymentJob | Removes a content deployment job.
Remove-SPContentDeploymentPath | Removes a content deployment path.
Remove-SPDiagnosticsPerformanceCounter | Removes an instance of a performance counter.
Remove-SPEnterpriseSearchCrawlComponent | Deletes a crawl component from a shared search application.
Remove-SPEnterpriseSearchCrawlContentSource | Deletes a specified crawl content source from a search application.
Remove-SPEnterpriseSearchCrawlCustomConnector | Removes a CustomConnector object.
Remove-SPEnterpriseSearchCrawlDatabase | Sets properties of a crawl database for a search service application.
Remove-SPEnterpriseSearchCrawlExtension | Removes a file name extension from the list of files that can be crawled.
Remove-SPEnterpriseSearchCrawlMapping | Deletes a crawl mapping.
Remove-SPEnterpriseSearchCrawlRule | Deletes a crawl rule.
Remove-SPEnterpriseSearchCrawlTopology | Deletes a crawl topology.
Remove-SPEnterpriseSearchExtendedConnectorProperty | Removes properties of search service applications of ExtendedConnector type.
Remove-SPEnterpriseSearchLanguageResourcePhrase | Deletes a language resource phrase from a shared search application.
Remove-SPEnterpriseSearchMetadataCategory | Deletes a crawled property category.
Remove-SPEnterpriseSearchMetadataManagedProperty | Deletes a metadata managed property.
Remove-SPEnterpriseSearchMetadataMapping | Deletes a metadata mapping from a managed property.
Remove-SPEnterpriseSearchPropertyDatabase | Deletes a property store.
Remove-SPEnterpriseSearchQueryAuthority | Deletes an authoritative page.
Remove-SPEnterpriseSearchQueryComponent | Deletes a query component.
Remove-SPEnterpriseSearchQueryDemoted | Deletes a demoted site rule.
Remove-SPEnterpriseSearchQueryKeyword | Deletes a query keyword.
Remove-SPEnterpriseSearchQueryScope | Deletes a query scope.
Remove-SPEnterpriseSearchQueryScopeRule | Deletes query results scope rules.
Remove-SPEnterpriseSearchQueryTopology | Deletes a query topology.
Remove-SPEnterpriseSearchRankingModel | Deletes a ranking model.
Remove-SPEnterpriseSearchSecurityTrimmer | Deletes a custom security trimmer.
Remove-SPEnterpriseSearchServiceApplication | Deletes a search service application.
Remove-SPEnterpriseSearchServiceApplicationProxy | Deletes a search service application proxy.
Remove-SPEnterpriseSearchSiteHitRule | Deletes a site hit rule.
Remove-SPExcelBlockedFileType | Removes an entry from the list of file types that are prevented from being loaded on Excel Services Application.
Remove-SPExcelDataConnectionLibrary | Removes a data connection library from Excel Services Application.
Remove-SPExcelDataProvider | Removes a data provider from Excel Services Application.
Remove-SPExcelFileLocation | Removes a trusted file location from Excel Services Application.
Remove-SPExcelUserDefinedFunction | Removes a user-defined function from Excel Services Application.
Remove-SPInfoPathUserAgent | Removes a user agent.
Remove-SPManagedAccount | Removes a managed account registration from the farm.
Remove-SPManagedPath | Deletes the specified managed path from the specified host header or Web application.
Remove-SPPerformancePointServiceApplication | Deletes a PerformancePoint Services application from a farm.
Remove-SPPerformancePointServiceApplicationProxy | Deletes the proxy for a PerformancePoint Services application.
Remove-SPPerformancePointServiceApplicationTrustedLocation | Removes a single trusted location from a PerformancePoint Services application.
Remove-SPProfileLeader | Remove a company leader.
Remove-SPSecureStoreApplication | Deletes a Secure Store application.
Remove-SPServiceApplication | Deletes the specified service application on the local server.
Remove-SPServiceApplicationPool | Completely deletes the specified Web service application pool.
Remove-SPServiceApplicationProxy | Deletes the specified service application proxy.
Remove-SPServiceApplicationProxyGroup | Completely deletes the specified service application proxy group.
Remove-SPServiceApplicationProxyGroupMember | Removes one or more proxies from the specified service application proxy group.
Remove-SPShellAdmin | Removes a user from the SharePoint_Shell_Access role.
Remove-SPSite | Completely deletes an existing site collection and all subsites.
Remove-SPSiteSubscription | Removes data stored in a subscription settings service application for a set of site subscriptions.
Remove-SPSiteSubscriptionBusinessDataCatalogConfig | Removes the Business Data Connectivity Metadata Store for a partition.
Remove-SPSiteSubscriptionFeaturePack | Removes a SharePoint feature set from a site subscription.
Remove-SPSiteSubscriptionFeaturePackMember | Removes a feature definition from the provided SharePoint feature set.
Remove-SPSiteSubscriptionMetadataConfig | Removes site subscription configuration settings.
Remove-SPSiteSubscriptionProfileConfig | Deletes a site subscription from a User Profile Service application.
Remove-SPSiteSubscriptionSettings | Removes the settings service data for a specified site subscription, or finds and removes orphaned data.
Remove-SPSocialItemByDate | Deletes tags, notes, or ratings.
Remove-SPSolution | Removes a SharePoint solution from a farm.
Remove-SPSolutionDeploymentLock | Removes the solution deployment lock for a server.
Remove-SPStateServiceDatabase | Removes a state service database from a state service application and drops it from the SQL Server
Remove-SPTrustedIdentityTokenIssuer | Deletes a security token service (STS) identity provider from the farm.
Remove-SPTrustedRootAuthority | Deletes a trusted root authority.
Remove-SPTrustedServiceTokenIssuer | Deletes the object that represents the farm trust.
Remove-SPUsageApplication | Removes a usage application from the local farm.
Remove-SPUser | Removes a user from a Web site.
Remove-SPUserSolution | Removes a sandboxed solution from the solution gallery.
Remove-SPVisioSafeDataProvider | Removes a data provider from a Visio Services application.
Remove-SPWeb | Completely deletes the specified Web.
Remove-SPWebApplication | Deletes the specified Web application.
Remove-SPWordConversionServiceJobHistory | Removes entries from the Word Automation Services job history database.
Rename-SPServer | Renames a server that is currently connected to the farm.
Repair-SPManagedAccountDeployment | Repairs the local managed account credential deployment.
Restart-SPEnterpriseSearchQueryComponent | Restarts a failed query component.
Restore-SPEnterpriseSearchServiceApplication | Restores a third-party backup of a search application.
Restore-SPFarm | Restores one or more items from a backup.
Restore-SPSite | Restores a site collection.
Resume-SPEnterpriseSearchServiceApplication | Resumes a search service application that was suspended.
Resume-SPStateServiceDatabase | Resumes a paused state service database so that new rows of data are received
Revoke-SPBusinessDataCatalogMetadataObject | Revokes a right to a principal in the specified Business Data Connectivity Metadata Store metadata object.
Revoke-SPObjectSecurity | Removes a security principal from a SPObjectSecurity object.
Revoke-SPServiceApplication | Revokes a user's access to a service application.
Set-SPAccessServiceApplication | Sets global properties of an existing Access Services application.
Set-SPAlternateUrl | Configures the specified alternate URL.
Set-SPBrowserCustomerExperienceImprovementProgram | Turns on or off the browser Customer Experience Improvement Program.
Set-SPBusinessDataCatalogMetadataObject | Sets the value of a property or attribute of a Business Data Connectivity Metadata Store metadata object.
Set-SPBusinessDataCatalogServiceApplication | Sets global properties for a Business Data Connectivity service application in the farm.
Set-SPBusinessDataCatalogThrottleConfig | Sets the throttling configuration for a Business Data Connectivity Service application.
Set-SPCentralAdministration | Sets the port for the SharePoint Central Administration Web site.
Set-SPClaimProvider | Updates registration of a claims provider.
Set-SPContentDatabase | Sets global properties of a SharePoint content database.
Set-SPContentDeploymentJob | Sets properties of a content deployment job.
Set-SPContentDeploymentPath | Sets properties of a content deployment path.
Set-SPCustomLayoutsPage | Maps a new path for a custom layout page.
Set-SPDataConnectionFile | Sets properties of a data connection file.
Set-SPDesignerSettings | Sets Microsoft SharePoint Designer 2010 features.
Set-SPDiagnosticConfig | Sets diagnostic configuration settings on the farm.
Set-SPDiagnosticsProvider | Enables a diagnostics provider and updates its retention policy.
Set-SPEnterpriseSearchAdministrationComponent | Sets properties of an administration component for a search service application.
Set-SPEnterpriseSearchCrawlContentSource | Sets the properties of a crawl content source for a shared search application.
Set-SPEnterpriseSearchCrawlDatabase | Sets properties of a crawl database for a search service application.
Set-SPEnterpriseSearchCrawlRule | Sets properties for a crawl rule.
Set-SPEnterpriseSearchCrawlTopology | Sets the properties of a crawl topology on a shared search application.
Set-SPEnterpriseSearchExtendedConnectorProperty | Sets the value of an ExtendedConnector object.
Set-SPEnterpriseSearchExtendedQueryProperty | Sets FAST Search for SharePoint service-specific properties.
Set-SPEnterpriseSearchIndexPartition | Sets properties of an index partition for a query topology.
Set-SPEnterpriseSearchMetadataCategory | Sets properties of a crawled property category for a shared search application.
Set-SPEnterpriseSearchMetadataCrawledProperty | Sets the properties of a metadata crawled property for a shared search application.
Set-SPEnterpriseSearchMetadataManagedProperty | Sets the properties of a metadata managed property.
Set-SPEnterpriseSearchMetadataMapping | Sets the properties of a managed property mapping for a shared search application.
Set-SPEnterpriseSearchPropertyDatabase | Modifies properties for a property store.
Set-SPEnterpriseSearchQueryAuthority | Sets the properties of an authoritative page for a shared search application.
Set-SPEnterpriseSearchQueryComponent | Modifies properties for a query component.
Set-SPEnterpriseSearchQueryKeyword | Sets the properties of a keyword term for a shared search application.
Set-SPEnterpriseSearchQueryScope | Sets the properties of a query results scope for a shared search application.
Set-SPEnterpriseSearchQueryScopeRule | Sets the properties of a shared scope rule for a query scope.
Set-SPEnterpriseSearchQueryTopology | Sets the properties of a query topology for a shared search application.
Set-SPEnterpriseSearchRankingModel | Sets the properties of a ranking model for a shared search application.
Set-SPEnterpriseSearchService | Sets the properties of a search service for a farm.
Set-SPEnterpriseSearchServiceApplication | Sets the properties of a search service application for a farm.
Set-SPEnterpriseSearchServiceApplicationProxy | Sets properties of a search service application proxy.
Set-SPEnterpriseSearchServiceInstance | Sets the properties of a search service instance.
Set-SPExcelDataConnectionLibrary | Sets properties of a data connection library for Excel Services Application.
Set-SPExcelDataProvider | Sets properties of a safe data provider for Excel Services Application.
Set-SPExcelFileLocation | Sets properties of a trusted file location for Excel Services Application.
Set-SPExcelServiceApplication | Sets global properties for Excel Services Application.
Set-SPExcelUserDefinedFunction | Sets properties of a user-defined function in Excel Services Application.
Set-SPFarmConfig | Sets a global property or a collection of global properties for the local farm.
Set-SPInfoPathFormsService | Sets parameters for InfoPath Forms Services in SharePoint Server 2010.
Set-SPInfoPathFormTemplate | Sets properties of an InfoPath 2010 form template.
Set-SPInfoPathWebServiceProxy | Sets parameters for an existing SharePoint Web service application.
Set-SPLogLevel | Sets the trace and event level for a set of categories.
Set-SPManagedAccount | Configures the managed account.
Set-SPMetadataServiceApplication | Sets the properties for a metadata service application.
Set-SPMetadataServiceApplicationProxy | Sets the properties for a metadata service application proxy.
Set-SPMobileMessagingAccount | Configures the specified mobile messaging account.
Set-SPPassPhrase | Sets the passphrase to a new value.
Set-SPPerformancePointSecureDataValues | Sets global settings for the unattended service account.
Set-SPPerformancePointServiceApplication | Sets global run-time properties for a PerformancePoint Services application.
Set-SPProfileServiceApplication | Sets properties of a User Profile Service application.
Set-SPProfileServiceApplicationProxy | Sets properties of a proxy for a User Profile Service application.
Set-SPProfileServiceApplicationSecurity | Sets permission and identity information.
Set-SPSearchService | Sets properties of a search service.
Set-SPSearchServiceInstance | Sets properties of a search service instance.
Set-SPSecureStoreApplication | Sets properties of a Secure Store application.
Set-SPSecureStoreDefaultProvider | Sets or updates the secure store provider.
Set-SPSecureStoreServiceApplication | Sets properties of a Secure Store Service application in the farm.
Set-SPSecurityTokenServiceConfig | Updates the settings of the SharePoint security token service (STS) identity provider.
Set-SPServiceApplication | Sets properties of a service application.
Set-SPServiceApplicationEndpoint | Sets the host of an endpoint for a service application.
Set-SPServiceApplicationPool | Changes the account used for the Identity of the specified application pool.
Set-SPServiceApplicationSecurity | Updates the SPObjectSecurity object for a service application.
Set-SPServiceHostConfig | Configures one or more common settings for all Web services.
Set-SPSessionStateService | Updates the credentials that are used to communicate with the state service database
Set-SPSite | Configures the specified site collection.
Set-SPSiteAdministration | Allows farm administrators to configure any site collection.
Set-SPSiteSubscriptionConfig | Sets the configuration properties of a site subscription.
Set-SPSiteSubscriptionEdiscoveryHub | Sets properties for the eDiscovery hub of a site subscription.
Set-SPSiteSubscriptionMetadataConfig | Sets the site subscription configuration settings for a specified metadata service application.
Set-SPSiteSubscriptionProfileConfig | Sets the parameters of a site subscription.
Set-SPStateServiceApplication | Updates the name of a state service application
Set-SPStateServiceApplicationProxy | Updates the name of a state service application proxy
Set-SPStateServiceDatabase | Updates properties of a state service database
Set-SPSubscriptionSettingsServiceApplication | Sets properties of a subscription settings service application.
Set-SPTimerJob | Sets the schedule for running a timer job.
Set-SPTopologyServiceApplication | Sets the properties on the topology service application of the local farm.
Set-SPTopologyServiceApplicationProxy | Sets the proxy properties of the topology service application.
Set-SPTrustedIdentityTokenIssuer | Sets the identity providers of a Web application.
Set-SPTrustedRootAuthority | Creates a new trusted root authority.
Set-SPTrustedServiceTokenIssuer | Updates a trust with the farm.
Set-SPUsageApplication | Sets properties of a usage application.
Set-SPUsageDefinition | Sets the retention period for a usage provider.
Set-SPUsageService | Sets the properties of a usage service.
Set-SPUser | Configures properties on an existing user.
Set-SPVisioExternalData | Configures settings related to external data connections for a Visio Services application.
Set-SPVisioPerformance | Sets performance properties for a Visio Services application.
Set-SPVisioSafeDataProvider | Specifies a description of a safe data provider for a Visio Services application.
Set-SPVisioServiceApplication | Sets the ServiceApplicationPool property for a Visio Services application.
Set-SPWeb | Configures the specified subsite.
Set-SPWebAnalyticsServiceApplication | Sets properties of a Web Analytics Service application.
Set-SPWebAnalyticsServiceApplicationProxy | Sets a new proxy for the Web Analytics Service application.
Set-SPWebApplication | Configures the specified Web application.
Set-SPWebApplicationHttpThrottlingMonitor | Sets the Health Score bucket values for an existing network throttling performance counter for a specified Web application.
Set-SPWebTemplate | Changes the title and description of an installed site template.
Set-SPWordConversionServiceApplication | Sets properties of a Word Automation Services application.
Set-SPWorkflowConfig | Configures the workflow settings for the specified Web application.
Start-SPAdminJob | Immediately starts any waiting administrative job on the local computer.
Start-SPAssignment | Initiates a new assignment store.
Start-SPContentDeploymentJob | Starts a content deployment job.
Start-SPEnterpriseSearchQueryAndSiteSettingsServiceInstance | Starts an instance of a search manager service.
Start-SPEnterpriseSearchServiceInstance | Starts an instance of a search service.
Start-SPInfoPathFormTemplate | Activates a previously quiesced InfoPath 2010 form template.
Start-SPServiceInstance | Starts the service instance for a service on a specific server or the farm.
Start-SPTimerJob | Runs a timer job once.
Stop-SPAssignment | Disposes of objects in the provided assignment collection.
Stop-SPEnterpriseSearchQueryAndSiteSettingsServiceInstance | Stops an instance of a search manager service.
Stop-SPEnterpriseSearchServiceInstance | Stops an instance of a search manager service.
Stop-SPInfoPathFormTemplate | Disables an InfoPath 2010 form template on a farm before an upgrade.
Stop-SPServiceInstance | Stops the service instance for a service.
Suspend-SPEnterpriseSearchServiceApplication | Suspends a search service application, pausing all crawls and search operations, to perform a task such as system maintenance.
Suspend-SPStateServiceDatabase | Pauses a state database and thus prevents new rows of data from being added to a database
Test-SPContentDatabase | Tests a content database.
Test-SPInfoPathFormTemplate | Validates that an InfoPath 2010 form template is browser-enabled.
Uninstall-SPDataConnectionFile | Removes a data connection file.
Uninstall-SPFeature | Uninstalls an installed feature definition.
Uninstall-SPHelpCollection | Removes Help collection files.
Uninstall-SPInfoPathFormTemplate | Removes an InfoPath 2010 form template from a farm.
Uninstall-SPSolution | Retracts a deployed SharePoint solution.
Uninstall-SPUserSolution | Deactivates a sandboxed solution in a site collection.
Uninstall-SPWebPartPack | Uninstalls the specified Web Part package.
Uninstall-SPWebTemplate | Uninstalls the given site template.
Unpublish-SPServiceApplication | Stops sharing the specified service application outside the farm.
Update-SPFarmEncryptionKey | Changes the value of the farm encryption key and, using the new key, re-encrypts all the data.
Update-SPInfoPathAdminFileUrl | Updates InfoPath 2010 form templates (.xsn files) and universal data connections (.udcx files), including all .xsn files and .udcx files that were deployed by an administrator.
Update-SPProfilePhotoStore | Updates the profile photo store to be compatible with Microsoft SharePoint Server 2010
Update-SPSecureStoreApplicationServerKey | Synchronizes the key on a server running SharePoint Server by using the Secure Store master key.
Update-SPSecureStoreCredentialMapping | Sets a new credential mapping for a Secure Store Service application.
Update-SPSecureStoreGroupCredentialMapping | Sets a new group credential mapping for a Secure Store Service application.
Update-SPSecureStoreMasterKey | Changes the master key of a Secure Store Service application.
Update-SPSolution | Upgrades a deployed SharePoint solution.
Update-SPUserSolution | Upgrades an activated sandboxed solution in a farm.
Upgrade-SPContentDatabase | Upgrades a content database.
Upgrade-SPEnterpriseSearchServiceApplication | Upgrades a search service application.
Upgrade-SPSingleSignOnDatabase | Migrates the application definitions from single sign-on (SSO) database to Secure Store database as target applications.

SharePoint Server 2010 cmdlets in noun order

Cmdlet name | Description
Get-SPAccessServiceApplication | Returns an Access Services application or a collection of Access Services applications.
New-SPAccessServiceApplication | Creates a new instance of an Access Services application.
Set-SPAccessServiceApplication | Sets global properties of an existing Access Services application.
Start-SPAdminJob | Immediately starts any waiting administrative job on the local computer.
Get-SPAlternateURL | Returns all alternate URLs that match a given set of criteria.
New-SPAlternateUrl | Creates a new public or internal URL for the specified Web application zone or resource.
Remove-SPAlternateUrl | Completely deletes the specified alternate URL.
Set-SPAlternateUrl | Configures the specified alternate URL.
Install-SPApplicationContent | Copies shared application data to existing Web application folders.
Start-SPAssignment | Initiates a new assignment store.
Stop-SPAssignment | Disposes of objects in the provided assignment collection.
Get-SPAuthenticationProvider | Returns an authentication provider.
New-SPAuthenticationProvider | Creates a new authentication provider in the farm.
Get-SPBackupHistory | Returns a history of backup and restore operations.
Move-SPBlobStorageLocation | Copies a Windows SharePoint Services 3.0 database by using Remote BLOB Storage (RBS).
Get-SPBrowserCustomerExperienceImprovementProgram | Returns the current opt-in state for the browser Customer Experience Improvement Program.
Set-SPBrowserCustomerExperienceImprovementProgram | Turns on or off the browser Customer Experience Improvement Program.
Copy-SPBusinessDataCatalogAclToChildren | Copies a set of permissions of a Business Data Connectivity Metadata Store metadata object to its child objects.
Import-SPBusinessDataCatalogDotNetAssembly | Imports data that is associated with the Business Data Connectivity Metadata Store for a partition.
Disable-SPBusinessDataCatalogEntity | Deactivates an external content type in the Business Data Connectivity Metadata Store.
Enable-SPBusinessDataCatalogEntity | Activates an external content type in the Business Data Connectivity Metadata Store.
Get-SPBusinessDataCatalogMetadataObject | Returns a Business Data Connectivity Metadata Store metadata object.
Grant-SPBusinessDataCatalogMetadataObject | Grants a right to a principal for the specified Business Data Connectivity Metadata Store metadata object.
Revoke-SPBusinessDataCatalogMetadataObject | Revokes a right to a principal in the specified Business Data Connectivity Metadata Store metadata object.
Set-SPBusinessDataCatalogMetadataObject | Sets the value of a property or attribute of a Business Data Connectivity Metadata Store metadata object.
Export-SPBusinessDataCatalogModel | Exports a Business Data Connectivity Model.
Import-SPBusinessDataCatalogModel | Imports a Business Data Connectivity Model.
Remove-SPBusinessDataCatalogModel | Deletes a Business Data Connectivity Model.
New-SPBusinessDataCatalogServiceApplication | Creates a new Business Data Connectivity service application in the farm.
Set-SPBusinessDataCatalogServiceApplication | Sets global properties for a Business Data Connectivity service application in the farm.
New-SPBusinessDataCatalogServiceApplicationProxy | Creates a new Business Data Connectivity service application proxy in the farm.
Get-SPBusinessDataCatalogThrottleConfig | Returns the throttling configuration for a Business Data Connectivity Service application.
Set-SPBusinessDataCatalogThrottleConfig | Sets the throttling configuration for a Business Data Connectivity Service application.
New-SPCentralAdministration | Creates a new SharePoint Central Administration Web application.
Set-SPCentralAdministration | Sets the port for the SharePoint Central Administration Web site.
Get-SPCertificateAuthority | Returns the SharePoint certificate authority (CA).
Get-SPClaimProvider | Returns a claim provider.
New-SPClaimProvider | Registers a new claim provider in the farm.
Remove-SPClaimProvider | Unregisters a claim provider.
Set-SPClaimProvider | Updates registration of a claims provider.
Get-SPClaimProviderManager | Returns a claim provider manager.
New-SPClaimsPrincipal | Creates a new claims principal.
Add-SPClaimTypeMapping | Adds a claim mapping to a trusted security token service (STS) identity provider.
New-SPClaimTypeMapping | Creates a claim mapping rule for a security token service (STS) identity provider.
Remove-SPClaimTypeMapping | Deletes a claim type mapping rule for a security token service (STS) identity provider.
Backup-SPConfigurationDatabase | Performs a farm-level configuration-only backup.
Connect-SPConfigurationDatabase | Connects the local server computer to a farm.
Disconnect-SPConfigurationDatabase | Disconnects the local server computer from the farm.
New-SPConfigurationDatabase | Creates a new configuration database.
Remove-SPConfigurationDatabase | Permanently removes a configuration database.
Dismount-SPContentDatabase | Detaches a content database from the Web application it is currently associated with.
Get-SPContentDatabase | Returns one or more content databases.
Mount-SPContentDatabase | Attaches an existing content database to the farm.
New-SPContentDatabase | Creates a new content database and attaches it to the specified Web application.
Remove-SPContentDatabase | Deletes a content database.
Set-SPContentDatabase | Sets global properties of a SharePoint content database.
Test-SPContentDatabase | Tests a content database.
Upgrade-SPContentDatabase | Upgrades a content database.
Get-SPContentDeploymentJob | Returns a content deployment job or a collection of content deployment jobs.
New-SPContentDeploymentJob | Creates a content deployment job.
Remove-SPContentDeploymentJob | Removes a content deployment job.
Set-SPContentDeploymentJob | Sets properties of a content deployment job.
Start-SPContentDeploymentJob | Starts a content deployment job.
Get-SPContentDeploymentPath | Returns a content deployment path or a collection of content deployment paths.
New-SPContentDeploymentPath | Creates a new content deployment path.
Remove-SPContentDeploymentPath | Removes a content deployment path.
Set-SPContentDeploymentPath | Sets properties of a content deployment path.
Get-SPCustomLayoutsPage | Returns a mapping to a custom layout page.
Set-SPCustomLayoutsPage | Maps a new path for a custom layout page.
Get-SPDatabase | Retrieves all properties of a database.
Get-SPDataConnectionFile | Returns a data connection file or a collection of data connection files.
Install-SPDataConnectionFile | Installs the provided data connection file.
Set-SPDataConnectionFile | Sets properties of a data connection file.
Uninstall-SPDataConnectionFile | Removes a data connection file.
Get-SPDataConnectionFileDependent | Returns deployed forms on the server dependent on a universal data connection.
Get-SPDesignerSettings | Displays Microsoft SharePoint Designer 2010 features.
Set-SPDesignerSettings | Sets Microsoft SharePoint Designer 2010 features.
Get-SPDiagnosticConfig | Retrieves ULS diagnostic configuration values of the farm.
Set-SPDiagnosticConfig | Sets diagnostic configuration settings on the farm.
Add-SPDiagnosticsPerformanceCounter | Adds an instance of a performance counter.
Get-SPDiagnosticsPerformanceCounter | Returns a collection of performance counters.
Remove-SPDiagnosticsPerformanceCounter | Removes an instance of a performance counter.
Get-SPDiagnosticsProvider | Returns a diagnostics provider.
Set-SPDiagnosticsProvider | Enables a diagnostics provider and updates its retention policy.
Get-SPEnterpriseSearchAdministrationComponent | Returns the administration component for a search service application.
Set-SPEnterpriseSearchAdministrationComponent | Sets properties of an administration component for a search service application.
Ping-SPEnterpriseSearchContentService | Sends a request to the content distributor.
Get-SPEnterpriseSearchCrawlComponent | Returns a crawl component for a shared search application.
New-SPEnterpriseSearchCrawlComponent | Adds a query component to a query topology.
Remove-SPEnterpriseSearchCrawlComponent | Deletes a crawl component from a shared search application.
Get-SPEnterpriseSearchCrawlContentSource | Returns a crawl content source.
New-SPEnterpriseSearchCrawlContentSource | Creates a new crawl content source for a shared search application.
Remove-SPEnterpriseSearchCrawlContentSource | Deletes a specified crawl content source from a search application.
Set-SPEnterpriseSearchCrawlContentSource | Sets the properties of a crawl content source for a shared search application.
Get-SPEnterpriseSearchCrawlCustomConnector | Returns a CustomConnector object type.
New-SPEnterpriseSearchCrawlCustomConnector | Registers a protocol for custom crawling.
Remove-SPEnterpriseSearchCrawlCustomConnector | Removes a CustomConnector object.
Get-SPEnterpriseSearchCrawlDatabase | Returns a crawl store.
New-SPEnterpriseSearchCrawlDatabase | Creates a crawl database which can be added to a search service application.
Remove-SPEnterpriseSearchCrawlDatabase | Sets properties of a crawl database for a search service application.
Set-SPEnterpriseSearchCrawlDatabase | Sets properties of a crawl database for a search service application.
Get-SPEnterpriseSearchCrawlExtension | Returns the file types to be included in the content index.
New-SPEnterpriseSearchCrawlExtension | Adds an extension rule to a shared search application.
Remove-SPEnterpriseSearchCrawlExtension | Removes a file name extension from the list of files that can be crawled.
Get-SPEnterpriseSearchCrawlMapping | Returns a crawl mapping for the search application.
New-SPEnterpriseSearchCrawlMapping | Creates a crawl mapping rule for a shared search application.
Remove-SPEnterpriseSearchCrawlMapping | Deletes a crawl mapping.
Get-SPEnterpriseSearchCrawlRule | Accesses crawl rules.
New-SPEnterpriseSearchCrawlRule | Creates a new crawl rule.
Remove-SPEnterpriseSearchCrawlRule | Deletes a crawl rule.
Set-SPEnterpriseSearchCrawlRule | Sets properties for a crawl rule.
Get-SPEnterpriseSearchCrawlTopology | Returns a crawl topology.
New-SPEnterpriseSearchCrawlTopology | Adds a crawl topology to a shared search application.
Remove-SPEnterpriseSearchCrawlTopology | Deletes a crawl topology.
Set-SPEnterpriseSearchCrawlTopology | Sets the properties of a crawl topology on a shared search application.
Get-SPEnterpriseSearchExtendedClickThroughExtractorJobDefinition | Gets an object representing the click-through extractor-job instance of a specific FAST Search for SharePoint search service application.
Get-SPEnterpriseSearchExtendedConnectorProperty | Returns the value of the property of the search service application.
New-SPEnterpriseSearchExtendedConnectorProperty | Adds new Extended Connector properties.
Remove-SPEnterpriseSearchExtendedConnectorProperty | Removes properties of search service applications of ExtendedConnector type.
Set-SPEnterpriseSearchExtendedConnectorProperty | Sets the value of an ExtendedConnector object.
Get-SPEnterpriseSearchExtendedQueryProperty | Returns the properties used for connecting SharePoint to a FAST Search for SharePoint service.
Set-SPEnterpriseSearchExtendedQueryProperty | Sets FAST Search for SharePoint service-specific properties.
Get-SPEnterpriseSearchIndexPartition | Returns an index partition for a query topology.
Set-SPEnterpriseSearchIndexPartition | Sets properties of an index partition for a query topology.
Get-SPEnterpriseSearchLanguageResourcePhrase | Returns a language resource phrase.
New-SPEnterpriseSearchLanguageResourcePhrase | Adds a language resource phrase to a shared search application.
Remove-SPEnterpriseSearchLanguageResourcePhrase | Deletes a language resource phrase from a shared search application.
Get-SPEnterpriseSearchMetadataCategory | Returns a crawled property category.
New-SPEnterpriseSearchMetadataCategory | Adds a crawled property category to a search service application.
Remove-SPEnterpriseSearchMetadataCategory | Deletes a crawled property category.
Set-SPEnterpriseSearchMetadataCategory | Sets properties of a crawled property category for a shared search application.
Get-SPEnterpriseSearchMetadataCrawledProperty | Returns a crawled property.
New-SPEnterpriseSearchMetadataCrawledProperty | Adds a crawled property to a search application crawled property category.
Set-SPEnterpriseSearchMetadataCrawledProperty | Sets the properties of a metadata crawled property for a shared search application.
Get-SPEnterpriseSearchMetadataManagedProperty | Returns a managed property.
New-SPEnterpriseSearchMetadataManagedProperty | Adds a managed property to a shared search application.
Remove-SPEnterpriseSearchMetadataManagedProperty | Deletes a metadata managed property.
Set-SPEnterpriseSearchMetadataManagedProperty | Sets the properties of a metadata managed property.
Get-SPEnterpriseSearchMetadataMapping | Returns the current state of a managed property mapping.
New-SPEnterpriseSearchMetadataMapping | Adds a managed property mapping to a shared search application.
Remove-SPEnterpriseSearchMetadataMapping | Deletes a metadata mapping from a managed property.
Set-SPEnterpriseSearchMetadataMapping | Sets the properties of a managed property mapping for a shared search application.
Get-SPEnterpriseSearchPropertyDatabase | Returns a property store.
New-SPEnterpriseSearchPropertyDatabase | Creates a new property store for use by a search service application.
Remove-SPEnterpriseSearchPropertyDatabase | Deletes a property store.
Set-SPEnterpriseSearchPropertyDatabase | Modifies properties for a property store.
Get-SPEnterpriseSearchQueryAndSiteSettingsService | Returns the search manager service.
Get-SPEnterpriseSearchQueryAndSiteSettingsServiceInstance | Returns the service manager service instance.
Start-SPEnterpriseSearchQueryAndSiteSettingsServiceInstance | Starts an instance of a search manager service.
Stop-SPEnterpriseSearchQueryAndSiteSettingsServiceInstance | Stops an instance of a search manager service.
Get-SPEnterpriseSearchQueryAndSiteSettingsServiceProxy | Returns the search manager service proxy.
Get-SPEnterpriseSearchQueryAuthority | Returns an authoritative page.
New-SPEnterpriseSearchQueryAuthority | Adds an authoritative page to a shared search application.
Remove-SPEnterpriseSearchQueryAuthority | Deletes an authoritative page.
Set-SPEnterpriseSearchQueryAuthority | Sets the properties of an authoritative page for a shared search application.
Get-SPEnterpriseSearchQueryComponent | Returns a query component.
New-SPEnterpriseSearchQueryComponent | Adds a query component to a query topology.
Remove-SPEnterpriseSearchQueryComponent | Deletes a query component.
Restart-SPEnterpriseSearchQueryComponent | Restarts a failed query component.
Set-SPEnterpriseSearchQueryComponent | Modifies properties for a query component.
Get-SPEnterpriseSearchQueryDemoted | Returns a demoted site rule.
New-SPEnterpriseSearchQueryDemoted | Adds a demoted site rule to a shared search application.
Remove-SPEnterpriseSearchQueryDemoted | Deletes a demoted site rule.
Get-SPEnterpriseSearchQueryKeyword | Returns a keyword term.
New-SPEnterpriseSearchQueryKeyword | Adds a keyword term to a shared search application.
Remove-SPEnterpriseSearchQueryKeyword | Deletes a query keyword.
Set-SPEnterpriseSearchQueryKeyword | Sets the properties of a keyword term for a shared search application.
Get-SPEnterpriseSearchQueryScope | Returns a query results scope.
New-SPEnterpriseSearchQueryScope | Adds a query results scope to a shared search application.
Remove-SPEnterpriseSearchQueryScope | Deletes a query scope.
Set-SPEnterpriseSearchQueryScope | Sets the properties of a query results scope for a shared search application.
Get-SPEnterpriseSearchQueryScopeRule | Returns a shared scope rule.
New-SPEnterpriseSearchQueryScopeRule | Adds a shared scope rule to a query scope.
Remove-SPEnterpriseSearchQueryScopeRule | Deletes query results scope rules.
Set-SPEnterpriseSearchQueryScopeRule | Sets the properties of a shared scope rule for a query scope.
Get-SPEnterpriseSearchQuerySuggestionCandidates | Returns a list of queries.
Get-SPEnterpriseSearchQueryTopology | Returns a query topology.
New-SPEnterpriseSearchQueryTopology | Adds a query topology to a shared search application.
Remove-SPEnterpriseSearchQueryTopology | Deletes a query topology.
Set-SPEnterpriseSearchQueryTopology | Sets the properties of a query topology for a shared search application.
Get-SPEnterpriseSearchRankingModel | Returns a ranking model.
New-SPEnterpriseSearchRankingModel | Adds a ranking model to a shared search application.
Remove-SPEnterpriseSearchRankingModel | Deletes a ranking model.
Set-SPEnterpriseSearchRankingModel | Sets the properties of a ranking model for a shared search application.
Get-SPEnterpriseSearchSecurityTrimmer | Returns a custom security trimmer.
New-SPEnterpriseSearchSecurityTrimmer | Adds a custom security trimmer to a shared search application.
Remove-SPEnterpriseSearchSecurityTrimmer | Deletes a custom security trimmer.
Get-SPEnterpriseSearchService | Returns the search service for a farm.
Set-SPEnterpriseSearchService | Sets the properties of a search service for a farm.
Get-SPEnterpriseSearchServiceApplication | Returns the search service application for a farm.
New-SPEnterpriseSearchServiceApplication | Adds a search service application to a farm.
Remove-SPEnterpriseSearchServiceApplication | Deletes a search service application.
Restore-SPEnterpriseSearchServiceApplication | Restores a third-party backup of a search application.
Resume-SPEnterpriseSearchServiceApplication | Resumes a search service application that was suspended.
Set-SPEnterpriseSearchServiceApplication | Sets the properties of a search service application for a farm.
Suspend-SPEnterpriseSearchServiceApplication | Suspends a search service application, pausing all crawls and search operations, to perform a task such as system maintenance.
Upgrade-SPEnterpriseSearchServiceApplication | Upgrades a search service application.
Get-SPEnterpriseSearchServiceApplicationProxy | Returns the search service application proxy.
New-SPEnterpriseSearchServiceApplicationProxy | Adds a new search application proxy to a farm..
Remove-SPEnterpriseSearchServiceApplicationProxy | Deletes a search service application proxy.
Set-SPEnterpriseSearchServiceApplicationProxy | Sets properties of a search service application proxy.
Get-SPEnterpriseSearchServiceInstance | Returns the search service instance for a farm.
Set-SPEnterpriseSearchServiceInstance | Sets the properties of a search service instance.
Start-SPEnterpriseSearchServiceInstance | Starts an instance of a search service.
Stop-SPEnterpriseSearchServiceInstance | Stops an instance of a search manager service.
Get-SPEnterpriseSearchSiteHitRule | Returns the shared site hit rule.
New-SPEnterpriseSearchSiteHitRule | Adds a new site hit rule for a search application.
Remove-SPEnterpriseSearchSiteHitRule | Deletes a site hit rule.
Export-SPEnterpriseSearchTopology | Exports an existing search topology.
Import-SPEnterpriseSearchTopology | Imports and activates a topology from an XML file.
Get-SPExcelBlockedFileType | Returns a file type or list of file types that are prevented from being loaded.
New-SPExcelBlockedFileType | Adds a file type to the list of file types that Excel Services Application prevents from being loaded.
Remove-SPExcelBlockedFileType | Removes an entry from the list of file types that are prevented from being loaded on Excel Services Application.
Get-SPExcelDataConnectionLibrary | Returns a trusted data connection library or a list of trusted data connection libraries.
New-SPExcelDataConnectionLibrary | Adds a new data connection library to Excel Services Application.
Remove-SPExcelDataConnectionLibrary | Removes a data connection library from Excel Services Application.
Set-SPExcelDataConnectionLibrary | Sets properties of a data connection library for Excel Services Application.
Get-SPExcelDataProvider | Returns a safe data provider or a list of safe data providers.
New-SPExcelDataProvider | Adds a new safe data provider to Excel Services Application.
Remove-SPExcelDataProvider | Removes a data provider from Excel Services Application.
Set-SPExcelDataProvider | Sets properties of a safe data provider for Excel Services Application.
Get-SPExcelFileLocation | Returns a trusted file location or a list of trusted file locations.
New-SPExcelFileLocation | Adds a new trusted location to Excel Services Application.
Remove-SPExcelFileLocation | Removes a trusted file location from Excel Services Application.
Set-SPExcelFileLocation | Sets properties of a trusted file location for Excel Services Application.
Get-SPExcelServiceApplication | Returns an SPExcelServiceApplication object.
New-SPExcelServiceApplication | Creates a new instance of Excel Services Application.
Set-SPExcelServiceApplication | Sets global properties for Excel Services Application.
Get-SPExcelUserDefinedFunction | Returns a user-defined function or a collection of user-defined functions.
New-SPExcelUserDefinedFunction | Adds a new user-defined function to Excel Services Application.
Remove-SPExcelUserDefinedFunction | Removes a user-defined function from Excel Services Application.
Set-SPExcelUserDefinedFunction | Sets properties of a user-defined function in Excel Services Application.
Backup-SPFarm | Creates a backup of an individual database, Web application, or the entire farm.
Get-SPFarm | Returns the local SharePoint farm.
Restore-SPFarm | Restores one or more items from a backup.
Get-SPFarmConfig | Returns a global property or a collection of global properties for the local farm.
Set-SPFarmConfig | Sets a global property or a collection of global properties for the local farm.
Update-SPFarmEncryptionKey | Changes the value of the farm encryption key and, using the new key, re-encrypts all the data.
Disable-SPFeature | Disables an installed SharePoint feature at a given scope.
Enable-SPFeature | Enables an installed SharePoint feature at the given scope.
Get-SPFeature | Returns the SharePoint features based on a given scope.
Install-SPFeature | Installs a SharePoint feature by using the Feature.xml file.
Uninstall-SPFeature | Uninstalls an installed feature definition.
Get-SPHelpCollection | Returns Help collection files.
Install-SPHelpCollection | Installs the provided Help site collection files in the current farm.
Uninstall-SPHelpCollection | Removes Help collection files.
Update-SPInfoPathAdminFileUrl | Updates InfoPath 2010 form templates (.xsn files) and universal data connections (.udcx files), including all .xsn files and .udcx files that were deployed by an administrator.
Export-SPInfoPathAdministrationFiles | Saves InfoPath 2010 form templates on the SharePoint Central Administration Web site and .udcx files to a .cab file.
Import-SPInfoPathAdministrationFiles | Imports InfoPath 2010 form templates and .udcx files that are located on the SharePoint Central Administration Web site.
Get-SPInfoPathFormsService | Returns the InfoPath Forms Services in SharePoint Server 2010 settings that are in the farm.
Set-SPInfoPathFormsService | Sets parameters for InfoPath Forms Services in SharePoint Server 2010.
Disable-SPInfoPathFormTemplate | Deactivates an InfoPath 2010 form template from the specified site collection.
Enable-SPInfoPathFormTemplate | Activates an InfoPath 2010 form template in the specified site collection.
Get-SPInfoPathFormTemplate | Returns an InfoPath 2010 form template.
Install-SPInfoPathFormTemplate | Installs an InfoPath 2010 form template on a farm.
Set-SPInfoPathFormTemplate | Sets properties of an InfoPath 2010 form template.
Start-SPInfoPathFormTemplate | Activates a previously quiesced InfoPath 2010 form template.
Stop-SPInfoPathFormTemplate | Disables an InfoPath 2010 form template on a farm before an upgrade.
Test-SPInfoPathFormTemplate | Validates that an InfoPath 2010 form template is browser-enabled.
Uninstall-SPInfoPathFormTemplate | Removes an InfoPath 2010 form template from a farm.
Update-SPInfoPathFormTemplate |
Add-SPInfoPathUserAgent | Adds a user agent to a farm.
Get-SPInfoPathUserAgent | Returns a user agent or all the currently defined user agents for the farm.
Remove-SPInfoPathUserAgent | Removes a user agent.
Get-SPInfoPathWebServiceProxy | Returns the Web proxy settings for the Web application.
Set-SPInfoPathWebServiceProxy | Sets parameters for an existing SharePoint Web service application.
Get-SPLogEvent | Returns results from a Unified Logging Service (ULS) trace log.
Merge-SPLogFile | Combines trace log entries from all farm computers into a single log file on the local computer.
New-SPLogFile | Creates a new log file.
Clear-SPLogLevel | Resets the Windows trace logging and event logging levels to their default values.
Get-SPLogLevel | Returns a list of objects or diagnostic levels.
Set-SPLogLevel | Sets the trace and event level for a set of categories.
Get-SPManagedAccount | Retrieves accounts registered in the configuration database.
New-SPManagedAccount | Registers a new managed account.
Remove-SPManagedAccount | Removes a managed account registration from the farm.
Set-SPManagedAccount | Configures the managed account.
Repair-SPManagedAccountDeployment | Repairs the local managed account credential deployment.
Get-SPManagedPath | Returns all managed paths that match the given criteria.
New-SPManagedPath | Creates a new managed path for the given Web application for all host header site collections.
Remove-SPManagedPath | Deletes the specified managed path from the specified host header or Web application.
Get-SPMetadataServiceApplication | Returns the properties of a service application or a collection of service applications.
New-SPMetadataServiceApplication | Creates a new metadata service application.
Set-SPMetadataServiceApplication | Sets the properties for a metadata service application.
Get-SPMetadataServiceApplicationProxy | Returns the properties of a service application proxy or a collection of service application proxies.
New-SPMetadataServiceApplicationProxy | Creates a new metadata service application proxy.
Set-SPMetadataServiceApplicationProxy | Sets the properties for a metadata service application proxy.
Clear-SPMetadataWebServicePartitionData | Removes all data for a site subscription on a metadata Web service application
Export-SPMetadataWebServicePartitionData | Exports the data from a metadata Web service for a site subscription.
Import-SPMetadataWebServicePartitionData | Restores the data for a site subscription.
Get-SPMobileMessagingAccount | Retrieves mobile messaging accounts for the specified Web application.
Set-SPMobileMessagingAccount | Configures the specified mobile messaging account.
Grant-SPObjectSecurity | Adds a new security principal to an SPObjectSecurity object.
Revoke-SPObjectSecurity | Removes a security principal from a SPObjectSecurity object.
Set-SPPassPhrase | Sets the passphrase to a new value.
Get-SPPerformancePointSecureDataValues | Displays unattended service account settings.
Set-SPPerformancePointSecureDataValues | Sets global settings for the unattended service account.
Get-SPPerformancePointServiceApplication | Returns a PerformancePoint Service application object and properties.
New-SPPerformancePointServiceApplication | Creates a new service application for PerformancePoint Services.
Remove-SPPerformancePointServiceApplication | Deletes a PerformancePoint Services application from a farm.
Set-SPPerformancePointServiceApplication | Sets global run-time properties for a PerformancePoint Services application.
New-SPPerformancePointServiceApplicationProxy | Creates a proxy for a PerformancePoint Services application.
Remove-SPPerformancePointServiceApplicationProxy | Deletes the proxy for a PerformancePoint Services application.
Clear-SPPerformancePointServiceApplicationTrustedLocation | Clears all the trusted locations for a PerformancePoint Services application identity
Get-SPPerformancePointServiceApplicationTrustedLocation | Returns a trusted location object and properties for a PerformancePoint Services application.
New-SPPerformancePointServiceApplicationTrustedLocation | Creates a new trusted location for a PerformancePoint Services application.
Remove-SPPerformancePointServiceApplicationTrustedLocation | Removes a single trusted location from a PerformancePoint Services application.
Get-SPProcessAccount | Returns a system account or a managed account.
Get-SPProduct | Returns a list of the SharePoint-related products installed in the farm and the versions of all updates installed for each product.
Add-SPProfileLeader | Adds a company leader.
Get-SPProfileLeader | Returns the current company leaders.
Remove-SPProfileLeader | Remove a company leader.
Move-SPProfileManagedMetadataProperty | Moves multiple-string values into a term set.
Update-SPProfilePhotoStore | Updates the profile photo store to be compatible with Microsoft SharePoint Server 2010.
New-SPProfileServiceApplication | Adds a User Profile Service application to a farm.
Set-SPProfileServiceApplication | Sets properties of a User Profile Service application.
New-SPProfileServiceApplicationProxy | Creates a User Profile Service application proxy on the local farm.
Set-SPProfileServiceApplicationProxy | Sets properties of a proxy for a User Profile Service application.
Get-SPProfileServiceApplicationSecurity | Returns permission and identity information.
Set-SPProfileServiceApplicationSecurity | Sets permission and identity information.
Initialize-SPResourceSecurity | Enforces resource security on the local server.
Get-SPSearchService | Returns a search service.
Set-SPSearchService | Sets properties of a search service.
Get-SPSearchServiceInstance | Returns an instance of a search service.
Set-SPSearchServiceInstance | Sets properties of a search service instance.
Get-SPSecureStoreApplication | Returns a Secure Store application.
New-SPSecureStoreApplication | Creates a new Secure Store application.
Remove-SPSecureStoreApplication | Deletes a Secure Store application.
Set-SPSecureStoreApplication | Sets properties of a Secure Store application.
New-SPSecureStoreApplicationField | Creates a new Secure Store application fields object.
Update-SPSecureStoreApplicationServerKey | Synchronizes the key on a server running SharePoint Server by using the Secure Store master key.
Clear-SPSecureStoreCredentialMapping | Deletes a credential mapping from a Secure Store Service application.
Update-SPSecureStoreCredentialMapping | Sets a new credential mapping for a Secure Store Service application.
Clear-SPSecureStoreDefaultProvider | Clears the secure store provider.
Set-SPSecureStoreDefaultProvider | Sets or updates the secure store provider.
Update-SPSecureStoreGroupCredentialMapping | Sets a new group credential mapping for a Secure Store Service application.
Update-SPSecureStoreMasterKey | Changes the master key of a Secure Store Service application.
New-SPSecureStoreServiceApplication | Creates a new Secure Store Service application in the farm.
Set-SPSecureStoreServiceApplication | Sets properties of a Secure Store Service application in the farm.
New-SPSecureStoreServiceApplicationProxy | Creates a new Secure Store Service application proxy in the farm.
New-SPSecureStoreTargetApplication | Creates a new Secure Store target application.
Get-SPSecurityTokenServiceConfig | Returns the security token service (STS) for the farm.
Set-SPSecurityTokenServiceConfig | Updates the settings of the SharePoint security token service (STS) identity provider.
Get-SPServer | Returns the server or servers in the farm that match the given identity.
Rename-SPServer | Renames a server that is currently connected to the farm.
Install-SPService | Installs and provisions services on a farm.
Get-SPServiceApplication | Returns the specified service application.
Grant-SPServiceApplication | Grants a user account access to the service application.
Publish-SPServiceApplication | Shares the specified local service application outside the farm.
Remove-SPServiceApplication | Deletes the specified service application on the local server.
Revoke-SPServiceApplication | Revokes a user's access to a service application.
Set-SPServiceApplication | Sets properties of a service application.
Unpublish-SPServiceApplication | Stops sharing the specified service application outside the farm.
Get-SPServiceApplicationEndpoint | Returns the endpoint of a service application.
Set-SPServiceApplicationEndpoint | Sets the host of an endpoint for a service application.
Get-SPServiceApplicationPool | Returns the specified Internet Information Services (IIS) application pool.
New-SPServiceApplicationPool | Creates a new Web service application pool.
Remove-SPServiceApplicationPool | Completely deletes the specified Web service application pool.
Set-SPServiceApplicationPool | Changes the account used for the Identity of the specified application pool.
Get-SPServiceApplicationProxy | Returns an instance of the specified service application proxy.
Remove-SPServiceApplicationProxy | Deletes the specified service application proxy.
Get-SPServiceApplicationProxyGroup | Returns the proxy group for the specified service application.
New-SPServiceApplicationProxyGroup | Creates a new service application proxy group.
Remove-SPServiceApplicationProxyGroup | Completely deletes the specified service application proxy group.
Add-SPServiceApplicationProxyGroupMember | Adds a member to the service application proxy group.
Remove-SPServiceApplicationProxyGroupMember | Removes one or more proxies from the specified service application proxy group.
Get-SPServiceApplicationSecurity | Returns the SPObjectSecurity object for a service application.
Set-SPServiceApplicationSecurity | Updates the SPObjectSecurity object for a service application.
Get-SPServiceContext | Returns a service context.
Get-SPServiceHostConfig | Returns the common Web service settings.
Set-SPServiceHostConfig | Configures one or more common settings for all Web services.
Get-SPServiceInstance | Returns the services instance for a specific server or the entire farm.
Start-SPServiceInstance | Starts the service instance for a service on a specific server or the farm.
Stop-SPServiceInstance | Stops the service instance for a service.
Disable-SPSessionStateService | Turns off the session state service on the farm
Enable-SPSessionStateService | Creates a session state database and turns on the session state service
Get-SPSessionStateService | Returns the properties of the session state service, including time-out and database settings
Set-SPSessionStateService | Updates the credentials that are used to communicate with the state service database
Receive-SPSharedServiceApplicationInfo | Configures this farm to receive service information from another farm.
Add-SPShellAdmin | Adds a user to the SharePoint_Shell_Access role for the specified database.
Get-SPShellAdmin | Returns the names of all users who have the SharePoint_Shell_Access role.
Remove-SPShellAdmin | Removes a user from the SharePoint_Shell_Access role.
Disable-SPSingleSignOn | Disables the single sign-on (SSO) service on a farm server.
Upgrade-SPSingleSignOnDatabase | Migrates the application definitions from single sign-on (SSO) database to Secure Store database as target applications.
Backup-SPSite | Performs a backup of a site collection.
Get-SPSite | Returns all site collections that match the given criteria.
Move-SPSite | Moves site collections from one content database to another.
New-SPSite | Creates a new site collection at the specified URL.
Remove-SPSite | Completely deletes an existing site collection and all subsites.
Restore-SPSite | Restores a site collection.
Set-SPSite | Configures the specified site collection.
Get-SPSiteAdministration | Returns a site administration object that farm administrators can use to view certain information about site collections to which they might not have access.
Set-SPSiteAdministration | Allows farm administrators to configure any site collection.
Get-SPSiteSubscription | Returns the site subscription for the given URL or all site subscriptions in the local farm.
New-SPSiteSubscription | Creates a new site subscription.
Remove-SPSiteSubscription | Removes data stored in a subscription settings service application for a set of site subscriptions.
Clear-SPSiteSubscriptionBusinessDataCatalogConfig | Deletes all data from the Business Data Connectivity Metadata Store for a specified partition.
Export-SPSiteSubscriptionBusinessDataCatalogConfig | Exports all data from the Business Data Connectivity Metadata Store associated with a partition.
Remove-SPSiteSubscriptionBusinessDataCatalogConfig | Removes the Business Data Connectivity Metadata Store for a partition.
Get-SPSiteSubscriptionConfig | Returns the configuration properties of a site subscription.
Set-SPSiteSubscriptionConfig | Sets the configuration properties of a site subscription.
Get-SPSiteSubscriptionEdiscoveryHub | Displays the eDiscovery hub for a site subscription.
Set-SPSiteSubscriptionEdiscoveryHub | Sets properties for the eDiscovery hub of a site subscription.
Get-SPSiteSubscriptionEdiscoverySearchScope | Displays the search scope for the eDiscovery hub of the specified site collection.
Get-SPSiteSubscriptionFeaturePack | Retrieves available SharePoint feature sets or the Feature set assigned to a given site subscription.
New-SPSiteSubscriptionFeaturePack | Creates a new SharePoint feature set that can be used to limit the features available to a site subscription.
Remove-SPSiteSubscriptionFeaturePack | Removes a SharePoint feature set from a site subscription.
Add-SPSiteSubscriptionFeaturePackMember | Adds a feature to a SharePoint feature set.
Remove-SPSiteSubscriptionFeaturePackMember | Removes a feature definition from the provided SharePoint feature set.
Get-SPSiteSubscriptionMetadataConfig | Returns the site subscription configuration settings for a metadata service application.
Remove-SPSiteSubscriptionMetadataConfig | Removes site subscription configuration settings.
Set-SPSiteSubscriptionMetadataConfig | Sets the site subscription configuration settings for a specified metadata service application.
Add-SPSiteSubscriptionProfileConfig | Adds a new site subscription to a User Profile Service application.
Remove-SPSiteSubscriptionProfileConfig | Deletes a site subscription from a User Profile Service application.
Set-SPSiteSubscriptionProfileConfig | Sets the parameters of a site subscription.
Export-SPSiteSubscriptionSettings | Creates a backup file of site subscription data.
Import-SPSiteSubscriptionSettings | Restores a backup of subscription site settings to the given subscription identifier.
Remove-SPSiteSubscriptionSettings | Removes the settings service data for a specified site subscription, or finds and removes orphaned data.
Move-SPSocialComments | Moves social comments.
Remove-SPSocialItemByDate | Deletes tags, notes, or ratings.
Add-SPSolution | Uploads a SharePoint solution package to the farm.
Get-SPSolution | Returns a specified SharePoint solution.
Install-SPSolution | Deploys an installed SharePoint solution in the farm.
Remove-SPSolution | Removes a SharePoint solution from a farm.
Uninstall-SPSolution | Retracts a deployed SharePoint solution.
Update-SPSolution | Upgrades a deployed SharePoint solution.
Remove-SPSolutionDeploymentLock | Removes the solution deployment lock for a server.
Get-SPStateServiceApplication | Returns state service applications on the farm
New-SPStateServiceApplication | Creates a new state service application
Set-SPStateServiceApplication | Updates the name of a state service application
Get-SPStateServiceApplicationProxy | Returns state service application proxies on the farm.
New-SPStateServiceApplicationProxy | Creates a proxy for a state service application
Set-SPStateServiceApplicationProxy | Updates the name of a state service application proxy
Dismount-SPStateServiceDatabase | Removes the association to a state service database from the farm without dropping the database in the Microsoft SQL Server database
Get-SPStateServiceDatabase | Returns a state service database.
Initialize-SPStateServiceDatabase | Installs the state database schema into a state service database
Mount-SPStateServiceDatabase | Attaches an existing state service database to the farm
New-SPStateServiceDatabase | Creates and provisions a new state service database, and installs the state database schema into it
Remove-SPStateServiceDatabase | Removes a state service database from a state service application and drops it from the SQL Server
Resume-SPStateServiceDatabase | Resumes a paused state service database so that new rows of data are received
Set-SPStateServiceDatabase | Updates properties of a state service database
Suspend-SPStateServiceDatabase | Pauses a state database and thus prevents new rows of data from being added to a database
New-SPSubscriptionSettingsServiceApplication | Creates a new subscription settings service application.
Set-SPSubscriptionSettingsServiceApplication | Sets properties of a subscription settings service application.
New-SPSubscriptionSettingsServiceApplicationProxy | Creates an application proxy to a subscription settings service application.
Get-SPTaxonomySession | Returns a TaxonomySession object.
Disable-SPTimerJob | Disables a timer job.
Enable-SPTimerJob | Enables a timer job.
Get-SPTimerJob | Returns timer jobs.
Set-SPTimerJob | Sets the schedule for running a timer job.
Start-SPTimerJob | Runs a timer job once.
Get-SPTopologyServiceApplication | Displays properties of the topology service application for the current farm.
Set-SPTopologyServiceApplication | Sets the properties on the topology service application of the local farm.
Get-SPTopologyServiceApplicationProxy | Retrieves the topology service application proxy.
Set-SPTopologyServiceApplicationProxy | Sets the proxy properties of the topology service application.
Get-SPTrustedIdentityTokenIssuer | Returns an identity provider.
New-SPTrustedIdentityTokenIssuer | Creates an identity provider in the farm.
Remove-SPTrustedIdentityTokenIssuer | Deletes a security token service (STS) identity provider from the farm.
Set-SPTrustedIdentityTokenIssuer | Sets the identity providers of a Web application.
Get-SPTrustedRootAuthority | Returns a trusted root authority.
New-SPTrustedRootAuthority | Creates a trusted root authority.
Remove-SPTrustedRootAuthority | Deletes a trusted root authority.
Set-SPTrustedRootAuthority | Creates a new trusted root authority.
Get-SPTrustedServiceTokenIssuer | Returns the object that represents the farm trust.
New-SPTrustedServiceTokenIssuer | Creates a trust with a SharePoint farm.
Remove-SPTrustedServiceTokenIssuer | Deletes the object that represents the farm trust.
Set-SPTrustedServiceTokenIssuer | Updates a trust with the farm.
Get-SPUsageApplication | Returns a specified usage application.
New-SPUsageApplication | Creates a new usage application.
Remove-SPUsageApplication | Removes a usage application from the local farm.
Set-SPUsageApplication | Sets properties of a usage application.
Get-SPUsageDefinition | Returns a usage definition object.
Set-SPUsageDefinition | Sets the retention period for a usage provider.
New-SPUsageLogFile | Starts a new usage log file on the current server computer.
Get-SPUsageService | Returns a usage service.
Set-SPUsageService | Sets the properties of a usage service.
Get-SPUser | Returns the user account or accounts that match a given search criteria.
Move-SPUser | Migrates a user account in SharePoint 2010 Products.
New-SPUser | Adds an existing user to a SharePoint site with the designated permissions.
Remove-SPUser | Removes a user from a Web site.
Set-SPUser | Configures properties on an existing user.
Add-SPUserSolution | Uploads a new sandboxed solution to the solution gallery.
Get-SPUserSolution | Returns a specified sandboxed solution.
Install-SPUserSolution | Activates a sandboxed solution in a site collection.
Remove-SPUserSolution | Removes a sandboxed solution from the solution gallery.
Uninstall-SPUserSolution | Deactivates a sandboxed solution in a site collection.
Update-SPUserSolution | Upgrades an activated sandboxed solution in a farm.
Get-SPVisioExternalData | Returns the settings for external data connections for a Visio Services application.
Set-SPVisioExternalData | Configures settings related to external data connections for a Visio Services application.
Get-SPVisioPerformance | Returns the Visio Services settings for the performance of a Visio Services application.
Set-SPVisioPerformance | Sets performance properties for a Visio Services application.
Get-SPVisioSafeDataProvider | Returns the settings of a safe data provider for a Visio Services application.
New-SPVisioSafeDataProvider | Adds a new data provider to a Visio Services application.
Remove-SPVisioSafeDataProvider | Removes a data provider from a Visio Services application.
Set-SPVisioSafeDataProvider | Specifies a description of a safe data provider for a Visio Services application.
Get-SPVisioServiceApplication | Returns properties of a Visio Services application or a collection of Visio Services applications.
New-SPVisioServiceApplication | Adds a new Visio Services application to a farm.
Set-SPVisioServiceApplication | Sets the ServiceApplicationPool property for a Visio Services application.
Get-SPVisioServiceApplicationProxy | Returns properties of a Visio Services application proxy or a collection of Visio Services application proxies
New-SPVisioServiceApplicationProxy | Adds a new Visio Services application proxy to a farm.
Export-SPWeb | Exports a site collection, Web application, list, or library.
Get-SPWeb | Returns all subsites that match the given criteria.
Import-SPWeb | Imports a site collection, Web application, list, or library.
New-SPWeb | Creates a new site in an existing site collection.
Remove-SPWeb | Completely deletes the specified Web.
Set-SPWeb | Configures the specified subsite.
Get-SPWebAnalyticsServiceApplication | Returns the settings for a Web Analytics Service application.
New-SPWebAnalyticsServiceApplication | Adds a new Web Analytics Service application to the farm.
Set-SPWebAnalyticsServiceApplication | Sets properties of a Web Analytics Service application.
Get-SPWebAnalyticsServiceApplicationProxy | Retrieves a new Web Analytics Service application proxy.
New-SPWebAnalyticsServiceApplicationProxy | Adds a new Web Analytics Service application proxy to the farm.
Set-SPWebAnalyticsServiceApplicationProxy | Sets a new proxy for the Web Analytics Service application.
Get-SPWebApplication | Returns all Web applications that match the given criteria.
New-SPWebApplication | Creates a new Web application within the local farm.
Remove-SPWebApplication | Deletes the specified Web application.
Set-SPWebApplication | Configures the specified Web application.
New-SPWebApplicationExtension | Creates a new zone instance for the Web application.
Disable-SPWebApplicationHttpThrottling | Turns off network throttling for a Web application.
Enable-SPWebApplicationHttpThrottling | Turns on network throttling for a Web application.
Get-SPWebApplicationHttpThrottlingMonitor | Reads all counters for network throttling on a Web application.
Set-SPWebApplicationHttpThrottlingMonitor | Sets the Health Score bucket values for an existing network throttling performance counter for a specified Web application.
Get-SPWebPartPack | Returns the Web Part packages that were installed for the specified scope.
Install-SPWebPartPack | Installs the specified Web Part package to the specified location.
Uninstall-SPWebPartPack | Uninstalls the specified Web Part package.
Get-SPWebTemplate | Displays all globally installed site templates that match the given identity.
Install-SPWebTemplate | Installs the given site template.
Set-SPWebTemplate | Changes the title and description of an installed site template.
Uninstall-SPWebTemplate | Uninstalls the given site template.
New-SPWordConversionServiceApplication | Creates a new instance of a Word Automation Services application on the farm.
Set-SPWordConversionServiceApplication | Sets properties of a Word Automation Services application.
Remove-SPWordConversionServiceJobHistory | Removes entries from the Word Automation Services job history database.
Get-SPWorkflowConfig | Returns workflow settings for the specified Web application.
Set-SPWorkflowConfig | Configures the workflow settings for the specified Web application.


Updates to Windows PowerShell cmdlets (SharePoint Server 2010)

This article lists the Windows PowerShell cmdlets that have been changed — or are no longer available — since the Beta release of Microsoft SharePoint Server 2010.

Beta version | Released version
Get-SPIisWebServiceApplicationPool | Get-SPServiceApplicationPool
New-SPIisWebServiceApplicationPool | New-SPServiceApplicationPool
Remove-SPIisWebServiceApplicationPool | Remove-SPServiceApplicationPool
Set-SPIisWebServiceApplicationPool | Set-SPServiceApplicationPool
Get-SPSecurityTokenServiceManager | Get-SPSecurityTokenServiceConfig
Set-SPSecurityTokenServiceManager | Set-SPSecurityTokenServiceConfig
Get-SPServiceEndpoint | Get-SPServiceApplicationEndpoint
Set-SPServiceEndpoint | Set-SPServiceApplicationEndpoint
Get-SPIisWebServiceSettings | Get-SPServiceHostConfig
Set-SPIisWebServiceSettings | Set-SPServiceHostConfig
Get-SPTopologyWebServiceApplication | Get-SPTopologyServiceApplication
Set-SPTopologyWebServiceApplication | Set-SPTopologyServiceApplication
Get-SPTopologyWebServiceProxy | Get-SPTopologyServiceApplicationProxy
Set-SPTopologyWebServiceProxy | Set-SPTopologyServiceApplicationProxy
Remove-SPBusinessDataCatalogThrottleConfig | This cmdlet is no longer available.
Get-SPSecurityTokenService | Get-SPSecurityTokenServiceConfig
Set-SPSecurityTokenService | Set-SPSecurityTokenServiceConfig
Set-FASTSearchQRProxyMOSSConfiguration | This cmdlet is no longer available.
Install-SPWebTemplate | This cmdlet is no longer available.


Stsadm to Windows PowerShell mapping (SharePoint Server 2010)

This article lists Stsadm operations and their equivalent Windows PowerShell cmdlets. Where there is no one-to-one mapping between the operations and cmdlets, the table lists the specific Windows PowerShell parameters you must use to get the same functionality.

Stsadm operation

Windows PowerShell cmdlet

Activatefeature

Enable-SPFeature

Activateformtemplate

Enable-SPInfoPathFormTemplate

Addalternatedomain

New-SPAlternateUrl

Addcontentdb

Mount-SPContentDatabase

New-SPContentDatabase

Adddataconnectionfile

Install-SPDataConnectionFile

Add-ecsfiletrustedlocation

New-SPExcelFileLocation

Add-ecssafedataprovider

New-SPExcelDataProvider

Add-ecstrusteddataconnectionlibrary

New-SPExcelDataConnectionLibrary

Add-ecsuserdefinedfunction

New-SPExcelUserDefinedFunction

Addexemptuseragent

Add-SPInfoPathUserAgent

Addpath

New-SPManagedPath

Addpermissionpolicy

None

Addsolution

Add-SPSolution

Addtemplate

Install-SPWebTemplate

Adduser

New-SPUser

Addwppack

Install-SPWebPartPack

Addzoneurl

New-SPAlternateUrl

Allowuserformwebserviceproxy

Set-SPInfoPathWebServiceProxy

Use the AllowForUserForms and Identity parameters.

Allowwebserviceproxy

Set-SPInfoPathWebServiceProxy

Use the AllowWebServiceProxy and Identity parameters.

Authentication

Set-SPWebApplication

Use the AuthenticationMethod or AuthenticationProvider parameters.

Backup

Backup-SPConfigurationDatabase

Backup-SPFarm

Backup-SPSite

Backuphistory

Get-SPBackupHistory

Binddrservice

None

Blockedfilelist

None

Canceldeployment

None

Changepermissionpolicy

None

Copyappbincontent

None

Createadminvs

New-SPCentralAdministration

Creategroup

None

Createsite

New-SPSite

Createsiteinnewdb

New-SPSite Use the ContentDatabase parameter.

New-SPContentDatabase

Createweb

New-SPWeb

Databaserepair

None

Deactivatefeature

Disable-SPFeature

Deactivateformtemplate

Disable-SPInfoPathFormTemplate

Deleteadminvs

None

Deletealternatedomain

Remove-SPAlternateUrl

Deleteconfigdb

Remove-SPConfigurationDatabase

Deletecontentdb

Dismount-SPContentDatabase

Deletegroup

None

Deletepath

Remove-SPManagedPath

Deletepermissionpolicy

None

Deletesite

Remove-SPSite

Deletesolution

Remove-SPSolution

Deletetemplate

Uninstall-SPWebTemplate

Deleteuser

Remove-SPUser

Deleteweb

Remove-SPWeb

Deletewppack

Uninstall-SPWebPartPack

Deletezoneurl

Remove-SPAlternateUrl

Deploysolution

Install-SPSolution

Deploywppack

Install-SPWebPartPack

Disablessc

None

Displaysolution

Get-SPSolution

Editcontentdeploymentpath

Set-SPContentDeploymentPath

Email

None

Enablessc

None

Enumalternatedomains

Get-SPAlternateURL

Enumcontentdbs

Get-SPContentDatabase

Enumdataconnectionfiledependants

Get-SPDataConnectionFileDependent

Enumdataconnectionfiles

Get-SPDataConnectionFile

Enumdeployments

None

Enumexemptuseragents

Get-SPInfoPathUserAgent

Enumformtemplates

Get-SPInfoPathFormTemplate

Enumgroups

None

Enumroles

None

Enumservices

Get-SPServiceInstance

Enumsites

Get-SPSiteAdministration (To run this cmdlet, you must be a member of the Farm Administrators group.)

Get-SPSite (To run this cmdlet, you must be a local administrator on the computer where SharePoint 2010 Products is installed.)

Enumsolutions

Get-SPSolution

Enumsubwebs

Get-SPWeb

Enumtemplates

Get-SPWebTemplate

Enumusers

Get-SPUser

Enumwppacks

Get-SPWebPartPack

Enumzoneurls

Get-SPAlternateURL

Execadmsvcjobs

Start-SPAdminJob

Export

Export-SPWeb

Extendvs

New-SPWebApplication

Extendvsinwebfarm

New-SPWebApplicationExtension

Forcedeletelist

None

Getadminport

Get-SPWebApplication

Use the following syntax:

  • Get-SPWebApplication -IncludeCentralAdministration | ? {$_.IsAdministrationWebApplication -eq $true}

Getdataconnectionfileproperty property

Get-SPDataConnectionFile

Use the following syntax:

  • Get-SPDataConnectionFile | where {$_.Name -eq "dataConFileName"} | format-list

Getformtemplateproperty property

Get-SPInfoPathFormTemplate

Use the following syntax:

  • Get-SPInfoPathFormTemplate | where {$_.DisplayName -eq "formTemplateName"} | format-list

Getosearchsetting

None

Getproperty

Get-SPFarmConfig

Get-SPTimerJob

Disable-SPTimerJob

Enable-SPTimerJob

Set-SPTimerJob

Start-SPTimerJob

Getsitelock

Get-SPSiteAdministration

Getsiteuseraccountdirectorypath

None

Geturlzone

Get-SPAlternateURL

Import

Import-SPWeb

Installfeature

Install-SPFeature

Listlogginglevels

Get-SPLogLevel

Listqueryprocessoroptions

None

Listregisteredsecuritytrimmers

Get-SPEnterpriseSearchSecurityTrimmer

Localupgradestatus

None

Managepermissionpolicylevel

None

Mergecontentdbs

Move-SPSite

Migrateuser

Move-SPUser

Osearch

For the Osearch parameters farmcontactemail, farmperformancelevel, farmserviceaccount, and farmservicepassword, use the Get-SPEnterpriseSearchService and Set-SPEnterpriseSearchService cmdlets.

For the Osearch parameters start and stop, use the Start-SPEnterpriseSearchServiceInstance and Stop-SPEnterpriseSearchServiceInstance cmdlets, respectively.

For the Osearch parameter defaultindexlocation, use the Get-SPEnterpriseSearchServiceInstance and Set-SPEnterpriseSearchServiceInstance cmdlets.

Osearchdiacriticsensitive

Use the Get-SPEnterpriseSearchServiceApplication cmdlet to retrieve the specific Search service application, and then use DiacriticSensitive parameter from the Set-SPEnterpriseSearchServiceApplication cmdlet.

Profilechangelog

None.

However, you can use the Stsadm profilechangelog operation if you replace the Shared Services Provider (SSP) name with the service application (SA) name:

Copy Code
stsadm -o profilechangelog
-title <SA name>
-daysofhistory <number of days>
-generateanniversaries

For more information about service applications, see About service applications and services (SharePoint Server 2010).

Provisionservice

Start-SPServiceInstance

Quiescefarm

None

Quiescefarmstatus

None

Quiesceformtemplate

Stop-SPInfoPathFormTemplate

Reconvertallformtemplates

Update-SPInfoPathFormTemplate

Refreshdms

None

Refreshsitedms

None

Registersecuritytrimmer

New-SPEnterpriseSearchSecurityTrimmer

Registerwsswriter

None

Removedataconnectionfile

Uninstall-SPDataConnectionFile

Remove-ecsfiletrustedlocation

Remove-SPExcelFileLocation

Remove-ecssafedataprovider

Remove-SPExcelDataProvider

Remove-ecstrusteddataconnectionlibrary

Remove-SPExcelDataConnectionLibrary

Remove-ecsuserdefinedfunction

Remove-SPExcelFileLocation

Removedrservice

None

Removeexemptuseragent

Remove-SPInfoPathUserAgent

Removeformtemplate

Uninstall-SPInfoPathFormTemplate

Removesolutiondeploymentlock

None

Renameserver

Rename-SPServer

Renamesite

Set-SPSite

Use the Url parameter.

Renameweb

Set-SPWeb

Use the RelativeUrl parameter.

Restore

Restore-SPFarm

Restore-SPSite

Retractsolution

Uninstall-SPSolution

Retractwppack

None

Runcontentdeploymentjob

Start-SPContentDeploymentJob

Scanforfeatures

Install-SPFeature

Use the Scanforfeatures parameter.

Setadminport

Set-SPCentralAdministration

Setapppassword

None

Setconfigdb

Connect-SPConfigurationDatabase

Setcontentdeploymentjobschedule

Set-SPContentDeploymentJob

Setdataconnectionfileproperty

Set-SPDataConnectionFile

Set-ecsexternaldata

Set-SPExcelFileLocation

Set-ecsloadbalancing

Set-SPExcelServiceApplication

Use the LoadBalancingScheme parameter.

Set-ecsmemoryutilization

Set-SPExcelServiceApplication

Use the MemoryCacheThreshold and PrivateBytesMax parameters.

Set-ecssecurity

Set-SPExcelServiceApplication

Use the CrossDomainAccessAllowed, EncryptedUserConnectionRequired, and FileAccessMethod parameters.

Set-ecssessionmanagement

Set-SPExcelServiceApplication

Use the SessionsPerUserMax and SiteCollectionAnonymousSessionsMax parameters.

Set-ecsworkbookcache

Set-SPExcelServiceApplication

Use the Workbookcache and WorkbookCacheSizeMax parameters.

Setformtemplateproperty

Set-SPInfoPathFormTemplate

Setlogginglevel

Set-SPLogLevel

Setosearchsetting

None

Setproperty

Set-SPFarmConfig

Get-SPTimerJob

Disable-SPTimerJob

Enable-SPTimerJob

Set-SPTimerJob

Start-SPTimerJob

Setqueryprocessoroptions

None

Setsitelock

Set-SPSiteAdministration

Use the LockState parameter.

Setsiteuseraccountdirectorypath

Get-SPSiteSubscription

New-SPSiteSubscription

Remove-SPSiteSubscription

Setworkflowconfig

Set-SPWorkflowConfig

Siteowner

Set-SPSiteAdministration

Syncsolution

Install-SPSolution

Use the Synchronize parameter.

Unextendvs

Remove-SPWebApplication

Uninstallfeature

Uninstall-SPFeature

Unquiescefarm

None

Unquiesceformtemplate

Start-SPInfoPathFormTemplate

Unregistersecuritytrimmer

Remove-SPEnterpriseSearchSecurityTrimmer

Unregisterwsswriter

None

Updateaccountpassword

Set-SPManagedAccount

Updatealerttemplates

None

Updatefarmcredentials

None

Upgrade

None

Upgradeformtemplate

Install-SPInfoPathFormTemplate

Upgradesolution

Update-SPSolution

Upgradetargetwebapplication

None

Uploadformtemplate

Install-SPInfoPathFormTemplate

Userrole

Get-SPUser

Move-SPUser

New-SPUser

Remove-SPUser

Set-SPUser

Verifyformtemplate

Test-SPInfoPathFormTemplate


Microsoft Press: Using Windows PowerShell to Perform and Automate Farm Administrative Tasks

Published: January 13, 2011

This book excerpt is from Microsoft SharePoint 2010 Administrator's Companion, Microsoft Press, August 2010.

Buy this book

This excerpt from Microsoft SharePoint 2010 Administrator's Companion explores the SharePoint 2010 Management Shell and how to use Windows PowerShell to accomplish some basic administrative tasks.

Authors

Bill English

Bill English, MCTS, MCT, CTT+, GSEC certified, is a Microsoft® MVP for SharePoint® Server. He runs a leading training and consulting company, has written 10+ books, and speaks at the Microsoft® Office SharePoint® Conference, Comdex, and other events.

Brian Alderman

Brian Alderman has his master's in Computer Information Systems and is currently employed by Mindsharp which is located in the Minneapolis-St. Paul area of Minnesota. Since 1995, he has held several Microsoft certifications that currently include; MCT, MCTS for SharePoint, MCITP for SQL Server®, MCSA and MCSE for Windows Server®, and also his PMP certification. As a Senior Technical Instructor and Consultant he has nearly 15 years of experience in networking, SQL Server databases, SharePoint technologies, and project management. Brian's previous publications include Windows 2000 Professional and SQL Server 2000 Administration. He is an active speaker at SharePoint Industry conferences including SharePoint Saturday's and the SharePoint Best Practices Conference.

Mark Ferraz

Mark Ferraz is the President of SolutionsMark (www.solutionsmark.com), a Houston-based consulting firm specializing in the design, development, and implementation of enterprise platforms, solutions, and services based on Microsoft SharePoint Products and Technologies. As a Senior Information Architect, Enterprise Network/Systems Architect, and Developer, Mark has over ten years of experience designing, managing, and implementing complex projects for some of the world's largest companies. In addition to being a contributing author of Microsoft Office SharePoint Server 2007 Best Practices, Mark is an active speaker at industry conferences such as SharePoint Best Practices Conference and SharePoint Technology Conference.

Book Excerpt -- Chapter 5: Using Windows PowerShell to Perform and Automate Farm Administrative Tasks

Over the last couple of years, some SharePoint administrators have recognized the power of Windows PowerShell and have tried to use it, but with no built-in support, most administrators have found it too difficult. Microsoft SharePoint Foundation 2010 and Microsoft SharePoint 2010 now contain native support for Windows PowerShell with the SharePoint 2010 Management Shell. This chapter explores the SharePoint 2010 Management Shell and how to use Windows PowerShell to accomplish some basic administrative tasks. Chapter 12, "Using Windows PowerShell to Manage Search Services and FAST Search," builds on the information in this chapter, using search administrative tasks and scenarios.

There is an enormous amount of information available about Windows PowerShell on the Internet and published in books. The aim of this chapter is not to teach you Windows PowerShell, but to show you how to become familiar with the new Windows PowerShell cmdlets, pronounced command-lets, introduced in SharePoint 2010. However, for those who are relatively new to Windows PowerShell, this chapter begins by reviewing the basics.

In this excerpt

  • Using Windows PowerShell: The Basics

  • Working with the SharePoint 2010 Management Shell

  • Examples of SharePoint Administrative Tasks

Using Windows PowerShell: The Basics

Traditionally, administrating a server on which Microsoft products are installed has involved learning a number of administrator tools, such as graphical interfaces based on the Microsoft Management Console (MMC), known as MMC snap-ins; many command-line utilities; and perhaps a Windows Management Instrumentation (WMI) provider or Component Object Model (COM) objects that administrators can interface with using VBScript. Until the release of SharePoint 2010, SharePoint Products and Technologies were no different than other Microsoft products in the number of available administrator tools. Administrators needed to rely on the Central Administration website, the SharePoint Products Configuration Wizard, and the command-line tools stsadm and psconfig. No one tool could do everything.

Each Microsoft product also had its own community, which created or extended the built-in tools to make an administrator's life easier. The tools an administrator needed were available, but they were scattered among many sources. This is all changing now that every administrative task can potentially be scripted or automated using Windows PowerShell.

The concept for Windows PowerShell is based on a study commissioned by Microsoft in the early 2000s. Originally based on the POSIX shell as specified in IEEE 1003.2 and influenced by Perl and UNIX shell, Windows PowerShell is a command shell and scripting language that is far more powerful than using the Windows command prompt (cmd.exe). Administrators love command-line tools because they can be batched together to automate repetitive tasks or to ensure that a set of tasks are completed again exactly as they were the last time they were executed. Windows PowerShell cmdlets offer administrators these same benefits. You can still use the traditional tools, but Windows PowerShell adds flexibility and breadth that the traditional tools do not provide.

Tip:

Community-led initiatives for previous versions of SharePoint include extensions to stsadm, published at http://stsadm.codeplex.com/; Windows PowerShell scripts for Windows SharePoint Services 3.0 and Microsoft Office SharePoint Server 2007 that can be found at http://sharepointpsscripts.codeplex.com/; and the CodePlex project "PowerShell SharePoint Provider" for Windows SharePoint Services 2.0 and Microsoft SharePoint Portal Server 2003, available at http://www.codeplex.com/PSSharePoint.

This section covers the following Windows PowerShell topics.

  • What's new in the Windows PowerShell 2.0 release

  • Architecture

  • Installing Windows PowerShell

  • Remote management

What's New in Windows PowerShell 2.0

Windows PowerShell 2.0 offers a number of new features and improvements from Windows PowerShell 1.0, including

  • New cmdlets

  • Remote Management and background jobs

  • Windows PowerShell Integrated Scripting Environment (ISE)

  • Windows PowerShell debugger

  • Modules

  • Advanced functions

  • Transactions

  • Steppable pipelines

  • Events

  • Script internationalization

  • Online Help

As an IT professional, many of these new features will interest you. For example, you can remotely manage all the servers in your farm from your desktop, and when you become competent in Windows PowerShell, you will be able to create your own advanced functions using the Windows PowerShell scripting language that you can then use as cmdlets. In Windows PowerShell 1.0, the only way to do this was with a developer, using code and deploying files onto your farm.

Tip:

For more information about what's new in Windows PowerShell 2.0, see What's New in Windows PowerShell and http://en.wikipedia.org/wiki/Windows_PowerShell. Other resources can be found by using your favorite Internet search engine and entering the keywords What's New in Windows PowerShell 2.0 or the feature names listed previously.

Windows PowerShell Architecture

Why is Windows PowerShell so important? Windows PowerShell scripting language is object orientated, built on top of the .NET Framework—.NET Framework 3.5 for Windows PowerShell 2.0—and based on the C# (pronounced C-sharp) programming language. This allows Windows PowerShell to access the underlying object models, to pass objects and their values (properties) from one Windows PowerShell command to another. This means you have almost the power of a developer without having to write, compile, and deploy code. The disadvantage is that it can be all too easy to cause havoc in your installation.

When the Microsoft product teams consider the tools they want to provide to administrators, they build them first on Windows PowerShell. Hence, with the installation of SharePoint 2010, a large number of administrative tasks can be completed natively with Windows PowerShell cmdlets, with no need to install software from community-led initiatives. If any additional cmdlets are required, you can create them using Windows PowerShell scripts and the Advanced Functions feature in Windows PowerShell 2.0, and developers within your organization can create new cmdlets. Using Windows PowerShell to help administer SharePoint is the way of the future, so it's important to start learning to use the built-in cmdlets as soon as possible.

At first, using Windows PowerShell may seem daunting, but if you have used the command prompt (cmd.exe) or have created batch files, you will soon be comfortable with the Windows PowerShell console. In fact, you can even use the Windows PowerShell console instead of the command prompt, because all the commands you currently use, such as dir, cd, and ping, work equally well in the Windows PowerShell console as they do in the command prompt. You may need to enclose command-line parameters in quotation marks to use the commands from within Windows PowerShell, but that is about the only modification you need to make. So there is no need to use two different windows to complete your administrative tasks.

Note:

By default, the command prompt has a black background, but this can be changed. Right-click the title bar and then select Properties. A Properties dialog box appears with four tabs: Options, Font, Layout, and Colors. You can change the font, background color, window size, and more. See the sidebar titled "Command-line Shortcuts" later in this chapter for more information about similarities between the two command-line interfaces.

There are two ways of using Windows PowerShell: either through a command-line interface, known as the Windows PowerShell console (powershell.exe), or through the Windows PowerShell Interactive Scripting Environment (ISE) graphical interface (Powershell_ise.exe). This chapter concentrates on using the Windows PowerShell console.

Tip:

Following are some resources for more information on Windows PowerShell.

  • Windows PowerShell 2.0 Administrator's Pocket Consultant, by William R. Stanek (Microsoft Press, 2009)

  • "Scripting with Windows PowerShell" on the Microsoft TechNet Script Center at http://technet.microsoft.com/en-us/scriptcenter/dd742419.aspx.

  • An aggregation of Windows PowerShell bloggers at http://pipes.yahoo.com/powershell/englishbloggers.

  • A short introduction to Windows PowerShell in a free eBook at http://blogs.msdn.com/mapo/archive/2007/07/17/windows-powershell-free-ebook-at-microsoft.aspx.

  • Mastering PowerShell, by Dr. Tobias Weltner, a free eBook at http://blogs.msdn.com/powershell/archive/2009/07/17/free-powershell-v1-book-from-the-makers-of-powershell-plus.aspx.

Command-line Shortcuts

All the same shortcuts that you use at the command prompt work in the Windows PowerShell console.

  • To pause the display temporarily when a command is writing output, press Ctrl+S, and then press Ctrl+S to resume or press Ctrl+C to terminate execution.

  • By default, up to 50 commands are stored in a buffer. You can move through the buffer by using the up arrow and down arrow keys to scroll through the commands so you can easily execute the next or a previous command.

  • The buffered commands can be displayed from a pop-up window by pressing F7. Select the command you want to execute using the arrow keys, press Enter or F9, type the number of the command you want to execute, and then press Enter.

  • The buffered commands can be displayed from the command line by typing the first few characters of the command you want and then pressing F8. The command-line interface searches though the history buffer for the first command that begins with the characters you typed.

  • Using the auto completion capabilities of the Windows PowerShell command shell, you never need to type the complete name of a command. Type in the first few characters of the command you want and press Tab to cycle through all commands and available file names and folders in alphabetic order, or click Shift+Tab to cycle through the commands in reverse order.

  • To copy and paste text, right-click the command-line interface title, click Mark, highlight the text you want to copy, and then right-click the window title again to copy the selected text automatically into the Clipboard.

  • Commands are case insensitive and can be batched together and placed in a text file. By calling that file in the command-line window, the commands in the file are executed. These text files have an extension of .bat, .cmd, .vbs, or in the case of Windows PowerShell, .ps1. Commands in these files can be executed outside the command window by calling the file from the Run line or by double-clicking the file in Windows Explorer.

  • Arguments can be sent to the command file being called. The arguments passed to your command file are stored in memory and accessed using variables. You can also create variables to store values needed as you complete a task. In Windows PowerShell, you reference variables by preceding the variable name by a dollar sign ($).

  • Output from a command can be directed to a file named to the right of >. This will overwrite the file if it already exists. To redirect the output but append it to the file, use >>. Error messages that result from running a command can be redirected to a file named to the right of 2>, or they can be appended to a file by using 2>> or sent to the same destination as the standard output by using 2>&1.

  • You can execute many commands on the same line. In Windows PowerShell, you separate commands using the semicolon character (;).

  • Redirect the output of one command as input to another command by separating both command with a '|', known as a pipe. For example, dir | sort | more will display a sorted list of files in the current directory one page at a time. The pipe is the symbol located above the backslash on most keyboards.

  • Aliases and shortcuts can be substituted for commonly used commands. For example, the ForEach-Object cmdlet can be replaced with ForEach or even with the percentage character, %. The question mark character, ?, can be used in place of Where or Where-Object. You can also use Get-Alias to return a list of aliases. Note that the use of aliases in scripts can make them difficult to understand.

  • Examples of these shortcuts can be found throughout this book.

Installing Windows PowerShell

Computers running Windows 7 or Windows 2008 R2 or later include Windows PowerShell 2.0 and Windows Remote Management (WinRM) 2.0. If you want to manage computers using earlier operating systems locally or remotely using Windows PowerShell, you will need to install both Windows PowerShell 2.0 and WinRM 2.0.

Installing Windows PowerShell 2.0 and WinRM 2.0

A copy of Windows PowerShell 2.0, together with WinRM 2.0, can be downloaded from http://support.microsoft.com/default.aspx/kb/968929. Ensure that you obtain the correct version; for example, if you install SharePoint on the 64-bit version of Windows Server 2008, you need to download and install the Windows 2008 x64 version of Windows PowerShell 2.0 and WinRM 2.0. After they are installed, you will find the executable for the Windows PowerShell ISE in the folder %SystemRoot%\System32\WindowsPowerShell\v1.0.

Note:

If you going to be a heavy user of ISE, consider placing a shortcut for this program on your taskbar. On the Start menu, right-click Powershell_ise.exe and then select either Pin To Taskbar or Pin To Start Menu.

To use Windows PowerShell ISE on Windows 2008 R2, you need to add the Windows PowerShell ISE feature. This feature can be added using Windows PowerShell commands or the Server Manager. After you have installed SharePoint 2010 or SharePoint Foundation 2010, perform the following steps.

  • Using Windows PowerShell, enter the following commands.

    Import-Module Servermanager; Add-WindowsFeature "PowerShell-ISE"

  • Using Server Manager, complete the following procedure.

    1. Start the Server Manager, click Features, and then select Add Features.

    2. In the middle pane of the Add Features Wizard, select the check box for Windows PowerShell Integrated Scripting Environment (ISE) as shown in Figure 5-1 and then click Next.

Installing Windows PowerShell

Figure 5-1 Install the Windows PowerShell Integrated Scripting Environment (ISE) feature

  1. On the Confirmation Installation Selection screen, click Install.

  2. On the Installation Results screen, click Close.

Working Within Your Execution Policy

Windows PowerShell is a powerful tool, and as with any other scripting language, it is all too easy to borrow someone else's code or download snippets from the Internet. Also, because the code files are just text files, it is easy for anyone to modify them and inject malicious code. Therefore, Windows PowerShell has a built-in security feature called execution policy that you can set on a per-user basis, and these settings are saved in the registry. To view your execution policy, type the following command in the Microsoft SharePoint 2010 Management Shell.

If you are running the Management Shell on a SharePoint server, it is likely that the output from such a command is RemoteSigned, which means that you can run any commands interactively and you can use any scripts that are stored on the computer where you are logged in. However, if you want to run configuration files or scripts from remote sources, they need to be signed. You can change the execution policy if you start the Windows PowerShell console as an administrator and use the Set-ExecutionPolicy cmdlet, or you can change the registry key as follows.

HKLM\Software\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell

Security Note:

The registry key is useful in conjunction with an Active Directory Group Policy. Manual modifications to the registry should be avoided, especially when Microsoft provides a cmdlet to configure Windows PowerShell execution policy.

To sign scripts, use the Set-AuthenticodeSignature cmdlet, which can be used to add an Authenticode signature to a Windows PowerShell script or other file.

In an organization that has multiple environments, such as development, system integration, user acceptance test (UAT), pre-production, and production, consider the need to sign code on your production and UAT farms at minimum. You should also review the execution policy settings for these farms. You can set the execution policy in a Group Policy Object that targets either users or computers so that it cannot be overridden when someone logs on to your SharePoint servers.

Tip:

For more information on Windows PowerShell execution policies and signing scripts, see the TechNet article "Heading Off Malicious Code" at http://technet.microsoft.com/en-us/magazine/2008.01.powershell.aspx, or type Get-Help about_Execution_Policies at a Windows PowerShell command-line interface. There is also a blog post that explains the process in detail. It is "ALLSigned: Signing Your PowerShell Scripts" and can be found at http://sharepoint.microsoft.com/blogs/zach/Lists/Posts/Post.aspx?ID=53.

Note:

If you are using Windows 7 as your desktop and you want to remotely manage Windows Server 2008 R2 for your SharePoint servers, you need the Remote Server Administration Tools (RSAT), which is required for the new Group Policy features and supports Windows PowerShell. RSAT is available from the Microsoft Download Center at http://www.microsoft.com/downloads. For more information, go to http://technet.microsoft.com/en-us/library/dd367853.aspx and http://trycatch.be/blogs/roggenk/archive/2009/06/08/installing-windows-7-rsat-unattended.aspx.

Managing Systems Remotely with WinRM

Windows PowerShell 2.0 introduces a new capability to manage your systems remotely from your desktop by using either WinRM or Internet Information Server (IIS). WinRM is often the mechanism used by administrators and the subject of this section. Remote Management involves not just the ability to run Windows PowerShell locally on your machine using the few commands that allow you to specify a computer name as an optional parameter; it also includes methods known as fan-in and fan-out remoting and background jobs.

  • Fan-in remoting This allows many administrators to connect to an instance of Windows PowerShell running on the same remote servers—this is not supported out of the box in SharePoint 2010.

  • Fan-out remoting This allows you to send a single Windows PowerShell command to run multiple remote instances of Windows PowerShell in parallel, and the results of those commands will be returned to your desktop. You would use this if you need to complete the same task on multiple servers. You no longer need to establish a Remote Desktop connection to each server in turn and then execute the commands locally on that server. You can create a set of Windows PowerShell commands and pass the server names to those commands, which then completes the same commands sequentially for each server whose name you provide.

  • Background jobs Windows PowerShell 2.0 supports both local and remote background jobs. These are commands that execute asynchronously in the background with no interaction. When you execute a command in the background, the command prompt is returned immediately so that you can continue to execute other commands.

Configuring for WinRM

The WinRM Windows service must be started and configured for remoting on both your local computer and the server on which you want to remotely run commands. To find out if your server is running WinRM, type

Get-service winrm

To check if it is running on a remote server, type

Get-service winrm -computername $server_name

On your SharePoint server, this service should be running; however, if your local computer is running Windows 7 (or Windows Vista with Windows PowerShell 2.0 and WinRM 2.0 installed), you may need to start this service and enable remoting. You can do this by typing one command, Enable-PSRemoting, which executes two additional commands, Set-WSManQuickConfig and Start-Service WinRM.

Important:

If one of the network connection types is Public, the Set-WSManQuickConfig command will raise an Invalid Operation Exception. You will need to change the network connections to the network type of either Domain or Private to proceed.

The output to the Enable-PSRemoting command will look similar to the following example.

Copy Code
WinRM Quick Configuration
Running command "Set-WSManQuickConfig" to enable this machine for remote management
through WinRM service.
 This includes:
    1. Starting or restarting (if already started) the WinRM service
    2. Setting the WinRM service type to auto start
    3. Creating a listener to accept requests on any IP address
    4. Enabling firewall exception for WS-Management traffic (for http only).

Do you want to continue?
[Y] Yes  [A] Yes to All  [N] No  [L] No to All  [S] Suspend  [?] Help (default
is "Y"): y
WinRM has been updated to receive requests.
WinRM service type changed successfully.
WinRM service started.
Configured LocalAccountTokenFilterPolicy to grant administrative rights remotely to local users.
WinRM has been updated for remote management.
Created a WinRM listener on HTTP://* to accept WS-Man requests to any IP on this machine.
WinRM firewall exception enabled.

On a computer running a 64-bit version of Windows, you may see an additional confirmation message.

Copy Code
Are you sure you want to perform this action?
Performing operation "Registering session configuration" on Target "Session
configuration "Microsoft.PowerShell32" is not found. Running command
"Register-PSSessionConfiguration Microsoft.PowerShell32 -processorarchitecture x86
-force" to create "Microsoft.PowerShell32" session configuration. This will restart
WinRM service.".
[Y] Yes  [A] Yes to All  [N] No  [L] No to All  [S] Suspend  [?] Help (default is "Y"):

To determine how WinRM is configured, the authentication method, and the port numbers it will access, use the following command.

winrm get winrm/config/service

This should result in an output similar to the following.

Copy Code
Service
    RootSDDL = O:NSG:BAD:P(A;;GA;;;BA)S:P(AU;FA;GA;;;WD)(AU;SA;GWGX;;;WD)
    MaxConcurrentOperations = 4294967295
    MaxConcurrentOperationsPerUser = 15
    EnumerationTimeoutms = 60000
    MaxConnections = 25
    MaxPacketRetrievalTimeSeconds = 120
    AllowUnencrypted = false
    Auth
        Basic = false
        Kerberos = true
        Negotiate = true
        Certificate = false
        CredSSP = false
        CbtHardeningLevel = Relaxed
    DefaultPorts
        HTTP = 5985
        HTTPS = 5986
    IPv4Filter = *
    IPv6Filter = *
    EnableCompatibilityHttpListener = false
    EnableCompatibilityHttpsListener = false
    CertificateThumbprint

You can run winrm and winrm-related commands, such as the New-PSSession command, from either the Windows PowerShell console or the SharePoint 2010 Management Shell. However, these must be run as an administrator. To do this, right-click the Windows PowerShell console or the SharePoint 2010 Management Shell and then select Run As Administrator. You must be a member of the Administrators group on the remote machine or be able to provide administrator credentials to do this.

Note:

When your local computer and the remote computer are in different non-trusted domains or in a workgroup, additional steps are required to configure remoting. The workgroup scenario is likely to occur when SharePoint Foundation is installed for external collaboration or in a small business environment rather than in a typical SharePoint Server installation. For information on how to configure remoting between two workgroup machines, see the blog post at http://blogs.msdn.com/wmi/archive/2009/07/24/powershell-remoting-between-two-workgroup-machines.aspx.

Meeting Requirements for SharePoint PowerShell Remoting

To use WinRM to execute SharePoint PowerShell cmdlets on a remote machine, there are a number of additional requirements.

  1. You must have access to a userid with the correct rights to execute those commands. These requirements are applicable whether you are remoting into a server or locally executing SharePoint cmdlets. The userid must meet the following criteria.

    • Must be a member of the WSS_ADM_WGP local security group on the machine executing the commands.

    • Must be a member of the SharePoint_Shell_Access SQL Server role on the configuration database.

    • Must have access to the content database that you want to manipulate.

    You can use the SPShellAdmin cmdlets to help you manage these requirements. When you run the Add-SPShellAdmin cmdlet to add a userid to the SharePoint_Shell_Admin role, you must be mapped to Security_Admin role on the SQL instance and the db_owner role to the relevant databases. You need to run the Add-SPShellAdmin cmdlet for each content database that you want the userid to access.

  2. Designate one server in your farm as the server you will always use for remoting. On that server, increase the WinRM configuration option, MaxMemoryPerShellDB, to a large value, 512 or 1024. This configuration option limits the amount of memory a single remote process can use. Increasing the value will allow long-running commands to run without throwing OutOfMemory Exception errors. The command to display the values of the configuration options and sample output is shown here.

    winrm get winrm/config/winrs

    Copy Code
    Winrs
    AllowRemoteShellAccess = true
    IdleTimeout = 180000
    MaxConcurrentUsers = 5
    MaxShellRunTime = 2147483647
    MaxProcessesPerShell = 15
    MaxMemoryPerShellMB = 150
    MaxShellsPerUser = 5
 Winrs    AllowRemoteShellAccess = true    IdleTimeout = 180000    MaxConcurrentUsers = 5    MaxShellRunTime = 2147483647    MaxProcessesPerShell = 15    MaxMemoryPerShellMB = 150    MaxShellsPerUser = 5

    To modify the MaxMemoryPerShellDB setting, type the following Windows PowerShell command in the SharePoint 2010 Management Shell.

    Set-Item WSMan:\localhost\Shell\MaxMemoryPerShellMB 1024

  3. You must use Credential Security Provider (CredSSP) authentication. This authentication mechanism, introduced with Windows Vista, allows an application to delegate the credentials from one machine to another, a process called double hopping. This will enable you to provide the credentials that allow the SharePoint PowerShell cmdlets to talk to the Microsoft SQL Server that is hosting your SharePoint databases. If you do not use CredSSP and you try to remotely execute a SharePoint cmdlet, you are likely to receive a message that indicates the farm is unavailable. In the output from the Winrm get winrm/config/service command shown previously, notice that CredSSP is equal to False. There are several ways you can modify WinRM configuration options, including Group Policy, login scripts, and the command prompt. To enable CredSSP authentication though command-line interfaces, complete the following tasks.

    1. On the computer from which you are remoting, such as your Windows 7 desktop, type the following command, where Web1 is the SharePoint server. Type Y when prompted to confirm that you want to enable CredSSP authentication.

      Enable-WSManCredSSP -role client -DelegateComputer Web1

    2. On the SharePoint server where you are remoting to, type

      Enable-WSManCredSSP -role server

    Tip:

    For more information on multi-hop support in WinRM, see http://msdn.microsoft.com/en-us/library/ee309365(VS.85).aspx.

Using WinRM Remoting

The commands you need to start a remote session to remotely manage a SharePoint farm or one specific SharePoint server are similar to those in the following example.

Copy Code
$cred = Get-Credential contoso\spfarm
$sess = New-PSSession Web1 -Authentication CredSSP -Credential $cred
Invoke-Command -Session $sess -ScriptBlock '
   {ADD-PSSnapin Microsoft.SharePoint.PowerShell;}
Security Note:

You can limit the Windows PowerShell commands that a user can access during a remote session by using the -ConfigurationName parameter with the New-PSSession cmdlet or by using the Proxy cmdlet. For more information, see the blog post "Extending and/or Modifying Command with Proxies" at http://blogs.msdn.com/powershell/archive/2009/01/04/extending-and-or-modifing-commands-with-proxies.aspx.

When you enter the first command, a dialog box appears where you must type the password. This password and the user name are stored in the variable $Cred, which is used in the second command, New-PSSession, which establishes a persistent session with the remote server. Creating a persistent session is not necessary when using Windows PowerShell remoting, but if you do not establish a persistent connection, whenever you invoke a remote command that includes a SharePoint cmdlet, each Invoke-Command will also need to include the PSSnapin cmdlet. The third command, Invoke-Command PSSnapin, allows you to run SharePoint PowerShell cmdlets on the remote server.

Reference to the persistent session is stored in the variable $sess. You can direct any commands you want to that remote server by using this variable. In the following example, the cmdlet Get-SPServiceInstance is typed within the script block—the area between the curly brackets ({ }). The output from the Get-SPServiceInstance cmdlet returns the status of the services within a SharePoint farm.

Invoke-Command -Session $s -ScriptBlock {get-SPServiceInstance}

Copy Code
WARNING: column "PSComputerName" does not fit into the display and was removed.

TypeName                         Status   Id
--------                         ------   --
Business Data Connectivity       Online   3ad4d004-9ae3-4810-94bf-76cc43c9d507
Microsoft SharePoint Foundati... Online   81cc6474-fd6f-42ad-a932-25d67cff8cc1
Microsoft SharePoint Foundati... Disabled cb3b976c-b451-4abe-b808-0c6d191ccd3d
Microsoft SharePoint Foundati... Online   5bac9c93-483a-4901-ae46-f6f7ae0a12a8
Central Administration           Online   0c24457f-b58e-4daa-895e-4acd35ef7543
Microsoft SharePoint Foundati... Online   155570fa-0d4c-495d-9f31-5250e83bdd75
Microsoft SharePoint Foundati... Disabled c25ae170-c07d-48db-97b3-73b0d9b47e94
SharePoint Foundation Help Se... Online   8af8b8b1-92cb-48d2-8864-20a7e191d7c2
Important:

You can type multiple commands in a script block, either on separate lines or on the same line separated by a semicolon (;). If only one command is entered in the script block, the semicolon is optional, but it is good practice to include it. You can also use local variables to generate a remote script block as in the following example.

Copy Code
$url = "http://contoso.com"
$myscript = "get-spsite $url"
$sb = [scriptblock]::Create($myscript)
Invoke-Command $sess -ScriptBlock $sb

You can use the Windows PowerShell Invoke-Command cmdlet to communicate with many sessions, either on the same server or on different servers, from your desktop. This cmdlet enables you to start multiple administrative tasks at the same time that are then run in parallel. However, if these tasks are long running, you will not get control back until the command on the remote machine finishes. This is known as running the command interactively. To run asynchronously as a background job so that the Windows PowerShell prompt returns immediately and you can enter other commands, append the -AsJob parameter to the Invoke-Command, or alternatively, use the Start-Job cmdlet. Using this technique can reduce the amount of time to complete your administrative tasks, compared to running them sequentially. An example of how this can save you a considerable amount of time is during the upgrade process, when each session runs a database-attach-upgrade, and the time taken to complete all database upgrades is limited only by the resources of your SQL Server.

If you have many short-running tasks to complete on a specific server and don't want to keep typing Invoke-Command, use one of the following approaches.

  • You can enter an interactive session with that server by typing Enter-PSSession $sess. The command prompt will change from PS C:\Users\<userid>, where <userid> is the name of the current user, to [<remoteservername>]: PS C:\Users\<remotecredentials>\Documents, where <remotecredentials> is the userid you used for the CredSSP authentication. The command prompt reminds you that you are now submitting commands to the remote server. To return to interactive mode on your local computer, type Exit-PSSession or exit.

  • Use the Import-PSSession remoting cmdlet, also known as implicit remoting, to bring commands from the remote session into the local Windows PowerShell session. An additional advantage of the Import-PSSession approach is that you can interact with your local file system and talk to SharePoint as if you were logged on locally to the SharePoint server. By default, the Import-PSSession cmdlet imports all commands except commands that have the same name as commands in your current session. You can also import a subset of commands and prefix them with a word you specify, so that it is obvious to you which commands are local and which are remote. In the following example, the word Remote is added as a prefix to all SPSite cmdlets.

    Import-PSSession -session $sess -CommandName *-spsite -Prefix Remote

    Copy Code
    M ModuleType Name                      ExportedCommands
---------- ----                      ----------------
Script     tmp_1833f7bc-b269-4229... {Set-SPSite, Backup-SPSite, Get-SPSite,...

    In this example, you can use all SPSite cmdlets as if they were local commands; for example, by typing Get-RemoteSPSite you can return all site collections that match the given criteria. These imported commands are stored in a temporary module that is deleted at the end of the session. To create a persistent module that you can use in future sessions, use the Export-PSSession cmdlet. The imported commands still run in the remote session from which they were imported and therefore may take longer to run than local commands.

When you have completed all of your tasks, you can delete the persistent connection between your local machine and the remote machine by typing Remove-PSSession $sess.

Tip:

For more information about Windows PowerShell remoting, see Chapter 4, "Using Sessions, Jobs, and Remoting" in the Windows PowerShell 2.0, Administrator's Pocket Consultant, by William Stanek (Microsoft Press, 2009), and the TechNet Magazine article "A Sneak Peek at Remote Management in Version 2.0" at http://technet.microsoft.com/en-us/magazine/2008.08.windowspowershell.aspx. Also take a look at the blog post "A Few Good WS-MAN (WinRM) Commands" at http://blogs.technet.com/otto/archive/2007/02/09/sample-vista-ws-man-winrm-commands.aspx.

Working with the SharePoint 2010 Management Shell

To open the SharePoint 2010 Management Shell, click Start, and then select Programs, Microsoft SharePoint 2010 Products, and finally, SharePoint 2010 Management Shell, as shown in Figure 5-2.

Starting Windows PowerShell

Figure 5-2 Accessing the SharePoint 2010 Management Shell

The SharePoint 2010 Management Shell is a custom console; it is not the same console that opens if you open the default Windows PowerShell console, a shortcut to which is usually placed on the taskbar. A review of the properties of the SharePoint 2010 Management Shell shortcut exposes the command that is executed.

Copy Code
C:\Windows\System32\WindowsPowerShell\v1.0\PowerShell.exe  -NoExit  " &
   ' C:\Program Files\Common Files\Microsoft Shared\Web Server
   Extensions\14\CONFIG\POWERSHELL\Registration\\sharepoint.ps1 ' "

The shortcut points to the file Sharepoint.ps1. This is an example of a Windows PowerShell profile, which is identical to any other Windows PowerShell script file and is used to store frequently used elements that need to be automatically loaded at the start of a Windows PowerShell session. Hence, just like normal scripting files, profiles can contain functions, aliases, and variables, and they can load any Windows PowerShell extensions, snap-ins, or modules you might need. A Windows PowerShell snap-in (PSSnapin) is a .NET program that is compiled into DLL files and contains new cmdlets, functions, and/or providers. Windows PowerShell comes with a number of snap-ins, including Microsoft.PowerShell.Core, Microsoft.PowerShell.Host, and Microsoft.PowerShell.WSMan.Management, as well as modules such as ActiveDirectory, FailoverClusters, and WebAdministration. As other products are installed on your computer, additional extensions will become available.

The main aim of the SharePoint profile file is to load the Windows PowerShell for SharePoint snap-in so you can then use the new cmdlets specific to SharePoint. The SharePoint profile file contains the following code, plus a signature.

Copy Code
$ver = $host | select version
if ($ver.Version.Major -gt 1)  {$Host.Runspace.ThreadOptions = "ReuseThread"}
Add-PsSnapin Microsoft.SharePoint.PowerShell
Set-location $home

This code obtains the version of Windows PowerShell, checks that it is greater than 1, and then if that is true, it sets the threading model so that the first thread will be reused, loads the SharePoint PowerShell snap-in, and then changes directory to the home folder, such as C:\users\<userid>, where userid is the person who is currently logged in. For more information on SharePoint, Windows PowerShell, and threading, see the sidebar titled "Memory Considerations When Using Windows PowerShell" later in this chapter.

The SharePoint PowerShell snap-in is not the only snap-in loaded into the SharePoint 2010 Management Shell. Therefore, not only can you use the SharePoint cmdlets, you also can use other cmdlets from the snap-ins that are loaded. To see all the snap-ins and the order in which they were loaded, type Get-PSSnapin. Your output should look similar to the following example.

Copy Code
Name        : Microsoft.PowerShell.Diagnostics
PSVersion   : 2.0
Description : This Windows PowerShell snap-in contains Windows Eventing and
              Performance Counter cmdlets.

Name        : Microsoft.WSMan.Management
PSVersion   : 2.0
Description : This Windows PowerShell snap-in contains cmdlets (such as
              Get-WSManInstance and Set-WSManInstance) that are used by the
              Windows PowerShell host to manage WSMan operations.

Name        : Microsoft.PowerShell.Core
PSVersion   : 2.0
Description : This Windows PowerShell snap-in contains cmdlets used to manage
              components of WindowsPowerShell.

Name        : Microsoft.PowerShell.Utility
PSVersion   : 2.0
Description : This Windows PowerShell snap-in contains utility Cmdlets used to
              manipulate data.

Name        : Microsoft.PowerShell.Host
PSVersion   : 2.0
Description : This Windows PowerShell snap-in contains cmdlets (such as Start-
              Transcript and Stop-Transcript) that are provided for use with the
              Windows PowerShell console host.

Name        : Microsoft.PowerShell.Management
PSVersion   : 2.0
Description : This Windows PowerShell snap-in contains management cmdlets used to
              manage Windows components.

Name        : Microsoft.PowerShell.Security
PSVersion   : 2.0
Description : This Windows PowerShell snap-in contains cmdlets to manage Windows
              PowerShell security.

Name        : Microsoft.SharePoint.PowerShell
PSVersion   : 1.0
Description : Register all administration Cmdlets for Microsoft SharePoint Server.
Note:

If you develop your own scripts that can be called from the command prompt or by double-clicking the file in Windows Explorer, and those scripts contain Windows PowerShell for SharePoint commands, make sure that you include the command to set the threading model and load the Windows PowerShell for SharePoint snap-in in your scripts. When calling a script from within a Windows PowerShell console, you can use the #requires tag at the top of your script.

Real World Customizing Your Console

It is common practice to modify the profile file on the designated administrator machine. The profile could be altered so that it

  • Contains all the snap-ins or modules used by all IT professionals in an organization or department.

  • Tracks all Windows PowerShell commands executed.

  • Changes the prompt to indicate the server name. In an organization with a multitude of servers, it is all too easy to start an administrative task on the wrong server, so anything that can help an administrator identify the server he is working on will be helpful, such as configuring the window title to list the name of the server.

An example of a custom profile could contain the following code.

Copy Code
<# ***********************************************************
 Copyright (c)2010, Contoso, All Rights Reserved
 *************************************************************
Contoso PowerShell Profile - ContosoProfile.ps1
Author: Peter Connelly
Purpose: This profile sets the PowerShell window size, font and title
and loads the SharePoint snap-in
History: Version 1.0 01/02/2010 First version
#>
# Track all Windows PowerShell commands
$profilename = $MyInvocation.MyCommand.Name
$profilepath = $MyInvocation.MyCommand.Path
$transcriptFile = "C:\Contoso\Logs\Powershell_$profilename.log"
Start-Transcript $transcriptFile -append -force
Write-Output "Starting profile: $profilepath"

# Command from SharePoint Server 2010 profile file - SharePoint.ps1
$ver = $host | select version
if ($ver.Version.Major -gt 1)  {$Host.Runspace.ThreadOptions = "ReuseThread"}
Add-PsSnapin Microsoft.SharePoint.PowerShell
Set-location $home

# Check that this is a command-line interface and not the ISE
if ($host.name -eq "ConsoleHost")
{
  $width = 80
  $sizeWindow = new-object System.Management.Automation.Host.Size $width,40
  $sizeBuffer = new-object System.Management.Automation.Host.Size $width,9999
  <# Check to adhere to the following rules:
  The buffer width can't be resized to be narrower than the window's current
  width plus the window's width can't be resized to be wider than the
  buffer's current width. #>
  $S = $Host.UI.RawUI
  if ($s.WindowSize.width -gt $width)
  {
        $s.WindowSize = $sizeWindow
        $s.BufferSize = $sizeBuffer
  } else {
        $s.BufferSize = $sizeBuffer
        $s.WindowSize = $sizeWindow
  }
}
# Set foreground, background color and window title
$s.ForegroundColor = "Yellow";$s.BackgroundColor = "DarkBlue";
$s.WindowTitle = "$env:computername"
# #############################################################
# End of ContosoProfile.ps1
# #############################################################

Because the profile script is automatically executed every time you run the SharePoint 2010 Management Shell, it should be signed. More information about customizing your console can be found at http://technet.microsoft.com/en-us/library/ee156814.aspx.

Understanding cmdlets

Window PowerShell cmdlets are utilities that are built on top of application interfaces, and in the case of SharePoint 2010, the SharePoint Object Module, and SharePoint Web Services, that allow administrators to complete a number of tasks.

In general, cmdlets use a verb-noun pair. The noun specifies the object you want information about or that you want to manipulate, and the verb states what you want to do with that object. The verbs and nouns are always separated by a hyphen with no spaces, and SharePoint cmdlet verbs have a prefix of SP. For example, if you want to get (the verb) information about all the content databases (noun) in your farm, you would use the following SharePoint cmdlet, which would give you the output shown.

PS C:\Users\Peter> Get-SPContentDatabase

Copy Code
Id               : a1d5c96c-a41a-43b3-bc5d-3f8a93b26046
Name             : WSS_Content_a2fde53006e04bf5aae434ffd3c8a19c
WebApplication   : SPWebApplication Name=SharePoint - 80
Server           : SQL
CurrentSiteCount : 1

Id               : 363b11a3-6947-42f6-9df4-665eeff59c83
Name             : SPF_TeamsDB
WebApplication   : SPWebApplication Name=SPF_Teams
Server           : SQL
CurrentSiteCount : 1

Windows PowerShell also provides a few cmdlets that help you to work with the other cmdlets. Two examples of these are Get-Command, which can be shorted to gcm, and Get-Help, which can be shorted to help. (Shortened names of cmdlets are called aliases.) Get-Command allows you to find cmdlets, and then Get-Help can provide you with basic information about a cmdlet after it is retrieved. (You'll see how to use the Get-Help cmdlet in the section titled "Getting Help" later in this chapter.) In the following example, the Get-Command finds all the cmdlets associated with SharePoint.

Copy Code
PS C:\Users\Peter>Get-Command -PSSnapin "Microsoft.SharePoint.PowerShell" |
>>sort noun, verb |Format-Wide -Column 3
>><ENTER>
Note:

When you type a one-line Windows PowerShell script, or you have not provided all the required parameters, Windows PowerShell either prompts you for the parameter or starts a new line with >> so that you can enter more commands. When you have finished typing, press Enter for Windows PowerShell to execute the code. Because of page size restrictions, many of the commands in this chapter are shown on multiple lines when they could be typed on one line, so always remember to press Enter only to execute the scripts.

The set of commands shown previously takes the output from the Get-Command cmdlet and pipes it to the sort cmdlet. The sort cmdlet sorts the data in noun-then-verb order so that all SharePoint cmdlets that manipulate the same object are listed together. The cmdlets that manipulate the same object are then sorted in verb order. To reduce the amount of scrolling necessary in the SharePoint 2010 Management Shell, the sorted data is piped to the format-wide cmdlet. Such a combination of Windows PowerShell cmdlets is quite common. The output from the command set would look similar to the following sample.

Copy Code
Start-SPAdminJob           Get-SPAlternateURL         New-SPAlternateURL
Remove-SPAlternateURL      Set-SPAlternateURL         Install-SPApplicationC...
Start-SPAssignment         Stop-SPAssignment          Get-SPAuthenticationPr...
New-SPAuthenticationPro... Get-SPBackupHistory        Move-SPBlobStorageLoca...
Get-SPBrowserCustomerEx... Set-SPBrowserCustomerEx... Copy-SPBusinessDataCat...
…..(not all output shown)
Set-SPWebApplicationHtt... Get-SPWebPartPack          Install-SPWebPartPack
Uninstall-SPWebPartPack    Get-SPWebTemplate          Install-SPWebTemplate
Set-SPWebTemplate          Uninstall-SPWebTemplate    Get-SPWorkflowConfig
Set-SPWorkflowConfig
Note:

There is another cmdlet similar to the Get-Command that helps you work with cmdlets and that you might find useful—especially if you create your own commands or scripts. It is the Measure-Command cmdlet. This command allows you to measure the time it takes to run cmdlets or scripts. You may also find the Trace-Command cmdlet useful for debugging short script blocks.

Working with Objects

There are a considerable number of objects available in SharePoint, and as you might expect, there are more available in SharePoint Server than in SharePoint Foundation. By reading this book, you might have determined the relationship between these objects. For example, while a SharePoint farm can contain many Web applications, each SharePoint farm has one configuration database. Many of the SharePoint cmdlets use names that you can easily identify to determine which objects they will manipulate. To illustrate, the SPFarm cmdlets allow you to retrieve information about and back up or restore a SharePoint farm. For example, the SPFarmConfig cmdlet lets you retrieve and set properties for the farm.

However, there are a few cmdlet names that could confuse you. For example, the SPSite cmdlet allows you to manipulate site collections, and Chapter 2, "Understanding the Architecture of SharePoint 2010," explains that you can't create a site collection unless you have a Web application, which means using the SPWebApplication object. When a site collection is created, you choose a site template to create a site. In the SharePoint Object Model, this site is known as a web and not a site; hence, the object is named SPWeb. This can be quite confusing because the term "website" is often shortened to "site," and in the SharePoint Object Model, "site collection" is also shortened to "site." Because this terminology has been used through many versions of SharePoint and is used consistently by developers, it is easier for IT professionals to adopt this usage.

  • A web is a website and can be manipulated using the SPWeb object.

  • A site collection contains a collection of webs and can be manipulated using the SPSite object.

Figure 5-3 displays the most common objects and their relationships, but there are others, such as SPSiteCollection, which is a collection of SPSites.

The current selection of built-in cmdlets does not provide full coverage of all SharePoint objects, but you can write new cmdlets to manipulate these objects. To determine the objects associated with the SharePoint PowerShell cmdlets and the number of cmdlets per each object, use the commands in the following example, where a portion of the output is shown.

Copy Code
PS C:\Users\peter> Get-Command -PSSnapin "Microsoft.SharePoint.PowerShell" |
>>sort noun, verb | group-object -property noun
>><ENTER>
Copy Code
Count Name                      Group
----- ----                      -----
    1 SPAdminJob                {Start-SPAdminJob}
    4 SPAlternateURL            {Get-SPAlternateURL, New-SPAlternateURL, Rem...
    1 SPApplicationContent      {Install-SPApplicationContent}
    2 SPAssignment              {Start-SPAssignment, Stop-SPAssignment}
...(not all output shown)
    6 SPWeb                     {Export-SPWeb, Get-SPWeb, Import-SPWeb, New-...
    4 SPWebApplication          {Get-SPWebApplication, New-SPWebApplication,...
    1 SPWebApplicationExtension {New-SPWebApplicationExtension}
    2 SPWebApplicationHttpTh... {Disable-SPWebApplicationHttpThrottling, Ena...
    2 SPWebApplicationHttpTh... {Get-SPWebApplicationHttpThrottlingMonitor, ...
    3 SPWebPartPack             {Get-SPWebPartPack, Install-SPWebPartPack, U...
    4 SPWebTemplate             {Get-SPWebTemplate, Install-SPWebTemplate, S...
    2 SPWorkflowConfig          {Get-SPWorkflowConfig, Set-SPWorkflowConfig}
Common SharePoint objects and their relationships

Fig 5-3 Common SharePoint objects and their relationships

Understanding Properties and Methods

Everything that SharePoint knows about an object is stored in data elements and values known as properties, which also describe the state of that object. For example, the SPContentDatabase object contains all the information about the content databases within the farm.

Objects not only have properties, they also contain actions that determine how they can be manipulated. In object-oriented terminology, these actions, or different ways of acting on an object, are called methods. To determine the properties and methods for the SPSite object, use the cmdlets in the following example, where a portion of the output is shown.

PS C:\Users\peter> Get-SPSite | Get-Member

Copy Code
   TypeName: Microsoft.SharePoint.SPSite

Name                                  MemberType Definition
----                                  ---------- ----------
AddWorkItem                           Method     System.Guid AddWorkItem(Sys...
BypassUseRemoteApis                   Method     System.Void BypassUseRemote...
CheckForPermissions                   Method     System.Void CheckForPermiss...
Close                                 Method     System.Void Close()
ConfirmUsage                          Method     bool ConfirmUsage()
Delete                                Method     System.Void Delete(), Syste...
Dispose                               Method     System.Void Dispose()
…
ToString                              Method     string ToString()
UpdateValidationKey                   Method     System.Void UpdateValidatio...
VisualUpgradeWebs                     Method     System.Void VisualUpgradeWe...
AdministrationSiteType                Property   Microsoft.SharePoint.SPAdmi...
AllowDesigner                         Property   System.Boolean AllowDesigne...
AllowMasterPageEditing                Property   System.Boolean AllowMasterP...
….(not all output shown)
WarningNotificationSent               Property   System.Boolean WarningNotif...
WebApplication                        Property   Microsoft.SharePoint.Admini...
WorkflowManager                       Property   Microsoft.SharePoint.Workfl...
WriteLocked                           Property   System.Boolean WriteLocked ...
Zone                                  Property   Microsoft.SharePoint.Admini...
Important:

Never miss an opportunity to pipe the Get-SP<noun> cmdlet to the Get-Member cmdlet. It is sometimes surprising what information an object is able to retrieve.

Real World: Performance Issues When Running Windows PowerShell Commands

If you want to find all the site collections in the farm, you can type Get-SPSite. However, the only output you will see is the URL of the site collections. For performance reasons, the Url property is the only property displayed by default. This is because site collections have many properties; if you display all of these properties for a large number of site collections, you will consume a large amount of memory, and the command will take a long time to run. Displaying just the Url property is almost instantaneous because it is cached. Therefore, you should refrain from running this command to display more than a few additional properties.

To display more than the default property, you can use the select Windows PowerShell cmdlet with the pipe (|) character. You also can use the wildcard character (*) with the select statement to list all the property values, as shown in the following example.

PS C:\Users\Peter> Get-SPSite "http://teams" | select *

Copy Code
ApplicationRightsMask                 : FullMask
ID                                    : cbf3290e-000e-4768-953c-99a983430283
SystemAccount                         : SHAREPOINT\system
Owner                                 : CONTOSO\spadmin
SecondaryContact                      : CONTOSO\peter
GlobalPermMask                        : FullMask
IISAllowsAnonymous                    : False
Protocol                              : http:
HostHeaderIsSiteName                  : False
HostName                              : teams
Port                                  : 80
...(not all output shown)
AllowDesigner                         : True
AllowRevertFromTemplate               : False
AllowMasterPageEditing                : False
ShowURLStructure                      : False

To get a list of all site collections in your farm, together with the name of the content database where they are stored (output that gives only the URL of the site collection and the content database name), you would use the commands as shown in the following example, which also shows the sample output.

PS C:\Users\peter> Get-SPSite | select url, contentdatabase

Copy Code
Url                                     ContentDatabase
---                                     ---------------
http://MySite                           SPContentDatabase Name=Contoso_MySiteDB
http://MySite/personal/peter            SPContentDatabase Name=Contoso_PersonalDB
http://MySite/personal/erin             SPContentDatabase Name=Contoso_PersonalDB
http://intranet.contoso.msft            SPContentDatabase Name=Contoso_IntranetDB
http://teams                            SPContentDatabase Name=Contoso_TeamsDB
http://teams/sites/Finance              SPContentDatabase Name=Contoso_TeamsDB

Using Verbs

SharePoint uses common verbs that you have seen with other sets of cmdlets; there are also a number of new verbs added in SharePoint that you may not have seen. Again, you can find these by using the Get-Command cmdlet, as shown here.

Copy Code
PS C:\Users\Peter>Get-Command -PSSnapin "Microsoft.SharePoint.PowerShell" |
>>sort verb | group verb | sort count -descending
>><ENTER>
Copy Code
Count Name                      Group
----- ----                      -----
  139 Get                       {Get-PluggableSecurityTrimmer, Get-SPAccessS...
  104 Set                       {Set-SPAccessServiceApplication, Set-SPAlter...
   88 New                       {New-SPAccessServiceApplication, New-SPAlter...
   77 Remove                    {Remove-PluggableSecurityTrimmer, Remove-SPA...
   11 Update                    {Update-SPFarmEncryptionKey, Update-SPInfoPa...
   10 Add                       {Add-PluggableSecurityTrimmer, Add-SPClaimTy...
   10 Install                   {Install-SPApplicationContent, Install-SPDat...
    8 Start                     {Start-SPAdminJob, Start-SPAssignment, Start...
    8 Import                    {Import-SPBusinessDataCatalogModel, Import-S...
    8 Export                    {Export-SPBusinessDataCatalogModel, Export-S...
    8 Uninstall                 {Uninstall-SPDataConnectionFile, Uninstall-S...
    7 Disable                   {Disable-SPBusinessDataCatalogEntity, Disabl...
    6 Enable                    {Enable-SPBusinessDataCatalogEntity, Enable-...
    6 Clear                     {Clear-SPLogLevel, Clear-SPMetadataWebServic...
    5 Stop                      {Stop-SPAssignment, Stop-SPEnterpriseSearchQ...
    4 Move                      {Move-SPBlobStorageLocation, Move-SPProfileM...
    3 Initialize                {Initialize-SPContentDatabase, Initialize-SP...
    3 Upgrade                   {Upgrade-SPContentDatabase, Upgrade-SPEnterp...
    3 Backup                    {Backup-SPConfigurationDatabase, Backup-SPFa...
    3 Restore                   {Restore-SPEnterpriseSearchServiceApplicatio...
    2 Resume                    {Resume-SPEnterpriseSearchServiceApplication...
    2 Test                      {Test-SPContentDatabase, Test-SPInfoPathForm...
    2 Suspend                   {Suspend-SPEnterpriseSearchServiceApplicatio...
    2 Revoke                    {Revoke-SPBusinessDataCatalogMetadataObject,...
    2 Mount                     {Mount-SPContentDatabase, Mount-SPStateServi...
    2 Grant                     {Grant-SPBusinessDataCatalogMetadataObject, ...
    2 Dismount                  {Dismount-SPContentDatabase, Dismount-SPStat...
    1 Merge                     {Merge-SPLogFile}
    1 Receive                   {Receive-SPSharedServiceApplicationInfo}
    1 Disconnect                {Disconnect-SPConfigurationDatabase}
    1 Unpublish                 {Unpublish-SPServiceApplication}
    1 Connect                   {Connect-SPConfigurationDatabase}
    1 Rename                    {Rename-SPServer}
    1 Restart                   {Restart-SPEnterpriseSearchQueryComponent}
    1 Copy                      {Copy-SPBusinessDataCatalogAclToChildren}
    1 Ping                      {Ping-SPEnterpriseSearchContentService}
    1 Publish                   {Publish-SPServiceApplication}

As you can see, the most common SharePoint-related verbs are

  • Get Queries a specific object or a collection of object and retrieves information concerning that object. For example, you could use it to retrieve information on all service applications. Only Get commands return one or more objects; all other commands execute on one object at a time.

    Get-SPServiceApplication

  • Set Modifies specific settings of an object. For example, you could use it to set the site collection owner for a specific site collection.

    Set-SPSite http://teams -OwnerAlias contoso\peter

  • New Creates a new instance of an object, such as creating a new site collection.

    Copy Code
    New-SPSite http://teams/sites/HR -OwnerAlias contoso\peter
-Name "HR Team" -Template STS#0

  • Remove Removes (deletes) an instance of the object, such as a site collection and all its subsites. Because of the dangerous nature of this verb, you usually have to confirm this action by using the -confirm parameter. If this parameter is not present, you will see a message asking you to confirm the action, as shown here.

    Copy Code
    PS C:\Users\Peter> Remove-SPSite http://teams/sites/HR
Confirm
Are you sure you want to perform this action?
Performing operation "Remove-SPSite" on Target "http://teams/sites/Finance".
[Y] Yes  [A] Yes to All  [N] No  [L] No to All  [S] Suspend  [?] Help
(default is "Y"):y

Parameters are used throughout the examples shown here. These are the words prefixed with a hyphen (-). In the next section, you will look at the Get-Help cmdlet and learn how it can help you find out more about these parameters, including which parameters are available for use with different cmdlets.

Getting Help

Windows PowerShell contains an extensive built-in help system, and you can access it quickly by typing help at the command-line interface. This is an alias for the cmdlet Get-Help. You can even get help about Get-Help by typing Get-Help Get-Help. The output from such a command lists a description of the cmdlet, the syntax used by the cmdlet, parameter descriptions, examples, and other related notes. You also can use the Get-Help cmdlet to get help with the basic Windows PowerShell language. For example, you can use the following commands to get help about specific topics: Get-Help foreach, or Get-Help substring, or Get-Help variables.

Note:

The best way to learn Windows PowerShell is to use its built-in help system. If you or your developers create new Windows PowerShell cmdlets, make sure you create your own help files. In addition to the built-in help, there are many resources on the Internet. For example, you can download a free Windows PowerShell Help 2.0 for either 32-bit or 64-bit from http://www.primaltools.com/downloads/communitytools/.

Help Files

Get-Help finds the information to display by using Extensible Markup Language (XML) files that are installed on the server. When you installed SharePoint, help files were installed along with the Windows PowerShell snap-in. These files can be found in %CommonProgramFiles%\Microsoft Shared\Web Server Extensions\14\CONFIG\PowerShell\Help or %CommonProgramFiles%\Microsoft Shared\Web Server Extensions\14\CONFIG\PowerShell\Help\<locale>, where locale defines the language of the computer, such as en-us. These files use the naming convention <dll filename>-help.xml, such as Microsoft.SharePoint.PowerShell.dll-help.xml, Microsoft.SharePont.Search.dll-help.xml, and Microsoft.Office.Access.Server.dll-help.xml. You can find which cmdlets use which XML help file by typing

Copy Code
PS C:\Users\Peter>Get-Command -PSSnapin "Microsoft.SharePoint.PowerShell" |
>>sort helpfile, name |
>>Format-Wide name -column 2 -groupby helpfile | more
>><ENTER>

Copy Code
   :

Get-SPExcelBlockedFileType        Get-SPExcelDataProvider
Remove-SPExcelDataProvider        Remove-SPExcelUserDefinedFunction
Set-SPExcelFileLocation

   HelpFile: C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions
\14\CONFIG\PowerShell\Help\microsoft.office.access.server.dll-help.xml

Get-SPAccessServiceApplication    New-SPAccessServiceApplication
Set-SPAccessServiceApplication

   HelpFile: C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions
\14\CONFIG\PowerShell\Help\Microsoft.Office.Excel.Server.MossHost.dll-help.xml

Get-SPExcelDataConnectionLibrary   Get-SPExcelFileLocation
Get-SPExcelServiceApplication      Get-SPExcelUserDefinedFunction
New-SPExcelBlockedFileType         New-SPExcelDataConnectionLibrary
New-SPExcelDataProvider            New-SPExcelFileLocation
New-SPExcelServiceApplication      New-SPExcelUserDefinedFunction
Remove-SPExcelBlockedFileType      Remove-SPExcelDataConnectionL...
Remove-SPExcelFileLocation         Set-SPExcelDataConnectionLibrary
Set-SPExcelDataProvider            Set-SPExcelServiceApplication
-- More -
Tip:

You can find more information about the format of the cmdlet XML help files and how to make your own help files to complement new cmdlets you create at http://blogs.msdn.com/powershell/archive/2006/09/14/Draft-Creating-Cmdlet-Help.aspx and http://blogs.msdn.com/powershell/archive/2008/12/24/powershell-v2-external-maml-help.aspx.

ISE Help

In addition to the command-line help function, there is a graphical help file (WindowsPowerShellHelp.chm) located at %SystemRoot%\Help\mui\<LCID> where LCID is the locale identifier or language of your installation, such as 0409. You can access the graphical help file when using the ISE by selecting the command you want help for and then pressing F1. The chm file opens, and help is displayed for the command, as shown in Figure 5-4.

However, the chm file contains help only for the core Windows PowerShell cmdlets. If you need SharePoint-specific help, you should use the SharePoint 2010 Management Shell and the Get-Help cmdlet.

Tip:

For more information on the Help feature in Windows PowerShell and how you can configure it to show help for aliases or how to disable local help and force ISE to get help directly from TechNet, see http://blogs.microsoft.co.il/blogs/scriptfanatic/archive/2009/01/31/using-help-in-powershell-ise.aspx. Microsoft recommends that you always check the online help to find the latest information and examples. The link to the online version can be found in the Related Links section when you use the Get-Help command.

Windows PowerShell Help

Figure 5-4 Windows PowerShell graphical help

Using Parameters

To find which parameters you can use with a cmdlet, type either Get-Help <cmdlet> or Get-Command <cmdlet> -syntax, where <cmdlet> is the name of the cmdlet you want parameter information about. For example, Get-Help New-SPSite or Get-Command New-SPSite -syntax will provide you with information about the parameters associated with New-SPSite. The Get-Help cmdlet also has several parameters associated with it, and depending on the amount of information you want, you can use them with the Get-Help command. If you know a cmdlet very well and do not want a descriptive explanation of what the cmdlet does, then you may simply want to see some examples of how to use the cmdlet, in which case you would type Get-Help New-SPSite -examples.

To learn about which parameters to use with a cmdlet, review the syntax section of the help results, as shown in the following output. Optional parameters are enclosed within square brackets ([ ]) and the values to be passed to the parameters are enclosed within angled brackets (<>). The following example shows the syntax section of the Get-SPSite cmdlet.

Copy Code
SYNTAX
    Get-SPSite [-AssignmentCollection <SPAssignmentCollection>]
    [-Confirm [<SwitchParameter>]] [-Filter <ScriptBlock>] [-Limit <String>]
    [-WebApplication <SPWebApplicationPipeBind>] [-WhatIf [<SwitchParameter>]]
    [<CommonParameters>]

    Get-SPSite -Identity <SPSitePipeBind> [-AssignmentCollection
    <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-Filter <ScriptBlock>]
    [-Limit <String>] [-Regex <SwitchParameter>] [-WhatIf [<SwitchParameter>]]
    [<CommonParameters>]

    Get-SPSite -ContentDatabase <SPContentDatabasePipeBind> [-AssignmentCollection
    <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-Filter <ScriptBlock>]
    [-Limit <String>] [-WhatIf [<SwitchParameter>]] [<CommonParameters>]

    Get-SPSite -SiteSubscription <SPSiteSubscriptionPipeBind> [-AssignmentCollection
    <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-Filter <ScriptBlock>]
    [-Limit <String>] [-WhatIf [<SwitchParameter>]] [<CommonParameters>]

Notice that there are four ways to use Get-SPSite, and each syntax has an -AssignmentCollection parameter. The -AssignmentCollection parameter relates to an important aspect of the built-in SharePoint cmdlet, which is examined in more detail in the sidebar titled "Memory Considerations When Using Windows PowerShell," which appears later in this chapter.

The first syntax example shown in the listing above has no mandatory parameter, so the Get-SPSite cmdlet would have a scope of the farm or Web application. The other three syntaxes have a mandatory parameter that defines the scope as site collection, content database, or collection of site collections that subscribe to shared settings, features, and services, as shown in the following code. As is the case with the other SPSite cmdlets, in a large installation, this cmdlet could output a large amount of information, and the queries to many content databases could severely affect the performance of the SharePoint servers. Therefore, by default, the output reports only on the first 20 objects.

You can alter this output limit by using the -limit parameter, as shown in the following example, which outputs all site collections that are stored in the Contoso_TeamsDB content database.

Get-SPSite -ContentDatabase Contoso_TeamsDB -limit all

You can provide the values for these scope parameters, or in the case of the -identity parameter, where the value is a URL, you can use the wildcard character (*). The default help with no parameter provides a limited description of the command.

For more information, use the -detailed or the -full parameter. The -full parameter provides additional information about the parameters. For example, additional information about the -identity parameter is shown on the following page.

Copy Code
PARAMETERS
    -Identity <SPSitePipeBind>
        Specifies the URL or GUID of the site collection to get.

        The type must be a valid URL, in the form http://server_name or http://
        server_name/sites/sitename, or a valid GUID (for example, 12345678-90ab
        -cdef-1234-567890bcdefgh).

        Required?                    true
        Position?                    1
        Default value
        Accept pipeline input?       True
        Accept wildcard characters?  false

If you look at the last five lines of the output, you see that it provides more information on how to use the -identity parameter. For example, the required value is equal to True, which indicates that the -identity parameter is a mandatory parameter for the Get-SPSite cmdlet. However, the position value is equal to 1, which means that if you place a URL of a site collection immediate after the Get-SPSite cmdlet, you do not have to use the -identity parameter because the URL will be read as the identity (URL) of a site collection, where all the property values for site collections that exist under the personal managed path are displayed, as shown in the following example.

Get-SPSite http://MySite/personal/* | Select *

Many of the parameters have a value enclosed in angle brackets, with the suffix PipeBind. This indicates that the parameter can accept an object variable of a specific type. For example, [-ContentDatabase <SPContentDatabasePipeBind>] means that the -ContentDatabase parameter can accept a SharePoint content database object, and this object can be passed to the ContentDatabase object either as a variable, or it can be piped in from the results of another cmdlet. When you pipe an object into a cmdlet, you do not need to type or use a variable. When you pipe an object from one cmdlet into another cmdlet, you do not have to specify the parameter, because Windows PowerShell checks the type of object and will match it to the correct parameter. The following example lists all site collections that are stored in any content databases that have the characters oso anywhere in their names.

Get-SPContentDatabase | where {$_.name -match "oso"} | Get-SPSite -Limit 50

Get-SPContentDatabase returns a collection of content databases, and then you need to check each content database to see if it matches our condition. The Where-object cmdlet, which has the aliases where or ?, acts like a loop, so it will check each content database object returned from the Get-SPContentDatabase cmdlet. The variable $_ represents one content database object, and .name is the content database property that needs to be matched for our query. The operator is -match.

Windows PowerShell has a number of operators, such as -eq (equal to), -ne (not equal to), -lt (less than), -ge (greater than or equal to), -like (matches a wildcard pattern), and -notlike (does not match a wildcard pattern). The -like, -notlike, -match, and -notmatch operators are used for pattern matching. The -match and -notmatch operators use regular expressions to determine whether a value does or does not contain a match for an expression.

Tip:

For more information on Windows PowerShell operators, see the section titled "Working with Expressions and Operators" in Chapter 5, "Navigating Core Windows PowerShell Structures," in Windows PowerShell 2.0, Administrator's Pocket Consultant, by William Stanek (Microsoft Press, 2009).

An alternative method to use instead of a WHERE statement is the -filter parameter, which uses the same syntax as the WHERE statement and can produce the same results. However, the -filter parameter executes on the server. Piping the results of the Get-SPContentDatabase cmdlet to the WHERE statement causes a SQL round trip to wherever the Windows PowerShell client is running. Using the -filter parameter can result in a faster performance, allowing the command to leverage the filtering abilities of SQL instead of attempting a local search. However, when you use the -filter parameter, only the Owner, SecondaryOwner, and LockState properties can be accessed for SPSite cmdlets. A number of cmdlets have other parameters that allow you to filter the resulting output. For example, SPWeb provides parameters to filter output on the template or title of the site (web). Still, in many cases the -filter parameter can save you time—for example, finding all the blog sites in a farm of 4300 webs takes about 1.2 seconds with the -filter parameter, but it takes approximately 15 minutes if you use a WHERE statement. Following are several examples that use the -filter parameter.

  • This example returns all site collections whose primary owner has the username peter.

    Get-SPSite -Filter {$_.Owner -eq "contoso\peter"}

  • This example returns all websites in the http://teams/sites/HR site collection that were created using the Blank Meeting Workspace template.

    Get-SPSite http://teams/sites/HR | Get-SPWeb -Filter {$_.Template -eq "STS#03"}

Note:

When you create a new site collection, if you do not specify a template or the template cannot be found, then you will need to create a website as the root of the site collection. You can do this by using the New-SPWeb command or by selecting the appropriate site template when you display the site collection for the first time in the browser.

To find details of the templates installed, together with the appropriate template ids, use the Get-SPWebTemplate cmdlet. A sample of the output of this command is shown here.

Copy Code
Name                 Title                                    LocaleId   Custom
----                 -----                                    --------   ------
GLOBAL#0             Global template                          1033       False
STS#0                Team Site                                1033       False
STS#1                Blank Site                               1033       False
STS#2                Document Workspace                       1033       False
MPS#0                Basic Meeting Workspace                  1033       False
MPS#1                Blank Meeting Workspace                  1033       False
MPS#2                Decision Meeting Workspace               1033       False
MPS#3                Social Meeting Workspace                 1033       False
MPS#4                Multipage Meeting Workspace              1033       False
CENTRALADMIN#0       Central Admin Site                       1033       False
WIKI#0               Wiki Site                                1033       False
BLOG#0               Blog                                     1033       False
SGS#0                Group Work Site                          1033       False
TENANTADMIN#0        Tenant Admin Site                        1033       False
ACCSRV#0             Access Services Site                     1033       False
ACCSRV#1             Assets Web Database                      1033       False
ACCSRV#3             Charitable Contributions Web Database    1033       False

On the Get-SPSite and Get-SPSiteAdministration, provide two other filters that use the SQL-driven filtering: the "Wildcard URLs" and regular expression (-RegEx) parameter, for example:

  • Get-SPSite http://intranet/sites/*

  • Get-SPSite "http://intranet/(sites|teams)/HR" -RegEx

Memory Considerations When Using Windows PowerShell

The default behavior of Windows PowerShell is that it runs a multithread environment and that each line, function, or script runs in its own thread ($host.Runspace.ThreadOptions == "Default"). This can cause memory leaks, but as you saw in the section titled "Working with the SharePoint 2010 Management Shell" earlier in this chapter, the SharePoint 2010 Management Shell runs each line, function, or script in the first thread ($host.Runspace.ThreadOptions ="ReuseThread"), which mitigates the problem—but memory leaks can still occur. Hence, the two SharePoint cmdlets that you should learn to use are the Start-SPAssignment and the Stop-SPAssignment. These relate to the -SPAssignmentCollection parameter that you may see used with a number of SharePoint cmdlets to return a "disposable object." In developer-speak, these are objects that implement the IDisposable Interface. If these objects are not disposed of correctly, they can cause memory leaks. In particular, this relates to the SPSite, SPWeb, and SPSiteAdministration objects. If you use cmdlets associated with these objects in one pipe and don't use variables to store the objects, the memory used is automatically disposed of at the end of a pipe. If you have a long pipe that obtains many objects, this can cause a shortage of memory on your SharePoint server, which then can have a noticeable effect on requests for pages from that server.

When you store any of the three objects in a variable, you then have to dispose of the memory assigned to that object. The following examples show the main methods of using these objects with variables and how to dispose of the memory.

  • Use the simple method of using the SPAssignment cmdlets, in which all objects are kept in a global memory store that is released when the Stop-SPAssignment cmdlet is called.

    Copy Code
    Start-SPAssignment -Global
$sc = Get-SPSite http://intranet
$sc.Title
Stop-SPAssignment -Global

  • Use the advanced method of using the SPAssignment cmdlet and tell it to track memory assigned to a specific variable. In the following example, the Start-SPAssignment cmdlet creates a named store that is pointed to by $o, and the variable $sc is associated with that named store and populated with information about the Internet site collection object. The Stop-SPAssignment cmdlet then releases the memory associated with the named store.

    Copy Code
    $o = Start-SPAssignment
$sc = $o | Get-SPSite http://intranet
Get-SPSite -Limit all
$sc.Title
$o | Stop-SPAssignment

  • If you are used to developing on the SharePoint platform, then you can use a similar technique to that which you use in your code to overcome this issue. For example, use variables within one Windows PowerShell line and dispose of them at the end of that line.

    Copy Code
    $sc = New-SPSite("http://Intranet"); $sc.Title; $sc.Dispose()

    This stores the site collection object in the variable $sc. The next command then prints out the title of the intranet site collection, and the last command releases the memory that stored the site collection object.

    Note:

    This same command can be run safely using the following syntax.

    New-SPSite(http://intranet) | Select Title

Be aware that the simple method of calling SPAssignment shown here also can cause memory problems. Any object you obtain between the Stop and Stop SPAssignment commands will be retained in the global assignment store and will not be released until the Stop-SPAssignment cmdlet is executed, whereas when you use the advanced method of calling SPAssignment, only the memory associated with variables you ask SPAssignment to track will be retained until the Stop-SPAssignment cmdlet is executed. Therefore, if you need to view large amount of information as you complete a task, and you do not want to starve the SharePoint server of memory, the advanced method of using SPAssigment is preferable. Use Get-Help About_SPAssignment to find more information.

cmdlets for SharePoint Foundation 2010

SharePoint Foundation 2010 contains over 240 SharePoint-related cmdlets. The exact number can be found by typing the following command.

@(Get-Command -PSSnapin "Microsoft.SharePoint.PowerShell").count

The most common objects that these cmdlets manipulate are the SPSite, SPServer, SPWeb, SPBusinessDataCatalogue, and SPConfigurationDatabase objects. Because Windows PowerShell is mainly an administrator's tool, and these are the components an administrator manages, this spread of cmdlet is not unexpected. These cmdlets also can be found in SharePoint 2010, which is built on top of SharePoint Foundation.

Tip:

The document "Microsoft SharePoint Foundation 2010 Cmdlet Reference" is included on this book's companion media. This document contains the output that you would see if you typed the following command in the SharePoint 2010 Management Shell.

Copy Code
PS C:\Users\Peter>Get-Command -PSSnapin Microsoft.SharePoint.PowerShell |
>>Sort Noun, Verb | Get-Help -detailed > CmdletHelp.txt
>><ENTER>

This command generates a list of cmdlet Help topics that is sorted by noun. This list contains the same Help for each cmdlet that you can view in the SharePoint 2010 Management Shell by typing the following command.

Get-Help <Cmdlet-Name> -detailed

The document contains help information that was current at the time that the document was produced. Microsoft recommends that you always check the online help to find the latest information and examples. You can find the link to the online version in the Related Links section when you use the Get-Help command.

cmdlets for SharePoint 2010

If you use the same Windows PowerShell command shown in the previous section to determine the number of cmdlets available in SharePoint 2010, you will find that there are more than 530 SharePoint-related cmdlets associated with SharePoint 2010. Specifically, that is the number of cmdlets associated with a full install of the Enterprise Edition of SharePoint 2010 without FAST Search installed. To identify the additional cmdlets that SharePoint provides, Windows PowerShell can help again. On a computer with both SharePoint Foundation and a version of SharePoint Server installed, type the following command, changing the name of the redirect file name to reflect the SharePoint installation.

Copy Code
PS C:\users\peter>Get-Command -PSSnapin "Microsoft.SharePoint.PowerShell" |
>> Sort noun, verb |group -Property noun -NoElement > cmdlet_sps.txt
>><Enter>

Copy the files to the same server and then type the following command.

Copy Code
PS C:\Users\Peter>Compare-Object -ReferenceObject $(Get-Content .\cmdlet_sps.txt) '
>>-DifferenceObject $(Get-Content .\cmdlet_spf.txt)
>><ENTER>

You will see output similar to the following example.

Copy Code
InputObject                                                 SideIndicator
-----------                                                 -------------
    8 SPContentDatabase                                     =>
    3 PluggableSecurityTrimmer                              <=
    3 SPAccessServiceApplica...                             <=
    9 SPContentDatabase                                     <=
    5 SPContentDeploymentJob                                <=
    4 SPContentDeploymentPath                               <=
    4 SPDataConnectionFile                                  <=
    1 SPDataConnectionFileDe...                             <=
    2 SPEnterpriseSearchAdmi...                             <=
    3 SPEnterpriseSearchLang...                             <=
    4 SPEnterpriseSearchMeta...                             <=
...

Only those objects that do not appear on both installations, and those for which the count of the number of cmdlets per object is different, will appear in this list. The SideIndicator column indicates from which file the object with its cmdlet count came.

In SharePoint 2010, the most common objects that are manipulated by cmdlets are similar to those in SharePoint Foundation. However, the main additional commands available in SharePoint 2010 are the 131 cmdlets that help you manage the search process. (There are only four cmdlets associated with searches for SharePoint Foundation). Type the following command to check this for yourself.

Copy Code
PS C:\Users\Peter>@(gcm -PSSnapin "Microsoft.SharePoint.PowerShell" |
>>where {$_.name -like "*search*"}).count
>><ENTER>

SharePoint 2010 contains more application services than SharePoint Foundation, such as Excel Services, InfoPath Services, Secure Storage, State Service, Microsoft Visio, and PerformancePoint. Therefore, on a SharePoint Server farm, there are more cmdlets that you can use to create, manipulate, and delete application service objects.

Performing Basic Administrative Tasks

There are two types of administrative tasks that are needed in a SharePoint installation: tasks that need to be completed once and from any server, such as creating a new Web application, configuring the primary owner of a site collection, or deleting a specific website; and tasks that need to be completed more than once on a specific server or on more than one server, such as starting a service on a server, adding or removing a server from the farm, or connecting the server to a specific configuration database. The majority of work you will need to complete as a SharePoint administrator is of the first type—it does not matter which server you are logged on to, because you can complete your work from any server.

Windows PowerShell makes it easier to complete both types of administrative tasks. You can loop around a large number of objects and incorporate the scripts into automated tasks so that administrative tasks can be completed in less time. Just because administrative tasks may be easy to complete using Windows PowerShell, however, you should not allow its use to circumvent the controls you may have in place. Some of these farm-wide tasks are very dangerous; they can affect the whole installation. In a production environment, such tasks should be under strict change management.

Important:

Many organizations allow administrative tasks to be completed only by using remote access to the production servers. Computer room access is strictly controlled, so interactive access at the server console is rarely allowed—usually only for hardware-related issues. In such environments, even remote access to the production servers is restricted to a small number of Administrative computers, which administrators have to connect to using a VPN or Remote Desktop. An Administrative computer should be configured to allow only certain users or IP addresses to instigate remote desktop sessions. If this is your scenario, remotely managing your SharePoint Installation using Windows PowerShell should also be restricted to that Administrative computer. Windows PowerShell has a number of built-in capabilities that can help you reduce the risk of tasks that affect the whole of a SharePoint installation; these were referred to in the section titled "Managing Systems Remotely with WinRM" earlier in this chapter.

Windows PowerShell provides a number of "voluntary" capabilities that could be classified as best practices. In the next sections, you will learn more about two of these, the -whatif parameter and transcripts.

Using the -whatif Parameter

Windows PowerShell is a powerful tool, and like any other scripting language, it is all too easy to borrow someone else's code or download snippets from the Internet. You might then execute them without knowing exactly what they do. Using signed scripts and the Windows PowerShell execution policy, as well as restricting who is allowed to load script files onto your SharePoint server, are ways that you can protect your resources.

Windows PowerShell provides a mechanism that allows you to try a command before you execute it—the -whatif parameter. Type the following command.

PS C:\Users\Peter> Get-SPSite http://teams/sites/* | Remove-SPSite -whatif

This command produces the following sample output that lists all site collections and the operation(s) that would be performed on these objects if you executed the command without the -whatif parameter.

Copy Code
What if: Performing operation "Remove-SPSite" on Target "http://teams/sites/Sales".
What if: Performing operation "Remove-SPSite" on Target "http://teams/sites/Blogs".
What if: Performing operation "Remove-SPSite" on Target "http://teams/sites/Finance".
What if: Performing operation "Remove-SPSite" on Target "http://teams/sites/Wikis".
What if: Performing operation "Remove-SPSite" on Target "http://teams/sites/HR".

Nothing has been deleted by trying the command with the -whatif parameter. The parameter tells the Remove-SPSite cmdlet to display the object that would be affected by the command without performing the command. In this example, it displays the objects that would be permanently deleted.

Generating Transcripts

A pair of Windows PowerShell cmdlets, Start-Transcripts and Stop-Transcripts, allows you to record all the commands that you type at the prompt, together with the output. All activity is recorded between the start and stop commands. If you do not type stop, the transcript is terminated when the console session is terminated. This could be very useful in your production environment, where the machine-wide profile contains the Start-Transcript cmdlet to record the Windows PowerShell activities of all users. The recording to the transcript file is complete when they exit the console.

Important:

Don't use a Windows PowerShell cmdlet or script for the first time in a production environment. Also, try to keep it simple—don't use or create aliases if scripts are going to be supported by administrators who are new to Windows PowerShell, and always use Windows PowerShell comments when you create or amend scripts.

Real World: What If You Don't Use the -whatif Parameter?

Sometimes even experienced IT professionals can use the built-in cmdlets incorrectly with serious consequences, especially when cmdlets are used in combination with the pipe character. For example, if you type Get-SPSite | Remove-SPSite, all site collections in your farm will be permanently deleted. Everything—all the data in your lists and libraries, and all the content in your websites—would simply be gone. One likely result of this action is that all your help desk telephone lines would immediately ring. If one of the websites that disappeared was your main e-commerce Internet website, your company could quickly lose a great deal of money, and perhaps more importantly, the company could lose potential customers who might never return. To restore your farm, you would need your latest good backup tapes. The lesson of this example is simple: always use the -whatif parameter first!

Examples of SharePoint Administrative Tasks

Many administrative tasks must be completed on a daily basis, some are needed only occasionally, and then there are those few that are rarely required. Windows PowerShell can help with all of these types of tasks; in fact, you may discover that it is more critical to script a rarely executed task than one you perform every day. This may be because you need to execute that rare task quickly and correctly, because the ramifications of making even a small mistake while completing the task could be catastrophic. Throughout this book, you will see many examples of when and how to use Windows PowerShell. In the following sections, you explore a few examples that you may not have seen elsewhere.

Tip:

There is a section of the Microsoft Script Center, http://gallery.technet.microsoft.com/ScriptCenter/en-us, that contains SharePoint-related scripts.

Deploying SharePoint 2010 with Windows PowerShell Scripts

During the lifetime of your SharePoint installation, there may be many tasks that you must complete (hopefully) only once, such as installing SharePoint and creating your farm. In large organizations with a variety of environments and many developers to support, however, you may find it prudent to develop scripts right from the outset that will build your SharePoint Web front-end (WFE) servers and your SharePoint applications servers, which host your applications services, such as InfoPath Services and search query and indexing services. In previous versions of SharePoint, you could complete such tasks using batch files and the SharePoint command-line tools psconfig and stsadm. You can still use these tools to automate the installation of your SharePoint 2010 and SharePoint Foundation 2010 servers. You will find more information about using these tools in Chapter 4, "Installing SharePoint 2010," so the details aren't repeated here. Microsoft has developed a script that is really the best practice for creating a SharePoint farm from scratch using Windows PowerShell. The order of these commands and parameters can be quite tricky, so Microsoft recommends that you use the Windows PowerShell module, SPModule, documented in the Microsoft's TechNet library article, Install SharePoint Server 2010 by using Windows PowerShell.

Tip:

For information about SharePoint automation and the use of psconfig, stsadm, and Windows PowerShell, see http://stsadm.blogspot.com/.

When you work on a SharePoint installation, you will need to merge the logs. The Windows operating systems provide you with event logs to help you with your administrative tasks, and you can use the Windows PowerShell Get-Eventlog cmdlet to obtain detailed information from those logs. SharePoint also provides the Unified Logging Service (ULS). The ULS contains all application log events, and third-party logging software can be integrated into them as well. SharePoint 2010 includes several Windows PowerShell cmdlets for retrieving information and configuring the ULS. To find how ULS is configured on your farm, type the following command. (The sample output for this command is also shown here.)

Get-SPDiagnosticConfig

Copy Code
AllowLegacyTraceProviders                   : False
CustomerExperienceImprovementProgramEnabled : True
ErrorReportingEnabled                       : True
ErrorReportingAutomaticUploadEnabled        : True
DownloadErrorReportingUpdatesEnabled        : True
DaysToKeepLogs                              : 14
LogMaxDiskSpaceUsageEnabled                 : True
LogDiskSpaceUsageGB                         : 3
LogLocation                                 : %CommonProgramFiles%\Microsoft Sh
                                             ared\Web Server Extensions\14\LOG
                                             S\
LogCutInterval                              : 30
EventLogFloodProtectionEnabled              : True
EventLogFloodProtectionThreshold            : 5
EventLogFloodProtectionTriggerPeriod        : 2
EventLogFloodProtectionQuietPeriod          : 2
EventLogFloodProtectionNotifyInterval       : 5
ScriptErrorReportingEnabled                 : True
ScriptErrorReportingRequireAuth             : True
ScriptErrorReportingDelay                   : 60
 AllowLegacyTraceProviders                   : FalseCustomerExperienceImprovementProgramEnabled : TrueErrorReportingEnabled                       : TrueErrorReportingAutomaticUploadEnabled        : TrueDownloadErrorReportingUpdatesEnabled        : TrueDaysToKeepLogs                              : 14LogMaxDiskSpaceUsageEnabled                 : TrueLogDiskSpaceUsageGB                         : 3LogLocation                                 : %CommonProgramFiles%\Microsoft Sh                                             ared\Web Server Extensions\14\LOG                                             S\LogCutInterval                              : 30EventLogFloodProtectionEnabled              : TrueEventLogFloodProtectionThreshold            : 5EventLogFloodProtectionTriggerPeriod        : 2EventLogFloodProtectionQuietPeriod          : 2EventLogFloodProtectionNotifyInterval       : 5ScriptErrorReportingEnabled                 : TrueScriptErrorReportingRequireAuth             : TrueScriptErrorReportingDelay                   : 60

When diagnosing a problem, you can use cmdlets associated with the SPLogEvent object. You need machine administrator privileges to run these cmdlets, so you may need to start SharePoint 2010 Management Shell using Run As Administrator. Then you would use commands in steps similar to those shown in the following example.

  1. Set up two variables to store the start day and the end date, for example.

    Copy Code
    $SDate = Get-Date -Day 13 -Month 04 -Year 2010
$EDate = Get-Date -Day 14 -Month 04 -Year 2010

    Or the date could be today's date, but the event occurred approximately 15 minutes earlier than the current time. In this case, you set the variable to 20 minutes before the current time and 10 minutes before the current time.

    Copy Code
    $SDate = (Get-Date).AddMinutes(-20)
$EDate = (Get-Date).AddMinutes(-10)

  2. Obtain a list of events between those two dates and times.

    Get-SPLogEvent -StartDate $SDate -EndTime $Edate

    If the -EndTime parameter is not provided, the event logs will be displayed up until the current date and time.

A tracking number, known as the Correlation ID, is associated with each request you make to SharePoint. This number is stored as a value in a property associated with the SPLogEvent object. SQL Profiler traces also show the Correlation IDs. This number is displayed on an Error page, as shown in Figure 5-5.

SharePoint Foundation error message

Figure 5-5 Error page showing the Correlation ID

In a large or heavily used SharePoint installation, many logs may be produced during the period when a problem occurs. You can use the Correlation ID to help troubleshoot errors by reducing the amount of log information that is returned to those entries that are associated with the incident. Again, set the $sdate and the $edate variables to reflect the time around the incident. For an incident that you can't reproduce and one of your users always can reproduce, you might tell the help desk to ask the user to take a screenshot of the error page so you can be sure to obtain the exact Correlation ID number. Then you can pipe the results of the command shown in step 2 to the Where-Object cmdlet, as shown in the following example.

Copy Code
PS C:\Users\Peter>Get-SPLogEvent -StartDate $SDate -EndTime $EDate |
  where {$_.Correlation -eq "68bc5cf4-5a8c-4517-a879-86e35e57c862"}

The output will display only event logs between the two dates that are related to the problem associated with that Correlation ID.

Managing SharePoint Services

After you have run the SharePoint 2010 Products Configuration Wizard to install SharePoint on your servers, you can use the SharePoint 2010 Central Administration website to launch the Farm Configuration Wizard. Although it will get you up and running very quickly, it might not configure your farm as you want; for example, the database names it creates will be in the format name_GUID, where GUID is a randomly generated, globally unique identifier. Also, the farm wizard uses the account entered as the Application Pool Identity for the default content Web application and starts the Web Analytics Service by default—both of which may not be desirable on a production farm.

Using the wizard may be sufficient if you want to create a quick prototype or perhaps if you are using SharePoint in a developer environment. However, if any of those environments are limited in their CPU power or in the amount of memory they have, the farm wizard may not be suitable either. For example, the Web Analytics Service uses a large amount of CPU, so your developers might be interested in stopping that service. There are other services that they might want to start and stop on a regular basis, especially if they are using their computers as their day-to-day desktop connections, where they read e-mails and complete documentations, as well as to run SharePoint for development or prototyping.

You can use tools such as the Central Administration website to manage the configuration; however, you may forget to execute all the tasks necessary to complete a configuration change. Instead, you can use Windows PowerShell scripts, which—after you have tested them to make sure that you have not forgotten any tasks—should make managing configuration changes more reliable and error free. You should store these scripts in a central location after they are developed, to make them convenient for fellow administrators to use and incorporate in their environments. Your developer may also thank you for developing these scripts. Such automated tasks might include the following items.

  • To quickly delete a specific Web application, type

    Get-SPWebApplication http://teams | Remove-SPWebApplication -Confirm

  • To remove the Web application, the IIS website, and all the associated databases, type

    Remove-SPWebApplication http://teams -Confirm -DeleteIISSite ' -RemoveContentDatabases

If you do not run the Farm Configuration Wizard, you might find that you need a service that you originally thought you would not need. For example, if no application services are started, and then you try to use one of the SharePoint 2010 workflows, the Microsoft Visio diagram of the workflow progress will not be displayed. However, to solve this problem, you must do more than just create the Visio Application Service. There are other dependencies involved, one of which is the State Service Application. The state services can only be created in the Central Administration site, by using the farm wizard—something you will want to avoid as an administrator. To create the state service using Windows PowerShell, type the following commands.

Copy Code
PS: C:\Users\Peter>New-SPStateServiceDatabase -Name Contoso_StateService_DB |
>>New-SPStateServiceApplication -Name Contoso_StateService |
>>New-SPStateServiceApplicationProxy -Name Contoso_StateService_Proxy -Default
>><ENTER>
Note:

This command may not work in your environment if the associated service instance is not running. For a more comprehensive script, see "SP+PS 2010: PowerShell to Create a Service Application" at http://sharepoint.microsoft.com/blogs/zach/Lists/Posts/Post.aspx?ID=50.

Each service application is slightly different. For example, not all service applications require a database. Chapter 7 "Scaling Out a SharePoint Farm," contains more information about this. However, each service will require a service application proxy, which connects a Web application to the service application.

Using Windows PowerShell During the Upgrade Process

The following sections provide information about some Windows PowerShell commands you might find useful during an upgrade. The upgrade process is explained in more detail in Chapter 22, "Upgrading to SharePoint 2010."

Preparing for an Upgrade

After installing SharePoint 2010 and before upgrading, you can use the Test-SPContentDatabase cmdlet to check your SharePoint Server 2007 databases for current or potential issues, such as orphan data, missing site definitions, missing features, or missing assemblies. This cmdlet complements the pre-upgrade checker report mentioned in Chapter 22. Checking for these issues does not disrupt your SharePoint installation, and this cmdlet can also test the status of SharePoint 2010 databases, which can assist you in maintaining the continued health of your environment. The following example shows the command and its sample output.

Test-SPContentDatabase -name W_intranet -WebApplication http://www.contoso.msft

Copy Code
Category        : SiteOrphan
Error           : True
UpgradeBlocking : False
Message         : Database [W_intranet] contains a site (Id = [46ad6d70-9a5c-4d
                  e0-8daa-0f73f2466a6a], Url = [/]) whose id is already associa
                  ted with a different database (Id = [6987d2d8-6291-4ead-9eb0-
                  aefe7097a58e], name = [W_Intranet]) in the site map. Consider
                  deleting one of these sites which have conflicting ids.
Remedy          : The orphaned sites could cause upgrade failures. Try detach a
                  nd reattach the database which contains the orphaned sites. R
                  estart upgrade if necessary.

Category        : SiteOrphan
Error           : True
UpgradeBlocking : False
Message         : Database [W_intranet] contains a site (Id = [46ad6d70-9a5c-4d
                  e0-8daa-0f73f2466a6a], Url = [/]) whose url is already used b
                  y a different site, in database (Id = [6063e77c-991f-4c4b-b3a
                  c-68cb62e66502], name = [w_Internet]), in the same web applic
                  ation. Consider deleting one of the sites which have conflict
                  ing urls.
Remedy          : The orphaned sites could cause upgrade failures. Try detach a
                  nd reattach the database which contains the orphaned sites. R
                  estart upgrade if necessary.

Performing Post-Upgrade Tasks

The upgrade process is divided into two components, the content database upgrade and the visual upgrade. By separating these two components, your SharePoint team can decide to upgrade the Microsoft Office SharePoint Server 2007 Web application without users noticing the change, because their sites will maintain the old look and feel. Using the browser, they can preview what their site looks like with the new SharePoint 2010 look and feel and then decide when they permanently want to switch to the visual upgrade. After they make the switch, the browser will not allow them to switch back to the SharePoint Server 2007 look and feel.

The Set-SPWeb cmdlet does not have any parameter to help with this task; you will need to use the properties of the SPWeb object to complete this task. Type the following commands if you want to switch sites back to the old look and feel.

Copy Code
Start-SPAssignment -Global
$web = Get-SPWeb http://teams ;
$web.UIVersion = 3;
$web.UIVersionConfigurationEnabled = $true;
$web.Update();
Stop-SPAssignment
Note:

Previously in this chapter, you created variables to store values and objects. Variable names are prefixed with the dollar sign, $. In the sample code shown here, you will see $true used. This, together with a number of other keywords that look like variables, is an example of a special variable. A special variable should be treated as a reserved word that you cannot use in your scripts to store values or object. The special variable $true represents the value True, $false represents False, $null represents null, and $_ also has been used in this chapter and contains the current pipeline object. It is used in script blocks, filters, and the Where cmdlet.

After you run these commands, the website will revert to the SharePoint Server 2007 look and feel. The Site Actions button will be in the upper-right corner, for example, instead of in the upper-left corner. The Site Actions menu will have the Visual Upgrade option available, although the Visual Upgrade option at the site collection level may not be enabled. To enable the Visual Upgrade option at the site collection level, use the following commands.

Copy Code
$site = Get-SPSite http://teams
$site.UIVersionConfigurationEnabled = $true

When updating the properties of the SPSite object, there is no update method; the changes to the SPSite properties take effect immediately. You could type the following line as an alternative to the previous two lines of commands.

Copy Code
(Get-SPSite http://teams).UIVersionConfigurationEnabled = $false

To reset all "team" websites within a site collection back to the SharePoint Server 2007 look and feel, use the following command.

Copy Code
PS C:\Users\zzspfarm> Get-SPsite http://teams |
>> Get-SPWeb -Filter {$_.Template -eq "STS#0}|
>> ForEach-Object {
>> $_.UIVersion =3;
>> $_.UIVersionConfigurationEnabled = $false;
>> $_.Update();
>> }
>><ENTER>
Note:

These commands also can be run on a site or site collection that has not been upgraded—that is, on a site that was created as a version 4 site, thereby making a SharePoint 2010 site look like a SharePoint 2007 site.

Summary

This chapter explains how you can become familiar with the new Windows PowerShell cmdlets introduced by SharePoint 2010. It explores the SharePoint 2010 Management Shell and how to accomplish some simple but powerful administrative tasks using one-line Windows PowerShell commands.

There are more than 500 SharePoint cmdlets. This chapter could not possibly explain each command; instead, its aim was to provide some general guidelines and good practices for using SharePoint PowerShell in a production environment, such as the configuration and use of remote management, the voluntary use of transcripts, and the use of the -whatif parameter. You should not practice or try out Windows PowerShell commands for the first time on your production environment. Keep your scripts simple, use comments to document your scripts, and don't use or create aliases if the scripts are going to be supported by administrators who are unfamiliar with Windows PowerShell.

The chapter covered two important cmdlets, Start-SPAssignment and Stop-SPAssignment, in some detail. These cmdlets help with cmdlets that return disposable objects, such as SPSite, SPWeb, and SPSiteAdministration. Other SharePoint cmdlets were introduced to expand your knowledge of Windows PowerShell techniques. Chapter 12 builds on this chapter, using search scenarios. The next chapter continues the discussion of SharePoint 2010 farm management and specifically the Central Administration interface.


System Center Operations Manager knowledge articles (SharePoint Server 2010)

The articles in this section are knowledge articles for the Microsoft SharePoint Server 2010 management pack for Microsoft System Center Operations Manager 2007. Typically, you would see these articles after clicking a link in an alert in the Operations Manager console. You can use these articles to help you troubleshoot and resolve problems in SharePoint Server 2010.

product logo for Microsoft Project Relevant System Center Operations Manager knowledge articles for Project Server 2010 are available in the Project Server document library at System Center Operations Manager knowledge articles (Project Server 2010)

In this section:

  • Access Services in SharePoint Server 2010 knowledge articles

  • Excel Services Application in SharePoint Server 2010 knowledge articles

  • InfoPath Forms Services in SharePoint Server 2010 knowledge articles

  • Managed Metadata services in SharePoint Server 2010 knowledge articles

  • PerformancePoint Services in SharePoint Server 2010 knowledge articles

  • Search services in SharePoint Server 2010 knowledge articles

  • Visio Services in SharePoint Server 2010 knowledge articles

  • User Profile Synchronization Configuration Service cannot connect to SQL Server - Event 4 (SharePoint Server 2010)

  • ULS not enough storage for log directory - Event 2150 (SharePoint 2010 Products)

  • Event log flooding - Events 2158 2159 (SharePoint 2010 Products)

  • SQL Server database login failed - Event 3351 (SharePoint 2010 Products)

  • Backup failed due to insufficient permissions - Event 3353 (SharePoint 2010 Products)

  • Cannot connect to SQL Server - Event 3355 (SharePoint 2010 Products)

  • The application pool account cannot add user accounts to Active Directory - Event 3359 (SharePoint 2010 Products)

  • Active Directory organization unit unregistered - Event 3360 (SharePoint 2010 Products)

  • SQL Server database is full - Event 3758 (SharePoint 2010 Products)

  • Database could not be accessed - Event 3760 (SharePoint 2010 Products)

  • Content deployment job failed - Events 4958 5323 5325 5335 (SharePoint 2010 Products)

  • Content database is Read-Only - Event 4971 (SharePoint 2010 Products)

  • Cannot create My Sites - Event 5187 (SharePoint Server 2010)

  • User Profile changes cannot be committed - Event 5188 (SharePoint Server 2010)

  • Insufficient SQL Server database permissions - Event 5214 (SharePoint 2010 Products)

  • Unable to write to trace log - Event 5401 (SharePoint 2010 Products)

  • Could not schedule synchronization jobs - Event 5556 (SharePoint Server 2010)

  • Unknown SQL exceptions - Event 5586 (SharePoint 2010 Products)

  • Audience compilation failed - Event 5693 (SharePoint Server 2010)

  • Synchronizing data between SharePoint Server and directory failed - Events 6000-6099 (SharePoint Server 2010)

  • SharePoint Foundation failed to create a site - Event 6141 (SharePoint 2010 Products)

  • Unable to load authentication provider - Event 6143 (SharePoint 2010 Products)

  • User Profile Synchronization Service unexpected failure - Events 6300-6309 (SharePoint Server 2010)

  • Insufficient permissions to write to the configuration data cache - Event 6395 (SharePoint 2010 Products)

  • Alternate access mapping update failed - Event 6397 (SharePoint 2010 Products)

  • Service Instance timer execution failed - Event 6398 (SharePoint 2010 Products)

  • ULS not enough free disk space - Event 6457 (SharePoint 2010 Products)

  • Access denied for writing to registry - Event 6588 (SharePoint 2010 Products)

  • Access denied for writing to disk - Event 6589 (SharePoint 2010 Products)

  • Application pool account must be registered as Kerberos - Event 6590 (SharePoint 2010 Products)

  • SMTP service not running - Event 6599 (SharePoint 2010 Products)

  • Event handler failed to load - Event 6644 (SharePoint 2010 Products)

  • Product Help Library Permission - Event 6769 (SharePoint 2010 Products)

  • Cannot resolve name of the outbound SMTP server - Event 6856 (SharePoint 2010 Products)

  • Cannot connect to SMTP host - Event 6857 (SharePoint 2010 Products)

  • Error occurred while communicating with SMTP server - Event 6858 (SharePoint 2010 Products)

  • SharePoint lists cannot receive e-mail - Event 6872 (SharePoint 2010 Products)

  • E-mail service cannot deliver e-mail - Event 6873 (SharePoint 2010 Products)

  • Event receiver failed - Event 6875 (SharePoint 2010 Products)

  • Service instance provisioning failed - Event 7034 (SharePoint Server 2010)

  • Backup timer job could not be created - Event 7035 (SharePoint 2010 Products)

  • Central Administration update failed - Event 7037 (SharePoint 2010 Products)

  • Secure Store reencrypt credentials failed - Event 7510 (SharePoint Server 2010)

  • Secure Store could not retrieve master encryption key - Event 7535 (SharePoint Server 2010)

  • Secure Store SQL exception - Event 7551 (SharePoint Server 2010)

  • Secure Store proxy unexpected exception - Event 7557 (SharePoint Server 2010)

  • Throttling starts alert- Events 8032 8062 (SharePoint 2010 Products)

  • Cannot retrieve end point - Event 8070 (SharePoint 2010 Products)

  • Cannot retrieve list of service applications from remote farm - Event 8071 (SharePoint Server 2010)

  • Log folder does not exist - Event 8074 (SharePoint 2010 Products)

  • Usage timer job failed - Event 8075 (SharePoint 2010 Products)

  • Business Data Connectivity Service - BDC database adapter connection exception - Event 8080 (SharePoint 2010 Products)

  • Business Data Connectivity Service - SQL exception - Event 8086 (SharePoint 2010 Products)

  • ULS trace log reaching maximum size - Event 8094 (SharePoint 2010 Products)

  • ULS usage log reaching maximum size - Event 8095 (SharePoint 2010 Products)

  • STS signing certificate missing - Event 8303 (SharePoint 2010 Products)

  • STS cannot sign credentials - Event 8304 (SharePoint 2010 Products)

  • Claims cannot establish endpoint - Event 8305 (SharePoint 2010 Products)

  • STS claims provider error - Event 8307 (SharePoint 2010 Products)

  • Administration service is not running (SharePoint 2010 Products)

  • Backend server not reachable (SharePoint Server 2010)

  • Document conversion failures high (SharePoint Server 2010)

  • Document conversion launcher unavailable (SharePoint 2010 Products)

  • Document conversion load balancer unavailable (SharePoint 2010 Products)

  • Knowledge article is not yet available (SharePoint 2010 Products)

  • Sandboxed code is running (SharePoint 2010 Products)

  • SharePoint Administration service is disabled (SharePoint 2010 Products)

  • SharePoint Foundation 2010 search is not running (SharePoint 2010 Products)

  • SharePoint Health Analyzer has detected an error or warning (SharePoint 2010 Products)

  • SharePoint Timer service could not start (SharePoint 2010 Products)

  • SharePoint Timer service is not running (SharePoint 2010 Products)

  • SQL Server remote access is disabled (SharePoint 2010 Products)

  • Tracing service is not running (SharePoint 2010 Products)

  • Unacceptable rendering response time (SharePoint Server 2010)

  • User Profile Configuration service not started (SharePoint Server 2010)

  • User Profile Synchronization service not started (SharePoint Server 2010)

  • Web application taking too long to render a page (SharePoint 2010 Products)

  • Web application unavailable (SharePoint 2010 Products)

  • Web site unavailable (SharePoint 2010 Products)


Access Services in SharePoint Server 2010 knowledge articles

The articles in this section are knowledge articles for Access Services in Microsoft SharePoint Server 2010. Typically, you would see these articles after clicking a link in an alert in the Operations Manager console. You can use these articles to help you troubleshoot and resolve problems in Access Services.

In this section:

  • Access Services - configuration database access failed - Event 1 (SharePoint Server 2010)

  • Access Services cannot create session cache - Event 11 (SharePoint Server 2010)

  • Access Services out of memory - Event 16 (SharePoint Server 2010)

  • Access Services failed to load calculation library - Event 17 (SharePoint Server 2010)

  • Access Services template input output error - Event 21 (SharePoint Server 2010)

  • Access failed to contact Access Services - Events 24 25 26 (SharePoint Server 2010)

  • Access Data Services no longer available - Event 28 (SharePoint Server 2010)

  • Access Services server is not available - Event 29 (SharePoint Server 2010)


Access Services - configuration database access failed - Event 1 (SharePoint Server 2010)

Alert Name: Configuration database access failed

Event ID: 1

Summary: Access Services in Microsoft SharePoint Server 2010 stores its settings in the Microsoft SharePoint Server 2010 configuration database. Either a web front end or a back end server component of Access Services was unable to read its settings from the configuration database.

Symptoms: One or more of the following symptoms might appear:

  • Access Services in SharePoint might not start.

  • Access Services might fail to create Access Services applications.

  • Users might not be able to view applications in their browsers, or the service might be otherwise unavailable.

  • This event appears in the event log: Event ID: 1 Description: Access Services: Unexpected exception while trying to access <configuration database name>. Error = <exception message>

  • This event appears in the event log: Event ID: 32 Description: Unable to obtain configuration information.

  • This event appears in the event log: Event ID: 33 Description: Unable to obtain AccessWebServiceInstance.

  • This event appears in the event log: Event ID: 34 Description: There is no application associated with proxy <name of Access Services proxy>.

  • This event appears in the event log: Event ID: 35 Description: There is no SharePoint service context.

  • This event appears in the event log: Event ID: 36 Description: There is no default Access Services Application Proxy.

Cause: One or more of the following might be the cause:

  • The configuration database might be experiencing a failure.

  • Permissions might have changed for the account that runs the application pool that Access Services is running, so Access Services no longer has access to the SharePoint Server 2010 configuration database.

  • The front end proxy for Access Services may have been deleted.

  • No front end proxy for Access Services is designated as the default.

  • An unexpected failure occurred during provisioning of the service.

Resolution for event ID 1 and 32: Grant correct permissions to the database access account

  • Resolve this issue by finding the name of the database access account, adding the database access account in Microsoft SQL Server 2008 , and then verifying that the account has correct permissions in SQL Server 2008.

    Note:

    You must be a member of the Farm Administrators SharePoint group to perform the following tasks.

    To find the database access account:

    1. On the SharePoint Central Administration Web site, in the Security section click Configure service accounts.

    2. On the Service Accounts page, in the Credential Management section, in the upper drop-down list, select the application pool that is running Access Services. When the application pool is selected, the name of the Access Services application is listed in the text box; for example, AccessDataService-Type.

    3. Note the account that is selected in the Select an account for this component drop-down list.

    To add the database account in SQL Server 2008:

    1. Connect to the computer that runs SQL Server 2008 by using an account that has Administrator permissions.

    2. In SQL Server Management Studio, in the Object Explorer navigation pane, expand the Security node, and then click the Logins node. The name of the database access account indicates that it is a SQL login.

    3. If the account exists, expand the Databases node, expand the configuration database node, expand the Security node, and then expand the Roles node.

    4. Expand the Database Roles node and double-click the db_reader role.

    5. In the Database Roles Properties dialog box, check whether the database access account is in the Members of this role list. If the account is not listed, click Add.

    To verify that this account has correct permissions in SQL Server:

    1. Click Start, click All Programs, click Microsoft SharePoint 2010 Products, and then click SharePoint Management Shell. A Command Prompt window opens.

    2. Enter the Windows PowerShell command Get-SPAccessServiceApplication"<name of your access service>" | format-table.

    3. This command retrieves the Access Services application and displays the values for some settings. These values are read from the configuration database.

Ensure there is a default proxy for Access Services

  1. On the Central Administration home page, click Application Management.

  2. On the Application Management page, under Service Applications, click Configure service application associations.

  3. On the Service Application Associations page, clock on proxy listed in the Application Proxy Group column for the Web application.

  4. In the Configure Service Application Associations dialog, ensure that the AccessDataServiceInstance - Access Services Web Service Application Proxy box is checked and click OK.

  5. If the AccessDataServiceInstance - Access Services Web Service Application Proxy box does not exist, you must re-provision Access Services on the server.

Re-provision Access Services

  1. If you only have one Access Services application in your farm, you will want to remove it before provisioning a new one. This will ensure that any proxies are correctly cleaned up. To remove an existing Access Services application:

    1. On the Central Administration home page, click Application Management.

    2. On the Application Management page, under Service Applications, click Manage service applications.

    3. On the Manage service applications page, highlight the Access Services Web Service Application and click Delete on the ribbon.

    4. Important:

      Do not check the Delete data associated with the Service Applications checkbox.

      On the Delete Service Application dialog, click OK.

  2. Add a new Access Services application to the server:

    1. On the Central Administration home page, click Application Management.

    2. On the Application Management page, under Service Applications, click Manage service applications.

    3. On the Manage service applications page, click New on the ribbon and select Access Services.

    4. In the Create New Access Services Application dialog, under Name, type in the name for the Access Services application. The name must be unique among all Access Services applications.

    5. Under Application Pool, choose to reuse an existing application pool, or create a new one and choose an account to run the application pool as.

    6. Click OK.


Access Services cannot create session cache - Event 11 (SharePoint Server 2010)

Alert Name: Access Services cannot create cession cache

Event ID: 11

Summary: Access Services in Microsoft SharePoint Server 2010 maintains query results in a session on the Access Services back-end server computer. The issue in this case is that the Access Services server computer failed to create a session for caching query results.

Symptoms: One or more of the following symptoms might appear:

  • Access Services applications that run on the server might not be able to display data in forms, reports, or the table view.

  • This event appears in the event log: Event ID: 11 Description: Access Services: Unable to create a cache for the session for application <application name>. Exception message: <exception message>

Cause: The Access Services in SharePoint server computer is in an unstable state.

Resolution: Restart the Access Services computer

  • Restart the Access Services computer to free up memory and return to a known good state.


Access Services out of memory - Event 16 (SharePoint Server 2010)

Alert Name: Access Services out of memory

Event ID: 16

Summary: The Access Services in Microsoft SharePoint Server 2010 computer maintains sessions that hold query cache results, and performs other operations that use a lot of memory. The Access Services server computer is low on memory or is out of memory.

Symptoms: One or more of the following symptoms might appear:

  • Access applications in the Web browser time out or respond very slowly.

  • Users cannot load or view their Access Services applications in the browser.

  • This event appears in the event log: Event ID: 16 The ADS box <machine name> has run out of memory.

Cause: One or more of the following might be the cause:

  1. The amount of memory consumed by Access Services in SharePoint on the back-end server computer has grown too large.

  2. There is excessive traffic to the Access Services server computer and the computer cannot serve that many users.

Resolution: Restart Access Services

  1. Consider whether you have enough Access Services server computers in the farm to support the number of users of your deployment. The addition of Access Services computers in your farm reduces the amount of traffic and memory requirements on any single Access Services computer.

  2. Use the SharePoint Central Administration Web site to change the Maximum Session Memory setting for Access Services to a lower value.

    1. On the SharePoint Central Administration Web site, on the Quick Launch, click Application Management, and in the Service Applications section, click Manage service applications. In the Type column, note that Access Services Web Service Application appears for Access Services applications.

    2. In the Name column, click the Access Services application that is out of memory.

    3. On the Manage Access Services page, in the Session Management section, type a lower value for Maximum Session Memory, and then click OK.

  3. Restart the Access Services computer to free up memory and return the Access Services computer to a known good state.


Access Services failed to load calculation library - Event 17 (SharePoint Server 2010)

Alert Name: Access Services failed to load calculation library

Event ID: 17

Summary: Access Services in Microsoft SharePoint Server 2010 depends on a critical DLL file, ascalc.dll, to enable caching of session information and queries.

Symptoms: One or more of the following symptoms might appear:

  • Access Services fails to start or fails to create Access Services applications.

  • This event appears in the event log: Event ID: 17 Description: Failed to load ASCalc.dll <path to file>.

Cause: The ascalc.dll file became corrupt or is not present on disk.

Resolution: Repair the installation

  1. Run setup for Microsoft SharePoint Server 2010 , and select the option to repair the installation.

  2. Complete any required setup wizard processes.


Access Services template input output error - Event 21 (SharePoint Server 2010)

Alert Name: Access Services template input output error

Event ID: 21

Summary: Access Services in Microsoft SharePoint Server 2010 creates Web sites, which are a representation of Access Services in SharePoint applications on the server. Access Services tried to create an Access Services application on the Web, but encountered an error when it read the template file that was used to create that site.

Symptoms: One or more of the following symptoms might appear:

  • Users cannot create a new site from a specified Access Services template.

  • This event appears in the event log: Event ID: 21 Description: Access Services: A file read error has occurred during site creation. File the error occurred on: <path to the file>.

Cause: One or more of the following might be the cause:

  1. The Access Services template file is corrupt.

  2. The Access Services template file is missing.

Resolution: Reinstall the user-defined template

  • Install the custom Access Services templates on the Microsoft SharePoint Server 2010 server computer where Access Services is installed.

Resolution: Reinstall templates included with Access Services

  • Run setup for SharePoint Server 2010 and repair the Access Services installation.


Access failed to contact Access Services - Events 24 25 26 (SharePoint Server 2010)

Alert Name: Failed to contact Access Services

Event ID: 24 25 26

Summary: The front-end Web application made a request to a specific Access Services in Microsoft SharePoint Server 2010 back-end server computer and encountered an unexpected exception. This can indicate an intermittent problem or a problem with a specific server computer. In these cases, the front-end Web application attempts to load balance to a different back-end server computer. The Access Services server computer is required to run queries and maintain cache state for those queries.

Symptoms:

  • The following message may appear in the event log: Event ID: 24 Description: There was an error in communicating with Access Data Services exception: <exception description> [Session: <session ID> User: <username>].

  • The following message may appear in the event log: Event ID: 25. Description: There was an error in communicating with Access Data Services exception: <exception description> [Session: <session ID> User: <username>].

  • The following message may appear in the event log: Event ID: 26. Description: Unable to reach Access Data Services. [Session: <session ID> User: <username>].

Cause: The Access Services in SharePoint server computer is in an unstable state and might need to be restarted.

  • The web front end encountered an intermittent failure when trying to contact the Access Data Services server.

  • The specific Access Data Services server is in an invalid state and may need to be restarted.

Restart the Access Data Services server

  1. Before restarting, verify that this is a problem that occurs often. It may be an intermittent problem that is automatically recovered from.

  2. Restart the Access Data Services server.

  3. If the problem continues to often, and restarting the server does not correct the problem, ensure that the hardware of the server is functioning correctly. If this is not the problem, reinstall Access Services on the server and re-add the server to the farm.


Access Data Services no longer available - Event 28 (SharePoint Server 2010)

Alert Name: Access Services is no longer available

Event ID: 28

Summary: The front end Access application sent a request to a specific Access Services server computer and encountered an unexpected exception. This can indicate an intermittent problem or a problem with the server computer. In these cases, the front end Access application attempts to load-balance to a different server computer. The Access Services server computer is required to query data that is typically used in Access Services reports.

Symptoms: One or more of the following symptoms might appear:

  • Access Services applications fail to refresh data.

  • Access Services applications fail to load or be displayed correctly.

  • This event appears in the event log: Event ID: 28 Description: The Access Data Services is no longer available. [Session: <session ID> User: <username>].

Cause: One or more of the following might be the cause:

  • The front end Access application encountered an intermittent failure when it sent a request to the Access Services server computer.

  • The specific Access Services server computer is in an invalid state and must be restarted.

  • There are network related failures that are preventing the server that is running the front-end Access application from contacting the Access Services server computer.

Resolution: Restart the server

  1. Before restarting the Access Services server computer, refer to the System Center Operations Manager reports to learn how often this problem occurs. If the problem occurs intermittently and Access Services automatically recovers from it, do not restart the server computer unless the symptoms noted above persist.

  2. Restart the Access Services server computer.

  3. If the problem occurs often, and restarting the server computer does not correct the issue, verify that the server computer is functioning correctly. You may need to reinstall Microsoft SharePoint Server on the server computer and join it to the SharePoint farm.


Access Services server is not available - Event 29 (SharePoint Server 2010)

Alert Name: Access Services server computer is not available

Event ID: 29

Summary: A front-end Access application computer cannot locate or send requests to any server computer that is running Access Services. The Access Services server computer is required to query data that is typically used in Access Services reports.

Symptoms: One or more of the following symptoms might appear:

  • Access Services does not render any data in forms, reports, or any other view of an Access application in the browser.

  • This event appears in the event log: Event ID: 29 Description: No Access Data Services is available in the farm.[User: <username>].

Cause: One or more of the following might be the cause:

  • The Access Services server computer is not running.

  • Access Services was not started on the server computer.

  • The proxy that the front-end Access application is not the default member of the default proxy group for Access Services.

Resolution: Verify that Access Services runs on the server

  1. On the Central Administration Home page, in the System Settings section, click Manage servers in this farm.

  2. Select the server computer that hosts the Access Database Service.

  3. On the Services on Server page, check whether Started is indicated for Access Services in the Status column. If it is not, click Start in the Action column.

Resolution: Verify that the proxy for the service application is the default member for Access Services

  1. On the SharePoint Central Administration Home page, on the Quick Launch, click Application Management. In the Service Applications section, click Configure service application associations.

  2. On the Service Application Associations page, in the Application Proxy Group column, click the name of the proxy group for your front-end Access application. The default name for the proxy group is default.

  3. In the Configure Service Application Associations dialog box, make sure that the check box for the Access Services proxy is selected. If there is more than one Access Services application proxy and the word [default] does not appear after the name of the proxy you want to use, select the check box, and then click [set as default].

  4. Click OK.


Excel Services Application in SharePoint Server 2010 knowledge articles

The articles in this section are knowledge articles for the Excel Services Application. Typically, you would see these articles after clicking a link in an alert in the Operations Manager console. You can use these articles to help you troubleshoot and resolve problems in Excel Services Application.

In this section:

  • Excel unauthorized attempt to access a session - Event 2011 (SharePoint Server 2010)

  • Excel Services Application internal error - Event 2026 (SharePoint Server 2010)

  • Excel Services Application save failed - Event 3348 (SharePoint Server 2010)

  • Excel Services Application unexpected workbook failure - Event 5225 (SharePoint Server 2010)

  • Excel workbook disk cache cannot be created - Event 5226 (SharePoint Server 2010)

  • Unable to establish connection with Excel Services Application - Events 5231 5233 (SharePoint Server 2010)

  • Error communicating with Excel Services Application - Events 5231 5239 5240 (SharePoint Server 2010)

  • Excel Services Application not available - Event 5234 (SharePoint Server 2010)

  • Excel unable to delegate credentials - Event 5243 (SharePoint Server 2010) (Obsolete)

  • Excel Services Application configuration database access failed - Event 5244 (SharePoint Server 2010)

  • Max memory configured for Excel Services Application exceeded - Event 5255 (SharePoint Server 2010)

  • Excel Services Application memory allocation failed - Event 5256 (SharePoint Server 2010)

  • Excel Services Application not running locally - Event 5271 (SharePoint Server 2010)

  • Excel invalid file access method configured - Event 5557 (SharePoint Server 2010)

  • Excel Services Application user-defined function exception - Event 6467 (SharePoint Server 2010)

  • Excel Services Application localized template file not found - Event 7924 (SharePoint Server 2010)

  • Excel Services Application template file missing - Event 7925 (SharePoint Server 2010)

  • Excel Services Application null access violation - Event 7926 (SharePoint Server 2010)

  • Excel Services Application non-null access violation - Event 7927 (SharePoint Server 2010)

  • Excel Services Application array out of bounds - Event 7928 (SharePoint Server 2010)

  • Excel workbook disk cache full (SharePoint Server 2010)


Excel unauthorized attempt to access a session - Event 2011 (SharePoint Server 2010)

Alert Name: Excel unauthorized attempt to access a session

Event ID: 2011

Summary: Excel Services Application maintains individual user sessions. Sessions maintain state related to workbook calculations, parameters that a user sets, interactions that a user has with a live workbook, and data returned from a data source as a result of a data refresh operation. Sessions are maintained per user per workbook, and can contain private data and information. Sessions are available only to the user that started the session. The issue in this case is that a user who did not start a session attempted to access data from that session.

Symptoms: One or more of the following symptoms might appear:

  • The user that attempted to access a session that the user did not start cannot view the workbook.

  • This event appears in the event log: Event ID: 2011 Description: Unauthorized attempt to access session by user <username>. Session belonged to user <username of user that started the session>. [Session: <session id> User: <username>].

Cause: A user that did not start the session attempted to request data from the session.


Excel Services Application internal error - Event 2026 (SharePoint Server 2010)

Alert Name: Excel Services Application internal error

Event ID: 2026

Summary: The server for Excel Services Application is responsible for loading, refreshing, and recalculating workbooks, and maintaining user session state. An unexpected internal error was encountered by the server for Excel Services Application.

Symptoms: One or more of the following symptoms might appear:

  • Some user sessions are interrupted and workbooks in the browser might stop responding.

  • This event appears in the event log: Event ID: 2026 Description: An internal error occurred. <error message>.

Cause: The Excel Services Application server experienced an unexpected failure.

Resolution: Restart the server computer

  • Excel Services Application will try to recover automatically from this event by restarting the service. If the System Center Operations Manager (SCOM) monitor for this event is triggered, the event has occurred repeatedly. To resolve the problem, restart the server that runs Excel Services Application.


Excel Services Application save failed - Event 3348 (SharePoint Server 2010)

Alert Name: Excel Services Application save failed

Event ID: 3348

Summary: The server for Excel Services Application is responsible for loading, refreshing, and recalculating workbooks, and maintaining user session state. The server for Excel Services Application failed to save a workbook file. Users may be unable to save their workbook changes.

Symptoms: One or more of the following symptoms might appear:

  • Users may receive an error message that informs them that their changes cannot be saved while editing workbooks in their browser.

  • This event appears in the event log: Event ID: 3348 Description: Saving <URL of workbook> failed mid-save. [Session: <session ID> User: <username>].

Cause: One or more of the following might be the cause:

  • The user's permissions to edit or save files were revoked at the same time that the workbook was being saved.

  • The content database is unavailable and could not be accessed.


Excel Services Application unexpected workbook failure - Event 5225 (SharePoint Server 2010)

Alert Name: Excel Services Application unexpected workbook failure

Event ID: 5225

Summary: The server for Excel Services Application is responsible for loading, refreshing, and recalculating workbooks, and maintaining user session state. An unexpected failure occurred on the server for Excel Services Application and a workbook session was terminated.

Symptoms: One or more of the following symptoms might appear:

  • User sessions are dropped on Excel Services Application. This causes a workbook in the browser to stop responding or causes an error message to appear; for example, An error has occurred.

  • This event appears in the event log: Event ID: 5225 Description: An unexpected serious error occurred when executing <URL to workbook>. The workbook will be unloaded by the server for Excel Services Application. If this error continues to occur, an administrator should look at the file and verify its contents.

Cause: A workbook file that is in a corrupted state was loaded on the Excel Services Application server.

Note:

Administrator permissions are required to perform these steps.

Resolution: Remove the affected file

  1. From the event log, note the path to the file for event ID 5225.

  2. Use the path to locate the file on the disk, or in the list of workbook files in SharePoint.

  3. Delete the file.

Resolution: Restart the Excel Services Application server computer

  • If the problem persists or occurs for numerous files or for files that were previously loading correctly, restart the Excel Services Application server computer.


Excel workbook disk cache cannot be created - Event 5226 (SharePoint Server 2010)

Alert Name: Excel workbook disk cache cannot be created

Event ID: 5226

Summary: Excel Services Application saves the workbooks it loads to a temporary cache on disk. In this case, a workbook disk cache cannot be created on the Excel Services Application server computer.

Symptoms: One or more of the following symptoms might appear:

  • Excel Services Application fails to start.

  • The provisioning of the service fails.

  • Workbooks fail to load.

  • This event appears in the event log: Event ID: 5226 Description: Unable to create or access workbook cache at <disk location of cache>. Excel Services Application cannot function without a workbook cache.

Cause: One or more of the following might be the cause:

  1. The account that runs the application pool in which Excel Services Application runs might not have permissions to create a directory on the Excel Services Application server computer.

  2. The Excel Services Application server computer might have hard disk problems or the hard disk might be full.

Resolution: Verify that the server computer is functioning and has sufficient disk space

  • Verify that the computer that runs the Excel Services Application server functions correctly and contains enough disk space. The event log message for ID 5226 identifies the disk that the Excel Services Application server uses.

Resolution: Verify that the account that runs Excel Services Application can create a Temp folder

  • Verify that the account that runs Excel Services Application has permissions to create a Temp folder on the server computer. Delete the existing Temp folder so that the service can create a new Temp folder. Use the following procedure to identify the account that runs the application pool in which Excel Services Application runs.

To identify the application pool account:

  1. Click Start, click All Programs, click Microsoft SharePoint 2010 Products, and then click SharePoint Management Shell.

  2. At the command prompt, type the name of the Get-SPExcelServiceApplicationWindows PowerShell cmdlet to obtain the name of the application pool. Note the value of the ApplicationPool property that this cmdlet returns.

  3. Click the Start button, point to Administrative Tools, and then click Internet Information Services (IIS) Manager.

  4. In the Connections pane, expand the server node and then click Application Pools.

  5. In the reading pane, in Features View, in the Identity column, note the account for the application pool that you identified.

Resolution: Verify permissions on the workbook cache location

  • Verify that the account that runs the application pool in which Excel Services Application runs has permissions to create a directory on the Excel Services Application server computer. Start by indentifying the location of the workbook cache.

    To identify the workbook cache location:

    1. On the SharePoint Central Administration Web site, in the Application Management section, click Manage service applications and in the Name column click the name of the Excel Services Application application that is affected by the problem.

    2. On the Manage Excel Services Application page, click Global Settings and in the Workbook Cache section note the location of the workbook cache in the Workbook Cache Location text box.

    3. If the Workbook Cache Location box is empty, Excel Services Application is using the default location, %windir%\temp.

    To verify permissions on the workbook cache location

    1. Navigate to the parent directory for the workbook cache location. The default location is <OS drive>:\windows\temp.

    2. Right-click the folder and click Properties. The Properties dialog box appears.

    3. On the Security tab, in the Group or user names list, verify that the account appears that runs the application pool in which Excel Services Application runs. Note that the account might be a member of a group in this list.

    4. If the application pool account is not included in the list, click Edit, and then click Add.

    5. Type the name of the account and click OK.

    6. In the Properties dialog box, on the Security tab, click Advanced.

    7. In the Advanced Security Settings dialog box, select the name of the account, and then click Edit.

    8. In the Advanced Security Settings for <folder name> dialog box, verify that the account is selected, and then click Edit.

    9. In the Permission Entry for <folder name> dialog box, verify that all permission check boxes are selected for Allow, and that all permission check boxes are cleared for Deny.

    10. Click OK to close all dialog boxes.

Resolution: Delete old Excel Services Application folders in the workbook cache directory, so that the cache can be recreated

  1. Navigate to the parent directory of the workbook cache. The default location is <OS drive>:\windows\temp.

  2. If the directory includes an Excel Services Application folder, delete the folder.

Resolution: Perform an iisreset operation to restart the service

  • On the computer, click Start, click Run, and in the Open text box, type iisreset and click OK.


Unable to establish connection with Excel Services Application - Events 5231 5233 (SharePoint Server 2010)

Alert Name: Unable to establish a connection with Excel Services Application

Event ID: 5231 and 5233

Summary: The front-end Web application sent a request to a specific server for Excel Services Application and could not contact the server computer. In this case, the Web front end attempts to load balance to a different Excel Services Application server if another server is available.

Symptoms: One or more of the following symptoms might appear:

  • Workbooks fail to load.

  • Longer load times for workbooks that succeed to load.

  • This event appears in the event log: Event ID: 5231 Description: The Excel Calculation Server <URL to server> is no longer available. Session: <session ID> User: <username>]

  • The following message may be shown in the event log: Event ID: 5233 Description: The Excel Calculation Server <URL to server> is no longer available. Session: <session ID> User: <username>].

Cause: One or more of the following might be the cause:

  • The Excel Services Application server computer is turned off or is off the network.

  • The Excel Services Application server computer is having difficulty and is unavailable.

Ensure the server is started and can connect to the network

  1. Ensure that the server running Excel Services Application is turned on and running.

  2. Ensure that the server running Excel Services Application is able to connect to the network and that you can connect to the server form another computer on the network.

  3. If the server is started and it can connect to the network and the problem is not fixed, re-install Excel Services Application and re-add the server to the farm.


Error communicating with Excel Services Application - Events 5231 5239 5240 (SharePoint Server 2010)

Alert Name: Error communicating with Excel Services Application

Event ID: 5231, 5239, and 5240

Summary: The front-end Web application made a request to a specific server for Excel Services Application and encountered an unexpected exception. This could indicate an intermittent problem or a problem with the specific server computer. In such a case, the Web front end attempts to load balance to a server computer. The Excel Services Application server is required to load workbooks and maintain session state for those workbooks.

Symptoms: One or more of the following symptoms might appear:

  • Delayed load times for workbooks.

  • Workbooks fail to load.

  • This event appears in the event log: Event ID: 5231 Description: Unable to reach Excel Calculation Server <URL of machine> [Session: <session ID> User: <username>].

  • This event appears in the event log: Event ID: 5239 Description: There was an error in communicating with Excel Calculation Server <URL of machine> exception: <exception message> [Session: <session ID> User: <username>].

  • This event appears in the event log: Event ID: 5240 Description: There was an error in communicating with Excel Calculation Server <URL of machine> exception: <exception message> [Session: <session ID> User: <username>].

Cause: The Excel Services Application server computer is in a non-valid state and may need to be restarted.

Restart the server

  1. Before restarting, verify that this problem occurs often. It may be an intermittent problem that is automatically corrected and does not require you to restart the server.

  2. If the problem occurs often, restart the server running Excel Services Application.

  3. If the problem continues to occur often, and restarting the server did not correct the problem, confirm that the hardware of the server is functioning correctly, or reinstall Excel Services Application and re-add the server to the server farm.


Excel Services Application not available - Event 5234 (SharePoint Server 2010)

Alert Name: Excel Services Application not available

Event ID: 5234

Summary: A front-end Web application computer cannot locate and send requests to the server for Excel Services Application. The Excel Services Application server computer is required to load workbooks.

Symptoms: One or more of the following symptoms might appear:

  • Workbooks do not load on Excel Services Application server.

  • This event appears in the event log: Event ID: 5234 Description: No Excel Calculation Server is available in the farm. [User: <username>].

Cause: One or more of the following might be the cause:

  • The Excel Services Application server computer might not be running.

  • Excel Services Application might not be started on the server computer.

  • The proxy that the front-end Web server is using might not be the default member of the default proxy group for Excel Services Application.

Resolution: Verify that the service application instance runs on the machine

  1. On the SharePoint Central Administration Web site, click System Settings.

  2. Click Manage servers in this farm.

  3. For each server that you want to run Excel Services Application, select the name of the server.

  4. On the Services on Server page, if Started is not indicated for Excel Calculation Services in the Status column, click Start in the Action column.

Resolution: Restart the Excel Services Application server

  • Restart the Excel Services Application server computer.

Resolution: Verify that the proxy for the service application is the default member for Excel Services Application

  1. On the SharePoint Central Administration Web site, on the Quick Launch click Application Management, and in the Service Applications section click Configure service application associations.

  2. On the Service Application Associations page, in the Application Proxy Group column, for your Web application, click the name of the proxy group. The default name for the proxy group is default.

  3. In the Configure Service Application Associations dialog box, if the check box for the Excel Services Application proxy is not selected select it. If there is more than one Excel Services Application proxy and the word [default] does not appear after the name of the proxy you want to use, select the check box, and then click [set as default].

  4. Click OK.


Excel Services Application configuration database access failed - Event 5244 (SharePoint Server 2010)

Alert Name: Excel Services Application configuration database access failed

Event ID: 5244

Summary: The application server for Excel Services Application failed to access the configuration database and might not be able to read or save any settings. All settings for Excel Services Application are stored in the configuration database.

Symptoms: One or more of the following symptoms might appear:

  • Excel Services Application might fail to provision.

  • Excel Services Application might not start.

  • Excel Services Application might be interrupted and user workbooks might fail to load.

  • This event appears in the event log: Event ID: 5244 Description: Unexpected error when trying to access service settings in the SharePoint configuration database. Make sure the proxy for this service application is a member of the default proxy group for the active web application. Error =<error returned from SharePoint>.

Cause: One or more of the following might be the cause:

  1. Configuration database might be offline or unavailable.

  2. Permissions on the configuration database have changed, or permissions for the application pool account in which Excel Services Application runs have changed, and Excel Services Application no longer has access to the configuration database.

Note:

You must be a member of the Farm Administrators SharePoint group to perform the following task.

Resolution: Grant correct permissions to the database access account

  • To find the database access account:

    1. On the Central Administration page, on the Quick Launch, click Security, and in the General Security section click Configure service accounts.

    2. On the Service Accounts page, in the Credential Management section, from the drop-down list select the Service Application Pool option for the application pool that runs Excel Services Application. When this option is selected, the name of the Excel Services Application appears in the list box below the drop-down list; for example, Excel Service Application.

    3. Note the account that is selected in the Select an account for this component list, and click OK.

  • To verify that the account has correct permissions in SQL Server:

    1. Connect to the computer that runs SQL Server by using an account that has Administrator permissions.

    2. In SQL Server Management Studio, in the Object Explorer navigation pane, expand the Security node, and then click the Logins node. The name of the database access account indicates that it is a SQL logon account ; for example, ##MS_PolicyTsqlExecutionLogin##.

    3. If the account exists, in the Object Explorer navigation pane, expand the Databases node, expand the configuration database node (for example, WSS_Config), expand the Security node, and then click Roles.

    4. Expand the Database Roles node, right-click db_owner, and then select Properties.

    5. In the Database Roles Properties dialog box, check whether the database access account is in the Members of this role list. If the account is not listed, click Add.

  • To verify that Excel Services Application can read from the configuration database

    1. On the computer, click Start, click All Programs, click Microsoft SharePoint 2010 Products, and then click SharePoint Management Shell.

    2. At the command prompt, type the Windows PowerShell cmdlet name Get-SPExcelServiceApplication to obtain the settings of the specified Excel Services Application. These settings are read from the configuration database.


Max memory configured for Excel Services Application exceeded - Event 5255 (SharePoint Server 2010)

Alert Name: Maximum memory configured for Excel Services Application has been exceeded

Event ID: 5255

Summary: Administrators of Excel Services Application can determine how much memory the service should use on each physical computer that runs Excel Services Application. This is an important setting because Excel Services Application is calculation-intensive and maintains state, and can require a large amount of memory. The amount of memory that the server for Excel Services Application can consume is specified with the MaxPrivateBytes property. This problem occurs when the server consumes more memory than is allocated in this property setting.

Symptoms: One or more of the following symptoms might appear:

  • Workbooks fail to load.

  • Users experience miscellaneous error messages; for example, An error has occurred.

  • Performance of workbooks is poor.

  • This event appears in the event log: Event ID: 5255 Description: Maximum Private Bytes size exceeded. Unable to complete the operation.[Session: <session ID> User: <username> ].

Cause: Excel Services Application has exceeded its MaxPrivateBytes setting value, and requests to the server are being denied as a result.

Ensure your servers have enough RAM memory to serve the number of users

  1. Ensure that your servers have enough RAM memory and that your Excel Services Application deployment is large enough to support your user base. For more information, see Determine resource requirements to support Excel Services Application.

Increase the MaxPrivateBytes setting

  1. On Central Administration home page, click Application Management.

  2. On the Application Management page, under Service Applications, click Manage service applications.

  3. Click on the Excel Services Application. By default this has the name "Excel Service Application".

  4. On the Manage Excel Services Application page, click Global Settings.

  5. On the Excel Services Application Settings page, under Memory Utilization, type the number of megabytes (MB) of RAM memory that you want Excel Services Application to use.

  6. Click OK.


Excel Services Application memory allocation failed - Event 5256 (SharePoint Server 2010)

Alert Name: Excel Services Application memory allocation failed

Event ID: 5256

Summary: The server for Excel Services Application is responsible for loading, refreshing, and recalculating workbooks, and maintaining user session state. The server for Excel Services Application failed to allocate memory.

Symptoms: One or more of the following symptoms might appear:

  • Users cannot create sessions and so cannot view workbooks in their browser.

  • Existing user sessions may stop responding and cause open workbooks in the browser to stop responding.

  • This event appears in the event log: Event ID: 5256 Description: Access Memory Allocation failed. [Session: <session ID> User: user name]

Cause: One or more of the following might be the cause:

  • The server for Excel Services Application has reached capacity and the server cannot allocate more memory resources.

  • The server for Excel Services Application has experienced an unexpected failure and cannot allocate new memory.

Resolution: Evaluate whether servers are sufficient to support user load

  • Before you perform any corrective steps, evaluate whether you have enough Excel Services Application server computers to support the user load.

Resolution: Restart the Server Machine

  • Restart the Excel Services Application server computer.


Excel Services Application not running locally - Event 5271 (SharePoint Server 2010)

Alert Name: Excel Services Application is not running locally

Event ID: 5271

Summary: Excel Services Application supports the defining of load balancing between the Web application front end and the server for Excel Services Application. An option for load balancing is Local. However, this is a valid setting only if the Web front end and the server for Excel Services Application run on the same physical computer.

Symptoms: One or more of the following symptoms might appear:

  • Delay in workbook load times.

  • This event appears in the event log: Event ID: 5271 Description: Load Balancing scheme is configured as Local; however local Excel Calculation Server is not running. Using default round robin load balancing scheme [User: <username>]

Cause: The load-balancing scheme is set to Local but Excel Services Application is not running on that Web front end computer.

Resolution: Change the load balancing scheme

  1. On Central Administration home page, click Application Management.

  2. On the Application Management page, under Service Applications, click Manage service applications.

  3. Click on the Excel Services Application. By default this has the name "Excel Service Application".

  4. On the Manage Excel Services Application page, click Global Settings.

  5. On the Excel Services Application Settings page, under Load Balancing, select either Workbook URL or Round Robin with Health Check.

  6. Click OK.


Excel invalid file access method configured - Event 5557 (SharePoint Server 2010)

Alert Name: Excel invalid file access method configured

Event ID: 5557

Summary: Excel Services Application supports two types of communication between its front-end Web application and back-end server components: Trusted Subsystem and Delegation. The communication type is controlled with the Access Model setting. An Excel Services Application administrator can also specify how the server component retrieves files: Use the process account the service runs as, or impersonate the user, requesting the workbook and delegate the user's credentials. This error occurs when the Access Model is set to Trusted Subsystem and the file access method is set to Impersonation. In this configuration, the server component is unable to obtain or delegate the end user's credentials because they were not delegated from the front-end Web application.

Symptoms: One or more of the following symptoms might appear:

  • Failure to load workbooks.

  • This event appears in the event log: Event ID: 5557 Description: Failed to load <workbook URL> with error: 'The server is configured to use Impersonation to access workbooks but impersonation cannot be used when the communication between the Excel Calculation Server and Excel Web Access is set to use a Trusted Subsystem.' [Session: <session ID> User: <username>]

Cause: The AccessModel setting and the FileAccessMethod setting conflict.


Excel Services Application user-defined function exception - Event 6467 (SharePoint Server 2010)

Alert Name: Excel Services Application user-defined function exception

Event ID: 6467

Summary: A user-defined function has thrown an exception. User-defined functions are custom code assemblies that are deployed to the back-end server for Excel Services Application and are called from an Excel Services Application front-end application. Workbooks that require this user-defined function might not calculate properly. The user-defined function might have to be fixed and redeployed to the server.

Symptoms: One or more of the following symptoms might appear:

  • Workbooks that use this user-defined function do not calculate correctly and might display errors in the spreadsheet.

  • This event appears in the event log: Event ID: 6467 Description: An exception occurred in a user-defined function. Assembly=<name and path of the assembly>, class= <class that threw exception>, function name=< name of function>, exception text=<exception message>

Cause: The user-defined function code has encountered an error condition from which it cannot recover.

Resolution: Correct the user-defined function code

  • This error occurs when a user-defined function often throws exceptions. User-defined functions are not Excel Services Application product code. Use the following steps to find the location of the deployed assembly.

    To correct the user-defined function:

    1. Consult with the developer of the user-defined function about deployment of more robust error handling for the function.

    2. Deploy the updated user-defined function. Ask the developer of the user-defined function to save the new user-defined function assembly to the server global assembly cache (GAC) or file share, depending on how the assembly was deployed initially.

    To find the location of the assembly:

    1. On the SharePoint Central Administration Web site, in the Application Management section, click Manage service applications.

    2. In the Name column, click the name of the Excel Services Application application. In the Type column Excel Services Application applications are of type Excel Services Application Web Service Application.

    3. On the Manage Excel Services Application page, click User Defined Function Assemblies.

    4. In the Assembly column, click the user-defined function that you plan to redeploy.

    5. In the Assembly details section, the Assembly text box shows the path to the assembly, or only its strong name if the user-defined function is installed to the global assembly cache (GAC), under <root>\windows\assembly. Note that the Assembly Location option indicates whether the assembly is in the global assembly cache or is a file path.


Excel Services Application localized template file not found - Event 7924 (SharePoint Server 2010)

Alert Name: Excel Services Application localized template file not found

Event ID: 7924

Summary: The localized template file that Excel Services Application uses to create new workbooks was not found. The server might be in the process of creating new workbooks by using a template file of a different locale. Users that create workbooks by using Excel Services Application might see a workbook with the incorrect language.

Symptoms: One or more of the following symptoms might appear:

  • Buttons with text and other UI elements in workbooks displayed by Excel Services Application might be in the incorrect language.

  • This event appears in the event log: Event ID: 7924 Description: The locale <name of locale> could not be found. As a result, a new workbook was created using the <path of workbook template> workbook template. To enable workbooks to be created for <desired locale>, you must install the <language pack> language pack. [Session: <session ID> User: <username>]

Cause: A localized template workbook file was not found. The localized template file was not correctly installed on the computer, or is corrupt. The file must be reinstalled. The easiest method for reinstalling the template is to repair the installation.

Resolution: Repair the installation

  • Run setup for Excel Services Application, select the repair installation option, and follow the steps in the wizard.


Excel Services Application template file missing - Event 7925 (SharePoint Server 2010)

Alert Name: Excel Services Application template file missing

Event ID: 7925

Summary: The template file that is used to create new workbooks by Excel Services Application was not found. Users might be unable to create new workbooks on the server for Excel Services Application until this problem is corrected.

Symptoms: One or more of the following symptoms might appear:

  • Users are unable to create new workbooks.

  • This event appears in the event log: Event ID: 7925 Description: The new workbook template for Excel Services Application could not be found. As a result, a user was unable to create a new workbook. You may need to repair your installation. [Session: <session ID> User:<username>]

Cause: The new workbook template file cannot be found or read from disk. The file should be reinstalled. The easiest method for reinstalling the template is to repair the installation.

Resolution: Repair the Excel Services Application installation

  • Run setup for Excel Services Application, choose the repair installation option, and follow the steps in the wizard.


Excel Services Application null access violation - Event 7926 (SharePoint Server 2010)

Alert Name: Excel Services Application null access violation

Event ID: 7926

Summary: The server for Excel Services Application is responsible for loading, refreshing, and recalculating workbooks, and maintaining user session state. A workbook loaded on Excel Services Application caused a null access violation.

Symptoms: This event appears in the event log: Event ID: 7926 Description: Excel Calculation Server process tried to access a null virtual address for which it does not have access to. Access Type: <type of access>, Workbook Url: <URL to workbook>, Site Id: <site id> [Session: <session id> User:<username>]

Cause: A workbook with malformed input was loaded on the server.


Excel Services Application non-null access violation - Event 7927 (SharePoint Server 2010)

Alert Name: Excel Services Application non-null access violation

Event ID: 7927

Summary: The server for Excel Services Application is responsible for loading, refreshing, and recalculating workbooks, and maintaining user session state. A workbook that was loaded on Excel Services Application caused an access violation that was not null. These access violations are potential security concerns as they might cause the server to read data to which a user does not have access or might cause the server to execute malicious code.

Symptoms: One or more of the following symptoms might appear:

  • A user might lose an existing workbook session. This causes a user's view of the workbook in the browser to stop responding or causes an error message to appear; for example, an error has occurred.

  • This event appears in the event log: Event ID: 7927 Description: Excel Calculation Server process tried to access a virtual address for which it does not have access to. Access Type: <type of access>, Workbook Url: <URL of workbook>, Site Id: <ID of site>. [Session: <session ID> User: <username> ]

Cause: A workbook with malformed input was loaded on the server.


Excel Services Application array out of bounds - Event 7928 (SharePoint Server 2010)

Alert Name: Excel Services Application array out of bounds

Event ID: 7928

Summary: A workbook loaded on Excel Services Application attempted to overrun the boundary of a memory structure and illegally access data. Multiple, different, workbooks that are loaded by the same user and cause this problem can indicate a security violation by that user.

Symptoms: This event appears in the event log: Event ID: 7928 Description: Excel Services Application process tried to access an array element that is out of bounds. Workbook Url: <URL of workbook file>, Site Id: <site>. [Session: <Id of session> User: <username>]

Cause: A workbook file contains invalid input and caused a memory overrun.


Excel workbook disk cache full (SharePoint Server 2010)

Alert Name: Excel Workbook disk cache is full

Event ID: No event ID

Summary: Excel Services Application saves workbooks it loads to a temporary cache on disk. The hard disk on the Excel Services Application server computer is full and Excel Services Application cannot save additional workbooks to that cache.

Symptoms: Intermittent workbook load failure.

  • The following event may appear in event log: Event ID: 2015 Description: Failed to load <workbook URL> with error: 'The workbook cache is full, or does not contain enough free space to load the workbook. (workbook cache size is <size in MB> MB)'. [Session: <session ID> User: <username>].

  • The following event may appear in event log: Event ID: 2016 Description: Failed to load '<workbook URL> with error: 'The disk containing the workbook cache is full, or does not contain enough space to load the workbook'. [Session: <session ID> User: <username>].

Cause:

  • The hard disk on the server for Excel Services Application is full.

  • The hard disk is not full, but the workbook cache size is set to too low a value.

Ensure there is enough disk space on the server

  • Ensure there is enough disk space on the server.

  • If disk space is running low, delete unused files or add disk space to the server.

Increase the Maximum Size of Workbook Cache setting

  • On Central Administration home page, click Application Management.

  • On the Application Management page, under Service Applications, click Manage service applications.

  • Click the Excel Services Application. By default this has the name "Excel Service Application".

  • On the Manage Excel Services Application page, click Global Settings.

  • On the Excel Services Application Settings page, under Workbook Cache, type the number of megabytes (MB) of disk space that you want Excel Services Application to use for the workbook cache files in the Maximum Size of Workbook Cache box.

  • Click OK.


InfoPath Forms Services in SharePoint Server 2010 knowledge articles

The articles in this section are knowledge articles for the InfoPath Forms Services in Microsoft SharePoint Server 2010. Typically, you would see these articles after clicking a link in an alert in the Operations Manager console. You can use these articles to help you troubleshoot and resolve problems in InfoPath Forms Services.

In this section:

  • InfoPath Forms Services business logic failed - Event 5337 (SharePoint Server 2010)

  • InfoPath Forms Services business logic exceeded re-entrant count - Event 5340 (SharePoint Server 2010)

  • InfoPath Forms Services business logic is out of memory - Event 5342 (SharePoint Server 2010)

  • InfoPath Forms Services business logic load exception - Event 5343 (SharePoint Server 2010)

  • InfoPath Forms Services Web files list load failed - Event 5369 (SharePoint Server 2010)

  • InfoPath Forms Services postback failure - Event 5374 (SharePoint Server 2010)

  • InfoPath Forms Services conflicting assembly identities found - Event 5733 (SharePoint Server 2010)

  • InfoPath Forms Services business logic cannot be serialized - Event 5734 (SharePoint Server 2010)

  • InfoPath Forms Services DoS postbacks per session - Event 5736 (SharePoint Server 2010)

  • InfoPath Forms Services DoS actions per postback - Event 5737 (SharePoint Server 2010)

  • InfoPath Forms Services data adapter security error submit - Event 5758 (SharePoint Server 2010)

  • InfoPath Forms Services solution cache churning - Event 5759 (SharePoint Server 2010)

  • InfoPath Forms Services data adapter security error query - Event 6932 (SharePoint Server 2010)

  • InfoPath Forms Services solution load failure - Event 7056 (SharePoint Server 2010)

  • InfoPath Forms Services not working due to invalid State Service configuration - Event 7898 (SharePoint Server 2010)


InfoPath Forms Services business logic failed - Event 5337 (SharePoint Server 2010)

Alert Name: InfoPath Forms Services business logic failed

Event ID: 5337

Summary: Users who design InfoPath form templates for InfoPath Forms Services in Microsoft SharePoint Server 2010 can add managed code to their forms. Errors can occur when this custom code is executed.

Symptoms: One or more of the following symptoms might appear:

  • An error message appears when opening or filling out the form.

  • This event appears in the event log: Event ID: 5337 Description: Business logic failed due to an exception. (User: <UserName>, Form Name: <FormName>, Request: <http://servername/_layouts/Postback.Formserver.aspx>, Form ID: <FormID>, Type: <ExceptionType>, Exception Message: <ExceptionMessage>).

Cause: The form code has thrown an unhandled business logic exception.


InfoPath Forms Services business logic exceeded re-entrant count - Event 5340 (SharePoint Server 2010)

Alert Name: InfoPath Forms Services business logic exceeded re-entrant count

Event ID: 5340

Summary: Users who design InfoPath form templates can add managed code to their forms. Errors can occur when this custom code is executed.

Symptoms: One or more of the following symptoms might appear:

  • An error message appears when opening or filling out the form in the browser.

  • This event appears in the event log: Event ID: 5340 Description: Business logic object model reentrance count limit was exceeded. The business logic may be in an infinite event recursion. (User: <UserName>, Form Name: <FormName>, Request: <http://servername/_layouts/Postback.Formserver.aspx>, Form ID: <FormID>)

Cause: One or more of the following might be the cause:

  • The business logic is running in an infinite loop.

  • The number of business logic calls for a single update in the data exceeded the maximum limit.


InfoPath Forms Services business logic is out of memory - Event 5342 (SharePoint Server 2010)

Alert Name: InfoPath Forms Services business logic is out of memory

Event ID: 5342

Summary: Users who design InfoPath form templates can add managed code to their forms. Errors can occur when this custom code is executed.

Symptoms: One or more of the following symptoms might appear:

  • An error message appears when opening or filling out the form.

  • This event appears in the event log: Event ID: 5342 Description: A memory allocation made by business logic could not be satisfied. (User: <UserName>, Form Name: <FormName>, Request: <http://servername/_layouts/Postback.Formserver.aspx>, Form ID: <FormID>, Type: <ExceptionType>, Exception Message: <ExceptionMessage>)

Cause: An out-of-memory exception has been generated by the custom code in an InfoPath form template.


InfoPath Forms Services business logic load exception - Event 5343 (SharePoint Server 2010)

Alert Name: InfoPath Forms Services business logic load exception

Event ID: 5343

Summary: Users who design InfoPath form templates can add managed code to their forms. Errors can occur when this custom code is executed.

Symptoms: One or more of the following symptoms might appear:

  • An error message appears when a form is loaded.

  • This event appears in the event log: Event ID: 5342 Description: An exception occurred during loading of business logic. (User: <UserName>, Form Name: <FormName>, Request: <http://servername/_layouts/Postback.Formserver.aspx>, Form ID: <FormID>, Type: <ExceptionType>, Exception Message: <ExceptionMessage>)

Cause: Unhandled business logic exception occurred during form load time.


InfoPath Forms Services Web files list load failed - Event 5369 (SharePoint Server 2010)

Alert Name: InfoPath Forms Services Web files list load failed

Event ID: 5369

Summary: InfoPath Forms Services includes a file named ifsFileNames.xml. This file contains pointers to downloadable files, such as scripts and images for forms.

Symptoms: One or more of the following symptoms might appear:

  • IfsFileNames.xml cannot be found.

  • InfoPath forms cannot be opened in a Web browser.

  • This event appears in the event log: Event ID: 5369 Description: Failed to load product component ifsFileNames.xml. Web virtual root may be installed improperly. (User: <Username>, Request: <http://servername/_layouts/Postback.Formserver.aspx>, Type: <Exception Type>, Exception Message: <Exception Message>)

Cause: One or more of the following might be the cause:

  • The ifsFileNames.xml file is missing or is not valid on one or more front-end Web servers in the farm.

  • Internet Information Services (IIS) is not configured correctly.

Resolution: Run Office Server Setup

  • On the affected servers, run the Microsoft SharePoint Server Setup Wizard and select the Repair option.

Resolution: Check the Internet Information Services configuration

  • If the problem persists, Internet Information Services (IIS) might not be configured correctly. In this case, start IIS Manager and undo any changes to the virtual directory that were made after Microsoft SharePoint Server was installed.


InfoPath Forms Services postback failure - Event 5374 (SharePoint Server 2010)

Alert Name: InfoPath Forms Services postback failure

Event ID: 5374

Summary: Some form actions, such as running business logic, switching views, or submitting the form, require a postback to the server. An error occurred when this postback was processed by InfoPath Forms Services in Microsoft SharePoint Server 2010.

Symptoms: One or more of the following symptoms might appear:

  • An error message appears when filling out the form.

  • This event appears in the event log: Event ID: 5374 Description: There was a form postback error. (User: <UserName>, Form Name: <FormName>, Request: <http://servername/_layouts/Postback.Formserver.aspx>, Form ID: <FormID>, Type: <ExceptionType>, Exception Message: <ExceptionMessage>)

Cause: An internal server error occurred.


InfoPath Forms Services conflicting assembly identities found - Event 5733 (SharePoint Server 2010)

Alert Name: InfoPath Forms Services conflicting assembly identities found

Event ID: 5733

Summary: InfoPath form templates can contain managed code that is stored in a business logic assembly. When a form template that contains managed code is deployed to a server on which InfoPath Forms Services runs, the business logic assembly must have a unique, strong name.

Symptoms: One or more of the following symptoms might appear:

  • An error message appears during deployment of the form template on the Microsoft SharePoint Foundation server.

  • This event appears in the event log: Event ID: 5733 Description: Two business logic assemblies with the same identity, <AssemblyName>, exist. The following forms are associated with the assemblies: <FormName1>, <FormName2>. The server should never be in this state since each business logic assembly must have a unique identity. One of the forms and its associated assembly should immediately be removed. (User: <UserName>, Request: <http://servername/_layouts/Postback.Formserver.aspx>)

Cause: A form template was deployed that contains a managed code assembly that conflicts with another managed code assembly that has been deployed.


InfoPath Forms Services business logic cannot be serialized - Event 5734 (SharePoint Server 2010)

Alert Name: InfoPath Forms Services business logic cannot be serialized

Event ID: 5734

Summary: In InfoPath Forms Services in Microsoft SharePoint Server 2010, the FormState property bag provides a way to maintain business logic state across multiple server postbacks. For example, in a particular method in business logic, local variables can be persisted in the FormState property bag for multiple postbacks. All objects stored in the property bag must be capable of being serialized.

Symptoms: One or more of the following symptoms might appear:

  • An error occurs when executing custom code in the form.

  • This event appears in the event log: Event ID: 5734 Description: Cannot persist business logic type <ObjectType> because it is not serializable. (User: <UserName>, Form Name: <FormName>, Request: <http://servername/_layouts/Postback.Formserver.aspx>, Form ID: <FormID>)

Cause: Business logic in a form template attempted to store a non-serializable type in the FormState property bag.


InfoPath Forms Services DoS postbacks per session - Event 5736 (SharePoint Server 2010)

Alert Name: InfoPath Forms Services DoS postbacks per session

Event ID: 5736

Summary: Some InfoPath form controls, actions, and features require the browser to communicate with the server during a form session. This exchange of data during the session is called a postback, and usually occurs when a form feature has to send data to the server for processing. Unnecessary postbacks impose an additional load on both the browser and the server. To protect the server, a threshold is set for the maximum number of postbacks per session. This limits the number of postbacks that can be executed during a single session when a user is filling out a form, and prevents malicious users from trying to bring down the server.

A user has exceeded the threshold that was set for the number of postbacks allowed per form session. When this condition occurs, the user session is stopped to protect the server.

Symptoms: The following message may appear in the event log: Event ID: 5736 DescriptionNumber of postbacks, <integer>, has exceeded <integer>, the maximum allowable value per session. This value is configurable and can be changed by the administrator. (User: <UserName>, Form Name: <FormName>, Request: <http://servername/_layouts/Postback.Formserver.aspx>, Form ID: <FormID>)

Cause: One or more of the following might be the cause:

  • A user has tried a denial of service (DoS) attack against a server on which InfoPath Forms Services in Microsoft SharePoint Server 2010 runs.

  • The number of postbacks allowed per InfoPath form session state is too low.

Resolution: Check the server logs for signs of a DoS attack

  • Search the Windows event log and the Internet Information Services (IIS) logs for indications of a DoS attack. If this is a DoS attack and if an administrator-approved form template is affected, remove the form template from the site collection or deactivate the form template.

    To check the Windows event log:

    1. Open the Windows Event Viewer.

    2. Search for event ID 5736 in the Windows application event log.

    3. In the event description, check the Form ID. If there are multiple events for the same form ID, this might indicate that a malicious user has deployed a form that is causing many postbacks in an attempt to bring down the server.

    To check the IIS logs:

    1. Go to \inetpub\logs to review the IIS logs.

    2. The Internet Information Services (IIS) log entries can be correlated to the event log information. If many GET requests for a specific form are in the IIS log and if this form is also causing many postbacks, which are being logged, a DoS attack might be in progress.

    3. The IIS log entries also contain the IP address of the machine that sent the request.

    To deactivate a form template from a site collection:

    1. On the SharePoint Central Administration Web site, on the Quick Launch click General Application Settings, and in the InfoPath Forms Services section click Manage form templates.

    2. In the list of form templates click the form template that you want to deactivate, and in the drop-down list click Deactivate from a Site Collection.

    3. On the Deactivate Form Template: <template> page, in the Deactivation Location section, select the site collection and then click OK.

    To remove a form template completely:

    1. On the Central Administration page, on the Quick Launch, click General Application Settings and in the InfoPath Forms Services section click Manage form templates.

    2. In the list of form templates click the form template that you want, and in the drop-down list click Remove Form.

Resolution: Increase the number of postbacks allowed per session

  1. On the Central Administration page, on the Quick Launch, click General Application Settings and in the InfoPath Forms Services section click Configure InfoPath Forms Services.

  2. In the Thresholds section, increase the value for number of postbacks allowed per session.

    Note:

    Increasing the value of this setting can adversely affect server performance and increase the risk of DoS attacks on the server.


InfoPath Forms Services DoS actions per postback - Event 5737 (SharePoint Server 2010)

Alert Name: InfoPath Forms Services DoS actions per postback

Event ID: 5737

Summary: InfoPath Forms Services forms record every action in a temporary event log that is stored in the browser client. When a server postback is necessary, the recorded log data is sent and the actions are replayed on the server. A postback is triggered when a user updates a form or performs an action that requires a postback, such as running business logic or submitting the form. To prevent InfoPath Forms Services from dedicating too much time to a single postback, a threshold setting for the maximum number of actions per postback is defined on the server. This setting limits the number of actions that can be replayed on the server in a single postback and prevents malicious users from creating their own event logs and bringing down the server.

A user has exceeded the threshold set for the number of form actions allowed per postback. When this occurs, InfoPath Forms Services terminates the user session in order to protect the server.

Symptoms: The following message may appear in the event log: Event ID: 5737 Description: Number of form actions, <integer>, has exceeded <integer>, the maximum allowable value per request. This value is configurable and can be changed by the administrator. (User: <UserName>, Form Name: <FormName>, Request: <http://servername/_layouts/Postback.Formserver.aspx>, Form ID: <FormID>)

Cause: One or more of the following might be the cause:

  • A user has attempted a denial of service (DoS) attack against a server on which InfoPath Forms Services runs.

  • The number of actions allowed per postback is too low.

Resolution: Check the Windows event log for signs of a DoS attack

  • Search the Windows event log for signs of a DoS attack. If this is a DoS attack and if an administrator-approved form template is affected, remove the form template from the site collection or deactivate the form template.

    To check the Windows event log:

    1. Open the Windows Event Viewer.

    2. Search for event ID 5737 in the Windows application event log.

    3. In the event description, check the Form ID. If there are multiple events for the same form ID, this might indicate that a malicious user has deployed a form that has many actions per postback in an attempt to bring down the server.

    To deactivate a form template from a site collection:

    1. On the SharePoint Central Administration Web site, on the Quick Launch, click General Application Settings and in the InfoPath Forms Services section click Manage form templates.

    2. In the list of form templates click the form template that you want to deactivate, and in the drop-down list click Deactivate from a Site Collection.

    3. On the Deactivate Form Template: <template> page, in the Deactivation Location section, select the site collection and click OK.

    To remove a form template completely:

    1. On the Central Administration page, on the Quick Launch, click General Application Settings and in the InfoPath Forms Services section click Manage form templates.

    2. In the list of form templates click the form template that you want, and in the drop-down list click Remove Form.

Resolution: Increase the number of actions allowed per postback

  1. On the Central Administration page, on the Quick Launch, click General Application Settings and in the InfoPath Forms Services section click Configure InfoPath Forms Services.

  2. In the Thresholds section, increase the value for number of postbacks allowed per session.

    Note:

    Increasing the value of this setting can adversely affect server performance and increase the risk of DoS attacks on the server.


InfoPath Forms Services data adapter security error submit - Event 5758 (SharePoint Server 2010)

Alert Name: InfoPath Forms Services data adapter security error submit

Event ID: 5758

Summary: InfoPath form templates can contain connections to external data sources. An error occurs if the security settings are not configured to allow connections to data sources on different domains.

Symptoms: One or more of the following symptoms might appear:

  • An error message appears stating that the form cannot be submitted.

  • This event appears in the event log: Event ID: 5758 Description: The form could not be submitted to <DataSource> because this action would violate cross-domain security restrictions. To allow this data connection for administrator-approved forms, enable full trust for the form template, or add the connection to a data connection library. For user forms, cross-domain connections must be enabled in SharePoint Central Administration, and all connections must be in a data connection library. For more information, please see the security documentation for InfoPath Forms Services. (User: <UserName>, Form Name: <FormName>, Request: <http://servername/_layouts/Postback.Formserver.aspx>, Form ID: <FormID>, Type: <ExceptionType>, Exception Message: <ExceptionMessage>)

Cause: One or more of the following might be the cause:

  • The form template security level is not set to full trust.

  • The form template data connections are not defined in a data connection file.

  • Cross-domain data access for user form templates is disabled in Central Administration.


InfoPath Forms Services solution cache churning - Event 5759 (SharePoint Server 2010)

Alert Name: InfoPath Forms Services solution cache churning

Event ID: 5759

Summary: InfoPath Forms Services uses the ASP.NET cache to cache form templates when the form templates are first loaded on a front-end Web server. When the in-memory cache is full, the ASP page releases system memory and form templates are reloaded. This churning could indicate high memory pressure and performance that is less than optimal.

Symptoms: One or more of the following symptoms might appear:

  • InfoPath forms take longer than usual to open in the Web browser.

  • This event appears in the event log: Event ID: 5759 Description: Form templates in the InfoPath Forms Services in-memory cache are being reloaded frequently. This could indicate high memory pressure and suboptimal performance.

Cause: One or more of the following might be the cause:

  • Low-memory conditions exist or a form is consuming a large amount of memory.

  • Microsoft SQL Server is running on a front-end Web server.

Resolution: Restart Internet Information Services

  • In a Command Prompt window, type iisreset /noforce <computername>.

Resolution: Install product updates

  • Check Windows Update for updates and install the available product updates.

Resolution: Check SQL Server installation

  • If you run SQL Server on a SharePoint Server front-end Web server — for example, in a single-server evaluation deployment — the ASP.NET cache releases system memory at a lower threshold than SQL Server, which could result in InfoPath Forms Services memory starvation.

  • To mitigate this issue, configure SQL Server memory limits manually when SQL Server is installed on the same computer as SharePoint Server 2010. For more information, see Server memory options(http://go.microsoft.com/fwlink/p/?LinkId=160542).

Resolution: Upgrade hardware

  • If all previous resolutions do not result in improved form performance, the problem might be hardware-related. Verify that the current server has adequate memory. Upgrade the memory if necessary.


InfoPath Forms Services data adapter security error query - Event 6932 (SharePoint Server 2010)

Alert Name: InfoPath Forms Services data adapter security error query

Event ID: 6932

Summary: InfoPath Forms Services in Microsoft SharePoint Server 2010 form templates can contain connections to external data sources. An error can occur if the security settings are not configured to allow connections to data sources on different domains.

Symptoms: One or more of the following symptoms might appear:

  • An error message stating that the form could not retrieve data from a data source.

  • This event appears in the event log: Event ID: 6932 Description: The form could not retrieve data from <DataSource> because it would violate cross-domain restrictions. To allow this connection for administrator-approved form templates, enable full trust for the form template, or add the connection to a data connection library. For user form templates, cross-domain connections must be enabled in SharePoint Central Administration, and all connections must be in a data connection library. For more information, please see the security documentation for InfoPath Forms Services. (User: <UserName>, Form Name: <FormName>, Request: <http://servername/_layouts/Postback.Formserver.aspx>, Form ID: <FormID>, Type: <ExceptionType>, Exception Message: <ExceptionMessage>)

Cause: One or more of the following might be the cause:

  • The form template security level is not set to full trust.

  • The form template data connections are not defined in a data connection file.

  • Cross-domain data access for user form templates is disabled in SharePoint Central Administration.


InfoPath Forms Services solution load failure - Event 7056 (SharePoint Server 2010)

Alert Name: InfoPath Forms Services solution load failure

Event ID: 7056

Summary: Users can open and fill out InfoPath forms in a Web browser. A form template could not be loaded by InfoPath Forms Services in Microsoft SharePoint Server 2010.

Symptoms: One or more of the following symptoms might appear:

  • An error message appears when opening an InfoPath form in a Web browser.

  • This event appears in the event log: Event ID: 7056 Description: The form template failed to load. (User: <UserName>, Form Name: <FormName>, Request: <http://servername/_layouts/Postback.Formserver.aspx>, Form ID: <FormID>, Type: <ExceptionType>, Exception Message: <ExceptionMessage>)

Cause: An internal server error occurred when the form template was loaded.


InfoPath Forms Services not working due to invalid State Service configuration - Event 7898 (SharePoint Server 2010)

Alert Name: State Service not configured for InfoPath Forms Service

Event ID: 7898

Summary: InfoPath Forms Services is not functional because the Microsoft SharePoint Server State Service configuration is not valid.

Symptoms: One or more of the following symptoms appears:

  • InfoPath forms cannot be opened in a Web browser.

  • Workflow forms cannot be opened in a Web browser.

  • An error message appears when a form is loaded that states that the form cannot be rendered.

  • This event appears in the event log: Event ID: 7898 Description: Microsoft SharePoint State Service is not configured correctly and cannot respond to requests. InfoPath Forms Services relies on Microsoft SharePoint State Service to function correctly. Check the SharePoint Maintenance Engine rules in SharePoint Central Administration for issues with Microsoft SharePoint State Service configuration.

Cause: The State Service, an InfoPath Forms Services dependency, is not configured correctly or is not associated with the Web application that hosts InfoPath forms.

Resolution: Create a State Service application by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell command prompt (PS C:\>), type the following command, and then press ENTER:

    $serviceApp = New-SPStateServiceApplication -Name "State Service"

    To create a State Service database and associate it with the service application, type the following command, and then press ENTER:

    New-SPStateServiceDatabase -Name "StateServiceDatabase" -ServiceApplication $serviceApp

    To create a State Service application proxy in the farm's default proxy group, and associate it with the service application, type the following command, and then press ENTER:

    New-SPStateServiceApplicationProxy -Name "State Service" -ServiceApplication $serviceApp -DefaultProxyGroup

For more information, see New-SPStateServiceApplication, New-SPStateServiceDatabase and New-SPStateServiceApplicationProxy.

Resolution: Associate a State Service proxy with the Web application

  1. Verify that the user account that is performing this procedure is a member of the Farm Administrators group.

  2. On the Central Administration Home page, click Application Management.

  3. On the Application Management page, in the Service Applications section, click Manage Web Applications.

  4. On the Manage Web Applications page, click the name of the Web application, and then click Service Connections.

  5. Select the State Service Proxy check box.

    If a State Service Proxy is not listed, create a State Service application, a State Service database, and a State Service proxy.

Resolution: Create a State Service application by using the Farm Configuration Wizard

  1. Verify that the user account that is performing this procedure is a member of the Farm Administrators group.

  2. On the Central Administration Home page, click Configuration Wizards.

  3. On the Configuration Wizards page, click Launch the Farm Configuration Wizard.

  4. Ensure that State Service check box is selected, and then finish the Farm Configuration Wizard.


Managed Metadata services in SharePoint Server 2010 knowledge articles

The articles in this section are knowledge articles for the Managed Metadata service. Typically, you would see these articles after clicking a link in an alert in the Operations Manager console. You can use these articles to help you troubleshoot and resolve problems with the Managed Metadata service in Microsoft SharePoint Server 2010.

In this section:

  • Disk-based cache misconfigured - Event 5787 (SharePoint Server 2010)

  • Metadata Service is unavailable - Event 8088 (SharePoint Server 2010)

  • Disk-based cache at critical capacity (SharePoint Server 2010)

  • Disk-based cache flushing (SharePoint Server 2010)

  • Disk-based cache is compacting (SharePoint Server 2010)


Disk-based cache misconfigured - Event 5787 (SharePoint Server 2010)

Alert Name: Disk-based cache misconfigured

Event ID: 5787

Summary: To save time accessing frequently used static files, Microsoft SharePoint Server 2010 uses the disk-based cache to store these files on the disk of the front-end Web server instead of accessing these files directly from the database server. Farm administrators can configure settings for the cache by modifying the Web.config file on each front-end Web server.

This alert indicates that the configuration settings of the disk-based cache are not valid.

Symptoms: The following event appears in the event log: Event ID: 5787 Description: Unable to connect publishing blob caching. Web.Config is not set up correctly. Cache is not valid. WebId is '<webid>', Url is '<url>'.

Cause: The configuration settings of the disk-based cache are not valid.

Resolution: Correct the configuration settings in the Web.config file

  1. For information about how to configure the Web.config file, see Configure cache settings for a Web application (SharePoint Server 2010).


Metadata Service is unavailable - Event 8088 (SharePoint Server 2010)
See Also

Alert Name: Metadata Service is unavailable

Event ID: 8088

Summary: The managed metadata service provides access to one term store and the term sets that it contains, or it provides content types from a content type syndication hub.

Symptoms: One or more of the following symptoms might appear:

  • The term store management tool displays an error that indicates that the term store is not available.

  • Managed metadata controls and enterprise keyword controls may appear disabled.

  • This event might appear in the event log: Event ID: 8088 Description: The Managed Metadata Service '<Service>' is inaccessible.

Cause: This can occur if the server is offline or the managed metadata service is not started or has been disabled. The service might not start if the application pool account does not have sufficient permissions to the term store.

Resolution: Verify the application pool account permissions

  1. Verify that the user account that is performing this procedure is a member of the Farm Administrators group.

  2. On the Central Administration Home page, click Application Management.

  3. On the Application Management page, in the Service Applications section, click Manage service applications.

  4. On the Service Applications page, in the Type column, click the managed metadata service application, and then click Properties.

  5. In the Create New Managed Metadata Service dialog box, in the Application Pool section, record the name of the application pool and the application pool account name.

  6. Click Cancel.

  7. Log on as a member of the local Administrators group.

  8. In Central Administration, on the Service Applications page, in the Type column, click the managed metadata service application, and then click Permissions.

  9. Confirm that the account that you recorded in step 5 has one of the following permissions:

    • Read Access to Term Store

    • Read and Restricted Write Access to Term Store

    • Full Access to Term Store

See Also

Concepts

Grant permission to access the managed metadata service (SharePoint Server 2010)
Managed metadata overview (SharePoint Server 2010)


Disk-based cache at critical capacity (SharePoint Server 2010)

Alert Name: Disk-based cache at critical capacity

Event ID: None

Summary: To save time accessing frequently used static files, Microsoft SharePoint Server 2010 uses the disk-based cache to store these files on the disk of the front-end Web server instead of accessing these files directly from the database server. Farm administrators can configure settings for the cache by modifying the Web.config file on each front-end Web server.

This alert indicates that the disk-based cache is too full to serve files efficiently. When the disk-based cache is full, it will start compacting — that is, removing files from the cache to free up space. Compacting is a resource-intensive process that might affect the performance of the front-end Web server.

Symptoms: The Blob Cache fill ratio performance counter threshold has been exceeded.

Cause: The configured size for the disk-based cache is smaller than the total size of frequently accessed files for the Web application.

Resolution: Increase the size of the disk-based cache

  1. For information about how to configure the Web.config file, see Configure cache settings for a Web application (SharePoint Server 2010).

Resolution: Manually flush the disk-based cache by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell command prompt, type the following command:

    Copy Code
    Add-PSSnapin Microsoft.SharePoint.Powershell
Write-Host "Flush the Blob Cache for the application containing the specified site collection"
$site = Get-SPSite -Identity <URL>
[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint.Publishing")
Write-Host "Flushing..."
[Microsoft.SharePoint.Publishing.PublishingCache]::FlushBlobCache($site.WebApplication)
Write-Host "Flushed Cache for:" $site.WebApplication

    Where:

    • <URL> is the URL in the event details.

Resolution: Change the file types to be stored by the disk-based cache

  1. For information about how to configure the Web.config file, see Configure cache settings for a Web application (SharePoint Server 2010)


Disk-based cache flushing (SharePoint Server 2010)

Alert Name: Disk-based cache flushing

Event ID: None

Summary: To save time accessing frequently used static files, Microsoft SharePoint Server 2010 uses the disk-based cache to store these files on the disk of the front-end Web server instead of accessing these files directly from the database server. Farm administrators can configure settings for the cache by modifying the Web.config file on each front-end Web server.

This alert indicates that a user or administrator has made a change that caused some of the disk-based cache contents to become invalid. This will initiate the process of cache flushing, which is removing a large set of items from the cache. Flushing is a resource-intensive process that can affect the performance of the front-end Web server. When the flushing process is finished, the performance of the front-end Web server will return to normal.

Tip:

If you want to reduce the frequency of the flushing processes, you can perform one or more of the resolutions in this article. You can also ensure that users or administrators are not making changes that might invoke a cache flush process during peak usage hours.

Symptoms: The Blob cache flushes / second performance counter threshold has been exceeded.

Cause: A user or administrator made a change that caused the cached contents to become invalid. Examples include modifying content types of cached items, updated the schema of lists, or changing permissions on a list or library.

Resolution: Change the file types to be stored by the disk-based cache

  1. For information about how to configure the Web.config file, see Configure cache settings for a Web application (SharePoint Server 2010)


Disk-based cache is compacting (SharePoint Server 2010)

Alert Name: Disk-based cache is compacting

Event ID: None

Summary: To save time accessing frequently used static files, Microsoft SharePoint Server 2010 uses the disk-based cache to store these files on the disk of the front-end Web server instead of accessing these files directly from the database server. Farm administrators can configure settings for the cache by modifying the Web.config file on each front-end Web server.

This alert indicates that the disk-based cache is too full to serve files efficiently and is currently in the process of compacting — that is, removing files from the cache to free up space. Compacting is a resource-intensive process that can affect the performance of the front-end Web server. When the compacting process is finished, the performance of the front-end Web server will return to normal.

Tip:

If you want to reduce the frequency of the compacting processes, you can perform one or more of the resolutions in this article.

Symptoms: The Total number of cache compactions performance counter threshold has been exceeded.

Cause: The disk-based cache has reached its maximum size.

Resolution: Increase the size of the disk-based cache

  1. For information about how to configure the Web.config file, see Configure cache settings for a Web application (SharePoint Server 2010).

Resolution: Manually flush the disk-based cache by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell command prompt, type the following command:

    Copy Code
    Add-PSSnapin Microsoft.SharePoint.Powershell
Write-Host "Flush the Blob Cache for the application containing the specified site collection"
$site = Get-SPSite -Identity <URL>
[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint.Publishing")
Write-Host "Flushing..."
[Microsoft.SharePoint.Publishing.PublishingCache]::FlushBlobCache($site.WebApplication)
Write-Host "Flushed Cache for:" $site.WebApplication

    Where:

    • <URL> is the URL in the event details.

Resolution: Change the file types to be stored by the disk-based cache

  1. For information about how to configure the Web.config file, see Configure cache settings for a Web application (SharePoint Server 2010).


PerformancePoint Services in SharePoint Server 2010 knowledge articles

The articles in this section are knowledge articles for PerformancePoint Services in Microsoft SharePoint Server 2010. Typically, you would see these articles after clicking a link in an alert in the Operations Manager console. You can use these articles to help you troubleshoot and resolve problems in PerformancePoint Services.

In this section:

  • PerformancePoint Services - login failed - Events 5 6 37 45 (SharePoint Server 2010)

  • PerformancePoint Services - Service unavailable - Events 33 39 (SharePoint Server 2010)

  • PerformancePoint Services - Database Connection Failed - Event 34 (SharePoint Server 2010)


PerformancePoint Services - login failed - Events 5 6 37 45 (SharePoint Server 2010)

Alert Name: Performance Point-login failed

Event ID: 5, 6, 37, and 45

Summary: PerformancePoint Services in Microsoft SharePoint Server 2010 uses an unattended service account for data connectivity integration. PerformancePoint Services uses this account to access data sources on behalf of the user who is running or creating a dashboard. When the user creates a data source and does not select Per-user Identity for authentication, the data source connection will run as the unattended service account.

Symptoms: One or more of the following events appears in the event log:

  • Event ID: 5 Description: Shared account is misconfigured.

  • Event ID: 6 Description: Data source shared account is misconfigured.

  • Event ID: 37 Description: Data Source cannot get Windows identity.

  • Event ID: 45 Description: Get unattended service account password failed.

Cause: One or more of the following might be the cause:

  • The unattended service account is set to an account that is not valid or is configured incorrectly.

  • The Secure Store is not accessible. For more information about resolving this problem, see Secure Store could not retrieve master encryption key - Event 7535 (SharePoint Server 2010).

Resolution: Confirm the unattended service account settings

  1. Verify that the user account that is performing this procedure is a member of the Farm Administrators group.

  2. On the Central Administration Home page, click Application Management.

  3. On the Application Management page, in the Service Applications section, click Manage service applications.

  4. On the Manage Service Applications page, click the name of the PerformancePoint Services service application.

  5. On the Manage PerformancePoint Services page, click PerformancePoint Service Application Settings.

  6. On the PerformancePoint Service Application Settings page, verify that the user account is correct by typing a domain user name and password in the Secure Store and Unattended Service Account section, and then clicking OK.

Resolution: Confirm the application pool account

  1. Verify that the user account that is performing this procedure is a member of the Farm Administrators group.

  2. On the Central Administration Home page, click Application Management.

  3. On the Application Management page, in the Service Applications section, click Manage service applications.

  4. On the Manage Service Applications page, select the name of the PerformancePoint Services service application, and then click Properties in the ribbon.

  5. On the Edit PerformancePoint Service Application page, in the Application Pool section, verify that the application pool account is correct.


PerformancePoint Services - Service unavailable - Events 33 39 (SharePoint Server 2010)

Alert Name: PerformancePoint Services service unavailable

Event ID: 33 and 39

Summary: The PerformancePoint Services in Microsoft SharePoint Server 2010 service is unavailable.

Symptoms: One or more of the following symptoms appears:

  • Users receive error messages saying that PerformancePoint Services is unavailable or cannot be found.

  • The application pool appears as stopped in Internet Information Services (IIS) Manager.

  • This event appears in the event log: Event ID: 33 Description: Service application is not configured for Web Application.

  • This event appears in the event log: Event ID: 39 Description: Service application is unavailable.

Cause: One or more of the following might be the cause:

  • The application pool has not been started.

  • The password for the application pool service account has changed.

  • There is an internal service error.

Resolution: Start the application pool

  1. In IIS Manager, connect to the application server.

  2. Expand the server node, and then click Application Pools.

  3. Ensure that the PerformancePoint Services application pool is started. If it is not, right-click the name of the application pool, and then click Start.

    If the application pool is started, right-click the name of the application pool, and then click Recycle.

  4. If the application pool does not start, follow the steps in "Resolution: Verify the application pool account," later in this article, and then repeat these steps to start the application pool.

Resolution: Verify the application pool account

  1. Verify that the user account that is performing this procedure is a member of the Farm Administrators group.

  2. On the Central Administration Home page, click Application Management.

  3. On the Application Management page, in the Service Applications section, click Manage service applications.

  4. On the Manage Service Applications page, select the name of the PerformancePoint Services service application, and then click Properties in the ribbon.

  5. On the Edit PerformancePoint Service Application page, in the Application Pool section, make a note of the name of the application pool. This information will be used later in this procedure.

  6. In IIS Manager, connect to the application server.

  7. Expand the server node, and then click Application Pools.

  8. Right-click the name of the application pool that you recorded in step 5, and then click Advanced Settings.

  9. In the Advanced Settings dialog box, under Process Model, click the ellipsis next to the Identity account.

  10. In the Application Pool Identity dialog box, click Set.

  11. In the Set Credentials dialog box, type the domain account name and password, confirm the password, and then click OK.

  12. In the Application Pool Identity dialog box, click OK.

  13. In the Advanced Properties dialog box, click OK.


PerformancePoint Services - Database Connection Failed - Event 34 (SharePoint Server 2010)

Alert Name: PerformancePoint Services database connection failed

Event ID: 34

Summary: The PerformancePoint Services in Microsoft SharePoint Server 2010 service requires access to a database to store annotations, temporary information, and filters.

Symptoms: One or more of the following symptoms appears:

  • Users cannot navigate reports, render scorecards, or navigate OLAP views.

  • The application pool appears as stopped in Internet Information Services (IIS) Manager.

  • This event might appear in the event log: Event ID: 34 Description: Store cannot connect to database.

Cause: One or more of the following might be the cause:

  • The password for the application pool service account was changed, or the account is not the correct one.

  • The PerformancePoint Services database is corrupted, or it was deleted and restored from a backup database.

Resolution: Ensure that the application pool identity has the correct SQL Server permissions

  1. Verify that the user account that is performing this procedure is a member of the SQL Server db_owner fixed database role for the PerformancePoint Services database.

  2. Open SQL Server Management Studio and connect to the database server.

  3. In Object Explorer, expand Databases.

  4. Expand the PerformancePoint Services database node. Expand Security, and then expand Users.

    Note:

    To determine the name of the PerformancePoint Services database, follow the steps in "To identify the PerformancePoint database by using Windows PowerShell," later in this article.

  5. Ensure that the application pool account is listed as a SQL login.

    Note:

    To determine which application pool the service uses, follow the steps in "To identify the application pool," later in this article.

  6. If the account is not listed, add the account as a SQL Server login with the db_owner fixed database role for the PerformancePoint Services database by following these steps:

    1. Right-click the Users node, and then click New User.

    2. On the General tab, select the Login name option, and then click the ellipsis.

    3. In the Select Login dialog box, type the login name, or click Browse and select the login from the list.

      If the application pool account does not appear in the list, it must be added to the database server as a SQL Server login.

    4. In the Select Login dialog box, click OK.

    5. In the Database User dialog box, on the General tab, under Database role membership, ensure that the db_owner check box is selected, and then click OK.

  7. If the account is listed, verify that it has the db_owner fixed database role for the PerformancePoint Services database by doing the following:

    1. Right-click the login, and then click Properties.

    2. In the Database User dialog box, under Database role membership, ensure that the db_owner check box is selected, and then click OK.

To identify the PerformancePoint database by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell command prompt (PS C:\>), type the following command, and then press ENTER:

    Get-SPPerformancePointServiceApplication

    Record the name of the database from the SettingsDatabase property.

For more information, see Get-SPPerformancePointServiceApplication.

Resolution: Verify the application pool account by using Central Administration

  1. In IIS Manager, connect to the server that is running Central Administration.

  2. Expand the server node, and then click Application Pools.

  3. Right-click the application pool, and then click Advanced Properties.

    Note:

    To determine which application pool the service uses, follow the steps in "To idenitfy the application pool," later in this article.

  4. In the Advanced Properties dialog box, under Process Model, click the ellipsis next to the Identity account.

  5. In the Application Pool Identity dialog box, click Set.

  6. In the Set Credentials dialog box, type the domain account name and password, confirm the password, and then click OK.

  7. In the Application Pool Identity dialog box, click OK.

  8. In the Advanced Properties dialog click OK.

    Note:

    You do not have to restart the application pool for the changes to take effect.

Resolution: Restore the database from a backup by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell command prompt (PS C:\>), type the following command, and then press ENTER:

    Restore-SPFarm -Directory <Backup folder name> -RestoreMethod {New | Overwrite} -Item <Content database name> [-BackupId <GUID>] [-Verbose]

  6. To reattach the restored database to the farm, type the following command, and then press ENTER:

    Set-SPPerformancePointServiceApplication -SettingsDatabase <Database name>

For more information, see Restore-SPFarm.

Note:

We recommend that you use Windows PowerShell when performing command-line administrative tasks. The Stsadm command-line tool has been deprecated, but is included to support compatibility with previous product versions.

To identify the application pool

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell command prompt (PS C:\>), type the following command, and then press ENTER:

    Get-SPPerformancePointServiceApplication

    Record the name listed after Name= under ApplicationPool.

  6. At the Windows PowerShell command prompt (PS C:\>), type the following command, and then press ENTER:

    Get-SPServiceApplicationPool | Where-Object {&_.Name -eq " <ApplicationPool name from previous step>" | Format-Table -Property Name,DisplayName,Id

    The application pool name is the GUID listed as Id.

For more information, see Get-SPServiceApplicationPool.

Note:

We recommend that you use Windows PowerShell when performing command-line administrative tasks. The Stsadm command-line tool has been deprecated, but is included to support compatibility with previous product versions.


Search services in SharePoint Server 2010 knowledge articles

The articles in this section are knowledge articles for Microsoft Search Server 2010 services in Microsoft SharePoint Server 2010. Typically, you would see these articles after clicking a link in an alert in the Operations Manager console. You can use these articles to help you troubleshoot and resolve problems in Search Server 2010.

In this section:

  • Search gatherer disk is full - Event 23 (SharePoint Server 2010)

  • Search database out of space - Event 52 (SharePoint Server 2010)

  • Search relegate query component - Event 58 (SharePoint Server 2010)

  • Search query critical error - Event 60 (SharePoint Server 2010)

  • Search indexer initialization index failed - Event 71 (SharePoint Server 2010)

  • Search index corrupted - Events 74 93 (SharePoint Server 2010)

  • Search indexer low disk space - Event 80 (SharePoint Server 2010)

  • Search propagation communication error - Event 92 (SharePoint Server 2010)

  • Search gatherer host unavailable - Event 114 (SharePoint Server 2010)

  • Search administration component failed - Event 121 (SharePoint Server 2010)

  • Search crawl component index path error - Events 2588 2589 (SharePoint Server 2010)

  • Search Query and Site Settings Service is not running (SharePoint Server 2010)

  • SharePoint Server 2010 search is not running (SharePoint Server 2010)


Search gatherer disk is full - Event 23 (SharePoint Server 2010)

Alert Name: Search gatherer disk is full

Event ID: 23

Summary: As the crawler searches content to create an index, it creates files in a temporary location. This temporary location can grow in size over time. The disk where the temporary location is located is running out of space.

Symptoms: Microsoft SharePoint Server 2010 experiences the following symptoms when it crawls content:

  • The crawl does not progress and seems to stall.

  • The crawl logs show no new crawled documents.

  • This event appears in the event log: Event ID: 23 Description: The crawl has been delayed because a disk is full.

Cause: The disk on which the search crawler creates temporary files is running out of space.

Resolution: Free up disk space

  • Free up space on the disk on which the crawler creates an index as it searches content.

    To free up disk space:

    1. Use Disk Cleanup to delete temporary files on the drive where the index files are stored. Use the procedure following this one to determine the location of the index files.

      Note:

      If the temporary files are located on a drive other than the operating system drive (drive C), you must restart the Microsoft Search Server 2010 service (OSearch) to test the performance of the crawler after you delete the temporary files.

    2. After Disk Cleanup is complete, test the performance of the crawler. If the crawler is not searching content, delete unnecessary files and folders on the selected drive.

    3. If you cannot clear any disk space, restart the Search Server 2010 service (OSearch). Restarting the Search Server 2010 service (OSearch) recreates the Temp directory for index files. In a Command Prompt window, run the command net stop osearch14 to stop the search service. Run the command net start osearch14 to restart the search service.

    To determine the location of the index files:

    1. Run regedit.

    2. If the following registry flag is set, the system Temp directory is used for the index files:HKEY_LOCAL_MACHINE\Software\Microsoft\Office Server\14.0\Search\Global\Gathering Manager\UseSystemTemp

    3. If the system Temp directory is not used for the index files, the location of the index files is indicated by the following registry key:HKEY_LOCAL_MACHINE\Software\Microsoft\Office Server\14.0\Search\Global\Gathering Manager\TempPath


Search database out of space - Event 52 (SharePoint Server 2010)

Alert Name: Search database out of space

Event ID: 52

Summary: Each search application depends on the following sets of databases for storing a specific type of content:

  • One or more search property databases store metadata about the crawled items.

  • One or more search crawl databases store information about when and where items were crawled.

  • A search administration database stores information that is specific to managing the search application.

Symptoms: As more items are crawled, the size of the property and crawl database increases over time. At some point, Microsoft SharePoint Server 2010 might display the following symptoms:

  • The crawl does not progress and seems to stall.

  • The crawl logs show no new crawled documents.

  • This event appears in the event log: Event ID: 52 Description: The database is out of space. Source:<data> Code:<data> occurred <data> time(s) Description: <data>

Cause: One or more search databases are out of disk space.

Resolution: Check storage space

  1. Check the detailed error message for the location and name of the database. Use the following procedure on the server on which the instance of Microsoft SQL Server is running to determine whether the search database has adequate storage space available:

  2. Start SQL Server Management Studio.

  3. Log on and expand the Databases container.

  4. Right-click the name of the database with the issue, and then click Properties.

  5. On the General tab, click Size to determine the current file size.

Resolution: Move the search database

  • After you create a larger storage space, move the search database to the new location by using the Detach and Attach functions of SQL Server, as described in KB 220071.


Search relegate query component - Event 58 (SharePoint Server 2010)

Alert Name: Search relegate query component

Event ID: 58

Summary: To support high availability, we recommend that multiple query components be created in the same query group. If a query component fails, the Microsoft Search Server 2010 service (OSearch) relegates the operations of the failed component to another query component to continue to serve queries.

Symptoms: Microsoft SharePoint Server 2010 experiences the following symptoms when serving queries:

  • Under high query load there may be a decrease in query throughput.

  • This event appears in the event log: Event ID: 58 Description: Query component <data> has been taken out of rotation due to this error: <data>. It will be retried in <data> seconds. <data>

    Note:

    The event details identifies the query component as <GUID>-<Query Component number>, for example "baebc6d3-4a2e-4584-9ff7-ad8866debe92-query-30". To identify the query component, use the second part, "query-30".

Cause: A query component was taken out of rotation for the reason presented in the event error message.

Resolution: Restart the search service

  1. Propagation to the affected query component will be automatically retried in the time period given in the event. If the retry attempt fails, stop and restart the Microsoft Search Server 2010 service (OSearch) by opening a Command Prompt window and type net stop osearch14 to stop the search service. Type net start osearch14 to restart the search service.

If failure persists, add a new query component as a mirror in the same query group as the failed query component.

Resolution: Add a new query component

  1. On the SharePoint Central Administration Web site, click General Application Settings and in the Search section click Farm-wide Search Dashboard.

  2. In the Search Application Topology section find the search application that generated the event, and then click Modify Topology.

  3. On the Topology for Search Application: <searchappname> page, select the failed query component from the topology list, and then click Add Mirror.

  4. In the Add query component dialog box, select the query server and associated metadata database for the new query component, and then click OK.

  5. Click Apply Topology Changes. The changes are processed for the search application and the index is copied from the failed query component to the new query component.

  6. Click the failed query component and click Delete.

  7. The topology removes the index from the failed query component and deletes the index.


Search query critical error - Event 60 (SharePoint Server 2010)

Alert Name: Search query critical error

Event ID: 60

Summary: In scenarios where a query component has no mirror and lacks high-availability, or all query components in a query group fail, it is possible that query results will not be served for a portion of the index.

Symptoms: Microsoft SharePoint Server 2010 experiences the following symptoms when serving queries:

  • Query latency increases or queries fail.

  • This event appears in the event log: Event ID: 60 Description: Cannot take the last query component out of rotation. Check previous event logs to determine cause. Propagation may be necessary. <data>

    Note:

    The event details identifies the query component as <GUID>-<Query Component number>, for example "baebc6d3-4a2e-4584-9ff7-ad8866debe92-query-30". To identify the query component, use the second part, "query-30".

Cause: A query component has been taken out of rotation due to the reason present in the previous search event's error message.

Resolution: Restart the search service

  1. Stop and restart the Microsoft Search Server 2010 service (OSearch).

  2. Open a Command Prompt window and type net stop osearch14 to stop the search service. Type net start osearch14 to restart the search service.

If failure persists, add a new query component as a mirror in the same query group as the failed query component.

Resolution: Add a new query component

  1. On the SharePoint Central Administration Web site, click General Application Settings and in the Search section click Farm-wide Search Dashboard.

  2. In the Search Service Applications section, from the drop-down list select the search application that generated the event, and then click Modify Topology.

  3. On the Topology for Search Service Application page, click the failed query component in the topology list, and then select Add Mirror from the component's drop-list.

  4. In the Add mirror query component dialog box, select the query server and associated metadata database for the new query component, and then click OK.

  5. Click Apply Topology Changes. The changes are processed for the search application and the index is copied from the failed query component to the new query component.

  6. Click the failed query component and click Delete.

  7. The topology removes the index from the failed query component and deletes the component.


Search indexer initialization index failed - Event 71 (SharePoint Server 2010)

Alert Name: Search indexer initialization index failed

Event ID: 71

Summary: The key process that drives crawls and queries is mssearch.exe. This process hosts the crawl and query components for search. During search initialization, Microsoft SharePoint Foundation 2010 displays the symptoms described while initializing the mssearch.exe process or a crawl or query component.

Symptoms: One or more of the following symptoms might appear:

  • Crawl or query search activities that involve the component stall.

  • The system automatically retries every minute silently. If two events are thrown within 30 minutes, action should be taken.

  • This event appears in the event log: Event ID: 71 Description: Content index on <data> could not be initialized. Error <data>. <data>

Cause: One or more of the following might be the cause:

  • Could not access index files on disk

  • Lack of available memory

  • Index corruption

Resolution: Correct resources on the server

  • Resolve any issues with accessing index files. The location of the index file is provided in the Edit Query Component dialog. Ensure that the WSS_ADMIN_WPG security group account has Full Control access to the index files folder.

    To see the location of an index file:

    1. On the SharePoint Central Administration Web site, on the Quick Launch click General Application Settings.

    2. On the General Application Settings page, under Search, click Farm-wide Search Dashboard.

    3. On the Farm-Wide Search Dashboard page, under Search Service Applications, click Modify Topology next to the search service you need to configure.

    4. On the Topology for Search Service Application page, under Index Partition, click the query component that needs to be configured.

    5. Click Index Component and click Edit Properties. The location of the index file appears in the Indexing Directory section.

    6. Click Edit Properties.

    7. In Edit Query Component dialog the location of the index files is displayed in the Location of Index box under Location of Index.

  • Ensure that the WSS_ADMIN_WPG security group account has Full Control access to this location.

Resolution: Restart the search server service

  • If low memory is the issue, stop and restart the Microsoft Search Server 2010 service (OSearch). In a Command Prompt window, run the command net stop osearch14 to stop the search service. Run the command net start osearch14 to restart the search service.

Resolution: Fix the index corruption

  • If an index corruption event ID 74 or 93 accompanies this event, correct the issue by using the resolutions for the specified type of index corruption event.


Search index corrupted - Events 74 93 (SharePoint Server 2010)

Alert Name: Search index corrupted

Event ID: 74 and 93

Summary: The key process that drives search crawls and queries is Mssearch.exe. This process hosts the crawl and query components for search.

Symptoms: One or more of the following symptoms might appear:

  • Search activities (crawl or query) that involve the query component are stalled.

  • One or more of these events might appear in the event log:

    • Event ID: 74 Description: <data> An index corruption of type <data> was detected in catalog <data>. Stack trace is <data>.

      Warning:

      The system will not re-run the crawl after it raises this error.

    • Event ID: 93 Description: An index corruption was encountered while attempting to restart an aborted merge. A catalog reset of search application <data> may be necessary.

      Warning:

      The system will automatically silently retry to restart the merge. If two events are raised within 30 minutes, you should resolve the problem.

Cause: One or more of the following might be the cause:

  • Disk failures are affecting the index files.

  • The index is corrupt.

Resolution: Check the disk for corruption

  1. On the server listed in the event details, run the Chkdsk command to check the disk for errors.

Resolution: Create a new crawl component

  1. On the SharePoint Central Administration Home page, click General Application Settings.

  2. On the General Application Settings page, in the Search section, click Farm Search Administration.

  3. On the Farm Search Administration page, in the Search Service Applications section, click Modify Topology for the correct Search service application.

  4. On the Manage Search Topology page, click New, and then select Crawl Component from the context menu.

  5. In the Add Crawl Component dialog box, select the correct farm server and crawl database, and type the location for the index if it is different from the location shown. Click OK.

  6. On the Manage Search Topology page, click Apply Topology Changes.

Resolution: Recover the query component from a mirror database

  1. If this component is part of a mirror database, follow these steps to enumerate a list of query components, and — from that list — use the correct query component ID to restore the component by using the RequestRecover method.

  2. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  3. On the Start menu, click All Programs.

  4. Click Microsoft SharePoint 2010 Products.

  5. Click SharePoint 2010 Management Shell.

  6. At the Windows PowerShell command prompt, type the following command:

    Copy Code
    $app = Get-SPEnterpriseSearchServiceApplication "<Name>"

$qt = Get-SPEnterpriseSearchQueryTopology -SearchApplication $app -Active
$querycomponents = Get-SPEnterpriseSearchQueryComponent -QueryTopology $qt

foreach ($qc in $querycomponents) {"Name: " +  $qc.Name + "  Index Location: " + $qc.IndexLocation + "  ID: " + $qc.ID + "   State: " + $qc.State}

    Where:

    • <Name> is the name of the Search service application given in the event details.

    This command produces a list of query components. Find the identity ($qc.ID) of the query component that has the issue. Check the component's State value. You will use this identity in the next step.

  7. Using the identity that you found in step 6, use Windows PowerShell to restore the component.

    At the Windows PowerShell command prompt, type the following command:

    Copy Code
    $qc = Get-SPEnterpriSesearchQueryComponent -Identity "<ID>" -QueryTopology $qt

$qc.RequestRecover()

    Where:

    • <ID> is the identity of the query component that you obtained from the list in step 6.


Search indexer low disk space - Event 80 (SharePoint Server 2010)

Alert Name: Search indexer low disk space

Event ID: 80

Summary: As the crawler searches content to create an index, it creates index files to use for retrieving search results. As more items are indexed, the index files grow in size:

Symptoms: Microsoft SharePoint Server 2010 displays the following symptoms while the crawler searches content:

  • The crawl does not progress and appears to stall.

  • The crawl logs show no new crawled documents.

  • This event appears in the event log: Event ID: 80 Description: <data> Very low disk space was detected for catalog <data>. Please free up some disk space so that crawling can continue.

Cause: One or more of the following issues might be the cause:

  • If the error was reported against a crawl component, the storage location associated with the crawl component is running out of space. Remove unnecessary files and folders on that drive to gain more disk space.

  • The storage location associated with the index of the query component is running out of space.

    • If the error was reported against a query component, the search application likely has outgrown the storage capacity. In this case, move the index that is associated with the query component to a larger storage device.

    • If the search application index contains more than 10 million items per query component, add another query group to the application, on a new server.

Resolution: Reclaim disk space for a crawl component

  1. Use Disk Cleanup to delete temporary files on the drive where the index files are stored.

  2. After Disk Cleanup is complete, test the performance of the crawler. If the crawler is not searching content, delete unnecessary files and folders on the selected drive.

Resolution: Gain disk space by moving the query component index

  1. On the SharePoint Central Administration Web page, click General Application Settings and in the Search section, click Farm-wide Search Dashboard.

  2. In the Search Service Application section, select the search application that generated the event, and then click Modify Topology.

  3. On the Topology for Search Service Application page, click Query Component, and then click Edit Properties.

  4. In the Location of Index box, specify the new storage path for the query component index.

  5. Click OK, and then click Apply Topology Changes.

    Note:

    This operation could take several minutes or longer depending upon the size of the indexes.

  6. The topology will move the index to new storage path and delete the previous index

Resolution: Gain disk space by adding an another index partition on a new application server

  1. On the Central Administration page, click General Application Settings and in the Search section click Farm-wide Search Dashboard.

  2. In the Search Service Application section, from the drop-down list select the search application that generated the event, and then click Modify Topology.

  3. On the Topology for Search Service Application page, click New, and then click Index Partition and Query Component.

  4. In the Add query component dialog box, in the Query Server box, select the new application server and then click OK.

  5. Click Apply Topology Changes. The changes are processed for the search application.

  6. The topology splits the existing index partition into the new set of index partitions equally.


Search propagation communication error - Event 92 (SharePoint Server 2010)

Alert Name: Search propagation communication error

Event ID: 92

Summary: As the crawler searches content to create an index, it creates index files to use for retrieving search results. These files are created by the crawl component in its storage area, and then propagated to the appropriate query components.

Symptoms: When Microsoft SharePoint Server 2010 is crawling content, and the crawl component cannot propagate to the query server, SharePoint Server 2010 displays the following symptoms:

  • The crawl does not progress and appears to stall.

  • The crawl logs show no new crawled documents.

  • Users might not be able to view applications in their browsers, or the service may otherwise be unavailable

  • This event appears in the event log: Event ID: 92 Description: A Crawl Component for search application '<data>' could not communicate with the query server '<data>'.

Cause: One or more of the following might be the cause:

  • The crawl component might have stale, or expired, credentials.

  • Network issues might prevent the communication.

  • The query server might be unresponsive.

Resolution: Authorization failure

  • Make sure that search service credentials are up to date by rebooting the servers that had the problem.

Resolution: Correct Network connection issue

  • Verify the network connection between the server that hosts the crawl component and the query server. If the network connection is working, examine the query component on the query server and make sure that the share exists and is writable from the crawler.

Resolution: Create a new query component

  • If a file cannot be copied from the crawl component to the query server after rebooting servers, create a new query component in the same query group:

    1. On the SharePoint Central Administration Web site, click General Application Settings and in the Search section click Farm-wide Search Dashboard.

    2. On the Farm-wide Search Dashboard page, modify the search application that generated the event: Add a new query component in the same query group as the affected query component, and then remove the affected query component.

    3. In the topology, the index migrates from the affected query component to the new query component.


Search gatherer host unavailable - Event 114 (SharePoint Server 2010)

Alert Name: Search gatherer host unavailable

Event ID: 114

Summary: As part of a search crawl, the servers that contain the crawl components communicate with content servers to retrieve the items for the crawl. Network communication problems between crawl server and content server will inhibit this crawl.

Symptoms: When Microsoft SharePoint Server 2010 is crawling content from a specific content server and network communication problems exist, Microsoft SharePoint Server might display the following symptoms:

  • The crawl of the specific content server does not progress and appears to stall.

  • The crawl logs show no new crawled documents for the specific content server.

  • This event appears in the event log: Event ID: 114 Description: The server <data> is unavailable and could not be accessed. The server is probably disconnected from the network. Items from this server will be skipped by the crawl for the next 10 minutes <data>.

Cause: Network issues might be preventing the communication. Check that the content server is online and can connect to the crawl server.

Resolution: Check the status of the content server

  1. On the SharePoint Central Administration Home page, click Application Management.

  2. In the Service Applications section, click Mangage service applications.

  3. On the Manage Service Applications page, click Search Service Application.

  4. On the Search Administration page, in the System Status section, record the user account listed as the Default content access account.

  5. On the left menu, in the Crawling section, click Content Sources.

  6. On the Manage Content Sources page, click one of the content sources.

  7. On the Edit Content Source page, in the Start Address section, record the URL from the textbox.

  8. Open a Web browser as the user account you recorded in step 4 above and navigate to the URL you recorded in step 7 above. The page should load successfully.

  9. If the content server is online and serves content to the crawl account, there is likely a network connection issue. For information to determine and repair the problem, see How to Troubleshoot Basic TCP/IP Problems (http://go.microsoft.com/fwlink/p/?LinkId=157440).


Search administration component failed - Event 121 (SharePoint Server 2010)

Alert Name: Search administration component failed

Event ID: 121

Summary: A search administration component is created for each search service application. The search administration component modifies search application settings.

Symptoms: When the search service application is being modified and the administration component fails, one or more of the following symptoms might appear:

  • The action of modifying the search application setting is not completed.

  • This event appears in the event log: Event ID: 121 Description: The administration component for application '<data>' failed with exception '<data>' .

Cause: The search administration component is not correctly configured, or it cannot connect to the search application administration database.

Resolution: Verify that the search service application server can write to the database

  1. Verify that the user account that is performing this procedure is a member of the Farm Administrators group.

  2. From the search service application server, ping the database server to confirm that the servers can communicate over the network.

  3. On the Central Administration Home page, click Application Management.

  4. On the Application Management page, in the Service Applications section, click Manage service applications.

  5. On the Service Applications page, select the search service application.

  6. In the Edit Properties dialog box, note the Search Service Account name for the appropriate search service application.

  7. Connect to the database server that hosts the search administration database for the given search service application by using the Search Service Account and password. Ensure the account has read/write permissions for the database.

Resolution: Create a new search administration component

  1. If the problem persists, move the search administration component to a different server by using the Set-SPEnterpriseSearchAdministrationComponentWindows PowerShell cmdlet. For more information, see Set-SPEnterpriseSearchAdministrationComponent.


Search crawl component index path error - Events 2588 2589 (SharePoint Server 2010)

Alert Name: Search crawl component index path error

Event ID: 2588 2589

Summary: When each search crawl component is created, it creates a folder to use for storing index files that are used as part of the crawling process.

Symptoms: These events might appear in the event log:

  • Event ID: 2588 Description: The index location for component <data> for application <data> is invalid: <data>.

  • Event ID: 2589 Description: The index location for component <data> for application <data> is invalid: unauthorized access to <data>.

Cause: The location provided for the index did not exist, or the application did not have rights to create a folder for the index at the location.

Resolution: Verify that the service account has sufficient permissions to the index folder

  1. Verify that the user account that is performing this procedure is a member of the Farm Administrators group.

  2. On the Central Administration Home page, click Application Management.

  3. On the Application Management page, in the Service Applications section, click Manage service applications.

  4. On the Service Applications page, click the Search service application.

  5. On the Search Administration page, in the Search Application Topology section, click Modify.

  6. On the Manage Search Application Topology page, click the index partition query component, and then click Edit Properties.

  7. In the Edit Query Component dialog box, in the Location of Index, record the path for the index folder. Click Cancel.

  8. Navigate to that location and verify that the location exists.

  9. Verify that the service account that you recorded earlier in this procedure has Read and Write permissions on this folder.

Resolution: Refresh service credentials

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

    Perform the following steps on each server in the farm:

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell command prompt, type the following command:

    Copy Code
    Repair-SPManagedAccountDeployment

For more information, see Repair-SPManagedAccountDeployment.


Search Query and Site Settings Service is not running (SharePoint Server 2010)

Alert Name: Search Query and Site Settings Service is not running

Event ID: No event ID

Summary: The Search Query and Site Settings service is an Internet Information Services (IIS) service. By default, this service runs on each server that includes a search query component. The service manages the query processing tasks, which include sending queries to one or more of the appropriate query components and building the results set. At least one instance of the service must be running to serve queries.

Symptoms: All search queries fail.

Cause: The location provided for the index does not exist, or the application does not have rights to create a directory for the index at the location.

Resolution: Start the service on the server

  1. On the SharePoint Central Administration Home page, in the System Settings section, click Manage services on server.

  2. On the Services on Server page, next to Search Query and Site Settings Service, click Start if the service is not started.

Find servers that include query components

  1. On the SharePoint Central Administration Home page, under Application Management, click Manage service applications.

  2. On the Manage Service Applications page, click the name of the Search service application.

  3. On the Search Administration page, in the Search Application Topology section, under Index Partition, record the names of the servers that include query components.

Resolution: Start the service on servers that include query components

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On each server that includes a query component, on the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell command prompt, type the following command:

    Copy Code
    Get-SPEnterpriseSearchQueryAndSiteSettingsServiceInstance -Local | Start-SPEnterpriseSearchQueryAndSiteSettingsServiceInstance

    For more information, see Get-SPEnterpriseSearchQueryAndSiteSettingsServiceInstance.

Resolution: Verify that the service account has sufficient permissions to the index folder

  1. Verify that the user account that is performing this procedure is a member of the Farm Administrators group.

  2. On the Central Administration Home page, click Application Management.

  3. On the Application Management page, in the Service Applications section, click Manage service applications.

  4. On the Service Applications page, click the Search service application.

  5. On the Search Administration page, in the System Status section, record the name of the Default content access account.

  6. On the Search Administration page, in the Search Application Topology section, click Modify.

  7. On the Manage Search Application Topology page, click the index partition query component, and then click Edit Properties.

  8. In the Edit Query Component dialog box, in the Location of Index, record the path to the index folder. Click Cancel.

  9. Navigate to that location and verify that the location exists.

  10. Verify that the service account that you recorded in step 5 has read and write permissions on this folder.

Resolution: Refresh service credentials

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. Perform this procedure on each server in the farm.

  3. On the Start menu, click All Programs.

  4. Click Microsoft SharePoint 2010 Products.

  5. Click SharePoint 2010 Management Shell.

  6. At the Windows PowerShell command prompt, type the following command:

    Copy Code
    Repair-SPManagedAccountDeployment

For more information, see Repair-SPManagedAccountDeployment.


SharePoint Server 2010 search is not running (SharePoint Server 2010)

Alert Name: SPServiceInstance search server is not running

Event ID:

Summary: The Microsoft Search Server 2010 service (OSearch) is a Windows NT service that runs on each server that hosts a search service application.

Symptoms: One or more of the following symptoms might appear:

  • Microsoft Search Server 2010 service (OSearch) is stopped.

  • You are unable to perform tasks when you attempt to use the crawl, query, or administration search functionality. The task that fails depends on the topology and on which server has the stopped service.

Cause: The Microsoft Search Server 2010 service (OSearch) is not running.

Resolution: Start the service on the server

  • You can restart the Microsoft Search Server 2010 service (OSearch) on a specific server by opening a Command Prompt window and enter the following command at an elevated command prompt:

    net start osearch14


Word Services in SharePoint Server 2010 knowledge articles

Published: July 22, 2010

The articles in this section are knowledge articles for Word Services in Microsoft SharePoint Server 2010. Typically, you would see these articles after clicking a link in an alert in the Operations Manager console. You can use these articles to help you troubleshoot and resolve problems in Word Services.

In this section:

  • Word Automation Service - SQL Server exception event - Event 1001 (SharePoint Server 2010)

  • Word Services timer job failed - Events 1002 8077 (SharePoint Server 2010)

  • Word services - PDF file converter failing - Event 8004 (SharePoint Server 2010)

  • Word services - XPS file converter failing - Event 8005 (SharePoint Server 2010)

  • Word services must be updated - Event 8010 (SharePoint Server 2010)

  • Word services - language pack not installed - Event 8012 (SharePoint Server 2010)


Word Services timer job failed - Events 1002 8077 (SharePoint Server 2010)

Published: July 22, 2010

Alert Name: Word Automation Service timer job failed

Event ID: 1002 and 8077

Summary: Word Automation Services uses a custom timer job to pull items to be converted from the Word Automation Services database and then assign those items to be converted to individual application servers. If the custom timer job does not run, items to be converted cannot begin to be converted.

Symptoms: If the Word Automation Services timer job is not running, Word Automation Services will fail and one or more of the following symptoms might appear:

  • New jobs are successfully added to the database, but the items to be converted for that job never start.

  • Existing jobs do not finish: Any items to be converted that are already assigned to application servers may still succeed, but items to be converted that are not assigned to application servers do not start, leaving the job perpetually incomplete.

  • This event appears in the event log: Event ID: 1002 Description: Conversion jobs may not execute because the timer job '%1' for service application '%2' does not appear to be active.

  • This event appears in the event log: Event ID: 8077 Description: SharedServices_NoOnlineServiceInstancesInLocalFarm with "Word Automation Services Timer Job" indicated as the instance not started.

Cause: One or more of the following might be the cause:

  • An administrator has disabled the Word Automation Services timer job.

  • There was an error in provisioning the Word Automation Services timer job.

Resolution: Verify that the Word Automation Services timer job is enabled in SharePoint Central Administration

  • For the steps to perform this task, see Word Automation Services Troubleshooting (SharePoint Server 2010).

Resolution: Verify that the Word Automation Services timer job was provisioned successfully

  • For the steps to perform this task, see Word Automation Services Troubleshooting (SharePoint Server 2010).


Word services - PDF file converter failing - Event 8004 (SharePoint Server 2010)

Published: July 22, 2010

Alert Name: Word services - PDF file converter failing

Event ID: 8004

Summary: Word Automation Services includes a default converter for converting files to the PDF file format. In addition to this default converter, third-party converters can be used with Word Automation Services. When third-party converters cause file conversions to fail, Word Automation Services raises this event. Files cannot be successfully converted to PDF until the converter is made functional or until it is removed.

Symptoms: If the Word Automation Services third-party PDF converter is not working correctly, PDF conversion will fail and one or more of the following symptoms might appear:

  • Conversions to PDF fail with this message ID: 131183

  • This event appears in the event log: Event ID: 8004 Description: The PDF converter '[file path & name]' failed during file conversion.

Cause: One or more of the following might be the cause:

  • The third-party converter is out of date.

  • The third-party converter is corrupted.

  • The third-party converter is otherwise non-functional.

Resolution: Verify that the latest version of the converter is installed

  • Ensure that the latest third-party converter is installed.

  • Try to reinstall the third-party converter.

  • If this does not work, uninstall the third-party converter. This will cause Word Automation Services to use its default PDF converter.

Resolution: Update Word Automation Services

  • For the steps to perform this task, see Word Automation Services Troubleshooting (SharePoint Server 2010).


Word services - XPS file converter failing - Event 8005 (SharePoint Server 2010)

Published: July 22, 2010

Alert Name: Word services - XPS file converter failing

Event ID: 8005

Summary: Word Automation Services includes a default converter for converting files to the XPS file format. In addition to this default converter, third-party converters can be used with Word Automation Services. When third-party converters cause file conversions to fail, Word Automation Services raises this event. Files cannot be successfully converted to XPS until the converter is made functional or until it is removed.

Symptoms: If the Word Automation Services third-party XPS converter is not working correctly, XPS conversion will fail and one or more of the following symptoms might appear:

  • Conversions to XPS fail with this message ID: 131184

  • This event appears in the event log: Event ID: 8005 Description: The XPS converter '[file path & name]' failed during file conversion.

Cause: One or more of the following might be the cause:

  • The third-party converter is out of date.

  • The third-party converter is corrupted.

  • The third-party converter is otherwise non-functional.

Resolution: Verify that the latest version of the converter is installed

  • Ensure that the latest version of the third-party converter is installed.

  • Try to reinstall the third-party converter.

  • If this does not work, uninstall the third-party converter. This will cause Word Automation Services to use its default XPS converter.

Resolution: Update Word Automation Services

  • For the steps to perform this task, see Word Automation Services Troubleshooting (SharePoint Server 2010).


Word services must be updated - Event 8010 (SharePoint Server 2010)

Published: July 22, 2010

Alert Name: Word services must be updated

Event ID: 8010

Summary: Periodically, Microsoft releases updates for Word Automation Services. These updates help ensure that Word Automation Services can convert newly created files with the best possible quality.

Symptoms: Conversions may fail, but it is more likely that output files will only have some fidelity loss for some features.

Cause: A file submitted for conversion was created with a newer version of Microsoft Word than the current Word Automation Services converter.

Resolution: Update Word Automation Services

  • For the steps to perform this task, see Word Automation Services Troubleshooting (SharePoint Server 2010).


Word services - language pack not installed - Event 8012 (SharePoint Server 2010)

Published: July 22, 2010

Alert Name: Word services - language pack not installed

Event ID: 8012

Summary: Word Automation Services requires that the appropriate language packs be installed on all application servers on which Word Automation Services runs. If the correct language packs are not installed, documents created in the corresponding languages cannot be converted.

Symptoms: This event appears in the event log: Event ID: 8012 Description: One or more localized components could not be loaded for the specified language. Please check that the required language pack is installed and properly configured.

Cause: A file submitted for conversion requires a language pack that is not currently installed on the server that is processing the conversion.

Resolution: Install the language pack

  • Install the correct language pack on all application servers that run Word Automation Services.

  • For the steps to perform this task, see Word Automation Services Troubleshooting (SharePoint Server 2010).


Visio Services in SharePoint Server 2010 knowledge articles
See Also

Read troubleshooting information about error alerts in Visio Services: symptoms, causes, and possible resolutions.

The articles in this section are knowledge articles for Visio Services in Microsoft SharePoint Server 2010. Typically, you would see these articles after clicking a link in an alert in the Operations Manager console. You can use these articles to help you troubleshoot and resolve problems in Visio Services.

In this section:

  • Visio Services data refresh failed - Events 8037 8038 8063 8062 (SharePoint Server 2010)

  • Visio configuration database not found - Event 8040 (SharePoint Server 2010)

  • Visio Services untrusted data provider request - Event 8041 (SharePoint Server 2010)

  • Visio Services failed to generate diagram - Events 8042 8043 8060 (SharePoint Server 2010)

  • Visio proxy initialization failed - Event 8044 (SharePoint Server 2010)

  • Visio application proxy has invalid endpoint - Event 8049 (SharePoint Server 2010)

  • Visio Services data provider not found - Event 8050 (SharePoint Server 2010)

  • Visio Services file loading error - Events 8051 8061 (SharePoint Server 2010)

See Also

Concepts

Configure Visio Services for a BI test environment


Visio Services data refresh failed - Events 8037 8038 8063 8062 (SharePoint Server 2010)

Alert Name: Visio Services data refresh failed

Event ID: 8037, 8038, 8062, and 8063

Summary: Users can connect published Microsoft Visio diagrams to external data sources, such as Excel Services in Microsoft SharePoint Server 2010. This error might occur because the schema of the data in a file changes in such a way that the expected primary key is invalid.

Symptoms: One or more of the following symptoms might appear:

  • This event appears in the event log: Event ID: 8037 Description: Invalid data type found in Published File cache for file <FileName> Exception : <ExceptionCode>.

  • This event appears in the event log: Event ID: 8038 Description: Invalid data type found in Rendered File cache for file <FileName> Exception : <ExceptionCode>.

  • This event appears in the event log: Event ID: 8063 Description: Invalid data type found in ODC cache for file %1.

  • This event appears in the event log: Event ID: 8062 Description: Primary key column deleted.

Cause: One or more of the following might be the cause:

  • A user might connect to an external data source, such as an Microsoft Excel workbook that no longer exists or is inaccessible.

  • A user might connect to an external data source whose primary key column is changed, and Visio Services in Microsoft SharePoint Server 2010 cannot update the external data in the Visio diagram.

  • A user might connect to a data source that is not a valid data provider type.


Visio configuration database not found - Event 8040 (SharePoint Server 2010)

Alert Name: Visio configuration database not found

Event ID: 8040

Summary: Visio Services in Microsoft SharePoint Server 2010 stores its application settings in the configuration-a12-n database. Access to this database is critical for the service to function.

Symptoms: One or more of the following symptoms might appear:

  • Visio Services might fail to render diagrams.

  • This event appears in the event log: Event ID: 8040 Description: Can't find configuration manager.

Cause: One or more of the following might be the cause:

  • The configuration database is inaccessible.

  • The configuration database is responding slowly due to heavy network activity or load on the Microsoft SQL Server computer.

Resolution: Verify the status of the SQL Server configuration database

  1. On the SharePoint Central Administration Web site, in the System Settings section in the reading pane, click Manage Servers in this farm.

  2. In the Farm Information section, note the Configuration database server and the name and the version of the configuration database.

  3. Start SQL Server Management Studio and connect to the configuration database server.

  4. If the configuration database does not exist, run the SharePoint Products and Technologies Configuration Wizard.

Resolution: Verify the SQL Server network connection

  1. On the Central Administration page, in the System Settings section in the reading pane, click Manage Servers in this farm.

  2. In the Farm Information section, note the Configuration database server and the name and the version of the configuration database information.

  3. Open a Command Prompt window and type ping <serverAddress> to confirm the server connection.

  4. Failure to contact the server indicates a problem with the network connection or another problem that prevents a response from the server.

  5. Log on to the server computer and troubleshoot the issue.


Visio Services untrusted data provider request - Event 8041 (SharePoint Server 2010)

Alert Name: Visio Services untrusted data provider request

Event ID: 8041

Summary: An error occurred because Visio Services in Microsoft SharePoint Server 2010 requested data from a data provider that was not in the list of trusted providers. Administrators can specify the data sources to which users can connect in their published Microsoft Visio diagrams.

Symptoms: One or more of the following symptoms might appear:

  • A diagram or diagrams might not refresh data.

  • This event appears in the event log: Event ID: 8041 Description: Trusted data provider error. <error name>.

Cause: A user might have linked to a data provider in a user's published Visio diagram that was not specified as a trusted data provider by the service administrator.


Visio Services failed to generate diagram - Events 8042 8043 8060 (SharePoint Server 2010)

Alert Name: Visio Services failed to generate diagram

Event ID: 8060, 8042, 8043

Summary: An error occurred that caused Visio Services in Microsoft SharePoint Server 2010 to fail to generate a diagram. This rule is triggered when the service does not generate a diagram, and can be triggered together with any of the other rules for Visio Services. If the rule is triggered alone without a corresponding rule, an unknown error occurred that caused the service to fail to generate a diagram.

Symptoms: One or more of the following symptoms might appear:

  • This event appears in the event log: Event ID: 8060 Description: Rasterization failed.

  • This event appears in the event log: Event ID: 8042 Description: Failed to generate Raster diagram for file <file name>.

  • This event appears in the event log: Event ID: 8043 Description: Failed to generate Vector diagram for file <file name>. Some diagram or diagrams may not render.

Cause: One or more of the following might be the cause:

  • If this rule is triggered together with another rule, the diagram might fail to render due to the causes specified in the corresponding rule that is triggered.

  • If only this rule is triggered, Visio Services in SharePoint might have failed to generate a diagram for an unknown reason.

  • Visio Services might be configured incorrectly.


Visio proxy initialization failed - Event 8044 (SharePoint Server 2010)

Alert Name: Visio proxy initialization failed

Event ID: 8044

Summary: Visio Services in Microsoft SharePoint Server 2010 application and its corresponding Web Parts use a proxy to connect to the back-end service. For the service to function, you must configure this proxy correctly.

Symptoms: One or more of the following symptoms might appear:

  • Visio Services might fail to render diagrams.

  • This event appears in the event log: Event ID: 8044 Description: Unable to initialize Visio service proxy.

Cause: One or more of the following might be the cause:

  • The service application proxy for the Visio Services in SharePoint application is not running or has not been provisioned.

  • The service application proxy for the Visio Services application is not configured correctly.

Resolution: Verify the Visio Services application proxy

  1. On the SharePoint Central Administration Web site, on the Quick Launch click Application Management, and in the Service Applications section, click Manage service applications.

  2. Note the name of the Visio Services application. In the Type column, Visio Graphics Service Application appears for Visio Services applications.

  3. Verify that a service application proxy is associated with each Visio Services application. In the Type column Visio Graphics Service Application Proxy appears for Visio Services application proxies.

If no service application proxy corresponds to the Visio Services application that fails, create a new one by using Windows PowerShell 2.0.

Resolution: Create a new service application proxy

  1. On the computer, click Start, click All Programs, click Microsoft SharePoint 2010 Products, and then click SharePoint Management Shell.

  2. Create a new Visio Services application proxy by entering the Windows PowerShell cmdlet New-SPVisioServiceApplicationProxy at the command prompt in the SharePoint Management Shell. For more information about the syntax of this cmdlet, type Get-Help New-SPVisioServiceApplicationProxy.

If there is a service application proxy for the failing service application, create a new service application.

Resolution: Create a new service application

  1. On the Central Administration page, on the Quick Launch, click Application Management, and then click Manage service applications.

  2. In the Name column, select the Visio Services application proxy that is failing, and then on the Ribbon click the Delete option.

  3. Select the parent Visio Services application of the application proxy that you deleted, and then on the Ribbon click the Delete option.

  4. Create a new Visio Services application. On the Service Applications tab of the Ribbon, click New, and then click Visio Graphics Service. Make sure that the Create Service Application Proxy check box is selected.

  5. In a Command Prompt window, type the command ping <serverAddress> to confirm the server connection.


Visio application proxy has invalid endpoint - Event 8049 (SharePoint Server 2010)

Alert Name: Visio application proxy has invalid endpoint

Event ID: 8049

Summary: The application for Visio Services in Microsoft SharePoint Server 2010 uses a proxy to abstract communication between the front-end service and back-end service. This proxy also provides a load-balancing mechanism between servers. For Visio Services to function, the front-end service must be connected to the application server that is returned by the application proxy.

Symptoms: One or more of the following symptoms might appear:

  • Visio Services in SharePoint might fail to render diagrams.

  • This event appears in the event log: Event ID: 8049 Description: Application proxy invalid endpoint for <descriptive text>.

Cause: One or more of the following might be the cause:

  • The specified SharePoint Server application server is inaccessible.

  • The specified application server is responding slowly due to heavy network activity or load on the specific server.

Resolution: Check the error logs

  1. Open the Windows Event Viewer.

  2. Search for event ID 8049 in the Windows Application Event log.

  3. In the event description, note the application server that is failing.

Resolution: Verify the application server connection

  1. From the failing application server, open the SharePoint Central Administration Web site.

  2. If you cannot access the Central Administration site from the failing server, check that the network settings are correct and that the server has appropriate permissions to join the SharePoint farm.

Resolution: Verify that Visio Services runs on the failing server

  1. On the Central Administration page, in the reading pane, in the System Settings section, click Manage servers in this farm.

  2. Verify that Visio Services runs on the failing application server.

If there is a service application proxy for the failing service application, create a new service application.

Resolution: Restart Visio Services

  1. On the Central Administration page, in the reading pane, in the System Settings section, click Manage servers in this farm.

  2. In the Server column, click the name of the failing application server. The Services on Server page opens.

  3. In the Service column, locate Visio Graphics Service, click Stop, and then click Start.

Resolution: Create a new Visio Services application

  1. On the Central Administration page, in the reading pane, in the Application Management section, click Manage service applications.

  2. In the Type column, click the name of the Visio Services application that has the failing service instance.

  3. On the ribbon, click Delete.

  4. In the Delete Service Application dialog box, click OK.

  5. Create a new Visio Services application.


Visio Services data provider not found - Event 8050 (SharePoint Server 2010)

Alert Name: Visio Services data provider not found

Event ID: 8050

Summary: Users can connect published Microsoft Visio diagrams to external data sources, such as Excel Services in Microsoft SharePoint Server 2010.

Symptoms: One or more of the following symptoms might appear:

  • A diagram or diagrams might not refresh data.

  • This event appears in the event log: Event ID: 8050 Description: Data provider connection failed with connection string <descriptive text>.

Cause: Visio Services in Microsoft SharePoint Server 2010 cannot connect to a data provider that was referenced by a user in a Visio diagram.


Visio Services file loading error - Events 8051 8061 (SharePoint Server 2010)

Alert Name: Visio Services file loading error

Event ID: 8061, 8051

Summary: Users can upload published Microsoft Visio diagrams to a document library, and some users can embed Visio diagrams in a page by using the Visio Web Access Web Part. This error might occur because a requested file is not found, or the service is unable to parse the requested file.

Symptoms: One or more of the following symptoms might appear:

  • A file or files might not load.

  • This event appears in the event log: Event ID: 8061 Description: File not found at this location: <file location>.

  • This event appears in the event log: Event ID: 8051 Description: Unable to parse file at location: <file location>.

Cause: One or more of the following might be the cause:

  • A user might try to load a page that contains a Web Part that references a file that no longer exists or is invalid.

  • A user might try to view a Visio diagram that is corrupted.

  • A user might try to view an invalid Visio diagram.


User Profile Synchronization Configuration Service cannot connect to SQL Server - Event 4 (SharePoint Server 2010)

Alert Name: User Profile Synchronization Configuration Windows Service cannot connect to SQL Server

Event ID: 4

Summary: The User Profile Synchronization service cannot connect to the instance of SQL Server. If the service cannot connect to the instance of SQL Server, user profile synchronization will fail to function.

Symptoms: This event appears in the event log: Event ID: 4 Description: The Forefront Identity Manager Service cannot connect to the SQL Database Server. The SQL Server could not be contacted. The connection failure may be due to a network failure, firewall misconfiguration, or other connection issue. Additionally, the SQL Server connection information could be configured incorrectly. Verify that the SQL Server is reachable from the Forefront Identity Manager Service computer. Ensure that SQL Server is running, that the network connection is active, and that the firewall is configured properly. Last, verify the connection information has been configured properly. This configuration is stored in the Windows Registry.

Cause: The database for the instance of SQL Server is not accessible from the User Profile Synchronization Configuration Service, because of network connectivity issues or a wrong or changed password in the instance of SQL Server.

Resolution: Verify that the database server is running and available

  1. On the database server, in the Services snap-in, verify that the SQL Server (MSSQLSERVER) service is running.

Resolution: Verify connectivity between the database server and the farm

  1. Log on to Microsoft SQL Server Management Studio as the account provided in the error details, click Connect, and then click Database Engine.

  2. Type the server name provided in the error details, and then click Connect.

Resolution: Verify the User Profile Synchronization service credentials

  1. On the Central Administration Home page, click Application Management, and in the Service Applications section, click Manage service applications.

  2. On the Service Applications page, click the User Profile service application.

  3. On the User Profile Service page, in the Synchronization section, click Configure Synchronization Connections.

  4. Right click the connection, and then click Edit Connection.

  5. Verify that the credentials and rights containers are provided in the connection. Verify that the credentials have sufficient permissions to read and write data in the directory, and also ensure that the User Profile Synchronization service is targeting the correct organizational units in the directory. Verify that the credentials have the db_owner fixed database role in the databases on the database server.

Resolution: Verify the database access credentials

  1. On the Central Administration Home page, click Security, and then click Service Applications.

  2. On the Security page, in the General Security section, click Configure service accounts.

  3. On the Service Accounts page, in the service account drop-down list, click Farm Account.

  4. Verify that this account has sufficient permissions on the database server.


ULS not enough storage for log directory - Event 2150 (SharePoint 2010 Products)

Alert Name: ULS not enough storage for log directory

Event ID: 2150

Summary: The Microsoft SharePoint Foundation Tracing (SPTracev4) service is used by Microsoft SharePoint Foundation 2010 to manage usage log output. When usage logging is turned on, administrators can specify the path that is used to store the usage logs. This log file is used by many applications that are built on top of SharePoint Foundation 2010. This event occurs when not enough free space is available for logging.

Symptoms: One or more of the following symptoms might appear:

  • The usage log shows no new usage data.

  • This event appears in the event log: Event ID: 2150 Description: Failed to create a usage log file at <Log Location>. There must be at least <# of GBs needed to resume logging> GB of free space if the usage logs are on System Drive.

Cause: The configured log location does not have enough free disk space for logging.

Resolution: Free up disk space or relocate the usage log

  • SharePoint Foundation 2010 could not write to the usage log. This usage log contains information that is helpful for usage tracking and reporting.

    To free up disk space:

    1. Use Disk Cleanup to free up disk space where the usage log files are stored.

    2. Verify whether the trace log has enough disk space to run properly.

    3. If disk space is inadequate, try to clean the Temp folders on the drive.

    4. If this procedure does not solve the problem, you can relocate the usage log file to a partition that has more drive space.

    To relocate the log file:

    1. On the SharePoint Central Administration Web site, on the Quick Launch, click Monitoring and in the Reporting section click Usage Logging.

    2. On the Usage Logging page, in the Logging Settings section, type the new location for the usage log file.

    3. Click OK.

    To check the usage log file:

    1. To verify that Microsoft SharePoint Foundation 2010 can create and write to the usage log file, on the Central Administration page click Monitoring, and in the Reporting section click Usage Logging.

    2. On the Usage Logging page, in the Logging Settings section, copy the path of the usage log file.

    3. In Windows Explorer, navigate to the usage log file by using the copied path. Usage log files are in binary format and the contents cannot be easily viewed and understood. The file size of the usage log increases over time and confirms that usage logging is working.


Event log flooding - Events 2158 2159 (SharePoint 2010 Products)

Alert Name: Event log flooding

Event ID: 2158 or 2159

Summary: Event log flood protection prevents repeated events from being logged to the Windows event log. When an event is logged several times in a short period, flood protection prevents future events of the same type from being logged.

Symptoms: This event appears in the event log: Event ID: 2158 or 2159 Description: Event [Event ID] ([Event Provider Name]) of severity [Event Severity] occurred [Number of occurrences] more time(s) and was suppressed in the event log.

Cause: The same event is being logged repeatedly, triggering event log flood protection. You can identify which event is being logged repeatedly in the Event Description text of Event ID 2158 or 2159.


SQL Server database login failed - Event 3351 (SharePoint 2010 Products)

Alert Name: SQL Server database login failed

Event ID: 3351

Summary: Microsoft SharePoint Foundation uses Microsoft SQL Server 2008 databases to store most of the content for SharePoint Foundation Web sites and configuration settings, and uses a service account to communicate with the database on behalf of a user request. Note that a Web application might be associated with one or many databases. This error — SQL Server database login failed — means that SharePoint Foundation cannot log on to SQL Server 2008 by using the specified service account user name and password.

Symptoms: The following symptom might appear:

  • This event appears in the event log: Event ID: 3351 Description: SQL database login failed. Additional error information from SQL Server is included below.

Cause: The user name or password for the Microsoft SharePoint Foundation service account was invalid before the session or became invalid during the session.

Note:

You must be a member of the Farm Administrators SharePoint group to perform the following procedures.

Resolution: Grant correct permissions to the database access account

  • To resolve this issue, assign the database access account and then verify that the account has correct permission in SQL Server.

    To assign the database access account:

    1. On the Central Administration Web page, on the Quick Launch, click Security, and in the General Security section click Configure service accounts.

    2. In the Credential Management section, in the upper drop-down list click the correct Web application pool for your Web application.

    3. In the Select an account for this component drop-down list, click the domain account with which you want to associate this Web application pool, or click Register new managed account to associate a new domain account with this application pool.

    4. Click OK to save changes.

    To verify that the account has correct permissions in SQL Server:

    1. Connect to the computer that is running SQL Server by using an account with Administrator permissions.

    2. In SQL Server Management Studio, in the Object Explorer navigation pane, expand the Security node, and then click the Logins node. The name of the database access account indicates that it is a SQL login.

    3. If the account exists, in the Object Explorer navigation pane, expand the Databases node, expand the configuration database node (for example, WSS_Config), expand the Security node, and then click Roles.

    4. Expand the Database Roles node, right-click db_owner, and select Properties.

    5. In the Database Roles Properties dialog box, check whether the database access account is in the Members of this role list. If the account is not listed, click Add.

    To verify that any database issues have been resolved:

    1. In the SharePoint Management Shell, run the Windows PowerShell command Get-SPSite | Format-Table -Property ID,WebApplication,ContentDatabase to obtain a list of the sites for each Web application to list all sites in the various databases, and locate one site in each database.

    2. Browse to the site.


Backup failed due to insufficient permissions - Event 3353 (SharePoint 2010 Products)
See Also

Alert Name: Backup failed due to insufficient permissions

Event ID: 3353

Summary: This error occurs when the account that is performing the backup does not have sufficient permissions to write to the backup folder.

When you back up a Web application, you back up the content databases and settings for the Web application, including all sites in the site collections, files in document libraries, files attached to lists, security and permission settings, and feature settings. The backup process creates files that contain all of this data.

Similarly, when you back up a site collection, site, or list, the contents of those structures will be written to files or packages, and the restore or import process will use these files to recover the objects.

Symptoms: This event might appear in the event log: Event ID: 3353 Description: Unable to write to the backup folder.

Cause: One or more of the following might be the cause:

  1. The SQL Server service account does not have Full Control access to the backup folder.

  2. The SharePoint Timer Service account does not have Full Control access to the backup folder.

  3. If the backup or restore was performed by using Windows PowerShell, the user who performed the backup operation did not have Full Control access to the backup folder.

Resolution: Verify permissions

  • Ensure that the following are given the Full Control file share and NTFS permissions for the backup shared folder:

    • The account used by the SQL Server service account.

    • The Windows SharePoint Services Timer V4 (SPTimerV4) account.

    • The logged on account, if you are using Windows PowerShell to perform the backup or restore.

    • If the backup folder is a network share, ensure that all accounts that are listed above have access to both the share and the folder itself.

    • If you are performing a backup or restore operation between two SharePoint farms, services on both farms must have the permissions described above.

  • For more information, see Configuring permissions for backup and recovery (SharePoint Foundation 2010).

See Also

Other Resources

View diagnostic logs (SharePoint Foundation 2010)


Cannot connect to SQL Server - Event 3355 (SharePoint 2010 Products)

Alert Name: Cannot connect to SQL Server

Event ID: 3355

Summary: Microsoft SharePoint Foundation 2010 uses Microsoft SQL Server 2008 databases to store configuration settings and most of the content for the Microsoft SharePoint Foundation Web site. For example, all pages in the site, files in document libraries, files attached to lists, and information in lists are stored in the content database, and security and permission settings along with other configuration settings are stored in the configuration database in SQL Server.

SharePoint Foundation 2010 uses a service account to communicate with the database on behalf of a user request. This service account can be either a specific user name or password (domain name and password), or a predefined system account, such as Local System or Network Service. When a SQL Server database is created, a value for the maximum database size is set. Each database has a separate database size setting. Note that a Web application might be associated with one or many databases.

This error indicates that Microsoft SharePoint Foundation could not connect to the SQL Server database.

Symptoms: One or more of the following symptoms might appear:

  • Attempts to communicate with SQL Server fail and no content from databases hosted on the SQL Server can be accessed.

  • This event appears in the event log: Event ID: 3355 Cannot connect to SQL Server. <Server Name> not found. Additional error information from SQL Server is included below.

Cause: One or more of the following might be the cause:

  1. The SQL Server might be offline.

  2. The SharePoint Foundation database access account might not have the necessary permissions to communicate with the SQL Server.

  3. A firewall that runs on either the local server or on SQL Server might be blocking network communications.

Resolution: Grant correct permissions to the database access account

  • You must be a member of the Farm Administrators group to perform this task.

    Assign the database access account:

    1. On the Central Administration home page, click Security and in the General Security section click Configure service accounts.

    2. On the Service Accounts page, in the Credential Management section, in the upper drop-down list click the correct Web application pool for your Web application.

    3. In the Select an account for this component drop-down list, click the domain account that you want to associate with this Web application pool, or click Register new managed account to associate a new domain account with this application pool.

    4. Click OK to save changes.

    Verify that the account has correct permissions in SQL Server:

    1. Connect to the computer that runs SQL Server by using an account that has Administrator permissions.

    2. In SQL Server Management Studio, Object Explorer navigation pane, expand the Security node, and then expand the Logins node. The name of the database access account indicates that it is a SQL login.

    3. If the account exists, in the Object Explorer navigation pane, expand the Databases node, expand the configuration database node, expand the Security, and then click Roles.

    4. Expand the Database Roles node, right-click db_owner role and select Properties.

    5. In the Database Role Properties dialog box, check whether the database access account is in the Members of this role list. If the account is not listed, click Add.

    Verify that any database issues are resolved:

    1. In the SharePoint Management Shell, run the Windows PowerShell command Get-SPSite | Format-Table -Property ID,WebApplication,ContentDatabase to obtain a list of the sites for each Web application to list all sites in the various databases, and locate one site in each database.

    2. Browse to that site, and ensure that the appropriate page rendered. An Access Denied page with an option to request access, or the option to log on as a different user, indicates that the operation completed successfully.

    3. On the Central Administration page, on the Quick Launch, click Application Management and in the Site Collections section click Specify quota templates.

    4. On the Quota Templates page, create a new quota template. The specific settings are not relevant to this verification test. You are creating the template to verify that it can be accessed in step 7.

    5. Click OK to save the quota template.

    6. Refresh the browser window, and then return to the Quota Templates page. If the quota template that you created can be selected, access to the SQL Server 2008 configuration database in Microsoft SharePoint Foundation is restored.

    7. Click Delete to delete the quota template.


The application pool account cannot add user accounts to Active Directory - Event 3359 (SharePoint 2010 Products)

Alert Name: The application pool account cannot add user accounts to Active Directory

Event ID: 3359

Summary: The Internet Information Services (IIS) application pool creates identities based on Active Directory users, and associates these identities by using a set of permissions. This lets users in an Active Directory organizational unit (OU) inherit those permissions.

Symptoms: One or more of the following symptoms might appear:

  • Account creation mode does not work correctly, which prevents user data from being added or read.

  • User accounts are not automatically created in Active Directory.

  • The event appears in the event log: Event ID: 3359 Description: The application pool account has insufficient permissions to add user accounts to Active Directory.

Cause: The account that is used by the application pool does not have the appropriate level of permissions that are required to add new user accounts to Active Directory.

Resolution : Determine the OU in which the application pool account creates new user accounts

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell command prompt, type the following:

    Copy Code
    $wa=Get-SPWebApplication
$wa.Parent.CreateActiveDirectoryAccounts
$wa.Parent.ActiveDirectoryDomain
$wa.Parent.ActiveDirectoryOrganizationalUnit
Note:

We recommend that you use Windows PowerShell when performing command-line administrative tasks. The Stsadm command-line tool has been deprecated, but is included to support compatibility with previous product versions.

Resolution: Add the correct permissions to the OU

  1. On a server that has the Active Directory tools installed, open the Active Directory Users and Computers snap-in as a user who has sufficient domain permissions, such as domain administrator. To open Active Directory Users and Computers, click Start, click Run, and then type dsa.msc.

  2. In the console tree, right-click the OU for which you want to delegate control.

  3. Click Delegate Control to start the Delegation of Control Wizard, and then follow the instructions in the wizard.

  4. In the Welcome pane, click Next.

  5. In the Users and Groups pane, click Add.

  6. In the Enter the object names to select box, type the user name that you plan to use for the administration application pool identity, and then click OK.

  7. Click Next.

  8. In the Tasks to Delegate pane, select the Create, delete, and manage user accounts and Read all user information check boxes, and then click Next.

  9. Click Finish.


Active Directory organization unit unregistered - Event 3360 (SharePoint 2010 Products)

Alert Name: Active Directory organization unit (OU) unregistered

Event ID: 3360

Summary: This error indicates that the Active Directory organizational unit (OU) that was created for account creation mode does not exist.

Symptoms: One or more of the following symptoms might appear:

  • Account creation mode does not work correctly, which prevents user data from being added or read.

  • This event appears in the event log: Event ID: 3360 Description: The Active Directory organization unit <OU Name> registered in Windows SharePoint Services 4.0 does not exist.

Cause: This can occur due to an error during provisioning or a run-time error that either caused the OU specified during farm configuration to not be created, or caused it to be renamed or deleted. Until this OU is created and registered, you cannot create a new site collection or add additional users.

Resolution: Add the OU to Active Directory

  • You must be logged on as a domain administrator to perform this procedure.

  • Click Start, click Run, and then type dsa.msc.

  • Expand the Domains node.

  • Right-click the domain, click New, and then click Organizational Unit.

  • Type the OU name from event 7037 in the <insert OU here> box.

  • Right-click the OU, and then click Delegate Control.

  • Add the application pool account for the Web application that is being used for account creation.

  • Click Create, delete, and manage accounts.

  • Click Next.

  • Click Finish.


SQL Server database is full - Event 3758 (SharePoint 2010 Products)

Alert Name: SQL Server database is full

Event ID: 3758

Summary: Microsoft SharePoint Foundation uses Microsoft SQL Server 2008 databases to store most of the content for SharePoint Foundation Web site and configuration settings, and uses a service account to communicate with the database on behalf of a user request. When a SQL Server database is created, a value for the maximum database size is set. Each database has a separate database size setting. Note that a Web application might be associated with one or many databases. This error indicates that the database has reached the size of its maximum size setting.

Symptoms: The following symptom might appear:

  • Users cannot add or update any content in SharePoint Foundation.

  • Administrators cannot update any SharePoint Foundation settings.

  • This event appears in the event log: Event ID: 3758 Description: Database full error on SQL Server instance <instance name> in database <database name>. Additional error information from SQL Server is included below. <SQL error message>

Cause: The database has reached its maximum size.

Note:

You must be a member of the Farm Administrators SharePoint group to perform the following tasks.

Resolution: Increase the size of the SQL Server database

  • SharePoint Foundation cannot write to a database that has reached its maximum size. Increase the maximum size setting for the full database that is named in the event message.

    To increase the database size:

    1. In SQL Server Management Studio, in the Object Explorer navigation pane, expand the server node, and then expand the Databases node.

    2. Right-click the database you want, and then click Properties. The database name is provided in the event message.

    3. In the Database Properties dialog box, in the navigation pane, click Files.

    4. In the Database files section, in the Autogrowth column, click the ellipsis for the database file.

    5. In the Change Autogrowth dialog box, in the Maximum File Size section, if the Restricted File Growth option is selected, increase the maximum file size in the box to the right. You can also configure the database to grow without restrictions by selecting the Unrestricted File Growth option.

    6. Click OK to save changes.

    To verify that database issues are resolved:

    1. In the SharePoint Management Shell, run the Windows PowerShell command Get-SPSite | Format-Table -Property ID,WebApplication,ContentDatabase to obtain a list of the sites for each Web application to list all sites in the various databases, and locate one site in each database.

    2. Browse to the site.

    3. Try to add content to the site. For example, add a list item or a document. SharePoint Foundation uses different errors under different editing circumstances, so if adding content to the site fails, check the event log for an error message such as those in the following table.

      Log Name:

      Application

      Source:

      Microsoft-Windows SharePoint-Windows SharePoint Services 4

      Date:

      4/2/2009 6:34:13 AM

      Event ID:

      3758

      Task Category:

      Database

      Level:

      Critical

      Keywords:

      User:

      Domain\Myuser

      Computer:

      MyServer

      Description:

      Database full error on SQL Server instance 'CO137' in database 'wss_2'. Additional error information from SQL Server is included below. Could not allocate space for object 'dbo.AllDocs'.'AllDocs_Url' in database 'wss_2' because the 'PRIMARY' filegroup is full. Create disk space by deleting unneeded files, dropping objects in the filegroup, adding additional files to the filegroup, or setting autogrowth on for existing files in the filegroup.


Database could not be accessed - Event 3760 (SharePoint 2010 Products)

Alert Name: Database could not be accessed

Event ID: 3760

Summary: Microsoft SharePoint Server 2010 uses Microsoft SQL Server 2008 databases to store most of the content for the Web site and configuration settings. For example, all pages in the site, files in document libraries, files attached to lists, and information in lists are stored in the content database, and security and permission settings along with other configuration settings are stored in the configuration database in SQL Server.

SharePoint Server 2010 uses a service account to communicate with the database on behalf of a user request. This service account can be either a specific domain name/user name and password, or a predefined system account, such as Local System or Network Service. When a SQL Server database is created, a value for the maximum database size is set. Each database has a separate database size setting. Note that a Web application might be associated with one or many databases.

Symptoms: The following symptoms might appear:

  • Content in the database is not available and attempts to access the database generate errors.

  • This event appears in the event log: Event ID: 3760 Description: SQL Database '<database name>' on SQL Server instance '<instance name>' not found. Additional error information from SQL Server is included below. <error information>

Cause: One or more of the following might cause this:.

  • The SQL Server user login failed.

  • The database has been deleted or renamed.

  • The database is currently unavailable because it is in an offline or loading state.

Important:

You must be a member of the local Administrators group to perform this task.

Resolution: Verify that SQL Server is running

  • On the database server, in the Services snap-in, verify that the SQL Server (MSSQLSERVER) service is running.

Resolution: Verify that the user account can connect to SQL Server

  • Log onto Microsoft SQL Server Management Studio as the account provided in the error details and click Connect and then Database Engine.

  • Type the server name provided in the error details and click Connect.

Resolution: Verify that the database exists

  • In Microsoft SQL Server Management Studio, expand the server node.

  • Expand the Databases node.

  • Verify that the database exists.

Note:

You must be a member of the Farm Administrators SharePoint group to perform these tasks.

Resolution: Restore database

  • If the SQL Server database is not present or accessible on the computer that is running SQL Server, restore the database from a backup and reconnect it to SharePoint Server 2010.

    To restore the database from a backup:

    1. On the SharePoint Central Administration Web site, click Backup and Restore and in the Farm Backup and Restore section click Restore from a backup.

    2. On the Restore from Backup page, type the backup path in the Backup Directory Location text box, select the backup you want to restore, and then click Next.

    3. Select the database from the list and then click Next.

      Important:

      The backup must include the database and the accompanying Web application.

    4. In the Restore Options section, select the Same configuration option. This action overwrites the existing database.

    5. Click Start Restore.

    To reconnect the database in Central Administration:

    1. On the Central Administration page, click Application Management and in the Databases section click Manage Content databases.

    2. On the Manage Content Databases page, click Add a content database and in the Web Application section select the Web application.

    3. Under Database Name and Authentication, type the name of the server in the Database Server text box and type the database name in the Database Name text box.

    4. Click OK to save the changes.

    To verify that any database issues have been resolved:

    1. In the SharePoint Management Shell, run the Windows PowerShell command Get-SPSite | Format-Table -Property ID,WebApplication,ContentDatabase to obtain a list of the sites for each Web application to list all sites in the various databases, and locate one site in each database.

    2. Browse to that site and make sure that the appropriate page rendered. An Access Denied page with an option to request access, or the option to log on as a different user, indicates that the operation completed successfully.

    3. On the Central Administration page, click Application Management and in the Site Collections section click Specify Quota Templates.

    4. On the Quota Templates page, create a new quota template. The specific settings are not relevant to this verification test. You are creating the template to verify that it can be accessed in step 7.

    5. Click OK to save the quota template.

    6. Refresh the browser window, and then return to the Quota Templates page. If the quota template that you created can be selected, access to the SharePoint Server 2010 configuration database has been restored.

    7. Click Delete to delete the quota template.


Content deployment job failed - Events 4958 5323 5325 5335 (SharePoint 2010 Products)

Alert Name: Content deployment job failed

Event ID: 4958 5323 5325 and 5325

Summary: A content deployment job has failed. Content might not have been correctly deployed from the source environment to the target environment.

Symptoms: One or more of the following messages appear in the event log:

  • Event ID: 4958 Description: Publishing: Content deployment job failed. Error: '<error>'.

  • Event ID: 5323 Description: Failed to transfer files to destination server for Content Deployment job '<job name>'. Exception was: '<exception>'.

  • Event ID: 5325 Description: Failed import operation for Content Deployment job '<job name>'. Exception was: '<exception>'.

  • Event ID: 5326 Description: Failed import operation for Content Deployment job '<job name>'. Exception was: '<exception>'.

Cause: Content deployment can fail for various reasons. The specific reasons for this failure are contained in the content deployment report on the Content Deployment Paths and Jobs page in Central Administration.

Resolution: View the content deployment job status

  1. Verify that the user account that is performing this procedure is a member of the Farm Administrators group.

  2. On the Central Administration Home page, click General Application Settings.

  3. On the General Application Settings page, in the Content Deployment section, click Manage content deployment paths and jobs.

  4. On the Manage Content Deployment Paths and Jobs page, confirm the status of the job. If the job failed, you can view the job details by clicking Failed.

  5. On the Content Deployment Report page, in the Errors and Warnings section, you can view the error details.

    You can also download the error details by clicking Download Report in the Quick Links section of the Content Deployment Report page.

Resolution: Rerun the content deployment job

  1. Verify that the user account that is performing this procedure is a member of the Farm Administrators group.

  2. On the Central Administration Home page, click General Application Settings.

  3. On the General Application Settings page, in the Content Deployment section, click Manage content deployment paths and jobs.

  4. On the Manage Content Deployment Paths and Jobs page, click the arrow next to the job, and then click Run Now.

  5. You can refresh the page to see the status of the job in progress. If the job failed, you can view the job details by clicking Failed.

  6. On the Content Deployment Report page, in the Errors and Warnings section, you can view the error details.

    You can also download the error details by clicking Download Report in the Quick Links section of the Content Deployment Report page.


Content database is Read-Only - Event 4971 (SharePoint 2010 Products)

Alert Name: Content database is Read-Only

Event ID: 4971

Summary: Microsoft SharePoint Server 2010 stores most of the content of the Web application — including site collections, sites, lists, documents, and permissions — in content databases. A single Web application can be associated with one or many content databases.

Symptoms: One or more of the following symptoms might appear:

  • Users cannot add or update content in SharePoint Server 2010 sites.

  • The following event appears in the event log: Event ID: 4971 Description: Cannot update database on SQL Server instance '<instance name>'. Database is read/only. Additional error information from SQL Server is included below. <additional information>

Cause: SQL Server provides the option of setting a database to read-only mode, in which data can be read from the database but data cannot be added, changed, or removed. If a content database is in read-only mode, you might observe the symptoms described.

Resolution: Set the database to read/write

  • If you verify that the content database is in read-only mode, set the SQL Server Management Studio database to read/write.

    To verify that the database is read-only:

    1. Verify that the user account that is performing this procedure is a member of the Farm Administrators group.

    2. On the Central Administration Home page, click Application Management.

    3. On the Application Management page, in the Databases section, click Manage content databases.

    4. On the Manage Content Databases page, select the Web application from the Web Application list.

    5. If Yes appears in the Database Read-Only column for the content database, set the content database to read/write.

    To set the content database to read/write:

    1. Verify that the user account that is performing this procedure is a member of the db_owner fixed database role for the content database.

    2. Open SQL Server Management Studio and connect to the database server.

    3. In Object Explorer, expand Databases.

    4. Right-click the database that you want to set to read/write, and then click Properties.

    5. In the Database Properties dialog box, on the Options properties page, under State, select False from the drop-down list next to Database Read-Only, and then click OK.

    6. Click Yes.


Cannot create My Sites - Event 5187 (SharePoint Server 2010)

Alert Name: Cannot create My Sites

Event ID: 5187

Summary: If a Microsoft SharePoint Server 2010 user tries to open their My Site for the first time, and the My Site does not exist, SharePoint Server 2010 provisions the My Site collection for the user. This event is logged if SharePoint Server 2010 could not create the My Site.

Symptoms: One or more of the following symptoms might appear:

  • Users receive an error message that their My Site could not be created.

  • This event appears in the event log: Event ID: 5187 Description: My Site creation failure for user '<User ID>' for site url '<User URL>'. The exception was: <Exception>.

Cause: There is a naming conflict caused by the Site Naming Format setting.

Resolution: Change the Site Naming Format setting in Central Administration

  1. Verify that the user account that is performing this procedure is a member of the Farm Administrators group.

  2. On the Central Administration Home page, click Application Management.

  3. On the Application Management page, in the Service Applications section, click Manage service applications.

  4. On the Service Applications page, click the User Profile service.

  5. On the User Profile Service page, in the My Site Settings section, click Setup My Sites.

  6. On the My Site Settings page, in the Site Naming Format section, click either User name (resolve conflicts by using domain_username) or Domain and user name (will not have conflicts).

  7. Click OK.


User Profile changes cannot be committed - Event 5188 (SharePoint Server 2010)

Alert Name: User Profile changes cannot be committed

Event ID: 5188

Summary: Users can edit properties in their own profiles, as allowed by the administrator. This event is logged when these changes made by the user (or by another process that has authority to update the profile) cannot be committed to the database.

Symptoms: One or more of the following symptoms might appear:

  • Users get an error that their changes cannot be applied.

  • The following event appears in the event log: Event ID: 5188 Event Description: There was an error saving the user profile for user '<User ID>'. The exception was: <Exception>.

Cause: One or more of the following might be the cause:

  • The database server is unreachable because of network connectivity issues.

  • The database server is not responding because network connections are overloaded, or memory — and, hence, the commit request — is encountering a time out.

  • The database server is down because of additional issues with the server, such as disk failure.

Resolution: Verify that the database server is running and available

  1. On the database server, in the Services snap-in, verify that the SQL Server (MSSQLSERVER) service is running.

Resolution: Verify connectivity between the database server and the farm

  1. Log on to Microsoft SQL Server Management Studio as the account provided in the error details, click Connect, and then click Database Engine.

  2. Type the server name provided in the error details, and then click Connect.

Resolution: Verify that the database server is not low on resources

  1. On the database server, verify that the server has sufficient RAM memory and disk space.


Insufficient SQL Server database permissions - Event 5214 (SharePoint 2010 Products)

Alert Name: Insufficient SQL Server database permissions

Event ID: 5214

Summary: Microsoft SharePoint Foundation uses Microsoft SQL Server 2008 databases to store most of the content for the Web site and configuration settings. For example, all pages in the site, files in document libraries, files attached to lists, and information in lists are stored in the content database, and security and permission settings along with other configuration settings are stored in the configuration database in SQL Server.

SharePoint Foundation uses a service account to communicate with the database on behalf of a user request. This service account can be either a specific user name and password (domain name and password) or a predefined system account, such as Local System or Network Service. This error occurs when the service account specified in SharePoint Foundation has not been granted sufficient permissions in the SQL Server database.

Symptoms: The following symptom might appear:

  • This event appears in the event log: Event ID: 5214 Insufficient SQL database permissions for user '<username>' in database <database name> on SQL Server instance <instance name>. Additional error information from SQL Server is included below.

Cause: One or more of the following might be the cause:

  • The service account to which SharePoint Foundation is set does not have sufficient permissions to the database to which it is trying to connect.

  • The service account is not set up properly in SharePoint Foundation.

Note:

You must be a member of the Farm Administrators SharePoint group to perform the following tasks.

Resolution: Grant correct permissions to the database access account

  • To resolve this issue, assign the database access account and then verify the account has correct permission in SQL Server.

    To assign the database access account:

    1. On the Central Administration Web site, click Security and in the General Security section click Configure Service Accounts.

    2. On the Configure Service Accounts page, in the Credential Management section, select the correct Web application pool for your Web application.

    3. In the Select an account for this component section, select the domain account that you want to associate with this Web application pool, or click Register new managed account to associate a new domain account with this application pool.

      Note:

      You can use a local account for the Web application pool only if SharePoint Foundation and SQL Server are running on the same computer.

    4. Click OK to save changes.

    To verify that account has correct permissions in SQL Server:

    1. Connect to the computer that runs SQL Server by using an account with SQL Server administrator permissions.

    2. In SQL Server Management Studio, in the Object Explorer navigation pane, expand the Security node, and then click the Logins node. The name of the database access account indicates that it is a SQL login.

    3. If the account exists, open the database node, open the Security node, and then click Roles.

    4. Expand the Database Roles node, right-click db_owner, and select Properties.

    5. In the Database Roles Properties dialog box, check whether the database access account is in the Members of this role list. If the account is not listed, click Add.

    To verify that any database issues have been resolved:

    1. In the SharePoint Management Shell, run the Windows PowerShell command Get-SPSite | Format-Table -Property ID,WebApplication,ContentDatabase to obtain a list of the sites for each Web application to list all sites in the various databases, and locate one site in each database.

    2. Browse to the site.


Unable to write to trace log - Event 5401 (SharePoint 2010 Products)

Alert Name: Unable to write to trace log

Event ID: 5401

Summary: Unified Logging Service (ULS) trace logs contain diagnostic information about what is happening on a Microsoft SharePoint Foundation 2010 server. This information can be used to diagnose problems on your server if they occur.

Symptoms: The following symptoms might appear:

  • ULS trace log files are not created.

  • This event appears in the event log: Event ID: 5401 Tracing Service failed to create the trace log file at <Log Location>. Error <Error Number>: <Error Description>.

Cause: This error occurs when the tracing service cannot create a new log file.

Resolution: Check the event log

  • This error can occur for multiple reasons. The error number and error description describe the cause of the error in more detail; use the information in the error description to determine the most appropriate troubleshooting steps.


Could not schedule synchronization jobs - Event 5556 (SharePoint Server 2010)

Alert Name: Could not schedule synchronization jobs

Event ID: 5556

Summary: A Microsoft SharePoint Server 2010 timer job creates and schedules the two synchronization jobs that synchronize user profile information between the user profile store and user tables. The two synchronization jobs are as follows:

  • User Profile to SharePoint Full Synchronization - Performs full synchronization for all users

  • User Profile to SharePoint Quick Synchronization - Performs synchronization for any newly added users

Symptoms: One or more of the following symptoms might appear:

  • None of the additional information stored in the user profile store is propagated to tables.

  • This event appears in the event log: Event ID: 5556 Description: Failure trying to schedule synchronization jobs. Exception message is <Exception>.

Cause: The SharePoint Server 2010 timer service does not have sufficient permissions to start the other two timer jobs it schedules or these timer jobs do not exist.

Resolution: Verify the timer jobs by using Central Administration

  1. Verify that the user account that is performing this procedure is a member of the Farm Administrators group.

  2. On the Central Administration Home page, click Monitoring.

  3. On the Monitoring page, in the Timer Jobs section, click Review job definitions.

  4. On Job Definitions page, find the User Profile to SharePoint Full Synchronization and User Profile to SharePoint Quick Synchronization timer jobs. To page through the timer job status data rows, click the paging arrows at the bottom of these groups.

  5. If the timer jobs do not exist, you must create them by manually running the User Profile to SharePoint Synchronization Scheduler timer job. To do this, follow these steps:

    1. On Job Definitions page, click the User Profile to SharePoint Synchronization Scheduler timer job. To page through the timer job status data rows, click the paging arrows at the bottom of these groups.

    2. On the edit Timer Job page, click Run Now.

    3. Wait a few minutes, and then check for the User Profile to SharePoint Full Synchronization and User Profile to SharePoint Quick Synchronization timer jobs again.


Unknown SQL exceptions - Event 5586 (SharePoint 2010 Products)

Alert Name: Unknown SQL exceptions

Event ID: 5586

Summary: Microsoft SharePoint Foundation uses Microsoft SQL Server 2008 databases to store configuration settings and most of the content for the Web site. For example, all pages in the site, files in document libraries, files attached to lists, and information in lists are stored in the content database, and security and permission settings along with other configuration settings are stored in the configuration database in SQL Server 2008.

Microsoft SharePoint Foundation uses a service account to communicate with the database on behalf of a user request. This service account can be either a specific user name or password (domain name and password), or a predefined system account, such as Local System or Network Service. When a SQL Server database is created, a value for the maximum database size is set. Each database has a separate database size setting. Note that a Web application might be associated with one or many databases.

Symptoms: The following symptom might appear:

  • This event appears in the event log: Event ID: 5586 Description: Database full error on SQL Server instance <instance name> in database <database name>. Additional error information from SQL Server is included below. <SQL error message>.

    Note:

    The description changes depending on the SQL Error code.

Cause: One or more of the following might be the cause:

  1. Insufficient SQL Server database permissions

  2. SQL Server database is full

  3. Incorrect MDAC version

  4. SQL Server database not found

  5. Incorrect version of SQL Server

  6. SQL Server collation is not supported

  7. Database is read-only

Note:

You must be a member of the Farm Administrators SharePoint group to perform the following tasks.

Resolution: Grant correct permissions to the database access account

  • To resolve this issue, assign the database access account and then verify the account has correct permission in SQL Server.

    To assign the database access account:

    1. On the SharePoint Central Administration Web site, click Security, and in the General Security section click Configure Service Accounts.

    2. On the Configure Service Accounts page, in the Credential Management section, select the correct Web application pool for your Web application.

    3. In the Select an account for this component section, select the domain account that you want to associate with this Web application pool, or click Register new managed account to associate a new domain account with this application pool.

    4. Click OK to save changes.

    To verify that the account has correct permission in SQL Server:

    1. Connect to the computer on which SQL Server runs by using an account with administrator permissions.

    2. In SQL Server Management Studio, in the Object Explorer navigation pane, expand the Security node, and then expand the Logins node. The name of the database access account indications that it is a SQL logon account; for example, ##MS_PolicyTsqlExecutionLogin##.

    3. If the account exists, expand the Databases node, expand the Security node, and then click Roles.

    4. Expand the Database Roles node, right-click db_owner, and select Properties.

    5. In the Database Roles Properties dialog box, check whether the database access account is in the Members of this role list. If the account is not listed, click Add.

Note:

You must be a member of the Farm Administrators SharePoint group to perform the following tasks.

Resolution: Increase the size of the SQL Server database

  • SharePoint Foundation cannot write to a database that has reached its maximum size. One solution is to increase the maximum size setting for the database that is full, which is named in the event message.

    To increase the database size:

    1. In SQL Server Management Studio, in the Object Explorer navigation pane, expand the server node, expand the Databases node, right-click the database you want, and then click Properties. The database name is provided in the event message.

    2. In the Properties dialog box, in the navigation pane, click Files.

    3. In the Database files dialog box, in the Autogrowth column, click the ellipsis for the database file.

    4. In the Change Autogrowth dialog box, under Maximum File Size, if the Restricted File Growth (MB) option is selected, increase the maximum file size in the box to the right. You can also configure the database to grow without restrictions by selecting the Unrestricted File Growth option.

    5. Click OK to save changes.

Note:

You must be a member of the Farm Administrators SharePoint group to perform the following tasks.

Resolution: Restore database

  • If the SQL Server database is not present or accessible on the computer that is running SQL Server, restore the database from a backup and reconnect it to SharePoint Foundation 2010.

    To restore the database from a backup:

    1. Copy the database backup to the SQL Server host.

    2. Restore the database by using the RESTORE SQL Server command. For more information about the RESTORE command, see http://msdn.microsoft.com/en-us/library/ms186858(SQL.90).aspx.

    To reconnect the database in Central Administration:

    1. On the Central Administration page, click Application Management and in the Databases section, click Manage content databases.

    2. On the Manage Content Databases page, click Add a content database and in the Web Application section select the Web application.

    3. In the Database Name and Authentication section, type the name of the server in the Database Server text box and the database name in the Database Name text box.

    4. Click OK to save the changes.

Resolution: Install correct SQL Server version

  • The computer that hosts the database server role must have Microsoft SQL Server 2005 Service Pack 3 Cumulative Update (CU) 3 or SQL Server 2008 Service Pack 1 CU 2 installed. You can either install or upgrade the server to the correct version of SQL Server.

Note:

You must have db_owner permissions to the database to perform the following task.

Resolution: Select the correct SQL Server collation

  1. Connect to the computer on which SQL Server is running by using an account with db_owner permissions to the database.

  2. In SQL Server Management Studio, in the Object Explorer navigation pane, expand the Databases node. Right-click the specific database that was indicated in event 4972, and then click Properties.

  3. On the General tab, the collation is listed in the Maintenance section.

  4. To change the collation, open the Options page.

  5. Select the correct collation from the Collation box.

Resolution: Change database to Read / Write

  • Change the database so that it can be both read from and written to (read/write) by performing the following steps to increase the size of the database.

    Note:

    You must have db_owner access to the database to perform this action.

    To increase the size of the database:

    1. In SQL Server Management Studio, in the Object Explorer navigation pane, expand the server node, and then expand the Databases node.

    2. Right-click the database you want, and then click Properties. The database name is provided in the event message.

    3. In the Database Properties dialog box, in the navigation pane, click Files.

    4. In the Database files section, in the Autogrowth column, click the ellipsis for the database file.

    5. In the Change Autogrowth dialog box, in the Maximum File Size section, if the Restricted File Growth option is selected, increase the maximum file size in the box to the right. You can also configure the database to grow without restrictions by selecting the Unrestricted File Growth option.

    6. Click OK to save changes.

Verify that any database issues have been resolved

  1. In the SharePoint Management Shell, run the Windows PowerShell command Get-SPSite | Format-Table -Property ID,WebApplication,ContentDatabase to obtain a list of the sites for each Web application to list all sites in the various databases, and locate one site in each database.

  2. Browse to the site.


Audience compilation failed - Event 5693 (SharePoint Server 2010)

Alert Name: Audience compilation failed

Event ID: 5693

Summary: To make it easier to target specific information to specific users, Microsoft SharePoint Server 2010 administrators can define rules that dynamically compile users into audiences. For example, all salespeople in the company can be compiled into an audience named Sales. If the audience compilation process fails, this event is logged.

Symptoms: One or more of the following symptoms might appear:

  • Users see more information than administrators intended for them to see.

  • This event appears in the event log: Event ID: 5693 Description: Failed to compile audience. Exception was: '<Exception>'.

Cause: One or more of the audience rules is not correctly defined or the User Profile service cannot access the parameter values for the rule — for example, the information for a particular user is not accessible.

Resolution: Manually compile the audience rule

  1. Verify that the user account that is performing this procedure is a member of the Farm Administrators group.

  2. On the Central Administration Home page, click Application Management.

  3. On the Application Management page, in the Service Applications section, click Manage service applications.

  4. On the Service Applications page, click the User Profile Service.

  5. On the User Profile Service page, in the People section, click Manage Audiences.

  6. On the View Audiences page, click the audience, and, from the context menu, click Compile.


Synchronizing data between SharePoint Server and directory failed - Events 6000-6099 (SharePoint Server 2010)

Alert Name: Synchronizing data between SharePoint Server and directory failed

Event ID: 6000-6099

Summary: Synchronizing data between Microsoft SharePoint Server and the directory failed.

Symptoms: One or more of the following events appear in the event log: Event ID: 6000-6099. For the description, see the event details.

Cause: These failures indicate that the User Profile Synchronization service was configured incorrectly or that corrupted data is being synchronized from SharePoint Server 2010 — for example, a required attribute such as an account name is missing.

Resolution: Verify the User Profile Synchronization service credentials

  1. On the Central Administration Home page, click Application Management, and in the Service Applications section, click Manage service applications.

  2. On the Service Applications page, click the User Profile service application.

  3. On the User Profile Service page, in the Synchronization section, click Configure Synchronization Connections.

  4. Right click the connection, and then click Edit Connection.

  5. Verify that the credentials and rights containers are provided in the connection. Verify that the credentials have sufficient permissions to read and write data in the directory, and also ensure that the User Profile Synchronization service is targeting the correct organizational units in the directory.


SharePoint Foundation failed to create a site - Event 6141 (SharePoint 2010 Products)

Alert Name: SharePoint Foundation failed to create a site

Event ID: 6141

Summary: In Microsoft SharePoint Foundation 2010, administrators can create new SharePoint sites. Site owners and — depending on the site settings — site visitors can create subsites. This alert indicates that an attempt to create a new SharePoint site has failed.

Symptoms: This event might appear in the event log: Event ID: 6141 Description: The site <Site Name> could not be created. The following exception occurred: <Exception Details>.

Cause: One or more of the following could cause this:.

  • A configuration error.

  • The user does not have sufficient permission to create the site.

  • The user attempted to create a site with a non-valid character in the site name, such as '+'.

To determine the specific error, see the exception text in the event description.

Resolution: User must request access

  • If Event 6141 has the description of: 'The site %SiteURL% could not be created. The following exception occurred: Access denied.' This means the user does not have permission to create a SharePoint site. Users will need to request access to the SharePoint site so that a SharePoint Administrator can update their permissions.

    Instruct the user to follow these steps:

  • On the home page of the site, in the upper right corner of the page, click next to "Welcome, <user name>".

  • Click Request Access.

  • On the Request Access page, type a deception of your request, if needed, and click Send Request.

Resolution: User must use a different URL

  • If Event 6141 has the description of: 'The site %SiteURL% could not be created. The following exception occurred: Invalid character in Web name %SiteName%.' This means the user attempted to create the site using an invalid character. Instruct the user to recreate the site without the special character such as '+' in the site name.


Unable to load authentication provider - Event 6143 (SharePoint 2010 Products)

Alert Name: Unable to load authentication provider

Event ID: 6143

Summary: To authenticate users, Microsoft SharePoint 2010 Products uses the authentication providers that are provided by Windows Server 2008 R2 — such as forms authentication or Web single sign-on (SSO) authentication — by other versions of Windows, and by third-party vendors.

When using Kerberos v5 authentication, the service account used by the Internet Information Services (IIS) application pool for your Web application must be registered in Active Directory as a Service Principal Name (SPN) on the domain on which the front-end Web server is a member.

This error indicates that the role manager or membership provider that is specified for a particular Web application is incorrectly configured.

Symptoms: One or more of the following symptoms might appear:

  • User authentication fails to work correctly, which prevents users from accessing content.

  • User tokens are not updated by using correct role memberships, which prevents users from accessing content that they would expect to have access to, based on their roles.

  • Event 6143 might appear in the event log with one of the following descriptions:

    • Description: Cannot get Membership Provider with name <Membership Provider Name>. The membership provider for this process was not properly configured. You must configure the membership provider in the .config file for every SharePoint process.

    • Description: Cannot get Role Manager with name <Role Manager Name>. The role manager for this process was not properly configured. You must configure the role manager in the .config file for every SharePoint process.

Cause: The role manager or membership provider specified for a particular Web application may be incorrectly configured.

Resolution: Verify the authentication mode

  1. On the Central Administration Home page Quick Launch, click Security.

  2. On the Security page, in the General Security section, click Specify authentication providers.

  3. On the Authentication Providers page, ensure that the correct Web application is selected. If it is not, select the Web application that you want to review.

  4. On the Authentication Providers page, click the zone for which you want to change authentication settings.

  5. On the Edit Authentication page, in the Authentication Type section, review the selected authentication type.

  6. If Windows is selected, review the settings in the IIS Authentication Settings section. If Forms or Web Single Sign-On is selected, review the settings in the Membership Provider Name and Role Manager Name sections.

  7. Click Cancel to close without saving changes.

Resolution: Configure Kerberos v 5 authentication mode

  1. You only need to perform this procedure if you are using Kerberos v 5 authentication.

  2. You must be a member of the SharePoint Administrators group to perform this task.

  3. Contact a domain administrator and ensure that the service account used by the application pool is the registered SPN for all domains listed with the Web application.

    Note:

    If you do not have a specific need for Kerberos v5 authentication, or if you cannot configure the SPN, use NTLM authentication instead. If you use Kerberos v5 authentication and cannot configure the SPN, only server administrators will be able to authenticate to the site. To change the authentication type, see the "Configure NTLM authentication mode" procedure later in this article

    For more information about how to configure SharePoint 2010 Products to use Kerberos v5 authentication, see the Microsoft Knowledge Base article 832769, How to configure a Windows SharePoint Services virtual server to use Kerberos v5 authentication and how to switch from Kerberos v5 authentication back to NTLM authentication.

Resolution: Configure NTLM authentication mode

  1. On the Central Administration Home page Quick Launch, click Security.

  2. On the Security page, in the General Security section, click Specify authentication providers.

  3. On the Authentication Providers page, ensure that the correct Web application is selected. If it is not, select the Web application that you intend to review.

  4. On the Authentication Providers page, click the zone for which you want to change authentication settings.

  5. On the Edit Authentication page, in the Authentication Type section, select Windows authentication.

  6. Under IIS Authentication Settings, ensure that the Integrated Windows authentication check box is selected, and then click NTLM.

  7. Click OK to save changes.

Resolution: Configure Forms or Web Single Sign-On authentication mode

  1. You only need to perform this procedure if you are using Kerberos v 5 authentication.

  2. You must be a member of the SharePoint Administrators group to perform this task.

  3. Review the documentation for the forms or Web SSO provider. Ensure that the correct components for the provider are installed on the server and that the settings for the provider are correctly set up in the Web.config file of the IIS directory for the Web application. Record the membership provider name and role manager from the Web.config file.

  4. On the Central Administration Home page Quick Launch, click Security.

  5. On the Security page, in the General Security section, click Specify authentication providers.

  6. On the Authentication Providers page, click on the correct zone.

  7. On the Edit Authentication page, in the Claims Authentication section, record the ASP.NET Membership provider name. Make sure that this is the same name specified in the Web.config file.

  8. Record the ASP.NET Role manager name. Make sure that this is the same name specified in the Web.config file.


User Profile Synchronization Service unexpected failure - Events 6300-6309 (SharePoint Server 2010)

Alert Name: User Profile Synchronization Service unexpected failure

Event ID: 6300-6309

Summary: The User Profile Synchronization service has experienced a generic, unexpected failure.

Symptoms: One or more of the following events appear in the event log: Event ID: 6300-6309 For the description, see the event details.

Cause: There can be multiple causes, but primarily these events indicate connectivity failures with the User Profile Synchronization service — for example, the SharePoint farm failed to connect to the database for the instance of SQL Server.

Resolution: Verify that the database server is running and available

  1. On the database server, in the Services snap-in, verify that the SQL Server (MSSQLSERVER) service is running.

Resolution: Verify connectivity between the database server and the farm

  1. Log on to Microsoft SQL Server Management Studio as the account provided in the error details, click Connect, and then click Database Engine.

  2. Type the server name provided in the error details, and then click Connect.

Resolution: Verify the database access credentials

  1. On the Central Administration Home page, click Security, and then click Service Applications.

  2. On the Security page, in the General Security section, click Configure service accounts.

  3. On the Service Accounts page, in the service account drop-down list, click Farm Account.

  4. Verify that this account has sufficient permissions on the database server.


Insufficient permissions to write to the configuration data cache - Event 6395 (SharePoint 2010 Products)

Alert Name: Insufficient permissions to write to the configuration data cache

Event ID: 6395

Summary: Several features of Microsoft SharePoint Foundation 2010 rely on scheduled background processes called timer jobs. Administrators can configure and schedule timer jobs by using SharePoint Central Administration. When you use the Services on Server page of the SharePoint Central Administration Web site to start or stop a service, a timer job performs this action.

To improve the performance of SharePoint Foundation 2010, most of the data in the configuration database in SQL Server 2008 is kept in a local file-system cache, called the configuration data cache. SharePoint Foundation 2010 uses the timer service to keep this cache synchronized with the configuration database.

This error indicates that a permissions issue is preventing specific trusted accounts from writing to the %systemdrive%\Users\AllUsers\Microsoft\SharePoint\Config directory.

Symptoms: The following message might appear in the event log: Event ID: 6395 Insufficient permissions to write to the configuration data cache. More information is included below.

Cause: The configuration cache directory has security settings that prevent write access to its contents. Although configuration objects can be updated farm-wide, the objects are not updated locally.

Resolution: Assign sufficient permissions to the configuration data cache

  • Make sure that the WSS_ADMIN_WPG and WSS_RESTRICTED_WPG local groups have been granted permissions to write to the %systemdrive%\Users\All Users\Microsoft\SharePoint\Config directory. You must have Modify permissions to the directory in order to perform this task.


Alternate access mapping update failed - Event 6397 (SharePoint 2010 Products)

Alert Name: Alternate access mapping update failed

Event ID: 6397

Summary: Several features of Microsoft SharePoint Foundation 2010 rely on scheduled background processes called timer jobs. Administrators can configure and schedule timer jobs by using SharePoint Central Administration. When you use the Services on Server page of the SharePoint Central Administration Web site to start or stop a service, a timer job performs this action.

To improve the performance of SharePoint Foundation 2010, much of the data in the configuration database in SQL Server 2008 is kept in a local file-system cache, called the configuration data cache. SharePoint Foundation 2010 uses the timer service to keep this cache synchronized with the configuration database. Alternate access mapping is a feature of Microsoft SharePoint Foundation 2010 for administrators to configure a load-balanced system by mapping an incoming URL to alternate URLs that are used by SharePoint Foundation.

This error occurs when the timer job that is used to update alternate access mappings failed on the specified server.

Symptoms: One or more of the following symptoms might appear:

  • The alternate access mapping settings for Web applications on the local server might not be current.

  • This event appears in the event log: Event ID: 6397 Alternate Access Mapping failed to be updated. Web Application affected: <Web Application>. Current user: <User Name>. More information is provided below.

Cause: The alternate access mapping specified in the configuration cache was not applied to the IIS settings of the local machine.

Note:

You must be a member of the Farm Administrators SharePoint group on the Central Administration site to perform the following task.

Resolution: Complete the alternate access mapping update

  • The event string for event 6397 provides the alternate access mapping that failed. Try to re-create the mapping by using the Central Administration site.

    To view or change alternate access mapping settings:

    1. On the Central Administration page, click Application Management and in the Web Applications section click Configure alternate access mappings.

    2. To edit the mapping, click the mapping you want to change.

    To verify that the alternate access mapping is correct:

    • If the SharePoint Administration Service was restarted, in the SharePoint Management Shell, run the Windows PowerShell command Start-SPAdminJob to ensure that all tasks required by the administration service were completed.


Service Instance timer execution failed - Event 6398 (SharePoint 2010 Products)

Alert Name: SPServiceInstance timer execution failed

Event ID: 6398

Summary: Several features of Microsoft SharePoint Foundation 2010 rely on scheduled background processes called timer jobs. Administrators can configure, schedule, and view the status of timer jobs by using the SharePoint Central Administration Web site.

Symptoms: The following symptom might appear:

  • This event appears in the event log: Event ID: 6398 The Execute method of job definition <Job Definition Name> (ID Job ID) threw an exception. More information is included below. %n%n <Job Details>

    Most Common Job Definitions:

    • SPPasswordManagementJobDefinition

      Purpose: Sends e-mail and logs events for expiring passwords and password changes. This timer job ensures that managed passwords are changed before they expire.

    • SPGeneratePasswordJobDefinition

      Purpose: Generates new password for an account, updates the account password, and then launches jobs to deploy the new password to everything that uses it.

    • SPAdminAppPoolCredentialDeploymentJobDefinition

      Purpose: Updates the credentials for the administration Internet Information Services (IIS) 7.0 application pool in the farm.

    • SPContentAppPoolCredentialDeploymentJobDefinition

      Purpose: Updates the credentials for a content IIS application pool on all servers in the farm.

    • SPWindowsServiceCredentialDeploymentJobDefinition

      Purpose: Updates the credentials for a Windows service on every computer in the farm where the service is running.

    • SPMasterPassphraseDeploymentJobDefinition

      Purpose: Tells all the front-end Web applications the new passphrase-derived key. This job is run when the administrator decides to change the passphrase of the farm.

Cause: One or more of the following might be the cause:

  • The third-party timer job cannot be found or is corrupt.

  • The Microsoft SharePoint Foundation 2010 timer job cannot be found, or is corrupt.

  • Most Common Job Causes:

    • SPPasswordManagementJobDefinition

      Issue: Password change timer jobs (SPGeneratePasswordJobDefinition) have not been scheduled or updated for farm credentials. Any additions or changes made recently to the password change schedules for any credentials in the farm will not be updated to match the changes until this job completes successfully.

    • SPGeneratePasswordJobDefinition

      Issue: A scheduled timer job to create a new password for a farm credential failed. The current credential value might no longer be valid and has to be updated manually in the Active Directory account. If the credentials for the account are still valid, this timer job should be restarted.

    • SPAdminAppPoolCredentialDeploymentJobDefinition

      Issue: The new credentials for the Central Administration Web application pool have not been updated on the local machine to match the current value that was configured for the farm. This might prevent the Central Administration Web application from starting.

    • SPContentAppPoolCredentialDeploymentJobDefinition

      Issue: The new credentials for the application pool have not been updated on the local machine to match the current value that was configured for the farm. This might prevent the application pool from starting.

    • SPWindowsServiceCredentialDeploymentJobDefinition

      Issue: The new credentials for the service have not been updated on the local machine to match the current value that was configured for the farm. This might prevent the service from starting.

    • SPMasterPassphraseDeploymentJobDefinition

      Issue: The master passphrase for the farm has not been updated on the local machine to match the current value that was configured for the farm. This might prevent decryption or encryption of the farm encryption key until it is updated locally.

Resolution: Determine appropriate resolution

  • Review the job definition name found in the event description to determine the appropriate resolution:

    • SPPasswordManagementJobDefinition

      Resolution: Restart this timer job.

    • SPGeneratePasswordJobDefinition

      Resolution: Restart this timer job to manually force a password reset.

    • SPAdminAppPoolCredentialDeploymentJobDefinition

      Resolution: Restart this timer job to run administrator deployment jobs locally, in order to manually force a password reset.

    • SPContentAppPoolCredentialDeploymentJobDefinition

      Resolution: Restart this timer job to run administrator deployment jobs locally, in order to manually force a password reset.

    • SPWindowsServiceCredentialDeploymentJobDefinition

      Resolution: Restart this timer job to run administrator deployment jobs locally, in order to manually force a password reset.

    • SPMasterPassphraseDeploymentJobDefinition

      Resolution: Restart this timer job to run administrator deployment jobs locally, in order to manually force a password reset.

For all other timer job resolutions, follow the steps in the next section. To resolve this issue, use the resolution that corresponds to the cause you identified in the "Symptoms" section. After performing the resolution steps, see the "Verify" section to confirm that the feature is operating properly.

Note:

You must be a member of the Farm Administrators SharePoint group to perform these tasks.

Resolution: Configure faulty timer job

  • If the faulty assembly cannot be found or is corrupt, and if it is not a SharePoint Foundation 2010 assembly, and if the timer definition is a recurring job, you must disable the faulty timer job.

    To disable the faulty timer job:

    1. On the Central Administration page, click Monitoring and in the Timer Jobs section click Review Job Definitions.

    2. Locate the timer job in the list and click the timer definition name.

    3. On the Edit Timer Job page, click Disable.

      Disabled timer jobs are displayed as Disabled in the Schedule Type column.

    To enable the faulty timer job:

    1. On the Central Administration page, click Monitoring and in the Timer Jobs section click Review Job Definitions.

    2. Locate the timer job in the list and click the timer definition name.

    3. On the Edit Timer Job page, click Enable.

Note:

To perform the following procedure, you must be a member of the Administrators group on the local computer.

Resolution: Repair Windows SharePoint Services installation

  • If the faulty assembly cannot be found or is corrupt, and is a Microsoft SharePoint Foundation assembly, you must repair the SharePoint Foundation installation to restore or repair the assembly.

    Note:

    Repairing the installation requires that you restart the server. Web application modifications and other settings changes will be preserved.

    To repair the SharePoint Foundation installation:

    • Run the Microsoft SharePoint Foundation 2010 setup wizard, select the Repair option, and click Continue.

    To verify that the timer job is working:

    1. If the timer job was a recurring job, go to the Timer Job Definition page, and enable the timer job. The job should run at the next normally scheduled interval.

    2. If the timer job was a one-time-only job, retry the command that triggered the timer job.


ULS not enough free disk space - Event 6457 (SharePoint 2010 Products)

Alert Name: ULS not enough free disk space

Event ID: 6457

Summary: The Microsoft SharePoint Foundation Tracing (SPTracev4) service is used by Microsoft SharePoint Foundation 2010 to manage trace message output. When trace logging is turned on, administrators can specify the path that is to be used to store the trace logs. This log file is used by many applications that are built on top of SharePoint Foundation. The trace log contains information that is useful for diagnosing server problems. SharePoint Foundation 2010 could not write to the trace log. This event occurs when not enough free space is available for logging.

Symptoms: The following symptoms might appear:

  • The trace log shows no new data.

  • This event appears in the event log: Event ID: 6457 Description: Not enough free disk space available. The tracing service has temporarily stopped outputting trace messages to the log file. Tracing will resume when more than <# of MBs needed to resume logging> MB of disk space becomes available.

Cause: The configured log location does not have sufficient free disk space for logging.

Resolution: Free up disk space

  1. Use Disk Cleanup to free up disk space where the trace logs are stored.

  2. Verify that the trace log has enough disk space to run properly.

  3. If the trace log does not have enough disk space, clean up the Temp folders on the drive.

  4. If this procedure does not solve the problem, it is also possible to relocate the trace log file to a partition that has more drive space.

Resolution: Relocate the log file

  1. On the SharePoint Central Administration Web site, click Monitoring and in the Reporting section, click Configure diagnostic logging.

  2. On the Diagnostic Logging page, in the Trace Log section, type the new location for the trace log files in the Path text box.

  3. Click OK.


Access denied for writing to registry - Event 6588 (SharePoint 2010 Products)

Alert Name: Access denied for writing to registry

Event ID: 6588

Summary: This error occurs when an Internet Information Services application pool that is used by Microsoft SharePoint Foundation 2010 attempts to update a registry key and is denied access because the service account that is used by the application pool has inadequate permissions.

Symptoms: The following symptoms might appear:

  • Registry keys might not be updated correctly to reflect configured settings.

  • This event appears in the event log: Event ID: 6588 Description: The application pool account <Account Name> cannot write registry key <Key Name> at <Key Location>. Additional information is below.

Cause: The service account for the IIS application pool that SharePoint Foundation 2010 does not have appropriate access permissions to write to a registry key.

Resolution: Grant correct permissions to the application pool account

  • The Web application pool account does not have sufficient permissions to write to the registry or to a file on disk. First, try to fix SharePoint Foundation 2010 permissions by using the Psconfig command-line tool. If that does not solve the problem, use the following procedures in order. First determine which account is used for the Web application.

    Note:

    You must be a member of the Farm Administrators SharePoint group to perform the following procedures.

    To fix SharePoint Foundation 2010 permissions:

    1. Open a Command Prompt window and at the command prompt, type:

      cd /d %commonprogramfiles%\Microsoft Shared\Web server extensions\14\BIN

    2. Fix the permissions on the server by entering the following command:

      psconfig -cmd secureresources

    3. Restart IIS and make the changes by entering the following command at the command prompt:iisreset /noforce

    To determine the account for the Web application:

    1. In the IIS Manager, in the Connections pane, expand the server node and then click Application Pools.

    2. In the reading pane, in Features View, in the Identity column, note the account for the application pool that you identified.

    To manually set the required group account for the Web application pool account on the computer:

    1. Click Start, click Administrative Tools, and then click Computer Management.

    2. In the tree view, expand Local Users and Groups, and then click the Groups folder.

    3. In the reading pane list, right-click WSS_WPG and click Add to Group.

    4. In the WSS_WPG Properties dialog box, add the Web application pool account by clicking Add.

    To grant required permissions for the Web application pool account to a folder:

    1. On the SharePoint Foundation computer, locate the folder identified in event 6588 or 6589.

    2. Right-click the folder and select Properties.

    3. In the Properties dialog box, on the Security tab, in the Group or user names section, select Everyone, and then click Edit.

      Note:

      Incorrectly editing the registry might severely damage the system. Before making changes to the registry, back up any valued data on the computer.

    4. In the Permissions for <foldername> dialog box, click Add to add the Web application pool account. The account requires Write permission.

    To grant the required permissions for the Web application pool account to a registry key:

    1. Click the Start button, click All Programs, click Accessories, and then click Run.

    2. Type regedit, and then click OK.

    3. In the Registry Editor, in the tree view, locate the registry key that is identified in event 6588 or 6589.

    4. Right-click the registry key and select Permissions.

    5. In the Permissions dialog box, click Add to add the Web application pool account. The account will require Write permission.

    To verify:

    • Retry the operation that previously failed.


Access denied for writing to disk - Event 6589 (SharePoint 2010 Products)

Alert Name: Access denied for writing to disk

Event ID: 6589

Summary: This error occurs when anInternet Information Services (IIS) 7.0 application pool used by Microsoft SharePoint Foundation 2010 attempts to update a file or folder and is denied access because the service account used by the application pool has inadequate permissions.

Symptoms: The following symptoms might appear:

  • Files might not be updated correctly to reflect configured settings.

  • This event appears in the event log: Event ID: 6589 Description: The application pool account <Account Name> has insufficient permissions to write file <File Name> at <File Location>. Additional information is below.

Cause: The service account for the IIS application pool that SharePoint Foundation 2010 uses does not have appropriate permissions to write to a file or folder in the NTFS file system.

Resolution: Grant correct permissions to the application pool account

  • The Web application pool account does not have sufficient permissions to write to the registry or to a file on disk. First, try to fix SharePoint Foundation 2010 permissions by using the Psconfig command-line tool. If that does not solve the problem, use the following procedures in order. First determine which account is used for the Web application.

    Note:

    You must be a member of the Farm Administrators SharePoint group to perform the following procedures.

    To fix SharePoint Foundation 2010 permissions:

    1. Open a Command Prompt window and at the command prompt, type:

      cd /d %commonprogramfiles%\Microsoft Shared\Web server extensions\14\BIN

    2. Fix the permissions on the server by entering the following command:

      psconfig -cmd secureresources

    3. Restart IIS and make the changes by entering the following command at the command prompt: iisreset /noforce

    To determine the account for the Web application:

    1. In the IIS Manager, in the Connections pane, expand the server node and then click Application Pools.

    2. In the reading pane, in Features View, in the Identity column, note the account for the application pool that you identified.

    To manually set the required group account for the Web application pool account on the computer:

    1. Click Start, click Administrative Tools, and then click Computer Management.

    2. In the tree view, expand Local Users and Groups and click Groups.

    3. In the reading pane list, right-click WSS_WPG groups and click Add to Group.

    4. In the WSS_WPG Properties dialog box, add the Web application pool account by clicking Add.

    To grant required permissions for the Web application pool account to a folder:

    1. On the SharePoint Foundation computer, locate the folder identified in event 6588 or 6589.

    2. Right-click the folder and select Properties.

    3. In the Properties dialog box, on the Security tab, in the Group or user names section, select Everyone, and then click Edit.

      Note:

      Incorrectly editing the registry might severely damage the system. Before making changes to the registry, back up any valued data on the computer.

    4. In the Permissions for <foldername> dialog box, click Add to add the Web application pool account. The account requires Write permission.

    To grant the required permissions for the Web application pool account to a registry key:

    1. Click the Start button, click All Programs, click Accessories, and then click Run.

    2. Type regedit, and then click OK.

    3. In the Registry Editor, in the tree view, locate the registry key identified in event 6588 or 6589.

    4. Right-click the registry key and select Permissions.

    5. In the Permission dialog box, click Add to add the Web application pool account. The account will require Write permission.

    To verify:

    • Retry the operation that previously failed.


Application pool account must be registered as Kerberos - Event 6590 (SharePoint 2010 Products)

Alert Name: Application pool account must be registered as Kerberos

Event ID: 6590

Summary: Microsoft SharePoint Foundation 2010 can use the authentication providers that are provided by Windows Server 2008 to authenticate users. For example, Microsoft SharePoint Foundation can use forms-based authentication or Web single sign-on.

When using the Kerberos version 5 authentication protocol, the service account that is used by the Internet Information Services (IIS) application pool for your Web application must be registered in Active Directory Domain Services (AD DS) as an SPN on the domain on which the front end Web server is a member.

Symptoms: This event appears in the event log: Event ID: 6590 Description: The application pool account has insufficient permissions to add user accounts to Active Directory. When using Kerberos authentication, the service account used by the Internet Information Services (IIS) application pool for your Web application must be registered in Active Directory as a Service Principal Name (SPN) on the domain on which the Web front-end is a member.

Cause: One or more of the following might be the cause:

  • If using Kerberos v5 authentication, the Web application pool account is not a registered security provider name.

  • If using either forms-based authentication or Web single sign-on, the authentication provider could not be loaded because no membership provider name was specified.

  • The Web application pool must be restarted for changes to be saved.

Note:

You must be a member of the Farm Administrators SharePoint group to perform the following action.

Resolution: Determine which authentication type the site is using

  1. On the SharePoint Central Administration Web site, on the Quick Launch click Security and in the General Security section click Specify Authentication Providers.

  2. On the Authentication Providers page, select the correct Web application. To select a Web application, click the Web Application drop-down list arrow and click Change Web Application. In the Select Web Application dialog box, click the correct Web application.

  3. On the Authentication Providers page, click the zone for the site from the list.

  4. On the Edit Authentication page, the authentication type is displayed in the IIS Authentication Settings section.

Resolution: Register the application pool account as an SPN

  • The Web application pool account is not a registered security provider name (SPN). Contact a domain administrator and make sure that the service account that is used by the application pool is the registered SPN for all domains listed with the Web application.

Note:

You must be a member of the Farm Administrators SharePoint group to perform the following tasks.

Resolution: Specify membership provider name and a role manager

  1. On the Central Administration page, on the Quick Launch click Security and in the General Security section click Specify authentication providers.

  2. On the Authentication Providers page, select the zone for which you want to change authentication settings.

  3. On the Edit Authentication page, in the Authentication Type section select either the Forms or Web single sign-on authentication option. Windows authentication is selected by default.

  4. Click Save.

  5. In the Membership Provider Name section, type the name in the Membership provider name text box.

  6. In the Role Manager Name section, type the name in the Role manager name text box.

  7. Click Save.

Resolution: Edit authentication settings for a zone

  1. On the Central Administration page, on the Quick Launch click Security, and in the General Security section click Specify authentication providers.

  2. On the Authentication Providers page, select the zone for which you want to change authentication settings.

  3. On the Edit Authentication page, in the Authentication Type section select the authentication option. Windows authentication is selected by default.

  4. In the IIS Authentication Settings section, select the setting. Integrated Windows authentication — NTLM is selected by default. If you select Negotiate (Kerberos) you must perform additional steps to configure authentication.

  5. Click Save.


SMTP service not running - Event 6599 (SharePoint 2010 Products)

Alert Name: SMTP service is not running

Event ID: 6599

Summary: Microsoft SharePoint 2010 Products sends alerts and other SharePoint 2010 Products administration messages by using a Simple Mail Transfer Protocol (SMTP) mail server. When SharePoint 2010 Products is configured to receive incoming e-mail, the SMTP service delivers e-mail messages to a drop folder. A SharePoint timer job scans the drop folder and inserts the messages into SharePoint lists.

Symptoms: One or more of the following symptoms might appear:

  • SharePoint 2010 Products does not receive incoming e-mail.

  • Some front-end Web servers receive incoming e-mail while others do not.

  • This event appears in the event log: Event ID: 6599 Description: there was an error connecting to the Windows SMTP service.

Cause: Automatic configuration for incoming e-mail is enabled and the Windows SMTP service is not installed on one or multiple servers, or the Windows SMTP service is not running on one or multiple servers.

Note:

The SMTP server is not installed by default. SMTP can be added by using the Features Summary area of Server Manager in Windows Server 2008 R2.

Resolution: Configure outgoing e-mail settings in Central Administration

  1. Note:

    SMTP is turned off by default in SharePoint Server 2010.

    On the Central Administration Home page, click System Settings, and in the E-Mail and Text Messages (SMS) section, click Configure Outgoing E-Mail Settings.

  2. On the Outgoing E-Mail Settings page, in the Mail Settings section, type the correct SMTP server in the Outbound SMTP server box.

Resolution: Enable and configure the SMTP service

  • Perform the steps in the following article: Configure SMTP E-mail (IIS 7) (http://technet.microsoft.com/en-us/library/cc772058(WS.10).aspx).

Resolution: Start the SMTP service

  1. Note:

    In Internet Information Services (IIS) 6.0 Manager, connect to the SMTP server.

    Expand the server node, and look for the SMTP virtual server used by SharePoint 2010 Products.

  2. Right-click the correct virtual server, and then click Start.


Event handler failed to load - Event 6644 (SharePoint 2010 Products)

Alert Name: Event handler failed to load

Event ID: 6644

Summary: In Microsoft SharePoint Server 2010, you can bind an event handler to an event host (such as an entire site, a list, or a document library). By binding an event handler to an event host, you can use document library events to start other processes, such as workflow processes.

Symptoms: This event appears in the event log: Event ID: 6644 Description: Event manager error: <error>.

Cause: One or more of the following might be the cause:

  • The custom event receiver assembly cannot be found, or it is corrupted.

  • The SharePoint Server 2010 assembly cannot be found, or it is corrupted.

Resolution: Contact the manufacturer of the faulty custom event receiver

  • If the faulty assembly is corrupted, and it is not a SharePoint Server 2010 assembly, contact the manufacturer of the faulty event receiver assembly for more information.

Resolution: Repair your product installation

  1. Repairing the installation will require you to restart the server. Web application modifications and other changes to settings will be preserved.

    Note:

    You must be a member of the Administrators group on the local computer to perform this task.

    To repair the Microsoft SharePoint Server 2010 installation:

    1. In Control Panel, open Programs and Features.

    2. Select your installation of SharePoint Server 2010 from the list, and then click Change.

    3. In the SharePoint Products Configuration Wizard, select Repair, and then click Continue.

    4. After completing the changes in the SharePoint Products Configuration Wizard, verify that the event handler assembly is either repaired or removed from all farm servers.

    5. Retry the operation that triggered the event handler. These events should not continue to appear in the Windows event log.


Product Help Library Permission - Event 6769 (SharePoint 2010 Products)

Alert Name: Product Help Library Permissions

Event ID: 6769

Summary: Microsoft SharePoint Foundation requires that specific permissions be set on the Product Help Library to correctly display Help to users. For this event ID the SCOM monitor monitors the permission configuration for this library. The Product Help Library is located in the Help Site Collection under the SharePoint Central Administration Web application.

Symptoms: The following symptoms might appear:

  • End users cannot access the product Help.

  • This event appears in the event log: Event ID: 6769 Description: Unable to refresh permissions for Product Help Library Site Collection.

Cause: A problem with refreshing permissions for the Product Help Library Site Collection.

Resolution: Reset Permissions

  • Reset the permission configuration by using a Psconfig job or a Windows PowerShell cmdlet.

    To reset the permission configuration by using a Psconfig job:

    • Open a Command Prompt window and at the command prompt, type psconfig -cmd helpcollections-install.

    To reset the permission configuration by using a Windows PowerShell cmdlet:

    1. Click Start, click All Programs, click Microsoft SharePoint 2010 Products, and then click SharePoint Management Shell. A Command Prompt window opens.

    2. Type the Windows PowerShell command Install-SPHelpCollection -All.


Cannot resolve name of the outbound SMTP server - Event 6856 (SharePoint 2010 Products)

Alert Name: Cannot resolve name of the outbound SMTP server

Event ID: 6856

Summary: Microsoft SharePoint Foundation 2010 sends alerts and other administration messages by using an SMTP mail server. You can specify which SMTP server to use, and you can set the e-mail address to use for sending alerts and receiving replies for all sites, by using the Outgoing E-Mail Settings page of the SharePoint Central Administration Web site.

Symptoms: The following symptoms might appear:

  • Cannot send e-mail by using SPUtility.SendEmail

  • Cannot send e-mail messages, including alert e-mail, confirmation e-mail, invitation e-mail, and e-mail about exceeding quota

  • This event appears in the event log: Event ID: 6856 Description: Cannot resolve name of SMTP host <host id>.

Cause: One or more of the following might be the cause:

  • Microsoft SharePoint Foundation cannot connect to the SMTP host.

  • SharePoint Foundation 2010 cannot resolve the name of the outbound SMTP server.

To resolve this issue, use the resolution that corresponds to the cause that you identify. After performing the resolution, see the "Verify that an e-mail message is sent" section at the end of this article to confirm that the feature is operating properly.

Note:

You must be a member of the Farm Administrators SharePoint group to perform the following actions.

Resolution: Start and configure the SMTP service

  1. Start the Internet Information Services Manager 6.0 Manager and in the tree view expand the name of the server.

  2. Right-click the SMTP virtual server that is used by SharePoint Foundation (for example, Default SMTP Virtual Server), and then click Start.

  3. To configure the virtual server, right-click the virtual server and click Properties.

  4. On the Delivery tab, click Outbound Security.

  5. In the Outbound Security dialog box, either the Anonymous access or Integrated Windows Authentication option is selected. If Integrated Windows authentication is selected, make sure that the SharePoint Foundation Central Administration application pool account has access to the SMTP service. Select the Account and Password check boxes, and type the Windows account name and password that grants you access to the computer to which you connect.

Resolution: Configure outgoing e-mail settings in Central Administration

  1. On the Central Administration page, click System Settings and in the E-Mail section click Configure Outgoing E-Mail Settings.

  2. On the Outgoing E-Mail Settings page, in the Mail Settings section, type the correct SMTP server in the Outbound SMTP server text box.

Verify that an e-mail alert is sent

  1. Navigate to a SharePoint Foundation Web site that has a list of any type.

  2. Click an item in the list.

  3. Click an item in the list and on the ribbon, click Share & Track.

  4. Click Alert Me and from the menu select For this item.

  5. In the New Alert dialog box, in the Send Alerts To section, type the account name in the Users text box.

  6. After verifying other settings, click OK.

    An e-mail message is sent to the e-mail Inbox informing you that you have created a new alert.


Cannot connect to SMTP host - Event 6857 (SharePoint 2010 Products)

Alert Name: Cannot connect to SMTP host

Event ID: 6857

Summary: Microsoft SharePoint Foundation 2010 sends alerts and other administration messages by using an SMTP mail server. You can specify which SMTP server to use to send the alerts, and you can set the e-mail address to use for sending alerts and receiving replies for all sites, by using the Outgoing E-Mail Settings page on the SharePoint Central Administration Web site.

Symptoms: The following symptoms might appear:

  • Cannot send e-mail by using SPUtility.SendEmail

  • Cannot send e-mail messages, including alert e-mail, confirmation e-mail, invitation e-mail, e-mail about exceeding quota

  • This event appears in the event log: Event ID: 6857 Description: Cannot resolve name of SMTP host <host id>.

Cause: One or more of the following might be the cause:

  • Microsoft SharePoint Foundation cannot connect to the SMTP host.

  • SharePoint Foundation cannot resolve name of the outbound SMTP server.

Note:

You must be a member of the Farm Administrators SharePoint group to perform the following actions.

Resolution: Start and configure the SMTP service

  1. In Internet Information Services (IIS) 6.0 Manager, connect to the SMTP server.

  2. Expand the server node and look for the SMTP virtual server that is used by SharePoint Foundation.

  3. Right-click the correct virtual server and click Start.

  4. To configure the virtual server, open the virtual server's properties.

  5. On the Delivery tab, click Outbound Security.

  6. In the Outbound Security dialog box, select either Anonymous access or Integrated Windows Authentication. If you select Integrated Windows authentication, make sure that the SharePoint Foundation Central Administration application pool account is authenticated on the SMTP server by selecting the Account and Password check boxes.

Resolution: Configure outgoing e-mail settings in Central Administration

  1. On the Central Administration page, click System Settings and in the E-Mail section click Configure Outgoing E-Mail Settings.

  2. On the Outgoing E-Mail Settings page, in the Mail Settings section, type the correct SMTP server in the Outbound SMTP server text box.


Error occurred while communicating with SMTP server - Event 6858 (SharePoint 2010 Products)

Alert Name: Error occurred while communicating with SMTP server

Event ID: 6858

Summary: Microsoft SharePoint Foundation 2010 sends alerts and other administration messages by using an SMTP mail server. You can specify which SMTP server to use to send the alerts, and you can set the e-mail address to use for sending alerts and receiving replies for all sites, by using the Outgoing E-Mail Settings page on the SharePoint Central Administration Web site.

Symptoms: The following symptoms might appear:

  • Cannot send e-mail using SPUtility.SendEmail

  • Cannot send e-mail messages, including alert e-mail, confirmation e-mail, invitation e-mail, e-mail about exceeding quota

  • This event appears in the event log: Event ID: 6858 Description: Cannot resolve name of SMTP host <host id>.

Cause: One or more of the following might be the cause:

  • Microsoft SharePoint Foundation cannot connect to the SMTP host.

  • SharePoint Foundation cannot resolve name of the outbound SMTP server.

To resolve this issue, use the resolution that corresponds to the cause that you identify. After performing the resolution, see the "Verify that an e-mail alert is sent" section at the end of this article to confirm that the feature is operating properly.

Note:

You must be a member of the Farm Administrators SharePoint group to perform the following actions.

Resolution: Start and configure the SMTP service

  1. In Internet Information Services (IIS) 6.0 Manager, connect to the SMTP server.

  2. Expand the server node and look for the SMTP virtual server used by SharePoint Foundation.

  3. Right-click the correct virtual server, and then click Start.

  4. To configure the virtual server, open the virtual server's properties.

  5. On the Delivery tab, click Outbound Security.

  6. In the Outbound Security dialog box, select either Anonymous access or Integrated Windows Authentication. If you selected Integrated Windows Authentication, make sure that the Windows SharePoint Services Central Administration application pool account is authenticated on the SMTP server by selecting the Account and Password check boxes.

Resolution: Configure outgoing e-mail settings in Central Administration

  1. On the Central Administration page, click System Settings and in the E-Mail section click Configure Outgoing E-Mail Settings.

  2. On the Outgoing E-Mail Settings page, in the Mail Settings section type the correct SMTP server in the Outbound SMTP server text box.

Verify that an e-mail alert is sent

  1. Navigate to a SharePoint Foundation Web site that has a list of any type.

  2. Click an item in the list.

  3. Click an item in the list and on the ribbon, click Share & Track.

  4. Click Alert Me and from the menu select For this item.

  5. In the New Alert dialog box, in the Send Alerts To section, type the account name in the Users box.

  6. After verifying other settings, click OK.

    An e-mail message is sent to the e-mail Inbox informing you that you have created a new alert.


SharePoint lists cannot receive e-mail - Event 6872 (SharePoint 2010 Products)

Alert Name: SharePoint lists cannot receive e-mail

Event ID: 6872

Summary: The Microsoft SharePoint 2010 Products incoming e-mail service processes e-mail messages to be added to SharePoint lists. The service processes mail that the Windows Simple Mail Transfer Protocol (SMTP) service added to a drop folder.

Symptoms: One or more of the following symptoms might appear:

  • SharePoint lists do not receive incoming e-mail.

  • Duplicate items appear in lists that are receiving incoming e-mail.

  • This event appears in the event log: Event ID: 6872 Description: the incoming email service cannot access the drop directory or doesn't have sufficient permissions.

Cause: One or more of the following might be the cause:

  1. The SharePoint timer service does not have read permissions on the drop folder.

  2. The specified drop folder specified doesn't exist.

  3. The SharePoint timer service does not have write permissions on the drop folder.

Resolution: Configure the drop directory in IIS

  • In the Internet Information Services (IIS) 6.0 Manager snap-in, expand the Server node.

  • In the SMPT Virtual Server node, double-click Domains.

  • Right-click the domain, and then click Properties.

  • Record the location of the drop directory. If no drop directory exists, create one.

  • Grant the SharePoint timer service permissions to the drop directory.

Resolution: Configure the incoming email settings

  • On the Central Administration Home page, click System Settings.

  • On the System Settings page, in the E-Mail and Text Messages (SMS) section, click Configure incoming email settings.

  • On the Configure Incoming E-mail Settings page, if the Advanced option is selected in the Directory Management Service section, type the location of the drop directory from the previous procedure in the E-mail drop folder box, and then click OK.


E-mail service cannot deliver e-mail - Event 6873 (SharePoint 2010 Products)

Alert Name: E-mail service cannot deliver e-mail

Event ID: 6873

Summary: The Microsoft SharePoint 2010 Products e-mail service processes e-mail destined for insertion into SharePoint lists. The service processes mail that the Windows Simple Mail Transfer Protocol (SMTP) service added to a drop folder.

Symptoms: One or more of the following symptoms might appear:

  • SharePoint lists do not receive e-mail.

  • This event appears in the event log: Event ID: 6599 Description: an error occurred while processing incoming email

Cause: One or more of the following might be the cause:

  • There is no corresponding SharePoint list for the recipient of an e-mail.

  • The sender does not have sufficient permissions to add content to the SharePoint list.

Resolution: Verify that the list is configured to receive e-mail

  1. In the list provided in the event details, on the List menu, click List Settings.

  2. On the List Settings page, under Communications, click Incoming e-mail settings.

  3. Verify the following:

    • The correct e-mail address is entered in the E-mail address box.

    • The Yes option is selected under Allow this document library to receive e-mail?

Resolution: Grant the sender the appropriate permissions to the recipient list

  1. In the list provided in the event details, on the List menu, click List Settings.

  2. On the List Settings page, under Permissions and Management, click Permissions for this list.

  3. Verify that the user account provided in the event details has at least Contributor permissions to the list.


Event receiver failed - Event 6875 (SharePoint 2010 Products)

Alert Name: Event receiver failed

Event ID: 6875

Summary: In Microsoft SharePoint Server 2010, you can bind an event handler to an event host (such as an entire site, a list, or a document library). By binding an event handler to an event host, you can use document library events to start other processes, such as workflow processes.

Symptoms: This event appears in the event log: Event ID: 6875 Description: Error loading and running event receiver <receiver name> in <receiver location>. Additional information is below. <additional information>.

Cause: One or more of the following might be the cause:

  • The custom event receiver assembly cannot be found, or it is corrupted.

  • The SharePoint Server 2010 assembly cannot be found, or it is corrupted.

Resolution: Contact the manufacturer of the faulty event receiver

  1. If the faulty assembly is corrupted, and it is not a SharePoint Server 2010 assembly, contact the manufacturer of the faulty event receiver assembly for more information.

Resolution: Repair your product installation

  1. Repairing the installation will require you to restart the server. Web application modifications and other changes to settings will be preserved.

    Note:

    You must be a member of the Administrators group on the local computer to perform this task.

    To repair SharePoint Server 2010 installation:

    1. In Control Panel, open Programs and Features.

    2. Select your installation of SharePoint Server 2010 from the list, and then click Change.

    3. In the SharePoint Products Configuration Wizard, select Repair, and then click Continue.

    4. After completing the changes in the SharePoint Products Configuration Wizard, verify that the event handler assembly is either repaired or removed from all farm servers.

    5. Retry the operation that triggered the event handler. These events should not continue to appear in the Windows event log.


Service instance provisioning failed - Event 7034 (SharePoint Server 2010)

Alert Name: Service instance provisioning failed

Event ID: 7034

Summary: An attempt to start or stop a service instance failed on a server in your farm because the service instance provisioning failed.

Symptoms: This event might appear in the event log: Event ID: 7034 Description: An attempt to start/stop instance of service <service type> on server <server name> did not succeed. Re-run the action via UI or command line on the specified server. Additional information is below:<more details>.

Cause: The failure can have several causes. For more details, see the event details.

Resolution: Start the service

  • Ensure that you are a member of the Farm Administrators SharePoint group before performing this task.

  • On the Central Administration Home page, in the System Settings section, click Manage services on sever.

  • On the Services on Server page, select the server from the Server drop-down list.

  • On the Services on Server page, click Start in the Action column next to the service.


Backup timer job could not be created - Event 7035 (SharePoint 2010 Products)

Alert Name: Backup timer job could not be created

Event ID: 7035

Summary: When you back up a Web application, you back up the content databases and settings for the Web application, including all sites in the site collections, files in document libraries, files attached to lists, security and permission settings, and feature settings. The backup process creates files that contain all of this data. The restore process uses these files to restore the content databases and settings for the Web application.

Similarly, when you back up a site collection, site, or list, the contents of those structures will be written to files or packages, and the restore or import process will use these files to recover the objects.

Symptoms: One or more of the following symptoms might appear:

  • One or more warning notifications will appear under the Readiness section of the Backup and Restore Job Status or Granular Backup Job Status pages in Central Administration.

  • The following event appears in the event log: Event ID: 7035 Description: The same item is already in the process of being backed up or restored. To check the status of that process, go to the backup/restore job status page in the administration site.

Cause: An existing backup/restore timer job has failed or was not fully completed, and the SharePoint Timer Service or SharePoint Admin Service are not started.

Verify that the Timer and SharePoint Administration services are running

  1. Ensure that the following services are started:

    1. The SharePoint Timer V4 service must be started on all front-end Web servers and application servers in the farm.

    2. The SharePoint Administration V4 service must be started on the server that is running the Central Administration Web site.

Resolution: Verify that the previous backup or restore timer job completed successfully

  • Verify that the user account that is performing this procedure is a member of the Farm Administrators SharePoint group.

  • On the Central Administration Home page, click Backup and Restore.

  • On the Backup and Restore page, under Farm Backup and Restore, click Check backup and restore job status.

  • On the Backup and Restore Job Status page, under Readiness, verify that there are no backup or restore jobs in progress, that the Timer service is running, and that the Administration service is running.

  • Click the Back button in the browser.

  • On the Backup and Restore page, under Granular Backup, click Check granular backup job status.

  • On the Granular Backup Job Status page, under Readiness, verify that there are no backup jobs in progress, there are no export jobs in progress, and the Timer service is running.

  • Check the status of any current jobs in the Site Collection Backup and Content Export sections.


Central Administration update failed - Event 7037 (SharePoint 2010 Products)

Alert Name: Central Administration update failed

Event ID: 7037

Summary: This error indicates that the Microsoft SharePoint Server 2010 timer job to update Central Administration on a specific URL was not created, or the local registry-based URL for the Central Administration was not updated.

Symptoms: One or more of the following symptoms might appear:

  • Local server URL settings for the Central Administration Web site do not match the configured settings.

  • This event appears in the event log: Event ID: 7037 Description: Error creating timer job to update central administration url location at <URL>.

Cause: One or more of the following might be the cause:

  • The timer job that updates the Central Administration settings failed to be created. This failure may be caused by a communication failure with the configuration database while the configuration object was created.

  • The Central Administration URL registry location on the local server failed to be updated because of registry key permission issues.

Resolution: Grant permissions to the appropriate hive location in registry

  • Make sure that the local administrators and farm administrators groups have full control permissions on the local registry-based URL for the Central Administration.

    Note:

    Incorrectly editing the registry might severely damage the system. Before making changes to the registry, back up any valued data on the computer.

    1. Click Start, click Run, type regedit, and then click OK.

    2. In Registry Editor, in the tree view, locate the following registry key:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Shared Tools\Web Server Extensions\14.0\WSS\CentralAdministrationURL.

    3. Right-click the registry key, and then click Permissions.

    4. Make sure that the Administrators and WSS_ADMIN_WPG local groups have Allow Full Control permissions, and no Deny permissions have been set. Do not remove or change permissions for any other group or user entry for this registry key.

Resolution: Restart the update of the Central Administration Web site port

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell command prompt, type the following command:

    Copy Code
    Set-SPCentralAdministration -Port <Int32>

    Where:

    • <Int32> is the new port number.

For more information, see Set-SPCentralAdministration.

Note:

We recommend that you use Windows PowerShell when performing command-line administrative tasks. The Stsadm command-line tool has been deprecated, but is included to support compatibility with previous product versions.


Secure Store reencrypt credentials failed - Event 7510 (SharePoint Server 2010)

Alert Name: Secure Store reencrypt credentials failed

Event ID: 7510

Summary: The credentials stored in the secure store credential database are encrypted by using a master key. When the master key is changed, the system decrypts the data in the database by using the old master key and re-encrypts it by using the new master key.

If the old master key is not valid or is not available, the re-encryption process will fail. The credentials stored in the database will not be usable, and all client applications that rely on the Secure Store service application for authentication will fail.

Symptoms: The following event appears in the event log: Event ID: 7510 Description: The Secure Store service application %name% errored out. The credentials encryption process failed. "n" credentials were not encrypted correctly.

Cause: One or more of the following might be the cause:

  • The master encryption key is not valid.

  • The secure store database failed while it was being encrypted.

  • The secure store database is corrupted.

Resolution: Create a new encryption key

  1. Verify that you have the following administrative credentials:

    • You must be a service application administrator for the Secure Store service.

  2. On the Central Administration Home page, under Application Management, click Mange service applications.

  3. Click the Secure Store service application.

  4. In the Key Management group, click Generate New Key.

  5. On the Generate New Key page, type a pass phrase string in the Pass Phrase box, and type the same string in the Confirm Pass Phrase box.

    Important:

    A passphrase string must consist of at least eight characters and must include at least three of the following four elements:

    • Uppercase characters

    • Lowercase characters

    • Numerals

    • Any of the following special characters

      "! " # $ % & ' ( ) * + , - . / : ; < = > ? @ [ \ ] ^ _ ` { | } ~

    Tip:

    The passphrase that you enter will not be stored. Make sure you write it down and store it in a safe place. At times you will need it to refresh the key, such as when you add a new application server to the server farm.

  6. Click OK.

Resolution: Restore the secure store database

  • Use the SharePoint Central Administration Web site or Windows PowerShell to restore the Secure Store service. For more information, see Restore secure store services in SharePoint Server 2010.


Secure Store could not retrieve master encryption key - Event 7535 (SharePoint Server 2010)

Alert Name: Secure Store could not retrieve the master encryption key

Event ID: 7535

Summary: The Secure Store Service application cannot retrieve the master encryption key. The service uses the master key to encrypt user identity and password data before storing it in the secure store database, and to decrypt the data when a client application requests it.

If the master encryption key cannot be retrieved, the credentials in the secure store database cannot be decrypted and will be unusable. Any client application that relies on the secure store database will be unable to authenticate users.

Symptoms: This event appears in the event log: Event ID: 7535 Description: The Secure Store service application %name% errored out because of a database exception.

Cause: One or more of the following might be the cause:

  • The master encryption key was not generated after the Secure Store Service application was created.

  • The master encryption key was deleted.

  • The secure store database is corrupted.

Resolution: Create the master encryption key

  • Create the master encryption key if it was not generated or it was deleted.

    To verify that the master encryption key was created:

    1. Verify that the user account that is performing this procedure is a member of the Farm Administrators group.

    2. On the Central Administration Home page, click Application Management.

    3. On the Application Management page, in the Service Applications section, click Manage service applications.

    4. On Service Applications page, click the Secure Store Service application.

    5. If you see an error page, no master encryption key was created. You can create the key by following the steps in "To create the master encryption key," later in this article.

      If you see another error page, try to refresh the key by following the steps in "To refresh the master encryption key," later in this article.

    To create the master encryption key:

    1. Verify that the user account that is performing this procedure is a Service Application Administrator for the instance of the Secure Store Service.

    2. Click the instance of the Secure Store Service application.

    3. On the ribbon, click Generate New Key.

    4. On the Generate New Key page, type a passphrase string in the Pass Phrase box, and type the same string in the Confirm Pass Phrase box.

      Important:

      A passphrase string must consist of at least eight characters and must contain at least three of the following four elements:

      • Uppercase characters

      • Lowercase characters

      • Numerals

      • Any of the following special characters:

        "! " # $ % & ' ( ) * + , - . / : ; < = > ? @ [ \ ] ^ _ ` { | } ~

      Tip:

      The passphrase that you enter will not be stored. Make sure that you write it down and store it in a safe location. You must use this passphrase any time you refresh the key, such as when you add a new application server to the server farm.

    5. Click OK.

    To refresh the master encryption key:

    1. Verify that the user account that is performing this procedure is a Service Application Administrator for the instance of the Secure Store Service.

    2. Click the instance of the Secure Store Service application.

    3. On the ribbon, click Refresh key.

    4. On the Refresh Key page, type a passphrase string in the Pass Phrase box, and then click OK.

      Important:

      A passphrase string must consist of at least eight characters and must contain at least three of the following four elements:

      • Uppercase characters

      • Lowercase characters

      • Numerals

      • Any of the following special characters:

        "! " # $ % & ' ( ) * + , - . / : ; < = > ? @ [ \ ] ^ _ ` { | } ~

      Tip:

      The passphrase that you enter will not be stored. Make sure that you write it down and store it in a safe location. You must use this passphrase any time you refresh the key, such as when you add a new application server to the server farm.

    5. Click OK.

To restore the Secure Store Service by using Central Administration

  • If the secure store database is corrupted, restore the database from a backup. After the restore operation is successfully completed, you must refresh the passphrase.

    Note:

    You cannot use a configuration-only backup to restore the Secure Store Service.

    To restore the secure store database:

    1. Verify that the user account that is performing this procedure is a member of the Farm Administrators group.

    2. On the Central Administration Home page, in the Backup and Restore section, click Restore from a backup.

    3. On the Restore from Backup — Step 1 of 3: Select Backup to Restore page, select the backup job that contains the most recent farm-level backup, and then click Next. You can view more details about each backup by clicking the plus sign (+) next to the backup.

      Note:

      If the backup job that you want does not appear, in the Backup Directory Location text box, type the path of the folder that contains the correct backup, and then click Refresh.

    4. On the Restore from Backup — Step 2 of 3: Select Component to Restore page, expand Shared Services Applications, select the check box that is next to the Secure Store Service application backup group, and then click Next.

    5. On the Restore from Backup — Step 3 of 3: Select Restore Options page, in the Restore Component section, make sure that Farm\Shared Services\Shared Services Applications\<Secure Store Service name> appears in the Restore the following component list.

    6. In the Restore Options section, under Type of restore, click Same configuration.

    7. In the dialog box that asks you to confirm the operation, click OK.

    8. Click Start Restore.

      You can view the general status of all recovery jobs at the top of the Backup and Restore Job Status page in the Readiness section. You can view the status for the current recovery job in the lower part of the page in the Restore section. The status page is automatically updated every 30 seconds. You can manually update the status details by clicking Refresh. Backup and recovery are timer service jobs. Therefore, it may take several seconds for the recovery to start.

      If you receive any errors, you can review them in the Failure Message column of the Backup and Restore Job Status page. You can also find more details in the Sprestore.log file at the path that you specified in step 3.

    To refresh the passphrase:

    1. On the Central Administration Home page, in the Application Management section, click Manage service applications.

    2. On the Service Applications page, click the instance of the Secure Store Service. You might receive an error that says "Unable to obtain master key."

    3. On the Secure Store Service page, on the ribbon, click Refresh Key.

    4. In the Refresh Key dialog box, type the passphrase in the Pass Phrase box, and then click OK.


Secure Store SQL exception - Event 7551 (SharePoint Server 2010)

Alert Name: Secure Store SQL exception

Event ID: 7551

Summary: The Secure Store service application connects to the credential database for reading or writing credentials. This event is logged when the service application fails to connect to the database. The SQL Server exceptions are not logged immediately; the system tries to connect the service application to the database three times before it logs the errors. This is because some unexpected, but temporary, system failures can also cause the SQL Server exceptions.

Symptoms: The following event appears in the event log: Event ID: 7551 Description: The Secure Store service application %name% errored out because of a database exception.

Cause: One or more of the following might be the cause:

  • The database server is down or not accessible because of network issues.

  • The Secure Store service application database connection information is incorrect.

  • The Secure Store service application metadata database was not provisioned correctly.

Resolution: Verify that the Secure Store service application server is available

  1. Verify that the user account that is performing this procedure is a member of the Farm Administrators group.

  2. On the Central Administration Home page, under System Settings, click Manage services on server.

  3. On the Services on Server page, under Services, if the Secure Store service is not started, click Start.

  4. On the Central Administration Home page, click Application Management.

  5. On the Application Management page, in the Service Applications section, click Manage service applications.

  6. On the Service Applications page, ensure that the Secure Store service application is started, and then click Secure Store.

  7. On the Secure Store Service Application page, ensure that at least one target application appears in the list.

  8. If the Secure Store service application is not started, do the following:

    1. On the Service Applications page, select the Secure Store service application name, and then click Properties on the ribbon.

    2. In the Edit Properties dialog box, in the Database section, ensure that the authentication method used is correct and that the account (if listed) has read and write permissions to the database.

    3. In the Application Pool section, ensure that the application pool account (if listed) has sufficient permissions to run the application pool.

  9. On the Application Management page, in the Service Applications section, click Manage service applications.

  10. On Service Applications page, select the Secure Store Service Application.

  11. On the ribbon, click Properties.

  12. Verify that the database server name and other connection properties are correct.


Secure Store proxy unexpected exception - Event 7557 (SharePoint Server 2010)

Alert Name: Secure Store proxy unexpected exception

Event ID: 7557

Summary: When a front-end Web server receives a request from a client computer, it routes the request to a Microsoft SharePoint Server 2010 application server through a load balancer. The load balancer maintains a list of available servers for a given service application. If the Secure Store service application on one or more application servers does not respond, the load balancer will remove the application server from the list of available servers and will raise this event.

If the Secure Store service application is enabled on more than one Microsoft SharePoint Server 2010 application server, the client computers will not be affected. If the service is not enabled on more than one application server, the client computers that rely on the secure store credential database to authenticate users will fail to authenticate.

Symptoms: The following event appears in the event log: Event ID: 7557 Description: The Secure Store service application %name% is not accessible.

Cause: One or more of the following might be the cause:

  • The application server is down or is not accessible due to network issues.

  • The Secure Store service application is not provisioned correctly.

Resolution: Verify that the Secure Store application server is available

  1. Verify that the user account that is performing this procedure is a member of the Farm Administrators group.

  2. On the Central Administration Home page, under System Settings, click Manage services on server.

  3. On the Services on Server page, under Services, if the Secure Store service is not started, click Start.

  4. On the Central Administration Home page, click Application Management.

  5. On the Application Management page, in the Service Applications section, click Manage service applications.

  6. On the Service Applications page, click Secure Store.

  7. On the Secure Store Service Application page, ensure that at least one target application appears in the list.

  8. If the Secure Store service application is not started, do the following:

    1. On the Service Applications page, select the Secure Store service application name, and then click Properties on the ribbon.

    2. In the Edit Properties dialog box, in the Database section, ensure that the authentication method used is correct and that the account (if listed) has read and write permissions to the database.

    3. In the Application Pool section, ensure that the application pool account (if listed) has sufficient permissions to run the application pool.


Throttling starts alert- Events 8032 8062 (SharePoint 2010 Products)

Alert Name: SPServer throttling starts

Event ID: 8032 or 8062

Summary: The front-end Web throttling feature is introduced in Microsoft SharePoint Foundation 2010 to keep the server from running out of resources for high-priority server jobs. Throttling monitors performance counters on the server and begins to reject low-priority jobs by returning a 503 error message when the counter values exceed or drop lower than predefined thresholds.

Symptoms: The following symptoms might appear:

  • Users receive a 503 error in the browser: The server is busy now. Try again later.

  • This event appears in the event log: Event ID: 8032 Description: Http throttling starts because a heavy load was detected on <server name> the web app name. The excessive performance counters include: <performance counter name>.

  • This event appears in the event log: Event ID: 8062 Description: Http throttling on <server name> stops because there is no heavy load detected now. <# of requests> requests have been throttled during the throttling period.

Cause: Memory Available and/or ASP.NET\Requests Current have exceeded or dropped lower than the predefined threshold on the front-end Web servers.

Resolution: Change the throttling threshold

  1. Click Start, click All Programs, click Microsoft SharePoint 2010 Products, and then click SharePoint Management Shell. A Command Prompt window opens.

  2. Enter the following command to obtain the current setting of the performance counter thresholds.

    Get-SPWebApplicationHttpThrottlingMonitors URL

  3. Review the thresholds and decide whether you have to change the current values to less-restrictive thresholds. For example, the following Windows PowerShell command can be used to set the CPU percentage threshold to 75 percent.

    Set-SPWebApplicationHttpThrottlingMonitor URL -Category Processor -Counter "% Processor Time" -instance _Total -Max 75

Resolution: Disable the throttling feature

  1. On the SharePoint Central Administration Web site, in the Application Management section click Manage web applications.

  2. On the Web Application tab of the ribbon, click General Settings and select Resource Throttling to turn off HTTP throttling.

    Note:

    Turning off the throttling feature puts the server at risk of running out of resources to serve high-priority jobs in case of high workload. We do not recommend that you ordinarily turn off the throttling feature.

Resolution: Upgrade hardware

  • Review your capacity plan. You can take different actions can be taken as remedies depending on the reason that throttling is triggered:

    1. Add more memory

    2. Upgrade CPU

    3. Upgrade front-end Web servers

    4. Add more front-end Web servers

    5. Upgrade SQL Server host servers


Cannot retrieve end point - Event 8070 (SharePoint 2010 Products)

Alert Name: Cannot retrieve end points

Event ID: 8070

Summary: The Application Discovery and Load Balancer Service Application is unable to retrieve the list of end points for a service application from the remote farm.

Symptoms: This event appears in the event log: Event ID: 8070 Description: An exception occurred when trying to call GetEndPoints: <EndPoint Name>.

Cause: One or more of the following might be the cause:

  • This farm does not have permissions to connect to the remote farm.

  • Network errors or connectivity issues prevent this operation from succeeding.

Note:

You must be a member of the Farm Administrators SharePoint group on the Central Administration site to perform the following task.

Resolution: Ensure that this farm has permissions to connect to the remote farm

  • Contact the administrator of the remote farm to ensure that the following is true:

    • This farm has been added as a trusted farm in the remote farm.

    • This farm's service account has permissions to access the topology service on the remote farm.

  • Ensure that the remote farm has been added as a trusted farm on this farm.

  • To establish the trust between two server farms, each farm must add the other farm's public root certificate to the list of trusted root authorities by using the New-SPTrustedRootAuthorityWindows PowerShell command. For more information, see New-SPTrustedRootAuthority.

Resolution: Ensure that there are no network issues in connecting to the remote farm

  • Ping the servers in the remote farm to ensure that they are available.

  • Contact the remote farm administrator to ensure that there are no connectivity issues on that farm.


Cannot retrieve list of service applications from remote farm - Event 8071 (SharePoint Server 2010)

Alert Name: Cannot retrieve list of service applications from remote farm

Event ID: 8071

Summary: The application load balancer and topology service is unable to retrieve the list of published service applications from the remote farm.

Symptoms: This event appears in the event log: Event ID: 8071 Description: An exception occurred when trying to call EnumerateSharedServiceApplications: <exception>.

Cause: One or more of the following might be the cause:

  • The farm service account on this farm does not have permissions to connect to the remote farm.

  • Network errors or connectivity issues are preventing this operation from succeeding.

Resolution: Verify that the farm has sufficient permissions on the remote farm

  • Contact the administrator of the remote farm and verify the following:

    • This farm has been added as a trusted farm in the remote farm.

    • This farm's service account has permissions to access the topology service on the remote farm.

    • The remote farm has been added as a trusted farm on this farm.

      Tip:

      To establish the trust between two server farms, the administrator of both farms must add the other farm's public root certificate to the list of trusted root authorities by using the New-SPTrustedRootAuthorityWindows PowerShell cmdlet.

Resolution: Verify that there are no networking issues

  1. Ping the servers in the remote farm to ensure that they are available. Ask the administrator of the remote farm to ping the servers in your farm.

    Note:

    Contact the remote farm administrator and verify that there are no connectivity issues on that farm.


Log folder does not exist - Event 8074 (SharePoint 2010 Products)

Alert Name: Log folder does not exist

Event ID: 8074

Summary: The logging folder specified in the error message does not exist or cannot be accessed.

Symptoms: This event appears in the event log: Event ID: 8074 Description: Unable to access directory <directoryname> on server <servername>. Ensure that this directory exists and that the account <domain>\<username> can access it.

Cause: One or more of the following might be the cause:

  • The folder does not exist.

  • The SharePoint 2010 Tracing Service (SPTraceV4) account does not have permissions to read and write to this folder.

Resolution: Verify that usage logging folder exists

  • Log on to the server that is listed in the event.

  • Navigate to the folder that is listed in the event.

  • If the folder does not exist, create the folder.

  • Verify that the SharePoint 2010 Tracing Service (SPTraceV4) account has read, write, and delete permission to the folder.


Usage timer job failed - Event 8075 (SharePoint 2010 Products)

Alert Name: Usage timer job failed

Event ID: 8075

Summary: The Usage Data Processing timer job failed.

Symptoms: This event appears in the event log: Event ID: 8075 Description: The Usage Data Processing timer job failed. You can rerun this job using the Timer Job Status page in the SharePoint Central Administration site.

Cause: One or more of the following might be the cause:

  • Usage logging is not enabled.

  • The farm service account does not have sufficient permissions to the log folder.

  • The disk on which the log folder is located is full.

  • The logging database does not exist or cannot be written to.

  • There were network issues between the farm server and the database server.

Resolution: Verify that usage logging is running on all servers in the farm

  1. Verify that the user account that is performing this procedure is a member of the Farm Administrators SharePoint group.

  2. On the Central Administration Home page, under System Settings, click Manage servers in this farm.

  3. On the Servers in Farm page, in the Server section, record the names of all the servers in the farm.

  4. For each server in the farm, do the following: In the Services snap-in, verify that the SharePoint 2010 Tracing Service (SPTraceV4) service is enabled and started. If it is not started, start it.

  5. From the Log On tab, record the Run As account for each service.

Resolution: Verify that usage logging folder exists

  1. Log on to the server that is listed in the event.

  2. Navigate to the folder that is listed in the event.

  3. If the folder does not exist, create the folder.

  4. Verify that the SharePoint 2010 Tracing Service (SPTraceV4) Run As account has read, write, and delete permissions to the folder.

Resolution: Verify that the logging database exists

  • Verify that the user account that is performing this procedure is a member of the Farm Administrators SharePoint group.

  • On the Central Administration Home page, click Monitoring.

  • On the Monitoring page, in the Reporting section, click Configure usage and health data logging.

  • On the Configure web analytics and health data collection page, in the Usage Data Collection Settings section, record the server and location of the log folder from the Log file location box.

  • In the Logging Database Server section, record the location of the logging database from the Database Server and Database Name boxes.

  • In SQL Server Management Studio, connect to the database server.

  • Expand the Databases node, and verify that the database exists and that it is online.

Resolution: Rerun the timer job

  • Verify that the user account that is performing this procedure is a member of the Farm Administrators SharePoint group.

  • On the Central Administration Home page, click Monitoring.

  • On the Monitoring page, in the Reporting section, click Configure usage and health data logging.

  • On the Job Definitions page, click the Microsoft SharePoint Foundation Usage Data Processing timer job.

  • On the Edit Timer Job page, click Run Now.


Business Data Connectivity Service - BDC database adapter connection exception - Event 8080 (SharePoint 2010 Products)
See Also

Alert Name: Business Data Connectivity Service - BDC database adapter connection exception

Event ID: 8080

Summary: The Business Data Connectivity service runtime reads the metadata defined in the service application model, establishes a connection with the external data source, and calls the appropriate methods defined in the application model for any of the operations. This event is logged if this connection cannot be established for a database. None of the operations triggered by client applications will be executed, and the data may be rendered obsolete.

Symptoms: This event appears in the event log: Event ID: 8080 Description: The BDC service application %1 failed to open connection using %2.

Cause: One or the more of the following might be the cause:

  • The Business Data Connectivity service application model does not have the correct connection properties for the external data source.

  • The external data source is currently not functioning and is not responding.

Note:

You must be a member of the Farm Administrators SharePoint group to perform the following procedure.

Resolution: Verify that the external data source connection properties are correct

  1. On the Central Administration Home page, click Application Management.

  2. On the Application Management page, in the Service Applications section, click Manage service applications.

  3. On the Service Applications page, select the BDC Service Application.

  4. On the Edit tab, in the View group, click External systems.

  5. Click the external system to view its instances.

    Tip:

    By default, the only instances of external system types that are configurable are databases and Web services.

  6. Select the external system name.

  7. Edit or view the settings.

For more information about the settings that are available for configuring a database external system, see Configure an instance of an external system. For more information about managing BDC models, see Manage BDC models.

Resolution: Verify that the network connection to the external data source is working

  • Open a Command Prompt window on the application server and type PING<servername>, where <servername> is the database server that hosts the external data source.

See Also

Other Resources

Resource Center: Operations and Manageability for SharePoint Server 2010
Resource Center: Operations and Manageability for SharePoint Foundation 2010


Business Data Connectivity Service - BDC Web service proxy generations exception - Event 8082 (SharePoint 2010 Products)
See Also

Alert Name: Business Data Connectivity Service - BDC Web service proxy generation exception

Event ID: 8082

Summary: While working with a Web service, the Business Data Connectivity service will first obtain a proxy and then call the appropriate methods based on the metadata defined in the application model. This event is logged when the Business Data Connectivity service fails to obtain a proxy to a Web service. This will affect data synchronization between the client computer and the external data source.

Symptoms: The following event appears in the event log: Event ID: 8082 Description: The Business Data Connectivity Service Could not obtain a proxy to WebService for External Data Source '% ExternalDataSourceName %.

Cause: One or the more of the following might be the cause:

  • The Business Data Connectivity service application model does not have the correct connection properties for the external data source.

  • The external data source is down and is not responding.

Note:

You must be a member of the Farm Administrators SharePoint group to perform the following action.

Resolution: Verify that the external data source connection properties as defined in the application model are correct

  1. On the Central Administration Home page, click Application Management.

  2. On the Application Management page, in the Service Applications section, click Manage service applications.

  3. On the Service Applications page, select the BDC Service Application.

  4. On the Edit tab, in the View group, click External systems.

    Tip:

    By default, the only external system type that is configurable is a Web service. By default, the only instances of external system types that are configurable are databases and Web services.

  5. Point to the external system, click the arrow that appears, and then click Settings.

  6. Edit or view the settings.

For more information about how to configure and manage an external data source, see Configure an instance of an external system in the article "Manage external systems (SharePoint Foundation 2010)." For more information about managing BDC models, see Manage BDC models (SharePoint Foundation 2010).

Resolution: Verify that the external data source is accessible

  • From the application server, ping the database server that hosts the external data source to confirm that the servers can communicate over the network.

See Also

Other Resources

Resource Center: Operations and Manageability for SharePoint Server 2010
Resource Center: Operations and Manageability for SharePoint Foundation 2010


Business Data Connectivity Service - BDC Proxy - unexpected exception - Event 8085 (SharePoint 2010 Products)
See Also

Alert Name: Business Data Connectivity Service - BDC proxy unexpected exception

Event ID: 8085

Summary: When a Web server receives a request from a client computer, it routes the request to an application server through a load balancer. The load balancer maintains a list of available servers for a given service application. If the Business Data Connectivity service application on one or more application servers does not respond, the load balancer drops the application server from the list of available servers and this event is logged.

If the Business Data Connectivity service application is enabled on more than one application server, the client computers may not be affected. If the service application is enabled on only one application server, the client computers that rely on the metadata in the Business Data Connectivity metadata store will fail to read or write data from the external data sources defined in the metadata. The load balancer will ping the service application periodically and will automatically re-enlist it when it responds.

Symptoms: The client computers fail to read or write data from the external data sources.

Cause: One or the more of the following might be the cause:

  • The application server is not accessible or the Business Data Connectivity service application model does not have the correct connection properties for the external data source.

  • The external data source is currently not functioning and is not responding.

Note:

You must be a member of the Farm Administrators SharePoint group to perform the following actions.

Resolution: Verify that the application server is available

  1. On the Central Administration Home page, in the System Settings section, click Manage servers in this farm.

  2. On the Servers in Farm page, verify that the status of the server on which the Business Data Connectivity service runs is No Action Required.

Resolution: Verify that the Business Data Connectivity service application is provisioned correctly

  1. On the Central Administration Home page, click Application Management.

  2. On the Application Management page, in the Service Applications section, click Manage service applications.

  3. On the Service Applications page, find the Business Data Connectivity Service Application, and in the Status column, verify that the service proxy status is Started.

See Also

Other Resources

Resource Center: Operations and Manageability for SharePoint Server 2010
Resource Center: Operations and Manageability for SharePoint Foundation 2010


Business Data Connectivity Service - SQL exception - Event 8086 (SharePoint 2010 Products)
See Also

Alert Name: Business Data Connectivity Service - SQL exception

Event ID: 8086

Summary: The Business Data Connectivity service application connects to the metadata store to allow users to manage the metadata in the metadata store. This event is logged when the service application fails to connect to the database. The Business Data Connectivity metadata in the metadata store will not be accessible. This will impact importing and exporting application models or updating properties for any of the Business Data Connectivity objects by using the Business Data Connectivity Service Application Proxy page in the SharePoint Central Administration Web site.

Symptoms: This event appears in the event log: Event ID: 8086 Description: The BDC service application %name% error occurred because of a database exception.

Cause: One or the more of the following might be the cause:

  • The metadata database server is down or not accessible because of network issues.

  • The connection information for the Business Data Connectivity service application metadata database is incorrect.

  • The Business Data Connectivity service application metadata database was not provisioned correctly.

Resolution: Verify the availability of the metadata database server

  1. Verify that the user account that is performing this procedure is a member of the Farm Administrators group.

  2. On the Central Administration Home page, click Application Management.

  3. On the Application Management page, in the Service Applications section, click Manage service applications.

  4. On the Service Applications page, select the Business Data Connectivity Service Application, and click Properties on the ribbon.

  5. Verify that the database server listed on the Properties page is available and can be connected to from SharePoint 2010 Products.

See Also

Other Resources

Resource Center: Operations and Manageability for SharePoint Server 2010
Resource Center: Operations and Manageability for SharePoint Foundation 2010


ULS trace log reaching maximum size - Event 8094 (SharePoint 2010 Products)

Alert Name: ULS trace log reaching maximum size

Event ID: 8094

Summary: The SharePoint 2010 Tracing Service (SPTracev4) is used by Microsoft SharePoint Foundation 2010 to manage trace message output. When trace logging is enabled, administrators can specify the path used to store the trace log file. This log file is used by many applications that are built on SharePoint Foundation 2010. This event occurs when the configured log file location is low on space. It serves as a warning that logging may stop soon unless more space is made available or the space allocated to logging is increased.

Symptoms: This event appears in the event log: Event ID: 8094 Description: Trace logs are reaching to the configured storage limit [configured limit]. Please increase the maximum storage settings. Otherwise, older files will be deleted once the limit is reached.

Cause: The configured log file location has insufficient free disk space for logging, or the maximum space allocated for logging is too low.

Resolution: Increase the space limit for log files

  1. Verify that the user account that is performing this procedure is a member of the Farm Administrators group.

  2. On the Central Administration Home page, click Monitoring.

  3. On the Monitoring page, in the Reporting section, click Configure diagnostic logging.

  4. In the Trace Log section, in the Maximum storage space for Trace Logs (GB) box, type a larger number of gigabytes (GB) you want to allocate to the log files. When log files reach this size on disk, older log files will automatically be deleted

  5. Click OK.

Resolution: Change the location of the log files

  1. Verify that the user account that is performing this procedure is a member of the Farm Administrators group.

  2. On the Central Administration Home page, click Monitoring.

  3. On the Monitoring page, in the Reporting section, click Configure diagnostic logging.

  4. In the Trace Log section, in the Path box, type the new location for the log file on a drive or partition that has sufficient disk space.

  5. Click OK.

Resolution: Free disk space

  1. Use the Disk Cleanup tool to free disk space where the trace log files are stored.

  2. Verify that the tracing service has sufficient disk space to write the log file.

  3. If the trace logging service has insufficient disk space to write the log files, delete the contents of the Temp folders on the drive.


ULS usage log reaching maximum size - Event 8095 (SharePoint 2010 Products)

Alert Name: ULS usage log reaching maximum size

Event ID: 8095

Summary: The SharePoint 2010 Tracing Service (SPTracev4) is used by Microsoft SharePoint Server 2010 to manage usage log output. When usage logging is enabled, administrators can specify the path used to store the usage log file. This log file is used by many applications that are built on SharePoint Server 2010. This event occurs when the configured log file location is low on space. It serves as a warning that logging may stop soon unless more space is made available or the space allocated to logging is increased.

Symptoms: This event appears in the event log: Event ID: 8095 Description: Usage logs are reaching to the configured storage limit [configured limit]. Please increase the maximum storage settings. Otherwise, older files will be deleted once the limit is reached.

Cause: The configured log file location has insufficient free disk space for logging, or the maximum space allocated for logging is too low.

Resolution: Increase the space limit for log files

  1. Verify that the user account that is performing this procedure is a member of the Farm Administrators group.

  2. On the Central Administration Home page, click Monitoring.

  3. In the Reporting section, click Configure usage and health data collection.

  4. On the Configure web analytics and health data collection page, in the Usage Data Collection Settings section, type a larger number of gigabytes (GB) to allocate to the log files. When log files reach this size on the disk, older log files will automatically be deleted.

  5. Click OK.

Resolution: Change the location of the log file

  1. On the Central Administration Home page, click Monitoring.

  2. In the Reporting section, click Configure usage and health data collection.

  3. On the Configure web analytics and health data collection page, in the Usage Data Collection Settings section, type a new location for the log file on a drive or partition that has sufficient disk space.

  4. Click OK.

Resolution: Free disk space

  1. Run the Disk Cleanup tool to free disk space where the usage log files are stored.

  2. Verify that the usage logging service has sufficient disk space to write the log file.

  3. If the usage logging service has insufficient disk space to write the log file, delete the contents of the Temp folders on the drive.

To check the usage log file

  1. On the Central Administration Home page, click Monitoring, and in the Reporting section, click Configure usage and health data collection.

  2. On the Configure web analytics and health data collection page, in the Usage Data Collection Settings section, copy the path of the usage log file.

  3. In Windows Explorer, navigate to the usage log file by using the copied path. Usage log files are in binary format and the contents cannot be easily viewed and understood. The file size of the usage log increases over time and confirms that usage logging is working.


STS signing certificate missing - Event 8303 (SharePoint 2010 Products)

Alert Name: Security Token Service signing certificate missing

Event ID: 8303

Summary: The Security Token service (STS) signing certificate that Microsoft SharePoint 2010 Products uses to authenticate users is missing.

Symptoms: One or more of the following symptoms might appear:

  • Users are unable to log in to SharePoint 2010 Products.

  • This event appears in the event log: Event ID: 8303 Description: The Access Data Services is no longer available. [Session: <session ID> User: <username>].

Cause: One of the following might be the cause:

  • The STS signing certificate that is included with SharePoint 2010 Products is missing.

  • The self-signed STS signing certificate, or the external certificate that you are using, is missing.

Resolution: Import a new STS signing certificate from the SharePoint 2010 Products farm

  1. Retrieve the root certificate of your SharePoint 2010 Products farm.

  2. Export the root certificate.

  3. Use the makecert utility to generate a new STS signing certificate, based on the root certificate.

  4. Import the new certificate into the certificate store for your operating system.

Resolution: Import a new self-signed STS signing certificate or external certificate

  1. Retrieve the root certificate of your SharePoint 2010 Products farm.

  2. Export the root certificate.

  3. Regenerate the certificate.

  4. Import the new certificate into the certificate store for your operating system.


STS cannot sign credentials - Event 8304 (SharePoint 2010 Products)

Alert Name: Security Token Service cannot sign credentials

Event ID: 8304

Summary: The Security Token service (STS) cannot sign user credentials.

Symptoms: One or more of the following symptoms might appear:

  • Users are unable to log on to Microsoft SharePoint Server 2010.

  • Logon fails.

  • People Picker fails to search or resolve and return an error message.

  • This event appears in the event log: Event ID: 8307 Description: An exception occurred when trying to create signing credential: <exception>.

Cause: An error occurred with the claims provider that is specified in the exception description.

Resolution: Import a new STS signing certificate from the SharePoint 2010 Products farm

  1. Retrieve the root certificate of your Microsoft SharePoint 2010 Products farm.

  2. Export the root certificate.

  3. Use the makecert utility to generate a new STS signing certificate based on the root certificate.

  4. Import the new certificate into the certificate store for your operating system.

Resolution: Import a new self-signed STS signing certificate or external certificate

  1. Retrieve the root certificate of your SharePoint 2010 Products farm.

  2. Export the root certificate.

  3. Regenerate the certificate.

  4. Import the new certificate into the certificate store for your operating system.


Claims cannot establish endpoint - Event 8305 (SharePoint 2010 Products)

Alert Name: Security Token Service claims cannot establish an endpoint

Event ID: 8305

Summary: The Security Token service (STS) claims authentication cannot establish an endpoint.

Symptoms: One or more of the following symptoms might appear:

  • Users are unable to log on to Microsoft SharePoint Server 2010.

  • Logon fails.

  • This event appears in the event log: Event ID: 8305 Description: An exception occurred when trying to establish endpoint for context: <exception>.

Cause: The claims provider is not configured correctly.

To confirm that the STS service is running by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell command prompt, type the following command:

    Copy Code
    Get-SPServiceApplicationPool | Where {$_.DisplayName -eq <DisplayName>}| Format-List

    Where:

    • <DisplayName> is the display name of the STS service application pool. By default, this value is "SecurityTokenServiceApplicationPool".

  6. Verify that the Status of the application pool is Online.

Resolution: Revert changes to the Web.config file

  1. If the Web.config file was modified, try manually reverting to the previous version, or — if you backed up the file — restore the backup.


STS claims provider error - Event 8307 (SharePoint 2010 Products)

Alert Name: Security Token Service claims provider error

Event ID: 8307

Summary: The Security Token service (STS) experienced an error.

Symptoms: One or more of the following symptoms might appear:

  • Users are unable to log on to Microsoft SharePoint Server 2010.

  • Logon fails.

  • People Picker fails to search or resolve and return an error message.

  • This event appears in the event log: Event ID: 8307 Description: An exception occurred in <Claim Provider Name> claim provider when calling <Method Name>: <Exception>.

Cause: An error occurred with the claims provider that is specified in the exception description.

Resolution: Disable the claims provider

  1. Disable the claims provider that caused the error and contact the manufacturer of the claims provider for help resolving the error. For more information, see Configure claims authentication (SharePoint Foundation 2010)

    Important:

    Some SharePoint Server 2010 components might require the claims provider and might not function correctly if it is disabled. For example, shared service applications might fail during a call because the security modules expect that the system claims were added by this provider.


Administration service is not running (SharePoint 2010 Products)

Alert Name: Administration service is not running

Event ID: No event ID

Summary: The Microsoft SharePoint Foundation Administration service is required to run on all servers in a Microsoft SharePoint Foundation 2010 farm. This service performs multiple operations on the local server computers that require local administrator permissions for operations; for example, creating and deleting Web applications and service applications, and starting and stopping services. If this service is not running on any server in a SharePoint Foundation 2010 farm, administrative operations can fail or partially succeed.

Cause: One or more of the following might be the cause:

  • The SharePoint Foundation Administration service was stopped by an administrator on a particular computer.

  • The user name or password for the account that the SharePoint Foundation Administration service is set to run as is incorrect.

  • An error condition in the SharePoint Foundation Administration service caused the service to terminate.

Resolution: Start the administration service

  • Start the SharePoint Foundation Administration service by using the Services Microsoft Management Console (MMC) snap-in in Windows. Click Start, click Run and type the following:

    services.msc

Resolution: Check the service account

  • If the service fails to start, ensure that the user name and account have membership in the Administrators group on the local computer.

Resolution: Repair the configuration

  • If the service could not be started, try to repair the SharePoint Foundation configuration on that server by running the SharePoint Products and Technologies Configuration Wizard.


Backend server not reachable (SharePoint Server 2010)

Alert Name: Backend server not reachable

Event ID: None

Summary: The Word Viewing service application takes a Microsoft Office document as an input and produces a Portable Network Graphics (PNG) file, Microsoft Silverlight application, or a PDF file as output — the kind of output depends on the client application that requested the conversion.

Symptoms: One or more of the following symptoms might appear:

  • Users get an error every time they try to view a Word document that has not been viewed before.

  • Users open a file and cannot convert it to a different format — for example, they open a .doc file and cannot save it as a .docx file.

  • The Word Viewing service application writes errors to the event log.

Cause: One or more of the following might be the cause:

  • The Application Manager on the application server has unexpectedly stopped.

  • The Word Viewing service application stopped working.

  • The file conversion service stopped working.

Resolution: Restart Internet Information Services

  1. Verify that the user account that is performing this procedure is a member of the local Administrators group.

  2. Open a Command Prompt window and type the following at the command prompt:

    iisreset -force


Document conversion failures high (SharePoint Server 2010)

Alert Name: Document conversion failures high

Event ID: None

Summary: A high rate of conversion failures may mean something is wrong with the application server, or a configuration setting is incorrect.

Symptoms: A large number of users' documents fail to be rendered and displayed after conversion.

Cause: One or more of the following might be the cause:

  • Users are attempting to view a large number of corrupted documents.

  • The Microsoft SharePoint Server 2010 application server is malfunctioning.

Resolution: Verify availability of the application server

  1. Verify that the application servers are consistently available.

Resolution: Restart Internet Information Services

  1. Verify that the user account that is performing this procedure is a member of the local Administrators group.

  2. Open a Command Prompt window and type the following at the command prompt:

    iisreset -force

Resolution: Add another server to the farm

  1. If this failure keeps occurring, you should add a server to the farm to help load-balance the workload.


Document conversion launcher unavailable (SharePoint 2010 Products)

Alert Name: Document conversion launcher unavailable

Event ID: None

Summary: The Document Conversions Launcher Service starts document conversions on an application server. If the Document Conversions Launcher Service stops, the Document Conversions Load Balancer Service continues and any document conversion will fail. To resume the document conversion process, you must restart the Document Conversions Launcher Service.

Symptoms: One or more of the following symptoms might appear:

  • Documents are not being converted.

  • The Document Conversions Launcher Service is not running.

Cause: The Document Conversions Launcher service is no longer running. This can happen when an administrator unintentionally stops the service or the server runs out of RAM.

Note:

You must be a member of the Farm Administrators SharePoint group to perform the following task.

Resolution: Restart the services

  1. On the SharePoint Central Administration Home page, in the System Settings section, click Manage services on server.

  2. On the Services on Server page, click Document Conversions Launcher Service.

  3. In the Select Server section, verify that the server that you want is selected. If it is not selected, on the Server menu, click Change Server.

  4. On the Select Server page, click the name of the server on which you want to run the Document Conversions Launcher Service.

  5. In the Communication Scheme section, select the scheme that you want the launcher to use for communication. The default is http.

  6. In the Port Number section, type the port number that you want the launcher to use for communication. Choose a port number that is not used by other services on the server, but which is open in the firewall on the server.

  7. Click OK.


Document conversion load balancer unavailable (SharePoint 2010 Products)

Alert Name: Document conversion load balancer unavailable

Event ID: None

Summary: The Document Conversions Load Balancer Service manages the availability of document converters. Stopping the service stops the document conversion process and turns off the Document Conversions Launcher Service. To resume the document conversion process, you must restart the Document Conversions Load Balancer Service, and then start the Document Conversions Launcher Service.

Symptoms: One or more of the following symptoms might appear:

  • Documents are not being converted.

  • Only one server seems to be converting documents.

  • The Document Conversions Load Balancer Service is not running.

Cause: The Document Conversions Load Balancer Service is no longer running. This can occur when an administrator unintentionally stops the service or the server runs out of RAM.

Note:

You must be a member of the Farm Administrators SharePoint group to perform the following task.

Resolution: Restart the Document Conversions Load Balancer Service

  1. On the SharePoint Central Administration Home page, in the System Settings section, click Manage services on server.

  2. On the Services on Server page, click Document Conversions Load Balancer Service.

  3. In the Select Server section, verify that the server that you want is selected. If it is not selected, on the Server menu, click Change Server.

  4. On the Select Server page, click the name of the server on which you want to run the Document Conversions Load Balancer Service.

  5. In the Communication Scheme section, select the scheme that you want the load balancer to use for communication. The default is http.

  6. In the Port Number section, type the port number that you want the load balancer to use for communication. Choose a port number that is not used by other services on the server, but which is open in the firewall on the server.

  7. Click OK.

Resolution: Restart the Document Conversions Launcher Service

  1. On the SharePoint Central Administration Home page, in the System Settings section, click Manage services on server.

  2. On the Services on Server page, click Document Conversions Launcher Service.

  3. In the Select Server section, verify that the server that you want is selected. If it is not selected, on the Server menu, click Change Server.

  4. On the Select Server page, click the name of the server on which you want to run the Document Conversions Launcher Service.

  5. In the Communication Scheme section, select the scheme that you want the launcher to use for communication. The default is http.

  6. In the Port Number section, type the port number that you want the launcher to use for communication. Choose a port number that is not used by other services on the server, but which is open in the firewall on the server.

  7. Click OK.


Knowledge article is not yet available (SharePoint 2010 Products)

Alert Name: Knowledge article is not yet available

Event ID: None

Summary: The Microsoft System Center Operations Manager Management Pack monitors Microsoft SharePoint Server 2010. System Center Operations Manager raised an alert because of a problem in SharePoint Server 2010.

The link in the alert would go to a knowledge article with more details about how to resolve the problem. However, the knowledge article is not yet available. The article will be made available at a later date. To resolve the problem, try one or more of the following, in the order given (click the link to go to the procedure in this article):

  • View and resolve SharePoint Health Analyzer alerts by using Central Administration

  • Review the Windows Event log.

  • Review the diagnostic log.

  • Review the Management Pack Guide and the product documentation.

  • Restart the affected service.

  • Restart the application pool

  • Restart Internet Information Services.

  • Restart the affected server.

  • Contact Microsoft Support.

View and resolve SharePoint Health Analyzer alerts by using Central Administration

  1. Verify that the user account that is performing this procedure is a member of the Farm Administrators group.

  2. In Central Administration, on the Home page, click Monitoring.

  3. On the Monitoring page, in the Health Status section, click Review problems and solutions.

  4. On the Review problems and solutions page, click the alert that you want to view and resolve.

  5. To resolve the problem, follow the guidance given in the Remedy section of the Review problems and solutions dialog box. Keep the dialog box open so you can run the rule again to confirm the resolution.

  6. After following the guidance given in the Remedy section, in the Review problems and solutions dialog box for the alert, click Reanalyze Now to confirm the resolution. If the problem is resolved, the alert status changes to 4-Success.

Restart the application pool

  1. Verify that the user account that is performing this procedure is a member of the Administrators group on the local computer.

  2. Perform the steps in the following article: Recycle an Application Pool on Demand (http://go.microsoft.com/fwlink/p/?LinkId=168806).


Sandboxed code is running (SharePoint 2010 Products)

Alert Name: SPServiceInstance sandboxed code is running

Event ID: No event ID

Summary: The SharePoint Sandboxed Code Host is a Windows NT service that runs on each Microsoft SharePoint Foundation server.

Symptoms: You are unable to perform requests that require the execution of user code or activation of sandboxed solutions that contain user code. The task that fails depends on the topology and on the server that has the stopped service.

Cause: The SharePoint Sandboxed Code Host service is not running.

Resolution: Start the service on the given server

  • You can restart the SharePoint Sandboxed Code Host on a specific server by using the following command at an elevated command prompt:

    net start spusercodev4


SharePoint Administration service is disabled (SharePoint 2010 Products)

Alert Name: SharePoint Administration service is disabled

Event ID: No event ID

Summary: The SharePoint Administration service V4 (SPAdminV4) is disabled, which prevents local server administration timer jobs from changing local server settings to match farm-wide settings.

Cause: The SharePoint Administration service V4 (SPAdminV4) is disabled and cannot be started.

Resolution: Disable the throttling feature

  • If you want the SharePoint Administration service V4 (SPAdminV4) to run in the environment, set the service to start automatically and then start the service. This can be achieved by using either the Services Microsoft Management Console (MMC) snap-in (services.msc) or, in the Command Prompt window, by using the following two commands in order and executed by a farm administrator who is also a member of the Administrators group on the local computer.

    SC CONFIG SPAdminV4 start= auto

    SC START SPAdminV4

Resolution: Execute administration timer jobs without starting administration service

  • If you do not want the SharePoint Administration service V4 (SPAdminV4) to be set to run in the environment — for example because of least-privilege considerations — the administration timer jobs can be executed directly on the local server without starting the administration service. To execute the timer jobs immediately, in SharePoint Management Shell, run the following Windows PowerShell command:

    Start-SPAdminJob

Note:

The Start-SPAdminJob operation must be run on all computers in the farm where the SharePoint Administration service V4 (SPAdminV4) is not run. Run this command to perform provisioning and other administrative tasks that would typically be performed by using the SharePoint Foundation Timer service (SPTimer_V4).


SharePoint Foundation 2010 search is not running (SharePoint 2010 Products)

Alert Name: SharePoint Foundation search is not running

Event ID: No event ID

Summary: The Microsoft SharePoint Foundation 4 Search service (SPSearch4) is a Windows NT service that runs on each server that hosts a search service application.

Symptoms: One or more of the following symptoms might appear:

  • The Microsoft SharePoint Foundation 4 Search service (SPSearch4) is stopped.

  • You are unable to perform tasks when you attempt to use the crawl, query, or administration search functionality. The task that fails depends on the topology and on which server has the stopped service.

Cause: The Microsoft SharePoint Foundation 4 Search (SPSearch4) service is not running.

Resolution: Start the service on the server

  • You can restart the Microsoft SharePoint Foundation 4 Search (SPSearch4) service on a specific server by typing the following command at an elevated command prompt:

    net start spsearch4


SharePoint Health Analyzer has detected an error or warning (SharePoint 2010 Products)

Alert Name: SharePoint Health Analyzer has detected an error or warning

Event ID: None

Summary: The SharePoint Health Analyzer has detected an error or warning that affects the performance, availability or security of the farm. For instructions for fixing the error or warning condition, review the error message and explanation..

Resolution: View and resolve SharePoint Health Analyzer alerts by using Central Administration

  1. Verify that the user account that is performing this procedure is a member of the Farm Administrators group.

  2. In Central Administration, on the Home page, click Monitoring.

  3. On the Monitoring page, in the Health Status section, click Review problems and solutions.

  4. On the Review problems and solutions page, click the alert that you want to view and resolve.

  5. To resolve the problem, follow the guidance given in the Remedy section of the Review problems and solutions dialog box. Keep the dialog box open so you can run the rule again to confirm the resolution.

  6. After following the guidance given in the Remedy section, in the Review problems and solutions dialog box for the alert, click Reanalyze Now to confirm the resolution. If the problem is resolved, the alert status changes to 4-Success.


SharePoint Timer service could not start (SharePoint 2010 Products)

Alert Name: SharePoint Services Timer service could not start

Event ID: None

Summary: Microsoft SharePoint Server 2010 uses the Windows SharePoint Services Timer V4 (SPTimerV4) service to run most system tasks. The timer service is restarted when the farm service account changes, and it is restarted daily during the timer service recycle job. If SharePoint Server 2010 cannot start the timer service, updates to the farm configuration will be not be synchronized to the local server.

Symptoms: Frequently recurring timer jobs, such as Immediate Alerts and Workflow, do not run. Updates to the farm configuration are not synchronized to the local server.

Cause: SharePoint Server 2010 cannot start the Windows SharePoint Services Timer V4 (SPTimerV4) service.

Resolution: Start the timer service

  1. Verify that the user account that is performing this procedure is a member of the Administrators group on the local computer.

  2. Open a Command Prompt window, type the following command at the command prompt, and then press ENTER:

    net start sptimerv4

  3. If the service does not start, ensure that the service identity account is configured correctly by using the "Verify the service account" procedure later in this article.

Resolution: Verify the service account

  1. Verify that the user account that is performing this procedure is a member of the Administrators group on the local computer.

  2. Click Start, click Administrative Tools, and then click Services.

  3. In the Services snap-in, right-click the Windows SharePoint Services Timer V4 service, and then click Properties.

  4. In the Service Properties dialog box, on the Log On tab, type the password for the account, confirm the password, and then click OK.

  5. Right-click the service, and then click Start.


SharePoint Timer service is not running (SharePoint 2010 Products)

Alert Name: Windows SharePoint Services Timer service is not running

Event ID: None

Summary: Microsoft SharePoint Server 2010 uses the Windows SharePoint Services Timer V4 (SPTimerV4) service to run most system tasks.

Symptoms: Frequently recurring timer jobs, such as Immediate Alerts and Workflow, do not run. Updates to the farm configuration are not synchronized to the local server.

Cause: The Windows SharePoint Services Timer V4 (SPTimerV4 service is not running.

Resolution: Start the timer service

  1. Verify that the user account that is performing this procedure is a member of the Administrators group on the local computer.

  2. Open a Command Prompt window, type the following command at the command prompt, and then press ENTER:

    net start sptimerv4

  3. If the service does not start, ensure that the service identity account is configured correctly by using the "Verify the service account" procedure later in this article.

Resolution: Verify the service account

  1. Verify that the user account that is performing this procedure is a member of the Administrators group on the local computer.

  2. Click Start, click Administrative Tools, and then click Services.

  3. Right-click Windows SharePoint Services Timer V4, and then click Properties.

  4. On the Log On tab, confirm that the account being used is a domain user account and is a member of the following:

    • dbcreator fixed SQL Server server role

    • securityadmin fixed SQL Server server role

    • db_owner fixed database role for all databases in the server farm

  5. If the account has sufficient permissions, confirm the password by typing the password for the account, retyping the password in the Confirm password box, and then clicking OK.

  6. Start the service by right-clicking the service name in the Services console, and then clicking Start.


SQL Server remote access is disabled (SharePoint 2010 Products)

Alert Name: SQL Server remote access is disabled

Event ID: None

Summary: Microsoft SharePoint 2010 Products uses Microsoft SQL Server 2008 Express to store data, to which remote access is disabled by default. Depending on your farm setup, there is the possibility that a remote computer will need access to the SQL Server 2008 Express database.

Symptoms: Connecting to SQL Server 2008 Express from a remote server fails.

Cause: Remote access is disabled

Resolution: Enable remote access

  1. Enable remote access. For more information, see How to configure SQL Server 2005 to allow remote connections (http://support.microsoft.com/kb/914277).


Tracing service is not running (SharePoint 2010 Products)

Alert Name: Tracing service is not running

Event ID: No event ID

Summary: The Microsoft SharePoint Foundation Tracing (SPTrace) service is a required service on all Microsoft SharePoint Foundation servers. If this service is stopped, error messages are not logged on the server.

Symptoms: No trace output is being recorded in the trace logs and no errors are being logged to the Windows log.

Cause: One or more of the following might be the cause:

  • An administrator accidentally stopped the SharePoint Foundation Tracing service.

  • An upgrade that was started on this server could not be completed.

Resolution: Start the Trace service

  1. Log on to the SharePoint Foundation server as an administrator.

  2. In a Command Prompt window, type the following at the command prompt:

    net start SPTrace


Unacceptable rendering response time (SharePoint Server 2010)

Alert Name: Unacceptable response time

Event ID: No event ID

Summary: In typical Microsoft SharePoint Server 2010 deployments, pages should be rendered in less than a second to provide the best experience for users.

Symptoms: One or more of the following symptoms might appear:

  • Response time to render content is consistently more than 1 second.

  • The Executing Time/Page Request performance counter exceeds its threshold.

Cause: One or more of the following might be the cause:

  • A high volume of traffic that causes a high server load.

  • Slow network connections among servers in the SharePoint farm.

  • Poorly designed pages that contain a large number of Web Parts or a Web Part that sends a large number of server requests.

Resolution: Diagnose specific pages that are rendered slowly

  1. If this is a performance issue for only specific pages in your sites, identify the page and diagnose the issue.

    1. Verify that the user account that is performing this procedure is a member of the Farm Administrators group.

    2. On the Central Administration the Home page, click Monitoring.

    3. On the Monitoring page, in the Reporting section, click View health reports.

    4. On the Review problems and solutions page, click Slowest pages, and then click Go.

    5. The pages that are being rendered the most slowly have the highest values in the average duration column.

    6. Contact the owner or developer of the page and request modifications needed for faster rendering.

Resolution: Diagnose servers and network connections

  • If the performance issue is more general and affects many pages in a SharePoint farm, make sure that the servers in your SharePoint farm are located either on the same network or on networks that have high bandwidth and low latency connections.

Resolution: Diagnose server hardware and software configuration

  1. Use Windows Task Manager and the resource monitor tools to inspect the hardware performance of the servers in your SharePoint farm.

  2. If the CPU usage of the servers is consistently high, consider adding hardware to reduce the load on individual servers.

  3. If disk usage on the servers is high or memory consumption is high, consider adding more memory to the servers in your SharePoint farm.

  4. Click OK.


User Profile Configuration service not started (SharePoint Server 2010)

Alert Name: User Profile Configuration service not started

Event ID: None

Summary: The Forefront Identity Manager Configuration service has not been started. This Windows service enables Microsoft SharePoint Server 2010 to synchronize profile information with the directory. If the service is not started, user profile configuration will not function.

Symptoms: User profile configuration does not function.

Cause: A common cause for this issue can be that the Forefront Identity Manager service tried to start prior to SQL Server after a server restart.

Resolution: Start the service

  1. Open a Command Prompt window and type the following at the command prompt:

    net start FIMService

    net start FIMSynchronizationService

  2. If starting the service does not work, verify that the instance of SQL Server is running on the farm database server and try to start the services again.

  3. If starting the service does not work, review the Windows application log for additional errors.


User Profile Synchronization service not started (SharePoint Server 2010)

Alert Name: Identity Manager Synchronization service not started

Event ID: None

Summary: The Forefront Identity Manager Synchronization service enables Microsoft SharePoint Server 2010 to synchronize profile information with the directory. If the service is not started, user profile synchronization will not function.

Symptoms: User profile synchronization does not function.

Cause: A common cause for this issue can be that the Forefront Identity Manager Synchronization service tried to start prior to SQL Server after a server restart.

Resolution: Start the service

  1. Open a Command Prompt window and type the following at the command prompt:

    net start FIMService

    net start FIMSynchronizationService

  2. If starting the service does not work, verify that the instance of SQL server is running on the farm database server and try to start the services again.

  3. If starting the service does not work, review the Windows application log for additional errors.


Web application taking too long to render a page (SharePoint 2010 Products)

Alert Name: Web application taking too long to render a page

Event ID: None

Summary: The Microsoft SharePoint Server 2010 Executing Time/Page Request performance counter monitors how long a Web application takes to render a Web page. This performance counter threshold can be exceeded when the network temporarily experiences congestion or a peak in demand from the computer that is running Microsoft SQL Server. If the threshold is exceeded even when the network is not congested, the Web application is consuming too much memory.

Symptoms: One or more of the following symptoms might appear:

  • Pages take too long to render.

  • The Executing Time/Page Request performance counter threshold is frequently exceeded.

Cause: One or more of the following might be the cause:

  • SharePoint Server 2010 is configured incorrectly.

  • The server hardware is insufficient to handle user requests.

Resolution: Implement configuration best practices

  • Follow the recommendations for the top configuration best practices in Best practices for operational excellence.

Resolution: Tune Web server performance

  • Follow the recommendations for physical architecture and tuning that can help improve the performance of Web servers in Tune Web server performance (Office SharePoint Server).


Web application unavailable (SharePoint 2010 Products)

Alert Name: Web application unavailable

Event ID: None

Summary: This monitor attempts to access the Web application from the System Center Operations Manager (SCOM) server by using the Run as administrator account. The monitor is changed to an error state when the SCOM server receives a status code greater than 400.

Symptoms: The SCOM server receives a status code greater than 400.

Cause: One or more of the following might be the cause:

  • The Web application is unavailable.

  • The Run as administrator account does not have sufficient permission to access the Web application.

Resolution: Verify that the Web application exists and is running

  1. In the Internet Information Services (IIS) snap-in, expand the server node and the Sites node.

  2. Select the Web site for the Web application and ensure that the site is running. If it is not running, start it. If you cannot start it, go to the next step.

  3. Select the Application Pools node. In the right-pane, ensure that the application pool for the Web application is started. If it is not, start it. If you cannot start it, go to the next step to check the Identity account.

  4. Right-click the application pool, and then click Advanced Settings.

  5. In the Advanced Settings dialog box, in the Process Model section, ensure that the Identity account has sufficient permissions to run the Web application.

  6. You might have to update the password for the Identity account. To do this, click the ellipsis next to the account.

  7. In the Application Pool Identity dialog box, click Set.

  8. In the Set Credentials dialog box, type the account name and password, and then click OK.

  9. In the IIS snap-in, try to start the application pool. If it does not start, the account does not have sufficient permissions. If it does start, then start the Web site.

Resolution: Confirm that the Run as administrator account has sufficient permissions

  1. On the Central Administration Home page, click Security, and in the Users section, click Specify web application user policy.

  2. On the Authentication Providers page, select the correct Web application. To select a Web application, click the arrow next to the Web Application list, and then click Change Web Application. In the Select Web Application dialog box, click the correct Web application.

  3. Click the Run as administrator account. This is the account that is specified as the Identity account in the above resolution. If the account is not listed, go to the next step.

  4. Click Add Users.

  5. On the Edit Users page, in the Permission Policy Levels section, select the Full Control - Has full control check box.

  6. Click Save.


Web site unavailable (SharePoint 2010 Products)

If a Web page is not available, SharePoint 2010 Products cannot render the Web page and users cannot access it.

Alert Name: Web site unavailable

Event ID: None

Summary: If a Web page is not available, SharePoint 2010 Products cannot render the Web page and users cannot access it.

Symptoms: The SharePoint 2010 Products Web site is down, or pages on the Web site do not render.

Cause: One or more of the following might be the cause:

  • The Web site is unavailable.

  • The management pack Run as administrator account does not have permission to access SharePoint 2010 Products Web site.

Resolution: Verify that the Web site appears in the site collection

  1. On the Central Administration Web site, on the Quick Launch, click Application Management.

  2. On the Application Management page, in the Site Collections section, click View all site collections.

  3. If the relative URL of the site collection is invalid, run Management Pack discovery.

  4. If the problem persists after running Management Pack discovery, verify the following:

    • The SharePoint Foundation server that is hosting the Web site is running and can be accessed on the network.

    • Internet Information Services (IIS) is running.

Resolution: Confirm that the Run as administrator account has sufficient permissions

  1. On the Central Administration Home page, click Security and in the Users section, click Specify web application user policy.

  2. On the Authentication Providers page, select the correct Web application. To select a Web application, click the Web Application, and then click Change Web Application. In the Select Web Application dialog box, click the correct Web application.

  3. Click the Run as administrator account. This is the account that is specified as the Identity account in Information Internet Services (IIS) for the Web application that runs the Web site. If the account is not listed, click Add Users.

  4. On the Edit Users page, in the Permission Policy Levels section, select the Full Control - Has full control check box.

  5. Click Save.


SharePoint Health Analyzer rules reference (SharePoint Server 2010)

The articles in this section are articles for the SharePoint Health Analyzer. Typically, you would see these articles after you click a link in a message in the SharePoint Health Analyzer in Central Administration. You can use these articles to help you troubleshoot problems in Microsoft SharePoint Server 2010.

In this section:

  • Web Applications using Claims authentication require an update (SharePoint Server 2010)

    This article describes the SharePoint Health Analyzer rule "Web Applications using Claims authentication require an update", and describes how to update Claims Authentication.

  • Automatic update setting inconsistent across farm servers (SharePoint Foundation 2010)

    This article describes the SharePoint Health Analyzer rule "Automatic update setting inconsistent across farm servers", and describes how to configure automatic update settings to be consistent across the farm.

  • Diagnostic logging is set to verbose (SharePoint Foundation 2010)

    This article describes the SharePoint Health Analyzer rule "Diagnostic logging is set to verbose", and describes how to configure diagnostic logging.

  • The server farm account should not be used for other services (SharePoint Foundation 2010)

    This article describes the SharePoint Health Analyzer rule "The server farm account should not be used for other services", and describes how to change the account that is used for other services.

  • One or more services have started or stopped unexpectedly (SharePoint Foundation 2010)

    This article describes the SharePoint Health Analyzer rule "One or more services have started or stopped unexpectedly", and describes how to start the service that is not running.

  • Databases used by SharePoint have fragmented indices (SharePoint Foundation 2010)

    This article describes the SharePoint Health Analyzer rule "Databases used by SharePoint have fragmented indices", and describes how to reorganize and rebuild indexes.

  • Content databases contain orphaned items (SharePoint Foundation 2010)

    This article describes the SharePoint Health Analyzer rule "Content databases contain orphaned items", and describes how to remove orphan sites from the content.

  • Outbound e-mail has not been configured (SharePoint Foundation 2010)

    This article describes the SharePoint Health Analyzer rule "Outbound e-mail has not been configured", and describes how to configure outgoing e-mail settings in Central Administration.

  • Some health analyzer rules do not have associated timer jobs (SharePoint Foundation 2010)

    This article describes the SharePoint Health Analyzer rule "Some health analyzer rules do not have associated timer jobs", and describes how to create the health data collection timer jobs.

  • Drives are running out of free space (SharePoint Foundation 2010)

    This article describes the SharePoint Health Analyzer rule "Drives are running out of free space", and describes how to free disk space on the server computer.

  • The paging file size should exceed the amount of physical RAM in the system (SharePoint Foundation 2010)

    This article describes the SharePoint Health Analyzer rule "The paging file size should exceed the amount of physical RAM in the system", and describes how to increase the minimum size of the paging file.

  • Built-in accounts are used as application pool or service identities (SharePoint Foundation 2010)

    This article describes the SharePoint Health Analyzer rule "Built-in accounts are used as application pool or service identities", and describes how to change the identity that is used for the service or application pool.

  • Web Analytics: Monitors the health of the Report Consolidator component (SharePoint Foundation 2010)

    This article describes the SharePoint Health Analyzer rule "Web Analytics: Monitors the health of the Report Consolidator component", and describes how to enable data trimming to improve the performance of the Report Consolidator.

  • Web Analytics: Verifies that when the Web Analytics is installed and running, usage logging is enabled in the farm (SharePoint Foundation 2010)

    This article describes the SharePoint Health Analyzer rule " Web Analytics: Verifies that when the Web Analytics is installed and running, usage logging is enabled in the farm", and describes how to enable usage logging.

  • Web Analytics: Verifies that a web application is serviced by at most one Web Analytics service application proxy (SharePoint Foundation 2010)

    This article describes the SharePoint Health Analyzer rule "Web Analytics: Verifies that a web application is serviced by at most one Web Analytics service application proxy", and describes how to disassociate other Web Analytics service application proxies.

  • Web Analytics: Verifies that the SQL Server Service Broker is enabled for the Web Analytics staging databases (SharePoint Foundation 2010)

    This article describes the SharePoint Health Analyzer rule "Web Analytics: Verifies that the SQL Server Service Broker is enabled for the Web Analytics staging databases", and describes how to enable the service broker queue.

  • One or more categories are configured with verbose trace logging setting

    This article describes the SharePoint Health Analyzer rule "One or more categories are configured with verbose trace logging", and describes how to reset diagnostic logging to the default level.

  • InfoPath Forms Services Maintenance Timer Job not enabled (SharePoint Server 2010)

    This article describes the SharePoint Health Analyzer rule "InfoPath Forms Services Maintenance Timer Job not enabled", and describes how to enable the timer job.

  • Validate the My Site Host and individual My Sites are on a dedicated Web application and separate URL domain (SharePoint Server 2010)

    This article describes the SharePoint Health Analyzer rule "Validate the My Site Host and individual My Sites are on a dedicated Web application and separate URL domain", and describes how to configure a dedicated Web application.

  • Search scopes not defined for My Sites (SharePoint Server 2010)

    This article describes the SharePoint Health Analyzer rule "Search scopes not defined for My Sites", and describes how to define search scopes.

  • Verify each User Profile service application has a My Site host configured (SharePoint Server 2010)

    This article describes the SharePoint Health Analyzer rule "Verify each User Profile service application has a My Site host configured", and describes how to configure a My Site.

  • Visio Graphics Service has a maximum cache age setting that will adversely impact performance (SharePoint Server 2010)

    This article describes the SharePoint Health Analyzer rule "Visio Graphics Service has a maximum cache age setting that will adversely impact performance (SharePoint Server 2010)", and describes how to change the maximum cache age setting for better performance.

  • The Visio Graphics Service has a Maximum Web Drawing Size setting that will adversely impact performance (SharePoint Server 2010)

    This article describes the SharePoint Health Analyzer rule "The Visio Graphics Service has a Maximum Web Drawing Size setting that will adversely impact performance", and describes how to change the Maximum Web Drawing Size setting for better performance.

  • Visio Graphics Service has a maximum recalculation duration setting that will adversely impact performance (SharePoint Server 2010)

    This article describes the SharePoint Health Analyzer rule "The Visio Graphics Service has a maximum recalculation duration setting that will adversely impact performance", and describes how to change the maximum recalculation duration setting for better performance.

  • The Visio Graphics Service has a minimum cache age setting that may cause a security issue (SharePoint Server 2010)

    This article describes the SharePoint Health Analyzer rule "The Visio Graphics Service has a minimum cache age setting that may cause a security issue", and describes how to change the minimum cache age setting for better performance.

  • The Visio Graphics Service has a minimum cache age setting that will adversely impact performance (SharePoint Server 2010)

    This article describes the SharePoint Health Analyzer rule "The Visio Graphics Service has a minimum cache age setting that will adversely impact performance", and describes how to change the minimum cache age setting for better performance.

  • All State Service databases are paused for a State Service Application (SharePoint Server 2010)

    This article describes the SharePoint Health Analyzer rule "All State Service databases are paused for a State Service Application", and describes how to resume the databases.

  • A State Service Application has no database defined (SharePoint Server 2010)

    This article describes the SharePoint Health Analyzer rule "A State Service Application has no database defined", and describes how to define a database for the State Service Application.

  • InfoPath Forms Services forms cannot be filled out in a Web browser because no State Service connection is configured (SharePoint Server 2010)

    This article describes the SharePoint Health Analyzer rule "InfoPath Forms Services forms cannot be filled out in a Web browser because no State Service connection is configured", and describes how to configure a State Service connection.

  • Expired sessions are not being deleted from the ASP.NET Session State database (SharePoint Server 2010)

    This article describes the SharePoint Health Analyzer rule "Expired sessions are not being deleted from the ASP.NET Session State database", and describes how to start the SQL Server Agent so that expired sessions will be deleted.

  • The State Service Delete Expired Sessions timer job is not enabled (SharePoint Server 2010)

    This article describes the SharePoint Health Analyzer rule "The State Service Delete Expired Sessions timer job is not enabled", and describes how to configure the timer job so that expired sessions will be deleted.

  • One or more Search crawl databases have fragmented indices (SharePoint Server 2010)

    This article describes the SharePoint Health Analyzer rule "One or more Search crawl databases have fragmented indices", and describes how to defragment the indexes.

  • One or more Search property databases have fragmented indices (SharePoint Server 2010)

    This article describes the SharePoint Health Analyzer rule "One or more Search property databases have fragmented indices", and describes how to a health rule that will defragment the indexes.

  • InfoPath Forms Services forms cannot be filled out in a Web browser (SharePoint Server 2010)

    This article describes the SharePoint Health Analyzer rule "InfoPath Forms Services forms cannot be filled out in a Web browser", and describes how to enable browser rendering of forms.

  • Word Automation Service timer job is not running (SharePoint Server 2010)

    This article provides information about the SharePoint Health Analyzer rule "Word Automation Service timer job is not running". The article describes how to enable and run the timer job.

  • The Application Discovery and Load Balancer Service is not running in this farm (SharePoint Server 2010)

    This article describes how to resolve the SharePoint Health Analyzer event by starting the Application Discovery and Load Balancer service on at least one server in the farm.

  • Databases running in compatibility range, upgrade recommended (SharePoint Server 2010)

    This article describes how to resolve the SharePoint Health Analyzer event by installing software updates.

  • Databases require upgrade or not supported (SharePoint Server 2010)

    This article describes how to resolve the SharePoint Health Analyzer event by installing software updates.

  • Databases within this farm are set to read only and will fail to upgrade unless it is set to a read-write state (SharePoint Server 2010)

    This article describes how to resolve the SharePoint Health Analyzer event by setting the databases to read-write.

  • Drives used for SQL databases are running out of free space (SharePoint Server 2010)

    This article describes how to resolve the SharePoint Health Analyzer event by freeing disk space on the database server computer or decreasing the number of days to store log files.

  • Databases used by SharePoint have outdated index statistics (SharePoint Server 2010)

    This article describes how to resolve the SharePoint Health Analyzer event by freeing disk space on the database server computer or decreasing the number of days to store log files.

  • Databases exist on servers running SharePoint Foundation (SharePoint Server 2010)

    This article describes how to resolve the SharePoint Health Analyzer event by moving the databases to a separate server.

  • Database has large amounts of unused space (SharePoint Server 2010)

    This article describes how to resolve the SharePoint Health Analyzer event by shrinking the database.

  • One or more servers is not responding (SharePoint Server 2010)

    This article describes how to resolve the SharePoint Health Analyzer event by connecting the server to the network, restarting the SharePoint 2010 Timer service (SPTimerV4), or removing the server record from the SharePoint topology.

  • Unattended Service Account Application ID is not specified or value is invalid value

    The article describes the cause and includes a procedure that helps to ensure that Unattended Service Account Application ID settings are configured correctly.

  • Verify that the Activity Feed Timer Job is enabled (SharePoint Server 2010)

    This article describes how to resolve the SharePoint Health Analyzer rule by enabling the Activity Feed timer job.

  • Accounts used by application pools or service identities are in the local machine Administrators group (SharePoint Server 2010)

    This article describes how to resolve the SharePoint Health Analyzer event by changing the user account to a predefined account or to a domain user account that is not a member of the Administrators group.

  • Application pools recycle when memory limits are exceeded (SharePoint Server 2010)

    This article describes how to resolve the SharePoint Health Analyzer event by disabling application pool recycling.

  • Alternate access URLs have not been configured (SharePoint Server 2010)

    This article describes how to resolve the SharePoint Health Analyzer event by changing the default zone URL.

  • Product / patch installation or server upgrade required (SharePoint Server 2010)

    This article describes how to resolve the SharePoint Health Analyzer event by deploying updates or upgrading.

  • Web.config file has incorrect settings for the requestFiltering element (SharePoint Server 2010)

    This article describes how to resolve the SharePoint Health Analyzer event by changing the requestFiltering settings in the Web.config file.

  • Web.config files are not identical on all machines in the farm (SharePoint Server 2010)

    This article describes how to resolve the SharePoint Health Analyzer event by making the Web.config files identical on all front-end Web servers in the farm.

  • The timer service failed to recycle (SharePoint Server 2010)

    This article describes how to resolve the SharePoint Health Analyzer event by changing the schedule for the Timer Service Recycle job so that it does not conflict with other long-running timer jobs.

  • The local machine is not joined to a SharePoint server farm (SharePoint Server 2010)

    This article describes how to resolve the SharePoint Health Analyzer event by creating a new farm or adding this computer to an existing SharePoint farm.

  • Web Analytics: Verify that there is a data processing service started when there is a web service started (SharePoint Server 2010)

    This article describes how to resolve the SharePoint Health Analyzer event by starting the Web Analytics Data Processing service on any server in the farm.

  • Web Analytics: Monitors the health of the Logging Extractor component (SharePoint Server 2010)

    This article describes how to resolve the SharePoint Health Analyzer event by adding more staging databases for the Web Analytics service to balance the load.

  • Web Analytics: Monitors the health of the Data Analyzer Light component (SharePoint Server 2010)

    This article describes how to resolve the SharePoint Health Analyzer event by adding more staging databases for the Web Analytics service to balance the load.

  • Web Analytics: Monitors the health of the User Behavior Analyzer component (SharePoint Server 2010)

    This article describes how to resolve the SharePoint Health Analyzer event by adding more staging databases for the Web Analytics service to balance the load.

  • Web Analytics: Verify that the Site Inventory Usage Collection timer job is enabled for all the Web applications serviced by the Web Analytics service application (SharePoint Server 2010)

    This article describes how to resolve the SharePoint Health Analyzer event by changing the settings of the Microsoft SharePoint Foundation Site Inventory Usage Collection timer job.

  • Verify each User Profile Service Application has an associated Managed Metadata Service Connection (SharePoint Server 2010)

    This article describes how to resolve the SharePoint Health Analyzer event by editing the connections for the User Profile service application.

  • Verify each User Profile Service Application has an associated Search Service Connection (SharePoint Server 2010)

    This article describes how to resolve the SharePoint Health Analyzer event by editing the group of connections for the User Profile service application.

  • Verify that the critical User Profile Application and User Profile Proxy Application timer jobs are available and have not been mistakenly deleted (SharePoint Server 2010)

    This article describes how to resolve the SharePoint Health Analyzer event by editing the rule definition so that the configuration is automatically repaired.

  • Critical state of this rule indicates that the Word Automation Services is not running when it should be running (SharePoint Server 2010)

    This article describes how to resolve the SharePoint Health Analyzer event by enabling the Word Automation Services timer job.

  • The settings for Word Automation Services are not within the recommended limits (SharePoint Server 2010)

    This article describes how to resolve the SharePoint Health Analyzer event by changing the settings for Word Automation Services.

  • The Security Token Service is not available (SharePoint Server 2010)

    This article describes how to resolve the SharePoint Health Analyzer event by restarting the Security Token Service application pool.

  • Some content databases are growing too large (SharePoint Server 2010)

    This article describes how to resolve the SharePoint Health Analyzer event by editing the rule definition to prevent new sites from being added to the databases, and then moving some site collections to other databases.

  • Trial period for this product is about to expire (SharePoint Server 2010)

    This article describes how to resolve the SharePoint Health Analyzer event by purchasing the product.


Web Applications using Claims authentication require an update (SharePoint Server 2010)

Rule Name: Web Applications using Claims authentication require an update

Event ID: None

Summary: Web applications that use claims-based authentication are at risk for a potential security vulnerability that might allow users to elevate privileges. Web servers that host Web applications that use claims-based authentication are potentially vulnerable.

Cause: This can happen when you deploy a Microsoft ASP.NET 2.0-based Web application to a Web site that is hosted on a server running Microsoft SharePoint Server 2010 and you have Internet Information Services (IIS) 7.0 or IIS 7.5 running in Integrated mode on the server.

If you deploy partially trusted Web Parts or create external lists on the SharePoint site, these Web Parts or external lists can have more permissions than they should have. This issue might create a security risk on the SharePoint site. For example, these Web Parts or external lists may unexpectedly generate database requests or HTTP requests.

This issue occurs because of a change in the ASP.NET 2.0 authentication component. The change causes the partially trusted Web Parts or external lists to impersonate the application pool account. Therefore, the Web Parts have full permission to access the SharePoint site.

Resolution: Install the update

  • To download the update, go to KB979917 - QFE for SharePoint issues - Perf Counter fix & User Impersonation.

  • For more information about update, see Knowledge Base article 979917.


Automatic update setting inconsistent across farm servers (SharePoint Foundation 2010)

Published: May 29, 2010

Rule Name: Automatic update setting inconsistent across farm servers

Summary: Servers in the SharePoint farm do not have the same Automatic Update settings configured.

Cause: One or more servers in the farm have Automatic Update settings that are different from the other servers in the farm.

Resolution: Ensure all servers in the farm have the same Automatic Update settings

  • Verify that you are a member of the Administrators group on the local computer.

  • Choose an Automatic Update setting that is consistent on each server on the farm. On each server in the farm, open the Automatic Update settings page and ensure the settings are configured according to the planned consistent setting.

    1. Click Start, click All Programs, and then click Windows Update.

    2. On the Windows Update Control Panel page, click Change settings.

    3. On the Choose how Windows can install updates screen, make sure that the update settings are what you want. Change the update settings if necessary.

      Note:

      If you cannot change the update settings, the update settings may be locked because of group policy. If this is the case, ensure that the same group policy is being applied to other servers in the farm.


Diagnostic logging is set to verbose (SharePoint Foundation 2010)

Published: May 29, 2010

Rule Name: Diagnostic logging is set to verbose

Summary: SharePoint Server writes diagnostic logging information to record activity on the server. The logs contain information that can help you diagnose server problems. This rule occurs when diagnostic logging is set to verbose. The verbose setting is appropriate when you have to diagnose a server problem, but you should turn off verbose logging during normal operations.

Cause: One or more categories of diagnostic logging are set to verbose.

Resolution: Reset diagnostic logging to the default level

  1. Verify that the user account that is performing this procedure is a member of the Farm Administrators group.

  2. On the Central Administration Home page, click Monitoring.

  3. On the Monitoring page, in the Reporting section, click Configure diagnostic logging.

  4. In the Event Throttling section, in the Least critical event to report to the event log list and Least critical event to report to the trace log list, select Reset to default.

  5. Click OK.


The server farm account should not be used for other services (SharePoint Foundation 2010)

Published: July 8, 2010

Rule Name: The server farm account should not be used for other services

Summary: The account that is used to run the SharePoint 2010 Timer service and other system services in the SharePoint farm should not be used for other services in the farm.

Cause: The Farm Account, which is used for the SharePoint 2010 Timer service and the Central Administration site, is highly privileged and should not be used for other services on any computers in the server farm. Services in the farm were found to use this account.

Resolution: Change the account that is used for other services

  1. Verify that the user account that is performing this procedure is a member of the Farm Administrators SharePoint group.

  2. On the Central Administration home page, click Security, and then in the General Security section, click Configure service accounts.

  3. On the Service Accounts page, in the Credential Management section, in the upper drop-down list, click the service for which you want to update credentials.

  4. In the Select an account for this component list, click the domain account that you want to associate with this service.

  5. If you want to register the account that you selected on the SharePoint Server 2010 farm, click Register Managed Account.

  6. Click OK.


One or more services have started or stopped unexpectedly (SharePoint Foundation 2010)

Published: July 8, 2010

Rule Name: One or more services have started or stopped unexpectedly

Summary: A critical service required for the SharePoint farm to function is not running.

Cause: One or more critical services are not running on the specified server.

Resolution: Start the service that is not running

  1. Verify that the user account that is performing this procedure is a member of the Administrators group on the local computer.

  2. Click Start, click Administrative Tools, and then click Services.

  3. Right-click the service that you want to start, and then click Start.


Databases used by SharePoint have fragmented indices (SharePoint Foundation 2010)
See Also

Published: July 8, 2010

Rule Name: Databases used by SharePoint have fragmented indices

Summary: Microsoft SharePoint Server 2010 uses Microsoft SQL Server to store most of the content for the Web site and configuration settings. One or more of the databases used by SharePoint Server have fragmented indexes. A fragmented index can cause degradation in performance.

Cause: Database indexes can fragment over time as a result of insert and update operations performed by SharePoint Server. We recommend that you periodically delete and rebuild these indexes to improve system performance.

Resolution: Reorganize and rebuild indexes

  1. To correct index fragmentation, you can reorganize an index or rebuild an index. For information, see Reorganizing and Rebuilding Indexes (http://go.microsoft.com/fwlink/p/?LinkID=160083&clcid=0x409).

See Also

Other Resources

Example: Index fragmentation with insert/updates, measuring it and fixing it


InfoPath Forms Services Maintenance Timer Job not enabled (SharePoint Server 2010)

Published: July 8, 2010

Rule Name: The InfoPath Forms Services Maintenance timer job is not enabled

Summary: The InfoPath Forms Services Maintenance timer job is not enabled.

The InfoPath Forms Services Maintenance timer job is used by InfoPath Forms Services to improve performance by caching form template data on each front-end Web server.

Cause: The timer job may have been disabled on the Job Definitions page on the Central Administration Web site or the Windows PowerShell cmdlet Disable-SPTimerJob was used.

Resolution: Enable the timer job by using the Central Administration Web site

  1. Verify that the user account that is performing this procedure is a member of the Farm Administrators SharePoint group.

  2. On the home page of the Central Administration Web site, click Monitoring.

  3. Click Review Job definitions.

  4. Click InfoPath Forms Services Maintenance.

  5. Click Enable.

Resolution: Enable the timer job by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell command prompt, type the following command:

    Copy Code
    Enable-SPTimerJob "<FormsMaintenanceJobDefinition>"

    Where:

    • <FormsMaintenanceJobDefintion> is the actual name of the timer job to enable.

For more information, see Enable-SPTimerJob.


Validate the My Site Host and individual My Sites are on a dedicated Web application and separate URL domain (SharePoint Server 2010)

Published: July 8, 2010

Rule Name: Validate the My Site Host and individual My Sites are on a dedicated Web application and separate URL domain

Summary: For performance and manageability reasons, we recommend that the My Site host and individual My Sites be deployed in a dedicated Web application. The owner of each individual My Site is the site collection administrator for that My Site. Having a dedicated Web application for the My Site host and individual My Sites reduces the security risk that a My Site owner can introduce same-domain scripting attacks on other sites that are hosted on the same Web application.

Cause: The My Site host and individual My Sites are deployed in the same Web application as the root site collection. If the User Profile Service was configured by using the Farm Configuration Wizard, this is how My Sites are set up.

Resolution: Set up a dedicated Web application

  • We recommend that you have a separate, dedicated Web application to host the My Site host and individual My Sites.

    For more information, see Create a Web application (SharePoint Server 2010).


Search scopes not defined for My Sites (SharePoint Server 2010)

Published: July 8, 2010

Rule Name: Search scopes not defined for My Sites

Summary: When you create a My Site host, it is important to make sure that search scopes are defined for the My Site host and My Sites. Otherwise, performance can be degraded on My Site pages, causing very high latencies, low throughput, and high CPU utilization on the Web server.

Cause: The administrator did not define search scopes for My Sites and the My Site host.

Resolution: Define search scopes for My Sites and the My Site host

  1. Verify that the user account that is performing this procedure is an administrator for the User Profile Service service application.

  2. On the Central Administration Home page, in the Application Management section, click Manage service applications.

  3. On the Manage Service Applications page, click the User Profile Service service application.

  4. On the User Profile Service page, in the My Site Settings section, click Setup My Sites.

  5. On the My Site Settings page, in the Preferred Search Center section, select the correct search scopes from the Search scope for finding people and Search scope for finding documents lists.

    Typically, the setting for the Search scope for finding people list is People and the Search scope for finding documents list is All Sites.

  6. Click OK.


Verify each User Profile service application has a My Site host configured (SharePoint Server 2010)

Published: July 8, 2010

Rule Name: Verify each User Profile service application has a My Site Host configured

Summary: Without a My Site host, end-users are not able to use personal sites or people profiles. Therefore, we recommend that if you create a User Profile Service service application, you also create a My Site host for the User Profile Service.

Symptoms: My Sites and other people profile features are not available to users.

Cause: The administrator who created the User Profile Service service application did not also create a My Site host.

Resolution: Verify that a My Site site collection has been created

  • For information about setting up a My Site site collection, see Set up My Sites (SharePoint Server 2010).

Resolution: Associate the My Site host with a User Profile Service service application by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell command prompt, type the following command:

    Copy Code
    Set-SPProfileServiceApplication [-Name <UserProfileServiceApplicationName>] -MySiteHostLocation <URL>

    Where:

    • <UserProfileServiceApplicationName> is the friendly name of the User Profile Service service application. If you only have one User Profile Service service application, you do not need to specify the name.

    • <URL> is URL of an empty site collection that has no templates associated with it.


Visio Graphics Service has a maximum cache age setting that will adversely impact performance (SharePoint Server 2010)

Published: July 8, 2010

Rule Name: The Visio Graphics Service has a maximum cache age setting that will adversely impact performance

Summary: The Visio Graphics Service has a maximum cache age setting that will adversely impact performance. If the Maximum Cache Age setting is longer than 60 minutes it might result in a large memory load of the Visio Graphics Service.

Cause: The Maximum Cache Age setting was set greater than 60 minutes.

Resolution: Reduce the value of the Maximum Cache Age setting

  1. Verify that the user account that is performing this procedure is an administrator of the Visio Graphics Service service application.

  2. In Central Administration, on the Home page, in the Application Management section, click Manage service applications.

  3. On the Service Applications page, click the Visio Graphics service application.

  4. On the Manage the Visio Graphics Service page, click Global Settings.

  5. Ensure that the settings have the values that are listed in the following table. If they do not, type the value in the corresponding text box.

    Setting Value

    Maximum Web Drawing Size

    <= 5 (Megabytes)

    Minimum Cache Age

    >= 5 (Minutes)

    Maximum Cache Age

    <= 60 (Minutes)

    Maximum Recalc Duration

    <= 60 (Seconds)

  6. Click OK.


The Visio Graphics Service has a Maximum Web Drawing Size setting that will adversely impact performance (SharePoint Server 2010)

Published: July 8, 2010

Rule Name: The Visio Graphics Service has a Maximum Web Drawing Size setting that will adversely impact performance

Summary: The Visio Graphics Service has a maximum Web drawing size setting that will adversely affect performance. If the Maximum Web Drawing Size setting is larger than 5 MB, it might result in increased bandwidth usage, decreasing the expected performance of the Visio Graphics Service.

A Web drawing size increases performance by downloading smaller images which, minimizes bandwidth usage.

Cause: The Maximum Web Drawing Size setting was set greater than 5 MB.

Resolution: Decrease the value of the Maximum Web Drawing Size setting

  1. Verify that the user account that is performing this procedure is an administrator of the Visio Graphics Service service application.

  2. In Central Administration, on the Home page, in the Application Management section, click Manage service applications.

  3. On the Service Applications page, click the Visio Graphics service application.

  4. On the Manage the Visio Graphics Service page, click Global Settings.

  5. Ensure that the settings have the values that are listed in the following table. If they do not, type the value in the corresponding text box.

    Setting Value

    Maximum Web Drawing Size

    <= 5 (Megabytes)

    Minimum Cache Age

    >= 5 (Minutes)

    Maximum Cache Age

    <= 60 (Minutes)

    Maximum Recalc Duration

    <= 60 (Seconds)

  6. Click OK.


Visio Graphics Service has a maximum recalculation duration setting that will adversely impact performance (SharePoint Server 2010)

Published: July 8, 2010

Rule Name: The Visio Graphics Service has a maximum recalc duration setting that will adversely impact user perceived performance

Summary: The Visio Graphics Service has a maximum recalculation duration setting that will adversely affect performance. If the Maximum Recalc Duration setting is longer than 60 seconds, it might result in large processor load of the Visio Graphics Service and Microsoft SharePoint Server 2010, decreasing the expected performance of both.

A shorter duration increases performance by only allowing simple data-connected diagrams to be recalculated by the server, minimizing CPU and memory usage. A longer duration allows the recalculation of more complex data-connected diagrams while using more CPU cycles and memory. The default duration is 60 seconds.

Cause: The Maximum Recalc Duration setting was set longer than 60 seconds.

Resolution: Decrease the value of the Maximum Recalc Duration setting

  1. Verify that the user account that is performing this procedure is an administrator of the Visio Graphics Service service application.

  2. In Central Administration, on the Home page, in the Application Management section, click Manage service applications.

  3. On the Service Applications page, click the Visio Graphics service application.

  4. On the Manage the Visio Graphics Service page, click Global Settings.

  5. Ensure that the settings have the values that are listed in the following table. If they do not, type the value in the corresponding text box.

    Setting Value

    Maximum Web Drawing Size

    <= 5 (Megabytes)

    Minimum Cache Age

    >= 5 (Minutes)

    Maximum Cache Age

    <= 60 (Minutes)

    Maximum Recalc Duration

    <= 60 (Seconds)

  6. Click OK.


The Visio Graphics Service has a minimum cache age setting that may cause a security issue (SharePoint Server 2010)

Published: July 8, 2010

Rule Name: The Visio Graphics Service has a minimum cache age setting that may cause a security issue

Summary: Setting Minimum Cache Age to 0 minutes may leave the Visio Graphics Service open to a denial of service (DoS) attack. A value of 0 for this setting might lead to large processor and network load of the Visio Graphics Service and Microsoft SharePoint Server 2010, decreasing the expected performance of both. However, increasing this value means that users will not see their data-connected diagrams refreshing as frequently.

Cause: The Minimum Cache Age setting was set to 0 minutes.

Resolution: Increase the value of the Minimum Cache Age setting

  1. Verify that the user account that is performing this procedure is an administrator of the Visio Graphics Service service application.

  2. In Central Administration, on the Home page, in the Application Management section, click Manage service applications.

  3. On the Service Applications page, click the Visio Graphics service application.

  4. On the Manage the Visio Graphics Service page, click Global Settings.

  5. Ensure that the settings have the values that are listed in the following table. If they do not, type the value in the corresponding text box.

    Setting Value

    Maximum Web Drawing Size

    <= 5 (Megabytes)

    Minimum Cache Age

    >= 5 (Minutes)

    Maximum Cache Age

    <= 60 (Minutes)

    Maximum Recalc Duration

    <= 60 (Seconds)

  6. Click OK.


The Visio Graphics Service has a minimum cache age setting that will adversely impact performance (SharePoint Server 2010)

Published: July 8, 2010

Rule Name: The Visio Graphics Service has a minimum cache age setting that will adversely impact performance

Summary: The Visio Graphics Service has a minimum cache age setting that will adversely affect performance. If the Minimum Cache Age setting is shorter than 5 minutes, it might result in large processor and network load of the Visio Graphics Service and Microsoft SharePoint Server 2010, decreasing the expected performance of both. However, increasing this value means that users will not see their data-connected diagrams refreshing as frequently.

Cause: The Minimum Cache Age setting was set shorter than 5 minutes.

Resolution: Increase the value of the Minimum Cache Age setting

  1. Verify that the user account that is performing this procedure is an administrator of the Visio Graphics Service service application.

  2. In Central Administration, on the Home page, in the Application Management section, click Manage service applications.

  3. On the Service Applications page, click the Visio Graphics service application.

  4. On the Manage the Visio Graphics Service page, click Global Settings.

  5. Ensure that the settings have the values listed in the following table. If they do not, type the values in the corresponding text boxes, and then click OK.

    Setting Value

    Maximum Web Drawing Size

    <= 5 (Megabytes)

    Minimum Cache Age

    >= 5 (Minutes)

    Maximum Cache Age

    <= 60 (Minutes)

    Maximum Recalc Duration

    <= 60 (Seconds)

  6. Click OK.


All State Service databases are paused for a State Service Application (SharePoint Server 2010)

Published: July 8, 2010

Rule Name: All State Service databases are paused for a State Service Application

Summary: All of the databases associated with a State Service service application are paused. This may result in errors when using some Microsoft SharePoint Server 2010 components such as InfoPath Web browser forms and the Microsoft SharePoint Chart Web Part.

Cause: This might be caused by the administrator pausing all databases for the service application.

Resolution: Resume the State Service service application databases by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. To identify the paused database, type the following command at the Windows PowerShell command prompt:

    Copy Code
    Get-SPStateServiceDatabase

  6. If you want to resume a paused database, type the following command at the Windows PowerShell command prompt:

    Copy Code
    Resume-SPStateServiceDatabase -Identity <DatabaseID>

    Where:

    • <DatabaseID> is the identifier for the State Service service application database as a GUID.

  7. If you want to create a new database instead of using an existing database, type the following command at the Windows PowerShell command prompt:

    Copy Code
    New-SPStateServiceDatabase -Name <DatabaseName> -ServiceApplication <ID> -DatabaseServer <ServerName> [-DatabaseCredentials <Credential>]

    Where:

    • <DatabaseName> is name of the database as a string.

    • <ID> is the identifier for the affected State Service service application as a string or a GUID. If there is only one State Service service application, you do not have to specify this parameter.

    • <ServerName> is name of the database server.

    • <Credential> is SQL Server authentication credentials for the database server. If this parameter is not specified, Windows authentication will be used.

For more information, see Resume-SPStateServiceDatabase or New-SPStateServiceDatabase.


A State Service Application has no database defined (SharePoint Server 2010)

Published: July 8, 2010

Rule Name: A State Service Application has no database defined

Summary: A State Service service application has no State Service database defined. This may result in errors when using some SharePoint components such as InfoPath Web browser forms and the Microsoft SharePoint Server Chart Web Part.

Cause: One or more of the following might be causing this:

  • The farm administrator deleted all databases associated with the State Service service application.

  • The farm administrator never created or associated a database with the State Service service application.

Resolution: Create a new database or use an existing database for the State Service service application by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. If no database already exists that you can use, type the following command at the Windows PowerShell command prompt:

    Copy Code
    New-SPStateServiceDatabase -Name <DatabaseName> -DatabaseServer <ServerName> [-DatabaseCredentials <Credential>] [-ServiceApplication <ID>]

    Where:

    • <DatabaseName> is name of the database as a String.

    • <ServerName> is name of the database server.

    • <Credential> is SQL Server authentication credentials for the database. If this parameter is not used, Windows authentication will be used.

    • <ID> is the identifier for the State Service service application as a string or a GUID. If there is only one State Service service application, you do not have to specify this parameter.

  6. In some environments, you must connect to an existing, empty SQL database. In this case, type the following command at the Windows PowerShell command prompt:

    Copy Code
    Mount-SPStateServiceDatabase -Name <DatabaseName> -DatabaseServer <ServerName> [-DatabaseCredentials <Credential>] [-ServiceApplication <ID>]

    Where:

    • <DatabaseNname> is name of the database as a String.

    • <ServerName> is name of the database server.

    • <Credential> is the SQL Server authentication credentials for the database. If this parameter is not used, Windows authentication will be used.

    • <ID> is the identifier for the State Service service application as a string or a GUID. If there is only one State Service service application, you do not have to specify this parameter.

For more information, see Mount-SPStateServiceDatabase or New-SPStateServiceDatabase.


InfoPath Forms Services forms cannot be filled out in a Web browser because no State Service connection is configured (SharePoint Server 2010)

Published: July 8, 2010

Rule Name: InfoPath Forms Services forms cannot be filled out in a Web browser because no State Service connection is configured

Summary: InfoPath Forms Services depends on the Web application having a service connection to a State Service Proxy to store data across HTTP requests. Without a service connection, users cannot successfully open or fill browser-enabled InfoPath forms.

Cause: No service connection for the State Service is configured for the Web application that is in the Health Analyzer alert.

Resolution: Configure a service connection by using Central Administration

  1. Verify that the user account performing this procedure is a member of the Farm Administrators group.

  2. If a State Service already exists, you can proceed to step 7.

  3. If a State Service does not exist, you must create one. To do this, in Central Administration, on the home page, click Configuration Wizards.

  4. On the Configuration Wizards page, under Farm Configuration, click Launch Farm Configuration Wizard.

  5. On the Configure your Farm page, click Start the Wizard.

  6. On the next page, ensure that the State Service check box is selected, and then click OK at the bottom of the page.

  7. Complete the wizard to create the State Service.

  8. Associate the State Service with the Web application mentioned in the health analyzer rule. To do this in Central Administration, on the home page, under Application Management, click Manage web applications.

  9. On the Web Applications page, click the Web application for which you want to configure a service connection, and then click Service Connections on the ribbon.

  10. In the Configure Service Application Associations dialog box, ensure that the State Service check box is selected, and then click OK.


Expired sessions are not being deleted from the ASP.NET Session State database (SharePoint Server 2010)

Published: July 8, 2010

Rule Name: Expired sessions are not being deleted from the ASP.NET Session State database

Summary: If expired sessions are not deleted, the server that hosts the ASP.NET Session State database may run out of disk space and the SharePoint farm may cease to function.

Cause: One or more of the following might be causing this:

  • The SQL Server Agent service was stopped.

  • SQL Server Express is installed.

    Important:

    You cannot run the SQL Server Agent service on an instance of SQL Server Express.

Resolution: Start the SQL Server Agent service

  1. Verify that the user account that is performing this procedure is a member of the Administrators group on the database server that is hosting the ASP.NET Session State database.

  2. In the Services snap-in, start the SQL Server Agent service.


The State Service Delete Expired Sessions timer job is not enabled (SharePoint Server 2010)

Published: July 8, 2010

Rule Name: The State Service Delete Expired Sessions timer job is not enabled

Summary: The State Service uses a timer job to delete data for expired sessions from the State Service databases. If this timer job is not enabled, the server that hosts the State Service database will run out of disk space and the SharePoint farm will cease to function

Cause: The State Service Delete Expired Sessions timer job is not enabled.

Resolution: Enable the timer job by using Central Administration

  1. Verify that the user account that is performing this procedure is a member of the Farm Administrators group.

    Note:

    The timer job settings are farm-wide and cannot be set for individual servers in the farm.

  2. In Central Administration, on the Home page, click Monitoring.

  3. On the Monitoring page, in the Timer Jobs section, click Review job definitions.

  4. On the Job Definitions page, click the State Service Delete Expired Sessions timer job.

  5. On the Edit Timer Job page, specify the schedule that you want, and then click Enable.

Resolution: Enable the timer job by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell command prompt, type the following command:

    Copy Code
    Enable-SPTimerJob StateServiceExpiredSessionJobDefinition

For more information, see Enable-SPTimerJob.

Note:

We recommend that you use Windows PowerShell when performing command-line administrative tasks. The Stsadm command-line tool has been deprecated, but is included to support compatibility with previous product versions.


One or more Search crawl databases have fragmented indices (SharePoint Server 2010)

Published: July 8, 2010

Rule Name: Search - One or more crawl databases may have fragmented indices

Summary: This article describes the SharePoint Health Analyzer rule for Search service application crawl database defragmentation. The fragmentation of crawl data indexes occurs on a different level than regular disk fragmentation. It occurs in each crawl database as data is created, updated, or deleted during normal crawl activity. When you run the health rule, the system makes used storage contiguous, eliminates unused storage, and compacts the database.

We recommend that you run the crawl database rule under the following circumstances:

  • If you are using Microsoft SQL Server 2008 Enterprise. Running the crawl database rule automatically enables the Page Compression feature to optimize I/O and disk storage usage.

  • If significant performance degradation is determined to be caused by crawl database fragmentation. This should be a rare occurrence because crawl databases will usually have some level of fragmentation.

Symptoms: One or more of the following symptoms might appear:

  • Crawl rate may decrease as more time is spent writing crawl history to the crawl database.

  • The crawl database defragmentation health rule is run and attempts to correct the fragmentation. Note: when this rule is correcting the fragmentation, the crawl rate is affected. Crawl rate may decrease as more time is spent writing metadata to the property database.

Cause: Fragmentation exists when indexes have pages in which the logical ordering, based on the key value, does not match the physical ordering inside the data file. All leaf pages of an index contain pointers to the next and the previous pages in the index. This forms a doubly linked list of all index/data pages. Ideally, the physical order of the pages in the data file should match the logical ordering. Overall disk throughput is increased when the physical ordering matches the logical ordering of the data.

For more information about database fragmentation, including how to manually detect and repair fragmented indexes, see the Microsoft SQL Server documentation.

Resolution: Enable and run the crawl database defragmentation health rule

  1. Verify that the user account that is performing this procedure is a member of the Farm Administrators group.

  2. In Central Administration, on the home page, click Monitoring.

  3. On the Monitoring page, in the Health Analyzer section, click Review rule definitions.

  4. On the All Rules page, in the Performance section, click Search - One or more crawl databases may have fragmented indices.

  5. If the rule is not enabled, in the Health Analyzer Rule Definitions dialog, click Edit Item on the ribbon. Ensure that the Enabled check box is selected, and then click Save on the ribbon.

  6. On the ribbon, click Run Now.

  7. Click Close.

The rule iterates over all crawl databases in all Search service applications. When it runs, it attempts to perform an online defragmentation first, and then it switches to offline defragmentation where required. In online defragmentation, only the SQL Server leaf pages are defragmented, not the SQL Server locked pages. In offline defragmentation, the locked pages and all the leaf pages are defragmented.

Note:

In SQL Server 2008 Enterprise, the health rule automatically enables the Page Compression feature to optimize I/O and disk usage.


One or more Search property databases have fragmented indices (SharePoint Server 2010)

Published: July 8, 2010

Rule Name: Search - One or more property databases have fragmented indices

Summary: This article gives more information about the SharePoint Health Analyzer rule for Search service application property database defragmentation. The fragmentation of property data indexes occurs on a different level than regular disk fragmentation; it occurs within each property database as data is created, updated, or deleted during normal crawl activity. Running the property database health rule makes used storage contiguous, eliminates unused storage, and compacts the database.

Symptoms: One or more of the following symptoms might appear:

  • Query latency might increase.

  • Crawl rate may decrease as more time is spent writing metadata to the property database.

  • The property database defragmentation health rule detects that one or more property databases have fragmented indexes and attempts to correct the fragmentation. Note: when this rule is correcting the fragmentation, query latency and crawl rate are affected.

Cause: Fragmentation exists when indexes have pages in which the logical ordering, based on the key value, does not match the physical ordering inside the data file. All leaf pages of an index contain pointers to the next and the previous pages in the index. This forms a doubly linked list of all index/data pages. Ideally, the physical order of the pages in the data file should match the logical ordering. Overall disk throughput is significantly increased when the physical ordering matches the logical ordering of the data.

Refer to Microsoft SQL Server documentation for more details about database fragmentation, including how to manually detect and repair fragmented indexes.

Resolution: Enable and run the property database defragmentation health rule

  1. In Central Administration, on the home page, click Monitoring.

  2. On the Monitoring page, in the Health Analyzer section, click Review rule definitions.

  3. On the All Rules page, in the Performance section, click the Search - One or more property databases have fragmented indices rule.

  4. If the rule is not enabled, in the Health Analyzer Rule Definitions dialog box, click Edit Item on the ribbon. Ensure that the Enabled check box is selected, and then click Save on the ribbon.

  5. Click Run Now on the ribbon.

  6. Click Close.

By default, the property database defragmentation rule is enabled to run once a week over all property databases in all Search service applications. When the rule runs, it determines whether a given property database exceeds the preset fragmentation percentage. If a property database exceeds the preset fragmentation percentage, the health rule attempts to perform an online defragmentation first. Then it switches to offline defragmentation where required. In online defragmentation, only the Microsoft SQL Server leaf pages are defragmented, not the SQL Server locked pages. In offline defragmentation, the locked pages and all the leaf pages are defragmented.

Note:

On Microsoft SQL Server 2008 Enterprise, the health rule automatically enables the Page Compression feature to optimize I/O and disk usage.


InfoPath Forms Services forms cannot be filled out in a Web browser (SharePoint Server 2010)

Published: July 8, 2010

Rule Name: InfoPath form library forms cannot be filled out in a Web browser

Summary: InfoPath Forms Services users can publish browser-enabled form templates to a Microsoft SharePoint Server 2010 form library but cannot open the forms in a Web browser.

Note:

This issue only applies to forms published to form libraries. It does not apply to list forms or to forms that have been uploaded by farm administrators.

Cause: One or more of the following might be causing this:

  • The Render form templates that are browser-enabled by users check box in Central Administration is cleared.

  • The following Windows PowerShell command has been run: Set-SPInfoPathFormsService -AllowUserFormBrowserRendering $false.

Resolution: Enable browser rendering of user forms by using Central Administration

  1. Verify that the user account that is performing this procedure is a member of the Farm Administrators SharePoint group.

  2. In Central Administration, on the Home page, click General Application Settings.

  3. On the General Application Settings page, in the InfoPath Forms Services section, click Configure InfoPath Forms Services.

  4. On the Configure InfoPath Forms Services page, in the User Browser-enabled Form Templates section, select the Render form templates that are browser-enabled by users check box.

  5. Click OK at the bottom of the page.

Resolution: Enable browser rendering of user forms by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell command prompt, type the following command:

    Copy Code
    Set-SPInfoPathFormsService -AllowUserFormBrowserRendering $true

For more information, see Set-SPInfoPathFormsService.


Word Automation Service timer job is not running (SharePoint Server 2010)

Published: August 5, 2010

Rule Name: A Word Automation Services timer job is not running

Summary: Critical state of this SPHA rule indicates that the Word Automation Services Timer Job is not running when it should be running.

Cause: Word Automation Services uses a custom Timer Job to pull conversion items from the Word Automation Services database and then assign those conversion items to individual application servers. If the custom Timer Job does not run then conversion items cannot begin to convert.

Resolution: Enable the timer job by using the Central Administration Web site

  1. Verify that the user account that is performing this procedure is a member of the Farm Administrators SharePoint group.

  2. On the home page of the Central Administration Web site, click Monitoring.

  3. Click Review Job definitions.

  4. Click Word Automation Services Timer Job.

  5. Click Enable.

Resolution: Enable the timer job by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell command prompt, type the following command:

    Copy Code
    Enable-SPTimerJob "Word Automation Services"

For more information, see Enable-SPTimerJob.

Resolution Verify that the Word Automation Services service is provisioned correctly

  1. To verify that the Word Automation Services service is provisioned correctly, see Configuring Word Automation Services for Development.

Resolution See other troubleshooting information

  1. For additional trouble shooting steps, see Word Automation Services Troubleshooting (SharePoint Server 2010).


The Application Discovery and Load Balancer Service is not running in this farm (SharePoint Server 2010)

Published: November 15, 2011

Rule Name: The Application Discovery and Load Balancer Service is not running in this farm.

Summary: The Application Discovery and Load Balancer service provides information about the topology of the farm to users who are using services offered by the farm. Users can use this information to perform load balancing. The Application Discovery and Load Balancer Service should be running on at least one server in the farm.

Cause: The Application Discovery and Load Balancer service is stopped.

Resolution: Start the Application Discovery and Load Balancer service on at least one server in the farm.

  1. Verify that you meet the following minimum requirements: You are a member of the SharePoint_Shell_Access role on the configuration database and a member of the WSS_ADMIN_WPG local group on the computer where SharePoint 2010 Products is installed.

  2. On the Start menu, click All Programs, click Microsoft SharePoint 2010 Products, and then click SharePoint 2010 Management Shell.

  3. At the Windows PowerShell command prompt, type the following command:

    Get-SPServiceInstance -ALL

    For more information, see Get-SPServiceInstance.

  4. Find the GUID of the Application Discovery and Load Balancer service.

  5. Type the following command:

    Start-SPServiceInstance [-Identity]

    Where [-Identity] is the GUID for the Application Discovery and Load Balancer service. For more information, see Start-SPServiceInstance.


Databases running in compatibility range, upgrade recommended (SharePoint Server 2010)
See Also

Published: November 15, 2011

Rule Name: Databases running in compatibility range, upgrade recommended.

Summary: The databases have versions that are earlier than the current SharePoint software, but are within the backward-compatible range. To achieve optimal results, upgrade the databases.

Cause: Versions of databases are earlier than the current SharePoint software.

Resolution: Upgrade databases to SQL Server 2008 R2.

  • See the following resource for information about how to upgrade databases: Upgrading to SQL Server 2008 R2.

See Also

Other Resources

Microsoft SQL Server 2008 R2 Enterprise Edition and Microsoft SharePoint Server 2010: Better Together


Databases require upgrade or not supported (SharePoint Server 2010)
See Also

Published: November 15, 2011

Rule Name: Databases require upgrade or not supported.

Summary: The databases require upgrade because their versions are earlier than the backward-compatible range, or the databases are not supported because their versions are later than the current version of Microsoft SharePoint Server 2010.

Cause: Versions of databases are earlier than the backward-compatible range, or are later than the current version of SharePoint Server 2010.

Resolution: Upgrade databases to SQL Server 2008 R2.

  • See the following resource for information about how to upgrade databases: Upgrading to SQL Server 2008 R2.

See Also

Other Resources

Microsoft SQL Server 2008 R2 Enterprise Edition and Microsoft SharePoint Server 2010: Better Together


Databases within this farm are set to read only and will fail to upgrade unless it is set to a read-write state (SharePoint Server 2010)

Published: November 15, 2011

Rule Name: Databases within this farm are set to read only and will fail to upgrade unless it is set to a read-write state

Summary: The databases are set to read-only and cannot be upgraded.

Cause: The databases are set to read-only.

Resolution: Set the databases to read-write.

  • See Content database is Read-Only - Event 4971 (SharePoint 2010 Products).


Drives used for SQL databases are running out of free space (SharePoint Server 2010)

Published: November 15, 2011

Rule Name: Drives used for SQL databases are running out of free space.

Summary: The databases have one or more files that exceed the available free disk drive space. If this happens, operations will fail. A disk drive should have enough free space to allow the largest database file to automatically grow to twice its size.

Cause: The databases have large files that may exceed the available free space.

Resolution: Free disk space on the database server computer.

  1. Verify that the user account that is performing the following step is a member of the Administrators group on the local database server computer.

  2. Click Start, click All Programs, click Accessories, click System Tools, and then click Disk Defragmenter.

  3. Run the Disk Defragmenter tool to free disk space on the server computer.

  4. If the event persists, move some large files to another disk drive to free up space.

Resolution: Decrease the number of days to store log files.

  1. Verify that the user account that is performing this procedure is a member of the Farm Administrators group.

  2. On the Central Administration Home page, click Monitoring.

  3. On the Monitoring page, in the Reporting section, click Configure diagnostic logging.

  4. On the Diagnostic Logging page, in the Trace Log section, in the Number of days to store log files box, type a smaller number.

  5. Click OK.


Databases used by SharePoint have outdated index statistics (SharePoint Server 2010)
See Also

Published: November 15, 2011

Rule Name: Databases used by SharePoint have outdated index statistics.

Summary: Outdated index statistics can decrease query performance and cause Microsoft SharePoint Server 2010 to respond slowly.

Cause: Index statistics in SharePoint Server 2010 databases are out of date.

Resolution: Edit the rule definition so that the configuration is automatically repaired.

  1. Verify that the user account that is performing this procedure is a member of the Farm Administrators group.

  2. On the Central Administration Home page, click Monitoring.

  3. On the Monitoring page, in the Health Analyzer section, click Review rule definitions.

  4. On the Health Analyzer Rule Definitions - All Rules page, in the Category: Configuration section, click the name of the rule.

  5. In the Health Analyzer Rule Definitions dialog box, click Edit Item.

  6. Select the Repair Automatically check box, and then click Save.

See Also

Other Resources

Index Statistics


Content databases contain orphaned items (SharePoint Foundation 2010)

Published: July 8, 2010

Rule Name: Content databases contain orphaned items

Summary: The SharePoint Health Analyzer has detected some sites in a content database that are not referenced in the configuration database. These sites may not be accessible.

Cause: A restore operation that was not completed can result in sites in a content database that are not referenced in the SharePoint configuration database.

Resolution: Remove orphaned sites from the content databases

  1. Verify that the user account that is performing this procedure is a member of the Farm Administrators group.

  2. On the Central Administration Home page, click Monitoring.

  3. On the Monitoring page, in the Health Analyzer section, click Review problems and solutions.

  4. On the Review problems and solutions page, click the alert for the failing rule, and then click Fix Now. Keep the dialog box open so you can run the rule again to confirm the resolution.

    Note:

    The Fix Now feature removes all orphans from the content database.

  5. After following the steps in the Remedy section, in the Review problems and solutions dialog box for the alert, click Reanalyze Now to confirm the resolution. If the problem is resolved, the rule is not flagged as a failing rule on the Review problems and solutions page.


Outbound e-mail has not been configured (SharePoint Foundation 2010)

Published: July 8, 2010

Rule Name: Outbound e-mail has not been configured

Summary: An outgoing e-mail server has not been configured on this SharePoint Server deployment. With no SMPT server configured for outgoing e-mail, SharePoint Server cannot send e-mail messages, including alert e-mail, confirmation e-mail, invitation e-mail, and e-mail about exceeding quotas.

Cause: An SMPT e-mail server has not yet been configured in the farm.

Resolution: Configure outgoing e-mail settings in Central Administration

  1. Verify that the user account that is performing this procedure is a member of the Farm Administrators group.

  2. On the Central Administration Home page, click System Settings.

  3. On the System Settings page, in the E-Mail and Text Messages (SMS) section, click Configure outgoing e-mail settings.

  4. On the Outgoing E-Mail Settings page, in the Mail Settings section, type the SMTP server information in the Outbound SMTP server box, and then specify the addresses and the character set that you want to use.

  5. Click OK.


Some health analyzer rules do not have associated timer jobs (SharePoint Foundation 2010)

Published: July 8, 2010

Rule Name: Some health analyzer rules do not have associated timer jobs

Summary: The timer jobs that run SharePoint Health Analyzer rules do not exist on this SharePoint Server 2010 deployment.

Cause: Some or all of the SharePoint Health Analyzer rules may not run if the health data collection timer jobs are not configured.

Resolution: Create the health data collection timer jobs

  1. Verify that the user account that is performing this procedure is a member of the Farm Administrators group.

  2. On the Central Administration Home page, click Monitoring.

  3. On the Monitoring page, in the Health Analyzer section, click Review problems and solutions.

  4. On the Review problems and solutions page, click the alert for the failing rule, and then click Fix Now.

  5. After following the guidance given in the Remedy section, in the Review problems and solutions dialog box for the alert, click Reanalyze Now to confirm the resolution. If the problem is resolved, the rule is not flagged as a failing rule on the Review problems and solutions page.


Drives are running out of free space (SharePoint Foundation 2010)

Published: July 8, 2010

Rule Name: Drives are running out of free space

Summary: Disk drives on one or more of the servers in the farm are running out of disk space.

Note:

This rule checks disk space as a proportion of the RAM on the computer. When disk space is less than twice the RAM on the computer, the health rule triggers an error. When disk space is less than five times the RAM on the computer, the health rule triggers a warning. Accordingly, server computers with lots of RAM are more likely to experience a failure of this rule.

Resolution: Free disk space on the server computer

  1. Verify that the user account that is performing this procedure is a member of the Administrators group on the local computer.

  2. Run the Disk Cleanup tool to free disk space on the server computer.

Resolution: Decrease the number of days to store log files

  1. Verify that the user account that is performing this procedure is a member of the Farm Administrators group.

  2. On the Central Administration Home page, click Monitoring.

  3. On the Monitoring page, in the Reporting section, click Configure diagnostic logging.

  4. On the Diagnostic Logging page, in the Trace Log section, in the Number of days to store log files box, type a smaller number.

  5. Click OK.


The paging file size should exceed the amount of physical RAM in the system (SharePoint Foundation 2010)

Published: July 8, 2010

Rule Name: The paging file size should exceed the amount of physical RAM in the system

Summary: The paging file size on some servers in the SharePoint farm is smaller than the total physical memory that is available on the servers.

Cause: A Windows best practice is to set the paging file size to equal to or greater than the total amount of available physical memory. Garbage collection is typically more effective at automatic recovery of heap memory when managed heap size approximates paging file size. When paging file size is smaller than RAM size, new allocations of managed memory are granted, which leads to more garbage collection and higher CPU usage.

Resolution: Increase the minimum size of the paging file

  1. Verify that the user account that is performing this procedure is a member of the Administrators group on the local computer.

  2. On the Server Manager page, click Change System Properties.

  3. In the System Properties dialog box, on the Advanced tab, in the Performance section, click Settings.

  4. In the Performance Options dialog box, on the Advanced tab, in the Virtual memory section, click Change.

  5. In the Virtual Memory dialog box, select the Automatically manage paging file size for all drives check box, or clear the check box and specify a paging file size that is equal to or greater than the physical memory that is available on the computer. We recommend that you either allow the system to manage the page file size or to set it at 150% of the size of the physical RAM.

  6. When you have made the changes that you want, click OK, and then restart the computer to apply the changes.


Built-in accounts are used as application pool or service identities (SharePoint Foundation 2010)

Published: July 8, 2010

Rule Name: Built-in accounts are used as application pool or service identities

Summary: Built-in or local computer accounts are used as an application pool identity or service identity.

Cause: Using built-in accounts as application pool identities or as service identities is not supported in a farm configuration. Built-in accounts include Network Service, Local Service, and Local System.

Resolution: Change the identity that is used for the service or application pool

  1. Verify that the user account that is performing this procedure is a member of the Farm Administrators SharePoint group.

  2. On the Central Administration Home page, click Security.

  3. On the Security page, in the General Security section, click Configure service accounts.

  4. On the Service Accounts page, in the Credential Management section, in the upper drop-down list, click the service or application pool for which you want to change the identity.

  5. In the Select an account for this component list, click the domain user account that you want to associate with the service or application pool.

    If you want to register the account that you selected on the SharePoint Server 2010 farm, click Register Managed Account.

  6. Click OK.


Web Analytics: Monitors the health of the Report Consolidator component (SharePoint Foundation 2010)

Published: July 8, 2010

Rule Name: Web Analytics: Monitors the health of the Report Consolidator component

Summary: Typically, the Report Consolidator component should not take more than two hours to run. This rule is triggered if it takes longer than five hours.

Cause: The Report Consolidator component takes longer than five hours to run.

Resolution: Enable data trimming by using Windows PowerShell

  1. You can enable data trimming using the Set-WebAnalyticsServiceApplication cmdlet. When data trimming is enabled, the number of rows of data in the tables in the reporting database is trimmed to 20,000 rows per day per component (site, site collection, Web application, etc.). This decreases the time that the Reporting Component takes to run.

  2. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  3. On the Start menu, click All Programs.

  4. Click Microsoft SharePoint 2010 Products.

  5. Click SharePoint 2010 Management Shell.

  6. At the Windows PowerShell command prompt, type the following command:

    Copy Code
    Set-SPWebAnalyticsServiceApplication [-Identity <GUID>]-EnableDataTrimming

    Where:

    • <GUID> is GUID identifier of the Web Analytics service application. If you only have one Web Analytics service application, you do not need to specify the GUID.

For more information, see Set-SPWebAnalyticsServiceApplication.

Note:

We recommend that you use Windows PowerShell when performing command-line administrative tasks. The Stsadm command-line tool has been deprecated, but is included to support compatibility with previous product versions.


Web Analytics: Verifies that when the Web Analytics is installed and running, usage logging is enabled in the farm (SharePoint Foundation 2010)

Published: July 8, 2010

Rule Name: Web Analytics: Verifies that when the Web Analytics is installed and running, usage logging is enabled in the farm

Summary: The Web Analytics service application collects and reports on usage information such as page views, unique visitors, search queries issued, etc. If you require this service application, you must enable usage logging to ensure that logging of this data occurs.

Cause: Usage logging is not enabled for the Web Analytics service application.

Resolution: Enable usage logging for the Web Analytics service application

  1. Verify that the user account that is performing this procedure is a member of the Farm Administrators group.

    Note:

    The usage and health data settings are farm-wide and cannot be set for individual servers in the farm.

  2. In Central Administration, on the Home page, click Monitoring.

  3. On the Monitoring page, in the Reporting section, click Configure usage and health data collection.

  4. On the Configure usage and health data collection page, in the Usage data collection section, select the Enable usage data collection check box.

  5. In the Event Selection section, select the events that you want to log by selecting the check boxes next to the events in the Events to log list. Ensure that at least the following events are selected:

    1. Page Requests

    2. Search Query Usage

    3. Site Inventory Usage

    4. Rating Usage

  6. In the Usage data collection settings section, type the path of the folder you want usage and health information to be written to in the Log file location box. The path that you specify must exist on all farm servers.

  7. Type the maximum disk space for the logs in gigabytes (from 1 through 20 GB) in the Maximum log file size box.

  8. Click OK to save the settings and enable usage logging.


Web Analytics: Verifies that a web application is serviced by at most one Web Analytics service application proxy (SharePoint Foundation 2010)

Published: July 8, 2010

Rule Name: Web Analytics: Verifies that a Web application is serviced by at most one Web Analytics service application proxy

Summary: When a Web application is associated with a Web Analytics service application, the Web Analytics service application logs and processes the usage data for that Web application. When a Web application is associated with multiple Web Analytics service applications, the Web Analytics service applications log and process the data for the Web application in an unpredictable way. We recommend that you use only one Web Analytics service application to log and process the data for the Web application.

Cause: Multiple Web Analytics service applications were created in the same farm and some Web applications were associated with more than one of those Web Analytics service applications.

Resolution: Disassociate other Web Analytics service applications

  1. Verify that the user account that is performing this procedure is a member of the Farm Administrators SharePoint group.

  2. In Central Administration, on the home page, under Application Management, click Manage Web applications.

  3. On the Web Applications page, click the Web application that is in the Health Analyzer alert, and then click Service Connections.

  4. In the Configure Service Application Associations dialog box, clear all but one of the Web Analytics service application check boxes.

    Note:

    If the check boxes are not available, do the following:

    1. Record the connections that are listed in the default view.

    2. Select [custom] from the Edit the following group of connections list box.

    3. Clear all but one of the Web Analytics service application check boxes, and ensure that you select all of the other service applications that were in the default view.

  5. Click OK.


Web Analytics: Verifies that the SQL Server Service Broker is enabled for the Web Analytics staging databases (SharePoint Foundation 2010)

Published: July 8, 2010

Rule Name: Web Analytics: Verifies that the SQL Server Service Broker is enabled for the Web Analytics staging databases

Summary: The service broker queue for the Web Analytics databases is not enabled. This causes Web Analytics data to not be processed.

Cause: This could be because of a recent SQL Server databases attach or detach or a backup or restore operation.

Resolution: Enable the service broker queue

  • In Central Administration, on the Review problems and solutions page, click the rule, and then click Repair Automatically.


One or more categories are configured with verbose trace logging setting

Published: May 26, 2011

Rule Name: One or more categories are configured with verbose trace logging

Summary: SharePoint Server writes diagnostic logging information to record activity on the server. The logs contain information that can help you diagnose server problems. This rule occurs when diagnostic logging is set to verbose. The verbose setting is appropriate when you have to diagnose a server problem, but you should turn off verbose logging during normal operations.

Cause: One or more categories of diagnostic logging are set to verbose.

Resolution: Reset diagnostic logging to the default level

  1. Verify that the user account that is performing this procedure is a member of the Farm Administrators group.

  2. On the Central Administration Home page, click Monitoring.

  3. On the Monitoring page, in the Reporting section, click Configure diagnostic logging.

  4. In the Event Throttling section, in the Least critical event to report to the event log list and Least critical event to report to the trace log list, select Reset to default.

  5. Click OK.


Databases exist on servers running SharePoint Foundation (SharePoint Server 2010)

Published: November 15, 2011

Rule Name: Databases exist on servers running SharePoint Foundation.

Summary: For optimal performance, databases should not share servers with other applications.

Cause: Databases share servers with other applications.

Resolution: Move the databases to a dedicated server or ignore this alert if you are running a stand-alone server.

  • We strongly recommend that you always run the database on a dedicated server that is not running any other farm roles or hosting databases for any other application. The only exception is if you are running SharePoint Server 2010 on a stand-alone server.

    • For a stand-alone deployment, ignore this alert.

    • For a multiple sever deployment, move the databases to a dedicated server for optimal performance.

For more information, see Move content databases (SharePoint Server 2010) and Move all databases (SharePoint Server 2010).


Database has large amounts of unused space (SharePoint Server 2010)
See Also

Published: November 15, 2011

Rule Name: Database has large amounts of unused space.

Summary: The database has large amounts of unused space allocated on the disk. This database uses a large amount of space on the file system unless it is shrunk down to a small size. This event occurs if the unused space is more than 20% of the disk space and the unused space is greater than the auto-growth size plus 50 megabytes (MB).

Cause: Many activities can create unused space in the database. These activities include running the Windows PowerShell Move-SPSite command, and deleting documents, document libraries, lists, list items, and sites.

Resolution: Ignore this event, or shrink the database if you have to.

  • Normally you can safely ignore this event. You shrink a database only if it proves absolutely necessary — for example, when you have performed an operation that removes a very large quantity of data from a database, and the free space is not expected to be used again. You can shrink the database by using the DBCC ShrinkDatabase command or SQL Server Management Studio. For more information, see DBCC SHRINKDATABASE (Transact-SQL) (http://go.microsoft.com/fwlink/p/?LinkID=110852) and How to: Shrink a Database (SQL Server Management Studio) (http://go.microsoft.com/fwlink/p/?LinkID=224904).

    The white paper Database Maintenance for Microsoft SharePoint 2010 Products (http://go.microsoft.com/fwlink/p/?LinkID=229104) provides very important guidelines for shrinking a database. We strongly recommend that you read this white paper before you shrink a database.

See Also

Other Resources

Shrinking a Database


One or more servers is not responding (SharePoint Server 2010)

Published: November 15, 2011

Rule Name: One or more servers is not responding.

Summary: Microsoft SharePoint Server 2010 cannot detect one or more servers in the farm. These servers are managed by the farm, but do not respond.

Cause: The servers are not running, are disconnected from the network, or are physically removed from the farm.

Resolution: Ensure that the servers are running and connected to the network, restart the SharePoint 2010 Timer service (SPTimerV4), or remove the server record from the SharePoint topology.

  • Make sure that the servers are running and connected to the network. If not, start the servers and connect them to the network.

  • If the servers are running and connected to the network, make sure that the SharePoint 2010 Timer service is started on them. If not, start the service by following these steps:

    1. From the Explanation section of the event, identify the failing servers that do not respond.

    2. Log on to each failing server and perform steps 3 - 6 to start the SharePoint 2010 Timer service on the server.

    3. Verify that the user account that is performing this procedure is a member of the Administrators group on the local computer.

    4. On the Start menu, click Administrative Tools, and then click Services.

    5. In the Services list, make sure the status of SharePoint 2010 Timer is Started. If not, double-click SharePoint 2010 Timer.

    6. In the SharePoint 2010 Timer Properties (Local Computer) dialog box, click Start.

    Alternatively, you can start the SharePoint 2010 Timer service by doing the following on each server that does not respond:

    1. Verify that the user account that is performing this procedure is a member of the Administrators group on the local computer.

    2. Open the Command Prompt window, type the following command, and then press ENTER:

      net start SPTimerV4

    For more information about starting the SharePoint Timer service, see SharePoint Timer service could not start (SharePoint 2010 Products).

  • If the server was intentionally removed from the farm, follow these steps to remove the record of the server from the SharePoint topology in Central Administration:

    1. Verify that the user account that is performing this procedure is a member of the Farm Administrators group.

    2. On the Central Administration Web site, in the System Settings section, click Manage servers in this farm.

    3. In the Server list, find the server that you want to remove, and then click Remove Server.

    4. In the warning message dialog box, click OK.


Unattended Service Account Application ID is not specified or value is invalid value

Published: May 26, 2011

Rule name: The Unattended Service Account Application ID is not specified or has an invalid value

Summary: The Unattended Service Account Application ID setting stores an application identifier (ID) in the registered Secure Store Service. The application ID is used to reference the Unattended Service Account credentials. The Unattended Service Account is a single, low-privileged account that Visio Graphics Service impersonates when it connects to data sources external to Microsoft SharePoint Server 2010, such as Microsoft SQL Server. This account is required to connect to these external data sources. For more information about Visio Graphics Service, see Plan for Visio Services (SharePoint Server 2010) and Plan Visio Services security (SharePoint Server 2010).

Resolution: Specify a valid application ID value

  1. Verify that the user account that is performing this procedure is an administrator of the Visio Graphics Service service application and the Secure Store Service service application.

  2. In Central Administration, on the Home page, in the Application Management section, click Manage service applications.

  3. On the Service Applications page, click the Secure Store Service service application.

  4. On the Secure Store Service page, record the application ID from the Target Application ID column.

    For more information about the Secure Store Service service application, see Plan the Secure Store Service (SharePoint Server 2010).

  5. On the Service Applications page, click the Visio Graphics service application.

  6. On the Manage the Visio Graphics Service page, click Global Settings.

  7. On the Visio Graphics Service Settings page, in the External Data section, in the Unattended Service Account text box, type the application ID that you recorded in step 4 of this procedure.

  8. Click OK.


Verify that the Activity Feed Timer Job is enabled (SharePoint Server 2010)

Published: August 11, 2011

Rule Name: Verify that the Activity Feed Timer Job is enabled.

Summary: You must enable the Activity Feed timer job if you want users to receive information about their colleagues, such as updates to profile properties and creation of social tags and notes.

Cause: The Activity Feed timer job is not enabled.

Resolution: Enable the Activity Feed timer job

  1. Verify that the user account that is performing this procedure is a member of the Farm Administrators group.

  2. On the Central Administration Web site, on the Quick Launch, click Monitoring.

  3. On the Monitoring page, in the Timer Jobs section, click Review job definitions.

  4. On the Job Definitions page, in the list of timer jobs, click User Profile Service Application - Activity Feed Job.

  5. On the Edit Timer Job page, in the Recurring Schedule section, specify when you want the timer job to run, and then click Enable.


Accounts used by application pools or service identities are in the local machine Administrators group (SharePoint Server 2010)

Published: August 11, 2011

Rule Name: Accounts used by application pools or service identities are in the local machine Administrators group.

Summary: A user account that is used by application pools or services must have permissions of a domain user account and must not be a member of the Farm Administrators group or a member of the Administrators group on the local computer. Using highly privileged accounts for application pools or services poses a security risk to the farm, and could allow malicious code to execute.

Cause: Accounts that are used by application pools or services are members of the Administrators group on the local computer.

Resolution: Change the user account to a predefined account, or to a domain user account that is not a member of the Administrators group.

  1. Verify that the user account that is performing this procedure is a member of the Farm Administrators group.

  2. On the Central Administration home page, in the Security section, click Configure service accounts.

  3. On the Service Accounts page, in the Select the component to update list, click the application pool or service that uses the credentials of a member of the Administrators group on the local computer as its security account.

  4. In the Select an account list, click an appropriate account for this component — for example, the predefined account Network Service — or click Register new managed account, and then on the Register Managed Account page, specify the credentials and the password change settings that you want.

  5. Click OK.

For more information, see Account permissions and security settings (SharePoint Server 2010).


Application pools recycle when memory limits are exceeded (SharePoint Server 2010)
See Also

Published: August 23, 2011

Rule Name: Application pools recycle when memory limits are exceeded.

Summary: Application pools recycle because memory limits have been enabled and exceeded. Recycling based on memory limits is not usually necessary in a 64-bit environment, and therefore recycling should not be enabled. Unnecessary recycling can result in dropped requests from the recycled worker process and slow performance for end users who are making requests to the new worker process.

Cause: Application pools are configured to recycle when memory limits are exceeded.

Resolution: Change the application pool recycling settings in Internet Information Services (IIS).

  1. Verify that the user account that is performing this procedure is a member of the Farm Administrators group.

  2. Identify the server on which this event occurs. On the Central Administration Web site, in the Monitoring section, click Review problems and solutions, and then find the name of the server in the Failing Servers column. If there are multiple failing servers in a server farm, you must repeat the following steps on each failing server.

  3. Verify that the user account that is performing the following steps is a member of the Administrators group on the local computer that you identified in the previous step.

  4. Log on to the server on which this event occurs.

  5. Click Start, click Administrative Tools, and then click Internet Information Services (IIS) Manager.

  6. In the Internet Information Services management console, in the Connections pane, expand the tree view, and then click Application Pools.

  7. In the Application Pools list, right-click the application pool on which you want to disable the memory limits, and then click Recycling.

  8. In the Edit Application Pool Recycling Settings dialog box, in the Memory Based Maximums section, clear the Virtual memory usage (in KB) and Private memory usage (in KB) check boxes, and then click Next.

  9. In the Recycling Events to Log dialog box, click Finish.

See Also

Other Resources

Configuring Recycling Settings for an Application Pool (IIS 7)


Alternate access URLs have not been configured (SharePoint Server 2010)

Published: September 7, 2011

Rule Name: Alternate access URLs have not been configured.

Summary: A default zone URL must not point to the computer name of a Web front-end server. Because this installation has more than one Web front-end server, an incorrectly configured default zone URL can result in a variety of errors, including incorrect links and failed operations.

Cause: A default zone URL is pointing to the computer name of a Web front-end server.

Resolution: Change the default zone URL to a URL that differs from the computer name of any Web front-end server.

  1. Verify that the user account that is performing this procedure is a member of the Farm Administrators group.

  2. On the Central Administration home page, in the System Settings section, click Configure alternate access mappings.

  3. On the Alternate Access Mappings page, on the Alternate Access Mapping Collection menu, click Change Alternate Access Mapping Collection.

  4. In the Select An Alternate Access Mapping Collection dialog box, click the alternate access mapping collection for which you want to change the default zone URL.

  5. On the Alternate Access Mappings page, click Edit Public URLs.

  6. On the Edit Public Zone URLs page, in the Default text box, type a new default zone URL that differs from the computer name of any Web front-end server, and then click Save.


Product / patch installation or server upgrade required (SharePoint Server 2010)

Published: September 7, 2011

Rule Name: Product / patch installation or server upgrade required

Summary: You must install all required products on all servers in the farm, and all products should have the same software update and upgrade level across the farm.

Cause: You have not installed required products or updates, or the server needs to be upgraded.

Resolution: Install software updates and security updates or upgrade the server.

  • Check if there are any pending updates and restart all the servers.

    1. Log on to one server.

    2. Verify that the user account that is performing this procedure is a member of the Administrators group on the local computer.

    3. On the Start menu, click Control Panel, click System and Security, and then click Windows Update. If there are any pending updates or a restart is required, schedule the updates or restart the computer.

    4. Repeat the previous steps on all servers.

    For more information, see Deploy software updates for SharePoint Server 2010 (http://go.microsoft.com/fwlink/p/?LinkId=105920).

  • If a previous upgrade attempt has failed, you must resolve upgrade issues before attempting upgrade again. You can use the Central Administration Web site to find information about current and previous upgrade attempts and determine issues that may be preventing upgrade from succeeding. To do this in Central Administration, in the Upgrade and Migration section, click Check upgrade status. For more information, see Upgrading to SharePoint Server 2010 (http://go.microsoft.com/fwlink/p/?LinkID=224171).


Web.config file has incorrect settings for the requestFiltering element (SharePoint Server 2010)

Published: September 7, 2011

Rule Name: Web.config file has incorrect settings for the requestFiltering element.

Summary: To support file names that contain the + character, the requestFiltering element in the Web.config file must have the allowDoubleEscaping attribute set to True and it must have a requestLimits element that has a maxAllowedContentLength value set to 2147483647 to avoid interfering with file upload.

Cause: The settings of the requestFiltering element in the Web.config file are incorrect.

Resolution: Change the requestFiltering settings in the Web.config file in Internet Information Services (IIS).

  1. Verify that the user account that is performing this procedure is a member of the Farm Administrators group.

  2. Identify the server on which this event occurs. On the Central Administration Web site, in the Monitoring section, click Review problems and solutions, and then find the name of the server in the Failing Servers column. If there are multiple failing servers in a server farm, you must repeat the following steps on each failing server.

  3. Verify that the user account that is performing the following steps is a member of the Administrators group on the local computer that you identified in the previous step.

  4. Log on to the server on which this event occurs.

  5. Click Start, click Administrative Tools, and then click Internet Information Services (IIS) Manager.

  6. In the Internet Information Services management console, in the Connections pane, expand the tree view of the server name, expand Sites, and then click the site for which you want to change the requestFiltering settings.

  7. On the site Home page, switch to Features View, and then in the Management section, double-click Configuration Editor.

  8. In the Section list, expand system.webServer, expand security, and then click requestFiltering.

  9. On the Configuration Editor page, ensure the following attributes or elements exist and are configured correctly:

    • The allowDoubleEscaping attribute is set to True.

    • The requestLimits element exists.

    • The requestLimits element has a maxAllowedContentLength attribute and its value is set to 2147483647.

    For more information, see How to: Add and Remove Web.config Settings Programmatically (http://go.microsoft.com/fwlink/p/?LinkId=227014).

  10. After you have made changes to these settings, in the Actions pane, click Apply.


Web.config files are not identical on all machines in the farm (SharePoint Server 2010)

Published: November 15, 2011

Rule Name: Web.config files are not identical on all machines in the farm.

Summary: If you have multiple front-end Web servers in the farm and have made manual changes to the Web.config files, you will experience a problem where a front-end Web server cannot read session state that was saved by another server in the farm.

Cause: The Web.config files on the front-end Web servers in the farm are not identical.

Resolution: Ensure that the Web.config files are identical on all front-end Web servers in the farm or ignore this alert if you have intentionally modified the Web.config file on a server.

  • Ignore this alert if you have intentionally modified the Web.config file on a server. Otherwise, perform the following steps:

    1. Verify that the user account that is performing this procedure is a member of the Farm Administrators group.

    2. Identify the server on which this event occurs. On the Central Administration Web site, in the Monitoring section, click Review problems and solutions, and then find the name of the server in the Failing Servers column. If there are multiple failing servers in a server farm, you must repeat the following steps on each failing server.

    3. Verify that the user account that is performing the following steps is a member of the Administrators group on the local computer that you identified in the previous step.

    4. Log on to the server on which this event occurs.

    5. Typically the Web.config file is stored at C:\inetpub\wwwroot\wss\VirtualDirectories\Port_Number. Note the modified date of the Web.config file.

    6. Repeat the previous steps on other failing servers.

    7. Compare these Web.config files and decide which one is correct. To view the content of the Web.config file, do the following:

      1. Click Start, click Administrative Tools, and then click Internet Information Services (IIS) Manager.

      2. In the Internet Information Services management console, in the Connections pane, expand the tree view of the server name, expand Sites, and then click the site for which you want to view the settings of the Web.config file.

      3. On the site Home page, switch to the Features View, and then in the Management section, double-click Configuration Editor.

      4. In the Section list, select a section to view the settings of the Web.config file.

    8. Delete the incorrect Web.config file on each failing server, and then copy and paste the correct Web.config file.

For more information, see Working with Web.config Files (http://go.microsoft.com/fwlink/p/?LinkId=149266).

By default, the Repair Automatically option is enabled for this rule. You can restore the default setting for this rule by doing the following:

  1. On the Central Administration Web site, click Monitoring.

  2. On the Monitoring page, in the Health Analyzer section, click Review rule definitions.

  3. On the Health Analyzer Rule Definitions - All Rules page, in the Category: Configuration section, click the name of the rule.

  4. In the Health Analyzer Rule Definitions dialog box, click Edit Item.

  5. Select the Repair Automatically check box, and then click Save.


The timer service failed to recycle (SharePoint Server 2010)

Published: November 15, 2011

Rule Name: The timer service failed to recycle.

Summary: The last attempt to recycle the timer service failed. More than half of the attempts during the past week have also failed.

Cause: The Timer Service Recycle job conflicts with other long-running timer jobs.

Resolution: Change the schedule for the Timer Service Recycle job so that it does not conflict with other long-running timer jobs.

  1. Verify that the user account that is performing this procedure is a member of the Farm Administrators group.

  2. On the Central Administration Home page, click Monitoring.

  3. On the Monitoring page, in the Timer Jobs section, click Review job definitions.

  4. On the Job Definitions page, click Timer Service Recycle.

  5. On the Edit Timer Job page, change the schedule so that it does not conflict with other long-running timer jobs, and then click OK.

For more information, see Timer job reference (SharePoint Server 2010).


The local machine is not joined to a SharePoint server farm (SharePoint Server 2010)

Published: November 15, 2011

Rule Name: The local machine is not joined to a SharePoint server farm.

Summary: Even though the product binaries are installed, the SharePoint installation on this computer will not function until the computer has been added to a SharePoint server farm. This rule only appears on Windows PowerShell.

Cause: This local computer has not been added to a SharePoint server farm yet.

Resolution: Create a new farm or join this computer to an existing farm.

  • Run the Microsoft SharePoint Server 2010 Products Configuration Wizard and follow the prompts to create a new farm or to add this computer to an existing farm. For more information, see Add a Web or application server to the farm (SharePoint Server 2010) and the "Create and configure the farm" section in Multiple servers for a three-tier farm (SharePoint Server 2010).


Web Analytics: Verify that there is a data processing service started when there is a web service started (SharePoint Server 2010)

Published: November 15, 2011

Rule Name: Web Analytics: Verify that there is a data processing service started when there is a web service started.

Summary: If there is no data processing service started, the data that has been logged to the Web Analytics database cannot be processed.

Cause: The Web Analytics Data Processing service is stopped.

Resolution: Start the Web Analytics Data Processing service on any server in the farm.

  1. Verify that the user account that is performing this procedure is a member of the Farm Administrators group.

  2. On the Central Administration Home page, in the System Settings section, click Manage services on server.

  3. On the Services on Server page, in the Service list, find the Web Analytics Data Processing service, and then in the Action column, click Start.


Web Analytics: Monitors the health of the Logging Extractor component (SharePoint Server 2010)

Published: November 15, 2011

Rule Name: Web Analytics: Monitors the health of the Logging Extractor component.

Summary: The running time for the Logging Extractor component should always be less than the threshold value.

Cause: The running time for the Logging Extractor component exceeds the threshold value.

Resolution: Add more staging databases for the Web Analytics service to balance the load.

  1. Verify that the user account that is performing this procedure is a member of the Farm Administrators group.

  2. On the Central Administration Home page, in the Application Management section, click Manage service applications.

  3. On the Manage Service Applications page, click the Web Analytics service for which you want to add more staging databases.

  4. On the ribbon, in the Operations group, click Properties.

  5. In the Edit Web Analytics Service Application dialog box, click Next.

  6. In the Edit Web Analytics Service Application Topology dialog box, click New, and then click Staging Database.

  7. In the Add New Database dialog box, type the database server name and the staging database name, and then click OK.

  8. In the Edit Web Analytics Service Application Topology dialog box, click Next.

  9. In the Edit Web Analytics Service Application dialog box, click OK.


Web Analytics: Monitors the health of the Data Analyzer Light component (SharePoint Server 2010)

Published: November 15, 2011

Rule Name: Web Analytics: Monitors the health of the Data Analyzer Light component.

Summary: The running time for the Data Analyzer Light component should always be less than the threshold value.

Cause: The running time for the Data Analyzer Light component exceeds the threshold value.

Resolution: Add more staging databases for the Web Analytics service to balance the load.

  1. Verify that the user account that is performing this procedure is a member of the Farm Administrators group.

  2. On the Central Administration Home page, in the Application Management section, click Manage service applications.

  3. On the Manage Service Applications page, click the Web Analytics service for which you want to add more staging databases.

  4. On the ribbon, in the Operations group, click Properties.

  5. In the Edit Web Analytics Service Application dialog box, click Next.

  6. In the Edit Web Analytics Service Application Topology dialog box, click New, and then click Staging Database.

  7. In the Add New Database dialog box, type the database server name and the staging database name, and then click OK.

  8. In the Edit Web Analytics Service Application Topology dialog box, click Next.

  9. In the Edit Web Analytics Service Application dialog box, click OK.


Web Analytics: Monitors the health of the User Behavior Analyzer component (SharePoint Server 2010)

Published: November 15, 2011

Rule Name: Web Analytics: Monitors the health of the User Behavior Analyzer component.

Summary: The running time and the batch queue size for the User Behavior Analyzer component should always be less than the threshold value.

Cause: The running time or the batch queue size for the User Behavior Analyzer component exceeds the threshold value.

Resolution: Add more staging databases for the Web Analytics service to balance the load.

  1. Verify that the user account that is performing this procedure is a member of the Farm Administrators group.

  2. On the Central Administration Home page, in the Application Management section, click Manage service applications.

  3. On the Manage Service Applications page, click the Web Analytics service for which you want to add more staging databases.

  4. On the ribbon, in the Operations group, click Properties.

  5. In the Edit Web Analytics Service Application dialog box, click Next.

  6. In the Edit Web Analytics Service Application Topology dialog box, click New, and then click Staging Database.

  7. In the Add New Database dialog box, type the database server name and the staging database name, and then click OK.

  8. In the Edit Web Analytics Service Application Topology dialog box, click Next.

  9. In the Edit Web Analytics Service Application dialog box, click OK.


Web Analytics: Verify that the Site Inventory Usage Collection timer job is enabled for all the Web applications serviced by the Web Analytics service application (SharePoint Server 2010)

Published: September 27, 2011

Rule Name: Web Analytics: Verify that the Site Inventory Usage Collection timer job is enabled for all the Web applications serviced by the Web Analytics service application.

Summary: If the Microsoft SharePoint Foundation Site Inventory Usage Collection timer job is disabled for a Web application, the Web Analytics reports will not have data for that Web application.

Cause: The Microsoft SharePoint Foundation Site Inventory Usage Collection timer job is disabled.

Resolution: Change the settings of the Microsoft SharePoint Foundation Site Inventory Usage Collection timer job.

  1. Verify that the user account that is performing this procedure is a member of the Farm Administrators group.

  2. On the Central Administration Web site, click Monitoring.

  3. On the Monitoring page, in the Timer Jobs section, click Review job definitions.

  4. On the Job Definitions page, click Microsoft SharePoint Foundation Site Inventory Usage Collection.

  5. On the Edit Timer Job page, in the Recurring Schedule section, specify a schedule for the timer job, and then click Enable. By default, this timer job is scheduled to run daily.

For more information, see Timer job reference (SharePoint Server 2010).


Verify each User Profile Service Application has an associated Managed Metadata Service Connection (SharePoint Server 2010)

Published: September 27, 2011

Rule Name: Verify each User Profile Service Application has an associated Managed Metadata Service Connection.

Summary: If the Managed Metadata service is not associated with the User Profile service application, features such as social tagging and properties backed by managed terms do not work.

Cause: The Managed Metadata service connection is not included in the group of connections that is associated with the User Profile service application.

Resolution: Edit the connections for the User Profile service application.

  1. Verify that the user account that is performing this procedure is a member of the Farm Administrators group.

  2. On the Central Administration Web site, click Application Management.

  3. On the Application Management page, in the Service Applications section, click Configure service application associations.

  4. On the Service Application Associations page, in the View list, click Service Applications.

  5. In the Web Application/Service Application column, click the User Profile service application for which you want to edit the connection.

  6. In the Configure Service Application Associations dialog box, select the Managed Metadata Service check box, or select Default in the Edit the following group of connections list, and then click OK. By default, all connections are included.


Verify each User Profile Service Application has an associated Search Service Connection (SharePoint Server 2010)

Published: September 27, 2011

Rule Name: Verify each User Profile Service Application has an associated Search Service Connection.

Summary: The User Profile service presents URLs to end users in places such as the "What's happening with my network?" Web Part and tag profile pages. These URLs are trimmed for security to make sure that users do not see URLs to which they do not have permissions. The User Profile service uses the Search service to perform this security trimming. If there is no Search service associated with the User Profile service application, security trimming does not work, and URLs are visible to everyone. Although users are denied access when they click a URL for which they do not have permissions, they nonetheless can see the URL in the search results.

Cause: A Search service connection is not included in the group of connections for the User Profile service application.

Resolution: Edit the group of connections for the User Profile service application.

  1. Verify that the user account that is performing this procedure is a member of the Farm Administrators group.

  2. On the Central Administration Web site, click Application Management.

  3. On the Application Management page, in the Service Applications section, click Configure service application associations.

  4. On the Service Application Associations page, in the View list, click Service Applications.

  5. In the Web Application/Service Application column, click the User Profile service application for which you want to edit connections.

  6. In the Configure Service Application Associations dialog box, select the Search Service check box, or select Default in the Edit the following group of connections list, and then click OK. By default, all connections are included.


Verify that the critical User Profile Application and User Profile Proxy Application timer jobs are available and have not been mistakenly deleted (SharePoint Server 2010)

Published: September 27, 2011

Rule Name: Verify that the critical User Profile Application and User Profile Proxy Application timer jobs are available and have not been mistakenly deleted.

Summary: User Profile Service Application or User Profile service proxy timer jobs are not available and might have been deleted.

Cause: A required timer job for the User Profile service or the User Profile service proxy is missing.

Resolution: Edit the rule definition so that the configuration is automatically repaired.

  1. On the Central Administration Web site, click Monitoring.

  2. On the Monitoring page, in the Health Analyzer section, click Review rule definitions.

  3. On the Health Analyzer Rule Definitions - All Rules page, in the Category: Configuration section, click the name of the rule.

  4. In the Health Analyzer Rule Definitions dialog box, click Edit Item.

  5. Select the Repair Automatically check box, and then click Save.

The system automatically creates the missing timer jobs.

For more information, see Timer job reference (SharePoint Server 2010).


Critical state of this rule indicates that the Word Automation Services is not running when it should be running (SharePoint Server 2010)

Published: September 27, 2011

Rule Name: Critical state of this rule indicates that the Word Automation Services is not running when it should be running.

Summary: Word Automation Services uses a timer job to pull conversion items from the Word Automation Services database and then assign those conversion items to individual application servers. If the timer job does not run, conversion items cannot start to convert.

Cause: The Word Automation Services timer job is not enabled.

Resolution: Enable the timer job by using the Central Administration Web site

  1. Verify that the user account that is performing this procedure is a member of the Farm Administrators SharePoint group.

  2. On the home page of the Central Administration Web site, click Monitoring.

  3. Click Review Job definitions.

  4. Click Word Automation Services Timer Job.

  5. Click Enable.

Resolution: Enable the timer job by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell command prompt, type the following command:

    Copy Code
    Enable-SPTimerJob 'Word Automation Services'

For more information, see Enable-SPTimerJob.

Resolution: Verify that the Word Automation Services service is provisioned correctly

  • To verify that the Word Automation Services service is provisioned correctly, see Configuring Word Automation Services for Development.

Resolution: See other troubleshooting information

  • For additional troubleshooting steps, see Word Automation Services Troubleshooting (SharePoint Server 2010).


The settings for Word Automation Services are not within the recommended limits (SharePoint Server 2010)

Published: September 27, 2011

Rule Name: The settings for Word Automation Services are not within the recommended limits.

Summary: The throughput of Word Automation Services is limited by system resources on the application server. If the values for conversion processes and conversion throughput are set too high, the overall health of the application server can degrade, and other services on the computer can be affected. Additionally, Word Automation Services can experience decreased throughput and more conversion failures.

Cause: The settings for Word Automation Services are incorrect.

Resolution: Change the settings for Word Automation Services.

  1. Verify that the user account that is performing this procedure is a member of the Farm Administrators group.

  2. On the Central Administration Web site, in the Application Management section, click Manage service applications.

  3. On the Manage Service Applications page, in the list of service applications, click Word Automation Services.

  4. In the Conversion Processes section, type a value that ranges from 1 to 1000 in the Conversion processes text box.

  5. In the Conversion Throughput section, type a value that ranges from 1 to 59 in the Frequency with which to start conversions (minutes) text box and a value that ranges from 1 to 1000 in the Number of conversions to start (per conversion process) text box, and then click OK.


The Security Token Service is not available (SharePoint Server 2010)

Published: November 15, 2011

Rule Name: The Security Token Service is not available.

Summary: The Security Token Service is not issuing tokens.

Cause: The service could be malfunctioning or in a bad state, or some assemblies are missing when you deploy the custom claims provider.

Resolution: Restart the Security Token Service application pool.

  1. Verify that the user account that is performing this procedure is a member of the Farm Administrators group.

  2. Identify the server on which this event occurs. On the Central Administration Home site, in the Monitoring section, click Review problems and solutions, and then find the name of the server in the Failing Servers column. If there are multiple failing servers in a server farm, you must repeat the following steps on each failing server.

  3. Verify that the user account that is performing the following steps is a member of the Administrators group on the local computer that you identified in the previous step.

  4. Log on to the server on which this event occurs.

  5. Click Start, click Administrative Tools, and then click Internet Information Services (IIS) Manager.

  6. In the Internet Information Services management console, in the Connections pane, expand the tree view, and then click Application Pools.

  7. In the Application Pools list, right-click SecurityTokenServiceApplicationPool, and then click Start. If the application pool is started already, click Stop and then, in the Action pane, click Start to restart it.

For more information, see Configure the security token service (SharePoint Server 2010) and Set-SPSecurityTokenServiceConfig.

Resolution: Install the missing assemblies into the global assembly cache manually.

  1. Check the event logs and ULS logs on all servers to find out which assemblies of the custom claims provider are missing.

  2. Install the missing assemblies into the global assembly cache manually. For more information, see How to: Install an Assembly into the Global Assembly Cache (http://go.microsoft.com/fwlink/p/?LinkId=169102).


Some content databases are growing too large (SharePoint Server 2010)

Published: December 6, 2011

Rule Name: Some content databases are growing too large

Summary: The content databases have grown larger than 100 gigabytes (GB). Large content databases can be difficult to back up and restore. They are also more likely to cause the application to stop responding when you perform operations that affect entire databases.

Cause: Content databases exceed 100 GB.

Resolution: Edit the rule definition to prevent new sites from being added to these databases, and then move some site collections to other databases.

  1. Verify that the user account that is performing this procedure is a member of the Farm Administrators group.

  2. On the Central Administration Home page, click Monitoring.

  3. On the Monitoring page, in the Health Analyzer section, click Review rule definitions.

  4. On the Health Analyzer Rule Definitions page, in the Availability category, click the name of the rule.

  5. In the Health Analyzer Rule Definitions dialog box, click Edit Item, and then select the Repair Automatically check box.

  6. Click Save. You can no longer add new sites to databases that exceed 100 GB.

  7. Move some site collections to smaller databases. For more information, see Move site collections between databases (SharePoint Server 2010).


Trial period for this product is about to expire (SharePoint Server 2010)

Published: December 6, 2011

Rule Name: Trial period for this product is about to expire.

Summary: The trial period will expire soon.

Cause: You are using a trial version of Microsoft SharePoint Server 2010.

Resolution: Purchase SharePoint Server 2010.

  • Purchase SharePoint Server 2010. For more information, see How to Buy SharePoint 2010 | Licensing and Product Resources (http://go.microsoft.com/fwlink/p/?LinkId=196728).


People Search relevance is not optimized when the Active Directory has errors in the manager reporting structure (SharePoint Server 2010)

Published: April 24, 2012

Rule Name: People Search relevance is not optimized when the Active Directory has errors in the manager reporting structure.

Summary: In Active Directory Domain Services (AD DS), only company leaders should have the Manager property set to NULL. If the Manager property is set to NULL for other users, people search relevance is reduced. To optimize people search relevance, explicitly specify company leaders. People search can then use this information to improve relevance.

Cause: Company leaders have not been explicitly specified.

Resolution: Specify company leaders.

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell command prompt, type the following command:

    Copy Code
    $upaProxy = Get-SPServiceApplicationProxy <AppID>

    where <AppID> is the GUID of the User Profile service application proxy. For more information, see Get-SPProfileLeader.

  6. Type the following command:

    Copy Code
    Add-SPProfileLeader -ProfileServiceApplicationProxy $upaProxy -Name "<Domain\UserName>"

    where <Domain\UserName> is the user account that you want to add as a leader — for example, Contoso\Joe.Healy. For more information, see Add-SPProfileLeader.

  7. You are prompted to confirm. Type Y to confirm.

  8. Run a full crawl on the content source that contains the start address (URL) of the User Profile application. For more information, see Start, pause, resume, or stop a crawl (SharePoint Server 2010).

Repeat the commands to add more user accounts as company leaders.

For more information, see The *-SPProfileLeader Windows PowerShell cmdlets in SharePoint Server 2010 SP1 (http://go.microsoft.com/fwlink/p/?LinkId=226295).


Installation reference (SharePoint Server 2010)

Published: July 8, 2010

In this section:

  • Setup command-line reference (SharePoint Server 2010)

  • Config.xml reference (SharePoint Server 2010)

  • Psconfig command-line reference (SharePoint Server 2010)

  • Windows PowerShell commands (SharePoint Server 2010)

  • Scripted deployment reference (SharePoint Server 2010)


Setup command-line reference (SharePoint Server 2010)

Published: July 8, 2010

In SharePoint 2010 Products, the Setup command-line tool is used for very few operations, and most of these are for IT administrators only.

In this article:

  • How to use a Setup command-line switch

  • Available switches and parameters

How to use a Setup command-line switch

To run Setup from the command line, type a space after the command, followed by a forward slash (/) and the name of the switch, and sometimes followed by another space and one or more parameters. For example:

Copy Code
setup.exe /<switch> [parameter]

The parameters are specific instructions that give the program more information about how to execute the command. The table in the next section contains several examples of switches.

Available switches and parameters

In SharePoint 2010 Products, Setup recognizes the following command-line options.

Switch or parameter Description
Copy Code
/config [path and file name]

Specifies the configuration file that Setup uses during the installation. By default, the Config.xml file that is stored in the core product folder directs Setup to install that product. You can edit the Config.xml file to make additional customizations to the installation, or you can point to a different configuration file.

The product DVD contains examples of Config.xml files. The example files are stored in the Files folder at the root of the DVD, in folders that correspond to different scenarios. For example, the Files\SetupFarmSilent folder contains a Config.xml file for use in setting up a server farm in silent mode.

Use /config on the Setup command line to point to the location of the default Config.xml file for a particular product or to point to a custom configuration file.

Examples

To point to a customized Config.xml file:

\\<server>\<share>\setup.exe /config \\<server>\<share>\<folder>\config.xml

where <folder> is the folder that contains the Config.xml file.

Or, to point to a different configuration file:

\\<server>\<share>\setup.exe /config \\<server>\<share>\Files\SetupFarmSilent\config.xml

Copy Code
/modify [ProductID]

The /modify switch is used with a modified Config.xml file to run Setup in maintenance mode and make changes to an existing Office installation, such as adding or removing features.

Look up the value of [ProductID] in the Setup.xml file for the product that you want to modify. The Setup.xml file is located in the core product folder at the root of the network installation point or product DVD. For example, the Setup.xml file for SharePoint Foundation 2010 is located in the Wss.en-us folder.

In Setup.xml, [ProductID] is equal to the value of the Id attribute of the Setup element. For example:

- <Setup Id="Wss" Type="Product" ProductCode="{40120000-1110-0000-0000-0000000FF1CE}">

This switch cannot be used to change the configuration of the server (such as from a stand-alone configuration to a server farm configuration). To change the configuration, you must uninstall and reinstall.

Examples

\\<server>\<share>\setup.exe /modify wssmui.en.us /config \\<server>\<share>\<folder>config.xml

In this example, Setup at the root of the DVD is run in maintenance mode to modify SharePoint Foundation, as specified with the wss product ID. If a Config.xml file is not specified, Setup uses the Config.xml in the same folder as the Setup.exe file.

\\<server>\<share>\setup.exe /modify wss

/repair [ProductID]

Runs Setup to repair the files that are needed for the specified product. Running Setup in repair mode only affects the program files and does not repair your server configuration or any sites.

Look up the value of [ProductID] in the Setup.xml file for the product that you want to modify. The Setup.xml file is located in the core product folder at the root of the network installation point or product DVD. For example, the Setup.xml file for SharePoint Foundation 2010 is located in the Global folder at the root of the DVD.

Note:

You should also run the SharePoint Products Configuration Wizard after you run setup.exe /repair to complete the repair of the configuration. If you are using a stand-alone configuration, you can run psconfig.exe -setup from the command line to repair the configuration instead of using the wizard. If you are in a server farm configuration, you should use the full wizard interface. For more information, see the Help for the SharePoint Products Configuration Wizard.

Example

\\<server>\<share>\setup.exe /repair Wss

/uninstall [ProductID]

Removes the specified product from the user's computer. Look up the value of [ProductID] in the Setup.xml file for the product that you want to modify.

Look up the value of [ProductID] in the Setup.xml file for the product that you want to modify. The Setup.xml file is located in the core product folder at the root of the network installation point or product DVD. For example, the Setup.xml file for SharePoint Foundation 2010 is located in the Global folder at the root of the DVD.

Example

\\<server>\<share>\setup.exe /uninstall WSS

Run Setup with a Config.xml file at a command prompt

Running Setup with a configuration file lets you specify configuration choices (such as a data location or server role) during a quiet installation. For example, you can use the Config.xml file to:

  • Perform a silent installation.

  • Install by using a common configuration across multiple servers.

  • Perform an automated or scripted installation.

Use the following procedure to run Setup with a configuration file at a command prompt.

  1. On the drive that contains the product DVD, change to the root directory to locate the Setup.exe file.

  2. Run Setup with the selected Config.xml file.

    setup /config<path and file name>

    Note:

    You can select one of the example files that are included in the Microsoft SharePoint Server 2010 product DVD, or customize your own configuration file.

  3. Press ENTER.

For more information, see Install SharePoint Server 2010 by using Windows PowerShell.


Psconfig command-line reference (SharePoint Server 2010)

Published: July 8, 2010

In SharePoint 2010 Products, you can use the Psconfig command-line tool as an alternative interface to perform several operations that control how SharePoint 2010 Products are configured. You must be a member of the Administrators group on the local computer to perform these operations.

In this article

  • How to use Psconfig commands

  • Available commands and parameters

How to use Psconfig commands

When you run Psconfig at a command prompt, you can specify commands to control how the tool runs. To run Psconfig at a command prompt, navigate to the %COMMONPROGRAMFILES%\Microsoft Shared\web server extensions\14\bin folder, and then type the commands by using the following syntax:

Copy Code
psconfig.exe -cmd <command> [optional parameters]

The reference table in the next section contains several examples. Help is also available from the command-line interface. To view Help, at the command prompt, type:

Copy Code
psconfig.exe -?

To view Help about a specific command, type:

Copy Code
psconfig.exe -help <command name>

The commands in Psconfig must be run in a specific order to run successfully. If you use the SharePoint Products Configuration Wizard to configure an installation, it calls the commands (also known as configuration tasks) in the correct order for you. However, if you use the command line to run Psconfig, you must make sure that you are performing the tasks in the correct order. The Psconfig commands must be performed in the following order:

  1. configdb

  2. helpcollections

  3. secureresources

  4. services

  5. installfeatures

  6. adminvs

  7. evalprovision (only for stand-alone installations)

  8. applicationcontent

  9. upgrade

Important:

If Psconfig detects that the server farm has to be upgraded, it will automatically start an upgrade when you run it (even if you did not select the upgrade command).

You can specify all the commands to run in a single command-line string. If you do this, Psconfig runs all the commands in the correct order. For example, at the command prompt, you can run a command similar to the following:

Copy Code
psconfig.exe -cmd configdb <parameters>
-cmd helpcollections <parameters>
-cmd secureresources <parameters>
-cmd services <parameters>
-cmd installfeatures <parameters>
-cmd adminvs <parameters>
-cmd evalprovision <parameters>
-cmd applicationcontent <parameters>

For more information about how to configure a server or server farm from the command line, see the Microsoft SharePoint Server 2010 TechCenter.

Available commands and parameters

In the SharePoint Products Configuration Wizard, the following command-line options are recognized.

Command Description, parameters, and examples

?

Displays the commands available for use with Psconfig.

Example

Copy Code
psconfig.exe -?

help <command name>

Displays the commands available for use with Psconfig. If a command name is specified, displays help for that command.

Example

psconfig.exe -help adminvs

adminvs

Manages the SharePoint Central Administration Web application on the local computer. Takes the following optional parameters:

[-provision]

Provisions the SharePoint Central Administration Web application on this server. Provisioning creates a new SharePoint Central Administration Web application and an application pool running under the server farm administrator's account.

[-unprovision]

Unprovisions the SharePoint Central Administration Web application from this server. Unprovisioning removes the SharePoint Central Administration Web application and its application pool.

[-port <port number>]

The SharePoint Central Administration Web application port is a global setting to the server farm. When changing the port, a SharePoint Timer service job is dispatched to synchronize the port for all SharePoint Central Administration Web applications in the server farm. If a port is not specified, the port that is used for existing SharePoint Central Administration Web applications in the server farm is used. If a SharePoint Central Administration web Application has not been provisioned in the server farm, the default port selected will be random if a port is not specified.

[-windowsauthprovider <enablekerberos | onlyusentlm>]

The SharePoint Central Administration Web application authentication provider is a global setting to the server farm. When you change the authentication provider, a SharePoint Timer service job will be dispatched to synchronize the provider on all SharePoint Central Administration Web Applications in the server farm. If onlyusentlm is specified, NTLM will be the exclusive authentication provider for all SharePoint Central Administration Web applications. All other authentication providers are disabled and NTLM will be the only authentication provider allowed. If enablekerberos is specified, Kerberos authentication is enabled for all SharePoint Central Administration Web applications. If an authentication provider is not specified, the provider that is used for existing SharePoint Central Administration Web applications in the server farm will be used. If a SharePoint Central Administration Web application has not been provisioned in the server farm, the Kerberos authentication provider will be enabled if an authentication provider is not specified.

Examples

psconfig.exe -cmd adminvs -provision -port 8080 -windowsauthprovider onlyusentlm

psconfig.exe -cmd adminvs -unprovision

applicationcontent

Manages shared application content. Takes the following required parameter:

-install

Copies shared application data (for example, resource files and Web application binaries) to existing Web application virtual directories.

Example

psconfig.exe -cmd applicationcontent -install

configdb

Creates, connects, or disconnects this server from the server farm. Takes the following optional parameters:

[-create]

Creates a new configuration database and therefore establishes a new server farm. If this server is already connected to a configuration database, the server will be disconnected first, and then the new configuration database will be created.

[-disconnect]

Disconnects this server from the configuration database and therefore disconnects this server from the server farm.

[-connect]

Connects to an existing configuration database and therefore joins this server to an existing server farm. If this server is already connected to a configuration database, the server will be disconnected first, and then connected to the existing configuration database.

[-server <SQLServerName>]

The computer that is running Microsoft SQL Server where the configuration database is located.

[-database <SQLDatabaseName>]

The configuration database name.

[-dbuser <value>]

The user name that is used for SQL authentication.

[-dbpassword <value>]

The password that is used for SQL authentication.

[-user <Domain\User>]

The server farm administrator user account.

[-password <Password>]

The server farm administrator user account password.

[-addomain <value>]

The Active Directory domain name that is used for the server farm.

[-adorgunit <value>]

The Active Directory organization unit name that is used for the server farm.

[-admincontentdatabase <SQLAdminContentDatabaseName>]

The Central Administration Web application content database name.

Examples

psconfig.exe -cmd configdb -create -server <Server_name> -database <Database_name>

-dbuser <DOMAIN\username> -dbpassword <password>

-user <DOMAIN\username> -password <password>

-addomain <domain_name> -adorgunit <org_unit>

-admincontentdatabase <Database_name>

psconfig.exe -cmd configdb -disconnect

psconfig.exe -cmd configdb -connect -server <Server_name> -database <Database_name>

-dbuser <DOMAIN\username> -dbpassword <password>

evalprovision

Provisions this server as a stand-alone (evaluation mode) server. Takes the following required and optional parameters:

-provision

Performs stand-alone mode provisioning on this server.

[-port <port number>]

The port number assigned to the default SharePoint Web application. If not specified, port 80 is used. If a SharePoint Web application already exists and is using the port, the existing site will be overwritten. If an existing site is using the port and is not a SharePoint Web application, the site will be disabled and a new SharePoint Web application will be created that uses the port.

[-overwrite]

Specifies whether to overwrite any existing Microsoft SharePoint Server 2010 Web site during installation. If not specified, the site is not deleted.

Example

psconfig.exe -cmd evalprovision -provision -port 1100

helpcollections

Manages help collections. Takes the following required parameter:

-installall

Installs all available help collections.

Example

psconfig.exe -cmd helpcollections -installall

installfeatures

Registers any SharePoint Products and Technologies features located on the file system of this server with the server farm.

Example

psconfig.exe -cmd installfeatures

quiet

Runs the SharePoint Products Configuration Wizard in quiet mode. Output is written to the log file that is named PSCONFIG.EXE_MM_DD_YY_HH_MM_SS_MS.log, where "_MM_DD_YY_HH_MM_SS_MS" is the full date and time that the utility was run. The log file is stored in the %COMMONPROGRAMFILES%\Microsoft Shared\web server extensions\14\LOGS directory.

Example

psconfig.exe -cmd quiet

secureresources

Performs SharePoint 2010 Products resource security enforcement on the server. For example, security is enforced on files, folders, and registry keys.

Example

psconfig.exe -cmd secureresources

services

Manages SharePoint 2010 Products services. Takes the following optional parameters:

[-install]

Registers the services in the server farm that are located on this server.

[-provision]

Provisions the services that are located on this server and sets the services as online if SharePoint 2010 Products are installed in stand-alone mode. Provisioning services also ensures that they are registered.

Note:

The [-provision] parameter is supported only for a single server, stand-alone installation. Do not use this parameter for a farm installation.

Example

psconfig.exe -cmd services -install

psconfig.exe -cmd services -provision

setup

Performs configuration for SharePoint 2010 Products based on the installation mode. Also repairs the configuration. If the product is installed in stand-alone mode, stand-alone configuration is complete. If the product is not in stand-alone mode, you must complete the initial configuration by using the SharePoint Products Configuration Wizard instead of the Psconfig command-line tool. To run the wizard, on the Start menu, point to All Programs, point to Administrative Tools, and then click SharePoint Products Configuration Wizard.

If you want to repair a stand-alone installation, first run setup /repair (for more information, see the Setup Help system), and then psconfig.exe -setup. For server farm installations, after you run setup /repair, use the SharePoint Products Configuration Wizard instead of the Psconfig command-line tool.

Takes the following optional parameter:

[-lcid <1033>]

The locale ID (LCID) that specifies the installation language.

Example

psconfig.exe -cmd setup

standaloneconfig

Performs a stand-alone configuration for SharePoint Products and Technologies. Takes the following optional parameters:

[-lcid <1033>]

The locale ID (LCID) that specifies the installation language.

Example

psconfig.exe -cmd standaloneconfig

upgrade

Performs an upgrade of SharePoint 2010 Products. This command is automatically run when you run the SharePoint Products Configuration Wizard if the product has to be upgraded. Takes the following optional parameters:

[-wait]

If specified, the SharePoint Products Configuration Wizard does not return until the upgrade is complete. If not specified, the wizard returns after dispatching a SharePoint Timer Service job to perform the upgrade. To view the upgrade job status, you can access the SharePoint Central Administration Web site by using your Web browser.

[-force]

If specified, the SharePoint Products Configuration Wizard stops any currently running upgrade actions, and then restarts upgrade.

[-reghostonupgrade]

If specified, the SharePoint Products Configuration Wizard will reset all content to the site definition version during the upgrade.

[-inplace <v2v|b2b>]

If specified, the SharePoint Products Configuration Wizard will perform an in-place upgrade. If v2v is specified, an in-place version to version upgrade is performed. If b2b is specified, an in-place build to build upgrade is performed.

[-preserveolduserexperience]

If set to false, the SharePoint Products Configuration Wizard will update sites to use the latest SharePoint user experience. If you do not specify this parameter, the default is true.

[-passphrase]

Passphrase used to join the server farm. The Passphrase value must be the same on all servers in the farm if the farm is to function correctly.

Example

Copy Code
psconfig.exe -cmd upgrade -inplace v2v -wait


Config.xml reference (SharePoint Server 2010)

Published: July 8, 2010

When you want to control how Microsoft SharePoint Server 2010 is installed, use the Config.xml file and the Setup command-line tool. For example, you can use the Config.xml file to do the following:

  • Perform a silent installation of SharePoint Server 2010.

  • Install SharePoint Server 2010 by using a common configuration across multiple servers.

  • Perform an automated or scripted installation of SharePoint Server 2010.

In this article:

  • Customizing Config.xml

  • Config.xml element quick reference

  • How it works

  • Config.xml file format

  • Config.xml element reference

Customizing Config.xml

To control the installation, first edit the Config.xml file in a text editor to include the elements that you need with the appropriate settings for those elements. Then run setup.exe /config [path and file name] to specify that Setup will run and use the options that you set in the Config.xml file.

Important:

Use a text editor, such as Notepad, to edit Config.xml. Do not use a general-purpose XML editor such as Microsoft Office Word 2007.

The product DVD contains examples of Config.xml files. The example files are stored in the Files folder at the root of the DVD, in folders that correspond to different scenarios. The folders are as follows:

  • Setup Contains a Config.xml file for use in setting up a clean installation for a single server (stand-alone, with SQL Express).

  • SetupFarm Contains a Config.xml file for use in setting up a clean installation for a server farm.

  • SetupFarmSilent Contains a Config.xml file for use in setting up a server farm in silent mode.

  • SetupFarmUpgrade Contains a Config.xml file for use in upgrading an existing server farm in place.

  • SetupSilent Contains a Config.xml file for use in setting up a clean installation for a single server (stand-alone, with SQL Express) in silent mode.

  • SetupSingleUpgrade Contains a Config.xml file for use in upgrading an existing single server (stand-alone) in place.

For more information about the differences among the various upgrade scenarios, see Determine upgrade approach (SharePoint Server 2010).

Config.xml element quick reference

The following table contains a list of the elements in Config.xml. These elements can appear in any order, except for Configuration Element, which must be first, and elements such as Command Element, whose order in Config.xml affects how they are processed during installation.

Element | Description
Configuration Element | Top-level element.
ARP Element | Values that control the text and behavior of Add or Remove Programs in Control Panel for the product.
Command Element | Runs a command during installation.
Display Element | The level of UI that Setup displays to the user.
INSTALLLOCATION Element | The fully qualified path of the folder on the user's computer in which the product is installed.
Logging Element | Options for the type of logging that Setup performs.
DATADIR Element | The location to use to store the data files.
Package Element | The package or product to install.
PIDKEY Element | The 25-character volume license key.
Setting Element | Values for Windows Installer properties.

How it works

Setup looks for a copy of Config.xml in the same folder as Setup.exe. If a copy is not found there, Setup uses the Config.xml file that resides in the core Files folder for the product that you are installing.

You can also use the /config Setup command-line option to specify the location of the Config.xml file. For example:

\\<server>\<share>\setup.exe /config \\<server>\<share>\<folder>\config.xml

Config.xml file format

XML elements in Config.xml begin with an angle bracket (<) and end with a forward slash and an angle bracket (/>).

The basic element format is as follows:

<element_name [attribute_name="value"] [attribute_name="value"] … />

For example:

Copy Code
<Display Level="none" CompletionNotice="no" />

Elements and attributes are case-sensitive. Attribute values must be enclosed in quotation marks (") and are not case-sensitive.

An element definition can span multiple lines. Spaces, carriage returns, line feeds, and tab characters are ignored within an element definition.

For example:

Copy Code
<Display
   Level="none"
   CompletionNotice="no"
/>
Tip:

For long element definitions, put attributes on separate lines and use indentation to make the file easier to read.

The Configuration Element element is a special case and is required. All other elements are contained within the Configuration Element element, and the element is closed with </Configuration>.

The following example shows a configuration file for a clean installation of the Microsoft SharePoint Foundation 2010 package:

<Configuration>

   <Package Id="sts">

      <Setting Id="SETUPTYPE" Value="CLEAN_INSTALL"/>

   </Package>

   <DATADIR Value="%CommonProgramFiles%\Microsoft Shared\Web Server Extensions\14\Data"/>

   <Logging Type="verbose" Path="%temp%" Template="Microsoft SharePoint Foundation 2010 Setup *.log"/>

   <Setting Id="UsingUIInstallMode" Value="1"/>

   <Setting Id="SETUP_REBOOT" Value="Never"/>

</Configuration>

Comments can be added anywhere and are delimited by an angle bracket, exclamation point, and two hyphens (<!--) and two hyphens and an angle bracket (-->).

For example:

<!-- Install Microsoft SharePoint Server for clean install, using UI-->

<Configuration>

   <Package Id="sts">

      <Setting Id="LAUNCHEDFROMSETUPSTS" Value="Yes"/>

   </Package>

   <Package Id="spswfe">

      <Setting Id="SETUPCALLED" Value="1"/>

   </Package>

   <Logging Type="verbose" Path="%temp%" Template="SharePoint Server Setup(*).log"/>

      <!--<PIDKEY Value="Enter Product Key Here" />-->

      <Setting Id="SERVERROLE" Value="SINGLESERVER"/>

      <Setting Id="USINGUIINSTALLMODE" Value="1"/>

      <Setting Id="SETUPTYPE" Value="CLEAN_INSTALL"/>

      <Setting Id="SETUP_REBOOT" Value="Never"/>

   <!-- Tells Setup.exe not to reboot -->

</Configuration>

Config.xml element reference

The following conventions are used in the descriptions in this reference:

bold | Element or attribute name
regular | Text to be entered exactly as shown
italic | Placeholder for a value to be added
x|y | Choose between multiple values
[x] | Optional value

Configuration Element

Top-level element. This element is required, and all other elements must appear within this element.

Syntax

<Configuration>

<Package Id="ID">

...

</Package>

...

</Configuration>

Attributes

Attribute | Value | Description
Package ID | Package ID | The package that is being installed.

Remarks

The Package Id attribute identifies the product and technologies that are affected by this Config.xml file.

Example

The Package ID for SharePoint Server 2010 is spswfe. Because SharePoint Server 2010 is based on the platform technology in SharePoint Foundation 2010, you must also install the sts (SharePoint Foundation 2010) package or the installation will not succeed.

Use the sts and spswfe Package IDs in Config.xml to specify SharePoint Foundation 2010 and SharePoint Server 2010 by entering the following:

Copy Code
<Configuration>
   <Package Id="sts">
   ...
   </Package>
   ...
   <Package Id="spswfe">
   ...
   </Package>
   ...
</Configuration>

ARP Element

Specifies values that control the text and behavior of Add or Remove Programs in Control Panel for the product.

Syntax

<ARP attribute="value" [attribute="value"] ... />

Attributes

Attribute | Value | Description
ARPCOMMENTS | text | Additional text; can be up to 255 characters, although all characters might not display.
ARPCONTACT | text | List of technical support contacts.
ARPNOMODIFY | Yes | Prevents users from modifying the product installation by making the Change button unavailable.
 | No (default) | Allows users to modify the product installation.
ARPNOREMOVE | Yes | Prevents users from removing the product by making the Remove button unavailable.
 | No (default) | Allows users to remove the product.
ARPURLINFOABOUT | URL | URL for the product's home page.
ARPURLUPDATEINFO | URL | URL for information about product updates.
ARPHELPLINK | URL | URL of a Web site from which users can receive technical support.
ARPHELPTELEPHONE | text | Phone numbers for technical support.

Command Element

Specifies a command line to run. The Command element commands are processed only during initial installations and uninstallations. If Command element commands are used for customizations after the initial installation, they are ignored.

Syntax

<Command

Path="path"

[QuietArg="arguments"]

[Args="args"]

[ChainPosition="Before" | "After"(default)]

[Wait="mseconds"]

[Execute="Install"(default) | "Uninstall"]

[Platform="x86"(default) | "x64"]

/>

Attributes

You can specify double-quotation marks (") in the Path and Args attributes by specifying two double-quotation marks together ("").

Attribute | Value | Description
Path | path | Fully qualified path of the executable Windows Installer package.
QuietArg | string | String of arguments to be appended to the command line when Display Element Level=None.
Args | string | String of arguments to be passed to the executable.
ChainPosition | Before | This command is executed before the primary product installation.
 | After (default) | This command is executed after the primary product installation.
Wait | mseconds | When you install with the Display Element Level attribute set to Full or Basic, this is the number of milliseconds to wait after you run the program before you continue the installation. The default is 0 (zero), which indicates no waiting.
Execute | Install (default) | Setup executes this command when the primary product is installed.
 | Uninstall | Setup executes this command when the primary product is uninstalled.
Platform | x86 (default) | Specifies that this program requires the Intel x86 platform. This command runs only if the computer on which the installation is run matches this platform requirement.
 | x64 | Specifies that this program requires a 64-bit processor that supports the x64 extensions to the x86 architecture. This command runs only if the computer on which the installation is run matches this platform requirement.

Remarks

The Command element in the Config.xml file is intended to be used only for initial product installations and uninstallations. The Command element commands are processed only during initial installations and uninstallations. If Command element commands are used for customizations after the initial installation, they are ignored.

The command line can be specified to run an arbitrary command or to run a lightweight executable that you want to run when this product is installed.

The Command element in Config.xml does not provide the software deployment capabilities that an enterprise software deployment and management tool provides, such as the ability to track deployment progress and troubleshoot problems. Therefore, we recommend that you limit the use of the Command element in Config.xml to run only a lightweight executable program or arbitrary command that will not make changes to the computer or that does not require user input. For example, you can run a utility to copy logs or a command to launch a Welcome page at the end of installation.

The command line can be specified for a chained installation or an executable that runs when this product is installed. If this is specified, you must specify a command line for Setup instead of a single .msi file.

If there are two or more Command elements in the Config.xml file, they will run in the order in which they are specified in Config.xml.

Important:

Chaining is not as reliable as installing each product separately. For example, if you chain two installations together and one of the products fails or encounters an unexpected error, the primary installation and the chained installation might not be completed successfully. Therefore, we do not recommend that you use the chaining approach. The recommended method for installing multiple products together in enterprise environments is to use a deployment management program, such as Microsoft System Center Configuration Manager 2007 or Microsoft Systems Management Server (SMS) 2003, or a third-party tool, instead of chaining.

The use of Args and QuietArg is as follows:

  • The Args attribute is always appended to the command. This can include switches such as /install or Company=MyCorporation.

  • The QuietArg attribute is also appended if Setup is running silently (with Display set as Display="none"). In such cases, you can specify the QuietArg attribute with the "/quiet" switch. For example, you can use: QuietArg="/quiet".

  • If the value of the Args element includes quotation marks, you can enclose the complete value in single (') quotation marks as shown in the following example:Args='"/param value"'

The following statements apply to the Wait attribute:

  • Setting the Wait attribute to 0 milliseconds indicates no waiting after you run the program before you continue the installation. The command will execute and move on immediately.

    Return codes are only respected if the Wait value is nonzero. If you specify 0, Setup will not wait to continue the installation after it runs the specified program. Therefore, there is no return code to report in that case.

  • Setting the Wait attribute to any positive nonzero value will wait exactly the number of milliseconds you specify. If the process ends earlier than the specified time, Setup will continue. If the process has not ended when the specified time is up, Setup will fail.

  • Setting the Wait attribute to -1 indicates to wait indefinitely. This can be problematic because if the command process stops responding (hangs), Setup will stop responding and will wait indefinitely for the command to run.

Example

<Command Path="\\server\share\myscript.exe" Args='/id "123 abc"' QuietArg="/q" Wait="3000">

<Command Path="\\<server>\<share>\setup.exe /config \\<server>\<share>\<folder>\config.xml"

DATADIR Element

The location to use to store the data files, including the search index files.

Syntax

<DATADIR Value="path"/>

Attributes

Attribute | Value | Description
Value | path | Setup stores the data files in the location that is specified.

Remarks

You can use system environment variables in the path. If this element is not specified, the data is stored in the following path:

%PROGRAMFILES%\Microsoft Office Servers\14.0\Data

Example

Copy Code
<DATADIR Value="d:\data"/>

Display Element

The level of UI that Setup displays to the user.

Syntax

<Display

Level="None" | "Basic" | "Full"(default)

CompletionNotice="Yes"(default) | "No"

SuppressModal="Yes" | "No"(default)

NoCancel="Yes" | "No"(default)

AcceptEula="Yes" | "No"(default)

/>

Attributes

Attribute | Value | Description
Level | None | No Setup UI is displayed.
 | Basic | Setup displays the Welcome screen, the Product Key (PIDKEY) page (if it is needed), the Microsoft Software License Terms page (if it is needed), a progress bar, and the completion notice (if it is allowed).
 | Full (default) | Setup displays all UI to the user.
CompletionNotice | Yes | Only applies if Level is set to Basic or None. Setup displays the completion notice.
 | No (default) | Only applies if Level is set to Basic. Setup does not display the completion notice.
SuppressModal | Yes | Only applies if Level is set to Basic. Setup does not display error messages and other dialog boxes that might interrupt the installation.
 | No (default) | Only applies if Level is set to Basic. Setup displays errors and other dialog boxes as needed.
NoCancel | Yes | If Level is set to Full or Basic, disables the cancel button (X in the upper-right corner of the progress dialog box).
 | No (default) | If Level is set to Full or Basic, allows the user to cancel the installation from the progress bar.
AcceptEULA | Yes | The Microsoft Software License Terms are accepted on behalf of the user. Setup does not display the Microsoft Software License Terms page.
 | No (default) | If Level is not set to None, Setup displays the Microsoft Software License Terms page.

Remarks

If this element is not defined, the default settings are used. If an invalid value is specified, Setup ends the installation.

If the Level attribute is set to Basic or None and you supply a product key by using the PIDKEY Element element, Setup assumes that you also accept the license terms on behalf of the user. In this case, regardless of how you set the AcceptEULA attribute, the user is not prompted for the license terms during installation.

Note:

The Display element is used by Setup only if Setup finds the Config.xml file in the same folder as Setup.exe, or if you specify the Config.xml file by using the Setup /config command-line option.

Example

Copy Code
<Display Level="basic"
   CompletionNotice="yes"
   SupressModal="no"
   AcceptEula="yes"
/>

INSTALLLOCATION Element

Specifies the fully qualified path of the folder on the user's computer in which the product is installed.

Syntax

<INSTALLLOCATION Value="path" />

Attributes

Attribute | Value | Description
Value | path | The fully qualified path of the folder on the user's computer in which the product is installed.

Remarks

You can use system environment variables in the path. If this element is not specified, the product is installed in the following path:

%PROGRAMFILES%\Microsoft Office Servers\14.0\

Note that the SharePoint Foundation 2010 technology is not affected by this element; it is installed into the following path:

%COMMONPROGRAMFILES%\Common Files\Microsoft Shared\Web Server Extensions\14

Example

Copy Code
<INSTALLLOCATION Value="%ProgramFiles%\MyApps" />

Logging Element

Specifies the type of logging that Setup performs.

Syntax

<Logging

Type="Off" | "Standard"(default) | "Verbose"

Path="path"

Template="filename.txt"

/>

Attributes

Attribute | Value | Description
Type | Off | Setup does no logging.
 | Standard (default) | Setup writes installation information to the log file.
 | Verbose | Setup writes all installation information to the log file.
Path | Path | The fully qualified path of the folder used for the log file. You can use environment variables. The default is %temp%.
Template | filename.txt | The name of the log file. If you insert the string * anywhere in the file name, a unique log file is created for each installation that is performed by Setup (see the explanation that follows). If * is not included and the file name that is specified already exists, log information is appended to the existing file. The .txt file name extension must be included. The default template is SetupExe(*).log.

Remarks

You can specify a * anywhere in the Template value. Setup inserts a string in that location that has the following format:

YYYYMMDDHHMMSSxxx

where:

  1. YYYY = Year

  2. MM = Month

  3. DD = Day

  4. HH = Hour

  5. MM = Minutes

  6. SS = Seconds

  7. xxx = a unique string generated by Setup

Note:

The Logging element is used by Setup only if you specify the Config.xml file by using the Setup /config command-line option. If you do not specify a Config.xml file to use, then Setup uses the default logging options.

Example

Copy Code
<Logging Type="standard" Path="%temp%"
   Template="MyLog(*).txt"
/>

With this example, Setup creates a log file every time that it installs the product. Setup uses unique file names such as the following:

Copy Code
%temp%\MyLog(20060428110717CFC).txt
%temp%\MyLog(20060429113143C70).txt

Package Element

The package or product to install.

The Package ID for SharePoint Server 2010 is spswfe. Because SharePoint Server 2010 is based on the platform technology in SharePoint Foundation 2010, you must also install the sts (SharePoint Foundation 2010) package or the installation will not succeed.

PIDKEY Element

The 25-character volume license key.

Syntax

<PIDKEY Value="25-character-key" />

Attributes

Attribute | Value | Description
Value | 25-character-key | The 25-character volume license key.

Remarks

When the PIDKEY value is set, users are not required to enter a product key when they run Setup.

Example

Copy Code
<PIDKEY Value="1234512345123451234512345" />
Note:

If the Level attribute of the Display Element element is set to Basic or None and you supply a product key by using the PIDKEY element, Setup assumes that you also accept the license terms on behalf of the user. In this case, regardless of how you set the AcceptEULA attribute of the Display Element element, the user is not prompted for the license terms during installation.

Setting Element

Allows you to specify values for Windows Installer properties.

Syntax

<Setting Id="name" Value="value" />

Attributes

Attribute | Value | Description
Id | name | The name of the Windows Installer property.
Value | value | The value to assign to the property.

Values

The following Setting IDs are used for server installations:

ID | Accepted values | Description
LAUNCHEDFROMSETUPSTS | Yes | No | Use as part of the Package Id attribute. The default is Yes.
REBOOT | ReallySuppress | Specifies (for Windows Installer) whether to allow a reboot after Setup is completed. Use ReallySuppress to specify no reboot. Must be specified at the global level, not per package.
SETUP_REBOOT | Never, AutoAlways, Always, AutoIfNeeded, IfNeeded | Specifies (for Setup) whether to allow a reboot after Setup is completed. Use Never to specify no reboot. Must be specified at the global level, not per package.
SETUPTYPE | CLEAN_INSTALL, V2V_INPLACE_UPGRADE, SKU2SKU_UPGRADE | Specifies whether to install a new copy of the product or technology (CLEAN_INSTALL), install the new version and upgrade the previous version in place (V2V_INPLACE_UPGRADE), or upgrade from one product to another (such as from SharePoint Foundation 2010 to SharePoint Server 2010. Must be specified at the global level, not per package.
SETUPCALLED | 0 | 1 | Use as part of the Package Id attribute.
SERVERROLE | SINGLESERVER, APPLICATION | Specifies the type of server that you are installing to: stand-alone (SINGLESERVER) or application (APPLICATION).
USINGUIINSTALLMODE | 0 | 1 | Specifies whether you are performing a silent installation (0) or using the user interface for Setup (1).

Remarks

Not all Windows Installer properties can be specified in the Setting element. If a blocked property is specified, Setup ends the installation process. If a supported property is specified, Setup passes the property directly to Windows Installer. For a complete list of Windows Installer properties, including an explanation of supported and blocked properties, see Setup properties in Office 2010.

Example

Copy Code
<Setting Id="REBOOT" Value="ReallySuppress" />


Windows PowerShell commands (SharePoint Server 2010)
See Also

Published: July 8, 2010

This article discusses the Windows PowerShell cmdlets that are needed to install Microsoft SharePoint Server 2010 on a stand-alone server or on a server farm.

In this article:

  • Installing SharePoint Products by using Windows PowerShell

  • Windows PowerShell installation cmdlets

For information about the commands and syntax that are used in scripted deployment of a SharePoint Server 2010 farm, see Scripted deployment reference (SharePoint Server 2010).

Installing SharePoint Products by using Windows PowerShell

In SharePoint Server 2010, you can use Windows PowerShell cmdlets as an alternative interface to perform several operations that control how the SharePoint products are configured. Additionally, you can streamline deployment by using command-line installations in combination with other administrator tools to automate unattended installations.

You can run the Windows PowerShell cmdlets in the SharePoint 2010 Management Shell, or you can add the snap-in that contains the cmdlets. By using a management shell, you can eliminate the step to register the snap-in that contains the cmdlets by using the Add-PSSnapin cmdlet. For more information about how to use Windows PowerShell with Microsoft SharePoint 2010 Products, see SharePoint 2010 Products administration by using Windows PowerShell.

To use the cmdlets, verify that you meet the following minimum requirements: See Add-SPShellAdmin. For information about how to add a user to the SharePoint_Shell_Access role for the specified database, see Add-SPShellAdmin.

Note:

When you create a new farm or join a server to a farm for the first time, ignore the following error message that appears: "The local farm is not accessible. Cmdlets with FeatureDependencyId are not registered."

The cmdlets must be run in a specific order to run successfully. If you use SharePoint Products Configuration Wizard to configure the installation, it calls the commands (also known as configuration tasks) in the correct order for you. However, if you use cmdlets, you must ensure that you are performing the tasks in the correct order. The Windows PowerShell cmdlets must be performed in the following order:

  1. New-SPConfigurationDatabase

  2. Install-SPHelpCollection

  3. Initialize-SPResourceSecurity

  4. Install-SPService

  5. Install-SPFeature

  6. New-SPCentralAdministration

  7. Install-SPApplicationContent

Note:

Use a fresh Windows PowerShell process to perform operations on a new farm. For example, when you add a server to a new farm that was in a different farm, restart the Windows PowerShell process before you add the server to the new farm.

Windows PowerShell installation cmdlets

You can use the following Windows PowerShell cmdlets to install and configure SharePoint Server 2010.

Windows PowerShell cmdlet | Description
New-SPConfigurationDatabase | Creates a new configuration database on the specified database server. This is the central database for a new SharePoint farm. This command also creates the administration content database.
Install-SPHelpCollection | Installs the Help site collection files for SharePoint 2010 Products in the current farm. You must specify the All parameter to install all Help Collection CABs under %Program Files%\Common Files\Microsoft Shared\Web Server Extensions\14\HCCab\<LCID> in the Help site collection.
Initialize-SPResourceSecurity | Enforces resource security on the local server. This cmdlet enforces security for all resources, including files, folders, and registry keys.
Install-SPService | Installs and optionally provisions services on a farm. This cmdlet installs all services, service instances, and service proxies that are specified in the registry on the local server computer.
Install-SPFeature | Installs a specific SharePoint feature by using the Feature.xml file. When you create a new farm, you must specify the AllExistingFeatures parameter to install all available features.
New-SPCentralAdministration | Creates a new Central Administration Web application and starts the central administration service on the local computer. Central Administration is available only on computers where this service runs.
Install-SPApplicationContent | Copies shared application data to existing Web application folders.

See Also

Concepts

SharePoint 2010 Products administration by using Windows PowerShell


Scripted deployment reference (SharePoint Server 2010)

This article describes the commands and syntax that is used in scripted deployment of a Microsoft SharePoint Server 2010 farm. It also contains a table of common templates used in Installing SharePoint Server 2010 by using Windows PowerShell.

Important:

The Install-SharePoint, New-SharePointFarm, and Join-SharePointFarm commands should only be used in the context of the SPModule.zip file.

For information about using these commands to install SharePoint Server 2010, see Installing SharePoint Server 2010 by using Windows PowerShell.

In this article:

  • Install-SharePoint

  • New-SharePointFarm

  • Join-SharePointFarm

  • Common site collection templates

Install-SharePoint

The Install-SharePoint command installs SharePoint Server 2010 on all servers.

There are two ways—defined by a parameter set—to run the Install-SharePoint command. In the first case, you specify a path for the install files, a product key (PIDKey), and many other values to deviate from the default. The second way is to specify the path for the install files, and then the path to a Config.xml file. During Setup, the PIDKey and other settings are parsed in the config.xml file.

The syntax for the Install-SharePoint command is listed below. Note that the result is determined by which parameter set is specified. For the first parameter set, there are two required parameters, SetupExePath and PIDKey. All other parameters are optional. If no value is specified for the optional LogPath parameter, the default value is %Temp%.

Install-SharePoint -SetupExePath <String> -PIDKey <String> [-LoggingType < Verbose | Off | Standard | Debug>] [-LogPath <String>] [-LogTemplate <String>] [-DisplayLevel <None | Basic | Full>] [-ShowCompletionNotice <SwitchParameter>] [-UseIInstallMode <SwitchParameter>] [-AcceptEula <SwitchParameter>] [-ShowModalDialog <SwitchParameter>] [-AllowCancel <SwitchParameter>] [-ServerRole <APPLICATION | WFE | SINGLESERVER>] [-SetupType <CLEAN_INSTALL | V2V_INPLACE_UPGRADE | B2B_UPGRADE | SKU2SKU_UPGRADE>] [-InstallDirectory <String>] [-DataDirectory <String>] [-RunsWorkaround <SwitchParameter>] [-PhysicalSKU <OfficeServer | SharePoint | SearchServer | SearchServerExpress | WCServer | ProjectServer | SharePointLanguagePack | ServerLanguagePack>]

For the second parameter set, there are two required parameters, SetupExePath and ConfigXMLPath.

Install-SharePoint -SetupExePath <String> -ConfigXMLPath <String> [-PIDKey <String>] [-PhysicalSKU <OfficeServer | SharePoint | SearchServer | SearchServerExpress | WCServer | ProjectServer | SharePointLanguagePack | ServerLanguagePack>]

New-SharePointFarm

The New-SharePointFarm command creates the farm on the server that will be running the Central Administration Web site.

The command performs the following actions:

  1. Creates the configuration database.

  2. Creates the administration content database.

  3. Installs the Help collection.

  4. Creates the Central Administration Web application.

  5. Copies shared application data to existing Web application folders.

The syntax for the New-SharePointFarm command is listed below and there are two required parameters, DatabaseAccessAccount and DatabaseServer. All other parameters are optional.

New-SharePointFarm -DatabaseAccessAccount <PSCredential> -DatabaseServer <String> [-Passphrase <SecureString>] [-Port <Int>] [-AdminAuthMethod <NTLM | Kerberos>] [-FarmName <String>]

Example: New-SharePointFarm -DatabaseAccessAccount (Get-Credential DOMAIN\username) -DatabaseServer "SQL01" -FarmName "TestFarm"

Join-SharePointFarm

You run the Join-SharePointFarm command on servers to connect them to the farm.

The syntax for the Join-SharePointFarm command is listed below and there are two required parameters, DatabaseServer and ConfigurationDatabaseName. All other parameters are optional.

Join-SharePointFarm -DatabaseServer <String> -ConfigurationDatabaseName <String> [-Passphrase <SecureString>]

Note:

To stop the user from being prompted for the password, you can use the Passphrase parameter. The value for the Passphrase parameter is the password of the user.

Common site collection templates

The following table describes common templates used in Installing SharePoint Server 2010 by using Windows PowerShell.

Parameter value | Description
GLOBAL#0 | Global template
STS#0 | Team Site
STS#1 | Blank Site
STS#2 | Document Workspace
MPS#0 | Basic Meeting Workspace
MPS#1 | Blank Meeting Workspace
MPS#2 | Decision Meeting Workspace
MPS#3 | Social Meeting Workspace
MPS#4 | Multipage Meeting Workspace
CENTRALADMIN#0 | Central Admin Site
WIKI#0 | Wiki Site
BLOG#0 | Blog
SGS#0 | Group Work Site
TENANTADMIN#0 | Tenant Admin Site
ACCSRV#0 | Access Services Site
ACCSRV#1 | Assets Web Database
ACCSRV#3 | Charitable Contributions Web Database
ACCSRV#4 | Contacts Web Database
ACCSRV#6 | Issues Web Database
ACCSRV#5 | Projects Web Database
BDR#0 | Document Center
OFFILE#0 | (obsolete) Records Center
OFFILE#1 | Records Center
OSRV#0 | Shared Services Administration Site
PPSMASite#0 | PerformancePoint
BICenterSite#0 | Business Intelligence Center
PWA#0 | Project Web App Site
PWS#0 | Microsoft Project Site
SPS#0 | SharePoint Portal Server Site
SPSPERS#0 | SharePoint Portal Server Personal Space
SPSMSITE#0 | Personalization Site
SPSTOC#0 | Contents area Template
SPSTOPIC#0 | Topic area template
SPSNEWS#0 | News Site
CMSPUBLISHING#0 | Publishing Site
BLANKINTERNET#0 | Publishing Site
BLANKINTERNET#1 | Press Releases Site
BLANKINTERNET#2 | Publishing Site with Workflow
SPSNHOME#0 | News Site
SPSSITES#0 | Site Directory
SPSCOMMU#0 | Community area template
SPSREPORTCENTER#0 | Report Center
SPSPORTAL#0 | Collaboration Portal
SRCHCEN#0 | Enterprise Search Center
PROFILES#0 | Profiles
BLANKINTERNETCONT | Publishing Portal
SPSMSITEHOST#0 | My Site Host
ENTERWIKI#0 | Enterprise Wiki
SRCHCENTERLITE#0 | Basic Search Center
SRCHCENTERLITE#1 | Basic Search Center
SRCHCENTERFAST#0 | FAST Search Center
visprus#0 | Visio Process Repository


Upgrade reference (SharePoint Server 2010)
See Also

Published: January 31, 2012

Find IDs for default templates, features, and content types in Office SharePoint Server 2007 or Windows SharePoint Services 3.0 so you can identify them in your environment before upgrade.

The pre-upgrade checker returns a list of all site definitions, site templates, features, and language packs that are installed in the farm. Although the report lists the IDs for these elements, it might be difficult to identify an ID that maps to a specific named template or feature. Likewise, when you create an inventory of your environment to prepare for upgrade, you can easily get the IDs for these elements, but you might have problems mapping them to the names.

The attached worksheet contains the IDs for the following elements in Microsoft Office SharePoint Server 2007 and Windows SharePoint Services 3.0:

  • Feature IDs

  • Site Template IDs

  • Content Type IDs

  • List Template IDs

Download the worksheet at: Feature Template and Content Type ID Reference

For a list of all Web Parts that Office SharePoint Server 2007 and Windows SharePoint Services 3.0 contain by default, see Maurice Prather's blog post Web Part Type IDs for SharePoint 2003, 2007 and 2010 (http://go.microsoft.com/fwlink/p/?LinkId=241369).

See Also

Concepts

Upgrading to SharePoint Server 2010
Run the pre-upgrade checker (SharePoint Server 2010)

Other Resources

Upgrade and Migration for SharePoint Server 2010 Resource Center (http://go.microsoft.com/fwlink/p/?LinkId=241368)


Enterprise search technical reference (SharePoint Server 2010)

Published: September 23, 2010

The articles in this section include information about enterprise search in Microsoft SharePoint Server 2010.

In this section:

  • Default connectors (SharePoint Server 2010)

  • File types and IFilters reference (SharePoint Server 2010)

  • Languages for word breakers and stemmers (SharePoint Server 2010)

  • Crawled properties reference (SharePoint Server 2010)


Default connectors (SharePoint Server 2010)

Published: September 23, 2010

This article lists the connectors, which were called protocol handlers in previous versions, that are installed by default in Microsoft SharePoint Server 2010. SharePoint Server 2010 uses connectors to connect to different content repositories so that the content in that repository can be crawled. You can install additional connectors to crawl content created by other Microsoft products or third-party software. For more information, see Install connectors (SharePoint Server 2010). You can also develop additional connectors by using the SharePoint Server search connector framework. For more information, see SharePoint Server Search Connector Framework (http://msdn.microsoft.com/en-us/library/ee556429.aspx).

The following table shows the connectors that are installed by default in SharePoint Server 2010.

This connector | Is used to connect to this type of content repository
Bcs | Business Connectivity Services (internal protocol)
Bcs2 | Business Connectivity Services URLs (internal protocol)
File | File shares
http | Web sites
https | Web sites over Secure Sockets Layer (SSL)
Notes | Lotus Notes databases
Rb | Exchange public folders for versions prior to Microsoft Exchange Server 2003
Rbs | Exchange public folders over SSL for versions prior to Exchange Server 2003
Sps | People profiles in Microsoft Office SharePoint Portal Server 2003
Sps3 | People profiles in Microsoft Office SharePoint Server 2007
Sps3s | People profiles in Office SharePoint Server 2007 over SSL
Spss | People profiles in SharePoint Portal Server 2003 over SSL
Sts | SharePoint Team Services 1.0 sites (internal protocol)
Sts2 | Windows SharePoint Services 2.0 and SharePoint Portal Server 2003 sites
Sts2s | Windows SharePoint Services 2.0 and SharePoint Portal Server 2003 sites over SSL
Sts3 | Windows SharePoint Services 3.0 and Office SharePoint Server 2007 sites
Sts3s | Windows SharePoint Services 3.0 and Office SharePoint Server 2007 sites over SSL
Sts4 | Microsoft SharePoint Foundation 2010 and SharePoint Server 2010 sites
Sts4s | SharePoint Foundation 2010 and SharePoint Server 2010 sites over SSL


File types and IFilters reference (SharePoint Server 2010)

Published: November 11, 2010

When crawling content, the crawler uses an IFilter to read individual file types. Some IFilters read only one file type, whereas others can read several file types. If you have to crawl a file type that is not supported by an IFilter that is provided with Microsoft SharePoint Server 2010, you must install and register the appropriate IFilter on the crawl server. The procedures used to install and register IFilters vary among different IFilters. If you want to use an IFilter that is not listed here, contact the manufacturer for instructions for installing third-party IFilters. If you add a file type without registering an IFilter, only the file properties are included in the index.

The following table lists the file types that appear by default on the Manage File Types page in Central Administration and describes whether their corresponding IFilters are registered by default. The table also lists file types that do not appear on the Manage File Types page by default but are supported by default IFilters. You can add these file types without having to register a new IFilter.

File name extension | IFilter supported by default? | File type included by default?
.ascx | Yes | Yes
.asm | Yes | No
.asp | Yes | Yes
.aspx | Yes | Yes
.bat | Yes | No
.c | Yes | No
.cmd | Yes | No
.cpp | Yes | No
.css | Yes | No
.csv | Yes | Yes
.cxx | Yes | No
.def | Yes | No
.dic | Yes | No
.doc | Yes | Yes
.docm | Yes | Yes
.docx | Yes | Yes
.dot | Yes | Yes
.dotx | Yes | Yes
.eml | Yes | Yes
.exch | No | Yes
.h | Yes | No
.hhc | Yes | No
.hht | Yes | No
.hpp | Yes | No
.hta | Yes | No
.htm | Yes | Yes
.html | Yes | Yes
.htw | Yes | No
.htx | Yes | No
.jhtml | No | Yes
.jsp | No | Yes
.lnk | Yes | No
.mht | Yes | Yes
.mhtml | Yes | Yes
.mpx | Yes | No
.msg | Yes | Yes
.mspx | No | Yes
.nsf | No | Yes
.odc | Yes | Yes
.odp | Yes | Yes
.ods | Yes | Yes
.odt | Yes | Yes
.one | No | No
.php | No | Yes
.pot | Yes | No
.pps | Yes | No
.ppt | Yes | Yes
.pptm | Yes | Yes
.pptx | Yes | Yes
.pub | No | Yes
.stm | Yes | No
.tif | Yes | Yes
.tiff | No | Yes
.trf | Yes | No
.txt | Yes | Yes
.url | No | Yes
.vdw | Yes | Yes
.vdx | Yes | Yes
.vsd | Yes | Yes
.vss | Yes | Yes
.vst | Yes | Yes
.vsx | Yes | Yes
.vtx | Yes | Yes
.xlc | Yes | No
.xls | Yes | Yes
.xlsb | Yes | Yes
.xlsm | Yes | Yes
.xlsx | Yes | Yes
.xlt | Yes | No
.xml | Yes | Yes
.zip | Yes | Yes


Languages for word breakers and stemmers (SharePoint Server 2010)

This article lists the languages for which Microsoft SharePoint Server 2010 provides word breakers and stemmers. For information about using word breakers and stemmers with multilingual sites, see Plan for multilingual sites (SharePoint Server 2010).

The following table lists the languages for which SharePoint Server 2010 provides word breakers and stemmers:

Language | Language | Language
Arabic* | Hindi | Punjabi
Bengali | Hungarian* | Romanian
Bulgarian | Icelandic | Russian
Catalan | Indonesian | Serbian (Cyrillic)
Chinese (Simplified)* | Italian | Serbian (Latin)
Chinese (Traditional)* | Japanese* | Slovak
Croatian | Kannada | Slovenian
Czech | Korean | Spanish (Spain)
Danish | Latvian | Spanish (Mexico)
Dutch | Lithuanian | Swedish
English | Malay | Tamil
Finnish* | Malayalam | Telugu
French | Marathi | Thai*
German | Norwegian | Turkish*
Greek | Polish | Ukrainian
Gujarati | Portuguese (Brazil) | Urdu
Hebrew* | Portuguese (Portugal) | Vietnamese*

*These languages have only word breakers. There are no stemmers available for these languages.


Crawled properties reference (SharePoint Server 2010)
See Also

Published: May 12, 2011

Crawled properties are metadata (such as author, title, or subject) that are extracted from documents during crawls. Managed properties are metadata that can appear in refined searches. This refinement data can increase end-user search efficiency and precision. Refined searches can be performed only on managed properties, not crawled properties. To make a crawled property available for refined search queries, you must map the crawled property to a managed property. The process to map crawled properties to managed properties is described in detail in the following article: Manage metadata properties for search (SharePoint Server 2010).

This article lists the crawled properties that are available by default in Microsoft SharePoint Server 2010.These default crawled properties appear before the first crawl is performed. After a crawl is performed, the list of crawled properties changes to include properties gathered during the crawl.

To view crawled property categories

  1. Verify that the user account that is performing this procedure is a member of the Farm Administrators group.

  2. Open SharePoint 2010 Central Administration.

  3. On the Central Administration home page, click Manage service applications.

  4. On the Service Applications page, click the Search service application that you want to view.

  5. On the Search Administration page, on the Quick Launch, in the Queries and Results section, click Metadata Properties.

  6. On the Metadata Property Mappings page, click Categories. The crawled property categories are displayed.

By default, or when you create a new Search service application, there are 11 crawled property categories available in a SharePoint Server 2010 installation. The following table shows the categories, number of default properties for each category, and the category description.

Category Name | Number of Properties (Default) | Description
Basic | 53 | Contains metadata associated with file properties.
Business Data | 2 | Contains metadata associated with content in the Business Data Catalog.
Internal | 0 | Contains metadata associated with internal SharePoint objects.
Mail | 14 | Contains metadata associated with Microsoft Exchange Server.
Notes | 3 | Contains metadata associated with Lotus Notes.
Office | 22 | Contains metadata associated with Microsoft Office document types.
People | 53 | Contains metadata associated with SharePoint people profiles.
SharePoint | 133 | Contains metadata associated with the default Microsoft Office schema.
Tiff | 0 | Contains metadata associated with documents that have been scanned or faxed, along with word processing and Optical Character Recognition (OCR).
Web | 44 | Contains metadata associated with HTML web pages.
XML | 0 | Contains metadata associated with the SharePoint XML Filter.

Crawled properties available before the first crawl

The following tables list the default crawled properties available before you perform a first crawl. By default the list of properties for each category as well the number of categories will change after the first crawl to included additional crawled properties and categories found during that crawl. New categories will be listed as Category 1, Category 2, Category 3, etc. New properties and categories found in subsequent crawls are added as crawls are performed.

By default, the Internal, Tiff, and XML categories have no properties. Accordingly, no information is listed in the table for these categories.

Note:

By default, some crawled properties are mapped to managed properties. This mapping appears in the Mapped To column in the table for each crawled property category. For crawled properties that are mapped to a managed property by default, you can edit the mapping. To do that, you click the displayed text in the Mapped To column for the crawled property, and then on Edit Managed Property - crawled property name page, you specify the mapping that you want.

For more information, see Manage metadata properties for search (SharePoint Server 2010).

Note:

You can view all default crawled properties without category organization by selecting Crawled Properties on the Search Service Application: Categories page. There are 324 default crawled properties however, so using category organization will provide a faster viewing experience.

Basic crawled properties

Property Name | Type | Mapped To | Included in Index | Multi-valued
Basic:10(Integer) | Integer |  | No | No
Basic:10(Text) | Text | Filename | No | No
Basic:11(Text) | Text |  | No | No
Basic:11(Text) | Text | Path | Yes | No
Basic:12(Binary Data) | Binary Data |  | No | No
Basic:12(Integer) | Integer | Size | No | No
Basic:13(Yes/No) | Yes/No |  | No | No
Basic:14(Yes/No) | Yes/No |  | No | No
Basic:14(Date and Time) | Date and Time | LastModifiedTime | No | No
Basic:15(Binary Data) | Binary Data |  | No | No
Basic:15(Date and Time) | Date and Time |  | No | No
Basic:16(Date and Time) | Date and Time | LastModifiedTime | No | No
Basic:16(Date and Time) | Date and Time |  | No | No
Basic:17(Text) | Text |  | No | No
Basic:18(Text) | Text |  | No | No
Basic:19(Yes/No) | Yes/No |  | No | No
Basic:19(Text) | Text |  | No | No
Basic:2(Text) | Text |  | No | No
Basic:2(Text) | Text |  | No | No
Basic:2(Binary Data) | Binary Data |  | No | No
Basic:2(Text) | Text |  | Yes | No
Basic:20(Yes/No) | Yes/No |  | No | No
Basic:21(Yes/No) | Yes/No |  | No | No
Basic:-2147483646(Integer) | Integer |  | No | No
Basic:22(Integer) | Integer | IsDocument | No | No
Basic:23(Binary Data) | Binary Data |  | No | No
Basic:24(Text) | Text |  | No | No
Basic:25(Text) | Text |  | No | No
Basic:26(Text) | Text |  | No | No
Basic:27(Text) | Text |  | No | No
Basic:28(Text) | Text |  | No | No
Basic:29(Binary Data) | Binary Data |  | No | No
Basic:3(Text) | Text |  | No | No
Basic:30(Binary Data) | Binary Data |  | No | No
Basic:31(Text) | Text | FollowAllAnchor | No | No
Basic:4(Text) | Text |  | No | No
Basic:4(Date and Time) | Date and Time |  | No | No
Basic:4(Date and Time) | Date and Time |  | No | No
Basic:5(Text) | Text |  | No | No
Basic:5(Text) | Text | ContentType | No | No
Basic:6(Binary Data) | Binary Data |  | No | No
Basic:6(Text) | Text | DocSignature | No | No
Basic:7(Binary Data) | Binary Data |  | No | No
Basic:7(Text) | Text |  | No | No
Basic:8(Text) | Text |  | No | No
Basic:8(Text) | Text |  | No | No
Basic:9(Yes/No) | Yes/No |  | No | No
Basic:9(Text) | Text | Path | No | No
DAV:contentclass(Text) | Text | contentclass | No | No
EmbeddedContent(Text) | Text | ExcludedFromSummary | Yes | No
FileExtension(Text) | Text | FileExtension | No | No
Basic:displaytext(Text) | Text | Title | No | No
Basic:CategoryUrlNavigation(Text) | Text | CategoryNavigationUrl | No | No

Business data crawled properties

Property Name | Type | Mapped To | Included in Index | Multi-valued
EntityName(Text) | Text |  | No | No
EntityNameSpace(Text) | Text |  | No | No

Mail crawled properties

Property Name | Type | Mapped To | Included in Index | Multi-valued
Mail:5(Text) | Text | Title | No | No
Mail:6(Text) | Text | Author, MetadataAuthor | No | No
Mail:7(Text) | Text |  | No | No
att:pri-content-type(text) | Text |  | No | No
att:sub-content-type(Text) | Text |  | No | No
Content-Class(Text) | Text | contentclass | No | No
Content-class(Text) | Text | contentclass | No | No
Par:content-type:charset(Text) | Text |  | No | No
Thread-Index(Text) | Text |  | No | No
Thread-Topic(Text) | Text |  | No | No
To(Text) | Text |  | Yes | No
X-MimeOLE(Text) | Text |  | No | No
X-MS-Has-Attach(Text) | Text |  | No | No
X-MS-TNEF-Correlator(Text) | Text |  | No | No

Notes crawled properties

Property Name | Type | Mapped To | Included in Index | Multi-valued
Author(Text) | Text | Author, Metadata | No | No
Creationdate(Date and Time) | Date and Time |  | No | No
Lasaccessed(Date and Time) | Date and Time | LasModifiedTime | No | No

Office crawled properties

Property Name | Type | Mapped To | Included in Index | Multi-valued
_dlc_DocIdItemGuid(Text) | Text |  | No | No
0xf(Text) | Text |  | No | No
Office:12(Date and Time) | Date and Time |  | No | No
Office:13(Date and Time | Date and Time |  | No | No
Office:13(Text) | Text |  | No | No
Office:14(Text) | Text |  | Yes | No
Office:15(Text) | Text |  | No | No
Office:18(Text) | Text |  | No | No
Office:2(Text | Text |  | No | No
Office:2(Text) | Text |  | Yes | No
Office:3(Text) | Text | DocSubject | Yes | No
Office:3(Text) | Text |  | No | No
Office:4(Text) | Text | Author, MetadataAuthor | No | No
Office:5(Text) | Text | DocKeywords | No | No
Office:6(Text) | Text | Description, DocComments, ExcludedFromSummary | Yes | No
Office:7(Text) | Text |  | No | No
Office:8(Text) | Text) |  | No | No
Office:8(Text) | Text | ModifiedBy | No | No
Office:8(Text) | Text |  | No | No
Office:9(Text) | Text |  | No | No
ContentTypeId(Text) | Text |  | No | No
ContentTypeId(Text) | Text |  | No | No
TaxKeyword(Text) | Text |  | No | No

People crawled properties

Property Name | Type | Mapped To | Included in Index | Multi-valued
People:AboutMe(Text) | Text | AboutMe, ContentsHidden, Description | No | No
People:AccountName(Text) | Text | AccountName, RankingWeightName | No | No
People:Assistant(Text) | Text |  | No | No
People:CellPhone(Text) | Text | ContentsHidden, MobilePhone | Yes | No
People:Colleagues(Text) | Text | Colleagues | No | No
People:ColleaguesNonPublic(Text) | Text | PrivateColleagues | No | No
People:CombinedName(Text) | Text | RankingWeightName | No | No
People:Department(Text) | Text | Department, RankingWeightHigh | No | No
People:Fax(Text) | Text | ContentsHidden | Yes | No
People:FirstName(Text) | Text | FirstName, Pronunciations | No | No
People:HomePhone(Text) | Text | ContentsHidden | Yes | No
People:LastName(Text) | Text | LastName, Pronunciations | No | No
People:LevelsToTop(Integer) | Integer |  | No | No
People:Manager(Text) | Text |  | No | No
People:Office(Text) | Text | ContentsHidden, OfficeNumber | No | No
People:OrganizationNames(Text) | Text | OrgNames, RankingWeightHigh | No | No
People:OrganizationParentNames(Text) | Text | ContentsHidden, OrgParentNames | No | No
People:OrganizationParentURLs(Text) | Text | OrgParentUrls | No | No
People:OrganizationURLs(Text) | Text | OrgUrls | No | No
People:PersonalSpace(Text) | Text |  | No | No
People:PictureURL(Text) | Text | PictureURL | No | No
People:PreferredName(Text) | Text | PreferredName, Pronunciations, Title | No | No
People:ProfileHierarchyViewUrl(Text) | Text | HierarchyUrl | No | No
People:PublicSiteRedirect(Text) | Text |  | No | No
People:QuickLinks(Text) | Text | Memberships | No | No
People:SID(Binary Data) | Binary Data |  | No | No
People:SocialTagTextUrl(Text) | Text | SocialTagTextUrl | No | No
People:SPS-Birthday(Date and Time) | Date and Time |  | No | No
People:SPS-Datasource(Text) | Text |  | No | No
People:Dotted-line(Text) | Text |  | No | No
People:SPS-HireDate(Date and Time) | Date and Time |  | No | No
People:SPS-Interests(Text) | Text | Interest, RankingWeightLow | No | No
People:SPS-JobTitle(Text) | Text | JobTitle | No | No
People:SPS-Location(Text) | Text | BaseOfficeLocation, ContentsHidden | No | No
People:SPS-MemberOf(Text) | Text | ContentsHidden | Yes | No
People:SPS-MySiteWizard(Yes/No) | Yes/No |  | No | No
People:SPS-PastProjects(Text) | Text | ContentsHidden, PastProjects | No | No
People:SPS-Peers(Text) | Text |  | No | No
People:SPSPhoneticDisplayName(Text) | Text | Pronunciations, YomiDisplayName | No | No
People:SPS-PhoneticFirstName(Text) | Text | FirstName, Pronunciations | No | No
People:SPS-PhoneticLastName(Text) | Text | LastName, Pronunciations | No | No
People:SPS-ProxyAddresses(Text) | Text |  | No | No
People:SPS-Responsibility(Text) | Text | Responsibilities | No | No
People:SPS-School(Text) | Text | ContentsHidden, Schools | No | No
People:SPS-SipAddress(Text) | Text | RainkingWeightName, SipAddress | No | No
People:SPS-Skills(Text) | Text | RankingWeightLow, Skills | No | No
People:Title(Text) | Text | JobTitle | No | No
People:UserName(Text) | Text | RankingWeightName, UserName | No | No
PeopleUserProfile_GUID(Text) | Text | UserProfile_GUID | No | No
People:WebSite(Text) | Text |  | No | No
People:WeightedMemberships(Text) | Text |  | No | No
People:WorkEmail(Text) | Text | RankingWeightName. WorkEmail | No | No
People:WorkPhone(Text) | Text | ContentsHidden, WorkPhone | No | No

SharePoint crawled properties

Property Name | Type | Mapped To | Included in Index | Multi-valued
ChangeID(Text) | Text |  | No | No
ChangeIDEnd(Text) | Text |  | No | No
CrawlLogLevel(Integer) | Integer |  | No | No
CRC(Integer) | Integer |  | No | No
DAV:contentclass(Text) | Text | contentclass | No | No
DAV:contentclass(Text) | Text | contentclass | No | No
DAV:iscollection(Yes/No) | Yes/No |  | No | No
DAV:iscollection(Yes/No) | Yes\No |  | No | No
ObjectID(Text) | Text |  | No | No
Ows_dlc_DocId(Text) | Text | DocId, ExcludeFromSummary | Yes | No
ows_dlc_DocIdUrl(Text) | Text |  | No | No
Ows_UIVersionString(Text) | Text |  | No | No
ows_Announcement_x0020_Expires(Date and Time) | Date and Time | ExpirationTime | No | No
ows_Assigned_x0020_To(Text) | Text | AssignedTo | Yes | No
ows_AuthorUserId(Text) | Text |  | No | No
Ows_BaseName(Text) | Text |  | No | No
ows_Category(Text) | Text |  | Yes | No
Ows_Cell_x0200_Phone(Text) | Text | MobilePhone | Yes | No
ows_Cell_x0200_Phone(Text) | Text | MobilePhone | Yes | No
ows_Company(Text) | Text | OrgNames | Yes | No
ows_ConnectionType(Text) | Text |  | No | No
ows_ContentType(Text) | Text | ContentType | No | No
ows_Created(Text) | Text |  | No | No
ows_Created_x0020_By(Text) | Text | CreatedBy | Yes | No
ows_Created_x0020_Date(Text) | Text |  | No | No
ows_Department(Text) | Text | Department | Yes | No
ows_Description(Text) | Text | Description | Yes | No
ows_DocIcon(Text) | Text |  | No | No
ows_Edit(Text_ | Text |  | No | No
ows_Email(Text) | Text | WorkEmail | Yes | Yes
ows_Email_x0020_Text) | Text | WorkEmail | Yes | No
owsEncodedAbsThumbnailUrl(Text) | Text | PictureThumbnailURL | No | No
ows_End_Anchor(Text) | Text |  | No | No
ows_End_x0020_Date(Text) | Text |  | No | No
ows_End_x0020_Date(Date and Time) | Date and Time | EndDate | No | No
ows_EndDate(Text) | Text |  | No | No
ows_Expires(Date and Time) | Date and Time | ExpirationTime | No | No
ows_File_x0020_Type(Text) | Text | FileExtension | No | No
ows_FileDirRef(Text) | Text |  | No | No
ows_FileLeafRef(Text) | Text |  | No | No
ows_FileRef(Text) | Text |  | No | No
ows_FileSizeDisplay(Text) | Text |  | No | No
ows_FileType(Text) | Text | FileExtension, SecondaryFileExtension | No | No
ows_First_x0020_Name(Text) | Text |  | Yes | No
ows_FirstName(Text) | Text |  | Yes | No
ows_FolderChildCount(Text) | Text |  | No | No
ows_Full_x0020_Name(Text) | Text | UserName | Yes | No
ows_FullName(Text) | Text | UserName | Yes | No
ows_Home_x0020_Phone(Text) | Text |  | Yes | No
ows_HomePhone(Text) | Text |  | Yes | No
ows_Image_x0020_CreateDate(Text) | Text |  | Yes | No
ows_Image_x0020_CreateDate(Date and Time) | Date and Time | DisplayDate, ImageDateCreated | No | No
ows_ImageCreateDate(Text) | Text |  | No | No
ows_ImageCreateDate(Date and Time) | Date and Time | DisplayDate, ImageDateCreated | No | No
ows_ImageHeight(Integer) | Integer | PictureHeight | No | No
ows_ImageSize(Integer) | Integer | Size | No | No
ows_ImageSize(Text) | Text |  | No | No
ows_ImageWidth(Integer) | Integer | PictureWidth | No | No
ows_IsDefaultView(Yes/No) | Yes/No |  | No | No
ows_IsEmptyList(Yes/No) | Yes/No |  | No | No
ows_isItem(Yes/No) | Yes/No |  | No | No
ows_Issue_x0020_Status(Text) | Text | Status | Yes | No
ows_ItemChildCount(Text) | Text |  | No | No
ows_ItemURL(Text) | Text |  | No | No
ows_Job_x0020_Tile(Text) | Text | JobTitle | Yes | No
ows_JobTitle(Text) | Text | JobTitle | Yes | No
ows_Keywords(Text) | Text | Keywords | Yes | No
ows_Last_x0020_Modified(Text) | Text |  | No | No
ows_Last_x0020_Name(Text) | Text |  | Yes | No
ows_LastName(Text) | Text |  | Yes | No
ows_LinkFilename(Text) | Text |  | No | No
ows_LinkFilenameNoMenu(Text) | Text |  | No | No
ows_ListID(Text) | Text |  | No | No
ows_Location(text) | Text | Location | Yes | No
ows_Manager(Text) | Text |  | Yes | No
ows_MetadataFacetInfo(Text) | Text |  | No | No
ows_Modified(Text) | Text |  | No | No
ows_Modified(Date and Time) | Date and Time | LastModifiedTime | No | No
ows_Modified_x0020_By(Text) | Text | ModifiedBy | Yes | No
ows_ModifiedBy(Text) | Text | ModifiedBy | Yes | No
ows_Name(Text) | Text) | Account | Yes | No
ows_Note(Text) | Text | Notes | Yes | No
ows_Notes(Text) | Text | AboutMe, Notes | Yes | No
ows_Percent_x0020_Complete(Text) | Text |  | No | No
ows_Percent_x0020_Complted(Text) | Text |  | No | No
ows_PercentComplete(Text) | Text |  | No | No
ows_Picture(Text) | Text |  | No | No
ows_PictureUrl(Text) | Text | PictureURL | No | No
ows_Priority(Decimal) | Decimal |  | No | No
ows_Priority(Text) | Text | Priority | Yes | No
ows_Purpose(Text) | Text | Purpose | Yes | No
ows_ServerRedirectedUrl(Text) | Text | ServerRedirectedUrl | No | No
ows_SiteDescription(Text) | Text | Description | Yes | No
ows_SiteID(Text) | Text | SiteID | No | No
ows_SiteName(Text) | Text | SiteTitle | No | No
ows_SPLocationInfo(Text) | Text |  | No | No
ows_SPSDescription(Text) | Text | Description | Yes | No
ows_SPSiteURL(Text) | Text | SPSiteURL | No | No
ows_Start_x0020_date(Text) | Text |  | No | No
ows_Start_x0020_Date(Date and Time) | Date and Time | StartDate | No | No
ows_StartDate(Text) | Text |  | No | No
ows_Task_x0020_Status(Text) | Text | Status | Yes | No
ows_taxId_SPLocationInfo(Text) | Text |  | No | No
ows_taxId_SPLocationList(Text) | Text |  | No | No
ows_taxId_SPLocationSite(Text) | Text |  | No | No
ows_TaxKeyword(Text) | Text | ExcludeFromSummary | Yes | No
ows_Title(Text) | Text | Title | No | No
ows_URL(Text) | Text | OWS_URL | No | No
ows_URL_Anchor(Text) | Text |  | No | No
ows_WebId(Text) | Text | WebId | No | No
ows_Wiki_x0020_Page_x0020_Categories(Text) | Text | WikiCategory | Yes | No
ows_Work_x0020_Fax(Text) | Text |  | Yes | No
ows_Work_x0020_Phone(Text) | Text | WorkPhone | Yes | No
ows_WorkAddress(Text) | Text |  | Yes | No
ows_WorkCity(Text) | Text |  | Yes | No
ows_WorkCountry(Text) | Text |  | Yes | No
ows_WorkFax(Text) | Text |  | Yes | No
ows_WorkPhone(Text) | Text | WorkPhone | Yes | No
ows_WorkState(Text) | Text |  | Yes | No
ows_WorkZip(Text) | Text |  | Yes | No
PHFlags(Integer) | Integer |  | No | No
SecurityId(Text) | Text |  | No | No
SharePoint:lang(Yes/No) | Yes/No |  | No | No
SharePoint:Doc/SPS_ContentId(Yes/No) | Yes/No |  | No | No
SharePoint:Doc/SPS_ContentType(Yes/No) | Yes/No |  | No | No
SharePoint:Doc/SPS_LanguageLocale(Yes/No) | Yes/No |  | No | No
SharePoint:isdocument(Integer) | Integer | IsDocument | No | No
SharePoint:isdocument(Integer) | Integer | IsDocument | No | No
SharePoint:BestBetKeywords(Text) | Text | BestBetKeywords | No | No
SharePoint:HomeBestBetKeywords(Text) | Text | BestBetKeywords | No | No
SharePoint:PluggableSecurityTrimmerId(Integer) | Integer |  | No | No
SharePoint:objectid(Text) | Text |  | No | No

Web crawled properties

Property Name | Type | Mapped To | Included in Index | Multi-valued
Web:2(Text) | Text | Path | Yes | No
Web:2(Integer) | Integer |  | No | No
Web:3(Text) | Text |  | Yes | No
Web:3(Text) | Text |  | No | No
Web:4(Text) | Text |  | Yes | No
Web:4(Integer) | Integer | NLCodePage | No | No
Web:5(Text) | Text |  | Yes | No
Web:6(Text) | Text |  | Yes | No
Web:7(Text) | Text |  | Yes | No
Web:8(Text) | Text |  | Yes | No
A.ENDANCHOR(Text) | Text |  | No | No
A.HREF(Text) | Text |  | No | No
APPLET.CODE(Text) | Text |  | No | No
APPLET.CODEBASE(Text) | Text |  | No | No
AREA.HREF(Text) | Text |  | No | No
BASE.HREF(Text) | Text |  | No | No
BGSOUND.SRC(Text) | Text |  | No | No
BODY.BACKGROUND(Text) | Text |  | No | No
DESCROPTION(Text) | Text | Description | Yes | No
EMBED.SRC(Text) | Text |  | No | No
FRAME.SRC(Text) | Text |  | No | No
GENERATOR(Text) | Text |  | No | No
HELPAWSKEYWORD(Text) | Text |  | Yes | No
IFRAME.SRC(Text) | Text |  | No | No
IMG.ALT(Text) | Text |  | No | No
IMG.DYNSRC(Text) | Text |  | No | No
IMG.SRC(Text) | Text |  | No | No
INPUT.ALT(Text) | Text |  | No | No
INPUT.SRC(Text) | Text |  | No | No
LINK.HREF(Text) | Text |  | No | No
LINK.OFFICECHILD(Text) | Text | ExcludeFromSummary | Yes | No
LINK.OFFICECHILDLIST(Text) | Text |  | No | No
LINK.STYLESHEET(Text) | Text |  | No | No
META.URL(Text) | Text |  | No | No
OBJECT.CODE(Text) | Text |  | No | No
OBJECT.CODEBASE(Text) | Text |  | No | No
ROBOTS(Text) | Text |  | No | No
SCRIPT(Text) | Text |  | No | No
STYLE(Text) | Text |  | No | No
TABLE.BACKGROUND(Text) | Text |  | No | No
TABLE.BACKGROUND(Text) | Text |  | No | No
TD.BACKGROUND(Text) | Text |  | No | No
TH.BACKGROUND(Text) | Text |  | No | No
TOPIC(Text) | Text |  | Yes | No
TR.BACKGROUND(Text) | Text |  | No | No

See Also

Concepts

Manage metadata properties for search (SharePoint Server 2010)

Other Resources

Manage mapping crawled to managed properties (FAST Search Lotus Notes connector)
Manage mapping crawled to managed properties (FAST Search Web crawler)
Manage mapping crawled to managed properties (FAST Search database connector)
Manage crawled properties by using Windows PowerShell (FAST Search Server 2010 for SharePoint)


Managing privacy (SharePoint Server 2010)

Several features in Microsoft SharePoint Server 2010 interact with personally identifiable information. This document lists the features that store or use personally identifiable information and describes how that information is used. The article also tells you how to control the behavior of the features — or turn off the features — to help protect the privacy of the information.

In this article:

  • Web Analytics

  • SharePoint social tagging and Note Boards

  • SharePoint ratings

  • My Sites and user profiles

  • Support for SharePoint Server Colleague add-in

  • Activity feed

  • SharePoint Search Federation

  • SharePoint query logging

  • Managed metadata and enterprise keywords

Web Analytics

The Web Analytics services enable SharePoint Server 2010 customers to understand more about visits to their SharePoint sites. The Web Analytics services collect data about how end-users access SharePoint pages. Data that is collected by the Web Analytics services can include but is not limited to the following information:

  • The site from which the end-user starts

  • The keywords that the end-user uses to find the SharePoint site

  • The pages viewed on the site

  • The searches run on the site

  • The browser type

Important:

None of this information is sent to Microsoft unless Microsoft hosts the SharePoint site.

A member of the Farm Administrators group can decide not to use the Web Analytics services. The administrator either does not create a Web Analytics Service Application or stops the Web Analytics services by using the following procedure.

  1. On the Central Administration Web site, on the Quick Launch, click Monitoring and in the Reporting section click Configure usage and health data collection.

    The Configure web analytics and health data collection page opens.

  2. In the Event Selection section, clear the Events to log check boxes to stop logging these data points.

A member of the Farm Administrators group can disable the reporting of Web Analytics services data for a specific site collection.

  1. On the top-level page of a site collection, on the Site Actions menu, click Site Settings.

  2. In the Site Collection Administration section, click Site collection features and, next to Advanced Web Analytics, click Deactivate.

If a member of the Farm Administrators group stops the Web Analytics services or decides not to log certain data, subsequent logging is stopped, but information that is already logged will not immediately be deleted or removed from Web Analytics reports.

Members of the SharePoint Farm Administrators group can also set the limit on the period that the data is retained in the Web Analytics warehouse database. After the limit is reached, the data does not show in Web Analytics reports because the data is no longer in the database. For example, if the administrator sets the data retention period to one month, only data of the past month will appear in reports.

To set the limit on the data retention period:

  1. On the Central Administration Web site, in the Application Management section, click Manage service applications.

  2. Click the Web Analytics Service Application row to select it and in the Operations group of the ribbon click Properties.

  3. In the dialog box, in the Data Retention Period section, set the data retention period, which can range from 1 month to 25 months.

SharePoint social tagging and Note Boards

The SharePoint Social Tagging and Note Boards features enable users to tag or add notes to SharePoint pages and Internet pages. By default, the SharePoint Social Tagging and Note Boards features are turned on. Social tagging can be turned off by a member of the Farm Administrators group, an administrator who has been assigned to a User Profile Service Application, or anyone who has the Manage Social Data permission. To turn off social tagging, remove the Use Social Features permission from a user or group.

When a user adds tags or notes, the user's user name is stored with the tag or note. Tags and notes that users create appear in the activity feeds of both the users' Colleagues and any users who have the tag listed as an interest in their user profile.

Users can decide to have their tags marked as private — so that the tags' URLs are not visible to other users — by selecting the Private check box on the Tag Entry dialog box or by marking their items private from their Tags and Notes pages. Notes cannot be marked as private.

SharePoint ratings

SharePoint lets users add ratings to SharePoint list items and document library items. These ratings are also displayed on the activity feeds of users. User names are not displayed next to the ratings on SharePoint list items, document library items, or activity feeds. Microsoft SharePoint Server does store user names, and user names can be accessed through the SharePoint object model. By default, the SharePoint ratings feature is turned on. The ratings feature can be turned off by a member of the Farm Administrators group, an administrator who has been assigned to a User Profile Service Application, or anyone who has the Manage Social Data permission. To turn off ratings, remove the Use Social Features permission from a user or group. A SharePoint administrator can also disable the ratings control on SharePoint pages for a site collection so that users can no longer see the control on Web pages. The following is the Windows PowerShell command to disable the ratings control:

Disable-spfeature -id "915c240e-a6cc-49b8-8b2c-0bff8b553ed3" -url Site Collection Url -force -Confirm:$false

A SharePoint administrator must have both site collection administrator permissions and the Shell_Access and WSS_WPG Windows PowerShell permissions to perform this action.

This command disables the controls on the Web pages but does not delete existing ratings or associated user names from the SharePoint database. Ratings and associated user name data can be deleted permanently by using the SharePoint object model.

My Sites and user profiles

My Sites let users store and display personal information that other SharePoint users and applications can access. Users can personalize the appearance, behavior, and content of their My Site pages. Users can also update their SharePoint user profiles from their My Site pages. By default, some user information, such as name, account name, e-mail address, telephone number, and manager's name, is included in the My Site and SharePoint profiles. A User Profile service administrator who has Manage Profile permissions can configure user profiles to include specific data in a user's My Site and SharePoint profiles.

  1. On the Central Administration Web site, in the Application Management section, click Manage service applications.

  2. Click User Profile Service, and in the People section, click Manage User Profiles.

Each profile property has an associated privacy level. Microsoft SharePoint Server supports the following privacy levels:

Only Me

My Manager

My Team

My Colleagues

Everyone

Users can choose privacy levels that help ensure that data that is stored in their profiles is visible only to intended people. A User Profile Service administrator with Manage Profile permissions can configure a default privacy level for a profile property and enable users to override it. A SharePoint administrator can also enforce a privacy level on a particular profile property so that users cannot override it.

  1. On the Central Administration Web site, click Manage service applications.

  2. Click User Profile Service, and then click Profile services policies.

Except for the My Team and My Colleagues privacy levels, profile privacy levels are automatically computed by SharePoint Server. Users decide which people are at the My Team and My Colleagues privacy levels. My Colleagues refers to Colleague relationships that a user has identified. My Team is a subset of Colleagues who are specified by a user.

User Profile service administrators with Manage Profile permissions who manage the databases for profile data have access to all data regardless of privacy levels that users set.

Support for SharePoint Server Colleague add-in

The SharePoint Server Colleague Add-in feature in Microsoft Outlook 2010 scans a user's sent e-mail folder to look for specific names and keywords and the frequency of those names and keywords. A list of suggested keywords is available on the Edit profile page of the user profile. The list is updated periodically and stored in the user's profile on his or her local computer. The list of possible colleagues is accessed by the Add Colleagues page on the My Site, where users can choose the colleagues they want to add to their trusted My Site. A user must approve or reject each contact name or keyword before it is added to the user profile. Members of the SharePoint Farm Administrators group can turn off this functionality and prevent My Sites from accessing this information by setting the following Group Policy setting registry key.

HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Common\Portal\ColleagueImport\Enabled

Values = DWORD 0 to turn it off and 1 to turn it on.

An end user can turn off both or either the analysis of content in the Sent Items e-mail folder and the uploading of contact names and keywords to My Site by following these steps:

  1. On the File menu of Outlook 2010, click Options.

  2. In the Outlook Options dialog box, click Advanced.

  3. In the Other section, clear the option that allows analysis of sent e-mails and subjects.

Activity feed

Activity Feed lets users add feeds of events to their My Sites. Feeds might give information about activities of their Colleagues, such as updates to profile properties and creation of social tags and notes. Activity Feed does not enable tracking of activities that a user does not have permissions to see.

Activity Feed is off by default in a User Profile Service Application. To turn on this feature, a member of the Farm Administrators group must configure the User Profile service Activity Feed timer job.

  1. On the Central Administration Web site, on the Quick Launch, click Monitoring.

  2. In the Timer Jobs section, click Review job definitions.

  3. Click User Profile Service - Activity Feed Job in the list of timer jobs.

  4. On the Edit Timer Job page, click Enable.

Users choose their Colleagues for their My Site by selecting names of other users and setting them as Colleagues. When a user is selected as a Colleague, a notification e-mail message is sent to the new Colleague.

SharePoint Search Federation

SharePoint Search Federation allows an administrator for a Search Service Application to provide results from multiple search providers for user queries. By default, SharePoint Search Federation searches only local SharePoint content. An administrator for a Search Service Application can add search providers, such as any third-party remote or online search engine.

If an administrator for a Search Service Application adds a search provider, user queries are sent to that search provider, and the results returned by the search provider are displayed.

Information about the privacy practices of the Microsoft Bing search engine is at http://go.microsoft.com/fwlink/?LinkID=147849. Microsoft does not control the data collection and use practices of third-party search providers.

SharePoint query logging

SharePoint search collects information about user search queries and about the search results that users select on their computers. SharePoint uses this information to improve the relevancy of search results and to improve query suggestions. Members of the Farm Administrators group or an administrator of the Search Service Application can also create reports, depending on this information.

Query logging can be turned off as follows:

  1. On the Central Administration Web site, in the Application Management section, click Manage service applications.

  2. Click Search Service Application and in the System Status section of the Search Service Application page, click the Disable link next to Query logging.

Managed metadata and enterprise keywords

Enterprise keywords are managed metadata values from a term store that are stored in a special column type. Instead of being bound to a single term set, this column type is validated against all available terms in all accessible term sets. However, this column type is not validated against term sets that are specific to a site collection and does not participate in enterprise keyword validation.

Default behavior

By default, both managed metadata and enterprise keyword columns are available in SharePoint Server 2010. These columns can be applied to a content type or list. After either the managed metadata or enterprise keywords column is applied to a content type, the data that users enter in these fields is stored in a term store database.

Enterprise keywords and managed metadata should generally be considered public and readable by all users. If an enterprise keyword column or a managed metadata column is bound to a globally available term set, all metadata that users create will be accessible to other enterprise users who are viewing or validating terms.

After managed metadata and enterprise keyword columns are used, and user data is stored in and shared from the term store database, a SharePoint list can be configured to share its managed metadata and enterprise keyword data with the social tagging database that the User Profile service maintains. Doing so expands the visibility of a user's data to all users of any features that rely on the social tagging database, with the exception of user data in columns that are bound to term sets. Metadata values that are stored in site collectionspecific term sets will not be shared with the social tagging database regardless of whether the list setting is enabled to share with the social tagging database or not.

User interface text for managing the feature

The UI displays the following descriptive text:

  • When you add enterprise keywords to either a list or content type, you see the following descriptive text:

    Enterprise Keywords are shared with other users to allow for ease of search and filtering, as well as metadata consistency and reuse.

  • The list settings UI gives list owners a shortcut for adding the enterprise keywords column. The UI displays the following text:

    Add Enterprise Keywords

    An Enterprise Keyword column allows users to enter one or more text values that will be shared with other users and application to allow for ease of search and filtering, as well as metadata consistency and reuse.

    Adding an Enterprise Keywords column also provides synchronization between existing legacy keyword fields and the managed metadata infrastructure. (Document tags will be copied into the Enterprise Keywords on upload.)

  • The same list settings page displays the following descriptive text for metadata promotion:

    Values added to columns of types Managed Metadata and Enterprise Keywords can be shared with the Social service in order for metadata and keyword tags on items in this list to appear in tag clouds.


User permissions and permission levels (SharePoint Server 2010)
See Also

This article describes the default permission levels as well as the user permissions in Microsoft SharePoint Server 2010.

In this article:

  • Default permission levels

  • User permissions

Default permission levels

Permission levels are collections of permissions that allow users to perform a set of related tasks. SharePoint Server 2010 includes five permission levels by default. You can customize the permissions available in these permission levels (except for the Limited Access and Full Control permission levels), or you can create customized permission levels that contain only the specific permissions you need. For more information about how to customize permission levels, see Configure custom permissions (SharePoint Server 2010).

Note:

Although you cannot directly edit the Limited Access and Full Control permission levels, you can make individual permissions unavailable for the entire Web application, which removes those permissions from the Limited Access and Full Control permission levels. For more information about how to manage permissions for a Web application, see Manage permissions for a Web application (SharePoint Server 2010).

The following table lists the default permission levels for team sites in SharePoint Server 2010.

Permission level Description Permissions included by default

Limited Access

Allows access to shared resources in the Web site so that the users can access an item within the site. Designed to be combined with fine-grained permissions to give users access to a specific list, document library, folder, list item, or document, without giving them access to the entire site. Cannot be customized or deleted.

  • View Application Pages

  • Browse User Information

  • Use Remote Interfaces

  • Use Client Integration Features

  • Open

Read

View pages, list items and download documents.

  • Limited Access permissions, plus:

  • View Items

  • Open Items

  • View Versions

  • Create Alerts

  • Use Self-Service Site Creation

  • View Pages

Contribute

View, add, update, and delete items in the existing lists and document libraries.

  • Read permissions, plus:

  • Add Items

  • Edit Items

  • Delete Items

  • Delete Versions

  • Browse Directories

  • Edit Personal User Information

  • Manage Personal Views

  • Add/Remove Personal Web Parts

  • Update Personal Web Parts

Design

View, add, update, delete, approve, and customize items or pages in the Web site.

  • Approve permissions, plus:

  • Manage Lists

  • Add and Customize Pages

  • Apply Themes and Borders

  • Apply Style Sheets

Full Control

Allows full control of the scope.

All permissions

If you use a site template other than the team site template, you will see a different list of default SharePoint groups. For example, the following table shows additional permission levels provided with the publishing template.

Permission level Description Permissions included by default

Restricted Read

View pages and documents. For publishing sites only.

  • View Items

  • Open Items

  • View Pages

  • Open

Approve

Edit and approve pages, list items, and documents. For publishing sites only.

  • Contribute permissions, plus:

  • Override Checkout

  • Approve Items

Manage Hierarchy

Create sites; edit pages, list items, and documents. For Publishing sites only.

  • Design permissions minus the Approve Items, Apply Themes and Borders, and Apply Style Sheets permissions, plus:

  • Manage permissions

  • View Web Analytics Data

  • Create Subsites

  • Manage Alerts

  • Enumerate Permissions

  • Manage Web Site

User permissions

SharePoint Server 2010 includes 33 permissions, which are used in the five default permission levels. You can change which permissions are included in a particular permission level (except for the Limited Access and Full Control permission levels), or you can create a new permission level to contain specific permissions.

Permissions are categorized as list permissions, site permissions, and personal permissions, depending on the objects to which they can be applied. For example, site permissions apply to a particular site, list permissions apply only to lists and libraries, and personal permissions apply only to things such as personal views, private Web Parts, and more. The following tables describe what each permission is used for, the dependent permissions, and the permission levels in which it is included.

List permissions

Permission | Description | Dependent permissions | Included in these permission levels by default
Manage Lists | Create and delete lists, add or remove columns in a list, and add or remove public views of a list. | View Items, View Pages, Open, Manage Personal Views | Design, Full Control
Override Check Out | Discard or check in a document that is checked out to another user without saving the current changes. | View Items, View Pages, Open | Design, Full Control
Add Items | Add items to lists, and add documents to document libraries. | View Items, View Pages, Open | Contribute, Design, Full Control
Edit Items | Edit items in lists, edit documents in document libraries, and customize Web Part Pages in document libraries. | View Items, View Pages, Open | Contribute, Design, Full Control
Delete Items | Delete items from a list, and documents from a document library. | View Items, View Pages, Open | Contribute, Design, Full Control
View Items | View items in lists, and documents in document libraries. | View Pages, Open | Read, Contribute, Design, Full Control
Approve Items | Approve minor versions of list items or documents. | Edit Items, View Items, View Pages, Open | Design, Full Control
Open Items | View the source of documents with server-side file handlers. | View Items, View Pages, Open | Read, Contribute, Design, Full Control
View Versions | View past versions of list items or documents. | View Items, Open Items, View Pages, Open | Read, Contribute, Design, Full Control
Delete Versions | Delete past versions of list items or documents. | View Items, View Versions, View Pages, Open | Contribute, Design, Full Control
Create Alerts | Create e-mail alerts. | View Items, View Pages, Open | Read, Contribute, Design, Full Control
View Application Pages | View forms, views, and application pages. Enumerate lists. | Open | All

Site permissions

Permission | Description | Dependent permissions | Included in these permission levels by default
Manage Permissions | Create and change permission levels on the Web site and assign permissions to users and groups. | View Items, Open Items, View Versions, Browse Directories, View Pages, Enumerate Permissions, Browse User Information, Open | Full Control
View Usage Data | View reports on Web site usage. | View Pages, Open | Full Control
Create Subsites | Create subsites such as team sites, Meeting Workspace sites, and Document Workspace sites. | View Pages, Browse User Information, Open | Full Control
Manage Web Site | Perform all administration tasks for the Web site, and manage content. | View Items, Add and Customize Pages, Browse Directories, View Pages, Enumerate Permissions, Browse User Information, Open | Full Control
Add and Customize Pages | Add, change, or delete HTML pages or Web Part pages, and edit the Web site by using a Windows SharePoint Services-compatible editor. | View Items, Browse Directories, View Pages, Open | Design, Full Control
Apply Themes and Borders | Apply a theme or borders to the entire Web site. | View Pages, Open | Design, Full Control
Apply Style Sheets | Apply a style sheet (.css file) to the Web site. | View Pages, Open | Design, Full Control
Create Groups | Create a group of users that can be used anywhere within the site collection. | View Pages, Browse User Information, Open | Full Control
Browse Directories | Enumerate files and folders in a Web site by using Microsoft SharePoint Designer 2010 and Web DAV interfaces. | View Pages, Open | Contribute, Design, Full Control
Use Self-Service Site Creation | Create a Web site by using Self-Service Site Creation. | View Pages, Browse User Information, Open | Read, Contribute, Design, Full Control
View Pages | View pages in a Web site. | Open | Read, Contribute, Design, Full Control
Enumerate Permissions | Enumerate permissions on the Web site, list, folder, document, or list item. | Browse Directories, View Pages, Browse User Information, Open | Full Control
Browse User Information | View information about users of the Web site. | Open | All
Manage Alerts | Manage alerts for all users of the Web site. | View Items, View Pages, Open | Full Control
Use Remote Interfaces | Use SOAP, Web DAV, or SharePoint Designer 2010 interfaces to access the Web site. | Open | All
Use Client Integration Features | Use features that start client applications. Without this permission, users must work on documents locally and then upload their changes. | Use Remote Interfaces, Open | All
Open | Open a Web site, list, or folder to access items inside that container. | None | All
Edit Personal User Information | Users can change their own user information, such as adding a picture. | Browse User Information, Open | Contribute, Design, Full Control

Personal permissions

Permission | Description | Dependent permissions | Included in these permission levels by default
Manage Personal Views | Create, change, and delete personal views of lists. | View Items, View Pages, Open | Contribute, Design, Full Control
Add/Remove Personal Web Parts | Add or remove personal Web Parts on a Web Part page. | View Items, View Pages, Open | Contribute, Design, Full Control
Update Personal Web Parts | Update Web Parts to display personalized information. | View Items, View Pages. Open | Contribute, Design, Full Control

See Also

Concepts

Configure custom permissions (SharePoint Server 2010)


Database types and descriptions (SharePoint Server 2010)
See Also

Updated: March 5, 2013

This article describes the databases that are installed for Microsoft SharePoint Server 2010. It includes some sizing and placement information. For more information about where to locate databases, see Storage and SQL Server capacity planning and configuration (SharePoint Server 2010).

Databases for SharePoint Server 2010 can be hosted in Microsoft SQL Server 2008 R2, SQL Server 2008 with Service Pack 1 (SP1) and Cumulative Update 2, or SQL Server 2005 with SP3 and Cumulative Update 3. Stand-alone installations can also be hosted in the Express Editions of SQL Server 2008 R2 or SQL Server 2008. For more information see Hardware and software requirements (SharePoint Server 2010).

Note:

The database names listed in this topic are automatically created when you run the SharePoint Products Configuration Wizard. You do not have to use these naming conventions. You can either specify database names when you create them, or change the database names after they have been created. For more information, see Deploy by using DBA-created databases (SharePoint Server 2010).

The database sizes listed in this article are based on the following ranges.

Descriptor | Size range
Small | 1 gigabyte (GB) or less
Medium | Up to 100 GB.
Large | Up to 1 terabyte
Extra-large | 1 terabyte or more

In this article:

  • SharePoint Foundation 2010 databases

  • SharePoint Server 2010, Standard Edition databases

  • SharePoint Server 2010, Enterprise Edition databases

  • Project Server 2010 databases

    If you are running SharePoint Server 2010, you may also have Microsoft Project Server 2010 in the environment.

  • FAST Search Server for SharePoint 2010 databases

    If you are running SharePoint Server 2010, you may also have Microsoft FAST Search Server 2010 for SharePoint in the environment.

  • SQL Server system databases

  • SQL Server Reporting Services databases

For a graphical overview of the databases used by SharePoint Server 2010, see Database model (http://go.microsoft.com/fwlink/p/?LinkId=187968).

SharePoint Foundation 2010 databases

The following databases are part of a SharePoint Foundation 2010 deployment. These databases are also part of any other SharePoint 2010 Products deployment.

Configuration

The configuration database contains data about SharePoint databases, Internet Information Services (IIS) Web sites, Web applications, trusted solutions, Web Part packages, site templates, and Web application and farm settings specific to SharePoint 2010 Products, such as default quota settings and blocked file types.

Default database name prefix when installed by using the SharePoint Products Configuration Wizard | SharePoint_Config
Location requirements | None
General size information and growth factors | Small. However, transaction log files are likely to become large. For more information, see Additional notes, below.
Read/write characteristics | Read-intensive
Recommended scaling method | Must scale up; that is, the database must grow larger, because only one configuration database is supported per farm. (Significant growth is unlikely.)
Associated health rules | None
Supported backup mechanisms | SharePoint Server 2010 backup and recovery, SQL Server, and System Center Data Protection Manager (DPM) 2010. The configuration database is a special case for backup and recovery. For more information, see Additional notes below.
Default recovery model | Full. We recommend that you switch the configuration database to the simple recovery model to restrict growth of the log file.
Supports mirroring within a farm for availability | Yes
Supports asynchronous mirroring or log-shipping to another farm for disaster recovery | No

Additional notes

Transaction log files. We recommend that you back up the transaction log for the configuration database regularly to force truncation, or — if you are not mirroring your system — change the database to run in Simple recovery mode. For more information, see Transaction Log Truncation (http://go.microsoft.com/fwlink/p/?LinkId=186687).

Backup and recovery. The configuration database is backed up when you perform a SharePoint farm configuration and content backup, and some configuration settings from the database are exported and stored as XML files. When a farm is restored, the configuration database is not restored. Instead, the saved configuration settings are imported. The configuration database can be successfully backed up and restored by using SQL Server or other tools if the SharePoint farm is first taken offline.

Note:

Many configuration settings are not saved during a farm configuration-only backup or restore, in particular Web application settings, service application settings, and settings that are specific to the local server. These settings are saved during a farm content and configuration backup, but some of them, such as service application proxy settings, cannot be restored during a farm recovery. For information about what is saved during a configuration backup, see Back up a farm configuration in SharePoint Server 2010. For information about how to document and copy configuration settings that are not backed up, see Copy configuration settings between farms (SharePoint Server 2010).

Central Administration content

The Central Administration content database is considered to be a configuration database. It stores all site content, including site documents or files in document libraries, list data, and Web Part properties, in addition to user names and rights for the Central Administration site collection. If Microsoft SQL Server PowerPivot for Microsoft SharePoint is installed, the Central Administration content database also stores the Excel worksheets and PowerPivot data files used in the PowerPivot Management Dashboard.

Default database name prefix when installed by using the SharePoint Products Configuration Wizard | SharePoint_AdminContent
Location requirements | None
General size information, and growth factors | Small. If you are using PowerPivot, the Central Administration content will grow over the span of one year, assuming that you use default settings that keep usage data collection and data refresh history for 365 days. For more information about PowerPivot for SharePoint, see Plan a PowerPivot Deployment in a SharePoint Farm (http://go.microsoft.com/fwlink/p/?LinkID=186698).
Read/write characteristics | Varies
Recommended scaling method | Must scale up; that is, the database must grow larger, because only one Central Administration database is supported per farm. (Significant growth is unlikely.)
Associated Health rules | None
Supported backup mechanisms | SharePoint Server 2010 backup and recovery, SQL Server, and DPM 2010. The Central Administration content database is a special case for backup and recovery. For more information, see Additional notes below.
Default recovery model | Full
Supports mirroring within a farm for availability | Yes
Supports asynchronous mirroring or log-shipping to another farm for disaster recovery | No

Additional notes

Backup and recovery. The Central Administration content database is backed up when you perform a SharePoint farm configuration and content backup. When a farm is restored, the Central Administration content database is not restored. The Central Administration content database can be successfully backed up and restored by using SQL Server or other tools if the SharePoint farm is first taken offline.

Content databases

Content databases store all content for a site collection, including site documents or files in document libraries, list data, Web Part properties, audit logs, and sandboxed solutions, in addition to user names and rights.

All the data for a specific site collection resides in one content database on only one server. A content database can be associated with more than one site collection.

Content databases also contain the Microsoft Office Web Apps cache, if Office Web Apps have been deployed. Only one cache is created per Web application. If multiple site collections that are stored in different content databases have Office Web Apps activated, they will all use the same cache. You can configure the size of cache, the expiration period, and the location. For more information about the size of the Office Web Apps cache, see Manage the Office Web Apps cache.

Content databases also store user data for PowerPivot for SharePoint, if it has been installed in the environment.

Default database name prefix when installed by using the SharePoint Products Configuration Wizard

WSS_Content

Location requirements

None

General size information, and growth factors

We strongly recommended limiting the size of content databases to 200 GB to help ensure system performance. For more information, see Additional notes, below.

Content database size varies significantly by usage. For more information, see Additional notes, below.

Read/write characteristics

Varies by usage. For example, collaboration environments are write-intensive; document management environments are read-intensive.

Recommended scaling method

The content database that supports a site collection must scale up; that is, the database must be able to grow larger as needed. However, you can create additional site collections that are associated with a Web application and associate the new site collection with a different content database. Also, if a content database is associated with multiple site collections, you can move a site collection to another database. For specific guidance about how to size content databases, see Storage and SQL Server capacity planning and configuration (SharePoint Server 2010).

Associated Health rules

None

Supported backup mechanisms

SharePoint Server 2010 backup and recovery, SQL Server, and DPM 2010.

Default recovery model

Full

Supports mirroring within a farm for availability

Yes

Supports asynchronous mirroring or log-shipping to another farm for disaster recovery

Yes

Additional notes

Recommended content database size limitations

We strongly recommend that you limit the size of content databases to 200 GB to help ensure system performance.

Important:

Content database sizes up to 1 terabyte are supported only for large, single-site repositories and archives in which data remains reasonably static, such as reference document management systems and Records Center sites. Larger database sizes are supported for these scenarios because their I/O patterns and typical data structure formats have been designed for, and tested at, larger scales. For more information about large-scale document repositories, see "Estimate Performance and Capacity Requirements for Large Scale Document Repositories", available from Performance and capacity test results and recommendations (SharePoint Server 2010).

Content database size estimation

Content database size varies substantially with the usage of the site. Growth factors include the number of documents, number of users, use of versioning, use of Recycle Bins, size of quotas, whether the audit log is configured, and how many items are chosen for auditing.

If Office Web Apps are in use, the Office Web Apps cache can significantly affect the size of a content database. For more information about the size of the Office Web Apps cache, see Manage the Office Web Apps cache.

If PowerPivot for SharePoint is in use, the Excel files stored in SharePoint Server grow larger, which increases the size of the content database. For more information, see Plan a PowerPivot Deployment in a SharePoint Farm (http://go.microsoft.com/fwlink/p/?LinkID=186698).

For detailed recommendations about how to calculate the size of a content database, see Storage and SQL Server capacity planning and configuration (SharePoint Server 2010).

Usage and Health Data Collection database

The Usage and Health Data Collection database is used by the Usage and Health Data Collection service application. It stores health monitoring and usage data temporarily, and can be used for reporting and diagnostics. The Usage and Health Data Collection database is the only SharePoint database that supports schema modifications.

Note:

For more information on supported Read operations, see "Read Operations Addendum" in KB 841057: Support for changes to the databases that are used by Office server products and by Windows SharePoint Services.

Default database name prefix when installed by using the SharePoint Products Configuration Wizard | WSS_UsageApplication
Location requirements | The Usage and Health Data Collection database is very active, and should be put on a separate disk or spindle, if possible.
General size information, and growth factors | Extra large. Database size depends on the retention factor, number of items enabled for logging and external monitoring, how many Web applications are running in the environment, how many users are currently working, and which features are enabled.
Read/write characteristics | The Usage and Health Data Collection database is very write-heavy.
Recommended scaling method | Must scale up; that is, the database must grow larger, because only one logging database is supported per farm.
Associated Health rules | None
Supported backup mechanisms | SharePoint Server 2010 backup and recovery, SQL Server, and DPM 2010.
Default recovery model | Simple
Supports mirroring within a farm for availability | Yes. However, although you can mirror the Usage and Health Data Collection database, we do not recommend that you do. It is easily re-created in the event of a failure.
Supports asynchronous mirroring or log-shipping to another farm for disaster recovery | Yes. However, although you can asynchronously mirror or log-ship the Usage and Health Data Collection database, we do not recommend that you do. It is easily re-created in the event of a failure.

Business Data Connectivity database

The Business Data Connectivity service application database stores external content types and related objects.

Default database name prefix when installed by using the SharePoint Products Configuration Wizard | Bdc_Service_DB_
Location requirements | None
General size information, and growth factors | Small. Size is determined by the number of connections.
Read/write characteristics | The Business Data Connectivity database is very read-heavy.
Recommended scaling method | Must scale up; that is, the database must grow larger, because only one Business Data Connectivity database is supported per farm. (Significant growth is unlikely.)
Associated Health rules | None
Supported backup mechanisms | SharePoint Server 2010 backup and recovery, SQL Server, and DPM 2010.
Default recovery model | Full
Supports mirroring within a farm for availability | Yes
Supports asynchronous mirroring or log-shipping to another farm for disaster recovery | No

Application Registry database

The Application Registry service application database stores backward-compatible information that is used to connect to information that is used by the Microsoft Office SharePoint Server 2007 Business Data Catalog API.

Note:

When you have finished migrating an application from the Office SharePoint Server 2007 Business Data Catalog, the Application Registry service application can be disabled and the database can be deleted.

Default database name prefix when installed by using the SharePoint Products Configuration Wizard | Application_Registry_server_DB_
Location requirements | None
General size information, and growth factors | Small. Size is determined by the number of connections.
Read/write characteristics | Read-heavy.
Recommended scaling method | Must scale up; that is, the database must grow larger, because only one Application Registry service database is supported per farm. (Significant growth is unlikely.)
Associated Health rules | None
Supported backup mechanisms | SharePoint Server 2010 backup and recovery, SQL Server, and DPM 2010.
Default recovery model | Full
Supports mirroring within a farm for availability | Yes
Supports asynchronous mirroring or log-shipping to another farm for disaster recovery | No

Subscription Settings database

The Microsoft SharePoint Foundation Subscription Settings service application database stores features and settings for hosted customers. The Subscription Settings service application and database are not created by the SharePoint Products Configuration Wizard — they must be created by using Windows PowerShell cmdlets. For more information, see New-SPSubscriptionSettingsServiceApplication.

Default database name prefix when installed by using the SharePoint Products Configuration Wizard | SubscriptionSettings_
Location requirements | None
General size information, and growth factors | Small. Size is determined by the number of tenants, farms, and features supported.
Read/write characteristics | The subscription database is read-heavy.
Recommended scaling method | Scale up the database that supports the service application instance. You can scale out by creating additional instances of the service application, however, the decision to create a separate service application is likely to be based on business, rather than scale, requirements.
Associated Health rules | None
Supported backup mechanisms | SharePoint Server 2010 backup and recovery, SQL Server, and DPM 2010.
Recommended recovery model | Full
Supports mirroring within a farm for availability | Yes
Supports asynchronous mirroring or log-shipping to another farm for disaster recovery | No

SharePoint Server 2010, Standard Edition databases

The following databases are part of a SharePoint Server 2010, Standard Edition deployment.

Secure Store database

The Secure Store service application database stores and maps credentials, such as account names and passwords.

Default database name prefix when installed by using the SharePoint Products Configuration Wizard | Secure_Store_Service_DB_
Location requirements | For secure credential storage, we recommend that the secure store database be hosted on a separate database instance or database server that has access limited to one administrator. By default, if the database is hosted on the default SharePoint database server and instance, all database administrators will have access to the secure store database.
General size information, and growth factors | Medium. Size and growth are determined by the number of target applications, number of credential fields per target application, and the number of users stored in each target application.If auditing is turned on, the number of read/write operations performed against a given target application also affects size.
Read/write characteristics | Equal read/write ratio
Recommended scaling method | Scale up the database that supports the service application instance. You can scale out by creating additional instances of the service application, however, the decision to create a separate service application is likely to be based on business, rather than scale, requirements.
Associated Health rules | None
Supported backup mechanisms | SharePoint Server 2010 backup and recovery, SQL Server, and DPM 2010.
Default recovery model | Full
Supports mirroring within a farm for availability | Yes
Supports asynchronous mirroring or log-shipping to another farm for disaster recovery | Yes

State database

The State service application database stores temporary state information for InfoPath Forms Services, the chart Web Part, and Visio Services.

Default database name prefix when installed by using the SharePoint Products Configuration Wizard | StateService
Location requirements | None
General size information, and growth factors | Medium-large. Size is determined by the use of InfoPath Forms services and Visio Services.
Read/write characteristics | Varies
Recommended scaling method | Scale out; add another state database to the service application by using Windows PowerShell cmdlets. For more information, see Manage the State Service (SharePoint Server 2010).
Associated Health rules | None
Supported backup mechanisms | SharePoint Server 2010 backup and recovery, SQL Server, and DPM 2010.
Default recovery model | Full
Supports mirroring within a farm for availability | Yes
Supports asynchronous mirroring or log-shipping to another farm for disaster recovery | No

Web Analytics Staging database

The Staging database temporarily stores un-aggregated fact data, asset metadata, and queued batch data for the Web Analytics service application.

Default database name prefix when installed by using the SharePoint Products Configuration Wizard | WebAnalyticsServiceApplication_StagingDB_
Location requirements | None
General size information, and growth factors | Medium. Size varies based on the number of reports being generated
Read/write characteristics | Varies
Recommended scaling method | Scale out; associate another Web Analytics Staging database with the service application instance.
Associated SharePoint health rules | A rule checks whether the service broker queue is enabled for the Web Analytics databases.
Supported backup mechanisms | SharePoint Server 2010 backup and recovery, SQL Server, and DPM 2010.
Default recovery model | Full
Supports mirroring within a farm for availability | No
Supports asynchronous mirroring or log-shipping to another farm for disaster recovery | Yes

Web Analytics Reporting database

The Reporting database stores aggregated standard report tables, fact data aggregated by groups of sites, date and asset metadata, and diagnostics information for the Web Analytics service application.

Important:

For large-scale environments, we recommend that you run the Web Analytics service application Reporting database on a server that is running SQL Server 2008 Enterprise Edition so that the Web Analytics service application can take advantage of table partitioning.

Default database name prefix when installed by using the SharePoint Products Configuration Wizard | WebAnalyticsServiceApplication_ReportingDB_
Location requirements | None
General size information, and growth factors | Extra-large. Size varies based on retention policy.
Read/write characteristics | Varies
Recommended scaling method | Scale up the database that supports the service application instance. You can scale out by creating additional instances of the service application, however, the decision to create a separate service application is likely to be based on business, rather than scale, requirements.
Associated Health rules | A rule checks whether the service broker queue is enabled for the Web Analytics databases.
Supported backup mechanisms | SharePoint Server 2010 backup and recovery, SQL Server, and DPM 2010.
Default recovery model | Full
Supports mirroring within a farm for availability | Yes
Supports asynchronous mirroring or log-shipping to another farm for disaster recovery | Yes

Search service application Administration database

The Administration database hosts the Search service application configuration and access control list (ACL), and best bets for the crawl component. This database is accessed for every user and administrative action.

Default database name prefix when installed by using the SharePoint Products Configuration Wizard | Search_Service_Application_DB_
Location requirements | The Administration database should fit into RAM on the server so that the server can handle the end-user query load most efficiently. Because of this requirement, it is usually best not to have the Administration and Crawl databases located on the same server.
General size information, and growth factors | Small to medium. The factors that influence growth include the number of best bets, the number of content sources and crawl rules, the security descriptions for the corpus, and the amount of traffic.
Read/write characteristics | Approximately equal read/write ratio
Recommended scaling method | Scale up the database that supports the service application instance. You can scale out by creating additional instances of the service application, however, the decision to create a separate service application is likely to be based on business, rather than scale, requirements.
Associated Health rules | None
Supported backup mechanisms | SharePoint Server 2010 backup and recovery.
Default recovery model | Simple
Supports mirroring within a farm for availability | Yes
Supports asynchronous mirroring or log-shipping to another farm for disaster recovery | No

Search service application Crawl database

The Crawl database stores the state of the crawled data and the crawl history.

Important:

For large-scale environments, we recommend that you run the Crawl database on a server that is running SQL Server 2008 Enterprise Edition so that the service application can take advantage of data compression.

Default database name prefix when installed by using the SharePoint Products Configuration Wizard | Search_Service_Application_CrawlStoreDB_
Location requirements | The Crawl database is very I/O intensive, and causes the SQL Server cache to be flushed regularly. In large-scale environments, we recommend that you locate this database on a server that does not contain the Property database or other databases involved in end-user tasks.
General size information, and growth factors | Medium to large. Generally, the Crawl database starts medium-sized and grows over time, without shrinking. The factors that influence growth are the number of items in the corpus.
Read/write characteristics | Read-heavy. The read/write ratio is 3:1.
Recommended scaling method | Scale out; associate another Crawl database with the service application instance. Multiple Crawl databases can be placed on the same server, if the server can handle the I/O per second required.
Associated Health rules | The Search - One or more crawl databases may have fragmented indices on-demand health rule defragments indices health rule rebuilds statistics, and — if the system is running SQL Server Enterprise Edition — turns on data compression at the page level.
Supported backup mechanisms | SharePoint Server 2010 backup and recovery.
Default recovery model | Simple
Supports mirroring within a farm for availability | Yes
Supports asynchronous mirroring or log-shipping to another farm for disaster recovery | No

Search service application Property database

The Property database stores information that is associated with the crawled data, including properties, history, and crawl queues.

Important:

For large-scale environments, we recommend that you run the Property database on a server that is running SQL Server 2008 Enterprise Edition so that the service application can take advantage of data compression.

Default database name prefix when installed by using the SharePoint Products Configuration Wizard | Search_Service_Application_PropertyStoreDB_
Location requirements | At least one-third of the Property database should fit into RAM on the server. In large-scale environments, we recommend that you put this database on its own server to achieve faster query results.
General size information, and growth factors | Large to extra-large. Factors that influence growth are the number of managed properties and the number of documents.
Read/write characteristics | Write-heavy. The read/write ratio is 1:2.
Recommended scaling method | Scale out; associate another Property database with the service application instance. We recommend that you locate each additional Property database on a different server.
Associated Health rules | The Search - One or more property databases have fragmented indices health rule runs once a week by default. It defragments indices, rebuilds statistics, and — if the system is running SQL Server Enterprise Edition — turns on data compression.
Supported backup mechanisms | SharePoint Server 2010 backup and recovery.
Default recovery model | Simple
Supports mirroring within a farm for availability | Yes
Supports asynchronous mirroring or log-shipping to another farm for disaster recovery | No

User Profile service application Profile database

The Profile database stores and manages users and associated information. It also stores information about a user's social network in addition to memberships in distribution lists and sites.

Default database name prefix when installed by using the SharePoint Products Configuration Wizard | User Profile Service Application_ProfileDB_
Location requirements | None
General size information, and growth factors | Medium to large. Growth factors include additional users and the use of news feeds. News feeds grow with user activities. The default is to maintain the last two weeks of activity, after which a timer job deletes the news feed items older than two weeks.
Read/write characteristics | Read-heavy
Recommended scaling method | Scale up the database that supports the service application instance. You can scale out by creating additional instances of the service application, however, the decision to create a separate service application is likely to be based on business, rather than scale, requirements.
Associated Health rules | None
Supported backup mechanisms | SharePoint Server 2010 backup and recovery.
Default recovery model | Simple
Supports mirroring within a farm for availability | Yes
Supports asynchronous mirroring or log-shipping to another farm for disaster recovery | Yes. An administrator can also use the User Profile Replication Engine, part of the SharePoint Administration Toolkit, to replicate user profiles and social data, such as social tags, notes, and ratings, between User Profile Service applications. This replication can be one-way or bidirectional. For more information, see User Profile Replication Engine overview (SharePoint Server 2010).

User Profile service application Synchronization database

The Synchronization database stores configuration and staging data for use when profile data is being synchronized with directory services such as Active Directory.

Default database name prefix when installed by using the SharePoint Products Configuration Wizard | User Profile Service Application_SyncDB_
Location requirements |
General size information, and growth factors | Medium to large. Growth factors include the number of users and groups, and the ratio of users to groups.
Read/write characteristics | Approximately equal read/write ratio.
Recommended scaling method | Scale up the database that supports the service application instance. You can scale out by creating additional instances of the service application, however, the decision to create a separate service application is likely to be based on business, rather than scale, requirements.
Associated Health rules | None
Supported backup mechanisms | SharePoint Server 2010 backup and recovery.
Default recovery model | Simple
Supports mirroring within a farm for availability | No
Supports asynchronous mirroring or log-shipping to another farm for disaster recovery | No, however, an administrator can use the User Profile Replication Engine, part of the SharePoint Administration Toolkit, to replicate user profiles and social data, such as social tags, notes, and ratings, between User Profile Service applications. This replication can be one-way or bidirectional. For more information, see User Profile Replication Engine overview (SharePoint Server 2010).

User Profile service application Social Tagging database

The Social Tagging database stores social tags and notes created by users, along with their respective URLs.

Default database name prefix when installed by using the SharePoint Products Configuration Wizard | User Profile Service Application_SocialDB_
Location requirements | None
General size information, and growth factors | Small to extra large. Growth factors include the number of tags, ratings and notes that have been created and used.
Read/write characteristics | Read-heavy. The read/write ratio is approximately 50:1.
Recommended scaling method | Scale up the database that supports the service application instance. You can scale out by creating additional instances of the service application, however, the decision to create a separate service application is likely to be based on business, rather than scale, requirements.
Associated Health rules | None
Supported backup mechanisms | SharePoint Server 2010 backup and recovery.
Default recovery model | Simple
Supports mirroring within a farm for availability | Yes
Supports asynchronous mirroring or log-shipping to another farm for disaster recovery | Yes. An administrator can also use the User Profile Replication Engine, part of the SharePoint Administration Toolkit, to replicate user profiles and social data, such as social tags, notes, and ratings, between User Profile Service applications. This replication can be one-way or bidirectional. For more information, see User Profile Replication Engine overview (SharePoint Server 2010).

Managed Metadata database

The Managed Metadata service application database stores managed metadata and syndicated content types.

Default database name prefix when installed by using the SharePoint Products Configuration Wizard | Managed Metadata Service_
Location requirements | None
General size information, and growth factors | Medium. Growth factors include the amount of managed metadata.
Read/write characteristics | Read-heavy. The read/write ratio is approximately 1,000:1.
Recommended scaling method | Scale up the database that supports the service application instance. You can scale out by creating additional instances of the service application, however, the decision to create a separate service application is likely to be based on business, rather than scale, requirements.
Associated Health rules | None
Supported backup mechanisms | SharePoint Server 2010 backup and recovery.
Default recovery model | Full
Supports mirroring within a farm for availability | Yes
Supports asynchronous mirroring or log-shipping to another farm for disaster recovery | Yes

Word Automation Services database

The Word Automation Services database stores information about pending and completed document conversions.

Default database name prefix when installed by using the SharePoint Products Configuration Wizard | WordAutomationServices_
Location requirements | None
General size information, and growth factors | Small
Read/write characteristics | Varies
Recommended scaling method | Scale up the database that supports the service application instance. You can scale out by creating additional instances of the service application, however, the decision to create a separate service application is likely to be based on business, rather than scale, requirements.
Associated Health rules | None
Supported backup mechanisms | SharePoint Server 2010 backup and recovery.
Default recovery model | Full
Supports mirroring within a farm for availability | Yes
Supports asynchronous mirroring or log-shipping to another farm for disaster recovery | No

SharePoint Server 2010, Enterprise Edition databases

The following databases are part of a SharePoint Server 2010, Enterprise Edition deployment, in addition to the databases that ship with the Standard Edition.

PerformancePoint service application database

The PerformancePoint service application database stores temporary objects, persisted filter values, and user comments.

Note:

Microsoft SQL Server 2008 Analysis Services (SSAS) is also recommended as a data source for the PerformancePoint service application. If you have configured SQL Server Analysis Services and created cubes, additional functionality, such as drill-down analytics from published dashboards, becomes available.

Default database name prefix when installed by using the SharePoint Products Configuration Wizard | PerformancePoint Service Application_
Location requirements | None
General size information, and growth factors | Small. User comments and annotations are persisted indefinitely and increase based on the number of application users. Temporary items are removed once per day.
Read/write characteristics | Varies
Recommended scaling method | Scale up the database that supports the service application instance. You can scale out by creating additional instances of the service application, however, the decision to create a separate service application is likely to be based on business, rather than scale, requirements.
Associated Health rules | The Database not available health rule verifies that the PerformancePoint database is available.
Supported backup mechanisms | SharePoint Server 2010 backup and recovery.
Default recovery model | Full
Supports mirroring within a farm for availability | Yes
Supports asynchronous mirroring or log-shipping to another farm for disaster recovery | Yes

Project Server 2010 databases

Project Server 2010 requires SharePoint Server 2010, Enterprise Edition.

Draft database

The Draft database contains data for editing projects. This database also hosts the tables used by the Project Queue. Data in the Draft database is not directly accessible by end users.

Default database name prefix when installed by using the SharePoint Products Configuration Wizard | ProjectServer_Draft
Location requirements | Must be located on the same database instance as the Published and Archive databases.
General size information, and growth factors | Medium
Read/write characteristics | Equal read/write ratio.
Recommended scaling method | Scale up the database that supports the service application instance.
Associated Health rules | None
Supported backup mechanisms | SharePoint Server 2010 and SQL Server backup and recovery.
Default recovery model | Full
Supports mirroring within a farm for availability | Yes, but you must follow additional steps.
Supports asynchronous mirroring or log-shipping to another farm for disaster recovery | Yes, but you must synchronize the logs of all of the databases.

Published database

The Published database contains a copy of all of the projects that have been published. The Published database also contains tables that are specific to Project Server (timesheets, resources, custom fields, security definitions, and other metadata). This database also hosts the tables used by the Timesheet Queue. Data in the Published database is not directly accessible by end users.

Default database name prefix when installed by using the SharePoint Products Configuration Wizard | ProjectServer_Published
Location requirements | Must be located on the same database server as the Draft and Archive databases.
General size information, and growth factors | Medium
Read/write characteristics | Equal read/write ratio
Recommended scaling method | Scale up the database that supports the service application instance.
Associated Health rules | None
Supported backup mechanisms | SharePoint Server 2010 and SQL Server backup and recovery.
Default recovery model | Full
Supports mirroring within a farm for availability | Yes, but you must follow additional steps.
Supports asynchronous mirroring or log-shipping to another farm for disaster recovery | Yes, but you must synchronize the logs of all of the databases.

Archive database

The Archive database stores the backup data of projects, resources, calendars, enterprise custom fields, the enterprise global Project Web Access view definitions, Project Web Access system settings, and category and group security settings as set up by the Project Web Access administrator. Data in the Archive database is not directly accessible by end users.

Default database name prefix when installed by using the SharePoint Products Configuration Wizard | ProjectServer_Archive_
Location requirements | Must be located on the same database server as the Draft and Published databases.
General size information, and growth factors | Small, but can grow to extra large. If your system is using archiving functionality, this database will be at least as large as the Draft database, but is likely to be much larger. You can set a limit for the size of the Archive database to be no larger than a specified multiplier of the Draft database.
Read/write characteristics | Equal read/write ratio.
Recommended scaling method | Scale up the database that supports the service application instance.
Associated Health rules | None
Supported backup mechanisms | SharePoint Server 2010 and SQL Server backup and recovery.
Default recovery model | Full
Supports mirroring within a farm for availability | Yes, but you must follow additional steps.
Supports asynchronous mirroring or log-shipping to another farm for disaster recovery | Yes, but you must synchronize the logs of all of the databases.

Reporting database

The Reporting database is the repository for the entire portfolio of projects in Project Server. These tables present stable snapshots of each project plan based on the last time a project was published to Project Server and include de-normalized time phased data, allowing for advanced reporting capabilities outside of the Project client. Data in the Reporting database is accessible by end users.

Default database name prefix when installed by using the SharePoint Products Configuration Wizard | ProjectServer_Reporting
Location requirements | None
General size information, and growth factors | Large
Read/write characteristics | Read-heavy
Recommended scaling method | Scale up the database that supports the service application instance.
Associated Health rules | None
Supported backup mechanisms | SharePoint Server 2010 and SQL Server backup and recovery.
Default recovery model | Full
Supports mirroring within a farm for availability | Yes, but you must follow additional steps to ensure that the Project databases and logs are fully synchronized.
Supports asynchronous mirroring or log-shipping to another farm for disaster recovery | Yes, but you must follow additional steps to ensure that the Project databases and logs are fully synchronized.

FAST Search Server for SharePoint 2010 databases

FAST Search Server 2010 for SharePoint requires SharePoint Server 2010, Enterprise Edition.

Search Administration database

The Search Administration database stores and manages data related to administration of FAST Search Server 2010 for SharePoint. This includes search setting groups, keywords, synonyms, document and site promotions and demotions, term entity extractor inclusions and exclusions, spell check exclusions, best bets, visual best bets, and search schema metadata.

Default database name prefix when installed by using the SharePoint Products Configuration Wizard | FASTSearchAdminDatabase
Location requirements | None
General size information, and growth factors | Small. Growth and size are affected by the number of keywords, synonyms, document promotions and demotions, site promotions and demotions, term entity extractor inclusions, term entity extractor exclusions, spell checking exclusions, best bets, and visual best bets.
Read/write characteristics | Read-heavy
Recommended scaling method | Scale up the database. (Significant growth is unlikely.)
Associated Health rules | None
Supported backup mechanisms | SQL Server backup and recovery.
Default recovery model | Full
Supports mirroring within a farm for availability | No
Supports asynchronous mirroring or log-shipping to another farm for disaster recovery | No

PowerPivot for SharePoint

PowerPivot for SharePoint extends SharePoint Server 2010 and Excel Services to add server-side processing, collaboration, and document management support for the PowerPivot workbooks that you publish to SharePoint Server 2010.

PowerPivot for SharePoint requires that SQL Server 2008 R2 Enterprise Edition Analysis Services be installed in the environment.

Note:

The use of PowerPivot for SharePoint also influences the size of the Central Administration content database and the content databases in which the Excel workbooks are stored. For more information, see Plan a PowerPivot Deployment in a SharePoint Farm (http://go.microsoft.com/fwlink/p/?LinkID=186698).

PowerPivot Application database

The PowerPivot Application database stores the location of cached or loaded PowerPivot data files, data refresh schedules, and PowerPivot usage data that is copied from the central usage data collection database.

Default database name prefix when installed by using the SharePoint Products Configuration Wizard | DefaultPowerPivotServiceApplicationDB
Location requirements | None
General size information, and growth factors | Small
Read/write characteristics |
Recommended scaling method | Scale up the database that supports the service application instance.
Associated Health rules | None. Rely on SQL Server health rules.
Supported backup mechanisms | SQL Server backup and recovery.
Default recovery model | Full
Supports mirroring within a farm for availability | Yes, but mirroring is managed solely through SQL Server: SharePoint Server 2010 is not aware of the PowerPivot database.
Supports asynchronous mirroring or log-shipping to another farm for disaster recovery | Yes

SQL Server system databases

SharePoint Server 2010 is built on SQL Server, and as a result, makes use of the SQL Server system databases. SQL Server does not support users' directly updating the information in system objects such as system tables, system stored procedures, and catalog views. Instead, SQL Server provides a complete set of administrative tools that let users fully administer their system and manage all users and objects in a database. For more information about the SQL Server system databases, see System Databases (http://go.microsoft.com/fwlink/p/?LinkId=186699).

master

The master database records all the system-level information for an instance of SQL Server.

Default database name | master
Location requirements | None
General size information, and growth factors | Small
Read/write characteristics | Varies
Recommended scaling method | Scale up. (Significant growth is unlikely.)
Associated Health rules | None
Supported backup mechanisms | SQL Server backup and recovery
Default recovery model | Simple
Supports mirroring within a farm for availability | No
Supports asynchronous mirroring or log-shipping to another farm for disaster recovery | No

model

The model database is used as the template for all databases created on the instance of SQL Server. Modifications made to the model database — such as database size, collation, recovery model, and other database options — are applied to any databases created afterward.

Default database name | model
Location requirements | None
General size information, and growth factors | Small
Read/write characteristics | Varies
Recommended scaling method | Scale up. (Significant growth is unlikely.)
Associated Health rules | None
Supported backup mechanisms | SQL Server backup and recovery
Default recovery model | Full
Supports mirroring within a farm for availability | No
Supports asynchronous mirroring or log-shipping to another farm for disaster recovery | No

msdb

The msdb database is used by SQL Server Agent for scheduling alerts and jobs.

Default database name | msdb
Location requirements | None
General size information, and growth factors | Small
Read/write characteristics | Varies
Recommended scaling method | Scale up. (Significant growth is unlikely.)
Associated Health rules | None
Supported backup mechanisms | SQL Server backup and recovery
Default recovery model | Simple
Supports mirroring within a farm for availability | No
Supports asynchronous mirroring or log-shipping to another farm for disaster recovery | No

tempdb

The tempdb database is a workspace for holding temporary objects or intermediate result sets. It also fills any other temporary storage needs. The tempdb database is re-created every time SQL Server is started.

Default database name | tempdb
Location requirements | Locate on a fast disk, on a separate spindle from other databases. Create as many files as needed to maximize disk bandwidth. Using multiple files reduces tempdb storage contention and yields significantly better scalability. However, do not create too many files because this can reduce performance and increase management overhead. As a general guideline, create one data file for each CPU on the server and then adjust the number of files up or down as necessary. Be aware that a dual-core CPU is considered to be two CPUs.
General size information, and growth factors | Small to extra-large. The size of the tempDB database goes both up and down quickly. Size depends on how many users are using the system, in addition to the specific processes that are running; for example, online rebuilds of large indexes, or large sorts cause the database to grow quickly.
Read/write characteristics | Varies
Recommended scaling method | Scale up
Associated Health rules | None
Supported backup mechanisms | SQL Server backup and recovery
Default recovery model | Simple
Supports mirroring within a farm for availability | No
Supports asynchronous mirroring or log-shipping to another farm for disaster recovery | No

SQL Server Reporting Services databases

The following SQL Server Reporting Services databases can be used as part of a SharePoint Server 2010 deployment.

Note:

If your deployment requires the use of Access Services, the requirements for Reporting Services depend on the mode in which you are running, as follows:

  • Local mode requires only SharePoint Server 2010 and the SQL Server 2008 R2 Reporting Services (SSRS) Add-in.

  • Connected mode requires SharePoint Server 2010, the SSRS Add-in, and a SQL Server 2008 R2 Report Server, available in Standard or Enterprise Edition.

For more information about how to manage SQL Server Reporting Services databases, see Report Server Catalog Best Practices (http://go.microsoft.com/fwlink/p/?LinkID=185486).

ReportServer database

The SQL Server Reporting Services ReportServer database stores all report metadata including report definitions, report history and snapshots, and scheduling information.

Default database name prefix when installed by using the SharePoint Products Configuration Wizard | RSDB
Location requirements | Must be located on the same database server as the ReportServerTempDb database.
General size information, and growth factors | Small
Read/write characteristics | Read-heavy
Recommended scaling method | Scale up the database
Associated Health rules | None
Supported backup mechanisms | SQL Server backup and recovery
Default recovery model | Full
Supports mirroring within a farm for availability | No
Supports asynchronous mirroring or log-shipping to another farm for disaster recovery | No

ReportServerTempDB database

The SQL Server Reporting Services ReportServerTempDB database stores all the temporary snapshots while reports are running.

Default database name prefix when installed by using the SharePoint Products Configuration Wizard | RSTempDB
Location requirements | Must be located on the same database server as the ReportServer database.
General size information, and growth factors | Small to extra large. The size of the ReportServerTempDB database goes both up and down quickly, depending on the number of concurrent interactive users, and the number of report snapshots.
Read/write characteristics | Read-heavy
Recommended scaling method | Scale up the database
Associated Health rules | None
Supported backup mechanisms | SQL Server backup and recovery, but we do not recommend that you back up this database.
Default recovery model | Full
Supports mirroring within a farm for availability | No
Supports asynchronous mirroring or log-shipping to another farm for disaster recovery | No

See Also

Other Resources

Resource Center: Capacity Management for SharePoint Server 2010
Resource Center: SQL Server and SharePoint Server 2010 Databases

Change History

Date | Description
March 05, 2013 | Corrected the User Profile service application Profile and Social tagging databases to show that they do support log-shipping or asynchronous mirroring.
May 12, 2010 | Initial publication


Language packs (SharePoint Server 2010)

This article lists the language packs that are available for Microsoft SharePoint Server 2010. Language packs enable you to create sites and site collections in multiple languages without requiring separate installations of SharePoint Server 2010 in each language. For more information about language packs, see Deploy language packs (SharePoint Server 2010). The language packs can be downloaded at 2010 Server Language Packs for SharePoint Server 2010, Project Server 2010, Search Server 2010, and Office Web Apps 2010.

The following table lists the language packs that are available for SharePoint Server 2010:

Language | Language ID
Arabic | 1025
Azeri (Latin) | 1068
Basque | 1069
Bosnian (Latin) | 5146
Bulgarian | 1026
Catalan | 1027
Chinese (Simplified) | 2052
Chinese (Traditional) | 1028
Croatian | 1050
Czech | 1029
Danish | 1030
Dutch | 1043
English | 1033
Estonian | 1061
Finnish | 1035
French | 1036
Galician | 1110
German | 1031
Greek | 1032
Hebrew | 1037
Hindi | 1081
Hungarian | 1038
Indonesian | 1057
Irish - Ireland | 2108
Italian | 1040
Japanese | 1041
Kazakh | 1087
Korean | 1042
Latvian | 1062
Lithuanian | 1063
Macedonian (FYROM) | 1071
Malay (Malaysia) | 1086
Norwegian (Bokmål) | 1044
Polish | 1045
Portuguese (Brazil) | 1046
Portuguese (Portugal) | 2070
Romanian | 1048
Russian | 1049
Serbian (Cyrillic) | 3098
Serbian (Latin) | 2074
Slovak | 1051
Slovenian | 1060
Spanish | 3082
Swedish | 1053
Thai | 1054
Turkish | 1055
Ukrainian | 1058
Vietnamese | 1066
Welsh | 1106


Regional settings (SharePoint Server 2010)
See Also

Published: April 28, 2011

This article lists the regional settings for Microsoft SharePoint Server 2010.

In this article:

  • Locale

  • Sort order

  • Time zone

  • Calendar

  • Currency

SharePoint Server 2010 uses the following types of regional settings: locale, time zone, sort order, calendar, and currency. Although currency is not a regional setting per se, the default value of the currency is determined by the locale you specified in your regional settings. You specify the locale, sort order, time zone, and calendar settings on the Regional Settings page, and you specify the currency settings on the Create Column page when you work with lists.

For more information about how to access and modify regional settings, see Regional Settings Schema (http://go.microsoft.com/fwlink/p/?LinkId=217116).

Locale

The locale setting controls numbering, sorting, calendar, and date and time formatting for the Web site. You can change the locale for a Web site by using the Regional Settings page. You can set the locales for your SharePoint sites to the locales shown in the following table.

ID | Locale | ID | Locale
1078 | Afrikaans | 1089 | Kiswahili
1052 | Albanian | 1111 | Konkani
1156 | Alsatian | 1042 | Korean
1118 | Amharic | 1088 | Kyrgyz
5121 | Arabic (Algeria) | 1108 | Lao
15361 | Arabic (Bahrain) | 1062 | Latvian
3073 | Arabic (Egypt) | 1063 | Lithuanian
2049 | Arabic (Iraq) | 2094 | Lower Sorbian
11265 | Arabic (Jordan) | 4155 | Lule Sami (Norway)
13313 | Arabic (Kuwait) | 5179 | Lule Sami (Sweden)
12289 | Arabic (Lebanon) | 1134 | Luxembourgish
4097 | Arabic (Libya) | 1071 | Macedonian
6145 | Arabic (Morocco) | 1086 | Malay (Malaysia)
8193 | Arabic (Oman) | 2110 | Malay (Brunei Darussalam)
16385 | Arabic (Qatar) | 1100 | Malayalam
1025 | Arabic (Saudi Arabia) | 1082 | Maltese
10241 | Arabic (Syria) | 1153 | Maori
7169 | Arabic (Tunisia) | 1146 | Mapudungun
14337 | Arabic (U.A.E.) | 1102 | Marathi
9217 | Arabic (Yemen) | 1148 | Mohawk
1067 | Armenian | 1104 | Mongolian (Cyrillic)
1101 | Assamese | 2128 | Mongolian (Mongolian)
2092 | Azeri (Cyrillic) | 1121 | Nepali
1068 | Azeri (Latin) | 3131 | Northern Sami (Finland)
1133 | Bashkir | 1083 | Northern Sami (Norway)
1069 | Basque | 2107 | Northern Sami (Sweden)
1059 | Belarusian | 1044 | Norwegian (Bokmal)
1093 | Bengali (India) | 2068 | Norwegian (Nynorsk)
2117 | Bengali (Bangladesh) | 1154 | Occitan
5146 | Bosnian (Latin) | 1096 | Oriya
8218 | Bosnian (Cyrillic) | 1123 | Pashto
1150 | Breton | 1065 | Persian
1026 | Bulgarian | 1045 | Polish
1027 | Catalan | 1046 | Portuguese (Brazil)
3076 | Chinese (Hong Kong S.A.R.) | 2070 | Portuguese (Portugal)
5124 | Chinese (Macau SAR) | 1094 | Punjabi
2052 | Chinese (PRC) | 3179 | Quechua (Peru)
4100 | Chinese (Singapore) | 2155 | Quechua (Ecuador)
1028 | Chinese (Taiwan) | 1131 | Quechua (Bolivia)
1155 | Corsican | 1048 | Romanian
1050 | Croatian (Croatia) | 1047 | Romansh
4122 | Croatian (Bosnia and Herzegovina) | 1049 | Russian
1029 | Czech | 1157 | Sakha
1030 | Danish | 1103 | Sanskrit
1164 | Dari | 2074 | Serbian (Latin)
1125 | Divehi | 3098 | Serbian (Cyrillic)
2067 | Dutch (Belgium) | 6170 | Serbian (Bosnia and Herzegovina)
1043 | Dutch (Netherlands) | 7194 | Serbian (Bosnia and Herzegovina)
3081 | English (Australia) | 1132 | Sesotho sa Leboa
10249 | English (Belize) | 1074 | Setswana
4105 | English (Canada) | 1115 | Sinhala
9225 | English (Caribbean) | 8251 | Skolt Sami
6153 | English (Ireland) | 1051 | Slovak
16393 | English (India) | 1060 | Slovenian
8201 | English (Jamaica) | 6203 | Southern Sami (Norway)
17417 | English (Malaysia) | 7227 | Southern Sami (Sweden)
5129 | English (New Zealand) | 21514 | Spanish (United States)
13321 | English (Philippines) | 2058 | Spanish (Mexico)
18441 | English (Singapore) | 3082 | Spanish (Spain)
7177 | English (South Africa) | 19466 | Spanish (Nicaragua)
11273 | English (Trinidad and Tobago) | 6154 | Spanish (Panama)
2057 | English (United Kingdom) | 15370 | Spanish (Paraguay)
1033 | English (United States) | 10250 | Spanish (Peru)
12297 | English (Zimbabwe) | 20490 | Spanish (Puerto Rico)
1061 | Estonian | 1034 | Spanish (Traditional Sort)
1080 | Faeroese | 4106 | Spanish (Guatemala)
1124 | Filipino | 14346 | Spanish (Uruguay)
1035 | Finnish | 8202 | Spanish (Venezuela)
2060 | French (Belgium) | 5130 | Spanish (Costa Rica)
3084 | French (Canada) | 7178 | Spanish (Dominican Republic)
1036 | French (France) | 9226 | Spanish (Colombia)
5132 | French (Luxembourg) | 11274 | Spanish (Argentina)
6156 | French (Monaco) | 12298 | Spanish (Ecuador)
4108 | French (Switzerland) | 13322 | Spanish (Chile)
1122 | Frisian | 16394 | Spanish (Bolivia)
1110 | Galician | 17418 | Spanish (El Salvador)
1079 | Georgian | 18442 | Spanish (Honduras)
3079 | German (Austria) | 2077 | Swedish (Finland)
1031 | German (Germany) | 1053 | Swedish (Sweden)
5127 | German (Liechtenstein) | 1114 | Syriac
4103 | German (Luxembourg) | 1089 | Swahili
2055 | German (Switzerland) | 1064 | Tajik
1032 | Greek | 2143 | Tamazight
1135 | Greenlandic | 1097 | Tamil
1095 | Gujarati | 1092 | Tatar
1128 | Hausa | 1098 | Telugu
1037 | Hebrew | 1054 | Thai
1081 | Hindi | 1105 | Tibetan
1038 | Hungarian | 1055 | Turkish
1039 | Icelandic | 1090 | Turkmen
1136 | Igbo | 1058 | Ukrainian
9275 | Inari Sami | 1070 | Upper Sorbian
1057 | Indonesian | 1056 | Urdu
1117 | Inuktitut (Syllabics) | 1152 | Uyghur
2141 | Inuktitut (Latin) | 1091 | Uzbek (Latin)
2108 | Irish | 2115 | Uzbek (Cyrillic)
1040 | Italian (Italy) | 1066 | Vietnamese
2064 | Italian (Switzerland) | 1106 | Welsh
1041 | Japanese | 1160 | Wolof
1099 | Kannada | 1076 | Xhosa
1087 | Kazakh | 1144 | Yi
1107 | Khmer | 1130 | Yoruba
1158 | K'iche | 1077 | Zulu
1159 | Kinyarwanda |  |

Sort order

This setting controls the sort order for lists and libraries. You can specify the sort order that you want to use for your SharePoint sites. You can change the sort order for a site by using the Regional Settings page. The following list shows the sort orders available in SharePoint Server 2010:

  • General

  • Albanian

  • Arabic

  • Azeri (Cyrillic)

  • Azeri (Latin)

  • Chinese (Traditional) Bopomofo

  • Chinese (Traditional) Stroke Count

  • Chinese Pronunciation

  • Chinese Stroke Count

  • Croatian

  • Cyrillic

  • Czech

  • Danish/Norwegian

  • Divehi

  • Estonian

  • Finnish/Swedish

  • French

  • Georgian Modern

  • German Phone Book

  • Greek

  • Hebrew

  • Hindi

  • Hong Kong Stroke Order

  • Hungarian

  • Hungarian Technical

  • Icelandic

  • Indic (General)

  • Japanese

  • Japanese Unicode

  • Kazakh

  • Korean

  • Korean Unicode

  • Latvian

  • Lithuanian

  • Lithuanian Classic

  • Macedonian (FYROM)

  • Polish

  • Romanian

  • Slovak

  • Slovenian

  • Spanish (Modern Sort)

  • Spanish (Traditional Sort)

  • Syriac

  • Tatar

  • Thai

  • Turkish

  • Ukrainian

  • Uzbek (Latin)

  • Vietnamese

Time zone

You can set the time zone for your SharePoint sites to one of the time zones shown in the following table. You can change the time zone for a Web site by using the Regional Settings page. For more information about how to set time zones, see Configure settings for a Web application (SharePoint Server 2010).

Note:

In the following table, time zones are based on their offset from Coordinated Universal Time, or UTC (Greenwich Mean Time).

Code | Time zones
39 | (UTC-12:00) International Date Line West
95 | (UTC-11:00) Coordinated Universal Time-11
16 | (UTC-11:00) Samoa
15 | (UTC-10:00) Hawaii
14 | (UTC-09:00) Alaska
13 | (UTC-08:00) Pacific Time (US and Canada)
78 | (UTC-08:00) Baja California
38 | (UTC-07:00) Arizona
77 | (UTC-07:00) Chihuahua, La Paz, Mazatlan
12 | (UTC-07:00) Mountain Time (US and Canada)
55 | (UTC-06:00) Central America
11 | (UTC-06:00) Central Time (US and Canada)
37 | (UTC-06:00) Guadalajara, Mexico City, Monterrey
36 | (UTC-06:00) Saskatchewan
35 | (UTC-05:00) Bogota, Lima, Quito
10 | (UTC-05:00) Eastern Time (US and Canada)
34 | (UTC-05:00) Indiana (East)
88 | (UTC-04:30) Caracas
91 | (UTC-04:00) Asuncion
9 | (UTC-04:00) Atlantic Time (Canada)
33 | (UTC-04:00) Georgetown, La Paz, Manaus, San Juan
81 | (UTC-04:00) Cuiaba
65 | (UTC-04:00) Santiago
28 | (UTC-03:30) Newfoundland
8 | (UTC-03:00) Brasilia
85 | (UTC-03:00) Buenos Aires
32 | (UTC-03:00) Cayenne, Fortaleza
60 | (UTC-03:00) Greenland
90 | (UTC-03:00) Montevideo
96 | (UTC-02:00) Coordinated Universal Time-02
30 | (UTC-02:00) Mid-Atlantic
29 | (UTC-01:00) Azores
53 | (UTC-01:00) Cape Verde Is.
86 | (UTC) Casablanca
93 | (UTC) Coordinated Universal Time
2 | (UTC) Greenwich Mean Time : Dublin, Edinburgh, Lisbon, London
31 | (UTC) Monrovia, Reykjavik
4 | (UTC+01:00) Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna
6 | (UTC+01:00) Belgrade, Bratislava, Budapest, Ljubljana, Prague
3 | (UTC+01:00) Brussels, Copenhagen, Madrid, Paris
57 | (UTC+01:00) Sarajevo, Skopje, Warsaw, Zagreb
69 | (UTC+01:00) West Central Africa
83 | (UTC+01:00) Windhoek
79 | (UTC+02:00) Amman
5 | (UTC+02:00) Athens, Bucharest, Istanbul
80 | (UTC+02:00) Beirut
49 | (UTC+02:00) Cairo
98 | (UTC+02:00) Damascus
50 | (UTC+02:00) Harare, Pretoria
59 | (UTC+02:00) Helsinki, Kyiv, Riga, Sofia, Tallinn, Vilnius
27 | (UTC+02:00) Jerusalem
7 | (UTC+02:00) Minsk
26 | (UTC+03:00) Baghdad
74 | (UTC+03:00) Kuwait, Riyadh
51 | (UTC+03:00) Moscow, St. Petersburg, Volgograd
56 | (UTC+03:00) Nairobi
25 | (UTC+03:30) Tehran
24 | (UTC+04:00) Abu Dhabi, Muscat
54 | (UTC+04:00) Baku
89 | (UTC+04:00) Port Louis
82 | (UTC+04:00) Tbilisi
84 | (UTC+04:00) Yerevan
48 | (UTC+04:30) Kabul
58 | (UTC+05:00) Ekaterinburg
87 | (UTC+05:00) Islamabad, Karachi
47 | (UTC+05:00) Tashkent
23 | (UTC+05:30) Chennai, Kolkata, Mumbai, New Delhi
66 | (UTC+05:30) Sri Jayawardenepura
62 | (UTC+05:45) Kathmandu
46 | (UTC+06:00) Novosibirsk
71 | (UTC+06:00) Astana, Dhaka
61 | (UTC+06:30) Yangon (Rangoon)
22 | (UTC+07:00) Bangkok, Hanoi, Jakarta
64 | (UTC+07:00) Krasnoyarsk
45 | (UTC+08:00) Beijing, Chongqing, Hong Kong S.A.R., Urumqi
63 | (UTC+08:00) Irkutsk
21 | (UTC+08:00) Kuala Lumpur, Singapore
73 | (UTC+08:00) Perth
75 | (UTC+08:00) Taipei
94 | (UTC+08:00) Ulaanbaatar
20 | (UTC+09:00) Osaka, Sapporo, Tokyo
72 | (UTC+09:00) Seoul
70 | (UTC+09:00) Yakutsk
19 | (UTC+09:30) Adelaide
44 | (UTC+09:30) Darwin
18 | (UTC+10:00) Brisbane
76 | (UTC+10:00) Canberra, Melbourne, Sydney
43 | (UTC+10:00) Guam, Port Moresby
42 | (UTC+10:00) Hobart
68 | (UTC+10:00) Vladivostok
41 | (UTC+11:00) Magadan, Solomon Is., New Caledonia
17 | (UTC+12:00) Auckland, Wellington
97 | (UTC+12:00) Coordinated Universal Time+12
40 | (UTC+12:00) Fiji
92 | (UTC+12:00) Petropavlovsk-Kamchatsky - Old
67 | (UTC+13:00) Nuku'alofa

Calendar

You can specify the type of calendar that you want to use as your primary calendar for your SharePoint sites. You can change the calendar for a Web site by using the Regional Settings page. The following list shows the calendars available in SharePoint Server 2010:

  • Gregorian

  • Japanese Emperor Era

  • Korean Tangun Era

  • Hijiri

  • Buddhist

  • Hebrew Jewish

  • Gregorian Middle East French Calendar

  • Gregorian Arabic Calendar

  • Gregorian Transliterated English Calendar

  • Gregorian Transliterated French Calendar

  • Saka Era

If you want to know the date in another calendar type, you can display an additional calendar next to your primary calendar.

Currency

You can set the currency for your SharePoint sites to any one of the currencies shown in the following table. The default value of the currency is determined by the locale that you specified in your regional settings, but users can change the value if they want. The currency is set on the Create Column page when you work with lists.

Note:

The currencies listed below are valid only when they are used with a locale that formats numbers by using a comma for digit grouping and a period as the decimal separator.

ID | Currency
1052 | 123,456.00 Lek (Albania)
5121 | 123,456.00 د.ج.‏ (Algeria)
11274 | $ 123,456.00 (Argentina)
1067 | 123,456.00 դր. (Armenia)
3081 | $123,456.00 (Australia)
3079 | € 123,456.00 (Austria)
1068 | 123,456.00 man. (Azerbaijan)
2092 | 123,456.00 ман. (Azerbaijan)
15361 | 123,456.00 د.ب.‏ (Bahrain)
1059 | 123,456.00 р. (Belarus)
2067 | € 123,456.00 (Belgium)
10249 | BZ$123,456.00 (Belize)
16394 | $b 123,456.00 (Bolivia)
1046 | R$ 123,456.00 (Brazil)
2110 | $123,456.00 (Bruni Darussalam)
1026 | 123,456.00 лв (Bulgaria)
3084 | 123,456.00 $ (Canada)
4105 | $123,456.00 (Canada)
13322 | $ 123,456.00 (Chile)
9226 | $ 123,456.00 (Columbia)
5130 | ₡123,456.00 (Costa Rica)
1050 | 123,456.00 kn (Croatia)
1029 | 123,456.00 Kč (Czech Republic)
1030 | kr 123,456.00 (Denmark)
7178 | RD$123,456.00 (Dominican Republic)
12298 | $ 123,456.00 (Ecuador)
3073 | 123,456.00 ج.م.‏ (Egypt)
17418 | $123,456.00 (El Salvador)
1061 | 123,456.00 kr (Estonia)
1080 | kr 123,456.00 (Faroe Islands)
1035 | 123,456.00 € (Finland)
1036 | 123,456.00 € (France)
1079 | 123,456.00 Lari (Georgia)
1031 | 123,456.00 € (Germany)
1032 | 123,456.00 € (Greece)
4106 | Q123,456.00 (Guatemala)
18442 | L. 123,456.00 (Honduras)
3076 | HK$123,456.00 (Hong Kong S.A.R.)
1038 | 123,456.00 Ft (Hungary)
1039 | 123,456.00 kr. (Iceland)
1081 | 123,456.00 (India)
1094 | 123,456.00 (India)
1095 | 123,456.00 (India)
1097 | 123,456.00 (India)
1098 | 123,456.00 (India)
1099 | 123,456.00 (India)
1057 | Rp123,456.00 (Indonesia)
1065 | 123,456.00 ريال (Iran)
2049 | 123,456.00 د.ع.‏ (Iraq)
6153 | € 123,456.00 (Ireland)
1040 | € 123,456.00 (Italy)
1037 | ₪ 123,456.00 (Israel)
8201 | J$123,456.00 (Jamaica)
1041 | ¥ 165;123,456.00 (Japan)
11265 | 123,456.00 د.ا.‏ (Jordan)
1087 | Т123,456.00 (Kazakhistan)
1089 | S123,456.00 (Kenya)
1042 | ₩123,456.00 (Korea)
13313 | 123,456.00 د.ك.‏ (Kuwait)
1088 | 123,456.00 сом (Kyrgyzstan)
1062 | Ls 123,456.00 (Latvia)
12289 | 123,456.00 ل.ل.‏ (Lebanon)
4097 | 123,456.00 د.ل.‏ (Libya)
5127 | CHF 123,456.00 (Liechtenstein)
1063 | 123,456.00 Lt (Lithuania)
5132 | 123,456.00 € (Luxembourg)
5124 | MOP123,456.00 (Macau S.A.R.)
1071 | 123,456.00 ден. (Macedonia (FYROM))
1086 | R123,456.00 (Malaysia)
1125 | 123,456.00 (Maldives)
2058 | $123,456.00 (Mexico)
6156 | 123,456.00 € (Monaco)
1104 | 123,456.00₮ (Mongolia)
6145 | 123,456.00 د.م.‏ (Morocco)
1043 | € 123,456.00 (Netherlands)
5129 | $123,456.00 (New Zealand)
19466 | C$ 123,456.00 (Nicaragua)
1044 | kr 123,456.00 (Norway)
8193 | 123,456.00 ر.ع.‏ (Oman)
1056 | Rs123,456.00 (Pakistan)
6154 | B/. 123,456.00 (Panama)
15370 | Gs 123,456.00 (Paraguay)
2052 | ￥123,456.00 (People's Republic of China)
10250 | S/. 123,456.00 (Peru)
13321 | Php123,456.00 (Philippines)
1045 | 123,456.00 zł (Poland)
2070 | 123,456.00 € (Portugal)
20490 | $ 123,456.00 (Puerto Rico)
16385 | 123,456.00 ر.ق.‏ (Qatar)
1048 | 123,456.00 lei (Romania)
1049 | 123,456.00р. (Russia)
1025 | 123,456.00 ر.س.‏ (Saudi Arabia)
2074 | 123,456.00 Din. (Serbia)
3098 | 123,456.00 Дин. (Serbia)
4100 | $123,456.00 (Singapore)
1051 | 123,456.00 Sk (Slovakia)
1060 | 123,456.00 SIT (Slovenia)
7177 | R 123,456.00 (South Africa)
3082 | 123,456.00 € (Spain)
1053 | 123,456.00 kr (Sweden)
2055 | SFr. 123,456.00 (Switzerland)
10241 | 123,456.00 ل.س.‏ (Syria)
1028 | NT$123,456.00 (Taiwan)
1054 | ฿123,456.00 (Thailand)
11273 | TT$123,456.00 (Trinidad and Tobago)
7169 | 123,456.00 د.ت.‏ (Tunisia)
1055 | 123,456.00 YTL (Turkey)
1058 | 123,456.00 грн. (Ukraine)
14337 | 123,456.00 د.إ.‏ (United Arab Emirates)
2057 | £163;123,456.00 (United Kingdom)
1033 | $123,456.00 (United States)
14346 | $U 123,456.00 (Uruguay)
1091 | 123,456.00 su'm (Uzbekistan)
2115 | 123,456.00 сўм (Uzbekistan)
8202 | Bs 123,456.00 (Venezuela)
1066 | 123,456.00 ₫ (Vietnam)
9217 | 123,456.00 ر.ي. (Yemen)
12297 | Z$123,456.00 (Zimbabwe)

See Also

Concepts

Language packs (SharePoint Server 2010)
Deploy language packs (SharePoint Server 2010)


Managed metadata input file format (SharePoint Server 2010)
See Also

Managed metadata in SharePoint Server 2010 is imported from a comma-separated values (csv) file. Each file must contain one term set, and the terms within the term set may be nested as many as seven levels deep.

Even if your organization does not have data to import, you could consider creating your taxonomy outside the Term Store Management tool, and then importing the taxonomy. The Term Store Management Tool provides a convenient, simple way to create term sets and manage terms, but using it to create many term sets might take longer than importing the term sets. The Term Store Management Tool is convenient to use for the day-to-day management of term sets after the term sets have been created.

In this article:

  • Format of the managed metadata import file

  • View a sample managed metadata import file

  • Import managed metadata

Before reading this article, you should understand the concepts described in the Managed metadata overview (SharePoint Server 2010) topic.

Format of the managed metadata import file

The managed metadata import file is a comma-separated values (.csv) file that contains a header row and additional rows that define the term set and the terms in the term set.

The first line of the file must contain 12 items separated by commas. Consider these items to be column headings (such as in a table) for the values that you will provide in the next lines. It is good practice to enclose each value in quotation marks ("").

The following line is the first line from the sample managed metadata import file. For more information about how to view the sample managed metadata import file, see View a sample managed metadata import file.

Copy Code
"Term Set Name","Term Set Description","LCID","Available for Tagging","Term Description","Level 1 Term","Level 2 Term","Level 3 Term","Level 4 Term","Level 5 Term","Level 6 Term","Level 7 Term"

The second line of the managed metadata import file represents the term set, and should contain the following information, in the order specified:

  1. The name of the term set

    Note:

    It is recommended that the name of the term set, the name of a term, and all descriptions be enclosed in quotation marks (""). Quotation marks are optional, unless the value itself contains a comma. It is safer always to use the quotation marks.

  2. A comma (,)

  3. Optionally, a description of the term set

  4. Two commas (,,)

  5. The word TRUE or the word FALSE that indicates whether users should be able to add the terms in this term set to Microsoft SharePoint Server items. If you do not provide a value, the term set is available for tagging.

  6. Eight commas (,,,,,,,,)

The third line of the managed metadata import file and each successive line represents a term. Separate the values in the third line and in each successive line with commas. You may omit an optional value, but do not omit the accompanying comma, because commas are required as separators regardless of whether values are present.

The values in a line represent the following information, and must be provided in the order in which they are listed:

  1. Term set name: Leave this value blank.

  2. Term set description: Leave this value blank.

  3. Locale identifier: The decimal value that identifies the locale that corresponds to the language of the term. If you do not provide a value, the default locale of the term store to which you import this managed metadata is used.

  4. Available for tagging: This value determines whether users should be able to add this term to a SharePoint Server item. Use the word TRUE to let users use the term; use the word FALSE to forbid users to use the term. If you do not provide a value, users can use the term.

  5. Term description: A description of the term. This value is optional.

  6. Level 1 term -- level 7 term: If the term set is organized as a hierarchy, a level 1 term is a term at the top of the hierarchy, a level 2 term is lower than a level 1 term, and so on. You must provide a value for all levels down to the level of the term that you are representing. This is best illustrated by the example that follows this list.

In this example, you want to import a term set that represents all the office locations of your organization. The term set will be organized hierarchically. The following list is a fragment of the term set:

  • Sites (term set)

    • North America

      • Washington

        • Seattle

        • Redmond

        • Tacoma

      • Massachusetts

        • Boston

        • Cambridge

"North America" is a level 1 term. "Washington" and "Massachusetts" are level 2 terms. "Redmond", "Seattle", "Tacoma", "Boston", and "Cambridge" are level 3 terms. To import this term set, you would use a file that contained the following lines:

Copy Code
"Term Set Name","Term Set Description","LCID","Available for Tagging","Term Description","Level 1 Term","Level 2 Term","Level 3 Term","Level 4 Term","Level 5 Term","Level 6 Term","Level 7 Term"
"Sites","Locations where the organization has offices",,TRUE,,,,,,,,
,,1033,TRUE,,"North America",,,,,,
,,1033,TRUE,,"North America","Washington",,,,,
,,1033,TRUE,,"North America","Washington","Redmond",,,,
,,1033,TRUE,,"North America","Washington","Seattle",,,,
,,1033,TRUE,,"North America","Washington","Tacoma",,,,
,,1033,TRUE,,"North America","Massachusetts",,,,,
,,1033,TRUE,,"North America","Massachusetts","Boston",,,,
,,1033,TRUE,,"North America","Massachusetts","Cambridge",,,,
Note:

It is possible to combine the line that defines the term set (line 2) and the first line that defines a term (line 3). This is done in the sample import file.

You cannot represent synonyms or translations of terms by using a managed metadata import file. To create synonyms or translations you must either use the Term Store Management Tool or write a custom program to import and add the synonyms or translations.

See Wictor Wilén's blog (http://go.microsoft.com/fwlink/p/?LinkId=190541&clcid=0x409) for information about a tool to import term sets that was developed by a member of the SharePoint community.

View a sample managed metadata import file

You can view a sample import file by clicking View a sample import file from the properties pane of a managed metadata service in the Term Store Management Tool. The simplest way to create an import file for your term set is to use the sample import file as a template. Save the sample import file; delete everything except the first row. Then add more rows to represent your term set and terms.

Import managed metadata

For instructions about how to import metadata, see Office.com (http://go.microsoft.com/fwlink/p/?LinkId=207785&clcid=0x409).

See Also

Concepts

Managed metadata overview (SharePoint Server 2010)
Plan to import managed metadata (SharePoint Server 2010)


User experience on read-only sites (SharePoint Server 2010)

This article describes how the user interface is modified on a Microsoft SharePoint Server 2010 site for which the related content database is set to be read-only (a read-only site).

The user experience of a read-only site is characterized by the following:

  • Common tasks that do not require writing to the content database are fully available.

  • Most of the common tasks that require writing to the content database are not available, either because they have been disabled in the user interface or because the user is no longer allowed to apply changes.

  • Some common tasks that require writing to the content database appear to be available, but return errors.

This article describes the common tasks that are not available and the common tasks that return errors on a read-only site.

Common tasks that are not available on a read-only site, and do not return errors

The user interface is modified so that common tasks that require writing to the database are not available and appear dimmed. The elements of the user interface that are not available are listed in the following table.

Object | Interface elements disabled on a read-only site
FAST Search page | The ribbon is not displayed
Search page | The ribbon is not displayed
Site Actions menu | Edit page New Page New Document Library New Site More Create Options Edit Site in SharePoint Designer Site Workflows
Library tools tab: Documents | New Document Upload Document New Folder Edit Document Check Out Check In Discard Check Out Edit Properties Version History Delete Document Mobile Link Manage Copies Go To Source Workflows Publish Unpublish Approve/Reject Cancel Approval
Library tools tab: Library | New Row Refresh Data Create View Modify View Create Column Edit Library Form Web Parts Library Settings Workflows
List tools tab: Items | New Item New Folder Edit Item Delete Item Attach File Workflows Approve/Reject
List tools tab: List | New Row Refresh Data Refresh Data Create View Create Column Mobile Link Connect to Outlook Create Visio diagram Open Schedule Edit list Form Web Parts List Settings Customize Form Workflows
Calendar Tools Tab: Events | New Event Edit Event Delete Event Workflows Approve/Reject
Calendar Tools Tab: Calendar | Create View Modify View Alert Me
Site Settings: Users and Permissions People and Groups | New Actions: Remove Users from Group Settings
Site Settings: Users and Permissions: Site Permissions | Grant permissions Create Group User Permissions Remove User Permissions Site Collection Administrators
SiteSettings: Users and Permissions: All People | Actions: Delete Users from Site Settings: List Settings

Some options that are not available on a read-only site appear to be available, but the OK button is disabled on subsequent pages. These pages are listed below.

  • Users and Permissions

    • Site collection administrators

    • Site permissions: Manage access request

  • Look and Feel

    • Title, Description, and Icon

    • Top Link Bar: New Navigation Link

    • Quick Launch

      • New Heading

      • New Navigation Link

    • Tree View

  • Galleries

    • Site columns

    • Site content types

  • Site Administration: Regional settings

  • Site Actions: Reset to site definition

  • Portal Configuration

Common tasks that are appear to be available in a read-only site, but return errors

Some options that are not available in a read-only database appear to be available in the interface, however users will receive error messages if they attempt to perform these actions. The elements of the user interface that return errors are listed in the following table.

Component or area Type of operation or action Behavior or error message

Site Theme

On the Site Theme page, click Apply.

SharePoint returns the "Error: Access Denied" message.

Site Libraries and Lists

Click Create new content.

SharePoint returns the "An unexpected error has occurred" message.

Sites and workspaces

Click Create.

SharePoint returns the "Error: Access Denied" message.

Customize the Quick Launch

Click Change Order, reset the order of the links on the Reorder Links page, and then click OK.

SharePoint returns the "Error: Access Denied" message.

Site Features

Click Activate or Deactivate.

SharePoint returns the "Error: Access Denied" message.

Delete this site

SharePoint returns the "Error: Access Denied" message.

Recycle Bin

Click any of the following buttons:

  • Restore Selection

  • Delete Selection

  • Empty Recycle Bin

SharePoint returns the "Error: Access Denied" message.

SharePoint Designer Settings

Change any settings, and then click OK.

SharePoint returns the "Error: Access Denied" message.

Help Settings

SharePoint returns the "Error: Access Denied" message.

Search Settings

Change any settings, and then click OK.

SharePoint returns the "Error: Access Denied" message.

Search Scopes

Click New Scope, change any settings, and then click OK.

Click Display Group, New Display Group, change any settings, and then click OK.

SharePoint returns the "Could not save due to the following error: Attempted to perform an unauthorized operation" message.

Custom Commands Ribbon

Click Customize Form.

SharePoint returns the Microsoft InfoPath "Enter your credentials to connect to the following Web service" error.

List Tools Ribbon, List tab

Click Customize Form.

SharePoint returns the error "Microsoft InfoPath 2010 is required to use this feature."


Account permissions and security settings (SharePoint Server 2010)
See Also

In this article:

  • About account permissions and security settings

  • Administrative accounts

  • Service application accounts

  • Database roles

  • Group permissions

This article describes Microsoft SharePoint Server 2010 administrative and services account permissions. It covers the following areas: Microsoft SQL Server, the file system, file shares, and registry entries.

About account permissions and security settings

Many of the SharePoint Server 2010 baseline account permissions and security settings are configured by the SharePoint Configuration Wizard (Psconfig) and the Farm Creation Wizard, both of which are run during a Complete installation.

Administrative accounts

Most of the SharePoint Server 2010 administrative account permissions are configured automatically during the setup process by one of the following SharePoint Server 2010 components:

  • The SharePoint Configuration Wizard (Psconfig).

  • The Farm Creation Wizard.

  • The SharePoint Central Administration Web site.

  • Windows PowerShell.

Setup user administrator account

This account is used to set up each server in your farm by running The SharePoint Configuration Wizard, the initial Farm Creation Wizard, and Windows PowerShell. For the examples in this article, the setup user administrator account is used for farm administration, and it can be managed using Central Administration. Some configuration options require local administration permissions: for example, configuration of the SharePoint Server 2010 Search query server. The setup user administrator account requires the following permissions:

  • It must have domain user account permissions.

  • It must be a member of the local administrators group on each server in the SharePoint Server 2010 farm, excluding SQL Server and the Simple Mail Transfer Protocol (SMTP) server.

  • This account must have access to the SharePoint Server 2010 databases.

  • If you use any Windows PowerShell operations that affect a database, the setup user administrator account must be a member of the db_owner role.

  • This account must be assigned to the securityadmin and dbcreator SQL Server security roles during setup and configuration.

Note:

The securityadmin and dbcreator SQL Server security roles might be required for this account during a complete version to version upgrade because new databases might have to be created and secured for services.

After you run the configuration wizards, machine-level permissions for the setup user administrator account include:

  • Membership in the WSS_ADMIN_WPG Windows security group.

  • Membership in the IIS_WPG role.

After you run the configuration wizards, database permissions include:

  • db_owner on the SharePoint Server 2010 server farm configuration database.

  • db_owner on the SharePoint Server 2010 Central Administration content database.

Warning:

If the setup user administrator account is removed as a login from the computer running SQL Server, the configuration wizards will not run correctly. If you run the configuration wizards using an account that does not have the appropriate special SQL role membership, or access as db_owner on the databases, the configuration wizards will not run correctly.

Farm service account

The server farm account is also referred to as the database access account and is used as the application pool identity for Central Administration, and as the process account for the Microsoft SharePoint Foundation 2010 Timer service. The server farm account requires the following permissions:

  • It must have domain user account permissions.

Additional permissions are automatically granted to the server farm account on Web servers and application servers that are joined to a server farm.

After you run the SharePoint Configuration Wizard, machine-level permissions include:

  • Membership in the WSS_ADMIN_WPG Windows security group for the SharePoint Foundation 2010 Timer service.

  • Membership in WSS_RESTRICTED_WPG for the Central Administration and Timer service application pools.

  • Membership in WSS_WPG for the Central Administration application pool.

After you run the configuration wizards, SQL Server and database permissions include:

  • Dbcreator fixed server role.

  • Securityadmin fixed server role.

  • db_owner for all SharePoint Server 2010 databases.

  • Membership in the WSS_CONTENT_APPLICATION_POOLS role for the SharePoint Server 2010 server farm configuration database.

  • Membership in the WSS_CONTENT_APPLICATION_POOLS role for the SharePoint Server 2010 SharePoint_Admin content database.

Microsoft SharePoint Foundation 2010 search service account

The SharePoint Foundation 2010 search service account is used as the service account for the SharePoint Foundation 2010 Search service. The SharePoint Foundation 2010 search service account requires the following permission configuration settings:

  • This account must have domain user account permissions.

The following machine-level permission is configured automatically: The search service account is a member of WSS_WPG.

The following SQL Server and database permissions are conferred by membership in the WSS_CONTENT_APPLICATION_POOLS role in the server farm configuration database:

  • Read access to the server farm configuration database.

  • Read access to the SharePoint_Admin content database.

  • This account is assigned the db_owner role for the SharePoint Foundation 2010 search database.

Microsoft SharePoint Foundation 2010 search content access account

The SharePoint Foundation 2010 search content access account is used by the SharePoint Foundation 2010 Search service to crawl content across sites. The SharePoint Foundation 2010 search content access account requires the following permission configuration settings:

  • This account must have domain user account permissions.

  • This account must not be a member of the farm administrators group.

The following SQL Server and database permissions are configured automatically:

  • Read access to the server farm configuration database.

  • Read access to the SharePoint_Admin content database.

  • This account is assigned to the db_owner role for the SharePoint Foundation 2010 search database.

A full Read policy for the SharePoint Foundation 2010 search content access account is created on all Web applications.

Service application accounts

This section describes the service application accounts that are setup by default during installation.

Application pool account

The application pool account is used for application pool identity. The application pool account requires the following permission configuration settings:

The following machine-level permission is configured automatically: The application pool account is a member of WSS_WPG.

The following SQL Server and database permissions for this account are configured automatically:

  • The application pool accounts for Web applications are assigned to the db_owner role for the content databases.

  • This account is assigned to the WSS_CONTENT_APPLICATION_POOLS role associated with the farm configuration database.

  • This account is assigned to the WSS_CONTENT_APPLICATION_POOLS role associated with the SharePoint_Admin content database.

  • The Application Pool identity will have Site Collection Administrator privileges on all site collections hosted by that application pool.

SharePoint Server search service account

The SharePoint Server 2010 Search service account is used as the service account for the SharePoint Server 2010 Search service. The SharePoint Server Search Service is an NT Service, which is used by all Search Service Applications. For any given server, there is only one instance of this service. The SharePoint Server 2010 search service account requires the following permission configuration setting: The SharePoint Server 2010 search service account is granted access to the propagation location share (or shares) on all search query servers in a farm.

The following machine-level permission is configured automatically: The SharePoint Server 2010 search service account is a member of WSS_WPG.

The following SQL Server and database permissions are configured automatically:

  • This account is assigned to the WSS_CONTENT_APPLICATION_POOLS role associated with the farm configuration database.

  • This account is assigned to the WSS_CONTENT_APPLICATION_POOLS role associated with the SharePoint_Admin content database.

Default content access account

The default content access account is used within a specific service application to crawl content, unless a different authentication method is specified by a crawl rule for a URL or URL pattern. This account requires the following permission configuration settings:

  • The default content access account must be a domain user account and it must have read access to external or secure content sources that you want to crawl by using this account.

  • For SharePoint Server sites that are not part of the server farm, this account must be explicitly granted full read permissions to the Web applications that host the sites.

  • This account must not be a member of the farm administrators group.

Content access accounts

Content access accounts are accounts that are configured to access content by using the Search administration crawl rules feature. This type of account is optional and can be configured when you create a new crawl rule. For example, external content (such as a file share) might require this separate content access account. This account requires the following permission configuration settings:

  • The content access account must have read access to external or secure content sources that this account is configured to access.

  • For SharePoint Server sites that are not part of the server farm, this account must be explicitly granted full read permissions to the Web applications that host the sites.

Excel Services unattended service account

The Excel Services unattended service account is used by Excel Services to connect to external data sources that require a user name and password that are based on operating systems other than Windows for authentication. If this account is not configured, Excel Services will not attempt to connect to these types of data sources. Although account credentials are used to connect to data sources of operating systems other than Windows, if the account is not a member of the domain, Excel Services cannot access it. This account must be a domain user account.

My Sites application pool account

The My Sites application pool account must be a domain user account. This account must not be a member of the farm administrators group.

The following machine-level permission is configured automatically: This account is a member of WSS_WPG.

The following SQL Server and database permissions are configured automatically:

  • This account is assigned to the WSS_CONTENT_APPLICATION_POOLS role associated with the farm configuration database.

  • This account is assigned to the WSS_CONTENT_APPLICATION_POOLS role associated with the SharePoint_Admin content database.

Other application pool accounts

The other application pool account must be a domain user account. This account must not be a member of the administrators group on any computer in the server farm.

The following machine-level permission is configured automatically: This account is a member of WSS_WPG.

The following SQL Server and database permissions are configured automatically:

  • This account is assigned to the db_owner role for the content databases.

  • This account is assigned to the db_owner role for search databases associated with the Web application.

  • This account must have read and write access to the associated service application database.

  • This account is assigned to the WSS_CONTENT_APPLICATION_POOLS role associated with the farm configuration database.

  • This account is assigned to the WSS_CONTENT_APPLICATION_POOLS role associated with the SharePoint_Admin content database.

Database roles

This section describes the database roles that are either setup by default during installation, or that can be optionally configured.

WSS_CONTENT_APPLICATION_POOLS database role

The WSS_CONTENT_APPLICATION_POOLS database role applies to the application pool account for each Web application that is registered in SharePoint. This enables the Web applications to query and update the site map, and have read-only access to other items in the configuration database. Setup assigns the WSS_CONTENT_APPLICATION_POOLS role to the following databases:

  • The SharePoint_Config database (the configuration database).

  • The SharePoint_AdminContent database.

Members of the WSS_CONTENT_APPLICATION_POOLS role are granted the execute permission for a subset of the stored procedures for the database. In addition, members of this role are granted the select permission to the Versions table (dbo.Versions) in the SharePoint_AdminContent database. For other databases, the accounts planning tool indicates that access to read these databases is automatically configured. In some cases, limited access to write to a database is also automatically configured. To provide this access, permissions for stored procedures are configured. For the SharePoint_Config database, for example, access to the following stored procedures is automatically configured:

  • proc_dropEmailEnabledList

  • proc_dropEmailEnabledListsByWeb

  • proc_dropSiteMap

  • proc_markForDeletionEmailEnabledList

  • proc_markForDeletionEmailEnabledListsBySite

  • proc_markForDeletionEmailEnabledListsByWeb

  • proc_putDistributionListToDelete

  • proc_putEmailEnabledList

  • proc_putSiteMap

WSS_SHELL_ACCESS database role

The secure WSS_SHELL_ACCESS database role on the configuration database replaces the need to add an administration account as a db_owner on the configuration database. By default, the setup account is assigned to the WSS_SHELL_ACCESS database role. Membership in this role is granted and removed by using a Windows PowerShell command. Setup assigns the WSS_SHELL_ACCESS role to the following databases:

  • The SharePoint_Config database (the configuration database).

  • One or more of the SharePoint Content databases. This is configurable by using the Windows PowerShell command that manages membership, and the object assigned to this role.

Members of the WSS_SHELL_ACCESS role are granted the execute permission for all of the stored procedures for the database. In addition, members of this role are granted the read and write permissions on all of the database tables.

Group permissions

This section describes permissions of groups that are created by the SharePoint Server 2010 setup and configuration tools.

WSS_ADMIN_WPG

WSS_ADMIN_WPG has read and write access to local resources. The application pool accounts for the Central Administration and Timer services are in WSS_ADMIN_WPG. The following table shows the WSS_ADMIN_WPG registry entry permissions.

Key name |  | Permissions | Inherit |  | Description
HKEY_CLASSES_ROOT\APPID\{58F1D482-A132-4297-9B8A-F8E4E600CDF6} |  | Full control | N/A |  | This is the SharePoint Server 2010 Search service COM Application.
HKEY_CLASSES_ROOT\APPID\{6002D29F-1366-4523-88C1-56D59BFEF8CB} |  | Full control | N/A |  | This is the SharePoint Foundation 2010 Search service COM Application.
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\VSS |  | Full control | N/A |  | N/A
HKEY_LOCAL_MACHINE\Software\Microsoft\Office\14.0\Registration\{90120000-110D-0000-0000-0000000FF1CE} |  | Read, write | N/A |  | N/A
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office Server |  | Read | No |  | This key is the root of the SharePoint Server 2010 registry settings tree. If this key is altered, SharePoint Server 2010 functionality will fail.
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office Server\14.0 |  | Full control | No |  | This key is the root of the SharePoint Server 2010 registry settings.
HKEY_LOCAL_MACHINE\Software\Microsoft\Office Server\14.0\LoadBalancerSettings | Read, write |  |  | No | This key contains settings for the document conversion service. Altering this key will break document conversion functionality.
HKEY_LOCAL_MACHINE\Software\Microsoft\Office Server\14.0\LauncherSettings | Read, write |  |  | No | This key contains settings for the document conversion service. Altering this key will break document conversion functionality.
HKEY_LOCAL_MACHINE\Software\Microsoft\Office Server\14.0\Search | Full control |  |  | N/A | N/A
HKEY_LOCAL_MACHINE\Software\Microsoft\Shared Tools\Web Server Extensions\14.0\Search | Full control |  |  | N/A | N/A
HKEY_LOCAL_MACHINE\Software\Microsoft\Shared Tools\Web Server Extensions\14.0\Secure | Full control |  |  | No | This key contains the connection string and the ID of the configuration database to which the machine is joined. If this key is altered, the SharePoint Server installation on the machine will not function.
HKEY_LOCAL_MACHINE\Software\Microsoft\Shared Tools\Web Server Extensions\14.0\WSS |  | Full control | Yes |  | This key contains settings used during setup. If this key is altered, diagnostic logging may fail and setup or post-setup configuration may fail.

The following table shows the WSS_ADMIN_WPG file system permissions.

File system path |  | Permissions | Inherit |  | Description
%AllUsersProfile%\Application Data\Microsoft\Sharepoint |  | Full control | No |  | This directory contains the file-system-backed cache of the farm configuration. Processes might fail to start and the administrative actions might fail if this directory is altered or deleted.
C:\Inetpub\wwwroot\wss |  | Full control | No |  | This directory (or the corresponding directory under the Inetpub root on the server) is used as the default location for IIS Web sites. SharePoint sites will be unavailable and administrative actions might fail if this directory is altered or deleted, unless custom IIS Web site paths are provided for all IIS Web sites extended with SharePoint Server.
%ProgramFiles%\Microsoft Office Servers\14.0 |  | Full control | No |  | This directory is the installation location for SharePoint Server 2010 binaries and data. The directory can be changed during installation. All SharePoint Server 2010 functionality will fail if this directory is removed, altered, or removed after installation. Membership in the WSS_ADMIN_WPG Windows security group is required for some SharePoint Server 2010 services to be able to store data on disk.
%ProgramFiles%\Microsoft Office Servers\14.0\WebServices |  | Read, write | No |  | This directory is the root directory where back-end Web services are hosted, for example, Excel and Search. The SharePoint Server 2010 features that depend on these services will fail if this directory is removed or altered.
%ProgramFiles%\Microsoft Office Servers\14.0\Data |  | Full control | No |  | This directory is the root location where local data is stored, including search indexes. Search functionality will fail if this directory is removed or altered. WSS_ADMIN_WPG Windows security group permissions are required to enable search to save and secure data in this folder.
%ProgramFiles%\Microsoft Office Servers\14.0\Logs |  | Full control | Yes |  | This directory is the location where the run-time diagnostic logging is generated. Logging functionality will not function properly if this directory is removed or altered.
%ProgramFiles%\Microsoft Office Servers\14.0\Data\Office Server | Full control |  |  | Yes | Same as the parent folder.
%windir%\System32\drivers\etc\HOSTS | Read, write |  |  | N/A | N/A
%windir%\Tasks | Full control |  |  | N/A | N/A
%COMMONPROGRAMFILES%Microsoft Shared\Web Server Extensions\14 | Modify |  |  | Yes | This directory is the installation directory for core SharePoint Server files. If the access control list (ACL) is modified, feature activation, solution deployment, and other features will not function correctly.
%COMMONPROGRAMFILES%\Microsoft Shared\Web Server Extensions\14\ADMISAPI | Full control |  |  | Yes | This directory contains the soap services for Central Administration. If this directory is altered, remote site creation and other methods exposed in the service will not function correctly.
%COMMONPROGRAMFILES%\Microsoft Shared\Web Server Extensions\14\CONFIG |  | Full control | Yes |  | This directory contains files used to extend IIS Web sites with SharePoint Server. If this directory or its contents are altered, Web application provisioning will not function correctly.
%COMMONPROGRAMFILES%\Microsoft Shared\Web Server Extensions\14\LOGS |  | Full control | No |  | This directory contains setup and run-time tracing logs. If the directory is altered, diagnostic logging will not function correctly.
%COMMONPROGRAMFILES%\Microsoft Shared\Web Server Extensions\14\Data |  | Full control | Yes |  | N/A
%windir%\temp |  | Full control | Yes |  | This directory is used by platform components on which SharePoint Server depends. If the ACL is modified, Web Part rendering and other deserialization operations might fail.
%windir%\System32\logfiles\SharePoint |  | Full control | No |  | This directory is used by SharePoint Server usage logging. If this directory is modified, usage logging will not function correctly.
%systemdrive\program files\Microsoft Office Servers\14 folder on Index servers |  | Full control | N/A |  | This permission is granted for a %systemdrive\program files\Microsoft Office Servers\14 folder on Index servers.

WSS_WPG

WSS_WPG has read access to local resources. All application pool and services accounts are in WSS_WPG. The following table shows WSS_WPG registry entry permissions.

Key name | Permissions | Inherit | Description
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office Server\14.0 | Read | No | This key is the root of the SharePoint Server 2010 registry settings.
HKEY_LOCAL_MACHINE\Software\Microsoft\Office Server\14.0\Diagnostics | Read, write | No | This key contains settings for the SharePoint Server 2010 diagnostic logging. Altering this key will break the logging functionality.
HKEY_LOCAL_MACHINE\Software\Microsoft\Office Server\14.0\LoadBalancerSettings | Read, write | No | This key contains settings for the document conversion service. Altering this key will break document conversion functionality.
HKEY_LOCAL_MACHINE\Software\Microsoft\Office Server\14.0\LauncherSettings | Read, write | No | This key contains settings for the document conversion service. Altering this key will break document conversion functionality.
HKEY_LOCAL_MACHINE\Software\Microsoft\Shared Tools\Web Server Extensions\14.0\Secure | Read | No | This key contains the connection string and the ID of the configuration database to which the machine is joined. If this key is altered, the SharePoint Server installation on the machine will not function.
HKEY_LOCAL_MACHINE\Software\Microsoft\Shared Tools\Web Server Extensions\14.0\WSS | Read | Yes | This key contains settings used during setup. If this key is altered, diagnostic logging may fail and setup or post-setup configuration may fail.

The following table shows the WSS_WPG file system permissions.

File system path |  | Permissions | Inherit |  | Description
%AllUsersProfile%\Application Data\Microsoft\Sharepoint |  | Read | No |  | This directory contains the file-system-backed cache of the farm configuration. Processes might fail to start and the administrative actions might fail if this directory is altered or deleted.
C:\Inetpub\wwwroot\wss |  | Read, execute | No |  | This directory (or the corresponding directory under the Inetpub root on the server) is used as the default location for IIS Web sites. SharePoint sites will be unavailable and administrative actions might fail if this directory is altered or deleted, unless custom IIS Web site paths are provided for all IIS Web sites extended with SharePoint Server.
%ProgramFiles%\Microsoft Office Servers\14.0 |  | Read, execute | No |  | This directory is the installation location for the SharePoint Server 2010 binaries and data. It can be changed during installation. All SharePoint Server 2010 functionality will fail if this directory is removed, altered, or moved after installation. WSS_WPG read and execute permissions are required to enable IIS sites to load SharePoint Server 2010 binaries.
%ProgramFiles%\Microsoft Office Servers\14.0\WebServices |  | Read | No |  | This directory is the root directory where back-end Web services are hosted, for example, Excel and Search. The SharePoint Server 2010 features that depend on these services will fail if this directory is removed or altered.
%ProgramFiles%\Microsoft Office Servers\14.0\Logs |  | Read, write | Yes |  | This directory is the location where the run-time diagnostic logging is generated. Logging functionality will not function properly if this directory is removed or altered.
%COMMONPROGRAMFILES%\Microsoft Shared\Web Server Extensions\14\ADMISAPI |  | Read | Yes |  | This directory contains the soap services for Central Administration. If this directory is altered, remote site creation and other methods exposed in the service will not function correctly.
%COMMONPROGRAMFILES%\Microsoft Shared\Web Server Extensions\14\CONFIG | Read |  |  | Yes | This directory contains files used to extend IIS Web sites with SharePoint Server. If this directory or its contents are altered, Web application provisioning will not function correctly.
%COMMONPROGRAMFILES%\Microsoft Shared\Web Server Extensions\14\LOGS | Modify |  |  | No | This directory contains setup and run-time tracing logs. If the directory is altered, diagnostic logging will not function correctly.
%windir%\temp | Read |  |  | Yes | This directory is used by platform components on which SharePoint Server depends. If the ACL is modified, Web Part rendering, and other deserialization operations may fail.
%windir%\System32\logfiles\SharePoint | Read |  |  | No | This directory is used by SharePoint Server usage logging. If this directory is modified, usage logging will not function correctly.
%systemdrive\program files\Microsoft Office Servers\14 | Read, execute |  |  | N/A | The permission is granted for %systemdrive\program files\Microsoft Office Servers\14 folder on Index servers.

Local service

The following table shows the local service registry entry permission:

Key name | Permissions | Inherit | Description
HKEY_LOCAL_MACHINE\Software\Microsoft\Office Server\14.0\LoadBalancerSettings | Read | No | This key contains settings for the document conversion service. Altering this key will break document conversion functionality.

The following table shows the local service file system permission:

File system path | Permissions | Inherit | Description
%ProgramFiles%\Microsoft Office Servers\14.0\Bin | Read, execute | No | This directory is the installed location of the SharePoint Server 2010 binaries. All the SharePoint Server 2010 functionality will fail if this directory is removed or altered.

Local system

The following table shows the local system registry entry permissions:

Key name | Permissions | Inherit | Description
HKEY_LOCAL_MACHINE\Software\Microsoft\Office Server\14.0\LauncherSettings | Read | No | This key contains settings for the document conversion service. Altering this key will break document conversion functionality.
HKEY_LOCAL_MACHINE\Software\Microsoft\Shared Tools\Web Server Extensions\14.0\Secure | Full control | No | This key contains the connection string and the ID of the configuration database to which the machine is joined. If this key is altered, the SharePoint Server installation on the machine will not function.
HKEY_LOCAL_MACHINE\Software\Microsoft\Shared Tools\Web Server Extensions\14.0\Secure\FarmAdmin | Full control | No | This key contains the encryption key used to store secrets in the configuration database. If this key is altered, service provisioning and other features will fail.
HKEY_LOCAL_MACHINE\Software\Microsoft\Shared Tools\Web Server Extensions\14.0\WSS | Full control | Yes | This key contains settings used during setup. If this key is altered, diagnostic logging may fail and setup or post-setup configuration may fail.

The following table shows the local file system permissions:

File system path |  | Permissions | Inherit |  | Description
%AllUsersProfile%\Application Data\Microsoft\Sharepoint |  | Full control | No |  | This directory contains the file-system-backed cache of the farm configuration. Processes might fail to start and administrative actions might fail if this directory is altered or deleted.
C:\Inetpub\wwwroot\wss |  | Full control | No |  | This directory (or the corresponding directory under the Inetpub root on the server) is used as the default location for IIS Web sites. SharePoint sites will be unavailable and administrative actions might fail if this directory is altered or deleted, unless custom IIS Web site paths are provided for all IIS Web sites extended with SharePoint Server.
%COMMONPROGRAMFILES%\Microsoft Shared\Web Server Extensions\14\ADMISAPI |  | Full control | Yes |  | This directory contains the soap services for Central Administration. If this directory is altered, remote site creation and other methods exposed in the service will not function correctly.
%COMMONPROGRAMFILES%\Microsoft Shared\Web Server Extensions\14\CONFIG |  | Full control | Yes |  | If this directory or its contents are altered, Web Application provisioning will not function correctly.
%COMMONPROGRAMFILES%\Microsoft Shared\Web Server Extensions\14\LOGS |  | Full control | No |  | This directory contains setup and run-time tracing logs. If the directory is altered, diagnostic logging will not function correctly.
%windir%\temp |  | Full control | Yes |  | This directory is used by platform components on which SharePoint Server depends. If the ACL is modified, Web Part rendering, and other deserialization operations might fail.
%windir%\System32\logfiles\SharePoint | Full control |  |  | No | This directory is used by SharePoint Server for usage logging. If this directory is modified, usage logging will not function correctly.

Network service

The following table shows the network service registry entry permission:

Key name | Permissions | Inherit | Description
HKEY_LOCAL_MACHINE\Software\Microsoft\Office Server\14.0\Search\Setup | Read | N/A | N/A

Administrators

The following table shows the administrators registry entry permissions:

Key name | Permissions | Inherit | Description
HKEY_LOCAL_MACHINE\Software\Microsoft\Shared Tools\Web Server Extensions\14.0\Secure | Full control | No | This key contains the connection string and the ID of the configuration database to which the machine is joined. If this key is altered, the SharePoint Server installation on the machine will not function.
HKEY_LOCAL_MACHINE\Software\Microsoft\Shared Tools\Web Server Extensions\14.0\Secure\FarmAdmin | Full control | No | This key contains the encryption key used to store secrets in the configuration database. If this key is altered, service provisioning and other features will fail.
HKEY_LOCAL_MACHINE\Software\Microsoft\Shared Tools\Web Server Extensions\14.0\WSS | Full control | Yes | This key contains settings used during setup. If this key is altered, diagnostic logging may fail and setup or post-setup configuration may fail.

The following table shows the administrators file system permissions:

File system path |  | Permissions | Inherit |  | Description
%AllUsersProfile%\Application Data\Microsoft\Sharepoint |  | Full control | No |  | This directory contains the file-system-backed cache of the farm configuration. Processes might fail to start and administrative actions might fail if this directory is altered or deleted.
C:\Inetpub\wwwroot\wss |  | Full control | No |  | This directory (or the corresponding directory under the Inetpub root on the server) is used as the default location for IIS Web sites. SharePoint sites will be unavailable and administrative actions might fail if this directory is altered or deleted, unless custom IIS Web site paths are provided for all IIS Web sites extended with SharePoint Server.
%COMMONPROGRAMFILES%\Microsoft Shared\Web Server Extensions\14\ADMISAPI |  | Full control | Yes |  | This directory contains the soap services for Central Administration. If this directory is altered, remote site creation and other methods exposed in the service will not function correctly.
%COMMONPROGRAMFILES%\Microsoft Shared\Web Server Extensions\14\CONFIG |  | Full control | Yes |  | If this directory or its contents are altered, Web application provisioning will not function correctly.
%COMMONPROGRAMFILES%\Microsoft Shared\Web Server Extensions\14\LOGS |  | Full control | No |  | This directory contains setup and run-time tracing logs. If the directory is altered, diagnostic logging will not function correctly.
%windir%\temp |  | Full control | Yes |  | This directory is used by platform components on which SharePoint Server depends. If the ACL is modified, Web Part rendering, and other deserialization operations might fail.
%windir%\System32\logfiles\SharePoint | Full control |  |  | No | This directory is used for SharePoint Server usage logging. If this directory is modified, usage logging will not function correctly.

WSS_RESTRICTED_WPG

WSS_RESTRICTED_WPG can read the encrypted farm administration credential registry entry. WSS_RESTRICTED_WPG is only used for encryption and decryption of passwords stored in the configuration database. The following table shows the WSS_RESTRICTED_WPG registry entry permission:

Key name | Permissions | Inherit | Description
HKEY_LOCAL_MACHINE\Software\Microsoft\Shared Tools\Web Server Extensions\14.0\Secure\FarmAdmin | Full control | No | This key contains the encryption key used to store secrets in the configuration database. If this key is altered, service provisioning and other features will fail.

Users group

The following table shows the users group file system permissions:

File system path | Permissions | Inherit | Description
%ProgramFiles%\Microsoft Office Servers\14.0 | Read, execute | No | This directory is the installation location for SharePoint Server 2010 binaries and data. It can be changed during installation. All SharePoint Server 2010 functionality will fail if this directory is removed, altered, or moved after installation.
%ProgramFiles%\Microsoft Office Servers\14.0\WebServices\Root | Read, execute | No | This directory is the root directory where back-end root Web services are hosted. The only service initially installed on this directory is a search global administration service. Some of the search administration functionality using the server-specific Central Administration Search Settings page will not work if this directory is removed or altered.
%ProgramFiles%\Microsoft Office Servers\14.0\Logs | Read, write | Yes | This directory is the location where the run-time diagnostic logging is generated. Logging will not function properly if this directory is removed or altered.
%ProgramFiles%\Microsoft Office Servers\14.0\Bin | Read, execute | No | This directory is the installed location of SharePoint Server 2010 binaries. All of the SharePoint Server 2010 functionality will fail if this directory is removed or altered.

All Office SharePoint Server service accounts

The following table shows the all Office SharePoint Server service accounts file system permission:

File system path | Permissions | Inherit | Description
%COMMONPROGRAMFILES%\Microsoft Shared\Web Server Extensions\14\LOGS | Modify | No | This directory contains setup and run-time tracing logs. If this directory is altered, diagnostic logging will not function correctly. All SharePoint Server service accounts must have write permission to this directory.

See Also

Other Resources

Resource Center: Security and Authentication for SharePoint Server 2010


PerformancePoint Services glossary

Published: July 16, 2012

This glossary contains terminology for all the servers, applications, and tools that are part of PerformancePoint Services in Microsoft SharePoint Server 2010.

Terms

Term | Definition
ActiveX Data Objects MultiDimensional.NET | A .NET managed data provider that provides access to multidimensional data sources, such as Microsoft SQL Server Analysis Services.
actual value | The value for a key performance indicator (KPI). This value is measured against a pre-determined target value for the KPI.
ADOMD.NET | See Other Term: ActiveX Data Objects MultiDimensional.NET
aggregate | A single value that is composed of multiple values. For KPIs, aggregation determines the mathematical formula that is used to combine members (SUM, AVERAGE, and so on).
analytic chart | A report type that displays cube data in a visual, interactive chart format.
analytic grid | A report type that displays cube data in a visual, interactive tabular format.
average weighted | A type of rollup. It indicates an average that considers the weighted value of all child KPIs. This rollup reflects overall performance.
balanced scorecard | A business oriented scorecard that conveys key metrics related to the service and business of providing service. A balanced scorecard contains a balance of operational, financial, and quality driven metrics.
balanced scorecard methodology | A scorecard system that adheres to the framework and components established by the Balanced Scorecard Collaborative.
banding | The use of bands to represent ranges of performance based on thresholds.
banding settings | A setting that defines thresholds, or boundaries between changes in indicator status.
bulk edit | A procedure by which a user can simultaneously change specified properties for a group of selected items.
cache interval | The length of time that a stored copy of the views that are shown in a dashboard can exist on the server.
calculated metric | A metric that is based on the result of an expression, rather than originating from a data source.
Calculated Metrics | A feature that enables users to create simple calculations by using one or more KPI values. This reduces the amount of MDX that is required to create complex scorecards.
centered indicator | The indicator set that can be used when the &quot;closer to target&quot; scoring pattern is selected when you edit the band settings.
collapse | An analysis tool, similar to drill up, that displays less detail about an item while maintaining the current display of other items.
cube | A set of data that is organized and summarized into a multidimensional structure that is defined by a set of dimensions and measures.
custom table | A type of filter that enables users to choose from a list and then drive dashboard content from multiple data sources.
customized scorecard | A scorecard that is created without using a template.
dashboard | A related group of interactive scorecard and report views that are organized together in a SharePoint or Web-hosted site. Dashboard elements may share common filters that control the data displayed within the elements.
Dashboard Designer | See Other Term: PerformancePoint Dashboard Designer
data source | A source of business data used by PerformancePoint applications. PerformancePoint data sources may include cubes or data source views (DSV) based on online analytical processing (OLAP) cubes, relational databases, CSV files, Microsoft Excel spreadsheets, or any other Open Database Connectivity (ODBC) or multidimensional (ADOMD.NET) data source.
data source formatting | A type of conditional formatting that is configured within Microsoft SQL Server Analysis Services. It causes individual cells to be highlighted when certain conditions, based on business rules, are met. For example, if Gross Margin is over 28%, the cell is shown with a green background. Known as "OLAP Server Formatting" in Excel.
Decomposition Tree | A data visualization tool that helps users analyze complex information using a hierarchical scheme. The Decomposition Tree can help users find the root cause that is driving a value. For example, if sales in Canada are poor in March, the Decomposition Tree will help determine whether that is being driven by a particular product line, a certain sales territory, or an increase in returns.
deploy | To create a SharePoint page from a PerformancePoint dashboard so that users can access it.
dimension | A structural attribute of a cube that organizes data into levels. For example, a Geography dimension might include the members Country, Region, State or Province, and City.
display item | A folder into which attributes, measures, calculated members, KPIs, and PerformancePoint items can be organized to facilitate browsing by users.
drill down/drill up | A technique for navigating through levels of data ranging from the most summarized (up) to the most detailed (down). For example, when viewing the details of sales data by year, a user can drill down to display sales data by quarter, and further to display data by month.
filter | A control that is added to a dashboard or dashboard content so that users can modify the view. With this control, users can view a subset of data that is displayed in reports and scorecards that are returned by their corresponding data sources.
filter link | An association between a filter control and a parameter. This association is defined on a report or scorecard in a dashboard. Items with links to a filter change when the filter is modified.
Filter Web Part | A feature that enables users to modify dashboard views by changing the subset of data that is displayed in reports or scorecards.
fixed value | A user-entered value or a static value from an Excel spreadsheet that does not change unless manually altered by the user. Contrast this with dynamic values that are queried from a SQL Server database, OLAP cube, or other data source.
formatting dimension | The dimension (usually "Measures") that numeric formatting is applied to. Some cubes use a Scenario dimension that is more desirable for numeric formatting.
hierarchy | 1. A logical tree structure that organizes the members of a dimension such that each member has one parent member and zero or more child members. 2. A logical tree structure that organizes the members of a set into parent-child relationships. A ranked structure with a top level and subordinate levels.
hierarchy level | In a hierarchy, members are classified into levels (branches). Leaf level is the bottom level in the hierarchy. In a Time dimension, levels can also have names associated with them. For example, in a [Time] dimension, leaf level can represent Months and level above -- Years.
import | To bring information from one system or program into another. The system or program receiving the data must somehow support the internal format or structure of the data.
indicator | A set of graphics, text, and colors for defining different levels of performance when comparing an actual value and a target value within a KPI.
indicator count | A type of rollup. It gives the total numbers of indicators in the tree below it, rolled up according to status
Internet Protocol Security (IPsec) | A set of industry-standard, cryptography-based protection services and protocols. IPSec protects all protocols in the TCP/IP protocol suite and Internet communications by using Layer Two Tunneling Protocol (L2TP).
IPsec | See Other Term: Internet Protocol Security (IPsec)
key performance indicator (KPI) | A predefined measure that is used to track performance of a strategic goal, objective, plan, initiative, or business process. A KPI is evaluated against a target. An explicit and measurable value taken directly from a data source. Key performance indicators (KPIs) are used to measure performance in a specific area, for example, revenue per customer.
KPI | See Other Term: key performance indicator (KPI)
KPI details report | A report type that shows information about a KPI that is selected in a scorecard.
level | A degree of granularity in hierarchies. Levels enable you to view data in various degrees of detail. The Time dimension, for example, can have the levels Year, Quarter, Month, and Day.
list | A Web site component that stores and displays information that users can add to by using their browsers. For PerformancePoint Services, the site requires a Web server that is running Microsoft SharePoint Server.
MDX | See Other Term: multidimensional expression (MDX)
MDX formula | The online analytical processing (OLAP) equivalent of an SQL query.
measure | A quantified value that is indicative of the size, quantity, scale, importance, or extent of something important to an organization.
measure group | A collection of related measures in an Analysis Services cube. The measures are generally from the same fact table.
member | A single position or item in a dimension. The Account dimension, for example, could have a dimension member called Travel Expenses. Dimension members can be user-defined or predefined and can have properties associated with them. See dimension member property for details.
metadata | Information about the properties of data, such as the type of data in a column (numeric, text, and so on) or the length of a column. It can also be information about the structure of data or information that specifies the design of objects such as cubes or dimensions.
metric | An actual or target value of a KPI. A metric may be used as a scorecard element.
Microsoft SharePoint Products and Technologies | A set of products and technologies that allow users in an organization to create, manage, and build their own collaborative Web sites and make them available throughout their organizations. These products and technologies include SharePoint Portal Server for portal sites and Windows SharePoint Services for team sites.
Microsoft XML Core Services (MSXML) | Technology that allows users to build high-performance XML-based applications that provide interoperability with other applications that adhere to the XML 1.0 standard.
MSXML | See Other Term: Microsoft XML Core Services (MSXML)
multidimensional expression (MDX) | A language for querying and manipulating data in multidimensional objects (OLAP cubes).
named set | A grouping of dimension members or items from a data source that are named and treated as a single unit and can be referenced or reused multiple times.
objective | A group of key performance indicators (KPIs) that correspond to the functional areas or strategic initiatives of an organization.
objective KPI | A KPI that derives its target value and score from a rollup of its child KPIs. Objective KPIs do not have actual values and do not connect to external data sources. They indicate performance by showing a normalized aggregation of the KPIs one level below them in the scorecard.
ODBC | See Other Term: Open Database Connectivity (ODBC)
OLAP | See Other Term: online analytical processing (OLAP)
OLAP cube | See Other Term: cube
online analytical processing (OLAP) | A technology that uses multidimensional structures to provide rapid access to data for analysis. The source data for OLAP is commonly stored in data warehouses in a relational database.
Open Database Connectivity (ODBC) | An application programming interface (API) that enables database applications to access data from a variety of existing data sources.
parameter | A field defined on a dashboard item that can receive data from a filter control. Data supplied to this field modifies content that is displayed in the dashboard scorecard or report.
PerformancePoint Content List | A list that stores the elements that are used to construct a PerformancePoint dashboard. A PerformancePoint dashboard is a related group of interactive scorecards, filters, and report views that are organized together into a set of Web pages.
PerformancePoint Dashboard Designer | A client application that you use to create and manage dashboards, scorecards, reports, and other PerformancePoint items prior to deploying them within a dashboard to a SharePoint site.
PerformancePoint Data Connections Library | A SharePoint document library that may contain Office Data Connections (ODC), Universal Data Connection (UDC) files, and PerformancePoint data connections. Data connections identify a source of business data that may include cubes or perspectives that are based on online analytical processing (OLAP) cubes, relational databases, CSV files, Microsoft Excel Services spreadsheets, or other data sources.
PerformancePoint PowerShell Cmdlet | A task-oriented command that is used in the Windows PowerShell environment. Or A small, basic command, named in the form "verb-noun'" and implemented as a .NET class that derives from a base cmdlet class. Examples: get-process, new-drive.
PerformancePoint Server | See Other Term: PerformancePoint Services in Microsoft SharePoint Server
PerformancePoint Service | The SharePoint service application that enables dashboarding capabilities by means of scorecards, analytic grids and charts, and other decision-making tools for the enterprise.
PerformancePoint Service application | The PerformancePoint component that runs as a SharePoint shared service. It is one of many service applications that plug into SharePoint. Other examples include Excel Services, Search Service, and Visio Graphics Service.
PerformancePoint Service application proxy | The PerformancePoint Web Front End (WFE) service interface. It abstracts the communication layer between WFE components and the service application.
PerformancePoint Services | See Other Term: PerformancePoint Services in Microsoft SharePoint Server
PerformancePoint Services Central Administration | A collection of SharePoint administration pages that the administrator can use to configure PerformancePoint Services for SharePoint.
PerformancePoint Services in Microsoft SharePoint Server | A collection of services for Microsoft SharePoint Server that enables users to monitor organizational goals, to analyze performance information through up-to-date content and context-rich dashboards and scorecards, and to use that information to make business decisions. These capabilities were formerly part of the PerformancePoint Server product.
PerformancePoint Settings Database | A PerformancePoint-specific database that stores the annotations for each dashboard element, user-based filter selections, and other information about dashboard elements.
PerformancePoint trusted location | A location within Microsoft SharePoint Server from which dashboard content can run. The default is to trust all locations.The PerformancePoint Services administrator must change it to make it more restrictive.
PerformancePoint Web Parts | Functionality in PerformancePoint Services that makes it possible to display dashboard views that are defined in Dashboard Designer to users of a SharePoint site.
PerformancePoint Web Services | A collection of Web services that determines how PerformancePoint Services operates.
pie chart | A round chart that shows the size of items in a single data series, proportional to the sum of the items.
refresh | The activity of synchronizing dashboards and dashboard elements between the local workspace and PerformancePoint Services in Microsoft SharePoint Server.
relational database | A database or database management system that stores information in tables. In conducting searches, a relational database matches information from a field in one table with information in a corresponding field of another table to produce a third table that combines requested data from both tables.
report | A visual display of data in a dashboard that can be coordinated with other report views by using filters. Reports include analytic grids and charts, KPI details, Excel Services spreadsheets, SQL Server Reporting Services reports, strategy maps, ProClarity Analytics Server reports, and Web pages.
report view group | Reports that are grouped together in a single dashboard zone. These reports can be conditionally shown, based on the selected KPI.
Report Web Part | A feature that allows users to view and interact with reports that are created in PerformancePoint Dashboard Designer.
Reporting Services report | A report type that acts as a wrapper for a SQL Server Reporting Services report so that the Reporting Services report can be displayed in a PerformancePoint dashboard.
ribbon | The ribbon is part of the Microsoft Office Fluent user interface (UI). In Dashboard Designer, It consists of contextual tools for creating, editing, and exporting dashboards and their elements.
rollup | The calculated value of a KPI is derived from the aggregated scores of child or descendant KPIs.
scorecard | A report type that depicts organizational performance by displaying a collection of key performance indicators (KPIs) together with performance targets for those KPIs. A scorecard can be organized hierarchically.
scorecard element | Any one of the individual components of a scorecard, such as key performance indicators (KPIs), members, properties, actuals, targets, or MDX expressions.
Scorecard Web Part | A feature that enables users to view and interact with scorecards that are created in PerformancePoint Dashboard Designer.
SharePoint Products and Technologies | See Other Term: Microsoft SharePoint Products and Technologies
Stack Selector Web Part | A feature that enables users to show more than one view in a single location on a dashboard, and provides a control to switch between them.
standard indicator | An indicator set that can be used when either the &quot;increasing is better&quot; or &quot;decreasing is better&quot; scoring patterns are selected when you edit the band settings.
strategy map | A performance management tool for visually presenting an organization's or organizational unit's objectives and goals, their groupings of objectives and goals, and their mappings of objectives and goals to themes, initiatives, KPIs, targets, business processes, and action plans. Each item in the visualization contains a set of metadata, which itself is customizable.
target | As one aspect of a KPI, a target is the desired level of performance with respect to a specific business goal or strategy. Actual values are evaluated against the target to determine KPI score and status.
time dimension | A dimension that breaks time down into levels such as Year, Quarter, Month, and Day. In Analysis Services, a special type of dimension created from a date/time column.
time formula | An expression that is created following the Simple Time Period Syntax. It takes the form of a time unit plus or minus a whole number, such as Year-1 or Month-6. It is the formula that is applied when you are using time intelligence on a dashboard.
time intelligence filter | A dynamic dashboard filter that can be linked to scorecards and reports so that they will update automatically relative to the current time.
unattended service account | The security account that is used when a data source is configured to connect as a single shared identity for all users.
update | To retrieve the most current data from the data source that is associated with a scorecard.
validate | To ensure that all data sources that are used by a KPI or scorecard are available.
variance | The difference between two values, such as the difference between estimated and actual expenses.
Web page report view | A report type that contains a Web page.
Web Part | Microsoft SharePoint Products and Technologies functionality that is the basic building block for a page on a SharePoint site. A modular unit of information that consists of a title bar, a frame, and content.
Web Part description file (.dwp) | An .xml file that defines the default property settings for a Web Part, including references to other files that are required to run and display the part.
weight | The value of a scorecard KPI in relation to the values of other KPIs. For example, you might have an objective with two key performance indicators (KPIs), the first with a weight of one and the second with a weight of three. This means that the second KPI is three times more important than the first. The weights that are assigned to the KPIs are part of the calculation when their values are rolled up to derive the value for their parent objective.
what you see is what you get (WYSIWYG) | pronounced wizzywig. Allowing a user to view a document as it will appear in the final product, and to directly edit the text, graphics, or other elements within that view. A WYSIWYG language is often easier to use than a markup language, which provides no immediate visual feedback regarding the changes being made. Compare markup language. A type of program that allows creation and editing of web pages, text, or graphical user interfaces so that users can see what the end results will look like while the documents are being created.
workspace | The user interface area in Dashboard Designer that contains the dashboard items that are being edited by a user. The contents of the workspace can be saved as a file with a .ddwx extension.
worst indicator | A type of rollup of child KPIs. It moves the indicator of the lowest performing KPI to the objective KPI row.
WYSIWYG | See Other Term: what you see is what you get (WYSIWYG)


Word Automation Services Troubleshooting (SharePoint Server 2010)

Published: July 8, 2010

This article describes how Word Automation Services handles errors that can occur at the conversion item or system level, and provides common troubleshooting steps for resolving these errors.

In this article:

  • How Word Automation Services reacts to potential system failures

  • How to troubleshoot failed conversions

  • How to troubleshoot specific events

  • Known failures that do not have Word Automation Services events for SharePoint Server 2010

How Word Automation Services reacts to potential system failures

System administrators are alerted to potential system failures in multiple ways; for example:

  • Users communicate perceived failures or events to a system administrator when files are not converted successfully. For example, during a conversion a message directs the user to contact a system administrator.

  • Windows Events that list a source of "Word Automation Services" occur on the server where a failure was detected.

  • When available, System Center Operations Manager (SCOM) indicates that Word Automation Services is unhealthy.

When a conversion job fails, the solution typically provides the string that is displayed in the ConversionItemInfo.ErrorMessage for each failed conversion and directs the user to perform any needed actions on the file. In some cases ConversionItemInfo.ErrorMessage does not contain enough information for an administrator to diagnose and correct a potential system failure. For more information about the details that the ConversionItemInfo.ErrorMessage provides for a conversion job, see ConversionItemInfo Members (http://go.microsoft.com/fwlink/p/?LinkId=196477).

In the event of a known system failure, Word Automation Services also generates a Windows Event on the server where the failure was detected. Events are intended to be available to administrators to diagnose and troubleshoot individual system failures. Each event can include much information that requires additional investigation by the administrator. End users do not see events.

An event resides on the server that emitted it. Events can be viewed by accessing the server's Event Viewer. Search for events that have "Word Automation Services" as the event source. You can also use a SCOM Console to aggregate the emitted events of the whole farm in a single view. SCOM presents the health status of Word Automation Services and the servers it is running on.

Consistent interruptions in Word Automation Services can also indicate system failure. See How to troubleshoot failed conversions for more troubleshooting help.

How to troubleshoot failed conversions

This section describes the steps to troubleshoot a failed conversion.

  1. Confirm that the file that is being converted meets the following criteria:

    • Is not blocked by file type

    • Is not password protected

    • Does not require IRM to be opened

    • Is of a type that is supported by the version of Word Automation Services for SharePoint Server 2010 that you are using

  2. If the ConversionJobItem.ErrorCode is 131182, the file is likely corrupted. If the ErrorCode is not 131182, confirm that the file is not corrupted by comparing the ErrorCode against its corresponding Word Automation Services ConversionItemInfo.ErrorMessage string. Then follow the instructions to resolve the conversion item failures. Also, an administrator can try opening the file in the client version of Microsoft Word and saving the file. This process eliminates corruption or repairs the file if it is corrupted. Then submit the file again for conversion.

  3. If the file is valid but the conversion still fails, begin polling the Event logs of individual servers for events that have Word Automation Services as the event source. Windows system events can be viewed by using the Event Viewer. Or, you can use SCOM to view an aggregated view of all events from all servers in the farm. An unusually large number of Word Automation Services events can indicate a failure condition that is detected during multiple file conversions. Follow the troubleshooting steps that are specified in the event message for each type of event and perform the needed action to resolve the issue.

    Note:

    Make sure that on the Diagnostic Logging page in Central Administration, the Least critical event to report to the event log setting for the Word Automation Services category is not set or is set to Warning or a less severe level, such as Informational or Verbose. Otherwise, some important events might not be generated by Word Automation Services.

  4. If the event message and prescribed actions do not lead to a resolution of the issue, see How to troubleshoot specific events.

  5. If the instructions of the event message and the "How to Troubleshoot Specific Events" section are insufficient to resolve the problem, or if there are no events emitted, review the ULS trace logs for the affected servers to learn more about the issue.

    To prepare these logs for troubleshooting, on the Diagnostic Logging page in Central Administration, set the Least critical event to report to the trace log setting for the Word Automation Services category.

    Warning:

    Turning on Verbose tracing will affect performance for all application servers. Make sure to set Least critical event to report to the trace log back to Medium after you complete troubleshooting activities.

    With Verbose tracing turned on, test Word Automation Services under load to manifest the detected failures. When the failures occur, open the ULS trace logs in a text editor for servers where the failures occurred. Note that trace files are typically very large (for example, multiple gigabytes in a production environment) and might require significant time to download, open, and review. Filter the tracing log by the Word Automation Services area of the trace.

    The quality and readability of trace log entries, also known as traces, will vary. Traces are not localized and are not necessarily intended for external use. Trace logs may contain a limited amount of Personally Identifiable Information about file conversion items or jobs.

    ULS trace logs can typically be found on each server in the following location: %COMMONPROGRAMFILES%\Microsoft Shared\Web Server Extensions\14\LOGS

  6. If the previous steps do not yield a resolution, visit the Technical Support for Microsoft Products (http://go.microsoft.com/fwlink/p/?LinkID=15029) Web site and contact a support representative to help diagnose and resolve the issue.

How to troubleshoot specific events

This section lists the events that are logged for specific failure conditions, describes the causes of the events, and provides resolution steps for each error.

Note:

Events with IDs that start with 80 can be generated with very high frequency when a system failure occurs. These events are generated for every conversion attempt that encounters the relevant failure. By default, Microsoft SharePoint Server 2010 disallows the generation of more than five events with the same ID on the same server every two minutes. This default setting reduces the number of events logged in persistent error situations. In the Windows Event Log, when you view event IDs that start with 80, you might find five events of the same ID followed soon after by a SharePoint Server event ID 2159. The message for event 2159 will indicate which event is suppressed and the number of times it was suppressed.

Note:

The SharePoint Server 2010 management pack for Microsoft System Center Operations Manager 2007 contains a SCOM Monitor to detect each Windows Event and surface health information about Word Automation Services to administrators more easily. For more information about the SCOM Monitor, see Microsoft SharePoint 2010 Products (Beta) Management Pack (http://go.microsoft.com/fwlink/p/?LinkId=196473).

Event 8004 and 8005: The PDF/XPS converter '[file path & name]' failed during file conversion

Word Automation Services includes a default converter for converting files to both XPS and PDF file formats. Word Automation Services also supports third-party converters. Third-party converters could have bugs that cause file conversions to fail in an unpredictable manner. Word Automation Services emits one of these two events when a third-party converter fails:

Event ID | Event message string | Related message ID | Additional details
8004 | The PDF converter '[file path & name]' failed during file conversion. Contact the vendor of this component to see whether an updated version is available. If this does not resolve the failure, uninstall the third-party PDF converter to prevent this failure from recurring. | 131183 | Log Name: Application Source: Word Automation Services Event Level: Error
8005 | The XPS converter '[file path & name]' failed during file conversion. Contact the vendor of this component to see whether an updated version is available. If this does not resolve the failure, uninstall the third-party XPS converter to prevent this failure from recurring. | 131184 | Log Name: Application Source: Word Automation Services Event Level: Error

Word Automation Services also sets the conversion item's failure message as follows:

Message ID | ConversionItemInfo.ErrorMessage string | Related event ID
131183 | The third-party PDF converter failed. Please contact a system administrator. | 8004
131184 | The third-party XPS converter failed. Please contact a system administrator. | 8005

Resolution

  1. If these kinds of failures occur, follow these steps to update the converters:

    1. Acquire the latest DLL for the custom PDF or XPS converter from the vendor of the converter.

    2. Overwrite the old DLL with the new DLL in %COMMONPROGRAMFILES%\Microsoft Office Servers\14.0\WebServices\WordServer\Core on each application in the farm.

    3. If the DLL is working correctly, new conversions should now succeed.

  2. If the third-party converters continue to fail after all available updates have been applied, uninstall the third-party converters and use the default converters.

    • Delete the corresponding DLL for the PDF or XPS converter from this folder: %COMMONPROGRAMFILES%\Microsoft Office Servers\14.0\WebServices\WordServer\Core.

    • New conversions should now succeed.

  3. If the file still does not convert, the file is likely corrupted or otherwise invalid. In this case try to open the file in the client version of Word, resave the file, and then resubmit the file for conversion.

Event 8010: A file that was created using a new version of Office client or Word Services has been encountered

Event 8010 is emitted when Word Automation Service encounters a file that was saved by a version of Microsoft Word newer than the currently installed version of the Word Automation Service. This might result in a conversion of decreased quality, depending on the contents of the document. If this event is emitted, upgrade Word Automation Services as soon as possible by following the link in the event message.

Note:

This event does not necessarily indicate that conversions are failing. Therefore there is no single Error Message ID that correlates with this event.

Event ID | Event message string | Related message ID | Additional details
8010 | A file that was created by using a new version of Office client or Word Services has been encountered. Please visit http://go.microsoft.com/fwlink/?LinkId=157217 to download the latest Word Automation Services converter. Use the latest converter to make sure that newer Office documents are converted at the highest level of quality possible. | Not applicable | Log Name: Application Source: Word Automation Services Event Level: Error

Resolution

  1. Download (http://go.microsoft.com/fwlink/p/?LinkId=157217) the latest Word Automation Services converter from the Microsoft SharePoint 2010 Software Development Kit (SDK).

  2. Follow the instructions to install the new converter.

  3. Convert the files. The files will be converted with the best possible quality and this event will not be generated unless files are encountered that require an update to the Word Automation Services converter.

Event 8012: One or more localized components could not be loaded for the specified language

When a conversion item fails, a ConversionItemInfo.ErrorCode and corresponding ConversionItemInfo.ErrorMessage are generated. The error message is intended to be presentable to the user who submitted the conversion job. The error message is localized to the browser language of the user who submitted the conversion job. However, if the server farm application servers do not have the language pack that corresponds to the user's browser language, the error messages cannot be presented for the end user's browser language. This event is emitted when this situation occurs for a failing conversion item. Also be aware that the error message itself will instead be presented in the default language of the farm.

Event ID | Event message string | Related message ID | Additional details
8012 | One or more localized components could not be loaded for the specified language. Please check that the required language pack is installed and correctly configured. | Not applicable | Log Name: Application Source: Word Automation Services Event Level: Error

Resolution

  • Download and deploy the required SharePoint Server 2010 language packs. Download language packs from the Microsoft Download Center (http://go.microsoft.com/fwlink/p/?LinkID=141342).

Event 1001: SQL Database Access Error. Error Code: %1. Error Message: %2. Error Link: %3

System failures for Word Automation Services are typically detected when the service communicates with the document queue. During each file conversion process, multiple communications occur between the service and the document queue. When a failure occurs, SQL Server generates a SQLException error with a large amount of relevant information. Word Automation Services detects any SQLException error generated by SQL Server when the service is communicating with the document queue, and emits this event:

Event ID | Event message string | Related message ID | Additional details
1001 | SQL Database Access Error. Error Code: %1. Error Message: %2. Error Link: %3. | 6, 7 | Log Name: Application Source: Word Automation Services Event Level: Critical

This event message contains a subset of the SQLException properties to help administrators with troubleshooting failures that are detected when the Word Automation Services communicate with the document queue. These parameters are as follows:

Name | MSDN Description
ErrorCode | Gets the HRESULT of the error. (Inherited from ExternalException.)
HelpLink | Gets or sets a link to the Help file associated with this exception. (Inherited from Exception.)
Message | Overloaded.

The following is an example of the event message that the Word Automation Services generates if the document queue database is removed or renamed:

Sql Database Access Error. Error Code: 0x80131904. Error Message: Invalid object name 'dbo.ConversionItemQueue'. Error Link: None.

Error Code (SqlException.ErrorCode) is a SQL Server code that is not specific to Word Automation Services. You can use the SQL Server code to relate this failure to existing SQL Server troubleshooting information.

Error Message (SqlException.Message) is a SQL Server-specific string that contains human-readable information that describes the error and specifies the affected database. Administrators should investigate the server that maintains the database that is referenced in this string as recommended by SQL Server troubleshooting Help.

Error Link (SqlException.HelpLink) is a SQL Server-specific link to more SQL Server Help information.

Resolution

  1. Note the error code, error message, and error link in the event message.

  2. Use this information to help troubleshoot the SQL Server errors. For information about how to troubleshoot SQL Server error codes, see SQL Server Solution Center (http://go.microsoft.com/fwlink/p/?LinkId=196474).

Event 1002: Conversion jobs may not execute because the timer job '%1' for service application '%2' does not appear to be active

The timer job for the Word Automation Service processes and distributes queued job items to application servers. If the timer job does not run, queued job items will not start to convert. Event 1002 will be emitted if a new job is submitted at a time when the timer job appears to be inactive. Specifically, this event will be emitted if one or more of the following conditions are true:

  1. The timer job is not online. This can occur if the job definition was not provisioned correctly.

  2. The timer job is disabled. This can occur if an administrator disabled the timer job on the Edit Timer Job page in Central Administration.

  3. The timer job has missed two scheduled runs according to the current settings in Central Administration.

  4. The timer job misses scheduled runs because of an external issue, such as the OWSTimer service is turned off. OWSTimer is the SharePoint Timer Service.

Note:

SharePoint Server might require approximately 90 minutes to process the error condition and generate this event.

Event ID | Event message string | Related message ID | Additional details
1002 | Conversion jobs may not execute because the timer job '%1' for service application '%2' does not appear to be active. | Not applicable | Log Name: Application Source: Word Automation Services Event Level: Warning

This event message contains the name of the timer job that is not running and the name of the service application that is associated with the timer job. The following is an example message for this event:

"Conversion jobs may not execute because the timer job 'e39db2de-1b89-4f74-91da-5da998df0a9c' for service application 'Word Automation Service Application' does not appear to be active."

Resolution

  • Enable the Word Automation Services Timer job:

    1. On the Central Administration Home page, click Monitoring.

    2. On the Monitoring page, under Timer Jobs, click Job Definitions.

      Note if the Word Automation Services Timer Job is a scheduled Timer job.

    3. If the schedule type for Word Automation Services Timer Job is disabled, click Word Automation Services Timer Job.

    4. On the Edit Timer Job page, click Enable.

      Queued jobs should start to convert when the Timer job runs.

If the Word Automation Services Timer Job is not a scheduled Timer job, Word Automation Services is not installed or is installed incorrectly.

Known failures that do not have Word Automation Services events for SharePoint Server 2010

Word Automation Services does not generate unique Windows Events for these known failure conditions:

  • Any failure that results in an SPException (http://go.microsoft.com/fwlink/p/?LinkId=196475) that is generated by SharePoint Server.

  • Any failure that results in an UnauthorizedAccessException (http://go.microsoft.com/fwlink/p/?LinkId=196476) that is generated by SQL Server or SharePoint Server.

    Example: A user's permissions for accessing a content database have changed.

  • Failures that clearly affect the whole server and not only the Word Automation Services service. Such failures are detected and surfaced in Windows and SharePoint Server.

    Example: Insufficient disk space.


Timer job reference (SharePoint Server 2010)

Published: July 15, 2010

This article describes the default timer jobs for SharePoint Server 2010. A timer job runs in a specific Windows service for SharePoint Server. Timer jobs also perform infrastructure tasks for the Timer service, such as clearing the timer job history and recycling the Timer service; and tasks for Web applications, such as sending e-mail alerts. A timer job contains a definition of the service to run and specifies how frequently the service is started. The SharePoint 2010 Timer service (SPTimerv4) runs timer jobs. Many features in SharePoint Server rely on timer jobs to run services according to a schedule.

In this article:

  • Manage timer jobs

  • Default timer jobs

Manage timer jobs

You can check the status of a timer job and edit the timer job definition.

For the general administration of all jobs, the SharePoint Central Administration Web site has a Timer Job Status page and a Job Definitions page. You can find these pages in Central Administration, on the Monitoring page, in the Timer Jobs section.

From the View menu, you can filter the timer jobs at the following levels:

  • All Displays all timer jobs for the farm.

  • Service Displays all the timer jobs for a particular service. If you select this command, use the Service menu to select the service by which you want to filter the listed jobs.

  • Web Application Displays all the timer jobs for a Web application. If you select this option, use the Web Application menu to select the Web application by which you want to filter the listed jobs.

  • Server Displays all the timer jobs for the specified server. If you select this command, use the Server menu to select the server by which you want to filter the listed jobs.

  • Job Definition Displays all the timer jobs for the specified job definition. On the Timer Job Status page, use the Job Definition menu to select the job definition by which you want to filter the listed jobs.

  • Failed Jobs Displays all the timer jobs on the farm that have failed to finish.

The SharePoint 2010 Timer service (SPTimerv4) is based on the Gregorian calendar for scheduling. For every job that you schedule, you specify when the timer job will run, specified in a 24-hour time format. You must specify the time in local time instead of as an offset from Coordinated Universal Time (UTC). The time is stored in that format. Daily, weekly, and monthly schedules also include a window of execution. The timer service will select a random time within this interval to start executing the job on each applicable server. This feature is appropriate for high-load jobs that run on multiple servers on the farm. Running this kind of job on all the servers at the same time might place an unreasonable load on the farm. Timer job schedules can be specified by using Windows PowerShell. For more information, see Timer jobs cmdlets (SharePoint Server 2010).

Default timer jobs

The following table lists the default timer jobs for SharePoint Server 2010.

Note:

Specific timer jobs and their schedules may differ from the following list depending on installed service pack version and cumulative updates (CUs). Before you install a SharePoint Server 2010 service pack or CU, you should make a record of existing timer jobs and schedules and check for differences after updating your farm.

Timer job title Description Schedule type

Audit Log Trimming

Trims audit trail entries from site collections.

Monthly

Cell Storage Data Cleanup Timer Job

Deletes temporary cell storage data and frees SQL Server disk space.

Weekly

Cell Storage User Data Deletion Job

Deletes user data that is stored as cell storage. This job should only be run only if the SQL Server database server is running out of disk space.

Important:

This job can cause user data loss and does not run automatically by default.

Monthly

Change Log

Removes expired entries from the change log of the Web application.

Daily

Config Refresh

Checks the configuration database for configuration changes.

15 seconds

Dead Site Delete

When auto site cleanup is enabled, sites that have not been used in a certain period of time are deleted.

Daily

Delete Job History

Deletes old entries from the timer job history.

Weekly

Delete Job History

Deletes old entries from the timer job history.

Weekly

Disk Quota Warning

Looks for sites that have exceeded the storage quota.

Weekly

Gradual Site Delete

Deletes all the data from the host content database for all deleted site collections.

Daily

Health Analysis Job (Daily, Central Administration, All Servers)

Runs SharePoint Health Analyzer jobs on all servers in the farm that run the Central Administration Web application and the Usage and Health Data Collection Service application.

Daily

Health Analysis Job (Daily, Central Administration, Any Server)

Runs SharePoint Health Analyzer jobs on the first server found in the farm that runs the Central Administration Web application and the Usage and Health Data Collection Service application.

Daily

Health Analysis Job (Daily, Microsoft SharePoint Foundation Timer, All Servers)

Runs SharePoint Health Analyzer jobs on all servers in the farm that run the SharePoint Timer Service and the Usage and Health Data Collection Service application.

Daily

Health Analysis Job (Daily, Microsoft SharePoint Foundation Timer, Any Server)

Runs SharePoint Health Analyzer jobs on the first server found in the farm that runs the SharePoint Timer Service and the Usage and Health Data Collection Service application.

Daily

Health Analysis Job (Daily, Microsoft SharePoint Foundation Web Application, All Servers)

Runs SharePoint Health Analyzer jobs on all servers in the farm that run SharePoint Web applications and the Usage and Health Data Collection Service application.

Daily

Health Analysis Job (Daily, Microsoft SharePoint Foundation Web Application, Any Server)

Runs SharePoint Health Analyzer jobs on the first server found in the farm that runs SharePoint Web applications and the Usage and Health Data Collection Service application.

Daily

Health Analysis Job (Daily, SSP Job Control Service, Any Server)

Runs SharePoint Health Analyzer jobs on the first server found in the farm that runs the SSP Job Control Service and the Usage and Health Data Collection Service application.

Daily

Health Analysis Job (Daily, Visio Graphics Service, Any Server)

Runs SharePoint Health Analyzer jobs on the first server found in the farm that runs Visio Services and the Usage and Health Data Collection Service application.

Daily

Health Analysis Job (Daily, Web Analytics Data Processing Service, Any Server)

Runs SharePoint Health Analyzer jobs on the first server found in the farm that runs a Web Analytics Data Processing Service application and the Usage and Health Data Collection Service application.

Daily

Health Analysis Job (Daily, Web Analytics Web Service, Any Server)

Runs SharePoint Health Analyzer jobs on the first server found in the farm that runs a Web Analytics Service application and the Usage and Health Data Collection Service application.

Daily

Health Analysis Job (Hourly, Security Token Service, All Servers)

Runs SharePoint Health Analyzer jobs on all servers in the farm that run the Security Token Service (STS) and the Usage and Health Data Collection Service application.

Hourly

Health Analysis Job (Hourly, Microsoft SharePoint Foundation Timer, All Servers)

Runs SharePoint Health Analyzer jobs on all servers in the farm that run the SharePoint Timer Service and the Usage and Health Data Collection Service application.

Hourly

Health Analysis Job (Hourly, Microsoft SharePoint Foundation Timer, Any Server)

Runs SharePoint Health Analyzer jobs on the first server found in the farm that runs the SharePoint Timer Service and the Usage and Health Data Collection Service application.

Hourly

Health Analysis Job (Hourly, User Profile Service, Any Server)

Runs SharePoint Health Analyzer jobs on the first server found in the farm that runs Profile Services and the Usage and Health Data Collection Service application.

Hourly

Health Analysis Job (Monthly, Microsoft SharePoint Foundation Timer, Any Server)

Runs SharePoint Health Analyzer jobs on the first server found in the farm that runs the SharePoint Timer Service and the Usage and Health Data Collection Service application.

Monthly

Health Analysis Job (Weekly, Central Administration, All Servers)

Runs SharePoint Health Analyzer jobs on all servers in the farm that run the Central Administration Web site and the Usage and Health Data Collection Service application.

Weekly

Health Analysis Job (Weekly, Microsoft SharePoint Foundation Timer, All Servers)

Runs SharePoint Health Analyzer jobs on all servers in the farm that run the SharePoint Timer Service and the Usage and Health Data Collection Service application.

Weekly

Health Analysis Job (Weekly, Microsoft SharePoint Foundation Timer, Any Server)

Runs SharePoint Health Analyzer jobs on the first server found in the farm that runs the SharePoint Timer Service and the Usage and Health Data Collection Service application.

Weekly

Health Analysis Job (Weekly, Microsoft SharePoint Foundation Web Application, All Servers)

Runs SharePoint Health Analyzer jobs on all servers in the farm that run SharePoint Web applications and the Usage and Health Data Collection Service application.

Weekly

Health Analysis Job (Weekly, User Profile Service, Any Server)

Runs SharePoint Health Analyzer jobs on the first server found in the farm that runs Profile Services and the Usage and Health Data Collection Service application.

Weekly

Immediate Alerts

Sends out immediate and scheduled alerts.

5 minutes

Microsoft SharePoint Foundation Site Inventory Usage Collection

Collects site inventory information for each site collection in the farm.

Daily

Microsoft SharePoint Foundation Usage Data Import

Imports usage log files into the logging database.

30 minutes

Microsoft SharePoint Foundation Usage Data Processing

Checks for expired usage data at the farm level and deletes the data. Expired usage data consists of records in the central usage data collection database that are older than 30 days.

If the Web Analytics Service application is also installed, this timer job aggregates and writes the data to a Web Analytics Reporting database. You can run this timer job manually to force a check on expired data, or to force a usage data import to a Web Analytics application database.

Daily

Password Management

Sends e-mail and logs events for expiring passwords and password changes. This timer job helps ensure that managed passwords are changed before they expire.

Daily

Product Version Job

Checks the installation status of the computer and adds that data to the database.

Daily

Recycle Bin

Looks for content in the Recycle Bins and moves it to the next stage or deletes it.

Daily

Solution Daily Resource Usage Update

Marks the daily boundary for sandboxed solution resource quota monitoring.

Daily

Solution Resource Usage Log Processing

Aggregates resource usage data from sandboxed solution execution.

5 minutes

Solution Resource Usage Update

Records resource usage data from sandboxed solution execution, and sends e-mail to owners of site collections that are exceeding their allocated resource quota.

15 minutes

State Service Delete Expired Sessions

Deletes expired data that is stored in the state service databases.

Hourly

Timer Service Lock Management

Manages the content database locks that are used by the Timer Service to determine which server will run timer jobs for a content database.

1 minute

Timer Service Recycle

Recycles the Timer Service to free resources.

Daily

Upgrade Work Item Job

Processes deferred upgrade work items which were generated during a Microsoft Office SharePoint Server 2007 to Microsoft SharePoint Server 2010 upgrade. For example, generating thumbnails for upgraded Image libraries.

Daily

Workflow

Processes workflow events that are in the scheduled items table, such as delays.

1 minute

Workflow Auto Cleanup

Deletes tasks and instances in the workflow instance table for workflows that have been marked completed more than n days in the past, where n is specified in the workflow association. Crawls through tasks and the workflow instance table.

Daily

Workflow Failover

Processes events for workflows that have failed and are marked to be retried.

1 minute

CEIP Data Collection

Gathers farm data for the Customer Experience Improvement Program.

Daily

Diagnostic Data Provider: Event Log

Collects Windows Event Log entries and stores the data in the logging database.

10 minutes

Diagnostic Data Provider: Performance Counters - Database Servers

Collects Performance Monitor Counters data on database servers and stores the data in the logging database.

Important:

The timer service account must have sufficient permission to collect counters on the database server. The account should be a member of the Performance Monitor Users (PMU) group.

5 minutes

Diagnostic Data Provider: Performance Counters - Web Front Ends

Collects Performance Monitor Counters data on front-end Web servers and stores the data in the logging database.

5 minutes

Diagnostic Data Provider: SQL Blocking Queries

Collects data associated with blocked SQL queries and stores the data in the logging database.

15 seconds

Diagnostic Data Provider: SQL DMV

Collects SQL Dynamic Management Views (DMV) data and stores the data in the logging database.

30 minutes

Diagnostic Data Provider: SQL Memory DMV

Collects SQL Dynamic Management Views (DMV) data and stores the data in the logging database.

15 seconds

Diagnostic Data Provider: Trace Log

Collects Trace Log entries and stores the usage data in the logging database.

10 minutes

SharePoint Server CEIP Data Collection

Gathers farm data for the Customer Experience Improvement Program.

Daily

Document ID assignment job

Work item that assigns document ID to all items in the site collection.

Daily

Document ID enable/disable job

Work item that propagates content type changes across all sites when the Document ID feature is reconfigured.

Daily

Document Set fields synchronization job

Synchronizes metadata from the document set to the items inside the document library.

15 seconds

Content Type Hub

Tracks content type log maintenance and manages unpublished content types.

15 minutes

Content Type Subscriber

Retrieves content types packages from the hub and applies them to the local content type gallery. For more information about content types, see Plan to share terminology and content types (SharePoint Server 2010)

Hourly

Enterprise Metadata site data update

Updates all site collections after a language pack addition or an Enterprise Metadata Service application restore.

Hourly

Taxonomy Update Scheduler

Updates site collections with the latest term changes that were made to the Enterprise Metadata Service.

Hourly

FAST Search for SharePoint Master Job

Provisions the timer jobs for FAST Search Server 2010 for SharePoint if the Search service application type is set to FAST Query Application.

15 minutes

FAST Search Server 2010 for SharePoint Alternate Access Mapping Extractor Job

Retrieves the managed properties from the configured FAST Search Server 2010 for SharePoint farm that have the IsMapped flag set to true, and caches the properties on the SharePoint farm. These properties are used for alternate access mapping.

5 minutes

FAST Search Server 2010 for SharePoint Click Through Extractor Job

Extracts clickthrough data and uploads them to the configured FAST Search Server 2010 for SharePoint farm. The collected clickthrough data is used for relevancy tuning.

Daily

FAST Search Server 2010 for SharePoint Dictionary Compilation Job

Detects dictionary changes that are made by using Central Administration and exports the changes to the FAST Search Server 2010 for SharePoint farm.

5 minutes

InfoPath Forms Services Maintenance

Performs maintenance operations on administrator-approved InfoPath Forms Services form templates across all front-end Web servers.

Daily

Application Server Administration Service Timer Job

Manages shared service instances that may perform highly privileged operations. Requires that the SharePoint Administration service is running. The Search service instance is managed by this job on deployments other than stand-alone server deployments.

1 minute

Application Server Timer Job

Manages shared service instances that do not perform highly privileged operations. The Search service instance is managed by this job on stand-alone server deployments.

1 minute

Licensing Synchronizer Job

Synchronizes trial expiration time licensing information to the configuration database.

Hourly

Application Addresses Refresh Job

Synchronizes connection information for remote service applications.

15 minutes

SharePoint BI Maintenance

Deletes temporary dashboard objects and user-persistent filter values from the database. The longevity of these values can be set on the PerformancePoint Services Settings page.

Hourly

Project Server 'Project Service Application:pwa' Resource Capacity job

Resource capacity job for Project Server Service application.

Daily

Project Server 'Project Service Application:pwa' Workflow Cleanup job

Workflow cleanup job for Project Server Service application.

Daily

Project Server Service Credential Synchronizing Job

Credential synchronizing job for Project Server Service application.

1 minutes

Project Server Synchronizing Job for 'Project Service Application'

Project Server synchronizing job for Project Server Service application.

1 minute

Notification Timer Job

Queries and updates the notification list and sends out pending scheduling notifications.

Daily

Scheduled Approval

Looks for content that is scheduled for approval and moves it to the next stage in the process.

1 minute

Scheduled Unpublish

Looks for content that is scheduled to be unpublished and removes it.

1 minute

Variations Create Hierarchies Job Definition

Creates a complete variations hierarchy by spawning all sites and pages from the source site hierarchy for all variation labels.

Daily

Variations Create Page Job Definition

Creates peer pages in variant sites.

Hourly

Variations Propagate Page Job Definition

Creates or updates peer pages of the source page that has been approved or published in all target labels. The resulting peer pages are in an unpublished state.

1 minute

Variations Propagate Site Job Definition

Creates peer sites of the source site that has been created in all target labels.

1 minute

Content Organizer Processing

Processes documents in the drop-off library that match organizing rules.

Daily

Expiration Policy

Enumerates list items and looks for those with an expiration date that has already occurred. For those items, runs disposition processing. Disposition processing most often results in deleting items, but it can perform other actions, such as processing disposition workflows.

Daily

Hold Processing and Reporting

Generates a hold report by enumerating items in a hold and updating them to remove them from hold, as appropriate.

Daily

Information Management Policy

Loops through all the lists in the site collections in a Web application and collects policy and usage data.

Daily

Search and Process

Processes a search result that is scoped to a site collection and puts search results on hold.

Daily

Crawl Log Cleanup for Search Application Search Service Application

Crawls log cleanup for Search Service applications.

Daily

Crawl Log Report for Search Application Search Service Application

Crawls log report for Search Service applications.

5 minutes

Health Statistics Updating

Updates the statistics for the Usage and Health Data Collection service application.

1 minute

Indexing Schedule Manager on SQL Server

Starts scheduled crawls.

1 minute

Prepare query suggestions

Prepares candidate queries for query suggestion.

Daily

Query Logging

Logs the statistics for the number of queries performed.

15 minutes

Search Health Monitoring - Trace Events

Runs to check the events that are being traced for search health monitoring.

User Profile Service - Activity Feed Cleanup Job

Cleans up pre-computed activities that are used in activity feeds that are older than 14 days. This job does not affect the User Profile Change Log.

Daily

User Profile Service - Activity Feed Job

Pre-computes activities to be shown in user activity feeds.

Hourly

User Profile Service - Audience Compilation Job

Computes memberships of defined audiences.

Weekly

User Profile Service - My Site Suggestions Email Job

Sends e-mail messages that contain colleague and keyword suggestions to people who do not update their profile often, prompting them to update their profiles.

Monthly

User Profile Service - Social Data Maintenance Job

Aggregates social tags and ratings and cleans the social data change log.

Hourly

User Profile Service - User Profile Change Cleanup Job

Cleans up data that is 7 days old from User Profile Change Log. Migrates user rights from one user to another user, and migrates the user rights and cleans up that user from Active Directory Domain Services (AD DS). This is mainly used when the name of a user is changed in AD DS. The older user name is replaced by a new user name, and the older one is removed from AD DS.

Daily

User Profile Service - User Profile Change Job

Processes changes to user profiles. Changes the user profile. User rights can be migrated from one user to another user. This timer job is used when a user has to be migrated, but the previous user profile remains in AD DS.

Hourly

User Profile Service - User Profile Incremental Import Job

Manages provisioning and user profile synchronization. Imports only the user profiles that were added after the last import.

Note:

Do not change the settings or frequency of this Timer job. To change the schedule for incremental synchronization, see Schedule profile synchronization (SharePoint Server 2010).

1 minute

User Profile Service - User Profile Language Synchronization Job

Looks for new language pack installations and makes sure that strings that related to the user profile service are localized correctly.

Daily

User Profile Service Proxy - Social Rating Synchronization Job

Synchronizes rating values between the social database and content database.

Hourly

User Profile to SharePoint Full Synchronization

Synchronizes user information from the user profile application to SharePoint users and synchronizes site memberships from SharePoint to the user profile application.

Hourly

User Profile to SharePoint Quick Synchronization

Synchronizes user information from the user profile application to SharePoint users who were recently added to a site.

5 minutes

My Site Cleanup Job

When a user is deleted, starts a workflow on that user's My Site. The default behavior is to send an e-mail message to the manager with a link to the deleted user's site. The e-mail message contains a request to the manager to move any documents or data that the manager wants to preserve, because the site might be deleted in the future.

Hourly

Web Analytics Trigger Workflows Timer Job

Starts Web Analytics Workflows for Web applications.

Daily

Word Automation Services Timer Job

Processes and distributes queued conversion job items to application servers.

15 minutes

Bulk Workflow Task Processing

Processes bulk workflow task completion.

Daily


SharePoint 2010 Administration Toolkit (SharePoint Server 2010)

Published: July 15, 2010

This article provides information for farm administrators about the April 2011 release of the SharePoint Administration Toolkit version 2.0, which includes the following features:

  • The Load Testing Kit, which generates a Visual Studio Team System 2008 (VSTS) load test based on Microsoft Office SharePoint Server 2007 IIS logs. The VSTS load test can be used to generate synthetic load against Microsoft SharePoint Server 2010 as part of a capacity planning exercise or a pre-upgrade stress test.

  • The Security Configuration Wizard (SCW) manifest, which add roles for SharePoint 2010 Products to Windows Server 2008 with Service Pack 2 or to Windows Server 2008 R2.

  • The User Profile Replication Engine, which provides a shared services administrator the ability to replicate user profiles and social data between shared services providers (SSP) in Office SharePoint Server 2007 and User Profile service applications in SharePoint Server 2010.

    Note:

    This tool is not supported for SharePoint Foundation 2010.

  • The Content Management Interoperability Services (CMIS) connector for Microsoft SharePoint Server 2010, which enables SharePoint users to interact with content stored in any repository that has implemented the CMIS standard, as well as making SharePoint 2010 content available to any application that has implemented the CMIS standard.

    Note:

    This is not supported for SharePoint Foundation 2010.

  • New in SharePoint Administration Toolkit 2.0, the SharePoint Diagnostic Studio 2010 (SPDiag 3.0) provides SharePoint administrators with a unified interface that can be used to gather relevant information from a farm, display the results in a meaningful way, identify performance issues, and share or export the collected data and reports for analysis by Microsoft support personnel.

When you plan to install the entire toolkit, the SharePoint Administration Toolkit installer supports the use of a quiet installation using the /quiet switch. However, to script partial installations, the following command must be used to extract the Spat.msi from the SharePoint2010AdministrationToolkit.exe file:

SharePoint2010AdministrationToolkit.exe /extract:<path>

where path is the location of where the extracted files will reside.

The installation package is customizable and selectable, meaning that a user can control which tools are installed or uninstalled and can specify a custom installation folder for any tool.

To download the toolkit, see Microsoft SharePoint 2010 Administration Toolkit (http://go.microsoft.com/fwlink/p/?LinkId=196866).

In this section:

  • Installing the SharePoint 2010 Administration Toolkit (SharePoint Server 2010)

  • Uninstalling the SharePoint 2010 Administration Toolkit (SharePoint Server 2010)

  • Load Testing Kit (SharePoint Server 2010)

  • User Profile Replication Engine overview (SharePoint Server 2010)

  • Security Configuration Wizard manifest for SharePoint Server 2010

  • Content Management Interoperability Services (CMIS) connector overview (SharePoint Server 2010)

  • SharePoint Diagnostic Studio 2010 (SPDiag 3.0) (SharePoint Server 2010)


Installing the SharePoint 2010 Administration Toolkit (SharePoint Server 2010)
See Also

Published: July 15, 2010

This article describes how to install the SharePoint 2010 Administration Toolkit version 2.0.

The SharePoint Administration Toolkit requires Microsoft SharePoint Server 2010 to be installed. Membership in the following groups is required to install each tool:

  • Load Testing Kit, Security Configuration Wizard (SCW) manifest, Content Management Interoperability Services (CMIS) connector, SharePoint Diagnostic Studio: Farm administrator and local administrator

  • User Profile Replication Engine: Local administrator only

    Note:

    The User Profile Replication Engine tool is only available by using Windows PowerShell cmdlets. Verify that you meet the following minimum requirements: See Add-SPShellAdmin. Also, on a Windows Server 2008-based computer, if User Access Control (UAC) is enabled, you must elevate the permission of this tool to Run as Administrator. For additional information about User Access Control, see User Account Control Step-by-Step Guide (http://go.microsoft.com/fwlink/p/?LinkId=216724).

    The User Profile Replication Engine and the Content Management Interoperability Services connector are not supported for Microsoft SharePoint Foundation 2010.

To install the SharePoint 2010 Administration Toolkit

  1. From the Microsoft SharePoint 2010 Administration Toolkit page (http://go.microsoft.com/fwlink/p/?LinkId=196866), download the SharePoint2010AdministrationToolkit.exe file by clicking the Download button, and then save the file to your hard disk.

  2. Double-click the SharePoint2010AdministrationToolkit.exe program file on your hard disk to start the Setup program.

  3. After the License Terms for Microsoft Software is accepted, click Next.

  4. Select which tool or tools are to be installed by choosing the appropriate icon and select the top-level feature ("This feature will be installed on local hard drive").

  5. Click Browse to change the location of this folder. After a location is selected, click OK, and then click Next.

    The default folder location is %ProgramFiles%\Microsoft\SharePoint 2010 Administration Toolkit.

  6. To complete installation, click Finish.

See Also

Concepts

Uninstalling the SharePoint 2010 Administration Toolkit (SharePoint Server 2010)


Uninstalling the SharePoint 2010 Administration Toolkit (SharePoint Server 2010)

Published: July 15, 2010

This article describes how to uninstall the entire SharePoint 2010 Administration Toolkit or how to uninstall a specific tool.

To uninstall the SharePoint 2010 Administration Toolkit

  1. From Programs and Features, select the Microsoft SharePoint 2010 Administration Toolkit and click Uninstall.

    Note:

    The same dialog box is displayed if you run the SharePoint2010AdministrationToolkit.exe file instead of using Programs and Features.

  2. Click Finish.

To uninstall a specific tool from the SharePoint 2010 Administration Toolkit

  1. From Programs and Features, select the Microsoft SharePoint 2010 Administration Toolkit and click Change.

    Note:

    The same dialog box is displayed if you run the SharePoint2010AdministrationToolkit.exe file instead of using Programs and Features.

  2. Select the tool you want to remove.

  3. Click Next, and then click Finish.


Security Configuration Wizard manifest for SharePoint Server 2010
See Also

Published: July 15, 2010

This article provides information about how to register the Security Configuration Wizard (SCW) manifest that is included in the Microsoft SharePoint 2010 Administration Toolkit. The SCW manifest adds roles for Microsoft SharePoint Server 2010 to Windows Server 2008 Service Pack 2 or to Windows Server 2008 R2.

Note:

These roles are specific roles that you create in SCW after you have installed the SharePoint Foundation SCW manifest, and not the server roles to configure Windows features in Server Manager.

SCW is an attack surface reduction tool introduced with Windows Server 2003 Service Pack 1. SCW uses a roles-based metaphor to solicit the functionality required for a server and disables the functionality that is not required. By automating this security best practice, SCW helps to create Windows environments that are less susceptible, on the whole, to security vulnerabilities that have been exploited.

For more information about SCW in Windows Server 2008, see Security Configuration Wizard (http://go.microsoft.com/fwlink/p/?LinkId=185511).

The SCW manifest for Microsoft SharePoint Server 2010 is included in the SharePoint 2010 Administration Toolkit. Different versions of the manifest are included for Windows Server 2008 Service Pack 2 and Windows Server 2008 R2.

Before you perform these procedures, confirm that:

  • You have installed the SharePoint 2010 Administrator Toolkit.

  • You are running Windows Server 2008 with Service Pack 2 or Windows Server 2008 R2.

  • You have administrator permission for the Command Prompt window.

Register the SCW manifest

Perform the following procedure to register the SCW manifest.

To register the Microsoft SharePoint Server 2010 SCW manifest

  1. Open a Command Prompt window.

    Note:

    If you have User Account Control (UAC) turned on in Windows, you might be prompted to run as administrator.

  2. At the command prompt, type cd C:\Program Files\Microsoft\SharePoint 2010 Administration Toolkit\SCWManifests, or type the location where you installed the SharePoint 2010 Administration Toolkit.

  3. Register the Microsoft SharePoint Foundation 2010 SCW manifest, on which the Microsoft SharePoint Server 2010 SCW manifest depends:

    • If you are using Windows Server 2008 Service Pack 2, type scwcmd register /kbname:SPF2010 /kbfile:SPF2010W2K8.xml and press ENTER.

    • If you are using Windows Server 2008 R2, type scwcmd register /kbname:SPF2010 /kbfile:SPF2010W2K8R2.xml and press ENTER.

  4. Register the SharePoint Server 2010 SCW manifest:

    • If you are using Windows Server 2008 Service Pack 2, type scwcmd register /kbname:MSS2010 /kbfile:MSS2010W2K8.xml and press ENTER.

    • If you are using Windows Server 2008 R2, type scwcmd register /kbname:MSS2010 /kbfile:MSS2010W2K8R2.xml and press ENTER.

You can now run the SCW to create a security policy that incorporate the roles for SharePoint Server 2010.

See Also

Concepts

SharePoint 2010 Administration Toolkit (SharePoint Server 2010)

Other Resources

Security Configuration Wizard Documentation


Load Testing Kit (SharePoint Server 2010)

Published: July 15, 2010

This article provides a basic overview of and how-to steps for the Load Testing Kit (LTK) of the Microsoft SharePoint 2010 Administration Toolkit.

Overview

The Load Testing Kit (LTK) lets an administrator simulate a synthetic load test against a Microsoft SharePoint Server 2010 farm. The goal of the tool is to assist an administrator to certify that an existing Microsoft Office SharePoint Server 2007 topology running on specific hardware can sustain an upgrade to a Microsoft SharePoint Server 2010 farm, with the same load.

The Load Testing Kit is a command-line tool that will use information from a Office SharePoint Server 2007 production farm as a baseline. There are three steps to perform a load test:

  1. Collect logs.

  2. Prepare data for analysis.

  3. Use the project file to generate a synthetic load.

To install the Load Testing Kit, you must be a local administrator on the any x64-based computer. The files for the Load Testing Kit are installed in the following folder: %ProgramFiles%\Microsoft\SharePoint 2010 Administration Toolkit\Load Testing Kit. The Load Testing Kit includes the following files: Prerequisitecollector.exe, Prerequisitecollector.exe.config, Ltk.exe, and Microsoft.Office.Server.AdministrationToolkit.LoadTestingKitIntl.dll. These files must be copied from the installation folder to any server on the Office SharePoint Server 2007 farm.

To use the tool, you need to be a member of the Farm Administrators SharePoint group on both the Office SharePoint Server 2007 (original production) and SharePoint Server 2010 (upgraded) farms. Also, the LTK.exe file must be run on a computer where SharePoint 2010 Products is installed.

Collect logs

The first step is to gather all the Internet Information Services (IIS) logs on the Office SharePoint Server 2007 computer and to determine the Web application-to-ID mapping. This is performed by running the Prerequisitecollector.exe file.

The administrator needs to choose a server in the farm to act as a baseline, and then install the Prerequisitecollector.exe file onto that server.

Note:

The Prerequisitecollector.exe file must be copied to the physical computer in the Office SharePoint Server 2007 farm; otherwise, an error message is displayed.

The Prerequisitecollector.exe file contains one parameter, TargetFolder. The TargetFolder parameter specifies the location where the IIS logs of Office SharePoint Server 2007 will be stored.

The Prerequisitecollector tool will copy all the IIS logs available in the default source locations. The size of the IIS log files can be very large, so we recommend to check for log file sizes and plan accordingly. If the sizes of the IIS logs are too large, the size can be reduced by using the LogParser.exe or any comparable tool before or after they are being copied.

Typically, the time period needed to collect a complete set of IIS logs is 24 hours.

Prepare data for analysis

Once the IIS log files are captured, use the Load Testing Kit application (Ltk.exe) to prepare the data for analysis.

Note:

The Visual Studio Team System (VSTS) product and Microsoft Visual Studio 2008 Service Pack 1 must be installed before the Ltk.exe is run. Also, some knowledge of how to use VSTS is required. To install the Visual Studio Team System (VSTS), see Visual Studio Team System 2008 Team Suite (http://go.microsoft.com/fwlink/p/?LinkID=101641).

To install Service Pack1, see Microsoft Visual Studio 2008 Service Pack 1 (http://go.microsoft.com/fwlink/p/?LinkID=116488).

The Ltk.exe file generates a VSTS-ready project file, which includes default Web Tests (*.WebTest) and comma-separated value (*.csv) parameter files.

To analyze log files, type the following syntax:

ltk.exe -source LTKSource -output VSSolution -userlist users.csv

Ltk.exe syntax

ltk.exe -source <source directory>

-output <output directory>

-userlist <userlist file>

[-userrolefixup]

[-debugmatchrules <rule1;rule2;rule3>]

Parameters

Parameter name | Value | Required? | Description
source | A valid directory, for example, IISLogs | Yes | Specifies the folder containing the IIS log files that were collected from the Office SharePoint Server 2007-based computer using the Prerequisitecollector.exe file.
output | A valid directory, for example, VSSolution | Yes | Specifies the folder for the Load Testing Kit output file, which is a project file that contains all Visual Studio files and .csv files.
userlist | A valid location where the .csv file is stored, for example, C:\users.csv | Yes | Specifies a .csv file that has at least three columns: Username, Password, and Permission. The .csv file contains all the users that you created in the test domain and the permissions that they are supposed to represent. There should be at least one user for each permission. Valid permission values are FullRead and FullControlWithoutAdmin.
userrolefixup | <none> | No | Grants permissions specified in the userlist parameter by adding the users to the target Web application's permission policy.
debugmatchrules | A valid rule that is used for querying log files. | No | Generates a verbose log that maps which IIS logs entries matched each rule. These match rules are contained in the MatchRules section of the WebTestsConfiguration.xml file located in the %ProgramFiles%\Microsoft\SharePoint 2010 Administration Toolkit\Load Testing Kit directory. This parameter is only for advanced debugging purposes.

For example, to use userlist parameter to add a user name "testacct" with the FullControlWithoutAdmin permission, use the following values:

Username | Password | Permission
Domain\testacct | Password | FullControlWithoutAdmin

For example, to use userlist parameter to add a user name "testacct" with the FullRead permission, use the following values:

Username | Password | Permissioin
Domain\testacct | Password | FullRead

Use the project file to generate a synthetic load

Once the project file has been generated, the final step is to use VSTS to open and use the project file. For more information about how to use a VSTS project file, see Getting Started with Load and Web Performance Test Walkthroughs (http://go.microsoft.com/fwlink/p/?LinkId=196791).


Content Management Interoperability Services (CMIS) connector overview (SharePoint Server 2010)
See Also

Published: August 12, 2010

This article describes the Content Management Interoperability Services (CMIS) connector for Microsoft SharePoint Server 2010, which enables SharePoint users to interact with content that is stored in any repository that has implemented the CMIS standard. The connector also makes SharePoint Server 2010 content available to any application that has implemented the CMIS standard. The CMIS connector is available as part of the SharePoint 2010 Administration Toolkit. For more information, see SharePoint 2010 Administration Toolkit (SharePoint Server 2010).

The CMIS connector for SharePoint Server 2010 includes two features:

  • The Content Management Interoperability Services (CMIS) Consumer Web Part

  • The Content Management Interoperability Services (CMIS) Producer

In this article:

  • About the CMIS standard and specification

  • About the CMIS Producer and CMIS Consumer Web Part

  • Installing and configuring the CMIS connector

  • Bindings and permissions

  • Mapping the CMIS data model to SharePoint concepts

About the CMIS standard and specification

CMIS is a Web services standard that allows content-enabled applications to interact seamlessly with any application that has implemented it. By providing access to multiple repositories with the CMIS Producer and consuming and rendering the data the CMIS Consumer Web Part, SharePoint Server 2010 becomes a CMIS-compliant system that interoperates with any platform that has implemented the CMIS standard.

The CMIS interface can be layered on top of an existing Content Management System (CMS) and its programming interfaces. It defines a universal, generic set of capabilities provided by a CMS and a set of services designed to work with those capabilities. The standard is not intended to prescribe how specific features should be implemented within those CMS, and is not intended to exhaustively expose all of the system's capabilities through the CMIS interfaces. For more information, see the Content Management Interoperability Services (CMIS) Version 1.0 specification (http://go.microsoft.com/fwlink/p/?LinkId=199562).

About the CMIS Producer and CMIS Consumer Web Part

The CMIS connector in the Toolkit is made up of two components:

  • The Content Management Interoperability Services (CMIS) Consumer Web Part, which can be added to any SharePoint page. This Web Part displays and lets users interact with the contents of any CMIS-compliant repository.

  • The Content Management Interoperability Services (CMIS) Producer, which allows applications to interact with SharePoint lists and document libraries programmatically by using the interfaces that are defined in the CMIS standard.

When these components are installed on SharePoint Server 2010, the server supports CMIS with connectors that connect to CMIS Web services and display list views of data from selected CMIS-compliant data sources, or repositories, to authenticated users.

The CMIS specification describes data model, services, Restful AtomPub binding, extensions, collections, feeds, resources, and Web services binding details. A data source is CMIS-compliant if it adheres to the CMIS specification. The CMIS components in the Toolkit comply with the CMIS specification.

Note:

Configuring the CMIS Producer and CMIS Consumer Web Part requires an understanding of expected address formats, authentication options, and terminology defined in the CMIS spec. For additional information about details not covered in this article, see the CMIS specification.

Installing and configuring the CMIS connector

The CMIS producer obtains the same results from SOAP and REST Web services. The CMIS Web service exposes SharePoint lists as CMIS repositories. When a request is processed, the CMIS Producer loads a CMIS repository object that holds the basic list information. The Producer returns data in the form of a CMIS response structure, and if needed, it also returns data in the body of the response.

The CMIS Consumer Web Part connects to the CMIS producer and gets repository information based on address and authentication information entered in its Connection Options section.

Installing the CMIS connector

The CMIS connector is installed with the SharePoint 2010 Administration Toolkit. To learn how to install the toolkit, see Installing the SharePoint 2010 Administration Toolkit (SharePoint Server 2010). When you install the Toolkit, the CMIS Producer and CMIS Consumer Web Part are installed automatically.

Configuring the CMIS connector

After the installation is complete, activate and configure the CMIS Producer and the CMIS Consumer Web Part, as follows.

To activate and deploy the CMIS connector features

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell command prompt, type the following command to add the solution to the farm solution gallery:

    Copy Code
    Add-SPSolution -LiteralPath 'C:\Program Files\Microsoft\SharePoint 2010 Administration Tookit\Content Management Interoperability Services (CMIS) Connectors\spcmis.wsp'

  6. To deploy the solution, from the SharePoint Server 2010 Central Administration Web site, click System Settings and then click Manage Farm Solutions.

  7. Click spscmis.wsp, choose the appropriate deployment settings, and then click Deploy Solutions.

    Note:

    When deployment is complete, Solution Properties should show that the solution was successfully deployed to all target sites.

    Important:

    When selecting solution details, remember which site you designate as the producer. In order to avoid an error later that states that the solution cannot be activated, open IIS Manager and verify that the Web application that will host the producer has only one header entry in the Bindings section.

  8. On the Site Actions menu of the site that contains the content to be consumed, click Site Settings, choose Manage site collection features, and click Activate to activate the CMIS Producer feature.

  9. On the Site Actions menu of the site where the CMIS Consumer Web Part will be added, click Site Settings, choose Manage site collection features, and click Activate to activate the CMIS Consumer Web Part feature.

To add the CMIS Consumer Web Part to a page in the consumer site collection

  1. Change the page to Edit Mode, click Insert on the ribbon, and select the CMIS Consumer Web Part.

  2. Edit the Appearance, Layout, and Advanced properties.

  3. Edit the Connection Options.

  4. Type the appropriate WSDL address in the Specify WSDL Address field, as shown in the following table. The CMIS connector only supports the SOAP WSDL.

    Note:

    If you are using a third-party CMIS connector, you can connect it to the REST Atom Service binding if you know the address of the producer site, the GUID for the list or library, and the CMIS command that you want to use to interact with the REST ATOM service. For more information, see the CMIS specification.

    Protocol URL format Description

    SOAP WSDL

    http://webURL/_vti_bin/CMISSoapwsdl.aspx

    webURL represents the URL that locates the SPList on the producer site.

    REST Atom Service

    http://web/_vti_bin/cmis/rest/[repositoryid]?command

    web represents the producer site. [repository id] is the list or library GUID, and command is a command that exists in the CMIS specification (for example, getRepositoryInfo).

  5. Select the WS-Security Required check box, and click Basic or Digest, depending on the type of CMIS authentication that the CMIS repository is set up to use. For more information, see the "Bindings and permissions" section later in the article.

  6. Click Get Repository list to query the CMIS producer and return a list of available CMIS-compliant repositories.

    Note:

    If an error appears after you attempt to sign on to the repository (such as an "Unable to obtain master key" error), you must configure the secure store. For information, see Configure the Secure Store Service (SharePoint Server 2010).

  7. Select the repository from the Select Repository list that contains the data to display in the CMIS Consumer Web Part.

  8. Click OK to apply settings and save changes.

Bindings and permissions

The CMIS standard defines a domain model, Web services, and Restful AtomPub bindings that can be used by applications to work with one or more content management repositories. The SOAP and AtomPub bindings defined in the CMIS specification are functionally equivalent and consistent—each protocol only defines the syntax for how methods are invoked and how responses are formatted. All of the same CMIS functionality is exposed regardless of which protocol is used.

Note:

The CMIS Producer uses an ASPX page to generate WSDL, not the standard built-in SharePoint 2010 WSDL redirection logic. Many producer endpoints are defined in the Web.config file, which are used to determine the correct endpoint based on the authorization settings of the Web application.

The CMIS standard has two concepts of permissions, as follows:

  • Basic permissions include read, write, and all. A user with Read permissions can only view data from a repository. A user with Write permissions can contribute to a repository, and a user with All permissions has full control.

  • Digest permissions are those that are defined by and expressed by a repository. These permissions do not have an explicitly defined meaning in the CMIS specification. They can be looked up at runtime using CMIS interfaces.

The CMIS specification maps allowable actions to the access control level (ACL) permissions defined for a repository. A client application can discover how the permissions that are exposed by the repository affect what actions a user can perform by way of CMIS. Other factors can affect whether a user can perform an action. For example, to check out an object from the repository, a user may need both the appropriate permission and the item must not already be checked out.

Mapping the CMIS data model to SharePoint concepts

The CMIS standard specification uses specific terminology that has equivalents inSharePoint Server 2010. The following table defines key CMIS concepts and maps them to their SharePoint equivalents.

Concept in CMIS specification Definition SharePoint equivalent

Repository

The repository is the conceptual root of the CMIS server instance, and also the root server of CMIS content. All of the other concepts in CMIS are scoped locally within a repository instance.

The SPList (T:Microsoft.SharePoint.SPList) and SPDocumentLibrary (T:Microsoft.SharePoint.SPDocumentLibrary) objects

Object type

Definition of the object types allowed or in use in the repository.

The SPContentType (T:Microsoft.SharePoint.SPContentType) object

Document object

The object in a CMIS repository whose object type is a descendant of the Folder base object type. The Folder object can contain Folders.

The SPFolder (T:Microsoft.SharePoint.SPFolder) object

Version series

The collection of objects in the version history of a document object.

The SPListItem (T:Microsoft.SharePoint.SPListItem) and SPListItemVersion (T:Microsoft.SharePoint.SPListItemVersion) objects

Note:

SPListItem covers both documents in a document library or list items in a list.

Query

A query supplied by the CMIS consumer by way of the CMIS SQL query grammar that is used to get a collection of results for objects in the repository that match the criteria specified in the query.

The SPQuery (T:Microsoft.SharePoint.SPQuery) object

Change log

A collection of change event entries that record changes made to content in a repository, arranged in ascending order based on when the event occurred.

The SPChangeCollection (T:Microsoft.SharePoint.SPChangeCollection) object

Allowable actions

An enumeration of Booleans representing the set of actions that the current user can perform against a particular object at a point in time. Whether an action is allowed is determined by combining the current user's permissions and the current state of the object.

Not supported

Access Control Entry (ACE)/Access Control Log (ACL)

An Access Control Entry lists a set of permissions that a principal, such as a user or group, has an on an object.

Not supported

Content stream

See Section 3.1.7 of the CMIS specification.

The SPFile (T:Microsoft.SharePoint.SPFile) object that is associated with an SPListItem (T:Microsoft.SharePoint.SPListItem) object

Path

The URL property (Web-relative URL) of the SPFolder object.

The SPFolder object (T:Microsoft.SharePoint.SPFolder)

Relationship

Not applicable.

Not supported

Rendition

Not applicable.

Not supported

See Also

Other Resources

HTTP Extensions for Distributed Authoring (WebDAV)
Business Data Connectivity Service Authentication
Business Data Connectivity Service Authorization


SharePoint Diagnostic Studio 2010 (SPDiag 3.0) (SharePoint Server 2010)
See Also

Published: April 28, 2011

Microsoft SharePoint Diagnostic Studio 2010 (SPDiag version 3.0) was created to simplify and standardize troubleshooting of Microsoft SharePoint 2010 Products, and to provide a unified view of collected data. Administrators of SharePoint 2010 Products can use SPDiag 3.0 to gather relevant information from a farm, display the results in a meaningful way, identify performance issues, and share or export the collected data and reports for analysis by Microsoft support personnel.

The SharePoint 2010 Products platform is highly complex and can be used for a wide variety of uses. Deploying, managing, and troubleshooting SharePoint 2010 Products requires extensive knowledge spanning multiple technology areas, including security, networking, Web technologies such as ASPX, and Microsoft SQL Server.

Traditionally, troubleshooting SharePoint 2010 Products involves manually collecting a wide array of data from servers in the affected farm, and then manually analyzing the data to determine the source of the problem. This process can be complex and time-consuming, and data collection itself can place a significant load on the servers.

SPDiag greatly simplifies the troubleshooting process by providing a single interface for data collection and presentation in a series of preconfigured reports that cover a wide range of data points commonly used to diagnose SharePoint performance and capacity-related issues. Although most common troubleshooting scenarios are addressed by SPDiag, some SharePoint issues might require analysis of additional data not collected by SPDiag.

In this article:

  • What's new in SPDiag 3.0

  • Installing and configuring SPDiag 3.0

  • Using SPDiag 3.0

  • Known issues

What's new in SPDiag 3.0

The SharePoint Diagnostic Studio 2010 (SPDiag version 3.0) contains several important updates and new features that increase its effectiveness as a troubleshooting tool. SPDiag 3.0 is a new version and might not include some functionality present in previous versions of SPDiag.

The following is a list of new features and changes in SPDiag 3.0:

  • Preconfigured reports SPDiag provides a selection of preconfigured reports that aggregates data from the SharePoint farm present useful views into common SharePoint troubleshooting scenarios. For more information, see Using preconfigured reports later in this article.

  • Snapshots You can take snapshots of your farm that aggregate report images, farm topology information, Unified Logging Service (ULS) logs, and usage database data. This makes it easy to consolidate key troubleshooting information about a SharePoint farm and share it with other users or preserve it for comparison and trend analysis.

  • Improved integration with SharePoint Server Enhanced data collection from more sources.

Installing and configuring SPDiag 3.0

SPDiag is included in the Microsoft SharePoint 2010 Administration Toolkit v2. To download the toolkit, see SharePoint 2010 Administration Toolkit (SharePoint Server 2010).

You can install SPDiag on a farm server, or on a remote computer that is not part of the farm. You must be logged in with a user account that has farm administration privileges to create a new project or access an existing project.

Some SPDiag 3.0 diagnostics jobs require that the farm account has the sysadmin or sqladmin role assigned on the SQL Server instance where the SharePoint 2010 Products databases are located.

To install SPDiag 3.0, select SharePoint Diagnostic Studio from the SharePoint 2010 Administration Toolkit v2 component installation menu. Then, use the following procedure to configure the client computer and the SharePoint Server farm for use with SPDiag.

To configure the client computer and the SharePoint Server farm for use with SPDiag

  1. On the computer on which you are installing SPDiag, install the .NET Framework 3.5.

  2. Optionally, install the latest SharePoint Server 2010 service pack or cumulative update (CU) on all farm servers to ensure that the latest performance upgrades have been installed. The August 2010 SharePoint Server 2010 CU, in particular, includes usage database updates that might considerably improve the performance of certain SPDiag reports.

  3. On the computer on which you are installing SPDiag, install the Microsoft Chart Controls for the Microsoft .NET Framework 3.5.

  4. If you are installing SPDiag on a remote client computer, you must enable Windows PowerShell remoting and the remotesigned execution policy on the farm server to which you will connect SPDiag.

    Important:

    The remotesigned execution policy must be enabled on the farm server to which you will connect SPDiag even when you are installing SPDiag on the farm server.

    In Windows PowerShell on the target server, run the following cmdlets, and enter Yes when prompted:

    1. Enable-PSRemoting -force

    2. Enable-WSManCredSSP -role Server -force

    3. Set-Item WSMan:\localhost\Shell\MaxMemoryPerShellMB 1000

    4. Set-ExecutionPolicy RemoteSigned

  5. If you are installing SPDiag on a remote client computer, enable Windows PowerShell remoting on the client computer. In Windows PowerShell on the client computer, run the following cmdlets, and enter Yes when prompted:

    1. Enable-PSRemoting -force

    2. Enable-WSManCredSSP -role Client -DelegateComputer "<target_computer>" -force

      Note:

      The value for <target_computer> should be the host name of the SharePoint Server Web server to which you want to connect.

  6. Make sure that Usage and Health Data Collection has been configured on the target farm. The SPDiag diagnostic provider collects data from the usage database. If the usage database has not been provisioned prior to using SPDiag, you will see the error "Usage Database is not provisioned. Please provision it first."

For information about how to configure usage and health data collection, see Configure usage and health data collection (SharePoint Server 2010).

Using SPDiag 3.0

SPDiag 3.0 is a diagnostic tool that is used to collect, filter, and display data from a SharePoint farm for troubleshooting. SPDiag is a read-only tool, and cannot make any changes to a farm. You can use SPDiag to help you discover problems yourself, or as a way to collect the data needed by support personnel to help troubleshoot a farm.

The information in this section will help you understand how to create and import projects, filter and collect data, generate graphs and reports, and export data to a file.

SPDiag collects and aggregates data from ULS logs, Windows Event logs, performance counters, SharePoint logs, and SQL databases and then displays that data in various preconfigured reports that were designed to expose specific capacity and performance characteristics and trends.

In this section:

  • Working with projects

  • The SPDiag user interface

  • Using preconfigured reports

Working with projects

An SPDiag project consists of a collection of data from SharePoint Server, Internet Information Services (IIS), ULS and event logs, and performance counter log data from farm servers. Project metadata is stored in a .ttfarm file on the local computer. A project can be saved indefinitely, and data in the project can be exported in several ways for archival or to share with others.

Creating a new project

Before you can begin using SPDiag to troubleshoot a farm, you must create a new project. When you create a project, a .ttfarm file is created on the computer where SPDiag is installed, and several tables are created in the farm's usage database.

Create a new project

  1. In the SPDiag application window, click New Project.

  2. In the Create Project dialog box, type the host name of the server to which you want to connect, and then click Create Project.

    Tip:

    In certain environments, the connection might fail if you do not use the FQDN of the target server.

  3. In the Windows PowerShell Credential Request window, type a user account and password with farm administrator privileges on the target SharePoint Server farm, and then click OK.

  4. The new project is created, and the overview window appears in the main SPDiag window.

Opening a project

To open a project, you must have access to the .ttfarm file for the project. If the .ttfarm file was created on another computer running SPDiag, you should ensure that the computer you are using to open the project has been properly configured by using the guidance in the Installing and configuring SPDiag 3.0 earlier in this article.

Also, you must be logged in to an account with farm administrator credentials, or enter an account when prompted.

Open a project

  1. In the SPDiag application window, click Open Project.

  2. In the Open dialog box, browse for the .ttfarm file that you want, select it, and then click Open.

The SPDiag user interface

The SPDiag application is divided into four main sections: menu bar, Guide pane, Reports pane, and Report Display pane, each of which is described in this section.

Menu bar

The menu bar appears at the top of the application window.

  • New Project Creates a new SPDiag project.

  • Open Project Opens an existing SPDiag project from a .ttfarm file.

  • Take Snapshot Creates a snapshot of the farm that consists of PNG images of all open reports, a text document that contains information about the farm topology, and log files from the snapshot process. There are two kinds of snapshot available: Light and Full.

    • Light Snapshot Exports the currently open reports and farm topology information

    • Full Snapshot All Light Snapshot data, and data from the ULS logs and SharePoint usage database for a specified time range. When Full Snapshot is selected, you can use the Start Time and End Time fields to specify the time range for ULS log and usage database data collection.

  • Search If you are looking for a specific request and you know the correlation ID or user account from which the request originated, click this button to open the Search dialog box. In the Search dialog box, you can enter the correlation ID, user account, and estimated date and time of the request, which begins the search from that point.

  • Assign Permission You can provision SharePoint farm permissions to a specific user account or group to enable access to SPDiag.

Guide pane

The Guide pane appears at the middle left of the application window. It displays information about each report, including a description of the displayed data, instructions about how to manipulate and filter the data, and troubleshooting guidance specific to the report when it is available. Some reports include guidance on how to identify problems and offer suggestions for resolving them.

Reports pane

The Reports pane appears at the lower-left corner of the application window.

The Reports pane is an expandable menu that contains all of the reports that you can view. Click each node to expand the section and show the contained reports, and double-click on a report to open it in the Report Display pane.

When you use the Save button on the report toolbar to save a report, it will appear in the Customs node at the bottom of the Reports pane.

For more information and a full list of available reports, see Using preconfigured reports later in this article.

Report Display pane

The Report Display pane consists of the main part of the application window. When a project is created or opened, the overview report is displayed.

Report Display pane

Two primary reports are displayed as graphs in the overview report: Availability and Latency Percentiles.

  • Availability report Charts the availability of the HTTP Web Service.

  • Latency Percentiles report Indicates how much time it takes to render the fastest and most common requests.

As with all graphs in SPDiag, you can zoom into a specific time range by selecting the area on the graph by using the mouse. Doing this in the overview report opens the selected report in a new tab in the main SPDiag window that contains results from the selected area.

When you open a report by double-clicking it in the Reports pane, SPDiag collects the required data from the farm servers and displays it in a new tab in the main window. This display consists of three components: report toolbar, Filter pane, Data Display pane.

Report toolbar

The report toolbar appears at the top of each open report tab.

The toolbar provides tools for manipulating report data, including tools to refresh, save, export, and change the displayed time scale of reports.

  • Refresh Requests fresh data from the farm servers.

  • Save Saves the current report to an XML file that has an SPR extension. Files are saved to the C:\Users\Administrator\Documents\SharePoint Diagnostic Studio\Custom Reports folder on the SPDiag client computer. These files can be opened in any XML or text editor.

  • Hour Calibrates the data display to span the last hour. This button and the other three time calibration buttons automatically set the end time for the range to the current time.

  • 6 Hours Calibrates the data display to span the last six hours.

  • 12 hours Calibrates the data display to span the last 12 hours.

  • Day Calibrates the data display to span the last 24-hour period.

  • Open Log If data from log files is included in a report, you can select the log from the Filter pane, and then click the Open Log button to display the contents of the raw log file.

  • Export Exports the current report to a PNG image file in the C:\Users\Administrator\Documents\SharePoint Diagnostic Studio\Exported Reports\<date and time> folder on the SPDiag client computer. The name of the final folder is dynamically generated by the date and 24-hour time that the report was exported in the format year.month.day-hour.minute.second. For example, a report exported on March 31, 2011, at 6:11 PM and 22 seconds would be saved to a folder named 2011.3.31-18.11.22.

Filter pane

The Filter pane provides report-specific fields that enable you to filter report data and date and time ranges that you want to display. Click a field to change its value and update the report data.

Data Display pane

The Data Display pane shows graphs, charts, tables, and log file data for the report that is being displayed.

Data Display pane

Some reports contain a table at the top half of the pane that contains a list of objects, and a separate pane at the bottom that shows details about objects that you select from the table. For example, in the Timer Jobs report, a list of timer jobs is displayed in the top half of the Data Display pane. Selecting a timer job from the list displays detailed ULS trace log information about that job in the lower half of the pane.

Dual Display pane

You can also right-click a field to filter the report on that value by using the QuickFilter feature. To update the report, right-click a field, and then select a function from the QuickFilter menu.

  • = Filter by the exact value.

  • <> Filter by all values within the selected range.

  • > Filter by all values greater than the selected value.

  • < Filter by all values smaller than the selected value.

When the data for a specific record in a report indicates that a problem exists, a red circle with an exclamation point will appear at the beginning of the record. Hovering the mouse pointer over the red circle will cause a tooltip to display that contains information about the problem.

When a report contains a graphical display element, such as a chart or graph, you can select areas of the graph by using the mouse to zoom in on a specific time range. To zoom out to the original time range, right-click anywhere on the graph.

Note:

Data collection can take a long time, especially when there is significant network latency between the SPDiag client computer and the farm servers, or during times when the farm is under heavy load. There is no way to cancel the process of collecting data and rendering the report after it has begun, and SPDiag will be unresponsive until this process is completed.

Using preconfigured reports

SPDiag provides various reports that present data from logs, SharePoint databases, and performance counters. Reports collect data from the SharePoint farm and display aggregated information that is focused on specific aspects of farm performance.

You can also begin your investigation by directly opening a report from the Reports pane displayed at the bottom of the guide window. These reports are described in the following paragraphs.

Base report group

The Base report group contains several reports that display information about key general performance indicators.

HTTP Requests

This report displays all HTTP requests across the farm. When you select a row from the top report, the full trace from the request is fetched and displayed in the bottom pane.

Right-click any cell to add a filter with the column name and value of your selection. Alternatively, you can filter these results by using the filter list at the top of the report. When using the LIKE operator, '%' is treated as a wildcard character.

Click any column header to sort by that column. For example, to find the slowest requests, click the Duration column. Click the header again to reverse the results order.

Once you have customized the filter list, you can save the report so you do not have to generate it again. Saved reports can be found under the Customs node in the Reports pane at the lower-left side of the screen. The next time that you load the report, it will restore the saved sorts and filters, and apply them to the new data.

To save the current set of results to share or to view in a spreadsheet, click the Export button.

Windows Events

This report displays critical and SharePoint-related events from the Windows Event logs on all computers in the farm. Use this report to look for critical issues that occurred during the specified time frame.

Right-click any cell to add a filter with the column name and value of your selection. Alternatively, you can filter these results by using the filter list at the top of the report. When using the LIKE operator, '%' is treated as a wildcard character.

Click any column header to sort by that column.

Once you have customized the filter list, you can save the report so you do not have to generate it again. Saved reports can be found under the Customs node in the Reports pane at the lower-left side of the screen. The next time that you load the report, it will restore the saved sorts and filters, and apply them to the new data.

To save the current set of results to share or to view in a spreadsheet, click the Export button.

ULS Trace Issues

This report displays problems detected in the Unified Logging Service (ULS) trace logs. High-level traces that occur at the time of an issue might provide clues as to the cause. When you select a row from the top report, the full trace from the request or timer job is fetched and displayed in the bottom pane.

Right-click any cell to add a filter with the column name and value of your selection. Alternatively, you can filter these results by using the filter list at the top of the report. When using the LIKE clause, '%' is treated as a wildcard character.

Click any column header to sort by that column. For example, to find the slowest requests, click the Duration column. Click the header again to sort in the other direction.

Once you have customized the filter list, you can save the report so you do not have to generate it again. Saved reports can be found under the Customs node in the Reports pane at the lower-left side of the screen. The next time that you load the report, it will restore the saved sorts and filters, and apply them to the new data.

To save the current set of results to share or to view in a spreadsheet, click the Export button.

Timer Jobs

This report displays all Timer Job executions. When you select a row from the top report, the full trace from the timer job is fetched and displayed in the bottom pane.

Right-click any cell to add a filter with the column name and value of your selection. Alternatively, you can filter these results by using the filter list at the top of the report. When using the LIKE clause, '%' is treated as a wildcard character.

Click any column header to sort by that column. For example, to find the slowest jobs, click the Duration column. Click the header again to sort in the other direction.

Once you have customized the filter list, you can save the report so you do not have to generate it again. Saved reports can be found under the Customs node in the Reports pane at the lower-left side of the screen. The next time that you load the report, it will restore the saved sorts and filters, and apply them to the new data.

To save the current set of results to share or to view in a spreadsheet, click the Export button.

Performance Counters

This report shows key performance counter data over time for counters that are collected in the Usage database.

Filter by a specific Category, Counter, Instance, or Machine by using the custom filter controls. Select a category of interest, and the additional three filter controls (Counter, Instance, Machine) will be dynamically populated with relevant results. Once filtering selections have been made, click Refresh to regenerate the report. Place the pointer over a series in the chart to determine which Category, Counter, Instance, or Machine is related to the value.

You can use the Add-SPDiagnosticsPerformanceCounter Windows PowerShell cmdlet to add other performance counters to servers in the SharePoint farm. Any new counters that you add will automatically be included in the SharePoint Diagnostic Studio dataset.

Capacity report group

The Capacity report group contains several reports that display information about farm capacity indicators.

SQL Server Query IO Over Time

This report shows expensive stored procedures input/output (I/O) over time.

The top graph shows the five most expensive queries or stored procedures over time based on the SQL Dynamic Management views.

The bottom table contains detailed information about the expensive queries, including total I/O for the time period selected, average I/O per call, execution count, and CPU cost.

Take notice of any spikes or grouping of spikes and the time when they occurred. Such spikes can indicate an expensive stored procedure call or a bad execution plan.

Look for queries that have high values in the Execution Count and Total IO columns paired with low values in the Average IO column. Such queries might be being called to many times.

Click the Export button to save the execution plan to a file from which it can be more easily read.

CPU

This report shows the processor usage, expressed in percentage of total processor capacity, consumed by each process on each farm server over time. The data that is used to populate this graph is from the | Processor | % Processor Time | _Total performance counter.

Note:

Data from performance counters is available only from the date and time that the SPDiag project was opened for the target farm.

Process Memory (MB)

This report shows the available physical memory, expressed in megabytes (MB) available, on each farm server over time. The data that is used to populate this graph is from the | Process | Private Bytes | <process name> performance counter.

Performance report group

The Performance report group contains several reports that display information about specific farm performance indicators related to latency and SQL Server.

SQL Read Intensive Traces

This report shows SQL Server queries that read more than 50,000 pages (1 page = 8 kilobytes).

Queries that read a large volume of data can cause SQL Server to respond slowly by forcing useful data out of memory and causing other queries to perform expensive physical reads. This can affect end-user latency for user operations that query data residing on the same SQL Server.

If a correlation ID is present in the query text, you can use it to find the request or timer job that generated the query. Copy the correlation ID into the filter field of the HTTP Requests or Timer Jobs reports.

Latency Tier Breakdown

This report shows a moving average of server-side HTTP request page latency over time. The time that is spent rendering the request is broken down into the three tiers that a typical HTTP request passes through during processing.

  • SQL Server If SQL Server queries take longer than 250ms, use the SQL Overview report to identify SQL Server bottlenecks.

  • Application Servers If service calls take longer than 250ms, you can use the Service Call Duration column in the HTTP Requests report to find the requests most affected by service calls.

  • Web Server If there does not appear to be a bottleneck in either the SQL Server or application server tier, and requests take longer than 250ms on the Web server, use the Duration column in the HTTP Requests report to see the slowest requests overall. You can examine the Latency All Requests report to see whether the issue is isolated to a single computer. Finally, you can examine the CPU report to determine whether one or more Web servers or application servers are exhibiting excessive processor usage.

Changed Objects

This report displays all object types that have changed over a specific period of time based on information in the change log. The change log is a history of changes that have occurred in a content database. It provides search crawlers and other features a means of querying for only those changes that have occurred since a previous crawl.

Data points are collected once every k minutes (where, by default, k is 5). This report displays the data aggregated across all content databases as a stacked bar graph. Each stack represents a different object type (see the corresponding legend).

You can filter these results by the database or the object type. For example, you can customize the report to show only changed objects made on a database named contentdb1, assuming that it is in the filter dropdown. Similarly, you can customize the report to show only data for the changes that have the object type List to see all list-level changes.

This data can contribute to an overall understanding of what kinds of changes are occurring around a specific timeframe. From this data, you can further examine the HTTP Requests report to determine what requests are causing these changes, or you can look at the Changed Objects Per Database report to view the same data by using a different pivot. Additionally, you can look at the Change Types report and the Change Types Per Database report to look further into the kinds of changes being made to the objects.

If you want to save the current set of results to share, click the Export button.

Changed Objects Per Database

This report displays all object types that have changed in specific content databases over a specific period of time based on information in the change log. The change log is a history of changes that have occurred in a content database. It provides search crawlers and other features a means of querying for only those changes that have occurred since a previous crawl.

Data points are collected once every k minutes (where, by default, k is 5). This report displays the data aggregated across all content databases as a stacked bar graph. Each stack represents a different object type (see the corresponding legend).

You can filter these results by the database or the object type. For instance, you can customize the report to show only changed objects made on a database named contentdb1, assuming that it is in the filter dropdown. Similarly, you can customize the report to show only data for the changes with object type 'List' to see all list-level changes.

This data can contribute to an overall understanding of what kinds of changes are occurring around a specific timeframe. From this data, you can further look at the HTTP Requests report to determine what requests are causing these changes, or you can look at the Changed Objects report to view the same data by using a different pivot. Additionally, you can look at the Change Types report and the Change Types Per Database report to look further into the kinds of changes being made to the objects.

If you want to save the current set of results to share, click the Export button.

Change Types

This report displays all object types that have been changed over a specific period of time based on information in the change log. The change log is a history of changes that have occurred in a content database. It provides search crawlers and other features a means of querying for only those changes that have occurred since a previous crawl.

Data points are collected once every k minutes (where, by default, k is 5). This report displays the data aggregated across all content databases as a stacked bar graph. Each stack represents a different object type (see the corresponding legend).

You can filter these results by the database or the object type. For example, you can customize the report to show only changed objects made on a database named contentdb1, assuming that it is in the filter dropdown. Similarly, you can customize the report to show only data for the changes that have change type Rename to see all rename-related changes.

This data can contribute to an overall understanding of what kinds of changes are occurring in a specific timeframe. From this data, you can further examine the HTTP Requests report to determine what requests are causing these changes, or you can look at the Change Types Per Database report to view the same data by using a different pivot. Additionally, you can look at the Changed Objects report and the Changed Objects Per Database report to look further into the kinds of objects that are being changed.

If you want to save the current set of results to share, click the Export button.

Change Types Per Database

This report displays all object types that have been changed over a specific period of time based on information in the ChangeLog. Data points are collected once every k minutes (where, by default, k is 5). This report displays the data aggregated across all databases as a stacked bar graph. Each stack represents a different object type (see the corresponding legend).

You can filter these results by the database or the change type. For example, you can customize the report to show only change types made on database contentdb1, assuming that it is in the filter drop-down list box. Similarly, you can customize the report to show only data for the changes that have the change type Rename to see all rename-related changes.

This data is valuable to obtain an overall understanding of what kinds of changes are occurring around a specific timeframe, and the quantity of changes across each database. From this data, you can further look at the HTTP Requests report to determine what requests are causing these changes, or you can look at the Change Types report to view the same data by using a different pivot. Additionally, you can look at the Changed Objects report and the Changed Objects Per Database report to look further into the kinds of objects that are being changed.

If you want to save the current set of results to share, click the Export button.

Latency All Requests

This report plots the duration of all requests (up to a limit of 50,000).

Use this report to spot abnormal patterns in usage. For example, a poorly performing site might consistently take 5 seconds to load, which would present as a horizontal band at the 5-second mark. For a more detailed view, you can zoom in to a smaller area, go to the HTTP Requests report and look for requests that take around 5 seconds.

Latency spikes will appear as columns. If the spikes have a regular period, you can look at the Timer Jobs report to see whether a particular job runs during the same time.

Latency Percentiles

This report shows several key percentile thresholds over time to give you an idea of how many requests are affected by a particular latency spike.

For example, if the fastest 25 percent of all requests take 1 second or more, it is likely that an outage in some shared resource (such as the network or SQL Server computer) is affecting all requests. Use the Latency Tier Breakdown report to look for issues in shared resources.

On the other hand, if 75 percent of all requests complete quickly, but the 95th percentile is very high, you might have to look for a root cause that affects a smaller number of requests, such as blocking in a single database, or custom code that is only used by a subset of sites.

To see logs for the slowest requests, you can view the HTTP Requests report and sort the list by clicking the header of the Duration column.

You can also use the usage reports, such as the Requests Per User report and the Application Workload report, to look for users or applications that place an unexpected load on the network.

SQL Deadlocks

This report lists SQL Server deadlocks over time. SQL Server uses deadlock detection to prevent the server from hanging when two incompatible queries are executed. To resolve a deadlock, one or more of the queries are canceled. SharePoint Server can recover from some deadlocks and retry the affected queries. However, deadlocks can sometimes cause certain requests to fail.

SQL Blocking

This report lists SQL queries that have blocked other SQL queries.

Blocking can stop all activity on the farm. When blocked requests cannot be processed by the affected database, all available Web server memory will eventually be consumed, which will cause the affected servers to stop responding or crash.

This report displays the request or timer job responsible for generating the blocking query, if it is possible, and any associated logs. These can be useful if the block is caused by a specific end-user transaction. In such cases, restructuring a list or redesigning an application that uses custom queries might be indicated.

Some blocking cannot be avoided. For example, nightly database maintenance tasks necessarily lock large parts of a database.

Availability report group

The Availability report group contains several reports that display information about farm availability trends and issues.

Availability report

This report charts the availability of the HTTP Web Service. Drops in availability indicate periods when users might have been unable to access their SharePoint sites.

This report calculates availability dividing the number of successful Web requests by the total number of requests sent to the server. An attempt is made to remove requests coming from automated agents, such as a search crawler, from this calculation. However, some unknown automated agents might not be excluded.

Zoom in to a period of low availability by selecting it with your mouse. Subsequent reports used in this investigation will load faster if you select a smaller time range.

Once you have narrowed the time range, you can use the Failed User Requests report to examine details about requests that failed during the selected time period.

Crashes reduce availability by exiting the process without allowing requests to be completed. Because the process does not have an opportunity to write logs during a crash, requests that were running at the time of the crash will not appear in these reports, and their effect on availability will not be displayed in the graph. Regardless, crashes should always be investigated.

Scheduled Worker Process Recycles rarely reduce availability. The server will attempt to gracefully allow requests from one process to complete while at the same time starting another process to handle new requests. Frequent, unscheduled recycles during periods of higher than average traffic can cause some requests to fail if the server cannot respond to the increased demands of running multiple processes in parallel.

SQL Overview report

This report displays information that can help you understand the overall health of the SQL Server computers in your farm. The report focuses on the following three areas:

SQL Server Locking/Blocking

SQL Server query blocking can increase some SQL Server query duration values, and might contribute to availability issues and increased latency.

  • Average Lock Wait Time Locks are held on SQL Server resources, such as rows read or modified during a transaction, to prevent concurrent use of resources by different transactions. For example, an update will hold an XLOCK and it will block a shared read lock. A high lock wait time means there is a blocking issue in the SQL Server tier, and you should pay attention to slow updating threads, as they will block reads.

  • Average Latch Wait Time A latch is primarily used to synchronize database pages. Each latch is associated with a single allocation unit. A latch wait occurs when a latch request cannot be granted immediately because the latch is held by another thread in a conflicting mode. Unlike locks, a latch is released immediately after the operation, even in write operations. High latch wait time might mean that it is taking too long to load a specific page into memory.

When Lock Wait Time is high, examine the SQL Blocking report to identify the queries holding onto the locks.

You can examine the SQL Deadlocks report to identify queries that might have generated failed requests.

SQL Server Disk IO

A common SQL Server performance issue is an I/O bottleneck. When SQL Server does not have sufficient I/O bandwidth to process incoming queries, performance across all requests will decrease, and performance across all farm Web servers will be decreased.

  • Average Disk Queue Length This metric is for overall Disk I/O. Higher values translate to increased overall I/O pressure, and if you have more than 10, it is possible there is an I/O bottleneck.

  • Average Logical Reads / s This metric is for the Read Disk I/O. Higher values translate to increased Read I/O pressure.

  • Average Logical Writes / s This metric is for the Write Disk I/O. Higher values translate to increased Write I/O pressure.

When there is an I/O bottleneck, examine the SQL Read-Intensive Traces report to see what specific queries are consuming the most resources.

SQL Server CPU

When SQL Server computer processor usage is excessively high, SQL queries are queued, and Web server performance is decreased. Processor and I/O performance is related. Therefore, when SQL Server processor usage is high, I/O is usually high also. An average processor usage of 80 percent is considered a bottleneck.

When there is a CPU bottleneck, examine the SQL Read-Intensive Traces report, and then click the CPU column to sort by the most expensive queries.

Worker Process Recycles

Recycles do not usually affect availability. Internet Information Services (IIS) 7.0 will create a new process, which allows existing requests to complete, and then shuts down the recycled process cleanly. However, the first browse to a new process can be delayed while the process is initialized.

By default, SharePoint Server schedules worker process recycle jobs to take place overnight. Frequent recycles during working hours can increase the latency of end-user requests. Check to see whether Web.config settings might have been changed, or if the recycle settings have been modified in IIS.

Failed User Requests

These user requests failed, or they were so slow that users might have assumed they failed.

Select a failed request to fetch its trace logs. Look for traces that mention a failure in some component of the system. If the cause is not apparent, look at the Windows Events report for signs of a system failure on the server or in IIS.

If a request failed because it was too slow, look for a gap in the log, which might be highlighted. If the lines before the gap indicate that the delay occurred in SQL Server, this request was most likely a lock victim. Look at the SQL Blocking report to find the blocking query that is the root cause of the issue.

Some requests, such as downloads of large files, can be expected to be slow.

Crashes

This report displays all of the IIS worker process crashes that occurred in the specified time range. After a row is selected in the top report, the last few seconds of traces from the crashing process are displayed in the bottom panel. These traces might indicate why the crash occurred.

Crashes can significantly affect availability. The availability report might underestimate the effect of crashes because requests that are being executed at the time of a crash are not recorded. Even when a crash does not noticeably affect availability, it could lead to data loss or other problems and should be investigated.

Usage report group

The Usage report group contains several reports that display information about farm usage trends and issues.

Requests Per URL

This report displays the most frequently requested URLs. You can use this report to identify pages that are often accessed and therefore might be high-priority candidates for optimization.

Requests Per User

This report displays the percentage of requests made by the most common user accounts. Some system accounts, such as the search crawler service account, might be expected to generate many requests. At certain times, individual users might also perform operations that create an unexpected peak in resource usage.

Application Workload

This report displays the time that is spent serving requests from various client applications in a given time range. The report provides an estimate of which resources are being consumed by client requests. The report might indicate the following considerations:

  • High total durations indicate a need for additional memory on the Web servers.

  • High SQL Server process durations imply high SQL I/O or processor usage, or that requests from client applications might be blocked by other queries.

  • High Web server durations might indicate high processor usage on the farm Web servers.

Requests Per Site

This report displays the percentage of requests made to each site in the farm.

Known issues

This section lists known issues in SPDiag 3.0, and their workarounds when available.

SPDiag requires the remotesigned execution policy to be enabled in PowerShell

If the remotesigned execution policy is not enabled in PowerShell on the farm server to which SPDiag is configured to connect, SPDiag will generate an error message when you try to enter the server name in the New Project window in SPDiag. You might see an error message that resembles the following:

Problem Event Name: CLR20r3

Problem Signature 01: spdiag.exe

Problem Signature 09: System.ArgumentOutOfRange

To correct this issue, run the following command from a Windows PowerShell command prompt on the farm server to which you want to connect:

Set-ExecutionPolicy RemoteSigned

Server connection fails when a SQL Server alias is used

When you attempt to connect SPDiag to a farm from a remote client computer and the SharePoint 2010 Products farm is configured to use a SQL Server alias to connect to the database server, SPDiag will generate the following error:

The usage database was not found or was inaccessible.  Please make sure the TTFARM file has the right information and you have access to the server.

To correct this issue, install the SQL Server client tools on the computer where you installed SPDiag, and then configure a SQL Server alias that matches the alias used by the SharePoint 2010 Products farm.

Some SPDiag diagnostic timer jobs require sysadmin or sqladmin privileges

Some SPDiag 3.0 diagnostics jobs require that the farm account has the sysadmin or sqladmin role assigned on the SQL Server instance where the SharePoint 2010 Products databases are located. If the farm account does not have these roles assigned, it will have insufficient privileges to run diagnostic jobs that are required for certain reports to gather data.

SPDiag reports do not work when the OS locale is not EN-US (1033)

When the operating system locale of the computer where you have installed SPDiag is anything other than EN-US (1033), SPDiag reports do not work because you cannot set the date range for the report. Currently, the only workaround is to change the locale of the client computer to EN-US.

If your SharePoint 2010 Products farm servers use a locale other than EN-US, we recommend that you install SPDiag on a client computer.

See Also

Concepts

SharePoint 2010 Administration Toolkit (SharePoint Server 2010)


Conformance statement A-level (SharePoint Server 2010)

Published: July 22, 2010

Conformance statement for Microsoft SharePoint Server 2010 in regards to Web Content Accessibility Guidelines 2.0 (http://www.w3.org/TR/WCAG20/).

Conformance statement for configuration and administration experience at A-level

Claim | Details
Date of the claim | May 12th, 2010
Guidelines title, version, and URI | Web Content Accessibility Guidelines 2.0 (http://www.w3.org/TR/2008/REC-WCAG20-20081211/)
Conformance level satisfied: (Level A, AA or AAA) | A
A concise description of the Web pages, such as a list of URIs for which the claim is made, including whether subdomains are included in the claim. | Default content included with SharePoint Server 2010 and Administration and Configuration features of SharePoint Server 2010. For other product features, see Conformance statement AA-level (SharePoint Server 2010).
A list of the Web content technologies relied upon. | HTML JavaScript CSS
Additional Web content technologies used, but not relied upon. | ARIA Silverlight RSS PNG GIF JPEG
A list of success criteria beyond the level of conformance claimed that have been met. This information should be provided in a form that users can use, preferably machine-readable metadata. | Conforms to 1.4.9 Images of Text (No Exception) - AAA. Conforms to 2.1.3 Keyboard (No Exception) - AAA. Conforms to 2.2.3 No Timing (No Exception) - AAA. Conforms to 2.3.2 Three Flashes - AAA. Conforms to 2.4.8 Location - AAA. Conforms to 3.3.6 Error Prevention (All) - AAA.

This conformance statement pertains to SharePoint Server 2010.

Customization of the product voids this conformance statement from Microsoft. Customers may make independent conformance statements if they have conducted due diligence to meet all relevant requirements for their customization.

Please consult with Assistive Technology (AT) vendors for compatibility specifications of specific AT products. AT products that are compatible with all the rely-upon-technologies are expected to be functional with the product.

This document is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS DOCUMENT.

Revised 07/22/2010.

Microsoft regularly updates its websites and provides new information about the accessibility of products as that information becomes available.


Conformance statement AA-level (SharePoint Server 2010)

Published: July 22, 2010

Conformance statement for Microsoft SharePoint Server 2010 in regards to Web Content Accessibility Guidelines 2.0 (http://www.w3.org/TR/WCAG20/).

Conformance statement for core reader, author, and contributor experience at AA-level

Claim | Details
Date of the claim | May 12th, 2010
Guidelines title, version, and URI | Web Content Accessibility Guidelines 2.0 (http://www.w3.org/TR/2008/REC-WCAG20-20081211/)
Conformance level satisfied: (Level A, AA or AAA) | AA
A concise description of the Web pages, such as a list of URIs for which the claim is made, including whether subdomains are included in the claim. | All default content included with SharePoint Server 2010 and Web application features of SharePoint Server 2010 except where limited by Conformance statement A-level (SharePoint Server 2010).
A list of the Web content technologies relied upon. | HTML JavaScript CSS
Additional Web content technologies used, but not relied upon. | ARIA Silverlight RSS PNG GIF JPEG
A list of success criteria beyond the level of conformance claimed that have been met. This information should be provided in a form that users can use, preferably machine-readable metadata. | Conforms to 1.4.9 Images of Text (No Exception) - AAA. Conforms to 2.1.3 Keyboard (No Exception) - AAA. Conforms to 2.2.3 No Timing (No Exception) - AAA. Conforms to 2.3.2 Three Flashes - AAA. Conforms to 2.4.8 Location - AAA. Conforms to 3.3.6 Error Prevention (All) - AAA.

This conformance statement pertains to SharePoint Server 2010.

Customization of the product voids this conformance statement from Microsoft. Customers may make independent conformance statements if they have conducted due diligence to meet all relevant requirements for their customization.

Please consult with Assistive Technology (AT) vendors for compatibility specifications of specific AT products. AT products that are compatible with all the rely-upon-technologies are expected to be functional with the product.

This document is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS DOCUMENT.

Revised 07/22/2010.

Microsoft regularly updates its websites and provides new information about the accessibility of products as that information becomes available.


Settings and features backed up from a farm configuration (SharePoint Server 2010)
See Also

Published: August 12, 2010

This article describes the settings and features that are included in a backup of a server farm configuration. For more information about how to back up a farm configuration, see Back up a farm configuration in SharePoint Server 2010.

Settings and features backed up

The following table lists the settings and features that are included in a backup of the configuration of a server farm, and the pages on the SharePoint Central Administration Web site where you can access these settings and features.

Setting or feature Description

Managed account password settings

_Admin/PasswordSettings.aspx

Outgoing e-mail settings

_Admin/globalemailconfig.aspx

Note:

Outgoing e-mail settings are restored only when content and settings are restored to their original locations on the same farm they were backed up from.

  • When you use Central Administration to restore a farm, on the Restore from Backup — Step 2 of 3: Select Restore Options page, in the Restore Options section, select the Type of Restore option, and use the Same configuration setting.

  • When you use the Windows PowerShell Restore-SPFarm cmdlet to restore a farm, use the RestoreMethod parameter to specify overwrite.

Note:

Outgoing e-mail settings are restored only when content and settings are restored to their original server location in the same farm. If you are restoring the configuration and content to a different farm, you are prompted to specify new configuration settings.

Solutions deployed to the farm (trusted solutions)

_Admin/Solutions.aspx

Solutions that are deployed to the farm.

InfoPath Forms Services

_Admin/IpfsConfig.aspx

The list of user agents that are added to a farm.

Web application service

Settings that are shared by all content Web applications.

  • Active Directory Domain Services (AD DS) account creation mode settings

  • Antivirus settings _Admin/AVAdmin.aspx

  • Quota templates _Admin/ManageQuotaTemplate.aspx

  • Information Rights Management (IRM) settings _Admin/IrmAdmin.aspx

  • Managed paths for host-named site collections

Sandboxed solutions service

Solution restrictions and load balancing settings.

Diagnostic logging settings

_Admin/Metrics.aspx

All diagnostic logging settings are backed up except the trace log location.

See Also

Reference

Restore-SPFarm
Get-SPInfoPathUserAgent

Concepts

Restore a farm configuration in SharePoint Server 2010
Change passwords used for administration accounts (SharePoint Server 2010)
Configure outgoing e-mail (SharePoint Server 2010)
Create, edit, and delete quota templates (SharePoint Server 2010)
Define managed paths (SharePoint Server 2010)
Configure load balancing for sandboxed solutions (SharePoint Server 2010)
Block or unblock a sandboxed solution (SharePoint Server 2010)
Configure diagnostic logging (SharePoint Server 2010)


Peoplepicker-peopleeditoronlyresolvewithinsitecollection: Stsadm property (SharePoint Server 2010)
See Also

Published: February 3, 2011

Checks the user against the existing site collection users.

Note:

This operation was added in Microsoft SharePoint Server 2010.

Syntax

The syntax for the setproperty operation is:

stsadm -o setproperty

-propertyname peoplepicker-peopleeditoronlyresolvewithinsitecollection

-propertyvalue {Yes | No}

[-url] <URL>

The syntax for the getproperty operation is:

stsadm -o getproperty

propertyname peoplepicker-peopleeditoronlyresolvewithinsitecollection

[-url] <URL>

Note:

You can substitute -pn for -propertyname and -pv for -propertyvalue.

Parameters

Name | Value
propertyname | Gets or sets the name of the property.
propertyvalue | Yes: Resolves only against the existing site collection users. No: Resolves users against the existing site collection users and users from other identity providers, for example, Active Directory Domain Services.
url | Typically a path to the URL of the Web application, in the form http://server_name.

Examples

Display users within a site collection

If you want to display users only from a specific site collection, use the following syntax:

stsadm -o setproperty -url http://<server> -pn peoplepicker- peoplepicker-peopleeditoronlyresolvewithinsitecollection -pv yes

If you want to display any user from an existing site collection, use the following syntax:

stsadm -o setproperty -url http://<server_name> -pn peoplepicker- peopleeditoronlyresolvewithinsitecollection -pv no

To view the current setting for the peopleeditoronlyresolvewithinsitecollection property, use the following syntax:

stsadm -o getproperty -pn peoplepicker- peopleeditoronlyresolvewithinsitecollection

See Also

Other Resources

Peoplepicker-onlysearchwithinsitecollection: Stsadm property (Office SharePoint Server)


Default user profile properties (SharePoint Server 2010)
See Also

Published: April 28, 2011

This article lists the user profile properties that SharePoint Server 2010 provides by default.

The following table lists the default user profile properties.

Use profile property | Display name | User profile service data type
AboutMe | About me | HTML
AccountName | Account name | Person
ADGuid | Active Directory Id | binary
Assistant | Assistant | Person
CellPhone | Mobile phone | string (single-value)
Department | Department | string (single-value)
Fax | Fax | string (single-value)
FirstName | First name | string (single-value)
HomePhone | Home phone | string (single-value
LastName | Last name | string (single-value)
Manager | Manager | Person
Office | Office | string (single-value)
PersonalSpace | Personal site | URL
PictureURL | Picture | URL
PreferredName | Name | string (single-value)
PublicSiteRedirect | Public site redirect | URL
QuickLinks | Quick links | string (single-value)
SID | SID | binary
SPS-Birthday | Birthday | date no year
SPS-ClaimID | Claim User Identifier | string (single-value)
SPS-ClaimProviderID | Claim Provider Identifier | string (single-value)
SPS-ClaimProviderType | Claim Provider Type | string (single-value)
SPS-DataSource | Data source | string (single-value)
SPS-DisplayOrder | Display Order | integer
SPS-DistinguishedName | Distinguished Name | string (single-value)
SPS-DontSuggestList | Don't Suggest List | Person
SPS-Dotted-line | Dotted-line Manager | Person
SPS-EmailOptin | Email Notifications | integer
SPS-HireDate | Hire date | date
SPS-Interests | Interests | string (multi-value)
SPS-JobTitle | Job Title | string (single-value)
SPS-LastColleagueAdded | Last Colleague Added | date
SPS-LastKeywordAdded | Last Keyword Added | date
SPS-Location | Office Location | string (single-value)
SPS-MemberOf | MemberOf | string (multi-value)
SPS-MySiteUpgrade | My Site Upgrade | boolean
SPS-ObjectExists | Object Exists | string (single-value)
SPS-OWAUrl | Outlook Web Access URL | URL
SPS-PastProjects | Past projects | string (multi-value)
SPS-Peers | Peers | string (single-value)
SPS-PhoneticDisplayName | Phonetic Display Name | string (single-value)
SPS-PhoneticFirstName | Phonetic First Name | string (single-value)
SPS-PhoneticLastName | Phonetic Last Name | string (single-value)
SPS-ProxyAddresses | Proxy addresses | string (multi-value)
SPS-ResourceSID | Resource Forest SID | binary
SPS-Responsibility | Ask Me About | string (multi-value)
SPS-SavedAccountName | Saved Account Name | string (single-value)
SPS-SavedSID | Saved SID | binary
SPS-School | Schools | string (multi-value)
SPS-SipAddress | SIP Address | string (single-value)
SPS-Skills | Skills | string (multi-value)
SPS-SourceObjectDN | Source Object Distinguished Name | string (multi-value)
SPS-StatusNotes | Status Message | string (single-value)
SPS-TimeZone | Time Zone | time zone
Title | Title | string (single-value)
UserName | User name | string (single-value)
UserProfile_GUID | Id | unique identifier
WebSite | Web site | URL
WorkEmail | Work e-mail | E-mail
WorkPhone | Work phone | string (single-value)

See Also

Concepts

Plan for profile synchronization (SharePoint Server 2010)
Default user profile property mappings (SharePoint Server 2010)


Default user profile property mappings (SharePoint Server 2010)
See Also

Published: April 28, 2011

Some user profile properties are mapped automatically to their corresponding directory service attributes after you run a profile synchronization. This topic describes the user profile properties that are mapped by default.

In this topic:

  • Default user profile property mappings for Active Directory Domain Services

  • Default user profile property mappings for Novell eDirectory, Sun Java System Directory Server, or IBM Tivoli Directory Server

Default user profile property mappings for Active Directory Domain Services

The following table describes the user profile properties that are automatically mapped when you import user profiles from Active Directory Domain Services (AD DS).

User profile property | AD DS attribute
SPS-DistinguishedName | dn
SID | objectSid
Manager | manager
PreferredName | displayName
FirstName | givenName
LastName | sn
SPS-PhoneticDisplayName | msDS-PhoneticDisplayName
SPS-PhoneticFirstName | msDS-PhoneticFirstName
SPS-PhoneticLastName | msDS-PhoneticLastName
WorkPhone | telephoneNumber
WorkEmail | mail
Office | physicalDeliveryOfficeName
SPS-JobTitle | title
Department | department
UserName | sAMAccountName
PublicSiteRedirect | wWWHomePage
SPS-ProxyAddresses | proxyAddresses
SPS-SourceObjectDN | msDS-SourceObjectDN
SPS-ClaimID | <specific to connection>
SPS-ClaimProviderID | <specific to connection>
SPS-ClaimProviderType | <specific to connection>

Default user profile property mappings for Novell eDirectory, Sun Java System Directory Server, or IBM Tivoli Directory Server

The following table describes the user profile properties that are mapped automatically when you import user profiles from Novell eDirectory, Sun Java System Directory Server, or IBM Tivoli Directory Server.

User profile property | Directory service attribute
SPS-DistinguishedName | dn
FirstName | givenName
LastName | sn
WorkPhone | telephoneNumber
WorkEmail | mail
Office | physicalDeliveryOfficeName
SPS-JobTitle | title
UserName | <specific to connection>
SPS-ClaimID | <specific to connection>
SPS-ClaimProviderID | <specific to connection>
SPS-ClaimProviderType | <specific to connection>

See Also

Concepts

Plan for profile synchronization (SharePoint Server 2010)
Configure profile synchronization (SharePoint Server 2010)
Default user profile properties (SharePoint Server 2010)


Connection filter data types and operators (SharePoint Server 2010)
See Also

Published: June 3, 2011

When you synchronize profile information with a directory service in Microsoft SharePoint Server 2010, you can provide a filter that identifies the users or groups to exclude from synchronization. A filter consists of a set of clauses in the format <attribute><operator><value>, and the way to join the clauses. The data type of the attribute determines which operators are available. For more information about filters and how to create them, see Plan for profile synchronization (SharePoint Server 2010).

The following table identifies the operators that are available for each Active Directory Domain Services (AD DS) data type.

AD DS data type Operators

Boolean

is present, is not present, true, false

Case insensitive string

is present, is not present, equals, does not equal, starts with, does not start with, ends with, does not end with, contains, does not contain

Distinguished name

is present, is not present, equals, does not equal, starts with, does not start with, ends with, does not end with, contains, does not contain

IA5-String

is present, is not present, equals, does not equal, starts with, does not start with, ends with, does not end with, contains, does not contain

Integer

is present, is not present, equals, does not equal, less than, less than or equal, greater than, greater than or equal, bit on equals, bit off equals

Large integer or interval

is present, is not present

Numerical string

is present, is not present, equals, does not equal, starts with, does not start with, ends with, does not end with, contains, does not contain

Octet string

is present, is not present

Note:

The AD DS attribute unicodePwd is an octet string, but SharePoint Server treats it as a Unicode string for the purpose of profile synchronization.

SID

is present, is not present

Unicode string

is present, is not present, equals, does not equal, starts with, does not start with, ends with, does not end with, contains, does not contain

UTC coded time

is present, is not present, equals, does not equal, starts with, does not start with, ends with, does not end with, contains, does not contain

Note:

The bit on equals operator checks whether specific bits are turned on. For example, the clause "userAccountControl bit on equals 2" is true if the second bit of the userAccountControl attribute is a one. Similarly, the bit off equals operator checks whether specific bits are turned off (zero). The value that you provide for the bit comparison operators is the decimal equivalent of the bitmask you want to compare with. If, for example, you want to check the fifth bit (0000 0000 0001 0000), you would use the value 16.

See Also

Concepts

Plan for profile synchronization (SharePoint Server 2010)


User profile property data types (SharePoint Server 2010)
See Also

Published: June 3, 2011

When you map a SharePoint Server 2010 user profile property to an element in an external system, the property and the element must have compatible data types. This article identifies Active Directory Domain Services (AD DS) data types and the .NET data types that are compatible with the data types of SharePoint Server 2010 user profile properties.

In this article:

  • AD DS data type compatibility

  • .NET data type compatibility

AD DS data type compatibility

The following table lists the AD DS data types that are compatible with each user profile data type.

User profile service data type | AD DS data type
big integer | Large Integer, Integer
binary | Octet String, SID
boolean | Boolean
date | UTC Coded Time
date no year | UTC Coded Time
date time | UTC Coded Time
E-mail | Unicode String, IA5-String, Case Insensitive String
float | Unicode String
HTML | Unicode String, IA5-String, Case Insensitive String
integer | Integer
Person | Distinguished Name
string (multi-value) | Unicode String, IA5-String, Case Insensitive String
string (single-value) | Unicode String, IA5-String, Case Insensitive String
time zone | Integer
unique identifier | Octet String, SID
URL | Unicode String, IA5-String, Case Insensitive String
Note:

The AD DS attribute unicodePwd is an octet string, but SharePoint Server treats it as a Unicode string for the purpose of profile synchronization.

.NET data type compatibility

When you create an external content type in SharePoint Server 2010, you specify the .NET data type of each column of the external content type. If you map user profile properties to columns of an external content type by using a Business Data Connectivity connection, the data types must be compatible. The following table lists the user profile property data types that are compatible with each .NET data type.

.NET data type | User Profile service data type
System.Boolean | Boolean
System.String | String (Only multi-value string is supported)
System.DateTime | Date/DateTime
System.Int64 | BigInteger
System.Int32 | BigInteger/Integer
System.Int16 | BigInteger/Integer
System.SByte | BigInteger/Integer
System.UInt64 | BigInteger
System.UInt32 | BigInteger/Integer
System.UInt16 | BigInteger/Integer
System.Byte | BigInteger/Integer
System.Single | Float
System.Double | Float
Note:

You cannot use a business data connectivity connection to map a binary property to a property that implements the Stream accessor method.

See Also

Concepts

Default user profile properties (SharePoint Server 2010)
Plan for profile synchronization (SharePoint Server 2010)


Grant Active Directory Domain Services permissions for profile synchronization (SharePoint Server 2010)
See Also

Published: June 16, 2011

This article contains procedures that an Active Directory Domain Services (AD DS) administrator can use to configure the permissions that are required to synchronize profile information with Microsoft SharePoint Server 2010. The Plan account permissions section of the "Plan for profile synchronization" article describes which permissions are needed in which circumstances.

The procedures in this article use the phrase "synchronization account" for the account to which you grant permissions. The synchronization account is the account that SharePoint Server uses to connect to AD DS during profile synchronization.

In this article:

  • Grant Replicate Directory Changes permission on a domain

  • Add an account to the Pre-Windows 2000 Compatible Access group

  • Grant Replicate Directory Changes permission on the cn=configuration container

  • Grant Create Child Objects and Write permission

Grant Replicate Directory Changes permission on a domain

Use this procedure to grant Replicate Directory Changes permission on a domain to an account.

The Replicate Directory Changes permission enables the synchronization account to read AD DS objects and to discover AD DS objects that have been changed in the domain. The Grant Replicate Directory Changes permission does not enable an account to create, modify or delete AD DS objects.

To grant Replicate Directory Changes permission on a domain

  1. On the domain controller, click Start, click Administrative Tools, and then click Active Directory Users and Computers.

  2. In Active Directory Users and Computers, right-click the domain, and then click Delegate Control.

  3. On the first page of the Delegation of Control Wizard, click Next.

  4. On the Users or Groups page, click Add.

  5. Type the name of the synchronization account, and then click OK.

  6. Click Next.

  7. On the Tasks to Delegate page, select Create a custom task to delegate, and then click Next.

  8. On the Active Directory Object Type page, select This folder, existing objects in this folder, and creation of new objects in this folder, and then click Next.

  9. On the Permissions page, in the Permissions box, select Replicating Directory Changes (select Replicate Directory Changes on Windows Server 2003), and then click Next.

  10. Click Finish.

Add an account to the Pre-Windows 2000 Compatible Access group

Use this procedure to add an account to the Pre-Windows 2000 Compatible Access group.

To add an account to the Pre-Windows 2000 Compatible Access group

  1. On the domain controller, click Start, click Administrative Tools, and then click Active Directory Users and Computers.

  2. In Active Directory Users and Computers, expand the domain, expand Builtin, right-click Pre-Windows 2000 Compatible Access, and then click Properties.

  3. In the Properties dialog box, click the Members tab, and then click Add.

  4. Type the name of the synchronization account, and then click OK.

  5. Click OK.

Grant Replicate Directory Changes permission on the cn=configuration container

Use this procedure to grant Replicate Directory Changes permission on the cn=configuration container to an account.

To grant Replicate Directory Changes permission on the cn=configuration container

  1. On the domain controller, click Start, click Run, type adsiedit.msc, and then click OK.

  2. If the Configuration node is not already present, do the following:

    1. In the navigation pane, click ADSI Edit.

    2. On the Action menu, click Connect to.

    3. In the Connection Point area of the Connection Settings dialog box, click Select a well know Naming Context, select Configuration from the drop-down list, and then click OK.

  3. Expand the Configuration node, right-click the CN=Configuration... node, and then click Properties.

  4. In the Properties dialog box, click the Security tab.

  5. In the Group or user names section, click Add.

  6. Type the name of the synchronization account, and then click OK.

  7. In the Group or user names section, select the synchronization account.

  8. In the Permissions section, select the Allow check box next to the Replicating Directory Changes (Replicate Directory Changes on Windows Server 2003) permission, and then click OK.

Grant Create Child Objects and Write permission

Use this procedure to grant Create Child Objects and Write permission to an account.

To grant Create Child Objects and Write permission

  1. On the domain controller, click Start, click Run, type adsiedit.msc, and then click OK.

  2. If the Default naming context node is not already present, do the following:

    1. In the navigation pane, click ADSI Edit.

    2. On the Action menu, click Connect to.

    3. In the Connection Point area of the Connection Settings dialog box, click Select a well know Naming Context, select Default naming context from the drop-down list, and then click OK.

  3. In the navigation pane of the ADSI Edit window, expand the domain, expand the DC=... node, right-click the OU to which you want to grant permission, and then click Properties.

  4. On the Security tab of the Properties dialog box, click Advanced.

  5. In the Advanced Security Settings dialog box, select the row whose value in the Name column is the synchronization account and whose value in the Inherited From column is <not inherited>, and then click Edit. If this row is not present, click Add, click Locations, select Entire Directory, click OK, type the synchronization account, and then click OK. This adds the appropriate row, which you can now select.

    Note:

    Do not select the row for the synchronization account that is inherited from another location. Doing so would only enable you to apply the permissions to the OU and not to the contents of the OU.

  6. In the Permission Entry dialog box, select This object and all descendant objects from the Apply to box, (select This object and all child objects on Windows Server 2003), select the Allow check box in the rows for the Write all properties and Create all child objects properties, and then click OK.

  7. Click OK to close the Advanced Security Settings dialog box.

  8. Click OK to close the Properties dialog box.

  9. Repeat steps 3 through 8 to grant permissions on any additional OUs.

See Also

Concepts

Plan for profile synchronization (SharePoint Server 2010)
Configure profile synchronization (SharePoint Server 2010)


Video demos and training for SharePoint Server 2010

The following table contains links to all Microsoft SharePoint Server 2010 video demos that are intended for IT professionals.

Demos

Getting Started

Title | Description | Date
Getting Started with Microsoft SharePoint 2010 | Nine modules help you learn what Microsoft SharePoint Server 2010 can do, how it works, how to create a site, and more. | April 2010
Jeff Teper Keynote at SharePoint Conference 2009 | Microsoft Corporate Vice President for SharePoint Jeff Teper presents his keynote at SharePoint Conference 2009 in Las Vegas, NV. | April 2010
What's new for SharePoint 2010 IT Pros | Watch this SharePoint Conference 2009 video to see what's new for IT Professionals in Microsoft SharePoint Server 2010. Presented by Simon Skaria and Umesh Unnikrishnan. | April 2010
SharePoint 2010 Overview and What's new | Watch this SharePoint 2009 conference video to see Arpan Shah's overview of SharePoint 2010 and show you what's new. | April 2010
A Quick Look at Workflows | This video explains the concept of workflows in Microsoft SharePoint Server 2010 and illustrates how to create workflows with Microsoft SharePoint Designer 2010. | September 2010
Another Look at Workflows and Visio | This video illustrates how to use Microsoft Visio 2010 and Microsoft SharePoint Designer 2010 to create workflows for a SharePoint environment. | September 2010

Planning

Title | Description | Date
Remote BLOB Storage in SharePoint Server 2010 (video) | Explains the basic concepts of Remote BLOB Storage (RBS) in SharePoint Server 2010. | June 2011

Deployment

Title | Description | Date
Use read-only databases during a database attach upgrade | This video demonstrates how to upgrade content databases to upgrade sites based on Office SharePoint Server 2007. | July 2011
Database attach upgrade for SSPs and My Sites | This video demonstrates how to upgrade shared services (the SSP database) and My Sites based on Office SharePoint Server 2007. | July 2011
Install SharePoint Server 2010 | This video from SharePoint-Videos.com illustrates how to install and configure Microsoft SharePoint Server 2010 and how to create your first Site Collection. For more information, see Installing SharePoint Server 2010. | April 2010

Operations

Title | Description | Date
Configuring a profile synchronization connection to a SQL Server database in SharePoint Server 2010 | This video shows how to import user profile information from a business system. It demonstrates creating external content types from data in SQL Server tables, creating synchronization connections, and mapping user profile properties. | June 2011
Deploy a client tool for taking SharePoint content offline (video) | This video shows how to deploy Microsoft SharePoint Workspace 2010 to SharePoint client machines so that end users can efficiently synchronize offline work with SharePoint sites. | March 2011
Configure a profile synchronization connection in SharePoint Server 2010 | Learn how to create a profile synchronization connection and a synchronization filter, as well as how to map profile properties. | February 2011
Full crawl sequence demo | This demonstration illustrates the sequence of events that occurs when you initiate a full crawl. | April 2010
Ribbon highlights in SharePoint 2010 | Make sure end-users have the resources they need to be successful with new user interface changes. | April 2010
Create External Content Types using SharePoint Designer 2010 | Learn how to use external content types to create external lists which show the connected data by watching this video from SharePoint-Videos.com. For more information, see Create external content types using SharePoint Designer 2010. | April 2010
An end-to-end process using InfoPath 2010 forms, Visio 2010, and SharePoint Designer 2010 for workflows | Learn how to use InfoPath Forms Services in SharePoint Server 2010, Microsoft SharePoint Designer 2010, and Microsoft Visio 2010 to create workflows by watching this video from SharePoint-Videos.com. For more information, see An end-to-end process using InfoPath 2010 forms, Visio 2010, and SharePoint Designer 2010 for workflows. | April 2010
Create reusable workflows using SharePoint Designer 2010 and attach to Content Types | Learn how to create a reusable workflow, attach it to a content type, and then use that content type in a library by watching this video from SharePoint-Videos.com. For more information, see Create reusable workflows using SharePoint Designer 2010 and attach to content types. | April 2010
Create a site workflow and modify its form using InfoPath Forms 2010 | This video demonstrates how to create a site itself and how to use InfoPath 2010 to modify the user interface form that the workflow creates. For more information, see Create a site workflow and modify its form using InfoPath Forms 2010. | April 2010
Use Visio Services with the unattended service account | Learn how to configure Visio Services in Microsoft SharePoint Server 2010 to use the unattended service account, | April 2010
Use Visio Services with Secure Store | This video demonostrates how to use Visio Services in Microsoft SharePoint Server 2010 with a specific Secure Store application and a data connection file. | April 2010

Scenarios and solutions

Title | Description | Date
Use Visio Services with SharePoint lists | This video shows the steps involved in creating a Visio drawing, connecting it to a SharePoint list, and publishing it to a document library. For more information, see Use Visio Services with SharePoint lists (SharePoint Server 2010). | December 2010
Monitor SharePoint Server by using Visio Services and System Center Operations Manager | This video shows how to create a data-connected Web drawing that monitors the status of a Microsoft SharePoint Server 2010 farm, publishing it to a document library on the farm, and rendering it by using Visio Services in Microsoft SharePoint Server 2010 For more information, see Monitor SharePoint Server by using Visio Services and System Center Operations Manager. | September 2010

Inline videos

Inline videos are short videos that are included in operational topics. The videos help to avoid mistakes when attempting to complete potentially confusing operations.

Title Description Date

Configure SharePoint Server 2010 with AD FS trusted claims

This video illustrates the step-by-step process that configures Active Directory Federation Services version 2.0 (AD FS) in Microsoft SharePoint Server 2010. For more information, see How to configure AD FS v 2.0 in SharePoint Server 2010.

September 2011

Remove items from search results

This video demonstrates two ways that you can immediately remove items from search results in SharePoint Server 2010 or Search Server 2010.

May 2011

Create a Secure Store target application for use with the Unattended Service Account

This video demonstrates how to create a Secure Store target application for use with the Unattended Service Account in Excel Services or Visio Services. For more information, see Use Secure Store with SQL Server Authentication (SharePoint Server 2010).

December 2010

Create a SQL Server table data connection in PerformancePoint Services

This video illustrates how to use PerformancePoint Services in Microsoft SharePoint Server 2010 to create a data connection to a table in Microsoft SQL Server. For more information, see Create a SQL Server table data connection (PerformancePoint Services).

October 2010

Create a target application for SQL Server Authentication

This video demonstrates how to create a Secure Store target application for use with SQL Server Authentication. For more information, see Use Secure Store with SQL Server Authentication (SharePoint Server 2010).

September 2010

Configure a target application for the Unattended Service Account

This video demonstrates how to create a Secure Store target application for use with the Unattended Service Account in Excel Services or Visio Services. For more information, see Use Secure Store with SQL Server Authentication (SharePoint Server 2010).

September 2010

Configure Excel Services

This video demonstrates how to configure Excel Services for use with SQL Server Authentication. For more information, see Use Secure Store with SQL Server Authentication (SharePoint Server 2010).

September 2010

Configure Visio Services

This video demonstrates how to configure Visio Services for use with SQL Server Authentication. For more information, see Use Secure Store with SQL Server Authentication (SharePoint Server 2010).

Deploy a workflow as a WSP file

This video shows how to use the user interface to complete the following tasks:

  • Download a workflow template as a .WSP file

  • Upload the WSP file to a site collection and activate it on the site collection

  • Activate the workflow on two different sites

For more information, see Deploy a workflow as a WSP file (SharePoint Server 2010).

April 2010


Scenarios and solutions (SharePoint Server 2010)

Published: July 29, 2010

Scenarios & Solutions

Content Areas

Business intelligence scenarios and solutions

Published intranets in SharePoint Server 2010


Business intelligence scenarios and solutions
See Also

Published: July 29, 2010

The articles in this section are intended to help you apply and integrate Microsoft SharePoint Server 2010 Service applications to solve your business intelligence needs.

In this section:

  • Analyze data from SQL Server Analysis Services by using Excel

  • Case Study: Edgenet and self-service business intelligence (SharePoint Server 2010)

  • Configuring a BI infrastructure: Hands-on labs

  • Configure a SharePoint Server 2010 farm for business intelligence by using NTLM

  • Configure extranet access for PerformancePoint Services 2010 (white paper)

  • Configure Kerberos authentication for SharePoint 2010 Products (white paper)

  • Create a Balanced Scorecard by using Dashboard Designer

  • Excel Services data refresh flowchart

  • Monitor SharePoint Server by using Visio Services and System Center Operations Manager

  • PerformancePoint Services process diagram

  • PerformancePoint Services SuperFlows

  • Review and track workbooks on a PowerPivot Gallery by using SharePoint approval workflows

  • Self-service business intelligence with Excel, PowerPivot for Excel, and Excel Services

  • Store and manage business intelligence content in a central location

  • Track and analyze sales by using a PerformancePoint dashboard (SharePoint Server 2010)

  • Understanding business intelligence planning solutions and scenarios (SharePoint Server 2010)

  • Use custom extensions with PerformancePoint Services (SharePoint Server 2010)

  • Use Excel Services with Secure Store (SharePoint Server 2010)

  • Use Project Server with PerformancePoint Services (SharePoint Server 2010)

  • Use Secure Store with SQL Server Authentication (SharePoint Server 2010)

  • Use Visio Services with complex data queries

  • Use Visio Services with Secure Store

  • Use Visio Services with SharePoint lists (SharePoint Server 2010)

  • Viewing reports and scorecards on Apple iPad devices (SharePoint Server 2010)

See Also

Other Resources

Resource Center: Business Intelligence in SharePoint Server 2010


Analyze data from SQL Server Analysis Services by using Excel
See Also

Published: August 11, 2011

You can use Microsoft Excel 2010 and Microsoft SQL Server 2008 R2 PowerPivot for Microsoft Excel 2010 to create PivotTable and PivotChart reports to analyze data imported from Microsoft SQL Server 2008 Analysis Services (SSAS). PowerPivot for Excel 2010 is an add-in to Excel 2010 that you can download from the Microsoft Download Center (http://go.microsoft.com/fwlink/p/?LinkId=224183).

Whether you use Excel 2010 or PowerPivot for Excel 2010 depends largely on how much data that you are analyzing. PowerPivot for Excel 2010 supports more rows of data and lets users import data from multiple sources. It also uses all native Excel 2010 features but processes calculations faster through the in-memory business intelligence engine.

The network administrator or IT department deploys and maintains the various servers in large and mid-size organizations, but the information worker (IW) often has to access the data that is stored on these servers. Excel 2010 and PowerPivot for Excel 2010 enable IWs to perform self-service tasks for business intelligence. Importing the business intelligence data from SQL Server 2008 Analysis Services is one of the first steps required before any analysis can be done. Typically, IT departments control the back-end data for organizations and can answer several important questions:

  • What data do I need?

  • Where does this data reside?

  • Do I have permission to access this data?

  • Are there data connection files that I can use to access this data?

Once the data is imported with either Excel 2010 or PowerPivot for Excel 2010, you can filter, organize, or sort it for further analysis.

PivotTable reports provide an interactive way to summarize large amounts of data, analyze, explore and present summary data. PivotChart reports provide a visual aspect of the workbook data with the PivotTable and can help you compare, and find any patterns or trends in the data. Creating and maintaining data in Excel provides the ability to continually edit values in the workbook or worksheet, and you then use this data for analysis in either Excel 2010 or PowerPivot.

When you create a PivotTable report from external data, you are creating a connection to the external data source, typically by using an Office Data Connection (ODC) file. Connection information can also be embedded inside an Excel workbook, referenced from a local or network drive, or referenced from a SharePoint Server trusted location, such as a data connection library. The ODCs support the following data providers:

  • SQL Server, SQL Server Analysis Services, and PowerPivot

  • Oracle

  • IBM DB2

Note:

A SharePoint Server administrator can install and register additional data providers.

In this article:

  • Analyzing data in Excel 2010

  • Analyzing data in PowerPivot for Excel 2010

  • Saving the PivotTable or PivotChart to SharePoint Server 2010

Analyzing data in Excel 2010

Analyzing data from an external source with the Excel client can involve some or all of the following steps:

  • To create a PivotTable or PivotChart report that uses an external data source

  • To configure the PivotTable Report

  • Using slicers in PivotTables

This section first explains how to create an ODC file to store a connection to SQL Server 2008 Analysis Services. Next, it describes how to use the stored connection to import data from the external source and finally, how to use PivotTable or PivotChart reports to analyze the data with Excel 2010.

The following procedures describe how to create an ODC file to store a connection to SQL Server 2008 Analysis Services to import external data and then configure a PivotTable and PivotChart report.

To create a PivotTable or PivotChart report that uses an external data source

  1. In Excel, click the Insert tab, and in the Tables group, click the arrow under PivotTable and then click PivotTable. Note that you can also create a PivotChart based on the PivotTable report at the same time. To do so, click PivotChart.

  2. On the Create PivotTable window, in the Choose the data that you want to analyze section, click Use an external data source to connect to an external data source, for example SQL Server 2008 Analysis Services. Next, click Choose Connection, where you can use an existing Office Data Connection file (ODC), or click Browse for More and then on the Select Data Source window, click New Source to open the Data Connection Wizard.

    The Data Connection Wizard requires the following information:

    • Server or instance name

    • Logon credentials (Integrated Windows authentication or fixed credentials)

    • Database (Relational or OLAP)

    • Table or view for a relational database, or a cube or perspective for OLAP

    • Name and storage location of the data connection file (such as a local or network drive), or a SharePoint Server trusted location (data connection library)

    • Optional description

    • Search keywords

    • Friendly name (name for the data connection file seen in the workbook)

    • If Excel Services will be used with the connection file, one of the following authentication settings must be set:

      • Windows Authentication Default authentication method that uses the current user's credentials

      • SSS Credentials are saved in a Secure Store Service (SSS) application (requires the ID of the SSS or application)

      • None The authentication information is embedded in the connection string and requires the unattended service account

  3. On the Data Connection Wizard window, select the data source that you want to connect to from the available list, and then click Next.

  4. In the Connect to Database Server section, type the server name in the first box, and select the Log on credentials to use to connect. In this example, select Use Windows Authentication as the logon credentials, and then click Next.

  5. In the Select Database and Table section, click the arrow in the Select the database that contains the data that you want section, and then select the database from the list. Next, click Connect to a specific cube or table if you know the specific data that you want to connect to, select the cube or table from the list at the bottom of this window, and then click Next.

  6. On the Save Data Connection File and Finish window, type the name and description for this new Data Connection file (ODC), and then click Finish to save. You can also type Search Keywords at the bottom of this window, and select the Always attempt to use this file to refresh data option if it is needed. Click Authentication Settings if you want to specify the kind of authentication that you want for this data connection when the workbook is accessed by using Excel Services, and then click OK. Click Finish on the Data Connection Wizard.

  7. Now that you have created a new ODC connection to use for this external data source connection, you are returned to the Create PivotTable window. In the Choose where you want the PivotTable report to be placed section, select one of the following location options:

    • Click the New Worksheet option to place the PivotTable report in a new worksheet starting at the first cell, A1.

    • Click the Existing Worksheet option to place the PivotTable report in an existing worksheet, and then in the Location box, specify the first cell in the range of cells where you want to position it. The default location is in the first worksheet at the first cell, shown as, Sheet1!$A$1.

  8. Click OK when you have finished.

Note:

If you create a PivotChart report while you create a PivotTable report, Excel displays the chart on the associated PivotTable report. A PivotChart report and its associated PivotTable report must always be in the same Excel workbook.

Excel adds an empty PivotTable report to the location that you specified and displays the PivotTable field list so that you can add fields, create a layout, and customize the report according to what data that you want to analyze. In this scenario, we added the empty PivotTable report to a new Excel worksheet. Next we add fields to the report by using the following procedure.

To configure the PivotTable Report

  1. To add fields to the empty PivotTable report in the Excel worksheet, use any of the methods in the following list.

    Note:

    If you create a PivotChart report at the same time as a PivotTable report then Excel displays the chart on the PivotTable report. The PivotTable report supplies the source data for the PivotChart report. This means that at any time that the data or layout is changed in one report, the other report changes too.

    • Select the check box next to each field name in the field section. The field is positioned in a default area of the layout section. However, you can rearrange the fields if you want.

      Note:

      Nonnumeric fields are added to the Row Labels area, numeric fields are added to the Values area, and Online Analytical Processing (OLAP) date and time hierarchies are added to the Column Labels area.

    • Right-click the field name and then select the appropriate command that you want to use. The following commands are available:

      • Add to Report Filter

      • Add to Column Label

      • Add to Row Label

      • Add to Values

  2. Alternately, you can drag a field to a layout section area. In the Choose fields to add to report box, click and hold a field, and then drag it from the field section to the layout section where you want to position it.

In the PivotTable field list, you can control the PivotTable and PivotChart data by adjusting the field layout of the data. This lets you customize your data to make it easier to analyze. For more information, see Pivot data in a PivotTable or PivotChart report (http://go.microsoft.com/fwlink/p/?LinkId=224955), on Office.com.

Using slicers in PivotTables

Use slicers in Excel 2010 to filter data in a PivotTable report. Slicers are filtering components that provide a set of buttons that enable filtering. Each slicer filters on a specific PivotTable field so generally you use multiple slicers on each PivotTable report. Shared slicers are used on multiple PivotTables, and local slicers are used in one PivotTable. You can also create a stand-alone slicer that is referenced from OLAP Cube functions and can be used by any PivotTable in the future.

To create a slicer in an existing PivotTable

  1. In Excel 2010 open a PivotTable report and then click anywhere in the report. This enables the PivotTable Tools (group) that includes Options and Design.

  2. Click Options, and then in the Sort & Filter section, click Insert Slicer.

  3. In the Insert Slicers window, select the check box of the PivotTable fields for which you want to create a slicer. To select multiple items, hold down the Ctrl key, and then click the other items that you want to filter.

  4. Click OK. The slicer is displayed that includes every field that you selected.

To create a stand-alone slicer

  1. In Excel 2010 open a PivotTable report, on the ribbon click the Insert tab, and in the Filter group, click Slicer.

  2. In the Existing Connections dialog box, in the Show box, select one of the following connection types:

    • All Connections Displays all available connections.

    • Connections in this Workbook Displays only the list of connections that are created for this workbook—for example, connections that were created that use the Data Connection Wizard.

    • Connection files on the Network Displays only the connections that are available in the network. These connections typically reside in a Data Connection Library on SharePoint Server 2010.

    • Connection files on this computer Displays only the connections that are available on this computer.

      If you have to create a new data connection file, click Browse for More, and then click New Source. This opens the Data Connection Wizard where you can create a new connection to a remote data source.

  3. In the Select a Connection window, click the connection that you want to use, and then click Open.

  4. In the Insert Slicers dialog box, click the check box for the fields that you want to create a slicer for, and then click OK.

To share a slicer with another PivotTable

  1. Open a PivotTable that contains the slicer you want to share and then click the slicer. The Slicer Tools tab on the ribbon appears.

  2. Click the Options tab on the ribbon and in the Slicer group, click PivotTable Connections.

  3. In the PivotTable Connections dialog box, select the check box of the PivotTable that you want to share, and then click OK.

To use a shared slicer from another PivotTable

  1. In an Excel 2010 workbook, on the ribbon click the Data tab and in the Get External Data section, click Existing Connections.

  2. In the Existing Connections dialog box, in the Show box, verify that All Connections is selected. Select the connection that you want to use and then click Open.

  3. In the Import Data window, click the option button for PivotTable Report, and then click OK.

  4. After the PivotTable report appears, click anywhere in the report to make the PivotTable Tools appear on the ribbon. Click the Options tab, and in the Sort & Filter section, click Insert Slicer, and then click Slicer Connections.

  5. In the Slicer Connections window, select the check box of the slicers that you want to use, and then click OK.

  6. In each slicer, click the items that you want to filter. Note that all PivotTables that share the slicer will display the same filters.

Analyzing data in PowerPivot for Excel 2010

PowerPivot for Excel 2010 provides the ability to import data and then analyze it as you want. After you import the data into the PowerPivot for Excel window, you can then do any of the following tasks to prepare it for analysis:

  • Review the data

  • Filter the information accordingly

  • Manipulate the data by adding or deleting table columns

  • Connect multiple tables with relationships

  • Create new calculations to show the purpose of the data

The flexibility of PowerPivot for Excel 2010 means that these processes are not required every time that you prepare to analyze data, but can often be done independently of one another to help you achieve the same results. For more information, see Prepare Data for Analysis in PowerPivot.

This section explains how to work with the data that you have added to the PowerPivot for Excel window. The following areas are featured in this section.

  • Import data from a SQL Server Analysis Services cube

  • Create a PivotTable or PivotChart report

  • Create a measure in a PivotTable or PivotChart

  • Filter data in PowerPivot by using slicers

  • Save the PivotTable or PivotChart to SharePoint Server 2010

Import data from a SQL Server Analysis Services cube

This section explains how to import data from a SQL Server Analysis Services cube with PowerPivot for Excel 2010. When you import data from a cube with PowerPivot for Excel you must use a query to specify and retrieve the data. Also, note that any data that you import from a cube is flattened. That is, if you define a query to retrieve measures along multiple dimensions, the data will be imported with each dimension in a separate column.

To import data from a cube

  1. In Excel, click the PowerPivot tab, and then in the Launch section, click PowerPivot Window.

  2. In the PowerPivot window, in the Get External Data section, click From Database, and then select From Analysis Services or PowerPivot.

  3. In the Table Import Wizard window, in the Connect to Microsoft SQL Server Analysis Services page, type a descriptive name for this data connection in the Friendly connection name box.

  4. In the Server or File Name box, type the name of the server that hosts the SQL Server Analysis Services instance and the SQL Server Analysis Services instance name. Use this example: Contoso\SSAS.

  5. In the Database name, click the down arrow next to the box and select, an Analysis Services database from the list.

  6. Click Next to continue.

  7. In the Specify a MDX Query page, either paste an existing MDX query statement that you want to use in the box or click Design to open the MDX query builder.

    If you paste your own MDX query in the box, click Validate to check that the query works.

  8. The following steps use the sample Contoso cube as an example for building a query in the MDX query builder:

    1. Click Select Cube to expand the list of available cubes. This button is located on the left side of the query builder and at the top of the Metadata pane. Select the Sales cube to use from this list.

    2. In the Metadata pane, expand Measures, and then expand Sales.

    3. Drag Sales Amount to the right into the Data pane.

    4. In the Metadata pane, expand the Product dimension and drag Product Category Name to the left of Sales Amount in the Data pane.

    5. In the Metadata pane, expand the Date dimension and drag Calendar Year to the left of Product Category Name in the Data pane.

    6. In the Metadata pane, drag Date to the Dimension column in the Filter pane. In Hierarchy, select Calendar Year. In Operator, select Range (Exclusive). In Filter Expression, click the down arrow and select Year 2005 on the left side, and select Year 2009 on the right side.

      This creates a filter on the cube so that you exclude the values for 2005 and 2009.

    7. Click OK, and the MDX query appears in the MDX Statement box.

    8. Type a name for this data set in the Friendly Query Name box, and then click Finish.

    9. In the Importing page, click Close when the data has finished loading.

For more information about how to build MDX queries, see Analysis Services MDX Query Designer (PowerPivot).

Create a PivotTable or PivotChart report

Using an Excel workbook with PowerPivot for Excel, you can create PivotTables and PivotCharts in two locations. You can create these either in the PowerPivot window on the Home tab, or in the Excel window on the PowerPivot tab. You must use one of these options when you use the data in a PowerPivot window to build a PivotTable or PivotChart. Note that the PivotTable button in the Insert tab on the Excel window only uses data that is stored in the Excel workbook, not PowerPivot data.

To create a PivotTable report or PivotChart report

  1. In the PowerPivot window, on the Home tab, in the Reports group, click the down arrow under the PivotTable button.

  2. Select the option that you want from the list that appears:

    • PivotTable

    • PivotChart

    • Chart and Table (Horizontal)

    • Chart and Table (Vertical)

    • Two Charts (Horizontal)

    • Two Charts (Vertical)

    • Four Charts

    • Flattened PivotTable

  3. To specify the location that you want to create the new PivotChart or PivotTable, click New Worksheet or Existing Worksheet.

  4. Click OK. Excel then adds the report to the location that you selected and displays the PowerPivot Field List, with which you can add fields and customize the report.

For more information, see Create a PivotTable or PivotChart Report and PowerPivot Field List.

Create a measure in a PivotTable or PivotChart

After you have created a PivotTable or PivotChart report, you can create a measure to analyze the report. A measure is a formula that is created specifically for a PivotTable or PivotChart and uses PowerPivot data. Use the Measure Settings dialog box to create a measure that contains a standard aggregation, such as a sum, an average, or another calculation that uses the columns and tables in the PowerPivot window. Create standard aggregations exactly like in Excel, by dragging fields to the Values field area and then selecting one of the standard aggregation methods, such as COUNT, SIM, AVERAGE, MIN< or MAX. When you save the measure, it is saved with the base table. However, you can use it anywhere in the PivotTable or PivotChart report.

Create a custom aggregation or user-defined measure with the Measure Settings dialog box. The formulas for a PowerPivot measure are like formulas in Excel but offer various additional functions to work with tables and calculate filtered aggregations, and also to use with time intelligence.

To create a measure

  1. In the Excel window, click inside an existing PivotTable that is associated with a table in the PowerPivot window.

  2. Click the PowerPivot tab, and in the Measures section, click New Measure.

  3. In the Measure Settings dialog box, click the arrow next to Table name and select a table from the drop-down list.

  4. In Measure Name (All PivotTables), type the name to use as the identifier for this measure. Note that the identifier name must be unique. This name cannot be the same name as any column, table, or measure already in the workbook.

  5. In Custom Name (This PivotTable), type the name to use as the display name for this measure in the PivotTable.

  6. In the Formula box, type the formula that you want to use, or click Fx to select a function from a list and build a formula.

    For more information about how to build formulas see Build Formulas for Calculations.

  7. Click Check formula to validate your formula, and then click OK.

To edit a measure

  1. In the Excel window, click inside an existing PivotTable or PivotChart area to make the PowerPivot Field List appear.

  2. In the PowerPivot field list, locate the name of the table that contains the measure that you want to edit, right-click the measure, and then click Edit Formula. Note that Measures appear with a small calculator icon next to the name.

  3. In the Measure Settings dialog box, edit the formula. When finished, click Check formula, and then click OK.

Filter data in PowerPivot by using slicers

Slicers in PowerPivot are the same as in Excel. They are single-click filtering controls that focus the data in PivotTables and PivotCharts. Slicers provide a collaborative method to select conditions and then see the changes. Note that slicers do not add more rows to a table but only provide an interactive view into the data. The following procedure explains how to use slicers in PowerPivot.

You can add slicers by using the ribbon in Excel 2010 or by dragging the field items into either the Slicers Vertical area or the Slicers Horizontal area in the PowerPivot Field List.

To add slicers by using the PowerPivot field list

  1. In the Excel 2010 window, click anywhere in a PivotTable to display the PowerPivot Field List.

  2. In the PowerPivot Filed List, do one of the following tasks:

    • Right-click a field that you want to use to filter and then click either Add to Slicers Horizontal or Add to Slicers Vertical.

    • Drag the field that you want use to filter into the Slicers Vertical area or the Slicers Horizontal areas.

    The slicer appears in the workbook and the slicer items are displayed. Note that by default, all slicer items are selected.

  3. Click the slicer items that you want to apply a filter for in the PivotTable data. Hold the Ctrl key while you click each slicer item to add multiple items.

To arrange the order of slicers in a workbook

  • In the PowerPivot Field List, right-click the field name in either the Slicers Vertical or the Slicers Horizontal areas, and then select one of the following to arrange the order: Move Up, Move Down, Move to Beginning, or Move to End.

To resize and reposition slicers

  1. In the Excel 2010 window, click anywhere in a PivotTable to display the PowerPivot Field List. Note that any Slicers that have already been added using PowerPivot appear inside a gray border.

  2. Click and drag the gray border surrounding the slicer zone to modify the size or realign it.

  3. To position multiple slicers side-by-side, drag them next to one another in the order that you want and they will snap inside the gray border.

Saving the PivotTable or PivotChart to SharePoint Server 2010

After creating the PivotTable and PivotChart reports, you can save them to a SharePoint Server 2010 site so that other users can analyze this data in a Web browser without having Excel installed on their computers. When you save a workbook to a SharePoint Server 2010 site, the complete workbook is saved but you can select individual worksheets or workbook items to publish.

To save PivotTable and PivotChart reports to SharePoint Server 2010

  1. In Excel 2010, on the ribbon click the File tab, click Save & Send, and then click Save to SharePoint.

  2. To select specific worksheets or workbook items to publish, click Publish Options.

  3. In Publish Options, on the Show tab, click the arrow next to the default Entire Workbook in the list, and then click Items in the Workbook. This lets you select specific items to show in the browser such as named ranges, charts, tables, or PivotTables, depending on your workbook.

  4. In the next box, select the items that you want to save from the list, for example All Charts and All PivotTables.

  5. On the Parameters tab, type any defined names that you want to use to specify cells that are editable when users view the workbook by using Excel in the browser. Then click OK to close the Publish Options dialog box.

  6. Choose a SharePoint Server 2010 site to save your workbook from the Current Location, Recent Locations, or Locations lists. If there are no saved sites listed, double-click Browse for a location to open the Save As dialog box.

  7. In the Save As dialog box, type the Web address for the SharePoint Server 2010 site, and then browse to the site where you want to save your workbook.

  8. In the File name box, acknowledge the name as correct or rename the file.

  9. Click the Open with Excel in the browser check box if you want to display the workbook contents in a browser window after you save it.

  10. Click Save.

See Also

Other Resources

Create a Reporting Services Report with PowerPivot Data


Case Study: Edgenet and self-service business intelligence (SharePoint Server 2010)

Published: October 21, 2010

The Case Study: Edgenet Realizes the Power of Dynamic IT and Self-Service BI white paper is available for download on Microsoft Download Center. This case study describes how the Edgenet IT department makes better use of the self-service business intelligence capabilities in Microsoft SharePoint Server 2010 and Microsoft SQL Server 2008 R2. The case study explains the benefits that Edgenet realized by upgrading its Microsoft server software and also its internal business intelligence processes.

Edgenet is a network that provides data to retailers, suppliers, and consumers to improve sales and customer satisfaction. The Edgenet IT department streamlined its self-service business intelligence processes by deploying the latest Microsoft business intelligence software. These new business intelligence processes helped to identify and eliminate IT department impediments and provide easier, more efficient ways for the Edgenet business departments to access and use customer analytics.


Configuring a BI infrastructure: Hands-on labs

Published: May 26, 2011

This series of articles gives you hands-on experience configuring the various business intelligence services available in Microsoft SharePoint Server 2010. This involves configuring a SharePoint Server 2010 farm in an isolated test environment and then walking through a series of labs to complete the exact procedures necessary to configure the various business intelligence service applications.

This series includes labs for configuring:

  • Excel Services

  • Visio Services

  • PerformancePoint Services

In each case, there is a lab for configuring the service application and its associated accounts and additional labs for configuring data access.

The first part of this series of labs is a set of labs to create the baseline environment on which the other labs build. This includes creating the SharePoint Server 2010 farm and configuring the Secure Store Service and creating a Business Intelligence Center.

The baseline environment is built by using Windows Server 2008 Hyper-V technology. Although you could build the environment by using other virtualization technologies or physical hardware, those options are not discussed in these labs.

To build the baseline environment, you need a computer that is running Windows Server 2008 or Windows Server 2008 R2 with Hyper-V enabled.

Note:

Instructions for configuring Hyper-V are included in case you have not already configured it.

The computer that you use for the baseline environment must have at least 8 GB of RAM and 100 GB of free disk space. Additional RAM will improve performance, as will distributing the virtual machines across multiple physical disks.

Important:

The labs in this series give you hands-on experience configuring the business intelligence offerings in SharePoint Server 2010 by using an isolated Hyper-V test environment. These labs should not be used to create a production deployment of SharePoint Server 2010 on Hyper-V. For information about how to deploy your production SharePoint Server 2010 farm by using Hyper-V, see Use best practice configurations to prepare the Hyper-V environment (SharePoint Server 2010).

To get started with the labs, see Create a baseline environment for a BI test environment.


Create a baseline environment for a BI test environment

Published: May 26, 2011

This series of hands-on labs describe how to create a Microsoft SharePoint Server 2010 farm in an isolated Hyper-V test environment. This is the baseline environment that you will use for completing the further labs for configuring the business intelligence service applications available in SharePoint Server 2010.

Important:

The labs in this series give you hands-on experience configuring the business intelligence offerings in SharePoint Server 2010 by using an isolated Hyper-V test environment. These labs should not be used to create a production deployment of SharePoint Server 2010 on Hyper-V. For information about how to deploy your production SharePoint Server 2010 farm by using Hyper-V, see Use best practice configurations to prepare the Hyper-V environment (SharePoint Server 2010).

Creating the baseline environment consists of the following steps:

  1. Configure Hyper-V on the host computer

  2. Set up a virtual machine with a domain controller for the virtual test domain

  3. Add additional virtual machines to the virtual domain

  4. Set up accounts that are needed to deploy the SharePoint Server 2010 farm

  5. Set up Microsoft SQL Server 2008 R2

  6. Install and configure SharePoint Server 2010

  7. Configure the Secure Store Service

  8. Create a Business Intelligence Center

A hands-on lab is provided for each of these steps.

Note:

These labs assume that you are using Windows Server 2008 R2 and SQL Server 2008 R2. Windows Server 2008 and Microsoft SQL Server 2008 can also be used, although there may be some minor differences in procedures. Also, you may be unable to complete some labs, such as those using PowerPivot for SharePoint 2010, if you are using SQL Server 2008.

To get started creating the baseline environment, see Hyper-V quick start for creating a BI test environment, or, if you have already configured Hyper-V, see Set up a domain controller for a BI test environment.


Hyper-V quick start for creating a BI test environment

Published: May 26, 2011

Important:

This article is part of the Configuring a BI infrastructure: Hands-on labs series. This is the first article in the series that describes how to set up a baseline test environment for the labs. The articles in this series should be read sequentially, starting with this article, as the procedures in each build on those in the last.

Hyper-V is the Microsoft virtualization solution. It is built into most versions of Windows Server 2008 and Windows Server 2008 R2. It offers an ideal platform to deploy a full-scale Microsoft SharePoint Server 2010 test environment for business intelligence without the need to purchase multiple servers.

This article describes the steps that you must follow to enable Hyper-V and create virtual machines. If you are already familiar with Hyper-V, you can move on the next article, Set up a domain controller for a BI test environment.

Enable Hyper-V

The first step is to enable Hyper-V. Hyper-V is a server role on Windows Server 2008 or Windows Server 2008 R2. To enable it, log on to the computer as an administrator and perform the following procedure.

To enable Hyper-V

  1. Click Start, click Administrative Tools, and then click Server Manager.

  2. In the left pane, click Roles.

  3. In the right pane, click Add Roles.

  4. If the Before You Begin page is displayed, click Next.

  5. On the Select Server Roles page, select the Hyper-V check box, and then click Next.

  6. On the Hyper-V page, click Next.

  7. On the Create Virtual Networks page, leave the network adapter check boxes cleared, and then click Next.

  8. On the Confirm Installation Selections page, click Install.

  9. On the Installation Results page, click Close.

  10. Restart the server.

Configure a virtual network

Once Hyper-V is enabled, you must create a virtual network within Hyper-V so that the virtual machines can communicate with one another. Two virtual networks are required:

  • An internal virtual network that allows the virtual machines to communicate with one another

  • An external virtual network that allows the virtual machines to communicate with your corporate network and the Internet (This is required specifically during installation of Microsoft SharePoint Server 2010 to download the prerequisites.)

To configure an internal network, perform the following procedure.

To configure an internal virtual network

  1. Click Start, click Administrative Tools, and then click Hyper-V Manager.

  2. In the left pane, click the node of the local computer.

  3. In the right pane, click Virtual Network Manager.

  4. Click Internal, and then click Add.

  5. In the Name text box, type Internal Network.

  6. Ensure that the Internal only option is selected, and then click OK.

Once the internal network is created, create an external network by using the following procedure.

To configure an external virtual network

  1. Click Start, click Administrative Tools, and then click Hyper-V Manager.

  2. In the left pane, click the node of the local computer.

  3. In the right pane, click Virtual Network Manager.

  4. Click External, and then click Add.

  5. In the Name text box, type External Network.

  6. Select the External option, and select a network adapter from the drop-down list.

  7. Select the Allow management operating system to share this network adapter check box.

  8. Click OK.

  9. On the Apply Network Changes dialog box, click Yes.

Create virtual machines

When you have completed network configuration, you can start adding virtual machines to Hyper-V. To complete all the steps in this series of articles, you need the following virtual machines:

Virtual machine | Operating System | Description | RAM
Contoso-DC | Windows Server 2008 R2 | Domain controller | 512 MB
Contoso-SQL | Windows Server 2008 R2 | Microsoft SQL Server 2008 R2 | 2048 MB
Contoso-AppSrv | Windows Server 2008 R2 | SharePoint Server 2010 | 2048 MB
Contoso-Client | Windows 7 | Windows 7 | 1536 MB

Note:

To perform the steps in the Excel Services labs, you must install Microsoft Excel 2010 on the Contoso-Client virtual machine. To perform the steps in the Visio Services labs, you must install Microsoft Visio Professional 2010 or Microsoft Visio Premium 2010 on the Contoso-Client virtual machine.

Perform the following procedure for each virtual machine that you want to create.

To create a virtual machine

  1. Click Start, click Administrative Tools, and then click Hyper-V Manager.

  2. In the left pane, click the node of the local computer.

  3. In the right pane, click New, and then click Virtual Machine.

  4. On the Before You Begin page, click Next.

  5. In the Name text box, type the name for the virtual machine from the previous table, and then click Next.

    Important:

    The Name text box specifies a name for the virtual machine in Hyper-V. This does not configure the computer name for the virtual machine itself. After you install the operating system on the virtual machine, you must configure the computer name to match the name in the previous table.

  6. On the Assign Memory page, type the appropriate memory value from the table above.

    Note:

    The memory table assumes that you are using a host computer with 8 GB RAM. If you have additional RAM available, we recommend that you increase the RAM allocated to your virtual machines, particularly to the Contoso-AppSrv and Contoso-SQL virtual machines.

  7. On the Configure Networking page, select External Network from the drop-down list, and then click Next.

  8. On the Connect Virtual Hard Disk page, leave the default values, and then click Next.

  9. On the Installation Options page, leave the Install an operating system later option selected and then click Next.

  10. Click Finish.

Load an operating system

Once a virtual machine is created that has an empty hard disk, the next step is to install an operating system. SharePoint Server 2010 requires Windows Server 2008 or Windows Server 2008 R2. We recommend that you use Windows Server 2008 or Windows Server 2008 R2 for each server virtual machine that you create. Perform the following procedure to install an operating system on a virtual machine.

To load an operating system on a virtual machine

  1. In Hyper-V Manager, right-click the virtual machine on which you want to load an operating system, and then click Settings.

  2. In the left pane, click DVD Drive.

  3. In the right pane, select the Image file option.

  4. Click Browse, and locate the ISO file that contains the operating system.

  5. Click OK.

  6. In Hyper-V Manager, double-click the virtual machine on which you want to load the operating system.

  7. In the Virtual Machine Connection window, click the Start icon on the toolbar.

  8. Install the operating system.

When you have created all of the virtual machines that you need and installed operating systems on each, the next step is to set up a domain controller. See the next article, Set up a domain controller for a BI test environment.


Set up a domain controller for a BI test environment

Published: May 26, 2011

Important:

This article is part of the baseline setup for the Configuring a BI infrastructure: Hands-on labs series. To complete the steps in this article, you must first have completed Hyper-V quick start for creating a BI test environment.

This article describes how to set up a domain controller on a virtual machine that is running Windows Server 2008 or Windows Server 2008 R2. This article and the remaining articles in this series assume that you have created the following infrastructure of virtual machines:

Virtual machine | Operating system
Contoso-DC | Windows Server 2008 or Windows Server 2008 R2
Contoso-SQL | Windows Server 2008 or Windows Server 2008 R2
Contoso-AppSrv | Windows Server 2008 or Windows Server 2008 R2
Contoso-Client | Windows 7

To perform the procedures in this article, log on to the Contoso-DC virtual machine as an administrator.

Video demonstration

This video shows how to set up the Contoso-DC domain controller for use in these labs.

Image of video

Running time: 4:58

Play video Watch the video.

Download video For an optimal viewing experience, download the video.

Right-click the link, and then click Save Target As to download a copy. Clicking the link opens a .wmv file in the default video viewer for full-resolution viewing.

Configure the domain controller

The first step in setting up a domain controller is to set a static IP address. Domain controllers require static IP addresses to function correctly.

Important:

Before you start, ensure that the network connection on the Contoso-DC virtual machine is set to Internal Network.

In this series of articles, we are using the 10.0.0.0 - 10.255.255.255 IP address range that is reserved for private networks. This address range is used on the internal network for the virtual domain. In situations where the External Network is used (such as for downloading Microsoft SharePoint Server 2010 prerequisites from the Internet), we assume that your existing corporate network will assign an appropriate IP address to the network adapter by using dhcp.

Depending on the network configuration, you may be able to use the 10.0.0.0 - 10.255.255.255 IP address range on a network adapter connected to your corporate network. This would enable you to span the virtual machines across multiple physical host computers. However, you should beware of potential IP address conflicts when you use static IP addresses of any kind on a shared network.

Perform the following procedure to configure a static IP address.

To configure a static IP address

  1. Click Start, and then click Control Panel.

  2. Click Network and Internet.

  3. Click Network and Sharing Center.

  4. Click Change Adapter Settings.

  5. Right-click the local area connection, and then click Properties.

  6. On the Local Area Connection Properties dialog box, clear the Internet Protocol Version 6 (TCP/IPv6) check box.

  7. Select Internet Protocol Version 4 (TCP/IPv4) and then click Properties.

  8. On the Internet Protocol Version 4 (TCP/IPv4) Properties dialog box, select the Use the following IP address option, and then type 10.0.0.1 in the IP address box.

  9. In the Subnet mask box, type 255.0.0.0.

  10. Select the Use the following DNS server addresses option, and then type 10.0.0.1 in the Preferred DNS server box.

  11. Click OK.

  12. Click Close.

  13. Click Close.

Once you have set the static IP address, you are ready to promote the virtual machine to a domain controller. This is performed at a command prompt by using the dcpromo command.

Note:

The password that you chose for the local administrator account for this virtual machine becomes the domain administrator password as soon as the domain controller has been configured.

Perform the following procedure to configure the domain controller.

To configure the domain controller

  1. Click Start, click Run, type dcpromo, and then click OK.

  2. On the Welcome to the Active Directory Domain Services Installation Services page, click Next.

  3. On the Operating System Compatibility page, click Next.

  4. On the Choose a Deployment Configuration page, select the Create a new domain in a new forest option, and then click Next.

  5. In the Name the Forest Root Domain page, type contoso.local in the FQDN of the forest root domain box, and then click Next.

  6. On the Set Forest Functional Level page, select Windows Server 2008 from the dropdown list, and then click Next.

  7. On the Set Domain Functional Level page, select Windows Server 2008 from the dropdown list, and then click Next.

  8. On the Additional Domain Controller Options page, ensure that the DNS server check box is selected, and then click Next.

  9. On the warning dialog box, click Yes.

  10. On the Location for Database, Log Files, and SYSVOL page, keep the default values, and then click Next.

  11. On the Directory Services Restore Mode Administrator Password page, type and confirm a password, and then click Next.

  12. On the Summary page, click Next.

  13. When the wizard has finished running, click Finish.

  14. Restart the virtual machine.

Once the domain controller setup is complete, you can add the other virtual machines to the domain. See the next article, Add a virtual machine to the virtual domain in a BI test environment.


Add a virtual machine to the virtual domain in a BI test environment

Published: May 26, 2011

Important:

This article is part of the baseline setup for the Configuring a BI infrastructure: Hands-on labs series. To complete the steps in this article, you must first have completed Set up a domain controller for a BI test environment.

This article describes adding virtual machines to the contoso.local domain. For Microsoft SharePoint Server 2010 to function correctly, you must add the remaining virtual machines to the domain before you install Microsoft SQL Server and SharePoint Server 2010.

For this series of articles, we assume the following IP address, operating system, and minimum memory configuration for the domain:

Virtual machine | Operating system | IP address | RAM
Contoso-DC | Windows Server 2008 R2 | 10.0.0.1 | 512 MB
Contoso-SQL | Windows Server 2008 R2 | 10.0.0.2 | 2048 MB
Contoso-AppSrv | Windows Server 2008 R2 | 10.0.0.3 | 2048 MB
Contoso-Client | Windows 7 | 10.0.0.4 | 1536 MB
Note:

The memory configurations in this table are the minimum recommended for this configuration. They enable you to deploy this environment on a host computer that has 8 gigabyte (GB) of RAM. If you experience performance issues, add memory, especially to the Contoso-AppSrv virtual machine.

Note:

To perform the steps in the Excel Services labs, you must install Microsoft Excel 2010 on the Contoso-Client virtual machine. To perform the steps in the Visio Services labs, you must install Microsoft Visio Professional 2010 or Microsoft Visio Premium 2010 on the Contoso-Client virtual machine.

Video demonstration

This video shows how to add a virtual machine to the domain.

Image of video

Running time: 3:55

Play video Watch the video.

Download video For an optimal viewing experience, download the video.

Right-click the link, and then click Save Target As to download a copy. Clicking the link opens a .wmv file in the default video viewer for full-resolution viewing.

Configuring the virtual machine

Perform the following procedure for the Contoso-SQL, Contoso-AppSrv, and Contoso-Client virtual machines. Use the IP addresses listed in the table.

Important:

As with the domain controller, each virtual machine must have the virtual network adapter set to Internal Network before you configure the static IP address.

To configure a static IP address

  1. Click Start, and then click Control Panel.

  2. Click Network and Internet.

  3. Click Network and Sharing Center.

  4. Click Change Adapter Settings.

  5. Right-click local area connection, and then click Properties.

  6. On the Local Area Connection Properties dialog box, clear the Internet Protocol Version 6 (TCP/IPv6) check box.

  7. Select Internet Protocol Version 4 (TCP/IPv4), and then click Properties.

  8. On the Internet Protocol Version 4 (TCP/IPv4) Properties dialog box, select the Use the following IP address option, and then type the IP address for the virtual machine that you are configuring in the IP address box.

  9. In the Subnet mask box, type 255.0.0.0.

  10. Select the Use the following DNS server addresses option, and then type 10.0.0.1 in the Preferred DNS server box.

  11. Click OK.

  12. Click Close.

Once the static IP address has been configured for each virtual machine, you can join the virtual machine to the contoso.local domain. Perform the following procedure on the Contoso-SQL, Contoso-AppSrv, and Contoso-Client virtual machines.

Note:

The default Windows Server 2008 firewall settings can interfere with the ability to join the computer to a domain. If you have problems joining the virtual machines to the domain, contact a network administrator for help. Because this is a private network that is not connected to the corporate network or the Internet, you can also consider turning off Windows Firewall.

To connect to the domain

  1. Click Start, right-click Computer, and then click Properties.

  2. Under Computer, name, domain, and workgroup settings, click Change settings.

  3. On the Computer Name tab, click Change.

  4. Select the Domain option, and then type contoso.local.

    Important:

    Make sure the Computer name in this dialog box matches the virtual machine name in the previous table. If it does not, repeat this procedure after you join the domain and change the computer name to match the name in the table.

  5. Click OK.

  6. In the Windows Security dialog box, type Contoso\Administrator for the user name, and type the password for that account. (This is the administrator password that you configured for the Contoso-DC virtual machine.)

  7. Click OK.

  8. On the Welcome to the domain dialog box, click OK.

  9. On the Computer Name/Domain Changes dialog box, click OK.

  10. Click Close.

  11. Restart the virtual machine.

Once the virtual machines have been joined to the contoso.local domain, the next step is to set up the domain accounts that you need for SharePoint Server 2010 and its associated applications. See the next article, Set up accounts for a BI test environment.


Set up accounts for a BI test environment

Published: May 26, 2011

Important:

This article is part of the baseline setup for the Configuring a BI infrastructure: Hands-on labs series. To complete the steps in this article, you must first have completed Add a virtual machine to the virtual domain in a BI test environment.

Video demonstration

This video shows how to add the required accounts for use in these labs.

Image of video

Running time: 5:45

Play video Watch the video.

Download video For an optimal viewing experience, download the video.

Right-click the link, and then click Save Target As to download a copy. Clicking the link opens a .wmv file in the default video viewer for full-resolution viewing.

Configure accounts

To configure Microsoft SharePoint Server 2010 in a server farm environment, there are several domain accounts needed to provide the most optimal and secure configuration. This article describes how to create accounts and groups at the domain level for use in the remaining configuration steps in this series of articles.

Account | Domain account | Description
SQL Server Administrator | Contoso\SQLAdmin | Administrator account for SQL Server 2008. Local Administrator on Contoso-SQL.
Farm Administrator | Contoso\FarmAdmin | Farm Administrator for the SharePoint Server 2010 farm. Local Administrator on Contoso-AppSrv.
SQL Server service account | Contoso\SQLSvc | Domain account for running SQL Server services.
Client user account | Contoso\John.Woods | Domain user account for testing BI functionality.
Client user account | Contoso\Susan.Burk | Domain user account for testing BI functionality.
Client user account | Contoso\Cindy.White | Domain user account for testing BI functionality.
Client user account | Contoso\David.Hamilton | Domain user account for testing BI functionality.
Client user account | Contoso\Jill.Frank | Domain user account for testing BI functionality.

To create these accounts, you must be logged on to Contoso-DC as the domain administrator (contoso\administrator).

Note:

Additional accounts will be created for SharePoint Server 2010 service applications and for data access as part of the other hands-on labs in this series.

Perform the following procedure for each account listed in the table.

To create an Active Directory account

  1. Click Start, click Administrative Tools, and then click Active Directory Users and Computers.

  2. Expand the domain node.

  3. Right-click Users, click New, and then click User.

  4. For a user account (for example, John Woods or Susan Burk) type the first and last name in the First name and Last name text boxes. For a service account, leave these text boxes blank.

  5. In the Full name box, for service accounts, type the name of the account (for example, FarmAdmin).

    Note:

    This text box is automatically populated for user accounts when you specify the First name and Last name fields.

  6. In the User logon name box, type the logon name for the account. For service accounts, this is the same as Full name; for user accounts this should be in the format first.last (for example, Susan.Burk).

  7. Click Next.

  8. Type and confirm a password for the account.

  9. Clear the User must change password at next logon check box.

  10. Select the Password never expires check box.

  11. Click Next.

  12. Click Finish.

Leave Active Directory Users and Computers open for the next procedure.

Once you have created the user accounts listed in the previous table, you must create an Active Directory group to contain these accounts. These groups are used to grant access to the Business Intelligence Center that we will create later in this series of labs.

We will create the groups listed in the following table.

Group | Description
BICenterRead | Provides Read access to the BI Center.
BICenterContribute | Provides Contribute access to the BI Center.
BICenterDesign | Provides Design access to the BI Center.
BICenterFullControl | Provides Full Control access to the BI Center.

Use the following procedure to create each Active Directory group.

To create an Active Directory group

  1. In Active Directory Users and Computers, right-click Users, click New, and then click Group.

  2. In the Group name text box, type the name of the group that you are creating from the previous table.

  3. Click OK.

Leave Active Directory Users and Computers open for the next procedure.

Once the groups have been created, you must add a user to each group, as specified in the following table.

Add this user | To this group
Contoso\John.Woods | BICenterRead
Contoso\Susan.Burk | BICenterContribute
Contoso\Cindy.White | BICenterDesign
Contoso\David.Hamilton | BICenterFullControl

Use the following procedure to add the specified user to each group.

To add users to an Active Directory group

  1. In Active Directory Users and Computers, click Users.

  2. In the pane on the right side, double-click the group to which you want to add a user.

  3. On the Members tab, click Add.

  4. In the Enter the object names to select box, type the name of the user whom you want to add to the group (for example, contoso\john.woods for the BICenterRead group).

  5. Click OK.

  6. Confirm that the appropriate user is now listed on the Members tab, and then click OK.

After you have created the required user accounts and groups and populated the groups in the Active Directory directory service, you can start to install software. The first step is to install SQL Server 2008. See the next article, Set up SQL Server for a BI test environment.


Set up SQL Server for a BI test environment

Published: May 26, 2011

Important:

This article is part of the baseline setup for the Configuring a BI infrastructure: Hands-on labs series. To complete the steps in this article, you must first have completed Set up accounts for a BI test environment.

This article describes how to install and configure Microsoft SQL Server 2008 for use with Microsoft SharePoint Server 2010. SharePoint Server 2010 requires one of the following versions of Microsoft SQL Server:

  • Microsoft SQL Server 2008 R2

  • Microsoft SQL Server 2008 with Service Pack 1 (SP1) and Cumulative Update 2

  • Microsoft SQL Server 2005 SP3 with Cumulative Update package 3 for SQL Server 2005 Service Pack 3

This article describes installing and configuring SQL Server 2008 R2.

Video demonstration

This video shows how to set up SQL Server 2008 R2 on the Contoso-SQL virtual machine.

Image of video

Running time: 11:13

Play video Watch the video.

Download video For an optimal viewing experience, download the video.

Right-click the link, and then click Save Target As to download a copy. Clicking the link opens a .wmv file in the default video viewer for full-resolution viewing.

Configure a local administrator

We recommend that you install SQL Server 2008 R2 while logged on with the SQL Server administrator domain account (Contoso\SQLAdmin). Prior to doing this, you must add this account to the Administrators group on the Contoso-SQL virtual machine.

Log on to the Contoso-SQL virtual machine with the domain administrator account (Contoso\administrator) and perform the following procedure to add the Contoso\SQLAdmin account to the local Administrators group.

To add a local administrator

  1. Log on to the virtual machine where you want to install SQL Server as a domain administrator (Contoso\Administrator).

  2. Click Start, click Administrative tools, and then click Computer Management.

  3. Expand Local Users and Groups, and then click Groups.

  4. In the pane on the right side, right-click Administrators, and then click Properties.

  5. Click Add.

  6. Type the name of the SQL Server administrator account (Contoso\SQLAdmin), and then click OK.

  7. Click OK.

  8. Log off the virtual machine.

To perform the remaining procedures in this article, log on to the Contoso-SQL virtual machine with the Contoso\SQLAdmin account.

Install SQL Server 2008 R2

The first step is to install SQL Server 2008. SQL Server 2008 requires .NET Framework version 3.5. If .NET Framework 3.5 is currently not installed, you must install it or enable it as a feature in Windows Server 2008 before you continue.

Perform the following procedure to install SQL Server 2008 on Contoso-SQL.

To install SQL Server 2008 R2

  1. Attach the SQL Server 2008 R2 DVD to the virtual machine DVD drive.

  2. Log on to the Contoso-SQL virtual machine as the SQL Server administrator (Contoso\SQLAdmin).

  3. On the SQL Server DVD, double-click setup.exe.

  4. If a SQL Server 2008 R2 setup requires Microsoft .NET Framework dialog box is displayed, click OK.

  5. In the SQL Server Installation Center, in the pane on the left side, click Installation.

  6. In the pane on the right side, click New installation or add features to an existing installation.

  7. On the Setup Support Rules page, click OK.

  8. On the product key page, type your product key, and then click Next.

  9. On the License Terms page, review the license agreement and, if you agree, select the I accept the license terms check box, and then click Next.

  10. On the Setup Support Files page, click Install.

  11. On the Setup Support Rules page, click Next.

  12. On the Setup Role page, select the SQL Server Feature Installation option, and then click Next.

  13. On the Feature Selection page, select the following check boxes:

    • Database Engine Services

    • Analysis Services

    • Reporting Services

    • Management Tools - Complete

    Note:

    We also recommend that you install SQL Server Books Online.

  14. Click Next.

  15. On the Installation Rules page, click Next.

  16. On the Instance Configuration page, leave the Default instance option selected, and then click Next.

  17. On the Disk Space Requirements page, click Next.

  18. On the Server Configuration page, change the Startup Type for SQL Server Agent from Manual to Automatic.

  19. Click Use the same account for all SQL Server services, type Contoso\SQLSvc for the Account Name, type the password for that account, and then click OK.

  20. Click Next.

  21. On the Database Engine Configuration page, select the Mixed Mode option, and type and confirm a password for the built-in SQL Server administrator account.

  22. Click Add Current User to add the current user account as a SQL Server administrator.

  23. Click Next.

  24. On the Analysis Services Configuration page, click Add Current User to add the current user account as an Analysis Services administrator.

  25. Click Next.

  26. On the Reporting Services Configuration page, select the Install the native mode default configuration option, and then click Next.

  27. On the Error and Usage Reporting page, leave the default values and then click Next.

  28. On the Installation Rules page, click Next.

  29. On the Ready to Install page, click Install.

  30. When the setup process is complete, click Close.

Configure logins

When SQL Server 2008 R2 has been installed, the next step is to create a logon for the Farm Administrator account (Contoso\FarmAdmin) to provide the necessary permissions for SharePoint Server 2010 installation and configuration.

Perform the following procedure to create a logon for the Farm Administrator account.

To create a logon for the Farm Admin

  1. Click Start, click All Programs, click Microsoft SQL Server 2008 R2, and then click SQL Server Management Studio.

  2. On the Connect to Server dialog box, type Contoso-SQL in the Server name text box, and connect to the Database Engine.

  3. In SQL Server Management Studio, expand Security, right-click Logins, and then click New Login.

  4. In the Login name box, type Contoso\FarmAdmin.

  5. In the pane on the left side, click Server Roles.

  6. Select the sysadmin and dbcreator server roles.

  7. Click OK.

Configure SQL Server network protocols

SharePoint Server 2010 requires that SQL Server 2008 allow connections over TCP/IP. Depending on your SQL Server configuration, this may be enabled by default. Use the following procedure to confirm that TCP/IP access is enabled.

To enable connections over TCP/IP

  1. Click Start, click All Programs, click Microsoft SQL Server 2008 R2, click Configuration Tools, and then click SQL Server Configuration Manager.

  2. Expand the SQL Server Network Configuration node.

  3. Click Protocols for MSSQLSERVER.

  4. In the Protocol Name list, confirm that TCP/IP is Enabled. If it is not, right-click TCP/IP, and then click Enable.

  5. If TCP/IP was disabled, restart the SQL Server service for the new setting to take effect.

    Note:

    To restart the service, in Management Studio, right click the Contoso-SQL node at the top of Object Explorer, and then click Restart.

After SQL Server configuration is complete, the next step is to install SharePoint Server 2010 on the Contoso-AppSrv virtual machine. See the next article, Install and configure SharePoint Server 2010 for a BI test environment.

Install the Contoso sample database

Several of the labs in this series use sample data from the Microsoft Contoso BI Demo Dataset for Retail Industry. To install this dataset, you first have to download the files from the Microsoft Download Center (http://go.microsoft.com/fwlink/p/?LinkId=219170). Download ContosoBIdemoBAK.exe.

You must install this file on the Contoso-SQL virtual machine. You can put the file on the virtual machine by using one of the following methods:

  • Create an ISO file that contains the downloaded file and attach it to the Virtual DVD drive on Contoso-SQL.

  • Burn the file onto a physical DVD and place the DVD in the DVD drive of the host computer that is running Hyper-V. Then, connect the Contoso-SQL virtual machine to the physical DVD drive.

  • Create a network file share that contains the file, and then connect to that file share from Contoso-SQL.

    Note:

    You may have to add an additional virtual network adapter to Contoso-SQL to gain access to a file share that is outside the Contoso domain.

Which method that you choose depends largely on your environment.

Once you have downloaded the file and copied it to the Contoso-SQL virtual machine, use the following procedures to install the sample data.

First, create a folder for the backup files.

To create a backup folder

  1. Click Start, click All Programs, click Accessories, and then click Windows Explorer.

  2. In the pane on the left side, click Computer.

  3. In the pane on the right side, double-click Local Disk (C:).

  4. Right-click the pane on the right side, click New, and then click Folder.

  5. Name the folder BackupFiles.

Once the folder has been created, you can unzip the contents of the ContosoBIdemoBAK.exe file to that folder. Use the following procedure to unzip the ContosoBIdemoBAK.exe file and restore the database backups to SQL Server.

To install the ContosoRetailDW database

  1. On the Contoso-SQL virtual machine, locate the ContosoBIdemoBAK.exe file.

  2. Double-click ContosoBIdemoBAK.exe.

  3. On the WinZip Self-Extractor dialog box, click Browse.

  4. On the Browse for folder dialog box, browse to the C:\BackupFiles folder, and then click OK.

  5. On the WinZip Self-Extractor dialog box, click Unzip.

  6. On the success dialog box, click OK.

  7. Click Close.

  8. Open SQL Server Management Studio and connect to the Database Engine.

  9. Right-click Databases, and then click Restore database.

  10. In the To database text box, type ContosoRetailDW.

  11. Select the From device option, and then click the browse button.

  12. On the Specify Backup dialog box, click Add.

  13. Browse to the C:\BackupFiles folder, click ContosoRetailDW.bak, and then click OK.

  14. On the Specify Backup dialog box, click OK.

  15. Select the check box for ContosoRetailDW-Full Database Backup, and then click OK.

  16. On the success dialog box, click OK.


Install and configure SharePoint Server 2010 for a BI test environment

Published: May 26, 2011

Important:

This article is part of the baseline setup for the Configuring a BI infrastructure: Hands-on labs series. To complete the steps in this article, you must first have completed Set up SQL Server for a BI test environment.

This article describes how to install SharePoint Server 2010 on the Contoso-AppSrv virtual machine.

Video demonstration

This video shows how to install SharePoint Server 2010 for use in these labs.

Image of video

Running time: 8:40

Play video Watch the video.

Download video For an optimal viewing experience, download the video.

Right-click the link, and then click Save Target As to download a copy. Clicking the link opens a .wmv file in the default video viewer for full-resolution viewing.

Install SharePoint Server 2010

The first step in installing Microsoft SharePoint Server 2010 is to install the SharePoint Server 2010 prerequisites. These can be automatically downloaded from the Internet and installed by the SharePoint Server 2010 prerequisite installer tool that is built into SharePoint Server 2010 setup.

Important:

The Enterprise edition of SharePoint Server 2010 is required for the scenarios in this hands-on labs series.

For the Contoso-AppSrv virtual machine to be able to download the necessary updates, you must add a second virtual network connection to the Contoso-AppSrv virtual machine and connect it to the External Network connection.

Note:

To add a network connection, the virtual machine must be turned off. When the virtual machine is off, right-click the virtual machine in Virtual Machine Manager, and then click Settings. On the Settings page, select Network Adapter in the Add Hardware section, and connect it to External Network.

Note:

If you cannot create an internet connection from the virtual machine, you can download the prerequisites from the Internet and create an ISO file that you can attach to the virtual machine DVD drive. For more information about what prerequisites are required, see Hardware and software requirements (SharePoint Server 2010). For information about how to install the prerequisites from a network share, see Install prerequisites from a network share (SharePoint Server 2010).

For installation of SharePoint Server 2010 and its prerequisites, use the Contoso\FarmAdmin account. This account must be a local administrator on the Contoso-AppSrv virtual machine.

Log on to the Contoso-AppSrv virtual machine with the domain administrator account (Contoso\administrator) and perform the following procedure to add the Contoso\FarmAdmin account to the Administrators group.

To add a local administrator

  1. Log on to the virtual machine where you want to install SharePoint Server 2010 by using the Contoso\Administrator domain administrator account.

  2. Click Start, click Administrative tools, and then click Computer Management.

  3. Expand Local Users and Groups, and then click Groups.

  4. In the pane on the right side, right-click Administrators, and then click Properties.

  5. Click Add.

  6. Type the name of the SQL Server administrator account (Contoso\FarmAdmin), and then click OK.

  7. Click OK.

  8. Log off the virtual machine.

To perform the remaining procedures in this article, log on to the Contoso-AppSrv virtual machine with the Contoso\FarmAdmin account.

To install the SharePoint Server 2010 prerequisites, perform the following procedure.

To install SharePoint Server 2010 prerequisites

  1. On the SharePoint Server 2010 DVD, run default.hta.

  2. On the SharePoint Server 2010 opening page, click Install software prerequisites.

  3. Follow the wizard to complete installation of all prerequisites.

    Note:

    Depending on your configuration, you may have to restart your computer during this process.

  4. When the wizard has finished, click Finish.

Once the prerequisites have been installed, you can install SharePoint Server 2010 itself. Perform the following procedure to install SharePoint Server 2010 on Contoso-AppSrv.

To install SharePoint Server 2010

  1. On the SharePoint Server 2010 DVD, run default.hta.

  2. On the SharePoint Server 2010 opening page, click Install SharePoint Server.

  3. On the Enter your Product Key page, type your product key, and then click Continue.

  4. On the Read the Microsoft Software License Terms page, read the license agreement and accept the terms by selecting the I accept the terms of this agreement check box.

  5. Click Continue.

  6. On the Choose the installation you want page, click Server Farm.

  7. On the Server Type page, select the Complete - Install all components option.

  8. Click Install Now.

  9. On the Run Configuration Wizard page, leave the Run the SharePoint Products and Technologies Configuration Wizard now check box selected, and then click Close.

  10. On the Welcome to SharePoint Products page, click Next.

  11. On the warning dialog box, click Yes.

  12. On the Connect to a server farm page, select the Create a new server farm option, and then click Next.

  13. On the Specify Configuration Database Settings page:

    1. In the Database server box, type the name of the database server (Contoso-SQL) where you want to host the SharePoint Server 2010 databases.

    2. In the Database name text box, keep the default database name of SharePoint_Config.

    3. Type the user name and password of the database access account (Contoso\FarmAdmin).

    4. Click Next.

      Note:

      If the wizard is unable to connect to Contoso-SQL, check the firewall settings in Windows Server.

  14. On the Specify Farm Security Settings page, type and confirm a pass phrase for the farm, and then click Next.

  15. On the Configure SharePoint Central Administration web Application page, select the Specify port number check box, and type 8080 in the text box.

    Note:

    In a production environment, you can choose any unused port or leave the default. We recommend that you choose a number that is easy to remember.

  16. Click Next.

  17. On the Completing the SharePoint Products Configuration Wizard page, click Next.

  18. On the Configuration Successful page, click Finish.

    Once SharePoint Server 2010 configuration has been completed, the SharePoint Central Administration Web site opens.

  19. On the Help Make SharePoint Better page, select the No, I don't wish to participate option, and then click OK.

    Note:

    Because this is an isolated test environment, this system will be unable to upload error reports.

  20. On the Configure your SharePoint farm page, click Cancel to cancel the farm configuration wizard.

When SharePoint Server 2010 configuration has been completed, the next step is to create a top-level Web site.

Configure the top-level Web site

A Web application is required to host the top-level web site. Perform the following procedure to create a Web application.

To create a Web application

  1. In Central Administration, in the Application Management section, click Manage Web applications.

  2. On the toolbar, click New.

  3. On the Create New Web Application page, keep the default values, and then click OK.

  4. When the Web application has been created, click OK.

The next step is to create a top-level Web site and give users Read permission to that site.

Note:

In a production environment you should carefully consider which users should be given permissions to a SharePoint site and at what level. In this case, we are granting Read permission to all users on the top-level site, and we will grant additional permissions to specific users on the Business Intelligence Center that we will be creating in a later lab.

Use the following procedure to create the top-level site.

To create a top-level Web site

  1. On the Central Administration home page, in the Application Management section, click Create site collections.

  2. Confirm that Web Application is set to http://contoso-appsrv/.

  3. Type Contoso in the Title box.

  4. In the Primary Site Collection Administrator section, type FarmAdmin.

  5. Click OK.

Now that the top-level site has been created, we will grant users access to it. Use the following procedure to grant users Read access to the site.

To set Read permission on the top-level Web site

  1. Navigate to the root site (http://contoso-appsrv).

  2. Click Site Actions.

  3. Click Site Permissions.

  4. Click Grant Permissions.

  5. In the Users/Groups box, type NT AUTHORITY\Authenticated Users.

  6. Under Give Permission, select Contoso Visitors [Read].

  7. Click OK.

The next step is to configure the Secure Store Service. See the next article, Configure Secure Store Service for a BI test environment.


Configure Secure Store Service for a BI test environment

Published: May 26, 2011

Important:

This article is part of the baseline setup for the Configuring a BI infrastructure: Hands-on labs series. To complete the steps in this article, you must first have completed Install and configure SharePoint Server 2010 for a BI test environment.

In this article we deploy Secure Store Service. Secure Store provides a means of storing encrypted credentials for use in accessing data sources. It is used by Excel Services, Visio Services, and PerformancePoint Services to provide data refresh for data-connected reports, dashboards, and web drawings.

In a production environment, correct deployment of Secure Store requires careful planning. For information about how to plan and deploy Secure Store in your production environment, see Plan the Secure Store Service (SharePoint Server 2010) and Configure the Secure Store Service (SharePoint Server 2010).

Video demonstration

This video shows how to deploy the Secure Store Service for use in these labs.

Image of video

Running time: 5:05

Play video Watch the video.

Download video For an optimal viewing experience, download the video.

Right-click the link, and then click Save Target As to download a copy. Clicking the link opens a .wmv file in the default video viewer for full-resolution viewing.

Deploy the Secure Store Service

In this lab, we will deploy the Secure Store Service for use in the later labs in this series. This includes the following tasks:

  • Creating an Active Directory account to run the Secure Store Service application pool

  • Registering that account as a managed account in Microsoft SharePoint Server 2010

  • Starting Secure Store Service on an application server in the farm

  • Creating a Secure Store Service service application

  • Generating an encryption key

The first step is to create an Active Directory account for the Secure Store Service application pool. Use the following procedure to create the account.

To create an account for the application pool

  1. Log in to Contoso-DC by using the Contoso\administrator account.

  2. On the Contoso-DC virtual machine, click Start, click Administrative Tools, and then click Active Directory Users and Computers.

  3. Expand the contoso.local node.

  4. Right-click Users, click New, and then click User.

  5. In the Full name text box and the User logon name text box, type SecStrAcct.

  6. Click Next.

  7. In the Password and Confirm password text boxes, type a password for the account.

  8. Clear the User must change password at next logon check box.

  9. Select the Password never expires check box.

  10. Click Next.

  11. Click Finish.

  12. Log off Contoso-DC.

Before the account can be used to run a SharePoint Server 2010 application pool, it must be registered as a managed account. Use the following procedure to register the managed account.

To register a managed account

  1. Log in to Contoso-AppSrv by using the Contoso\FarmAdmin account.

  2. Click Start, click All Programs, click Microsoft SharePoint 2010 Products, and then click SharePoint 2010 Central Administration.

  3. On the Central Administration home page, in the left navigation, click Security.

  4. On the Security page, under General Security, click Configure managed accounts.

  5. On the Managed Accounts page, click Register Managed Account.

  6. In the User name text box, type Contoso\SecStrAcct.

  7. In the Password text box, type the password for the Contoso\SecStrAcct account.

  8. Click OK.

In order for Secure Store to work, you must start Secure Store Service on at least one application server in the farm.

Note:

In a production environment we recommend that you run Secure Store Service in a separate application pool that is not used for any other service.

In the case of this lab, Contoso-AppSrv is the only application server in the farm, so we start the service on that server. Use the following procedure to start Secure Store Service.

To start Secure Store Service

  1. On the Central Administration home page, in the System Settings section, click Manage services on server.

  2. Above the Service list, click the Server drop-down list, and then click Change Server.

    Note that the application server, Contoso-AppSrv, is listed together with Contoso-SQL. In a farm with multiple application servers, you would use this dialog box to select the server where you want to run Secure Store Service, and then start the service as shown later in this procedure.

  3. Click CONTOSO-APPSRV.

  4. In the Service list, click Start next to Secure Store Service.

Once the service is running, the next step is to create a Secure Store Service service application. Use the following procedure to create the service application.

To create a Secure Store Service service application

  1. On the Central Administration home page, in the Application Management section, click Manage service applications.

  2. On the Manage Service Applications page, click New, and then click Secure Store Service.

  3. In the Service Application Name text box, type Secure Store Service.

  4. Leave the default database settings.

    Note:

    In a production environment we recommend that you use a separate instance of SQL Server for the Secure Store database.

  5. Select the Create new application pool option and in the Application pool name text box, type SecureStoreAppPool.

  6. Under Select a security account for this application pool, select the Configurable option, and from the drop-down list, select Contoso\SecStrAcct.

  7. Click OK.

  8. When the Secure Store Service service application has been successfully created, click OK.

Before you can use Secure Store, you must first generate an encryption key. Use the following procedure to generate the key.

To generate a key

  1. On the Central Administration home page, in the Application Management section, click Manage service applications.

  2. Click the Secure Store Service service application link.

  3. On the Secure Store Service Application page, in the ribbon, click Generate New Key.

  4. Type and confirm a pass phrase for the key, and then click OK.

Now that Secure Store configuration is complete, the next step is to create a Business Intelligence Center. See the next lab, Configure a Business Intelligence Center for a test environment.


Configure a Business Intelligence Center for a test environment
See Also

Published: May 26, 2011

Important:

This article is part of the baseline setup for the Configuring a BI infrastructure: Hands-on labs series. To complete the steps in this article, you must first have completed Configure Secure Store Service for a BI test environment.

At this point, you have installed and configured Microsoft SharePoint Server 2010 but have not enabled certain services, such as Excel Services in Microsoft SharePoint Server 2010 or PerformancePoint Services in Microsoft SharePoint Server 2010. Those services enable robust business intelligence capabilities in SharePoint Server. However by using the baseline SharePoint Server environment that you previously configured, you do have certain capabilities that are available to you. For example, you can set up a Business Intelligence Center.

The Business Intelligence Center gives you a central location to store items, such as status indicators, reports, and dashboards. When you enable Excel Services and PerformancePoint Services, you will already have a location to store reports and dashboard content.

Video demonstration

This video shows how to set up a Business Intelligence Center.

Image of video

Running time: 6:27

Play video Watch the video.

Download video For an optimal viewing experience, download the video.

Right-click the link, and then click Save Target As to download a copy. Clicking the link opens a .wmv file in the default video viewer for full-resolution viewing.

Configuring a Business Intelligence Center

When you create and configure a Business Intelligence Center, you create a new site collection and select the Business Intelligence Center site template. The Business Intelligence Center is a top-level site on Contoso-AppSrv.

To create a Business Intelligence Center

  1. Log in to Contoso-AppSrv using the Contoso\FarmAdmin account.

  2. Click Start, click All Programs, click Microsoft SharePoint 2010 Products, and then click SharePoint 2010 Central Administration.

  3. In Central Administration, in the Application Management section, click Create site collections.

  4. In the Title and Description section, in the Title box, type BI Center.

  5. In the Web Site Address section, type BICenter in the box.

    Thus, the complete URL for this site collection is http://contoso-appsrv/sites/bicenter.

  6. In the Template Selection section, click the Enterprise tab, and then click Business Intelligence Center.

  7. In the Primary Site Collection Administrator section, type FarmAdmin.

  8. Click OK.

  9. When the top-level site (Business Intelligence Center) is successfully created, click OK.

The next step is to assign user permissions by using the accounts we set up in Set up accounts for a BI test environment. We will assign permissions for the Business Intelligence Center as listed in the following table:

Account | Permissions
Contoso\BICenterRead | Read Read permissions enable users to view information in the Business Intelligence Center.
Contoso\BICenterContribute | Contribute Contribute permissions enable users to view and create items, such as reports, and save them to this site.
Contoso\BICenterDesign | Design Design permissions enable users to view, create, and publish items that include dashboards.
Contoso\BICenterFullControl | Full Control Full Control permissions enable users to view, create, and publish dashboard content, and to view or edit user permissions

First, we will assign Read permissions to the Contoso\BICenterRead group.

To set Read permissions on the Business Intelligence Center

  1. Navigate to the Business Intelligence Center (http://contoso-appsrv/sites/bicenter).

  2. Click Site Actions.

  3. Click Site Permissions.

  4. Click Grant Permissions.

  5. In the Users/Groups box, type Contoso\BICenterRead.

  6. Under Grant Permission, select BICenter Visitors [Read].

  7. Click OK. Keep the Permissions: BICenter page open.

Next, we will assign Contribute permissions to the Contoso\BICenterContribute group.

To set Contribute permissions on the Business Intelligence Center

  1. In the Permissions: BICenter page, click Grant Permissions.

  2. In the Users/Groups box, type Contoso\BICenterContribute.

  3. Under Grant Permission, select BICenter Members [Contribute].

  4. Click OK. Keep the Permissions: BICenter page open.

The next step is to assign Design permissions to the Contoso\BICenterDesign group.

To set Design permissions on the Business Intelligence Center

  1. In the Permissions: BICenter page, click Grant Permissions.

  2. In the Users/Groups box, type Contoso\BICenterDesign.

  3. Under Grant Permission, select Designers [Design, Limited Access].

  4. Click OK. Keep the Permissions: BICenter page open.

Finally, we will assign Full Control permissions to the Contoso\BICenterFullControl group.

To set Full Control permissions on the Business Intelligence Center

  1. In the Permissions: BICenter page, click Grant Permissions.

  2. In the Users/Groups box, type Contoso\BICenterFullControl.

  3. Under Grant Permission, select BICenter Owners [Full Control].

  4. Click OK.

Note:

You will be unable to create and use some kinds of Web Parts in the Business Intelligence Center until Excel Services and PerformancePoint Services are enabled. For example, you cannot view or use Excel Services samples or PerformancePoint functionality.

Although we do not cover this in the labs, you can now use the Business Intelligence Center to create Web Part Pages, status indicators, and status lists. For more information, see Getting started with SharePoint status indicators.

Adding links to the Quick Launch

After you have created and configured the Business Intelligence Center, your next step is to add links to the Quick Launch. In the Business Intelligence Center, we will add a Documents library link and a link to the main team site. Then, in the main team site, we will add a link to the Business Intelligence Center.

In the Business Intelligence Center, the Documents library will contain reports and files, such as Excel Services workbooks, Visio Services files, and more. The Documents library for the Business Intelligence Center already exists. It was created automatically when we created the Business Intelligence Center. We only have to add the Documents library on the Business Intelligence Center Quick Launch, and then add a link to the main team site.

To add the Documents library and a link to the Quick Launch in the Business Intelligence Center

  1. In the Business Intelligence Center, click Site Actions, and then click View All Site Content.

  2. Right-click Documents, and then click Copy shortcut.

  3. In the Business Intelligence Center, click Site Actions, and then click Site Settings.

  4. Under Look and Feel, click Navigation.

  5. In the Navigation Editing and Sorting section, click Current Navigation, and then click Add Link.

  6. In the dialog box that opens, type Documents in the Title box, paste the link that you copied in Step 2, and then click OK to close the dialog box. (Do not close the navigation settings yet.)

  7. In the Navigation Editing and Sorting section, select Documents, and then click Move Up until Documents is the first item listed under Current Navigation.

  8. In the Navigation Editing and Sorting section, click Global Navigation, and then click Add Link.

  9. In the Title box, type Contoso.

  10. In the URL box, type http://contoso-appsrv, and then click OK.

  11. Click OK to close navigation settings. Verify that Documents appears at the top of the list in the Quick Launch.

To make it easier for site users to locate the Business Intelligence Center, you can add a link on the main team site Quick Launch.

To add a link on the main team site Quick Launch

  1. Browse to the main team site (http://contoso-appsrv/).

  2. Click Site Actions, and then click Site Settings.

  3. Under Look and Feel, click Quick Launch.

  4. Click New Navigation Link.

  5. In the URL section, in the Type the Web address box, type http://contoso-appsrv/sites/bicenter.

  6. In the Type the description box, type Business Intelligence Center.

  7. Click OK.

Next steps

Now that you have finished setting up your baseline test environment, you can choose to configure additional services. For more information, see any of the following resources:

  • Configure Excel Services for a BI test environment

  • Configure Visio Services for a BI test environment

  • Configure PerformancePoint Services for a BI test environment

  • Enable Reporting Services in an integrated SharePoint Server BI test environment

  • Configure Access Services for a BI test environment

See Also

Concepts

Create a baseline environment for a BI test environment


Configure Excel Services for a BI test environment

Published: May 26, 2011

Important:

This article is part of the Configuring a BI infrastructure: Hands-on labs series. To complete the steps in this article, you must first have completed:

  • All steps in the Create a baseline environment for a BI test environment series of articles.

Excel Services in Microsoft SharePoint Server 2010 is a service application that lets users share and view Microsoft Excel workbooks. The service also enables administrators to specify permission settings in Microsoft SharePoint Server 2010 to control what users can see or do with each workbook.

Configuring Excel Services consists of three steps:

  • Deploying Excel Services on the SharePoint Server 2010 farm

  • Configuring trusted file locations and trusted data connection libraries

  • Configuring data access for authors of Excel workbooks

Deploy Excel Services

Deploying Excel Services consists of the following steps:

  • Creating an Active Directory account for the application pool under which the Excel Services service application will run

  • Registering that account as a managed account in SharePoint Server 2010

  • Starting the Excel Calculation Services service

  • Creating an Excel Services service application

The first step in deploying Excel Services is to create an account in the Active Directory directory service to run the application pool for the Excel Services service application. Use the following procedure to create the account.

To create an account for the application pool

  1. Log on to Contoso-DC using the Contoso\administrator account.

  2. On the Contoso-DC virtual machine, click Start, click Administrative Tools, and then click Active Directory Users and Computers.

  3. Expand the contoso.local node.

  4. Right-click Users, click New, and then click User.

  5. In the Full name box and the User logon name box, type ExcelAppPool.

  6. Click Next.

  7. In the Password and Confirm password boxes, type a password for the account.

  8. Clear the User must change password at next logon check box.

  9. Select the Password never expires check box.

  10. Click Next.

  11. Click Finish.

  12. Log off Contoso-DC.

Once you have created the account, it must be registered as a managed account in SharePoint Server 2010. Doing so makes the account available to service applications when you create them. Use the following procedure to register the managed account.

To register a managed account

  1. Log in to Contoso-AppSrv using the Contoso\FarmAdmin account.

  2. Click Start, click All Programs, click Microsoft SharePoint 2010 Products, and then click SharePoint 2010 Central Administration.

  3. On the SharePoint Central Administration Web site home page, in the left navigation, click Security.

  4. On the Security page, under General Security, click Configure managed accounts.

  5. On the Managed Accounts page, click Register Managed Account.

  6. In the User name box, type Contoso\ExcelAppPool.

  7. In the Password box, type the password for the Contoso\ExcelAppPool account.

  8. Click OK.

By default, the application pool account does not have the required access to the SharePoint content database. Access to this database is required for Excel Services. Use the following procedure to grant the required database access to the application pool account.

To grant content database access to the managed account

  1. On Contoso-AppSrv, click Start, click All Programs, click Microsoft SharePoint 2010 Products, right-click SharePoint 2010 Management Shell, and then click Run as Administrator.

  2. At the Windows PowerShell Command Prompt, type the following (press Enter after each line):

    Copy Code
    $w = Get-SPWebApplication -identity http://contoso-appsrv
$w.GrantAccessToProcessIdentity("Contoso\ExcelAppPool")

Once you have granted database access to the application pool account, you must start the Excel Calculation Services. This is the SharePoint Server 2010 service that performs all processing and activities associated with Excel Services.

You must start this service on at least one application server. In a production environment, you would choose a server or servers on which to run the service, depending on your capacity requirements.

Use the following procedure to start the Excel Calculation Services service.

To start the Excel Calculation Services service

  1. On the Central Administration home page, in the System Settings section, click Manage services on server.

  2. Above the Service list, click the Server drop-down, and then click Change Server.

    Note that the application server, Contoso-AppSrv, is listed together with Contoso-SQL. In a farm with multiple application servers, you would use this dialog box to select the server where you want to run Secure Store Service, and then start the service as shown later in this article.

  3. Click CONTOSO-APPSRV.

  4. In the Service list, click Start next to Excel Calculation Services.

Once the service is started, you must create an Excel Services service application. Use the following procedure to create the service application.

To create an Excel Services service application

  1. On the Central Administration home page, under Application Management, click Manage service applications.

  2. On the Manage Service Applications page, click New, and then click Excel Services Application.

  3. In the Name section, type Excel Services in the text box.

  4. Select the Create new application pool option and type ExcelServicesAppPool in the text box.

  5. Select the Configurable option, and from the drop-down list, select CONTOSO\excelapppool.

  6. Click OK.

Configure trusted file locations and trusted data connection libraries

In Configure a Business Intelligence Center for a test environment, we created a Business Intelligence Center which includes a document library and a data connection library. In order for data access to function, Excel Services must be configured to trust these libraries.

Use the following procedure to create a trusted file location for the document library in the Business Intelligence Center.

To create a trusted file location

  1. On the Central Administration home page, under Application Management, click Manage services applications.

  2. In the list of service applications, click Excel Services.

  3. Click Trusted File Locations.

  4. On the Trusted File Locations page, click Add Trusted File Location.

  5. In the Location section:

    1. Type http://Contoso-AppSrv/sites/BICenter/Documents in the Address text box.

    2. Select the Children trusted check box.

  6. In the External Data section:

    1. Under Allow External Data, select the Trusted data connection libraries and embedded option.

    2. In the Automatic refresh and Manual refresh text boxes, type 0.

      Note:

      In a production environment, you would not typically set these values to 0. (Setting the cache values to 0 can cause additional resource utilization on the server.) However, in this series of labs, we are testing data refresh for data-connected workbooks, and setting the cache settings to 0 enables us to see data refresh results immediately.

  7. Click OK.

By creating a trusted file location, we can now publish data-connected workbooks with embedded data connections. However, for Excel Services to correctly render data-connected workbooks with external data connections, we must create a trusted data connection library.

To create a trusted data connection library

  1. On the Central Administration home page, in the Application Management section, click Manage service applications.

  2. In the list of service applications, click Excel Services.

  3. Click Trusted Data Connection Libraries.

  4. On the Trusted Data Connection Libraries page, click Add Trusted Data Connection Library.

  5. In the Address box, typehttp://Contoso-AppSrv/sites/BICenter/Data%20Connections%20for%20PerformancePoint.

  6. Click OK.

When you have completed all of the previous procedures, Excel Services configuration is complete. The next step is to configure data access for the users who will create data-connected Excel workbooks.

Configure Excel client data access

In the following Excel Services labs, we will be configuring data refresh for Excel workbooks by using Secure Store Service. However, you should know that there are differences in the way that Excel Services and the Excel client application authenticate with data sources.

Although Excel Services can use Secure Store Service to authenticate with a data source when rendering a data-connected workbook, Microsoft Excel does not use Secure Store for data authentication. Excel requires that workbook authors have direct database access in order to access external data from the workbook.

In this case, we will create an Active Directory group to contain our workbook authors, and then create a SQL Server logon for that Active Directory group. We will then grant db_datareader access for this group to the ContosoRetailDW database which we will use in successive Excel Services labs.

To create an Active Directory group

  1. Log on to Contoso-DC by using the Contoso\administrator account.

  2. On the Contoso-DC virtual machine, click Start, click Administrative Tools, and then click Active Directory Users and Computers.

  3. Expand the contoso.local node.

  4. Right-click Users, click New, and then click Group.

  5. In the Group Name box, type ExcelWorkbookAuthors, and then click OK.

Next, we need to add users to the group. In this case, we will add the user Susan Burk to the group because Susan Burk has Contribute access to the Business Intelligence Center where we will publish our data-connected workbooks in successive Excel Services labs.

Note:

Although we are only adding a single user to the group in this lab, in a production scenario you would add all the workbook authors to the group. (Using a group provides easier administration than adding individual logons for each user.) Depending on how your data is organized in your production environment, you may want to use multiple groups if different sets of users need access to different databases.

To populate the ExcelWorkbookAuthors Active Directory group

  1. In Active Directory Users and Computers, double-click the ExcelWorkbookAuthors group.

  2. On the Members tab, click Add.

  3. In the Enter object names to select box, type Contoso\Susan.Burk, and then click OK.

  4. Verify that Susan Burk appears in the Members list, and then click OK.

Now that the Susan Burk account has been added to the ExcelWorkbookAuthors group, the next step is to create a SQL Server logon for that group and grant that logon Read access to the ContosoRetailDW database.

To create a SQL Server logon

  1. Log on to Contoso-SQL by using the Contoso\SQLAdmin account.

  2. Click Start, click All Programs, click Microsoft SQL Server 2008 R2, and then click SQL Server Management Studio.

  3. Connect to the Database Engine.

  4. Expand the Security node.

  5. Right-click Logins, and then click New Login.

  6. On the Login - New page, click Search.

  7. On the Select User or Group dialog box, click Object Types.

  8. On the Object Types dialog box, select the Groups check box, and then click OK.

  9. On the Select User or Group dialog box, in the Enter the object name to select box, type Contoso\ExcelWorkbookAuthors, and then click OK.

  10. In the pane on the left side, click User Mapping.

  11. Under Users mapped to this login, select the Map check box for the ContosoRetailDW database.

  12. Under Database role membership for: ContosoRetailDW, select the db_datareader check box.

  13. Click OK.

When you have completed all of the previous procedures, Excel Services will be operational and ready to use. The next step is to configure security access to your data sources. The following labs cover how to configure security access by using Secure Store Service:

  • Configure the Excel Services unattended service account for a BI test environment

  • Configure Excel Services data access by using embedded data connections

  • Configure Excel Services data access by using external data connections in a BI test environment


Configure the Excel Services unattended service account for a BI test environment

Published: May 26, 2011

Important:

This article is part of the Configuring a BI infrastructure: Hands-on labs series. To complete the steps in this article, you must first have completed:

  • All steps in the Create a baseline environment for a BI test environment series of articles.

  • All steps in Configure Excel Services for a BI test environment

Excel Services in Microsoft SharePoint Server 2010 provides three methods of using Secure Store to refresh the external data source in a workbook:

  • The unattended service account

  • A data connection embedded in the workbook

  • A data connection through an Office Data Connection (ODC) file

This lab covers the unattended service account option. For more information about how to use an embedded connection, see Configure Excel Services data access by using embedded data connections. For more information about how to use an ODC file, see Configure Excel Services data access by using external data connections in a BI test environment.

Using the unattended service account involves configuring an Active Directory account access to your data, storing the credentials for this account in Secure Store, and configuring Excel Services to use this account when it needs to refresh the data in workbook.

The following steps are required to configure the unattended service account in Excel Services.

  • Configure a data access account

  • Configure the Secure Store Service

  • Configure the Excel Services Global Settings

In this lab, we will also create a sample PivotTable report in Microsoft Excel that uses the ContosoRetailDW database and publish it to the Business Intelligence Center to confirm that data refresh is working.

Configure a data access account

When you configure the unattended service account, you have to grant the account access to the data source to which your Excel Services account will be connected. The unattended service account requires an Active Directory account for data access. Use the following procedure to create an Active Directory account for data access.

To create an Active Directory account for data access

  1. Log on to Contoso-DC as Contoso\Administrator.

  2. Click Start, click Administrative Tools, and then click Active Directory Users and Computers.

  3. Expand the contoso.local node.

  4. Right-click Users, click New, and then click User.

  5. In the Full name and User logon name boxes, type ExcelUnattended.

  6. Click Next.

  7. Type and confirm a password for the account.

  8. Clear the User must change password at next logon check box.

  9. Select the Password never expires check box.

  10. Click Next, and then click Finish.

Once the account has been created, the next step is to grant that account Read access to the required data. In a production scenario, you would grant access to whatever data source that you need to access from your Excel 2010 workbook. Use the following procedure to create a SQL Server logon and grant that logon Data Reader access to the ContosoRetailDW table.

To create a SQL Server logon

  1. Log on to Contoso-SQL as Contoso\SQLAdmin.

  2. Click Start, click All Programs, click Microsoft SQL Server 2008 R2, and then click SQL Server Management Studio.

  3. On the Connect to Server dialog box, select Database Engine as the Server type, type Contoso-SQL in the Server name box, and then click Connect.

  4. In Object Explorer, expand Security.

  5. Right-click Logins, and then click New Login.

  6. In the Login name box, type Contoso\ExcelUnattended.

  7. Under Select a page, click User Mapping.

  8. Select the Map check box for the ContosoRetailDW database, and then, under Database role membership for: ContosoRetailDW, select the db_datareader check box.

  9. Click OK.

With the account created and granted the appropriate data access, we can now configure Secure Store Service.

Configure Secure Store Service

Secure Store Service uses a target application to define connection parameters and authorized users. The unattended service account is generally considered a catch-all account that is used for general data access, so usually all users are granted access to the unattended service account through the target application.

In order to grant all users data access through the unattended service account, the account that is running the Excel Services application pool is added as a Member of the Secure Store target application. In Configure Excel Services for a BI test environment, we created the Contoso\ExcelAppPool account to run the Excel Services application pool. However, in a production environment you may not know what this account is, so we will describe the steps to determine the application pool account.

To find the Windows identity assigned to the Excel Services application pool

  1. Log in to Contoso-AppSrv using the Contoso\FarmAdmin account.

  2. Click Start, click All Programs, click Microsoft SharePoint 2010 Products, and then click SharePoint 2010 Central Administration.

  3. On the SharePoint Central Administration Web site home page, click Security.

  4. On the Security page, under General Security, click Configure service accounts.

  5. On the Service Account page, in the Credential Management section, from the drop-down list, select the application pool that runs Excel Services Application (in this case, Service Application Pool - ExcelServicesAppPool).

    When this option is selected, the name of the Excel Services Application appears in the box underneath the drop-down list (in this case, Excel Services).

  6. Note that Contoso\ExcelAppPool is displayed in the Select an account for this component drop-down list. This is the Windows identity that you will need for the Members list when you configure the unattended service account in Secure Store.

  7. Click Cancel

Once you have determined which account is being used to run the application pool for the Excel Services service application, the next step is to create a target application in Secure Store for the unattended service account. Use the following procedure to create the target application.

To create a target application for the unattended service account

  1. On the Central Administration home page, under Application Management, click Manage service applications.

  2. Click the Secure Store Service service application.

  3. On the ribbon, click New.

  4. In the Target Application ID box, type ExcelServicesUnattended.

  5. In the Display Name box, type ExcelServicesUnattended.

  6. In the Contact E-mail box, type farmadmin@contoso.local.

    Note:

    Although e-mail notifications are not configured in this environment, Contact E-mail is a required field.

  7. In the Target Application Type drop-down list, select Group.

  8. Click Next.

  9. Leave the default credential fields, and then click Next.

  10. On the Specify the membership settings page:

    • In the Target Application Administrators box, type Contoso\FarmAdmin.

    • In the Members box, because we will use the target application to store credentials for the unattended service account, type the Excel Services application pool account that we located in the previous procedure (Contoso\ExcelAppPool).

  11. Click OK.

Once the target application has been created, you must specify which credentials should be used by it. The target application credentials are those to which data access has been granted — in our case, the Contoso\ExcelUnattended account to which we granted db_datareader access to the ContosoRetailDW database.

Use the following procedure to set the credentials for the target application.

To set the credentials for the target application

  1. On the Secure Store Service Application page, in the Target Application ID column, point to ExcelServicesUnattended, click the arrow that appears, and then click Set Credentials.

  2. In the Windows User Name box, type Contoso\ExcelUnattended.

  3. Type and confirm the password for the Contoso\ExcelUnattended account.

  4. Click OK.

With the credentials set for the target application, the Secure Store Service configuration for the unattended service account is complete. The next step is to configure Excel Services to use this target application for the unattended service account.

Configure Excel Services

The unattended service account configuration is part of the Excel Services Global Settings. Use the following procedure to configure the unattended service account in Excel Services.

To configure Excel Services Global Settings

  1. On the Central Administration home page, in the Application Management section, click Manage service applications.

  2. On the Manage Service Applications page, click Excel Services.

  3. On the Manage the Excel Services page, click Global Settings.

  4. On the Excel Services Settings page, in the External Data section, in the Application ID box, type ExcelServicesUnattended.

  5. Click OK.

With the Excel Services Global Settings configured, setup of the unattended service account is complete. In the next section, we create an Excel workbook with external data and publish it to the SharePoint document library in the Business Intelligence Center. We then test data refresh by using the unattended service account.

Publishing a workbook with an external data source

To test the configuration of the unattended service account, we must first create a workbook with an external data connection. Use the following procedure to create the workbook.

To create a workbook with an external data connection

  1. Log on to Contoso-Client by using the Contoso\Susan.Burk account.

  2. Click Start, click All Programs, click Microsoft Office, and then click Microsoft Excel 2010.

  3. On the Data tab, in the Get External Data group, click From Other Sources, and then click From SQL Server. This starts the Data Connection Wizard, which has three pages.

  4. In the Server name box, type Contoso-SQL.

  5. Under Log on credentials, click the Use Windows Authentication option, and then click Next to go to page 2 of the Data Connection Wizard.

  6. In the Select the database that contains the data you want section, select ContosoRetailDW. In the Connect to a specific table section, select DimStore, and then click Next.

  7. On the Save Data Connection File and Finish page, click Finish.

    Note:

    If you are prompted to overwrite the connection file, click Yes.

  8. On the Import Data dialog box, select the PivotTable Report option, and then click OK.

  9. In the pane on the right side, in the Pivot Table Field List:

    1. Select the SellingAreaSize check box.

    2. Select the StoreType check box.

Leave the Excel workbook open for the next procedure.

We now have a data-connected workbook that contains a report. However, we must modify the Excel 2010 settings before we publish the workbook to the document library. By default, the Excel 2010 settings are configured to use Windows authentication, which is not the correct setting for using the unattended service account. Use the following procedure to modify the Excel 2010 authentication settings in the workbook that we just created.

To configure Excel Services authentication settings

  1. In the Excel workbook, on the Data tab, click Connections.

  2. On the Workbook Connections dialog box, click Properties.

  3. On the Connection Properties dialog box, on the Definition tab, click Authentication Settings.

  4. On the Excel Services Authentication Settings dialog box, select the None option, and then click OK.

  5. On the Connection Properties dialog box, click OK.

    Note:

    If you see a warning that the link to the external connection file will be removed, click Yes. (Although Excel requires you to save a connection file, that file is not required by Excel Services for authentication.)

  6. On the Workbook Connections dialog box, click Close.

Leave the Excel workbook open for the next procedure.

Now that we have set the Excel Services authentication settings, the next step is to publish the workbook to the document library in the Business Intelligence Center and confirm that data refresh is working correctly.

To publish a workbook to a SharePoint document library

  1. In the Excel workbook, click File, click Save & Send, and then click Save to SharePoint.

  2. In the Locations section, click Browse for a location, and then click Save As.

  3. On the Save As dialog box, in the URL box, type http://Contoso-AppSrv/sites/BICenter, and then press Enter.

    Note:

    It may take several moments for the file list to refresh.

  4. In the Document Libraries list, double-click Documents.

  5. In the File name box, type SellingAreas.xlsx.

  6. Ensure that the Open with Excel in the browser check box is selected, and then click Save.

Once the workbook has been saved to the document library, it will automatically load in a browser. The next step is to confirm that data refresh is working correctly.

Leave the browser that displays the SellingAreas.xlsx workbook open for the procedures in the next section.

Testing data refresh

To confirm that data refresh works with the unattended service account, we will follow these steps:

  • Refresh the data currently displayed in the browser on Contoso-Client

  • Change a value in the ContosoRetailDW database

  • Refresh the data displayed in the browser on Contoso-Client again and confirm that the new information is displayed

First, we will refresh the existing data. Use the following procedure to refresh the data in the browser.

To refresh a data-connected workbook by using Excel Services

  1. In the browser, on the Data drop-down list, click Refresh All Connections.

    Note:

    If a warning message appears, click OK.

If the unattended service account is configured correctly, the data will refresh without error, although we will not see any changes in data values at this point. The next step is to change a value in the ContosoRetailDW database and confirm that the changes appear in the workbook.

To update data in the ContosoRetailDW database

  1. Log on to Contoso-SQL by using the Contoso\SQLAdmin account.

  2. Click Start, click All Programs, click Microsoft SQL Server 2008 R2, and then click SQL Server Management Studio.

  3. On the Connect to Server dialog box, select Database Engine for the Server type, and then click Connect.

  4. In the toolbar, click New Query.

  5. Copy the following query to the query window:

    Copy Code
    USE [ContosoRetailDW]
GO
UPDATE dbo.DimStore set dbo.DimStore.SellingAreaSize = 500 where dbo.DimStore.StoreType = 'Catalog'
GO

  6. In the toolbar, click Execute.

  7. Return to Contoso-Client where the SellingArea.xlsx workbook is displayed.

Return to the Contoso-Client virtual machine, where SellingAreas.xlsx is displayed in the browser.

Note the currently displayed number for the Catalog row in the spreadsheet. We updated this row to a value of 500 in the DimStore table, so the new value should appear when we refresh the workbook. Use the following procedure to refresh the workbook.

Note:

If you see a warning that the page has expired, click OK and restart the procedure.

To refresh a data-connected workbook by using Excel Services

  1. In the browser, on the Data drop-down list, click Refresh All Connections.

    Note:

    If a warning message appears, click OK.

The new value of 500 should now appear in the Catalog row of the report, confirming that data refresh through the unattended service account is working.

Note:

The Excel Services cache settings affect how quickly the new results appear when you refresh the workbook. In the Configure Excel Services for a BI test environment lab, we set the cache settings to zero (0), allowing immediate refresh. In a production environment, refresh will likely take longer depending on how you configure the cache.


Configure Excel Services data access by using external data connections in a BI test environment

Published: May 26, 2011

Important:

This article is part of the Configuring a BI infrastructure: Hands-on labs series. To complete the steps in this article, you must first have completed:

  • All steps in the Create a baseline environment for a BI test environment series of articles.

  • All steps in the Configure Excel Services for a BI test environment article.

Excel Services in Microsoft SharePoint Server 2010 provides three methods of using Secure Store to refresh the external data source in a workbook:

  • The unattended service account

  • A data connection embedded in the workbook

  • A data connection through an Office Data Connection (ODC) file

This lab covers the Office Data Connection file option. For more information about how to use an embedded connection, see Configure Excel Services data access by using embedded data connections. For more information about how to use the unattended service account, see Configure the Excel Services unattended service account for a BI test environment.

In this lab we create a PivotTable report on Microsoft Excel 2010 that uses an external data connection to Microsoft SQL Server 2008 R2. Next, we explain how to save this PivotTable report on Microsoft SharePoint Server 2010, and then how to confirm that data refresh is working correctly.

Configure a data access account

When you configure data access through Secure Store, you must grant the account access to the data source to which your Excel Services workbook will be connected. For the purposes of this lab, we will continue to use the Contoso database sample data which we can use in a data-connected workbook that we will publish to a SharePoint document library.

To create an Active Directory account for data access

  1. Log on to Contoso-DC as Contoso\Administrator.

  2. Click Start, click Administrative Tools, and then click Active Directory Users and Computers.

  3. Expand the contoso.local node.

  4. Right-click Users, click New, and then click User.

  5. In the Full name and User logon name boxes, type ExcelODCAccess.

  6. Click Next.

  7. Type and confirm a password for the account.

  8. Clear the User must change password at next logon check box.

  9. Select the Password never expires check box.

  10. Click Next, and then click Finish.

Once the account is created, the next step is to grant that account Read access to the required data. In a production scenario, you would grant access to whatever data source that you have to access from your Excel Services workbook. In this lab we will grant access to the ContosoRetailDW database. Use the following procedure to create a SQL Server logon and grant that logon Data Reader access to the database.

To create a SQL Server logon

  1. Log on to Contoso-SQL as Contoso\SQLAdmin.

  2. Click Start, click All Programs, click Microsoft SQL Server 2008 R2, and then click SQL Server Management Studio.

  3. On the Connect to Server dialog box, select Database Engine as the Server type, type Contoso-SQL in the Server name box, and then click Connect.

  4. In Object Explorer, expand Security.

  5. Right-click Logins, and then click New Login.

  6. In the Login name box, type Contoso\ExcelODCAccess.

  7. Under Select a page, click User Mapping.

  8. Select the Map check box for the ContosoRetailDW database, and then under Database role membership for: ContosoRetailDW, select the db_datareader check box.

  9. Click OK.

Configure Secure Store

Earlier in this lab series, we configured Secure Store Service in the Configure Secure Store Service for a BI test environment article. Now we must create a target application for Excel Services with a series of procedures. These procedures explain how to create an Active Directory group in the virtual network, how to create the target application in Secure Store, and finally how to assign credentials to this target application.

In the Secure Store target application, we will map a specific group of users to the Contoso\ExcelODCAccess account that we created in the previous section. Although these users will never have direct access to this account, Excel Services will use this account on their behalf to refresh data-connected workbooks.

To avoid the complexity of administering individual users, we will create an Active Directory group to contain them.

To create an Active Directory group for user data access

  1. Log on to Contoso-DC as Contoso\Administrator.

  2. Click Start, click Administrative Tools, and then click Active Directory Users and Computers.

  3. Expand the contoso.local node.

  4. Right-click Users, click New, and then click Group.

  5. In the Group name box, type ExcelODCAccessGroup.

  6. Click OK.

After the group account is created in Active Directory, we must now populate the group with user accounts to which we want to give data access through Secure Store. The following procedure explains how to do this.

To populate the data access group

  1. In Active Directory Users and Computers, in the users list, double-click the ExcelODCAccessGroup group.

  2. On the Members tab, click Add.

  3. On the Select Users dialog box, type Contoso\susan.burk; Contoso\john.woods, and the click OK.

  4. The Members tab should now show Susan Burk and John Woods as members of the group.

  5. Click OK.

Now that you have created Active Directory accounts for data access, you can create a target application for Excel Services to use with an Office Data Connection (ODC). Use the following procedure to create and configure the target application.

To create a target application

  1. Log in to Contoso-AppSrv using the Contoso\FarmAdmin account.

  2. Click Start, click All Programs, click Microsoft SharePoint 2010 Products, and then click SharePoint 2010 Central Administration.

  3. On the SharePoint Central Administration Web site home page, in the Application Management section, click Manage service applications.

  4. Click the Secure Store Service service application.

  5. On the ribbon, click New.

  6. In the Target Application ID box, type ExcelServicesODC.

  7. In the Display Name box, type ExcelServicesODC.

  8. In the Contact E-mail box, type farmadmin@contoso.local.

    Note:

    Although e-mail notifications are not configured in this environment, Contact E-mail is a required field.

  9. In the Target Application Type drop-down list, select Group.

  10. Click Next.

  11. Leave the default credential fields, and then click Next.

  12. On the Specify the membership settings page:

    • In the Target Application Administrators box, type Contoso\FarmAdmin.

    • In the Members box, type Contoso\ExcelODCAccessGroup.

    • Click OK.

Once the target application has been created, the next step is to associate the data access account that we created (Contoso\ExcelODCAccess) with the target application. Use the following procedure to set the credentials for the target application.

To set the credentials for the target application

  1. On the Secure Store Service Application page, in the Target Application ID column, point to ExcelServicesODC, click the arrow that appears, and then click Set Credentials.

  2. In the Windows User Name box, type Contoso\ExcelODCAccess.

  3. Type and confirm the password for the Contoso\ExcelODCAccess account.

  4. Click OK.

Create and publish an ODC file

Now that Secure Store has been configured, the next step is to create the ODC file and publish it to a trusted data connection library. Use the following procedure to create an ODC file that has a connection to the ContosoRetailDW database.

To create and publish an ODC file

  1. Log on to the Contoso-Client virtual machine by using the Contoso\Susan.Burk account.

  2. Click Start, click All Programs, click Microsoft Office, and then click Microsoft Excel 2010.

  3. On the Data tab, click From Other Sources, and then click From SQL Server.

  4. On the Connect to Database Server page of the Data Connection Wizard, type Contoso-SQL in the Server name box, and then click Next.

  5. On the Select Database and Table page, select ContosoRetailDW from the drop-down list.

  6. In the list of tables, select DimProduct, and then click Next.

  7. Click Finish.

    Note:

    If you are prompted to overwrite the ODC file on the local disk, click Yes.

  8. On the Import Data dialog box, select the PivotTable Report option, and then click OK.

  9. On the Data tab, click Connections.

  10. On the Workbook Connections dialog box, click Properties.

  11. On the Connection Properties dialog box, on the Definition tab, click Authentication Settings.

  12. On the Excel Services Authentication Settings dialog box, select the SSS option, type ExcelServicesODC in the SSS ID box, and then click OK.

  13. On the Connection Properties dialog box, click Export Connection File.

  14. On the File Save dialog box, in the URL box, type http://Contoso-AppSrv/sites/BICenter, and then press Enter.

    Note:

    It may take several moments for the list to refresh with content from the BI Center.

  15. In the list of All Site Content, double-click Data Connections.

  16. In the File name box, type DimProductTable, and then click Save.

  17. On the Data Connections dialog box, select Office Data Connection File from the Content Type drop-down list, and then click OK.

  18. On the Connection Properties dialog box, click OK, and then, on the Workbook Connections dialog box, click Close.

  19. Exit Microsoft Excel.

    Note:

    You do not have to save the workbook.

Remain logged on to Contoso-Client as Susan Burk for the next procedure.

We have now successfully published an ODC file that contains a data connection to the DimProduct table of the ContosoRetailDW database and uses the ExcelServicesODC target application in Secure Store for authentication.

Testing data refresh

In this section we will test what we previously configured by publishing a data-connected Excel workbook that uses the DimProductTable.odc file that we published earlier for data connectivity. Use the following procedure to create and publish a pivot table.

To create and publish a pivot table

  1. On Contoso-Client, click Start, click All Programs, click Microsoft Office, and then click Microsoft Excel 2010.

  2. On the Data tab, click Existing Connections.

  3. On the Existing Connections dialog box, click Browse for More.

  4. On the Select Data Source dialog box, in the URL box, type http://Contoso-AppSrv/sites/BICenter, and then press Enter.

    Note:

    It may take several moments for the list to refresh with content from the BI Center.

  5. In the list of All Site Content, double-click Data Connections.

  6. On the list of Data Connections, select DimProductTable, and then click Open.

  7. On the Import Data dialog box, select the PivotTable Report option, and then click OK.

  8. In the Pivot Table Field List:

    1. Drag Manufacturer to the Row Labels box.

    2. Drag ProductName to the Values box.

  9. Click File, click Save & Send, click Save to SharePoint, click Browse for a location, and then click Save As.

  10. On the Save As dialog box, in the URL box, type http://Contoso-AppSrv/sites/BICenter, and then press Enter.

    Note:

    It may take several moments for the list to refresh with content from the BI Center.

  11. In the All Site Content list, double-click Documents.

  12. In the File name box, type ProductsPerVendor.xlsx.

  13. Confirm that the Open with Excel in the browser check box is selected, and then click Save.

The workbook will render in the browser. Leave the browser open for the following procedures.

To confirm that data refresh is works by using the ODC file and Secure Store, we will follow these steps:

  • Refresh the data currently displayed in the browser on Contoso-Client

  • Change a value in the ContosoRetailDW database

  • Refresh the data displayed in the browser on Contoso-Client again and confirm that the new information is displayed

First, we will refresh the existing data. Use the following procedure to refresh the data in the browser.

To refresh a data-connected workbook by using Excel Services

  1. In the browser, on the Data drop-down list, click Refresh All Connections.

    Note:

    If a warning message appears, click OK.

If everything is configured correctly, the data will refresh without error, although we will not see any changes in values at this point. The next step is to change a value in the ContosoRetailDW database and confirm that the changes appear in the workbook.

To update data in the ContosoRetailDW database

  1. Log on to Contoso-SQL by using the Contoso\SQLAdmin account.

  2. Click Start, click All Programs, click Microsoft SQL Server 2008 R2, and then click SQL Server Management Studio.

  3. On the Connect to Server dialog box, select Database Engine for the Server type, and then click Connect.

  4. In the toolbar, click New Query.

  5. Copy the following query to the query window:

    Copy Code
    USE [ContosoRetailDW]
GO
UPDATE dbo.DimProduct set dbo.DimProduct.Manufacturer = 'Contoso, Ltd' where dbo.DimProduct.Manufacturer = 'Northwind Traders'
GO

  6. In the toolbar, click Execute.

    Note:

    After the query runs, you should see (47 row(s) affected) in the Messages window.

Return to the Contoso-Client virtual machine, where ProductPerVendor.xlsx is displayed in the browser.

Note the currently displayed number of products provided by Northwind Traders is 47, and the number provided by Contoso, Ltd is 710 in the spreadsheet. We changed all the products from Northwind Traders to Contoso, Ltd in the DimManufacturer table, so the new value should appear when we refresh the workbook. Use the following procedure to refresh the workbook.

Note:

If you see a warning that the page has expired, click OK and restart the procedure.

To refresh a data-connected workbook by using Excel Services

  1. In the browser, on the Data drop-down list, click Refresh All Connections.

    Note:

    If a warning message appears, click OK.

Notice that Northwind Traders has now disappeared from the report and the number of products provided by Contoso, Ltd has changed from 710 to 757, confirming that data refresh through the ODC file and Secure Store is working.

Note:

The Excel Services cache settings affect how quickly the new results appear when you refresh the workbook. In the Configure Excel Services for a BI test environment lab, we set the cache settings to zero (0), allowing immediate refresh. In a production environment, refresh will likely take longer depending on how you configure the cache.


Configure Excel Services data access by using embedded data connections
See Also

Published: May 26, 2011

Important:

This article is part of the Configuring a BI infrastructure: Hands-on labs series. To complete the steps in this article, you must first have completed:

  • All steps in the Create a baseline environment for a BI test environment series of articles.

  • All steps in the Configure Excel Services for a BI test environment article.

Excel Services in Microsoft SharePoint Server 2010 uses three methods of connecting to external data:

  • You can use an unattended service account. For more information, see Configure the Excel Services unattended service account for a BI test environment.

  • You can use an Office Data Connection (ODC) file. For more information, see Configure Excel Services data access by using external data connections in a BI test environment.

  • You can embed an ODC file in a workbook. This article describes how to this.

To configure Excel Services data access to use embedded data connections, we will use the following process:

  1. Configure a data access account

  2. Configure the Secure Store Service application

  3. Create and publish an Excel workbook that uses an embedded data connection

  4. Verify that data updates in an Excel Services file

Configure a data access account

To configure Excel Services to use embedded data connections, we begin by configuring a data access account. We then grant this account Read access to data that is stored in SQL Server.

Note:

We will be using the ContosoRetailDW dataset that we installed when we set up SQL Server. For more information, see Set up SQL Server for a BI test environment.

To create an Active Directory account for data access

  1. Log into Contoso-DC using the Contoso\administrator account.

  2. Click Start, click Administrative Tools, and then click Active Directory Users and Computers.

  3. Expand the contoso.local node.

  4. Right-click Users, click New, and then click User.

  5. In the Full name and User logon name text boxes, type ExcelDataEmbed, and then click Next.

  6. Type and confirm a password for the account.

  7. Clear the User must change password at next logon check box.

  8. Select the Password never expires check box.

  9. Click Next, and then click Finish.

Now that the ExcelDataEmbed account is created, the next step is to grant that account read access to the required data. Use the following procedure to create a SQL Server logon and grant Read access to the database.

To create a SQL Server logon

  1. Log in to Contoso-SQL using the Contoso\SQLAdmin account.

  2. Click Start, click All Programs, click Microsoft SQL Server 2008 R2, and then click SQL Server Management Studio.

  3. On the Connect to Server dialog box, select Database Engine as the Server type, type Contoso-SQL in the Server name text box, and then click Connect.

  4. In Object Explorer, expand Security.

  5. Right-click Logins, and then click New Login.

    The Login - New dialog box opens.

  6. Next to the Login name text box, type Contoso\ExcelDataEmbed.

  7. In the Login - New dialog box, in the Select a page pane, click User Mapping.

    A list of databases appears.

  8. Select the Map check box for the ContosoRetailDW database, and then in the Database role membership for: ContosoRetailDW section, select the db_datareader check box.

  9. Click OK to close the Login - New dialog box. Notice that the Contoso\ExcelDataEmbed data access account is now displayed in the Logins list.

Now that we have created a data access account, the next step is to configure the Secure Store Service application.

Configure the Secure Store Service application

To configure the Secure Store Service application, we begin by creating an Active Directory group. This group will be used to provide data access to Excel users who are using embedded data connections.

To create an Active Directory group for user data access

  1. Log into Contoso-DC using the Contoso\Administrator account.

  2. Click Start, click Administrative Tools, and then click Active Directory Users and Computers.

  3. Expand the contoso.local node.

  4. Right-click Users, click New, and then click Group.

    The New Object - Group dialog box opens.

  5. In the Group name box, type ExcelDataEmbedGroup, and then click OK.

    Notice that ExcelDataEmbedGroup now appears in the list of groups and users.

  6. Double-click ExcelDataEmbedGroup to open it for editing.

  7. Click the Members tab, and then click Add.

    The Select Users, Contacts, Computers, Services Accounts, or Groups dialog box opens.

  8. In the Enter the object names to select box, type Contoso\susan.burk; Contoso\john.woods, and then click Check Names.

    The user accounts are verified and then appear as hyperlinks.

  9. Click OK to close the Select Users, Contacts, Computers, Services Accounts, or Groups dialog box.

  10. Click OK to close the ExcelDataEmbedGroup Properties dialog box.

Now that we have created our Active Directory accounts, the next step is to configure the Secure Store Service application. We begin by creating a target application.

To create a target application

  1. Log into Contoso-AppSrv using the Contoso\FarmAdmin account.

  2. Click Start, click All Programs, click Microsoft SharePoint 2010 Products, and then click SharePoint 2010 Central Administration.

  3. On the Central Administration home page, under Application Management, click Manage service applications.

  4. Click the Secure Store Service application.

  5. On the ribbon, click New.

  6. In the Target Application ID text box, type ExcelServicesEmbeddedData.

  7. In the Display Name text box, type Excel Services Embedded Data.

  8. In the Contact E-mail text box, type farmadmin@contoso.local.

    Note:

    Although e-mail notifications are not configured in this environment, you must specify an email address in the Contact E-mail box.

  9. In the Target Application Type drop-down list, select Group, and then click Next.

  10. Keep the default credential fields, and then click Next.

  11. On the Specify the membership settings page, in the Target Application Administrators box, type Contoso\FarmAdmin.

  12. In the Members box, type Contoso\ExcelDataEmbedGroup, and then click OK. Do not leave the page yet.

  13. Position the pointer on ExcelServicesEmbeddedData, click the down arrow that appears, and then click Set Credentials.

    The Set Credentials for Secure Store Target Application (Group) page opens.

  14. In the Windows User Name box, type Contoso\ExcelDataEmbed.

  15. Type and confirm the password for the Contoso\ExcelDataEmbed account, and then click OK.

  16. Click OK.

Now that we have configured Excel Services data access to use embedded data connections, the next step is to create and publish an Excel workbook that uses an embedded connection. We will then use this workbook to verify that data updates correctly in Excel Services.

Create and publish an Excel workbook that uses an embedded data connection

In this section, we describe how to create a PivotTable report that uses data that is stored in SQL Server and publish the workbook to SharePoint Server. We will then refresh the data in the workbook that uses the embedded connection.

Creating a PivotTable report by using a SQL Server table

For this report, we use a table that is stored in SQL Server.

To create a PivotTable report by using external SQL Server data

  1. Log into Contoso-Client using the Contoso\Susan.Burk account.

  2. In Microsoft Excel 2010, on the Data tab, in the Get External Data group, click From Other Sources, and then click From SQL Server. The Data Connection Wizard opens.

  3. In the Server name box, type Contoso-SQL, and then click Next.

  4. Use the Select the database that contains the data that you want to select ContosoRetailDW.

  5. Select the Connect to a specific table check box, and then select DimStore. Then, click Next.

  6. In the Description box, type Contoso Stores, and then click Finish.

    The Import Data dialog box opens.

    Note:

    If you are prompted to replace the ODC file that is located on your local computer, click Yes.

  7. In the Select how you want to view this data in your workbook section, click PivotTable Report, and then click OK.

    An empty PivotTable report opens.

  8. In the PivotTable Field List pane, drag StoreType to the Row Labels section.

  9. Drag EmployeeCount to the Values section.

    The PivotTable report updates to display a count of stores that have employees.

  10. In the Values section, click the down arrow for EmployeeCount, and then click Value Field Settings.

  11. In the Summarize value field by section, click Sum, and then click OK.

    Notice that the PivotTable report updates to display the total number of employees for each kind of store.

    Do not close the workbook. Keep it open for the next procedure.

At this point, we have created and saved a PivotTable report in Excel. However, we have not yet embedded the external data connection information in the workbook. The next step is to configure and embed that connection.

To embed external data connection information in an Excel workbook

  1. In Excel 2010, on the Data tab, in the Connections group, click Connections.

    The Workbook Connections dialog box opens.

  2. Select the Contoso-sql ContosoRetailDW DimStore connection, and then click Properties.

    The Connection Properties dialog box opens.

  3. Select the Definition tab.

  4. In the Excel Services section, click Authentication Settings.

    The Excel Services Authentication Settings dialog box opens.

  5. Select SSS, and in the SSS ID box, type ExcelServicesEmbeddedData.

  6. Click OK to close the Excel Services Authentication Settings dialog box, and then click OK to close the Connection Properties dialog box.

  7. If a warning appears that states that the link to the external odc file will be removed, click Yes.

  8. In the Workbook Connections dialog box, click Close. Do not close the workbook yet.

At this point, we have created a workbook that contains an embedded data connection. The next step is to publish the workbook to SharePoint Server.

To publish the ContosoStores workbook

  1. In Excel, click the File tab, and then click Save & Send.

  2. Click Save to SharePoint.

  3. Under Locations, click Browse for a location, and then click Save As.

    The Save As dialog box opens.

  4. In the location box at the top of the window, type http://contoso-appsrv/sites/BICenter/Documents.

    Note:

    It might take some time for the Save As dialog box to refresh and show the site content.

  5. In the File name box, type ContosoStores.xlsx.

  6. Select the Open with Excel in the browser check box, and then click Save.

    A browser window opens and displays the ContosoStores workbook.

At this point, we have created and published a workbook that uses an embedded data connection. The next and final step is to verify that the data updates correctly.

Verify that data updates in an Excel Services file

In this section, we verify that data in the Excel workbook updates by using the embedded connection correctly. We begin by viewing the ContosoStores workbook in a browser window. We modify a row in the SQL Server database that is used by the workbook, and then confirm that the workbook displays the updated data as expected.

On the Contoso-Client computer, the ContosoStores workbook is open in a browser window. Notice that the PivotTable report shows the number of employees for each kind of store.

  • Catalog: 120 employees

  • Online: 340 employees

  • Reseller: 44 employees

  • Store: 10535 employees

The next step is to modify a row of data in the table that is used by the ContosoStores workbook. We will change one of the Reseller stores to Store. This will change the number of employees for both the Reseller and Store groups.

To update data in the ContosoRetailDW database

  1. Log into Contoso-SQL using the Contoso\SQLAdmin account.

  2. Click Start, click All Programs, click Microsoft SQL Server 2008 R2, and then click SQL Server Management Studio.

  3. On the Connect to Server dialog box, select Database Engine for the Server type, and then click Connect.

  4. In the toolbar, click New Query.

  5. Type the following query to the query window:

    Copy Code
    USE [ContosoRetailDW]
GO
UPDATE dbo.DimStore set dbo.DimStore.StoreType = 'Store' where dbo.DimStore.StoreDescription = 'Contoso Europe Reseller'
GO

  6. In the toolbar, click Execute.

    In the Messages pane, (1 row(s) affected) appears.

Now that we have changed one of the stores from Reseller to Store, the number of employees for those kinds of stores should have changed, too.

On the Contoso-Client computer, view the workbook. The PivotTable report should now show the following information:

  • Catalog: 120 employees

  • Online: 340 employees

  • Reseller: 32 employees

  • Store: 10547 employees

We see that after we changed that single row of data, Reseller went from 44 employees to 32, and Store went from 10535 employees to 10547 employees. The store that we changed has 12 employees. Therefore, this is correct. We have confirmed that data is refreshing as expected in the workbook.

See Also

Concepts

Configure Excel Services for a BI test environment
Configure PerformancePoint Services for a BI test environment
Configure Visio Services for a BI test environment


Configure PowerPivot for SharePoint for a BI test environment
See Also

Published: September 27, 2011

This article is part of the Configuring a BI infrastructure: Hands-on labs series. To complete the steps in this article, you must first have completed:

  • Create a baseline environment for a BI test environment

  • Configure Excel Services for a BI test environment

Microsoft SQL Server PowerPivot for Microsoft SharePoint supports query processing and data refresh for published Excel workbooks that contain PowerPivot data. This article describes how to configure PowerPivot for SharePoint 2010 in a virtual environment that already has SharePoint Server 2010 and SQL Server 2008 R2 installed and configured.

Configuring PowerPivot for SharePoint consists of the following steps:

  • Create a managed account for SQL Server Analysis Services

  • Deploy PowerPivot for SharePoint

  • Configure a PowerPivot service application

  • Configure data refresh for PowerPivot for SharePoint

  • Configure Secure Store service for PowerPivot for SharePoint

  • Verify that PowerPivot for SharePoint is configured correctly

  • Test data refresh

Create a managed account for SQL Server Analysis Services

To configure PowerPivot for SharePoint, you must have a service account for the SQL Server Analysis Services instance that is installed with PowerPivot for SharePoint. Use the following procedure to create an Active Directory account for Analysis Services.

To create an Active Directory account for Analysis Services

  1. Log on to Contoso-DC as Contoso\Administrator.

  2. Click Start, click Administrative Tools, and then click Active Directory Users and Computers.

  3. Expand the contoso.local node.

  4. Right-click Users, click New, and then click User.

  5. In the Full name and User logon name boxes, type PowerPivotSSAS.

  6. Click Next.

  7. Type and confirm a password for the account.

  8. Clear the User must change password at next logon check box.

  9. Select the Password never expires check box.

  10. Click Next, and then click Finish.

Once the account is created, the next step is to deploy PowerPivot for SharePoint.

Deploy PowerPivot for SharePoint

Deploying PowerPivot for SharePoint consists of the following steps:

  • Installing PowerPivot for SharePoint on a SharePoint Server farm

  • Deploying the PowerPivot solution package to a SharePoint Web Application

  • Activating PowerPivot feature integration for the Business Intelligence Center

The first step is to install PowerPivot for SharePoint on the Contoso-AppSrv computer.

Tip:

In our test environment, we are using a single computer for SharePoint Server. In a production environment where you might have more than one computer that is running SharePoint Server, install PowerPivot for SharePoint on the computer that has the SharePoint Central Administration Web site installed.

To install PowerPivot for SharePoint 2010 on an existing SharePoint Server 2010 farm

  1. Attach the SQL Server 2008 R2 DVD to the DVD drive for the Contoso-AppSrv virtual machine.

  2. Log on to Contoso-AppSrv by using the Contoso\FarmAdmin account.

  3. On the SQL Server DVD, double-click setup.exe.

    The SQL Server Installation Center opens.

  4. Click Installation, and then click New installation or add features to an existing installation.

    The SQL Server setup window opens.

  5. On the Setup Support Rules page, click OK.

  6. On the Product Key page, type the product key for your version of SQL Server, and then click Next.

  7. On the License Terms page, select I accept the license terms, and then click Next.

  8. On the Setup Support Files page, click Install.

  9. On the Setup Support Files page, click Next.

  10. On the Setup Role page, select SQL Server PowerPivot for SharePoint, and in the Add PowerPivot for SharePoint to list, select Existing Farm. Then click Next.

  11. On the Feature Selection page, click Next.

  12. On the Installation Rules page, click Next.

  13. On the Instance Configuration page, in the Instance ID box, select the default PowerPivot text, and type ContosoAppSrv, and then click Next.

  14. On the Disk Space Requirements page, click Next.

  15. On the Server Configuration page, in the SQL Server Analysis Services row, specify the Contoso\PowerPivotSSAS account and password. Then click Next.

  16. On the Analysis Services Configuration, click Add Current User, and then click OK.

  17. On the Analysis Services Configuration page, click Next.

  18. On the Error Reporting page, click Next.

  19. On the Installation Configuration Rules page, click Next.

  20. On the Ready to Install page, click Install.

    The installation process runs.

    Tip:

    It might take several minutes for the installation process to finish.

  21. After the installation process is complete, you must restart the computer. On the Complete page, click Close. Then restart the Contoso-AppSrv computer.

The next step is to deploy a PowerPivot solution to the SharePoint Web application that you created when you set up the baseline environment.

To deploy the PowerPivot solution package

  1. Log into the Contoso-AppSrv computer by using the Contoso\FarmAdmin account.

  2. Click the Start button, select All Programs, select Microsoft SharePoint 2010 Products, and then select SharePoint 2010 Central Administration.

  3. In SharePoint 2010 Central Administration, click System Settings, and then click Manage farm solutions.

    Note:

    There are two separate solution packages visible: powerpivotfarm.wsp and powerpivotwebapp.wsp. The first solution, powerpivotfarm.wsp, is deployed automatically when you install the first PowerPivot for SharePoint instance. You do not have to deploy this again. The second solution, powerpivotwebapp.wsp, is deployed automatically for Central Administration. However, you must deploy this solution manually for each SharePoint Web application that supports PowerPivot for SharePoint data access.

    In this case, we have one Web application. In a production environment, there are likely more than one Web application.

  4. Click powerpivotwebapp.wsp, and then click Deploy Solution.

  5. In the Deploy To? section, use the Choose a Web application to deploy this solution list to select http://contoso-appsrv/.

  6. Click OK.

The next step is to configure the Business Intelligence Center to work with PowerPivot data. To do this, follow these steps.

To enable PowerPivot feature integration with the Business Intelligence Center

  1. Browse to the Business Intelligence Center (http://contoso-appsrv/sites/bicenter).

  2. Click Site Actions, and then click Site Settings.

  3. In the Site Collection Administration section, click Site Collection Features.

  4. Next to PowerPivot Feature Integration for Site Collections, click Activate.

  5. Close the browser window.

Now that PowerPivot for SharePoint is installed, the next step is to configure a PowerPivot service application.

Configure a PowerPivot service application

Tip:

The procedures in this section describe how to configure a PowerPivot service application for a test environment that uses a particular configuration. For more detailed information about how to configure a PowerPivot service application for production environments, see Create and Configure a PowerPivot Service Application (http://go.microsoft.com/fwlink/p/?LinkId=226553).

Configuring PowerPivot for SharePoint consists of the following steps:

  • Starting the Claims to Windows Token Service

  • Creating an Active Directory account for the application pool under which the PowerPivot service application will run

  • Registering that account as a managed account in SharePoint Server 2010

  • Creating a PowerPivot service application

  • Configuring Excel Services to support PowerPivot workbooks

Begin by starting the Claims to Windows Token Service, which is used to enable access to data that is stored on another computer. In this case, we will be accessing data that is stored on the Contoso-SQL computer.

To start the Claims to Windows Token Service

  1. Click Start, click All Programs, click Microsoft SharePoint 2010 Products, and then click SharePoint 2010 Central Administration.

  2. In Central Administration, click System Settings, and then click Manage services on server.

  3. Start the Claims to Windows Token Service.

  4. Verify that both SQL Server Analysis Services and SQL ServerPowerPivot System Service are started.

The next step is to create an Active Directory account. This account will be used for the PowerPivot for SharePoint Service application.

To create an Active Directory account for PowerPivot for SharePoint

  1. Log on to Contoso-DC as Contoso\Administrator.

  2. Click Start, click Administrative Tools, and then click Active Directory Users and Computers.

  3. Expand the contoso.local node.

  4. Right-click Users, click New, and then click User.

  5. In the Full name and User logon name boxes, type PowerPivotAppPool.

  6. Click Next.

  7. Type and confirm a password for the account.

  8. Clear the User must change password at next logon check box.

  9. Select the Password never expires check box.

  10. Click Next, and then click Finish.

The next step is to register the managed account in SharePoint Server.

To register the PowerPivotAppPool account in SharePoint Server

  1. Log on to Contoso-AppSrv by using the Contoso\FarmAdmin account.

  2. Click Start, click All Programs, click Microsoft SharePoint 2010 Products, and then click SharePoint 2010 Central Administration.

  3. On the SharePoint Central Administration Web site home page, in the left navigation, click Security.

  4. On the Security page, under General Security, click Configure managed accounts.

  5. On the Managed Accounts page, click Register Managed Account.

  6. In the User name box, type Contoso\PowerPivotAppPool.

  7. In the Password box, type the password for the Contoso\PowerPivotAppPool account.

  8. Click OK.

The next step is to create a PowerPivot service application.

To create a PowerPivot service application

  1. In Central Administration, click Application Management, and then click Manage service applications.

  2. In the Service Applications ribbon, click New, and then click SQL Server PowerPivot Service Application.

    The Create New PowerPivot Service Application dialog box appears.

  3. In the Name box, type PowerPivotServiceApplication1.

  4. In the Application Pool section, select Create a new application pool, and in the Application pool name box, type PowerPivotServAppPool.

  5. Use the Configurable list to select Contoso\PowerPivotAppPool.

  6. In the Database Server list, specify Contoso-SQL, and keep the default database name.

  7. In the Database authentication section, keep the default setting, Windows Authentication.

  8. In the Default section, select the check box for Add the proxy for this PowerPivot service application to the default proxy group, and then click OK.

  9. After your service application is successfully created, click OK in the confirmation page.

The service application appears in the Contoso farm service application list together with the other service applications. You might have to refresh the page to see it.

The next step is to configure Excel Services to support PowerPivot workbooks. To do this, you increase the maximum file size for Excel Services and edit external data settings.

To configure Excel Services to support PowerPivot workbooks

  1. In Central Administration, click Application Management, and then click Manage service applications.

  2. Click Excel Services.

  3. Click Trusted File Locations.

  4. Click http://contoso-appsrv/sites/bicenter/documents.

  5. In the Workbook Properties section, in the Maximum Workbook Size box, type 50.

    Increasing the workbook size makes it possible to work with more data in PowerPivot for Excel.

  6. In the External Data section, under Allow External Data, select Trusted data connection libraries and embedded.

  7. In the External Data section, clear the Refresh warning enabled check box.

  8. Click OK.

Now that you have installed and configured PowerPivot for SharePoint, your next step is to configure data refresh for PowerPivot for SharePoint.

Configure data refresh for PowerPivot for SharePoint

Configuring data refresh for PowerPivot data in Excel workbooks consists of the following steps:

  • Creating an Active Directory account for the PowerPivot unattended data refresh account

  • Granting Read permissions to access the data during data refresh

The first step is to create an Active Directory account.

To create an Active Directory account for PowerPivot data refresh

  1. Log on to Contoso-DC by using the Contoso\Administrator account.

  2. Click Start, click Administrative Tools, and then click Active Directory Users and Computers.

  3. Expand the contoso.local node.

  4. Right-click Users, click New, and then click New User.

  5. In the Full name and User logon name boxes, type PowerPivotUnattended, and then click Next.

  6. Type and confirm a password for the account.

  7. Clear the User must change password at next logon check box.

  8. Select the Password never expires check box.

  9. Click Next, and then click Finish.

Once the Active Directory account is created, the next step is to grant Read permissions to that account in SQL Server.

To grant Read permissions to the PowerPivot unattended data refresh account in SQL Server

  1. Log on to the Contoso-SQL computer by using the Contoso\SQLAdmin account.

  2. Click Start, click All Programs, click Microsoft SQL Server 2008 R2, and then click SQL Server Management Studio.

  3. In the Connect to Server dialog box, specify the following settings:

    • In the Server type list, select Database Engine.

    • In the Server name box, type Contoso-SQL.

    Then click Connect.

  4. In the Object Explorer pane, expand Security.

  5. Right-click Logins, and then click New Login.

  6. In the Login name box, type Contoso\PowerPivotUnattended.

  7. In the Select a Page section, click User Mapping.

  8. Select the Map check box for the ContosoRetailDW database, and then, under Database role membership for: ContosoRetailDW, select the db_datareader check box.

  9. Click OK.

  10. Close SQL Server Management Studio, and then log off the Contoso-SQL computer.

The next step is to create a Secure Store target application.

Configure Secure Store service for PowerPivot for SharePoint

Configuring Secure Store Service for PowerPivot for SharePoint consists of the following steps:

  • Creating a PowerPivot target application for the Secure Store Service

  • Specifying the target application identity for the PowerPivot unattended data refresh account

  • Granting Contribute permissions to the PowerPivot unattended data refresh account in SharePoint Server

The first step is to create a PowerPivot target application for Secure Store Service.

To create a PowerPivot target application for Secure Store Service

  1. Log on to Contoso-AppSrv by using the Contoso\FarmAdmin account.

  2. Click Start, click All Programs, click Microsoft SharePoint 2010 Products, and then click SharePoint 2010 Central Administration.

  3. On the Central Administration home page, in the Application Management section, click Manage service applications.

  4. In the list of service applications, click Secure Store Service.

  5. In the ribbon, on the Edit tab, click New.

  6. On the Target Application Settings page, specify the following settings:

    • In the Target Application ID box, type PowerPivotDataRefresh.

    • In the Display Name box, type PowerPivotDataRefresh.

    • In the Contact E-mail box, type an e-mail address. For our example, we use farmadmin@contoso.local.

    • In the Target Application Type list, select Group.

    • In the Target Application Page URL section, select None.

    Then click Next.

  7. On the Specify the credential fields for your Secure Store Target Application page, keep the default values, and then click Next.

  8. On the Create New Secure Store Service Application page, specify the following settings

    • In the Target Application Administrators box, type Contoso\FarmAdmin.

    • In the Members box, type the name of the application pool identity for the PowerPivot service application. For our example, we use PowerPivotAppPool.

    Then click OK.

    The list of Secure Store Service target applications is displayed. Do not close this window.

The next step is to set credentials for the target application.

To set credentials for the PowerPivot target application

  1. Begin with the list of Secure Store Service target applications open. Select the check box next to PowerPivotDataRefresh.

  2. In the ribbon, on the Edit tab, in the Credentials section, click Set.

  3. On the Set Credentials for Secure Store Target Application (Group) page, specify the following settings:

    • In the Windows User Name box, type Contoso\PowerPivotUnattended.

    • In the Windows Password and the Confirm Windows Password boxes, type the password for the Contoso\PowerPivotUnattended account.

    Then click OK.

    The list of Secure Store Service target applications is displayed. Do not close this window.

The next step is to specify a PowerPivot unattended data refresh account.

To specify a target application identity for the PowerPivot unattended data refresh account

  1. In Central Administration, in the Application Management section, click Manage service applications.

  2. In the list of service applications, click the name of the PowerPivot service application. For our example, we click PowerPivotServiceApplication1.

    The PowerPivot Management Dashboard opens.

  3. In the Actions section, click Configure service application settings.

    The PowerPivot Settings page opens.

  4. In the Data Refresh section, in the PowerPivot Unattended Data Refresh Account box, type the name of the target application identity. For our example, we use PowerPivotDataRefresh.

    Then click OK.

  5. Close Central Administration, but remain logged in to the Contoso\FarmAdmin account.

The next step is to grant Contribute permissions to the PowerPivotUnattended account in SharePoint Server. This enables users to open PowerPivot workbooks from a SharePoint library and save it after refreshing data.

To grant Contribute permissions to the PowerPivot unattended data refresh account in SharePoint Server

  1. Open a Web browser and navigate to the Contoso team site. For our example, the Web site address (URL) is http://contoso-appsrv.

  2. Click BI Center to open the Business Intelligence Center.

  3. Click Site Actions, and then click Site Permissions.

  4. In the ribbon, on the Edit tab, click Grant Permissions.

  5. In the Grant Permissions dialog box, specify the following settings:

    • In the Users/Groups box, type the name of the PowerPivot unattended data refresh account. For our example we use Contoso\PowerPivotUnattended.

    • In the Grant Permissions section, select Add users to a SharePoint group (recommended), and then select Business Intelligence Center Members [Contribute].

    Then click OK.

  6. Close the Web browser, and then log off the Contoso-AppSrv computer.

Now that PowerPivot for SharePoint is deployed, the next step is to verify that PowerPivot for SharePoint is configured correctly.

Verify that PowerPivot for SharePoint is configured correctly

Verifying that PowerPivot for SharePoint is configured correctly consists of the following steps:

  • Installing the PowerPivot add-in for Excel on a client computer

  • Creating and publishing a PowerPivot workbook to SharePoint Server

Before you can install the PowerPivot add-in for Excel, you must verify that Microsoft .NET Framework 3.5.1 is installed on the client computer.

Important:

Before you begin to perform the tasks that are described in this section, make sure that you have Internet access on the Contoso-Client virtual machine.

To install the Microsoft .NET Framework 3.5.1

  1. Log on to Contoso-Client by using the Contoso\Administrator account.

  2. Click Start, and then click Control Panel.

  3. Click Programs.

  4. In the Programs and Features section, click Turn Windows features on or off.

    The Windows Features dialog box appears.

  5. Select the Microsoft .NET Framework 3.5.1 check box, and then click OK.

  6. After Microsoft .NET Framework is installed, close the Control Panel. Do not log off the computer.

The next step is to download and install PowerPivot for Excel.

To install PowerPivot for Excel

  1. Open a web browser.

  2. In the address line, type http://go.microsoft.com/fwlink/?LinkID=224183.

    The Microsoft Download Center page for Microsoft SQL Server 2008 R2 - PowerPivot for Microsoft Excel 2010 - RTM opens.

  3. Click the Download button for PowerPivot for Excel.

  4. If a dialog box appears that prompts you to run or save the application, click Run.

    The PowerPivot for Excel Setup dialog box appears.

  5. On the welcome page, click Next.

  6. On the License Agreement page, select I accept the terms in the license agreement, and then click Next.

  7. On the Registration Information page, in the Name box, type your name, and then click Next.

  8. On the Ready to Install the Program page, click Install.

  9. On the Completing the PowerPivot for Excel installation page, click Finish.

  10. Close the web browser. Log off the computer.

The next step is to open Microsoft Excel and create a PowerPivot workbook.

To create a PowerPivot workbook

  1. Log on to the Contoso-Client computer by using the Contoso\Susan.Burk account.

  2. Click Start, click All Programs, click Microsoft Office, and then click Microsoft Excel 2010.

  3. If Excel opens and displays a Microsoft Office Customization Installer dialog box, click Install.

    PowerPivot for Excel adds a PowerPivot tab to the Excel workbook.

  4. In Excel, on the PowerPivot tab, in the Launch group, click PowerPivot Window.

    The PowerPivot window opens.

  5. On the Home tab, click From Database, and then click From SQL Server.

    The Table Import Wizard dialog box appears.

  6. On the Connect to a Microsoft SQL Server Database page, in the Server name box, type Contoso-SQL.

  7. Use the Database name list to select ContosoRetailDW, and then click Test Connection.

  8. If your connection is successful, click Next.

  9. On the Choose How to Import the Data page, select the Select from a list of tables and views to choose the data to import option, and then click Next.

  10. In the Select Tables and Views page, select the check box next to the DimPromotion table, and then click Finish.

    The Importing page indicates that 28 rows of data were transferred.

  11. Click Close to close the Table Importing Wizard.

    The data is displayed in the PowerPivot window.

  12. On the Home tab, in the Reports group, click PivotTable down arrow, and then click PivotChart.

    The Create PivotChart dialog box appears.

  13. Select Existing Worksheet, and then click OK.

    An empty chart opens in Excel.

  14. In the PowerPivot Field List pane, select the check boxes for PromotionDescription and DiscountPercent.

    The chart updates to display data.

  15. From the PowerPivot Field List pane, drag StartDate to the Slicers Horizontal box.

    A box that contains slicers is added to the page, over the PivotChart report.

    Do not close the workbook.

The next step is to publish the workbook to SharePoint Server.

To publish the workbook

  1. In Excel, click the File tab, and then click Save & Send.

  2. Click Save to SharePoint.

  3. Under Locations, click Browse for a location, and then click Save As.

    The Save As dialog box appears.

  4. In the location box at the top of the window, type http://contoso-appsrv/sites/BICenter/Documents.

    Note:

    It might take some time for the Save As dialog box to refresh and show the site content.

  5. In the File name box, type ContosoPromotions.xlsx.

  6. Select the Open with Excel in the browser check box, and then click Save.

    A browser window opens and displays a cached version of the ContosoPromotions workbook.

  7. In the browser window, click a slicer, such as one that has an August date. Notice that the word "school" is misspelled as "scholl." This is an error in the underlying database that we will correct, and then you can see how data refresh works.

    Close the browser window.

The next step is to configure data refresh settings for the PowerPivot workbook.

To configure data refresh settings for the PowerPivot workbook

  1. Open a web browser and navigate to the Business Intelligence Center Documents library. For example, we use http://contoso-appsrv/sites/bicenter/documents.

  2. Point to the ContosoPromotions file, click the down arrow that appears, and then click Manage PowerPivot Data Refresh.

  3. On the Manage Data Refresh page, select the Enable check box, and then click OK.

You have successfully installed and configured PowerPivot for SharePoint.

To see how the slicers work, click different slicers. The PivotChart report is updated to display information for that particular Start Date. To apply more than one slicer, hold down the Ctrl key, click the slicers that you want to use, and then release the Ctrl key and the mouse.

The next step is to verify that data refresh is working correctly.

Test data refresh

To confirm that data refresh works for PowerPivot workbooks, we follow these steps:

  • Refresh the data currently displayed in the browser on the Contoso-Client computer

  • Change a value in the ContosoRetailDW database

  • Refresh the data displayed in the browser on Contoso-Client again and confirm that the new information is displayed

First, we refresh the existing data. Use the following procedure to refresh the data in the browser.

To refresh the ContosoPromotions workbook in a browser window

  1. Begin with the ContosoPromotions workbook open in a browser window.

    In the browser, on the Data drop-down list, click Refresh All Connections.

    Note:

    If a warning message appears, click OK.

If PowerPivot for SharePoint is configured correctly, the data will refresh without error, although we will not see any changes in data values at this point. The next step is to change a value in the ContosoRetailDW database and confirm that the changes appear in the workbook.

To update data in the ContosoRetailDW database

  1. Log on to Contoso-SQL by using the Contoso\SQLAdmin account.

  2. Click Start, click All Programs, click Microsoft SQL Server 2008 R2, and then click SQL Server Management Studio.

  3. On the Connect to Server dialog box, select Database Engine for the Server type, and then click Connect.

  4. In the toolbar, click New Query.

  5. Copy the following query to the query window:

    Copy Code
    USE [ContosoRetailDW]
GO
UPDATE dbo.DimPromotion set dbo.DimPromotion.PromotionName = 'European Back-to-School Promotion' where dbo.DimPromotion.PromotionName = 'European Back-to-Scholl Promotion'
GO
UPDATE dbo.DimPromotion set dbo.DimPromotion.PromotionDescription = 'European Back-to-School Promotion' where dbo.DimPromotion.PromotionDescription = 'European Back-to-Scholl Promotion'
GO

  6. In the toolbar, click Execute.

The next step is to return to the Contoso-Client virtual machine and refresh ContosoPromotions.xlsx in the browser window.

Note:

If you see a warning that the page has expired, click OK and restart the procedure.

To refresh the ContosoPromotions workbook

  1. Log on to Contoso-Client computer by using the Contoso\Susan.Burk account.

  2. Open a Web browser, navigate to the Business Intelligence Center Documents library, and open the ContosoPromotions.xlsx file.

    For example, we use the Web site address http://contoso-appsrv/sites/bicenter/documents/contosopromotions.xlsx.

    The workbook opens in a browser window.

  3. In the browser, on the Data drop-down list, click Refresh All Connections.

    Note:

    If a warning message appears, click OK.

  4. In the slicer section, click an August date.

    Notice that the report now displays the correct spelling of "school."

See Also

Concepts

Configuring a BI infrastructure: Hands-on labs

Other Resources

PowerPivot for SharePoint (http://go.microsoft.com/fwlink/p/?LinkId=226555)


Configure Visio Services for a BI test environment
See Also

Published: May 26, 2011

Summary: This lab covers how to deploy a Visio Services service application and how to configure data access for users connecting data to shapes in Visio.

Important:

This article is part of the Configuring a BI infrastructure: Hands-on labs series. To complete the steps in this article, you must first have completed:

  • All steps in the Create a baseline environment for a BI test environment series of articles.

Visio Services in Microsoft SharePoint Server 2010 is a service application that lets users share and view Microsoft Visio Web drawings. The service also enables data-connected Microsoft Visio 2010 Web drawings to be refreshed and updated from various data sources.

This lab consists of three sections:

  • Deploy Visio Services: In this section, we deploy the Visio Services service application on the Microsoft SharePoint Server 2010 farm.

  • Configure Visio Services Global Settings: In this section, we configure the cache settings for Visio Services so that we can easily demonstrate data refresh in later labs.

  • Configure Visio client access: In this section, we configure user data access from Microsoft Visio Premium 2010.

Video demonstration

This video shows how to configure Visio Services for use in these labs.

Image of video

Running time: 10:03

Play video Watch the video.

Download video For an optimal viewing experience, download the video.

Right-click the link, and then click Save Target As to download a copy. Clicking the link opens a .wmv file in the default video viewer for full-resolution viewing.

Deploy Visio Services

Deploying Visio Services consists of the following steps:

  • Creating an Active Directory account for the application pool under which the Visio Services service application will run.

  • Registering that account as a managed account in SharePoint Server 2010.

  • Starting the Visio Graphics Service.

  • Creating a Visio Services service application.

The first step in deploying Visio Services is to create an account in the Active Directory directory service to run the application pool for the Visio Services service application. Use the following procedure to create the account.

To create an account for the application pool

  1. Log on to Contoso-DC by using the Contoso\administrator account.

  2. On the Contoso-DC virtual machine, click Start, click Administrative Tools, and then click Active Directory Users and Computers.

  3. Expand the contoso.local node.

  4. Right-click Users, click New, and then click User.

  5. In the Full name text box and the User logon name text box, type VisioAppPool.

  6. Click Next.

  7. In the Password and Confirm password text boxes, type a password for the account.

  8. Clear the User must change password at next logon check box.

  9. Select the Password never expires check box.

  10. Click Next.

  11. Click Finish.

  12. Log off Contoso-DC.

Once you have created the account, it must be registered as a managed account in SharePoint Server 2010. Doing so makes the account available to service applications when you create them. Use the following procedure to register the managed account.

To register a managed account

  1. Log in to Contoso-AppSrv using the Contoso\FarmAdmin account.

  2. Click Start, click All Programs, click Microsoft SharePoint 2010 Products, and then click SharePoint 2010 Central Administration.

  3. On the Central Administration home page, in the left navigation, click Security.

  4. On the Security page, under General Security, click Configure managed accounts.

  5. On the Managed Accounts page, click Register Managed Account.

  6. In the User name text box, type Contoso\VisioAppPool.

  7. In the Password text box, type the password for the Contoso\VisioAppPool account.

  8. Click OK.

By default, the application pool account does not have the required access to the SharePoint content database. Access to this database is required for rendering data-connected Web drawings. Use the following procedure to grant the required database access to the application pool account.

To grant content database access to the managed account

  1. On Contoso-AppSrv, click Start, click All Programs, click Microsoft SharePoint 2010 Products, right-click SharePoint 2010 Management Shell, and then click Run as Administrator.

  2. At the Windows PowerShell Command Prompt, type the following (press Enter after each line):

    Copy Code
    $w = Get-SPWebApplication -identity http://contoso-appsrv
$w.GrantAccessToProcessIdentity("Contoso\VisioAppPool")

Once you have granted database access to the application pool account, you must start the Visio Graphics Service. This is the SharePoint Server 2010 service that performs all processing and activities associated with Visio Services.

You must start this service on at least one application server. In a production environment, you would choose a server or servers on which to run the service, depending on your capacity requirements.

Use the following procedure to start the Visio Graphics Service.

To start the Visio Graphics Service

  1. On the Central Administration home page, under System Settings, click Manage services on server.

  2. Above the Service list, click the Server drop-down list, and then click Change Server.

    Note that the application server, Contoso-AppSrv, is listed together with Contoso-SQL. In a farm with multiple application servers, you would use this dialog box to select the server where you want to run Secure Store Service, and then start the service as shown here.

  3. Click CONTOSO-APPSRV.

  4. In the Service list, click Start next to Visio Graphics Service.

Once the Visio Graphics Service has been started, you must create a Visio Services service application. Use the following procedure to create the service application.

To create a Visio Graphics Service service application

  1. On the Central Administration home page, in the Application Management section, click Manage service applications.

  2. On the Manage Service Applications page, click New, and then click Visio Graphics Service.

  3. In the Visio Graphics Service Application Name section, type Visio Services in the text box.

  4. Select the Create new application pool option and type VisioServicesAppPool in the Application pool name text box.

  5. Select the Configurable option, and from the drop-down list, select CONTOSO\VisioAppPool.

  6. Click OK.

Once the service application has been created, the next step is to configure the data refresh settings in Visio Services Global Settings.

Configure Visio Services Global Settings

To efficiently demonstrate data refresh in the following Visio Services labs, we must change the default cache settings to allow for immediate data refresh.

To configure the Visio Services minimum cache age

  1. On the Central Administration home page, under Application Management, click Manage service applications.

  2. In the list of service applications, click Visio Services.

  3. Click Global Settings.

  4. In the Minimum Cache Age text box, type 0.

  5. Click OK.

In a production environment, setting the minimum cache age to zero (0) could put unnecessary strain on the server. We recommend that you leave the cache settings at their default values for best performance in a production environment. However, for this series of labs we want to be able to show immediate data refresh to validate that we have correctly configured data connectivity.

Once you have finished configuring the cache settings in Visio Services Global Settings, the next step is to configure data access for diagram authors working in Microsoft Visio Professional 2010 and Visio Premium 2010.

Configure Visio client access

In the following Visio Services labs, we will be configuring data refresh for Visio Web drawings by using Secure Store Service. However, be aware that there are differences in the way that Visio Services and the Visio client application authenticate with data sources.

Although Visio Services can use Secure Store Service to authenticate with a data source when rendering a data-connected Web drawing, Visio Professional 2010 and Visio Premium 2010 do not use Secure Store Service for data authentication. Visio Professional 2010 and Visio Premium 2010 require that diagram authors have direct database access in order to link data to shapes in Visio.

In this case, we will create an Active Directory group to contain our diagram authors, and then create a SQL Server logon for that Active Directory group. In the following labs, we will grant the needed database access to this Active Directory group before creating a Visio diagram.

To create an Active Directory group

  1. Log on to Contoso-DC by using the Contoso\administrator account.

  2. On the Contoso-DC virtual machine, click Start, click Administrative Tools, and then click Active Directory Users and Computers.

  3. Expand the contoso.local node.

  4. Right-click Users, click New, and then click Group.

  5. In the Group Name text box, type VisioDiagramAuthors, and then click OK.

Next, we need to add users to the group. In this case, we will add the user Susan Burk to the group because Susan Burk has Contribute access to the Business Intelligence Center where we will be publishing our data-connected Web drawings in the following Visio Services labs.

To populate the VisioDiagramAuthors Active Directory group

  1. In Active Directory Users and Computers, double-click the VisioDiagramAuthors group.

  2. On the Members tab, click Add.

  3. In the Enter object names to select box, type Contoso\Susan.Burk, and then click OK.

  4. Verify that Susan Burk appears in the Members list, and then click OK.

Now that the Susan Burk account is added to the VisioDiagramAuthors group, the next step is to create a SQL Server logon for that group.

To create a SQL Server logon

  1. Log on to Contoso-SQL by using the Contoso\SQLAdmin account.

  2. Click Start, click All Programs, click Microsoft SQL Server 2008 R2, and then click SQL Server Management Studio.

  3. Connect to the Database Engine.

  4. Expand the Security node.

  5. Right-click Logins, and then click New Login.

  6. On the Login - New page, click Search.

  7. On the Select User or Group dialog box, click Object Types.

  8. On the Object Types dialog box, select the Groups check box, and then click OK.

  9. On the Select User or Group dialog box, in the Enter the object name to select box, type Contoso\VisioDiagramAuthors, and then click OK.

  10. On the Login - New page, click OK.

When you have completed all of the previous procedures, Visio Services will be operational and ready to use. The next step is to configure security access to your data sources. The following labs cover how to configure security access by using Secure Store Service:

  • Configure the Visio Services unattended service account in a BI test environment

  • Configure Visio Services data access by using Secure Store in a BI test environment

See Also

Concepts

Configure Kerberos authentication for SharePoint 2010 Products (white paper)
Data authentication for Visio Services (SharePoint Server 2010)


Configure the Visio Services unattended service account in a BI test environment
See Also

Published: May 26, 2011

Summary: Read this example for a demonstration of how to connect data in a remote database to a Visio diagram by using an ODC file.

Important:

This article is part of the Configuring a BI infrastructure: Hands-on labs series. To complete the steps in this article, you must first have completed:

  • All steps in the Create a baseline environment for a BI test environment series of articles.

  • All steps in Configure Visio Services for a BI test environment

Visio Services in Microsoft SharePoint Server 2010 provides two methods of using Secure Store to refresh data in a data-connected Web drawing. One is by using the unattended service account and the other is by using an Office Data Connection (ODC) file. This lab covers the unattended service account option. For more information about how to use an ODC file, see Configure Visio Services data access by using Secure Store in a BI test environment.

Using the unattended service account involves configuring access to your data for an Active Directory account, storing the credentials for this account in Secure Store, and configuring Visio Services to use this account when it needs to refresh the data in a data-connected Web drawing.

The following steps are required to configure the unattended service account in Visio Services.

  • Configure a data access account

  • Configure Secure Store

  • Configure the Visio Services Global Settings

In this lab, we will also create a small sample table in SQL Server and publish a Web drawing with data connected to the SQL Server table.

Video demonstration

This video shows how to set up the unattended service account for Visio Services.

Image of video

Running time: 15:49

Play video Watch the video.

Download video For an optimal viewing experience, download the video.

Right-click the link, and then click Save Target As to download a copy. Clicking the link opens a .wmv file in the default video viewer for full-resolution viewing.

Creating sample data

When you configure the unattended service account, you have to grant the account access to the data source to which your Visio Web drawing will be connected. For the purposes of this lab, we will create a SQL Server table. The table contains some simple data that we can use in a data-connected Web drawing which we will publish to the SharePoint document library in the Business Intelligence Center.

Use the following procedure to create the SQL Server table.

To create a table with sample data

  1. Log on to Contoso-SQL by using the Contoso\SQLAdmin account.

  2. Click Start, click All Programs, click Microsoft SQL Server 2008 R2, and then click SQL Server Management Studio.

  3. On the Connect to Server dialog box, select Database Engine for the Server type, and then click Connect.

  4. On the toolbar, click New Query.

  5. Copy the following query to the query window:

    Copy Code
    USE [master]
GO
CREATE DATABASE CorporateDirectory;
GO
USE [CorporateDirectory]
GO
CREATE TABLE [dbo].[Office](
[Name] [varchar] (50) NULL,
[Office] [varchar] (50) NULL
) ON [PRIMARY]
GO
INSERT INTO Office ([Name], [Office])
VALUES ('John Woods', '1501');
GO
INSERT INTO Office ([Name], [Office])
VALUES ('Susan Burk', '1502');
GO
INSERT INTO Office ([Name], [Office])
VALUES ('Cindy White', '1503');
GO
INSERT INTO Office ([Name], [Office])
VALUES ('David Hamilton', '1504');
GO

  6. On the toolbar, click Execute.

With the sample table created, the next step is to create an Active Directory account for use as the unattended service account.

Configure a data access account

The unattended service account requires an Active Directory account for data access. Use the following procedure to create the account.

To create an Active Directory account for data access

  1. Log on to Contoso-DC as Contoso\Administrator.

  2. Click Start, click Administrative Tools, and then click Active Directory Users and Computers.

  3. Expand the contoso.local node.

  4. Right-click Users, click New, and then click User.

  5. In the Full name and User logon name text boxes, type VisioUnattended.

  6. Click Next.

  7. Type and confirm a password for the account.

  8. Clear the User must change password at next logon check box.

  9. Select the Password never expires check box.

  10. Click Next, and then click Finish.

Once the account has been created, the next step is to grant that account read access to the required data. In a production scenario, you would grant access to whatever data source you need to access from your Visio Web drawing. In this lab we will grant access to the sample SQL Server database that we created earlier. Use the following procedure to create a SQL Server logon and grant that logon data reader access to the CorporateDirectory database.

To create a SQL Server logon

  1. Log on to Contoso-SQL as Contoso\SQLAdmin.

  2. Click Start, click All Programs, click Microsoft SQL Server 2008 R2, and then click SQL Server Management Studio.

  3. On the Connect to Server dialog box, select Database Engine as the Server type, type Contoso-SQL in the Server name box, and then click Connect.

  4. In Object Explorer, expand Security.

  5. Right-click Logins, and then click New Login.

  6. In the Login name box, type Contoso\VisioUnattended.

  7. Under Select a page, click User Mapping.

  8. Select the Map check box for the CorporateDirectory database, and then under Database role membership for:CorporateDirectory, select the db_datareader check box.

  9. Click OK.

With the account created and granted the appropriate data access, we can now configure Secure Store.

Configure Secure Store

Secure Store uses a target application to define connection parameters and authorized users. The unattended service account is generally considered a catch-all account that is used for general data access, so usually all users are granted access to the unattended service account through the target application.

Use the following procedure to create a target application for the unattended service account.

To create a target application for the unattended service account

  1. Log in to Contoso-AppSrv using the Contoso\FarmAdmin account.

  2. Click Start, click All Programs, click Microsoft SharePoint 2010 Products, and then click SharePoint 2010 Central Administration.

  3. On the SharePoint Central Administration Web site home page, in the Application Management section, click Manage service applications.

  4. Click the Secure Store Service service application.

  5. On the ribbon, click New.

  6. In the Target Application ID box, type VisioServicesUnattended.

  7. In the Display Name box, type VisioServicesUnattended.

  8. In the Contact E-mail box, type farmadmin@contoso.local.

    Note:

    Although e-mail notifications are not configured in this environment, Contact E-mail is a required field.

  9. In the Target Application Type drop-down list, select Group.

  10. Click Next.

  11. Leave the default credential fields, and then click Next.

  12. On the Specify the membership settings page:

    1. In the Target Application Administrators box, type Contoso\FarmAdmin.

    2. In the Members box, type All Authenticated Users.

      Note:

      In a production scenario, you would typically include all users here. You can restrict the users who have access to the unattended service account to a specific Active Directory group if you want, but be aware that only one unattended service account can be created per Visio Services service application.

    3. Click OK.

Once the target application has been created, you must specify which credentials should be used by it. The target application credentials are those to which data access has been granted — in our case, the Contoso\VisioUnattended account to which we granted db_datareader access to the CorporateDirectory database.

Use the following procedure to set the credentials for the target application.

To set the credentials for the target application

  1. On the Secure Store Service Application page, in the Target Application ID column, point to VisioServicesUnattended, click the arrow that appears, and then click Set Credentials.

  2. In the Windows User Name box, type Contoso\VisioUnattended.

  3. Type and confirm the password for the Contoso\VisioUnattended account.

  4. Click OK.

With the credentials set for the target application, the Secure Store configuration for the unattended service account is complete. The next step is to configure Visio Services to use this target application for the unattended service account.

Configure Visio Services

The unattended service account configuration is part of the Visio Services Global Settings. Use the following procedure to configure the unattended service account in Visio Services.

To configure Visio Services Global Settings

  1. On the Central Administration home page, under Application Management, click Manage service applications.

  2. On the Manage Service Applications page, click Visio Services.

  3. On the Manage the Visio Graphics Service page, click Global Settings.

  4. On the Visio Graphics Service Settings page, in the External Data section, in the Application ID box, type VisioServicesUnattended.

  5. Click OK.

With the Visio Services Global Settings configured, setup of the unattended service account is complete. In the next section, we will create a data-connected Web drawing, publish it to a SharePoint document library, and render it by using Visio Services. This enables us to test data refresh by using the unattended service account.

Grant database access to the diagram author

When Visio Services renders a data-connected Web drawing, it can use Secure Store and the unattended service account to refresh the data. However, Microsoft Visio does not use Secure Store or the unattended service account, but instead requires the user to have direct database access to work with a data-connected diagram. Because of this, in order to create a data-connected diagram in Visio, we must first grant Read access to the CorporateDirectory database to the user who will create the diagram.

In Configure Visio Services for a BI test environment, we created an Active Directory group named VisioDiagramAuthors for granting database access to diagram authors. We must now grant db_datareader access to that group for the CorporateDirectory database.

Use the following procedure to grant database access to the Contoso\VisioDiagramAuthors group.

To grant database access to a user

  1. Log on to Contoso-SQL as Contoso\SQLAdmin.

  2. Click Start, click All Programs, click Microsoft SQL Server 2008 R2, and then click SQL Server Management Studio.

  3. Connect to the Database Engine.

  4. In SQL Server Management Studio, expand Security, and then expand Logins.

  5. Right-click the Contoso\VisioDiagramAuthors logon, and then click Properties.

  6. In the pane on the left side, click User Mapping.

  7. Select the Map check box for the CorporateDirectory database.

  8. In the Database role membership for: CorporateDirectory list, select the db_datareader check box, and then click OK.

Publishing a data-connected web drawing

To confirm that we have successfully configured Visio Services and the unattended service account, we will create a data-connected Web drawing that uses the CorporateDirectory table that we created in SQL Server.

To create a diagram

  1. Log on to Contoso-Client by using the Contoso\Susan.Burk account.

  2. Click Start, click All Programs, click Microsoft Office, and then click Microsoft Visio 2010.

  3. On the Choose a Template page, in the Template Categories section, click Maps and Floor Plans.

  4. Click Floor Plan, and then click Create.

  5. From the Shapes list, drag four Room shapes onto the page and organize them in two rows of two with a small space between the rows.

  6. Drag a Door shape onto the bottom wall of each of the top two Room shapes.

  7. Drag a Door shape onto the top wall of each of the bottom two Room shapes.

You should now have a diagram that resembles the following:

Image of floorplan

The next step is to connect the data in the CorporateDirectory database to the floor plan that we just created.

To connect the Visio diagram to data

  1. On the ribbon, click the Data tab, and then click Link Data to Shapes.

  2. On the Data Selector page of the wizard, click Microsoft SQL Server database, and then click Next.

  3. On the Connect to Database Server page, type Contoso-SQL in the Server name box, and then click Next.

  4. On the Select Database and Table page select CorporateDirectory from the drop-down list, and then click Next.

  5. On the Save Data Connection File and Finish page, click Finish.

    Note:

    If you are prompted to overwrite the existing data connection file, click Yes.

  6. On the Select Data Connection page, click Next.

  7. On the Connect to data page, click Next.

  8. On the Configure Refresh Unique Identifier page, clear the Name check box and select the Office check box.

  9. Click Finish.

  10. On the drawing page:

    1. From the External Data section, drag John Woods to the upper-left office in the drawing.

    2. Select the upper-left office in the drawing, and then on the Data tab, click Data Graphics, and then click Edit Data Graphic.

    3. Select the Name row in the Data Field list, and then in the Default position section, select Left from the Horizontal drop-down list.

    4. With the Name row still selected, click Edit Item.

    5. From the Style list, select Heading 3, and then click OK.

    6. Select the Office row in the Data Field list, and then in the Default position section, ensure that Horizontal is set to Left.

    7. With the Office row still selected, click Edit Item.

    8. From the Style list, select Heading 3, and then click OK.

    9. Click OK.

    10. From the External Data section, drag Susan Burk to the lower-left office in the diagram (under John Woods).

    11. From the External Data section, drag Cindy White to the upper-right office in the diagram (to the right side of John Woods).

    12. From the External Data section, drag David Hamilton to the lower-right office in the diagram (under Cindy White).

  11. Leave the diagram open for the next procedure.

You should now see a diagram similar to the following.

Image of floorplan

The next step is to publish this diagram to the Business Intelligence Center as a data-connected Web drawing.

To publish a data-connected Web drawing

  1. Click File, and then click Save & Send.

  2. Click Save to SharePoint.

  3. Under Locations, click Browse for a location.

  4. Under File Types, click Web Drawing.

  5. Click Save As.

  6. On the Save As dialog box, type http://contoso-appsrv/sites/BICenter in the location box at the top, and then press Enter.

    Note:

    It may take some time for the dialog box to refresh and show the site content.

  7. In the All Site Content list, double-click Documents.

  8. Ensure that the Automatically view files in browser check box is selected.

  9. In the File name box, type Floor plan, and then click Save.

    The Web drawing renders in a browser window.

  10. When the drawing is displayed, if a Refresh Disabled warning is displayed, click Enable (always).

    Leave this browser window open for the data refresh test procedure that follows.

The rendered Web drawing shows the data currently in the CorporateDirectory database. To test the data refresh mechanism, we can modify the data in the Office table in SQL Server and then refresh the Web drawing to see the change.

Use the following procedure to modify the data in SQL Server and then refresh the Web drawing.

Note:

Remain logged in to Contoso-Client as Susan Burk while you do this procedure.

To test Visio Services data refresh

  1. Log on to Contoso-SQL by using the Contoso\SQLAdmin account.

  2. Click Start, click All Programs, click Microsoft SQL Server 2008 R2, and then click SQL Server Management Studio.

  3. On the Connect to Server dialog box, select Database Engine for the Server type, and then click Connect.

  4. In the toolbar, click New Query.

  5. Copy the following query to the query window:

    Copy Code
    USE [CorporateDirectory]
GO
UPDATE dbo.Office set dbo.Office.Name = 'David Hamilton' where dbo.Office.Office = '1501'
GO
UPDATE dbo.Office set dbo.Office.Name = 'John Woods' where dbo.Office.Office = '1504'
GO

  6. In the toolbar, click Execute.

  7. Return to Contoso-Client where the Server Status Web drawing is displayed.

    Note that in the original drawing, John Woods is in office 1501 and David Hamilton is in office 1504.

  8. On the Visio Web Access toolbar, click Refresh.

    Note that John Woods and David Hamilton have now swapped offices, reflecting the manual changes we made in SQL Server.

    Note:

    The Visio Services cache settings affect how quickly the new results appear when you refresh the drawing. In the Configure Visio Services for a BI test environment lab, we set the cache settings to zero (0), allowing immediate refresh. In a production environment, refresh will likely take longer depending on how you configure the cache.

See Also

Concepts

Plan Visio Services security (SharePoint Server 2010)


Configure Visio Services data access by using Secure Store in a BI test environment
See Also

Published: May 26, 2011

Summary: Read this example for a demonstration of how to connect data in a remote database to a Visio diagram by using an ODC file.

Important:

This article is part of the Configuring a BI infrastructure: Hands-on labs series. To complete the steps in this article, you must first have completed:

  • All steps in the Create a baseline environment for a BI test environment series of articles.

  • All steps in Configure Visio Services for a BI test environment

Visio Services in Microsoft SharePoint Server 2010 provides two methods of using Secure Store to refresh data in a data-connected Web drawing. One is by using the unattended service account and the other is by using an Office Data Connection (ODC) file. This lab covers the ODC file option. For more information about how to use the unattended service account, see Configure the Visio Services unattended service account in a BI test environment.

Note:

ODC files must be created in Microsoft Excel 2007 or Microsoft Excel 2010. You must have Excel together with Microsoft Visio Professional 2010 or Microsoft Visio Premium 2010 installed on the Contoso-Client virtual machine to complete this lab.

Using the unattended service account involves configuring access to your data for an Active Directory account, storing the credentials for this account in Secure Store, and configuring Visio Services to use this account when it needs to refresh the data in a data-connected Web drawing.

The following steps are required to configure the unattended service account in Visio Services.

  • Configure a data access account

  • Configure Secure Store

  • Configure the Visio Services Global Settings

In this lab, we will also create a small sample table in SQL Server and publish a Web drawing with data connected to the SQL Server table.

Video demonstration

This video shows how to set up data access for Visio Services using Secure Store.

Image of video

Running time: 14:41

Play video Watch the video.

Download video For an optimal viewing experience, download the video.

Right-click the link, and then click Save Target As to download a copy. Clicking the link opens a .wmv file in the default video viewer for full-resolution viewing.

Creating sample data

When configuring data access through Secure Store, you have to grant the account access to the data source to which your Visio Web drawing will be connected. For the purposes of this lab, we will create a SQL Server table. The table contains some simple data which we can use in a data-connected Web drawing which we will publish to a document library in the Business Intelligence Center.

Use the following procedure to create the SQL Server table.

To create a table with sample data

  1. Log on to Contoso-SQL by using the Contoso\SQLAdmin account.

  2. Click Start, click All Programs, click Microsoft SQL Server 2008 R2, and then click SQL Server Management Studio.

  3. On the Connect to Server dialog box, select Database Engine for the Server type, and then click Connect.

  4. On the toolbar, click New Query.

  5. Copy the following query to the query window:

    Copy Code
    USE [master]
GO
CREATE DATABASE ServerStatus;
GO
USE [ServerStatus]
GO
CREATE TABLE [dbo].[Status](
[Server] [varchar](50) NULL,
[Status] [bit] NULL
) ON [PRIMARY]
GO
INSERT INTO Status ([SERVER], [Status])
VALUES ('Seattle', 'TRUE');
GO
INSERT INTO Status ([SERVER], [Status])
VALUES ('New York', 'TRUE');
GO
INSERT INTO Status ([SERVER], [Status])
VALUES ('London', 'FALSE');
GO

  6. On the toolbar, click Execute.

With the sample table created, the next step is to create an Active Directory account for use as the data access account.

Configure a data access account

Secure Store maps users designated to have data access to an account that has data access. For this lab, we will create an Active Directory account and give it access to the ServerStatus database that we created in the previous section. Use the following procedure to create the account.

To create an Active Directory account for data access

  1. Log into Contoso-DC as Contoso\Administrator.

  2. Click Start, click Administrative Tools, and then click Active Directory Users and Computers.

  3. Expand the contoso.local node.

  4. Right-click Users, click New, and then click User.

  5. In the Full name and User logon name boxes, type VisioDataAccess.

  6. Click Next.

  7. Type and confirm a password for the account.

  8. Clear the User must change password at next logon check box.

  9. Select the Password never expires check box.

  10. Click Next, and then click Finish.

Once the account has been created, the next step is to grant that account read access to the required data. In a production scenario, you would grant access to whatever data source that you need to access from your Visio Web drawing. In this lab we will grant access to the sample SQL Server that we created earlier. Use the following procedure to create a SQL Server logon and grant that logon data reader access to the ServerStatus table.

To create a SQL Server logon

  1. Log on to Contoso-SQL as Contoso\SQLAdmin.

  2. Click Start, click All Programs, click Microsoft SQL Server 2008 R2, and then click SQL Server Management Studio.

  3. On the Connect to Server dialog box, select Database Engine as the Server type, type Contoso-SQL in the Server name box, and then click Connect.

  4. In Object Explorer, expand Security.

  5. Right-click Logins, and then click New Login.

  6. In the Login name box, type Contoso\VisioDataAccess.

  7. Under Select a page, click User Mapping.

  8. Select the Map check box for the ServerStatus database, and then under Database role membership for: ServerStatus, select the db_datareader check box.

  9. Click OK.

Now that the Contoso\VisioDataAccess account has access to the ServerStatus database that we created, the next step is to configure Secure Store.

Configure Secure Store

Configuring Secure Store involves three steps:

  • Determine which users should have data access through Secure Store

  • Create a Secure Store target application that contains those users

  • Map the target application to the credentials that have data access

Generally, you will want to provide data access to multiple users. The easiest way to manage that is by creating an Active Directory group and then populating that group with the users to whom you want to grant data access.

Use the following procedure to create the Active Directory group.

To create an Active Directory group for user data access

  1. Log on to Contoso-DC using the Contoso\Administrator account.

  2. Click Start, click Administrative Tools, and then click Active Directory Users and Computers.

  3. Expand the contoso.local node.

  4. Right-click Users, click New, and then click Group.

  5. In the Group name box type VisioDataAccessGroup.

  6. Click OK.

Next, we will populate the group with the users to whom we want to grant data access. In this case, we will use the Susan Burk and John Woods accounts. Use the following procedure to populate the VisioDataAccessGroup.

To populate the data access group

  1. In Active Directory Users and Computers, in the users list, double-click the VisioDataAccessGroup group.

  2. On the Members tab, click Add.

  3. On the Select Users dialog box, type Contoso\susan.burk; Contoso\john.woods, and then click OK.

    The Members tab should now show Susan Burk and John Woods as members of the group.

  4. Click OK.

The next step is to create a Secure Store target application that contains the VisioDataAccessGroup group. Use the following procedure to create the target application.

To create a target application

  1. Log on to the Contoso-AppSrv virtual machine using the Contoso\FarmAdmin account.

  2. Click Start, click All Programs, click Microsoft SharePoint 2010 Products, and then click SharePoint 2010 Central Administration.

  3. On the Central Administration home page, under Application Management, click Manage service applications.

  4. Click the Secure Store Service service application.

  5. On the ribbon, click New.

  6. In the Target Application ID box, type VisioServicesData.

  7. In the Display Name box, type VisioServicesData.

  8. In the Contact E-mail box, type farmadmin@contoso.local.

    Note:

    Although e-mail notifications are not configured in this environment, Contact E-mail is a required field.

  9. In the Target Application Type drop-down list, select Group.

  10. Click Next.

  11. Leave the default credential fields, and then click Next.

  12. On the Specify the membership settings page:

    1. In the Target Application Administrators box, type Contoso\FarmAdmin.

    2. In the Members box, type Contoso\VisioDataAccessGroup.

    3. Click OK.

Now that the target application has been created, we must associate it with the credentials that have data access (the Contoso\VisioDataAccess account). Use the following procedure to set the credentials for the target application.

To set the credentials for the target application

  1. On the Secure Store Service Application page, in the Target Application ID column, point to VisioServicesData, click the arrow that appears, and then click Set Credentials.

  2. In the Windows User Name box, type Contoso\VisioDataAccess.

  3. Type and confirm the password for the Contoso\VisioDataAccess account.

  4. Click OK.

The Secure Store configuration is now complete. In the next section, we will configure data access for the Microsoft Visio user who will be creating data-connected Web drawings.

Grant database access to the diagram author

When Visio Services renders a data-connected Web drawing, it can use Secure Store to refresh the data. However, Excel and Visio do not use Secure Store, but instead require the user to have direct database access to work with an ODC file or a data-connected diagram. Because of this, we must first grant Read access to the ServerStatus database to the user who will create the diagram.

In Configure Visio Services for a BI test environment, we created an Active Directory group named VisioDiagramAuthors for granting database access to diagram authors. We must now grant db_datareader access to that group for the ServerStatus database.

Use the following procedure to grant database access to the Contoso\VisioDiagramAuthors group.

To grant database access to a user

  1. Log on to Contoso-SQL by using the Contoso\SQLAdmin account.

  2. Click Start, click All Programs, click Microsoft SQL Server 2008 R2, and then click SQL Server Management Studio.

  3. Connect to the Database Engine.

  4. In SQL Server Management Studio, expand Security, and then expand Logins.

  5. Right-click the Contoso\VisioDiagramAuthors logon, and then click Properties.

  6. In the pane on the left side, click User Mapping.

  7. Select the Map check box for the ServerStatus database.

  8. In the Database role membership for: ServerStatus list, select the db_datareader check box, and then click OK.

With configuration of database access for the Contoso\VisioDiagramAuthors group complete, the next step is to create an Office Data Connection file.

Create an Office Data Connection file

Visio cannot create an Office Data Connection (ODC) file, so we must create one in Excel, publish it to a data connection library, and then connect to it from Visio.

Use the following procedure to create and publish the ODC file in Excel.

To create and publish an ODC file

  1. Log on to Contoso-Client as Contoso\Susan.Burk.

  2. Click Start, click All Programs, click Microsoft Office, and then click Microsoft Excel 2010.

  3. In Excel, on the Data tab, click From Other Sources, and then click From SQL Server.

  4. In the Server name box, type Contoso-SQL, and then click Next.

  5. From the Select the database that contains the data you want list, select ServerStatus, and then click Next.

  6. On the Save Data Connection File and Finish page, click Finish.

    Note:

    If you are prompted to overwrite the ODC file, click Yes.

  7. On the Import Data dialog box, select the Table option, and then click OK.

  8. On the Data tab, click Connections.

  9. Select the ServerStatus data connection, and then click Properties.

  10. On the Connection Properties dialog box, on the Definition tab, click Authentication Settings.

  11. Select the SSS option, and in the SSS ID box, type the name of the Secure Store target application, VisioServicesData.

  12. Click OK.

  13. On the Connection Properties dialog box, click Export Connection File.

  14. In the File Save dialog box, type http://Contoso-AppSrv/sites/BICenter in the URL box, and then press Enter.

    Note:

    It may take some time for the dialog box to refresh and show the site content.

  15. Double-click Data Connections.

  16. In the File name box, type ServerStatus.odc, and then click Save.

  17. On the Web File Properties dialog box, select Office Data Connection File from the Content Type drop-down list, and then click OK.

  18. On the Connection Properties dialog box, click Cancel.

  19. On the Workbook Connections dialog box, click Close.

  20. Exit Excel.

    Note:

    There is no need to save the Excel workbook. We have exported the ODC file and that is all we need to create a data connection from Visio.

Remain logged on to the Contoso-Client virtual machine as Susan Burk.

Now that the ODC file has been created and published, we can create a data-connected Web drawing.

Create a data-connected Web drawing by using an ODC file

In this section, we create a data-connected Web drawing, and then publish it to the document library in the Business Intelligence center. This helps us confirm that data refresh through Secure Store is working correctly.

Use the following procedure to create the Web drawing.

To create a data-connected Web drawing by using an ODC file

  1. Click Start, click All Programs, click Microsoft Office, and then click Microsoft Visio 2010.

  2. On the Choose a Template page, in the Template Categories section, click Network.

  3. Click Detailed Network Diagram, and then click Create.

  4. On the ribbon, click the Data tab, and then click Link Data to Shapes.

  5. On the Data Selector page of the wizard, click Previously created connection, and then click Next.

  6. On the Select Data Connection page, click Browse.

  7. On the Existing Connections dialog box, click Browse for More.

  8. In the Data Selector dialog box, type http://Contoso-AppSrv/sites/BICenter in the URL box, and then press Enter.

    Note:

    It may take some time for the dialog box to refresh and show the site content.

  9. Double-click Data Connections.

  10. Click the ServerStatus data connection, and then click Open.

  11. On the Select Data Connection page, click Finish.

  12. On the blank drawing page:

    • Drag three Server icons from the Shapes area onto the page.

    • Drag each row from the data table in the External Data section to one of the shapes.

      Each shape should now have a data graphic connected to it indicating the server name and status (1 or 0).

You should now have a diagram similar to the following.

Image of servers with data callouts

The next step is to publish the diagram as a data-connected Web drawing and then confirm that data refresh is working correctly.

Use the following procedure to publish the drawing.

To publish a data-connected Web drawing

  1. Click File, and then click Save & Send.

  2. Click Save to SharePoint.

  3. Under Locations, click Browse for a location.

  4. Under File Types, click Web Drawing.

  5. Click Save As.

  6. On the Save As dialog box, type http://Contoso-AppSrv/sites/BICenter in the location box at the top, and then press Enter.

    Note:

    It may take some time for the dialog box to refresh and show the site content.

  7. In the All Site Content list, double-click Documents.

  8. In the File name box, type Server Status, and then click Save.

    The Web drawing will render in a browser window.

  9. When the drawing is displayed, if a Refresh Disabled warning is displayed, click Enable (always).

    Note the server statuses displayed:

    • Seattle - Online (1)

    • New York - Online (1)

    • London - Offline (0)

    Leave this browser window open for the data refresh test procedure that follows.

The rendered Web drawing shows the data currently in the ServerStatus database. To test the data refresh mechanism, we can modify the data in the Status table in SQL Server and then refresh the Web drawing to see the change.

Use the following procedure to modify the data in SQL Server and then refresh the Web drawing.

Note:

Remain logged on to Contoso-Client as Susan Burk while you do this procedure.

To test Visio Services data refresh

  1. Log into Contoso-SQL using the Contoso\SQLAdmin account.

  2. Click Start, click All Programs, click Microsoft SQL Server 2008 R2, and then click SQL Server Management Studio.

  3. On the Connect to Server dialog box, select Database Engine for the Server type, and then click Connect.

  4. In the toolbar, click New Query.

  5. Copy the following query to the query window:

    Copy Code
    USE [ServerStatus]
GO
UPDATE dbo.Status set dbo.Status.status = 1 where dbo.Status.server = 'London'
GO

  6. In the toolbar, click Execute.

  7. Return to Contoso-Client where the Server Status Web drawing is displayed.

    Note that the London server still shows Offline (0).

  8. On the Visio Web Access toolbar, click Refresh.

    Note that the London server now shows Online (1), reflecting the manual changes we made in SQL Server.

    Note:

    The Visio Services cache settings affect how quickly the new results appear when you refresh the drawing. In this lab, we set the cache settings to zero (0), allowing immediate refresh. In a production environment, refresh will likely take longer depending on how you configure the cache.

See Also

Concepts

Plan Visio Services security (SharePoint Server 2010)


Configure PerformancePoint Services for a BI test environment

Published: May 26, 2011

Important:

This article is part of the Configuring a BI infrastructure: Hands-on labs series. To complete the steps in this article, you must first have completed:

  • All steps in the Create a baseline environment for a BI test environment series of articles.

PerformancePoint Services in Microsoft SharePoint Server 2010 is a performance-management service that you can use to monitor and analyze your business by using dashboards, scorecards, reports, and key performance indicators (KPIs).

Deploying PerformancePoint Services consists of the following steps:

  • Creating an Active Directory account for the application pool under which the PerformancePoint Services service application will run

  • Registering that account as a managed account in Microsoft SharePoint Server 2010

  • Starting the PerformancePoint Service

  • Creating a PerformancePoint Services service application

The first step in deploying PerformancePoint Services is to create an account in the Active Directory directory service to run the application pool for the PerformancePoint Services service application. Use the following procedure to create the account.

To create an account for the application pool

  1. Log in to Contoso-DC by using the Contoso\administrator account.

  2. On the Contoso-DC virtual machine, click Start, click Administrative Tools, and then click Active Directory Users and Computers.

  3. Expand the contoso.local node.

  4. Right-click Users, click New, and then click User.

  5. In the Full name box and the User logon name box, type PPSAppPool.

  6. Click Next.

  7. In the Password and Confirm password boxes, type a password for the account.

  8. Clear the User must change password at next logon check box.

  9. Select the Password never expires check box.

  10. Click Next.

  11. Click Finish.

  12. Log off Contoso-DC.

Once the Active Directory account has been created, it must be registered in SharePoint Server 2010 before it can be used to run an application pool. Use the following procedure to register the account.

To register a managed account

  1. Log on to Contoso-AppSrv by using the Contoso\FarmAdmin account.

  2. Click Start, click All Programs, click Microsoft SharePoint 2010 Products, and then click SharePoint 2010 Central Administration.

  3. On the SharePoint Central Administration Web site home page, in the left navigation, click Security.

  4. On the Security page, under General Security, click Configure managed accounts.

  5. On the Managed Accounts page, click Register Managed Account.

  6. In the User name box, type Contoso\PPSAppPool.

  7. In the Password box, type the password for the Contoso\PPSAppPool account.

  8. Click OK.

By default, the application pool account does not have the required access to the SharePoint content database. Access to this database is required by PerformancePoint Services. Use the following procedure to grant the required database access to the application pool account.

To grant content database access to the managed account

  1. On Contoso-AppSrv, click Start, click All Programs, click Microsoft SharePoint 2010 Products, right-click SharePoint 2010 Management Shell, and then click Run as Administrator.

  2. At the Windows PowerShell Command Prompt, type the following and press Enter after each line:

    Copy Code
    $w = Get-SPWebApplication -identity http://contoso-appsrv
$w.GrantAccessToProcessIdentity("Contoso\PPSAppPool")

Once you have granted database access to the application pool account, you must start the PerformancePoint Service. This is the SharePoint Server 2010 service that performs all processing and activities associated with PerformancePoint Services.

You must start this service on at least one application server. In a production environment, you would choose a server or servers on which to run the service, depending on your capacity requirements.

Use the following procedure to start the PerformancePoint Service.

To start the PerformancePoint Service

  1. On the Central Administration home page, under System Settings, click Manage services on server.

  2. Above the Service list, click the Server drop-down, and then click Change Server.

    Note that the application server, Contoso-AppSrv, is listed together with Contoso-SQL. In a farm that has multiple application servers, you would use this dialog box to select the server where you want to run Secure Store Service, and then start the service as shown later in this article.

  3. Click CONTOSO-APPSRV.

  4. In the Service list, click Start next to PerformancePoint Service.

Once the PerformancePoint Service has been started, you must create a PerformancePoint Services service application. Use the following procedure to create the service application.

To create a PerformancePoint Services service application

  1. On the Central Administration home page, under Application Management, click Manage service applications.

  2. On the Manage Service Applications page, click New, and then click PerformancePoint Service Application.

  3. In the Name section, type PerformancePoint Services in the box.

  4. Select the Add this service application's proxy to the farm's default proxy list check box.

  5. Select the Create new application pool option and type PPSAppPool in the Application pool name box.

  6. Select the Configurable option and, from the drop-down list, select CONTOSO\ppsapppool.

  7. Click Create.

  8. When the service application has been successfully created, click OK.

When you have completed all of the previous procedures, PerformancePoint Services is operational and ready to use. The next step is to configure security access to your data sources. The following lab covers configuring security access by using Secure Store Service:

  • Configure data access for PerformancePoint Services


Configure data access for PerformancePoint Services
See Also

Published: May 26, 2011

Important:

This article is part of the Configuring a BI infrastructure: Hands-on labs series. To complete the steps in this article, you must first have completed:

  • All steps in the Create a baseline environment for a BI test environment series of articles.

  • All steps in Configure PerformancePoint Services for a BI test environment

PerformancePoint Services uses an unattended service account to connect to database servers. By using the unattended service account involves configuring an Active Directory account access to your data, storing the credentials for this account in Secure Store, and configuring PerformancePoint Services to use this account to access data.

The following steps are required to configure data access in PerformancePoint Services.

  • Configure a data access account

  • Configure the unattended service account

  • Verify that user permissions are configured correctly

The first step is to create an Active Directory account for use as the unattended service account.

Configure a data access account

To configure a data access account for PerformancePoint Services, we begin by creating an Active Directory account.

To create an Active Directory account for data access

  1. Log into Contoso-DC as Contoso\Administrator.

  2. Click Start, click Administrative Tools, and then click Active Directory Users and Computers.

  3. Expand the contoso.local node.

  4. Right-click Users, click New, and then click User.

  5. In the Full name and User logon name text boxes, type PPSUnattended.

  6. Click Next.

  7. Type and confirm a password for the account.

  8. Clear the User must change password at next logon check box.

  9. Select the Password never expires check box.

  10. Click Next, and then click Finish.

Next, we create a SQL Server logon. This account will be used to view data that is stored in SQL Server.

To create a SQL Server logon

  1. Log in to Contoso-SQL as Contoso\SQLAdmin.

  2. Click Start, click All Programs, click Microsoft SQL Server 2008 R2, and then click SQL Server Management Studio.

  3. On the Connect to Server dialog box, select Database Engine as the Server type, type Contoso-SQL in the Server name text box, and then click Connect.

  4. In Object Explorer, expand Security.

  5. Right click Logins, and then click New Login.

  6. In the Login name text box, type Contoso\PPSUnattended.

  7. Under Select a page, click User Mapping.

  8. Select the Map check box for the ContosoRetailDW database, and then under Database role membership for: ContosoRetailDW, select the db_datareader check box.

  9. Click OK.

Now that the data access account is configured, the next step is to configure the unattended service account for PerformancePoint Services.

Configure the unattended service account

To configure the unattended service account, we begin by specifying an unattended service account for PerformancePoint. We do this by editing PerformancePoint Services Global Settings.

To configure PerformancePoint Services Global Settings

  1. Log into Contoso-AppSrv as Contoso\FarmAdmin.

  2. Click Start, click All Programs, click Microsoft SharePoint 2010 Products, and then click SharePoint 2010 Central Administration.

  3. On the Central Administration home page, under Application Management, click Manage service applications.

  4. On the Manage Service Applications page, click PerformancePoint Services.

  5. On the Manage the PerformancePoint Services page, click PerformancePoint Service Application Settings.

  6. On the PerformancePoint Service Application Settings page, in the SecureStore and Unattended Service Account section:

    1. In the User Name text box, type Contoso\PPSUnattended.

    2. In the Password text box, type the password for the Contoso\PPSUnattended account.

  7. Click OK.

Now that we have configured PerformancePoint Services, the next step is to test connectivity. We do this by creating a PerformancePoint data connection.

To test PerformancePoint Services connectivity

  1. In the Business Intelligence Center (http://contoso-appsrv/sites/BICenter), click Monitor Key Performance, and then click Start using PerformancePoint Services.

    The PerformancePoint site template opens.

  2. Click Run Dashboard Designer.

  3. In the Application Run - Security Warning dialog box, click Run.

    Dashboard Designer opens.

  4. In the Workspace Browser, click Data Connections. Then, on the Create tab in the ribbon, click Data Source.

    The Select a Data Source Template dialog box opens.

  5. In the Category pane, click All, and in the Template pane, click SQL Server Table. Then click OK.

    The data connection opens for editing.

  6. In the center pane, on the Editor tab, specify the following settings:

    1. In the Connection Settings section, select Use Standard Connection.

    2. In the Server box, type Contoso-SQL.

    3. Use the Database list to select ContosoRetailDW.

    4. Use the Table list to select dbo.DimProductCategory.

  7. In the Data Source Settings section, click Test Data Source. If the connection is successful, then the unattended service account is configured correctly.

  8. In the center pane, click the Properties tab. In the Name box, type Product Categories.

  9. In the Workspace Browser, right-click the data connection, and then click Save.

    This saves the data connection that you previously created to the Data Connections list in the Business Intelligence Center.

  10. In the Business Intelligence Center (http://contoso-appsrv/sites/bicenter), click Data Connections. Notice the data source that you created is listed in the Data Connections document library.

  11. Close Dashboard Designer. If a Dashboard Designer dialog box opens that prompts you to save changes to dashboard items, click Don't Save.

    Note:

    By default, PerformancePoint dashboard items are saved to the following SharePoint list and libraries in the Business Intelligence Center:

    • Data connections are saved to the Data Connections list

    • Key performance indicators (KPIs), scorecards, reports, dashboard pages, and dashboard filters are saved to the PerformancePoint Content list

    • Published dashboards are saved to the Dashboards document library

    By saving items as we create them one at a time, any changes to those items are automatically saved to SharePoint Server. For example, we saved our data connection to SharePoint Server in Step 8.

    When you see the Dashboard Designer dialog box that prompts you to save changes to items, you are actually being asked whether you want to create a workspace file that you would then save to your local computer. The workspace file does not contain the actual dashboard items, but does contain definitions of those dashboard items, which is useful for dashboard content migration scenarios that are not covered in these labs.

  12. Log off the Contoso-AppSrv computer.

Now that PerformancePoint Services is enabled and configured, the next step is to verify that user permissions are assigned correctly.

Verify that user permissions are configured correctly

During the process of setting up the BI test environment, we created certain accounts and groups, and we assigned permissions for those accounts. These accounts and permissions are summarized in the following table:

User Name | Group | Permissions
Contoso\Jill.Frank | None. | None.
Contoso\John.Woods | BICenterRead | Read Read permissions enable users to view information in the Business Intelligence Center.
Contoso\Susan.Burk | BICenterContribute | Contribute Contribute permissions enable users to view and create items, such as reports, and save them to this site.
Contoso\Cindy.White | BICenterDesign | Design Design permissions enable users to view, create, and publish items that include dashboards.
Contoso\David.Hamilton | BICenterFullControl | Full Control Full Control permissions enable users to view, create, and publish dashboard content, and to view or edit user permissions

To verify that user permissions are configured correctly, we will log on to the Contoso-Client computer by using each user's credentials and attempt to perform one or more tasks that are subject to user permissions restrictions. These procedures help show how permissions work with PerformancePoint Services and the Business Intelligence Center.

We begin by verifying that unauthorized users cannot access the Business Intelligence Center.

Verifying that unauthorized users cannot access the Business Intelligence Center

Contoso\Jill.Frank was not assigned permissions to access the Business Intelligence Center. To verify that unauthorized users cannot view information in the Business Intelligence Center, we attempt to open the Business Intelligence Center by using Jill's user credentials.

To attempt to open the Business Intelligence Center by using an unauthorized account

  1. Log into the Contoso-Client computer by using the Contoso\Jill.Frank user account.

  2. Open a web browser.

  3. In the address line, type http://contoso-appsrv.

    The main team site opens.

  4. In the Quick Launch, click Business Intelligence Center.

    You receive an Error: Access Denied message.

  5. Log off the Contoso-Client computer.

The error message indicates that Jill Frank does not have permissions to access the Business Intelligence Center. This confirms that user permissions are configured correctly for this user account.

Next, we will verify that Read permissions are working correctly.

Verifying that Read permissions are configured correctly

John Woods was assigned Read permission, which means he should be able to view, but not edit, content in the Business Intelligence Center. Users who have Read permissions can also open Dashboard Designer. However, they cannot create PerformancePoint dashboard content.

To verify that Read permissions are configured correctly, we will attempt to create a KPI using the Contoso\John.Woods account.

To attempt to create a KPI by using Dashboard Designer

  1. Log into the Contoso-Client computer by using the Contoso\John.Woods user account.

  2. Open a web browser.

  3. In the address line, type http://contoso-appsrv.

    The main team site opens.

  4. In the Quick Launch, click Business Intelligence Center.

    The Business Intelligence Center opens.

  5. In the Business Intelligence Center, click Monitor Key Performance, and then click Start using PerformancePoint Services.

    The PerformancePoint site template opens.

  6. Click Run Dashboard Designer.

  7. In the Application Run - Security Warning dialog box, click Run.

    Dashboard Designer opens.

    Important:

    Dashboard Designer will open for all users who have at least Read access assigned on the Business Intelligence Center. However, users who have only Read permissions assigned will be unable to create any items by using Dashboard Designer.

  8. In the Workspace Browser, click PerformancePoint Content.

  9. Click the Create tab, and then click KPI.

    The Select a KPI Template dialog box opens.

  10. Select Blank KPI, and then click OK.

    You receive an error message that indicates that you do not have permissions to create a KPI.

  11. Close Dashboard Designer. If a Dashboard Designer dialog box opens that prompts you to save changes to dashboard items, click Don't Save.

  12. Log off the Contoso-Client computer.

The error message appeared when you tried to create a KPI indicates that John Woods does not have permissions to create items by using Dashboard Designer. This confirms that user permissions are configured correctly for this user account.

Next, we will verify that Contribute permissions are working correctly.

Verifying that Contribute permissions are configured correctly

Susan Burk was assigned Contribute permissions, which means she should be able to create dashboard items, such as reports, scorecards, filters, and dashboard pages. However, Susan should be unable to publish dashboards. To verify that users who have Contribute cannot publish dashboards, we will attempt to create and publish a dashboard that contains a scorecard by using the Contoso\Susan.Burk account.

We begin by creating a basic scorecard that uses fixed values that we will specify.

To create a basic scorecard

  1. Log into the Contoso-Client computer by using the Contoso\Susan.Burk user account.

  2. Open a web browser.

  3. In the address line, type http://contoso-appsrv.

    The main team site opens.

  4. In the Quick Launch, click Business Intelligence Center.

    The Business Intelligence Center opens.

  5. In the Business Intelligence Center, click Monitor Key Performance, and then click Start using PerformancePoint Services.

    The PerformancePoint site template opens.

  6. Click Run Dashboard Designer.

  7. In the Application Run - Security Warning dialog box, click Run.

    Dashboard Designer opens.

  8. In the Workspace Browser, click PerformancePoint Content.

  9. Click the Create tab, and then click Scorecard.

    The Select a Scorecard Template dialog box opens.

  10. In the Category pane, select Standard, and in the Template pane, select Fixed Values Scorecard. Then click OK.

    The Create a Fixed Values Scorecard wizard opens.

  11. On the Select KPIs to Import page, specify the following:

    • In the KPI Name column, select the default text that says "New KPI", and then type Unit Sales.

    • In the Actual column, type a number, such as 500.

    • In the Target column, type a number, such as 525.

    Then, click Next.

  12. On the Locations page, verify that the Create KPIs in list has PerformancePoint Content, and then click Finish.

    The scorecard opens for editing.

  13. In the center pane, click the Properties tab.

  14. In the Name box, type Sales Scorecard.

  15. In the Workspace Browser, right-click the scorecard, and then click Save.

    This saves the scorecard to the PerformancePoint Content list in the Business Intelligence Center.

The basic scorecard is completed. The next step is to create a dashboard page. (Contribute permissions enable users to create but not publish dashboard pages.)

To create a dashboard page

  1. On the Create tab, in the Dashboard Items group, click Dashboard.

    The Select a Dashboard Page Template dialog box opens.

  2. Select 1 Zone, and then click OK.

    The dashboard opens for editing.

  3. Notice that in the Workspace Browser, the text "New Dashboard" is highlighted. Type Sales Dashboard, and then press the Enter key to rename the dashboard.

  4. In the Details pane, expand Scorecards, and then expand PerformancePoint Content.

  5. Drag the Sales Scorecard to the zone in the Dashboard Content section.

  6. In the Workspace Browser, right-click the Sales Dashboard, and then click Save.

    This saves the dashboard page to the PerformancePoint Content list in the Business Intelligence Center.

As expected, Susan was able to create a scorecard and a dashboard page. The next step is to attempt to publish the dashboard.

To attempt to publish a dashboard

  1. In the Workspace Browser, right-click the Sales Dashboard, and then click Deploy to SharePoint.

    The Deploy To dialog box opens.

  2. Keep the default settings, and then click OK.

    You receive an error message that indicates that you cannot deploy the dashboard. The message indicates that the document library "sites/BICenter/Dashboards" is unavailable.

  3. Close Dashboard Designer. If a Dashboard Designer dialog box opens that prompts you to save changes to dashboard items, click Don't Save.

The error message that opened when Susan tried to publish a dashboard indicates that she does not have sufficient permissions to perform that task. This confirms that user permissions are configured correctly for this user account.

Next, we will verify that Design permissions are working correctly.

Verifying that Design permissions are configured correctly

Cindy White was assigned Design permissions, which means she should be able to view, create, and edit dashboard items, such as reports, scorecards, filters, and dashboard pages. In addition, Cindy should be able to publish dashboards. However, users who have Design permissions should be unable to view or edit user permissions for the Business Intelligence Center. To verify that Design permissions are configured correctly, we will first publish the dashboard that we created earlier in this article. Then, we will attempt to view and edit user permissions for the dashboard by using the Contoso\Cindy.White account.

We begin by publishing the Sales Dashboard.

To publish the Sales Dashboard

  1. Log into the Contoso-Client computer by using the Contoso\Cindy.White user account.

  2. In the address line, type http://contoso-appsrv.

    The main team site opens.

  3. In the Quick Launch, click Business Intelligence Center.

    The Business Intelligence Center opens.

  4. In the Business Intelligence Center, click Monitor Key Performance, and then click Start using PerformancePoint Services.

    The PerformancePoint site template opens.

  5. Click Run Dashboard Designer.

  6. In the Application Run - Security Warning dialog box, click Run.

    Dashboard Designer opens.

  7. In the Workspace Browser, click PerformancePoint Content.

  8. In the center pane, on the SharePoint tab, double-click Sales Dashboard to open it for editing.

  9. In the Workspace Browser, right-click the Sales Dashboard, and then click Deploy to SharePoint.

    The Deploy To dialog box opens.

  10. Keep the default settings, and then click OK.

    The dashboard is published to SharePoint Server and opens in a web browser.

    Keep this window open.

The dashboard has published successfully. The next step is to attempt to view and edit user permissions.

There are two ways to view or edit user permissions:

  • You can use the Item Permissions toolbar command in a SharePoint list or library

  • You can use the Permissions toolbar command in Dashboard Designer

We will attempt to view and edit user permissions by using both methods.

We begin by trying to view and edit permissions by using the Item Permissions toolbar command in the PerformancePoint Content list.

To attempt to view and edit item permissions in a SharePoint list

  1. In the browser window where the dashboard is displayed, in the Quick Launch, click PerformancePoint Content.

    The PerformancePoint Content SharePoint list opens and displays the dashboard items that we created earlier by using the Contoso\Susan.Burk account.

  2. Locate an item, such as the Sales Scorecard, and select the check box to the left of the item's name.

  3. In the ribbon, click the Items tab. Notice that in the Manage group, the Item Permissions toolbar command is not enabled.

    This indicates that Cindy White cannot view or edit user permissions for dashboard items.

Now we attempt to view and edit user permissions by using the Permissions toolbar command in Dashboard Designer.

To attempt to view and edit user permissions in Dashboard Designer

  1. In Dashboard Designer, in the Workspace Browser, click PerformancePoint Content.

  2. On the Home tab, in the Item group, click Permissions.

    You receive an Error: Access Denied message.

    The error message indicates that you do not have permissions to view and edit user permissions for PerformancePoint dashboard content.

  3. Close the page that displays the error message, and then close Dashboard Designer. If a Dashboard Designer dialog box opens that prompts you to save changes to dashboard items, click Don't Save.

  4. Log off the Contoso-Client computer.

Cindy White can create and edit dashboard items and publish dashboards, but she cannot view or edit user permissions. This confirms that user permissions are configured correctly for this user account.

Next, we will verify that Full Control permissions are working correctly.

Verifying that Full Control permissions are configured correctly

David Hamilton was assigned Full Control permissions, which means that he can view, create, and edit dashboard items. In addition, David Hamilton can publish dashboards and view or edit user permissions for dashboard content.

We can verify this by viewing user permissions for the Sales Scorecard that was created and published earlier in this article.

We will use two methods to view and edit permissions:

  • We will use the Item Permissions toolbar command in the PerformancePoint Content list

  • We will use the Permissions toolbar command in Dashboard Designer

To view or edit item permissions in a SharePoint list

  1. Log into the Contoso-Client computer by using the Contoso\David.Hamilton user account.

  2. In the address line, type http://contoso-appsrv.

    The main team site opens.

  3. In the Quick Launch, click Business Intelligence Center.

    The Business Intelligence Center opens.

  4. In the Quick Launch, click PerformancePoint Content.

    The PerformancePoint Content SharePoint list opens and displays the dashboard items that we created earlier by using the Contoso\Susan.Burk account.

  5. Locate an item, such as the Sales Scorecard, and select the check box to the left of the item's name.

  6. In the ribbon, click the Items tab, and in the Manage group, click the Item Permissions toolbar command.

    A permissions page opens, where you can view or edit user permissions.

To view or edit user permissions in Dashboard Designer

  1. In the browser window, in address line, type http://contoso-appsrv.

    The main team site opens.

  2. In the Quick Launch, click Business Intelligence Center.

    The Business Intelligence Center opens.

  3. In the Business Intelligence Center, click Monitor Key Performance, and then click Start using PerformancePoint Services.

    The PerformancePoint site template opens.

  4. Click Run Dashboard Designer.

  5. In the Application Run - Security Warning dialog box, click Run.

    Dashboard Designer opens.

  6. In Dashboard Designer, in the Workspace Browser, click PerformancePoint Content.

    In the center pane, the Unit Sales KPI, Sales Scorecard, and Sales Dashboard are listed.

  7. Double-click Sales Scorecard to open it for editing.

  8. On the Home tab, in the Item group, click Permissions.

    A permissions page opens, where you can view or edit user permissions.

  9. Close the permissions page, and then close Dashboard Designer. If a Dashboard Designer dialog box opens that prompts you to save changes to dashboard items, click Don't Save.

  10. Log off the Contoso-Client computer.

You have successfully configured PerformancePoint Services.

See Also

Concepts

Set up accounts for a BI test environment
Configure a Business Intelligence Center for a test environment


Enable Reporting Services in an integrated SharePoint Server BI test environment

Published: July 16, 2012

In our baseline configuration, SQL Server Reporting Services is installed in native mode. To use any of the Reporting Services features on SharePoint Server such as PowerPivot, Access Services, or Report Builder 3.0, you must change your configuration of SQL Server Reporting Services to SharePoint integrated mode. The articles in this section instruct how to change from native to integrated mode and how to configure and start Report Builder 3.0 from the Business Intelligence Center.

In this section:

  • Changing SQL Reporting Services from Native mode to Integrated mode in a BI test environment

  • Configure Report Builder 3.0 for use in SharePoint BI test environment


Changing SQL Reporting Services from Native mode to Integrated mode in a BI test environment
See Also

Published: February 7, 2012

In our baseline configuration, SQL Server Reporting Services is installed in native mode. To use any of the Reporting Services features on SharePoint such as PowerPivot, Access Services, or Report Builder 3.0, you must change your configuration of SQL Server Reporting Services to SharePoint integrated mode. This article describes the steps that are required to switch to integrated mode.

Install SharePoint Server 2010 components on the Reporting Server computer

To use a reporting server in the SharePoint farm, you first have to install SharePoint Server components on the Contoso-SQL computer.

Note:

You must have an internet connection to perform this procedure. Refer to Create a baseline environment for a BI test environment for instructions.

To install SharePoint Server 2010 prerequisites

  1. Log on to the Contoso-SQL virtual machine with the Contoso\SQLAdmin account.

  2. On the SharePoint Server 2010 DVD, run default.hta.

  3. On the SharePoint Server 2010 opening page, click Install software prerequisites.

  4. Follow the wizard to complete installation of all prerequisites.

    Note:

    Depending on your configuration, you may have to restart your computer during this process.

  5. When the wizard has finished, click Finish.

Once the prerequisites are installed, you can install SharePoint Server 2010 itself. Perform the following procedure to install SharePoint Server 2010 on Contoso-AppSrv.

To install SharePoint Server 2010

  1. On the SharePoint Server 2010 DVD, run default.hta.

  2. On the SharePoint Server 2010 opening page, click Install SharePoint Server.

  3. On the Enter your Product Key page, type your product key, and then click Continue.

  4. On the Read the Microsoft Software License Terms page, read the license agreement and accept the terms by selecting the I accept the terms of this agreement check box.

  5. Click Continue.

  6. On the Choose the installation you want page, click Server Farm.

  7. On the Server Type page, select the Complete - Install all components option.

  8. Click Install Now.

  9. On the Run Configuration Wizard page, leave the Run the SharePoint Products and Technologies Configuration Wizard now check box selected, and then click Close.

  10. On the Welcome to SharePoint Products page, click Next.

  11. On the warning dialog box, click Yes.

  12. On the Connect to a server farm page, select the Connect to an existing server farm option, and then click Next.

  13. On the Specify Configuration Database Settings page:

    1. In the Database server box, type the name of the database server (Contoso-SQL).

    2. In the Database name text box, keep the default database name of SharePoint_Config.

    3. Type the user name and password of the database access account (Contoso\SQLAdmin).

    4. Click Next.

      Note:

      If the wizard cannot connect to Contoso-SQL, check the firewall settings in Windows Server.

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

    6. Select Do not use this machine to host the web site. Click OK.

    7. On the Configuration Successful page, click Finish.

Configure SSRS in SharePoint integrated mode

To configure SSRS in SharePoint integrated mode

  1. Log on to Contoso-SQL as Contoso\SQLAdmin.

  2. Click Start, select All Programs, Microsoft SQL Server 2008 R2, and Configuration Tools, and then click Reporting Services Configuration Manager.

  3. In the baseline line configuration, SQL Server Reporting Services is installed on the default instance. The server name CONTOSO-SQL and the report server instance, MSSQLSERVER, are shown as the defaults. Click Connect.

  4. On the report server status page, notice that the current Report Server mode is Native.

  5. From the left navigation pane, click Database.

  6. Click Change Database.

  7. Select Create a new report server database, and then click Next.

  8. Accept defaults for server name and credentials. Click Next.

  9. In the Database Name box type BILabReportServer and change Report Server Mode to SharePoint integrated mode. Click Next.

  10. Accept the default credentials and then click Next.

  11. Verify the summary, and make sure that Report Server Mode is set to SharePoint integrated mode. Click Next.

  12. Click Finish.

  13. In the left navigation pane of Reporting Services Configuration Manager, click Web service URL, and then click the URL link to open it.

    Note:

    You will receive an error because you must still configure Reporting Services integration in SharePoint Server.

Configure SharePoint Server 2010 for Reporting Services integration

Finish the configuration of integrating Reporting Services with SharePoint Server 2010 by completing the following steps:

To configure SharePoint Server 2010 for Reporting Services integration

  1. Log on to Contoso-AppSrv as Contoso\FarmAdmin.

  2. Open SharePoint Central Administration.

  3. On the left navigation pane, click General Application Settings. In the center page in the Reporting Services section, click Reporting Services Integration.

  4. In the Report Server Web Service URL field, type http://CONTOSO-SQL/REPORTSERVER.

  5. In the Authentication Mode section, select Trusted Account.

  6. In the Credentials box, enter the user name CONTOSO\SQLAdmin and the password.

  7. In the Activate the reporting services feature section, select Activate feature in all existing site collections.

  8. Click OK.

See Also

Concepts

Create a baseline environment for a BI test environment
Configure Report Builder 3.0 for use in SharePoint BI test environment


Configure Report Builder 3.0 for use in SharePoint BI test environment
See Also

Published: February 7, 2012

When you are using the BI Center template, the Microsoft SQL Server Reporting Services (SSRS) content types are already available. However, as we have switched to SQL Server Reporting Services integration after the initial installation, you must manually enable the SQL Server Reporting Services content types.

Enable content type management

To enable content type management

  1. Open the library for which you want to enable multiple content types. On the library menu bar, you should see the following menus: New, Upload, Actions, and Settings. If you do not see Settings, you do not have permission to add a content type.

  2. On the Library Tools ribbon tab, click the Library tab.

  3. On the Settings ribbon group, click Library Settings.

  4. In the General Settings section, click Advanced settings.

  5. In the Content Types section, select Yes to allow management of content types.

  6. Change any other settings that you want, and then click OK.

Add Report Server content types

To add Report Server content types to the document library on the BI Center

  1. Go the BI Center, and from the Quick Launch pane, click Documents.

  2. On the Library Tools ribbon tab, click the Library tab.

  3. On the Settings ribbon group, click Library Settings.

  4. In the Content Types section, click Add from the existing site content types.

  5. In the Select Content Types section, in Select site content types from, click the arrow to select Reporting Services.

  6. In the Available Site Content Types list, click Report Builder, and then click Add to move the selected content type to the Content types to add list.

  7. To add Report Model and Report Data Source content types, repeat steps 5 and 6.

  8. Click OK.

See Also

Concepts

Create a baseline environment for a BI test environment
Changing SQL Reporting Services from Native mode to Integrated mode in a BI test environment


Configure Access Services for a BI test environment
See Also

Published: February 7, 2012

Important:

This article is part of the Configuring a BI infrastructure: Hands-on labs series. To complete the steps in this article, you must first have completed:

  • All steps in the Create a baseline environment for a BI test environment series of articles.

To make an Microsoft Access 2010 Web database available in a Web browser, you must publish the database to Access Services in Microsoft SharePoint Server 2010. Access Services in Microsoft SharePoint Server 2010 is a service application that creates a SharePoint site that contains an Access 2010 Web database, plus it moves all of the database objects and data to a SharePoint Server list on that site.

You do not need the Access client to use the Web database. However, the Access client is required to make any changes to the database structure. A user account is required to use the Web database. Anonymous access is not supported.

In this lab, we deploy the Access Services service application on the Microsoft SharePoint Server 2010 farm.

Deploy Access Services

Deploying Access Services consists of the following steps:

  • Creating an Active Directory account for the application pool under which the Access Services service application will run.

  • Registering that account as a managed account in SharePoint Server 2010.

  • Grant content database access to the managed account

  • Start Access Services.

  • Creating an Access Services service application.

The first step in deploying Access Services is to create an account in the Active Directory directory service to run the application pool for the Access Services service application. Use the following procedure to create the account.

To create an account for the application pool

  1. Log on to Contoso-DC by using the Contoso\administrator account.

  2. On the Contoso-DC virtual machine, click Start, click Administrative Tools, and then click Active Directory Users and Computers.

  3. Expand the contoso.local node.

  4. Right-click Users, click New, and then click User.

  5. In the Full name box and the User logon name box, type AccessAppPool.

  6. Click Next.

  7. In the Password and Confirm password boxes, type a password for the account.

  8. Clear the User must change password at next logon check box.

  9. Select the Password never expires check box.

  10. Click Next.

  11. Click Finish.

  12. Log off Contoso-DC.

Once you have created the account, it must be registered as a managed account in SharePoint Server 2010. Doing so makes the account available to service applications when you create them. Use the following procedure to register the managed account.

To register a managed account

  1. On the Central Administration home page, in the left navigation, click Security.

  2. On the Security page, under General Security, click Configure managed accounts.

  3. On the Managed Accounts page, click Register Managed Account.

  4. In the User name box, type Contoso\AccessAppPool.

  5. In the Password box, type the password for the Contoso\AccessAppPool account.

  6. Click OK.

By default, the application pool account does not have the required access to the SharePoint content database. Access to this database is required for Access Services. Use the following procedure to grant the required database access to the application pool account.

To grant content database access to the managed account

  1. On Contoso-AppSrv, click Start, click All Programs, click Microsoft SharePoint 2010 Products, right-click SharePoint 2010 Management Shell, and then click Run as Administrator.

  2. At the Windows PowerShell command prompt, type the following:

    Copy Code
    PS> $w = Get-SPWebApplication -identity http://contoso-appsrv
PS> $w.GrantAccessToProcessIdentity("Contoso\AccessAppPool")

Once you have granted database access to the application pool account, you must start Access Services. This is the SharePoint Server 2010 service that performs all processing and activities associated with Access Services.

You must start this service on at least one application server. In a production environment, you would choose a server or servers on which to run the service, depending on your capacity requirements.

Use the following procedure to start Access Services.

To start Access Services

  1. On the Central Administration home page, in the System Settings section, click Manage services on server.

  2. Above the Service list, click the Server drop-down list, and then click Change Server.

    Note that the application server, Contoso-AppSrv, is listed together with Contoso-SQL. In a farm with multiple application servers, you would use this dialog box to select the server where you want to run the Secure Store Service, and then start the service as shown in the next two steps.

  3. Click CONTOSO-APPSRV.

  4. In the Service list, click Start next to Access Services.

Once Access Services has been started, you must create an Access Services service application. Use the following procedure to create the service application.

To create an Access Services service application

  1. On the Central Administration home page, in the Application Management section, click Manage service applications.

  2. On the Manage Service Applications page, click New, and then click Access Services.

  3. In the Access Services Application Name section, type Access Services in the box.

  4. Select the Create new application pool option and type AccessServicesAppPool in the Application pool name box.

  5. Select the Configurable option, and from the drop-down list, select CONTOSO\AccessAppPool.

  6. Click OK.

See Also

Concepts

Create a baseline environment for a BI test environment
Changing SQL Reporting Services from Native mode to Integrated mode in a BI test environment


Configure a SharePoint Server 2010 farm for business intelligence by using NTLM

Published: November 4, 2010

Integrated Windows authentication enables Windows clients to seamlessly authenticate with Microsoft SharePoint Server without having to manually provide credentials (user name/password). Two protocol types often used to authenticate are the Kerberos protocol and the NT LAN Manager (NTLM) protocol. This article describes NTLM authentication detailing options for each SharePoint Server service, and it shows you the steps that are required to configure a Microsoft SharePoint Server 2010 environment for performing business intelligence tasks that use NTLM. To review the advantages and disadvantages of Kerberos authentication and NTLM authentication, see Overview of Kerberos authentication for Microsoft SharePoint 2010 Products.

The step-by-step instructions in this document cover several SharePoint Server 2010 scenarios that can be configured to use NTLM; links to additional resources are also provided. The scenarios covered include the following:

  • Scenario 1: Core configuration

  • Scenario 2: SQL Server and Analysis Services Configuration

  • Scenario 3: Reporting Services configuration

  • Scenario 4: PerformancePoint Services configuration

  • Scenario 5: Connect to SQL Server data from Excel and publish to a SharePoint site by using Excel Services

    Scenario 6: PowerPivot for SharePoint 2010 configuration

  • Scenario 7: Create a data-connected Web diagram and publish to a SharePoint site by using Visio Services

You may have to configure Kerberos due to the deployment topology of the IT assets, but in many production and test scenarios this is not necessary. If you want to learn more about scenarios for various service applications dedicated to business intelligence, see the white paper Configuring Kerberos Authentication for Microsoft SharePoint 2010 Products.

SharePoint Server 2010 in Classic Mode Authentication with NTLM

In SharePoint Classic mode, NTLM is the default protocol used for authentication flow into and out of the SharePoint Server farm, while claims authentication is used for authentication flow within the farm. This can introduce a configuration pitfall where you expect Windows Integrated authentication to use the client credentials to authenticate with a remote data source without an authorization barrier, but this is not allowed by the "double-hop" limitation in NTLM. The connection from the client to the SharePoint farm is considered the first hop, and the connection from the SharePoint farm to the remote data source is the second hop. To learn more about claims and the three authentication scenarios, incoming authorization, inter/intra-farm authorization, and outgoing authorization, see Overview of Kerberos authentication for Microsoft SharePoint 2010 Products

In such cases, SharePoint 2010 Products must use the trusted subsystem model for data-tier access. As shown in the following illustration, a trusted subsystem uses an account of a trusted user for access to external systems.

SharePoint Server2010 Trusted Subsystem
Note:

The independent account is called different things between SharePoint Server and SQL Server products. SharePoint Server calls this the Unattended Service Account while SQL Server calls it an Unattended Execution Account. It is important to know that it is a generic account, independent of the client and not being passed through the client.

SharePoint 2010 Products use one of the following strategies to implement trusted subsystems and enable data tier access in NTLM:

  • Prompt to the user for data source credentials

  • Embedded logon

  • Stored database credentials

Either one of the strategies creates a "first-hop" connection to the data tier, which eliminates the NTLM "second hop". Using stored data source credentials eliminates the additional credential prompt when you are using the business intelligence applications. All users of the SharePoint Server resource share the same access to the data resources because only one data source credential can be stored on the SharePoint Server resource.

Using SQL Server products, you can also prompt the user for data source credentials.

The following video describes the architecture for NTLM authentication.

Full Crawl Demo Screenshot

Running time: 4:17

Play video Watch the video about NTLM in a multi-tier architecture.

Download video For an optimal viewing experience, download the video about NTLM in a multi-tier architecture.

Right-click the link, and then click Save Target As to download a copy. Clicking the link opens a .wmv file in the default video viewer for full-resolution viewing.

Data access options for business intelligence products in SharePoint Server 2010

This section lists the data access options for each business intelligence product when the SharePoint farm is configured to use Classic mode authentication with NTLM and when the farm connects to remote data sources. Each SharePoint Server 2010 service implements its access to the data tier differently.

The Secure Store Service is a frequently used method for removing the double-hop problem while authenticating to external sources of data. The walkthrough in this article lists the steps that are required for enabling this deployment scenario by using Classic mode authentication with NTLM. The sequence of events that occurs is as follows:

  1. A SharePoint Server 2010 user accesses a data-connected object such as an Excel Services or PowerPivot worksheet, Visio Services Web drawing, or PerformancePoint Services dashboard.

  2. If the object is configured to use Secure Store for data authentication, the business intelligence Service Application calls the Secure Store Service to access the Target Application specified by the object.

  3. The service application uses an unattended account to authenticate with the remote data source.

    If the authentication is successful, the data is displayed to the user within the context of the worksheet, Web drawing, or dashboard.

Although the steps are similar, there are some differences between service applications. To learn more about how to configure the Secure Store Service for services in SharePoint Server 2010, see Use Secure Store with SQL Server Authentication (SharePoint Server 2010).

There are methods to embed user logon information into queries that allow a direct connection to the external system. For example, in PerformancePoint Services a Multidimensional Expression (MDX) function can be used to apply dynamic OLAP security to access SQL Server Analysis Services values.

Important:

Authentication methods may have different names with similar purpose and functionality. For example, in PerformancePoint Services, Per User Identity refers to Integrated Windows authentication. The clarifications are made in the following table.

Service Application Implementation Detail

Excel Services

Excel Services Application supports three data authentication methods:

  • Integrated Windows authentication: Use to allow for Windows clients to seamlessly authenticate with the data source without manually providing credentials (user name/password). This method does not work with remote data sources unless Kerberos authentication is configured.

  • Secure Store Service Authentication: Use when you want to access multiple system resources without having to provide authentication credentials one or more times. Also use when you must support individual and group mappings.

  • None: use when the Excel Services Application uses incoming connection strings to connect to the database. Depending on the specific database provider, the database can use the connection string to authenticate the user.

    Tip:

    Use this method when you want quick access to data for a single person and have no specific options for parsing the string.

To learn more see Plan Excel Services authentication (SharePoint Server 2010).

PerformancePoint Services

PerformancePoint Services supports three data authentication methods:

  • Per User Identity: Use to apply data-level security on the database. This is the same as Excel's and Visio Service's Integrated Windows Authentication in that each user's account is used to access all data sources. This method does not work with remote data sources unless Kerberos authentication is configured.

    Note:

    External data sources must reside within the same domain to authenticate to the external data sources; otherwise authentication will fail.

  • Unattended Service Account: Use to access all data sources from a single shared user account. This is a low privileged domain account stored in the Secure Store Service. In establishing your unattended service account, first determine whether this account has the necessary access to the data sources that will be required in the Dashboard.

  • Custom Data: Use to make SQL Server Analysis Services include the currently authenticated user name as a parameter on the custom data field in an Analysis Services connection string. The Custom data option is only used for Analysis Services data sources and can be used against SQL Server 2005 Analysis Services and SQL Server 2008 Analysis Services servers.

Visio Services

  • Integrated Windows authentication: Use to enable Windows clients to seamlessly authenticate with the data source without having to manually provide credentials (user name/password). This method does not work with remote data sources unless Kerberos authentication is configured.

  • Secure Store Service: Use Visio Graphics Service to map the user's credentials to an independent credential that has access to the database and use the Secure Store Service.

    This authentication model can only be used by drawings that use an ODC file to specify the connection. The ODC file specifies the target application that is used for credential mapping.

  • Unattended Service Account: Visio Graphics Service provides an authentication method where an administrator creates a mapping for all users through a single account. The mapped account is called the unattended service account and is a low-privilege Windows domain account that is given access to databases through the Secure Store Target Application. The Visio Graphics Service impersonates this account when it connects to the database if no other authentication method is specified.

    This is the default authentication method if no ODC file is used in the Visio Web drawing that specifies a different authentication method.

PowerPivot for SharePoint 2010

When you are accessing an Excel worksheet with PowerPivot data, the PowerPivot service application accesses the local Analysis Services VertiPaq engine, which does not cross computer boundaries to a server outside the SharePoint farm. In case of data refresh, the PowerPivot service application uses credentials stored in Secure Store Services to refresh data from an external Analysis Services database.

SQL Server 2008 R2 Reporting Services1

Each report and its data sources can be configured to prompt for credentials or use preconfigured credentials that are stored as part of the report or data source's metadata, and the option that is configured will be used when the user executes the report. In the case of an unattended report execution, such as a scheduled subscription, SQL Server Reporting Services uses the Unattended Execution Account stored on the report server to access the external data source.

1 SQL Server 2008 R2 is not a service application in SharePoint Server 2010 and is not claims-aware; it does not take advantage of the intra-farm claims authentication architecture.

SharePoint Server 2010 business intelligence in a multi-tier scenario

The following diagram shows the deployment scenario used to configure SharePoint Server 2010 business intelligence in the sections. As noted earlier in the discussion about subsystems, the front-end service authenticates and authorizes the client and then authenticates with additional back-end services, without passing the client identity to the back end system. The back-end system "trusts" the front-end service to perform authentication and authorization on its behalf. The farm topology is load balanced and scaled out between multiple tiers to demonstrate how identity delegation would work in multi-server, multi-hop scenarios. Load balancing on the SharePoint Server front-end Web and SQL Server Reporting Services servers was implemented by using Windows Server 2008 Network Load Balancing (NLB). How to configure NLB and NLB best practices are not covered in this document. For more information on NLB, refer to Overview for Network Load Balancing.

Note:

The topology in this example may be more or less complex than your own, but the essential characteristics of the client, SharePoint Server 2010 farm, and external system remain the same. For more information on how to design and build a production SharePoint Server environment, see Deployment for SharePoint Server 2010.

SharePoint Server 2010 NTLM authentication

Base configuration

There are scenarios that you can follow for configuration between the various services. Steps in this section show how to configure PerformancePoint Services, Excel Services, and Visio Services when you have not run the Farm Configuration Wizard. If you select the option to configure your farm by using a wizard, the wizard helps you create a default site collection and automatically configures your selection of service applications. The scenario assumes that you have chosen to configure everything yourself. To learn more about the different scenarios to deploy SharePoint Server 2010, see:

  • Deploy a single server with a built-in database (SharePoint Server 2010)

  • Deploy a single server with SQL Server (SharePoint Server 2010)

As you walk through the scenarios, you will recognize other differences in configuration.

Step 1: Create a Web application on SP10WFE-01.

To learn more see Create a Web application that uses Windows-classic authentication (SharePoint Server 2010). From the article configure using following steps.

  1. Browse to Central Administration and select Application Management and Manage Web Applications.

  2. In the toolbar, select New and create your Web application.

  3. Select Windows "classic mode" Authentication.

  4. Configure the port and host header for each Web application.

  5. Select NTLM as the Authentication Provider

    Note:

    If you select Negotiate and Kerberos authentication is not configured, authentication will default back to NTLM.

  6. Under application pool, select Create New Application Pool and then select the Managed Account.

    Note:

    A Managed Account is an Active Directory user account that uses credentials managed by and contained within SharePoint Server. To see how to register a new Managed Account, see Configure automatic password change (SharePoint Server 2010).

    Note:

    It is a security practice to use a separate managed account to run each service application.

When creating the new Web applications, you also create a new zone, the default zone, configured to use the Windows authentication provider. Zones represent different logical paths for gaining access to the same sites in a Web application and may imply various authentication methods for a specified Web application.

If users will be able to access site content anonymously, enable anonymous access for the Web application zone before you enable anonymous access at the SharePoint site level; later, site owners can configure how anonymous access is used within their sites. To learn more about zones, see the section planning zones for Web applications, in Plan authentication methods (SharePoint Server 2010).

Step 2: Create a site collection on SP10WFE-01. Follow the steps in Create a site collection (SharePoint Server 2010).

SQL Server and Analysis Services configuration

In this section, you configure the SQL Server 2008 R2 database server and the SQL Server 2008 R2Analysis Services server for access by the business intelligence applications and install the AdventureWorks sample databases and AdventureWorks sample cube.

Step | For information, see
Install the SQL Server engine instance on dbsrvSQL and the Analysis Services instance on dbsrvSQLAS. |
Open ports 1433 and 1434 on dbsrvSQL. | Configuring the Windows Firewall to Allow SQL Server Access
Open port 2383 on dbsrvSQLAS. | Configure windows firewall to enable Analysis Services Access
Enable TCP/IP and Named Pipes for the SQL Server engine instance on dbsrvSQL. | How to: Enable or Disable a Server Network Protocol (SQL Server Configuration Manager)
Download the sample databases from CodePlex and install them on both dbsrvSQL and dbsrvSQLAS. The install packages includes the sample Analysis Services project. You must manually deploy it. |
Install the Analysis Services sample project and deploy the sample cube. | Installing Analysis Services Sample Database

Reporting Services configuration

In this section, you will configure SQL Server 2008 R2Reporting Services to publish reports to a SharePoint site and view them in the SharePoint site. For an overview of the architecture for Reporting Services in SharePoint Server integration, see http://msdn.microsoft.com/en-us/library/bb283324.aspx.

Step For information, see

Install SharePoint Server 2010 on the SP10App-02 and join it to the SharePoint Server farm.The report server computer requires SharePoint Foundation 2010 or SharePoint Server 2010 as a prerequisite.

How to: Configure SharePoint Integration on Multiple Servers

Install SQL Server 2008 R2Reporting Services in SharePoint integrated mode on SP10App-02.

How to: Configure SharePoint Integration on Multiple Servers

Configure a domain account to run the report server instance.

Note:

You must use domain user credentials to run your report server instance if both of the following are true:

  • Your report server instance does not run on the same computer as your front-end Web server.

  • Your report server instance runs on the same server as the SharePoint Server databases.

How to: Configure a Service Account for Reporting Services

In rsreportserver.config, remove the <RSWindowsNegotiate> tag if it exists under <Authentication>.

How to: Modify a Reporting Services Configuration File

Use the Trusted Account option when you set up report server integration in SharePoint Central Administration.

This account is not used to access the data tier. It enables the Reporting Services Add-in for SharePoint Server 2010 to communicate with the Reporting Services Windows service on SP10App-02.

How to: Configure Report Server Integration in SharePoint Central Administration

Test the report server integration by accessing the link http://< hostname >/<site >/_layouts/ReportServer/SiteLevelSettings.aspx.

Download the sample reports from CodePlex and publish the sample reports to the SharePoint site.

How to Publish a Report to the SharePoint Library

Deploying Models and Shared Datasets to a SharePoint Site

Locate the sample reports in the SharePoint Server catalog, configure the DataSources\AdventureWorks2008R2 shared data source to prompt for credentials, and select the Use as Windows credentials check box.

How to: Create and Manage Shared Data Sources (Reporting Services in SharePoint Integrated Mode)

Test the report view by opening a sample report in the SharePoint site. You should be prompted to input your Windows credentials. Type the credentials of a user who has access to the AdventureWorks2008R2 database.

PerformancePoint Services configuration

In this section, you configure PerformancePoint Services. You will configure security so that users have access to external data systems. For more detailed steps, see Configure PerformancePoint Services.

Step For information, see

If you decide to open PerformancePoint Dashboard Designer from a site other than the Business Intelligence Center, see Enable the PerformancePoint Services site feature (SharePoint Server 2010).

Enable the PerformancePoint Services site feature (SharePoint Server 2010)

If you did not run the Configuration Wizard to create service applications and proxies, you must create a PerformancePoint Service application.

You must also start the PerformancePoint Services service. You can manage services by using Central Administration or by using Windows PowerShell 2.0 cmdlets.

Create a PerformancePoint Services service application (SharePoint Server 2010)

"Starting or stopping a service" in Manage services on the server (SharePoint Server 2010)

After you create a PerformancePoint Services service, it is a best practice to create and register a new service account for an existing application pool dedicated for PerformancePoint Services. To do this, run the following Windows PowerShell script to grant the account access to the associated content database. The following is an example.

PS C:\> $w = Get-SPWebApplication("<your Web application>")

PS C:\> $w.GrantAccessToProcessIdentity("<insert service account>")

This step is necessary for PerformancePoint Services to work correctly. Be aware that this action grants db_owner access to the SharePoint Foundation content databases.

Note:

SQL Server Authentication is not supported to the content databases.

Managed Accounts in SharePoint 2010 (http://go.microsoft.com/fwlink/p/?LinkId=198229)

Create and configure a Secure Store Service application and Proxy. This is required to store the Unattended Service Account password for a PerformancePoint Services service application.

To initialize the Secure Store Service application, refer to the following sections of Configure the Secure Store Service (SharePoint Server 2010).

  • Initialize an instance of a Secure Store Service application

  • Refresh the encryption key

Configure the Secure Store Service (SharePoint Server 2010)

Note:

Only specific sections apply to PerformancePoint Services configuration. Sections about how to create a target application or how to set credentials for a target application do not apply to PerformancePoint as they do for Visio and Excel Services.

Make sure that the service application connection, PerformancePoint Services service application, and Secure Store Service are associated with the Web application.

  1. In Central Administration, in the Application Management section, click Manage Web applications.

  2. On the Web Applications tab, click Service Connections. A Service Application Associations page appears. This shows either the default group or a custom group of service applications associated with the Web application.

    Important:

    If you did not select Make this application service the default when you created the PerformancePoint Services service application, you will not see the PerformancePoint Services Service Application Proxy selected.

Add or remove a service application connection to a Web application (SharePoint Server 2010)

Configure the unattended service account. The unattended service account must be set for PerformancePoint Services to connect to data sources other than the currently authenticated user. The Unattended Service account is set after you configure the PerformancePoint Service application. The setting is located in Manage service applications in Central Administration under the PerformancePoint Services management page.

Configure the unattended service account for PerformancePoint Services

By default, all locations are trusted. You may want to limit access to PerformancePoint Services data sources or any object dependent on a data source by making available one or more sites, lists, or document libraries instead of the complete site collection. You can enable trusted locations for PerformancePoint Services before or after you enable PerformancePoint Services features in sites and site collections.

Enable trusted locations for PerformancePoint Services (SharePoint Server 2010)

Create a data connection for Analysis Services.

To learn how to configure Analysis Services to work with time intelligence feature, see Configure Analysis Services data source time settings by using Dashboard Designer.

Configure Analysis Services data source time settings by using Dashboard Designer

Test data connectivity by creating a basic dashboard.

If you have successfully created a PerformancePoint Services enabled site collection, you should be able to open PerformancePoint Dashboard Designer and connect to an external data source.

Video: Creating a basic dashboard by using PerformancePoint Dashboard Designer

Connect to SQL Server data from Excel and publish to a SharePoint site by using Excel Services

Excel Services Application is a shared service that you can use to view and edit workbooks in Excel Web Access. The following Excel Services scenario assumes that a Web application exists and that NTLM authentication is configured as described in Scenario 1: Core Configuration at the beginning of the article.

Step For more information, see:

Define a new trusted location from which Excel files can be loaded.

Note:

You can also use the default trusted file location for Excel Services that SharePoint Server 2010 creates automatically. To learn more about how to plan security, see Plan Excel Services authentication (SharePoint Server 2010).

Manage Excel Services trusted locations (SharePoint Server 2010)

Set up and configure Secure Store Service for Excel Services Application in Microsoft SharePoint 2010 Products. Set the credentials for an application ID to include in the next step.

Use Excel Services with Secure Store (SharePoint Server 2010)

Connect an Excel 2010 client to the correct SQL Server server.

In the steps outlined in Connect to (import) SQL Server data you will complete procedures in a Data Connection Wizard.

  • Select the database and table that you want in your Excel worksheet.

  • Determine a file name to save a data connection file and type a description.

  • Select the Authentication button to specify how the external data source is accessed if the workbook is published to a SharePoint Server site and is opened in a Web browser. You will select Windows Authentication, SSS (Secure Store Service), or None. Select SSS and enter the Application ID that you configured in the previous step so that Excel Services can use it to authenticate.

Warning:

Make sure that the database is not opened in exclusive mode.

Connect to (import) SQL Server data

Also see:

Overview of connecting to (importing) data

Publish the Excel workbook to SharePoint Server 2010.

Publish a workbook to a SharePoint site

PowerPivot for SharePoint 2010 configuration

In this scenario, you add PowerPivot to your existing SharePoint Server 2010 installation on SP10App-02.

Step | For information, see
Follow the instructions at Microsoft Support to add Setup1000.exe.config to the path %ProgramFiles%\Microsoft SQL Server\100\Setup Bootstrap\SQLServer2008R2\x64 on SP10App-02. |
Install PowerPivot in the existing SharePoint Server farm on SP10App-02 | How to: Install PowerPivot for SharePoint on an Existing SharePoint Server
Configure the server. | Steps from How to: Install PowerPivot for SharePoint on an Existing SharePoint Server
Upload a PowerPivot workbook (includes installation steps). | Steps from How to: Install PowerPivot for SharePoint on an Existing SharePoint Server
View the workbook. | Steps from How to: Install PowerPivot for SharePoint on an Existing SharePoint Server

Create a data-connected Web diagram and publish to a SharePoint site by using Visio Services

Visio Services in Microsoft SharePoint Server 2010 is a service application that lets users share and view Microsoft Visio Web drawings. The service also enables data-connected Microsoft Visio 2010 Web drawings that can be refreshed and updated from various data sources while published on a SharePoint Server site. For example, a shape can display the number of units currently at a specified stage in a process, or can configure color when a number goes over or under a specified threshold.

The following Visio Services scenario assumes that a Web application exists and that NTLM authentication is configured as described in Scenario 1: Core Configuration.

Step For more information, see:
Note:

Plan security for Visio Graphics Service service application. Also plan for performance and other considerations.

Plan Visio Services security (SharePoint Server 2010)

Plan Visio Services deployment (SharePoint Server 2010)

If you did not run the Configuration Wizard to create service applications, you must create a Visio Graphics Service application.

Create a Visio Graphics Service service application (SharePoint Server 2010)

Set up and configure Secure Store Service for Visio Services Application in Microsoft SharePoint 2010 Products.

Data authentication for Visio Services (SharePoint Server 2010)

Video: Steps for configuring Visio Services with Secure Store

Video: Configuring Visio Services with the Unattended Service Account

In Visio Professional or Premium, create a data-connected Web diagram. The Data Selector Wizard resembles the wizard used in Excel Services.

Import data from Excel, SQL Server, SharePoint sites, and other external sources

Publish the Visio Web diagram to SharePoint Server 2010.

Publish a diagram as a Web drawing


Configure extranet access for PerformancePoint Services 2010 (white paper)

Published: September 16, 2010

This white paper describes the architectural considerations related to deploying PerformancePoint Services in Microsoft SharePoint Server 2010 in an extranet environment. It provides detailed instructions for implementing recommended architecture such as the server for Forefront Threat Management Gateway 2010 (TMG) (as a reverse-proxy server), Kerberos for authentication of service and user accounts, and SQL Server and SQL Server Analysis Services as back-end data systems. The major sections include the following.

  • Technology Overview

  • Environment Configuration Steps

  • Testing Internal and External Access

  • Troubleshooting

  • Supported Configurations

  • Conclusion

  • References

Download the white paper

Configuring extranet access for PerformancePoint Services 2010 (white paper) (http://go.microsoft.com/fwlink/p/?LinkId=202004)


Overview of Kerberos authentication for Microsoft SharePoint 2010 Products

Published: December 2, 2010

Microsoft SharePoint 2010 Products introduce significant improvements in how identity is managed in the platform. It is very import to understand how these changes affect solution design and platform configuration to enable scenarios that require user identity to be delegated to integrated systems. The Kerberos version 5 protocol plays a key role in enabling delegation and sometimes may be required in these scenarios.

This set of articles gives you information that helps you do the following:

  • Understand the concepts of identity in SharePoint 2010 Products

  • Learn how Kerberos authentication plays a very important role in authentication and delegation scenarios

  • Identify the situations where Kerberos authentication should be leveraged or may be required in solution designs

  • Configure Kerberos authentication end-to-end within your environment, including scenarios that use various service applications in SharePoint Server

  • Test and validate that Kerberos authentication is configured correctly and working as expected

  • Find additional tools and resources to help you configure Kerberos authentication in your environment

This set of articles is divided in two major sections:

  • This overview of Kerberos authentication in SharePoint 2010 Products

    This article contains conceptual information about how to manage identity in SharePoint 2010 Products, the Kerberos protocol, and how Kerberos authentication plays a key role in SharePoint 2010 solutions.

  • Step-by-step configuration

    This group of articles discusses the steps that are required to configure Kerberos authentication and delegation in various SharePoint solution scenarios.

Who should read these articles about Kerberos authentication?

Identity and delegation in SharePoint 2010 Products is a broad topic, with many facets and depths of understanding. This set of articles addresses the topic from both conceptual and technical levels and is written to address the needs of various audiences:

Beginning to end

"Tell me everything there is to know about Identity and Kerberos authentication in SharePoint 2010 Products"

If you are only starting out and learning about SharePoint 2010 Products, Kerberos authentication, and claims authentication, you will want to the read the first section of this document. It covers the basic concepts of identity and delegation and offers primers about Claims and Kerberos authentication. Be sure to follow the links to external articles and additional information to build a solid foundation of knowledge before continuing on to the step-by-step configuration articles.

Upgrading from Office SharePoint Server 2007

"Tell me what is changed from 2007 and what I should prepare for in upgrading to 2010"

If you have an existing Microsoft Office SharePoint Server 2007 environment already configured to use Kerberos authentication and Kerberos delegation, you should read the following articles:

  • Identity scenarios in SharePoint 2010 Products

  • Claims primer

  • Kerberos authentication changes in Windows 2008 R2 and Windows 7

  • Kerberos configuration changes in SharePoint 2010 Products

  • Considerations when you are upgrading from Office SharePoint Server 2007

If you have additional questions about how to configuration delegation for a particular feature or scenario, read the step-by-step configuration articles, especially the configuration checklists. This will help you ensure that your environment is configured correctly after upgrade.

Step-by-step walkthrough

"I want detailed step-by-step instructions on how to configure Kerberos delegation in SharePoint Server and applicable SharePoint Server service applications"

The step-by-step configuration articles cover several SharePoint 2010 Products scenarios which can be configured to use Kerberos delegation. Each scenario is covered in detail, including a configuration checklist and step-by-step instructions to help you successfully configure Kerberos authentication in your environment. The scenarios covered include the following:

  • Scenario 1: Core Configuration

  • Scenario 2: Kerberos Authentication for SQL OLTP

  • Scenario 3: Kerberos Authentication for SQL Analysis Services

  • Scenario 4: Identity Delegation for SQL Reporting Services

  • Scenario 5: Identity Delegation for Excel Services

  • Scenario 6: Identity Delegation for PowerPivot for SharePoint 2010

  • Scenario 7: Identity Delegation for Visio Services

  • Scenario 8: Identity Delegation for Performance Point Services

  • Scenario 9: Identity Delegation for Business Connectivity Services

Be sure to thoroughly review the first core configuration scenario, because it is a prerequisite for all the scenarios that follow.

Note:

The scenarios include "SetSPN" commands that you may choose to copy from this document and paste in a Command Prompt window. These commands include hyphen characters. Microsoft Word has an AutoFormat feature that tends to convert hyphens to dash characters. If you have this feature turned on in Word and then do a copy-and- paste operation, the commands will not work correctly. Change the dashes to hyphens to fix this error. To turn off this AutoFormat feature in Word, select Options from the File menu, click the Proofing tab, and then open the Auto Correct dialog box.

Existing SharePoint 2010 Product environments

"I have an existing SharePoint 2010 Product environment and I cannot seem to get Kerberos authentication working. How do I validate and debug my configuration?"

The Step-by-step configuration articles contain several checklists to help triage your environment in various scenarios. Pay special attentions to Scenario 1, Core configuration, which covers basic tools and techniques to triage Kerberos configuration.

Identity scenarios in SharePoint 2010 Products

When learning about identity in the context of authentication in SharePoint 2010 Products, you can conceptually look at how the platform handles identity in three key scenarios: Incoming authentication, inter/intra-farm authentication and outgoing authentication.

Farm authentication diagram

Incoming Identity

The incoming authentication scenario represents the means in which a client presents its identity to the platform, or in other words authenticates with the web application or web service. SharePoint Server will use the client's identity to authorize the client to access SharePoint Server secured resources such as web pages, documents, and so on.

SharePoint 2010 Products support two modes in which a client can authenticate with the platform: Classic mode and Claims mode.

Classic mode

Classic mode allows the typical Internet Information Services (IIS) authentication methods that you may already be familiar with from previous versions of SharePoint Server. When a SharePoint Server 2010 Web Application is configured to use classic mode, you have the option of using the following IIS authentication methods:

Integrated Windows authentication

Integrated Windows authentication enables Windows clients to seamlessly authenticate with SharePoint Server without having to manually provide credentials (user name/password). Users accessing SharePoint Server from Internet Explorer will authenticate by using the credentials that the Internet Explorer process is running under — by default the credentials that the user used to log on to the desktop. Services or applications that access SharePoint Server in Windows integrated mode attempt to authenticate by using the credentials of the running thread, which, by default, is the identity of the process.

NTLM

NT LAN Manager (NTLM) is be the default protocol type when Integrated Windows authentication is selected. This protocol takes advantage of a three-part challenge-response sequence to authenticate clients. For more information about NTLM, see Microsoft NTLM (http://go.microsoft.com/fwlink/p/?LinkId=196643).

Pros:

  • It is easy to configure and typically requires no additional infrastructure/environment configuration to function

  • It works when the client is not part of the domain, or is not in a domain trusted by the domain that SharePoint Server resides in

Cons:

  • It requires SharePoint Server to contact the domain controller every time that a client authentication response needs validation, increasing traffic to the domain controllers.

  • It does not allow delegation of client credentials to back-end systems, otherwise known as the double-hop rule.

  • It is a proprietary protocol.

  • It does not support server authentication.

  • It is considered less secure than Kerberos authentication

Kerberos protocol

The Kerberos protocol is a more secure protocol that supports ticketing authentication. A Kerberos authentication server grants a ticket in response to a client computer authentication request, if the request contains valid user credentials and a valid Service Principal Name (SPN). The client computer then uses the ticket to access network resources. To enable Kerberos authentication, the client and server computers must have a trusted connection to the domain Key Distribution Center (KDC). The KDC distributes shared secret keys to enable encryption. The client and server computers must also be able to access Active Directory directory services. For Active Directory, the forest root domain is the center of Kerberos authentication referrals. For more information about the Kerberos protocol, see How the Kerberos Version 5 Authentication Protocol Works (http://go.microsoft.com/fwlink/p/?LinkId=196644) and Microsoft Kerberos. (http://go.microsoft.com/fwlink/p/?LinkId=196645)

Pros:

  • Most secure Integrated Windows authentication protocol

  • Allows delegation of client credentials

  • Supports mutual authentication of clients and servers

  • Produces less traffic to domain controllers

  • Open protocol supported by many platforms and vendors

Cons:

  • Requires additional configuration of infrastructure and environment to function correctly

  • Requires clients have connectivity to the KDC (Active Directory domain controller in Windows environments) over TCP/UDP port 88 (Kerberos), and TCP/UDP port 464 (Kerberos Change Password - Windows)

Other methods

In addition to NTLM and Kerberos authentication, SharePoint Server supports other kinds of IIS authentication such as basic, digest, and certificate-based authentication, which are not covered in this document. For more information about how these protocols function, see Authentication Methods Supported in IIS 6.0 (IIS 6.0) (http://go.microsoft.com/fwlink/p/?LinkId=196646).

Claims-based authentication

Support for claims authentication is a new feature in SharePoint 2010 Products and is built on Windows Identity Foundation (WIF). In a claims model, SharePoint Server accepts one or more claims about an authenticating client to identify and authorize the client. The claims come in the form of SAML tokens and are facts about the client stated by a trusted authority. For example, a claim could state, "Bob is a member of the Enterprise Admins group for the domain Contoso.com."If this claim came from a provider trusted by SharePoint Server, the platform could use this information to authenticate Bob and to authorize him to access SharePoint Server resources. For more information about claims authentication, see A Guide to Claims-based Identity and Access Control (http://go.microsoft.com/fwlink/p/?LinkID=187911).

The kind of claims that SharePoint 2010 Products support for incoming authentication are Windows-Claims, forms-based authentication-Claims, and SAML-Claims.

Windows-Claims

In the Windows-claims mode sign in, SharePoint Server authenticates the client using standard Integrated Windows authentication (NTLM/Kerberos), and then translates the resulting Windows Identity into a Claims Identity.

Forms-based authentication Claims

In Forms-based authentication claims mode, SharePoint Server redirects the client to a logon page that hosts the standard ASP.NET logon controls. The page authenticates the client by using ASP.NET membership and role providers, similar to how forms-based authentication functioned in Office SharePoint Server 2007. After the identity object that represents the user is created, SharePoint Server then translates this identity into a claims identity object.

SAML-Claims

In SAML-Claims mode, SharePoint Server accepts SAML tokens from a trusted external Security Token Provider (STS). When the user attempts to log on, see comment is directed to an external claims provider (for example, Windows Live ID claims provider) which authenticates the user and produces a SAML token. SharePoint Server accepts and processes this token, augmenting the claims and creating a claims identity object for the user.

For more information about claims-based authentication in SharePoint 2010 Products, see SharePoint Claims-Based Identity.

Note about incoming claims authentication and the Claims to Windows Token Service (C2WTS)

Some service applications require that you use the Windows Identity Foundation (WIF) Claims to Windows Token Service (C2WTS) to translate claims within the farm to Windows credentials for outbound authentication. It is important to understand that C2WTS only functions if the incoming authentication method is either classic mode or Windows claims. If claims is configured, the C2WTS requires only Windows claims; the web application cannot use multiple forms of claims on the web application, otherwise the C2WTS will not function.

Identity within a SharePoint 2010 Products environment

SharePoint 2010 Products environments use claims authentication for intra- and inter-farm communications with most SharePoint service applications and SharePoint integrated products regardless of the incoming authentication mechanism used. This means that even where classic authentication is used to authenticate with a particular web application, SharePoint Products convert the incoming identity into a claims identity to authenticate with SharePoint Service Applications and products that are claims-aware. By standardizing on the claims model for intra/inter farm communications, the platform can abstract itself from the incoming protocols that are used.

Note:

Some products integrated with SharePoint Server, such as SQL Server Reporting Services, are not claims-aware and do not take advantage of the intra-farm claims authentication architecture. SharePoint Server may also rely on classic Kerberos delegation and claims in other scenarios, for example when the RSS viewer web part is configured to consume an authenticated feed. Refer to each product or service application's documentation to determine whether it can support claims-based authentication and identity delegation.

Outbound identity

Outbound identity in SharePoint 2010 Products represents the scenarios where services within the farm have to authenticate with external line-of-business systems and services. Depending on the scenario, authentication can be performed in one of two basic conceptual models:

Trusted subsystem

In the trusted subsystem, the front-end service authenticates and authorizes the client, and then authenticates with additional back-end services without passing the client identity to the back-end system. The back-end system trusts the front-end service to do authentication and authorization on its behalf. The most common way to implement this model is to use shared service account to authenticate with the external system:

Diagram of trusted subsystem

In SharePoint Server, this model can be implemented in various ways:

  • Using the IIS application pool identity — usually achieved by running code in the web application that elevates permissions while making a call to an external system. Other methods such as using RevertToSelf can also use the application pool's identity to authenticate with external systems.

  • Using a service account — typically achieved by storing application credentials in the Secure Store then using those credentials to authenticate with an external system. Other methods include storing the service account credentials in other ways such as embedded connection strings.

  • Anonymous Authentication — this is where the external system requires no authentication. Therefore the front-end SharePoint Server service does not have to pass any identity to the back-end system.

Delegation

In the Delegation model, the front-end service first authenticates the client, and then uses the client's identity to authenticate with another back-end system that performs its own authentication and authorization:

Diagram of delegation process

In SharePoint 2010 Products, this model can be implemented in various ways:

  • Kerberos delegation — If the client authenticates with the front-end service by using Kerberos authentication, Kerberos delegation can be used to pass the client's identity to the back-end system.

  • Claims — claims authentication allows the client's claims to be passed between services as long as there is trust between the two services and both are claims-aware.

Note:

Currently, most of the service applications that are included with SharePoint Server do not allow for outbound claims authentication, but outbound claims is a platform capability that will be taken advantage of in the future. Further, many of the most common line-of-business systems today do not support incoming claims authentication, which means that using outbound claims authentication may not be possible or will require additional development to work correctly.

Delegation across domain and forest boundaries

The scenarios in this set of articles about Kerberos authentication require that the SharePoint Server service and external data sources reside in the same Windows domain, which is required for Kerberos constrained delegation. The Kerberos protocol supports two kinds of delegation, basic (unconstrained) and constrained. Basic Kerberos delegation can cross domain boundaries in a single forest, but cannot cross a forest boundary regardless of trust relationship. Kerberos constrained delegation cannot cross domain or forest boundaries in any scenario.

Some SharePoint Server services can be configured to use basic Kerberos delegation, but other services require that you use constrained delegation. Any service that relies on the Claims to Windows token service (C2WTS) must use Kerberos constrained delegation to allow the C2WTS to use Kerberos protocol transition to translate claims into Windows credentials.

The following service applications and products require the C2WTS and Kerberos constrained delegation:

  • Excel Services

  • PerformancePoint Services

  • Visio Services

The following service applications and products are not affected by these requirements, and therefore can use basic delegation, if it is required:

  • Business Data Connectivity service and Microsoft Business Connectivity Services

  • InfoPath Forms Services

  • Access Services

  • Microsoft SQL Server Reporting Services (SSRS)

  • Microsoft Project Server 2010

The following service application does not allow delegation of client credentials and therefore is not affected by these requirements:

  • Microsoft SQL Server PowerPivot for Microsoft SharePoint

Claims primer

For an introduction to Claims concepts and Claims base authentication, see An Introduction to Claims (http://go.microsoft.com/fwlink/p/?LinkId=196648) and SharePoint Claims-Based Identity (http://go.microsoft.com/fwlink/p/?LinkID=196647).

Kerberos protocol primer

For a conceptual overview of the Kerberos protocol, see Microsoft Kerberos (Windows) (http://go.microsoft.com/fwlink/p/?LinkID=196645), Kerberos Explained (http://go.microsoft.com/fwlink/p/?LinkId=196649), and Ask the Directory Services Team: Kerberos for the Busy Admin (http://go.microsoft.com/fwlink/p/?LinkId=196650).

Benefits of the Kerberos protocol

Before examining the details of how one configures SharePoint Server (or any web application) to use the Kerberos protocol, let's talk about the Kerberos protocol generally and why you might want to use it.

Typically there are three main reasons to use the Kerberos protocol:

  1. Delegation of client credentials — The Kerberos protocol allows a client's identity to be impersonated by a service to allow the impersonating service to pass that identity to other network services on the client's behalf. NTLM does not allow this delegation. (This limitation NTLM is called the "double-hop rule"). Claims authentication, like Kerberos authentication, can be used to delegate client credentials but requires the back-end application to be claims-aware.

  2. Security — Features such as AES encryption, mutual authentication, support for data integrity and data privacy, just to name a few, make the Kerberos protocol more secure than its NTLM counterpart.

  3. Potentially better performance — Kerberos authentication requires less traffic to the domain controllers compared with NTLM (depending on PAC verification, see Microsoft Open Specification Support Team Blog: Understanding Microsoft Kerberos PAC Validation). If PAC verification is disabled or not needed, the service that authenticates the client does not have to make an RPC call to the DC (see: You experience a delay in the user-authentication process when you run a high-volume server program on a domain member in Windows 2000 or Windows Server 2003). Kerberos authentication also requires less traffic between client and server compared with NTLM. Clients can authenticate with web servers in two request/responses vs. the typical three-leg handshake with NTLM. However, this improvement is typically not noticed on low latency networks on a per-transaction basis, but can typically be noticed in overall system throughput. Remember that many environmental factors can affect authentication performance; therefore Kerberos authentication and NTLM should be performance-tested in your own environment before you determine whether one method performs better than the other.

This is an incomplete list of the advantages of using the Kerberos protocol. There are other reasons like mutual authentication, cross platform interoperability, and transitive cross domain trust, to name a few. However, in most cases one typically finds delegation and security to be the primary drivers in adoption of the Kerberos protocol.

Kerberos delegation, constrained delegation, and protocol transition

The Kerberos version 5 protocol on the Windows platform supports two kinds of identity delegation: basic (unconstrained) delegation and constrained delegation:

Type Advantages Disadvantages

Basic delegation

  • Can cross domain boundaries in a single forest

  • Requires less configuration than constrained delegation.

  • Does not support protocol transition

  • Secure. If the front-end service is compromised, client identity can be delegated to any service in the forest that accepts Kerberos authentication.

Constrained delegation

  • Can transition non-Kerberos incoming authentication protocol to Kerberos (example: NTLM to Kerberos, Claims to Kerberos)

  • More secure. Identities can only be delegated to specified service.

  • Cannot cross domain boundaries

  • Requires additional setup configuration

Kerberos enabled services can delegate identity multiple times across multiple services and multiple hops. As an identity travels from service to service, the delegation method can change from Basic to Constrained but not in reverse. This is an important design detail to understand: if a back-end service requires Basic delegation (for example to delegate across a domain boundary), all services in front of the back-end service must use basic delegation. If any front-end service uses constrained delegation, the back-end service cannot change the constrained token into an unconstrained token to cross a domain boundary.

Protocol transition allows a Kerberos enabled authenticating service (front-end service) to convert a non-Kerberos identity into a Kerberos identity that can be delegated to other Kerberos enabled services (back-end service). Protocol transition requires Kerberos constrained delegation and therefore protocol-transitioned identities cannot cross domain boundaries. Depending on the user rights of the front-end service, the Kerberos ticket returned by protocol transition can be an identification token or an impersonation token. For more information about constrained delegation and protocol transition, see the following articles:

  • Kerberos Protocol Transition and Constrained Delegation (http://technet.microsoft.com/en-us/library/cc739587(WS.10).aspx)

  • Protocol Transition with Constrained Delegation Technical Supplement (http://msdn.microsoft.com/en-us/library/ff650469.aspx)

  • Kerberos Constrained Delegation May Require Protocol Transition in Multi-hop Scenarios (http://support.microsoft.com/kb/2005838)

As a general best practice, if Kerberos delegation is required, one should use constrained delegation, if it is possible. If delegation across domain boundaries is required, then all services in the delegation path must use basic delegation.

Kerberos authentication changes in Windows 2008 R2 and Windows 7

Windows Server 2008 R2 and Windows 7 introduce new features to Kerberos authentication. For an overview of the changes, see Changes in Kerberos Authentication (http://go.microsoft.com/fwlink/p/?LinkId=196655) and Kerberos Enhancements (http://go.microsoft.com/fwlink/p/?LinkId=196656). In addition, you should make yourself familiar with IIS 7.0 Kernel Mode authentication (Internet Information Services (IIS) 7.0 Kernel Mode Authentication Settings, (http://go.microsoft.com/fwlink/p/?LinkId=196657)) even though it is not supported in SharePoint Server farms.

Kerberos configuration changes in SharePoint 2010 Products

Most of the basic concepts of configuring Kerberos authentication in SharePoint 2010 Products have not changed. You still have to configure service principal names and you still have to configure delegation settings on computer and service accounts. However there are several changes that you should be aware of:

  • Constrained Delegation — required for services which use the Claims to Windows Token Service. Constrained delegation is required to allow protocol transition to convert claims to Windows tokens.

  • Service Applications — In Office SharePoint Server 2007, the SSP services required special SPNs and server registry changes to enable delegation. In SharePoint 2010 Products, service applications use claims authentication and the Claims to Windows Token service, so these changes are no longer needed.

  • Windows Identity Foundation (WIF) — the WIF Claims to Windows Token Service (C2WTS) is a new service leveraged by SharePoint 2010 Products to convert claims to Windows tokens for delegation scenarios.

Considerations when you are upgrading from Office SharePoint Server 2007

If you are upgrading an Office SharePoint Server 2007 farm to SharePoint Server 2010, there are several things you should consider as you complete the upgrade:

  • If web applications are changing URLs, make sure that you update the Service Principle Names to reflect the DNS names.

  • Delete the SSP service principal names, because they are no longer needed in SharePoint Server 2010.

  • Start the Claims to Windows Token Service on the servers that are running service applications that require delegation (for example, Excel Services, Visio Graphics Service).

  • Configure Kerberos constrained delegation with "use any authentication protocol" to allow Kerberos constrained delegation with the C2WTS.

  • Ensure Kernel mode authentication is disabled in IIS.


Configuring Kerberos authentication: Step-by-step configuration (SharePoint Server 2010)

Published: December 2, 2010

In the scenario articles that follow, we build out a SharePoint Server 2010 environment to demonstrate how to configure delegation in a number of common scenarios you might encounter in the enterprise. The walkthroughs assume you are building out a scaled-out SharePoint farm similar to what is described in the following section.

Note:

Some of the configuration steps may change, or may not work in certain farm topologies. For instance, a single server install does not support the Windows Identity Foundation C2WTS services so claims to windows token delegation scenarios are not possible with this farm configuration.

Environment and farm topology

The following diagram illustrates the farm topology used when configuring the scenarios in the sections below. The farm topology is load balanced and scaled out between multiple tiers to demonstrate how identity delegation would work in multi-server, multi hop scenarios.

Note:

The farm configuration in the demonstrations is not meant to be a reference architecture or an example of how to design a topology for production environments. For example, the demo topology runs all SharePoint Server 2010 service applications on a single server which creates a single point of failure for these services. For more information on how to design and build a production SharePoint Server environment, see SharePoint Server 2010 - Physical and Logical Architecture and Topologies for SharePoint Server 2010.

Sample farm topology diagram
Note:

The scenario walkthroughs assume that all computers that are running SharePoint Server and the data sources used in the scenario below reside in a single domain. An explanation and walkthrough of multi-domain/multi-forest configuration is not covered in this document.

Environment specification

All computers in the demonstration environment are virtualized running on Windows Server 2008 R2 Hyper-V. The computers are joined to a single Windows domain, vmlab.local, running in Windows Server 2008 Forest and Domain function levels.

  • Client Computer

    • Windows 7 Professional, 64 bit

  • SharePoint Server front-end Webs

    • Windows Server 2008 R2 Enterprise, 64 bit

    • Services:

      • Web Application Service

    • Load balanced with Windows NLB

  • SharePoint Server Application Server

    • Windows Server 2008 R2 Enterprise, 64 bit

    • Microsoft SharePoint Server 2010 (RTM)

    • Services:

      • WIF Claims to Windows Token Service

      • Managed Metadata Service

      • SharePoint Index

      • SharePoint Query

      • Excel Services

      • Visio Graphics Service

      • Business Connectivity Services

      • Performance Point Services

  • SQL Services

    • Windows Sever 2008 R2 Enterprise, 64 bit

    • Microsoft SQL Server 2008 R2 Enterprise, 64 bit

    • Active/Passive Configuration

    • SQL Server Services:

      • SQL Data Engine

      • SQL Server Analysis Services

      • SQL Agent

      • SQL Browser

  • SQL Reporting Server

    • Windows Server 2008 R2 Enterprise, 64 bit (RTM)

    • Microsoft SQL 2008 R2 Enterprise, 64 bit (RTM)

    • Microsoft SharePoint Server 2010 (RTM)

    • Windows NLB, Load balanced

    • Reporting Services SharePoint integration mode

    • Reporting Services, scaled-out mode

Web Application specification

The scenarios in the walkthrough reference a set of SharePoint Server 2010 web applications you will configure in Scenario 1. The following web applications are load balanced using Windows NLB across the two SharePoint Server web front ends in the demonstration environment:

  • http://sp10CA The Central Administration web application for the farm. Scenario 1 will not walk through the configuration of this web application.

  • http://portal and https://portal Web application with demonstration publishing portal. It is used to demonstrate how to configure delegation for web applications running on standard ports (HTTP 80, HTTPS 443)

  • http://teams:5555 Web application with demonstration team site. It is used to demonstrate how to configure delegation for web applications running on non-standard ports, in this example port 5555.

Web application diagram

SSL configuration

Some of the walkthrough scenarios will use SSL to demonstrate how to configure delegation with HTTPS. It is assumed that the certificates being used come from a trusted root certificate authority, either internal or public, or you have configured all computers to trust the certificates being used. The document will not cover how to properly configure certificate trust nor will it provide guidance about debugging issues related to SSL certificate installation. It is highly recommended to review these topics and test your SSL configuration before configuring Kerberos constrained delegation with SSL protected services. For more information see:

  • Active Directory Certificate Services Overview (http://go.microsoft.com/fwlink/p/?LinkId=196660)

  • Active Directory Certificate Services Step-by-Step Guide (http://go.microsoft.com/fwlink/p/?LinkId=196661)

  • Configuring Server Certificates in IIS 7 (http://go.microsoft.com/fwlink/p/?LinkId=196662)

  • How to Set Up SSL on IIS 7: Configuring Security : Installing and Configuring IIS 7 : The Official Microsoft IIS Site (http://go.microsoft.com/fwlink/p/?LinkID=193447)

  • Add a Binding to a Site (IIS 7) (http://go.microsoft.com/fwlink/p/?LinkId=196663)

  • Configure a Host Header for a Web Site (IIS 7) (http://go.microsoft.com/fwlink/p/?LinkId=196664) — (How to use SSL with host headers)

  • Create a Self-Signed Server Certificate in IIS 7 (http://go.microsoft.com/fwlink/p/?LinkId=196665)

Load balancing

Load balancing on the SharePoint Server front-end Webs and SQL Server Reporting Services servers was implemented by using Windows Server 2008 Network Load Balancing (NLB). How to configure NLB and NLB best practices are not covered in this document. For more information on NLB, refer to Overview of Network Load Balancing.

SQL aliasing

The farm was built using a SQL client alias to connect to the SQL cluster. This is typically a best practice and was done to demonstrate how Kerberos authentication is configured when SQL aliasing is used. Scenario 2 assumes the environment is configured in this manner, but it is not required to use SQL aliases to complete any of the scenarios below. For more information on how to configure SQL aliases, see How to: Create a Server Alias for Use by a Client (SQL Server Configuration Manager).

SharePoint Server services and service accounts

The scenarios below implement a least-privilege model where each service in the SharePoint farm leverages a separate, distinct Active Directory account for its service identity. Using a least-privilege model has advantages and disadvantages:

Advantages:

  • The administrator can control the permissions of each service in a fine-grained way This includes domain permissions, local permissions and privileges, delegation rights and other settings.

  • Better auditing and traceability By ensuring each service leverages its own identity, an administrator can track network and system activity back to the specific service based on the identity captured in audit files. For example, if a server audit log shows logon activity for a particular account, the account could be used to trace the activity to a particular service.

  • Better security By leveraging separate accounts for each service, an administrator assures that if one account is compromised it potentially limits the damage due to the security issue because only the service that is using the compromised account is affected. Note that if any account becomes compromised, a holistic security assessment of the entire environment should be performed to determine the most appropriate action to address the security issue.

Disadvantages:

  • Increased account management complexity Having more service accounts translates to more Active Directory configuration and more password management policies to enforce.

  • Additional configuration As seen in the step-by-step guides that follow, once a SharePoint Server administrator makes the decision to leverage a least-privilege model, there are additional steps she or he must perform to configure the environment correctly.

  • Increased administration complexity The probability of misconfiguration increases as the complexity of the environment increases. When you leverage multiple accounts, there is a chance that certain services will be misconfigured, which can lead to functionality issues and triage needed to correct the issues.

Be aware that using separate service accounts is not a requirement of SharePoint Server but a general recommendation for production environments. The steps in the articles that follow outline how to configure SharePoint Server when you are using separate accounts; some of these steps may not apply when you are using shared accounts.

C2WTS Service Identity

The steps in the articles that follow assume a least-privilege security model and leverage discrete service accounts for each SharePoint Server service. The C2WTS is configured to use a separate Active Directory account instead of the default local system account to follow this design tenant. When you use a distinct account, the individual delegation rights granted to the C2WTS can be managed separately from other services on the server that are also using the local system account. Note that this is not a product requirement, but a recommended practice.

Tips for working through the scenarios

The scenarios below walk through various activities needed to configure Kerberos delegation across different functions of the SharePoint Server platform. As you go through each section:

All the scenarios assume you have your web applications configured for incoming classic authentication (Kerberos). Some scenarios below require classic authentication and will not function as documented with incoming claims authentication.

  • Get the SharePoint Server services working first without delegation to ensure the service applications are configured correctly before moving on to more challenging configurations with delegation.

  • Try to pay special attention to each step and avoid skipping any steps

  • Work through scenario 1 and spend time using the debugging tools mentioned in the scenario as they can be used in other scenarios to triage configuration issues.

  • Remember to work through scenario 2. You will need a computer running SQL Server that is configured to accept Kerberos authentication and will require the test database that you setup in this scenario for some of the later scenarios.

  • Always double-check SPN configuration in each scenario by using SetSPN -X and SetSPN -Q. See the appendix for more information.

  • Always be sure to check the server event logs and ULS logs when attempting to debug a configuration issue. There are typically good pointers in these logs which can quickly point out the issues you are encountering.

  • Turn up diagnostic logging for SharePoint Foundation->Claims Authentication and any service applications that you are attempting to triage if issues occur.

  • Remember that each scenario may be affected by service application caching. If you make configuration changes but do not see changes in platform behavior, try restarting the service's application pool or windows service. If this has no effect, sometimes a system reboot will help.

  • Remember that Kerberos tickets are cached once requested. If you are using a tool like NetMon to view TGT and TGS requests, you may need to empty the ticket cache if you don't see the request traffic you expect. Scenario 1, Configuring Kerberos authentication: Core configuration (SharePoint Server 2010) explains how to do this with the KLIST and KerbTray utilities.

  • Remember to run NetMon with Administrative privileges to capture Kerberos traffic.

  • For advanced debugging scenarios you may want to turn on WIF tracing for the Claims to Windows Token Service and WCF tracing for the SharePoint Service Applications (WCF services). See:

    • WIF Tracing

    • How to: Enable Tracing

    • Configuring Tracing


Configuring Kerberos authentication: Core configuration (SharePoint Server 2010)

Published: December 2, 2010

In the first scenario you will configure two SharePoint Server 2010 web applications to use the Kerberos protocol for authenticating incoming client requests. For demonstration purposes, one web application will be configured to use standard ports (80/443) and the other will use a non-default port (5555). This scenario will be the basis of all the following scenarios which assume the activities below have been completed.

Important:

It is a requirement to configure your web applications with classic Windows authentication using Kerberos authentication to ensure that the scenarios work as expected. Windows-Claims authentication can be used in some scenarios but may not produce the results detailed in the scenarios below.

Note:

If you are installing on Windows Server 2008, you may need to install the following hotfix for Kerberos authentication:

A Kerberos authentication fails together with the error code 0X80090302 or 0x8009030f on a computer that is running Windows Server 2008 or Windows Vista when the AES algorithm is used (http://support.microsoft.com/kb/969083)

In this scenario you do the following things:

  • Configure two web applications with default zones that use the Kerberos protocol for authentication

  • Create two test site collections, one in each web application

  • Verify the IIS configuration of the web application

  • Verify that clients can authenticate with the web application and ensure that the Kerberos protocol is used for authentication

  • Configure the RSS Viewer web part to display RSS feeds in a local and remote web application

  • Crawl each web application and test searching content in each test site collection

Configuration checklist

Area of Configuration | Description
DNS | Register a DNS A Record for the web applications networked loaded balanced (NLB) virtual IP (VIP)
Active Directory | Create a service accounts for the web applications' IIS application pool Register Service Principal Names (SPN) for the web applications on the service account created for the web application's IIS application pool Configure Kerberos constrained delegation for service accounts
SharePoint Web App | Create SharePoint Server managed accounts Create the SharePoint Search Service Application Create the SharePoint web applications
IIS | Validate that Kerberos authentication is Enabled Verify Kernel-mode authentication is disabled Install certificates for SSL
Windows 7 Client | Ensure web application URLs are in the intranet zone, or a zone configured to automatically authenticate with integrated Windows authentication
Firewall Configuration | Open firewall ports to allow HTTP traffic in on default and non-default ports Ensure clients can connect to Kerberos Ports on the Active Directory
Test Browser Authentication | Verify authentication works correctly in the browser Verify Logon information on the web server's security event log Use third party tools to confirm Kerberos authentication is configured correctly
Test SharePoint Server Search Index and Query | Verify browser access from the index server(s) Upload sample content and perform a crawl Test search
Test WFE Delegation | Configure RSS Feed sources on each site collection Add RSS view web parts to the home page of each site collection

Step-by-step configuration instructions

Configure DNS

Configure DNS for the web applications in your environment. In this example we have 2 web applications, http://portal and http://teams:5555, which both resolve to the same NLB VIP (192.168.24.140/24)

For general information about how to configure DNS, see Managing DNS Records.

SharePoint Server Web apps

http://portal — Configure a new DNS A Record for the portal web application. In this example we have a host "portal" configured to resolve to the load balanced VIP.

Image of DNS record

http://teams:5555 — Configure a new DNS A Record for the for the team's web application

Image of DNS record
Note:

It is important to ensure the DNS entries are A Records and not CNAME aliases for Kerberos authentication to work successfully in environments with more than one web application running with host headers and separate dedicated service accounts. See Kerberos configuration known issues (SharePoint Server 2010) for an explanation of the known issue with using CNAME with Kerberos enabled web applications.

Configure Active Directory

Next you will configure the Active Directory accounts for the web applications in your environment. As a best practice you should configure each web application to run in its own IIS application pool with its own security context (application pool identity).

SharePoint Service Application Service Accounts

In our example we have two SharePoint Server web applications running in two separate IIS application pools running with their own application pool identities.

Web Application (default zone) | IIS App Pool Identity
http://portal | vmlab\svcPortal10App
http://teams:5555 | vmlab\ svcTeams10App

Service Principal Names (SPNs)

For each service account, configure a set of service principal names that map to the DNS host names assigned to each web application.

Use SetSPN, a command line tool in Windows Server 2008, to configure a new service principal name. For a full explanation of how to use SetSPN, see Setspn. To learn about SetSPN improvements in Windows Server 2008, see Care, Share and Grow! : New features in SETSPN.EXE on Windows Server 2008.

All SharePoint Server web applications, regardless of port number, use the following SPN format:

  • HTTP/<DNS HOST name>

  • HTTP/<DNS FQDN>

Example:

  • HTTP/portal

  • HTTP/portal.vmlab.local

For Web applications running on non-default ports (ports other than 80/443) register additional SPNs with port number:

  • HTTP/<DNS Host Name>:<port>

  • HTTP/<DNS FQDN>:<port>

Example:

  • HTTP/teams:5555

  • HTTP/teams.vmlab.local:5555

Note:

See the appendix for an explanation of why it is recommended to configure SPNs with and without port number for HTTP services running on non-default ports (80, 443). Technically the correct way to refer to a HTTP service that runs on a non-default port is to include the port number in the SPN but because of known issues described in the appendix we need to configure SPNs without port as well. Note that the SPNs without port for the teams web application does not mean services will be accessed using the default ports (80, 443) in our example.

In our example we configured the following service principal names for the two accounts we created in the previous step:

DNS Host | IIS App Pool Identity | Service Principal Names
Portal.vmlab.local | vmlab\svcPortal10App | HTTP/portal HTTP/portal.vmlab.local
Teams.vmlab.local | vmlab\ svcTeams10App | HTTP/Teams HTTP/Teams.vmlab.local HTTP/Teams:5555 HTTP/Teams.vmlab.local:5555

To create the service principal names the following commands were executed:

SetSPN -S HTTP/Portal vmlab\svcportal10App

SetSPN -S HTTP/Portal.vmlab.local vmlab\svcportal10App

SetSPN -S HTTP/Teams vmlab\svcTeams10App

SetSPN -S HTTP/Teams.vmlab.local vmlab\ svcTeams10App

SetSPN -S HTTP/Teams:5555 vmlab\ svcTeams10App

SetSPN -S HTTP/Teams.vmlab.local:5555 vmlab\ svcTeams10App

Important:

Do not configure service principal names with HTTPS even if the web application uses SSL.

In our example we used a new command line switch, -S, introduced in Windows Server 2008 that checks for the existence of the SPN before creating the SPN on the account. If the SPN already exists, the new SPN is not created and you see an error message.

If duplicate SPNs are found, you have to resolve the issue by either using a different DNS name for the web application, thereby changing the SPN, or by removing the existing SPN from the account it was discovered on.

Important:

Before deleting an existing SPN, be sure it is no longer needed, otherwise you may break Kerberos authentication for another application in your environment.

Service Principal Names and SSL

It is common to confuse Kerberos Service Principal Names with URLs for http web applications because the SPN and URI formats are very similar in syntax, but it's important to understand that they are two very separate and unique things. Kerberos service principal names are used to identify a service, and when that service is an http application, the service scheme is "HTTP" regardless if the service is access with SSL or not. This means that even if you access the web application using "https://someapp" you do not, and should not, configure a service principal name with HTTPS, for example "HTTPS/someapp".

Configure Kerberos constrained delegation for computers and service accounts

Depending on the scenario, some functionality in SharePoint Server 2010 may require constrained delegation to function properly. For example, if the RSS viewer web part is configured to display a RSS feed from an authenticated source it will require delegation to consume the source feed. In other situations it may be required to configure constrained delegation to allow service applications (such as Excel Services) to delegate the client's identity to back-end systems.

In this scenario we will configure Kerberos constrained delegation to allow the RSS view web part to read a secured local RSS feed and secured remote RSS feed from a remote web application. In later scenarios we will configure Kerberos constrained delegation for other SharePoint Server 2010 service applications.

The following diagram conceptually describes what will be configured in this scenario:

Diagram of scenario

We have two web applications, each with their own site collection with a site page hosing two RSS viewer web parts. The web applications each have a single default zone configured to use Kerberos authentication so all feeds coming from these web sites will require authentication. In each site one RSS viewer will be configured to read a local RSS feed from a list and the other will be configured to read an authentication feed in the remote site.

To accomplish this, Kerberos constrained delegation will be configured to allow delegation between the IIS application pool service accounts. The following diagram conceptually describes the constrained delegation paths needed:

Diagram of application pool delegation

Remember that we identify the web application by service name using the Service Principal Name (SPN) assigned to the identity of the IIS application pool. The service accounts processing requests must be allowed to delegate the client identity to the designated services. All together we have the following constrained delegation paths to configure:

Principal Type | Principal Name | Delegates To Service
User | svcPortal10App | HTTP/Portal HTTP/Portal.vmlab.local HTTP/Teams HTTP/Teams.vmlab.local HTTP/Teams:5555 HTTP/Teams.vmlab.local:5555
User | svcTeams10App | HTTP/Portal HTTP/Portal.vmlab.local HTTP/Teams HTTP/Teams.vmlab.local HTTP/Teams:5555 HTTP/Teams.vmlab.local:5555
Note:

It may seem redundant to configure delegation from a service to itself, such as the portal service account delegating to the portal service application, but this is required in scenarios where you have multiple servers running the service. This is to address the scenario where one server may need to delegate to another server running the same service; for instance a WFE processing a request with a RSS viewer which uses the local web application as the data source. Depending on farm topology and configuration there is a possibility that the RSS request may be serviced by a different server which would require delegation to work correctly.

To configure delegation you can use the Active Directory Users and Computer snap-in. Right-click each service account and open the properties dialog. In the dialog you will see a tab for delegation (note that this tab only appears if the object has an SPN assigned to it; computers have an SPN by default). On the delegation tab, select Trust this user for delegation to specified services only, then select Use any authentication protocol.

Click the Add button to add the services the user (service account) will be allowed to delegate to. To select a SPN, you will look up the object the SPN is applied to. In our instance, we are trying to delegate to a HTTP service which means we search for the service account of the IIS application pool that the SPN was assigned to in the previous step.

On the Select Users or Computers dialog box, click Users and Computers, search for the IIS application pool service accounts (in our example vmlab\svcPortal10App and vmlab\svcTeams10App), and then click OK.

You will then be prompted to select the services assigned to the objects by service principal name.

On the Add Services dialog box, click Select All then click OK. Note that when you return to the delegation dialog you don't actually see all the SPNs selected. To see all SPNs, check the Expanded check box in the lower left hand corner.

Perform these steps for each service account in your environment that requires delegation. In our example this is the service accounts list

Configure SharePoint Server

Once Active Directory and DNS are configured, it's time to create the web application in your SharePoint Server 2010 Farm. This paper assumes that the installation of SharePoint Server is complete at this point and the farm topology and supporting infrastructure, for instance load balancing, is configured. For more information about how to install and configure your SharePoint farm, see: Deployment for SharePoint Server 2010.

Configure managed service accounts

Before creating your web applications, configure the services accounts created in the previous steps as managed service accounts in SharePoint Server. Doing so ahead of time will allow you to skip this step when creating the web applications themselves.

To configure a managed account

  1. In SharePoint Central Administration, click Security.

  2. Under General Security click Configure managed accounts:

  3. Click Register Managed Account and create a managed account for each service account. In this example we created five managed service accounts:

    Account Purpose

    VMLAB\svcSP10Search

    SharePoint Search Service Account

    VMLAB\svcSearchAdmin

    SharePoint Search Administration Service Account

    VMLAB\svcSearchQuery

    SharePoint Search Query Service Account

    VMLAB\svcPortal10App

    Portal Web App IIS Application Pool Account

    VMLAB\svcTeams10App

    Teams Web App IIS Application Pool Account

    Note:

    Managed accounts in SharePoint Server 2010 are not the same as managed service accounts in Windows Server 2008 R2 Active Directory.

Create the SharePoint Server Search Service Application

In this example we will configure the SharePoint Server Search Service Application to ensure the newly create web application can be crawled and searched upon successfully. Create a new SharePoint Server Search Web Application and place the Search, Query and Administration Services on the application server, in our example vmSP10App01. For a detailed explanation on how to configure the Search Service Application, see Step-by-Step: Provisioning the Search Service Application.

Note:

The placement of all Search Services on a single application server is for demonstration purposes only. A complete discussion about SharePoint Server 2010 Search Topology options and best practices is out of scope for this document.

Create the Web Application

Browse to Central Administration and navigate to Manage Web Applications in the Application Management section. In the toolbar, select New and create your web application. Ensure that the following is configured:

  • Select Classic Mode Authentication.

  • Configure the port and host header for each web application.

  • Select Negotiate as the Authentication Provider.

  • Under application pool, select Create new application pool and select the managed account created in the previous step.

In this example, two web applications were created with the following settings:

Setting | http://Portal Web Application | http://Teams Web Application
Authentication | Classic Mode | Classic Mode
IIS Web Site | Name: SharePoint - Portal - 80 Port: 80 Host Header: Portal | Name: SharePoint - Teams - 5555 Port: 80 Host Header: Teams
Security Configuration | Auth Provider: Negotiate Allow Anonymous: No Use Secure Socket Layer: No | Auth Provider: Negotiate Allow Anonymous: No Use Secure Socket Layer: No
Public URL | http://Portal:80 | http://Teams:5555
Application Pool | Name: SharePoint - Portal80 Security Account: vmlab\svcPortal10App | Name: SharePoint - Teams5555 Security Account: vmlab\svcTeams10App

When creating the new web application you are also create a new zone, the default zone, configured to use the Windows authentication provider. You can see the provider and it's settings for the zone in web application management by first selecting the web application, then clicking Authentication Providers in the toolbar. The authentication providers dialog box lists all the zones for the selected web application along with the authentication provider for each zone. By selecting the zone, you will see the authentication options for that zone.

If you misconfigured the Windows settings and selected NTLM when the web application was created, you can use the edit authentication dialog for the zone to switch the zone from NTLM to Negotiate. If classic mode was not selected as the authentication mode, you must either create a new zone by extending the web application to a new IIS web site or delete and recreate the web application.

Create site collections

To test whether authentication is working correctly, you will need to create at least one site collection in each web application. The creation and configuration of the site collection will not affect Kerberos functionality, so follow existing guidance on how to create a site collection in Create a site collection (SharePoint Foundation 2010).

For this example, two site collections were configured:

Web Application | Site Collection Path | Site Collection Template
http://portal | / | Publishing Portal
http://teams:5555 | / | Team Site

Create alternate access mappings

The portal web application will be configured to use HTTPS as well as HTTP to demonstrate how delegation works with SSL protected services. To configure SSL, the portal web application will need a second SharePoint Server alternate access mapping (AAM) for the HTTPS endpoint.

To configure alternate access mappings

  1. In Central Administration, click Application Management.

  2. Under Web Applications click configure alternate access mappings.

  3. In the Select Alternate Access Mapping Collection dropdown, select the Change Alternate Access Mapping Collection.

  4. Select the portal web application.

  5. Click Edit Public Urls in the top toolbar.

  6. In a free zone, add the https URL for the web application. This URL will be the name on the SSL certificate you will create in the next steps.

  7. Click Save.

    You should now see the HTTPS URL in the zone list for the web application.

IIS configuration

Install SSL certificates

You will need to configure an SSL certificate on each SharePoint Server hosting the web application service for each web application that uses SSL. Again, the topic of how to configure an SSL certificate and certificate trust is out of scope for this document. See the SSL Configuration section in this document for references to material about configuring SSL certificates in IIS.

Verify that Kerberos authentication is enabled

To verify that Kerberos authentication is enabled on the web site

  1. Open IIS manager.

  2. Select the IIS web site to verify.

  3. In Features View, under IIS, double click Authentication.

  4. Select Windows Authentication which should be enabled.

  5. On the right hand side under Actions, select Providers. Verify Negotiate is at the top of the list.

Verify that Kernel mode authentication is disabled

Kernel mode authentication is not supported in SharePoint Server 2010. By default, all SharePoint Server Web Applications should have Kernel Mode Authentication disabled by default on their corresponding IIS web sites. Even in situations where the web application was configured on an existing IIS web site, SharePoint Server disables kernel mode authentication as it provisions a new web application on the existing IIS site.

To verify that kernel mode authentication is disabled

  1. Open IIS manager.

  2. Select the IIS web site to verify.

  3. In Features View, under IIS, double click Authentication.

  4. Select Windows Authentication, which should be enabled.

  5. Click Advanced Settings.

  6. Verify both EAP and Kernel Mode Authentication are disabled.

Configure the firewall

Before testing authentication, ensure clients can access the SharePoint Server web applications on the configured HTTP ports. In addition, ensure clients can authenticate with Active Directory and request Kerberos tickets from the KDC over the standard Kerberos ports.

Open firewall ports to allow HTTP traffic in on default and non-default ports

Typically you have to configure the firewall on each front-end Web to allow incoming requests over ports TCP 80 and TCP 443. Open Windows Firewall with Advanced Security and browse to the following Inbound Rules:

  • World Wide Web Services (HTTP Traffic-In)

  • World Wide Web Services (HTTPS Traffic-In)

Make sure the appropriate ports are open in your environment. In our example, we access SharePoint Server over HTTP (port 80), so this rule was enabled.

In addition, we have to open the non-default port used in our example (TCP 5555). If you have web sites running on non-default ports, you also have to configure custom rules to allow HTTP traffic on those ports.

Ensure that clients can connect to Kerberos ports on the Active Directory role

To use Kerberos authentication, clients will have to request ticket granting tickets (TGT) and service tickets (ST) from the Key Distribution Center (KDC) over UDP or TCP port 88. By default, when you install the Active Directory Role in Windows Server 2008 and later, the role will configure the following incoming rules to allow this communication by default:

  • Kerberos Key Distribution Center - PCR (TCP-In)

  • Kerberos Key Distribution Center - PCR (UDP-In)

  • Kerberos Key Distribution Center (TCP-In)

  • Kerberos Key Distribution Center (UDP-In)

In your environment ensure these rules are enabled and that clients can connect to the KDC (domain controller) over port 88.

Test browser authentication

After configuring Active Directory, DNS and SharePoint Server you can now test whether Kerberos authentication is configured correctly by browsing to your web applications. When testing in the browser, ensure the following conditions are met:

  1. The test user is logged into a Windows XP, Vista, or Windows 7 computer joined to the domain that SharePoint Server is installed in, or is logged into a domain trusted by the SharePoint Server domain.

  2. The test user is using Internet Explorer 7.0 or later (Internet Explorer 6.0 is no longer supported in SharePoint Server 2010; see Plan browser support (SharePoint Server 2010)).

  3. Integrated Windows authentication is enabled in the browser. Under Internet Options in the Advanced tab, make sure Enable Integrated Windows Authentication* is enabled in the Security section:

  4. Local intranet is configured to automatically logon clients. Under Internet explorer option, in the Security tab, select Local Intranet and click the Custom level button. Scroll down and make sure that Automatic logon only in Intranet zone is selected.

    Note:

    It is possible to configure automatic logon on other zones but the topic of IE security zones best practices it outside the scope of this paper. For this demonstration the intranet zone will be used for all tests.

  5. Ensure that Automatically detect intranet network is selected in Internet options->Security->Intranet Zone->Sites.

  6. If you are using fully qualified domain names to access the SharePoint Server web applications, ensure that the FQDNs are included in the intranet zone, either explicitly or by wildcard inclusion (for example, "*.vmlab.local").

The easiest way to determine if Kerberos authentication is being used is by logging into a test workstation and navigating to the web site in question. If the user isn't prompted for credentials and the site is rendered correctly, you can assume Integrated Windows authentication is working. The next step is to determine if the negotiate protocol was used to negotiate Kerberos authentication as the authentication provider for the request. This can be done in the following ways:

Front-end Web security logs

If Kerberos authentication is working correctly you will see Logon events in the security event logs on the front-end webs with event ID = 4624. In the general information for these events you should see the security ID being logged onto the computer and the Logon Process used, which should be Kerberos.

KList

KList is a command line utility included in the default installation of Windows Server 2008 and Windows Server 2008 R2 which can be used to list and purge Kerberos tickets on a given computer. To run KLIST, open a command prompt in Windows Server 2008 and type Klist.

If you want to purge the ticket cache, run Klist with the optional purge parameter: Klist purge

KerbTray

KerbTray is a free utility included with the Windows Server 2000 Resource Kit Tool that can be installed on your client computer to view the Kerberos ticket cache. Download and install from Windows 2000 Resource Kit Tool: Kerbtray.exe. Once you have it installed, perform the following actions:

  1. Navigate to the web sites that use Kerberos Authentication.

  2. Run KerbTray.exe.

  3. View the Kerberos Ticket cache by right clicking on the kerb tray icon in the system tray and selecting List Tickets.

  4. Validate the service tickets for the web applications you authenticated are in the list of cached tickets. In our example we navigated to the following web sites which have the following SPNs registered:

    Web Site URL SPN

    http://portal

    HTTP/Portal.vmlab.local

    http://teams:5555

    HTTP/Teams.vmlab.local

Fiddler

Fiddler is a free HTTP traffic analyzer that can be downloaded from the following location: http://www.fiddlertool.com/. In fiddler you will see the client and server negotiate Kerberos authentication and you will be able to see the client send the Kerberos Service Tickets to the server in the HTTP headers of each request. To validate that Kerberos authentication is working correctly using fiddler perform the following actions:

  1. Download and install Fiddler (www.fiddlertool.com) on the client computer.

  2. Log out of the desktop and log back in to flush any cached connections to the web server and force the browser to negotiate Kerberos authentication and perform the authentication handshake.

  3. Start Fiddler.

  4. Open Internet Explorer and browse to the web application (http://portal in our example).

You should see the requests and responses to the SharePoint Server front-end web in Fiddler.

The first HTTP 401 is the browser attempt to do the GET request without authentication. In response, the server sends back an "HTTP 401 - unauthorized" and in this response indicates what authentication methods it supports. In the next request, the client resends the previous request, but this time sends the service ticket for the web application in the headers of the request. If authenticated successfully, the server will send back the requested resource.

NetMon 3.4

NetMon 3.4 is a free network packet analyzer from Microsoft that can be downloaded from the Microsoft Download Center: Microsoft Network Monitor 3.4.

In NetMon you see all TCP request and responses to the KDC and the SharePoint Server web servers, giving you a complete view of traffic that makes up a complete authentication request. To validate that Kerberos authentication is working by using netmon, perform the following actions:

  1. Download and install NetMon 3.4 (Microsoft Network Monitor 3.4).

  2. Log out of the client then log back in to flush the Kerberos ticket cache. Optionally you can use KerbTray to purge the ticket cache by right clicking on KerbTray and selecting Purge Tickets.

  3. Start NetMon in administrator mode. Right-click the NetMon shortcut, and select Run as Administrator.

  4. Start a new capture on the interfaces that connect to the active directory controller in your environment and the web front ends.

  5. Open internet explorer and browse to the web application.

  6. After the web site renders, stop the capture and add a display filter to show the frames for Kerberos authentication and HTTP traffic.

  7. In the frames window you should see both HTTP and KerberosV5 traffic.

Test Kerberos Authentication over SSL

To clearly demonstrate the SPNs requested when a client accesses an SSL protected resource, you can use a tool like netmon to capture the traffic between client and server and examine the Kerberos service ticket requests.

  1. Either logout and then re-login into the client computer, or clear all cached Kerberos tickets by using KerbTray.

  2. Start a new NetMon capture on the client computer. Be sure to start NetMon with administrator permissions.

  3. Browse to the web application by using SSL (in this example, https://portal.)

  4. Stop the NetMon capture and examine the KerberosV5 traffic. For instructions on how to filter the capture display, see the instructions in the NetMon 3.4 section of this article.

  5. Look for the TGS request the client sends. In the request you will see the SPN requested in the "Sname" parameter.

    Note that the "Sname" is HTTP/portal.vmlab.local and not HTTPS/portal.vmlab.local.

Test SharePoint Server Search Index and Query

Verify browser access from the index server(s)

Before running a crawl, ensure that the index server can access the web applications and authenticate successfully. Log into the index server and open the test site collections in the browser. If the sites render successfully and no authentication dialogs appear, proceed to the next step. If any issues occur while accessing the sites in the browsers, go back over the previous steps to ensure all configuration actions were performed correctly.

Upload sample content and perform a crawl

In each site collection upload a "seed" document (one that is easily identifiable in search) to a document library in the site collection. For instance, create a text document containing the words "alpha, beta, delta" and save it to a document library in each site collection.

Next, browse to SharePoint Central Administration and start a full crawl on the Local SharePoint Sites content source (which should contain the two test site collections by default).

Test search

If indexing completed successfully, you should see searchable items in your index and no errors in the crawl log.

Note:

If you have configured the User Profile Application (UPA) and are performing a crawl on the profile store, be sure to configure the appropriate permissions on the UPA to allow the content access account to access profile data. If you have not configured the UPA permissions you will receive errors in the crawls logs indicating the crawler could not access the profile service because it received an HTTP 401 when trying to access the service. The 401 returned is not due to Kerberos, but instead is due to the content access account not having permissions to read profile data.

Next, browse to each site collection and perform a search for the seed document. Each site collection's search query should return the seed document uploaded.

Test front-end Web delegation

As a last step in this scenario, you use the RSS viewer web part on each site collection to ensure that delegation is working both locally and remotely.

Configure RSS feed sources on each site collection

For the portal application you have to enable RSS feeds on the Site Collection. To turn on RSS feeds follow the instructions in Manage RSS Feeds on Office.com.

Once RSS feeds are enabled, create a new custom list and add a list item for testing purposes. Navigate to the List toolbar menu and click RSS Feed to view the RSS feed. Copy the feed URL to use it in the following steps.

Perform this step for each site collection.

Add RSS view web parts to the home page of each site collection

On the portal application you'll need to enable the SharePoint Enterprise Features site collection feature to use the RSS viewer web part. Once enabled add two RSS viewer web parts to the home page. For the first web part, configure the feed URL to point at the local RSS feed you created in the previous step. For the second web part, configure the feed URL to point at the remote feed URL. When completed, you should see both web parts successfully rendering content from the local and remote RSS feeds.


Kerberos authentication for SQL OLTP (SharePoint Server 2010)

Published: December 2, 2010

In this scenario we walk through the process of configuring Kerberos authentication for the SQL Server cluster in our sample environment. Once that process is complete, we validate that SharePoint Server services are authenticated with the cluster by using the Kerberos protocol.

In this scenario, you do the following things:

  • Configure an existing SQL Server 2008 R2 cluster to use Kerberos authentication

  • Verify that the client can authenticate with the cluster by using Kerberos authentication

  • Create a test database and sample data to be used in later scenarios

Note:

It is not required to use Kerberos authentication for SQL Server for core SharePoint Server data services (for example, connections to platform databases). The sample environment has a sole SQL Server cluster that hosts additional sample databases used in later scenarios. For delegation to work correctly in these scenarios, the SQL Server cluster must accept Kerberos authenticated connection.

Note:

If you are installing on Windows Server 2008, you may need to install the following hotfix for Kerberos authentication:

A Kerberos authentication fails together with the error code 0X80090302 or 0x8009030f on a computer that is running Windows Server 2008 or Windows Vista when the AES algorithm is used (http://support.microsoft.com/kb/969083)

Configuration checklist

Area of configuration | Description
Configure DNS | Create DNS (A) host records for the SQL Server cluster IP
Configure Active Directory | Create Service Principal Names (SPNs) for the SQL Server service
Verify SQL Server Kerberos configuration | Use SQL Server Management Studio to query SQL connection metadata to ensure the Kerberos authentication protocol is used

Scenario environment details

Diagram of scenario infrastructure

This scenario demonstrates a SharePoint Server farm configured to use a SQL alias for a connection to a SQL Server cluster that is configured to use Kerberos authentication.

Step-by-step configuration instructions

Configure DNS

Configure DNS for the SQL Server cluster in your environment. In this example we have one SQL Server cluster, MySqlCluster.vmlab.local, running on port 1433 at cluster IP 192.168.8.135/4. The cluster is Active/Passive with the SQL Server database engine running on the default instance of the first node.

For general information about how to configure DNS, see Managing DNS Records.

In this example, we configured a DNS (A) record for the SQL Server cluster.

Note:

Technically, because SQL Server SPNs include an instance name (if you are using the second-named instance on the same computer), you can register the DNS host for the cluster as a CNAME alias and avoid the CNAME issue described in Appendix A, Kerberos configuration known issues (SharePoint Server 2010). However, if you choose to use CNAMEs, you have to register an SPN using the DNS (A) record host name for the CNAME aliases.

Configure Active Directory

For SQL Server to authenticate clients using Kerberos authentication, you have to register a service principal name (SPN) on the service account that is running SQL Server. Service principal names for the SQL Server database engine use the following format for configurations that are using the default instance and not a SQL Server named instance:

MSSQLSvc/<FQDN>:port

For more information about registering SPNs for SQL Server 2008, see Registering a Service Principal Name.

In our example, we configured the SQL Server SPN on the SQL Server database engine service account (vmlab\svcSQL) with the following SetSPN command:

SetSPN -S MSSQLSVC/MySQLCluster.vmlab.local:1433 vmlab\svcSQL

SQL Server named instances

If you use SQL Server named instances instead of the default instance, you have to register SPNs specific to the SQL Server instance and for the SQL Server browser service. See the following articles for more information about configuring Kerberos authentication for names instances:

  • Registering a Service Principal Name

  • An SPN for the SQL Server Browser service is required when you establish a connection to a named instance of SQL Server 2005 Analysis Services or of SQL Server 2005

SQL aliases

As a best practice, when building your farm you should consider using SQL aliases for connections to your SQL Server computer. If you choose to use SQL aliases, the Kerberos SPN format for those connections does not change. You continue to use the registered DNS host name (A record) in the SPN for SQL Server. For example, if you register an alias "SPFARMSQL" for "MySQLCluster.vmlab.local" the SPN when you are connecting to SPFarmSQL remains "MSSQLSVC/MySQLCluster.vmlab.local:1433".

Verify SQL Server Kerberos configuration

When DNS and Service Principal Names are configured, you can reboot the computers that are running SharePoint Server and verify that SharePoint Server services now authenticate with SQL Server by using Kerberos authentication.

To verify the cluster configuration

  1. Reboot the computers that are running SharePoint Server — This action restarts all services and forces them to re-connect and re-authenticate by using Kerberos authentication.

  2. Open SQL Server Management Studio and run the following query:

    Copy Code
    Select
   s.session_id,
   s.login_name,
   s.host_name,
   c.auth_scheme
from
sys.dm_exec_connections c
inner join
sys.dm_exec_sessions s
on c.session_id = s.session_id

    The query returns metadata about each session and connection. The session data helps identify the connection source, and the session information reveals the authentication scheme for the connection.

  3. Verify that the SharePoint Server services are authenticating by using Kerberos authentication. If Kerberos authentication is configured correctly, you see Kerberos in the auth_scheme column of the query results.

Create a test SQL Server database and test table

To test delegation across the various SharePoint Server service applications covered in the scenarios in this document, you have to configure a test data source for those services to access. In the final step of this scenario, you configure a test database called "Test" and a test table called "Sales" to be used later.

  1. In SQL Server Management Studio, create a new database called "Test". Keep the default settings when creating this database.

  2. In the Test database, create a new table with the following schema:

    Column Name Data Type Allow Nulls

    Region

    nvarchar(10)

    No

    Year

    nvarchar(4)

    No

    Amount

    money

    No

    RowId

    int

    No

  3. Save the table with the name "Sales".

  4. In Management Studio, populate the table with test data. The data itself does not matter and does not affect the function of later scenarios. A few rows of data will suffice.


Kerberos authentication for SQL Server Analysis Services (SharePoint Server 2010)

Published: December 2, 2010

In this scenario you do the following things:

  • Configure Analysis Service instances in the SQL Server 2008 R2 cluster to use Kerberos authentication

  • Verify that the client can authenticate with the cluster by using Kerberos authentication

Enabling Kerberos authentication for SQL Server Analysis Services is similar to SQL Server

Note:

If you are installing on Windows Server 2008, you may have to install the following hotfix for Kerberos authentication:

A Kerberos authentication fails together with the error code 0X80090302 or 0x8009030f on a computer that is running Windows Server 2008 or Windows Vista when the AES algorithm is used (http://support.microsoft.com/kb/969083)

Configuration checklist

Area of configuration | Description
Configure Active Directory | Create Service Principal Names (SPNs) for the Analysis Services instance
Verify SQL Kerberos Configuration | Connect to the Analysis Services instance in Excel 2010

Step-by-step configuration instructions

Configure Active Directory

For SQL Server Analysis Services to authenticate clients by using Kerberos authentication, you have to register a service principal name (SPN) on the service account that is running SQL Server. The SPN for a default Analysis Services instance uses the following format:

MSOLAPSvc.3/<FQDN>

If you are using a named instance of Analysis Services, note that you cannot specify a port after the colon. If you do, it is interpreted as part of the hostname or domain name. Instead, you must use the actual instance name for all functionality to work correctly.

MSOLAPSvc.3/<FQDN>:instanceName

For more information about registering SPNs for SQL Server 2008, see http://support.microsoft.com/kb/917409.

This scenario assumes a default Analysis Services instance. We will configure the Analysis Services SPN on the Analysis Services service account (vmlab\svcSQLAS) with the following SetSPN command:

SetSPN -S MSOLAPSvc.3/MySQLCluster.vmlab.local vmlab\svcSQLAS

SQL Server named instances

If you use SQL Server named instances instead of the default instance, you have to register SPNs specific to the SQL Server instance and for the SQL Server browser service. See the following articles for more information about configuring Kerberos authentication for named instances:

  • Registering a Service Principal Name

  • An SPN for the SQL Server Browser service is required when you establish a connection to a named instance of SQL Server 2005 Analysis Services or of SQL Server 2005

Verify SQL Server Kerberos configuration

Once the SPN is configured, verify the Kerberos connection to the cluster by using Excel 2010.

  1. Open Excel 2010 on the client computer by using a domain account that has access to at least one database in the Analysis Services instance and open a data connection to your Analysis Services instance by selecting the Data tab, clicking From Other Sources, and then clicking From Analysis Services.

  2. In the Data Connection Wizard, type MySQLCluster in the Server name box, then click Next. If Kerberos authentication is working, then you can see all the databases that you already have the permission to see.

    Note:

    To use the AdventureWorks 2008 R2 sample databases, download from Microsoft SQL Server Community Projects & Samples and follow the installation instructions.

  3. Open the event viewer on the database server (vmsql2k8r2-01). You should now be able to see an audit success in the security log similar to the one you see in the verification steps for Scenario 2, Kerberos authentication for SQL OLTP (SharePoint Server 2010).


Identity delegation for SQL Server Reporting Services (SharePoint Server 2010)

Published: December 2, 2010

In this scenario you configure a pair of load-balanced SQL Server Reporting Services (SSRS) servers in a scaled-out configuration running in SharePoint integrated mode. The servers are configured to accept Kerberos authentication and they delegate authentication to a back-end SQL Server cluster.

In this scenario, the SharePoint Server farm and Reporting Services data source are both in the same domain; therefore in this scenario we configure Kerberos constrained delegation to allow identity delegation to the back-end data source. If you are required to authenticate with data sources in other domains within the same forest, you have to configure basic (unconstrained) Kerberos delegation. Remember that Reporting Services does not leverage the C2WTS and therefore can use basic delegation.

Note:

If you are installing on Windows Server 2008, you may have to install the following hotfix for Kerberos authentication:

A Kerberos authentication fails together with the error code 0X80090302 or 0x8009030f on a computer that is running Windows Server 2008 or Windows Vista when the AES algorithm is used (http://support.microsoft.com/kb/969083)

Scenario dependencies

  • Scenario 1: Core Configuration

  • Scenario 2: Kerberos Authentication for SQL OLTP

  • (Optional) Scenario 3: Kerberos Authentication for SQL Analysis Services

Configuration checklist

Area of configuration | Description
Active Directory | Create SSRS service account Configure Kerberos constrained delegation
SQL Server Reporting Services | Install and configure SSRS in load-balanced, scale out mode Modify Web.Config Modify ReportingServer.config
Configure SharePoint Server | Configure Reporting Services integration Add a report server to the integration Set server defaults
Verify configuration | Create a document library for reports Configure site collection setting for Reporting Services Create and publish a test report in SQL Server Business Intelligence Studio View the test report in Internet Explorer

Scenario environment details

Diagram of scenario environment

In this scenario, the Internet Information Services (IIS) application pool service accounts are configured to delegate to the SQL Server Reporting Services (SSRS) service. The SSRS service account is configured to delegate credentials to the SQL Server service. Note that SQL Server Reporting Services in SharePoint integrated mode does not leverage intra-farm Claims authentication and requires Kerberos authentication for delegated authentication. For more information, see Claims Authentication and Reporting Services.

Cross-domain Kerberos delegation

In this example, the data source that SSRS connects to resides in the same domain as the SSRS servers. In some situations you may want to access data sources outside of the domain that SSRS resides in. To authenticate with delegation cross domain, you have to configure basic (unconstrained) delegation on the SSRS service account. Remember that this is possible because the SSRS service does not rely on the Claims to Windows Token Service (C2WTS), therefore does not require protocol transition through Kerberos constrained delegation. Also note that cross-forest delegation is not possible, even with basic delegation.

Step-by-step configuration instructions

Configure DNS

Configure DNS for the SSRS NLB server group in your environment. In this example we have two SSRS servers, VMSSRS01 and VMSSRS02, which are load-balanced and resolve to the same NLB VIP (192.168.24.180/24). The VIP will be mapped to the host FarmReports and will have the URL http://FarmReports .

For general information about how to configure DNS, see Managing DNS Records.

Configure a new DNS A Record for the SSRS host. In this example we have a host FarmReports configured to resolve to the load balanced VIP.

Active Directory directory service

Create SSRS service account

As a best practice, SQL Server Reporting Services should run under its own domain identity. In this example, the following accounts were created:

Service | Service Identity
SQL Server Reporting Services | vmlab\svcSQLRS

Configure Service Principal Names

For SSRS to connect and authenticate with external data sources using Kerberos authentication, the Report Server Web Service and Report Manager service accounts and the service account for the external data source must have service principal names configured. Refer to scenarios 1 and 2 (Core configuration and Kerberos authentication for SQL OLTP) in this series of articles to configure and validate the necessary SPNS on the SharePoint Server web applications and SQL Server service accounts. For the SSRS servers, the following SPNs were defined:

DNS Host | IIS App Pool Identity | Service Principal Names
FarmReports.vmlab.local | vmlab\svcSQLRS | HTTP/FarmReports HTTP/ FarmReports.vmlab.local

In this example the following commands were executed:

SetSPN -S HTTP/FarmReports vmlab\svcSQLRS

SetSPN -S HTTP/FarmReports.vmlab.local vmlab\svcSQLRS

Configure delegation

Kerberos delegation must be configured for SSRS to delegate the client's identity to back-end data source. In this example, SSRS queries data from a SQL Server transactional database by using the client's identity, therefore Kerberos delegation is required. Kerberos constrained delegation (KCD) is not a requirement in this scenario (because protocol transition is not needed), but KCD is configured as a best practice.

The SSRS service account that is running the SSRS services must be trusted to delegate credentials to each back-end service. In our example, the following delegation paths are needed:

Principal type | Principal name | Delegates to service
User | Vmlab\svcPortal10App | HTTP/FarmReports HTTP/FarmReports.vmlab.local
User | Vmlab\svcSQLRS | MSSQLSVC/MySqlCluster.vmlab.local:1433

Optionally, if you wish to report against Analysis Services data sources, configure the following delegation paths:

Principal type | Principal name | Delegates to service
User | Vmlab\svcSQLRS | MSOLAPSvc.3/MySqlCluster.vmlab.local

To configure constrained delegation

  1. Open the Active Directory Object's properties in Active Directory Users and Computers.

  2. Navigate to the Delegation tab.

  3. Select Trust this user for delegation to specified services only.

    Note:

    For the SSRS service account, if you need to authenticate with data sources within the same forest but outside of the domain that the SSRS server resides in, configure basic delegation instead of constrained delegation. You can do this by selecting Trust this computer for delegation to any service. Remember that cross-forest Kerberos delegation is not possible.

  4. Optionally select Use any authentication protocol. This enables protocol transition.

  5. Click the Add button to select the service principal that can be delegate to.

  6. Select User and Computers.

  7. Select the service account that is running the service you want to delegate to. In this example, it is the service account for the SQL Server Reporting Service.

    Note:

    The service account selected must have an SPN applied to it. In our example, the SPN for this account (HTTP/FarmReports.vmlab.local) was configured earlier in the scenario.

  8. Click OK. You are then asked to select the SPNs you want to delegate to on the following page.

  9. Select the service or Select All and click OK.

    You should now see the selected SPNs in the services to which this account can present delegated credentials list:

  10. Repeat these steps for each delegation path identified earlier in this section. You have to configure delegation from the SQL Server Reporting Services service account to one or more back-end data sources (SQL OLTP or SQL AS in our scenarios).

    Note:

    For the SSRS service account, if you need to authenticate with data sources within the same forest but outside of the domain the SSRS server resides in, configure basic delegation instead of constrained delegation. To do so, select Trust this computer for delegation to any service. Remember that cross-forest Kerberos delegation is not possible.

Verify MSSQLSVC SPN for the service account running the service on SQL Server (performed in Scenario 2)

Verify that the SPN for the Analysis Services service account (vmlab\svcSQL) exists by using the following SetSPN command:

SetSPN -L vmlab\svcSQL

You should see the following:

MSSQLSVC/MySqlCluster
MSSQLSVC/MySqlCluster.vmlab.local:1433

Verify MSOLAPSvc.3 SPN for the Service Account running the SSAS service on the SQL Server Analysis Services server (performed in Scenario 3)

Verifythat the SPN for the SQL Server service account (vmlab\svcSQLAS) exists by using the following SetSPN command:

SetSPN -L vmlab\svcSQLAS

You should see the following:

MSOLAPSvc.3/MySqlCluster
MSOLAPSvc.3/MySqlCluster.vmlab.local

SQL Server Reporting Services

Install SharePoint Server 2010

SQL Server Reporting Services requires SharePoint Server 2010 to be installed on each SSRS server to run SSRS in SharePoint integrated mode. Install SharePoint Server 2010 on each reporting server and join each server to the SharePoint Server farm.

Install and configure SSRS in load-balanced, scaled out mode

Detailed step by step instructions on how to configure SQL Server Reporting Services in a load-balanced, scaled-out configuration is beyond the scope of this document. For detailed instructions on how to install SSRS, see Deployment Topologies for Reporting Services in SharePoint Integrated Mode. Once SSRS is installed, be sure to complete the additional SSRS configuration steps outlined below to complete the install.

Modify Web.config on the SSRS Servers

The following changes have to be made to the web.config files on each SSRS server. The web.config file can be found in the Program Files directory where SSRS is installed:

Add the <machineKey> element

SSRS servers in a load-balanced configuration need the same machine key set across all servers. The machine key element should be added as a child of the <system.web> element in web.config. Below is an example machine key:

Copy Code
<machineKey
validationKey="54AEBD3BC893726E9B84D30F4970CB58F2086C2DAEE2F8D34A65A0632F4676DDBBC38779F2972C6596931E
13BD07A772BD4B9395BE38A43E461079E45D594E53"
decryptionKey=""
validation="SHA1"
decryption="AES"
/>
Important:

DO NOT USE THE SAMPLE MACHINE KEY IN OUR ENVIRONMENT. Generate your own key values for your environment.

Modify ReportingServer.config

The following changes have to be made to the ReportingServer.config files on each SSRS server. The ReportingServer.config file can be found in the program files directory where SSRS is installed:

Enable Kerberos authentication

To enable Kerberos authentication, set the authentication type to "RSWindowsNegotiate". Change the <AuthenticationTypes/> element and add <RSWindowsNegotiate/>:

Copy Code
<AuthenticationTypes>
    <RSWindowsNegotiate/>
</AuthenticationTypes>

Modify the URL root

Add the URL for the report server to the <UrlRoot> tag found in the <service> tag of ReportingServer.Config

Copy Code
<UrlRoot>http://FarmReports/reportserver</UrlRoot>

Configure BackConnectionHostNames in the registry

To allow SQL Server Reporting Services to authenticate with each other on a single computer, NTLM loopback detection needs to be addressed. Instead of disabling loopback detection, a better practice is to configure the BackConnectionHostNames value in the registry of each SSRS server. For more information about BackConnectionHostNames, see You receive an error message when you use SQL Server 2008 Reporting Services: .

In our example, we configure the following values for BackConnectionHostNames:

  • FarmReports

  • FarmReports.vmlab.local

Once the BackConnectionHostNames values are set, reboot the SSRS server.

Configure SharePoint Server

In Central Administration, you find the farm configuration options for SSRS. Note that in SharePoint Server 2010 you do not need to install a separate SSRS component installation for SSRS administration and Web Parts. To access the SSRS farm options, navigate to Central Administration and then see Reporting Services in the General Application Settings section.

Grant the Reporting Services service account permissions on the web application content database

A required step in configuring SQL Server Reporting Services in SharePoint integrated mode is allowing the Reporting Services service account access to the content databases for web applications hosting reports. In this example, we grant the Reporting Services account access to the "portal" web application's content database through Windows PowerShell.

Run the following command from the SharePoint 2010 Management Shell:

$w = Get-SPWebApplication -Identity http://portal

$w.GrantAccessToProcessIdentity("vmlab\svcSQLRS")

Configure Reporting Services Integration

In the Reporting Service Integration dialog box, specify the load-balanced URL of the report server. Also, select the Activate feature in all exiting collections option to automatically activate the Reporting Services feature in your site collections.

Add each report server to the integration

In the Add a report server to the integration dialog box, specify each of the nodes of the Reporting Services NLB group. You have to open this dialog box for each server that you are adding to the integration; there is no way to add multiple servers in a single operation.

Set server defaults

At this point SSRS integration should be configured. To validate the configuration, open the Server Defaults page. No changes are required for the example in this document.

Verify configuration

Create a document library for reports

Create a document library to host SSRS reports in your SharePoint site. In this example, we assume the existence of a document library called "reports" at http://portal/reports.

Validate site collection settings for Reporting Services

In the browser, navigate to the Site Settings of the site that is hosting the document library for SSRS reports. In Site Settings you should see a new category called Reporting Services.

If you do not see the Reporting Services feature in the site collections features list, you may need to activate it from Central Administration. For more information, see How to: Activate the Report Server Feature in SharePoint Central Administration (http://go.microsoft.com/fwlink/p/?LinkId=196878).

Click the Reporting Services site settings link to ensure the settings are accessible.

Note:

No changes to Reporting Services Site Settings are required for this demonstration.

Create and publish a test report in SQL Server Business Intelligence Development Studio

After you configure SSRS and the integration with SharePoint Server, you create a test report to ensure identity delegation is working correctly.

  1. Open SQL Server Business Intelligence Development Studio. Click File, point to New, and then click Project.

  2. Select Report Server Project Wizard and enter a project name.

  3. Next configure a new data source. Choose the type Microsoft SQL Server and click the Edit button.

  4. In Connection Properties enter the information to connect to the demo SQL Server cluster created in scenario 2.

  5. Open query designer, right-click the query window and select Add table.

  6. Choose the Sales table (created in scenario 2) and select All Columns.

  7. Select a tabular report type.

  8. In our example we group by region; you can skip this step if you want to.

  9. Once the project is created, open the project properties on the Project menu.

  10. Configure the following project properties:

    1. TargetDatasetFolder — Set to the test report folder created earlier

    2. TargetReportFolder — Set to the test report folder created earlier

    3. TargetReportPartFolder — Set the to test report folder created earlier

    4. TargetServerURL — Set to the web application URL that is hosting the report

  11. Deploy the report to the SharePoint library. On the build menu select Deploy <project name>.

  12. If it is successful, you will see the deployment succeeded message in the Output window.

View the test report in Internet Explorer

Open the report document library created in previous steps of this scenario in the browser. You should see the report file you just published. If you do not see the report, you may need to activate the Reporting Services features in your site collection. For more information, see How to: Activate the Report Server Feature in SharePoint Central Administration (http://go.microsoft.com/fwlink/p/?LinkID=196878).

Click the report and it will render in the browser.

To further verify delegation and the data connection, changed the source data in SQL Server Management Studio and refresh the SSRS report data connection in the browser. You should see the data changes reflected in the report.

SSL configuration for Reporting Services

In some environments it may be required to protect communications between front-end Web and SSRS servers with SSL. A detailed walkthrough of how to configure SSL for Reporting Services is out of scope for this paper, but at a high level these are the steps you have to take:

  1. Configure each reporting server for SSL. See Configuring a Report Server for Secure Sockets Layer (SSL) Connections (http://go.microsoft.com/fwlink/p/?LinkId=196881).

  2. Update ReportingServer.config. Change the <UrlRoot> to the new https:// URL.

  3. Restart the SQL Server Reporting Services service.

  4. In Central Administration, change the Reporting Services integration settings and change the Report Server Web Service URL to the new https:// URL.

  5. Restart IIS on each instance of SharePoint Server that is running the web application service.

You do not need to change any of the SPNs created when configuring Reporting Services with HTTP in the previous steps. The SPN for an HTTP service over SSL remains HTTP/<service>. You can see this by using NetMon to view the front-end web server that is communicating with the Reporting Services Server.


Identity delegation for Excel Services (SharePoint Server 2010)

Published: December 2, 2010

In this scenario you add the Excel Services service application to the SharePoint Server environment and configure Kerberos constrained delegation to allow the service to refresh data in a worksheet from an external SQL Server data source.

Note:

If you are installing on Windows Server 2008, you may have to install the following hotfix for Kerberos authentication:

A Kerberos authentication fails together with the error code 0X80090302 or 0x8009030f on a computer that is running Windows Server 2008 or Windows Vista when the AES algorithm is used (http://support.microsoft.com/kb/969083)

Scenario dependencies

To complete this scenario you need to have completed the following articles:

  • Scenario 1: Core Configuration

  • Scenario 2: Kerberos Authentication for SQL OLTP

Configuration checklist

Area of Configuration | Description
Active Directory Configuration | Create Excel Services service account Configure SPN on Excel Services service account Configure Kerberos constrained delegation for servers running Excel Services Configure Kerberos constrained delegation for the Excel Services service account
SharePoint Server configuration | Start Claims to Windows Token Service on Excel Services Servers Start the Excel Services service instance on the Excel Services server Create the Excel Services service application and proxy Configure Excel services trusted file location and authentication settings
Verify Excel Service Constrained Delegation | Create document library to host test workbook Create test SQL database and test table Create test Excel workbook with SQL data connection Publish workbook to SharePoint Server and refresh data connection

Scenario environment details

Kerberos constrained delegation paths

Diagram of scenario environment

In this scenario we will configure the SharePoint Server Excel Services service account for Kerberos constrained delegation to the SQL Server service.

Note:

In this scenario we will configure the Claims to Windows Token Services (C2WTS) to use a dedicated service account. If you leave the C2WTS configured to use Local System you will need to configured constrained delegation on the computer account for the computer running the C2WTS and Excel Services.

SharePoint Server logical authentication

Diagram of authenticaiton flow

Authentication in this scenario begins with the client authenticating with Kerberos authentication at the web front end. SharePoint Server 2010 will convert the Windows authentication token into a claims token using the local Security Token Service (STS). The excel service application will accept the claims token and convert it into a windows token (Kerberos) using the local Claims to Windows Token Service (C2WTS) that is a part of Windows Identity Framework (WIF). The excel service application will then use the client's Kerberos ticket to authenticate with the backend DataSource.

Step-by-step configuration instructions

Active Directory configuration

Create Excel Services service account

As a best practice Excel Services should run under its own domain identity. To configure the Excel Service Application an Active Directory accounts must be created. In this example the following accounts were created:

SharePoint Server Service | IIS App Pool Identity
Excel Services | vmlab\svcExcel

Configure SPN on the Excel Services service account

Kerberos constrained delegation must be configured if Excel Services is going to delegate the client's identity to a back end data source. In this example Excel services will query data from a SQL transactional database, therefore Kerberos delegation is required.

The Active Directory Users and Computers MMC snap-in is typically used to configure Kerberos delegation. To configure the delegation settings within the snap-in, the Active Directory object being configured must have a service principal name applied; otherwise the delegation tab for the object will not be visible in the object's properties dialog. Although Excel Services does not require a SPN to function, we will configure one for this purpose.

On the command line, run the following command:

SETSPN -S SP/ExcelServices

Note:

The SPN is not a valid SPN. It is applied to the specified service account to reveal the delegation options in the AD users and computers add-in. There are other supported ways of specifying the delegation settings (specifically the msDS-AllowedToDelegateTo AD attribute) but this topic will not be covered in this document.

Configure Kerberos constrained delegation for Excel Services

To allow excel services to delegate the clients identity Kerberos constrained delegation must be configured. It is required to configure constrained delegation with protocol transition for the conversion of claims token to windows token via the WIF C2WTS.

Each server running excel services must be trusted to delegate credentials to each back-end service excel will authenticate with. In additional, the excel services service account must also be configured to allow delegation to the same back-end services.

In our example the following delegation paths are defined:

Principal Type | Principal Name | Delegates To Service
User | svcExcel | MSSQLSVC/MySqlCluster.vmlab.local:1433
*User | svcC2WTS | MSSQLSVC/MySqlCluster.vmlab.local:1433
**Computer | VMSP10APP01 | MSSQLSVC/MySqlCluster.vmlab.local:1433

* Configured later in this scenario

** Only required if the C2WTS is running as local system

To configure constrained delegation

  1. Open the Active Directory Object's properties in Active Directory Users and Computers.

  2. Navigate to the Delegation tab.

  3. Select Trust this user for delegation to specified services only.

  4. Select Use any authentication protocol. This enables protocol transition and is required for the service account to use the C2WTS.

  5. Click the add button to select the service principal allowed to delegate to.

  6. Select User and Computers.

  7. Select the service account running the service you wish to delegate to. In this example it is the service account for the SQL service.

    Note:

    the service account selected must have a SPN applied to it. In our example the SPN for this account was configured in a previous scenario.

  8. Click OK. You will then be asked to select the SPNs you would like to delegate to on the following screen.

  9. Select the services for the SQL cluster and click OK.

  10. You should now see the selected SPNS in the services to which this account can presented delegated credentials list.

  11. Repeat these steps for each delegation path defined in the beginning of this section.

Verify MSSQLSVC SPN for the Service Account running the service on the SQL Server (performed in Scenario 2)

Verify the SPN for Analysis Services service account (vmlab\svcSQL) exists with the following SetSPN command:

SetSPN -L vmlab\svcSQL

You should see the following:

MSSQLSVC/MySqlCluster
MSSQLSVC/MySqlCluster.vmlab.local:1433

SharePoint Server configuration

Configure and Start the Claims to Windows Token Service on Excel Services Servers

The Claims to Windows Token Service (C2WTS) is a component of the Windows Identity Foundation (WIF) which is responsible for converting user claim tokens to windows tokens. Excel services uses the C2WTS to convert the user's claims token into a windows token when the services needs to delegate credentials to a back-end system which uses Integrated Windows authentication. WIF is deployed with SharePoint Server 2010 and the C2WTS can be started from Central Administration.

Each Excel Services Application server must run the C2WTS locally. The C2WTS does not open any ports and cannot be accessed by a remote caller. Further, the C2WTS service configuration file must be configured to specifically trust the local calling client identity.

As a best practice you should run the C2WTS using a dedicated service account and not as Local System (the default configuration). The C2WTS service account requires special local permissions on each server the service runs on so be sure to configure these permissions each time the service is started on a server. Optimally you should configure the service account's permissions on the local server before starting the C2WTS, but if done after the fact you can restart the C2WTS from the Windows services management console (services.msc).

To start the C2WTS

  1. Create a service account in Active Directory to run the service under. In this example we created vmlab\svcC2WTS.

  2. Add an arbitrary Service Principal Name (SPN) to the service account to expose the delegation options for this account in Active Directory Users and Computers. The SPN can be any format because we do not authenticate to the C2WTS using Kerberos authentication. It is recommended to not use an HTTP SPN to avoid potentially creating duplicate SPNs in your environment. In our example we registered SP/C2WTS to the vmlab\svcC2WTS using the following command:

    Copy Code
    SetSPN -S SP/C2WTS vmlab\svcC2WTS

  3. Configure Kerberos constrained delegation on the C2WTS services account. In this scenario we will delegate credentials to the SQL service running with the MSSQLSVC/MySqlCluster.vmlab.local:1433 service principal name.

  4. Next, configure the required local server permissions that the C2WTS requires. You will need to configure these permissions on each server the C2WTS runs on. In our example this is VMSP10APP01. Log onto the server and give the C2WTS the following permissions:

    1. Add the service account to the local Administrators Groups.

    2. In local security policy (secpol.msc) under user rights assignment give the service account the following permissions:

      1. Act as part of the operating system

      2. Impersonate a client after authentication

      3. Log on as a service

  5. Open Central Administration.

  6. Under Security->Configure Managed Service Accounts, Register the C2WTS service account as a managed account.

  7. Under services, select Manage services on server.

  8. In the server selection box in the upper right hand corner select the server(s) running excel services. In this example it is VMSP10APP01.

  9. Find the Claims to Windows Token Service and start it.

  10. Go to Security->Manage Service Accounts. Change the identity of the C2WTS to the new managed account.

    Note:

    If the C2WTS was already running before configuring the dedicated service account, or if you need to changes the permissions of the service account after the C2WTS is running you must restart the C2WTS from the services console.

In addition, if you experience issues with the C2WTS after restarting the service it may also be required to reset the IIS application pools that communicate with the C2WTS.

Add Startup dependencies the WIF C2WTS service

There is a known issue with the C2WTS where it may not automatically startup successfully on system reboot. A workaround to the issue is to configure a service dependency on the Cryptographic Services service:

  1. Open the Command Prompt window.

  2. Type: sc config "c2wts" depend= CryptSvc

  3. Find the Claims to Windows Token Service in the services console.

  4. Open the properties for the service.

  5. Check the Dependencies tab. Make sure Cryptographic Services is listed.

  6. Click OK.

Grant the Excel Services service account permissions on the web application content database

A required step in configuring SharePoint Server 2010 Office Web Applications is allowing the web application's service account access to the content databases for a given web application. In this example, we will grant the Excel Services service account access to the "portal" web application's content database by using Windows PowerShell.

Run the following command from the SharePoint 2010 Management Shell:

$w = Get-SPWebApplication -Identity http://portal

$w.GrantAccessToProcessIdentity("vmlab\svcExcel")

Start the Excel Services service instance on the Excel Services server

Before creating an Excel Services service application, start the excel services serve service on the designated Farm servers.

  1. Open Central Administration.

  2. Under services, select Manage services on server.

  3. In the server selection box in the upper right hand corner select the server(s) running excel services. In this example it is VMSP10APP01.

  4. Start the Excel Calculation Services service.

Create the Excel Services service application and proxy

Next configure a new Excel Services service application and application proxy to allow web applications to consume Excel Services:

  1. Open Central Administration.

  2. Select Manage Service Applications under Application Management.

  3. Select New, and then click Excel Services Application.

  4. Configure the new service application. Be sure to select the correct service account (create a new managed account if the excel service account is not in the list).

Configure Excel services trusted file location and authentication settings

Once the Excel Services application is created, configure the properties on the new service application to specify a trusted host location and authentication settings.

  1. Open Central Administration.

  2. Select Manage Service Applications under Application Management.

  3. Click the link for the new Service Application, Excel Services in this example.

  4. In the excel services management screen, click "Trusted File Locations".

  5. Add a new trusted file location.

  6. Specify the location to your test library.

    Note:

    In our example, we trust the root web application URL and all children. In a production environment you may choose to constrain the trust to a more granular location.

  7. In External Data Select trusted data connection libraries and embedded.

    Note:

    This example will use an embedded connection to connect to SQL Server. In your environment you may choose to create a separate connection file and store it in a trusted data connection library. In that case you might select Trusted data connection libraries only.

  8. Change the External Data Cache Age — For testing purposes, it is convenient to change the external data cache lifetime to ensure data refreshes are coming from the data source and not the cache. Under External Data, change the following settings:

    Automatic refresh (periodic / on-open) = 0

    Manual refresh = 0

    Note:

    In a production environment you will want to configure a cache setting higher than 0. Setting the cache to 0 is for testing purposes only.

Verify Excel Services constrained delegation

Create document library to host the test workbook

Open a site in the trusted path that was configured in the previous step. Create a new document library to host a test Excel workbook.

Create test Excel workbook with SQL data connection

Next create an Excel workbook with a data connection to the new test database:

  1. Open Excel.

  2. On the Data tab, select From other sources->From SQL Server.

  3. Connect to the test SQL data source.

  4. Select the test database and the test table (Sales in our example).

  5. Click Next. Click the authentication settings button. Ensure Windows Authentication is specified.

  6. Click Finish.

  7. Select Pivot Table Report.

  8. Configure the pivot table. Ensure data is returned from the SQL source.

Publish workbook to SharePoint Server and refresh data connection

The last step to validate the Excel Services application is to publish the workbook and test refreshing the embedded SQL connection.

  1. Click the File tab.

  2. Click Save and Send, then click Save to SharePoint, and then click Browse for a location.

  3. Enter the location to the trusted library created in previous steps.

  4. Ensure Open with Excel in the browser is selected.

    A new browser window will open at this point with your test workbook displayed. Once the workbook renders, refresh the data connection by clicking Data and then clicking Refresh All Connections.

    If the data connection refreshes you have successfully configured Kerberos delegation for excel services. To further test connectivity, change the source data via SQL Management Studio then refresh the connection. You should see the newly changed data in your workbook. If you do not see any changes, and you do not receive any errors on refresh you are most likely seeing cached data. By default, Excel Services will cache data from external sources for five minutes. You can change this cache setting; see Configure Excel services trusted file location and authentication settings in this article for more information.


Identity delegation for PowerPivot for SharePoint 2010 (SharePoint Server 2010)

Published: December 2, 2010

The farm topology described in Environment and farm topology does not require Kerberos authentication for PowerPivot for Microsoft SharePoint 2010 to work. The PowerPivot System Service is claims aware, and uses the Claims To Windows Token Service (C2WTS) to recreate the client's Windows identity using the client's claims token in order to connect with the Analysis Service Vertipaq engine that runs on the application server.

When a PowerPivot workbook is uploaded in SharePoint Server, it already contains the PowerPivot data that the workbook uses. When the user opens the PowerPivot workbook in Excel Web Access and interacts with the slicers, the PowerPivot System Service loads the data in the workbook directly into its Analysis Services engine. No access is made to the data connection embedded in the workbook.

Diagram of authentication flow

When a data refresh job for a PowerPivot workbook starts executing, the PowerPivot System Service performs a Windows login using the credentials stored in the SharePoint Server Secure Store Service. Since the Windows identity is created on the application server, the connection from the PowerPivot Analysis Services Vertipaq engine (on the same computer, VMSP10APP01) to MySQLCluster is the first NTLM hop.

Diagram of authentication flow
Note:

If you are installing on Windows Server 2008, you may have to install the following hotfix for Kerberos authentication:

A Kerberos authentication fails together with the error code 0X80090302 or 0x8009030f on a computer that is running Windows Server 2008 or Windows Vista when the AES algorithm is used (http://support.microsoft.com/kb/969083)

Scenarios requiring Kerberos authentication

As you can see from the discussion above, most common situations with PowerPivot do not require Kerberos authentication. However, there are some unusual edge cases where Kerberos authentication would be required. For example, if your PowerPivot workbook contains a data connection to a SQL Server instance that is linked to yet another SQL Server instance on a separate computer, you will need to configure Kerberos authentication with identity delegation for data refresh to work. For example, if MySQLCluster is linked to another remote SQL Server instance, then the link from MySQLCluster to the linked remote server is the second hop. In this case, NTLM is no longer adequate. You must configure Kerberos delegation for the data refresh to process successfully.

Diagram of authentication flow

While they are outside the scope of the scenarios defined in this paper, the major steps to configure identity delegation for PowerPivot are as follows:

  1. Change the service account of the C2WTS Windows service to a domain account (e.g. VMLAB\svcC2WTS). Configuring the C2WTS is a large topic and is covered in detail in the other scenarios in this document:

    • Configure and Start the Claims to Windows Token Service on Excel Services Servers

    • Configure and Start the Claims to Windows Token Service on Visio Graphics Servers

    • Configure and Start the Claims to Windows Token Service on PerformancePoint Services Servers

  2. Configure delegation from the VMLAB\svcSQL account to the SPN for the linked SQL Server instance Configuration Checklist.

Area of configuration | Description
PowerPivot installation | Install SQL Server PowerPivot for SharePoint on the application server

Scenario dependencies

Strictly speaking, the following Kerberos authentication scenarios are not required by PowerPivot for SharePoint. However it expedites your PowerPivot for SharePoint installation process if you successfully completed them, as the components themselves are prerequisites for PowerPivot for SharePoint.

  • Scenario 1: Core Configuration

  • Scenario 2: Kerberos Authentication for SQL OLTP

  • (Optional) Scenario 3: Kerberos Authentication for SQL Analysis Services

  • Scenario 5: Identity Delegation for Excel Services

Configuration instructions

Install PowerPivot for SharePoint on the application server (vmsp10app01). For detailed instructions, see How to: Install PowerPivot for SharePoint in a Three-tier SharePoint Farm in the MSDN Library online. If you have already performed the dependent scenarios in this paper, you can skip the sections in the MSDN article that have already been covered by the scenario dependencies.

Important:

The application pool for the SQL Server PowerPivot Service Application must be run using the domain account of the SharePoint Server farm administrator. In no other user context can the PowerPivot System Service retrieve the unattended account credentials from the Secure Store Service.


Identity delegation for Visio Services (SharePoint Server 2010)

Published: December 2, 2010

Summary: In this scenario, you add a Visio Services service application to the SharePoint Server environment and configure Kerberos constrained delegation to allow the service to refresh data from an external SQL Server data source in a Visio Web drawing.

Note:

If you are installing on Windows Server 2008, you may have to install the following hotfix for Kerberos authentication:

A Kerberos authentication fails together with the error code 0X80090302 or 0x8009030f on a computer that is running Windows Server 2008 or Windows Vista when the AES algorithm is used (http://support.microsoft.com/kb/969083)

Scenario dependencies

To complete this scenario you will need to have completed:

  • Scenario 1: Core Configuration

  • Scenario 2: Kerberos authentication for SQL OLTP

Configuration checklist

Area of Configuration | Description
Active Directory Configuration | Create Visio Services service account Configure SPN on Visio Services service account Configure Kerberos constrained delegation for servers running Visio Services Configure Kerberos constrained delegation for the Visio Services service account
SharePoint Server configuration | Start Claims to Windows Token Service on Visio Services Servers Grant the Visio Services service account permissions on the web application content database Start the Visio Services service instance on the Visio Services server Create the Visio Services service application and proxy
Verify Visio Services Constrained Delegation | Configure the Visio services cache settings Create document library to host test Visio Diagram Create a test Visio web drawing with SQL Server data connected shapes Publish the Visio drawing to SharePoint Server and refresh data connection

Scenario environment details

Kerberos constrained delegation paths

Diagram of delegation path

In this scenario, we will configure the SharePoint Server Visio Services application servers and service accounts for Kerberos constrained delegation to the SQL Server service.

SharePoint Server logical authentication

Diagram of authentication flow

Authentication in this scenario begins with the client authenticating with Kerberos authentication at the web front end. SharePoint Server 2010 will convert the Windows authentication token into a claims token using the local Security Token Service (STS). The Visio service application will accept the claims token and convert it into a Windows token (Kerberos) using the local Claims to Windows Token Service (C2WTS) that is a part of Windows Identity Foundation (WIF). The Visio service application will then use the client's Kerberos ticket to authenticate with the backend data source.

Step-by-step configuration instructions

Active Directory configuration

Create Visio Services service account

As a best practice, Visio Services should run under its own domain identity. To configure the Excel Service Application, an Active Directory account must be created. In this example, the following accounts were created:

SharePoint Server service | IIS App Pool Identity
Visio Services | vmlab\svcVisio

Create Visio Services service account

Configure SPN on Visio Services service account

Kerberos constrained delegation must be configured if Visio Services is going to delegate the client's Windows identity to back end data source. In this example Visio services will query data from a SQL Server transactional database as the client therefor Kerberos delegation is required.

The Active Directory Users and Computers MMC snap-in is typically used to configure Kerberos delegation. To configure the delegation settings within the snap-in, the Active Directory object being configured must have a service principal name applied; otherwise the delegation tab for the object will not be visible in the object's properties dialog. Although Visio Services does not require a SPN to function, we will configure one for this purpose.

On the command line, run the following command:

SETSPN -S SP/VisioServices svc\VisioServices

Note:

The SPN is not a valid SPN. It is applied to the specified service account to reveal the delegation options in the AD users and computers add-in. There are other supported ways of specifying the delegation settings (specifically the msDS-AllowedToDelegateTo AD attribute) but this topic will not be covered in this document.

Configure Kerberos constrained delegation for Visio Services

To allow Visio Services to delegate the client's identity Kerberos constrained delegation must be configured. It is required to configure constrained delegation with protocol transition for the conversion of claims token to windows token via the WIF C2WTS.

Each server running Visio services must be trusted to delegate credentials to each back-end service Visio will authenticate with. In additional, the Visio services service account must also be configured to allow delegation to the same back-end services.

In our example the following delegation paths are defined:

Principal Type | Principal Name | Delegates To Service
User | Vmlab\svcVisio | MSSQLSVC/MySqlCluster.vmlab.local:1433
*User | Vmlab\svcC2WTS | MSSQLSVC/MySqlCluster.vmlab.local:1433
**Computer | Vmlab\vmsp10app01 | MSSQLSVC/MySqlCluster.vmlab.local:1433

* Configured later in this scenario

** Optional. Constrained delegation on the computer account is only required when running the C2WTS as Local System

To configure constrained delegation

  1. Open the Active Directory Object's properties in Active Directory Users and Computers.

  2. Navigate to the Delegation tab.

  3. Select Trust this user for delegation to specified services only.

  4. Select Use any authentication protocol. This enables protocol transition and is required for the Visio service account to use the C2WTS.

  5. Click the add button to select the service principal allowed to delegate to.

  6. Select User and Computers.

  7. Select the service account running the service you wish to delegate to. In this example it is the service account for the SQL Server service.

    Note:

    the service account selected must have a SPN applied to it. In our example the SPN for this account was configured in a previous scenario.

  8. Click OK. You will then be asked to select the SPNs you would like to delegate to.

  9. Select the services for the SQL Server cluster and click OK.

  10. You should now see the selected SPNS in the services to which this account can presented delegated credentials list.

  11. Repeat these steps for each delegation path (Computer and User) defined in the beginning of this section.

Verify MSSQLSVC SPN for the Service Account running the service on the SQL Server (performed in Scenario 2)

Verify the SPN for Analysis Services service account (vmlab\svcSQL) exists with the following SetSPN command:

SetSPN -L vmlab\svcSQL

You should see the following:

MSSQLSVC/MySqlCluster
MSSQLSVC/MySqlCluster.vmlab.local:1433

SharePoint Server configuration

Configure and Start the Claims to Windows Token Service on Visio Graphics Servers

The Claims to Windows Token Service (C2WTS) is a component of the Windows Identity Foundation (WIF) which is responsible for converting user claim tokens to windows tokens. The Visio graphics service uses the C2WTS to convert the user's claims token into a windows token when the services needs to delegate credentials to a back-end system which uses Windows authentication. WIF is deployed with SharePoint Server 2010 and the C2WTS can be started from Central Administration.

Each Visio Graphics Service application server must run the C2WTS locally. The C2WTS does not open any ports and cannot be accessed by a remote caller. Further, the C2WTS service configuration file must be configured to specifically trust the local calling client identity.

As a best practice you should run the C2WTS using a dedicated service account and not as Local System (the default configuration). The C2WTS service account requires special local permissions on each server the service runs on so be sure to configure these permissions each time the service is started on a server. Optimally you should configure the service account's permissions on the local server before starting the C2WTS, but if done after the fact you can restart the C2WTS from the Windows services management console (services.msc).

To start the C2WTS

  1. Create a service account in Active Directory to run the service under. In this example we created vmlab\svcC2WTS.

  2. Add an arbitrary Service Principal Name (SPN) to the service account to expose the delegation options for this account in Active Directory Users and Computers. The SPN can be any format because we do not authenticate to the C2WTS using Kerberos authentication. It is recommended to not use an HTTP SPN to avoid potentially creating duplicate SPNs in your environment. In our example we registered SP/C2WTS to the vmlab\svcC2WTS using the following command:

    SetSPN -S SP/C2WTS vmlab\svcC2WTS

  3. Configure Kerberos constrained delegation on the C2WTS services account. In this scenario we will delegate credentials to the SQL Server service running with the MSSQLSVC/MySqlCluster.vmlab.local:1433 service principal name.

  4. Configure the required local server permissions that the C2WTS requires. You will need to configure these permissions on each server the C2WTS runs on. In our example, this is VMSP10APP01. Log on to the server and give the C2WTS the following permissions:

    1. Add the service account to the local Administrators Groups.

    2. In local security policy (secpol.msc) under user rights assignment give the service account the following permissions:

      1. Act as part of the operating system

      2. Impersonate a client after authentication

      3. Log on as a service

  5. Open Central Administration.

  6. In Security, in the Configure Managed Service Accounts section, register the C2WTS service account as a managed account.

  7. Under services, select Manage services on server.

  8. In the server selection box in the upper right corner, select the server(s) that is or are running the Visio Graphics Service. In this example it is VMSP10APP01.

  9. Find the Claims to Windows Token Service and start it.

  10. Go to Manage Service Accounts in the Security section. Change the identity of the C2WTS to the new managed account.

    Note:

    If the C2WTS was already running before configuring the dedicated service account, or if you need to changes the permissions of the service account after the C2WTS is running you must restart the C2WTS from the services console.

In addition, if you experience issues with the C2WTS after restarting the service it may also be necessary to reset the IIS application pools that communicate with the C2WTS.

Add Startup dependencies the WIF C2WTS service

There is a known issue with the C2WTS where it may not automatically start up successfully on system reboot. A workaround to the issue is to configure a service dependency on the Cryptographic Services service:

  1. Open a Command Prompt window.

  2. Type: sc config "c2wts" depend= CryptSvc

  3. Find the Claims to Windows Token Service in the services console.

  4. Open the properties for the service.

  5. Check the Dependencies tab. Make sure Cryptographic Services is listed:

  6. Click OK.

Grant the Visio Services service account permissions on the web application content database

A required step in configuring SharePoint Server 2010 Office Web Applications is allowing the web application's service account access to the content databases for a given web application. In this example, we will grant the Visio Graphics Service account access to the portal web application's content database by using Windows PowerShell.

Run the following command from the SharePoint 2010 Management Shell:

$w = Get-SPWebApplication -Identity http://portal

$w.GrantAccessToProcessIdentity("vmlab\svcVisio")

Start the Visio Graphics Service instance on the Visio server

Before creating a Visio Services service application, start the Visio services server service on the designated Farm servers.

  1. Open Central Administration.

  2. Under services, select Manage services on server.

  3. In the server selection box in the upper right hand corner select the server(s) running Visio Services. In this example it is VMSP10APP01.

  4. Start the Visio Graphics Service.

Create the Visio Graphics Service application and proxy

Next, configure a new Visio Services service application and application proxy to allow Web applications to consume Visio Services (if one does not already exist):

  1. Open Central Administration.

  2. Select Manage Service Applications under Application Management.

  3. Select New, and then select Visio Graphics Service.

  4. Configure the new service application. Be sure to select the correct service account (create a new managed account if the Visio service account is not in the list).

Verify Visio Graphic Service Constrained Delegation

Configure the Visio services cache settings

By default, the Visio Graphics service will cache the web drawings it renders for web clients for a number of minutes based on the service's cache settings. To test delegation we will configure the service to not cache drawings to easily check data refresh in a Visio web drawing.

Note:

Disabling the rendering cache is not recommended for production environments. Remember to re-enable the cache once you have completed testing delegation in Visio

  1. Open Central Administration.

  2. Select Manage Service Applications under Application Management.

  3. Select the Visio Graphics Service application created in the previous step.

  4. Select Global Settings.

  5. In the Minimum Cache Age setting, set the cache to 0 (no cache).

    Note:

    Setting the minimum cache age to 0 is for testing purposes only and should not be used in a production environment.

Create document library to host a test Visio Web Drawing

Navigate to the portal application (http://portal). Create a new document library to host a test Visio workbook.

Create a test Visio web drawing with SQL Server data-connected shapes

  1. Start Visio 2010.

  2. Create a new Basic Diagram in the General section under Home.

  3. On the Data Ribbon Tab, select Link Data to Shapes.

  4. In the data selector dialog box, select Microsoft SQL Server database.

  5. Specify the SQL Server cluster created in Scenario 2 and select Windows Authentication.

  6. Select the Test database and the Sales Table.

  7. Specify a friendly name for the connection and save the connection to the document library created in the previous step.

  8. In the Data Selector dialog, select the newly created connection and press Finish.

    You should now see the external data window at the bottom of the drawing window with the sample data that was created earlier.

  9. Drag the first data row onto the drawing surface. This will create a new shape that is linked to the data row. Note that the test drawing is meant to test delegation and is not meant to demonstrate how to create a fully functioning, production ready web drawing.

Publish the Visio drawing to SharePoint Server and refresh the data connection

  1. Publish the drawing to the test SharePoint document library. On the File tab click Save and Send, Save to SharePoint, Browse for a location, and then Web Drawing.

  2. Browse to the test document library, specify a name for the test drawing, and then click Save.

    The drawing opens in the browser.

  3. In the refresh disabled notification, select Enable (always).

  4. The data connection should automatically refresh and no errors should occur.

  5. Open SQL Server Management Studio and modify the data row displayed in the web drawing.

  6. Refresh the data connection by pressing the Refresh button at the top of the drawing window. If delegation is configured correctly you should see your data refresh.


Identity delegation for PerformancePoint Services (SharePoint Server 2010)

Published: December 2, 2010

In this scenario, you will add the PerformancePoint Services service application to the SharePoint Server environment and configure Kerberos constrained delegation to allow the service to pull data from an external Analysis Services cube and have the option to pull data from SQL Server.

Note:

If you are installing on Windows Server 2008, you may need to install the following hotfix for Kerberos authentication:

A Kerberos authentication fails together with the error code 0X80090302 or 0x8009030f on a computer that is running Windows Server 2008 or Windows Vista when the AES algorithm is used (http://support.microsoft.com/kb/969083)

Scenario dependencies

To complete this scenario you will need to have completed:

  • Scenario 1: Core Configuration

  • Scenario 2: Kerberos Authentication for SQL OLTP (optional)

  • Scenario 3: Kerberos Authentication for SQL Server Analysis Services

Configuration checklist

Area of configuration Description

Active Directory configuration

Create PerformancePoint Services service account

Create an SPN for the service account running the PerformancePoint Service on the Application Server

Verify Analysis Services SPN on SQL Server Analysis Services service account, vmlab\svcSQLAS (performed in Scenario 3)

and

(Optional) verify the SQL Server database engine service account, vmlab\svcSQL(performed in Scenario 2).

Configure Kerberos constrained delegation for Claims to Windows Token Services service account to Analysis Services

Configure Kerberos constrained delegation for the PerformancePoint

Services service account to Analysis Services

SharePoint Server configuration

Start Claims to Windows Token Service on PerformancePoint Services Servers

Start the PerformancePoint Services service instance on the PerformancePoint Services server

Create the PerformancePoint Services service application and proxy

Check the identity on PerformancePoint application

Grant the PerformancePoint Services service account permissions on the web application content database

Configure PerformancePoint services trusted file location and authentication settings

Verify PerformancePoint Service constrained delegation

Create document library to host a test dashboard

Create a data source that reference an existing SQL Server Analysis Services cube

Create a trusted PerformancePoint content list

Create test PerformancePoint dashboard

Publish dashboard to SharePoint Server

Scenario environment details

Kerberos constrained delegation paths

Diagram of authentication process

In this scenario we will configure the PerformancePoint Services service account for Kerberos constrained delegation to the SQL Server service.

SharePoint Server logical authentication

Diagram of authentication flow

Authentication in this scenario begins with the client authenticating with Kerberos authentication at the web front end. SharePoint Server 2010 will convert the Windows authentication token into a claims token using the local Security Token Service (STS). The PerformancePoint service application will accept the claims token and convert it into a Windows token (Kerberos) using the local Claims to Windows Token Service (C2WTS) that is a part of Windows Identity Framework (WIF). The PerformancePoint service application will then use the client's Kerberos ticket to authenticate with the backend DataSource.

Step-by-step Configuration instructions

Active Directory configuration

Create PerformancePoint Services service account

As a best practice PerformancePoint Services should run under its own domain identity. To configure the PerformancePoint Service Application, an Active Directory account must be created and registered as a managed account in SharePoint Server 2010. For more information see Managed Accounts in SharePoint 2010. In this example the following account is created and registered later in this scenario:

SharePoint Server service | IIS App Pool Identity
PerformancePoint Services | vmlab\svcPPS
Note:

You can optionally reuse a single domain account for multiple services. This configuration is not covered in the following sections.

Create an SPN for the Service Account running the PerformancePoint Service on the Application Server

The Active Directory Users and Computers MMC snap-in is typically used to configure Kerberos delegation. To configure the delegation settings within the snap-in, the Active Directory object being configured must have a service principal name applied; otherwise the delegation tab for the object will not be visible in the object's properties dialog. Although PerformancePoint Services does not require a SPN to function, we will configure one for this purpose. Note that if the service account already has an SPN applied (in the case of sharing accounts across services) this step is not required.

On the command line, run the following command:

Copy Code
SETSPN -S SP/PPS vmlab\svcPPS
Note:

The SPN is not a valid SPN. It is applied to the specified service account to reveal the delegation options in the AD users and computers add-in. There are other supported ways of specifying the delegation settings (specifically the msDS-AllowedToDelegateTo AD attribute) but this topic will not be covered in this document.

Verify Analysis Services SPN on SQL Server Analysis Services service account, vmlab\svcSQLAS (performed in Scenario 3) AND (Optional) Verify the SQL Server database engine service account, vmlab\svcSQL (performed in Scenario 2)

Verify that the SPN for the SQL Server Analysis Services account (vmlab\svcSQLAS) exists with the following SetSPN command:

Copy Code
SetSPN -L vmlab\svcSQLAS

You should see the following:

MSOLAPSvc.3/MySqlCluster

Verify the SPN for the SQL Server service account (vmlab\svcSQL) exists with the following SetSPN command:

Copy Code
SetSPN -L vmlab\svcSQL

You should see the following:

MSSQLSVC/MySqlCluster

Configure Kerberos constrained delegation from the PerformancePoint Services Service account to the SSAS Service and optionally for SQL Server service

To allow PerformancePoint services to delegate the client's identity, Kerberos constrained delegation must be configured. You must also configure constrained delegation with protocol transition for the conversion of claims token to Windows token via the WIF C2WTS.

Each server running PerformancePoint services must be trusted to delegate credentials to each back-end service with which PerformancePoint will authenticate. In addition, the PerformancePoint services service account must also be configured to allow delegation to the same back-end services. Notice also that HTTP/Portal and HTTP/Portal.vmlab.local are configured to delegate in order to include a SharePoint list as an optional data source for your PerformancePoint dashboard.

In our example the following delegation paths are defined:

Principal Type | Principal Name
User | Vmlab\svcC2WTS
User | Vmlab\svcPPS

To configure constrained delegation

  1. Open the Active Directory Object's properties in Active Directory Users and Computers.

  2. Navigate to the Delegation tab.

  3. Select Trust this user for delegation to specified services only.

    Note:

    Constrained delegation on computer account, VMSP10APP01, is optional and only required when you are running the C2WTS as Local System. If you configure the computer account, select Trust this computer for delegation to specified services only.

  4. Select Use any authentication protocol.

  5. Click the add button to select the service principal.

  6. Select User and Computers.

  7. Select the service account running the service you wish to delegate to (SQL Server, SQL Server Analysis Services, or both).

    Note:

    The service account selected must have an SPN applied to it. In our example, the SPN for this account was configured in a previous scenario. See Kerberos authentication for SQL OLTP (SharePoint Server 2010) and Kerberos authentication for SQL Server Analysis Services (SharePoint Server 2010).

  8. Click OK.

  9. Select the SPNs you would like to delegate to, and then click OK.

  10. You should now see the selected SPNS in the services to which this account can presented delegated credentials list.

  11. Repeat these steps for each delegation path defined in the beginning of this section.

SharePoint Server configuration

Configure and Start the Claims to Windows Token Service on PerformancePoint Services Servers

The Claims to Windows Token Service (C2WTS) is a component of the Windows Identity Foundation (WIF) which is responsible for converting user claim tokens to Windows tokens. Performance Point services uses the C2WTS to convert the user's claims token into a windows token when the services needs to delegate credentials to a back-end system which uses Windows authentication. WIF is deployed with SharePoint Server 2010 and the C2WTS can be started from Central Administration.

Each PerformancePoint Services Application server must run the C2WTS locally. The C2WTS does not open any ports and cannot be accessed by a remote caller. Further, the C2WTS service configuration file must be configured to specifically trust the local calling client identity.

As a recommended practice you should run the C2WTS using a dedicated service account and not as Local System (the default configuration). The C2WTS service account requires special local permissions on each server that the service runs on. Be sure to configure these permissions when you choose to run the C2WTS with a domain account. To ensure the C2WTS account picks up the needed privileges, reboot the server after you have configured the C2WTS.

Note:

If you choose to configure the C2WTS as Local System, you do not need to configure any additional local privileges.

To start the C2WTS

  1. Create a service account in Active Directory to run the service under. In this example we created vmlab\svcC2WTS.

  2. Add an arbitrary Service Principal Name (SPN) to the service account to expose the delegation options for this account in Active Directory Users and Computers. The SPN can be any format because we do not authenticate to the C2WTS using Kerberos authentication. It is recommended to not use an HTTP SPN to avoid potentially creating duplicate SPNs in your environment. In our example we registered SP/C2WTS to the vmlab\svcC2WTS using the following command:

    Copy Code
    SetSPN -S SP/C2WTS vmlab\svcC2WTS

  3. Configure Kerberos constrained delegation on the C2WTS services account. In this scenario we delegate credentials to the SQL Server service that is running with the MSOLAPsvc.3/MySqlCluster.vmlab.local service principal name.

  4. Next, configure the required local server permissions the C2WTS requires. You have to configure these permissions on each server the C2WTS runs on. In our example this is VMSP10APP01. Log onto the server and give the C2WTS the following permissions:

    1. Add the service account to the local Administrators Groups.

    2. In local security policy (secpol.msc) under user rights assignment give the service account the following permissions:

      1. Act as part of the operating system

      2. Impersonate a client after authentication

      3. Log on as a service

  5. Open Central Administration.

  6. In the Security section, under Configure Managed Service Accounts, register the C2WTS service account as a managed account.

  7. Under services, select Manage services on server.

  8. In the server selection box in the upper right hand corner select the server(s) running PerformancePoint services. In this example it is VMSP10APP01.

  9. Find the Claims to Windows Token Service and start it.

  10. Go to Manage Service Accounts in the Security section. Change the identity of the C2WTS to the new managed account.

    Note:

    If the C2WTS was already running before configuring the dedicated service account, or if you need to changes the permissions of the service account after the C2WTS is running you must restart the C2WTS from the services console.

    In addition, if you experience issues with the C2WTS after restarting the service it may also be required to reset the IIS application pools that communicate with the C2WTS.

Add startup dependencies to the WIF C2WTS service

There is a known issue with the C2WTS where it may not automatically startup successfully on system reboot. A workaround to the issue is to configure a service dependency on the Cryptographic Services service:

  1. Open the command-prompt window.

  2. Type: sc config c2wts depend= CryptSvc

  3. Find the Claims to Windows Token Service in the services console.

  4. Open the properties for the service.

  5. Check the Dependencies tab. Make sure Cryptographic Services is listed:

  6. Click OK.

  7. Reboot the server. Make sure that the C2WTS has started once the computer reboots.

Start the PerformancePoint Services service instance on the PerformancePoint Services server

Before creating a PerformancePoint Services service application, start the PerformancePoint services serve service on the designated Farm servers. To learn more about PerformancePoint Services configuration, see PerformancePoint Services administration (SharePoint Server 2010).

  1. Open Central Administration.

  2. Under services, select Manage services on server.

  3. In the server selection box in the upper right hand corner select the server(s) running PerformancePoint services. In this example it is VMSP10APP01.

  4. Start the PerformancePoint Service service.

Create the PerformancePoint Services service application and proxy

Next configure a new PerformancePoint Services service application and application proxy to allow web applications to consume PerformancePoint Services:

  1. Open Central Administration.

  2. Select Manage Service Applications under Application Management.

  3. Select New, and then click PerformancePoint Services Application.

  4. Configure the new service application. Be sure to select the correct service account or create a new managed account if you did not perform this step previously.

Note:

Configuring the Unattended Services Account is optional in this scenario and only used if you want to also test NTLM authentication.

You can create and register a new service account for an existing application pool dedicated for PerformancePoint Services before this step or when you create the new PerformancePoint Service. To associate the service account with an existing application pool dedicated to PerformancePoint or verify an existing account, do the following.

  1. Navigate to SharePoint Central Administration. Find Configure managed accounts in the Security section.

  2. Select the drop-down box and select the application pool.

  3. Select the Active Directory account.

Grant the PerformancePoint Services service account permissions on the web application content database

A required step in configuring SharePoint Server 2010 Office Web Applications is allowing the web application's service account access to the content databases for a given web application. In this example, we will grant the PerformancePoint Services account access to the "portal" web application's content database by using Windows PowerShell.

Run the following command from the SharePoint 2010 Management Shell:

$w = Get-SPWebApplication -Identity http://portal

$w.GrantAccessToProcessIdentity("vmlab\svcPPS")

Configure PerformancePoint services trusted file location and authentication settings

Once the PerformancePoint Services application is created, you must configure the properties on the new service application to specify a trusted host location and authentication settings.

  1. Open Central Administration.

  2. Select Manage Service Applications under Application Management.

  3. Click the link for the new Service Application, PerformancePoint Services and click the Manage button in the ribbon.

  4. In the PerformancePoint services management screen, click Trusted Data Source Locations.

  5. Select the Only specific locations option and click Add Trusted Data Source Location.

  6. Type the URL of the location, select the Site Collection (and subtree) option, and then click OK.

  7. Select the Only specific locations option and click Add Trusted Data Source Location.

  8. Type the URL of the location, select the Site (and subtree) option, and then click OK.

Verify PerformancePoint Service Constrained Delegation

Note:

In larger environments with multiple Active Directory servers, you may need to wait for Active Directory replication to finish before you verify your configuration.

Create test PerformancePoint dashboard with a SQL Server AS data connection

Next, open PerformancePoint Dashboard Designer and create an Analysis Services data connection.

  1. Open PerformancePoint Dashboard Designer and right-click data source to create a connection.

  2. Select Analysis Services.

  3. Specify the server, database, and cube and select Per-user Identity.

  4. Click Test Data Source to test the connection.

  5. Create a report and dashboard.

  6. Make sure you have a data connection by dragging measures and dimensions from the details pain into the report designer.

  7. Your report can be included in the dashboard.

    Select Reports and then drag My Report onto the Dashboard Content page.

Publish the dashboard to SharePoint Server

The last step to validate the PerformancePoint Services application is to publish the dashboard and test refreshing and viewing the Analysis Services data. To do this:

  1. Select the bright file button icon.

  2. Click Deploy in the file selection.

  3. Select a Master Page to which you want to publish.

  4. Click the refresh button in your browser.

    If the data connection refreshes, you have successfully configured Kerberos delegation for PerformancePoint Services.


Identity delegation for Business Connectivity Services (SharePoint Server 2010)

Published: December 2, 2010

In this scenario you configure the Business Data Connectivity service application to use Kerberos constrained delegation to authenticate with SQL Server. Once it is configured, you create a new external content type and external list to test authentication and read operations within a SharePoint site.

In this scenario, the SharePoint Server Farm and BCS data source are both in the same domain. Therefore, we configure Kerberos constrained delegation to allow identity delegation to the back-end data source. If you are required to authenticate with data sources in other domains within the same forest, you have to configure basic (unconstrained) Kerberos delegation. Remember that BCS does not leverage the C2WTS; therefore you can use basic delegation.

Note:

If you are installing on Windows Server 2008, you may have to install the following hotfix for Kerberos authentication:

A Kerberos authentication fails together with the error code 0X80090302 or 0x8009030f on a computer that is running Windows Server 2008 or Windows Vista when the AES algorithm is used (http://support.microsoft.com/kb/969083)

Scenario dependencies

To complete this scenario you have to have completed the following:

  • Scenario 1: Core Configuration

  • Scenario 2: Kerberos Authentication for SQL OLTP

Configuration checklist

Area of configuration | Description
Active Directory configuration | Create BCS Application Service Account Validate Service Principal Names Configure Delegation
SharePoint Server configuration | Start the BCS Service Instance Create the BCS Service Application
Verification | Create a BCS External Content Type Configure BCS Security Create a BCS External List Open the external list in the browser

Scenario Environment Details

Diagram of authentication process Diagram of delegation process

Step-by-step configuration instructions

Active Directory configuration

Create BCS Application Service Account

As a best practice Business Connectivity Services should run under its own domain identity. To configure the BCS Application an Active Directory account must be created. In this example the following accounts were created:

SharePoint Server service | IIS App Pool Identity
Business Connectivity Service | vmlab\svcBDC

Validate Service Principal Names

BCS external content types run within the context of the IIS application pool using the ECT type when BCS data is used in SharePoint sites. For BCS to connect and authenticate with external data sources using Kerberos authentication the IIS application pool service account and the service account for the external data source must have service principal names configured. Refer to scenarios 1 & 2 in this document to configure and validate the necessary SPNS on the web applications and SQL Server service accounts.

Configure delegation

To allow BCS to delegate the client's identity Kerberos delegation must be configured. Although constrained delegation is technically not required like Excel Services, unconstrained delegation can be used for BCS, it is a best practice to limit the scope of delegation the service is allowed to perform therefore constrained delegation will be configured in this example.

Each IIS application pool service account hosting the site running the ECT must be configured to allow delegation to the back-end services.

In our example the following delegation paths are needed:

Principal Type | Principal Name | Delegates To Service
User | svcPortal10App | MSSQLSVC/MySqlCluster.vmlab.local:1433
User | svcTeams10App | MSSQLSVC/MySqlCluster.vmlab.local:1433

To configure constrained delegation

  1. Open the Active Directory Object's properties in Active Directory Users and Computers.

  2. Navigate to the Delegation tab.

    SP2010 Kerberos Guide228.gif

  3. Select Trust this user for delegation to specified services only.

    Note:

    If you need BCS to authenticate with data sources within the same forest but outside of the domain that SharePoint Server resides in you will want to select Trust this computer for delegation to any service to configure basic delegation instead of constrained delegation. The BCS external content type will execute in the web application's IIS worker process and does not leverage the C2WTS. Remember that cross forest Kerberos delegation is not possible.

  4. Click the Add button to select the service principal allowed to delegate to.

  5. Select User and Computers.

  6. Select the service account running the service you wish to delegate to. In this example it is the service account for the SQL Server service.

    Note:

    The service account selected must have a SPN applied to it. In our example the SPN for this account was configured in a previous scenario.

  7. Click OK.

  8. Select the SPNs you would like to delegate, and then click OK.

  9. Select the services for the SQL Server cluster and click OK.

    You should now see the selected SPNS in the services to which this account can presented delegated credentials list.

  10. Repeat these steps for each delegation path identified earlier in this section.

Verify MSSQLSVC SPN for the Service Account running the service on the SQL Server (performed in Scenario 2)

Verify the SPN for Analysis Services service account (vmlab\svcSQL) exists with the following SetSPN command:

Copy Code
SetSPN -L vmlab\svcSQL

You should see the following:

MSSQLSVC/MySqlCluster

MSSQLSVC/MySqlCluster.vmlab.local:1433

SharePoint Server configuration

Start the BCS service instance

Before creating a BCS service application, start the BCS service on the designated farm servers.

  1. Open Central Administration.

  2. Under Services, select Manage services on server.

  3. In the Server Selection box in the upper-right corner, select the server(s) running Excel Services. In this example, it is VMSP10APP01.

  4. Start the Business Data Connectivity Service service.

Create the BCS service application

Next, configure a new BDC service application and application proxy to allow web applications to consume BDC services:

  1. Open Central Administration.

  2. Select Manage Service Applications under Application Management.

  3. Select New then Business Data Connectivity Service.

  4. Configure the new service application. Be sure to select the correct service account (create a new managed account if the BDC service account is not in the list).

Verification

Create a BCS external content type

To access external data through BDC a BDC eternal content type must be created. In this example we will use SharePoint Designer 2010 to create the external content type in the Portal web application (http://portal):

  1. Open SharePoint Designer 2010.

  2. Open the test site collection at http://portal.

  3. On the left hand navigation, click External Content Types.

  4. Select External Content Type in the New section of the ribbon in the upper left hand corner of the page.

  5. Give the External Content Type a display name.

  6. Then select Click here to discover external data sources and define operations.

  7. Click Add Connection.

  8. Select SQL Server from the Data Source Type dropdown list and add the information to connect to the test database. Be sure to select Connect with the User's Identity to test delegation.

  9. Expand the new connection. Right-click the test table (Sales) and select Create All Operations.

  10. You should see an error explaining there isn't a unique identifier defined. Select the identifier column and select the Map to Identifier check box. Click Finish to accept the default options and create the ECT operations.

  11. Click Save (CTRL+S). This will publish the ECT to the BDC service application metadata store.

Configure BCS security

Before clients can use the BCS external content type in the portal web application BCS permissions must be configured. BCS supports a granular permission model but for the purposes of this demo we will configure secure at the Metadata store level and propagate the security changes to all objects in the store.

  1. Open Central Administration.

  2. Select Manage Service Applications under Application Management.

  3. Click the link for the new Service Application, Business Data Services in this example.

  4. Select Set Metadata Store Permissions.

  5. In our example, we configured Enterprise Admins with all permissions and All Authenticated Users with all permissions except the Set Permissions permission.

  6. Ensure the Propagate permissions check box is selected and click OK to save your changes.

Create a BCS External List

To test the external content type we will configure an external list to display the external data in the portal application:

  1. Open SharePoint Designer 2010.

  2. Open the test site collection at http://portal.

  3. Select External Content Types on the left side.

  4. Click the content type that you created earlier.

  5. In the ribbon, click Create Lists & Form.

  6. If you are prompted to save the external content type, click Yes.

  7. On the Create List and Form dialog box, type a list name in the List Name text box, and then click OK.

Open the external list in the browser

  1. Open SharePoint Designer 2010.

  2. Open the test site collection at http://portal.

  3. Click "Lists and Libraries" in the left hand navigation.

  4. Select the external list at the bottom of the List and Libraries list.

  5. Click the Preview in Browser button.

    Internet Explorer will open and display the selected site and external list.

  6. Validate the external data is displayed correctly. To further validate the connection, change the source data in SQL Server Management Studio and refresh the browser page. You should see the data changes reflected in the browser.


Kerberos configuration known issues (SharePoint Server 2010)

Published: February 28, 2012

Kerberos authentication and non-default ports

There is a known issue where some Kerberos clients (.NET Framework, Internet Explorer 7 and 8 included) do not correctly form service principal names when attempting to authenticate with Kerberos enabled web applications that are configured on non-default ports (ports other than 80 and 443). The root of the problem is the client does not properly form the SPN in the TGS request by specifying it without the port number (as seen in the Sname of the TGS request).

Example:

If the web application is running at http://intranet.contoso.com:1234, the client will request a ticket for a service with a SPN equal to http/intranet.contoso.com instead of http/intranet.contoso.com:1234.

Details regarding the issue can be found in the following articles:

  • Internet Explorer 6 cannot use the Kerberos authentication protocol to connect to a Web site that uses a non-standard port in Windows XP and in Windows Server 2003 (http://support.microsoft.com/kb/908209/en-us)

  • Configure Kerberos authentication (Office SharePoint Server 2007) (http://go.microsoft.com/fwlink/p/?LinkId=196987)

To work around this issue, register SPNs with and without port number. Example:

  • http://intranet.contoso.com:12345

  • http/intranet

  • http/intranet.contoso.com

  • http/intranet:12345

  • http/intranet.contoso.com:12345

We recommend that you register the non-default port to ensure that if the issue is resolved in some future service pack or hot fix, the applications using the workaround will still continue to function.

Note that this workaround will not work if the following conditions are true:

  • There is more than one web application running on a non-default port

  • The web applications either bind to the host name of the server or bind to the same host header (on different ports)

  • The web application IIS application pools use different service accounts

  • http://server.contoso.com:5000 AppPool Id: contoso\svcA

  • http://server.contoso.com:5001 AppPool Id: contoso\svcB

If these conditions are true, following the recommendation in this workaround will yield duplicate SPNs registered to different service accounts which will break Kerberos authentication.

If you have multiple web sites sharing a common host name running on multiple ports, and you use different IIS application pool identities for the web applications, then you cannot use Kerberos authentication on all web sites. (One application can use Kerberos, the rest will require another authentication protocol.) To use Kerberos on all applications in this scenario, you would need to either:

  1. Run all web applications under 1 shared service account

  2. Run each site with its own host header

Kerberos authentication and DNS CNAMEs

There is a known issue with some Kerberos clients (Internet Explorer 7 and 8 included) that attempt to authenticate with Kerberos enabled services that are configured to resolve using DNS CNAMEs instead of A Records. The root of the problem is the client does not correctly form the SPN in the TGS request by creating it using the host name (A Record) instead of the alias name (CNAME).

Example:

A Record: wfe01.contoso.com

CNAME: intranet.contoso.com (aliases wfe01.contoso.com)

If the client attempts to authenticate with http://intranet.contoso.com, the client does not correctly form the SPN and requests a Kerberos ticket for http/wfe01.contoso.com instead of http/intranet.contoso.com

Details regarding the issue can be found in the following articles:

http://support.microsoft.com/kb/911149/en-us

http://support.microsoft.com/kb/938305/en-us

To work around this issue, configure Kerberos enabled services using DNS A records instead of CNAME aliases. The hotfix mentioned in KB article will correct this issue for Internet Explorer but will not correct the issue for the .NET framework (which is used by Microsoft Office SharePoint Server for web service communication).

Kerberos authentication and Kernel Mode Authentication

Note:

Kernel Mode Authentication is not supported in SharePoint 2010 Products. This information is provided for informational purposes only.

Beginning in IIS version 7.0, there is a new authentication feature called Kernel Mode Authentication. When an IIS web site is configured to use Kernel Mode authentication, HTTP.sys will authenticate the client's requests instead of the application pool's worker process. Because HTTP.sys runs in kernel mode this yields better performance but also introduces a bit of complexity when configuring Kerberos. This is due to HTTP.sys running under the computer's identity and not under the identity of the worker process. When HTTP.sys receives a Kerberos ticket, by default it will attempt to decrypt the ticket using the server's encryption key (aka secret) and not the key for the identity the worker process is running under.

If a single web server is configured to use Kernel Mode authentication, Kerberos will work without any additional configuration or additional SPNs because the server will automatically register a HOST SPN when it is added to the domain. If multiple web servers are load balanced, the default Kernel Mode Authentication configuration will not work, or at least will intermittently fail, because the client has no way of ensuring the service ticket they received in the TGS request will work with the server authenticating the request.

To work around this issue you can do the following:

  • Turn off Kernel Mode Authentication

  • Configure HTTP.sys to use the IIS application pool's identity when decrypting service tickets. See Internet Information Services (IIS) 7.0 Kernel Mode Authentication Settings.

    You may also need a hotfix when configuring HTTP.sys to use the application pool's credentials: FIX: You receive a Stop 0x0000007e error message on a blue screen when the AppPoolCredentials attribute is set to true and you use a domain account as the application pool identity in IIS 7.0

Kerberos authentication and session-based authentication

You may notice increased authentication traffic when using Kerberos authentication with IIS 7.0 and greater. This may be related to Windows authentication settings in IIS, in particular:

AuthPersistNonNTLM

Optional Boolean attribute.

Specifies whether IIS automatically re-authenticates every non-NTLM (for example, Kerberos) request, even those on the same connection. False enables multiple authentications for the same connections.

The default is False.

Note:

A setting of True means that the client will be authenticated only once on the same connection. IIS will cache a token or ticket on the server for a TCP session that stays established.

authPersistSingleRequest

Optional Boolean attribute.

Setting this flag to True specifies that authentication persists only for a single request on a connection. IIS resets the authentication at the end of each request, and forces re-authentication on the next request of the session.

The default value is False.

For instructions on how to configure authentication persistence in IIS 7.0, see You may experience slow performance when you use Integrated Windows authentication together with the Kerberos authentication protocol in IIS 7.0 and Implementing Access Control.

Kerberos authentication and duplicate/missing SPN issues

When configuring Kerberos authentication, it is easy to accidentally configure duplicate service principal names, especially if you use SetSPN -A or the ADSI Edit (adsiedit.msc) tool to create your SPNs. The general recommendation is to use SetSPN -S to create SPNs because the -S switch will check for a duplicate SPN before creating the specified SPN.

If you suspect you have duplicate SPNs in your environment, use the SetSPN -X command to query for all duplicate SPNs in your environment (Windows 2008 or greater only). If any SPNs are returned you should investigate why the SPNs have been registered and delete any SPNs that are duplicates and are not needed. If you have two services running with two different identities and both use the same SPN (duplicate SPN issue) you need to reconfigure one of those services to either use a different SPN or share a common service identity.

If you suspect a SPN has not been registered, or not registered in a format required, you can use the SetSPN -Q <insert SPN> to query for the existence of a particular SPN.

Kerberos Max Token Size

In some environments, users may be members of many Active Directory groups, which can increase the size of their Kerberos tickets. If the tickets grow too large, Kerberos authentication can fail. For more information about how to adjust the max token size, see New resolution for problems with Kerberos authentication when users belong to many groups (http://support.microsoft.com/kb/327825).

Note:

When adjusting maximum token size, be aware that if you configure the maximum token size beyond the maximum value for the registry setting, you may see Kerberos authentication errors. We recommend to not exceed 65535 decimal, FFFF hexadecimal, for maximum token size.

Kerberos authentication hotfixes for Windows Server 2008 and Windows Vista

A Kerberos authentication fails together with the error code 0X80090302 or 0x8009030f on a computer that is running Windows Server 2008 or Windows Vista when the AES algorithm is used (http://support.microsoft.com/kb/969083).

You may need to install a hotfix for Kerberos authentication on all computers that are running Windows Server 2008 or Windows Vista in your environment. This includes all computers that are running SharePoint Server 2010, SQL Server, or Windows Server 2008 that SharePoint Server attempts to authenticate with by using Kerberos authentication. Follow the instructions in the support page to apply the hotfix if you experience the symptoms documented in the support case.


How to reset the Claims to Windows Token Service account (SharePoint Server 2010)

Published: December 2, 2010

Scenario: The Claims to Windows Token Service account is changed unintentionally or otherwise needs to be reset back to default.

Solution

The Claims to Windows Token Service cannot be reset to the Local System account by using Central Administration. The following Windows PowerShell cmdlets can be used to reset the Claims to Windows Token Service back to Local System.

Launch the SharePoint Management Shell from the computer that is running SharePoint Server.

Run the following cmdlet to view a list of services.

Copy Code
Get-SPServiceInstance

Find and copy the Id of the Claims To Windows Token Service. Right-click in the Windows PowerShell window and choose Mark. This will allow you to select and copy the Id with your mouse cursor. After highlighting the Id, press ENTER on your keyboard.

Test your Id by running the following cmdlet.

Copy Code
Get-SPServiceInstance -identity <Paste the C2WTS Id>

Right-click in the PowerShell window and paste the Id you copied earlier.

Next, set a variable by running this cmdlet:

Copy Code
$claims = get-spserviceinstance -identity <Paste the C2WTS Id>

Run these cmdlets to reset the C2WTS back to Local System:

Copy Code
$claims.Service.ProcessIdentity.CurrentIdentityType=0
// The 0 in the preceding line is IdentityType.LocalSystem
$claims.Service.ProcessIdentity.Update()
$claims.Service.ProcessIdentity.Deploy()
$claims.Service.ProcessIdentity
// This output demonstrates that the cmdlet was successful
CurrentIdentityType : LocalSystem
CurrentSecurityIdentifier : S-1-5-18
ManagedAccount :
ProcessAccount : S-1-5-18
Username : NT AUTHORITY\SYSTEM


Create a Balanced Scorecard by using Dashboard Designer
See Also

Published: December 6, 2011

PerformancePoint Services in Microsoft SharePoint Server 2010 enables you to create and use powerful dashboards. This includes a Balanced Scorecard.

A Balanced Scorecard provides a high-level view of organizational performance at a glance. In PerformancePoint Services, a Balanced Scorecard consists of a dashboard page that contains a scorecard and a corresponding strategy map. The scorecard and the strategy map show performance information for key performance indicators (KPIs) across four main areas or perspectives:

  • Financial perspective KPIs for productivity, revenue, growth, usage, and overall shareholder value.

  • Customer perspective KPIs for customer acquisition, customer satisfaction rates, market share, and brand strength.

  • Internal perspective KPIs for resource usage, inventory turnover rates, order fulfillment, and quality control.

  • Learning and growth perspective KPIs for employee retention, employee satisfaction, and employee training and development.

An example Balanced Scorecard might resemble the following image:

Simple example of a Balanced Scorecard

This example was created by using PerformancePoint Services. The articles in this section describe how to create a similar Balanced Scorecard that you can use in your organization.

How to create a Balanced Scorecard

To create a Balanced Scorecard by using PerformancePoint Services, you typically use the following process:

  1. Identify the KPIs that you want to use. Make a list of those KPIs and the data sources that you must have to create them. For the example Balanced Scorecard, we use a SQL Server Analysis Services cube, a table that is stored in SQL Server, and several fixed values that we enter manually to create the KPIs.

  2. Create a scorecard that includes KPIs across the financial, customer, internal, and learning and growth perspectives. To create a scorecard that resembles the example, see Create a scorecard for a Balanced Scorecard by using Dashboard Designer.

  3. Create a strategy map that uses a Microsoft Visio diagram to represent the four perspectives described earlier in this article. To create a strategy map that resembles the example, see Create and configure a strategy map as part of a Balanced Scorecard that you create by using Dashboard Designer.

  4. Add the scorecard and strategy map to a dashboard page, and publish it to SharePoint Server 2010. For more information, see Assemble and publish a Balanced Scorecard by using Dashboard Designer.

Before you begin, make sure that you open PerformancePoint Dashboard Designer.

How to open Dashboard Designer

You can open Dashboard Designer by using the Business Intelligence Center.

To install and open Dashboard Designer

  1. Open the Business Intelligence Center site in a Web browser.

    Tip:

    The Web site address (URL) to the Business Intelligence Center typically takes the form http://<ServerName>/sites/BICenter. If you do not know the location of the Business Intelligence Center site, contact a SharePoint administrator.

  2. In the Business Intelligence Center, click a section — for example, Monitor Key Performance, Build and Share Reports, or Create Dashboards.

    More information about each area is displayed in the center pane.

  3. In the center of the page, click a Start using PerformancePoint Services link.

    The PerformancePoint site template opens.

  4. Click Run Dashboard Designer.

After you have opened Dashboard Designer at least one time, you can open it from the Start menu on your computer. To do that, click Start, and then click All Programs. Locate SharePoint, and then click PerformancePoint Dashboard Designer. Alternatively, you can continue to open Dashboard Designer from the Business Intelligence Center.

Important:

Before you begin to create items by using Dashboard Designer, make sure that you have at least Design permissions assigned to you in SharePoint Server. Also make sure that you have at least Read permissions to the data sources that you want to use for the Balanced Scorecard. For more information, contact a SharePoint administrator.

See Also

Concepts

Plan, design, and implement a PerformancePoint dashboard
Business intelligence scenarios and solutions


Create a scorecard for a Balanced Scorecard by using Dashboard Designer
See Also

Published: December 6, 2011

A Balanced Scorecard includes a scorecard and a corresponding strategy map to display performance across four main organizational perspectives: financial perspective, customer perspective, internal perspective, and learning and growth perspective.

This article describes how to create and configure an example PerformancePoint scorecard to use as part of a Balanced Scorecard. The scorecard described in this article resembles the following image:

Example corporate scorecard

Note:

For the example scorecard, we use a combination of fixed values and sample data from the Microsoft Contoso BI Demo Dataset for Retail Industry. To download and install this dataset, go to the Microsoft Download Center (http://go.microsoft.com/fwlink/p/?LinkId=219170).

When you create a scorecard to use as part of a Balanced Scorecard, you typically use the following process:

  1. Define KPIs for a Balanced Scorecard

  2. Create and configure PerformancePoint data connections

  3. Create and configure KPIs

  4. Create and assemble a scorecard

Tip:

The KPIs that are described in this article are for informational purposes only to show how you can use PerformancePoint Services to create lots of KPIs that use different data sources and calculations. The KPIs that you use for your organization will likely vary from the examples that we describe in this article. For more information about Balanced Scorecards, see What is the Balanced Scorecard? (http://go.microsoft.com/fwlink/p/?LinkId=237539).

Define KPIs for a Balanced Scorecard

You can organize the KPIs in a Balanced Scorecard into four perspectives: financial, customer, internal, and learning and growth.

The following table describes the KPIs that we use in the example scorecard.

KPI Description Data source

Financial perspective

Financial Perspective KPIs show performance for metrics such as revenue, growth, productivity, and other metrics related to increasing shareholder value.

In the example scorecard, the Financial Perspective KPI shows overall performance for the Increase Shareholder Value, Productivity, and Growth KPIs.

None

This KPI is an objective KPI that shows information based on the KPIs that are nested underneath it.

Increase Shareholder Value

The Increase Shareholder Value KPI shows overall performance for the Productivity and Growth KPIs.

None

This KPI is an objective KPI that shows information based on the KPIs that are nested underneath it.

Productivity

The Productivity KPI shows performance as measured by calculating the cost of sales as a percentage of total sales.

Sales data

This KPI uses data in the Sales cube of the ContosoRetailDW database.

Growth

The Growth KPI shows performance as measured by growth in sales for the current year compared to growth in sales for the previous year.

Sales data

This KPI uses data in the Sales cube of the ContosoRetailDW database. This KPI can also use Time Intelligence functionality to show information for a particular period of time.

Customer perspective

Customer perspective KPIs show performance for metrics such as customer satisfaction, customer retention, brand strength, and market share.

In the example scorecard, the customer perspective KPI shows overall performance for the Customer Satisfaction and Market Share KPIs.

None

This KPI is an objective KPI that shows information based on the KPIs that are nested underneath it.

Customer Satisfaction

The Customer Satisfaction KPI shows performance as measured by overall customer satisfaction.

External data that is manually entered

This KPI uses fixed values that we specify.

Market Share

The Market Share KPI shows performance as measured by current market share.

External data that is manually entered

This KPI uses fixed values that we specify.

Internal perspective

Internal KPIs show performance for metrics such as operations management, order fulfillment, and quality control.

In the example scorecard, the Internal perspective KPI shows overall performance for the Inventory Turnover and Resource Usage KPIs.

None

This KPI is an objective KPI that shows information based on the KPIs that are nested underneath it.

Inventory Turnover

The Inventory Turnover KPI shows performance as measured by calculating the number of inventory cycles that occurred during the past year.

Sales and Inventory data

This KPI uses data in the Sales cube and in the Inventory fact table in the ContosoRetailDW database. This KPI also uses Calculated Metrics and Time Intelligence functionality

Resource Usage

The Resource Usage KPI shows performance as measured by the percentage of time sales representatives are engaged in selling activities.

External data that is manually entered

This KPI uses fixed values that we specify.

Order Fulfillment

The Order Fulfillment KPI shows performance as measured by dividing current inventory by units sold and comparing that value to a target value.

External data that is manually entered

This KPI uses fixed values that we specify.

Learning and growth perspective

Learning and growth perspective KPIs show performance for metrics such as employee satisfaction, employee retention, and employee training and development.

In the example scorecard, the Learning and growth perspective KPI shows overall performance for the Employee Satisfaction and Training and Development KPIs.

None

This KPI is an objective KPI that shows information based on the KPIs that are nested underneath it.

Employee Satisfaction

The Employee Satisfaction KPI shows performance as measured by overall employee satisfaction.

External data that is manually entered

This KPI uses fixed values that we specify.

Training and Development

The Training and Development KPI shows performance as measured by the percentage of employees who have completed mandatory and recommended training programs.

External data that is manually entered

This KPI uses fixed values that we specify.

After defining the KPIs to use for the scorecard, the next step is to create the PerformancePoint data connections that are needed for some of those KPIs.

Important:

Before you begin to perform the tasks that are described in this article, verify that the following prerequisites are met:

  • You have at least Design permissions assigned to you in SharePoint Server.

  • You have at least Read permissions assigned in the SQL Server databases that are used for the scorecard.

  • Dashboard users have at least Read permissions assigned in SharePoint Server and in the SQL Server databases that are used.

For more information, see Authorization and permissions in PerformancePoint Services (SharePoint Server 2010).

Create and configure PerformancePoint data connections

This section describes how to create PerformancePoint data connections to data sources that are used for some of the example KPIs. Often, organizations will use different data sources, such as tables that are stored in Excel Services and SQL Server, cubes that are stored in SQL Server Analysis Services, and fixed values that dashboard authors enter manually.

Important:

The procedures in this section assume that PerformancePoint Services is configured by using the Unattended Service Account. If your organization is using another security model, the steps that you follow to create a connection to a data source might vary. For more information, see Create data connections (PerformancePoint Services) and Configure PerformancePoint Services.

First, create a connection to an Analysis Services data cube. The following procedure describes how to create a connection to the Sales cube in the ContosoRetailDW database.

To create a data connection to the Sales cube in the ContosoRetailDW database in Analysis Services

  1. In the Workspace Browser, click Data Connections.

  2. On the Create tab, click Data Source.

    The Select a Data Source Template dialog box appears.

  3. In the Category pane, select All, in the Template pane, click Analysis Services, and then click OK.

    A new data source opens for editing in the center pane.

  4. In the center pane, on the Editor tab, do the following:

    1. In the Connection Settings section, specify the name of the server where the Analysis Services data is stored.

      The Database list is populated.

    2. In the Database list, select ContosoRetailDW.

      The Cube list is populated.

    3. In the Cube list, select ContosoRetailDW.

    4. Click Test Data Source.

      A Test Connection dialog box appears to confirm that you have successfully created the data connection.

    5. After you have tested the connection, close the Test Connection dialog box.

  5. In the center pane, click the Time tab, and then perform the steps in the following list to configure the data connection to work with Time Intelligence. Doing this configuration enables you to add a Time Intelligence filter to at least one KPI as described later in this article. For more information about Time Intelligence, see PerformancePoint Time Intelligence quick reference.

    1. In the Reference Data Mapping section, in the Time Dimension list, select Date.Calendar YQMD.

      This is a calendar-year time dimension that contains year, quarter, month, and day hierarchies.

    2. In the Reference Member section, in the Choose a date to begin the year for the selected time dimension box, type 2007-01-01.

      This value corresponds to the first day of the first year of data in the cube.

    3. In the Hierarchy level list, select Day.

      This enables you to use Time Intelligence formulas to display information at the day level.

    4. In the Reference Date section, type 1/1/2007.

    5. In the Time Member Associations section, use the lists in the Time Aggregation column to specify the settings that are listed in the following table:

      Member Level Time Aggregation

      Calendar Year

      Year

      Calendar Quarter

      Quarter

      Calendar Month

      Month

      Date

      Day

      This helps align the dimension members with the correct hierarchies in the time dimension.

  6. In the center pane, click the Properties tab, and then specify the following settings:

    • In the Name box, type a name such as Contoso Retail Sales for the data connection.

    • Optionally, in the Description box, type a description for the data source.

    • Optionally, next to the Display Folder box, click the Browse button, and then specify or create a display folder for the data source.

  7. In the Workspace Browser, right-click the data source, and then click Save.

The next step is to create a data connection to a table that is stored in SQL Server. This is a second data source that you will use for at least one KPI later in this article.

To create a data connection to the Inventory fact table in SQL Server

  1. In the Workspace Browser, click Data Connections.

  2. On the Create tab, click Data Source.

    The Select a Data Source Template dialog box appears.

  3. In the Category pane, select All, in the Template pane, click SQL Server Table, and then click OK.

    A new data source opens for editing in the center pane.

  4. In the center pane, on the Editor tab, do the following:

    1. In the Connection Settings section, specify the name of the server where the data is stored.

      The Database list is populated.

    2. In the Database list, select the ContosoRetailDW.

      The Table list is populated.

    3. In the Table list, select dbo.FactInventory.

    4. Click Test Data Source.

      A Test Connection dialog box appears to confirm that you have successfully created the data connection.

    5. Test the connection, and then close the Test Connection dialog box.

  5. In the center pane, click the Properties tab, and then specify the following settings:

    • In the Name box, type a name such as Contoso Inventory for the data connection.

    • Optionally, inn the Description box, type a description for the data source.

    • Optionally, next to the Display Folder box, click the Browse button, and then specify or create a display folder for the data source.

  6. In the Workspace Browser, right-click the data source, and then click Save.

After creating and configuring the data sources, the next step is to create KPIs.

Create and configure KPIs

This section describes how to create KPIs that resemble those that are used in the example scorecard and that are organized into the following four perspectives:

  • Financial KPIs

  • Customer KPIs

  • Internal KPIs

  • Learning and Growth KPIs

Note:

In this article, we describe how to create lots of KPIs. Some KPIs use different data sources, Calculated Metrics, and Time Intelligence, whereas other KPIs use fixed values. PerformancePoint Services enables you to easily create simple or sophisticated KPIs that use the same or different data sources. You can create the KPIs that we describe in this article, or you can create other KPIs to use in a scorecard.

Financial KPIs

In this section, we describe how to create the following four example KPIs:

  • Financial Perspective

  • Increase Shareholder Value

  • Productivity

  • Growth

We begin by creating the Financial Perspective KPI. This KPI is an objective KPI that does not require a data source or specified target and actual values.

To create the Financial Perspective KPI

  1. In Dashboard Designer, in the Workspace Browser, click PerformancePoint Content.

  2. On the Create tab, click KPI.

  3. In the Select a KPI Template dialog box, click Objective, and then click OK.

    The KPI opens for editing with the Editor tab open in the center pane.

  4. In the center pane, click the Properties tab, and then specify the following settings:

    • In the Name box, type Financial Perspective.

    • Optionally, in the Description box, type a description for the KPI.

    • Optionally, in the Person Responsible box, type the name of the person who is responsible for overall financial performance.

    • Optionally, next to the Display Folder box, click the Browse button, and then specify or create a display folder for the KPI.

  5. In the Workspace Browser, right-click the Financial Perspective KPI, and then click Save.

The next step is to create the Increase Shareholder Value KPI. Because this KPI is also an objective KPI, we can create a copy of the Financial Perspective KPI, and then change its name and other details.

To create the Increase Shareholder Value KPI

  1. In the Workspace Browser, right-click the Financial Perspective KPI, and then click Copy.

  2. In the Workspace Browser, point to a folder such as PerformancePoint Content or point to a display folder in the PerformancePoint Content section, right-click to open a shortcut menu, and then click Paste.

    A copy of the Financial Perspective KPI opens for editing, with the Editor tab open in the center pane.

  3. In the center pane, click the Properties tab, and then specify the following settings:

    • In the Name box, type Increase Shareholder Value.

    • Optionally, in the Description box, type a description for the KPI.

    • Optionally, in the Person Responsible box, type the name of the person who is responsible for managing shareholder value.

    • Optionally, next to the Display Folder box, click the Browse button, and then specify or create a display folder for the KPI.

  4. In the Workspace Browser, right-click the Increase Shareholder Value KPI, and then click Save.

After you have created two objective KPIs for the Financial Perspective, the next step is to create the Productivity KPI.

In the following example, we measure productivity by calculating expense (cost of sales) as a percentage of revenue (total sales). We create a KPI that uses Calculated Metrics by using the Sales cube in the ContosoRetailDW sample database.

To create the Productivity KPI

  1. On the Create tab, click KPI.

    The Select a KPI Template dialog box appears.

  2. Click Blank KPI, and then click OK.

    The new KPI opens for editing with the Editor tab open in the center pane.

  3. Configure the Actual value for this KPI by following these steps:

    1. In the Actual row, in the Data Mappings column, click the blue hypertext that says 1 (Fixed values).

      The Fixed Values Data Source Mapping dialog box appears.

    2. Click the Change Source button to open the Select a Data Source dialog box.

    3. Select the Calculated Metric tab, in the Templates section, click Blank Calculation, and then click OK.

      The Calculated Metrics Data Source Mapping dialog box appears.

    4. In the Name box, select the text that says Value1, and type SalesCost.

    5. In the Source column for the SalesCost row, click the blue hypertext that says 1 (Fixed Values).

      The Fixed Values Data Source Mapping dialog box appears.

    6. Click Change Source to open the Select a Data Source dialog box.

    7. Select the Contoso Retail Sales data source, and then click OK.

      The Dimensional Data Source Mapping dialog box appears.

    8. In the Select a measure list, select Sales Total Cost, and then click OK to close the Dimensional Data Source Mapping dialog box and return to the Calculated Metrics Data Source Mapping dialog box.

    9. In the Calculated Metrics Data Source Mapping dialog box, in the Name box, select the text that says Value2, and then type TotalSales.

    10. In the Source column for the TotalSales row, click the blue hypertext that says 1 (Fixed Values).

      The Fixed Values Data Source Mapping dialog box appears.

    11. Click Change Source to open the Select a Data Source dialog box.

    12. Select the Contoso Retail Sales data source, and then click OK.

      The Dimensional Data Source Mapping dialog box appears.

    13. In the Select a measure list, select Sales Amount, and then click OK to close the Dimensional Data Source Mapping dialog box and return to the Calculated Metrics Data Source Mapping dialog box.

    14. In the Calculated Metrics Data Source Mapping dialog box, in the Formula box, type the formula SalesCost/TotalSales, and then click OK.

  4. Configure the Target value for this KPI by following these steps:

    1. In the Target row, in the Data Mappings column, click the blue hypertext that says 1 (Fixed values).

      The Fixed Values Data Source Mapping dialog box appears.

    2. In the Value box, type .35.

      This is a fixed value that represents 35%, a threshold for cost of sales. In this example, good performance means the cost of sales is less than 35% of the total sales.

    3. Click OK to close the Fixed Values Data Source Mapping dialog box.

  5. In the Actual row, in the Number column, click the blue hypertext that says (Default) to open the Format Numbers dialog box.

  6. In the Format list, select Percentage, and then click OK.

  7. Repeat steps 5 and 6 for the Target row.

  8. In the Thresholds section, click Set Scoring Pattern and Indicator to open the Edit Banding Settings dialog box.

  9. In the Scoring pattern list, select Decreasing is Better, and then click Next.

  10. On the Select an Indicator page, click Next.

  11. On the Specify the worst value page, type 1, and then click Finish.

    This corresponds to 100%, which would mean that in a worst-case scenario, the cost of sales would equal the total sales.

  12. In the center pane, click the Properties tab, and then specify the following settings:

    • In the Name box, type Productivity.

    • Optionally, in the Description box, type a description for the KPI.

    • Optionally, in the Person Responsible box, type the name of the person who is responsible for productivity.

    • Optionally, next to the Display Folder box, click the Browse button, and then specify or create a display folder for the KPI.

  13. In the Workspace Browser, right-click the Productivity KPI, and then click Save.

After creating the Productivity KPI, the next step is to create and configure the Growth KPI. In this example, growth is measured by comparing growth in sales for the current year to growth in sales for the previous year. The Growth KPI uses Time Intelligence functionality.

To create the Growth KPI

  1. On the Create tab, click KPI.

    The Select a KPI Template dialog box appears.

  2. Click Blank KPI, and then click OK.

    The new KPI opens for editing with the Editor tab open in the center pane.

  3. Configure the Actual value for the KPI by following these steps:

    1. In the Actual row, in the Data Mappings column, click the blue hypertext that says 1 (Fixed Values).

    2. In the Fixed Values Data Source Mapping dialog box, click Change Source.

    3. Select the Contoso Retail Sales data source, and then click OK.

      The Dimensional Data Source Mapping dialog box appears.

    4. In the Select a measure list, select Sales Amount Growth (Calendar Year).

    5. In the Select a dimension section, click New Time Intelligence Filter.

    6. In the Time Formula Editor dialog box, in the Time Formula pane, type Year-3, and then click OK.

      Note:

      Use Year-3 here because the Contoso Retail Sales database contains data for the calendar years 2007, 2008, and 2009 only. This Year-3 value causes the scorecard to display information as of 2009 when the actual calendar year is 2012.

  4. Configure the Target value for the KPI by following these steps:

    1. In the Target row, in the Data Mappings column, click the blue hypertext that says 1 (Fixed Values).

    2. In the Fixed Values Data Source Mapping dialog box, click Change Source.

    3. Select the Contoso Retail Sales data source, and then click OK.

      The Dimensional Data Source Mapping dialog box appears.

    4. In the Select a measure list, select Sales Amount Growth (Calendar Year).

    5. In the Select a dimension section, click New Time Intelligence Filter.

    6. In the Time Formula Editor dialog box, in the Time Formula pane, type Year-4, and then click OK.

      Note:

      Use Year-4 here because the Contoso Retail Sales database contains data for the calendar years 2007, 2008, and 2009 only. The Year-4 value causes the scorecard to display information as of 2008 when the actual calendar year is 2012.

    7. Click OK to close the Dimensional Data Source Mapping dialog box.

  5. In the center pane, click the Properties tab, and then specify the following settings:

    • In the Name box, type Growth.

    • Optionally, in the Description box, type a description for the KPI.

    • Optionally, in the Person Responsible box, type the name of the person who is responsible for sales growth.

    • Optionally, next to the Display Folder box, click the Browse button, and then specify or create a display folder for the KPI.

  6. In the Workspace Browser, right-click the Growth KPI, and then click Save.

After creating the KPIs for the Financial Perspective, the next step is to create KPIs for the Customer Perspective.

Customer KPIs

This section describes how to create the following three KPIs:

  • Customer Perspective

  • Customer Satisfaction

  • Market Share

Begin by creating the Customer Perspective KPI. Because this is an objective KPI that resembles the Financial Perspective KPI, you can create a copy of the Financial Perspective KPI, and then change its name and other details.

To create the Customer Perspective KPI

  1. In the Workspace Browser, right-click the Financial Perspective KPI, and then click Copy.

  2. In the Workspace Browser, point to a folder such as PerformancePoint Content (or to a display folder in the PerformancePoint Content section), right-click to open a shortcut menu, and then click Paste.

    A copy of the Financial Perspective KPI opens for editing, with the Editor tab open in the center pane.

  3. In the center pane, click the Properties tab, and then specify the following settings:

    • In the Name box, type Customer Perspective.

    • Optionally, in the Description box, type a description for the KPI.

    • Optionally, in the Person Responsible box, type the name of the person who is responsible for maintaining a healthy customer perspective.

    • Optionally, next to the Display Folder box, click the Browse button, and then specify or create a display folder for the KPI.

  4. In the Workspace Browser, right-click the Customer Perspective KPI, and then click Save.

The next step is to create the Customer Satisfaction KPI. Different organizations measure customer satisfaction in different ways, often using complex formulas that are outside the scope of the Balanced Scorecard. For this KPI, assume that customer satisfaction data comes from a third-party application, and use fixed values to configure the Customer Satisfaction KPI.

To create the Customer Satisfaction KPI

  1. On the Create tab, click KPI.

    The Select a KPI Template dialog box appears.

  2. Click Blank KPI, and then click OK.

    The new KPI opens for editing with the Editor tab open in the center pane.

  3. Configure the Actual value for the KPI by following these steps:

    1. In the Actual row, in the Data Mappings column, click the blue hypertext that says 1 (Fixed Values).

    2. In the Fixed Values Data Source Mapping dialog box, in the Value box, type 8.1, and then click OK.

  4. Configure the Target value for the KPI by following these steps:

    1. In the Target row, in the Data Mappings column, click the blue hypertext that says 1 (Fixed Values).

    2. In the Fixed Values Data Source Mapping dialog box, in the Value box, type 7.5, and then click OK.

  5. In the center pane, click the Properties tab, and then specify the following settings:

    • In the Name box, type Customer Satisfaction.

    • Optionally, in the Description box, type a description for the KPI.

    • Optionally, in the Person Responsible box, type the name of the person who is responsible for guaranteeing customer satisfaction.

    • Optionally, next to the Display Folder box, click the Browse button, and then specify or create a display folder for the KPI.

  6. In the Workspace Browser, right-click the Customer Satisfaction KPI, and then click Save.

After creating a Customer Satisfaction KPI, the next step is to create the Market Share KPI. Similar to the Customer Satisfaction KPI, assume that the data for this KPI comes from a third-party application, and use fixed values to configure the Market Share KPI.

To create the Market Share KPI

  1. On the Create tab, click KPI.

    The Select a KPI Template dialog box appears.

  2. Click Blank KPI, and then click OK.

    The new KPI opens for editing with the Editor tab open in the center pane.

  3. Configure the Actual value for the KPI by following these steps:

    1. In the Actual row, in the Data Mappings column, click the blue hypertext that says 1 (Fixed Values).

    2. In the Fixed Values Data Source Mapping dialog box, in the Value box, type .05, and then click OK.

    3. In the Actual row, in the Number Format column, click the blue hypertext that says (Default) to open the Format Numbers dialog box.

    4. In the Format list, select Percentage, and then click OK.

  4. Configure the Target value for the KPI by following these steps:

    1. In the Target row, in the Data Mappings column, click the blue hypertext that says 1 (Fixed Values).

    2. In the Fixed Values Data Source Mapping dialog box, in the Value box, type .10, and then click OK.

    3. In the Target row, in the Number Format column, click the blue hypertext that says (Default) to open the Format Numbers dialog box.

    4. In the Format list, select Percentage, and then click OK.

  5. In the center pane, click the Properties tab, and then specify the following settings:

    • In the Name box, type Market Share.

    • Optionally, in the Description box, type a description for the KPI.

    • Optionally, in the Person Responsible box, type the name of the person who is responsible for increasing market share.

    • Optionally, next to the Display Folder box, click the Browse button, and then specify or create a display folder for the KPI.

  6. In the Workspace Browser, right-click the Market Share KPI, and then click Save.

After creating KPIs for the Customer perspective, the next step is to create KPIs for the Internal perspective.

Internal KPIs

This section describes how to create the following four KPIs:

  • Internal Perspective

  • Inventory Turnover

  • Resource Usage

  • Order Fulfillment

Begin by creating the Internal Perspective objective KPI. This KPI does not require a data source or specific actual and target values.

To create the Internal Perspective KPI

  1. In Dashboard Designer, in the Workspace Browser, click PerformancePoint Content.

  2. On the Create tab, click KPI.

  3. In the Select a KPI Template dialog box, click Objective, and then click OK.

    The KPI opens for editing with the Editor tab open in the center pane.

  4. In the center pane, click the Properties tab, and then specify the following settings:

    • In the Name box, type Internal Perspective.

    • Optionally, in the Description box, type a description for the KPI.

    • Optionally, in the Person Responsible box, type the name of the person who is responsible for overall financial performance.

    • Optionally, next to the Display Folder box, click the Browse button, and then specify or create a display folder for the KPI.

  5. In the Workspace Browser, right-click the Internal Perspective KPI, and then click Save.

After creating the Internal Perspective KPI, the next step is to create the Inventory Turnover KPI. Inventory turnover is typically calculated by dividing the total cost of goods sold by the average dollar value of inventory available. To create the Inventory Turnover KPI, this example uses Calculated Metrics by using two data sources and Time Intelligence for the Actual value, and a fixed value for the Target value.

To create the Inventory Turnover KPI

  1. On the Create tab, click KPI.

  2. In the Select a KPI Template dialog box, click Blank KPI, and then click OK.

    The KPI opens for editing with the Editor tab open in the center pane.

  3. Configure the Actual value for this KPI by following these steps:

    1. In the Actual row, in the Data Mappings column, click the blue hypertext that says 1 (Fixed values).

      The Fixed Values Data Source Mapping dialog box appears.

    2. Click the Change Source button to open the Select a Data Source dialog box.

    3. Select the Calculated Metric tab, in the Templates section, click Blank Calculation, and then click OK.

      The Calculated Metrics Data Source Mapping dialog box appears.

    4. In the Name box, select the text that says Value1, and then type CostOfSales.

    5. In the Source column for the CostOfSales row, click the blue hypertext that says 1 (Fixed Values).

      The Fixed Values Data Source Mapping dialog box appears.

    6. Click Change Source to open the Select a Data Source dialog box.

    7. Select the Contoso Retail Sales data source, and then click OK.

      The Dimensional Data Source Mapping dialog box appears.

    8. In the Select a measure list, select Sales Unit Cost.

    9. In the Select a dimension section, click New Time Intelligence Filter.

      The Time Formula Editor dialog box appears.

    10. In the Time formula pane, type Year-3:Year-4.

      Note:

      Use Year-3:Year-4 here because the Contoso Retail Sales database contains data for the calendar years 2007, 2008, and 2009 only. This formula causes the scorecard to display information for the range of time from 2008 to 2009 when the actual calendar year is 2012.

    11. Click OK to close the Time Formula Editor dialog box, and then click OK to close the Dimensional Data Source Mapping dialog box and return to the Calculated Metrics Data Source Mapping dialog box.

    12. In the Calculated Metrics Data Source Mapping dialog box, in the Name box, select the text that says Value2, and type Inventory.

    13. In the Source column for the Inventory row, click the blue hypertext that says 1 (Fixed Values).

      The Fixed Values Data Source Mapping dialog box appears.

    14. Click Change Source to open the Select a Data Source dialog box.

    15. Select the Contoso Inventory data source that was created earlier, and then click OK.

      The Dimensional Data Source Mapping dialog box appears.

    16. In the Select a measure list, select OnHandQuantity, and then click OK to close the Dimensional Data Source Mapping dialog box and return to the Calculated Metrics Data Source Mapping dialog box.

    17. In the Calculated Metrics Data Source Mapping dialog box, in the Formula box, type the formula CostOfSales/Inventory, and then click OK.

    18. In the Number column, click the blue hypertext that says (Default) to open the Format Numbers dialog box.

    19. In the Format list, select Number, and then click OK.

  4. Configure the Target value for this KPI by following these steps:

    1. In the Target row, in the Data Mappings column, click the blue hypertext that says 1 (Fixed values).

      The Fixed Values Data Source Mapping dialog box appears.

    2. In the Value box, type 30.

      This is a fixed value that will represent 30 inventory cycles, a threshold for inventory turnover. In this example, good performance means the company has had an inventory turnover of at least 30 inventory cycles over a one-year period.

    3. Click OK to close the Fixed Values Data Source Mapping dialog box.

    4. In the Number column, click the blue hypertext that says (Default) to open the Format Numbers dialog box.

    5. In the Format list, select Number, and then click OK.

  5. In the center pane, click the Properties tab, and then specify the following settings:

    • In the Name box, type Inventory Turnover.

    • Optionally, in the Description box, type a description for the KPI.

    • Optionally, in the Person Responsible box, type the name of the person who is responsible for managing inventory turnover.

    • Optionally, next to the Display Folder box, click the Browse button, and then specify or create a display folder for the KPI.

  6. In the Workspace Browser, right-click the Inventory Turnover KPI, and then click Save.

After creating the Inventory Turnover KPI, the next step is to create the Resource Usage KPI. Resource usage is typically calculated as a percentage of the time resources are used. In the example scorecard, resource usage is calculated as a percentage of sales representatives' time that is spent generating sales. For this example, assume that the data for this KPI comes from a third-party application and use fixed values to configure this KPI.

To create the Resource Usage KPI

  1. On the Create tab, click KPI.

  2. In the Select a KPI Template dialog box, click Blank KPI, and then click OK.

    The KPI opens for editing with the Editor tab open in the center pane.

  3. Configure the Actual value for the KPI by following these steps:

    1. In the Actual row, in the Data Mappings column, click the blue hypertext that says 1 (Fixed Values).

    2. In the Fixed Values Data Source Mapping dialog box, in the Value box, type .73, and then click OK.

    3. In the Actual row, in the Number column, click the blue hypertext that says (Default) to open the Format Numbers dialog box.

    4. In the Format list, select Percentage, and then click OK.

  4. Configure the Target value for the KPI by following these steps:

    1. In the Target row, in the Data Mappings column, click the blue hypertext that says 1 (Fixed Values).

    2. In the Fixed Values Data Source Mapping dialog box, in the Value box, type .75, and then click OK.

    3. In the Target row, in the Number column, click the blue hypertext that says (Default) to open the Format Numbers dialog box.

    4. In the Format list, select Percentage, and then click OK.

  5. In the center pane, click the Properties tab, and then specify the following settings:

    • In the Name box, type Resource Usage.

    • Optionally, in the Description box, type a description for the KPI.

    • Optionally, in the Person Responsible box, type the name of the person who is responsible for maintaining sufficient resource usage.

    • Optionally, next to the Display Folder box, click the Browse button, and then specify or create a display folder for the KPI.

  6. In the Workspace Browser, right-click the Resource Usage KPI, and then click Save.

After creating the Resource Usage KPI, the next step is to create the Order Fulfillment KPI. Order fulfillment is typically calculated as a percentage of what merchandise is available at the time orders are made. In our example scorecard, order fulfillment is calculated by dividing units in inventory by units sold. For this example, assume that the data for this KPI comes from a third-party application and use fixed values to configure this KPI.

To create the Order Fulfillment KPI

  1. On the Create tab, click KPI.

  2. In the Select a KPI Template dialog box, click Blank KPI, and then click OK.

    The KPI opens for editing with the Editor tab open in the center pane.

  3. Configure the Actual value for the KPI by following these steps:

    1. In the Actual row, in the Data Mappings column, click the blue hypertext that says 1 (Fixed Values).

    2. In the Fixed Values Data Source Mapping dialog box, in the Value box, type .81, and then click OK.

    3. In the Actual row, in the Number column, click the blue hypertext that says (Default) to open the Format Numbers dialog box.

    4. In the Format list, select Percentage, and then click OK.

  4. Configure the Target value for the KPI by following these steps:

    1. In the Target row, in the Data Mappings column, click the blue hypertext that says 1 (Fixed Values).

    2. In the Fixed Values Data Source Mapping dialog box, in the Value box, type .85, and then click OK.

    3. In the Target row, in the Number column, click the blue hypertext that says (Default) to open the Format Numbers dialog box.

    4. In the Format list, select Percentage, and then click OK.

  5. In the center pane, click the Properties tab, and then specify the following settings:

    • In the Name box, type Order Fulfillment.

    • Optionally, in the Description box, type a description for the KPI.

    • Optionally, in the Person Responsible box, type the name of the person who is responsible for maintaining order fulfillment.

    • Optionally, next to the Display Folder box, click the Browse button, and then specify or create a display folder for the KPI.

  6. In the Workspace Browser, right-click the Order Fulfillment KPI, and then click Save.

After creating the KPIs we need for the Internal perspective, the next step is to create KPIs for the Learning and Growth perspective.

Learning and Growth KPIs

This section describes how to create the following three KPIs:

  • Learning and Growth Perspective

  • Employee Satisfaction

  • Training and Development

Begin by creating the Learning and Growth Perspective KPI, an objective KPI that does not require a data source or specific target and actual values.

To create the Learning and Growth Perspective KPI

  1. In Dashboard Designer, in the Workspace Browser, click PerformancePoint Content.

  2. On the Create tab, click KPI.

  3. In the Select a KPI Template dialog box, click Objective, and then click OK.

    The KPI opens for editing with the Editor tab open in the center pane.

  4. In the center pane, click the Properties tab, and then specify the following settings:

    • In the Name box, type Learning and Growth Perspective.

    • Optionally, in the Description box, type a description for the KPI.

    • Optionally, in the Person Responsible box, type the name of the person who is responsible for overall financial performance.

    • Optionally, next to the Display Folder box, click the Browse button, and then specify or create a display folder for the KPI.

  5. In the Workspace Browser, right-click the Learning and Growth Perspective KPI, and then click Save.

After creating the Learning and Growth Perspective KPI, the next step is to create the Employee Satisfaction KPI. Similar to customer satisfaction rates, different companies measure employee satisfaction in different ways. For this example scorecard, assume that the data for this KPI comes from a third-party application and use fixed values to configure this KPI.

To create the Employee Satisfaction KPI

  1. On the Create tab, click KPI.

    The Select a KPI Template dialog box appears.

  2. Click Blank KPI, and then click OK.

    The new KPI opens for editing with the Editor tab open in the center pane.

  3. Configure the Actual value for the KPI by following these steps:

    1. In the Actual row, in the Data Mappings column, click the blue hypertext that says 1 (Fixed Values).

    2. In the Fixed Values Data Source Mapping dialog box, in the Value box, type .87, and then click OK.

    3. In the Actual row, in the Number column, click the blue hypertext that says (Default) to open the Format Numbers dialog box.

    4. In the Format list, select Percentage, and then click OK.

  4. Configure the Target value for the KPI by following these steps:

    1. In the Target row, in the Data Mappings column, click the blue hypertext that says 1 (Fixed Values).

    2. In the Fixed Values Data Source Mapping dialog box, in the Value box, type .95, and then click OK.

    3. In the Target row, in the Number column, click the blue hypertext that says (Default) to open the Format Numbers dialog box.

    4. In the Format list, select Percentage, and then click OK.

  5. In the center pane, click the Properties tab, and then specify the following settings:

    • In the Name box, type Employee Satisfaction.

    • Optionally, in the Description box, type a description for the KPI.

    • Optionally, in the Person Responsible box, type the name of the person who is responsible for maintaining employee satisfaction.

    • Optionally, next to the Display Folder box, click the Browse button, and then specify or create a display folder for the KPI.

  6. In the Workspace Browser, right-click the Employee Satisfaction KPI, and then click Save.

After creating the Employee Satisfaction KPI, the next step is to create the Training and Development KPI. Different companies measure training and development in different ways. For this example scorecard, measure performance for this KPI as measured by the percentage of employees who have completed mandatory and recommended training programs. Assume that the data for this KPI comes from a third-party application and use fixed values to configure this KPI.

To create the Training and Development KPI

  1. On the Create tab, click KPI.

    The Select a KPI Template dialog box appears.

  2. Click Blank KPI, and then click OK.

    The new KPI opens for editing with the Editor tab open in the center pane.

  3. Configure the Actual value for the KPI by following these steps:

    1. In the Actual row, in the Data Mappings column, click the blue hypertext that says 1 (Fixed Values).

    2. In the Fixed Values Data Source Mapping dialog box, in the Value box, type .75, and then click OK.

    3. In the Actual row, in the Number column, click the blue hypertext that says (Default) to open the Format Numbers dialog box.

    4. In the Format list, select Percentage, and then click OK.

  4. Configure the Target value for the KPI by following these steps:

    1. In the Target row, in the Data Mappings column, click the blue hypertext that says 1 (Fixed Values).

    2. In the Fixed Values Data Source Mapping dialog box, in the Value box, type .90, and then click OK.

    3. In the Target row, in the Number column, click the blue hypertext that says (Default) to open the Format Numbers dialog box.

    4. In the Format list, select Percentage, and then click OK.

  5. In the center pane, click the Properties tab, and then specify the following settings:

    • In the Name box, type Training and Development.

    • Optionally, in the Description box, type a description for the KPI.

    • Optionally, in the Person Responsible box, type the name of the person who is responsible for training and development.

    • Optionally, next to the Display Folder box, click the Browse button, and specify or create a display folder for the KPI.

  6. In the Workspace Browser, right-click the Training and Development KPI, and then click Save.

After creating all the KPIs for the example scorecard, the next step is to create a blank scorecard and add the KPIs to it.

Create and assemble a scorecard

Earlier in this article, you created lots of KPIs. Some of those KPIs are objective KPIs, which means those KPIs display performance for KPIs that are nested underneath the objective KPIs. To create the scorecard, begin with a blank scorecard, add all the KPIs to the scorecard, and then configure a hierarchy for the KPIs.

To create and assemble a scorecard for a Balanced Scorecard

  1. In Dashboard Designer, in the Workspace Browser, click PerformancePoint Content.

  2. In the ribbon, on the Create tab, in the Dashboard Items group, click Scorecard.

    The Select a Scorecard template opens.

  3. In the Category pane, select Standard, in the Template pane, select Blank Scorecard, and then click OK. A blank scorecard opens for editing with the Editor tab open.

  4. In the Details pane, expand KPIs, and then expand PerformancePoint Content.

    Locate the KPIs that you want to use for the scorecard.

  5. From the Details pane, drag one KPI at a time to the Drop items here section that is located on the left side of the center pane. Make sure to add the KPIs in the order that is shown in the following list so that each KPI is added below the previous KPI:

    • Financial Perspective

    • Increase Shareholder Value

    • Productivity

    • Growth

    • Customer Perspective

    • Customer Satisfaction

    • Market Share

    • Internal Perspective

    • Inventory Turnover

    • Resource Usage

    • Order Fulfillment

    • Learning and Growth Perspective

    • Employee Satisfaction

    • Training and Development

  6. Click the Increase Shareholder Value KPI to select it, and then, in the ribbon, on the Edit tab, in the Header group, click the Increase Indent toolbar command.

    The Increase Shareholder Value KPI is now nested underneath the Financial Perspective KPI.

  7. Click the Productivity KPI, and then, on the Edit tab, click the Increase Indent toolbar command two times to nest Productivity underneath Increase Shareholder Value.

  8. Click the Growth KPI, and then, on the Edit tab, click the Increase Indent toolbar command two times to nest Growth underneath Shareholder Value. (This puts the Growth KPI at the same level as the Productivity KPI.)

  9. Click the Customer Satisfaction KPI, and then, on the Edit tab, click the Increase Indent toolbar command to nest Customer Satisfaction underneath Customer Perspective.

  10. Click the Market Share KPI, and then, on the Edit tab, click the Increase Indent toolbar command to nest Market Share underneath Customer Perspective.

  11. Click the Inventory Turnover KPI, and then, on the Edit tab, click the Increase Indent toolbar command to nest Inventory Turnover underneath Internal Perspective.

  12. Click the Resource Usage KPI, and then, on the Edit tab, click the Increase Indent toolbar command to nest Resource Usage underneath Internal Perspective.

  13. Click the Order Fulfillment KPI, and then, on the Edit tab, click the Increase Indent toolbar command to nest Order Fulfillment underneath Internal Perspective.

  14. Click the Employee Satisfaction KPI, and then, on the Edit tab, click the Increase Indent toolbar command to nest Employee Satisfaction underneath Learning and Growth Perspective.

  15. Click the Training and Development KPI, and then, on the Edit tab, click the Increase Indent toolbar command to nest Training and Development underneath Learning and Growth Perspective.

  16. On the Edit tab, in the View group, click Update.

    The scorecard updates to show performance for all the KPIs.

  17. In the center pane, click the Properties tab, and then specify the following settings:

    • In the Name box, type a name, such as Corporate Scorecard.

    • Optionally, in the Description box, type a description for the scorecard.

    • Optionally, in the Person Responsible box, type the name of the person who is responsible for organizational performance.

    • Optionally, next to the Display Folder box, click the Browse button, and then specify or create a display folder for the scorecard.

  18. In the Workspace Browser, right-click the Corporate Scorecard, and then click Save.

After you have created a scorecard to use as part of a Balanced Scorecard, the next step is to create a strategy map by using Dashboard Designer. For more information, see Create and configure a strategy map as part of a Balanced Scorecard that you create by using Dashboard Designer.

See Also

Concepts

Create a Balanced Scorecard by using Dashboard Designer


Create and configure a strategy map as part of a Balanced Scorecard that you create by using Dashboard Designer
See Also

Published: December 6, 2011

A Balanced Scorecard includes a scorecard and corresponding strategy map to display performance across four main organizational areas or perspectives: financial perspective, customer perspective, internal perspective, and learning and growth perspective.

This article describes how to create and configure an example PerformancePoint strategy map to use as part of a Balanced Scorecard.

Tip:

To download a sample Visio diagram that you can use for a Balanced Scorecard, see Example Visio Diagram for a Balanced Scorecard (http://go.microsoft.com/fwlink/p/?LinkId=237627).

In this article

  • Create and configure a Visio diagram to use in a Balanced Scorecard

  • Create and configure a strategy map report by using Dashboard Designer

Create and configure a Visio diagram to use in a Balanced Scorecard

In PerformancePoint Services, a strategy map report uses a Microsoft Visio diagram for its visual structure and a scorecard for its data source. To create a strategy map, begin by creating and configuring a Visio diagram. You can create and configure a Visio diagram in the following ways:

  • Open an existing Visio diagram and configure it

  • Create and configure a new Visio diagram

Tip:

Make sure that the Visio diagram contains enough sections and shapes to connect to the key performance indicators (KPIs) that are used in the scorecard. The shapes in the Visio diagram can be squares, rectangles, ovals, and so on. Do not use stencils or complex shapes in Visio diagrams that you create for a Balanced Scorecard because the strategy map might not be displayed correctly.

To download a sample diagram, see Example Visio Diagram for a Balanced Scorecard (http://go.microsoft.com/fwlink/p/?LinkId=237627).

To create and configure a Visio diagram

  1. Click Start, click All Programs, click Microsoft Office, and then click Microsoft Visio 2010.

    Microsoft Visio opens and displays a list of templates.

  2. On the File tab, in the Template Categories group, click General, click Basic Diagram, and then click Create.

    A new drawing opens.

  3. In the Shapes pane, select Basic Shapes to display a list of available shapes.

  4. From the Shapes pane, drag a shape to the drawing. Repeat for each shape that you want to add.

  5. To edit a shape, do any of the following:

    1. To change the size of a shape, point to a side selection handle. Then press and hold the mouse button and drag the handle to resize the shape.

    2. To move a shape, click to select it, and then use the directional arrow keys on the keyboard to move the shape to a different location.

    3. To optionally add text to a shape, double-click the shape, and then type the text that you want to use.

    4. To optionally edit font settings for text in a shape, double-click a shape that contains text to select the text. Then, on the Home tab, in the Font group, use the available toolbar commands to edit the font that is used in the shape.

  6. On the File tab, click Save As, and save the file to your computer.

After you create the Visio diagram, proceed to Create and configure a strategy map report by using Dashboard Designer.

To configure an existing Visio diagram

  1. Open an existing Visio diagram for editing.

    Tip:

    To download a sample Visio diagram that you can use for a Balanced Scorecard, see Example Visio Diagram for a Balanced Scorecard (http://go.microsoft.com/fwlink/p/?LinkId=237627).

  2. In the Shapes pane, select Basic Shapes to display a list of available shapes.

  3. To add a shape from the Shapes pane, drag a shape to the drawing.

  4. To remove a shape, click the shape to select it, and then press the Delete key on the keyboard.

  5. To edit a shape, do any of the following steps:

    1. To change the size of a shape, point to a side selection handle. Then press and hold the mouse button, and drag the handle to resize the shape.

    2. To move a shape, click to select it, and then use the directional arrow keys on the keyboard to move the shape to a different location.

    3. To optionally add text to a shape, double-click the shape, and then type the text that you want to use.

    4. To optionally edit font settings for text in a shape, double-click a shape that contains text to select the text. Then, on the Home tab, in the Font group, use the available toolbar commands to edit the font that is used in the shape.

  6. On the File tab, click Save to save your changes.

After you configure a Visio diagram, the next step is to create a strategy map report by using Dashboard Designer.

Create and configure a strategy map report by using Dashboard Designer

Important:

Before you begin to perform the following procedures, verify that the following prerequisites are in place:

  • You have at least Design permissions assigned to you in SharePoint Server.

  • You have at least Read permissions assigned to you in the SQL Server databases that are used.

  • Dashboard users have at least Read permissions assigned in SharePoint Server and in SQL Server.

To create a strategy map for use in a Balanced Scorecard

  1. Click Start, click All Programs, click SharePoint, and then click PerformancePoint Dashboard Designer.

  2. In the Workspace Browser, click PerformancePoint Content.

  3. On the Create tab, in the Reports group, click Strategy Map.

    The Create a Strategy Map Report wizard opens.

  4. On the Select a Scorecard page, select the scorecard that you created for the Balanced Scorecard, and then click Finish.

    The strategy map opens for editing with the Editor tab open in the center pane.

  5. In the ribbon, on the Edit tab, click Edit Strategy Map.

    The Strategy Map Editor dialog box appears.

  6. In the Strategy Map Editor dialog box, click Import Visio File, browse to where the Visio diagram is saved, and then click Open.

  7. In the Strategy Map Editor dialog box, click a shape to select it, and then click Connect Shape.

    The Connect Shape dialog box appears and displays the scorecard that was selected for the strategy map.

  8. In the Connect Shape dialog box, take the following steps:

    1. Click a cell in the Target column that corresponds to the KPI that you want to connect to the shape. (The Target column contains graphical indicators.)

    2. To optionally replace the text inside the shape with the text that is used for the scorecard KPI, select the check box next to Show KPI name in shape text.

    3. Click Close.

    The shape changes color to according to the KPI that is connected to it.

  9. Repeat steps 7 and 8 for each shape in the diagram.

  10. After connecting shapes to KPIs, click Apply to close the Strategy Map Editor dialog box.

    The strategy map appears on the Editor tab in the center pane of the workspace.

  11. In the center pane, click the Properties tab, and then specify the following settings:

    • In the Name box, type a name such as Strategy Map for the strategy map report.

    • To optionally provide a description for the report, type a description in the Description box.

    • To optionally specify a display folder for the report, next to the Display Folder box, click the Browse button, and then select or create a folder.

  12. In the Workspace Browser, right-click the report, and then click Save.

The next step is to create a dashboard page and assemble the Balanced Scorecard. Proceed to Assemble and publish a Balanced Scorecard by using Dashboard Designer.

See Also

Concepts

Create a Balanced Scorecard by using Dashboard Designer


Assemble and publish a Balanced Scorecard by using Dashboard Designer
See Also

Published: January 4, 2012

A Balanced Scorecard provides a high-level view of organizational performance at a glance. In PerformancePoint Services, a Balanced Scorecard consists of a dashboard page that contains a scorecard and corresponding strategy map. The scorecard and strategy map show performance information for key performance indicators (KPIs) across four main perspectives: the financial perspective, the customer perspective, the internal perspective, and the learning and growth perspective. This article describes how to assemble and publish a Balanced Scorecard by using PerformancePoint Dashboard Designer.

Tip:

The procedures in this article assume that you have already created and configured a scorecard and its corresponding strategy map report by using Dashboard Designer. For more information, see the following resources:

  • Create a Balanced Scorecard by using Dashboard Designer

  • Create a scorecard for a Balanced Scorecard by using Dashboard Designer

  • Create and configure a strategy map as part of a Balanced Scorecard that you create by using Dashboard Designer

Assemble and publish a Balanced Scorecard

After you have created a scorecard and strategy map, use the following process to assemble and publish a Balanced Scorecard:

  1. Create a dashboard page by using Dashboard Designer

  2. Add the scorecard and strategy map to the dashboard page

  3. Publish the dashboard

Important:

Before you begin to perform the tasks that are described in this article, verify that the following prerequisites are met:

  • A scorecard and strategy map are already created.

  • Microsoft Visio Viewer is installed on every computer where the dashboard will be viewed. To download Visio Viewer, see Visio 2010: Visio Viewer (http://go.microsoft.com/fwlink/p/?LinkId=237626).

  • You have at least Design permissions assigned to you in SharePoint Server.

  • You have at least Read permissions assigned in the SQL Server databases that are used for the scorecard.

  • Dashboard users have at least Read permissions assigned in SharePoint Server and in the SQL Server databases that are used.

For more information, see Authorization and permissions in PerformancePoint Services (SharePoint Server 2010).

Begin by creating a dashboard page.

To create a dashboard page for a Balanced Scorecard

  1. In Dashboard Designer, in the Workspace Browser, click PerformancePoint Content.

  2. On the Create tab, in the Dashboard Items group, click Dashboard.

    The Select a Page Layout Template dialog box appears.

  3. For best results, select the 2 Columns template, and then click OK.

    A dashboard page opens for editing with the Editor tab open in the center pane.

  4. On the Editor tab, in the Pages section, select the default text that says Page 1 and type a name such as Summary for the page.

  5. In the center pane, click the Properties tab, and then specify the following settings:

    • In the Name box, type Balanced Scorecard.

    • Optionally, in the Description box, type a description for the dashboard.

    • Optionally, in the Person Responsible box, type the name of the person responsible for overall organizational performance.

    • Optionally, next to the Display Folder box, click the Browse button, and then select or create a display folder for the dashboard.

  6. In the Workspace Browser, right-click the Balanced Scorecard dashboard, and then click Save.

    Do not close Dashboard Designer. Keep it open for the following procedure.

The next step is to add the scorecard and the strategy map to the dashboard.

To add the scorecard and the strategy map to the dashboard page

  1. Begin with the Balanced Scorecard dashboard page open for editing. In the center pane, click the Editor tab.

  2. In the Details pane, expand Scorecards, and then expand PerformancePoint Content to locate the scorecard that was created for the Balanced Scorecard.

  3. From the Details pane, drag the scorecard to the Left Column zone in the center pane.

  4. In the Details pane, expand Reports, and then expand PerformancePoint Content to locate the strategy map report that was created for the Balanced Scorecard.

  5. From the Details pane, drag the strategy map to the Right Column zone in the center pane.

  6. In the Workspace Browser, right-click the Balanced Scorecard dashboard, and then click Save.

    Do not close Dashboard Designer. Keep it open for the following procedure.

The final step is to publish the dashboard to SharePoint Server.

To publish the Balanced Scorecard dashboard

  1. Begin with the Balanced Scorecard dashboard page open for editing. In the center pane, click the Properties tab.

  2. In the Deployment Properties section, take the following steps:

    1. Next to the Document Library box, click Browse to open the Document Library dialog box. Select Dashboards, and then click OK.

    2. In the Master Page list, select a template, such as v4.

    3. Select the Include page list for navigation check box.

  3. In the Workspace Browser, right-click the Balanced Scorecard dashboard, and then click Save to save the publishing settings.

  4. In the Workspace Browser, right-click the Balanced Scorecard dashboard, and then click Deploy to SharePoint.

    The dashboard is published to SharePoint Server and opens in a browser window.

See Also

Concepts

Create a Balanced Scorecard by using Dashboard Designer


Excel Services data refresh flowchart
See Also

Published: July 29, 2011

Use this flowchart to better understand how Excel Services in Microsoft SharePoint Server 2010 refreshes data or to troubleshoot data connection errors from Excel Services.

The Excel Services Data Refresh Flowchart shows the sequence of actions performed by Excel Services when it refreshes data in a data-connected Microsoft Excel workbook that is being rendered by Excel Services. This includes sequences for the three available authentication options (Windows, Secure Store Service, and None), plus sequences for embedded connections and connections that use Office Data Connection files. The flowchart also includes the connection errors that can occur at each step, and it suggests configuration steps to avoid or correct the errors.

Download the flowchart

Flowchart (PDF) (http://go.microsoft.com/fwlink/p/?LinkId=225015)

Flowchart (Visio) (http://go.microsoft.com/fwlink/p/?LinkId=225016)

Print the flowchart

The flowchart is organized to print on four landscape tabloid (11"×17") sheets arranged vertically, as shown below.

Screenshot of print layout

See Also

Other Resources

Visio Viewer


Monitor SharePoint Server by using Visio Services and System Center Operations Manager
See Also

Published: July 29, 2010

Summary: You can monitor the health of a SharePoint Server 2010 farm visually by using a data-connected Visio Web drawing and Visio Services.

The Visio Toolbox Web site offers a Microsoft Visio 2010 add-in that enables you to create data-connected Web drawings that are connected to System Center Operations Manager data. This article describes how to use this add-in to create a data-connected Web drawing that monitors the status of your Microsoft SharePoint Server 2010 farm, publish it to a document library on the farm, and render it by using Visio Services in Microsoft SharePoint Server 2010.

To complete the procedures in this article, you must download the following components:

  • The Microsoft SharePoint 2010 Products Management Pack for System Center Operations Manager 2007 (http://go.microsoft.com/fwlink/p/?LinkId=198096)

  • The Visio 2010 Add-in for System Center Operations Manager 2007 R2 (http://go.microsoft.com/fwlink/p/?LinkId=198097) client and server components

This scenario assumes that you have the following:

  • A SharePoint Server 2010 farm with Visio Services running

  • A System Center Operations Manager deployment that can monitor the SharePoint Server 2010 farm

  • A computer that is running Microsoft Visio Professional 2010 or Microsoft Visio Premium 2010

The following basic steps are required to configure this scenario:

  • Install the Microsoft System Center Operations Manager Management Pack for SharePoint 2010 Products on System Center Operations Manager.

  • Install the System Center Operations Manager console and the Visio 2010 add-in client components on the computer that is running Visio 2010.

  • Install the System Center Operations Manager console and the Visio 2010 add-in server components on the computer that is running the Visio Graphics Service.

Video demonstration

This video shows the steps involved in creating a data-connected Web drawing that monitors the status of your SharePoint Server 2010 farm, publishing it to a document library on the farm, and rendering it by using Visio Services.

Screenshot of video

Watch the video (http://go.microsoft.com/fwlink/p/?LinkId=202558). To download a copy of the video file, right-click the link, and then click Save Target As.

Install the Management Pack for SharePoint 2010 Products

In order to monitor SharePoint Server 2010, you must install the System Center Operations Manager Management Pack for SharePoint 2010 Products on System Center Operations Manager.

To install the management pack files

  1. Copy the management pack MSI file to a share that can be accessed from the server that is running System Center Operations Manager and run it.

  2. Read and accept the license agreement and then click Next.

  3. On the Select Installation Folder page, keep the default install location, select the Everyone option, and then click Next.

    Note:

    Take note of the installation location. You will have to copy files from this location in the next procedure.

  4. On the Confirm Installation page, click Install.

  5. On the Installation Complete page, click Close.

When you have finished installing the management pack files, copy the following files to the %ProgramFiles%\System Center Management Packs folder on your Operations Manager 2007 R2 management server:

  • Microsoft.SharePoint.Foundation.2010.MP

  • Microsoft.SharePoint.Server.2010.MP

  • SharePointMP.Config

It is important to copy these files because, by default, Operations Manager will look for them in this location when you import the management packs.

Once the management pack files have been installed to disk, you must import the management packs from the Operations Manager Operations Console. The management pack consists of two parts:

  • The Microsoft SharePoint Foundation 2010 management pack

  • The SharePoint Server 2010 management pack

The SharePoint Foundation 2010 management pack is a prerequisite for the SharePoint Server 2010 management pack and must be imported first.

To import the SharePoint Foundation 2010 management pack

  1. Start the Operations Manager Operations Console.

  2. In the left pane, click Administration.

  3. In the right pane, right-click Management Packs, and then click Import Management Packs.

  4. On the Select Management Packs page, click Add, and then click Add from disk.

  5. On the Online Catalog Connection dialog box, click No.

  6. Navigate to the location where you installed the SharePoint 2010 Products management pack files.

  7. Select Microsoft.SharePoint.Foundation.2010.mp and then click Open.

  8. Click Install.

  9. When the process is complete, click Close.

After the SharePoint Foundation 2010 management pack is installed, you can install the SharePoint Server 2010 management pack.

To import the SharePoint Server 2010 management pack

  1. In the Operations Manager Operations Console, in the Administration section, right-click Management Packs, and then click Import Management Packs.

  2. On the Select Management Packs page, click Add, and then click Add from disk.

  3. On the Online Catalog Connection dialog box, click No.

  4. Navigate to the location where you installed the SharePoint 2010 Products management pack files.

  5. Select Microsoft.SharePoint.Server.2010.mp and then click Open.

  6. Click Install.

  7. When the process is complete, click Close.

In order for the management packs to monitor your farm, you must configure them to run using an account that has farm administrator access. This consists of two steps:

  • Create a Run As account within Operations Manager.

  • Configure the management pack to use that Run As account.

To create a Run As account

  1. In the Operations Console, in the left pane, click Administration.

  2. In the left pane, right-click Run As Configuration and then click Create Run As Account.

  3. On the Introduction page, click Next.

  4. On the General Properties page:

    • From the Run As Account type drop-down list, select Windows.

    • In the Display name box, type SharePoint Discovery/Monitoring Account.

      Note:

      Type the string exactly as shown. System Center looks for a Run As account that has that name when you configure the management pack.

    • Click Next.

  5. On the Credentials page, type the credentials for an account that has administrative access to your SharePoint Server 2010 farm, such as the Farm Administrator account, and then click Next.

  6. On the Distribution Security page, select the More secure option, and then click Create.

  7. When the account has been created, click Close.

After the Run As account is created, you must configure the management pack to use it.

To configure the management pack

  1. In the Operations Console, in the left pane, click Monitoring.

  2. In the left pane, expand SharePoint 2010 Products, and then click Administration.

  3. From the Action menu, click Microsoft SharePoint 2010 Farm Group Tasks, and then click Configure SharePoint Management Pack.

  4. Keep the default settings and click Run.

  5. When the Task Status page shows a status of Success, click Close.

System Center Operations Manager scans your monitored servers to find your SharePoint Server 2010 farm. Depending on your configuration, this could take thirty minutes or more.

Configure the SharePoint Server application server

You must install or deploy the following components on your SharePoint Server 2010 farm:

  • The System Center Operations Manger Operations Console

    Note:

    You must install this component on each application server in the farm.

  • The Visio 2010 add-in server components

Perform the following procedures on each application server in your farm.

To install the Operations Manager Operations Console

  1. On the Operations Manager DVD, run SetupOM.exe.

  2. On the Start page, click Install Operations Manager 2007 R2.

  3. On the Welcome page, click Next.

  4. On the End-User License Agreement page, read and accept the license agreement, and then click Next.

  5. On the Product Registration page, type a User Name and Organization, and then click Next.

  6. On the Custom Setup page:

    1. On the Database drop-down menu, select This component will not be available.

    2. On the Management Server drop-down menu, select This component will not be available.

    3. On the Web Console drop-down menu, select This component will not be available.

    4. Click Next.

  7. On the Customer Experience Improvement Program page, choose whether to join the program, and then click Next.

  8. On the Ready to Install the Program page, click Install.

  9. When the installation is complete, click Finish.

Once the Operations Console has been installed, you must install the Visio Services data provider. This consists of two steps:

  • Run OpsMgrDataModuleSetup.msi to extract the data provider files.

  • Deploy the data provider to the farm.

To extract the Visio Services data provider files

  1. In Windows Explorer, navigate to the directory where you downloaded the add-in and then double-click OpsMgrDataModuleSetup.msi.

    Note:

    The .msi program does not install or deploy the data provider to the servers in the server farm. This program simply extracts the deployment package to the location specified.

  2. Read the license agreement, select I Agree, and then click Next.

  3. Specify the installation location, and then click Next.

Once the data providers have been extracted, you must deploy the data provider to the farm.

To deploy the Visio Services data provider to the farm

  1. Click Start, click All Programs, click Microsoft SharePoint 2010 Products, right-click SharePoint 2010 Management Shell, and then click Run as administrator.

  2. Run the following command:

    .\OpsMgrDataModule.ps1

    The OpsMgrDataModule cmdlet installs the deployment package to the solution store for the server farm and then deploys the data module to each of the application servers in the farm.

    After the cmdlet has finished, you can verify that the package was successfully deployed by running the get-spsolution cmdlet. You should see True in the Deployed column next to the opsmgrdatamodule.wsp entry.

In order for Visio Services to refresh the diagrams that are published and connected to Operations Manager data, the Visio Services service application must be configured with credentials that have access to the Root Management Server. This is because the Visio Services service application is executing the data provider that is responsible for returning the updated dataset from the Root Management Server.

The easiest way to configure this is to make the Visio Services application pool account a Read-Only Operator on the Root Management Server.

If you need to determine the application pool account that is configured for Visio Services, use the following procedure:

To determine the Visio Services application pool account

  1. In the SharePoint Central Administration Web site, in the Application Management section, click Manage service applications.

  2. Select the Visio Services service application.

  3. On the ribbon, click Properties.

  4. Note the account listed in the Application Pool area.

  5. Click Cancel.

Once you have determined the application pool account, you must grant this account read-only operator access to the Root Management Server.

To grant the Visio Services account Read-Only Operator access to the RMS

  1. In the Operations console, open the Administration view.

  2. In the Administration pane, expand Administration, expand Security, and then click User Roles.

  3. In the User Roles pane, right-click Operations Manager Read-Only Operators, and then click Properties.

  4. In the Operations Manager Read-Only Operators - User Role Properties dialog box, on the General Properties tab, click Add.

  5. On the Select User or Groups dialog box, enter the Visio Services application pool account, and then click OK.

  6. Click OK.

Install the Visio add-in client components

You must install the following components on each computer that is running Visio 2010 where you want to use the Visio Add-in for System Center Operations Manager 2007 R2:

  • The System Center Operations Manger 2007 R2 Console

  • The Visio 2010 add-in client components

To install the Operations Manager Operations Console

  1. On the Operations Manager DVD, run SetupOM.exe.

  2. On the Start page, click Install Operations Manager 2007 R2.

  3. On the Welcome page, click Next.

  4. On the End-User License Agreement page, read and accept the license agreement, and then click Next.

  5. On the Product Registration page, type a User Name and Organization, and then click Next.

  6. On the Custom Setup page:

    1. On the Database drop-down menu, select This component will not be available.

    2. On the Management Server drop-down menu, select This component will not be available.

    3. On the Web Console drop-down menu, select This component will not be available.

    4. Click Next.

  7. On the Customer Experience Improvement Program page, choose whether to join the program, and then click Next.

  8. On the Ready to Install the Program page, click Install.

  9. When the installation is complete, click Finish.

Once you have installed the Operations Console, install the Visio 2010 add-in client components.

To install the Visio Add-in client components

  1. On the computer that is running Visio 2010, run OPPSMGRADDINSETUP.MSI.

  2. On the Welcome page, click Next.

  3. On the License Agreement page, read and accept the license agreement, and then click Next.

  4. On the Select Installation Folder page, choose an installation location or keep the default, and then click Next.

  5. On the Confirm Installation page, click Next.

  6. When the installation is complete, click Close.

Create and publish an Operations Manager Visio drawing

Once Operations Manager has started monitoring your SharePoint Server 2010 farm, you can view a diagram of the farm within the Operations Console. This diagram can be exported to Visio 2010 and published to SharePoint Server 2010, where it will remain connected to live Operations Manager data.

The basic steps that you must follow to create and publish an Operations Manager Visio drawing are as follows:

  1. Export the diagram from the Operations Manager Operations Console.

  2. Open the diagram in Visio 2010.

  3. Modify the diagram as needed.

  4. Publish the diagram to SharePoint Server 2010.

To export a diagram from the Operations Console

  1. On the computer where Visio 2010 is installed, open the Operations Console.

  2. In the left pane, click Monitoring.

  3. In the left pane, expand SharePoint 2010 Products.

  4. Click Diagram View.

  5. On the toolbar drop-down menu, click To Visio.

  6. Type a file name and then click Save.

Once the diagram is exported, you can open it in Visio 2010, modify it if necessary, and then publish it to SharePoint Server 2010, where it can be rendered by Visio Services.

To publish the data-connected drawing to SharePoint Server 2010

  1. Open Visio 2010.

  2. Click File, click Open, and then open the diagram that you exported from the Operations Console.

  3. Modify the diagram if you want.

  4. Click File, and on the File page:

    1. Click Save and Send.

    2. Click Save to SharePoint.

    3. In the Locations section, choose the location where you want to save the drawing, or click Browse for a location.

    4. Under File Types, click Web Drawing.

    5. Click Save As.

  5. Navigate to the location on your SharePoint Server 2010 site where you want to save the drawing, type a file name, and then click Save.

Once the drawing is published, you can view it directly from the document library or incorporate it into the Visio Web Access Web Part. Note that the frequency of data refresh for the Web drawing depends on the data refresh settings configured in Visio Services Global Settings and in the Visio Web Access Web Part if applicable.

See Also

Reference

Get-SPSolution

Concepts

Configure Visio Services for a BI test environment

Other Resources

Visio Toolbox
Microsoft Showcase: Visio Web Access Web Part (http://go.microsoft.com/fwlink/p/?LinkId=206460)


PerformancePoint Services process diagram
See Also

Published: January 1, 2011

Use this diagram to better understand the overall process of planning, deploying, and using PerformancePoint Services in Microsoft SharePoint Server 2010.

The diagram shows the sequence of tasks an organization might perform when they consider, select, install, and use PerformancePoint Services as a business intelligence solution. A legend near the top identifies the kinds of roles that are typically associated with each task. The diagram also includes hyperlinks to relevant content about each task. Click a link to open an article that describes that particular task.

The diagram resembles the following image:

PerformancePoint Services Process Diagram

You can download the diagram and use it on your computer (recommended). Or, if you prefer, you can also print it on paper.

Tip:

If you decide to print the diagram, we recommend that you use a plotter and specify ANSI E as the printed size. The diagram is very large and does not display well on standard paper sizes.

Download the diagram

Use PerformancePoint Services (PDF) (http://go.microsoft.com/fwlink/p/?LinkId=231736)

See Also

Concepts

PerformancePoint Services SuperFlows
Plan, design, and implement a PerformancePoint dashboard
Business intelligence scenarios and solutions


PerformancePoint Services SuperFlows
See Also

Published: January 27, 2012

A SuperFlow is a self-contained guide that resembles an interactive Help file. Two SuperFlows for PerformancePoint Services in Microsoft SharePoint Server 2010 are available that you can download. Each SuperFlow has a flowchart that shows an overall process. You click a portion of the flowchart to jump to specific instructions about that part of the process.

The following SuperFlows give you easy access to information about PerformancePoint Services. After you download and install them, you can use them even when you are not connected to the Internet.

Note:

Microsoft .NET Framework 3.5 is required to install the SuperFlows.

In this article:

  • Video demonstration

  • PerformancePoint Services IT Configuration SuperFlow

  • PerformancePoint Services Dashboard Creation SuperFlow

Video demonstration

This video shows how to install and use PerformancePoint Services SuperFlows.

PerformancePoint Services SuperFlow

Running time: 2:54

Play video Watch the video.

Download video For an optimal viewing experience, download the video.

Right-click the link, and then click Save Target As to download a copy. Clicking the link opens a .wmv file in the default video viewer for full-resolution viewing.

PerformancePoint Services IT Configuration SuperFlow

This SuperFlow is designed for SharePoint administrators and covers the following areas:

  • How to configure PerformancePoint Services: This includes a service application, data access, a Business Intelligence Center, and user permissions.

  • How to create data sources: This includes information about the various kinds of data sources that you can use, together with procedures on how to create and configure PerformancePoint data connections.

  • Where to find more information, such as detailed articles and developer content that is published to TechNet and MSDN.

To install the PerformancePoint Services IT Configuration SuperFlow

  1. Download the PerformancePointServicesITConfiguration.msi (http://go.microsoft.com/fwlink/p/?LinkId=226358) file.

  2. Run the PerformancePointServicesITConfiguration.msi file and follow the installation instructions in the wizard.

The SuperFlow is installed in a Start menu group that is named Microsoft SuperFlows.

PerformancePoint Services Dashboard Creation SuperFlow

This SuperFlow is designed for dashboard authors and covers the following areas:

  • How to create and configure PerformancePoint reports and scorecards

  • How to create and configure dashboard filters

  • How to create, assemble, and publish dashboards

  • Where to find more information about how to use PerformancePoint Dashboard Designer.

To install the PerformancePoint Services Dashboard Creation SuperFlow

  1. Download the PerformancePointServicesDashboardCreation.msi (http://go.microsoft.com/fwlink/p/?LinkId=226357) file.

  2. Run the PerformancePointServicesDashboardCreation.msi file and follow the installation instructions in the wizard.

The SuperFlow is installed in a Start menu group that is named Microsoft SuperFlows.

See Also

Concepts

Business intelligence scenarios and solutions


Review and track workbooks on a PowerPivot Gallery by using SharePoint approval workflows
See Also

Published: February 17, 2011

You can use Microsoft SQL Server 2008 R2 PowerPivot for Microsoft SharePoint 2010 and PowerPivot for Excel 2010 to generate Approval workflows that can track PowerPivot workbooks when they are published to a PowerPivot gallery.

This article assumes that you have PowerPivot for SharePoint 2010 and PowerPivot for Excel 2010 installed and are using a PowerPivot Gallery on your PowerPivot for SharePoint site. If you do not have PowerPivot for SharePoint 2010 installed or do not have a PowerPivot Gallery created on your deployment of SharePoint Server 2010, see the following Microsoft TechNet articles:

  • How to: Install PowerPivot for SharePoint on a New SharePoint Server

  • How to: Install PowerPivot for SharePoint on an Existing SharePoint Server

  • How to: Create and Customize PowerPivot Gallery

PowerPivot Gallery

The PowerPivot Gallery in PowerPivot for SharePoint 2010 is a document library and, as such, Approval workflows can be managed in this gallery. You must be a member of either the SharePoint Server Administrators group or the Owners SharePoint Server group on the PowerPivot site to use the procedures in this article.

Build Approval workflows with SharePoint Server 2010

SharePoint Server 2010 provides several workflow templates that you can use to build and upload to a document library; in this article we use a PowerPivot Gallery as the document library. We also use the Approval - SharePoint 2010 workflow template in this article. First you must enable workflows on the top level of the site collection where your PowerPivot Gallery is located in your SharePoint Server 2010. Next, you must add the Approval - SharePoint 2010 workflow to the gallery. When you are finished, any new PowerPivot workbooks that you save to your gallery also have an attached Approval workflow. That way, either your organization's IT department or your team manager can review each workbook.

To activate workflows for a site collection

  1. Open the top level of the site collection that hosts your PowerPivot Gallery in SharePoint Server 2010.

  2. On the top level of the site collection, on the Site Actions menu, click Site Settings.

  3. On the Site Settings page, in the Site Collection Administration section, click Site collection features.

  4. On the Features page, click Activate next to the workflow feature that you want to activate.

    The Status column displays Active when that feature is activated.

To add the "Approval - SharePoint 2010" workflow to the PowerPivot Gallery

  1. On the PowerPivot Gallery site, on the Library Tools tab, click Library.

  2. In the Settings group, click Workflow Settings, and then click Add a workflow.

  3. On the Add a Workflow page, in the Workflow section, select the workflow template that you want to associate with the PowerPivot Gallery. In this instance, we select the Approval - SharePoint 2010 template.

  4. In the Name section, type a name for this workflow, for example PowerPivot approval.

  5. In the Task List section, select New task list, or if you have an existing task list, you can select that.

  6. In the History List section, select New history list, or if you have an existing history list, you can select that.

  7. In the Start Options section, click the option that you want to use to start this workflow. In this instance we want the workflow to start when a new PowerPivot workbook is published on the gallery. Therefore we select the Start this workflow when a new item is created option.

  8. When you finish setting up the workflow, click Next.

    On the Customize Workflow page, you can assign workflow approvers, specify how tasks are routed, select the due date, and specify how long the workflow is active. The only required setting on this page is the Approvers section where you assign the workflow to a person or group. The rest of the settings are optional for this scenario.

  9. In the Approvers section, type the names of the people or groups to whom the workflow will assign tasks, and also select the order in which those tasks are assigned, if it is needed.

    As previously mentioned, the remaining sections on this page are optional for this scenario. If you have to customize the Approval workflows for your PowerPivot Gallery site and need more information, see Use an Approval workflow (http://go.microsoft.com/fwlink/p/?LinkId=211508).

    Note:

    On the Customize Workflow page, you can use the CC option to notify specific people when the workflow starts and ends, without assigning tasks to them. If you design custom workflows with either Microsoft SharePoint Designer 2010 or Microsoft Visio Premium 2010 you can set the workflow to send e-mail messages to appropriate people anywhere in the workflow cycle. See Use the task process editor for approval workflows (http://go.microsoft.com/fwlink/p/?LinkId=211034), Roadmap: Design and publish a SharePoint workflow with Visio 2010 and SharePoint Designer 2010 (http://go.microsoft.com/fwlink/p/?LinkId=221725), and Create, import, and export SharePoint workflows in Visio (http://go.microsoft.com/fwlink/p/?LinkId=211032) for more information.

  10. Click Save when you are finished with your Approval workflow.

  11. On the Workflows page, all of the PowerPivot Gallery workflows are listed and show the total instances for each workflow that are in progress. Here, you can add new workflows, remove workflows, or view workflow reports for the PowerPivot Gallery.

Now, when a new workbook or document is uploaded, published, or saved to your PowerPivot Gallery, the PowerPivot Approval workflow is started.

To view the PowerPivot Gallery workbooks

  1. On the PowerPivot Gallery site, in the Lists section, click Tasks. The All Tasks page displays all of the workflows that are attached to the PowerPivot workbooks that are published on the PowerPivot Gallery.

  2. On the PowerPivot Gallery site, you can display all of the workbooks that are published in a detailed list. In the Library Tools section, click Library, and then in the Current View section, click Gallery, which is the default view, and then select All Documents from the drop-down list.

  3. In the All Documents view, point to a workbook in this list and click the arrow that appears, and then click Workflows. This page displays the workflows that are started for this workbook.

See Also

Other Resources

Resource Center: Workflows in SharePoint Server 2010


Self-service business intelligence with Excel, PowerPivot for Excel, and Excel Services

Published: December 16, 2010

This article describes how to configure Microsoft Excel 2010 and Microsoft SQL Server 2008 R2 PowerPivot for Microsoft Excel 2010 to import business intelligence data and then publish reports on a Microsoft SharePoint Server 2010 Web site by using Excel Services in Microsoft SharePoint Server 2010.

The fast growing use of data analysis to run a global business often places a strain on an organization's IT department. In the past, IT departments would typically create sets of standardized templates to use for generating reports. The information worker (IW) was forced to rely on the IT department to generate these reports and this often took several days. The latest Microsoft self-service business intelligence tools help remove the IT strain by letting business users analyze data and generate their own reports and analysis data.

Using Excel Services and PowerPivot for Excel 2010 users can import data from a back-end database such as Microsoft SQL Server 2008 R2, Microsoft SQL Server 2008 Analysis Services (SSAS), Microsoft SQL Server 2008 Reporting Services (SSRS), IBM, Oracle, and SAP systems. Additionally, users can import data from multiple Excel 2010 spreadsheets or workbooks, or Microsoft Access 2010 databases.

After importing required data, whether from a back-end data source, data feed, or data file, users can produce reports by using either Excel 2010 or PowerPivot for Excel and then use Excel Services to display this new data on a SharePoint Server 2010 Web site.

In this article:

  • Configure Excel 2010 and PowerPivot for Excel 2010

  • Import external data with Excel 2010 and PowerPivot for Excel 2010

  • Publish imported data on SharePoint Server 2010 using Excel Services

Configure Excel 2010 and PowerPivot for Excel 2010

PowerPivot for Excel 2010 is a free add-in that adds data analysis and strong computational power to Excel 2010. In order to use PowerPivot for Excel 2010 you must install the PowerPivot for Excel 2010 add-in. PowerPivot for Excel 2010 is available to download at Microsoft | PowerPivot.

To install PowerPivot for Excel 2010

  1. If you are running an operating system other than Microsoft Windows 7 or Microsoft Windows Server 2008 R2 you must install .NET Framework 3.5 SP1.

  2. Install Microsoft Office 2010

  3. Install PowerPivot for Excel 2010

    Important:

    If you install the 32-bit version of Excel, you must use the 32-bit version of PowerPivot. If you install the 64-bit version of Excel, you must use the 64-bit version of PowerPivot.

    Note:

    When you start Excel 2010 for the first time, Excel prompts you for permission to load PowerPivot for Excel 2010.

After installing PowerPivot for Excel 2010, you can click Help or press F1 to access the PowerPivot for Microsoft Excel Online Help. See PowerPivot for Excel (Business Intelligence) for additional help and downloads.

Import external data with Excel 2010 and PowerPivot for Excel 2010

This section describes how to use Excel 2010 and PowerPivot for Excel 2010 to import external data from multiple sources. Both applications will achieve this, but PowerPivot for Excel 2010 supports files up to 2GB and enables you to work with up to 4GB of data in memory. As mentioned previously, users can import data from a back-end database such as Microsoft SQL Server 2008 R2, Microsoft SQL Server 2008 Analysis Services (SSAS), Microsoft SQL Server 2008 Reporting Services (SSRS), IBM, Oracle, and SAP systems. Users can also use both applications to import data from other Excel spreadsheets and workbooks, and Access 2010 desktop and Web databases.

In this section:

  • Import external data with Excel 2010

  • Import external data with PowerPivot for Excel 2010

Import external data with Excel 2010

There are two ways to import data in Excel 2010. The first way is to use the Get External Data feature. The second way uses the Data Connection Wizard to connect to several data sources. These include the following:

  • Microsoft SQL Server

  • Microsoft SQL Server Analysis Services (SSAS)

  • ODBC DSN

  • Microsoft Data Access - OLEDB Provider for Oracle

  • Other/Advanced

To import data with the Get External Data feature

  1. In Excel 2010 open a new workbook.

  2. On the menu bar, click Data.

  3. On the Ribbon, in the Get External Data section, click From Other Sources, and then select the source from which you want to import external data. The list that appears has the following choices:

    • From Access

    • From Web

    • From Text

    • From Other Sources

      • From SQL Server

      • From Analysis Services

      • From XML Data Import

      • From Data Connection Wizard

      • From Microsoft Query

    • Existing Connections

To establish a data source connection with the Data Connection Wizard

  1. In Excel 2010 open a blank workbook.

  2. On the menu bar, click Data, and then click Connections in the Connections group.

  3. In the Workbook Connections window, click Add.

  4. In the Existing Connections window all current connection files are displayed. Click Browse for More if you want a connection that is not listed.

  5. In the Select Data Source window, more connection files are displayed. Click New Source if you have to find a connection that is not listed.

  6. When the Data Connection Wizard appears, the following list of data sources is displayed:

    • Microsoft SQL Server

    • Microsoft SQL Server Analysis Services (SSAS)

    • ODBC DSN

    • Microsoft Data Access - OLEDB Provider for Oracle

    • Other/Advanced

  7. Click one of the data sources and then click Next to start the Wizard.

Import external data with PowerPivot for Excel 2010

Importing external data with PowerPivot for Excel 2010 is the default feature for this Excel 2010 add-in. Various sources can be used to import data. PowerPivot for Excel 2010 resembles Excel 2010 in the way that you can import data and connect to a data source for importing data. The following list shows the many data sources that PowerPivot for Excel 2010 can use:

  • Access databases

  • SQL Server relational databases

  • Oracle relational databases

  • Teradata relational databases

  • Informix relational databases

  • IBM DB2 relational databases

  • Sybase relational databases

  • Other relational databases (OLE DB provider or ODBC driver)

  • Text files

  • Microsoft Excel files

  • PowerPivot workbook

  • Analysis Services cube

  • Data feeds

To import data from a database

  1. In Excel 2010, click PowerPivot on the menu bar, and then click PowerPivot Window in the Launch section.

  2. In PowerPivot for Excel 2010 click From Database in the Get External Data group.

  3. Choose the source that you want from the available list:

    • From SQL Server

    • From Access

    • From Analysis Services or PowerPivot

  4. Complete the wizard.

To import data from a report

  1. In PowerPivot for Excel 2010 click From Report in the Get External Data group.

  2. In the Table Import Wizard, type the name for this connection in the Friendly connection namespace.

  3. Click Browse, and select a Microsoft SQL Server Reporting Services (SSRS) server or URL. Note that if you often use reports on a report server, the server might be listed in Recent Site and Servers. If there are no SQL Server Reporting Services servers or sites listed, type an address to a Reporting Services server or site in the Name space and then click Open and then browse the folders on the server or select the report.

  4. The Table Import Wizard connects to the report and then displays it in the preview area.

  5. Click Next, and select the report that you want to import and then click Open.

  6. The Table Import Wizard then displays the Select Tables and Views window where you can select the tables and views from which you want to import data. If there is only one table in the report that you are importing you can also click Preview & Filter to select the columns that you want to import.

  7. Click Finish when you have selected the data that you want to import and then click Close when the Table Import Wizard displays Success for the import operation.

For more information see, Excel 2010 Help and How-to.

Publish imported data on SharePoint Server 2010 using Excel Services

After you have imported the external data into PowerPivot for Excel 2010 and then saved it as either an Excel spreadsheet or workbook, the next step is to publish it on SharePoint Server 2010.

To publish imported data on SharePoint Server 2010

  1. In Excel 2010, click the File Ribbon, click Save & Send from the menu, and then click Save to SharePoint in the Save & Send section.

  2. In the Recent Locations section, click a location from the list and then click Save As. If you have not already published any workbooks, there are no locations listed in the Recent Locations section. In this case, click Browse for a location in the Locations section and type the URL for the SharePoint Server site in the Save As dialog box and then browse to the site or library where you want to save your spreadsheet or workbook.

    Note:

    You must explicitly trust the SharePoint Server library, UNC paths, or HTTP Web sites before you can display any Excel 2010 workbooks in a browser after publishing on a SharePoint Server Web site. For more information see, Plan Excel Services authentication (SharePoint Server 2010) and Manage Excel Services trusted locations (SharePoint Server 2010).

  3. On the Save As dialog box, you can click Publish Options if you only want to publish individual sheets from your workbook, specific items in the workbook, or set parameters so specific cells are editable when the workbook is viewed. On the Publish Options window, you can also select Open with Excel in the browser to immediately display the workbook in a browser after it is published and Save Thumbnail. When you are finished, click Save.

Note that you can also use the Add document feature in the SharePoint Server document library to save files directly. Additionally, if you have WebDAV installed on the SharePoint Server computer you can copy a file to the SharePoint Server farm as a file share, for example \\sharepoint-farm\sute\subsite\doclib.

For more information about how to deploy self-service business intelligence in your organization see the following links:

  • Implementing Self-Service BI with PowerPivot for Excel 2010

  • Self-Service Analytics: Sales Solution


Store and manage business intelligence content in a central location
See Also

Published: October 25, 2011

Microsoft SharePoint Server 2010 includes a full range of business intelligence features and functionality. These include Excel Services, PerformancePoint Services, and Visio Services. SharePoint Server can also support integration with SQL Server Reporting Services and PowerPivot for SharePoint. All of these applications enable you to choose which tools to use to create reports, scorecards, and dashboards.

To help your organization be more productive, consider storing and managing your business intelligence content in a central location, such as a Business Intelligence Center site. This article contains information about how to create a central location and manage user permissions and access to the content.

In this article:

  • Overview of the Business Intelligence Center site

  • How to create and configure a Business Intelligence Center site

  • Comparing the Business Intelligence Center site in SharePoint Server 2010 to the Report Center site in SharePoint Server 2007

Overview of the Business Intelligence Center site

The Business Intelligence Center site is a location where you can centrally store and manage business intelligence content, such as data sources, reports, scorecards, and dashboard pages. The Business Intelligence Center resembles the following image:

Business Intelligence Center

The center pane contains three sections that have links to additional information and tools, as described in the following table:

Section Description

Monitor Key Performance

Contains links to information about different approaches to monitoring performance, such as using SharePoint Status Lists and PerformancePoint scorecards.

  • SharePoint Status Lists are quick and easy to create for simple Web Part pages

  • PerformancePoint scorecards offer sophisticated features and functionality. These include row and column hierarchies and complex key performance indicators (KPIs)

Build and Share Reports

Contains links to information about Excel Services and about the interactive visualization tools in PerformancePoint Services.

  • Excel Services enables you to build worksheets, PivotTable reports, PivotChart reports, and then publish those reports to SharePoint Server.

  • PerformancePoint Dashboard Designer enables you to create scorecards and reports, such as analytic charts and grids, strategy maps, KPI Details reports, and references to existing reports, such as Excel Services reports, SQL Server Reporting Services reports, ProClarity Analytics Server reports, and Web Page reports.

Create Dashboards

Contains links to information about how to create dashboards by using tools in SharePoint Server, or by using tools in PerformancePoint Services.

The links in this panel include Start using PerformancePoint Services, which opens a home page for PerformancePoint Services. On that page, you can click Run Dashboard Designer, or you can click links to articles that provide additional information about PerformancePoint Services.

The Business Intelligence Center site enables dashboard content authors to easily access the tools that they have to create business intelligence content. For example, the Business Intelligence Center site contains links to information about Excel Services and PerformancePoint Services. The site also contains links to sample data in Excel that users can easily access.

The Business Intelligence Center site also helps dashboard users to easily find business intelligence content, such as reports and dashboards. Business intelligence content is saved to the following SharePoint lists and document libraries:

  • A Dashboards library that contains only published dashboards that were deployed from Dashboard Designer.

  • A Data Connections content library that contains data sources that can be used for various reports and scorecards. This library also contains server connection information and security details for each data source.

  • A PerformancePoint Content list that contains scorecards, reports, filters, unpublished dashboards, and other dashboard items that were created by using Dashboard Designer. Dashboard items can be organized into folders within this list to make them easier to find and manage.

  • A Documents library that contains sample Excel Services workbooks and can serve as a location to store other business intelligence files. These include Reporting Services reports, Visio Services reports, and so on.

    Tip:

    The Documents library is created automatically when a Business Intelligence Center site is created. However, it must be added to the page to be visible. Information about how to do that is included in the following section.

How to create and configure a Business Intelligence Center site

When you create and configure a Business Intelligence Center site, you create a new site collection and select the Business Intelligence Center site template.

Important:

You can create a Business Intelligence Center site before you have enabled and configured certain services, such as PerformancePoint Services or Excel Services. However, certain capabilities are unavailable until those services are configured. For example, if PerformancePoint Services is not configured, you and other users will be unable to run PerformancePoint Dashboard Designer to create PerformancePoint reports, scorecards, and dashboards. Similarly, if Excel Services is not configured, you will be unable to display all or part of an Excel workbook in a browser window.

For information about how to configure services to support business intelligence capabilities in SharePoint Server 2010, see the following resources:

  • Configure PerformancePoint Services

  • Use Excel Services with Secure Store (SharePoint Server 2010)

  • Use Visio Services with Secure Store

  • Set up and configure Access Services (SharePoint Server 2010)

To create a Business Intelligence Center site

  1. Log on to the computer that is running the SharePoint Central Administration Web site.

    Tip:

    Make sure to use an account that is a member of the Farm Administrators SharePoint group. For more information about security and permissions, see Security planning for sites and content (SharePoint Server 2010).

  2. Click Start, click All Programs, click Microsoft SharePoint 2010 Products, and then click SharePoint 2010 Central Administration.

    If a User Account Control dialog box appears, click Yes to continue.

  3. In the Central Administration site, in the Application Management section, click Create site collections.

  4. On the Create Site Collection page, in the Web Application section, confirm or select the Web Application for which you want to create a Business Intelligence Center.

  5. On the Create Site Collection page, specify the following settings:

    • In the Title and Description section, in the Title box, type a name for the Business Intelligence Center.

      For example, you can type BI Center in the Title box.

    • In the Web Site Address section, type a word or phrase in the URL box.

      For example, you can type BICenter in the box to specify a Web site address that resembles http://[webapplicationname]/sites/bicenter.

    • In the Template Selection section, click the Enterprise tab, and then click Business Intelligence Center.

    • In the Primary Site Collection Administrator section, specify an administrator for the site collection.

    Then click OK.

  6. On the Top-Level Site Successfully Created page, click the link for the Business Intelligence Center site that you just created to open it. Keep the Business Intelligence Center open.

Now that you have created a Business Intelligence Center site, the next step is to assign user permissions to control who can view and use business intelligence content. To view, edit, or create content in the Business Intelligence Center, users must have certain permissions assigned in SharePoint Server. In addition, users must have certain permissions assigned in the servers that store data that is used for dashboard content. For more information, see Authorization and permissions in PerformancePoint Services (SharePoint Server 2010).

We recommend as a best practice that you use SharePoint groups such as those that are described in the following table to help organize your roles.

Group | Description
BICenterRead | Users assigned to this group can view but not create or edit content in the Business Intelligence Center. This includes PerformancePoint content.
BICenterContribute | Users assigned to this group can view, edit, and create content in the Business Intelligence Center. This includes PerformancePoint content.
BICenterDesign | Users assigned to this group can view, edit, create, and publish dashboard content in the Business Intelligence Center. This includes PerformancePoint content and dashboards.
BICenterFullControl | Users assigned to this group can view, edit, create, and publish content in the Business Intelligence Center. This includes PerformancePoint content and dashboards. In addition, these users can view, edit, and assign user permissions for content in the Business Intelligence Center.

Begin by creating the Active Directory groups that you want for managing user permissions.

To create an Active Directory group

  1. Log on to the domain controller computer as the domain administrator.

  2. Click Start, click All Programs, click Administrative Tools, and then click Active Directory Users and Computers.

  3. In the Active Directory Users and Computers dialog box, right-click Users, click New, and then click Group.

  4. In the Group name box, type the name of the group that you are creating from the previous table.

  5. Click OK.

  6. Repeat for each group that is listed in the table that was mentioned earlier.

First, assign Read permissions to the BICenterRead group.

To set Read permissions on the Business Intelligence Center

  1. Navigate to the Business Intelligence Center. The Web site address (URL) resembles http://[webapplicationname]/sites/bicenter.

  2. Click Site Actions.

  3. Click Site Permissions.

  4. Click Grant Permissions.

  5. In the Users/Groups box, type BICenterRead.

  6. Under Grant Permission, select BICenter Visitors [Read].

  7. Click OK. Keep the Permissions: BICenter page open.

Next, assign Contribute permissions to the BICenterContribute group.

To set Contribute permissions on the Business Intelligence Center

  1. In the Permissions: BICenter page, click Grant Permissions.

  2. In the Users/Groups box, type BICenterContribute.

  3. Under Grant Permission, select BICenter Members [Contribute].

  4. Click OK. Keep the Permissions: BICenter page open.

The next step is to assign Design permissions to the BICenterDesign group.

To set Design permissions on the Business Intelligence Center

  1. In the Permissions: BICenter page, click Grant Permissions.

  2. In the Users/Groups box, type BICenterDesign.

  3. Under Grant Permission, select Designers [Design, Limited Access].

  4. Click OK. Keep the Permissions: BICenter page open.

Finally, assign Full Control permissions to the BICenterFullControl group.

To set Full Control permissions on the Business Intelligence Center

  1. In the Permissions: BICenter page, click Grant Permissions.

  2. In the Users/Groups box, type BICenterFullControl.

  3. Under Grant Permission, select BICenter Owners [Full Control].

  4. Click OK.

Now that you have created a Business Intelligence Center site and assigned user permissions, the next step is to configure it by adding a Documents library to the Quick Launch. The Documents library was automatically created when you created the Business Intelligence Center site. It contains sample Excel workbooks and serves as a central location for documents. These include Excel Services files.

To add the Documents library to the Quick Launch

  1. In the Business Intelligence Center site, click Site Actions, and then click View All Site Content.

  2. In the Document Libraries list, right-click Documents, and then click Copy shortcut.

  3. Return to the Business Intelligence Center site, click Site Actions, and then click Site Settings.

  4. In the Look and Feel section, click Navigation.

  5. In the Navigation Editing and Sorting section, click Current Navigation, and then click Add Link.

  6. In the dialog box that opens, type Documents in the Title box, paste the link that you copied in step 2, and then click OK to close the dialog box. (Do not close the navigation settings yet.)

  7. (This step is optional.) To move the Documents link in the Quick Launch up or down in the list, take the following steps:

    1. In the Navigation Editing and Sorting section, select Documents.

    2. Click Move Up or Move Down until Documents is positioned where you want it.

  8. Click OK to close navigation settings. Verify that Documents appears in the Quick Launch.

At this point, the Business Intelligence Center is created and configured.

Comparing the Business Intelligence Center site in SharePoint Server 2010 to the Report Center site in SharePoint Server 2007

The Report Center site is a SharePoint site that is available in Microsoft Office SharePoint Server 2007. The Report Center site is a central location where you can manage certain kinds of business intelligence content. This includes reports and dashboard pages that you create by using SharePoint Server. In SharePoint Server 2010, the Report Center site is replaced by the Business Intelligence Center site. That is, the Report Center site is not available in SharePoint Server 2010.

Tip:

If your organization is upgrading from Office SharePoint Server 2007 to SharePoint Server 2010, you cannot upgrade an existing Report Center site to a Business Intelligence Center. Instead, you can create a new Business Intelligence Center site, and then move your content from the Report Center site to that Business Intelligence Center site.

The Business Intelligence Center site that is available in SharePoint Server 2010 enables you to centrally store and manage even more dashboard content than the former Report Center site. You can store and manage content that is created by using multiple applications, such as PerformancePoint Services, Excel Services, and Visio Services. If SQL Server Reporting Services is integrated in your environment, you can publish Reporting Services reports to the same Business Intelligence Center site where your other business intelligence content resides. And, if PowerPivot for SharePoint is configured in your environment, you can publish PowerPivot workbooks to that same Business Intelligence Center site.

Important:

If SQL Server Reporting Services is installed on the same computer where SharePoint Server 2010 is installed, you cannot create a site or a documents library called Reports. This is also true if Reporting Services is configured to run in SharePoint Integrated mode on a computer where SharePoint Server 2010 is installed. As an alternative solution, you can take one of the following actions:

  • Use the default Documents library that is available in the Business Intelligence Center site

  • Create a site or a document library that uses a name other than Reports.

See Also

Concepts

Configuring a BI infrastructure: Hands-on labs
Business intelligence planning (SharePoint Server 2010)
Excel Services overview (SharePoint Server 2010)
PerformancePoint Services overview (SharePoint Server 2010)


Track and analyze sales by using a PerformancePoint dashboard (SharePoint Server 2010)
See Also

Published: March 17, 2011

This scenario provides detailed guidance on how to create a sample corporate sales dashboard that uses the business intelligence capabilities in Microsoft SQL Server 2008 R2, Microsoft SharePoint Server 2010, and Microsoft Office 2010. This scenario covers creating a dashboard that uses PerformancePoint to include various reports. These include a KPI details report, analytic bar and pie charts, Reporting Services report, Excel Services report, and a Web Page report. This scenario includes a document titled "Creating and Using a Sales Dashboard," which provides information to assist you to create a similar dashboard in your environment. The major sections of the document include the following:

  • Overview

  • Phase I: Preparing the Environment

  • Phase II: Planning the Dashboard

  • Phase III: Building the Dashboard

  • Phase IV: Using the Dashboard

  • Additional Resources

  • Cross-Functional Flowcharts

Download the document and scenario

Business Intelligence Dashboards: Sales Solution (http://go.microsoft.com/fwlink/p/?LinkId=213844)

See Also

Concepts

Plan, design, and implement a PerformancePoint dashboard
Create advanced PerformancePoint dashboards


Understanding business intelligence planning solutions and scenarios (SharePoint Server 2010)
See Also

Published: January 27, 2011

This section of articles contains direction and samples for developing a Business Intelligence (BI) solution with planning, budgeting and forecasting capabilities for Finance, HR, and other departments in an organization. The solution is architected to enable planning functions that include Write-back capabilities to Microsoft SQL Server Analysis Services (SSAS) cubes, SharePoint lists, and relational databases. These articles also demonstrate how the Microsoft platform can be used in developing financial calculations and business rules to link forms and reports data through Microsoft Excel 2010. Workflow and security are also included as functions to enable collaboration in a Microsoft SharePoint Server 2010 environment. Finally, building and maintaining a centralized data model will be covered as well.

Organizations today are under considerable pressure to make informed decisions daily. This not only requires establishing metrics that assesses what is happened in the past, but also requires an effective response to risks and opportunities by planning for the future.

Financial planning requires alignment with the rest of the organization to create plans that represent each business units' perspectives. Today, many companies still rely heavily on spreadsheets to create and collect data that is specific to their daily function, but that have no central data repository to plug into. Reconciling these spreadsheets manually can be a difficult task.

What Microsoft Office 2010 and SQL Server 2008 R2 offer is a suite of components and out of box functionalities that let companies to address some difficult challenges of planning, budgeting, and forecasting. Planning functionalities that are included on the Microsoft platform include the following:

  • Centralized data model with SQL Server 2008 R2Analysis Services.

  • Form and report authoring through Excel 2010 PivotTables.

  • Data entry and What-If analysis through Excel 2010 PivotTables.

  • Dimensional data modeling with PowerPivot for Excel 2010.

  • Online document storage and collaboration with security and workflow for forms and reports through SharePoint Server 2010.

The articles in this section outline the basic and sophisticated planning scenarios that Office 2010 and SQL Server 2008 R2 can support and gives guidance and on the steps that should be taken when you build a planning solution.

In this section:

  • Basic planning scenarios in BI planning solutions and scenarios

  • Solution requirements and architecture overview of BI planning solutions and scenarios

  • Performance considerations and approaches in BI planning solutions and scenarios

  • Planning the data mart for BI planning solutions and scenarios

  • Modeling in BI planning solutions and scenarios

  • Planning functionalities in BI planning solutions and scenarios

  • Deployment of BI planning solutions and scenarios

  • Planning guidelines for BI planning solutions and scenarios

See Also

Concepts

Basic planning scenarios in BI planning solutions and scenarios
Planning the data mart for BI planning solutions and scenarios
Planning modeling concepts in BI planning solutions and scenarios
Cube modeling for Write-back in BI planning solutions and scenarios
Performance considerations and approaches in BI planning solutions and scenarios
Cube modeling with Excel PowerPivot in BI planning solutions and scenarios
Create reports and forms for BI planning solutions and scenarios
Submit plan data for BI planning solutions and scenarios
Workflow actions, workflow diagram, and SharePoint workflow setup for BI planning solutions and scenarios
Audit tracking for BI planning solutions and scenarios
Administration for BI planning solutions and scenarios
Calculations for BI planning solutions and scenarios
Additional planning functions for BI planning solutions and scenarios
Migration for BI planning solutions and scenarios
Maintenance for BI planning solutions and scenarios
Corporate to subsidiary management for BI planning solutions and scenarios
Planning modeling and reporting guide for BI planning solutions and scenarios
Building planning functionalities guide for BI planning solutions and scenarios
Planning and budgeting calculation examples for BI planning solutions and scenarios


Basic planning scenarios in BI planning solutions and scenarios
See Also

Published: January 27, 2011

Microsoft Office 2010 presents some interesting support for basic planning and data entry for organizations. Planning and data entry scenarios relate to the capture of data that does not usually exist in line-of-business (LOB) or enterprise resource planning (ERP) software applications and include the following:

  • Data that relates to forward views (plans, budgets and forecasts) for an organization

  • Ad hoc data that is prepared and captured manually

For many years now Microsoft Excel was used extensively by Information Workers (IWs) to support both the previous requirements together with more sophisticated and complex business modeling activities.

In this article:

  • About planning scenarios

  • Benefits of the Business Intelligence platform

  • Scope of solution

About planning scenarios

Basic planning and data entry

  • Line managers have to provide data on the number of planned and forecasted new people hires.

  • Line managers have to provide data for their operational and expenditure (OPEX) plans and forecasts.

  • Marketing product managers have to provide comparative data that relates to market share, sales volumes, pricing, revenue and financial numbers on competitors and competitive products.

  • Managers have to provide data for targets for organizational key performance indicators (KPIs).

Sophisticated planning and data entry

  • An IW has to build a business model to let other managers to evaluate 'on the fly' the risk profile of how changes in business assumptions (for example, sale volumes, raw material prices, and so on) can affect profitability, cash flow and financial stability.

  • An organization has to enable IWs to enter new capital expenditure projects subject to assigned capital allowances and limits, and have management approve the projects that are based on comparative calculated project criteria.

  • An organization needs to enable procurement and plant managers to model the supply chain and production capacity based on worldwide demand sales volumes from the sales and marketing function in order to optimize profitability.

  • An organization needs to have weekly sales forecasts entered by their worldwide sales force of 2,000 salespeople with review and approval by the sales management team.

  • Complex security requirements for hundreds and upwards of thousands of users.

  • Large data submissions from IWs from hundreds of fact record updates to upwards of hundreds of thousands.

Other characteristics of basic versus sophisticated planning and data entry

If we consider the previous examples, there are some other aspects that distinguish basic and sophisticated planning and data entry scenarios. These include the following:

  • These scenarios do not incorporate many business calculations and rules compared with the amount of data being entered.

  • IWs are primarily entering data and do not need to generate calculated results based on the data entry.

  • IWs are entering numeric data and not entering new line items, product details, project details, new hire details.

  • The data the IWs are entering requires minimal or no review and approval process.

  • The model that is needed to support the data entry is a single model (typically a single sheet in an Excel spreadsheet); or to say it another way, the model has limited dimensionality of between two to five dimensions with relatively few members or items in each dimension.

  • These scenarios incorporate many calculation rules and with increased complexities. A single change in a data entry value may spawn a recalculation of the entire model. For example, a change in the value for an item such as 'Planned Sales Volume' will require sales revenues, volume based discounts, cost of sales and expenditure items based off volume to be recalculated. This in turn will then affect revenue levels, profit margins, cash flow, and more.

  • In sophisticated scenarios, IWs will often require a high degree of interactivity with calculated rules and results where they have to see calculated results as part of the data entry (What-if scenario)

  • In many situations involving people and project orientated planning, IWs have to enter not just the numeric data for the plan, but also add new people and projects and be able to change details, for example specifying a person's grade level.

  • Sophisticated planning and data entry scenarios will affect the potential business and financial outcome of an organization and it is very important that these scenarios are adequately reviewed at the data level by the management of the organization.

  • The modeling needed for sophisticated planning scenarios can have complexity that spans the following:

    • Multiple models, comparable to having multiple sheets in an Excel workbook and with linked Excel spreadsheets.

    • Having many dimensions (more than five and more than ten or more) per model to support the planning scenario together with dimensions that contain members or items ranging from tens of thousands to more than hundreds of thousands.

    • Varying detail of hierarchies; such as planning on product hierarchy at brand level and forecasting at SKU.

Benefits of the Business Intelligence platform

So what are the benefits and advantages of using Microsoft Office 2010 and SQL Server 2008 R2 for planning and data entry scenarios?

The important capability that Office 2010 and SQL Server 2008 R2 provide is enablement of data entry to a centralized data model, specifically SQL Server 2008 Analysis Services supported by the SQL Server relational database tables. Why is this important?

It is usual even in the most basic planning and data entry scenarios that organizations require more than one person entering data in to the same data entry form or template (usually an Excel spreadsheet). The implications for this include the following:

  • IWs have to create multiple workbooks to distribute to other IWs for data entry.

  • Data is potentially duplicated within each workbook.

  • Making changes and updates to a distributed spreadsheet model can be problematic, manual and time-consuming.

  • There is no data level security within the workbooks.

  • Data is stored individually in separate workbooks and has no central data storage capability.

  • Aggregating data from many distributed workbooks be problematic, manual and time-consuming.

  • The data that is collected from the process cannot be easily reused without manually manipulating it; for example, through copy and paste to other applications.

  • Business rules and organizational structures and assumptions implemented in each workbook adding risk to data quality.

So what are the benefits of using SQL Server as the centralized data model?

  • As previously highlighted SQL Server 2008 Analysis Services provides a centralized data model which makes it easier to maintain and update (by technical users) vs. distributed spread marts.

  • Data level security can be applied to the Analysis Services data model limiting which users are able to see which data and control over where they can enter data.

  • Analysis Services is the market leading OLAP engine and by including hierarchies within the dimensions, data is automatically aggregated.

  • Analysis Services supports many tools and data connectivity so the data that was entered and stored can be re-used with other applications.

  • Advantages for using Excel 2010 with Analysis Services for data entry and reporting including the following:

    • IWs use the familiar Excel for data entry through PivotTable with write-back capabilities.

    • IWs can design their own data entry forms against a consistent and prescribed data model. Note that in Excel 2010, creating pivot tables with a defined region for data entry, such as input area for a specified range of time periods is not natively available and must be done with a customization.

    • IWs can still use all the ad hoc capabilities that Excel offers.

Using SharePoint, document review and approval can be used for the process workflow.

Scope of solution

For the scope of these articles, we will design a solution around a set of planning scenarios for a fictitious company named AdventureWorks. The solution will be called AdventureWorks Planning.

The example companies, organizations, products, people, locations, and events depicted herein are fictitious. No association with any real company, organization, product, person, locations, or events is intended or should be inferred.

We will demonstrate how the solution built on the Microsoft 2010 platform can meet the following business requirements for our fictitious company

  • Planning, budgeting and forecasting will support concurrent data submission from at least 10 IWs.

  • Data security must be applied by geography.

  • Forecasting done at monthly detail, budgeting at yearly.

  • Fiscal year starts January of each year.

  • Data entry for forecasting is performed at product SKU level. (Note that you can also enter data at various levels of a hierarchy, such as at product brand level if the hierarchy is defined as client computer through use of the "data member" functionality of SSAS. In our solution, we will be demonstrating SKU level entry.)

  • Data entry done by different geographies and in different currencies.

  • Single financial view of organization in different currency types across all geographies. (currency conversion).

  • Load actuals from source system, forecast period to start after account period close and stretch to fiscal year end. Account period close changes each month.

  • HR department to update pay rates by pay grade on an annual basis.

  • Line managers to use pay grade assumptions to adjust and allocate new headcount.

See Also

Concepts

Basic planning scenarios in BI planning solutions and scenarios
Solution requirements and architecture overview of BI planning solutions and scenarios
Performance considerations and approaches in BI planning solutions and scenarios
Planning the data mart for BI planning solutions and scenarios
Planning modeling concepts in BI planning solutions and scenarios
Cube modeling for Write-back in BI planning solutions and scenarios
Cube modeling with Excel PowerPivot in BI planning solutions and scenarios
Create reports and forms for BI planning solutions and scenarios
Submit plan data for BI planning solutions and scenarios
Workflow actions, workflow diagram, and SharePoint workflow setup for BI planning solutions and scenarios
Audit tracking for BI planning solutions and scenarios
Administration for BI planning solutions and scenarios
Calculations for BI planning solutions and scenarios
Additional planning functions for BI planning solutions and scenarios
Migration for BI planning solutions and scenarios
Maintenance for BI planning solutions and scenarios
Corporate to subsidiary management for BI planning solutions and scenarios
Planning modeling and reporting guide for BI planning solutions and scenarios
Building planning functionalities guide for BI planning solutions and scenarios
Planning and budgeting calculation examples for BI planning solutions and scenarios


Solution requirements and architecture overview of BI planning solutions and scenarios
See Also

Published: January 27, 2011

This article contains information about solution requirements and an architecture overview for planning solutions and scenarios.

In this article:

  • Solution requirements

  • Building the solution

Solution requirements

Skill set requirements

  • Intermediate knowledge of SQL

  • Intermediate knowledge of Microsoft SQL Server 2008Integration Services for data integration

  • Intermediate understanding of OLAP concepts including star schemas and use of fact, dimension and hierarchy tables

  • Advanced knowledge of SQL Server 2008 Analysis Services

  • Intermediate knowledge of Microsoft Excel 2010 including on-sheet formulas and PivotTables

  • Intermediate knowledge of Excel 2010 with PowerPivot

Product requirements

  • Microsoft SQL Server 2008

  • Microsoft SQL Server Integration Services (SSIS)

  • SQL Server 2008 Analysis Services

  • Microsoft SQL Server Business Intelligence Development Studio

  • Microsoft SQL Server Management Studio

  • Microsoft Excel 2010

  • Microsoft SharePoint Server 2010

Building the solution

Solution architecture overview

We will use SQL Server Analysis Services 2008 (SSAS) as the data model to support the sophisticated planning scenarios as called out previously. By using SSAS, the solution will be able to manage data models with millions of fact records and complex business logic. IWs will be able to open Microsoft Office Excel 2010 workbook templates from a central SharePoint Server 2010 portal and use pre-configured Pivot Tables to read and update data back to the SSAS server. SharePoint workflow will be used to control the business process around planning. Security will be defined on the SSAS database using roles, with each user's security privilege limited to a particular set of geographies that they belong to. Business rules will be created and deployed to the SSAS cubes for IWs to consume seamlessly within Excel 2010 Pivot Tables for reports and data entry forms.

An alternative approach to data modeling in SSAS will be using Excel 2010 with PowerPivot and SharePoint Server 2010 to create data models in a workbook and publish to SharePoint for IWs to consume. Data security will be over the complete data model. End users will submit their plan data by modifying the shared workbook and saving it to SharePoint Server 2010. The PowerPivot model will be updated by creating linked tables associated to the PowerPivot model within the workbook. Collaboration on the data models will be maintained within the document library within the SharePoint environment. Note that this solution will best be suited for small teams of users, generally about five of so that users who can manage all the updates to the centralized workbook. This solution is not suited for corporate wide audience.

See Also

Concepts

Basic planning scenarios in BI planning solutions and scenarios
Solution requirements and architecture overview of BI planning solutions and scenarios
Performance considerations and approaches in BI planning solutions and scenarios
Planning the data mart for BI planning solutions and scenarios
Planning modeling concepts in BI planning solutions and scenarios
Cube modeling for Write-back in BI planning solutions and scenarios
Cube modeling with Excel PowerPivot in BI planning solutions and scenarios
Create reports and forms for BI planning solutions and scenarios
Submit plan data for BI planning solutions and scenarios
Workflow actions, workflow diagram, and SharePoint workflow setup for BI planning solutions and scenarios
Audit tracking for BI planning solutions and scenarios
Administration for BI planning solutions and scenarios
Calculations for BI planning solutions and scenarios
Additional planning functions for BI planning solutions and scenarios
Migration for BI planning solutions and scenarios
Maintenance for BI planning solutions and scenarios
Corporate to subsidiary management for BI planning solutions and scenarios
Planning modeling and reporting guide for BI planning solutions and scenarios
Building planning functionalities guide for BI planning solutions and scenarios
Planning and budgeting calculation examples for BI planning solutions and scenarios


Performance considerations and approaches in BI planning solutions and scenarios
See Also

Published: January 27, 2011

In this article:

  • Performance considerations

  • Security and roles

Performance considerations

Design and configuration

  • Keep the dimension sizes as small as is needed for the planning process.

  • Keep the number of dimensions used in a cube to the minimum required for planning.

  • Avoid MdxScript calculations when possible and make maximum use of client-side calculations such as on-sheet Excel or relational calculations that are scheduled to run periodically (that is currency conversion).

  • When using MdxScript rules, be thorough in checking not only logical correctness but also its performance. Sometimes the MdxScript statement can be modified to give large performance gains by writing it in slightly different but with the same logical equivalence.

  • Avoid computer hierarchies that are very deep.

  • Avoid complex MDX queries when you design reports and input forms. Queries that contain "WITH" statement and other calculated members will cause the Microsoft SQL Server Analysis Services (SSAS) computer to use limited caching logic and therefore result in less scale and performance

  • If working with a large set of data, create multiple partitions to best manage what static vs. volatile data.

  • Avoid cell level security inside role security definitions as caching logic will be limited when cell level security applies.

Form size, layout, and usage

  • Design forms (PivotTables) which make use of filters and slicers to limit the number of cells and query for the form (that is, do not design the form with all possible data entry visible but provide a filter or slicer so that the form layout (size) remains consistent from a layout point of view and is then pivoted by changing the slicer.

  • Having multiple PivotTables will increase the query and response time. Prescription is to limit the number of PivotTables both on the same sheet and in the same workbook.

  • When you design forms and reports, set the default for the filters to a lowest level member on the hierarchy. This will allow the default queries to forego unnecessary aggregations calculations on the cube.

  • Do not keep large changes on client-side (for example, within the write-back changes of Excel PivotTables) rather incrementally publish these changes to the server for optimal runtime performance of the SQL Server Analysis Services.

Support for remote users

  • Remote users on WAN might have slower network connection and response times. To service remote users, it might be better to do the following:

  • Provide them their own SQL/SharePoint instance in closer proximity to their physical location.

  • Provide them Remote Desktop Services access to Excel on a computer with a closer proximity to the SQL/SharePoint server.

For more information, see SQL Server 2008 White Paper: Analysis Services Performance Guide.

ETL considerations

ETL is the process of extracting data from source systems, transforming that data and loading it into the data model. SSIS_2nd_NoVer is Microsoft premier technology for working with ETL processes. Data integrators design SSIS packages by using Microsoft Business Intelligence Development Studio BIDS which includes the following benefits:

  • Access to a large library of built in ETL logic for such things as merging datasets, column lookups, error-handling, and so on.

  • Fast data transfers for data loading from source to destination.

  • UI to visualize the ETL process.

Planning ETL packages can be decomposed into the following areas:

  • Data import for dimensions, hierarchies, and facts.

  • Data export from fact tables back to source systems.

Data import

For our solution, we will create a staging table for each of the dimension, hierarchy, and fact tables that exist in our relational database. The staging tables will be used initially as the target table for loading data from the source system. It is possible to do ETL without using any staging tables at all, because SSIS has the capability of transforming most of the data in-memory and loading directly to the solution tables. However, the benefits of having staging tables include the following:

  • Snapshot the tables and relationships from the source system to facilitate working off a version of the data without risk of losing future access to the source system or be subject to unexpected data changes.

  • Easy audit of the staging data before pushing to the solution tables. For instance, you might decide to do a bulk load to all the solution tables only after someone checks over the staging tables for correctness.

Once data is loaded to staging tables and the necessary transformations are completed, then the process of loading from the staging to the solution tables can begin. By using SSIS, loading from staging to solution tables can be as easy as mapping the columns from the source table to the columns of destination table. SSIS provides a very powerful set of features for ETL, and the reader is encouraged to read further on the topic here, the White Paper: Introduction to SQL Server 2008 Integration Services.

Tip:

Turn the SQL recovery model to simple when performance ETL. This will improve performance as it will reduce the overhead of unnecessary logging on the database.

Data export

It is typical in most scenarios that after a planning process is complete, the results must be collected and processed for export back to the source system where the data will be persisted and made available for reporting requirements.

In our solution, because the data is already stored in the fact tables in a normalized manner, preparing the data for export only requires some simple joins with the dimension tables.

Data export however, can become slightly trickier when the data that you want to export does not exist in your fact table at all and rather, only exists as calculations on the cube. How to overcome this scenario? The answer is to use ad-hoc distributed queries against the OLAP cube. (For more information, see Planning modeling and reporting guide for BI planning solutions and scenarios.

Security and roles

Security should be defined on the SSAS database through security roles. For optimal performance, it is best to keep security as simple as possible.

The highest level of security is the database security and we recommend that each IW that requires access to the data model have at least 'read definition' to the database.

The second broadest level of security is defined on the cube and this controls where individual cubes are read-only or read/write capable or inaccessible.

The next level of security is defined on dimensions. You can choose to let particular members of a dimension to be visible or hidden. It is recommended that you stop at dimension security for optimal performance from the SQL Server Analysis Services.

If you define security to the lowest level of access it would be at the cell level. Performance will be adversely affected as caching logic would be severely limited on queries from any user who have cell level security defined.

You can create security roles on your SQL Server Analysis Services database by using Microsoft SQL Server Business Intelligence Development Studio (BIDS).

It is important to be aware that BIDS can perform defining highly complex configurations to security and may require more technical expertise for an admin to set up and maintain. However, this can be a good area for customization where security may be defined elsewhere, either with a structured spreadsheet or linked table from SharePoint that can then be feed into a translation module and ultimately updates the OLAP security accordingly.

Complex security

Dynamic security for SQL Server 2008 Analysis Services can also be set up for cases in which standard SQL Server Analysis Services roles are insufficient to cover all the complex relationships that exist. The scenario occurs when

  • Each IW requires access to a specific set of dimensions members

  • There are few overlaps in dimensional security requirements, that is there are many unique combinations of dimension members assigned to different IWs.

See Also

Concepts

Basic planning scenarios in BI planning solutions and scenarios
Planning the data mart for BI planning solutions and scenarios
Planning modeling concepts in BI planning solutions and scenarios
Cube modeling for Write-back in BI planning solutions and scenarios
Performance considerations and approaches in BI planning solutions and scenarios
Cube modeling with Excel PowerPivot in BI planning solutions and scenarios
Create reports and forms for BI planning solutions and scenarios
Submit plan data for BI planning solutions and scenarios
Workflow actions, workflow diagram, and SharePoint workflow setup for BI planning solutions and scenarios
Audit tracking for BI planning solutions and scenarios
Administration for BI planning solutions and scenarios
Calculations for BI planning solutions and scenarios
Additional planning functions for BI planning solutions and scenarios
Migration for BI planning solutions and scenarios
Maintenance for BI planning solutions and scenarios
Corporate to subsidiary management for BI planning solutions and scenarios
Planning modeling and reporting guide for BI planning solutions and scenarios
Building planning functionalities guide for BI planning solutions and scenarios
Planning and budgeting calculation examples for BI planning solutions and scenarios


Planning the data mart for BI planning solutions and scenarios
See Also

Published: January 27, 2011

In this article:

  • Schema and layout

  • Models for solution

  • Creating dimension tables

  • Creating hierarchy tables

  • Creating fact tables

Schema and layout

The data mart will be created by using SQL Server 2008 R2 relational server to serve as the single point of record for IWs, with all data coming into the data mart strictly controlled. The data mart will be used by the SSAS server as the central data source for all cubes, dimensions and hierarchies. Three kinds of tables will be needed to support the SSAS data model and include dimension, hierarchy, and fact.

Note:

It is possible for a cube to use more than one fact table. This can be achieved through partitioning on the measure group and also by using more than one measure group within the cube.

We will create the following models to support the data models needed for the planning process. These models will dictate the number of tables that we will exist within our data mart.

Models for solution

  • Forecast: This model will be primarily used to capture data entry for forecast s of revenue and operational expense for the forward looking periods.

  • Account: The account dimension will contain the chart of accounts, which shows revenue and expense items for forecasting

  • Scenario: The scenario dimension will partition the data between 'Actual' and 'Forecast'

  • Time: The time dimension will determine the fiscal periods for the forecast.

  • Geography: The geography dimension will be used to control the data entry process by each IW. Individual IWs from each geography will perform data entry in their local currencies.

  • Product: The product dimension is used to represent the full list of active and available products. Revenue will be forecasted by product.

  • HR Budget: This model will be used by line managers to budget expected headcount for the fiscal year. IWs will interact with this model by entering in expected hours worked and pay grade classification for each resource. A what-if analysis will be run to determine how much budget will be required for payroll based on changes in the assumptions.

  • Metric: This dimension will store members such as 'Hours Worked', 'Pay Grade', 'Total Compensation', and so on

  • Geography: The location that will receive the resource.

  • Time: Budget for headcount to be done at the year level.

  • Employee: A list of existing resources and new TBH placeholders.

  • Pay Rates: This model is used to set the base pay rates for the year. The pay rates information will be fed into the HR Budget model as base assumption data for use in calculations.

  • Time: Pay rates are entered at the year level.

  • Pay Grade: A list of pay grades that will determine the base salary.

  • Exchange Rates: The exchange rate model is used to determine the currency conversion rates to use by month when it converts data from the forecast model into the financial consolidation model. Since data is entered into each geography by its local currency, the exchange rate table will be used for currency translation rules and data flow packages.

  • Time: Exchange rates are entered in by month.

  • SourceCurrency: The source currency of a conversion.

  • DestinationCurrency: The destination currency of a conversion.

  • Financial Consolidation: The financial consolidation model is used for financial reporting using a single currency across all geographies.

  • Account: Consolidated chart of accounts.

  • Scenario: Will contain 'Actual' and 'Forecast'

  • Time: The lowest level of granularity will be months

  • Geography: All the geographies that have P&L

  • Currency Type: View the data either in reporting currency (EUR) or in the local currency, in which case is determined by the currently selected geography in filter.

With a good understanding of the models that are needed, we can set up the data store. Here we will have five fact tables and the appropriate dimension and hierarchy tables. These tables will be arranged in a star schema with the fact tables sitting at the center and the dimension and hierarchy tables forming the outer points of the "star" schema. By defining relationships via foreign keys between the fact tables, dimensions and hierarchy in the data store, we can quickly generate the data source view in SSAS when it comes time to building out our cubes and dimensions.

Creating dimension tables

Dimensions are the building blocks of any multidimensional database. Grouping a set of dimensions together will form the general basis for a cube. Dimension tables store data of a particular kind together. For example, you have a dimension table to store all the account members together, with each row of the table representing a unique account member of the dimension. Dimension tables can also store any related properties together via table columns. For example, on the Account dimension we have a column called 'AccountType' that stores the particular account type for the dimension member.

MemberId | MemberLabel | MemberName | SortOrder | AccountType | ExpenseType
1 | 3100 | Sales Revenue | 100 | Income | not applicable
2 | 3200 | Other Operating Revenue | 200 | Income | not applicable
3 | 8100 | Interest Revenues | 300 | Income | not applicable

MemberId | MemberLabel | MemberName | SortOrder | Input Currency | Target Currency
1 | SEA | Seattle | 100 | USD | USD
2 | OLY | Olympia | 200 | USD | USD
3 | SPK | Spokane | 300 | USD | USD

Recommendation

We recommend that the following fields be created for a dimension table:

Id: We recommend that dimension keys be of integer type (TinyInt, SmallInt, Int, BigInt) versus any other type for optimal performance. Please refer to the performance section for additional reading. Also, use the most appropriate data type based on the sizing of the dimension.

Label: Use a unique code for the caption/name display of a dimension member. Keeping this unique will let you author cube based rules using MdxScript that is human readable versus member specification using key value notation, such as '&[key]'.

Name: All too often end-users will want to see members of a dimension with a friendly name instead of the label code. For instance, in our solution we have account codes used in label which will makes sense when authoring calculation rules but not when they are displayed in a PivotTable. Creating this property ensures you can easily update display names without affecting any underlying logic to rule definitions.

Order: It is a good idea to have a sort column that can be used by the dimension to determine the ordering of the dimension members.

Dimension tables for planning scenarios typically do not exceed 200,000 members. If you are working with dimensions that have become very large, we recommend that you trim down the dimension. Any data associated to dimension members that are trimmed can be aggregated together and feed to other dimension members. As a rule, the smaller the dimensions, the better the planning cubes will perform overall.

Note:

Dimension columns and member properties are closely related.

Creating hierarchy tables

Hierarchy tables are needed when you use the Parent-Child hierarchy feature in SSAS. The parent-child hierarchy should use three columns, key (which represent a member of the hierarchy's dimension), parent key (another member from the same dimension) and sort column for ordering of the members in a level of the hierarchy. Most parent-child hierarchies are supported by these 3 columns except when it requires custom member aggregation. For example, a chart of accounts will need custom aggregation to be defined. Account aggregations are determined by each account member's account type and their respective parent account member. To support hierarchies requiring custom aggregation, we must create a fourth column. That column, the Unary Operator column will contain the following values, +, - and ~ with + meaning aggregate to parent, - meaning subtract from parent and ~ meaning ignore aggregation to parent.

Id | Parent Id | Sort Order | Unary Operator | Label | Name
1 | 102 | 100 | + | 3100 | Sales Revenue
2 | 102 | 200 | + | 3200 | Other Operating Revenue
3 | 103 | 300 | + | 8100 | Interest Revenues
4 | 103 | 400 | + | 9100 | Gain on Sale of Assets

Id | Parent Id | Sort Order | Label | Name
1 | 4 | 500 | SEA | Seattle
2 | 4 | 700 | OLY | Olympia
3 | 4 | 600 | SPK | Spokane

Level-based hierarchies are created based on the columns defined on a dimension. The columns of a relational table can construct attribute hierarchies in SSAS. Defining relationships between attribute hierarchies will let you create efficient level based hierarchies. For the time being, it will be sufficient to include all the related properties of a dimension as columns on the dimension table when it comes time to level based hierarchies in SSAS.

For more information, see Hierarchies and Levels.

Creating fact tables

Fact tables store all the numeric data for a cube. The number of columns in a fact table will vary depending on how many dimensions are associated to the cube. For instance, the Forecast cube has 7 columns, with 6 columns representing each dimension that relates to the forecast cube and one to store the number value. The column that stores the numeric value is called the 'measure.' In our solution, we use only one measure for the fact table.

Each column other than the measure column is related to a dimension via its key. In the following example, we see that the HR Budget model has five dimensions that relate to the fact table, and each row of the fact table represents a single fact record. It is good practice to avoid any duplicate values in the fact records on the dimension keys, for example if we have the same value across all the dimension keys on multiple fact rows. If this is the case, combine the value into a single row.

Rowld | Metric ID | Geography ID | EmployeeID | TimeID | Value
1 | 2 | 15 | 1010 | 20100000 | 2000
2 | 2 | 15 | 1009 | 20100000 | 2000
3 | 2 | 15 | 1008 | 20100000 | 2000

Rowld | Account ID | TimeID | ScenarioID | Geography ID | ProductID | VersionID | Value
1151 | 1 | 20100200 | 1 | 1 | 232 | 1 | 1391
1153 | 1 | 20100400 | 2 | 1 | 232 | 1 | 1124
1155 | 1 | 20100600 | 2 | 1 | 232 | 1 | 1322

See Also

Concepts

Basic planning scenarios in BI planning solutions and scenarios
Planning the data mart for BI planning solutions and scenarios
Planning modeling concepts in BI planning solutions and scenarios
Cube modeling for Write-back in BI planning solutions and scenarios
Performance considerations and approaches in BI planning solutions and scenarios
Cube modeling with Excel PowerPivot in BI planning solutions and scenarios
Create reports and forms for BI planning solutions and scenarios
Submit plan data for BI planning solutions and scenarios
Workflow actions, workflow diagram, and SharePoint workflow setup for BI planning solutions and scenarios
Audit tracking for BI planning solutions and scenarios
Administration for BI planning solutions and scenarios
Calculations for BI planning solutions and scenarios
Additional planning functions for BI planning solutions and scenarios
Migration for BI planning solutions and scenarios
Maintenance for BI planning solutions and scenarios
Corporate to subsidiary management for BI planning solutions and scenarios
Planning modeling and reporting guide for BI planning solutions and scenarios
Building planning functionalities guide for BI planning solutions and scenarios
Planning and budgeting calculation examples for BI planning solutions and scenarios


Modeling in BI planning solutions and scenarios

Published: January 27, 2011

In this section:

  • Planning modeling concepts in BI planning solutions and scenarios

  • Cube modeling for Write-back in BI planning solutions and scenarios

  • Cube modeling with Excel PowerPivot in BI planning solutions and scenarios


Planning modeling concepts in BI planning solutions and scenarios
See Also

Published: January 27, 2011

In this article:

  • Creating the data source view

  • Dimensions and hierarchy considerations

Creating the data source view

Note:

For an example of all five data source views used in the sample application, and for more information about the planning data warehouse, see Planning modeling and reporting guide for BI planning solutions and scenarios.

Dimensions and hierarchy considerations

Dimension and hierarchy sizing and recommendations

The size of a dimension depends on the number of members and its properties. When creating a dimension, we recommend that you limit the number of attribute hierarchies as this improves the processing performance of SSAS. Also, by keeping the members of the dimension to the minimally required for planning, which results in small cube spaces, better query performance will be achieved overall.

Sometimes it helps to combine two separate dimensions into one for both navigational and performance improvements. The combined dimension would then act as a valid combination of the two dimensions and a navigational hierarchy can be created to aid in filter logic. For example, take the two dimensions 'Geography' and 'Department'. The combined dimension can be called 'Geography Department' and with a unique label code generated based on a combination of geography and department codes. The combined dimension can result in both an improvement in the navigational usage and in the dimensionality of the cube space.

When using parent-child hierarchies, we recommend that you limit the number of levels in the hierarchy. The more levels there are in a parent-child hierarchy, the more work the SSAS server must do when answering queries. This is because queries that require data from intermediate levels on the hierarchy must be calculated dynamically. The more levels there are on the parent-child hierarchy, the more calculations have to be computed.

Parent-child hierarchies are very useful for planning scenarios. Each member can be easily configured to show the full details of member properties across all the members of the hierarchy.

Use of dimension vs. measures

For planning needs, a single measure on a measure group is sufficient. Additional measures can be defined as dimension members that then act as unique slices for storing additional data in a cube. What are the benefits of a single fact measure?

  • Avoid the need to change the fact table when you are adding additional measures.

  • Cleaner fact table design, one row of fact equals one fact record.

See Also

Concepts

Basic planning scenarios in BI planning solutions and scenarios
Planning the data mart for BI planning solutions and scenarios
Planning modeling concepts in BI planning solutions and scenarios
Cube modeling for Write-back in BI planning solutions and scenarios
Performance considerations and approaches in BI planning solutions and scenarios
Cube modeling with Excel PowerPivot in BI planning solutions and scenarios
Create reports and forms for BI planning solutions and scenarios
Submit plan data for BI planning solutions and scenarios
Workflow actions, workflow diagram, and SharePoint workflow setup for BI planning solutions and scenarios
Audit tracking for BI planning solutions and scenarios
Administration for BI planning solutions and scenarios
Calculations for BI planning solutions and scenarios
Additional planning functions for BI planning solutions and scenarios
Migration for BI planning solutions and scenarios
Maintenance for BI planning solutions and scenarios
Corporate to subsidiary management for BI planning solutions and scenarios
Planning modeling and reporting guide for BI planning solutions and scenarios
Building planning functionalities guide for BI planning solutions and scenarios
Planning and budgeting calculation examples for BI planning solutions and scenarios


Cube modeling for Write-back in BI planning solutions and scenarios
See Also

Published: January 27, 2011

In this article:

  • Cube sizing and recommendations

  • Use of measure groups

  • Use of Write-back table and considerations

  • Multi-user Write-back

  • Use of partitions and cube settings (MOLAP/ROLAP)

  • Use of proactive caching

Cube sizing and recommendations

Properly designed cubes will have many considerations taken into account. These considerations will impact the size and overall performance of the cube.

Avoid putting all logic into a single massive cube using all available dimensions. Not only does this make the cube unnecessarily large but it also makes it very hard to maintain and difficult to consume by IWs.

Use MOLAP partitions for non-volatile data.

Load data that is relevant to the planning process. Avoid loading all available data from a source system into your planning cubes. Separate out the data that is needed for the core planning with what is needed in reporting. Planning cubes will need to perform many what-if scenarios and the smaller the cube, the better overall experience for all IWs

Pre-calculate fact data whenever possible so as to avoid needing MdxScript rules to run and calculate. Reporting cubes are ideal candidates for pre-calculating the result directly to the fact table. This technique will lead to better query performance and scale

Use of measure groups

Measure groups are useful to group data that have the same dimensionality together within a single cube. For instance, data in the HR Budget cube is distributed across two measure groups, one for the budget data that have dimensionality of 'Geography', 'Metric', 'Time' and 'Employee' while the assumption data has dimensionality of 'Pay Grade' and 'Time.' Keeping the data at the dimensionality will result in better cube design, better and easier to manage rules and increased performance.

Use of Write-back table and considerations

In Microsoft SQL Server 2008 Analysis Services (SSAS), write-back tables with MOLAP storage have been improved to deliver faster data updates from user interaction. The write-back table will store a running delta for each cell update made by the IW. The write-back table will store all user updates to the cube including an audit trail of who submitted what and when.

To configure your measure group to have a partition for writeback, set up a MOLAP partitioning dedicated for write-back scenario. (For more information, see Planning modeling and reporting guide for BI planning solutions and scenarios.)

Value_0 | MemberId_1 | MemberId_2 | MemberId_3 | MemberId_4 | MemberId_5 | MemberId_6 | MS_Audit_Time_7 | MS_Audit_User_8
82.27 | 1 | 20100500 | 2 | 12 | 210 | 1 | 11:11:34 PM | CORP\jeffwan
82.27 | 1 | 20100500 | 2 | 13 | 210 | 1 | 11:11:34 PM | CORP\jeffwan
-12997.73 | 1 | 20100500 | 2 | 14 | 210 | 1 | 11:11:34 PM | CORP\jeffwan

Multi-user Write-back

Multi-user write-back is supported with writeback tables in SQL Server Analysis Services. The behavior of having multiple IWs writing data into the same slice is last person wins. All data entry by IWs will have their transactions audited by the writeback table.

It is recommended that the data entry process is configured in such a way that each IW submits and updates data in their own unique slice of data within the cube. This will lead to better data accountability and an improved user experience overall as data submitted by one IW is not arbitrarily lost or overwritten by another IW's submission.

Use of partitions and cube settings (MOLAP/ROLAP)

MOLAP storage for partitions will enables the best query time performance in SQL Server Analysis Services. MOLAP storage is ideal for data that is non-volatile, or to put in another way that is static and non-changing. Static data in this sense refer to the underlying fact values not changing from such processes as rule execution, data load and or user entry. Data that is 'Actual' and data that is considered 'Historic' are great candidates for storing together in a MOLAP partition. Static data can be processed once and will not requiring future processing unless there is a change to the partition's data. This can be helpful when you process of large partitions can take considerable time.

Data that is volatile and requires near real time data updates should consider using ROLAP as the storage mechanism for the partition. ROLAP will give the most up to date data when queried upon. You can configure the storage mechanism of each partition to be different depending on the kind of data that it will store, whether static or volatile.

For more information about MOLAP/ROLAP partition settings, see Planning modeling and reporting guide for BI planning solutions and scenarios.

Use of proactive caching

In planning solutions, data can be updated in many ways, including the following:

  • End-user data submission

  • Data loads for new and updated data

  • Updates from business rule calculations done at the relational level

Here we will explore a useful feature in SQL Server Analysis Services that enables automatic data updates for the cube when data changes on the underlying data source. Proactive caching is a great feature that automates bringing in new updates to the cube. We will show how this can be configured on a partition of the cube to detect changes from our SQL Server 2008 relational fact table by using change notification.

Note:

To configure proactive caching for planning cube, see Planning modeling and reporting guide for BI planning solutions and scenarios. For more information, see Proactive Caching (Partitions).

See Also

Concepts

Basic planning scenarios in BI planning solutions and scenarios
Planning the data mart for BI planning solutions and scenarios
Planning modeling concepts in BI planning solutions and scenarios
Cube modeling for Write-back in BI planning solutions and scenarios
Performance considerations and approaches in BI planning solutions and scenarios
Cube modeling with Excel PowerPivot in BI planning solutions and scenarios
Create reports and forms for BI planning solutions and scenarios
Submit plan data for BI planning solutions and scenarios
Workflow actions, workflow diagram, and SharePoint workflow setup for BI planning solutions and scenarios
Audit tracking for BI planning solutions and scenarios
Administration for BI planning solutions and scenarios
Calculations for BI planning solutions and scenarios
Additional planning functions for BI planning solutions and scenarios
Migration for BI planning solutions and scenarios
Maintenance for BI planning solutions and scenarios
Corporate to subsidiary management for BI planning solutions and scenarios
Planning modeling and reporting guide for BI planning solutions and scenarios
Building planning functionalities guide for BI planning solutions and scenarios
Planning and budgeting calculation examples for BI planning solutions and scenarios


Cube modeling with Excel PowerPivot in BI planning solutions and scenarios
See Also

Published: January 27, 2011

In this article:

  • Modeling with PowerPivot

  • Connect to a relational database

  • Select dimensions and facts

  • Manage table relationships

  • Publish to SharePoint

Modeling with PowerPivot

An alternative to data modeling in Microsoft SQL Server 2008 Analysis Services (SSAS) is to build the multidimensional model directly in Microsoft Excel 2010 by using PowerPivot. PowerPivot provides the ability for users to build sophisticated data models from the familiar Excel environment that most IWs are comfortable with. Some considerations to note when you are building PowerPivot models including the following:

  • PivotTables do not support write-back to PowerPivot models.

  • Security is defined over the workbook and not on particular slices of PowerPivot data.

  • No support for parent child hierarchies.

PowerPivot is designed for the group of users that want to work with data directly. Assuming that IWs have access to pre-scrubbed data, PowerPivot provides the mechanism for self-modeling or self-service BI.

We build the Forecast cube with PowerPivot with the same dimensionality as the one we have for the SQL Server 2008 Analysis Services cube. To do this, we will take advantage of several of the tables that we have previously defined in our relational data model. These include the dimension and fact tables.

Note that we can basically borrow the same see comment-dimensional design from our SQL Server 2008 Analysis Services-based cube for use in our PowerPivot model, with the main exception being there is no native support for parent child hierarchies. When we have to show a Chart of Accounts, we can use Data Analysis Expression (DAX) to emulate the necessary account aggregations for use in the PowerPivot model.

The overview of the process to build a PowerPivot model from the relational tables we have includes the following:

  • Connect to relational database.

  • Select the appropriate dimension and fact tables.

  • Design table relationships.

  • Publish to Microsoft SharePoint Server 2010.

Connect to a relational database

With PowerPivot client Add-in installed within Excel 2010:

  1. Start the PowerPivot window under the PowerPivot tab.

  2. From the Home tab, click From Database, and then click From SQL Server.

Select dimensions and facts

For the Forecast model, we will bring in the following tables to our PowerPivot model:

  • D_Account

  • D_Geography

  • D_Product

  • D_Scenario

  • D_Time

  • F_Forecast_CoreMG_Writeback

Manage table relationships

Next, we will define the relationships between our fact tables with all the related dimension tables. The MemberId columns are the primary keys on the dimension tables, whereas the fact table contains 5 foreign keys relating back to the dimension tables.

When the data model in PowerPivot is complete, you can immediately start to explore by using PivotTables. Here you can select what you want to see on rows, columns, slicers and data. A very nice feature in PowerPivot PivotTable is the slicers that let you quickly filter down the data that is relevant to you.

Publish to SharePoint

Using SharePoint Server 2010PowerPivot Gallery, IWs can store data models created by PowerPivot. By using PowerPivot models, IWs can build dashboards, reports and scorecards. The same goes for building forms to support functions of planning, budgeting and forecasting. As called out previously, PowerPivot does not natively support many planning based scenarios such as PivotTable writeback to the underlying data model.

Once the model is complete and ready to be published on SharePoint, the model can be saved directly to the URL of the PowerPivot Gallery location. IWs can consume the shared data model either by creating a workbook off the shared data model or directly updating the PowerPivot workbook.

See Also

Concepts

Basic planning scenarios in BI planning solutions and scenarios
Planning the data mart for BI planning solutions and scenarios
Planning modeling concepts in BI planning solutions and scenarios
Cube modeling for Write-back in BI planning solutions and scenarios
Performance considerations and approaches in BI planning solutions and scenarios
Cube modeling with Excel PowerPivot in BI planning solutions and scenarios
Create reports and forms for BI planning solutions and scenarios
Submit plan data for BI planning solutions and scenarios
Workflow actions, workflow diagram, and SharePoint workflow setup for BI planning solutions and scenarios
Audit tracking for BI planning solutions and scenarios
Administration for BI planning solutions and scenarios
Calculations for BI planning solutions and scenarios
Additional planning functions for BI planning solutions and scenarios
Migration for BI planning solutions and scenarios
Maintenance for BI planning solutions and scenarios
Corporate to subsidiary management for BI planning solutions and scenarios
Planning modeling and reporting guide for BI planning solutions and scenarios
Building planning functionalities guide for BI planning solutions and scenarios
Planning and budgeting calculation examples for BI planning solutions and scenarios


Planning functionalities in BI planning solutions and scenarios

Published: January 27, 2011

In this section:

  • Create reports and forms for BI planning solutions and scenarios

  • Submit plan data for BI planning solutions and scenarios

  • Workflow actions, workflow diagram, and SharePoint workflow setup for BI planning solutions and scenarios

  • Audit tracking for BI planning solutions and scenarios

  • Administration for BI planning solutions and scenarios

  • Calculations for BI planning solutions and scenarios

  • Additional planning functions for BI planning solutions and scenarios


Create reports and forms for BI planning solutions and scenarios
See Also

Published: January 27, 2011

About creating reports and forms

Financial planning forms and reports can be created from multidimensional data models by using Microsoft Excel 2010 PivotTables. Here we will define forms as planning PivotTables used in collecting plan data while reports are read-only PivotTables and used primarily for reporting. Our focus here will be on plan forms. It is important to be aware that we have two kinds of PivotTables, one that comes natively in Excel 2010 and one that is part of the PowerPivot Add-in. Here we will look at the holistic benefits of that include both kinds of PivotTables. Benefits of forms and reports authoring in Excel 2010 include the following:

  • Write-back enabled PivotTables let IWs publish updates to SQL Server Analysis Services cubes.

  • "What-if" capability let IWs evaluate 'on the fly' changes against SSAS cubes.

  • Enable spreading and allocation entry against SSAS cubes.

  • PivotTable Sets for authoring of common axis definitions (row, column, etc.) for easy reuse in other forms and reports.

  • Support for MDX against SSAS cubes when you define sets.

  • Publish to SharePoint for web reporting requirements.

  • Full access to native Excel formatting capabilities.

  • Familiar Excel environment for IWs to work in.

However, some considerations to be aware of include the following:

  • PivotTable writeback provides little control on what areas should be available for input. Designers may have to manually update regions on the PivotTable to show availability of input but cannot prevent data entry to those areas unless secured through SSAS security.

  • Using security to define updateable data regions in PivotTable can result in more difficult to maintain security setups.

  • Authoring of dynamic expressions for row and column definitions can be difficult. Single member select capability on dimensions can be tiresome and tedious.

  • Lack of ability for IWs to view all changes currently made to data model could lead to confusion as to what is ultimately being published.

  • No ability to submit annotations together with financial data updates

In this section, we will focus on authoring a sample form to demonstrate some flexibility found within Excel's Pivot Table designer. The outline of how to create our sample form is as follows:

PivotTable creation

  1. Establish connection to data model.

  2. Create PivotTable.

  3. Design sets by using MDX.

  4. Design Layout.

  5. Publish to SharePoint.

Connect to data model

  1. Before you create a form, first establish a connection with the data model. Connect to the SQL Server 2008 Analysis Services server from Excel and view the available cubes that you can use for planning.

  2. For a sample form, connect to the Forecast cube from the "AdventureWorks Planning" database.

We can also establish a connection to our PowerPivot model to build our form. First open the workbook file that stores the PowerPivot model, this can be from either your local client computer or from a SharePoint PowerPivot Gallery. Start by inserting a PivotTable at a desired location on the spreadsheet. Next, select Existing Connection, where you can select which local PowerPivot model to create a form from. Once selected, we can start to build our form.

Create PivotTable

A PivotTable is created by defining its axis. The axes for a PivotTable include Row, Column, Filter and Data. We start by selecting from our data model, the appropriate dimensions and properties to position on each of our axis by using the PivotTable Field List selection. For our sample form, we have the data shown in the following table.

Row | Column | Filter | Data
Product.ProductGroup | Time | Geography | Value
Product.ProductSubGroup |  | Scenario |
Product.MemberName |  | Account |

Considerations when you build plan form include the following:

  • Use the Report Layout as 'Show in Tabular Form.' This allows for clear labeling on row headers and provided for a compact format for data displayed on the form

  • Use PivotTable sets for creating asymmetric layouts such as on columns, where 'Actual' is for the first three months followed by 'Forecast' for the remaining months of the year. Saving the column definition to sets will allow for easy reuse by other forms.

  • Use the PivotTable's options for display to suppress empty rows by de-selecting 'show items with no data on row'

  • As a general form design rule, it is usually a good idea to keep large contiguous input ranges together instead of having multiple sections broken out with large spaces in-between. This is especially true when the plan data has contiguous data regions with similar calculation logic. Why is this important? IWs will often use Excel drag and fill when filling our formulas on the sheet and by keeping contiguous input section together, This allows for for easier usage by IWs.

Custom MDX forms

For generating more customized reports off the Analysis Service cubes, IT specialists can use MDX to develop a form through PivotTable Sets. We start PivotTable Sets by selecting Fields, Items, & Sets under Calculations of PivotTable Tools, and then select Manage Sets. Here we can create a new set for rows, columns and filters by pasting in our pre-defined MDX.

Once we have finished creating our sets, we can go back to the PivotTable Field List and use these sets to define our Row, Column and Filter fields.

Design layout

With PivotTable Design, we can build custom formatted forms that show the data in the most appropriate format for input. Here, for our planning scenario, we will color code with white the sections that are read-only, apply yellow for sections that are for plan input and gray for sections that are calculated.

Excel 2010 provides a rich format editor that can be leveraged to perform various formatting capabilities.

See Also

Concepts

Basic planning scenarios in BI planning solutions and scenarios
Planning the data mart for BI planning solutions and scenarios
Planning modeling concepts in BI planning solutions and scenarios
Cube modeling for Write-back in BI planning solutions and scenarios
Performance considerations and approaches in BI planning solutions and scenarios
Cube modeling with Excel PowerPivot in BI planning solutions and scenarios
Create reports and forms for BI planning solutions and scenarios
Submit plan data for BI planning solutions and scenarios
Workflow actions, workflow diagram, and SharePoint workflow setup for BI planning solutions and scenarios
Audit tracking for BI planning solutions and scenarios
Administration for BI planning solutions and scenarios
Calculations for BI planning solutions and scenarios
Additional planning functions for BI planning solutions and scenarios
Migration for BI planning solutions and scenarios
Maintenance for BI planning solutions and scenarios
Corporate to subsidiary management for BI planning solutions and scenarios
Planning modeling and reporting guide for BI planning solutions and scenarios
Building planning functionalities guide for BI planning solutions and scenarios
Planning and budgeting calculation examples for BI planning solutions and scenarios


Submit plan data for BI planning solutions and scenarios
See Also

Published: January 27, 2011

Analysis Services cubes

In Excel 2010, IWs are able to make updates to SSAS cubes via writeback enabled PivotTables. IW updates are strictly controlled by SSAS role security, with data input enabled only to regions that are write-enabled. To set your form to be write-back enabled, select "What-if Analysis" under PivotTable tools, and then select Enable What-If Analysis.

There is also an option for either manual or automatic re-calculation as IWs enter inputs to the form. By selecting automatic re-calculation, each change made on the form will trigger a 'What-If analysis' on the cube. This is useful when you want to see the immediate results of changing your values on the form but can have some performance effects. It is recommended that if you have a multi-user plan process that this option should be set to manual so that less re-calculations are performed by the SSAS server, especially when the performance is already noticeably slow.

Changes in the PivotTable are tagged with a default dark red color triangle indicator. The calculated change is tagged with a dark blue triangle indicator. When IWs are finished with their plan updates they can then publish their changes directly into the cube for writeback. Publishing the changes to the cube will result in storing the changes to a relational writeback table on the server.

To publish the changes, select What-if Analysis under Pivot-table tools, and then select Publish.

1) Excel PivotTable publishes data by submitting updates to the underlying SSAS cubes.

2) SSAS will transform the updates into fact rows and store them to the writeback table.

Excel PowerPivot models

Planning models built using ExcelPowerPivot can have data models updated by using the feature of Linked Tables. Linked Tables can be thought of as that relate to partition tables in SSAS cube. Thus, updates to the PowerPivot model can be performed by either directly updating an existing Linked Table or by creating a new one and linking it to the PowerPivot model.

The key advantage to using linked tables is that IWs can create forms and conduct analysis off multiple heterogeneous, refreshable data sources and still be able to extend that data model with adjustments that can be managed all inside a workbook.

In order to set up the correct environment for this, we would have to build a separate table to feed the data to our PowerPivot model. The following is an example of where we have created a table within a separate sheet and used it to update our PowerPivot model.

  • Note that linked tables often resemble fact tables and therefore is not always the most intuitive structure for making adjustments to data models

  • PowerPivot PivotTables do not support writeback. This makes it more difficult for an IW to update a PowerPivot model

With the table setup, highlight the section of data within the table and then click on the Create Linked Table button under PowerPivot. Here we can select Automatic Update Mode for updates within the Excel table to automatically update the PowerPivot Model. By using the data linked to a table within PowerPivot, we now have additional values that can be used in our form PowerPivot form authoring.

1) Updates to the Linked Tables are made via copy/paste or through cell references.

2) Changes made to the Linked Tables automatically processed into PowerPivot model.

3) Updated PowerPivot model can be consumed in forms or reports.

4) Other data sources update to PowerPivot as normal.

Publish to SharePoint

Once the planning forms are created, set up a document library within the SharePoint 2010 site to publish the forms to the IWs. The organization for the document library depends on user requirements (that is by Business Unit, by Department, by Geography).

For PowerPivot reports, we recommend that you publish these reports to SharePoint's PowerPivot Gallery where the report viewer has more interaction with the report. By using SharePoint 2010, the following multiuser collaboration scenarios can be supported:

  • Multi-user Check-in / Check-out process for data submissions and approvals.

  • Copies of or changes to the PowerPivot data model can be done within Excel 2010.

  • Share interactive reports and analysis through PowerPivot Gallery.

SharePoint lists

An alternative to submitting plan data is with SharePoint List function. SharePoint list enables the capture of data via web browsers from multiple IWs across the organization. Since the lists are maintained in the SharePoint environment, Excel is not needed for its creation or maintenance. Although this allows for straightforward setup and functionality, there are some drawbacks to using SharePoint Lists vs. OLAP cubes as the data capture mechanism.

Advantage of lists | Drawbacks Versus OLAPS
Quick Setup & Access | No Aggregation of Data
Straightforward Data Entry | No Hierarchy Display
Basic Calculations | Limited Calculation Functions
Workflow and Security (SharePoint) | Less Business Rule Support
 | Limited Data Security
 | Limited Filter Selection
Note:

To set up a SharePoint List for a sample planning scenario, see Building planning functionalities guide for BI planning solutions and scenarios SharePoint Lists section.

For planning scenarios, lists can represent input forms for Finance to collect data from line managers in different departments and business units. SharePoint lists can also integrate with the rest of the BI tools available on the SharePoint platform when you build dashboards, scorecards and analytics.

See Also

Concepts

Basic planning scenarios in BI planning solutions and scenarios
Planning the data mart for BI planning solutions and scenarios
Planning modeling concepts in BI planning solutions and scenarios
Cube modeling for Write-back in BI planning solutions and scenarios
Performance considerations and approaches in BI planning solutions and scenarios
Cube modeling with Excel PowerPivot in BI planning solutions and scenarios
Create reports and forms for BI planning solutions and scenarios
Submit plan data for BI planning solutions and scenarios
Workflow actions, workflow diagram, and SharePoint workflow setup for BI planning solutions and scenarios
Audit tracking for BI planning solutions and scenarios
Administration for BI planning solutions and scenarios
Calculations for BI planning solutions and scenarios
Additional planning functions for BI planning solutions and scenarios
Migration for BI planning solutions and scenarios
Maintenance for BI planning solutions and scenarios
Corporate to subsidiary management for BI planning solutions and scenarios
Planning modeling and reporting guide for BI planning solutions and scenarios
Building planning functionalities guide for BI planning solutions and scenarios
Planning and budgeting calculation examples for BI planning solutions and scenarios


Workflow actions, workflow diagram, and SharePoint workflow setup for BI planning solutions and scenarios
See Also

Published: January 27, 2011

Workflow actions

The three generalized workflow actions that are common in a planning process are described in the following table.

User | Role
Submit | A contributor has completed their changes and wants to submit to their approver. By using SharePoint 2010, newly uploaded forms can be sent through an Approval.
Approve | An approver can finish the state of the workflow after reviewing the plan data.
Reject | An approver can reject a submission which then returns the contribution back to the original owner.

Workflow diagram

  • The contributor starts the planning process by uploading their form with their plan data to the appropriate SharePoint Document Library. Through the planning approval workflow, an email notification is sent off to their assigned approver for review. By using the document uploaded, the approver can view pending tasks assigned to them through the SharePoint task list.

Note:

For SharePoint Lists, the same workflow steps can be applied, with the workflow action invoked on IWs saves to the List.

The approver can open the related content "Product Revenue Forecast" and review the submission. The reviewer can then open the workflow task and either approve or reject the submission. Approvals can also be done by clicking the workflow task directly in SharePoint. If approved, the changes will be passed along to the next level of approval. If rejected, the form will be passed back to the original contributor for additional changes.

Once the planning form or SharePoint List is approved, the next level reviewer will receive a notification for approval needed. This can continue through several levels of review before final approval. Once the planning form has reached the final level of approval, any what-if changes that are in the form should now be published to the data model.

Note:

For planning scenarios, the contributor and approver should reserve the action of publishing changes within the Planning form PivotTable until the final approval is completed. Since the what-if scenario function, "Publish changes", cannot be included as a SharePoint workflow action, this must be done manually by the last approver. A note within the approval email notification can also serve as a helpful reminder.

SharePoint Workflow setup

Within SharePoint Server 2010, there is a SharePoint Designer application that lets users design and build workflows through a guided creation process. This section will describe how you can create a state-based workflow that provides an approval and rejection process, which is the basis for a planning and budgeting process. However, more robust and customized workflows can be developed by using Microsoft Visio 2010 or Microsoft Visual Studio 2008.

Note:

SharePoint Designer must be installed and configured to the SharePoint Server environment. For more information, see Setting Up the Development Environment for SharePoint 2010 on Windows Vista, Windows 7, and Windows Server 2008. For information about how to set up a sample workflow for a planning contributor and approval process, see the "Planning Workflow Setup" section inBuilding planning functionalities guide for BI planning solutions and scenarios.

See Also

Concepts

Basic planning scenarios in BI planning solutions and scenarios
Planning the data mart for BI planning solutions and scenarios
Planning modeling concepts in BI planning solutions and scenarios
Cube modeling for Write-back in BI planning solutions and scenarios
Performance considerations and approaches in BI planning solutions and scenarios
Cube modeling with Excel PowerPivot in BI planning solutions and scenarios
Create reports and forms for BI planning solutions and scenarios
Submit plan data for BI planning solutions and scenarios
Workflow actions, workflow diagram, and SharePoint workflow setup for BI planning solutions and scenarios
Audit tracking for BI planning solutions and scenarios
Administration for BI planning solutions and scenarios
Calculations for BI planning solutions and scenarios
Additional planning functions for BI planning solutions and scenarios
Migration for BI planning solutions and scenarios
Maintenance for BI planning solutions and scenarios
Corporate to subsidiary management for BI planning solutions and scenarios
Planning modeling and reporting guide for BI planning solutions and scenarios
Building planning functionalities guide for BI planning solutions and scenarios
Planning and budgeting calculation examples for BI planning solutions and scenarios


Audit tracking for BI planning solutions and scenarios
See Also

Published: January 27, 2011

Audit tracking

Audit tracking is automatically done by Microsoft SQL Server 2008 Analysis Services (SSAS) when you are using the cube writeback feature. All updates that are made to the underlying cube, such as from Microsoft Excel 2010 PivotTables are fully audited with the authenticated user and time stamp for each row of fact data that is written to the writeback table.

Audit tracking is useful when it is recorded on the fact table as administrators of the solution can quickly build audit reports to see who has updated what and when. These reports can then be used for the following purposes:

  • Track planning progress by the number of unique users who have submitted data.

  • Track back who has changed what particular line item in the fact table when unraveling the change history of the plan.

  • Gather key statistics on usage patterns for the solution that is based on time stamps and user load.

See Also

Concepts

Basic planning scenarios in BI planning solutions and scenarios
Planning the data mart for BI planning solutions and scenarios
Planning modeling concepts in BI planning solutions and scenarios
Cube modeling for Write-back in BI planning solutions and scenarios
Performance considerations and approaches in BI planning solutions and scenarios
Cube modeling with Excel PowerPivot in BI planning solutions and scenarios
Create reports and forms for BI planning solutions and scenarios
Submit plan data for BI planning solutions and scenarios
Workflow actions, workflow diagram, and SharePoint workflow setup for BI planning solutions and scenarios
Audit tracking for BI planning solutions and scenarios
Administration for BI planning solutions and scenarios
Calculations for BI planning solutions and scenarios
Additional planning functions for BI planning solutions and scenarios
Migration for BI planning solutions and scenarios
Maintenance for BI planning solutions and scenarios
Corporate to subsidiary management for BI planning solutions and scenarios
Planning modeling and reporting guide for BI planning solutions and scenarios
Building planning functionalities guide for BI planning solutions and scenarios
Planning and budgeting calculation examples for BI planning solutions and scenarios


Administration for BI planning solutions and scenarios
See Also

Published: January 27, 2011

SharePoint administration

One advantage of using Microsoft SharePoint Server 2010 is its ease in administration of the environment. For the areas of which SharePoint Server 2010 is used in this planning solution, there are several methods for monitoring performance and progress throughout the budgeting process. The three key areas for administration include the following:

  • Libraries and lists management

  • Security settings and role settings

  • Workflow status

As a site administrator, we are able to manage our forms and reports for planning within Manage Content and Structure under the Site Actions menu.

This administration control lets us to manage and organize the appropriate structure and content within the containers that best matches our organization arrangement. For planning and budgeting scenarios, these libraries can be arranged by each business unit, budgeting period or process phase of the planning cycle.

Under Site Actions menu is a section named Site Settings. Within this, we can set up the appropriate users and permissions to the planning & budgeting site and administrators to the site environment.

For the planning scenarios, we recommend for us to use the appropriate contributors, approvers and reviewer categories for each user group definition. This way it can be easily referenced when you are using workflows for assignments of collection and review of data.

SharePoint Server 2010 provides individual and aggregate workflow reports to enable you to assess the efficiency of your workflows and related business processes. You can use these reports to locate problems with processes or to determine whether a group or individual is meeting performance targets for a particular business process.

We can monitor workflow activities on different levels within SharePoint Server 2010:

Site Collection Workflow Usage - a list of available workflows for the site collection, their usage summary (active or inactive), how many times these workflows have been associated, and how many instances of each active workflow are running.

Individual Workflow Reports - aggregate analysis of workflow history for each workflow instance based on activity duration and cancellation & error report

For site collection workflow report, navigate to the Site Actions menu and then click Site Settings. On the Site Settings page, in the Site Administration section, click Workflows to display the Site Collection Workflows report.

For the individual workflow reports, browse to the list or document library that contains the workflow for which you want to view reports. Point to the item or document that is involved in the workflow, click the arrow that appears, and then click Workflows.

On the Workflows page, in the Running Workflows section, click the name of the workflow for which you want status. If no workflows are listed in this section, no workflows are currently running on the selected item.

On the Workflow Status page, in the Workflow History section, click View workflow reports. On the View Workflow Reports page, locate the workflow association for which you want to view the reports, and do either of the following:

  • To view information about how long it is taking for each activity in a workflow to be completed and how long it takes each instance of the workflow to be completed, click Activity Duration Report.

  • To view information about which workflows were canceled or encountered errors before completion, click Cancellation & Error Report.

See Also

Concepts

Basic planning scenarios in BI planning solutions and scenarios
Planning the data mart for BI planning solutions and scenarios
Planning modeling concepts in BI planning solutions and scenarios
Cube modeling for Write-back in BI planning solutions and scenarios
Performance considerations and approaches in BI planning solutions and scenarios
Cube modeling with Excel PowerPivot in BI planning solutions and scenarios
Create reports and forms for BI planning solutions and scenarios
Submit plan data for BI planning solutions and scenarios
Workflow actions, workflow diagram, and SharePoint workflow setup for BI planning solutions and scenarios
Audit tracking for BI planning solutions and scenarios
Administration for BI planning solutions and scenarios
Calculations for BI planning solutions and scenarios
Additional planning functions for BI planning solutions and scenarios
Migration for BI planning solutions and scenarios
Maintenance for BI planning solutions and scenarios
Corporate to subsidiary management for BI planning solutions and scenarios
Planning modeling and reporting guide for BI planning solutions and scenarios
Building planning functionalities guide for BI planning solutions and scenarios
Planning and budgeting calculation examples for BI planning solutions and scenarios


Calculations for BI planning solutions and scenarios
See Also

Published: January 27, 2011

On-sheet calculations

Spreadsheet calculations are well understood by most IWs who use Microsoft Excel to perform their calculation needs. For planning scenarios, the core calculations can still be done in Excel via additional sheets against data that was stored in the centralized data model. Through the use of writable PivotTables, sheet calculations can then be copied and pasted into their respective regions for data update on the sheet. Publishing of the changes will then persist back to the cube (data model) all the raw calculated values in the writable region of the PivotTable.

Cube calculations

MdxScript is used to define calculations on the cubes. These calculations are defined once and are consumed by all IWs who query against the cube. The benefit of having the calculation stored in the data model versus the on sheet approach is the ability to standardize and maintain a single copy of the truth. Any updates that you make to the MdxScript rules will be immediately available to the users, whereas using a spreadsheet to update rules will be manual, cumbersome, and error prone.

For examples of calculations that use MDX script to drive the HR model, see the "Model Cube Calculation Example" section in Planning and budgeting calculation examples for BI planning solutions and scenarios.

Stored procedures

Stored procedures are a great way for performing financial calculations. These can be defined on the data store of the planning solution. Stored procedures can also be invoked via SSIS packages that can also be scheduled for run by using SQL Server Agent. For more information, see About SQL Server Agent.

For our solution, an ideal business rule to implement as a stored procedure is the currency conversion rule. Since we have all the currency translation values that are stored in the writeback table of our Exchange Rate model, we can do simple T-SQL joins to obtain a single combined currency value for use in reporting. (For examples of stored procedure calculations, see Planning and budgeting calculation examples for BI planning solutions and scenarios.)

SharePoint list calculations

By using SharePoint lists for a method of submitting planning data, we can use the calculation functions available that are available within Lists. First, we would create a new column within the list view and set the column's data type to Calculated. This will let us to input our own calculations based on the previous column values, together with data format.

In this example, we have created a calculation to average the pay rates for the next four fiscal years. The added column, Avg Salary Cost, will be automatically calculated when the user has entered their values.

See Also

Concepts

Basic planning scenarios in BI planning solutions and scenarios
Planning the data mart for BI planning solutions and scenarios
Planning modeling concepts in BI planning solutions and scenarios
Cube modeling for Write-back in BI planning solutions and scenarios
Performance considerations and approaches in BI planning solutions and scenarios
Cube modeling with Excel PowerPivot in BI planning solutions and scenarios
Create reports and forms for BI planning solutions and scenarios
Submit plan data for BI planning solutions and scenarios
Workflow actions, workflow diagram, and SharePoint workflow setup for BI planning solutions and scenarios
Audit tracking for BI planning solutions and scenarios
Administration for BI planning solutions and scenarios
Calculations for BI planning solutions and scenarios
Additional planning functions for BI planning solutions and scenarios
Migration for BI planning solutions and scenarios
Maintenance for BI planning solutions and scenarios
Corporate to subsidiary management for BI planning solutions and scenarios
Planning modeling and reporting guide for BI planning solutions and scenarios
Building planning functionalities guide for BI planning solutions and scenarios
Planning and budgeting calculation examples for BI planning solutions and scenarios


Additional planning functions for BI planning solutions and scenarios
See Also

Published: January 27, 2011

Add new lines

When planning for new spending or headcount, the ability to add new lines becomes a critical functionality required by the IW. For example, the plan calls for an additional two headcount to be allocated for additional sales resources to the Northeast Division. There are two possible approaches that can be taken, one basic and one advanced. Note that these approaches center on having analysis services as the data model. (For more information, see the "Add New Lines" section in Building planning functionalities guide for BI planning solutions and scenarios.)

SharePoint List that uses External Content Type

Use Microsoft SharePoint Designer 2010 to create your list off an existing relational table. You can do this by first defining an External Content Type on your SharePoint site and then creating an instance of a list off of it.

New members can be added to the dimension by simply adding new members to the SharePoint list. Here, we have an example of the required fields that are needed in order to create a new member to employees for use in budgets.

  1. From a Web browser, IWs update the external content type list.

  2. Microsoft SharePoint Server 2010 updates the underlying relational data table.

Spreading

Cube spreading

When working in Excel 2010, IWs can configure the method of spreading for updating cube data in Microsoft SQL Server Analysis Services (SSAS) through write-back enabled PivotTables.

There are many spreading methods that an IW may want to perform. These can be broken down into basic and advanced scenarios:

  • Spread aggregate value across a defined range of time periods.

  • Spread an aggregate value evenly down a hierarchy, starting from any parent member of the hierarchy.

  • Allocate evenly down hierarchy.

  • Increase or decrease by percentage down a hierarchy.

  • Spread based on previous year's actuals.

  • Spread based on custom allocation percentages stored in relational data tables.

  • Spread down a parent-child hierarchy.

Sometimes, the default spreading logic available in Excel SSAS might not be enough. In such instances, customization can help. One approach is to leverage Microsoft SQL Server 2008 relational engine to do the spreading via stored procedures. The process for the IW would be:

  • Update input members that are required by the stored procedure for spreading.

  • Run the stored procedure from Excel 2010.

You can call stored procedures directly from Excel via macros. (For more information, see Macro Examples Using XLODBC Functions. Spreads that are done at the relational level are ideal when the calculated values are all at the leaf level of a hierarchy, i.e. the lowest level of granularity for a cube. Once the calculations for the spread are complete, the cube will show the correct aggregated values along the hierarchy.

Also, spreading can be achieved via an UPDATE CUBE statement in MDX. For more information, see UPDATE CUBE Statement (MDX). However, this will typically be beyond the skill set of most IWs.

When designing spreading logic, be sure to test out the end user scenarios thoroughly so as to provide the best guidance to end users when they are working on their forwarding looking processes. For instance, parent child hierarchies have known issues with spreads that may be seen by the IW as having unexpected behavior. For example, spreading down 1,000 over the following parent-child hierarchy can result in the following allocation:

  • A Spread 1000

    • B

    • C

  • A - 1000 (aggregate)

    • A - 333.333 (data member)

    • B - 333.333

    • C - 333.333

In general, when designing for spreads by IWs, it is best to give clear guidance from the model designer as to what can and cannot be spread and what is the expected behavior that will result with each kind of spread. This is important as the IW will be unable to tell the difference between a pc hierarchy and a leveled hierarchy, yet the behavior of the spread will be different as called out above.

Spreading performance in Excel 2010 and SQL 2008 R2 is generally very good. We've performed spreading from the top member "All" of geography down to all the separate regions, with the value to spread entered by product SKU over the forecast periods. The resulting spread created over 50 thousand rows of fact in the writeback table of the OLAP cube. Publishing the changes back to the cube completed in a few seconds.

Cube contains the following dimension and member count:

  • Account (77)

  • Geography (14)

  • Product (505)

  • Scenario (11)

  • Time (66)

Hyper-V Virtual Machine Configuration:

  • 3.5G of RAM

  • 1 Proc 2.67GHz Intel Core i7

PowerPivot spreading

Here we will explore some ideas around updating a PowerPivot data model with spreading values by using native Excel 2010 functionality and PowerPivot linked tables. As called out previously, PowerPivot does not have native support for updates directly from Excel 2010 PivotTables, which makes spreading and other kinds of data updates a challenge. However, we will see that in certain basic scenarios we can achieve Excel level spreading and have the results pushed back into a PowerPivot model.

Let us understand a simple example of spreading that an IW wants to do:

  • IW wants to create custom spreads over time based on total revenue by product SKU using data from an existing PowerPivot model.

  • IW wants to incorporate the spread information back to the PowerPivot data model for use in other analyses

  • Create a PivotTable to bring in aggregates to spread over time

  • Create a region on the spreadsheet to hold the percentages to allocate over time periods

  • Create a region on the spreadsheet to hold the currency amounts that are reallocated

  • On another sheet 'PowerPivot Partitions', create structured fact tables that can be linked back to PowerPivot. Each table here can be thought of as a partition table for a SSAS cube.

    • For each time period that we use in the spread, we will create a table.

    • Create each table with the same dimensionality as that of the data model

    • For each table, create relationships to the PowerPivot dimension tables

  • Create a DAX measure that will sum together the data from the partition tables into a single measure for use in reporting

To the right of the spreading percentage region, we have the calculated spread amounts by time period. These calculated values are then referenced by Excel tables to build the partition tables that will be used to link the table data back into the PowerPivot model. For simplicity of the Excel reference formulas, we will create a partition table for each time period.

  • When creating the partition tables for 'linked tables,' it is important to have the unique keys that will identify the members. In our previous example, we are using the 'MemberId' for each dimension when we are constructing the partition table

  • The previous approach is ideal for situations where the filter selections will not change on the form. For instance, each IW can have their own PivotTable with their own unique filter selection that they use to get the data linked back to the PowerPivot model.

  • Ensure enough buffer space is created in the Excel table for reference cell formulas to include spread data for new product SKUs.

  • The more linked tables that are created, the higher the complexity of the workbook leading to less manageability of the PowerPivot model.

  • PowerPivot is great in bringing multiple sources of structured data together. DAX shines in this area with calculated measures.

  • Updating data directly in Excel can also update the PowerPivot model

  • Creating input forms for IWs to update PowerPivot models is not easy.

See Also

Concepts

Basic planning scenarios in BI planning solutions and scenarios
Planning the data mart for BI planning solutions and scenarios
Planning modeling concepts in BI planning solutions and scenarios
Cube modeling for Write-back in BI planning solutions and scenarios
Performance considerations and approaches in BI planning solutions and scenarios
Cube modeling with Excel PowerPivot in BI planning solutions and scenarios
Create reports and forms for BI planning solutions and scenarios
Submit plan data for BI planning solutions and scenarios
Workflow actions, workflow diagram, and SharePoint workflow setup for BI planning solutions and scenarios
Audit tracking for BI planning solutions and scenarios
Administration for BI planning solutions and scenarios
Calculations for BI planning solutions and scenarios
Additional planning functions for BI planning solutions and scenarios
Migration for BI planning solutions and scenarios
Maintenance for BI planning solutions and scenarios
Corporate to subsidiary management for BI planning solutions and scenarios
Planning modeling and reporting guide for BI planning solutions and scenarios
Building planning functionalities guide for BI planning solutions and scenarios
Planning and budgeting calculation examples for BI planning solutions and scenarios


Deployment of BI planning solutions and scenarios

Published: January 27, 2011

In this section:

  • Migration for BI planning solutions and scenarios

  • Maintenance for BI planning solutions and scenarios

  • Corporate to subsidiary management for BI planning solutions and scenarios


Migration for BI planning solutions and scenarios
See Also

Published: January 27, 2011

Deployment migration

Migration is taking a solution from a development environment and bringing it to a production environment. This typically will involve three environments and two migration phases:

  • Migrate from development to test.

  • Migrate from test to production.

Development

Development of the solution can typically be done on a single server that uses all the required services. This includes Microsoft SQL Server and Microsoft SQL Server 2008 Analysis Services (SSAS) installed locally. This is ideal as typically in development you want the following:

  • Full control on the environment for fast turnaround on issues that are not specifically related to solution development.

  • Simplified server setups.

  • Focus on solution design and requirements.

Test

The main purpose of the test environment is to validate the design in the development environment on an environment that will most closely match the production environment. The test environment will focus on the following:

  • Business logic validation

  • Performance testing

  • Security and access control

Production

The production environment is the go-live environment that will be accessed by the end consumers of the solution. This environment should have backups and redundancy built in so that there is no loss any significant data from IWs.

Migration of the planning solution will involve moving and reconfiguring the following assets from a source environment and into a target environment:

  • Planning database on SQL Server

  • Planning database on SQL Server Analysis Services

  • Excel form templates on Microsoft SharePoint Server 2010

  • ETL packages built by using Microsoft SQL Server Integration Services (SSIS)

Relational database

Migration of the relational database can be performed by using a simple backup and restore process. Make a backup file of the SQL Server database by using SSMS:

The backup file can then be used to restore the database to the target environment's SQL Server. Once the database is restored on the target environment, we can start with the restore of the multidimensional database.

Multidimensional database

Migration of multidimensional database can also be performed by using a backup and restore process similar to the relational database. Considerations on post database restore include the following:

  • Update role based security

  • Update data sources

Update role-ased security

Security is typically configured differently between the various migration environments. For instance, in the development environment, there will be many more expert users who have the permission to process and alter the multidimensional database than compared to that in a production environment. When setting up security, it is a good idea to consider the necessary security rights that are required for users within each migration environment and to remove any roles that are not relevant for that environment.

Development environment security

It is recommended to create a single SQL Server Analysis Services role that will contain all the expert users for the development environment. This development role will have permissions that are elevated over most other roles as measured by interactivity with the multidimensional database. For example database processing permissions and the ability to create/alter/remove database objects will be granted here. Creating a single role will let the administrator easily remove or update users in the role as it is moved from one environment to another. For improved manageability, use Active Directory groups when you are adding membership to the role. This will let IT to manage security without accessing into SQL Server Analysis Services at all.

Test environment security

In the test environment, our goal is to emulate the security setup that should be found in a production environment. When setting up security, there are some considerations to take. Depending on the complexities of the security requirements, we can have:

  • Role created based on each secured slice of data.

  • Role per IW, each that contains their own security definition.

For the most part, it is acceptable to have the development role available in the test environment. Also, for users who will only exist in the test environment for user acceptance testing (UAT), we recommend that you create separate roles for them and have them be clearly identifiable. When moving to production, development and test roles must be removed.

Production environment security

The production environment should not contain any development or test roles. Remove these roles after a restore of the multidimensional database when in a production environment. Ensure that the security roles that are set up are only for IWs that should have access to the production environment.

Update data sources

On the multidimensional database, make sure that you update the connection string property for the data source to point to the target environment's SQL Server.

Ensure that the SQL Server Analysis Services server has access to the relational database server. To test that everything is configured correctly, perform a database process to reload multi-dimensional database.

Excel form templates

Transfer form templates from the SharePoint document library into another library created for the targeted migration environment. Update the connection string properties for the data connections used by the PivotTables and point them to the target environment's multi-dimensional database.

ETL packages

Packages written for data transfer between source systems and the planning solution may have to be updated as we move the packages from a source to target environment. Depending on how the configuration properties are set up within the SSIS packages, updates to the connection strings may be required by working with the following:

  • XML configuration file

  • Environment variable

  • Registry entry

  • Parent package variable

  • SQL Server

For more information about how to manage connection strings in SSIS packages, see Understanding Integration Services Package Configurations.

For production and test environments, we recommend that you have the following four server configuration. The critical server that require being on stand-alone computer is the SQL Server Analysis Services OLAP server. For SQL Server Analysis Services based planning solutions, the core bottleneck will typically be from the SQL Server Analysis Services server as it is primarily responsible for interactivity between the multidimensional data model and Excel 2010 PivotTables. This includes answering all what-if and other ad-hoc queries. In addition, many calculations will also be evaluated dynamically by the SQL Server Analysis Services server when responding to query requests. Thus, it is typical to require both high computational capability and large memory allocation for the SQL Server Analysis Services server. However, the exact server configuration will depend on the complexity of the solution and its usage requirements by the IWs of the system.

See Also

Concepts

Basic planning scenarios in BI planning solutions and scenarios
Planning the data mart for BI planning solutions and scenarios
Planning modeling concepts in BI planning solutions and scenarios
Cube modeling for Write-back in BI planning solutions and scenarios
Performance considerations and approaches in BI planning solutions and scenarios
Cube modeling with Excel PowerPivot in BI planning solutions and scenarios
Create reports and forms for BI planning solutions and scenarios
Submit plan data for BI planning solutions and scenarios
Workflow actions, workflow diagram, and SharePoint workflow setup for BI planning solutions and scenarios
Audit tracking for BI planning solutions and scenarios
Administration for BI planning solutions and scenarios
Calculations for BI planning solutions and scenarios
Additional planning functions for BI planning solutions and scenarios
Migration for BI planning solutions and scenarios
Maintenance for BI planning solutions and scenarios
Corporate to subsidiary management for BI planning solutions and scenarios
Planning modeling and reporting guide for BI planning solutions and scenarios
Building planning functionalities guide for BI planning solutions and scenarios
Planning and budgeting calculation examples for BI planning solutions and scenarios


Maintenance for BI planning solutions and scenarios
See Also

Published: January 27, 2011

Cube, dimension and hierarchy management is performed by using SQL Server Business Intelligence Development Studio (BIDS) and SQL Server Management Studio (SSMS).

SQL Server Management Studio (SSMS)

Use SSMS for the following:

  • Update dimension members and properties from dimension tables.

  • Update hierarchy tables for parent-child relationships.

  • Update fact tables.

  • Design schema relationships between dimension, hierarchy and fact tables via views.

  • Stored procedure development in T-SQL for business logic.

    • Currency conversion rules.

    • Custom spreading logic.

    • Data versioning (copying from one slice of fact data to another slice).

From SSMS, you can directly update data tables by the following:

  • Right-click the data table that you want to edit.

  • Select Edit Top 200 Rows.

Or you can decide to script out the updates:

  • Right-click the data table that you want to edit.

  • Select Script Table as.

SQL Server Business Intelligence Development Studio (BIDS)

Use BIDS for the following:

  • Develop SSIS packages for ETL.

  • Design OLAP dimension, hierarchy, and cube.

  • Design MdxScript rules within cubes.

  • Design data partitioning within cubes.

  • OLAP security management via roles.

Update cube

There are many things that can be updated in a cube and it is very important for each kind of update to require a full test before rolling out to production. Some considerations to note when maintaining a cube that is already in production:

  • Updating a cube's model dimension usage in measuregroup

    • Removing model dimensions can break existing definitions for PivotTables and cause existing MdxScript rules to fail. In addition, the fact table should be reviewed about how to correctly address data that is sliced by the removed dimensionality based on the requirement of the business.

    • Adding additional model dimensions will typically cause less immediate breaks on the overall system. However there are still many things to consider. The fact table must correctly default the values for the new model dimension on existing values or else may require a full reloading. Pre-submitted data must be re-entered by IWs if this new dimensionality cannot be properly defaulted, potentially causing a large IW process change. PivotTables and MdxScript rules should continue to work. However, it is best to review all MdxScript rules as the new dimensionality will most likely have altered how certain calculations should work, for example if there was a rule that requires all the dimension members to be leafs in the calculation scope.

  • Updating partitions in a measuregroup

    • Adding/removing partitions should typically have no functionality effect on the IWs as this is a technical level change. Performance can be increased with intelligent partitioning scheme for the data and minimal effect should be experienced when unused partitions are removed.

  • Updating measuregroup usage

    • Removing a measuregroup can effect MdxScript rules and existing PivotTable definitions. This is because there will typically be measures that exist on the measuregroup that is used in some capacity somewhere in the system, whether it is in rules or PivotTables.

    • Adding additional measuregroups should have minimal effect on the IWs. It will only be adding new functionality without affecting existing behavior.

  • Updating MdxScript based rules

    • Calculation updates will affect how the data is viewed by the IW. Once an update is made to the rules that give the correct business logic, it is very important to test their performance characteristics. Rules written in MdxScript can potentially cause significant performance degradations that for the SQL Server Analysis Services server if written in a non-optimal manner.

Update dimension and hierarchies

Dimension and hierarchies are often updated as new information is required by IWs to satisfy their business requirements. For instance, it is common to see the following requests:

  • IW require the addition of a new hierarchy view.

  • IW requires new member properties to show on their reports.

  • IW requires changes to existing hierarchies to reflect organizational changes.

How do we address some of these of these scenarios and what are the effects when they make such changes? To start, any changes that you made to a production system must first be thoroughly tested out in a test environment in order to better understand the full change impact. By using that said, there are some changes that are more expensive to perform when you compare it to others and we will explore them here:

  • Updating dimension member properties

    • Adding new properties/attribute should have minimal effect on existing functionality. This is considered a low risk change.

    • Removing properties or renaming them should be avoided in production environments. Pivot Tables, MdxScript rules and hierarchies that use the attribute in its definition can become broken.

    • Updates to the dimension properties will affect any hierarchies that are built from the related attributes. See the following for more information.

  • Updating dimension members

    • All dimension members can potentially have data that was stored against it in the cube. Thus, deleting any member from the dimension should also correctly handle the associated data in the fact table.

  • Updating existing hierarchies

    • Parent-child hierarchies

    • Be careful when you move hierarchy members around in a pc hierarchy as you might move a member from the lowest level of the hierarchy and make it into a parent member and vice versa. The implication is that there might be data sitting at intermediate levels that may appear incorrect from an IW's perspective as it does not appear to be the sum of the children members.

    • Level-based hierarchies

    • When the dimension table columns are updated with new values, the attributes that are associated with those columns are also updated. Here, the level hierarchy will be automatically updated based on the updated attributes after a dimension process in SQL Server Analysis Services.

    • General hierarchy change effect

    • Updates to the hierarchy structure can cause PivotTables and MdxScript rules to break. Review MdxScript rules to see how they are being used and if the changes to the hierarchy structure will require updating the rules. Also, review any PivotTables to see how these will be affected.

  • Adding new hierarchies is low risk as it will be new functionality. Removing hierarchies will have the same implications as covered in 'General hierarchy change impact.'

See Also

Concepts

Basic planning scenarios in BI planning solutions and scenarios
Planning the data mart for BI planning solutions and scenarios
Planning modeling concepts in BI planning solutions and scenarios
Cube modeling for Write-back in BI planning solutions and scenarios
Performance considerations and approaches in BI planning solutions and scenarios
Cube modeling with Excel PowerPivot in BI planning solutions and scenarios
Create reports and forms for BI planning solutions and scenarios
Submit plan data for BI planning solutions and scenarios
Workflow actions, workflow diagram, and SharePoint workflow setup for BI planning solutions and scenarios
Audit tracking for BI planning solutions and scenarios
Administration for BI planning solutions and scenarios
Calculations for BI planning solutions and scenarios
Additional planning functions for BI planning solutions and scenarios
Migration for BI planning solutions and scenarios
Maintenance for BI planning solutions and scenarios
Corporate to subsidiary management for BI planning solutions and scenarios
Planning modeling and reporting guide for BI planning solutions and scenarios
Building planning functionalities guide for BI planning solutions and scenarios
Planning and budgeting calculation examples for BI planning solutions and scenarios


Corporate to subsidiary management for BI planning solutions and scenarios
See Also

Published: January 27, 2011

Corporate to subsidiary management

Often is the case in large corporations that requirements for planning span multiple business units, requiring corporate to implement a centralized planning solution in the goal to have a more standardized, accurate and efficient process. With increased complexities from the requirements between corporate and subsidiary, a single monolithic planning solution might no longer be ideal and include such factors as:

  • Too many users who access one system.

  • Too many complex models required to satisfy all subsidiaries.

  • Processes from one subsidiary can impact others.

  • Updates to one subsidiary can impact others.

  • More difficult to get changes through as the impact is company wide.

In such scenarios, we can create multiple planning solutions with the corporate solution acting as the template for all subsidiaries, alleviating the stress put on any single planning solution.

With the multiple planning solution approach, we will have a single solution per business unit, each with its own relational data mart and SQL Server Analysis Services database. The corporate solution will act as the primary data source to all subsidiaries, sharing out the corporate view of the models, dimensions and hierarchies. The corporate SQL Server Analysis Services database will act as the template structure to each subsidiary. Standardized business rules are implemented and maintained at corporate and copied to the subsidiary solution as required.

Minor updates made to the corporate solution should trigger sync with subsidiary solutions, for instance the adding of a new account to the 'Chart of Accounts' or updates made to fact data for shared models. Updates to dimension members and properties from the corporate solution can be auto-sync'd by tagging the members in the subsidiary solution as belonging only subsidiary, allowing ETL to be easily defined for updates between subsidiary and corporate.

Major updates made to corporate might require a recopy of the corporate template to each subsidiary.

Steps to create subsidiary data model:

  1. Copy corporate solution's relational database and restore to subsidiary environment.

  2. Copy corporate solutions SSAS database and restore to subsidiary environment.

    1. Update data connections to point to subsidiary environment.

    2. Update user security roles on SSAS database for use by subsidiary.

  3. Create ETL packages to sync data between shared data models between corporate and subsidiary solutions.

  4. Apply subsidiary specific data to the copied corporate database. For instance, add accounts to the Chart of Accounts that are not part of the corporate hierarchy. Members added to the subsidiary should be appropriately tagged as specific to the subsidiary. This will allow for ETL to continue syncing corporate data with that in subsidiary.

  5. Create subsidiary specific models for data capture and reporting.

Benefits of multiple planning include the following:

  • Greater flexibility for each subsidiary to design and schedule their own planning process without impacting company-wide processes.

  • Changes to subsidiary planning solution has no impact on other planning solutions.

  • Potentially better performance; planning solutions can be geographically located to each business unit's primary user base.

  • Simplified security model for each business unit versus a union of all IW belonging to each of the business units, potentially in the tens of thousands.

To take advantage of the corporate solution and its data model, we'll identify some of the items that can be shared:

  • Share fact, dimension and hierarchy tables from corporate to subsidiary.

  • Share corporate business rules on cube (MdxScript) to subsidiary.

  • Share stored procedures from corporate to subsidiary.

Dimension, hierarchy and fact tables for the subsidiary solution can source its data directly from the corporate solution by using ETL process. Periodic sync can be scheduled between the tables in order to get the latest up to date corporate data into subsidiary. Since data in corporate is already cleansed, ETL should be rather straightforward.

For standardized business rules, we can reuse the definitions from the corporate solution and apply it to the subsidiary. Mdx Scripts that exist on the corporate SQL Server Analysis Services database can be copied and added to the subsidiary's SQL Server Analysis Services database. Stored procedures can also be copied and applied to subsidiary's relational data model using the SSMS 'Script Stored Procedure as' feature.

See Also

Concepts

Basic planning scenarios in BI planning solutions and scenarios
Planning the data mart for BI planning solutions and scenarios
Planning modeling concepts in BI planning solutions and scenarios
Cube modeling for Write-back in BI planning solutions and scenarios
Performance considerations and approaches in BI planning solutions and scenarios
Cube modeling with Excel PowerPivot in BI planning solutions and scenarios
Create reports and forms for BI planning solutions and scenarios
Submit plan data for BI planning solutions and scenarios
Workflow actions, workflow diagram, and SharePoint workflow setup for BI planning solutions and scenarios
Audit tracking for BI planning solutions and scenarios
Administration for BI planning solutions and scenarios
Calculations for BI planning solutions and scenarios
Additional planning functions for BI planning solutions and scenarios
Migration for BI planning solutions and scenarios
Maintenance for BI planning solutions and scenarios
Corporate to subsidiary management for BI planning solutions and scenarios
Planning modeling and reporting guide for BI planning solutions and scenarios
Building planning functionalities guide for BI planning solutions and scenarios
Planning and budgeting calculation examples for BI planning solutions and scenarios


Planning guidelines for BI planning solutions and scenarios

Published: January 27, 2011

In this section:

  • Planning modeling and reporting guide for BI planning solutions and scenarios

  • Building planning functionalities guide for BI planning solutions and scenarios

  • Planning and budgeting calculation examples for BI planning solutions and scenarios


Planning modeling and reporting guide for BI planning solutions and scenarios
See Also

Published: January 27, 2011

Planning modeling and reporting guide

Configure measure group with writeback partition

  1. Find Solution Explorer and select the Forecast cube.

  2. Locate the Partition tab.

  3. Right-click an existing partition and select Writeback Settings.

  4. Specify the name of the table for the writeback that will be created on the data source. Keep the selection to MOLAP for optimal performance.

  5. When you are finished with creating the writeback table, there should be a new instance of the partition that is dimmed.

After saving and processing the database, a data table will be created on the underlying relational database to store writeback data.

ROLAP/MOLAP partition settings

  • Right-click a partition.

  • Select Storage Settings.

  • Select standard setting and drag slider to ROLAP/MOLAP.

Enable "Ad-hoc Distributed Queries"

sp_configure 'show advanced options', 1

reconfigure

sp_configure 'Ad Hoc Distributed Queries', 1

reconfigure

Query OLAP from SQL

Select *

From OpenRowset

(

'MSOLAP'

,'Data Source=localhost;Initial Catalog=AdventureWorks Planning;'

,'select {[Measures].[Value]} on 0,

non empty

{

{DESCENDANTS([Account].[IncomeStatement].[REV], 10000, LEAVES), DESCENDANTS([Account].[IncomeStatement].[EXP], 10000, LEAVES)}

*DESCENDANTS([Geography].[Geographies].[All], 10000, LEAVES)

*DESCENDANTS([Time].[Monthly].[FY2010], 10000, LEAVES)

*{[Scenario].[Scenarios].[Fcst]}

*{[Product].[All_Product].members}

}

on 1 from Forecast'

Security and role setup

  1. Open Development Studio.

  2. From the File menu, select Open, select Analysis Services Database, and then connect to your instance.

  3. Locate the Solution Explorer pane.

  4. Look under the database node for a folder named Roles.

  5. Right-click New Role.

  6. For our solution, we will create a role for each user and define their security within it. In the following example, we will create a security role for a particular user and have their security limited to read/write ability onto the Seattle region of geography. All other geographies will be inaccessible by this user.

  7. You can define security on the cube level for broad granting of rights. For instance, here we are limiting data input for the Forecast and HR Budget cubes but not to the Financial Consolidation, Exchange Rates or HR Pay Rates cubes.

  8. Dimension security can also be defined by selecting the members in the hierarchy by using the check boxes to indicate what is included in the security definition.

See Also

Concepts

Basic planning scenarios in BI planning solutions and scenarios
Planning the data mart for BI planning solutions and scenarios
Planning modeling concepts in BI planning solutions and scenarios
Cube modeling for Write-back in BI planning solutions and scenarios
Performance considerations and approaches in BI planning solutions and scenarios
Cube modeling with Excel PowerPivot in BI planning solutions and scenarios
Create reports and forms for BI planning solutions and scenarios
Submit plan data for BI planning solutions and scenarios
Workflow actions, workflow diagram, and SharePoint workflow setup for BI planning solutions and scenarios
Audit tracking for BI planning solutions and scenarios
Administration for BI planning solutions and scenarios
Calculations for BI planning solutions and scenarios
Additional planning functions for BI planning solutions and scenarios
Migration for BI planning solutions and scenarios
Maintenance for BI planning solutions and scenarios
Corporate to subsidiary management for BI planning solutions and scenarios
Planning modeling and reporting guide for BI planning solutions and scenarios
Building planning functionalities guide for BI planning solutions and scenarios
Planning and budgeting calculation examples for BI planning solutions and scenarios


Building planning functionalities guide for BI planning solutions and scenarios
See Also

Published: January 27, 2011

Building planning functionalities guide

Creating planning forms by using SharePoint lists

A SharePoint list is useful for capturing data from IWs. Data entered to a SharePoint list can be translated and loaded to other parts of your data model through an ETL process.

To create a SharePoint list, you must have the correct permissions for creating lists, documents, and so on. From the home page of Microsoft SharePoint Server 2010, click Lists, and then click Create. We can select from various list type, but for our sample application, we will use a Custom List.

Once on the main list page, we can start by creating columns for our form. Under Manage Views, click Create Column to create the Title, DataType, Column Settings, and Column Validation rule.

Once all the columns are created, the list can be published and shared for users throughout a user group to collect data. In this example, we have set up an HR Pay Rate Plan that lets users add new rows and forecast their expected pay rates for a position. The user would be able to enter the data through form based entry. SharePoint lists also integrates with Microsoft InfoPath to create additional customized forms for entry.

Planning workflow setup (single level)

Step 1: To create a new workflow, click Edit Site in SharePoint Designer within the Site Actions Menu. This will open the SharePoint Designer to its main page. Navigate to Workflows on the side navigation pane and then click on Reusable Workflow under New.

Step 1a: For SharePoint Lists, workflows can be created in a similar method. However, some additional steps are required. To create a new workflow for List, click Edit Site in SharePoint Designer within the Site Actions Menu. This will open the SharePoint Designer to its main page. Navigate to Workflows on the side navigation pane and then click on Lists and Libraries. Under advanced settings, select the Require content approval for submitted items for changes to the List. Then we can create a new workflow by clicking Create, under workflows for this Library Lists.

Step 2: Provide a name and description for this workflow.

Step 3: Starting with workflow Step 1 (Name: "First Level Task Assigned"), under Actions, you can select Collect Data from a User. By clicking the highlighted Data, we step into the Task Wizard. We give this task a name & description, and add a custom field for Review Status. This can be set up as a choice drop-down for Approved and Rejected states.

We can also setup another field for Reviewer's Comments, which can be set to multiple lines of text.

Step 4: After setting the Data field we can set Users to Approvers user group (or any other pre-configured user or group). We must have to then create a new variable for collection output. For this example, we will use the name "Document Review ID" and leave the type as "List Item ID". Once completed, we will set the workflow variables for Review status and Review Comments.

Step 5: For Review Status, we will click on Set Workflow Variable under Action. Then set "Review Status" as the variable name and select string value. For value, we will select the following:

  • "Association: Task List" as the data source

  • "Review Status" as Field from Source

  • "ID" as Field

  • "Variable: Document Review ID" as Value

Step 6: For Review Comments, we will again click on Set Workflow Variable under Action. Then set "Review Comments" as the variable name and select string value. For value, we will select the following:

  • "Association: Task List" as the data source

  • "Review Comments" as Field from Source

  • "As String" for Return Field

  • "ID" as Field

  • "Variable: Document Review ID" as Value

Now that we've completed Step 1 for this workflow, we will create Step 2 (Name: "Final Level Approval") for e-mail notifications.

Step 7: We start by setting a conditional on step 2. For the first if clause we will set the following:

  • "Workflow Variables and Parameters" for data source

  • "Variable: Review status" for Field from source

The equals will be set to "Approved" and then we will set an action of Send Email. The email is custom to any template desired. For this example, we will set the following within the template:

  • "User who created current item" on the To field

  • "Current Item title" on the Subject field

  • "The document has been approved" for the Body Text

Step 8: We will now set up an Else-If Branch for a new condition for Reject state. To set up the Rejected state, follow the instructions of step 7, but set the equals' condition to "Rejected". Within the email template, the body of the text can be change to reflect the Rejected state. In addition, we can add a lookup of the Review Comments variable to bring in the comments left by reviewer.

Step 9: We can now save this workflow in its finished state.

Planning Workflow Setup (Multi Level)

In between the first initial approval step and final step (email notification), we can set up multiple levels of approval steps in between. This is useful when there is multi-tier approval process involved during the planning process.

Step 10: Setup a new step after "First Level Task Assigned" and name it "First Level Approval & Second Level Assigned". First follow steps 7 & 8 to set up email notifications for the Second Level Approvers.

Step 11: If the Review Status is approved, the submission is passed to the next level of approvers. We will now collect the approval status and comments for the next Approved state. Under the last action within the Approved condition, follow steps 3 through 6 to set the approval status and comments.

To collect data from the second level of approvers, you must have a user or group that was defined for this role. In this example, we set up a name and description for the new dataset called "Second Level Manager Approval" from a group named "Second Level Manager". We also setup new names for the custom form fields for the user to complete:

Second Level Approval: set as a choice drop-down for Approved and Rejected states

Second Level Comments: set to multiple lines of text

These two form fields are then used to set the Review Status and Review Comments if approved.

If the submission is rejected, the owner who committed the last submission would only receive an email notification. The contributor will continue to resubmit to the same level approver until it is approved.

Step 12: For additional levels of approval needed within this workflow, we can repeat steps 10 & 11 for the appropriate user and groups.

Step 13: Once the Workflow was added to available workflows within our SharePoint Environment, we can then select the workflow that we've created to our document library. Within the document library, we can go to Workflow Settings, under Library and add a new workflow to the library.

Step 14: Select the newly created workflow, enter a unique workflow name and enable workflow to be started on all newly created documents. This will then start the newly created workflow on all documents within this library.

There are many components within the workflow that can be customized to a user environment. However, this example will provide a baseline for a typical planning, budgeting and forecasting process for approval & rejection cycle.

Add new lines

Add new line is a common scenario for IWs when they perform a budget. It is often the case that the input forms that are pre-configured do not adequately cover all the available inputs an IW wants to perform. For example, there might be a need to budget and plan for several new headcounts for the upcoming fiscal year yet there are no areas on the input form to collect the data inputs. New dimension members ideally would have to be created dynamically, and added to the data model for the budget. Here, we will provide a brief overview of the pros and cons of taking two approaches

Placeholders (Basic Approach) - No customization | Dynamic Members (Advanced Approach) - requires customization
Simple to implement | More complex to implement
No processing of OLAP dimension required | Processing of OLAP dimension required
No additional relational database changes | Save to relational database new member information
IW must use available placeholders | IW can add new members as needed
Cannot change the placeholders properties | IW can add new members with associated properties

Basic approach

In our employee dimension, pre-create a fixed number of placeholder members. In the solution, we've generated a series of members starting with TBH (to be hired) for use in budgeting of new employee hires.

Notice that only the valid employees for "Northeast Division" are being shown on the budget form. This is achieved by defining the underlying MDX to hide empty rows. Note that NED in our MDX query means Northeast Division on our geography dimension.

NON EMPTY

Copy Code
{
   {[Geography].[Geographies].[NED]}
   *{ HIERARCHIZE (DESCENDANTS([Employee].[Employees].[All Employees], 0, AFTER), POST)}
   ,
   {[Geography].[Geographies].[NED]}
   *{[Employee].[Employees].[All]}

} ON ROWS

Because we are hiding empty rows, it is important that we put data to the placeholder members so that when the query is executed the placeholder member rows will also be returned.

Advanced approach

The advanced approach requires a customization to be built on the platform to satisfy the requirements of the IW. The customization will have the following components:

  • A SharePoint list based on an external content type to collect new employees and their properties. For more information, see How to: Create External Content Types. SharePoint's External Content Type feature is great at exposing application data, such as dimension and hierarchy tables directly to the IW.

  • VBA in Excel to process Analysis Services dimension. (Note: The user will need processing permissions on the Analysis Services database.)

The IW will then do the following when you add new lines:

  • Go to SharePoint and to add new employee and their details

  • From their Excel form, execute the VBA for dimension processing

  • Continue budget from Excel Pivot Table

In our example, adding a new list item through SharePoint List will create a new table record on the dimension table from our data store. Based on the setup of the hierarchy definition in SSAS, this new record will then be automatically processed to a member of a hierarchy after they perform a process command on the SSAS dimension. In essence, we could allow IWs to directly make the necessary updates to records that they are familiar with that will then directly affect the way they see the data from PivotTables and other client tools.

It is important to note here that updates are performed on a flat list of items with the SSAS hierarchy structure being derived from the property fields of those items. This is true for both pc and level based hierarchies.

VBA for Analysis Services dimension processing

The following is an example of processing new dimensions members from a macro defined in an Excel 2010 workbook. The macro will connect to an instance of SSAS server and issue an XMLA command for dimension processing. Notice that we used 'ProcessAdd' as the Process type. This is important as this is the fastest option when you are adding new members to a dimension. Avoid the need to ProcessFull as this will cause the related cubes to be processed.

Copy Code
Sub ProcessAddEmployee()

 Dim connection As New ADODB.connection
 Dim xmlaCommand As New ADODB.Command

 Dim ServerName As String
 Dim DatabaseName As String
 Dim DimensionName As String

 ServerName = "kepion02"
 DatabaseName = "AdventureWorks Planning"
 DimensionName = "Employee_All_Employee"

 connection.Open("Provider=MSOLAP;Data Source=" & ServerName _
       & ";Initial Catalog=" & DatabaseName & ";" _
       & "Integrated Security = SSPI;")

 xmlaCommand.ActiveConnection = connection
 xmlaCommand.CommandTimeout = 120 ' 120 seconds

 xmlaCommand.CommandText = _
 "<Batch xmlns=""http://schemas.microsoft.com/analysisservices/2003/engine"">" & _
 "<Parallel>" & _
  "<Process>" & _
   "<Object>" & _
    "<DatabaseID>" & DatabaseName & "</DatabaseID>" & _
    "<DimensionID>" & DimensionName & "</DimensionID>" & _
   "</Object>" & _
   "<Type>ProcessAdd</Type>" & _
   "<WriteBackTableCreation>UseExisting</WriteBackTableCreation>" & _
  "</Process>" & _
 "</Parallel>" & _
 "</Batch>"

 xmlaCommand.Execute()
 connection.Close()

End Sub

This macro can also be associated to a button in Excel Quick Access Toolbar. This lets the user quickly and easily find the macro when planning and budgeting.

See Also

Concepts

Basic planning scenarios in BI planning solutions and scenarios
Planning the data mart for BI planning solutions and scenarios
Planning modeling concepts in BI planning solutions and scenarios
Cube modeling for Write-back in BI planning solutions and scenarios
Performance considerations and approaches in BI planning solutions and scenarios
Cube modeling with Excel PowerPivot in BI planning solutions and scenarios
Create reports and forms for BI planning solutions and scenarios
Submit plan data for BI planning solutions and scenarios
Workflow actions, workflow diagram, and SharePoint workflow setup for BI planning solutions and scenarios
Audit tracking for BI planning solutions and scenarios
Administration for BI planning solutions and scenarios
Calculations for BI planning solutions and scenarios
Additional planning functions for BI planning solutions and scenarios
Migration for BI planning solutions and scenarios
Maintenance for BI planning solutions and scenarios
Corporate to subsidiary management for BI planning solutions and scenarios
Planning modeling and reporting guide for BI planning solutions and scenarios
Building planning functionalities guide for BI planning solutions and scenarios
Planning and budgeting calculation examples for BI planning solutions and scenarios


Planning and budgeting calculation examples for BI planning solutions and scenarios
See Also

Published: January 27, 2011

Planning and budgeting calculation examples

Cube calculations

The following is an example of how we can do some simple calculations in MdxScript for driving the HR Budget model.

Base pay calculation

Calculate the base pay for hourly employees based on the number of hours worked and the hourly wage rate as determined by the pay grade.

Copy Code
// All calculations on HR done at leaf level
SCOPE
(
  [Employee].[All_Employee].members
  , DESCENDANTS([Geography].[Geographies].[All], 1000, LEAVES)
  , [Measures].[Value]
);

[Metric].[Metrics].[Base] =

CASE [Metric].[Metrics].[PayGrade]
  WHEN 1 THEN [Metric].[Metrics].[Hours]/2000 *([Measures].[HR Pay Rates_Value], [PayGrade].[PayGrade].&[1])
  WHEN 2 THEN [Metric].[Metrics].[Hours]/2000 *([Measures].[HR Pay Rates_Value], [PayGrade].[PayGrade].&[2])
  WHEN 3 THEN [Metric].[Metrics].[Hours]/2000 *([Measures].[HR Pay Rates_Value], [PayGrade].[PayGrade].&[3])
  WHEN 4 THEN [Metric].[Metrics].[Hours]/2000 *([Measures].[HR Pay Rates_Value], [PayGrade].[PayGrade].&[4])
  WHEN 5 THEN [Metric].[Metrics].[Hours]/2000 *([Measures].[HR Pay Rates_Value], [PayGrade].[PayGrade].&[5])
  WHEN 6 THEN [Metric].[Metrics].[Hours]/2000 *([Measures].[HR Pay Rates_Value], [PayGrade].[PayGrade].&[6])
  WHEN 7 THEN [Metric].[Metrics].[Hours]/2000 *([Measures].[HR Pay Rates_Value], [PayGrade].[PayGrade].&[7])
  WHEN 8 THEN [Metric].[Metrics].[Hours]/2000 *([Measures].[HR Pay Rates_Value], [PayGrade].[PayGrade].&[8])
  ELSE NULL
END;

END SCOPE;

Benefit calculation

Calculation to determine the estimated the benefits dollars based on the base pay.

Copy Code
// All calculations on HR done at leaf level
SCOPE
(
  [Employee].[All_Employee].members
  , DESCENDANTS([Geography].[Geographies].[All], 1000, LEAVES)
  , [Measures].[Value]
);
// Benefit averaged out to 25% of base
[Metric].[Metrics].[Benefit] = [Metric].[Metrics].[Base] * 0.25;

END SCOPE;

Total compensation calculation

Total compensation calculation based on base compensation and benefit dollars.

Copy Code
// All calculations on HR done at leaf level
SCOPE
(
  [Employee].[All_Employee].members
  , DESCENDANTS([Geography].[Geographies].[All], 1000, LEAVES)
  , [Measures].[Value]
);

// Total = base + benefits
[Metric].[Metrics].[Total] = [Metric].[Metrics].[Base] + [Metric].[Metrics].[Benefit];

END SCOPE;

Stored procedure calculations

Many planning solutions require a currency translation rule that converts financial data into multiple currencies. Here, we will explore an example of a currency conversion rule implemented by a stored procedure. To perform currency translation, we need the following:

  • Exchange Rate table holding to the conversion rates from a source currency to destination currency and by time period.

  • A fact table that holds all the values that require translation.

Because we have a model designed for storing exchange rates, we can use its fact table as the exchange rate table.

T-SQL for currency translation

Copy Code
SELECT
a.MemberName [Account]
,t.MemberId [Time]
,s.MemberName [Scenario]
,g.MemberName [Geography]
,c.MemberName [CurrencyType]
,g.[Input Currency]
,g.[Reporting Currency]
  ,Fact.[Value]
  ,ExchangeRate.Value [Exchange Rate]
  ,Fact.[Value]*ExchangeRate.Value [Calculated]
 FROM [dbo].[F_Financial Consolidation_CoreMG_Writeback] Fact
 INNER JOIN D_Account a
 ON Fact.AccountID = a.MemberId
 INNER JOIN D_Time t
 ON Fact.TimeID = t.memberid
 INNER JOIN D_Scenario s
 ON Fact.GeographyID = s.MemberId
 INNER JOIN D_Geography g
 ON Fact.ScenarioID = g.MemberId
 INNER JOIN d_currencyType c
 ON Fact.currencyTypeID = c.MemberId
 ---
 --- Currency Join
 ---
 INNER JOIN
 (SELECT
 sc.MemberName [Source]
 ,dc.MemberName [Destinatation]
 ,t.MemberId [Time]
 ,[Value]
 FROM [F_Exchange Rates_CoreMG_Writeback] ef
 INNER JOIN D_SourceCurrency sc
 ON sc.MemberId = ef.SourceCurrencyID
 INNER JOIN D_DestinationCurrency dc
 ON dc.MemberId = ef.DestinationCurrencyID
 INNER JOIN D_Time t
 ON t.MemberId = ef.TimeID
 WHERE sc.MemberId <> dc.MemberId) ExchangeRate
ON ExchangeRate.Source = g.[Input Currency]
AND ExchangeRate.Destinatation = g.[Reporting Currency]

See Also

Concepts

Basic planning scenarios in BI planning solutions and scenarios
Planning the data mart for BI planning solutions and scenarios
Planning modeling concepts in BI planning solutions and scenarios
Cube modeling for Write-back in BI planning solutions and scenarios
Performance considerations and approaches in BI planning solutions and scenarios
Cube modeling with Excel PowerPivot in BI planning solutions and scenarios
Create reports and forms for BI planning solutions and scenarios
Submit plan data for BI planning solutions and scenarios
Workflow actions, workflow diagram, and SharePoint workflow setup for BI planning solutions and scenarios
Audit tracking for BI planning solutions and scenarios
Administration for BI planning solutions and scenarios
Calculations for BI planning solutions and scenarios
Additional planning functions for BI planning solutions and scenarios
Migration for BI planning solutions and scenarios
Maintenance for BI planning solutions and scenarios
Corporate to subsidiary management for BI planning solutions and scenarios
Planning modeling and reporting guide for BI planning solutions and scenarios
Building planning functionalities guide for BI planning solutions and scenarios
Planning and budgeting calculation examples for BI planning solutions and scenarios


Use custom extensions with PerformancePoint Services (SharePoint Server 2010)
See Also

Published: June 3, 2011

You can use custom extensions to extend the capabilities of PerformancePoint Services in Microsoft SharePoint Server 2010. For example, you can create custom reports. As another example, you can apply scorecard transforms to change the way PerformancePoint scorecards are displayed without editing the actual scorecards.

The scenarios in this section describe how to use custom extensions to add new features and functionality to PerformancePoint Services. In general, these extensions are installed on the application server and use the PerformancePoint Services application programming interface (API).

To use the extensions that are described in this section, you must have sufficient permissions to perform the following tasks on the server that is running PerformancePoint Services:

  • Register an assembly in the global assembly cache.

  • Copy files to the local directory.

  • Edit the PerformancePoint Services Web.config file.

  • Recycle the Internet Information Services (IIS) application pool that the extension's process is running in.

To implement the extensions described in these scenarios, you must use Microsoft Visual Studio. The scenarios contain code examples that you can paste into Visual Studio and then configure as needed for them to work with your own data. The scenarios also provide instructions about how to configure, build, and install the extensions. The code examples are written in the C# programming language and use the Microsoft .NET Framework 3.5.

Note:

To download trial versions of Visual Studio, see Visual Studio Downloads (http://go.microsoft.com/fwlink/p/?LinkId=220177).

Using custom extensions with PerformancePoint Services

To view scenarios that show how to use custom extensions with PerformancePoint Services, see the following articles:

  • Create a baseline environment for a BI test environment

  • Apply custom scorecard transforms to a PerformancePoint dashboard

See Also

Concepts

Authorization and permissions in PerformancePoint Services (SharePoint Server 2010)

Other Resources

Setting Up the Development Environment for SharePoint 2010 on Windows Vista, Windows 7, and Windows Server 2008
PerformancePoint Services Code Samples


Create a baseline PerformancePoint dashboard to use with custom extensions scenarios
See Also

Published: June 3, 2011

This article describes how to create a baseline dashboard in PerformancePoint Services in Microsoft SharePoint Server 2010 that you can use to apply custom extensions. Our example dashboard contains a scorecard and several reports in a single page, as shown in the following image.

In this article:

  • How to install and open PerformancePoint Dashboard Designer

  • How to create the Inventory dashboard

How to install and open PerformancePoint Dashboard Designer

To install and open Dashboard Designer

  1. Using your Web browser, open the Business Intelligence Center.

    Tip:

    The Web site address (URL) to the Business Intelligence Center typically takes the form http://<sharepointservername>/sites/BICenter.

  2. In the Business Intelligence Center, click a section, such as Monitor Key Performance, Build and Share Reports, or Create Dashboards.

    More information about each area is displayed in the center pane.

  3. In the center of the screen, click a Start using PerformancePoint Services link.

    The PerformancePoint site template opens.

  4. Click Run Dashboard Designer.

After you have opened Dashboard Designer at least one time, you can open it from the Start menu on your computer. To do that, click Start, and then click All Programs. Locate SharePoint, and then click PerformancePoint Dashboard Designer. Or, you can continue to open Dashboard Designer from the Business Intelligence Center.

How to create the Inventory dashboard

This section describes how to create our example dashboard, which contains a scorecard and three reports. To create our example dashboard, we use the following process:

  1. Create an Analysis Services data source

  2. Create a scorecard

  3. Create reports

  4. Create and assemble a dashboard page

  5. Publish the dashboard

Create an Analysis Services data source

For our example dashboard, we use an SQL Server Analysis Services data source.

Note:

The sample database that we use is named the Microsoft Contoso BI Demo Dataset for Retail Industry, which is available on the Microsoft Download Center. For more information, see Microsoft Contoso BI Demo Dataset for Retail Industry.

To create the Inventory data source

  1. In Dashboard Designer, in the Workspace Browser, click Data Connections.

  2. On the Create tab, in the Dashboard Items group, click Data Source.

  3. In the Select a Data Source Template dialog box, select Analysis Services, and then click OK.

  4. In the center pane, on the Editor tab, in the Connection Settings section, specify the following settings:

    1. In the Server box, type the name of the server that contains the Analysis Services database.

      For example, we use litware-sql.

    2. Use the Database list to select Contoso Retail DW.

    3. Use the Cube list to select Inventory.

  5. In the Data Source Settings section, keep the default selections, and then click Test Data Source.

    Tip:

    If the Test Data Source button is not enabled, click in the Refresh Interval box to enable it.

  6. If the Test Connection dialog box indicates that the connection is successful, click Close. If the Test Connection dialog box indicates that the connection failed make sure that your environment is configured correctly and then repeat this procedure from Step 4.

  7. In the center pane, click the Properties tab. Then, in the Name box, type Contoso Retail DW Inventory.

  8. In the Workspace Browser, right-click the data source, and then click Save.

Now that the data source is set up, we can use it to create a scorecard and some reports for the dashboard.

Create a scorecard

Our example dashboard includes a scorecard to track inventory rotation and resembles the following image.

Inventory Rotation scorecard

The scorecard contains the following four key performance indicators (KPIs):

  • Inventory on Hand Quantity

  • Inventory on Order Quantity

  • Inventory Days in Stock

  • Inventory Stock vs. Demand

Each KPI shows performance for a particular inventory control method. Use the following procedures to create each KPI, one at a time.

To create the Inventory on Hand Quantity KPI

  1. In the Workspace Browser, click PerformancePoint Content.

  2. On the Create tab in the ribbon, click KPI.

    The Select a KPI Template dialog box opens.

  3. Select Blank KPI, and then click OK.

    The KPI opens for editing.

  4. In the center pane, on the Editor tab, in the Data Mappings column for the Actual value row, click the hypertext that says 1 (Fixed Values).

    The Fixed Values Data Source Mapping dialog box opens.

  5. Click Change Source to open the Select a Data Source dialog box.

  6. Select the Contoso Retail DW Inventory data source, and then click OK.

  7. In the Dimensional Data Source Mapping dialog box, use the Select a measure list to select the Inventory On Hand Quantity measure.

  8. Click OK to close the Dimensional Data Source Mapping dialog box.

  9. In the center pane, in the Data Mappings column for the Target value row, click the hypertext that says 1 (Fixed Values).

  10. In the Fixed Values Data Source Mapping dialog box, in the Value box, type 55500, and then click OK.

  11. Configure number formatting for the KPI follow these steps:

    1. In the center pane, in the Number Format column for the Actual value, click the hypertext that says (Default) to open the Format Numbers dialog box.

    2. Use the Format list to select Number.

    3. In the Decimals box, type 0.

    4. Click OK to close the Format Numbers dialog box.

    5. Repeat for the Target value.

  12. In the center pane, click the Properties tab, and specify the following settings:

    • In the Name box, type Inventory On Hand Quantity.

    • In the Person Responsible box, type John Woods.

  13. In the Workspace Browser, right-click the KPI, and then click Save.

Next, we create the Inventory on Order Quantity KPI.

To create the Inventory on Order Quantity KPI

  1. On the Create tab in the ribbon, click KPI.

    The Select a KPI Template dialog box opens.

  2. Select Blank KPI, and then click OK.

    The KPI opens for editing.

  3. In the center pane, on the Editor tab, in the Data Mappings column for the Actual value row, click the hypertext that says 1 (Fixed Values).

    The Fixed Values Data Source Mapping dialog box opens.

  4. Click Change Source to open the Select a Data Source dialog box.

  5. Select the Contoso Retail DW Inventory data source, and then click OK.

  6. In the Dimensional Data Source Mapping dialog box, use the Select a measure list to select the Inventory on Order Quantity measure.

  7. Click OK to close the Dimensional Data Source Mapping dialog box.

  8. In the center pane, in the Data Mappings column for the Target value row, click the hypertext that says 1 (Fixed Values).

  9. In the Fixed Values Data Source Mapping dialog box, in the Value box, type 19500, and then click OK.

  10. Configure number formatting for the KPI follow these steps:

    1. In the center pane, in the Number Format column for the Actual value, click the hypertext that says (Default) to open the Format Numbers dialog box.

    2. Use the Format list to select Number.

    3. In the Decimals box, type 0.

    4. Click OK to close the Format Numbers dialog box.

    5. Repeat for the Target value.

  11. In the center pane, click the Properties tab, and specify the following settings:

    • In the Name box, type Inventory on Order Quantity.

    • In the Person Responsible box, type Susan Burk.

  12. In the Workspace Browser, right-click the KPI, and then click Save.

Next, we create the Inventory Days in Stock KPI.

To create the Inventory Days in Stock KPI

  1. On the Create tab in the ribbon, click KPI.

  2. The Select a KPI Template dialog box opens.

  3. Select Blank KPI, and then click OK.

    The KPI opens for editing.

  4. In the center pane, on the Editor tab, in the Data Mappings column for the Actual value row, click the hypertext that says 1 (Fixed Values).

    The Fixed Values Data Source Mapping dialog box opens.

  5. In the Fixed Values Data Source Mapping dialog box, in the Value box, type 105, and then click OK.

  6. In the center pane, in the Data Mappings column for the Target value row, click the hypertext that says 1 (Fixed Values).

  7. In the Fixed Values Data Source Mapping dialog box, in the Value box, type 90, and then click OK.

  8. In the center pane, click the Properties tab, and specify the following settings:

    • In the Name box, type Inventory Days in Stock.

    • In the Person Responsible box, type Cindy White.

  9. In the Workspace Browser, right-click the KPI, and then click Save.

Next, we create the Inventory Stock vs. Demand KPI.

To create the Inventory Stock vs. Demand KPI

  1. On the Create tab in the ribbon, click KPI.

  2. The Select a KPI Template dialog box opens.

  3. Select Blank KPI, and then click OK.

    The KPI opens for editing.

  4. In the center pane, on the Editor tab, in the Data Mappings column for the Actual value row, click the hypertext that says 1 (Fixed Values).

    The Fixed Values Data Source Mapping dialog box opens.

  5. In the Fixed Values Data Source Mapping dialog box, in the Value box, type 25.5, and then click OK.

  6. In the center pane, in the Data Mappings column for the Target value row, click the hypertext that says 1 (Fixed Values).

    The Fixed Values Data Source Mapping dialog box opens.

  7. In the Fixed Values Data Source Mapping dialog box, in the Value box, type 33.0, and then click OK.

  8. Configure number formatting for the KPI follow these steps:

    1. In the center pane, in the Number Format column for the Actual value, click the hypertext that says (Default) to open the Format Numbers dialog box.

    2. Use the Format list to select Number.

    3. In the Decimals box, type 1.

    4. Click OK to close the Format Numbers dialog box.

    5. Repeat for the Target value.

  9. In the center pane, click the Properties tab, and specify the following settings:

    • In the Name box, type Inventory Stock vs. Demand.

    • In the Person Responsible box, type David Hamilton.

  10. In the Workspace Browser, right-click the KPI, and then click Save.

Now that we have created our four KPIs, the next step is to create the scorecard and add those four KPIs to it. We will name this scorecard "Inventory Rotation."

To create the Inventory Rotation scorecard

  1. On the Create tab in the ribbon, click Scorecard.

    The Select a Scorecard Template dialog box opens.

  2. In the Category pane, click Standard, and in the Template pane, select Blank Scorecard. Then click OK.

    The scorecard opens for editing in the workspace.

  3. In the Details pane, expand KPIs, and then expand PerformancePoint Content.

    Notice the four KPIs that you created earlier.

  4. From the Details pane, drag the Inventory On Hand Quantity KPI to the Drop items here box that is located on the left side of the center pane.

    The scorecard updates to display that KPI as a row in the scorecard.

  5. From the Details pane, drag the Inventory On Order Quantity KPI to the scorecard, positioning it under the Inventory On Hand Quantity KPI.The scorecard now displays two rows.

  6. From the Details pane, drag the Inventory Days In Stock KPI to the scorecard, positioning it under the Inventory On Order Quantity KPI.

  7. From the Details pane, drag the Inventory Stock Vs Demand KPI to the scorecard, positioning it under the Inventory Days In Stock KPI.

  8. In the center pane, click the Properties tab.

  9. In the Name box, type Inventory Rotation.

  10. In the Workspace Browser, right-click the KPI, and then click Save.

Now that we have created the Inventory Rotation scorecard, the next step is to create additional reports for the dashboard.

Create reports

In this section, we describe how to create additional reports for the dashboard.

Most dashboards contain multiple items to display various views on the same page. For our example dashboard, we will create the following three reports:

  • A pie chart that shows the approximate portions of inventory on order compared to inventory available. We will name this report "Inventory (On Hand and On Order)."

  • A line chart that shows inventory on order and inventory available amounts for 2007, 2008, and 2009. We will name this report, "Inventory (Over Three Years)."

  • A KPI Details report that provides additional information about scorecard values. We will name this report, "KPI Details."

First, we create the Inventory (On Hand and On Order) pie chart, which resembles the following image.

Analytic pie chart showing inventory

To create the Inventory (On Hand and On Order) pie chart

  1. In Dashboard Designer, in the Workspace Browser, click PerformancePoint Content.

  2. In the ribbon, on the Create tab, in the Reports group, click Analytic Chart.

    The Create an Analytic Chart Report wizard opens.

  3. In the Select a Data Source window, select the Contoso Retail DW Inventory data source.

  4. Click Finish.

    The analytic chart opens for editing in the center pane of the workspace.

  5. In the center pane, click the Design tab.

  6. In the Details pane, expand Measures.

  7. From the Details pane, drag Inventory On Hand Quantity to the Series section.

  8. From the Details pane, drag Inventory On Order Quantity to the Series section.

  9. In the Details pane, expand Dimensions, and then expand the Store dimension.

  10. From the Details pane, drag Geographical Hierarchy to the Bottom Axis section.

    The analytic chart updates to display information.

  11. In the ribbon, on the Edit tab, in the View group, click Report Type, and then click Pie Chart.

    The bar chart changes to a pie chart.

  12. In the center pane, click the Properties tab.

  13. In the Name box, type Inventory (On Hand and On Order).

  14. In the Workspace Browser, right-click the report, and then click Save.

Next, we create the Inventory (Over Three Years) line chart, which resembles the following image.

Analytic line chart showing inventory

To create the Inventory (Over Three Years) line chart

  1. In the ribbon, on the Create tab, in the Reports group, click Analytic Chart.

    The Create an Analytic Chart Report wizard opens.

  2. In the Select a Data Source window, select the Contoso Retail DW Inventory data source.

  3. Click Finish.

    The analytic chart opens for editing in the center pane of the workspace.

  4. In the center pane, click the Design tab.

  5. In the Details pane, expand Measures.

  6. From the Details pane, drag Inventory On Hand Quantity to the Series section.

  7. From the Details pane, drag Inventory On Order Quantity to the Series section.

  8. In the Details pane, expand Dimensions, and then expand the Date dimension.

  9. From the Details pane, drag Calendar YQMD to the Bottom Axis section.

    The analytic chart updates to display information.

  10. In the Bottom Axis section, click the down arrow for the Date Calendar YQMD dimension hierarchy to open the Select Members dialog box.

  11. Using the Select Members dialog box, take the following steps:

    1. Clear the Default Member (All) selection.

    2. Expand the All member.

    3. Select Year 2007, Year 2008, and Year 2009.

    4. Click OK to close the Select Members dialog box.

  12. In the ribbon, on the Edit tab, in the View group, click Report Type, and then click Line Chart with Markers.

    The bar chart changes to a line chart.

  13. In the center pane, click the Properties tab.

  14. In the Name box, type Inventory (Over Three Years).

  15. In the Workspace Browser, right-click the report, and then click Save.

Next, we create the KPI Details report. The KPI Details report is simple to create and use. The KPI Details report uses a scorecard as its data source. This means that until a cell in the scorecard is clicked, the KPI Details report resembles the following image in a dashboard.

KPI Details before clicking a scorecard value

When a dashboard user clicks a value in the scorecard, the KPI Details report refreshes to display information about the scorecard, as shown in the following image.

KPI Details report showing scorecard value details

To create a KPI Details report

  1. In the ribbon, on the Create tab, in the Reports group, click KPI Details.

  2. The KPI Details report opens for editing.

  3. In the center pane, on the Editor tab, keep the default selections.

  4. In the center pane, click the Properties tab.

  5. In the Name box, type KPI Details.

  6. In the Workspace Browser, right-click the report, and then click Save.

Now that we have created a scorecard and three reports, the next step is to create a dashboard page and add these items to it.

Create and assemble a dashboard page

In this section, we describe how to create a dashboard page and add the scorecard and reports to it. We will name this dashboard page "Inventory."

To create the Inventory dashboard page

  1. In Dashboard Designer, in the Workspace Browser, click PerformancePoint Content.

  2. In the ribbon, on click the Create tab, click Dashboard.

    The Select a Dashboard Page Template dialog box opens.

  3. In the Template pane, select the 2 Columns template, and then click OK.

    The dashboard opens for editing.

  4. In the center pane, click the Editor tab. Notice the Left Column zone and the Right Column zone in the Dashboard Content section.

  5. In the Details pane, expand Scorecards, and then expand PerformancePoint Content.

  6. From the Details pane, drag the Inventory Rotation scorecard to the Left Column zone.

  7. In the Details pane, expand Reports, and then expand PerformancePoint Content.

  8. From the Details pane, drag the Inventory (Over Three Years) report to the Left Column zone, under the Inventory Rotation scorecard.

  9. From the Details pane, drag the Inventory (On Hand and On Order) report to the Right Column zone.

  10. From the Details pane, drag the KPI Details report to the Right Column zone, under the Inventory (On Hand and On Order) report.

  11. In the box for the KPI Details report, click the down arrow, and then click Create Connection.

  12. In the Connection dialog box, specify the following settings:

    1. On the Items tab, use the Get values from list to select Left Column - (1) Inventory Rotation.

    2. On the Values tab, use the Connect to list to select Cell.

    3. Use the Source value list to select Cell : Context.

    Click OK to close the Connection dialog box.

  13. In the center pane, click the Properties tab.

  14. In the Name box, type Inventory.

  15. In the Workspace Browser, right-click the report, and then click Save.

Publish the dashboard

Now that we have created and assembled our dashboard, the next step is to publish it.

To publish the Inventory dashboard

  1. In Dashboard Designer, in the Workspace Browser, click PerformancePoint Content.

  2. Right-click the Inventory dashboard, and then click Deploy to SharePoint.

    The Deploy To dialog box opens.

  3. In the Deploy To dialog box, click Dashboards, and then click OK.

    The dashboard opens in a Web browser.

Now that you have created and published our example dashboard, you are ready to use it for custom extensions, such as scorecard transforms. For more information, see Apply custom scorecard transforms to a PerformancePoint dashboard.

See Also

Concepts

Use custom extensions with PerformancePoint Services (SharePoint Server 2010)


Apply custom scorecard transforms to a PerformancePoint dashboard
See Also

Published: June 3, 2011

You can use custom scorecard transforms in PerformancePoint Services in Microsoft SharePoint Server 2010 to change the appearance and content of scorecards. Transforms are especially useful for making global changes to a collection of published scorecards, without requiring you to edit scorecards individually in PerformancePoint Dashboard Designer. Although transforms run on all scorecards throughout a PerformancePoint Services instance, you can set conditions so that only specific scorecards are changed.

This article contains instructions for creating and installing a transform. The code example is written in the C# programming language and uses the Microsoft .NET Framework 3.5. You can paste the code into Microsoft Visual Studio and then edit as needed to make it work with your environment.

Important:

This example is intended for demonstration only. It is provided AS IS without warranty of any kind, either express or implied. This includes any implied warranties of fitness for a particular purpose, merchantability, or non-infringement.

In this article:

  • Scenario overview

  • Scorecard transform prerequisites

  • Creating and installing a scorecard transform

Scenario overview

Suppose that you have created a PerformancePoint dashboard that contains a scorecard and several reports. For example, a basic dashboard that can be used to track inventory might resemble the following image.

The dashboard displays the correct information, but with other reports on the page, it might be better to make the Inventory Rotation scorecard appear more concise. Suppose additionally that there are several other dashboards that contain various inventory scorecards, and that you want to reduce how all the scorecards are displayed. Rather than edit each one by using Dashboard Designer, you can create and apply a scorecard transform that displays how all those scorecards are displayed without actually changing the scorecards.

The transform described in this article reduces the size of how scorecards are displayed in dashboards. Specifically, it makes the following changes for all scorecards that include "Inventory" in their names:

  • Abbreviates KPI display names.

  • Changes the background color of the Actual column cells to reflect the indicator color.

  • Removes all columns that are not Actual column types.

Tip:

You can use your own PerformancePoint dashboard or re-create our example dashboard. For information about how to create a dashboard that resembles our example dashboard, see Create a baseline PerformancePoint dashboard to use with custom extensions scenarios.

Scorecard transform prerequisites

Identify or create a PerformancePoint dashboard that contains a scorecard that resembles the scorecard that is shown in the following image.

Inventory Rotation scorecard

The scorecard transform described in this article is based on the following assumptions:

  • The scorecard contains key performance indicator (KPI) names on rows.

  • The scorecard contains only one Actual column.

  • The scorecard contains a Target column that uses an indicator that has three bands: On Target, Slightly Off Target, and Off Target.

To create the transform, you must have Visual Studio installed on the application server where PerformancePoint Services is installed. To download trial versions of Visual Studio, see Visual Studio Downloads (http://go.microsoft.com/fwlink/p/?LinkId=220177).

To install the transform, you must have sufficient permissions to register an assembly in the global assembly cache, copy files to the local directory, and edit the PerformancePoint Services Web.config file. In addition, you may need permissions to recycle the Internet Information Services (IIS) application pool that the transform worker process is running in.

Tip:

To create our example dashboard, see Create a baseline PerformancePoint dashboard to use with custom extensions scenarios.

Creating and installing a scorecard transform

The following instructions are based on the assumption that Visual Studio is installed on the application server that is running PerformancePoint Services. These instructions are based on the Visual Studio 2010 Professional user interface. They might vary in other versions.

To copy PerformancePoint Services assemblies from the global assembly cache

  1. Create a folder named to store local copies of PerformancePoint Services assemblies. These instructions assume that you create a folder named PpsDlls on the root of the C drive.

  2. Start the command prompt console as an administrator.

  3. Run the following commands in order:

    Copy Code
    cd %WINDIR%\assembly\GAC_MSIL\Microsoft.PerformancePoint.Scorecards.Client\14.0.0.0__71e9bce111e9429c
    Copy Code
    copy Microsoft.PerformancePoint.Scorecards.Client.dll C:\PpsDlls
    Copy Code
    cd %WINDIR%\assembly\GAC_MSIL\Microsoft.PerformancePoint.Scorecards.ServerCommon\14.0.0.0__71e9bce111e9429c
    Copy Code
    copy Microsoft.PerformancePoint.Scorecards.ServerCommon.dll C:\PpsDlls

To create and modify the transform

  1. In Visual Studio, click New, and then select Project.

  2. In the New Project dialog box, select the Visual C# template, .NET Framework 3.5., and the Class Library project template.

  3. Type ShrinkScorecardTransform as the name for the project, and then click OK.

  4. Replace the boilerplate contents of the class by using the following code.

    C# Copy Code
    using System;
using System.Drawing;
using System.Collections.Generic;
using Microsoft.PerformancePoint.Scorecards;
using Microsoft.PerformancePoint.Scorecards.Extensions;

namespace Microsoft.PerformancePoint.SDK.Samples.ScorecardTransforms.PreRender
{

    // PreRender scorecard transform sample.
    public class ShrinkScorecardTransform : IGridViewTransform
    {

        // Set the transform type, which defines when the transform runs.
        public GridViewTransformType GetTransformType()
        {
            return GridViewTransformType.PreRender;
        }

        // Return the string identifier of your transform.
        public string GetId()
        {
            return "ShrinkScorecard";
        }

        // Run the transform.
        public void Execute(GridViewData viewData, PropertyBag parameters, IGlobalCache cache)
        {
            GridFormatInfo indicatorBackground = new GridFormatInfo();

            // Verify that viewData is not null.
            if (viewData == null)
            {
                throw new ArgumentException("Parameter cannot be null", "viewData");
            }

            Scorecard scorecardInLocalCache = cache.GetScorecard(viewData.ScorecardLocation);

            // This transform runs only on scorecards that contain the specified string in their names.
            // Edit 1. Change the string value to test on your own scorecards.
            if (scorecardInLocalCache.Name.Text.Contains("Inventory"))
            {
                List<GridHeaderItem> rowHeaders = viewData.RootRowHeader.GetAllHeadersInTree();
                List<GridHeaderItem> leafColumnHeaders = viewData.RootColumnHeader.GetAllLeafHeadersInTree();

                GridDisplayElementIndicator indicatorElement = new GridDisplayElementIndicator();

                // Loop through the row headers.
                foreach (GridHeaderItem rowHeader in rowHeaders)
                {
                    // Abbreviate KPI display names.
                    if (rowHeader.HeaderType == ScorecardNodeTypes.Kpi)
                    {
                        // Replace strings in row headers with abbreviations.
                        // Edit 2. Change the string values to test on your own scorecards.
                        string displayText = rowHeader.DisplayText;
                        displayText = displayText.Replace("Inventory", "Inv");
                        displayText = displayText.Replace("Quantity", "Qty");
                        rowHeader.DisplayText = displayText;
                    }

                    // Create containers to store actual cell coordinates.
                    GridCell actualCell = new GridCell();
                    GridHeaderItem actualColumnHeader = new GridHeaderItem();

                    // Loop through the column headers to reformat the actual cell.
                    foreach (GridHeaderItem columnHeader in leafColumnHeaders)
                    {

                        // Get the scorecard cell at the intersection of the current row and column headers.
                        GridCell cell = viewData.Cells[rowHeader, columnHeader];

                        // If this is an actual cell, store its coordinates.
                        if ((columnHeader.HeaderType == ScorecardNodeTypes.KpiActual) && (cell.DisplayElements.Count > 0))
                        {
                            actualCell = cell;
                            actualColumnHeader = columnHeader;
                        }

                        // Get the indicator value for the target cell. A target cell can contain multiple
                        // display elements, such as a target value, an indicator icon, and a variance value.
                        if (columnHeader.HeaderType == ScorecardNodeTypes.KpiTarget)
                        {
                            if (cell.DisplayElements != null && cell.DisplayElements.Count > 0)
                            {
                                foreach (GridDisplayElement element in cell.DisplayElements)
                                {
                                    if (element.GetType() == indicatorElement.GetType())
                                    {
                                        indicatorBackground = cell.ResolvedFormatInfo;

                                        // Look for the default Text values for a native tri-state indicator.
                                        switch (element.Text)
                                        {
                                            case "On Target":
                                                indicatorBackground.BackColor = new GridColor(Color.PaleGreen);
                                                break;
                                            case "Slightly Off Target":
                                                indicatorBackground.BackColor = new GridColor(Color.Yellow);
                                                break;
                                            case "Off Target":
                                                indicatorBackground.BackColor = new GridColor(Color.LightCoral);
                                                break;
                                        }

                                        // Reformat the actual cell.
                                        actualCell.FormatInfo = indicatorBackground;
                                        viewData.Cells[rowHeader, actualColumnHeader] = actualCell;
                                        break;
                                    }
                                }
                            }
                        }

                        // Remove columns that are not Actual columns.
                        if (columnHeader.HeaderType != ScorecardNodeTypes.KpiActual)
                        {
                            if (columnHeader.Parent != null)
                            {
                                columnHeader.Parent.Children.Remove(columnHeader);
                            }
                            else
                            {
                                viewData.RootColumnHeader.Children.Remove(columnHeader);
                            }
                        }
                    }
                }
            }
        }
    }
}

  5. Find the Execute method in the code, and then change variables to match your environment, as follows:

    To make the code work in your environment

    1. Change the string variable "Inventory" to match the name of the scorecards that you want to run the transform on. For example, if you want the transform to run on all scorecards with "South" in their names, replace "Inventory" with "South".

      C# Copy Code
      // Edit 1. Change the string value to test on your own scorecards.
if (scorecardInLocalCache.Name.Text.Contains("Inventory"))

    2. Change the string variables to match parts of KPI names that you want to abbreviate.

      C# Copy Code
      // Edit 2. Change the string values to test on your own scorecards.
string displayText = rowHeader.DisplayText;
displayText = displayText.Replace("Inventory", "Inv");
displayText = displayText.Replace("Quantity", "Qty");

  6. In the Solution Explorer pane (located on the right side of the Visual Studio application), rename the Class1.cs class to ShrinkScorecardTransform.cs.

  7. Right-click the project node, and then select Add Reference.

  8. In the Add Reference dialog box, click the Browse tab, and then navigate to the C:\PpsDlls folder.

  9. Select the two assemblies that you copied in the "To copy PerformancePoint Services assemblies from the global assembly cache" procedure, and then click OK.

  10. Reopen the Add Reference dialog box, and then click the .NET tab.

  11. Select the System.Drawing assembly, and then click OK.

To sign and build the transform assembly

  1. In Solution Explorer, right-click the project node, and then select Properties.

  2. Click the Signing tab, and then select the Sign the assembly check box.

  3. In the Choose a strong name key file list, select New to generate a new key.

  4. In the Create Strong Name Key dialog box, type the name that you want to use for the key.

  5. (Optional) Provide a password for the key.

  6. Click OK.

  7. In the Solution Explorer pane, right-click the project node, and then select Build.

    The build status displays in the lower-left-hand corner of the Visual Studio application. If the build fails, refer to the Error tab for troubleshooting information.

To install the transform

  1. Copy the transform assembly to the global assembly cache. To do this, use the following procedure:

    To copy the transform assembly to the global assembly cache

    1. Using Windows Explorer, navigate to the output folder that contains your transform assembly. By default, it is created in the bin\Debug or bin\Release folder in your Visual Studio project files. Example: C:\Users\mboyer\Documents\Visual Studio 2010\Projects\ShrinkScorecardTransform\ShrinkScorecardTransform\bin\Debug.

    2. Open a separate instance of Windows Explorer, and then navigate to the global assembly cache in the default path C:\Windows\assembly.

    3. Drag your transform assembly to the global assembly cache. If you cannot add the assembly to the global assembly cache, close the two instances of Windows Explorer, reopen them with administrative privileges, and then repeat steps 1a and 1b.

    4. In the global assembly cache, right-click your transform assembly, and then click Properties.

    5. In the Properties dialog box, find the version, culture, and public key token of the assembly. Make a record of these values.

      Note:

      This procedure describes one way to register an assembly in the global assembly cache. For information about other ways to register assemblies, see How to: Install an Assembly into the Global Assembly Cache (http://go.microsoft.com/fwlink/p/?LinkId=220181).

  2. Navigate to the PerformancePoint Services Web.config file in the default path %PROGRAMFILES%\Microsoft Office Servers\14.0\WebServices\PpsMonitoringServer.

  3. Open the Web.config file in a text editor, such as Notepad.

    Important:

    As a best practice, make a copy of the Web.config file before editing it.

  4. Find the opening tag for the CustomViewTransforms element, and then paste the following code directly under it.

    Copy Code
    <add key="ShrinkScorecard" value="Microsoft.PerformancePoint.SDK.Samples.ScorecardTransforms.PreRender.ShrinkScorecardTransform, ShrinkScorecardTransform, Version=[the version of your assembly], Culture=[the culture of your assembly], PublicKeyToken=[the public key token of your assembly]"/>

  5. Edit the pasted code, replacing the placeholder values with the values that you recorded in step 1e. Example:

    <add key="ShrinkScorecard" value="Microsoft.PerformancePoint.SDK.Samples.ScorecardTransforms.PreRender.ShrinkScorecardTransform, ShrinkScorecardTransform, Version=1.0.0.0, Culture=neutral, PublicKeyToken=fa525c8383a44a52"/>

  6. Save and then close the Web.config file.

    The transform is now applied to new and existing scorecards (and Strategy Map reports) that are in your environment. If the scorecard views are cached, you may not see the transform changes. In this case, you can recycle the Internet Information Services (IIS) application pool for PerformancePoint Services that the transform process is running in and then refresh the dashboard page.

To recycle the PerformancePoint application pool

  1. In the Windows Start menu, select Run. In the Run dialog box, type inetmgr and then click OK.

  2. In Internet Information Services (IIS) Manager, expand the server node, and then click Application Pools.

  3. Find the application pool that is running PerformancePoint Services, as follows:

    To locate the PerformancePoint application pool

    1. Right-click an application pool name, and then select View Applications.

      Tip:

      The target application pool is the frequently the one that is running the most applications, as shown in the Applications column.

    2. In the Applications pane, expand the Physical Path column and look for the path that ends with "PpsMonitoringServer."

      If the list does not contain the path for "PpsMonitoringServer," click Remove filter to return the list of all applications.

    3. Note the application pool name that is listed in the respective Application Pool column.

  4. In the Connections pane, click Application Pools.

  5. In the Application Pools pane, right-click the target application pool, and then select Recycle.

  6. Refresh the dashboard page in your browser.

See Also

Concepts

Create a baseline environment for a BI test environment

Other Resources

Overview of Scorecard Transforms
How to: Create Scorecard Transforms


Use Excel Services with Secure Store (SharePoint Server 2010)
See Also

This series of articles describes how to configure data refresh in Excel Services in Microsoft SharePoint Server 2010 by using the Secure Store Service to map user and group credentials to the credentials of external data sources.

The Secure Store Service is a claims-aware authorization service. In Microsoft SharePoint Server 2010, it replaces the single sign-on (SSO) component that is used in Microsoft Office SharePoint Server 2007. The Secure Store Service includes a database for storing encrypted credentials that can be used to access external data sources.

In Secure Store you specify a group of users to whom you want to grant access to a data source and a set of credentials that has access to that data source. The user information is stored in a Secure Store target application and the associated credentials are stored, encrypted, in the Secure Store database. You can then specify the target application in a workbook, an Office Data Connection (ODC) file, or in Excel Services Global Settings, and Excel Services will use the stored credentials on behalf of the specified users to refresh data in a data-connected workbook.

Note:

These articles assume that you have already deployed a Secure Store Service Application. If you have not deployed Secure Store, see Plan the Secure Store Service (SharePoint Server 2010) and Configure the Secure Store Service (SharePoint Server 2010).

Excel Services can be used with Secure Store in three primary scenarios:

  • Unattended Service Account: The unattended service account is an account that is used by Excel Services to provide broad database access to all users in the farm. Use the unattended service account for accessing data that is not considered sensitive or where you do not want to restrict access to a certain group of users. For information about how to configure this scenario, see Configure Excel Services data refresh by using the unattended service account (SharePoint Server 2010).

  • Embedded Connections: In Excel, you can specify a Secure Store target application directly in the workbook. When the workbook is published to a SharePoint document library and then rendered by using Excel Services, the specified target application is used to refresh the data. For information about how to configure this scenario, see Configure Excel Services data refresh by using embedded data connections (SharePoint Server 2010).

  • External Data Connections: You can specify a Secure Store target application in an Office Data Connection (ODC) file and then connect to that ODC file in Excel. When you publish the workbook to a SharePoint document library, it maintains its connection to the ODC file. The connection information in the ODC file is used when Excel Services refreshes the data in the workbook. Using an ODC file has the following advantages:

    • A single ODC file can be referenced by multiple workbooks. If the data source connection parameters change (for example, if you want to use a different Secure Store target application than the one originally specified) you need only update the ODC file and not the workbooks themselves.

    • Using ODC files allows administrators to create and maintain the data connections used by the organization. You can create data connections appropriate for users, place them in a trusted data connection library, and then notify the users of which ODC files to use for their queries.

    For information about how to configure this scenario, see Configure Excel Services data refresh by using external data connections (SharePoint Server 2010).

See Also

Concepts

Use Secure Store with SQL Server Authentication (SharePoint Server 2010)
Secure Store for Business Intelligence service applications (SharePoint Server 2010)


Configure Excel Services data refresh by using the unattended service account (SharePoint Server 2010)
See Also

Published: October 14, 2010

Excel Services in Microsoft SharePoint Server 2010 provides three methods of using Secure Store to refresh the external data source in a workbook:

  • You can use an unattended service account. This article describes how to do this.

  • You can specify a Secure Store target application in a workbook. (This is known as an embedded connection.) For more information, see Configure Excel Services data refresh by using embedded data connections (SharePoint Server 2010).

  • You can use an Office Data Connection (ODC) file that specifies a Secure Store target application. For more information, see Configure Excel Services data refresh by using external data connections (SharePoint Server 2010).

Using the unattended service account involves configuring an Active Directory account and granting it access to your data, storing the credentials for this account in Secure Store, and configuring Excel Services to use the stored credentials when it needs to refresh the data in a workbook.

The following steps are required to configure the unattended service account in Excel Services.

  1. Configure a data access account

  2. Configure a Secure Store target application for the unattended service account

  3. Configure Excel Services Global Settings

  4. Configure a workbook to use the unattended service account

Video demonstration

This video shows the procedures involved in configuring Excel Services to work with the unattended service account.

Screenshot of video

Running time: 11:27

Play video Watch the video.

Download video For an optimal viewing experience, download the video.

Right-click the link, and then click Save Target As to download a copy. Clicking the link opens a .wmv file in the default video viewer for full-resolution viewing.

Configure a data access account

The unattended service account requires an Active Directory account for data access. Have your domain administrator create an Active Directory account that you can use for data access.

Once the account has been created, you must grant this account read access to the data source that you will be using in your data-connected Microsoft Excel workbook. Use the following procedure to create a logon for the data access account in Microsoft SQL Server. (If you are using a data source other than SQL Server, see the instructions for your data source to create a logon with data-read permissions for the data access account.)

To create a SQL Server logon for the data access account

  1. In SQL Server Management Studio, connect to the database engine.

  2. In Object Explorer, expand Security.

  3. Right-click Logins, and then click New Login.

  4. In the Login name box, type the name of the Active Directory account that you created for data access.

  5. In the Select a page section, click User Mapping.

  6. Select the Map check box for the database that you want to provide access to, and then, under Database role membership for: <database>, select the db_datareader check box.

  7. Click OK.

Now that you have created a logon for the data access account and granted the account access to your data source, you must create a target application in Secure Store to contain the credentials for the data access account.

Configure a Secure Store target application for the unattended service account

The Secure Store Service uses a target application to define connection parameters and authorized users. The unattended service account is generally considered a catch-all account that is used for general data access. All users are granted access to the unattended service account through the target application.

In order to grant all users data access through the unattended service account, the account that is running the Excel Services application pool is added as a member of the Secure Store target application. If you do not know which account is being used to run the Excel Services, follow these steps to determine which account that is.

To find the Windows identity assigned to the Excel Services application pool

  1. On the SharePoint Central Administration Web site home page, click Security.

  2. On the Security page, under General Security, click Configure service accounts.

  3. On the Service Account page, in the Credential Management section, from the drop-down list, select the application pool that runs Excel Services Application.

    When this option is selected, the name of the Excel Services Application appears in the box underneath the drop-down list. This is the Windows identity that you need for the Members list when you configure the unattended service account in Secure Store.

  4. Click Cancel.

Once you have determined which account is being used to run the application pool for the Excel Services service application, the next step is to create a target application in Secure Store for the unattended service account. Use the following procedure to create the target application.

To create a target application for the unattended service account

  1. On the Central Administration home page, in the Application Management section, click Manage service applications.

  2. Click the Secure Store service application.

  3. On the ribbon, click New.

  4. In the Target Application ID box, type a unique identifier for this target application (for example, ExcelServicesUnattended).

  5. In the Display Name box, type a friendly name or short description.

  6. In the Contact E-mail box, type the e-mail address for a contact for this target application.

  7. In the Target Application Type drop-down list, select Group.

  8. Click Next.

  9. Leave the default credential fields, and then click Next.

  10. On the Specify the membership settings page:

    • In the Target Application Administrators box, type the account of the user who will administer this target application.

      Note:

      You can specify multiple users or an Active Directory group.

    • In the Members box, type the Excel Services application pool account that you located in the previous procedure.

  11. Click OK.

Once the target application is created, you must specify which credentials should be used by it. These are the credentials of the Active Directory account that you created previously, and which have been granted read access to your data source.

Use the following procedure to set the credentials for the target application.

To set the credentials for the target application

  1. On the Secure Store Service Application page, in the Target Application ID column, point to the target application that you just created, click the arrow that appears, and then click Set Credentials.

  2. Type the user name and password of the data access account.

  3. Click OK.

Once you have set the credentials for the target application, the Secure Store Service configuration for the unattended service account is complete. The next step is to configure Excel Services to use this target application for the unattended service account.

Configure Excel Services Global Settings

The unattended service account configuration is part of the Excel Services Global Settings. Use the following procedure to configure the unattended service account in Excel Services.

To configure Excel Services Global Settings

  1. On the Central Administration home page, in the Application Management section, click Manage service applications.

  2. On the Manage Service Applications page, click the Excel Services service application.

  3. On the Manage the Excel Services page, click Global Settings.

  4. On the Excel Services Settings page, in the External Data section, in the Application ID box, type the Target Application ID of the target application that you created.

  5. Click OK.

With the Excel Services Global Settings configured, setup of the unattended service account is complete. The next section describes how to configure the Excel Services authentication settings in a data-connected Excel workbook to refresh the data with the unattended service account after the workbook has been published to a SharePoint document library.

Configure a workbook to use the unattended service account

You must configure the Excel Services Authentication Settings in the workbook before you publish it to SharePoint Server 2010. Doing so enables the workbook to use the unattended service account to refresh data when the workbook is rendered in Excel Services. Use the following procedure to configure the authentication settings.

To configure Excel Services authentication settings

  1. In a data-connected Excel workbook, on the Data tab, click Connections.

  2. On the Workbook Connections dialog box, select the data connection that you want to update, and then click Properties.

  3. On the Connection Properties dialog box, on the Definition tab, click Authentication Settings.

  4. On the Excel Services Authentication Settings dialog box, select the None option, and then click OK.

  5. On the Connection Properties dialog box, click OK.

    Note:

    If you see a warning that the link to the external connection file will be removed, click Yes.

  6. On the Workbook Connections dialog box, click Close.

With the Excel Services Authentication Settings set to None, Excel Services uses the unattended service account to refresh the data in the workbook after you have published it to SharePoint Server 2010.

See Also

Concepts

Excel Services data refresh flowchart


Configure Excel Services data refresh by using embedded data connections (SharePoint Server 2010)
See Also

Published: October 14, 2010

Excel Services in Microsoft SharePoint Server 2010 supports three methods of using Secure Store to connect to external data:

  • You can specify a Secure Store target application in a workbook. (This is known as an embedded connection.) This article describes how to do this.

  • You can use an unattended service account. For more information, see Configure Excel Services data refresh by using the unattended service account (SharePoint Server 2010).

  • You can use an Office Data Connection (ODC) file that specifies a Secure Store target application. For more information, see Configure Excel Services data refresh by using external data connections (SharePoint Server 2010).

To configure Excel Services data access to use embedded data connections, we will use the following process:

  1. Configure a data access account

  2. Configure the Secure Store Service application

  3. Create and publish an Excel workbook that uses an embedded data connection

Video demonstration

This video shows the procedures involved in configuring Excel Services to work with an embedded data connection.

Screenshot of video

Running time: 11:04

Play video Watch the video.

Download video For an optimal viewing experience, download the video.

Right-click the link, and then click Save Target As to download a copy. Clicking the link opens a .wmv file in the default video viewer for full-resolution viewing.

Configure a data access account

You must have an account that can be granted access to the data source to which you want to connect your Microsoft Excel workbook. This can be a Windows Active Directory account, a Microsoft SQL Server logon, or other set of credentials as required by your data source. This account will be stored in Secure Store.

Once you have created the account, the next step is to grant that account read access to the required data. (In this article, we use the example of accessing a SQL Server database through an Active Directory account. If you are using a data source other than SQL Server, see the instructions for your data source to create a logon with data-read permissions for the data access account.)

Follow these steps to create a SQL Server logon and grant Read access to the database.

To create a SQL Server logon for the data access account

  1. In SQL Server Management Studio, connect to the database engine.

  2. In Object Explorer, expand Security.

  3. Right-click Logins, and then click New Login.

  4. In the Login name box, type the name of the Active Directory account that you created for data access.

  5. In the Select a page section, click User Mapping.

  6. Select the Map check box for the database that you want to provide access to, and then, under Database role membership for: <database>, select the db_datareader check box.

  7. Click OK.

Now that you have created a data access account and granted it access to a data source, the next step is to create a Secure Store target application.

Create a Secure Store target application

You must create a target application in Secure Store that contains the credentials that you created for data access. This target application can then be specified in data-connected Excel workbooks and will be used by Excel Services when it refreshes data in the workbook.

When you create the target application, you have to specify which users will be authorized to use the credentials stored in Secure Store. You can list users individually, or you can use an Active Directory group. We recommend that you use an Active Directory group for ease of administration.

Note:

The users that you list in the target application do not have direct access to the stored credentials. Instead, Excel Services uses the credentials on their behalf to refresh data in data-connected workbooks that specify this target application.

Use the following procedure to create a Secure Store target application.

To create a target application

  1. On the Central Administration home page, in the Application Management section, click Manage service applications.

  2. Click the Secure Store service application.

  3. On the ribbon, click New.

  4. In the Target Application ID box, type a unique identifier for this target application (for example, ExcelServicesDataAccess).

  5. In the Display Name box, type a friendly name or short description.

  6. In the Contact E-mail box, type the e-mail address for a contact for this target application.

  7. In the Target Application Type drop-down list, select Group.

  8. Click Next.

  9. On the Credential Fields page, if you are using Windows credentials, leave the default credential fields. If you are using credentials other than Windows credentials, modify the Field Type drop-down lists to comply with the credentials that you are using. Click Next.

  10. On the Specify the membership settings page:

    • In the Target Application Administrators box, type the account of the user who will administer this target application.

      Note:

      You can specify multiple users or an Active Directory group.

    • In the Members box, type the users to whom you want to grant the ability to refresh data.

      Note:

      You can specify multiple users or an Active Directory group.

  11. Click OK.

Use the following procedure to set the credentials for the target application.

To set the credentials for the target application

  1. On the Secure Store Service Application page, in the Target Application ID column, point to the target application that you just created, click the arrow that appears, and then click Set Credentials.

  2. Type the user name and password of the data access account.

  3. Click OK.

Once you have set the credentials for the target application, the target application is ready to use. The next step is to specify this target application in the Excel Services authentication settings in your data-connected Excel workbook.

Configure a workbook to use an embedded data connection

You must configure the Excel Services Authentication Settings in the workbook before you publish it to SharePoint Server 2010. Doing so enables the workbook to use a Secure Store target application to refresh data that is rendered using Excel Services. Use the following procedure to configure the authentication settings.

To configure Excel Services authentication settings

  1. In a data-connected Excel workbook, on the Data tab, click Connections.

  2. On the Workbook Connections dialog box, select the data connection that you want to update, and then click Properties.

  3. On the Connection Properties dialog box, on the Definition tab, click Authentication Settings.

  4. On the Excel Services Authentication Settings dialog box, select the SSS option, type the Application ID of the target application in the SSS ID text box, and then click OK.

  5. On the Connection Properties dialog box, click OK.

    Note:

    If you see a warning that the link to the external connection file will be removed, click Yes.

  6. On the Workbook Connections dialog box, click Close.

With the target application specified in the Excel Services Authentication Settings, Excel Services uses the credentials associated with that target application to refresh the data in the workbook after you have published it to SharePoint Server 2010.

See Also

Concepts

Use Secure Store with SQL Server Authentication (SharePoint Server 2010)
Excel Services data refresh flowchart
Configure the Secure Store Service (SharePoint Server 2010)


Configure Excel Services data refresh by using external data connections (SharePoint Server 2010)
See Also

Published: October 14, 2010

Excel Services in Microsoft SharePoint Server 2010 provides three methods of using Secure Store to refresh the external data source in a workbook:

  • You can use an unattended service account. For more information, see Configure Excel Services data refresh by using the unattended service account (SharePoint Server 2010).

  • You can specify a Secure Store target application in a workbook. (This is known as an embedded connection.) For more information, see see Configure Excel Services data refresh by using embedded data connections (SharePoint Server 2010).

  • You can use an Office Data Connection (ODC) file that specifies a Secure Store target application. This article describes how to do this.

By using an ODC file for your data connection, you separate your Microsoft Excel workbooks from the data connection information. This allows you to share a single ODC file among multiple workbooks and also allows you to centrally manage your data connections.

Using Excel Services with an ODC file consists of the following steps:

  1. Configure a data access account

  2. Create a Secure Store target application

  3. Create and publish an ODC file

  4. Configure an Excel workbook to use the published ODC file as a data connection

Video demonstration

This video shows the procedures involved in configuring Excel Services to work with Office Data Connection files.

Screenshot of video

Running time: 12:18

Play video Watch the video.

Download video For an optimal viewing experience, download the video.

Right-click the link, and then click Save Target As to download a copy. Clicking the link opens a .wmv file in the default video viewer for full-resolution viewing.

Configure a data access account

You must have an account that can be granted access to the data source to which you want to connect your Microsoft Excel workbook. This can be a Windows Active Directory account, a Microsoft SQL Server logon, or other set of credentials as required by your data source. This account will be stored in Secure Store.

Once you have created the account, the next step is to grant that account read access to the required data. (in this article, we use the example of accessing a SQL Server database through an Active Directory account. If you are using a data source other than SQL Server, see the instructions for your data source to create a logon with data read permissions for the data access account.)

Follow these steps to create a SQL Server logon and grant Read access to the database.

To create a SQL Server logon for the data access account

  1. In SQL Server Management Studio, connect to the database engine.

  2. In Object Explorer, expand Security.

  3. Right-click Logins, and then click New Login.

  4. In the Login name box, type the name of the Active Directory account that you created for data access.

  5. In the Select a page section, click User Mapping.

  6. Select the Map check box for the database that you want to provide access to, and then, under Database role membership for: <database>, select the db_datareader check box.

  7. Click OK.

Now that you have created a data access account and granted it access to a data source, the next step is to create a Secure Store target application.

Create a Secure Store target application

You must create a target application in Secure Store that contains the credentials that you created for data access. This target application can then be specified in an ODC file and will be used by Excel Services when it refreshes data in the workbook.

When you create the target application, you have to specify which users will be authorized to use the credentials stored in Secure Store. You can list users individually, or you can use an Active Directory group. We recommend that you use an Active Directory group for ease of administration.

Note:

The users that you list in the target application do not have direct access to the stored credentials. Instead, Excel Services uses the credentials on their behalf to refresh data in data-connected workbooks that specify this target application.

Use the following procedure to create a Secure Store target application.

To create a target application

  1. On the Central Administration home page, in the Application Management section, click Manage service applications.

  2. Click the Secure Store service application.

  3. On the ribbon, click New.

  4. In the Target Application ID box, type a unique identifier for this target application (for example, ExcelServicesDataAccess).

  5. In the Display Name box, type a friendly name or short description.

  6. In the Contact E-mail box, type the e-mail address for a contact for this target application.

  7. In the Target Application Type drop-down list, select Group.

  8. Click Next.

  9. On the Credential Fields page, if you are using Windows credentials, leave the default credential fields. If you are using credentials other than Windows credentials, modify the Field Type drop-down list to comply with the credentials that you are using. Click Next.

  10. On the Specify the membership settings page:

    • In the Target Application Administrators box, type the account of the user who will administer this target application.

      Note:

      You can specify multiple users or an Active Directory group.

    • In the Members box, type the users to whom you want to grant the ability to refresh data.

      Note:

      You can specify multiple users or an Active Directory group.

  11. Click OK.

Use the following procedure to set the credentials for the target application.

To set the credentials for the target application

  1. On the Secure Store Service Application page, in the Target Application ID column, point to the target application that you just created, click the arrow that appears, and then click Set Credentials.

  2. Type the user name and password of the data access account.

  3. Click OK.

Once you have set the credentials for the target application, the target application is ready to use. The next step is to create an ODC file that specifies this target application for Excel Services data refresh.

Create and publish an ODC file

Now that the Secure Store target application is configured, the next step is to create the ODC file and publish it to a trusted data connection library. Use the following procedure to create an ODC file that specifies the target application that you just created.

To create and publish an ODC file

  1. In Excel, on the Data tab, click From Other Sources, and then select your data source.

  2. Complete the wizard to create a data connection to your data source.

  3. On the Data tab, click Connections.

  4. On the Workbook Connections dialog box, select the connection that you just created, and then click Properties.

  5. On the Connection Properties dialog box, on the Definition tab, click Authentication Settings.

  6. On the Excel Services Authentication Settings dialog box, select the SSS option, and in the SSS ID box, type the Application ID of the Secure Store target application that you created, and then click OK.

  7. On the Connection Properties dialog box, click Export Connection File.

  8. Save the ODC file to a trusted data connection library on your farm.

Configure a workbook to use an ODC file

In order for a workbook to use the ODC file that you just created, you must connect to it as a data source. Once it is connected, you can publish the workbook to a SharePoint Server 2010 document library and it will maintain its connection to the ODC file. Excel Services then uses the connection information specified in the ODC file when it refreshes data in the workbook.

Use the following procedure to connect to the ODC file in Excel.

To use an ODC file as a data source in Excel

  1. In Excel, on the Data tab, click Existing Connections.

  2. On the Existing Connections dialog box, click Browse for More.

  3. On the Select Data Source dialog box, in the URL box, type the URL for the trusted data connection library where you saved the ODC file, and then press Enter.

    Note:

    It may take several moments for the list to refresh with content from the specified location.

  4. On the list of Data Connections, select the ODC file that you saved, and then click Open.

  5. On the Import Data dialog box, select the PivotTable Report or PivotChart and PivotTable Report option, and then click OK.

Once you have completed the data connection wizard, you can create your report and then publish it to a document library. When the workbook is rendered using Excel Services, Excel Services uses the connection information specified in the ODC file to refresh the data.

Note:

You must publish the workbook to an Excel Services trusted file location.

See Also

Concepts

Use Secure Store with SQL Server Authentication (SharePoint Server 2010)
Excel Services data refresh flowchart
Configure the Secure Store Service (SharePoint Server 2010)


Use Project Server with PerformancePoint Services (SharePoint Server 2010)
See Also

Published: February 3, 2011

The scenarios in this section use PerformancePoint Services in Microsoft SharePoint Server 2010 together with Microsoft Project Server 2010. Project Server 2010 does not require PerformancePoint Services for a default deployment. If you have not configured PerformancePoint Services on your farm, you must do so before you implement the scenarios in this section.

If you are configuring PerformancePoint Services for your production farm, we highly recommend that you review the PerformancePoint Services planning and operations content. These articles give you the necessary planning and configuration guidance to deploy PerformancePoint Services in your environment:

  • What's new for PerformancePoint Services (SharePoint Server 2010)

  • Plan for PerformancePoint Services (SharePoint Server 2010)

  • PerformancePoint Services administration (SharePoint Server 2010)

If you are deploying PerformancePoint Services in a test environment or if you want to be up and running quickly, this article contains basic procedures for configuring PerformancePoint Services for use with the scenarios in this section.

Important:

The procedures in this article assume that you have already configured reporting for Project Server 2010 as described in Configure reporting for Project Server 2010.

Configure PerformancePoint Services

To configure PerformancePoint Services, you must first start the PerformancePoint Service on the application server where you want to run PerformancePoint Services. You can start the service on multiple application servers for better performance, if you want. However, the service must be started on at least one server. Use the following procedure to start the PerformancePoint Service.

To start the PerformancePoint Service

  1. In the SharePoint Server Central Administration Web site, in the System Settings section, click Manage services on server.

  2. Click Start next to PerformancePoint Service.

Once the service is started, you can create a PerformancePoint Services service application. Use the following procedure to create the service application.

To create a PerformancePoint Services service application

  1. In SharePoint Server Central Administration, in the Application Management section, click Manage Service Applications.

  2. Click New, and then click PerformancePoint Service Application.

  3. Type a name for the service application and select the Add this service application's proxy to the farm's default proxy list check box.

  4. Select the Create new application pool option and type a name for the application pool.

  5. Under the Configurable option, select the managed account to run the application pool.

  6. Click Create.

  7. Click OK.

By default, when you create the service application the application proxy is not associated with the default web application. For PerformancePoint Services to function, you must create this association. Use the following procedure to configure the association between the web application and the PerformancePoint Services proxy.

To configure service application associations

  1. In SharePoint Server Central Administration, click Application Management.

  2. In the Service Applications section, click Configure service application associations.

  3. In the Application Proxy Group section, click default.

  4. Ensure that the PerformancePoint Services check box is selected, and then click OK.

Unless you have Kerberos delegation configured, you must have an Unattended Service Account for PerformancePoint Services in order to connect to external data sources. This account is an Active Directory account that you create that is used for data access. After you create the Active Directory account, follow these steps to configure the Unattended Service Account in PerformancePoint Services.

To configure the PerformancePoint Services Unattended Service Account

  1. In SharePoint Server Central Administration, in the Application Management section, click Manage Service Applications.

  2. Click the PerformancePoint Services service application.

  3. Click PerformancePoint Service Application Settings.

  4. In the Secure Store and Unattended Service Account section, type the user name and password of the account that you want to use as the Unattended Service Account.

  5. Click OK.

For scenarios which use the Project Server Business Intelligence Center, the Unattended Service Account must have read access to the Business Intelligence Center in order to access data connection files and Microsoft Excel 2010 workbooks. Use the following procedure to grant Business Intelligence Center access to the PerformancePoint Services Unattended Service Account.

To grant access to the unattended service account

  1. In Microsoft Project Web App (PWA), in the Quick Launch, click Business Intelligence.

  2. In the Business Intelligence Center, click Site Actions, and then click Site Permissions.

  3. On the Edit tab, click Create Group.

  4. On the Create Group page:

    1. In the Name box, type the name that you want to use for the group (for example, BI Center Read Access).

    2. In the Give Group Permissions to this Site area, select the Read check box.

    3. Leave the other options at their default values and then click Create.

  5. On the People and Groups page, click New.

  6. In the Grant Permissions dialog box, type the name of the Active Directory account that is used by PerformancePoint Services as the Unattended Service Account, and then click OK.

Now that you have configured PerformancePoint Services, you are ready to begin to use Dashboard Designer to create project management dashboards. See the following resources for examples of dashboards that you can create:

  • Track project resource usage by using a dashboard built on Excel Services, PerformancePoint Services, and Project Server

  • PerformancePoint Services for Project Server 2010 (white paper)

See Also

Concepts

Business intelligence scenarios and solutions
Plan, design, and implement a PerformancePoint dashboard


Track project resource usage by using a dashboard built on Excel Services, PerformancePoint Services, and Project Server
See Also

Published: January 13, 2011

You can use Excel Services in Microsoft SharePoint Server 2010 and PerformancePoint Services in Microsoft SharePoint Server 2010 with Microsoft Project Server 2010 data to create reports and dashboards to track performance. For example, you can create a dashboard to track resource usage for multiple projects.

This article contains information about how to create a basic dashboard that contains a PerformancePoint scorecard and an Excel Services report. You can use the example dashboard used in this article as a starting point to learn how you can use PerformancePoint Services and Excel Services together with Project Server to manage projects.

The example dashboard compares planned work to actual hours submitted so you can see at a glance which projects are on or off target as measured by resource usage. Sample data is used for our dashboard. However, you can use your own data to create a similar dashboard.

The dashboard described in this article resembles the following display.

Project management dashboard
Note:

Before you begin to perform the tasks that are described in this article, make sure that your server environment is set up and configured correctly to include SharePoint Server 2010 including PerformancePoint Services and Excel Services, and Project Server 2010. Also, make sure that you have at least Design permissions assigned to you in SharePoint Server. For more information, see Use Project Server with PerformancePoint Services (SharePoint Server 2010).

In this article:

  • Plan the dashboard

  • Create and publish the dashboard

  • View and use the dashboard

Plan the dashboard

Before you begin to create dashboards, create a dashboard plan that considers the intended audience, the information that you want to display, and the kinds of items that you want to include in the dashboard. For more information, see Plan a PerformancePoint dashboard to show organizational performance.

Example dashboard plan

The example dashboard is targeted at project managers who are new to the business intelligence capabilities in SharePoint Server 2010 and Project Server 2010. By using sample data that is included with Project Server 2010, we create a scorecard that measures performance as measured by resource usage and an Excel Services report that provides additional information about planned and actual hours worked over time.

The following tools and applications are used to create the example dashboard:

  • Excel 2010

  • Excel Services

  • PerformancePoint Services

The example dashboard is intentionally kept simple so that you can easily re-create it. The example dashboard consists of the following items:

  • A scorecard that contains one key performance indicator (KPI) and a list of projects.

  • An Excel Services report that contains a PivotChart report displayed as a line chart.

  • A dashboard filter that determines how many projects are displayed in the scorecard.

  • A dashboard page that contains the reports and the dashboard filter.

The following process is used to create the example dashboard:

  1. Microsoft Excel 2010 is used to create a workbook (TimesheetData.xlsx) and publish it to SharePoint Server. We use the workbook to display a PivotChart report.

  2. PerformancePoint Dashboard Designer is used to create and configure a scorecard, a report, a dashboard filter, and a dashboard page.

  3. Dashboard Designer is used to publish the dashboard to SharePoint Server, where we can use it to view information.

Create and publish the dashboard

Based on the dashboard plan outlined in Example dashboard plan, we first create and assemble our dashboard items, and then we publish the finished dashboard to SharePoint Server. We first use Excel, and then we use PerformancePoint Dashboard Designer.

Create, configure, and publish an Excel workbook

For the example dashboard, we create and publish an Excel workbook that uses an external data connection. We first create the workbook and configure the data connection, and then we create a PlannedVsActualOverTime page that contains a PivotChart report. Then, we publish the workbook to SharePoint Server.

To create the TimesheetData workbook

  1. In Excel 2010, on the Data tab, in the Get External Data group, click Existing Connections.

    The Existing Connections dialog box opens.

  2. In the Existing Connections dialog box, click Browse for More.

  3. In the Address box, type the Web site address (URL) to the Data Connections document library that contains your Project Server 2010 data connections.

    The URL resembles http://<server name>/<Project Web App site name>/<Business Intelligence Center name>/<Data Connections document library>.

    (For example, we use the URL http://litware-proj/pwa/projectbicenter/Data%20Connections%20for%20PerformancePoint/English%20(United%20States).)

  4. Click Project Server - Timesheet Data, and then click Open.

  5. In the Import Data dialog box, select the following options:

    • In the Select how you want to view this data in your workbook section, select PivotChart and PivotTable Report.

    • In the Where do you want to put the data? section, select Existing Worksheet.

  6. Click OK to populate the worksheet.

  7. Add data to the PivotTable report and the PivotChart report by specifying the following options:

    1. From the PivotTable Field List pane, drag Planned Work to the Values section.

    2. From the PivotTable Field List pane, drag Timesheet Line Actual Work to the Values section.

    3. From the PivotTable Field List pane, drag Period Start Date to the Row Labels section.

    The PivotTable report populates, and the PivotChart report displays a bar chart.

  8. Click the bar chart, and then in the PivotChart Tools section of the ribbon, on the Design tab, in the Type group, click Change Chart Type.

  9. In the navigation pane, click Line, and then select a line chart type. Click OK.

  10. To adjust the size and position of the chart, make the following changes:

    1. In the upper-left corner of the PivotTable report, click the Row Labels column heading, and then type Time Period to change the column heading.

    2. Click the Sum of Planned Work column heading, and then type Planned to change that column heading.

    3. Click the Sum of Timesheet Line Actual Work column heading, and then type Actual to change that column heading.

    4. Reduce the width of the Planned and Actual columns.

    5. Move the PivotChart report so that it is closer to the PivotTable report. Align it with the upper-right corner of the PivotTable report.

  11. Rename the worksheet to "PlannedVsActualOverTime."

  12. Define the PivotChart and PivotTable as a named item. Do this by using the following procedure:

    To define the PivotChart and PivotTable as a named item

    1. On the PlannedVsActualOverTime worksheet, select the range of cells that contains both the PivotTable report and the PivotChart report. Then, on the Formulas tab, in the Defined Names group, click Define Name.

      The New Name dialog box opens.

    2. In the Name box, type PlannedVsActualOverTime, and then click OK.

Now that we have created the Excel workbook, the next step is to publish it to SharePoint Server 2010.

To publish the workbook

  1. On the File tab, click Save & Send, and then click Save to SharePoint.

  2. In the Save to SharePoint section, click Publish Options.

  3. In the Publish Options dialog box, on the Show tab, use the list to select Items in the Workbook.

  4. Select all the named items in the list, and then click OK.

  5. In the Save to SharePoint section, click Browse for a location, and then click Save As.

    The Save As dialog box opens.

  6. In the Save As dialog box, specify the following options:

    • In the address box, type the URL to the Sample Reports document library.

      The URL resembles http://<server name>/<Project Web App site name>/<Business Intelligence Center name>/< document library>.

      (For example, we use the URL http://litware-proj/pwa/projectbicenter/Sample%20Reports.)

    • In the File name box, type TimesheetData.

  7. Click Save to publish the workbook.

Open Dashboard Designer

You can easily open Dashboard Designer from the Business Intelligence Center, as described in the following procedure.

To install and open Dashboard Designer

  1. Using your web browser, open the Project Web App site.

  2. In the Quick Launch, click Business Intelligence.

    The Business Intelligence Center opens.

  3. In the Business Intelligence Center, click a section, such as Monitor Key Performance, Build and Share Reports, or Create Dashboards.

    More information about each area is displayed in the center pane.

  4. In the center of the screen, click a Start using PerformancePoint Services link.

    The PerformancePoint site template opens.

  5. Click Run Dashboard Designer.

After you have opened Dashboard Designer at least one time, you can open it from the Start menu on your computer. To do that, click Start, and then click All Programs. Locate SharePoint, and then click PerformancePoint Dashboard Designer. Or, you can continue to open Dashboard Designer from the Business Intelligence Center.

For more information about Dashboard Designer, see Plan, design, and implement a PerformancePoint dashboard.

Create a data connection in Dashboard Designer

Using Dashboard Designer, we create a data connection to a table that is stored in SQL Server 2008 R2. We use this data source to create a KPI, a scorecard, and a dashboard filter.

To create the SQL Server table data connection

  1. In Dashboard Designer, in the Workspace Browser, click Data Connections.

  2. On the Create tab, in the Dashboard Items group, click Data Source.

  3. In the Select a Data Source Template dialog box, select SQL Server Table, and then click OK.

  4. In the center pane, on the Editor tab, in the Connection Settings section, specify the following settings:

    1. In the Server box, type the name of the server that contains the SQL Server table.

      (For example, we use litware-sql.)

      Note:

      The PerformancePoint Services Unattended Service Account must have Read permissions to the server that you specify here.

    2. In the Database box, type PWA_Reporting, which is the name of the database that contains the table that we want to use.

    3. In the Table list, select dbo.MSP_TimesheetLine_UserView.

  5. In the Data Source Settings section, keep the default selections, and then click Test Data Source.

    Tip:

    If the Test Data Source button is not enabled, click in the Refresh Interval box to enable it.

  6. If the Test Connection dialog box indicates that the connection is successful, click Close. If the Test Connection dialog box indicates that the connection failed, make sure that your environment is configured correctly and then repeat this procedure from Step 4.

  7. In the center pane, click the Properties tab. Then, in the Name box, type Timesheets to name the data connection.

  8. In the Workspace Browser, right-click the data source, and then click Save.

  9. In the center pane, click the View tab. Then click Preview Data to view the data.

    For this example, we note the columns that are in the following list:

    • Column 1 contains a list of time periods and is named "PeriodName."

    • Column 7 contains a list of projects and is named "ProjectName."

    • Column 9 contains a list of planned work hours and is named "Planned Work."

    • Column 10 contains a list of billable work hours and is named "Billable Actual Work."

    • Column 12 contains a list of overtime billable work hours and is named "Billable Actual Overtime Work."

    • Column 14 contains a list of actual work hours (billable or otherwise), and is named "Timesheet Line Actual Work."

    We use these columns in our scorecard and dashboard filter.

    Tip:

    When you create the scorecard and dashboard filter, you might see the columns listed either by number or by name. The columns we use are included in this section for you to use as reference information if you see the columns listed by number.

For more information about how to create data sources in Dashboard Designer, see Create data connections (PerformancePoint Services).

Create a scorecard

Using Dashboard Designer, we create a scorecard. To create the scorecard, we first create a KPI. The KPI that we create uses calculated metrics to compare planned billable work hours to actual billable hours worked. We use calculated metrics because we use the sum of two columns for the Actual metric, and a third column for the Target metric.

To create a KPI that uses calculated metrics

  1. In Dashboard Designer, in the Workspace Browser, click PerformancePoint Content.

  2. On the Create tab, in the Dashboard Items group, click KPI.

  3. Select Blank KPI, and then click OK.

    The KPI opens for editing in the center pane of the workspace.

  4. Create a calculated metric for the Actual value by using the following procedure.

    To configure data mappings for the KPI's Actual metric

    1. In the center pane, on the Editor tab, in the Data Mappings column, in the Actual row, click the hypertext that says 1(Fixed values).

      The Fixed Values Data Source Mapping dialog box opens.

    2. Click Change Source to open the Select a Data Source dialog box.

    3. Click the Calculated Metric tab.

    4. In the Templates section, select Blank Calculation, and then click OK.

      The Calculated Metrics Data Source Mapping dialog box opens.

    5. In the Source column for Value1, click the hypertext that says 1 (Fixed values).

      The Fixed Values Data Source Mapping dialog box opens.

    6. Click Change Source to open the Select a Data Source dialog box.

    7. Select the Timesheets data source, and then click OK.

      The Dimensional Data Source Mapping dialog box opens.

    8. In the Select a measure section, use the list to select Column 10, which is the "Billable Actual Work" column, and then click OK.

      The Dimensional Data Source Mapping dialog box closes, and the Calculated Metrics Data Source Mapping dialog box is open.

    9. In the Source column for Value2, click the hypertext that says 1 (Fixed values).

      The Fixed Values Data Source Mapping dialog box opens.

    10. Click Change Source to open the Select a Data Source dialog box.

    11. Select the Timesheets data source, and then click OK.

      The Dimensional Data Source Mapping dialog box opens.

    12. In the Select a measure section, use the list to select Column 12, which is the "Billable Actual Overtime Work" column, and then click OK.

      The Dimensional Data Source Mapping dialog box closes, and the Calculated Metrics Data Source Mapping dialog box is open.

    13. In the Formula section, type Value1+Value2. Then click OK.

      (We use the formula "Value1+Value2" because we want this metric to use the sum of Billable Actual Work and Billable Actual Overtime Work.)

  5. Create a standard measure for the Target value by using the following procedure.

    To configure data mappings for the KPI's Target metric

    1. In the center pane, on the Editor tab, in the Data Mappings column, in the Target row, click the hypertext that says 1(Fixed values).

      The Fixed Values Data Source Mapping dialog box opens.

    2. Click Change Source to open the Select a Data Source dialog box.

    3. Select the Timesheets data source, and then click OK.

      The Dimensional Data Source Mapping dialog box opens.

    4. In the Select a measure section, use the list to select Column 9, which is the "Planned Work" column, and then click OK.

  6. Format the numbers for the scorecard by using the following procedure.

    To format the numbers in a scorecard

    1. In the center pane, on the Editor tab, in the Number column, in the Actual row, click the hypertext that says (Default).

      The Format Numbers dialog box opens.

    2. Use the Format list to select Number.

    3. In the Decimals box, type 1.

    4. Click OK.

    5. Repeat these steps for the Target row.

  7. Configure the KPI's indicators by using the following procedure.

    To configure the indicators that are used in the KPI

    1. In the center pane, on the Editor tab, in the Indicators column, in the Target row, click the indicators that are shown.

    2. In the Thresholds section, click Set Scoring Pattern and Indicator.

      The Edit Banding Settings dialog box opens.

    3. On the Select the Scoring Pattern page, use the Scoring pattern list to select Closer to Target is Better, and then click Next.

    4. On the Select an Indicator page, select a Stoplight indicator, and then click Next.

    5. On the Specify the worst value page, type the number 0, and then click Finish.

  8. In the center pane, click the Properties tab. Then, in the Name box, type Planned vs Actual Billable Work to name the KPI.

  9. In the Workspace Browser, right-click the KPI, and then click Save.

After we create the KPI, we add it to the scorecard, and then we add dimension members to rows in the scorecard. Finally, we configure view settings for the scorecard.

To create the blank scorecard

  1. In Dashboard Designer, in the Workspace Browser, click PerformancePoint Content.

  2. On the Create tab, in the Dashboard Items group, click Scorecard.

    Depending on how Dashboard Designer is configured, one of the following actions occurs:

    • The Select a Scorecard Template dialog box opens. If this occurs, proceed to Step 3.

    • A blank scorecard opens for editing. If this occurs, skip Step 3, and proceed to Step 4.

    Tip:

    You can easily configure Dashboard Designer either to use the Create a Scorecard wizard or to create a blank scorecard every time that you create a scorecard. For more information, see Turn on or off the scorecard wizard in Dashboard Designer.

  3. In the Select a Scorecard Template dialog box, in the Category pane, select Standard, and in the Template pane, click Blank Scorecard. Then, click OK.

    The scorecard opens for editing in the center pane of the workspace.

  4. In the center pane, click the Properties tab. Then, in the Name box, type Resource Utilization Scorecard to name the scorecard.

  5. In the Workspace Browser, right-click the scorecard, and then click Save.

To add the KPI to the blank scorecard

  1. Begin with the scorecard open for editing in Dashboard Designer.

  2. In the Details pane, expand KPIs, and then expand PerformancePoint Content.

  3. Drag the Planned vs Actual Billable Work KPI to the Drop items here section on the left side of the screen.

    The scorecard updates to show the KPI as a row in the scorecard.

  4. On the Edit tab, in the View group, click Update.

    The scorecard updates to show overall performance for the KPI.

  5. In the Workspace Browser, right-click the scorecard, and then click Save.

For more information about how to add KPIs to a scorecard, see Add KPIs to a scorecard by using Dashboard Designer.

To add dimension members to the scorecard

  1. Begin with the scorecard open for editing in Dashboard Designer.

  2. In the Details pane, use the Data Source list to select the Timesheets data source.

  3. In the Details pane, expand Dimensions, and then drag Column 7, which is the "ProjectName" column, to the scorecard, positioning it on the line between the name of the KPI and the Actual column in the scorecard.

    The Select Members dialog box opens.

  4. Right-click in the Select Members dialog box, click Select Visible to select all the dimension members, and then click OK.

  5. On the Edit tab, in the View group, click Update.

    The scorecard updates to show performance information for the dimension members that have been added.

  6. In the Workspace Browser, right-click the scorecard, and then click Save.

For more information about how to add dimension members to a scorecard, see Add dimension members to a scorecard by using Dashboard Designer.

As a dashboard author, you can configure view settings for most view types that include scorecards. For example, you can specify whether the scorecard should contain a toolbar that dashboard consumers can use to apply filters or use rollup KPIs. For the example dashboard, we apply the settings that are included in the following procedure.

To configure view settings for the scorecard

  1. Begin with the scorecard open for editing in Dashboard Designer.

  2. On the Edit tab, in the View group, click Settings.

  3. In the navigation pane of the View Settings dialog box, click Toolbar, and then select Show scorecard toolbar.

    By default, all the options under Show scorecard toolbar should be selected.

  4. In the navigation pane of the View Settings dialog box, click Filters, and then select Filter empty rows.

  5. Click OK to close the View Settings dialog box.

  6. In the Workspace Browser, right-click the scorecard, and then click Save.

Scorecards can vary widely in complexity and style. For more detailed information about how to create scorecards, see Create a scorecard by using Dashboard Designer.

Create a dashboard filter

Using Dashboard Designer, we create a Projects filter for the example dashboard. The filter enables dashboard users to select one or more projects for which they want to view performance information in the scorecard. We create the filter now, and then connect it to the scorecard later in this article.

To create the dashboard filter

  1. In Dashboard Designer, in the Workspace Browser, click PerformancePoint Content.

  2. On the Create tab, in the Dashboard Items group, click Filter.

    The Select a Filter Template dialog box opens.

  3. In the Template pane, click Member Selection, and then click OK.

  4. On the Select a data source page, select the Timesheets data source, and then click Next.

  5. On the Select Members page, click Select Dimension.

  6. Select Column 7, which is the "ProjectName" column, and then click OK.

    The Select Members button becomes active.

  7. Click Select Members, and wait for the list of dimension members to display.

  8. Right-click in the Select Members dialog box. Then click Select Visible to select all the dimension members, and then click OK.

  9. Click Next to proceed to the Select Display Method page.

  10. Select Multi-Select Tree, and then click Finish.

  11. In the center pane, click the Properties tab. Then, in the Name box, type Projects to name the filter.

  12. In the Workspace Browser, right-click the filter, and then click Save.

For more information about how to create dashboard filters, see Create a dashboard filter by using Dashboard Designer.

Create a Web Part to display the Excel Services report

By using Dashboard Designer, we create a PerformancePoint Web Part to display an Excel Services report in our dashboard. First, we create the basic structure of the report. Then, we create a connection to the Excel workbook that we want to use.

To create the basic structure of the report

  1. In Dashboard Designer, in the Workspace Browser, click PerformancePoint Content.

  2. On the Create tab, in the Reports group, click Other Reports.

    The Select a Report Template dialog box opens.

  3. In the Select a Report Template dialog box, click Excel Services, and then click OK.

    The report opens for editing in the center pane of the workspace.

  4. In the center pane, click the Properties tab. Then, in the Name box, type Excel Services Report to name the report.

  5. In the Workspace Browser, right-click the report, and then click Save.

To create a connection to the Excel Services workbook

  1. Begin with the Excel Services report open for editing in Dashboard Designer.

  2. In the center pane, on the Editor tab, in the Report Settings section, specify the following settings:

    1. In the SharePoint Site box, type the URL to the site that contains the document library where the Excel Services file is stored.

      The URL resembles http://<Project Web App site name>/<Business Intelligence Center name>.

      (For example, we use the URL http://litware-proj/pwa/projectbicenter.)

    2. In the Document Library list, select the Sample Reports document library.

    3. In the Excel Workbook list, select English (United States)/TimesheetData.xlsx.

    4. In the Item Name list, select PlannedVsActualOverTime.

      Note:

      The Item name list will be empty if one of the following conditions is true:

      • The Excel Services report has no named items.

      • The Excel Services report contains named items. However, those named items have not been published to SharePoint Server 2010.

      If this occurs, republish the workbook to make sure to publish the named items. See the procedure "To publish the workbook," earlier in this article.

  3. If you want to view the report, click the View tab in the center pane.

  4. In the Workspace Browser, right-click the report, and then click Save.

For more information about how to display Excel Services reports in PerformancePoint Web Parts, see Create an Excel Services report by using Dashboard Designer.

Create and assemble a dashboard page

Now that we have created our individual dashboard items, we are ready to create and assemble our dashboard page. First, we create the page, selecting a particular page layout template. Then, we add the scorecard, Excel Services report, and filter to the page. Finally, we connect the dashboard filter to the scorecard.

To create the dashboard page

  1. In Dashboard Designer, in the Workspace Browser, click PerformancePoint Content.

  2. On the Create tab, in the Dashboard Items group, click Dashboard.

    The Select a Dashboard Page Template dialog box opens.

  3. Select Header, 2 Columns, and then click OK.

  4. In the center pane, on the Editor tab, in the Pages section, click the text that says Page 1, and type Project Resource Utilization to name the dashboard page.

  5. In the center pane, click the Properties tab. Then, in the Name box, type Project Resource Utilization to name the dashboard. When the dashboard is published, the name that you assign to the dashboard appears as a folder in SharePoint Server.

  6. In the Workspace Browser, right-click the dashboard, and then click Save.

You can create dashboards that contain multiple pages by using the same or different page layout templates. For more information, see Create a dashboard page by using Dashboard Designer.

To add items to the dashboard page

  1. Begin with the dashboard open for editing in Dashboard Designer.

  2. Click the Editor tab.

  3. In the Details pane, expand Scorecards, and then expand PerformancePoint Content. Drag the Resource Utilization Scorecard to the Left Column zone.

  4. In the Details pane, expand Reports, and then expand PerformancePoint Content. Drag Excel Services Report to the Right Column zone.

  5. To avoid having additional scrollbars displaying for the Excel Services report, you must specify auto-size settings. To do this, follow these steps.

    To specify auto-size settings for an Excel Services report

    1. On the Edit tab, click Edit Item to open the Item Settings dialog box.

    2. On the Size tab, select both the Auto-size width and Auto-size height options, and then click OK.

  6. In the Details pane, expand Filters, and then expand PerformancePoint Content. Drag the Projects dashboard filter to the Header zone.

  7. In the Workspace Browser, right-click the dashboard, and then click Save.

For more information about how to add items to a dashboard page, see Add dashboard items to a page by using Dashboard Designer.

To connect the dashboard filter to the scorecard

  1. Begin with the dashboard open for editing in Dashboard Designer.

  2. Click the Editor tab.

  3. Click the Projects filter. Then, on the Edit tab, click Create Connection to open the Connection dialog box.

  4. On the Items tab, use the Send values to list to select Left Column - (1) Resource Utilization Scorecard.

  5. On the Values tab, use the Connect to list to select Row, which is located in the Axis section.

  6. Use the Source value list to select Member Unique Name.

  7. Click OK to close the Connection dialog box.

  8. In the Workspace Browser, right-click the dashboard, and then click Save.

When you connect a dashboard filter to a report or a scorecard, you typically have many configuration options available to you. For more information, see Connect a filter to a report or a scorecard by using Dashboard Designer.

Publish the dashboard

Now that we have created and assembled our dashboard, we can publish it to SharePoint Server so that we can view and use it.

To publish the dashboard

  1. Begin with the dashboard open for editing in Dashboard Designer.

  2. In the Workspace Browser, right-click the dashboard, and then click Deploy to SharePoint.

    The Deploy To dialog box opens.

  3. In the Deploy To dialog box, expand Business Intelligence Center, and then select Dashboards.

  4. In the Master Page list, select v4, and then click OK.

    (The v4 item corresponds to the default master page for PerformancePoint dashboards.)

    The dashboard is published to SharePoint Server and then opens in a web browser.

    Note:

    If the dashboard does not deploy and you receive an error message, you might not have the necessary permissions assigned to you in SharePoint Server. You must have at least Design permissions assigned to you. For more information, see Authorization and permissions in PerformancePoint Services (SharePoint Server 2010).

For more information about how to publish dashboards, see Deploy a PerformancePoint dashboard.

View and use the dashboard

Now that we have published the example dashboard to SharePoint Server, we can use it to obtain answers to specific questions, such as "Which project is the most off target as measured by resource usage?" To answer that question, we first make sure all the projects are visible in the scorecard.

We select all the items in the filter.

To apply the dashboard filter

  1. Click the Projects filter to expand it. Notice that it uses an expandable tree control, which enables us to select one or more items.

  2. Select the Select visible check box to select all the items.

  3. Click Apply.

    The filter closes, and the scorecard updates to display rows for the items that we selected by using the filter.

Now we can easily see which projects are the most over or under target as measured by resource usage.

Now suppose that we only want to view performance information for some projects, instead of all projects. To configure which projects are displayed, reapply the dashboard filter, clearing the check boxes of the projects that you do not want to view.

See Also

Concepts

Plan, design, and implement a PerformancePoint dashboard


PerformancePoint Services for Project Server 2010 (white paper)
See Also

Published: August 23, 2011

In Microsoft Project Server 2010, when you create a Microsoft Project Web App (PWA) site, a Business Intelligence Center is created. The Business Intelligence Center provides a central location to create, store, and use project management reports, scorecards, and dashboards.

If you have configured reporting capabilities for Project Server and you have configured PerformancePoint Services in SharePoint, you can create and publish robust, interactive dashboards by using PerformancePoint Dashboard Designer. Your dashboards can include many report types, including scorecards, analytic charts and grids, SQL Server Reporting Services reports, Excel Services reports, and Web Page reports.

Read this white paper to learn more about how to use PerformancePoint Services with Project Server to create powerful project management dashboards.

Note:

Before you begin to perform the tasks that are described in this article, make sure that your server environment is set up and configured correctly to include SharePoint Server 2010 including PerformancePoint Services and Excel Services, and Project Server 2010. Also, make sure that you have at least Design permissions assigned to you in SharePoint Server. For more information, see Use Project Server with PerformancePoint Services (SharePoint Server 2010).

Download the white paper as a .docx file, 10.4 MB (http://go.microsoft.com/fwlink/p/?LinkId=226747)

Download the white paper as a .pdf file, 3.5 MB (http://go.microsoft.com/fwlink/p/?LinkId=226748)

Download the white paper as a .xps file, 4.6 MB (http://go.microsoft.com/fwlink/p/?LinkId=226749)

See Also

Other Resources

SQL Server Reporting Services
Report Life Cycle: Creating, Managing, and Delivering Reports
Configure reporting for Project Server 2010


Use Secure Store with SQL Server Authentication (SharePoint Server 2010)
See Also

Published: October 28, 2010

You can use Secure Store Service to store credentials for data sources that require SQL Server Authentication. You can then use these credentials to access data sources that require SQL Server Authentication through Excel Services in Microsoft SharePoint Server 2010 or Visio Services in Microsoft SharePoint Server 2010.

We recommend storing credentials in Secure Store over storing them in a workbook file or Office Data Connection file. When you store credentials in Secure Store, they are not stored in plain text and you can manage the credentials in a central location, which can be easier to update than credentials embedded in workbook files or ODC files.

Using Secure Store together with Excel Services or Visio Services to access data sources through SQL Server Authentication requires the following:

  • A Secure Store target application containing the SQL Server credentials with access to the data source must be configured.

  • The Unattended Service Account must be configured.

  • Visio Services must connect to the Secure Store target application through an ODC file that was created in Microsoft Excel 2010.

The procedures in this article assume that you have already deployed Secure Store and Excel Services or Visio Services. For more information about how to deploy Secure Store, Excel Services, and Visio Services, see the related links at the end of this article.

Configure a Secure Store target application

This video demonstrates how to create a Secure Store target application for use with SQL Server Authentication.

Screenshot of video

Watch the video (http://go.microsoft.com/fwlink/p/?LinkId=207410). To download a copy of the file, right-click the link, and then click Save Target As.

To use Secure Store for SQL Server authentication, you must create a target application which contains the SQL Server login with data access (usually db_datareader permissions). Use the following procedure to create the target application.

To create a target application for SQL Server Authentication

  1. On the SharePoint Central Administration home page, under Application Management, click Manage Service Applications.

  2. Click the Secure Store service application.

  3. On the Edit tab, click New.

  4. On the Target Application Settings page:

    1. Type an application ID in the Target Application ID text box.

    2. Type a display name in the Display Name text box.

    3. Type an e-mail address in the Contact E-mail text box.

    4. From the Target Application Type drop-down list, choose Group.

    5. Click Next.

  5. On the Specify Credentials page:

    1. Change the Windows User Name field name to User ID and change the associated Field Type from Windows User Name to User Name.

    2. Change the Windows Password field name to Password and change the associated Field Type from Windows Password to Password.

    3. Click Next.

  6. On the Specify Membership page:

    1. In the Target Application Administrators box, type the name of the user account that you want to administer this target application.

    2. In the Members box, type the names of or browse for the users or Active Directory groups to which you want to give data access. To give access to all users, type All Authenticated Users.

    3. Click OK.

Once you have created the target application, you must set the credentials for the target application. These are the SQL Server credentials that have access to your data source. Use the following procedure to set the credentials for the target application.

To set credentials for the target application

  1. On the SharePoint Central Administration home page, under Application Management, click Manage Service Applications.

  2. Click the Secure Store service application.

  3. On the Secure Store page, point to the target application that you created for SQL Server Authentication, click the arrow that appears, and then click Set Credentials.

  4. In the User ID text box, type the SQL Server account that has data access.

  5. In the Password and Confirm Password text boxes, type the password for the SQL Server account.

  6. Click OK.

Configure a target application for the Unattended Service Account

This video demonstrates how to create a Secure Store target application for use with the Unattended Service Account in Excel Services or Visio Services.

Screenshot of video

Watch the video (http://go.microsoft.com/fwlink/p/?LinkId=207411). To download a copy of the file, right click the link, and then click Save Target As.

Using Secure Store for SQL Server Authentication with Excel Services or Visio Services requires that the Unattended Service Account be configured. The Unattended Service Account requires no specific permissions for this scenario; it only has to exist in the system. If you currently have an Unattended Service Account configured, you can skip the procedures in this section.

If you have not configured the Unattended Service Account for Excel Services or Visio Services, you must first create a target application in Secure Store that can be used as the Unattended Service Account. Use the following procedure to create the target application.

To create a target application for the Unattended Service Account

  1. On the SharePoint Central Administration home page, under Application Management, click Manage Service Applications.

  2. Click the Secure Store service application.

  3. On the Edit tab, click New.

  4. On the Target Application Settings page:

    1. Type an application ID in the Target Application ID text box.

    2. Type a display name in the Display Name text box.

    3. Type an e-mail address in the Contact E-mail text box.

    4. From the Target Application Type drop-down list, choose Group.

    5. Click Next.

  5. On the Specify Credentials page, click Next.

  6. On the Specify Membership page:

    1. In the Target Application Administrators box, type the name of the user account that you want to administer this target application.

    2. In the Members box, type the name of the Windows account that runs the application pool for Excel Services or Visio Services.

    3. Click OK.

Once the target application has been created, you must associate a set of Windows credentials with it. This must be a Windows domain account, but it requires no specific permissions for this scenario. Use the following procedure to set the credentials for the target application.

To set credentials for the target application

  1. On the SharePoint Central Administration home page, under Application Management, click Manage Service Applications.

  2. Click the Secure Store service application.

  3. On the Secure Store page, point to the target application that you created for the Unattended Service Account, click the arrow that appears, and then click Set Credentials.

  4. In the Windows User Name text box, type the user name of a Windows account.

  5. In the Windows Password and Confirm Windows Password text boxes, type the password for the Windows account.

  6. Click OK.

Once the credentials have been set for the target application, follow the Unattended Service Account configuration steps for Excel Services or Visio Services in the following sections.

Configure Excel Services

This video demonstrates how to configure Excel Services for use with SQL Server Authentication.

Screenshot of video

Watch the video (http://go.microsoft.com/fwlink/p/?LinkId=207412). To download a copy of the file, right-click the link, and then click Save Target As.

If you are using Excel Services, use the procedures in this section to complete the necessary configuration steps.

If the Unattended Service Account has not already been configured for Excel Services, follow these steps to configure it.

To configure the Unattended Service Account

  1. On the SharePoint Central Administration home page, under Application Management, click Manage Service Applications.

  2. Click the Excel Services service application.

  3. Click Global Settings.

  4. In the External Data section, type the name of the target application that you created for the Unattended Service Account in the Application ID text box.

  5. Click OK.

In order to use Excel Services with Secure Store, you must specify a Secure Store target application in Excel before publishing the Excel workbook to a SharePoint site to be rendered with Excel Services. In this case, you must specify the Secure Store target application that you created that contains the SQL Server login credentials.

Use the following procedure to specify a Secure Store target application from Excel.

To configure Secure Store settings in Excel

  1. In Excel, on the Data tab, click From Other Sources, and then click From SQL Server.

  2. On the Connect to Database Server page:

    1. Type the name of the instance of SQL Server that you want to connect to in the Server name text box.

    2. Choose the Use the following User Name and Password option, and then type the user name and password of a SQL Server account that has access to your data source.

    3. Click Next.

  3. On the Select Database and Table page, select the database and table that you want to connect to, and then click Next.

  4. On the Save Data Connection File and Finish page, click Authentication Settings.

  5. In the Excel Services Authentication Settings dialog box, select the SSS option, type the name of the Secure Store target application that you created to use for SQL Server Authentication, and then click OK.

  6. On the Save Data Connection File and Finish page, type a name for the data connection file (or keep the default) in the File Name text box, and then click Finish.

  7. In the Import Data dialog box, choose one of the PivotTable options, and then click OK.

  8. In the SQL Server Login dialog box, type the password for the Login ID, and then click OK.

Once you have connected to the data source, you can complete your Excel workbook and publish it to a SharePoint site to be rendered with Excel Services. The connection information to the Secure Store target application will remain embedded in the file.

Note:

Excel connects to the database directly. It does not use Secure Store. Secure Store is only used by Excel Services when rendering a workbook from a SharePoint site.

Optionally, you can export the Secure Store connection information as an ODC file and then use it to connect additional Excel workbooks to the same data source. This allows for easier management and distribution of data connections. Use the following procedure if you want to export the Secure Store connection as an ODC file.

Important:

You must export the ODC file to a trusted data connection library. Trusted data connection libraries are specified in the Excel Services service application settings. For more information, see Trusted data connection libraries.

To export the ODC file

  1. In Excel, on the Data tab, click Connections.

  2. Select the connection that you are using and then click Properties.

  3. In the Connection Properties dialog box, click the Definition tab.

  4. On the Definition tab, click Authentication Settings.

  5. Confirm that you have the SSS option selected and the correct Secure Store target application is specified in the SSS ID text box, and then click OK.

  6. Click Export Connection File.

  7. Navigate to an appropriate Data Connection Library on the SharePoint site, type a file name, and then click Save.

Once you have exported the ODC file, you can choose to connect to it from any Excel workbook where you want to connect to that data source. If the data connection information changes, you only have to update the ODC file itself and all Excel workbooks referencing it will have the new connection information.

Note:

You must select the Always use connection file check box in the Excel connection properties to ensure that the Excel workbook will always use the connection file.

Configure Visio Services

This video demonstrates how to configure Visio Services for use with SQL Server Authentication.

Screenshot of video

Watch the video (http://go.microsoft.com/fwlink/p/?LinkId=207413). To download a copy of the file, right-click the link, and then click Save Target As.

If you are using Visio Services, use the procedures in this section to complete the necessary configuration steps.

If the Unattended Service Account has not already been configured for Visio Services, follow these steps to configure it.

To configure the Unattended Service Account

  1. On the SharePoint Central Administration home page, under Application Management, click Manage Service Applications.

  2. Click the Visio Services service application.

  3. Click Global Settings.

  4. In the External Data section, in the Application ID text box, type the name of the target application that you created for the Unattended Service Account.

  5. Click OK.

In order to use Visio Services with Secure Store, you must first create an ODC file that has a connection string and data query for your dataset. This ODC file must be created in Excel and exported to a data connection library where you can then connect to it from Microsoft Visio 2010.

Use the following procedure to create an ODC file in Excel.

To create an ODC file in Excel

  1. In Excel, on the Data tab, click From Other Sources, and then click From SQL Server.

  2. On the Connect to Database Server page:

    1. Type the name of the instance of SQL Server that you want to connect to in the Server name text box.

    2. Choose the Use the following User Name and Password option, and then type the user name and password of a SQL Server account that has access to your data source.

    3. Click Next.

  3. On the Select Database and Table page, select the database and table that you want to connect to, and then click Next.

  4. On the Save Data Connection File and Finish page, click Finish.

  5. On the Save Data Connection File and Finish page, type a name for the data connection file (or keep the default) in the File Name text box, and then click Finish.

  6. In the Import Data dialog box, choose one of the PivotTable options, and then click OK.

  7. In the SQL Server Login dialog box, type the password for the Login ID, and then click OK.

  8. In Excel, on the Data tab, click Connections.

  9. Select the connection that you are using and then click Properties.

  10. In the Connection Properties dialog box, click the Definition tab.

  11. On the Definition tab, click Authentication Settings.

  12. Confirm that you have the SSS option selected and the correct Secure Store target application is specified in the SSS ID text box, and then click OK.

  13. Click Export Connection File.

  14. Navigate to an appropriate Data Connection Library on the SharePoint site, type a file name, and then click Save.

Once the ODC file has been exported to a data connection library in the SharePoint site, you can then access it from Visio and use it to create a data-connected Visio Web drawing.

Note:

Visio connects to the database directly. It does not use Secure Store. Secure Store is only used by Visio Services when rendering a Web drawing from a SharePoint site.

Use the following procedure to connect to the ODC file from Visio.

To connect to the ODC file in Visio

  1. In Visio, on the Data tab, click Link Data to Shapes.

  2. On the Data Selector page, select the Previously created connection option, and then click Next.

  3. On the Select Data Connection page, click Browse.

  4. In the Existing Connections dialog box, click Browse for More.

  5. In the Data Selector dialog box, browse to the Data Connection Library on the SharePoint site, select the ODC file that you want to use, and then click Open.

    Note:

    The ODC file must be on the same farm where you plan to publish the Visio Web drawing.

  6. On the Select Data Connection page, click Next.

  7. In the SQL Server Login dialog box, type a Login ID and password that has access to the data source that is specified in the ODC file, or, if your Windows account has the needed data access, select the Use Trusted Connection check box.

  8. Click OK.

  9. On the Connect to data page, select the columns and rows that you want to include and then click Next.

  10. On the Configure Refresh Unique Identifier page, select the appropriate option for your dataset and then click Next.

  11. Click Finish.

Once you have connected to the data source through the ODC file, you can complete your drawing and publish it to a SharePoint site to be rendered by Visio Services.

See Also

Concepts

Plan the Secure Store Service (SharePoint Server 2010)
Configure the Secure Store Service (SharePoint Server 2010)
Excel Services overview (SharePoint Server 2010)
Excel Services administration (SharePoint Server 2010)
Plan for Visio Services (SharePoint Server 2010)
Visio Graphics Service administration (SharePoint Server 2010)


Use Visio Services with complex data queries
See Also

Published: October 25, 2011

Summary: You can use complex SQL queries, such as JOIN statements, to connect data to a Visio drawing with Visio Services by connecting your shapes to a SQL Server view. Visio Services itself cannot perform complex SQL queries. However, by using a SQL Server view, you can overcome this limitation.

You can connect to a SQL Server view from Microsoft Visio, link the data to the shapes in your diagram, and then publish a data-connected Web drawing to Microsoft SharePoint Server 2010 and render it with Visio Services. Using a SQL Server view provides a method of using complex queries to present data in a tabular format that is compatible with Visio Services.

Note:

This scenario requires you to have Visio Services in Microsoft SharePoint Server 2010 deployed. For information about how to deploy Visio Services, see Plan for Visio Services (SharePoint Server 2010). Additionally, you must be using Microsoft Visio Professional 2010 or Microsoft Visio Premium 2010 to publish the Web drawing. This scenario also assumes that you are using Secure Store to store the credentials that are used for data refresh in Visio Services. For information about how to configure Secure Store, see Plan the Secure Store Service (SharePoint Server 2010) and Configure the Secure Store Service (SharePoint Server 2010).

There are two basic steps for using SQL Server views with Visio Services:

  • Create a SQL Server view: We recommend that you have a database administrator create a view that meets your needs.

  • Connect the view to a Visio drawing: In Microsoft Visio 2010, connect the data in the SQL Server view to the shapes in your diagram, and then publish it to a SharePoint document library.

Creating a SQL Server view

Creating a SQL Server view can be simple or complex, depending on your data. We recommend that you have your database administrator create the view that you need. You can follow these steps to begin to create a view in SQL Server Management Studio:

To create a SQL Server view

  1. In Management Studio, connect to the Database Engine.

  2. Expand the Databases node, and then expand the database where you want to create the view.

  3. Right-click Views and then click New View.

  4. In the Add Table dialog box, choose the tables, views, functions, and synonyms that you want to include in the view.

  5. Click Close to continue designing the view.

  6. When you have finished designing the view, click the Save button in the toolbar.

For complete information about how to create views in SQL Server, see Designing and Implementing Views and CREATE VIEW (Transact-SQL).

Video demonstration

This video gives an example of how to create a SQL Server view.

Screenshot of video

Running time: 4:03

Play video Watch the video.

Download video For an optimal viewing experience, download the video.

Right-click the link, and then click Save Target As to download a copy. Clicking the link opens a .wmv file in the default video viewer for full-resolution viewing.

Using SQL Server views with Visio and Visio Services

In this scenario, we assume that you are using Secure Store to store the credentials for data refresh in Visio Services. You have the following options when you use Secure Store with Visio Services:

  • Unattended Service Account: Visio Services data refresh is achieved by using the unattended service account.

  • Specified Secure Store target application: Visio Services data refresh is achieved by using the Secure Store target application specified in the Office Data Connection (ODC) file associated with the Web drawing.

For both options, the data access account stored in Secure Store must have db_datareader permissions on the database where the SQL Server view resides.

Using the unattended service account

When you are using the unattended service account for data refresh, you can connect to the SQL Server view directly from Visio and then publish your diagram to SharePoint Server 2010 as a Web drawing whose data can be refreshed.

Important:

You must have the unattended service account configured in Visio Services Global Settings. For information about configuring the unattended service account, see Use Visio Services with Secure Store.

Once the view has been created and you have access to it, you can connect to it from Visio. Use the following procedure to connect to the view.

To connect a Visio drawing to a SQL Server view

  1. In Visio, open a diagram or create a new diagram.

  2. On the Data tab, click Link Data to Shapes.

  3. On the Data Selector page, select the Microsoft SQL Server database option, and then click Next.

  4. In the Server name box, type the name of the instance of SQL Server to which you want to connect, choose the credentials that you want to use to log on, and then click Next.

  5. On the Select Database and Table page, from the drop-down list, choose the database where you created the view.

  6. Make sure the Connect to a specific table check box is selected, and choose the view that you created from the list.

  7. Click Next.

  8. Complete the wizard.

Once you have connected to the SQL Server view, you can drag the data rows onto the page to link data to your existing shapes, or add new shapes. When you have completed the diagram, you can save it to a SharePoint document library and render it with Visio Services. Use the following procedure to publish your Web drawing.

To publish a diagram to a SharePoint document library

  1. In Visio, click File.

  2. Click Save and Send.

  3. Click Save to SharePoint.

  4. Under File Types, choose Web Drawing, and then click Save As.

  5. In the Save As dialog box, navigate to the SharePoint document library where you want to save the file, type a file name in the File name box, and then click Save.

Once the Web drawing has been saved to the SharePoint document library, you can view the drawing by clicking it directly or by configuring it to appear in a Visio Web Access Web Part. The drawing remains connected to the data in the SQL Server view, and the data refreshes based on the refresh settings that you have configured for Visio Services and for the Visio Web Access Web Part, if applicable.

Video demonstration

This video shows the steps involved in configuring data refresh by using the unattended service account.

Screenshot of video

Running time: 6:39

Play video Watch the video.

Download video For an optimal viewing experience, download the video.

Right-click the link, and then click Save Target As to download a copy. Clicking the link opens a .wmv file in the default video viewer for full-resolution viewing.

Using a Secure Store target application

You can use a specific Secure Store target application for data refresh in Visio Services. This allows you to limit data refresh capability to a select group of users or to reuse an existing target application if one has already been configured.

Important:

You must have a Secure Store target application configured and the stored credentials must have read access to the database where the view resides. For information about configuring a target application for use with Visio Services, see Use Visio Services with Secure Store.

In order to use a specific Secure Store target application, you must specify the target application's Application ID in an ODC file and connect to the ODC file from Visio. Because Visio cannot be used to create an ODC file, you must create the ODC file in Microsoft Excel. Use the following procedure to create the ODC file.

To create an ODC file

  1. Open Excel.

  2. On the Data tab, click From Other Sources, and then click From SQL Server.

  3. On the Connect to Database Server page of the wizard, in the Server name box, type the instance of SQL Server where you created the view.

  4. Select the authentication method that you want to use to connect to the database, and click Next.

  5. On the Select Database and Table page, from the drop-down list, choose the database where you created the view.

  6. Make sure the Connect to a specific table check box is selected, and choose the view that you created from the list.

  7. Click Next.

  8. On the Save Data Connection File and Finish page, click Authentication Settings.

  9. On the Excel Services Authentication Settings dialog box, select the SSS option, and in the SSS ID text box, type the Application ID for the Secure Store target application that you want to use.

    Note:

    You can choose the Windows Authentication option if you want to authenticate by using the credentials of the user that is viewing the Web drawing, but this option requires that you have configured Kerberos delegation.

  10. Click OK.

  11. On the Save Data Connection File and Finish page, click Browse.

  12. In the File Save dialog box, navigate to the data connection library where you want to save the ODC file.

  13. Type a file name, and then click Save.

  14. On the Save Data Connection File and Finish page, click Finish.

  15. On the Web File Properties dialog box, update the Title, Description, or Keywords if desired, and then click OK.

  16. On the Import Data dialog box, click Cancel.

  17. Exit Excel.

    Note:

    There is no need to save the Excel workbook.

Once the ODC file has been saved, you can connect to it from Visio and use it to access the data in your SQL Server view. Use the following procedure to connect to your view by using the ODC file.

To connect a Visio drawing to a SQL Server view by using an ODC file

  1. In Visio, open a diagram or create a new diagram.

  2. On the Data tab, click Link Data to Shapes.

  3. On the Data Selector page, select the Previously created connection option, and then click Next.

  4. On the Select Data Connection page, click Browse.

  5. On the Existing Connections dialog box, click Browse for More.

  6. On the Data Selector dialog box, navigate to the data connection library where you saved the ODC file, select the ODC file, and then click Open.

  7. On the Select Data Connection page, click Next.

  8. Complete the wizard.

Once you have connected to the SQL Server view through the ODC file, you can drag the data rows onto the page to link data to your existing shapes, or add new shapes. When you have completed the diagram, you can save it to a SharePoint document library and render it with Visio Services. Use the following procedure to publish your Web drawing.

To publish a diagram to a SharePoint document library

  1. In Visio, click File.

  2. Click Save and Send.

  3. Click Save to SharePoint.

  4. In the File Types section, choose Web Drawing, and then click Save As.

  5. In the Save As dialog box, navigate to the SharePoint document library where you want to save the file, type a file name in the File name box, and then click Save.

Once the Web drawing has been saved to the SharePoint document library, you can view the drawing by clicking it directly or by configuring it to appear in a Visio Web Access Web Part. The drawing remains connected to the data in the SQL Server view through the ODC file, and the data refreshes based on the refresh settings that you have configured for Visio Services and for the Visio Web Access Web Part, if applicable.

Video demonstration

This video shows the steps involved in configuring data refresh by using an ODC file.

Screenshot of video

Running time: 8:52

Play video Watch the video.

Download video For an optimal viewing experience, download the video.

Right-click the link, and then click Save Target As to download a copy. Clicking the link opens a .wmv file in the default video viewer for full-resolution viewing.

See Also

Concepts

Use Visio Services with SharePoint lists (SharePoint Server 2010)


Use Visio Services with Secure Store
See Also

Published: September 27, 2011

Summary: Secure Store can be used to store encrypted credentials for use in refreshing data-connected Visio Web drawings in Visio Services.

Visio Services in Microsoft SharePoint Server 2010 can be configured to use the Secure Store Service to provide user authentication for data-connected Web drawings that use an external data source such as Microsoft SQL Server.

Note:

This article assumes that you have already deployed a Secure Store Service Application. If you have not deployed Secure Store, see Plan the Secure Store Service (SharePoint Server 2010) and Configure the Secure Store Service (SharePoint Server 2010).

Secure Store provides a method of mapping users who do not have direct data access to an account that does have data access. Secure Store and Visio Services work together in the following basic sequence of events:

  1. A user accesses a data-connected Web drawing on a SharePoint site.

  2. Visio Services passes the user's identity to the Secure Store Service.

  3. Secure Store determines whether the user is authorized to access the data. If so, Secure Store returns the data access credentials to Visio Services.

  4. Visio Services impersonates the data access credentials, accesses the data, and displays the data to the user.

Visio Services provides two primary methods of using Secure Store to provide data access:

  • Unattended Service Account You can configure a single data access account to provide data access to all users. This option is useful for providing broad access to data that is not considered sensitive.

  • Group Mappings You can map a specific group of users to a data access account. This option is useful for providing data access to a particular group of users. You can create as many group mappings as you need to provide the needed data access for the users.

Microsoft Visio Professional 2010 and Microsoft Visio Premium, which are used to create the Web drawings, do not use the Secure Store Service for data authentication. You must configure direct data access for Web drawing authors. Once the Web drawing has been published to a SharePoint site, Visio Services can use Secure Store when it renders the Web drawing.

Video demonstrations

These video demonstrations show the procedures discussed in this article.

Configure the Visio Services unattended service account

This video shows the procedures involved in configuring the unattended service account for Visio Services.

Screenshot of video

Running time: 11:17

Play video Watch the video.

Download video For an optimal viewing experience, download the video.

Right-click the link, and then click Save Target As to download a copy. Clicking the link opens a .wmv file in the default video viewer for full-resolution viewing.

Use Visio Services with Secure Store group mappings

This video shows the procedures involved in using Visio Services with Secure Store group mappings.

Screenshot of video

Running time: 13:16

Play video Watch the video.

Download video For an optimal viewing experience, download the video.

Right-click the link, and then click Save Target As to download a copy. Clicking the link opens a .wmv file in the default video viewer for full-resolution viewing.

Configuring Visio client data access

Users of Visio Professional and Visio Premium must be granted direct database access in order to link data to shapes in Visio. For ease of administration, we recommend that you use Active Directory groups:

  1. Create an Active Directory group that contains the users to whom you want to give access to a given data source.

  2. Grant that group data reader permissions on the data source.

You can create as many groups as needed and map them to your data sources in whatever combination meets your needs.

The following procedure describes how to map an Active Directory group to a SQL Server data source.

To create a SQL Server logon for an Active Directory group

  1. In SQL Server Management Studio, connect to the database engine.

  2. In Object Explorer, expand Security.

  3. Right-click Logins, and then click New Login.

  4. Click Search.

  5. In the Select User or Group dialog box, click Object Types.

  6. In the Object Types dialog box, select the Groups check box, and then click OK.

  7. On the Select User or Group dialog box, in the Enter the object name to select box, type the name of the Active Directory group for which you are creating the logon, and then click OK.

  8. Under Select a page, click User Mapping.

  9. Select the Map check box for the database to which you want to give the Active Directory group data access, and then under Database role membership for: <database>, select the db_datareader check box.

  10. Click OK.

Once data reader access has been granted to your diagram authors, they will be able to connect to the data source in Visio.

Configuring the Unattended Service Account

Configuring an unattended service account for Visio Services consists of the following steps:

  1. Creating an account to use for data access

  2. Creating a logon for the data access account on the data source

  3. Creating a Secure Store target application that uses the data access account credentials

  4. Configuring Visio Services to use the Secure Store target application for the unattended service account

The first step is to create an account to use for data access. Have your domain administrator create an Active Directory account that you can use to access your data sources.

Important:

Visio Services requires a Windows Active Directory account for the unattended service account. You cannot use a non-Windows account.

Once the account has been created, follow these steps to create a logon for the data access account in SQL Server. (If you are using a data source other than SQL Server, see the instructions for your data source to create a logon with data read permissions for the data access account.)

To create a SQL Server logon for the data access account

  1. In SQL Server Management Studio, connect to the database engine.

  2. In Object Explorer, expand Security.

  3. Right-click Logins, and then click New Login.

  4. In the Login name box, type the name of the Active Directory account that you created for data access.

  5. In the Select a page section, click User Mapping.

  6. Select the Map check box for the database that you want to provide access to, and then under Database role membership for: <database>, select the db_datareader check box.

  7. Click OK.

Once you have created a logon for the data access account and granted the account access to your data source, you must create a target application in Secure Store to contain the credentials for the data access account.

To create a target application for the unattended service account

  1. On the SharePoint Central Administration Web site home page, in the Application Management section, click Manage service applications.

  2. Click the Secure Store Service service application.

  3. On the ribbon, click New.

  4. In the Target Application ID box, type an ID for the target application (for example, VisioServicesUnattended).

  5. In the Display Name box, type a name for the target application.

  6. In the Contact E-mail box, type an e-mail address.

  7. In the Target Application Type drop-down list, select Group.

  8. Click Next.

  9. Leave the default credential fields, and then click Next.

  10. On the Specify the membership settings page:

    1. In the Target Application Administrators box, type the account of the user who will administer this account.

      Note:

      You can type multiple names or the name of an Active Directory group that contains the users whom you want to administer this target application.

    2. In the Members box, type All Authenticated Users.

      Note:

      The unattended service account is intended for granting broad database access. You can restrict the users who have access to the unattended service account to a specific Active Directory group if you want, but be aware that only one unattended service account can be created per Visio Services service application.

    3. Click OK.

Once the target application has been created, you must set the target application to use the credentials for the data access account that you created. Use the following procedure to set the credentials.

To set the credentials for the target application

  1. On the Secure Store Service Application page, in the Target Application ID column, point to the target application that you just created, click the arrow that appears, and then click Set Credentials.

  2. In the Windows User Name box, type the Active Directory account that you created for data access.

  3. Type and confirm the password for the account.

  4. Click OK.

The target application configuration is now complete. The next step is to designate this target application for use as the unattended service account in Visio Services. Use the following procedure to configure the unattended service account in Visio Services Global Settings.

To configure Visio Services Global Settings

  1. On the Central Administration home page, under Application Management, click Manage service applications.

  2. On the Manage Service Applications page, click the Visio Services service application.

  3. On the Manage the Visio Graphics Service page, click Global Settings.

  4. On the Visio Graphics Service Settings page, in the External Data section, in the Application ID box, type the ID of the Secure Store target application that you just created.

  5. Click OK.

Once you have configured the External Data setting in Visio Services Global Settings, the unattended service account is configured and ready to use. When you create a data connected Web drawing in Microsoft Visio Professional 2010 or Microsoft Visio Premium, you can publish it to a SharePoint site and render it with Visio Services and the unattended service account will be used to refresh the data.

The following procedure describes how to create a data-connected Web drawing in Visio and publish it to a SharePoint site.

To create a data-connected Web drawing for use with the unattended service account

  1. Start Microsoft Visio Professional 2010 or Microsoft Visio Premium.

  2. Select a template and click Create, or open an existing diagram.

  3. On the Data tab, click Link Data to Shapes.

  4. Follow the data connection wizard to connect to your data source.

  5. Link the data to your shapes by dragging data rows to shapes on the page.

  6. When the drawing is complete:

    1. Click File, click Save & Send, and then click Save to SharePoint.

    2. Choose a location from the list under Recent Locations, or select Browse for a location.

    3. In the File Types section, click Web Drawing, and then click Save As.

    4. Save the Web drawing to a SharePoint document library.

Once the Web drawing has been saved to a SharePoint document library, users can access it and the unattended service account will be used to refresh the data.

Configuring group mappings in Secure Store

You can map a specific group of users to a specific data source by using group mappings in Secure Store. This provides more fine-grained security than using the unattended service account. Creating a group mapping consists of the following steps:

  1. Creating an account to use for data access

  2. Creating a logon for the data access account on the data source

  3. Creating a Secure Store target application that uses the data access account credentials

  4. Creating an Office Data Connection (ODC) file by using Microsoft Excel and publishing it to a SharePoint data connection library

  5. Using the ODC file as a data source in Visio and linking the data to shapes in a diagram.

The first step is to create an account to use for data access. Have your administrator create an Active Directory account that you can use to access your data sources.

Note:

You can also use a SQL Server logon with SQL Server authentication. For information about how to use SQL Server with Secure Store, see Use Secure Store with SQL Server Authentication (SharePoint Server 2010).

Once the account has been created, follow these steps to create a logon for the data access account in SQL Server. (If you are using a data source other than SQL Server, see the instructions for your data source to create a logon with data-read permissions for the data access account.)

To create a SQL Server logon for the data access account

  1. In SQL Server Management Studio, connect to the database engine.

  2. In Object Explorer, expand Security.

  3. Right-click Logins, and then click New Login.

  4. In the Login name box, type the name of the Active Directory account that you created for data access.

  5. Under Select a page, click User Mapping.

  6. Select the Map check box for the database that you want to provide access to, and then under Database role membership for: <database>, select the db_datareader check box.

  7. Click OK.

Once you have created a logon for the data access account and granted the account access to your data source, you must create a target application in Secure Store to contain the credentials for the data access account. This target application will be used to map the data access account to the users to whom you want to grant data access.

When you create the target application, you will be able to specify individual users to whom you want to grant data access, or you can specify an Active Directory group. For ease of administration, we recommend that you use an Active Directory group. This allows you to update the user list in the future without having to update the target application.

Use the following procedure to create the target application.

To create a target application

  1. On the SharePoint Central Administration Web site home page, in the Application Management section, click Manage service applications.

  2. Click the Secure Store Service service application.

  3. On the ribbon, click New.

  4. In the Target Application ID box, type an ID for the target application (for example, VisioServicesDataAccess).

  5. In the Display Name box, type a name for the target application.

  6. In the Contact E-mail box, type an e-mail address.

  7. In the Target Application Type drop-down list, select Group.

  8. Click Next.

  9. Leave the default credential fields, and then click Next.

  10. On the Specify the membership settings page:

    1. In the Target Application Administrators box, type the account of the user who will administer this account.

      Note:

      You can type multiple names or the name of an Active Directory group that contains the users whom you want to administer this target application.

    2. In the Members box, type the names of the users to whom you want to give data access or the name of the Active Directory group that contains those users.

    3. Click OK.

Once the target application has been created, you must set the target application to use the credentials for the data access account that you created. Use the following procedure to set the credentials.

To set the credentials for the target application

  1. On the Secure Store Service Application page, in the Target Application ID column, point to the target application that you just created, click the arrow that appears, and then click Set Credentials.

  2. In the Windows User Name box, type the Active Directory account that you created for data access.

  3. Type and confirm the password for the account.

  4. Click OK.

In order for Visio Services to use the Secure Store target application that you just created, it must reference that target application by using an ODC file. Because Visio cannot create an ODC file, you must create the ODC file in Microsoft Excel, save it to a SharePoint data connection library, and then connect to it from Visio.

Use the following procedure to create an ODC file and publish it to a data connection library.

To create and publish an ODC file

  1. In Excel, on the Data tab, click From Other Sources, and then click From SQL Server.

  2. In the Server name box, type the name of the instance of SQL Server where your data is located, and then click Next.

  3. From the Select the database that contains the data you want list, select the database that you want to connect to, and then click Next.

  4. On the Save Data Connection File and Finish page, click Finish.

  5. On the Import Data dialog box, select the Table option, and then click OK.

  6. On the Data tab, click Connections.

  7. Select the data connection that you are using, and then click Properties.

  8. On the Connection Properties dialog box, on the Definition tab, click Authentication Settings.

  9. Select the SSS option, and in the SSS ID box, type the name of the Secure Store target application that you want to use with Visio Services.

  10. Click OK.

  11. On the Connection Properties dialog box, click Export Connection File.

  12. In the File Save dialog box, type the URL of a data connection library in the URL box, and then press Enter.

  13. In the File name box, type the name that you want to use and then click Save.

  14. On the Web File Properties dialog box, select Office Data Connection File from the Content Type drop-down list, and then click OK.

  15. On the Connection Properties dialog box, click Cancel.

  16. On the Workbook Connections dialog box, click Close.

  17. Exit Excel.

    Note:

    There is no need to save the Excel workbook. We have exported the ODC file and that is all we need to create a data connection from Visio.

Once you have saved the ODC file, you can use it as a data source for linking data to shapes in a Visio diagram. Use the following procedure to create a data-connected Web drawing by using an ODC file.

To create a data-connected Web drawing by using an ODC file

  1. In Visio, open a diagram or create a new diagram.

  2. On the ribbon, click the Data tab, and then click Link Data to Shapes.

  3. On the Data Selector page of the wizard, click Previously created connection, and then click Next.

  4. On the Select Data Connection page, click Browse.

  5. On the Existing Connections dialog box, click Browse for More.

  6. In the Data Selector dialog box, in the URL box, type the URL of the data connection library where you saved the ODC file, and then press Enter.

  7. Select the ODC file and then click Open.

  8. On the Select Data Connection page, click Finish.

  9. Connect the data to the shapes in your diagram.

  10. When you are ready to save the drawing, click File, and then click Save & Send.

  11. Click Save to SharePoint.

  12. Choose one of the existing locations under Recent Locations or click Browse for a location.

  13. Under File Types, click Web Drawing.

  14. Click Save As.

  15. On the Save As dialog box, type the location of the SharePoint document library in the location box at the top, and then press Enter.

  16. In the File name box, type the name that you want to use and then click Save.

Once the Web drawing has been published, it is available to view by using Visio Services. When the data in the Web drawing is refreshed, it uses the Secure Store target application that you specified in the ODC file.

See Also

Concepts

Use Secure Store with SQL Server Authentication (SharePoint Server 2010)
Secure Store for Business Intelligence service applications (SharePoint Server 2010)


Use Visio Services with SharePoint lists (SharePoint Server 2010)
See Also

Published: December 9, 2010

Summary: You can connect a Visio drawing to the data in a SharePoint list and maintain that connection when you publish the drawing to SharePoint Server.

To connect to the SharePoint list from Visio, you must have at least Read access to the SharePoint list. Likewise, once the drawing has been published to a SharePoint document library, viewers must have Read access to the list in order to refresh the data from the list.

Note:

This scenario requires you to have Visio Services in Microsoft SharePoint Server 2010 deployed. For information about how to deploy Visio Services, see Plan for Visio Services (SharePoint Server 2010). Additionally, you must be using Microsoft Office Visio Professional 2007, Microsoft Visio Professional 2010, or Microsoft Visio Premium 2010 to publish the Web drawing.

Video demonstration

This video shows the steps involved in creating a Visio drawing, connecting it to a SharePoint list, and publishing it to a document library.

Screenshot of video

Watch the video (http://go.microsoft.com/fwlink/p/?LinkId=207834). To download a copy of the video file, right-click the link, and then click Save Target As.

Publishing a Web drawing connected to a SharePoint list

Publishing a data-connected Web drawing that is connected to a SharePoint list consists of two steps:

  • Create the drawing in Visio and connect shapes in the drawing to the data in the SharePoint list

  • Publish the drawing to a SharePoint document library

To connect a Visio drawing to a SharePoint list

  1. In Visio, open the diagram that you want to connect to the SharePoint list, or create a new diagram.

  2. On the Data tab, click Link Data to Shapes.

  3. On the Data selector page, select the Microsoft SharePoint Foundation List option, and then click Next.

  4. On the Select a site page, in the Site box, type the URL for the SharePoint site where the SharePoint list is located, and then click Next.

  5. On the Select a list page, in the Lists list, select the list to which you want to connect, and then click Next.

  6. Click Finish.

Once you have connected to the SharePoint list, you can drag the data rows onto the page to link data to your existing shapes, or add new shapes. When you have completed the diagram, you can save it to a SharePoint document library and render it with Visio Services.

To publish a diagram to a SharePoint document library

  1. In Visio, click File.

  2. Click Save and Send.

  3. Click Save to SharePoint.

  4. Under File Types, choose Web Drawing, and then click Save As.

  5. In the Save As dialog box, navigate to the SharePoint document library where you want to save the file, type a file name in the File name box, and then click Save.

Once the Web drawing has been saved to the SharePoint document library, you can view the drawing by clicking it directly or by configuring it to appear in a Visio Web Access Web Part. The drawing remains connected to the data in the SharePoint list, and the data refreshes based on the refresh settings that you have configured for Visio Services and for the Visio Web Access Web Part, if applicable.

See Also

Concepts

Plan Visio Services deployment (SharePoint Server 2010)

Other Resources

View a Visio Web drawing in a Web Part (http://go.microsoft.com/fwlink/p/?LinkID=242694)


Viewing reports and scorecards on Apple iPad devices (SharePoint Server 2010)
See Also

Published: December 6, 2011

Cumulative Update 2011-12 (CU 2011-12) for Microsoft SharePoint Server 2010 enables organizations to view certain kinds of reports and scorecards on Apple iPad devices that use the iOS 5 Safari browser. This article describes what business intelligence content users can view on iPad, how to navigate business intelligence content on iPad, and how to configure reports and scorecards to be displayed correctly.

Important:

In order to display business intelligence content on iPad devices, you must install CU 2011-12 on the SharePoint Server computer(s) where the content resides. For more information, see Description of the SharePoint Server 2010 cumulative update package (SharePoint server-package): December 13, 2011 (http://go.microsoft.com/fwlink/p/?LinkId=237662).

In addition, iPad users must be able to connect to SharePoint Server, and iPad devices must be running the iOS 5 Safari browser.

Not all reports and scorecards will appear correctly on iPad devices. Limited testing was performed to support displaying dashboard content on iPad devices, and SharePoint Server 2010 is not fully supported for viewing on Apple iPad devices.

In this article:

  • Video demonstration: Navigating a dashboard by using Apple iPad

  • Viewing business intelligence content on iPad

  • Kinds of reports and scorecards that can be viewed on Apple iPad

  • Working with filters and menu options on iPad

Video demonstration: Navigating a dashboard by using Apple iPad

This video shows how to navigate a dashboard using an Apple iPad device.

Viewing BI content on Apple iPad

Running time: 4:35

Play video Watch the video.

Download video For an optimal viewing experience, download the video.

Right-click the link, and then click Save Target As to download a copy. Clicking the link opens a .wmv file in the default video viewer for full-resolution viewing.

Viewing business intelligence content on iPad

Business intelligence content that you can display on iPad includes reports, scorecards, and dashboards that are published to SharePoint Server 2010. To view and navigate business intelligence content, follow these steps.

To view and navigate business intelligence content on iPad

  1. Make sure that you are connected to the intranet where the business intelligence content resides. You must either connect to your corporate network or have your firewall configured to enable a connection. For more information, see Plan for mobile devices (SharePoint Server 2010).

  2. On your iPad device, open the Safari browser.

  3. Navigate to the SharePoint location where the business intelligence content resides.

    • To open a SharePoint list or document library that is listed in the Quick Launch, tap the name. For example, if you want to view dashboards, in the Quick Launch, tap Dashboards.

    • To open a folder in a library, tap and hold the name of the folder for 1-2 seconds, and then tap Open (or Open in New Tab) in the menu that appears.

    • To open an item, such as a dashboard or a report, tap and hold the name of the item for 1-2 seconds, and then tap Open (or Open in New Tab) to display it in the browser window.

  4. When you have a dashboard page or a report open for viewing, you can navigate the content by taking the following actions:

    • To pan across a page, use two fingers to tap, hold, and move through the page.

    • To zoom out, stretch an item by separating two fingers while touching the item.

    • To zoom in, pinch an item by moving two fingers together while touching the item.

    • To expand a row or a column in a report or a scorecard, tap its plus (+) sign.

    • To collapse a row or a column in a report or a scorecard, tap its minus (-) sign.

    • To apply a dashboard filter, tap it to open it, and then tap the item(s) that you want to use as a filter. Some filters use controls that enable you to select only one item, whereas other filters use controls that enable you to select multiple items.

  5. Each report has a Web Part menu that contains certain commands, such as Reset View or Open in New Window. You can open and use the Web Part menu by taking the following actions:

    1. Tap the report or scorecard for which you want to open the Web Part menu, and notice the little down arrow that appears.

    2. Tap the down arrow to display the Web Part menu.

    3. On the Web Part command that you want to use, tap and hold for 1-2 seconds.

Kinds of reports and scorecards that can be viewed on Apple iPad

CU 2011-12 makes it possible for iPad users to view certain kinds of reports and scorecards. For example, users can view PerformancePoint scorecards, analytic charts and grids, and Excel Services reports by using the Safari browser on iPad. However, not all kinds of reports can be viewed on iPad. For example, users will be unable to view Visio Services reports or PerformancePoint strategy maps because of client-side requirements that iPad devices cannot support. The following table summarizes which kinds of dashboard items can be displayed on iPad.

Items | Viewable on iPad?
Business Intelligence Center sites (including the PerformancePoint Services site) | Yes However, users will be unable to open PerformancePoint Dashboard Designer from the PerformancePoint Services site.
Dashboards that contain filters and linked items | Yes
Excel Services Reports (these include PivotChart reports, PivotTable reports, named items, and workbooks that are displayed in PerformancePoint Web Parts or in Excel Web Access Web Parts) | Yes
Reporting Services Reports (these include reports that are displayed in PerformancePoint Web Parts or in Report Viewer Web Parts) | No
PerformancePoint Scorecards | Yes
PerformancePoint KPI Details Reports | Yes
PerformancePoint Analytic Charts and Grids | Yes
PerformancePoint Strategy Maps | No
Web Page Reports (these include Web sites that are displayed in PerformancePoint Web Parts) | Yes
ProClarity Analytics Server Page Reports (these include ProClarity Server reports that are displayed in PerformancePoint Web Parts) | No
Decomposition Trees that are opened from values in PerformancePoint scorecards and analytic reports that use SQL Server Analysis Services data | No

Working with filters and menu options on iPad

In general, you can create reports and scorecards for viewing on iPad by using the same processes that you use to publish your business intelligence content to SharePoint Server. Business intelligence content that you view on iPad maintains a similar appearance and behavior to what you might see in a browser window on a computer. However, there are certain points of consideration to remember when you configure reports and scorecards for viewing on iPad devices. The following table summarizes these items:

Item Description

Depending on how much content is displayed in a dashboard page, reports, scorecards, and dashboards might look very small on iPad. This can make it difficult for users to view the content.

When you create reports, scorecards, and dashboards that will be displayed on iPad devices, make sure that you do not display too many items on a single page. For example, consider creating scorecards that do not contain lots of rows and columns. And consider creating dashboards that contain no more than four reports on a single page.

Although iPad users can zoom in and out on the screen, we recommend that you configure business intelligence content to display comfortably on smaller screens. Consider creating multiple pages and reports instead of trying to fit everything on a single page.

Font settings for items such as scorecards and reports might not display on iPad as they do on other computers. For example, not all typefaces that are available on Windows-based computers are available for iPad.

The Safari browser on iPad supports only Scalable Vector Graphics (SVG) fonts. If you use fonts in reports and scorecards that are not supported by the Safari browser on iPad, those items will display on iPad in the Times New Roman font.

When you create reports and scorecards, make sure that you specify font settings that will display correctly on iPad. Some examples of fonts that you can use include ArialMT and Verdana.

Users might not know how to open some kinds of hyperlinks and context menus as they do when they view business intelligence content on a Windows-based computer.

Apple iPad does not use right-click functionality or the ability to double-click a SharePoint folder to open it. However, this does not mean that context menus are unavailable. To open a SharePoint folder or a shortcut menu or a hyperlink in Safari on iPad, tap and hold a position for approximately 1-2 seconds. A context menu opens from which you can select the option that you want.

When users attempt to select a single cell or a key performance indicator (KPI) in a scorecard on iPad, it is displayed as if the whole scorecard was selected.

Users can tap a single cell or a KPI in a scorecard to view additional information in KPI Details reports or other reports that might be connected to the scorecard. Even though it might seem as if the whole scorecard was selected, in fact, only the cell or KPI that a user has tapped is selected. Any reports that are connected to the scorecard are displayed as expected.

Some kinds of slicers might not work as expected on Excel Services reports displayed on iPad. In particular, users can apply single-item slicers but not slicers that include multiple selections.

To supplement or replace slicers, consider using dashboard filters, such as those that you can create by using Dashboard Designer. For more information, see Connect a filter to a report or a scorecard by using Dashboard Designer.

Users might be unable to use the Export to PowerPoint or Export to Excel commands in the Web Part menu for certain items.

Some kinds of reports and scorecards can be exported if the necessary software is installed on the iPad device.

  • To use the Export to PowerPoint command, make sure that you have installed an application such as Keynote for iPad, iPhone, and iPod touch on the iPad device.

  • To use the Export to Excel command, make sure that you have installed an application such as Numbers for iPad, iPhone, and iPod touch on the iPad device.

See Also

Concepts

Business intelligence scenarios and solutions
Plan for mobile devices (SharePoint Server 2010)


Published intranets in SharePoint Server 2010
See Also

Published: May 28, 2013

Summary: Learn about the tasks you should perform to plan, develop, deploy, operate, and use a published intranet site based on SharePoint Server 2010.

A published intranet site is a site that is internal to an organization and uses the publishing features in to host content for the whole organization. This is usually the main communications site or portal for the organization. Typically, such a site is not available to external users. The site is usually branded and is not a collaboration mechanism, but instead it's a place to provide information that should be widely shared with the whole organization.

To get started:

  • Review Key Features and Assumptions

  • Download and review the Task Map

  • Download and review the Tasks that you need to perform throughout the life cycle of a published intranet site

Key Features and Assumptions

For this solution, the following features are used extensively:

  • Publishing

  • Content approval workflow

  • Branding

  • Custom Web Parts

  • Audiences

  • RSS feeds

For this solution, we made the following assumptions:

  • Content is managed and must be approved An editorial team sets the structure, standards, and schedule for content and approves content before it is published.

  • Content deployment is not required This solution has a combined authoring and publishing environment and does not have to have content deployment.

  • Collaboration sites are not included Collaboration sites have a different content structure and permission model. Search is used to index and expose content from related collaboration sites.

Task Map

This task map provides an overview of the tasks that you must perform to set up a published intranet site in your organization.

The map is a visual representation of the tasks for each phase of the deployment life cycle. For detailed information, see the Tasks section.

A small preview version of the task map for the Published Intranet solution.

The tasks for the Published Intranet scenario

Download the Published Intranet task map

Zoom into the Published Intranet task map

Tasks

Follow the tasks in the order in which they are presented to create and operate a published intranet site for your organization. View the tasks by downloading one of the following:

  • Complete task map (PDF format or Mindjet MindManager format)

    Contains a high level visual display of all tasks identified for this solution.

  • Complete list of tasks with brief descriptions and links to more information (Microsoft Word format)

    Contains a detailed list of tasks. Includes descriptions and links to content related to the tasks.

See Also

Concepts

Design sample: Corporate deployment (SharePoint Server 2010)
Enterprise intranet publishing environment technical case study (SharePoint Server 2010)

Other Resources

SharePoint on the Internet and in the intranet—different environments, similar needs


Word Automation Service - SQL Server exception event - Event 1001 (SharePoint Server 2010)

Alert Name: Word Automation Service SQL Server exception event

Event ID: 1001

Summary: The Word Automation Service uses a custom database to queue jobs and job items for processing. Access to this database is required for the Word Automation Service to function.

The Word Automation Service attempts to communicate with its custom database on four separate occasions:

  • Once per Job when a new job is submitted.

  • Once per start of the Word Automation Service timer job.

  • Once per finish of the Word Automation Service timer job.

  • Once per conversion attempt.

If the custom database is not accessible at these times, the Word Automation Service fails and you experience the following symptoms.

Symptoms: One or more of the following symptoms might appear:

  • New jobs cannot be submitted successfully.

  • Existing job items never complete or appear to make no progress in the job queue.

  • This event appears in the event log: Event ID: 1001 Description: The job queue is not accessible.

Cause: One or more of the following might be the cause:

  • The physical SQL Server computer is offline.

  • The custom database is not configured correctly.

  • Permissions to access the custom database are not valid.

  • The custom database is not responsive enough due to activity on the network or physical SQL server.

  • The custom database is inaccessible for another reason.

Resolution: Verify that the custom database is configured correctly

  • For information about how to verify that the custom database is configured correctly, see Word Automation Services Troubleshooting (SharePoint Server 2010).

Resolution: Verify that the instance of SQL Server is online and is not overloaded by network or server activity

  • For information about how to verify that the instance of SQL Server is online and not overloaded, see Word Automation Services Troubleshooting (SharePoint Server 2010).


Set-SPCustomLayoutsPage
See Also Example
[image]

Published: May 12, 2010

Maps a new path for a custom layout page.

Set-SPCustomLayoutsPage -Identity <None | AccessDenied | Confirmation | Error | Login | RequestAccess | Signout | WebDeleted> -RelativePath <String> -WebApplication <SPWebApplicationPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-WhatIf [<SwitchParameter>]]
Set-SPCustomLayoutsPage -Identity <None | AccessDenied | Confirmation | Error | Login | RequestAccess | Signout | WebDeleted> -Reset <SwitchParameter> -WebApplication <SPWebApplicationPipeBind> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParameter>]] [-WhatIf [<SwitchParameter>]]

Parameters

1

Parameter

Required

Type

Description

Identity

Required

Microsoft.SharePoint.Administration.SPWebApplication+SPCustomPage

Specifies the custom layout page to set.

The type must be one of the following: None, AccessDenied, Confirmation, Error, Login, RequestAccess, Signout, or WebDeleted.

RelativePath

Required

System.String

Specifies the path of the custom layout page.

The type must be a valid path of a layout page, in the form _layouts/custompages/myaccessdenied.aspx.

WebApplication

Required

Microsoft.SharePoint.PowerShell.SPWebApplicationPipeBind

Specifies the SharePoint Web application that contains the custom layout page.

The type must be a valid URL, in the form http://server_name; a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of SharePoint Web application (for example, MyOfficeApp1); or an instance of a valid SPWebApplication object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

2

Parameter

Required

Type

Description

Identity

Required

Microsoft.SharePoint.Administration.SPWebApplication+SPCustomPage

Specifies the custom layout page to set.

The type must be one of the following: None, AccessDenied, Confirmation, Error, Login, RequestAccess, Signout, or WebDeleted.

Reset

Required

System.Management.Automation.SwitchParameter

Resets the mapping of a custom layouts page.

WebApplication

Required

Microsoft.SharePoint.PowerShell.SPWebApplicationPipeBind

Specifies the SharePoint Web application that contains the custom layout page.

The type must be a valid URL, in the form http://server_name; a valid GUID, in the form 12345678-90ab-cdef-1234-567890bcdefgh; a valid name of SharePoint Web application (for example, MyOfficeApp1); or an instance of a valid SPWebApplication object.

AssignmentCollection

Optional

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

Note:

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Confirm

Optional

System.Management.Automation.SwitchParameter

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

WhatIf

Optional

System.Management.Automation.SwitchParameter

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Detailed Description

This cmdlet contains more than one parameter set. You may only use parameters from one parameter set, and you may not combine parameters from different parameter sets. For more information about how to use parameter sets, see Cmdlet Parameter Sets.

The Set-SPCustomLayoutsPage cmdlet maps a new path for a custom layouts page in a Web application. To remove the mapping for a custom layouts page, use the Reset parameter instead of the RelativePath parameter.

Input Types

Return Types

Example

------------------EXAMPLE-----------------------

Copy Code
Set-SPCustomLayoutsPage -Identity "_layouts/accessdenied.aspx" -RelativePath "/_layouts/custompages/myaccessdenied.aspx" -WebApplication "http://server_name/mywebapp"

This example maps the specified path for the AccessDenied layout page in the Web application "http://server_name/mywebapp".

See Also

Reference

Get-SPCustomLayoutsPage


D ss
See Also

7/26/2011

Scope | Token
project | Microsoft SharePoint Server 2010
database | Microsoft SharePoint Server 2010

See Also

Other Resources

D misc
D sf
D ps
D srch
D or
D gr
D sf


Receive-SPServiceApplicationConnectionInfo
Example
[image]

Published: May 12, 2010

Configures this farm to receive service information from another farm.

Receive-SPServiceApplicationConnectionInfo [-FarmUrl] <Uri> [-AssignmentCollection <SPAssignmentCollection>] [-Filter <String>]

Parameters

Parameter | Required | Type | Description
FarmUrl | Required | System.Uri |
AssignmentCollection | Optional | Microsoft.SharePoint.PowerShell.SPAssignmentCollection |
Filter | Optional | System.String |

Detailed Description

The Receive-SPServiceApplicationConnectionInfo cmdlet retrieves the list of service applications published by another farm.

Input Types

Return Types

Example

------------------EXAMPLE-----------------------

Copy Code
Receive-SPServiceApplicationConnectionInfo -FarmUrl http://FarmB/topology/topology.svc

This example retreives a list of service applications published by a given farm.

The FarmURL parameter can be obtained by the Get-SPTopologyServiceApplication cmdlet.


Designing topologies and content crawling for WAN environments (Office SharePoint Server 2010)

Insert introduction here.

Section Heading

Insert section body here.

Subsection Heading

Insert subsection body here.


Dell.com upgrade to SharePoint Server 2010

Published: December 13, 2011

This technical case study is undergoing review. It will be published in complete form at a later time.


Configuring the Login Token Expiration for SAML Claims Users (SharePoint 2010) (OBSOLETE)

The content that you tried to view is no longer available.


Excel unable to delegate credentials - Event 5243 (SharePoint Server 2010) (Obsolete)

This topic is obsolete as of June 15, 2010.